Version 39.25 by Veronika Kocher on Thursday, 03 Sep 2026 14:15

Hide last authors
Veronika Kocher 16.1 1 Artistic and research projects involve many different tasks, decisions and responsibilities — from developing an initial idea and securing funding to organising materials, collaborating with others, publishing results and preserving them for future use.
Veronika Kocher 1.1 2
Veronika Kocher 16.1 3 The **Art & Research Services Navigator** helps you find the right guidance, services and resources for each stage of your project.
Veronika Kocher 1.1 4
Veronika Kocher 39.14 5 {{info title="How responsibilities work"}}
Veronika Kocher 39.20 6 The navigator brings services together around the project lifecycle and the researcher's task. It is a navigation layer across university services, not a separate organisational unit.
Veronika Kocher 39.14 7
Veronika Kocher 39.20 8 **Support Kunst und Forschung (SKF)** supports project and funding activities — especially project development, funding and calls, proposals, and coordination of funded projects — and, where useful, connects them with the University's relevant services.
Veronika Kocher 39.14 9
Veronika Kocher 39.20 10 Depending on the question, these may include the **University Library / Research Data Management & Repository**, **IT**, **Legal and Data Protection**, **Finance and Personnel**, **Publications and Communication**, **Event Management**, the **International Office** and other services.
Veronika Kocher 39.14 11
Veronika Kocher 39.20 12 The **institute, department or other host unit** remains the artistic or academic home of the project. The navigator brings these offers together along the project stages so you can start from your need rather than from the organisational chart.
Veronika Kocher 39.14 13 {{/info}}
14
Veronika Kocher 35.1 15
Veronika Kocher 39.20 16
Veronika Kocher 35.1 17 {{html clean="false"}}
Veronika Kocher 39.20 18 <section data-arsn-search-block-fix="v5" style="margin:20px 0 26px 0;padding:16px 18px;border:1px solid #e3ded6;border-radius:10px;background:#fcfbf8;box-shadow:0 1px 2px rgba(0,0,0,.035);">
19 <h2 style="font-size:20px;margin:0 0 6px 0;color:#35312d;">Search the Art &amp; Research Services Navigator</h2>
20 <p style="margin:0 0 12px 0;color:#6a655e;">Type a topic, synonym or common query. Matching pages are suggested immediately. Search-term links on the topic pages use the same controlled vocabulary.</p>
Veronika Kocher 35.1 21 <form
22 id="arsn-search-form"
23 action="https://xwiki.uni-ak.ac.at/bin/view/Main/SolrSearch"
24 method="get"
25 role="search"
26 style="margin:0;"
27 >
28 <div style="display:flex;gap:10px;align-items:center;flex-wrap:wrap;">
Veronika Kocher 36.1 29 <label for="arsn-search-input" style="position:absolute;left:-10000px;">
30 Search the Art &amp; Research Services Navigator
31 </label>
Veronika Kocher 35.1 32
33 <input
34 id="arsn-search-input"
35 name="text"
36 type="search"
Veronika Kocher 36.1 37 placeholder="Try: DOI, backup, copyright, GDPR, repository..."
Veronika Kocher 35.1 38 autocomplete="off"
39 aria-autocomplete="list"
40 aria-controls="arsn-search-results"
41 aria-expanded="false"
42 style="flex:1 1 520px;min-width:260px;padding:11px 13px;border:1px solid #bbb;border-radius:6px;font-size:16px;"
43 />
44
45 <input type="hidden" name="f_type" value="DOCUMENT" />
46 <input type="hidden" name="sort" value="score" />
47 <input type="hidden" name="sortOrder" value="desc" />
48 <input type="hidden" name="facet" value="true" />
49 <input type="hidden" name="highlight" value="true" />
50 <input type="hidden" name="r" value="1" />
51
Veronika Kocher 36.1 52 <button type="submit" class="btn btn-primary" style="padding:11px 22px;">
53 Search
54 </button>
Veronika Kocher 35.1 55 </div>
56
57 <div
58 id="arsn-search-results"
59 role="listbox"
60 aria-label="Suggested pages"
61 hidden
62 style="margin-top:8px;border:1px solid #d4d4d4;border-radius:7px;background:#fff;box-shadow:0 5px 18px rgba(0,0,0,.10);overflow:hidden;"
63 ></div>
64
65 <p
66 id="arsn-search-status"
67 style="position:absolute;left:-10000px;"
68 aria-live="polite"
69 ></p>
70 </form>
71
72 <script>
73 (function () {
74 "use strict";
75
Veronika Kocher 36.1 76 var encodedIndex = "W3sidGl0bGUiOiJBcnQgJiBSZXNlYXJjaCBTZXJ2aWNlcyBOYXZpZ2F0b3IiLCJwaGFzZSI6Ik92ZXJ2aWV3IiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yLy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiYXJ0aXN0aWMgcmVzZWFyY2giLCJyZXNlYXJjaCBzZXJ2aWNlcyIsInJlc2VhcmNoIHN1cHBvcnQiLCJzZXJ2aWNlIG5hdmlnYXRvciIsInByb2plY3QgbGlmZWN5Y2xlIiwicmVzZWFyY2ggZGF0YSBtYW5hZ2VtZW50Iiwib3BlbiBzY2llbmNlIiwicmVzZWFyY2ggcHJvamVjdCIsImFydCByZXNlYXJjaCBzdXBwb3J0IiwicmVzZWFyY2ggc3VwcG9ydCBzZXJ2aWNlcyIsInJlc2VhcmNoIHdvcmtmbG93IiwicHJvamVjdCBzdXBwb3J0Il19LHsidGl0bGUiOiJFbmFibGUiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsInByb2plY3Qgc2V0dXAiLCJwcm9qZWN0IHBsYW5uaW5nIiwicmVzZWFyY2ggZnVuZGluZyIsImRhdGEgbWFuYWdlbWVudCIsInJpZ2h0cyBhbmQgZXRoaWNzIiwic3RhcnRpbmcgYSBwcm9qZWN0IiwibmV3IHByb2plY3QiLCJwcm9qZWN0IHByZXBhcmF0aW9uIiwicHJvamVrdHBsYW51bmciXX0seyJ0aXRsZSI6IkdldCBTdGFydGVkIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0dldCUyMFN0YXJ0ZWQvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImdldCBzdGFydGVkIiwicHJvamVjdCBzZXR1cCIsImRhdGEgbWFuYWdlbWVudCIsInJlc2VhcmNoIGRhdGEiLCJwcm9qZWN0IGxpZmVjeWNsZSIsIm5ldyBwcm9qZWN0Iiwic3RhcnRpbmcgYSBwcm9qZWN0IiwicmVzZWFyY2ggcHJvamVjdCIsImVpbnN0aWVnIiwicHJvamVrdHN0YXJ0Il19LHsidGl0bGUiOiJQcm9qZWN0IFBsYW5uaW5nICYgT3JnYW5pc2F0aW9uIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1Byb2plY3QlMjBQbGFubmluZyUyMCUyNiUyME9yZ2FuaXNhdGlvbi8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwicHJvamVjdCBwbGFubmluZyIsInByb2plY3Qgb3JnYW5pc2F0aW9uIiwicm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMiLCJyZXNvdXJjZXMiLCJ0aW1lbGluZSIsImJ1ZGdldCIsInJpc2sgbWFuYWdlbWVudCIsInByb2plY3Qgcm9sZXMiLCJwcm9qZWN0IHJlc3BvbnNpYmlsaXRpZXMiLCJwcm9qZWN0IGJ1ZGdldCIsInByb2plY3QgdGltZWxpbmUiLCJwcm9qZWN0IHJlc291cmNlcyIsInByb2pla3RwbGFudW5nIiwicHJvamVrdG9yZ2FuaXNhdGlvbiIsInp1c3TDpG5kaWdrZWl0ZW4iXX0seyJ0aXRsZSI6IkZ1bmRpbmcgJiBGdW5kZXIgUmVxdWlyZW1lbnRzIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0Z1bmRpbmclMjAlMjYlMjBGdW5kZXIlMjBSZXF1aXJlbWVudHMvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsInJlc2VhcmNoIGZ1bmRpbmciLCJmdW5kZXIgcmVxdWlyZW1lbnRzIiwiZ3JhbnQgcmVxdWlyZW1lbnRzIiwiZGF0YSBtYW5hZ2VtZW50IHBsYW4iLCJvcGVuIHNjaWVuY2UgcmVxdWlyZW1lbnRzIiwiZWxpZ2libGUgY29zdHMiLCJmdW5kaW5nIiwiZ3JhbnQiLCJncmFudCBhcHBsaWNhdGlvbiIsImZ1bmRlciIsImZ1bmRpbmcgcmVxdWlyZW1lbnRzIiwiZsO2cmRlcnVuZyIsImbDtnJkZXJnZWJlciIsImbDtnJkZXJiZWRpbmd1bmdlbiJdfSx7InRpdGxlIjoiSWRlbnRpZnkgWW91ciBEYXRhICYgUmVzZWFyY2ggT3V0cHV0cyIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9JZGVudGlmeSUyMFlvdXIlMjBEYXRhJTIwJTI2JTIwUmVzZWFyY2glMjBPdXRwdXRzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJyZXNlYXJjaCBkYXRhIiwiYXJ0aXN0aWMgb3V0cHV0cyIsInJlc2VhcmNoIG91dHB1dHMiLCJkYXRhIGludmVudG9yeSIsIm1hdGVyaWFsIHR5cGVzIiwiZGF0YSBjbGFzc2lmaWNhdGlvbiIsImRhdGEgdHlwZXMiLCJyZXNlYXJjaCBtYXRlcmlhbHMiLCJvdXRwdXRzIiwiYXJ0aXN0aWMgcmVzZWFyY2ggb3V0cHV0cyIsInJlc2VhcmNoIG9iamVjdHMiLCJmb3JzY2h1bmdzZGF0ZW4iLCJmb3JzY2h1bmdzb3V0cHV0cyJdfSx7InRpdGxlIjoiUGxhbiBZb3VyIERhdGEgTWFuYWdlbWVudCIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9QbGFuJTIwWW91ciUyMERhdGElMjBNYW5hZ2VtZW50LyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJkYXRhIG1hbmFnZW1lbnQgcGxhbiIsImRtcCIsImRhdGEgbGlmZWN5Y2xlIiwiZGF0YSBtYW5hZ2VtZW50IiwicmVzcG9uc2liaWxpdGllcyIsInJldmlldyBwb2ludHMiLCJyZXNlYXJjaCBkYXRhIG1hbmFnZW1lbnQiLCJyZG0iLCJkYXRhIG1hbmFnZW1lbnQgcGxhbm5pbmciLCJkYXRlbm1hbmFnZW1lbnRwbGFuIiwiZm9yc2NodW5nc2RhdGVubWFuYWdlbWVudCJdfSx7InRpdGxlIjoiQ29weXJpZ2h0LCBSaWdodHMgJiBMaWNlbmNlcyIsInBoYXNlIjoiRW5hYmxlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL0VuYWJsZS9Db3B5cmlnaHQlMkMlMjBSaWdodHMlMjAlMjYlMjBMaWNlbmNlcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwiY29weXJpZ2h0IiwicmlnaHRzIiwibGljZW5zaW5nIiwibGljZW5jZXMiLCJ0aGlyZC1wYXJ0eSByaWdodHMiLCJjcmVhdGl2ZSBjb21tb25zIiwicGVybWlzc2lvbnMiLCJ1cmhlYmVycmVjaHQiLCJyaWdodHMgY2xlYXJhbmNlIiwiY2MgbGljZW5jZSIsImNjIGxpY2Vuc2UiLCJ1c2FnZSByaWdodHMiLCJudXR6dW5nc3JlY2h0ZSIsInJlY2h0ZWtsw6RydW5nIl19LHsidGl0bGUiOiJEYXRhIFByb3RlY3Rpb24gJiBFdGhpY3MiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvRGF0YSUyMFByb3RlY3Rpb24lMjAlMjYlMjBFdGhpY3MvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImRhdGEgcHJvdGVjdGlvbiIsInBlcnNvbmFsIGRhdGEiLCJnZHByIiwiZXRoaWNzIiwiY29uc2VudCIsInNlbnNpdGl2ZSBkYXRhIiwiY29uZmlkZW50aWFsaXR5IiwiZGF0YSBwcml2YWN5IiwiZHNndm8iLCJhbm9ueW1pc2F0aW9uIiwiYW5vbnltaXphdGlvbiIsInBzZXVkb255bWlzYXRpb24iLCJwc2V1ZG9ueW1pemF0aW9uIiwiZGF0ZW5zY2h1dHoiLCJlaW53aWxsaWd1bmciXX0seyJ0aXRsZSI6IkZpbGUgT3JnYW5pc2F0aW9uICYgTmFtaW5nIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0ZpbGUlMjBPcmdhbmlzYXRpb24lMjAlMjYlMjBOYW1pbmcvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsImVuYWJsZSIsImZpbGUgb3JnYW5pc2F0aW9uIiwiZm9sZGVyIHN0cnVjdHVyZSIsImZpbGUgbmFtaW5nIiwibmFtaW5nIGNvbnZlbnRpb25zIiwicHJvamVjdCBmaWxlcyIsImlkZW50aWZpZXJzIiwiZmlsZW5hbWUiLCJmaWxlbmFtZXMiLCJmb2xkZXIgbmFtaW5nIiwiZmlsZSBzdHJ1Y3R1cmUiLCJkYXRlaW9yZ2FuaXNhdGlvbiIsImRhdGVpYmVuZW5udW5nIiwib3JkbmVyc3RydWt0dXIiXX0seyJ0aXRsZSI6IlN0b3JhZ2UsIEJhY2t1cCAmIFNlY3VyaXR5IiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1N0b3JhZ2UlMkMlMjBCYWNrdXAlMjAlMjYlMjBTZWN1cml0eS8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwic3RvcmFnZSIsImJhY2t1cCIsInNlY3VyaXR5IiwiYWNjZXNzIGNvbnRyb2wiLCIzLTItMSBiYWNrdXAiLCJpbnN0aXR1dGlvbmFsIHN0b3JhZ2UiLCJiYWNrdXAgcmVzdG9yZSIsInJlc3RvcmUiLCJjbG91ZCBzdG9yYWdlIiwiZGF0YSBzZWN1cml0eSIsImRhdGVuc2ljaGVydW5nIiwic3BlaWNoZXIiLCJ6dWdyaWZmc3NjaHV0eiJdfSx7InRpdGxlIjoiSW5mcmFzdHJ1Y3R1cmUsIFNlcnZpY2VzICYgVG9vbHMiLCJwaGFzZSI6IkVuYWJsZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9FbmFibGUvSW5mcmFzdHJ1Y3R1cmUlMkMlMjBTZXJ2aWNlcyUyMCUyNiUyMFRvb2xzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJpbmZyYXN0cnVjdHVyZSIsInNlcnZpY2VzIiwidG9vbHMiLCJpbnN0aXR1dGlvbmFsIHNlcnZpY2VzIiwic29mdHdhcmUiLCJyZXBvc2l0b3JpZXMiLCJyZXNlYXJjaCBpbmZyYXN0cnVjdHVyZSIsIml0IHNlcnZpY2VzIiwiZGlnaXRhbCB0b29scyIsImluZnJhc3RydWt0dXIiLCJkaWVuc3RlIiwid2Vya3pldWdlIl19LHsidGl0bGUiOiJDb2xsYWJvcmF0aW9uIFNldHVwIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL0NvbGxhYm9yYXRpb24lMjBTZXR1cC8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwiZW5hYmxlIiwiY29sbGFib3JhdGlvbiIsImRhdGEgZXhjaGFuZ2UiLCJzaGFyZWQgd29ya3NwYWNlIiwiYWNjb3VudHMiLCJhY2Nlc3MgZ3JvdXBzIiwicm9sZXMgYW5kIHJlc3BvbnNpYmlsaXRpZXMiLCJoYW5kb3ZlciIsInRlYW0gY29sbGFib3JhdGlvbiIsInByb2plY3QgcGFydG5lcnMiLCJzaGFyZWQgZm9sZGVyIiwic2hhcmVkIGFjY291bnRzIiwiY29sbGFib3JhdGl2ZSB3b3JraW5nIiwienVzYW1tZW5hcmJlaXQiLCJkYXRlbmF1c3RhdXNjaCJdfSx7InRpdGxlIjoiUXVpY2sgU3RhcnQgZm9yIFNtYWxsIFByb2plY3RzIiwicGhhc2UiOiJFbmFibGUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvRW5hYmxlL1F1aWNrJTIwU3RhcnQlMjBmb3IlMjBTbWFsbCUyMFByb2plY3RzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJlbmFibGUiLCJxdWljayBzdGFydCIsInNtYWxsIHByb2plY3RzIiwibWluaW11bSBzdGFuZGFyZCIsInByb2plY3QgY2hlY2tsaXN0IiwicHJvamVjdCBzZXR1cCIsImRhdGEgbWFuYWdlbWVudCBjaGVja2xpc3QiLCJxdWljayBndWlkZSIsIm1pbmltdW0gcmVxdWlyZW1lbnRzIiwic21hbGwgcHJvamVjdCBjaGVja2xpc3QiLCJjaGVja2xpc3RlIiwibWluZGVzdHN0YW5kYXJkIl19LHsidGl0bGUiOiJXb3JrICYgTWFuYWdlIiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsIndvcmsgYW5kIG1hbmFnZSIsInByb2plY3QgbWFuYWdlbWVudCIsInJlc2VhcmNoIHdvcmtmbG93IiwiZG9jdW1lbnRhdGlvbiIsImRhdGEgbWFuYWdlbWVudCIsInF1YWxpdHkgYXNzdXJhbmNlIiwib25nb2luZyBwcm9qZWN0IiwicHJvamVjdCB3b3JrZmxvdyIsImxhdWZlbmRlcyBwcm9qZWt0IiwicHJvamVrdG1hbmFnZW1lbnQiXX0seyJ0aXRsZSI6Ik9yZ2FuaXNlIEZpbGVzICYgRm9sZGVycyIsInBoYXNlIjoiV29yayAmIE1hbmFnZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9Xb3JrJTIwJTI2JTIwTWFuYWdlL09yZ2FuaXNlJTIwRmlsZXMlMjAlMjYlMjBGb2xkZXJzLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJ3b3JrIGFuZCBtYW5hZ2UiLCJmaWxlIG9yZ2FuaXNhdGlvbiIsImZvbGRlciBzdHJ1Y3R1cmUiLCJwcm9qZWN0IGZpbGVzIiwibmFtaW5nIGNvbnZlbnRpb25zIiwidGVhbSB3b3JrZmxvdyIsImRhdGEgb3JnYW5pc2F0aW9uIiwiZmlsZSBzdHJ1Y3R1cmUiLCJmb2xkZXIgb3JnYW5pc2F0aW9uIiwiZGF0ZWlvcmdhbmlzYXRpb24iLCJvcmRuZXJzdHJ1a3R1ciJdfSx7InRpdGxlIjoiTWFuYWdlIFZlcnNpb25zICYgTWFzdGVyIEZpbGVzIiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvTWFuYWdlJTIwVmVyc2lvbnMlMjAlMjYlMjBNYXN0ZXIlMjBGaWxlcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwidmVyc2lvbiBjb250cm9sIiwidmVyc2lvbnMiLCJtYXN0ZXIgZmlsZXMiLCJ3b3JraW5nIGNvcGllcyIsInB1Ymxpc2hlZCB2ZXJzaW9ucyIsInRyYWNlYWJpbGl0eSIsImdpdCIsInZlcnNpb25pbmciLCJtYXN0ZXIiLCJtYXN0ZXIgZmlsZSIsImZpbmFsIHZlcnNpb24iLCJ2ZXJzaW9uIGhpc3RvcnkiLCJ2ZXJzaW9uc3ZlcndhbHR1bmciLCJtYXN0ZXJkYXRlaSJdfSx7InRpdGxlIjoiU3RvcmUsIEJhY2sgVXAgJiBDb250cm9sIEFjY2VzcyIsInBoYXNlIjoiV29yayAmIE1hbmFnZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9Xb3JrJTIwJTI2JTIwTWFuYWdlL1N0b3JlJTJDJTIwQmFjayUyMFVwJTIwJTI2JTIwQ29udHJvbCUyMEFjY2Vzcy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwic3RvcmFnZSIsImJhY2t1cCIsImFjY2VzcyBjb250cm9sIiwic2VjdXJpdHkiLCJwZXJtaXNzaW9ucyIsInNlbnNpdGl2ZSBkYXRhIiwiaW5zdGl0dXRpb25hbCBzdG9yYWdlIiwiYmFja3VwIHJlc3RvcmUiLCJhY2Nlc3MgcGVybWlzc2lvbnMiLCJzZWN1cmUgc3RvcmFnZSIsImRhdGEgYWNjZXNzIiwienVncmlmZnNyZWNodGUiLCJkYXRlbnNpY2hlcnVuZyJdfSx7InRpdGxlIjoiRG9jdW1lbnQgUHJvY2Vzc2VzLCBNZXRhZGF0YSAmIFByb3ZlbmFuY2UiLCJwaGFzZSI6IldvcmsgJiBNYW5hZ2UiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvV29yayUyMCUyNiUyME1hbmFnZS9Eb2N1bWVudCUyME1ldGFkYXRhJTIwJTI2JTIwUHJvdmVuYW5jZS8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwiZG9jdW1lbnRhdGlvbiIsInJlc2VhcmNoIHByb2Nlc3MiLCJtZXRhZGF0YSIsInByb3ZlbmFuY2UiLCJjb250ZXh0IiwidHJhY2VhYmlsaXR5IiwicmVsYXRpb25zaGlwcyIsInRlY2huaWNhbCBkb2N1bWVudGF0aW9uIiwicHJvY2VzcyBkb2N1bWVudGF0aW9uIiwicmVzZWFyY2ggZG9jdW1lbnRhdGlvbiIsImRhdGEgbGluZWFnZSIsIm9yaWdpbiIsImhpc3Rvcnkgb2YgY2hhbmdlcyIsIm1ldGFkYXRlbiIsInByb3ZlbmllbnoiLCJwcm96ZXNzZG9rdW1lbnRhdGlvbiJdfSx7InRpdGxlIjoiVXNlIFN0YW5kYXJkcywgVm9jYWJ1bGFyaWVzICYgSWRlbnRpZmllcnMiLCJwaGFzZSI6IldvcmsgJiBNYW5hZ2UiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvV29yayUyMCUyNiUyME1hbmFnZS9Vc2UlMjBTdGFuZGFyZHMlMkMlMjBWb2NhYnVsYXJpZXMlMjAlMjYlMjBJZGVudGlmaWVycy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwid29yayBhbmQgbWFuYWdlIiwibWV0YWRhdGEgc3RhbmRhcmRzIiwiY29udHJvbGxlZCB2b2NhYnVsYXJpZXMiLCJhdXRob3JpdHkgZGF0YSIsImlkZW50aWZpZXJzIiwicGVyc2lzdGVudCBpZGVudGlmaWVycyIsImduZCIsImNpZG9jIGNybSIsImludGVyb3BlcmFiaWxpdHkiLCJnZXR0eSB2b2NhYnVsYXJpZXMiLCJub3JtZGF0YSIsIm5vcm1kYXRlbiIsImNvbnRyb2xsZWQgdm9jYWJ1bGFyeSIsInBlcnNpc3RlbnQgaWRlbnRpZmllciIsInBpZCIsIm1ldGFkYXRhIHNjaGVtYSIsIm9udG9sb2d5Iiwib250b2xvZ2llcyJdfSx7InRpdGxlIjoiUmV2aWV3IFlvdXIgRGF0YSBNYW5hZ2VtZW50IiwicGhhc2UiOiJXb3JrICYgTWFuYWdlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1dvcmslMjAlMjYlMjBNYW5hZ2UvUmV2aWV3JTIwWW91ciUyMERhdGElMjBNYW5hZ2VtZW50LyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJ3b3JrIGFuZCBtYW5hZ2UiLCJkYXRhIG1hbmFnZW1lbnQgcmV2aWV3IiwiZG1wIHVwZGF0ZSIsInF1YWxpdHkgYXNzdXJhbmNlIiwicHJvamVjdCByZXZpZXciLCJyZXNwb25zaWJpbGl0aWVzIiwicmlzayByZXZpZXciLCJwcm9qZWN0IGNoYW5nZXMiLCJyZXZpZXcgZG1wIiwidXBkYXRlIGRtcCIsImRhdGEgbWFuYWdlbWVudCB1cGRhdGUiLCJxdWFsaXR5IHJldmlldyIsImRhdGVubWFuYWdlbWVudCDDvGJlcnByw7xmZW4iLCJkbXAgYWt0dWFsaXNpZXJlbiJdfSx7InRpdGxlIjoiUHVibGlzaCAmIFNoYXJlIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInJlc2VhcmNoIHB1YmxpY2F0aW9uIiwiZGlzc2VtaW5hdGlvbiIsIm9wZW4gc2NpZW5jZSIsInJlcG9zaXRvcmllcyIsInByZXNlcnZhdGlvbiIsInB1YmxpY2F0aW9uIiwic2hhcmluZyIsInJlc2VhcmNoIGRpc3NlbWluYXRpb24iLCJ2aXNpYmlsaXR5IiwicHVibGl6aWVyZW4iLCJ0ZWlsZW4iLCJzaWNodGJhcmtlaXQiXX0seyJ0aXRsZSI6IkRlY2lkZSBXaGF0IHRvIFNoYXJlIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0RlY2lkZSUyMFdoYXQlMjB0byUyMFNoYXJlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInNoYXJpbmciLCJwdWJsaWNhdGlvbiBkZWNpc2lvbiIsImRpc2NvdmVyeSIsImFjY2VzcyIsInJldXNlIiwicHJlc2VydmF0aW9uIiwic2Vuc2l0aXZpdHkiLCJ3aGF0IHRvIHB1Ymxpc2giLCJ3aGF0IHRvIHNoYXJlIiwiZGlzY292ZXJ5IGFjY2VzcyByZXVzZSBwcmVzZXJ2YXRpb24iLCJmcmVpZ2FiZSIsInZlcsO2ZmZlbnRsaWNodW5nc2VudHNjaGVpZHVuZyJdfSx7InRpdGxlIjoiRkFJUiwgQ0FSRSAmIE9wZW4gU2NpZW5jZSIsInBoYXNlIjoiUHVibGlzaCAmIFNoYXJlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1B1Ymxpc2glMjAlMjYlMjBTaGFyZS9GQUlSJTJDJTIwQ0FSRSUyMCUyNiUyME9wZW4lMjBTY2llbmNlLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsImZhaXIiLCJjYXJlIiwib3BlbiBzY2llbmNlIiwib3BlbiBhY2Nlc3MiLCJvcGVuIGRhdGEiLCJpbmRpZ2Vub3VzIGRhdGEgZ292ZXJuYW5jZSIsInJlc3BvbnNpYmxlIG9wZW5uZXNzIiwiZmluZGFibGUgYWNjZXNzaWJsZSBpbnRlcm9wZXJhYmxlIHJldXNhYmxlIiwiY29sbGVjdGl2ZSBiZW5lZml0IiwiYXV0aG9yaXR5IHRvIGNvbnRyb2wiLCJyZXNwb25zaWJpbGl0eSBldGhpY3MiLCJvZmZlbmUgd2lzc2Vuc2NoYWZ0Iiwib3BlbiByZXNlYXJjaCJdfSx7InRpdGxlIjoiTWFuYWdlIEFjY2VzcywgUmV1c2UgJiBMaWNlbnNpbmciLCJwaGFzZSI6IlB1Ymxpc2ggJiBTaGFyZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9QdWJsaXNoJTIwJTI2JTIwU2hhcmUvTWFuYWdlJTIwQWNjZXNzJTJDJTIwUmV1c2UlMjAlMjYlMjBMaWNlbnNpbmcvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiYWNjZXNzIiwicmV1c2UiLCJsaWNlbnNpbmciLCJsaWNlbmNlcyIsInBlcm1pc3Npb25zIiwiZW1iYXJnbyIsImNvbnRyb2xsZWQgYWNjZXNzIiwiY3JlYXRpdmUgY29tbW9ucyIsInJldXNlIHJpZ2h0cyIsIm9wZW4gbGljZW5jZSIsIm9wZW4gbGljZW5zZSIsImFjY2VzcyByZXN0cmljdGlvbiIsInp1Z2FuZyIsIm5hY2hudXR6dW5nIiwibGl6ZW56aWVydW5nIl19LHsidGl0bGUiOiJDaG9vc2UgYSBSZXBvc2l0b3J5IG9yIFB1YmxpY2F0aW9uIFBsYXRmb3JtIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0Nob29zZSUyMGElMjBSZXBvc2l0b3J5JTIwb3IlMjBQdWJsaWNhdGlvbiUyMFBsYXRmb3JtLyIsInRlcm1zIjpbImFydCBhbmQgcmVzZWFyY2giLCJwdWJsaXNoIGFuZCBzaGFyZSIsInJlcG9zaXRvcnkiLCJwdWJsaWNhdGlvbiBwbGF0Zm9ybSIsImRhdGEgcmVwb3NpdG9yeSIsImFyY2hpdmUiLCJ0cnVzdGVkIHJlcG9zaXRvcnkiLCJjb3JldHJ1c3RzZWFsIiwiaW5zdGl0dXRpb25hbCByZXBvc2l0b3J5IiwicmVzZWFyY2ggcmVwb3NpdG9yeSIsInB1YmxpY2F0aW9uIHZlbnVlIiwicmVwb3NpdG9yeSBzZWxlY3Rpb24iLCJyZXBvc2l0b3JpdW0iLCJwdWJsaWthdGlvbnNwbGF0dGZvcm0iLCJhcmNoaXYiXX0seyJ0aXRsZSI6Ik1ha2UgT3V0cHV0cyBGaW5kYWJsZSAmIENpdGFibGUiLCJwaGFzZSI6IlB1Ymxpc2ggJiBTaGFyZSIsInVybCI6Imh0dHBzOi8veHdpa2kudW5pLWFrLmFjLmF0L2Jpbi92aWV3L1NlcnZpY2UlMjBOYXZpZ2F0b3IvQXJ0JTIwJTI2JTIwUmVzZWFyY2glMjBTZXJ2aWNlcyUyME5hdmlnYXRvci9QdWJsaXNoJTIwJTI2JTIwU2hhcmUvTWFrZSUyME91dHB1dHMlMjBGaW5kYWJsZSUyMCUyNiUyMENpdGFibGUvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiZmluZGFiaWxpdHkiLCJjaXRhdGlvbiIsInBlcnNpc3RlbnQgaWRlbnRpZmllcnMiLCJwaWQiLCJkb2kiLCJvcmNpZCIsInJvciIsIm1ldGFkYXRhIiwidmVyc2lvbmluZyIsImRpZ2l0YWwgb2JqZWN0IGlkZW50aWZpZXIiLCJkb2kgbnVtYmVyIiwicGVyc2lzdGVudCBpZGVudGlmaWVyIiwicGVyc2lzdGVudCBpZCIsImRhdGEgY2l0YXRpb24iLCJjaXRlIGRhdGEiLCJjaXRlIGRhdGFzZXQiLCJjaXRhdGlvbiBtZXRhZGF0YSIsInppdGllcmVuIiwieml0aWVyYmFya2VpdCIsImF1ZmZpbmRiYXJrZWl0Il19LHsidGl0bGUiOiJEaXNzZW1pbmF0ZSAmIFByZXNlbnQgWW91ciBSZXNlYXJjaCIsInBoYXNlIjoiUHVibGlzaCAmIFNoYXJlIiwidXJsIjoiaHR0cHM6Ly94d2lraS51bmktYWsuYWMuYXQvYmluL3ZpZXcvU2VydmljZSUyME5hdmlnYXRvci9BcnQlMjAlMjYlMjBSZXNlYXJjaCUyMFNlcnZpY2VzJTIwTmF2aWdhdG9yL1B1Ymxpc2glMjAlMjYlMjBTaGFyZS9EaXNzZW1pbmF0ZSUyMCUyNiUyMFByZXNlbnQlMjBZb3VyJTIwUmVzZWFyY2gvIiwidGVybXMiOlsiYXJ0IGFuZCByZXNlYXJjaCIsInB1Ymxpc2ggYW5kIHNoYXJlIiwiZGlzc2VtaW5hdGlvbiIsInZpc2liaWxpdHkiLCJwcmVzZW50YXRpb24iLCJhdWRpZW5jZXMiLCJzY2llbmNlIGNvbW11bmljYXRpb24iLCJleGhpYml0aW9uIiwicHJvamVjdCB3ZWJzaXRlIiwicmVzZWFyY2ggY29tbXVuaWNhdGlvbiIsImNvbW11bmljYXRpb24iLCJwdWJsaWMgZW5nYWdlbWVudCIsImF1c3N0ZWxsdW5nIiwidmVybWl0dGx1bmciXX0seyJ0aXRsZSI6IlByZXNlcnZlIERhdGEgJiBBcnRpc3RpYyBPdXRwdXRzIiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL1ByZXNlcnZlJTIwRGF0YSUyMCUyNiUyMEFydGlzdGljJTIwT3V0cHV0cy8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwicHVibGlzaCBhbmQgc2hhcmUiLCJwcmVzZXJ2YXRpb24iLCJsb25nLXRlcm0gcHJlc2VydmF0aW9uIiwiYXJjaGl2aW5nIiwibWFzdGVyIGZpbGVzIiwiZmlsZSBmb3JtYXRzIiwidGVjaG5pY2FsIGRlcGVuZGVuY2llcyIsImVtdWxhdGlvbiIsImFydGlzdGljIG91dHB1dHMiLCJkaWdpdGFsIHByZXNlcnZhdGlvbiIsImxvbmcgdGVybSBhcmNoaXZlIiwicHJlc2VydmF0aW9uIG1hc3RlciIsImZvcm1hdCBtaWdyYXRpb24iLCJzb2Z0d2FyZSBwcmVzZXJ2YXRpb24iLCJsYW5nemVpdGFyY2hpdmllcnVuZyIsImFyY2hpdmllcnVuZyIsImVyaGFsdHVuZyJdfSx7InRpdGxlIjoiQ2xvc2UgJiBIYW5kIE92ZXIgWW91ciBQcm9qZWN0IiwicGhhc2UiOiJQdWJsaXNoICYgU2hhcmUiLCJ1cmwiOiJodHRwczovL3h3aWtpLnVuaS1hay5hYy5hdC9iaW4vdmlldy9TZXJ2aWNlJTIwTmF2aWdhdG9yL0FydCUyMCUyNiUyMFJlc2VhcmNoJTIwU2VydmljZXMlMjBOYXZpZ2F0b3IvUHVibGlzaCUyMCUyNiUyMFNoYXJlL0Nsb3NlJTIwJTI2JTIwSGFuZCUyME92ZXIlMjBZb3VyJTIwUHJvamVjdC8iLCJ0ZXJtcyI6WyJhcnQgYW5kIHJlc2VhcmNoIiwicHVibGlzaCBhbmQgc2hhcmUiLCJwcm9qZWN0IGNsb3N1cmUiLCJoYW5kb3ZlciIsImFyY2hpdmUgZGVwb3NpdCIsImRlbGV0aW9uIiwiZmluYWwgZG9jdW1lbnRhdGlvbiIsInBvc3QtcHJvamVjdCByZXNwb25zaWJpbGl0eSIsInJldGVudGlvbiIsInByb2plY3QgZW5kIiwicHJvamVjdCBjb21wbGV0aW9uIiwiZmluYWwgaGFuZG92ZXIiLCJwcm9qZWN0IGFyY2hpdmUiLCJwcm9qZWt0YWJzY2hsdXNzIiwiw7xiZXJnYWJlIiwibMO2c2NodW5nIl19XQ==";
Veronika Kocher 35.1 77 var pageIndex;
78
79 try {
80 var binary = window.atob(encodedIndex);
81 var bytes = Uint8Array.from(binary, function (character) {
82 return character.charCodeAt(0);
83 });
Veronika Kocher 36.1 84
Veronika Kocher 35.1 85 pageIndex = JSON.parse(
86 new TextDecoder("utf-8").decode(bytes)
87 );
88 } catch (error) {
Veronika Kocher 36.1 89 console.error("Art & Research search index could not be loaded.", error);
Veronika Kocher 35.1 90 return;
91 }
92
93 var form = document.getElementById("arsn-search-form");
94 var input = document.getElementById("arsn-search-input");
95 var resultsBox = document.getElementById("arsn-search-results");
96 var status = document.getElementById("arsn-search-status");
97 var currentResults = [];
98 var activeIndex = -1;
99
100 function normalise(value) {
101 return String(value || "")
102 .normalize("NFD")
103 .replace(/[\u0300-\u036f]/g, "")
104 .toLowerCase()
105 .replace(/[^a-z0-9]+/g, " ")
106 .trim();
107 }
108
109 function scorePage(page, query) {
110 var title = normalise(page.title);
111 var phase = normalise(page.phase);
112 var terms = page.terms.map(normalise);
113 var tokens = query.split(/\s+/).filter(Boolean);
114 var score = 0;
115
116 if (title === query) score += 500;
117 if (terms.indexOf(query) !== -1) score += 450;
Veronika Kocher 36.1 118
Veronika Kocher 35.1 119 if (title.indexOf(query) === 0) score += 300;
120 if (terms.some(function (term) {
121 return term.indexOf(query) === 0;
122 })) score += 260;
Veronika Kocher 36.1 123
Veronika Kocher 35.1 124 if (title.indexOf(query) !== -1) score += 180;
125 if (terms.some(function (term) {
126 return term.indexOf(query) !== -1;
127 })) score += 160;
Veronika Kocher 36.1 128
Veronika Kocher 35.1 129 if (phase.indexOf(query) !== -1) score += 40;
130
131 tokens.forEach(function (token) {
132 if (title.indexOf(token) !== -1) score += 35;
Veronika Kocher 36.1 133
Veronika Kocher 35.1 134 if (terms.some(function (term) {
135 return term.indexOf(token) !== -1;
136 })) score += 30;
137 });
138
139 return score;
140 }
141
142 function matchingTerms(page, query) {
143 return page.terms
144 .filter(function (term) {
145 return normalise(term).indexOf(query) !== -1;
146 })
147 .slice(0, 4);
148 }
149
150 function search(queryText) {
151 var query = normalise(queryText);
152
153 if (!query) return [];
154
155 return pageIndex
156 .map(function (page) {
157 return {
158 page: page,
159 score: scorePage(page, query)
160 };
161 })
162 .filter(function (entry) {
163 return entry.score > 0;
164 })
165 .sort(function (a, b) {
166 return (
167 b.score - a.score ||
168 a.page.title.localeCompare(b.page.title)
169 );
170 })
171 .slice(0, 8)
172 .map(function (entry) {
173 return entry.page;
174 });
175 }
176
177 function escapeHTML(value) {
178 return String(value)
179 .replace(/&/g, "&amp;")
180 .replace(/</g, "&lt;")
181 .replace(/>/g, "&gt;")
182 .replace(/"/g, "&quot;");
183 }
184
185 function setActive(index) {
186 var links = resultsBox.querySelectorAll("[role=option]");
187
188 if (!links.length) {
189 activeIndex = -1;
190 return;
191 }
192
193 activeIndex = Math.max(
194 0,
195 Math.min(index, links.length - 1)
196 );
197
198 links.forEach(function (link, itemIndex) {
199 var active = itemIndex === activeIndex;
Veronika Kocher 36.1 200
Veronika Kocher 35.1 201 link.setAttribute(
202 "aria-selected",
203 active ? "true" : "false"
204 );
Veronika Kocher 36.1 205
Veronika Kocher 35.1 206 link.style.background =
207 active ? "#f3f5f6" : "#fff";
208 });
209 }
210
211 function render() {
212 var query = normalise(input.value);
213 currentResults = search(input.value);
214 activeIndex = -1;
215
216 if (!query) {
217 resultsBox.hidden = true;
218 input.setAttribute("aria-expanded", "false");
219 resultsBox.innerHTML = "";
220 status.textContent = "";
221 return;
222 }
223
224 if (!currentResults.length) {
225 resultsBox.hidden = false;
226 input.setAttribute("aria-expanded", "true");
227 resultsBox.innerHTML =
228 '<div style="padding:12px 14px;color:#666;">' +
Veronika Kocher 36.1 229 'No direct topic match. Press Search for XWiki full-text results.' +
Veronika Kocher 35.1 230 '</div>';
Veronika Kocher 36.1 231
Veronika Kocher 35.1 232 status.textContent = "No direct topic suggestions.";
233 return;
234 }
235
236 resultsBox.innerHTML =
237 currentResults.map(function (page, index) {
238 var terms = matchingTerms(page, query);
Veronika Kocher 36.1 239
Veronika Kocher 35.1 240 var detail =
241 page.phase && page.phase !== "Overview"
242 ? page.phase
243 : "Art & Research Services Navigator";
244
245 if (terms.length) {
246 detail += " · " + terms.join(", ");
247 }
248
249 return (
250 '<a href="' +
251 escapeHTML(page.url) +
252 '" role="option" aria-selected="false"' +
Veronika Kocher 36.1 253 ' data-index="' + index + '"' +
Veronika Kocher 35.1 254 ' style="display:block;padding:11px 14px;border-bottom:1px solid #eee;color:#111;text-decoration:none;">' +
255 '<strong style="display:block;">' +
256 escapeHTML(page.title) +
257 '</strong>' +
Veronika Kocher 39.1 258 '<span style="display:block;margin-top:2px;color:#6a655e;font-size:13px;">' +
Veronika Kocher 35.1 259 escapeHTML(detail) +
260 '</span>' +
261 '</a>'
262 );
263 }).join("");
264
265 resultsBox.hidden = false;
266 input.setAttribute("aria-expanded", "true");
267
268 status.textContent =
269 currentResults.length +
270 " suggested page" +
271 (currentResults.length === 1 ? "" : "s") +
272 ".";
273 }
274
275 input.addEventListener("input", render);
276 input.addEventListener("focus", render);
277
278 input.addEventListener("keydown", function (event) {
Veronika Kocher 36.1 279 if (resultsBox.hidden || !currentResults.length) return;
Veronika Kocher 35.1 280
281 if (event.key === "ArrowDown") {
282 event.preventDefault();
283 setActive(activeIndex + 1);
284 } else if (event.key === "ArrowUp") {
285 event.preventDefault();
Veronika Kocher 36.1 286
Veronika Kocher 35.1 287 setActive(
288 activeIndex <= 0
289 ? currentResults.length - 1
290 : activeIndex - 1
291 );
Veronika Kocher 36.1 292 } else if (event.key === "Enter" && activeIndex >= 0) {
Veronika Kocher 35.1 293 event.preventDefault();
Veronika Kocher 36.1 294 window.location.href = currentResults[activeIndex].url;
Veronika Kocher 35.1 295 } else if (event.key === "Escape") {
296 resultsBox.hidden = true;
Veronika Kocher 36.1 297 input.setAttribute("aria-expanded", "false");
Veronika Kocher 35.1 298 }
299 });
300
301 form.addEventListener("submit", function (event) {
302 currentResults = search(input.value);
303
304 if (currentResults.length) {
305 event.preventDefault();
Veronika Kocher 36.1 306 window.location.href = currentResults[0].url;
Veronika Kocher 35.1 307 }
308 });
309
310 document.addEventListener("click", function (event) {
311 if (!form.contains(event.target)) {
312 resultsBox.hidden = true;
Veronika Kocher 36.1 313 input.setAttribute("aria-expanded", "false");
Veronika Kocher 35.1 314 }
315 });
Veronika Kocher 36.1 316
317 // Search-term links on nested pages use ?q=<term>.
318 // Load that query into the search box automatically.
319 try {
320 var params = new URLSearchParams(window.location.search);
321 var linkedQuery = params.get("q");
322
323 if (linkedQuery) {
324 input.value = linkedQuery;
325 render();
326
327 window.setTimeout(function () {
328 input.focus();
329
330 if (input.scrollIntoView) {
331 input.scrollIntoView({
332 behavior: "smooth",
333 block: "center"
334 });
335 }
336 }, 50);
337 }
338 } catch (error) {
339 console.warn("Could not load linked navigator query.", error);
340 }
Veronika Kocher 35.1 341 })();
342 </script>
Veronika Kocher 39.20 343 </section>
Veronika Kocher 35.1 344 {{/html}}
Veronika Kocher 39.15 345
Veronika Kocher 39.1 346 (% style="margin:10px 0 16px 0;color:#6a655e;font-size:13px;" %)
Veronika Kocher 37.1 347 (((
348 Follow the project stages from left to right. Within each stage, topics are ordered by what you are most likely to need next; colour is used only as a subtle thematic cue.
349 )))
350
Veronika Kocher 39.13 351 {{container layoutStyle="columns"}}
Veronika Kocher 14.1 352
Veronika Kocher 18.1 353 (((
Veronika Kocher 39.1 354 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
Veronika Kocher 18.1 355 (((
Veronika Kocher 39.1 356 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
Veronika Kocher 18.1 357 (((
Veronika Kocher 27.1 358 [[image:enable.png||alt="Enable — Plan & Set Up" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
Veronika Kocher 18.1 359 )))
Veronika Kocher 17.1 360
Veronika Kocher 37.1 361 (% style="padding:18px 17px 17px 17px;flex:1;" %)
Veronika Kocher 18.1 362 (((
363 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
Veronika Kocher 37.1 364 [[1. Enable — Plan & Set Up>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/||style="color:#111;text-decoration:none;font-weight:700;"]]
Veronika Kocher 17.1 365
Veronika Kocher 19.1 366 (% style="color:#666;margin-bottom:16px;" %)
Veronika Kocher 18.1 367 Prepare your project before the main work begins.
Veronika Kocher 14.1 368
Veronika Kocher 39.1 369 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 19.1 370 START HERE
371
Veronika Kocher 39.1 372 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 16.1 373 (((
Veronika Kocher 37.1 374 [[Get Started>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Get%20Started/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 375 )))
Veronika Kocher 14.1 376
Veronika Kocher 39.1 377 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 378 (((
Veronika Kocher 37.1 379 [[Quick Start for Small Projects>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Quick%20Start%20for%20Small%20Projects/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 380 )))
Veronika Kocher 14.3 381
Veronika Kocher 39.1 382 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 383 PLAN & ORGANISE
Veronika Kocher 19.1 384
Veronika Kocher 39.1 385 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 386 (((
Veronika Kocher 37.1 387 [[Project Planning & Organisation>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Project%20Planning%20%26%20Organisation/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 388 )))
Veronika Kocher 17.1 389
Veronika Kocher 39.1 390 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 391 (((
Veronika Kocher 37.1 392 [[Funding & Funder Requirements>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Funding%20%26%20Funder%20Requirements/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 393 )))
Veronika Kocher 17.1 394
Veronika Kocher 39.1 395 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 396 (((
Veronika Kocher 37.1 397 [[Identify Your Data & Research Outputs>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Identify%20Your%20Data%20%26%20Research%20Outputs/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 398 )))
Veronika Kocher 6.4 399
Veronika Kocher 39.1 400 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 401 (((
Veronika Kocher 37.1 402 [[Plan Your Data Management>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Plan%20Your%20Data%20Management/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 403 )))
Veronika Kocher 19.1 404
Veronika Kocher 39.1 405 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 406 (((
Veronika Kocher 37.1 407 [[File Organisation & Naming>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/File%20Organisation%20%26%20Naming/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 28.1 408 )))
409
Veronika Kocher 39.1 410 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 411 PROTECT & CLARIFY
Veronika Kocher 19.1 412
Veronika Kocher 39.1 413 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 414 (((
Veronika Kocher 37.1 415 [[Copyright, Rights & Licences>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Copyright%2C%20Rights%20%26%20Licences/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 416 )))
Veronika Kocher 6.4 417
Veronika Kocher 39.1 418 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 419 (((
Veronika Kocher 37.1 420 [[Data Protection & Ethics>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Data%20Protection%20%26%20Ethics/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 19.1 421 )))
422
Veronika Kocher 39.1 423 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 424 SET UP INFRASTRUCTURE
Veronika Kocher 19.1 425
Veronika Kocher 39.1 426 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 427 (((
Veronika Kocher 37.1 428 [[Storage, Backup & Security>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Storage%2C%20Backup%20%26%20Security/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 19.1 429 )))
430
Veronika Kocher 39.1 431 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 432 (((
Veronika Kocher 37.1 433 [[Infrastructure, Services & Tools>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Infrastructure%2C%20Services%20%26%20Tools/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 19.1 434 )))
435
Veronika Kocher 39.1 436 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 437 (((
Veronika Kocher 37.1 438 [[Collaboration Setup>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Collaboration%20Setup/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 19.1 439 )))
440 )))
441
Veronika Kocher 18.1 442 (% style="padding:0 16px 16px 16px;" %)
443 (((
Veronika Kocher 31.1 444 [[Explore Enable>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/||class="btn btn-primary btn-block"]]
Veronika Kocher 18.1 445 )))
446 )))
447 )))
Veronika Kocher 16.1 448
Veronika Kocher 18.1 449 (((
Veronika Kocher 39.1 450 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
Veronika Kocher 18.1 451 (((
Veronika Kocher 39.1 452 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
Veronika Kocher 18.1 453 (((
Veronika Kocher 27.1 454 [[image:work.png||alt="Work & Manage — Run Your Project" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
Veronika Kocher 16.1 455 )))
456
Veronika Kocher 37.1 457 (% style="padding:18px 17px 17px 17px;flex:1;" %)
Veronika Kocher 10.1 458 (((
Veronika Kocher 18.1 459 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
Veronika Kocher 37.1 460 [[2. Work & Manage — Run Your Project>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/||style="color:#111;text-decoration:none;font-weight:700;"]]
Veronika Kocher 16.1 461
Veronika Kocher 19.1 462 (% style="color:#666;margin-bottom:16px;" %)
Veronika Kocher 28.1 463 Organise, document and review your project while the work is ongoing.
Veronika Kocher 16.1 464
Veronika Kocher 39.1 465 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 466 ORGANISE & DOCUMENT
Veronika Kocher 19.1 467
Veronika Kocher 39.1 468 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 469 (((
Veronika Kocher 37.1 470 [[Organise Files & Folders>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Organise%20Files%20%26%20Folders/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 471 )))
Veronika Kocher 17.1 472
Veronika Kocher 39.1 473 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 474 (((
Veronika Kocher 37.1 475 [[Manage Versions & Master Files>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Manage%20Versions%20%26%20Master%20Files/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 476 )))
Veronika Kocher 17.1 477
Veronika Kocher 39.1 478 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 479 (((
Veronika Kocher 37.1 480 [[Document Processes, Metadata & Provenance>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Document%20Metadata%20%26%20Provenance/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 481 )))
Veronika Kocher 16.1 482
Veronika Kocher 39.1 483 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 484 STORE & CONTROL ACCESS
Veronika Kocher 19.1 485
Veronika Kocher 39.1 486 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 487 (((
Veronika Kocher 37.1 488 [[Store, Back Up & Control Access>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Store%2C%20Back%20Up%20%26%20Control%20Access/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 489 )))
Veronika Kocher 19.1 490
Veronika Kocher 39.1 491 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 492 STANDARDISE & IDENTIFY
493
Veronika Kocher 39.1 494 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 495 (((
Veronika Kocher 37.1 496 [[Use Standards, Vocabularies & Identifiers>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Use%20Standards%2C%20Vocabularies%20%26%20Identifiers/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 497 )))
Veronika Kocher 16.1 498
Veronika Kocher 39.1 499 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 500 REVIEW & ADAPT
501
Veronika Kocher 39.1 502 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 19.1 503 (((
Veronika Kocher 37.1 504 [[Review Your Data Management>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/Review%20Your%20Data%20Management/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 19.1 505 )))
506 )))
507
Veronika Kocher 18.1 508 (% style="padding:0 16px 16px 16px;" %)
509 (((
Veronika Kocher 31.1 510 [[Explore Work & Manage>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Work%20%26%20Manage/||class="btn btn-primary btn-block"]]
Veronika Kocher 16.1 511 )))
Veronika Kocher 18.1 512 )))
513 )))
Veronika Kocher 16.1 514
Veronika Kocher 11.2 515 (((
Veronika Kocher 39.1 516 (% style="border:1px solid #e3ded6;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.035);display:flex;flex-direction:column;" %)
Veronika Kocher 18.1 517 (((
Veronika Kocher 39.1 518 (% style="height:170px;overflow:hidden;background:#f1eee9;position:relative;" %)
Veronika Kocher 18.1 519 (((
Veronika Kocher 27.1 520 [[image:share.png||alt="Publish & Share — Make It Visible" style="width:100%;height:auto;display:block;position:absolute;top:50%;left:0;transform:translateY(-50%);"]]
Veronika Kocher 18.1 521 )))
Veronika Kocher 16.1 522
Veronika Kocher 37.1 523 (% style="padding:18px 17px 17px 17px;flex:1;" %)
Veronika Kocher 18.1 524 (((
525 (% style="font-size:19px;font-weight:700;margin-bottom:2px;" %)
Veronika Kocher 37.1 526 [[3. Publish & Share — Make It Visible>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/||style="color:#111;text-decoration:none;font-weight:700;"]]
Veronika Kocher 16.1 527
Veronika Kocher 19.1 528 (% style="color:#666;margin-bottom:16px;" %)
Veronika Kocher 28.1 529 Decide how outputs should be shared, published, made findable and preserved.
Veronika Kocher 16.1 530
Veronika Kocher 39.1 531 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:17px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 532 DECIDE
Veronika Kocher 19.1 533
Veronika Kocher 39.1 534 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #21b6d7;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 535 (((
Veronika Kocher 37.1 536 [[Decide What to Share>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Decide%20What%20to%20Share/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 537 )))
Veronika Kocher 16.1 538
Veronika Kocher 39.1 539 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 540 OPEN, REUSE & MAKE FINDABLE
541
Veronika Kocher 39.1 542 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 543 (((
Veronika Kocher 37.1 544 [[FAIR, CARE & Open Science>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/FAIR%2C%20CARE%20%26%20Open%20Science/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 18.1 545 )))
Veronika Kocher 16.1 546
Veronika Kocher 39.1 547 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 548 (((
Veronika Kocher 37.1 549 [[Manage Access, Reuse & Licensing>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Manage%20Access%2C%20Reuse%20%26%20Licensing/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 28.1 550 )))
551
Veronika Kocher 39.1 552 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #f0aa00;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 553 (((
Veronika Kocher 37.1 554 [[Make Outputs Findable & Citable>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Make%20Outputs%20Findable%20%26%20Citable/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 28.1 555 )))
556
Veronika Kocher 39.1 557 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 558 PUBLISH & PRESENT
Veronika Kocher 19.1 559
Veronika Kocher 39.1 560 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #e94b13;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 18.1 561 (((
Veronika Kocher 37.1 562 [[Disseminate & Present Your Research>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Disseminate%20%26%20Present%20Your%20Research/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 16.1 563 )))
564
Veronika Kocher 39.1 565 (% style="font-size:13px;font-weight:700;letter-spacing:.065em;color:#4f4a44;margin:22px 0 8px 0;padding:5px 8px;background:#f3efe8;border-radius:4px;" %)
Veronika Kocher 28.1 566 REPOSITORY, PRESERVE & HAND OVER
567
Veronika Kocher 39.1 568 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 13.1 569 (((
Veronika Kocher 37.1 570 [[Choose a Repository or Publication Platform>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Choose%20a%20Repository%20or%20Publication%20Platform/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 16.1 571 )))
Veronika Kocher 8.3 572
Veronika Kocher 39.1 573 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 28.1 574 (((
Veronika Kocher 37.1 575 [[Preserve Data & Artistic Outputs>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Preserve%20Data%20%26%20Artistic%20Outputs/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 28.1 576 )))
Veronika Kocher 19.1 577
Veronika Kocher 39.1 578 (% style="background:#fcfbf8;border:1px solid #e9e4dc;border-left:3px solid #38b76a;border-radius:5px;padding:8px 10px;margin:4px 0;" %)
Veronika Kocher 16.1 579 (((
Veronika Kocher 37.1 580 [[Close & Hand Over Your Project>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/Close%20%26%20Hand%20Over%20Your%20Project/||style="color:#222;text-decoration:none;font-weight:600;"]]
Veronika Kocher 9.1 581 )))
Veronika Kocher 18.1 582 )))
Veronika Kocher 16.1 583
Veronika Kocher 18.1 584 (% style="padding:0 16px 16px 16px;" %)
Veronika Kocher 16.1 585 (((
Veronika Kocher 31.1 586 [[Explore Publish & Share>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Publish%20%26%20Share/||class="btn btn-primary btn-block"]]
Veronika Kocher 10.1 587 )))
Veronika Kocher 18.1 588 )))
589 )))
Veronika Kocher 17.1 590
Veronika Kocher 16.1 591 {{/container}}
Veronika Kocher 8.3 592
Veronika Kocher 31.1 593 (% style="margin-top:30px;" %)
Veronika Kocher 18.1 594 (((
Veronika Kocher 31.1 595 == Practical resources ==
596
597 Use practical resources when you need a concise overview, a step-by-step procedure or a ready-to-use project aid.
598
599 {{container layoutStyle="columns"}}
600
601 (((
602 {{box title="Info Sheets"}}
Veronika Kocher 39.12 603 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
Veronika Kocher 31.1 604 Short reference guides for common questions and decisions.
605
606 Resources will be linked here as the collection is developed.
607 {{/box}}
608 )))
609
610 (((
611 {{box title="Tutorials"}}
Veronika Kocher 39.12 612 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
Veronika Kocher 31.1 613 Step-by-step guidance for specific tasks and workflows.
614
615 Tutorials will be linked here as the collection is developed.
616 {{/box}}
617 )))
618
619 (((
620 {{box title="Checklists & Templates"}}
Veronika Kocher 39.12 621 {{html}}<span data-arsn-coming-soon="true" style="display:inline-block;margin:6px 0 8px 0;padding:4px 9px;border-radius:14px;background:#fff4ee;border:1px solid #efd9cc;color:#8a4d36;font-size:11px;font-weight:700;letter-spacing:.065em;line-height:1.2;">COMING SOON</span>{{/html}}
Veronika Kocher 31.1 622 Ready-to-use checklists and templates for planning, managing and closing projects.
623
624 [[Start with the Quick Start checklist>>https://xwiki.uni-ak.ac.at/bin/view/Service%20Navigator/Art%20%26%20Research%20Services%20Navigator/Enable/Quick%20Start%20for%20Small%20Projects/]]
625 {{/box}}
626 )))
627
628 {{/container}}
629 )))
630
631 (% style="margin-top:30px;" %)
632 (((
Veronika Kocher 39.14 633 == Need help finding the right route? ==
Veronika Kocher 31.1 634
Veronika Kocher 39.14 635 {{info title="Start with the right service"}}
Veronika Kocher 39.20 636 For **project development, funding, proposals and coordination of funded art and research projects**, **Support Kunst und Forschung** is a good place to start.
Veronika Kocher 31.1 637
Veronika Kocher 39.20 638 For more specific questions, the topic pages point directly to the relevant university services. When several areas are involved, use the navigator to see which support is useful at the next step.
Veronika Kocher 31.1 639 {{/info}}
640 )))
641
Veronika Kocher 39.24 642 {{html clean="false"}}
643 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_START -->
Veronika Kocher 39.23 644
Veronika Kocher 39.24 645 <style data-sn-service-navigator-master="1">
646 /* =========================================================
647 MASTER TYPOGRAPHY
648 ========================================================= */
Veronika Kocher 39.23 649 #xwikicontent h1,
650 #xwikicontent h2,
651 #xwikicontent h3,
652 #xwikicontent h4,
653 #xwikicontent h5,
654 #xwikicontent h6,
655 #xwikicontent .box-title,
656 #xwikicontent [role="heading"],
657 #xwikicontent h1 a,
658 #xwikicontent h2 a,
659 #xwikicontent h3 a,
660 #xwikicontent h4 a,
661 #xwikicontent h5 a,
662 #xwikicontent h6 a,
663 #xwikicontent .box-title a,
664 #xwikicontent [role="heading"] a{
665 text-align:left!important;
666 text-justify:auto!important;
667 word-spacing:normal!important;
668 }
669
Veronika Kocher 39.24 670 /* =========================================================
671 COMING SOON / IN VORBEREITUNG
672 ========================================================= */
673 .sn-coming-soon-badge{
674 display:inline-block;
675 vertical-align:middle;
676 margin-left:10px;
677 padding:4px 8px;
678 border-radius:14px;
679 border:1px solid #efd9cc;
680 background:#fff4ee;
681 color:#8a4d36;
682 font-size:11px;
683 font-weight:700;
684 letter-spacing:.055em;
685 line-height:1.2;
686 white-space:nowrap;
687 }
688
689 /* =========================================================
690 NATIVE / DETAIL CALLOUT GEOMETRY
691 Preserve existing backgrounds.
692 ========================================================= */
693 #xwikicontent .arsn-info,
694 #xwikicontent .dmp-info,
695 #xwikicontent .ido-info,
696 #xwikicontent .pp-info,
697 #xwikicontent .infomessage{
Veronika Kocher 39.23 698 box-sizing:border-box!important;
Veronika Kocher 39.24 699 border-left:4px solid #21b6d7!important;
700 border-radius:8px;
Veronika Kocher 39.23 701 text-align:left!important;
702 word-spacing:normal!important;
703 }
704
Veronika Kocher 39.24 705 #xwikicontent .arsn-warn,
706 #xwikicontent .dmp-warn,
707 #xwikicontent .ido-warn,
708 #xwikicontent .pp-warn,
709 #xwikicontent .warn,
710 #xwikicontent .warning,
711 #xwikicontent .warningmessage,
Veronika Kocher 39.23 712 #xwikicontent .errormessage{
Veronika Kocher 39.24 713 box-sizing:border-box!important;
714 border-left:4px solid #e94b13!important;
715 border-radius:8px;
716 text-align:left!important;
717 word-spacing:normal!important;
Veronika Kocher 39.23 718 }
719
Veronika Kocher 39.24 720 [data-sn-master-equal-height],
721 [data-sn-master-first-row]{
Veronika Kocher 39.22 722 box-sizing:border-box;
Veronika Kocher 39.21 723 }
Veronika Kocher 39.25 724
725 /* =========================================================
726 FULL-WIDTH THREE-LINE NUMBER / TITLE / SUBTITLE BLOCKS
727 ========================================================= */
728 #xwikicontent .arsn-area-label[data-sn-three-line="1"]{
729 display:grid!important;
730 grid-template-columns:minmax(0,1fr)!important;
731 grid-auto-rows:auto!important;
732 width:100%!important;
733 max-width:none!important;
734 box-sizing:border-box!important;
735 justify-items:start!important;
736 align-items:start!important;
737 gap:2px!important;
738 text-align:left!important;
739 text-align-last:left!important;
740 text-justify:auto!important;
741 word-spacing:normal!important;
742 white-space:normal!important;
743 }
744 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-number,
745 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .sn-area-label-title,
746 #xwikicontent .arsn-area-label[data-sn-three-line="1"] > .arsn-area-action{
747 display:block!important;
748 width:100%!important;
749 margin:0!important;
750 text-align:left!important;
751 text-align-last:left!important;
752 text-justify:auto!important;
753 word-spacing:normal!important;
754 white-space:normal!important;
755 }
Veronika Kocher 39.21 756 </style>
Veronika Kocher 39.23 757
Veronika Kocher 39.24 758 <script data-sn-service-navigator-master="1">
Veronika Kocher 39.21 759 (function(){
760 "use strict";
761
Veronika Kocher 39.24 762 var PAGE_KIND="overview";
763 var PLACEHOLDER=false;
764 var PLACEHOLDER_LABEL="COMING SOON";
765
Veronika Kocher 39.21 766 var MOBILE_MAX=767;
Veronika Kocher 39.22 767 var ROW_TOLERANCE=6;
Veronika Kocher 39.23 768 var RESIZE_DEBOUNCE=220;
Veronika Kocher 39.21 769
770 var root=
771 document.getElementById("xwikicontent")||
772 document.querySelector(".xwiki-rendering-content")||
773 document.querySelector("main")||
774 document.body;
775
776 if(!root)return;
777
Veronika Kocher 39.24 778 var managedHeight=new Set();
779 var managedMargin=new Set();
780 var originalHeight=new WeakMap();
781 var originalMargin=new WeakMap();
Veronika Kocher 39.23 782
783 var resizeTimer=0;
Veronika Kocher 39.24 784 var running=false;
Veronika Kocher 39.23 785
Veronika Kocher 39.24 786 var THEMES=[
787 {
788 name:"BLUE",
789 accent:"#21b6d7",
790 bg:"#eaf7fb",
791 text:"#315d68",
792 labels:[
793 "HIER STARTEN",
794 "ENTSCHEIDEN",
795 "ÜBERPRÜFEN & ANPASSEN",
796 "START HERE",
797 "DECIDE",
798 "REVIEW & ADAPT"
799 ]
800 },
801 {
802 name:"RED",
803 accent:"#e94b13",
804 bg:"#fff1ec",
805 text:"#8a4d36",
806 labels:[
807 "PLANEN & ORGANISIEREN",
808 "ORGANISIEREN & DOKUMENTIEREN",
809 "PUBLIZIEREN & PRÄSENTIEREN",
810 "PLAN & ORGANISE",
811 "PLAN & ORGANIZE",
812 "ORGANISE & DOCUMENT",
813 "ORGANIZE & DOCUMENT",
814 "PUBLISH & PRESENT"
815 ]
816 },
817 {
818 name:"YELLOW",
819 accent:"#f0aa00",
820 bg:"#fff8e7",
821 text:"#785b17",
822 labels:[
823 "SCHÜTZEN & KLÄREN",
824 "STANDARDISIEREN & IDENTIFIZIEREN",
825 "ÖFFNEN, NACHNUTZEN & AUFFINDBAR MACHEN",
826 "PROTECT & CLARIFY",
827 "STANDARDISE & IDENTIFY",
828 "STANDARDIZE & IDENTIFY",
829 "OPEN, REUSE & MAKE FINDABLE"
830 ]
831 },
832 {
833 name:"GREEN",
834 accent:"#38b76a",
835 bg:"#edf9f1",
836 text:"#3f7451",
837 labels:[
838 "INFRASTRUKTUR EINRICHTEN",
839 "INFRASTRUKTUR & ZUSAMMENARBEIT EINRICHTEN",
840 "SPEICHERN & ZUGRIFF STEUERN",
841 "REPOSITORIUM, ERHALTEN & ÜBERGEBEN",
842 "SET UP INFRASTRUCTURE",
843 "SET UP INFRASTRUCTURE & COLLABORATION",
844 "STORE & CONTROL ACCESS",
845 "REPOSITORY, PRESERVE & HAND OVER"
846 ]
Veronika Kocher 39.22 847 }
Veronika Kocher 39.24 848 ];
Veronika Kocher 39.22 849
Veronika Kocher 39.24 850 function num(value){
851 var n=parseFloat(value);
852 return Number.isFinite(n)?n:0;
Veronika Kocher 39.21 853 }
854
Veronika Kocher 39.24 855 function norm(value){
856 return String(value||"")
Veronika Kocher 39.23 857 .replace(/\s+/g," ")
858 .trim()
859 .toUpperCase();
860 }
861
Veronika Kocher 39.24 862 function visible(el){
863 if(!el||el.nodeType!==1)return false;
Veronika Kocher 39.21 864
Veronika Kocher 39.24 865 var style=getComputedStyle(el);
866 var rect=el.getBoundingClientRect();
Veronika Kocher 39.23 867
868 return (
Veronika Kocher 39.24 869 style.display!=="none"&&
870 style.visibility!=="hidden"&&
871 rect.width>20&&
872 rect.height>4
Veronika Kocher 39.23 873 );
Veronika Kocher 39.21 874 }
875
Veronika Kocher 39.24 876 function saveStyle(el,map,property){
Veronika Kocher 39.22 877 if(map.has(el))return;
878
879 map.set(el,{
Veronika Kocher 39.24 880 value:el.style.getPropertyValue(property),
881 priority:el.style.getPropertyPriority(property)
Veronika Kocher 39.22 882 });
883 }
884
Veronika Kocher 39.24 885 function restoreStyle(el,map,property){
Veronika Kocher 39.22 886 var original=map.get(el);
887
888 if(original&&original.value){
889 el.style.setProperty(
890 property,
891 original.value,
892 original.priority||""
893 );
894 }else{
Veronika Kocher 39.24 895 el.style.removeProperty(property);
Veronika Kocher 39.22 896 }
897 }
898
Veronika Kocher 39.23 899 function resetRuntime(){
Veronika Kocher 39.24 900 managedHeight.forEach(function(el){
901 restoreStyle(
Veronika Kocher 39.22 902 el,
Veronika Kocher 39.24 903 originalHeight,
Veronika Kocher 39.22 904 "min-height"
905 );
906 el.removeAttribute(
Veronika Kocher 39.24 907 "data-sn-master-equal-height"
Veronika Kocher 39.22 908 );
909 });
910
Veronika Kocher 39.24 911 managedMargin.forEach(function(el){
912 restoreStyle(
Veronika Kocher 39.22 913 el,
Veronika Kocher 39.24 914 originalMargin,
Veronika Kocher 39.22 915 "margin-top"
916 );
917 el.removeAttribute(
Veronika Kocher 39.24 918 "data-sn-master-first-row"
Veronika Kocher 39.22 919 );
920 });
921
Veronika Kocher 39.24 922 managedHeight.clear();
923 managedMargin.clear();
924 }
Veronika Kocher 39.23 925
Veronika Kocher 39.24 926 function themeFor(text){
927 var value=norm(text);
Veronika Kocher 39.23 928
Veronika Kocher 39.24 929 for(var i=0;i<THEMES.length;i++){
930 for(var j=0;j<THEMES[i].labels.length;j++){
931 var label=THEMES[i].labels[j];
932
933 if(
934 value===label||
935 value.indexOf(label+" ")===0||
936 value.indexOf(label+" -")===0||
937 value.indexOf(label+" ·")===0
938 ){
939 return THEMES[i];
940 }
941 }
942 }
943
944 return null;
Veronika Kocher 39.22 945 }
946
Veronika Kocher 39.24 947 /* =======================================================
Veronika Kocher 39.25 948 BORDERLESS FILLED RED/ORANGE CTA BUTTONS
949 ======================================================= */
950
951 function colourDistance(a,b){
952 return Math.sqrt(
953 Math.pow(a[0]-b[0],2)+
954 Math.pow(a[1]-b[1],2)+
955 Math.pow(a[2]-b[2],2)
956 );
957 }
958
959 function makeFilledRedOrangeCTAsBorderless(){
960 var RED_ORANGE=[233,75,19];
961
962 Array.from(
963 root.querySelectorAll(
964 'a,button,[role="button"],input[type="submit"],input[type="button"]'
965 )
966 ).forEach(function(el){
967 if(!visible(el))return;
968
969 var style=getComputedStyle(el);
970 var rgb=parseRGB(style.backgroundColor);
971
972 if(!rgb)return;
973
974 if(
975 colourDistance(
976 rgb,
977 RED_ORANGE
978 )>55
979 ){
980 return;
981 }
982
983 var rect=el.getBoundingClientRect();
984
985 if(
986 rect.width<80||
987 rect.height<24
988 ){
989 return;
990 }
991
992 el.style.setProperty(
993 "border",
994 "none",
995 "important"
996 );
997
998 el.style.setProperty(
999 "border-left",
1000 "none",
1001 "important"
1002 );
1003
1004 el.style.setProperty(
1005 "border-top",
1006 "none",
1007 "important"
1008 );
1009
1010 el.style.setProperty(
1011 "border-right",
1012 "none",
1013 "important"
1014 );
1015
1016 el.style.setProperty(
1017 "border-bottom",
1018 "none",
1019 "important"
1020 );
1021
1022 el.style.setProperty(
1023 "box-shadow",
1024 "none",
1025 "important"
1026 );
1027 });
1028 }
1029
1030 /* =======================================================
1031 FULL-WIDTH THREE-LINE AREA LABELS
1032 ======================================================= */
1033
1034 function compactText(value){
1035 return String(value||"")
1036 .replace(/\s+/g," ")
1037 .trim();
1038 }
1039
1040 function makeThreeLineAreaLabels(){
1041 Array.from(
1042 root.querySelectorAll(
1043 ".arsn-area-label"
1044 )
1045 ).forEach(function(label){
1046 if(
1047 label.getAttribute(
1048 "data-sn-three-line"
1049 )==="1"
1050 ){
1051 return;
1052 }
1053
1054 var number=
1055 label.querySelector(
1056 ":scope > .arsn-area-number"
1057 );
1058
1059 var action=
1060 label.querySelector(
1061 ":scope > .arsn-area-action"
1062 );
1063
1064 if(
1065 !number||
1066 !action
1067 ){
1068 return;
1069 }
1070
1071 var clone=
1072 label.cloneNode(true);
1073
1074 var cloneNumber=
1075 clone.querySelector(
1076 ":scope > .arsn-area-number"
1077 );
1078
1079 var cloneAction=
1080 clone.querySelector(
1081 ":scope > .arsn-area-action"
1082 );
1083
1084 if(cloneNumber){
1085 cloneNumber.remove();
1086 }
1087
1088 if(cloneAction){
1089 cloneAction.remove();
1090 }
1091
1092 var titleText=
1093 compactText(
1094 clone.textContent
1095 );
1096
1097 if(!titleText){
1098 return;
1099 }
1100
1101 var numberNode=
1102 number.cloneNode(true);
1103
1104 var actionNode=
1105 action.cloneNode(true);
1106
1107 var titleNode=
1108 document.createElement(
1109 "span"
1110 );
1111
1112 titleNode.className=
1113 "sn-area-label-title";
1114
1115 titleNode.textContent=
1116 titleText;
1117
1118 while(label.firstChild){
1119 label.removeChild(
1120 label.firstChild
1121 );
1122 }
1123
1124 label.appendChild(
1125 numberNode
1126 );
1127
1128 label.appendChild(
1129 titleNode
1130 );
1131
1132 label.appendChild(
1133 actionNode
1134 );
1135
1136 label.setAttribute(
1137 "data-sn-three-line",
1138 "1"
1139 );
1140
1141 var head=
1142 label.closest(
1143 ".arsn-area-head"
1144 );
1145
1146 if(head){
1147 head.style.setProperty(
1148 "width",
1149 "100%",
1150 "important"
1151 );
1152
1153 head.style.setProperty(
1154 "max-width",
1155 "100%",
1156 "important"
1157 );
1158
1159 head.style.setProperty(
1160 "box-sizing",
1161 "border-box",
1162 "important"
1163 );
1164 }
1165 });
1166 }
1167
1168 /* =======================================================
Veronika Kocher 39.24 1169 PLACEHOLDER BADGE
1170 ======================================================= */
Veronika Kocher 39.23 1171
Veronika Kocher 39.24 1172 function applyPlaceholderBadge(){
1173 if(!PLACEHOLDER)return;
Veronika Kocher 39.23 1174
1175 if(
Veronika Kocher 39.24 1176 document.querySelector(
1177 ".sn-coming-soon-badge"
1178 )
Veronika Kocher 39.23 1179 ){
Veronika Kocher 39.24 1180 return;
Veronika Kocher 39.23 1181 }
1182
Veronika Kocher 39.24 1183 var title=
1184 document.querySelector(
1185 "#document-title"
1186 )||
1187 document.querySelector(
1188 "h1"
1189 );
Veronika Kocher 39.23 1190
Veronika Kocher 39.24 1191 if(!title)return;
Veronika Kocher 39.23 1192
Veronika Kocher 39.24 1193 var badge=
1194 document.createElement(
1195 "span"
1196 );
1197
1198 badge.className=
1199 "sn-coming-soon-badge";
1200
1201 badge.textContent=
1202 PLACEHOLDER_LABEL;
1203
1204 badge.setAttribute(
1205 "aria-label",
1206 PLACEHOLDER_LABEL
Veronika Kocher 39.23 1207 );
1208
Veronika Kocher 39.24 1209 title.appendChild(
1210 badge
1211 );
1212 }
Veronika Kocher 39.23 1213
Veronika Kocher 39.24 1214 /* =======================================================
1215 DETAIL PAGE OWN-ACCENT PROPAGATION
1216 ======================================================= */
Veronika Kocher 39.23 1217
Veronika Kocher 39.24 1218 function parseRGB(value){
1219 var match=String(value||"").match(
1220 /rgba?\(\s*([\d.]+)\s*,\s*([\d.]+)\s*,\s*([\d.]+)/i
Veronika Kocher 39.23 1221 );
Veronika Kocher 39.24 1222
1223 if(!match)return null;
1224
1225 return [
1226 Number(match[1]),
1227 Number(match[2]),
1228 Number(match[3])
1229 ];
Veronika Kocher 39.23 1230 }
1231
Veronika Kocher 39.24 1232 function distance(a,b){
1233 return Math.sqrt(
1234 Math.pow(a[0]-b[0],2)+
1235 Math.pow(a[1]-b[1],2)+
1236 Math.pow(a[2]-b[2],2)
1237 );
1238 }
Veronika Kocher 39.21 1239
Veronika Kocher 39.24 1240 function paletteMatch(cssColor){
1241 var rgb=parseRGB(cssColor);
Veronika Kocher 39.22 1242
Veronika Kocher 39.24 1243 if(!rgb)return null;
Veronika Kocher 39.22 1244
Veronika Kocher 39.24 1245 var palette=[
1246 {hex:"#21b6d7",rgb:[33,182,215]},
1247 {hex:"#e94b13",rgb:[233,75,19]},
1248 {hex:"#f0aa00",rgb:[240,170,0]},
1249 {hex:"#38b76a",rgb:[56,183,106]}
1250 ];
Veronika Kocher 39.21 1251
Veronika Kocher 39.22 1252 var best=null;
Veronika Kocher 39.24 1253 var bestDistance=Infinity;
Veronika Kocher 39.21 1254
Veronika Kocher 39.24 1255 palette.forEach(function(item){
1256 var d=distance(rgb,item.rgb);
Veronika Kocher 39.21 1257
Veronika Kocher 39.24 1258 if(d<bestDistance){
1259 best=item;
1260 bestDistance=d;
1261 }
1262 });
Veronika Kocher 39.22 1263
Veronika Kocher 39.24 1264 return bestDistance<=30
1265 ?best
1266 :null;
1267 }
Veronika Kocher 39.21 1268
Veronika Kocher 39.24 1269 function propagateDetailAccents(){
1270 if(PAGE_KIND!=="detail")return;
1271
1272 Array.from(
1273 root.querySelectorAll(
1274 ".arsn-call,.dmp-call,.ido-call,.pp-call,"+
1275 ".arsn-source,.dmp-source,.ido-source,.pp-source"
1276 )
1277 ).forEach(function(el){
1278 if(!visible(el))return;
1279
1280 var style=getComputedStyle(el);
1281
Veronika Kocher 39.22 1282 if(
Veronika Kocher 39.24 1283 num(style.borderTopWidth)>=2
Veronika Kocher 39.22 1284 ){
Veronika Kocher 39.24 1285 var match=
1286 paletteMatch(
1287 style.borderTopColor
Veronika Kocher 39.22 1288 );
1289
Veronika Kocher 39.24 1290 if(match){
1291 el.style.setProperty(
1292 "border-left",
1293 "4px solid "+match.hex,
1294 "important"
Veronika Kocher 39.22 1295 );
Veronika Kocher 39.21 1296 }
1297 }
Veronika Kocher 39.24 1298 });
Veronika Kocher 39.21 1299
Veronika Kocher 39.24 1300 // Warning families: explicit safety override.
1301 Array.from(
1302 root.querySelectorAll(
1303 ".arsn-warn,.dmp-warn,.ido-warn,.pp-warn,"+
1304 ".warn,.warning,.warningmessage,.errormessage"
1305 )
1306 ).forEach(function(el){
1307 if(!visible(el))return;
Veronika Kocher 39.21 1308
Veronika Kocher 39.24 1309 el.style.setProperty(
1310 "border-left",
1311 "4px solid #e94b13",
1312 "important"
1313 );
1314 });
Veronika Kocher 39.21 1315
Veronika Kocher 39.24 1316 // Info families: explicit orientation override.
1317 Array.from(
1318 root.querySelectorAll(
1319 ".arsn-info,.dmp-info,.ido-info,.pp-info,.infomessage"
1320 )
1321 ).forEach(function(el){
1322 if(!visible(el))return;
Veronika Kocher 39.22 1323
Veronika Kocher 39.24 1324 el.style.setProperty(
1325 "border-left",
1326 "4px solid #21b6d7",
1327 "important"
1328 );
1329 });
1330 }
Veronika Kocher 39.22 1331
Veronika Kocher 39.24 1332 /* =======================================================
1333 OVERVIEW SEMANTIC THEME PALETTE
1334 ======================================================= */
Veronika Kocher 39.22 1335
Veronika Kocher 39.24 1336 function smallestThemeHeaders(){
1337 return Array.from(
1338 root.querySelectorAll(
1339 "div,span,p,strong,h3,h4,h5,h6"
1340 )
1341 ).filter(function(el){
1342 if(!visible(el))return false;
1343 if(!themeFor(el.textContent))return false;
Veronika Kocher 39.22 1344
Veronika Kocher 39.24 1345 return !Array.from(
1346 el.children||[]
1347 ).some(function(child){
1348 return !!themeFor(
1349 child.textContent
1350 );
Veronika Kocher 39.22 1351 });
Veronika Kocher 39.24 1352 });
Veronika Kocher 39.21 1353 }
1354
Veronika Kocher 39.24 1355 function findOverviewCard(header){
1356 var node=header.parentElement;
1357 var candidates=[];
Veronika Kocher 39.22 1358
Veronika Kocher 39.24 1359 while(node&&node!==root){
1360 var rect=node.getBoundingClientRect();
1361 var style=getComputedStyle(node);
Veronika Kocher 39.22 1362
Veronika Kocher 39.24 1363 var border=
1364 num(style.borderTopWidth)+
1365 num(style.borderRightWidth)+
1366 num(style.borderBottomWidth)+
1367 num(style.borderLeftWidth);
Veronika Kocher 39.22 1368
Veronika Kocher 39.24 1369 if(
1370 rect.width>=220&&
1371 rect.width<=800&&
1372 rect.height>=120&&
1373 border>=1
1374 ){
1375 candidates.push(node);
1376 }
Veronika Kocher 39.22 1377
Veronika Kocher 39.24 1378 node=node.parentElement;
1379 }
Veronika Kocher 39.22 1380
Veronika Kocher 39.24 1381 if(!candidates.length)return null;
Veronika Kocher 39.22 1382
Veronika Kocher 39.24 1383 candidates.sort(function(a,b){
1384 return (
1385 b.getBoundingClientRect().height-
1386 a.getBoundingClientRect().height
Veronika Kocher 39.23 1387 );
Veronika Kocher 39.24 1388 });
Veronika Kocher 39.22 1389
Veronika Kocher 39.24 1390 return candidates[0];
Veronika Kocher 39.22 1391 }
1392
Veronika Kocher 39.24 1393 function rowCandidates(link,card){
1394 var result=[];
Veronika Kocher 39.23 1395 var cardRect=
1396 card.getBoundingClientRect();
Veronika Kocher 39.22 1397
Veronika Kocher 39.24 1398 var node=link;
Veronika Kocher 39.22 1399
Veronika Kocher 39.24 1400 while(node&&node!==card){
1401 if(visible(node)){
1402 var rect=
1403 node.getBoundingClientRect();
Veronika Kocher 39.22 1404
Veronika Kocher 39.24 1405 if(
1406 rect.height<=105&&
1407 rect.width>=
1408 cardRect.width*.50&&
1409 rect.width<=
1410 cardRect.width*1.03
1411 ){
1412 result.push(node);
1413 }
1414 }
Veronika Kocher 39.22 1415
Veronika Kocher 39.24 1416 node=node.parentElement;
1417 }
1418
1419 return result;
1420 }
1421
1422 function chooseOuterRow(
1423 candidates,
1424 link
1425 ){
1426 if(!candidates.length){
1427 return link;
1428 }
1429
1430 var bordered=
1431 candidates.filter(function(el){
Veronika Kocher 39.23 1432 return (
Veronika Kocher 39.24 1433 num(
1434 getComputedStyle(el)
1435 .borderLeftWidth
1436 )>=1
Veronika Kocher 39.23 1437 );
1438 });
Veronika Kocher 39.22 1439
Veronika Kocher 39.24 1440 var pool=
1441 bordered.length
1442 ?bordered
1443 :candidates;
Veronika Kocher 39.22 1444
Veronika Kocher 39.24 1445 pool.sort(function(a,b){
1446 var ar=
1447 a.getBoundingClientRect();
Veronika Kocher 39.22 1448
Veronika Kocher 39.24 1449 var br=
1450 b.getBoundingClientRect();
Veronika Kocher 39.22 1451
Veronika Kocher 39.24 1452 return (
1453 ar.left-br.left||
1454 br.width-ar.width
1455 );
1456 });
Veronika Kocher 39.22 1457
Veronika Kocher 39.24 1458 return pool[0]||link;
1459 }
Veronika Kocher 39.22 1460
Veronika Kocher 39.24 1461 function applyOverviewPalette(){
1462 if(PAGE_KIND!=="overview"){
1463 return [];
Veronika Kocher 39.23 1464 }
Veronika Kocher 39.22 1465
Veronika Kocher 39.24 1466 var headers=
1467 smallestThemeHeaders()
1468 .map(function(el){
1469 return {
1470 el:el,
1471 theme:
1472 themeFor(
1473 el.textContent
1474 ),
1475 card:
1476 findOverviewCard(
1477 el
1478 )
1479 };
Veronika Kocher 39.23 1480 })
Veronika Kocher 39.24 1481 .filter(function(row){
1482 return !!row.card;
1483 });
Veronika Kocher 39.22 1484
Veronika Kocher 39.24 1485 var unique=[];
1486 var seenHeaders=new Set();
Veronika Kocher 39.22 1487
Veronika Kocher 39.24 1488 headers.forEach(function(row){
1489 var key=
1490 row.theme.name+
1491 "|"+
1492 Math.round(
1493 row.card
1494 .getBoundingClientRect()
1495 .left
1496 )+
1497 "|"+
1498 Math.round(
1499 row.el
1500 .getBoundingClientRect()
1501 .top
1502 );
Veronika Kocher 39.22 1503
Veronika Kocher 39.24 1504 if(!seenHeaders.has(key)){
1505 seenHeaders.add(key);
1506 unique.push(row);
1507 }
1508 });
Veronika Kocher 39.22 1509
Veronika Kocher 39.24 1510 unique.forEach(function(row){
1511 var headerRect=
1512 row.el
1513 .getBoundingClientRect();
Veronika Kocher 39.22 1514
Veronika Kocher 39.24 1515 row.el.style.setProperty(
1516 "background",
1517 row.theme.bg,
1518 "important"
Veronika Kocher 39.23 1519 );
1520
Veronika Kocher 39.24 1521 row.el.style.setProperty(
1522 "color",
1523 row.theme.text,
1524 "important"
Veronika Kocher 39.23 1525 );
1526
Veronika Kocher 39.24 1527 row.el.style.setProperty(
1528 "text-align",
1529 "left",
1530 "important"
Veronika Kocher 39.23 1531 );
Veronika Kocher 39.22 1532
Veronika Kocher 39.24 1533 row.el.style.setProperty(
1534 "word-spacing",
1535 "normal",
1536 "important"
1537 );
Veronika Kocher 39.23 1538
Veronika Kocher 39.24 1539 var later=
1540 unique
1541 .filter(function(other){
1542 return (
1543 other.card===row.card&&
1544 other.el
1545 .getBoundingClientRect()
1546 .top>
1547 headerRect.top+2
1548 );
1549 })
1550 .sort(function(a,b){
1551 return (
1552 a.el
1553 .getBoundingClientRect()
1554 .top-
1555 b.el
1556 .getBoundingClientRect()
1557 .top
1558 );
1559 });
Veronika Kocher 39.23 1560
Veronika Kocher 39.24 1561 var stopTop=
1562 later.length
1563 ?later[0].el
1564 .getBoundingClientRect()
1565 .top
1566 :Infinity;
Veronika Kocher 39.23 1567
1568 Array.from(
Veronika Kocher 39.24 1569 row.card.querySelectorAll("a")
1570 ).forEach(function(link){
1571 if(!visible(link))return;
Veronika Kocher 39.23 1572
Veronika Kocher 39.24 1573 var rect=
1574 link.getBoundingClientRect();
Veronika Kocher 39.23 1575
Veronika Kocher 39.24 1576 if(
1577 rect.top<=
1578 headerRect.bottom-2||
1579 rect.top>=
1580 stopTop-2
1581 ){
1582 return;
1583 }
Veronika Kocher 39.23 1584
Veronika Kocher 39.24 1585 var candidates=
1586 rowCandidates(
1587 link,
1588 row.card
1589 );
1590
1591 var target=
1592 chooseOuterRow(
1593 candidates,
1594 link
1595 );
1596
1597 candidates.forEach(function(el){
1598 el.style.setProperty(
1599 "border-left",
1600 "0 solid transparent",
1601 "important"
1602 );
1603 });
1604
1605 target.style.setProperty(
1606 "border-left",
1607 "3px solid "+
1608 row.theme.accent,
1609 "important"
Veronika Kocher 39.23 1610 );
Veronika Kocher 39.24 1611
1612 target.style.setProperty(
1613 "box-sizing",
1614 "border-box",
1615 "important"
Veronika Kocher 39.23 1616 );
Veronika Kocher 39.22 1617 });
Veronika Kocher 39.24 1618 });
Veronika Kocher 39.22 1619
Veronika Kocher 39.24 1620 return unique;
Veronika Kocher 39.23 1621 }
Veronika Kocher 39.22 1622
Veronika Kocher 39.24 1623 /* =======================================================
1624 OVERVIEW CARD HEIGHT + FIRST THEMATIC ROW
1625 ======================================================= */
Veronika Kocher 39.23 1626
Veronika Kocher 39.24 1627 function alignOverviewCards(headers){
1628 if(
1629 PAGE_KIND!=="overview"||
1630 window.innerWidth<=MOBILE_MAX
1631 ){
1632 return;
1633 }
Veronika Kocher 39.23 1634
Veronika Kocher 39.24 1635 var cards=[];
1636 var seen=new Set();
Veronika Kocher 39.23 1637
Veronika Kocher 39.24 1638 headers.forEach(function(row){
1639 if(!seen.has(row.card)){
1640 seen.add(row.card);
1641 cards.push(row.card);
1642 }
1643 });
Veronika Kocher 39.23 1644
Veronika Kocher 39.24 1645 if(cards.length<2){
1646 return;
1647 }
Veronika Kocher 39.23 1648
Veronika Kocher 39.24 1649 // Group cards by actual top position.
1650 var groups=[];
Veronika Kocher 39.23 1651
Veronika Kocher 39.24 1652 cards.forEach(function(card){
1653 var top=
1654 card.getBoundingClientRect().top;
Veronika Kocher 39.23 1655
Veronika Kocher 39.24 1656 var group=null;
Veronika Kocher 39.23 1657
Veronika Kocher 39.24 1658 for(var i=0;i<groups.length;i++){
Veronika Kocher 39.23 1659 if(
Veronika Kocher 39.24 1660 Math.abs(
1661 groups[i].top-top
1662 )<=ROW_TOLERANCE
Veronika Kocher 39.23 1663 ){
Veronika Kocher 39.24 1664 group=groups[i];
1665 break;
Veronika Kocher 39.23 1666 }
Veronika Kocher 39.24 1667 }
Veronika Kocher 39.23 1668
Veronika Kocher 39.24 1669 if(!group){
1670 group={
1671 top:top,
1672 cards:[]
1673 };
1674 groups.push(group);
1675 }
Veronika Kocher 39.23 1676
Veronika Kocher 39.24 1677 group.cards.push(card);
1678 });
Veronika Kocher 39.23 1679
Veronika Kocher 39.24 1680 groups.forEach(function(group){
1681 if(group.cards.length<2){
1682 return;
1683 }
Veronika Kocher 39.23 1684
Veronika Kocher 39.24 1685 var firstHeaders=
1686 group.cards.map(function(card){
1687 var candidates=
1688 headers
1689 .filter(function(row){
1690 return row.card===card;
1691 })
1692 .sort(function(a,b){
1693 return (
1694 a.el
1695 .getBoundingClientRect()
1696 .top-
1697 b.el
1698 .getBoundingClientRect()
1699 .top
1700 );
1701 });
Veronika Kocher 39.23 1702
Veronika Kocher 39.24 1703 return candidates.length
1704 ?candidates[0]
1705 :null;
1706 });
Veronika Kocher 39.23 1707
Veronika Kocher 39.24 1708 if(
1709 !firstHeaders.some(function(row){
1710 return !row;
1711 })
1712 ){
1713 var targetTop=
1714 Math.max.apply(
1715 Math,
1716 firstHeaders.map(function(row){
1717 return (
1718 row.el
1719 .getBoundingClientRect()
1720 .top-
1721 row.card
1722 .getBoundingClientRect()
1723 .top
1724 );
1725 })
1726 );
Veronika Kocher 39.21 1727
Veronika Kocher 39.24 1728 firstHeaders.forEach(function(row){
1729 var relativeTop=
1730 row.el
1731 .getBoundingClientRect()
1732 .top-
1733 row.card
1734 .getBoundingClientRect()
1735 .top;
Veronika Kocher 39.22 1736
Veronika Kocher 39.24 1737 var delta=
1738 targetTop-relativeTop;
Veronika Kocher 39.22 1739
Veronika Kocher 39.24 1740 if(delta>1){
1741 saveStyle(
1742 row.el,
1743 originalMargin,
1744 "margin-top"
1745 );
Veronika Kocher 39.23 1746
Veronika Kocher 39.24 1747 var current=
1748 num(
1749 getComputedStyle(
1750 row.el
1751 ).marginTop
1752 );
Veronika Kocher 39.22 1753
Veronika Kocher 39.24 1754 row.el.style.setProperty(
1755 "margin-top",
1756 (
1757 current+delta
1758 )+"px"
1759 );
Veronika Kocher 39.22 1760
Veronika Kocher 39.24 1761 row.el.setAttribute(
1762 "data-sn-master-first-row",
1763 "1"
1764 );
Veronika Kocher 39.22 1765
Veronika Kocher 39.24 1766 managedMargin.add(
1767 row.el
1768 );
1769 }
1770 });
1771 }
Veronika Kocher 39.22 1772
Veronika Kocher 39.24 1773 var maxHeight=0;
Veronika Kocher 39.22 1774
Veronika Kocher 39.24 1775 group.cards.forEach(function(card){
1776 maxHeight=
1777 Math.max(
1778 maxHeight,
1779 card
1780 .getBoundingClientRect()
1781 .height
1782 );
1783 });
Veronika Kocher 39.22 1784
Veronika Kocher 39.24 1785 maxHeight=
1786 Math.ceil(maxHeight);
Veronika Kocher 39.22 1787
Veronika Kocher 39.24 1788 group.cards.forEach(function(card){
1789 saveStyle(
1790 card,
1791 originalHeight,
1792 "min-height"
1793 );
Veronika Kocher 39.22 1794
Veronika Kocher 39.24 1795 card.style.setProperty(
1796 "min-height",
1797 maxHeight+"px"
Veronika Kocher 39.22 1798 );
1799
Veronika Kocher 39.24 1800 card.setAttribute(
1801 "data-sn-master-equal-height",
1802 "1"
1803 );
Veronika Kocher 39.22 1804
Veronika Kocher 39.24 1805 managedHeight.add(
1806 card
1807 );
1808 });
Veronika Kocher 39.22 1809 });
1810 }
1811
Veronika Kocher 39.24 1812 /* =======================================================
1813 DETAIL GRID EQUAL HEIGHT, DESKTOP ONLY
1814 ======================================================= */
Veronika Kocher 39.22 1815
Veronika Kocher 39.24 1816 function equaliseDetailGrids(){
Veronika Kocher 39.23 1817 if(
Veronika Kocher 39.24 1818 PAGE_KIND!=="detail"||
1819 window.innerWidth<=MOBILE_MAX
Veronika Kocher 39.23 1820 ){
Veronika Kocher 39.24 1821 return;
Veronika Kocher 39.23 1822 }
Veronika Kocher 39.22 1823
Veronika Kocher 39.24 1824 var selectors=[
1825 ".arsn-grid",
1826 ".arsn-grid-2",
1827 ".arsn-grid-3",
1828 ".dmp-grid",
1829 ".ido-grid",
1830 ".pp-grid"
1831 ];
Veronika Kocher 39.22 1832
Veronika Kocher 39.24 1833 selectors.forEach(function(selector){
1834 Array.from(
1835 root.querySelectorAll(selector)
1836 ).forEach(function(grid){
1837 var children=
1838 Array.from(
1839 grid.children||[]
1840 ).filter(visible);
Veronika Kocher 39.22 1841
Veronika Kocher 39.24 1842 if(children.length<2){
1843 return;
1844 }
Veronika Kocher 39.22 1845
Veronika Kocher 39.24 1846 var groups=[];
Veronika Kocher 39.22 1847
Veronika Kocher 39.24 1848 children.forEach(function(child){
1849 var top=
1850 child
1851 .getBoundingClientRect()
1852 .top;
Veronika Kocher 39.22 1853
Veronika Kocher 39.24 1854 var group=null;
Veronika Kocher 39.22 1855
Veronika Kocher 39.24 1856 for(var i=0;i<groups.length;i++){
1857 if(
1858 Math.abs(
1859 groups[i].top-top
1860 )<=ROW_TOLERANCE
1861 ){
1862 group=groups[i];
1863 break;
1864 }
1865 }
Veronika Kocher 39.22 1866
Veronika Kocher 39.24 1867 if(!group){
1868 group={
1869 top:top,
1870 items:[]
1871 };
1872 groups.push(group);
1873 }
Veronika Kocher 39.22 1874
Veronika Kocher 39.24 1875 group.items.push(child);
1876 });
Veronika Kocher 39.22 1877
Veronika Kocher 39.24 1878 groups.forEach(function(group){
1879 if(group.items.length<2){
1880 return;
1881 }
Veronika Kocher 39.21 1882
Veronika Kocher 39.24 1883 var maxHeight=0;
Veronika Kocher 39.23 1884
Veronika Kocher 39.24 1885 group.items.forEach(function(item){
1886 maxHeight=
1887 Math.max(
1888 maxHeight,
1889 item
1890 .getBoundingClientRect()
1891 .height
1892 );
1893 });
Veronika Kocher 39.23 1894
Veronika Kocher 39.24 1895 maxHeight=
1896 Math.ceil(maxHeight);
Veronika Kocher 39.21 1897
Veronika Kocher 39.24 1898 group.items.forEach(function(item){
1899 saveStyle(
1900 item,
1901 originalHeight,
1902 "min-height"
1903 );
Veronika Kocher 39.21 1904
Veronika Kocher 39.24 1905 item.style.setProperty(
1906 "min-height",
1907 maxHeight+"px"
1908 );
Veronika Kocher 39.22 1909
Veronika Kocher 39.24 1910 item.setAttribute(
1911 "data-sn-master-equal-height",
1912 "1"
1913 );
Veronika Kocher 39.21 1914
Veronika Kocher 39.24 1915 managedHeight.add(item);
1916 });
Veronika Kocher 39.21 1917 });
Veronika Kocher 39.24 1918 });
1919 });
1920 }
Veronika Kocher 39.21 1921
Veronika Kocher 39.24 1922 /* =======================================================
1923 RUN / RESPONSIVE SCHEDULING
1924 ======================================================= */
Veronika Kocher 39.21 1925
Veronika Kocher 39.24 1926 function run(){
1927 if(running)return;
Veronika Kocher 39.21 1928
Veronika Kocher 39.24 1929 running=true;
Veronika Kocher 39.23 1930
Veronika Kocher 39.24 1931 try{
1932 resetRuntime();
1933 applyPlaceholderBadge();
1934 propagateDetailAccents();
Veronika Kocher 39.23 1935
Veronika Kocher 39.24 1936 var headers=
1937 applyOverviewPalette();
Veronika Kocher 39.23 1938
Veronika Kocher 39.25 1939 makeThreeLineAreaLabels();
1940 makeFilledRedOrangeCTAsBorderless();
1941
Veronika Kocher 39.24 1942 if(
1943 window.innerWidth>
1944 MOBILE_MAX
1945 ){
1946 alignOverviewCards(
1947 headers
1948 );
Veronika Kocher 39.21 1949
Veronika Kocher 39.24 1950 equaliseDetailGrids();
1951 }
Veronika Kocher 39.23 1952 }finally{
Veronika Kocher 39.24 1953 running=false;
Veronika Kocher 39.23 1954 }
Veronika Kocher 39.21 1955 }
1956
Veronika Kocher 39.24 1957 function onResize(){
Veronika Kocher 39.23 1958 if(resizeTimer){
1959 clearTimeout(
1960 resizeTimer
1961 );
1962 }
Veronika Kocher 39.22 1963
Veronika Kocher 39.23 1964 resizeTimer=
1965 setTimeout(
1966 function(){
1967 resizeTimer=0;
Veronika Kocher 39.24 1968 run();
Veronika Kocher 39.23 1969 },
1970 RESIZE_DEBOUNCE
1971 );
Veronika Kocher 39.21 1972 }
1973
Veronika Kocher 39.24 1974 async function waitForReady(){
1975 if(
1976 document.readyState!=="complete"
1977 ){
1978 await new Promise(function(resolve){
1979 window.addEventListener(
1980 "load",
1981 resolve,
1982 {once:true}
1983 );
1984 });
1985 }
1986
1987 if(
1988 document.fonts&&
1989 document.fonts.ready
1990 ){
1991 try{
1992 await document.fonts.ready;
1993 }catch(error){}
1994 }
1995
Veronika Kocher 39.23 1996 var images=
1997 Array.from(
1998 root.querySelectorAll("img")
1999 );
Veronika Kocher 39.21 2000
Veronika Kocher 39.24 2001 await Promise.all(
Veronika Kocher 39.23 2002 images.map(function(img){
2003 if(img.complete){
2004 return Promise.resolve();
2005 }
Veronika Kocher 39.21 2006
Veronika Kocher 39.23 2007 return new Promise(function(resolve){
2008 var done=function(){
2009 resolve();
2010 };
2011
2012 img.addEventListener(
2013 "load",
2014 done,
2015 {once:true}
2016 );
2017
2018 img.addEventListener(
2019 "error",
2020 done,
2021 {once:true}
2022 );
2023 });
2024 })
2025 );
2026
Veronika Kocher 39.24 2027 run();
Veronika Kocher 39.21 2028 }
2029
Veronika Kocher 39.24 2030 window.addEventListener(
Veronika Kocher 39.23 2031 "resize",
Veronika Kocher 39.24 2032 onResize,
Veronika Kocher 39.23 2033 {passive:true}
2034 );
2035
Veronika Kocher 39.24 2036 waitForReady();
Veronika Kocher 39.21 2037 })();
2038 </script>
Veronika Kocher 39.23 2039
Veronika Kocher 39.24 2040 <!-- SN_SERVICE_NAVIGATOR_MASTER_STYLE_END -->
2041 {{/html}}
2042