1/* --- Parameters --- */ 2var consent_manager_parameters = {"initially_hidden":true,"domain":"www.neuetaverne.ch","consentid":"6ac25358e63404.88368824","cachelogid":"19","version":"5.7.0","fe_controller":"/","forcereload":0,"hidebodyscrollbar":false,"cspNonce":"efb393ea036432192c393c65e9157954","cookieSameSite":"Lax","cookieSecure":false,"cookieName":"consent"}; 3 4/* --- Consent-Manager Box Template lang=2 --- */ 5var consent_manager_box_template = " \u003Cdiv tabindex=\u0022-1\u0022 class=\u0022consent_manager-background consent_manager-hidden \u0022 id=\u0022consent_manager-background\u0022 data-domain-name=\u0022www.neuetaverne.ch\u0022 data-version=\u00225.7.0\u0022 data-consentid=\u00226ac25358e62111.34449134\u0022 data-cachelogid=\u002219\u0022 data-nosnippet aria-hidden=\u0022true\u0022\u003E \u003Cstyle nonce=\u0022efb393ea036432192c393c65e9157954\u0022\u003E #consent_manager-background { } #consent_manager-wrapper { max-height: 90vh !important; overflow-y: auto !important; border-radius: 0 !important; } .consent_manager-header { padding: 0 0 1em 0; background: transparent; position: static; z-index: 10; display: flex; justify-content: space-between; align-items: center; color: inherit; width: 100%; box-sizing: border-box; padding-right: 2.5rem; } .consent_manager-wrapper-inner { position: relative; } .consent_manager-header .consent_manager-close { cursor: pointer; background: transparent; border: none; font-size: 24px; line-height: 1; padding: 5px; color: inherit; opacity: 0.7; position: absolute; top: 0.35rem; right: 0.35rem; margin-left: 0; } .consent_manager-header .consent_manager-close:hover { opacity: 1; } \u003C/style\u003E \u003Cdiv class=\u0022consent_manager-wrapper\u0022 id=\u0022consent_manager-wrapper\u0022 tabindex=\u0022-1\u0022 role=\u0022dialog\u0022 aria-modal=\u0022true\u0022 aria-labelledby=\u0022consent_manager-headline\u0022\u003E \u003Cdiv class=\u0022consent_manager-wrapper-inner\u0022\u003E \u003Cdiv class=\u0022consent_manager-header\u0022\u003E \u003Cp class=\u0022consent_manager-headline\u0022 id=\u0022consent_manager-headline\u0022 style=\u0022margin:0; font-weight:bold; color: inherit;\u0022\u003EPrivacy settings\u003C/p\u003E \u003Cbutton class=\u0022consent_manager-close\u0022 aria-label=\u0022Close\u0022 type=\u0022button\u0022\u003E\u00d7\u003C/button\u003E \u003C/div\u003E \u003Cdiv class=\u0022consent_manager-summary\u0022 id=\u0022consent_manager-summary\u0022\u003E \u003Cp class=\u0022consent_manager-text\u0022\u003EThis website uses cookies and similar technologies to provide you with the best possible user experience. This also includes external services listed in the overview below. For further information, please see our privacy policy.\u003C/p\u003E \u003Cdiv class=\u0022consent_manager-cookiegroups\u0022\u003E \u003Cdiv class=\u0022consent_manager-cookiegroup-checkbox\u0022\u003E\u003Clabel for=\u0022required\u0022\u003E\u003Cinput type=\u0022checkbox\u0022 disabled=\u0022disabled\u0022 data-action=\u0022toggle-cookie\u0022 id=\u0022required\u0022 data-uid=\u0022required\u0022 data-cookie-uids=\u0027[\u0022consentmanager\u0022]\u0027 checked\u003E\u003Cspan\u003ERequired\u003C/span\u003E\u003C/label\u003E\u003C/div\u003E \u003Cdiv class=\u0022consent_manager-cookiegroup-checkbox\u0022\u003E\u003Clabel for=\u0022statistics\u0022\u003E\u003Cinput tabindex=\u00220\u0022 type=\u0022checkbox\u0022 id=\u0022statistics\u0022 data-uid=\u0022statistics\u0022 data-cookie-uids=\u0027[\u0022google-analytics-4\u0022]\u0027\u003E\u003Cspan\u003EStatistics\u003C/span\u003E\u003C/label\u003E\u003C/div\u003E \u003C/div\u003E \u003Cdiv class=\u0022consent_manager-show-detail
5s\u0022\u003E \u003Cbutton id=\u0022consent_manager-toggle-details\u0022 class=\u0022icon-info-circled\u0022 aria-controls=\u0022consent_manager-detail\u0022 aria-expanded=\u0022false\u0022\u003EDetails\u003C/button\u003E \u003C/div\u003E \u003C/div\u003E \u003Cdiv class=\u0022consent_manager-detail consent_manager-hidden\u0022 id=\u0022consent_manager-detail\u0022 aria-labelledby=\u0022consent_manager-toggle-details\u0022 role=\u0022region\u0022\u003E \t\u003Cdiv class=\u0022consent_manager-cookiegroup-title consent_manager-headline\u0022\u003ERequired \u003Cspan class=\u0022consent_manager-cookiegroup-number\u0022\u003E(1)\u003C/span\u003E\u003C/div\u003E\u003Cdiv class=\u0022consent_manager-cookiegroup-description\u0022\u003ENecessary cookies enable basic functions and are required for the website to function properly.\u003C/div\u003E\u003Cdiv class=\u0022consent_manager-cookiegroup\u0022\u003E\u003Cdiv class=\u0022consent_manager-cookie\u0022\u003E\u003Cspan class=\u0022consent_manager-cookie-name\u0022\u003E\u003Cstrong\u003Econsent\u003C/strong\u003E (Datenschutz Cookie)\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-description\u0022\u003ESaves your cookie preferences.\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-description\u0022\u003EDuration: 14 days / 1 year\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-provider\u0022\u003EProvider: This website\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-link-privacy-policy\u0022\u003E \t\u003Ca href=\u0022/en/faq/\u0022 \u003EPrivacy policy\u003C/a\u003E \u003C/span\u003E \u003C/div\u003E \u003C/div\u003E\u003Cdiv class=\u0022consent_manager-cookiegroup-title consent_manager-headline\u0022\u003EStatistics \u003Cspan class=\u0022consent_manager-cookiegroup-number\u0022\u003E(2)\u003C/span\u003E\u003C/div\u003E\u003Cdiv class=\u0022consent_manager-cookiegroup-description\u0022\u003EStatistical cookies collect information anonymously. This information helps us understand how our visitors use our website.\u003C/div\u003E\u003Cdiv class=\u0022consent_manager-cookiegroup\u0022\u003E\u003Cdiv class=\u0022consent_manager-cookie\u0022\u003E\u003Cspan class=\u0022consent_manager-cookie-name\u0022\u003E\u003Cstrong\u003E_ga\u003C/strong\u003E (Google Analytics 4)\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-description\u0022\u003EUsed to distinguish between users.\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-description\u0022\u003EDuration: 2 years\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-provider\u0022\u003EProvider: Google LLC\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-link-privacy-policy\u0022\u003E \t\u003Ca href=\u0022https://policies.google.com/privacy\u0022 target=\u0022_blank\u0022 rel=\u0022noopener noreferrer nofollow\u0022\u003EPrivacy policy\u003C/a\u003E \u003C/span\u003E \u003C/div\u003E \u003Cdiv class=\u0022consent_manager-cookie\u0022\u003E\u003Cspan class=\u0022consent_manager-cookie-name\u0022\u003E\u003Cstrong\u003E_ga_\u0026lt;container-id\u0026gt;\u003C/strong\u003E (Google Analytics 4)\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-description\u0022\u003EUsed to obtain the session status.\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-description\u0022\u003EDuration: 2 years\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-provider\u0022\u003EProvider: Google LLC\u003C/span\u003E\u003Cspan class=\u0022consent_manager-cookie-link-privacy-policy\u0022\u003E \t\u003Ca href=\u0022https://policies.google.com/privacy\u0022 target=\u0022_blank\u0022 rel=\u0022noopener noreferrer nofollow\u0022\u003EPrivacy policy\u003C/a\u003E \u003C/span\u003E \u003C/div\u003E \u003C/div\u003E \u003C/div\u003E \u003Cdiv class=\u0022consent_manager-buttons-sitelinks\u0022\u003E \u003Cdiv class=\u0022consent_manager-buttons\u0022\u003E \u003Cbutton tabindex=\u00220\u0022 id=\u0022consent_manager-accept-none\u0022 class=\u0022consent_manager-accept-none consent_manager-close\u0022\u003EOnl
5y required\u003C/button\u003E \u003Cbutton tabindex=\u00220\u0022 id=\u0022consent_manager-save-selection\u0022 class=\u0022consent_manager-save-selection consent_manager-close\u0022\u003EAccept selection\u003C/button\u003E \u003Cbutton tabindex=\u00220\u0022 id=\u0022consent_manager-accept-all\u0022 class=\u0022consent_manager-accept-all consent_manager-close\u0022\u003ESelect all\u003C/button\u003E \u003C/div\u003E \u003Cdiv class=\u0022consent_manager-sitelinks\u0022\u003E \u003Ca tabindex=\u00220\u0022 href=\u0022/en/faq/\u0022\u003EFAQ\u003C/a\u003E\u003Ca tabindex=\u00220\u0022 href=\u0022/en/faq/\u0022\u003EFAQ\u003C/a\u003E \u003C/div\u003E \u003C/div\u003E \u003C/div\u003E \u003C/div\u003E \u003Cdiv class=\u0022consent_manager-script\u0022 data-uid=\u0022script-google-analytics-4\u0022 data-script=\u0022PCEtLSBHb29nbGUgQW5hbHl0aWNzIDQgLS0+DQo8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly93d3cuZ29vZ2xldGFnbWFuYWdlci5jb20vZ3RhZy9qcz9pZD1HLUNXODNFSzNHOVgiPjwvc2NyaXB0Pg0KPHNjcmlwdD4NCndpbmRvdy5kYXRhTGF5ZXIgPSB3aW5kb3cuZGF0YUxheWVyIHx8IFtdOw0KZnVuY3Rpb24gZ3RhZygpe2RhdGFMYXllci5wdXNoKGFyZ3VtZW50cyk7fQ0KZ3RhZygnanMnLCBuZXcgRGF0ZSgpKTsNCmd0YWcoJ2NvbmZpZycsICdHLUNXODNFSzNHOVgnLCB7DQogICdhbm9ueW1pemVfaXAnOiB0cnVlDQp9KTsNCjwvc2NyaXB0Pg==\u0022\u003E\u003C/div\u003E \u003C/div\u003E "; 6 7var cmCookieExpires = 365; 8 9/* --- /assets/addons/consent_manager/js.cookie.min.js --- */ 10/*! js-cookie v3.0.5 | MIT */ 11!function (t, n) { "object" == typeof exports && "undefined" != typeof module ? module.exports = n() : "function" == typeof define && define.amd ? define(n) : (t = "undefined" != typeof globalThis ? globalThis : t || self, function () { var e = t.Cookies, exports = t.Cookies = n(); exports.noConflict = function () { t.Cookies = e; return exports } }()) }(this, function () { "use strict"; function c(e) { for (var t = 1; t < arguments.length; t++) { var n, o = arguments[t]; for (n in o) e[n] = o[n] } return e } return function t(u, i) { function n(e, t, n) { if ("undefined" != typeof document) { "number" == typeof (n = c({}, i, n)).expires && (n.expires = new Date(Date.now() + 864e5 * n.expires)); n.expires && (n.expires = n.expires.toUTCString()); e = encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent).replace(/[()]/g, escape); var o, r = ""; for (o in n) if (n[o]) { r += "; " + o; !0 !== n[o] && (r += "=" + n[o].split(";")[0]) } return document.cookie = e + "=" + u.write(t, e) + r } } return Object.create({ set: n, get: function (e) { if ("undefined" != typeof document && (!arguments.length || e)) { for (var t = document.cookie ? document.cookie.split("; ") : [], n = {}, o = 0; o < t.length; o++) { var r = t[o].split("="), i = r.slice(1).join("="); try { var c = decodeURIComponent(r[0]); n[c] = u.read(i, c); if (e === c) break } catch (e) { } } return e ? n[e] : n } }, remove: function (e, t) { n(e, "", c({}, t, { expires: -1 })) }, withAttributes: function (e) { return t(this.converter, c({}, this.attributes, e)) }, withConverter: function (e) { return t(c({}, this.converter, e), this.attributes) } }, { attributes: { value: Object.freeze(i) }, converter: { value: Object.freeze(u) } }) }({ read: function (e) { return (e = '"' === e[0] ? e.slice(1, -1) : e).replace(/(%[\dA-F]{2})+/gi, decodeURIComponent) }, write: function (e) { return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g, decodeURIComponent) } }, { path: "/" }) }); 12 13/* --- /assets/addons/consent_manager/consent_manager_polyfills.js --- */ 14// get IE version https://stackoverflow.com/a/19999868 15function consent_managerIEVersion(){var n=window.navigator.userAgent,i=n.indexOf("MSIE ");return i>0?parseInt(n.substring(i+5,n.indexOf(".",i))):-1} 16// element.classList polyfill http://purl.eligrey.com/github/classList.js/blob/master/classList.js 17"document"in self&&("classList"in document.createElement("_")&&(!document.createElementNS||"classList"in document.createElementNS("http://www.w3.org/2000/svg","g"))||!function(t){"use strict";if("Element"in t){var e="classList",n="prototype",i=t.Element[n],s=Object,r=String[n].trim||function(){return this.replace(/^\s+|\s+$/g,"")},o=Array[n].indexOf||function(t){for(var e=0,n=this.length;n>e;e++)if(e in this&&this[e]===t)return e;return-1}
17,c=function(t,e){this.name=t,this.code=DOMException[t],this.message=e},a=function(t,e){if(""===e)throw new c("SYNTAX_ERR","The token must not be empty.");if(/\s/.test(e))throw new c("INVALID_CHARACTER_ERR","The token must not contain space characters.");return o.call(t,e)},l=function(t){for(var e=r.call(t.getAttribute("class")||""),n=e?e.split(/\s+/):[],i=0,s=n.length;s>i;i++)this.push(n[i]);this._updateClassName=function(){t.setAttribute("class",this.toString())}},u=l[n]=[],h=function(){return new l(this)};if(c[n]=Error[n],u.item=function(t){return this[t]||null},u.contains=function(t){return~a(this,t+"")},u.add=function(){var t,e=arguments,n=0,i=e.length,s=!1;do t=e[n]+"",~a(this,t)||(this.push(t),s=!0);while(++n<i);s&&this._updateClassName()},u.remove=function(){var t,e,n=arguments,i=0,s=n.length,r=!1;do for(t=n[i]+"",e=a(this,t);~e;)this.splice(e,1),r=!0,e=a(this,t);while(++i<s);r&&this._updateClassName()},u.toggle=function(t,e){var n=this.contains(t),i=n?e!==!0&&"remove":e!==!1&&"add";return i&&this[i](t),e===!0||e===!1?e:!n},u.replace=function(t,e){var n=a(t+"");~n&&(this.splice(n,1,e),this._updateClassName())},u.toString=function(){return this.join(" ")},s.defineProperty){var f={get:h,enumerable:!0,configurable:!0};try{s.defineProperty(i,e,f)}catch(p){void 0!==p.number&&-2146823252!==p.number||(f.enumerable=!1,s.defineProperty(i,e,f))}}else s[n].__defineGetter__&&i.__defineGetter__(e,h)}}(self),function(){"use strict";var t=document.createElement("_");if(t.classList.add("c1","c2"),!t.classList.contains("c2")){var e=function(t){var e=DOMTokenList.prototype[t];DOMTokenList.prototype[t]=function(t){var n,i=arguments.length;for(n=0;i>n;n++)t=arguments[n],e.call(this,t)}};e("add"),e("remove")}if(t.classList.toggle("c3",!1),t.classList.contains("c3")){var n=DOMTokenList.prototype.toggle;DOMTokenList.prototype.toggle=function(t,e){return 1 in arguments&&!this.contains(t)==!e?e:n.call(this,t)}}"replace"in document.createElement("_").classList||(DOMTokenList.prototype.replace=function(t,e){var n=this.toString().split(" "),i=n.indexOf(t+"");~i&&(n=n.slice(i),this.remove.apply(this,n),this.add(e),this.add.apply(this,n.slice(1)))}),t=null}()); 18// DOMParser polyfill https://gist.github.com/1129031 19!function(t){"use strict";var e=t.prototype,r=e.parseFromString;try{if((new t).parseFromString("","text/html"))return}catch(t){}e.parseFromString=function(t,e){if(/^\s*text\/html\s*(?:;|$)/i.test(e)){var n=document.implementation.createHTMLDocument("");return t.toLowerCase().indexOf("<!doctype")>-1?n.documentElement.innerHTML=t:n.body.innerHTML=t,n}return r.apply(this,arguments)}}(DOMParser); 20// nodelist.forEach polyfill https://developer.mozilla.org/en-US/docs/Web/API/NodeList/forEach 21if (window.NodeList && !NodeList.prototype.forEach){NodeList.prototype.forEach = Array.prototype.forEach;} 22// node.remove polyfill https://github.com/jserz/js_piece/blob/master/DOM/ChildNode/remove()/remove().md 23[Element.prototype,CharacterData.prototype,DocumentType.prototype].forEach(function(e){e.hasOwnProperty("remove")||Object.defineProperty(e,"remove",{configurable:!0,enumerable:!0,writable:!0,value:function(){null!==this.parentNode&&this.parentNode.removeChild(this)}})}); 24// custom event polyfill https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent/CustomEvent#Polyfill 25!function(){if("function"==typeof window.CustomEvent)return!1;window.CustomEvent=function(n,t){t=t||{bubbles:!1,cancelable:!1,detail:null};var e=document.createEvent("CustomEvent");return e.initCustomEvent(n,t.bubbles,t.cancelable,t.detail),e}}(); 26 27/* --- /assets/addons/consent_manager/consent_manager_frontend.min.js --- */ 28var cmCookieSameSite = consent_manager_parameters.cookieSameSite || 'Lax';var cmCookieSecure = consent_manager_parameters.cookieSecure || false;var cmCookieName = consent_manager_parameters.cookieName || 'consentmanager';var cmCookieAPI = Cookies.withAttributes({expires: cmCookieExpires,path: '/',sameSite: cmCookieSameSite,secure: cmCookieSecure});if(window.consentManagerDebugConfig && window.consentManagerDebugConfig.debug_enabled){console.log('Consent Manager: Script loaded');}function debugLog(message,data){if(window.consentManagerDebugConfig && window.consentManagerDebugConfig.debug_enabled){if(data !== undefined){console.log('Consent Manager: ' + message,data);}else{console.log('Consent Manager: ' + message);}}}function safeJSONParse(input,fallback){try{if(typeof input === 'string')return JSON.parse(input);if(typeof input === 'object' && input !== null)return input;}catch(e){console.warn('consent_manager: safeJSONParse failed for input',input,e);}return fallback;}(function(){'use strict';var show = 0,cookieData ={},consents = [],addonVersion = -1,cachelogid = -1,cookieVersion = -1,cookieCachelogid = -1,consent_managerBox;consent_manager_parameters.no_cookie_set = false;var autoInjectOptions = window.consentManagerOptions ||{};var reloadOnConsent = autoInjectOptions.reloadOnConsent || false;var showDelay = parseInt(autoInjectOptions.showDelay,10)|| 0;var autoFocus = autoInjectOptions.autoFocus !== false;function emitReady(initialized,reason){document.dispatchEvent(new CustomEvent('consent_manager-ready',{detail:{initialized: initialized,reason: reason || null,noCookieSet: !!consent_manager_parameters.no_cookie_set,domain: consent_manager_parameters.domain || '',hasConsentApi: typeof consent_manager_hasconsent === 'function',hasShowBoxApi: typeof consent_manager_showBox === 'function'}}));}if(typeof cmCookieAPI.get(cmCookieName)=== 'undefined'){cmCookieAPI.set(cmCookieName + '_test','test');if(typeof cmCookieAPI.get(cmCookieName + '_test')=== 'undefined'){show = 0;consent_manager_parameters.no_cookie_set = true;console.warn('Addon consent_manager: Es konnte kein Cookie für die Domain ' + consent_manager_parameters.domain + ' gesetzt werden!');}else{cmCookieAPI.remove(cmCookieName + '_test');show = 1;}}else{cookieData = safeJSONParse(cmCookieAPI.get(cmCookieName),{});if(cookieData.hasOwnProperty('version')){consents = cookieData.consents;cookieVersion = parseInt(cookieData.version);cookieCachelogid = parseInt(cookieData.cachelogid);}}if(consent_manager_box_template === ''){console.warn('Addon consent_manager: Keine Cookie-Gruppen / Cookies ausgewählt bzw. keine Domain zugewiesen!(' + location.hostname + ')');emitReady(false,'missing_template');return;}consent_managerBox = new DOMParser().parseFromString(consent_manager_box_template,'text/html');consent_managerBox = consent_managerBox.getElementById('consent_manager-background');document.querySelectorAll('body')[0].appendChild(consent_managerBox);addonVersion = parseInt(consent_manager_parameters.version);cachelogid = parseInt(consent_manager_parameters.cachelogid);if(isNaN(cookieVersion)|| cookieVersion !== addonVersion || cachelogid !== cookieCachelogid){show = 1;consents = [];deleteCookies();}debugLog('Startup: Triggering scripts for enabled consents',consents);
28consents.forEach(function(uid){debugLog('Startup: Processing consent UID',uid);var scriptElement = consent_managerBox.querySelector('[data-uid="script-' + uid + '"]');var unselectElement = consent_managerBox.querySelector('[data-uid="script-unselect-' + uid + '"]');debugLog('Startup: Elements found',{scriptElement: !!scriptElement,unselectElement: !!unselectElement});addScript(scriptElement);removeScript(unselectElement);});if(consents.length > 0 && typeof window.GoogleConsentModeV2 !== 'undefined' && typeof window.GoogleConsentModeV2.setConsent === 'function'){var googleConsentFlags = mapConsentsToGoogleFlags(consents);debugLog('Auto-mapping Google Consent Mode flags',consents,googleConsentFlags);window.GoogleConsentModeV2.setConsent(googleConsentFlags);}else{debugLog('Auto-mapping skipped',{consents: consents,hasGCM: typeof window.GoogleConsentModeV2 !== 'undefined',hasSetConsent: typeof window.GoogleConsentModeV2?.setConsent === 'function'});}consent_managerBox.querySelectorAll('[data-cookie-uids]').forEach(function(el){var cookieUids = safeJSONParse(el.getAttribute('data-cookie-uids'),[]);var consentsSet = new Set(consents);cookieUids.forEach(function(uid){if(!consentsSet.has(uid)){removeScript(consent_managerBox.querySelector('[data-uid="script-' + uid + '"]'));addScript(consent_managerBox.querySelector('[data-uid="script-unselect-' + uid + '"]'));}});});if(consent_manager_parameters.initially_hidden || consent_manager_parameters.no_cookie_set){show = 0;}var dontShowElements = document.querySelectorAll('[data-consent-action]');var hasDontShow = false;for(var i = 0;i < dontShowElements.length;i++){var actions =(dontShowElements[i].getAttribute('data-consent-action')|| '').split(',').map(function(a){return a.trim();});if(actions.indexOf('dontshow')!== -1){hasDontShow = true;debugLog('Found element with dontshow flag,suppressing automatic box display');break;}}if(show && !hasDontShow){if(showDelay > 0){setTimeout(function(){showBox();},showDelay * 1000);}else{showBox();}}consent_managerBox.querySelectorAll('.consent_manager-close').forEach(function(el){el.addEventListener('click',function(){if(el.classList.contains('consent_manager-save-selection')){saveConsent('selection');}else if(el.classList.contains('consent_manager-accept-all')){saveConsent('all');}else if(el.classList.contains('consent_manager-accept-none')){saveConsent('none');}else if(el.classList.contains('consent_manager-close')){if(!document.getElementById('consent_manager-detail').classList.contains('consent_manager-hidden')){document.getElementById('consent_manager-detail').classList.toggle('consent_manager-hidden');}}if(consent_manager_parameters.hidebodyscrollbar){document.querySelector('body').style.overflow = 'auto';}document.getElementById('consent_manager-background').classList.add('consent_manager-hidden');document.getElementById('consent_manager-background').setAttribute('aria-hidden','true');document.dispatchEvent(new CustomEvent('consent_manager-close'));return false;});});var toggleDetailsBtn = document.getElementById('consent_manager-toggle-details');if(toggleDetailsBtn){var detailElement = document.getElementById('consent_manager-detail');var toggleDetails = function(){detailElement.classList.toggle('consent_manager-hidden');var isExpanded = !detailElement.classList.contains('consent_manager-hidden');toggleDetailsBtn.setAttribute('aria-expanded',isExpanded);};toggleDetailsBtn.addEventListener('click',function(){toggleDetails();return false;});toggleDetailsBtn.addEventListener('keydown',function(event){if(event.key === 'Enter' || event.key === ' '){event.preventDefault();toggleDetails();return false;}});}document.addEventListener('keydown',function(event){var consentBox = document.getElementById('consent_manager-background');if(!consentBox || consentBox.classList.contains('consent_manager-hidden')){return;}if(event.key === 'Escape' || event.key === 'Esc'){event.preventDefault();event.stopPropagation();if(consent_manager_parameters.hidebodyscrollbar){document.querySelector('body').style.overflow = 'auto';}consentBox.classList.add('consent_manager-hidden');consentBox.setAttribute('aria-hidden','true');document.dispatchEvent(new CustomEvent('consent_manager-close'));return;}if(event.key === 'Tab'){var wrapper = document.getElementById('consent_manager-wrapper');if(!wrapper || !wrapper.contains(document.activeElement)){return;}var focusableElements = wrapper.querySelectorAll('button:not([disabled]),input
28:not([disabled]),a[href],[tabindex]:not([tabindex="-1"])');var focusableArray = Array.from(focusableElements);var firstFocusable = focusableArray[0];var lastFocusable = focusableArray[focusableArray.length - 1];if(event.shiftKey){if(document.activeElement === firstFocusable){event.preventDefault();event.stopPropagation();lastFocusable.focus();}}else{if(document.activeElement === lastFocusable){event.preventDefault();event.stopPropagation();firstFocusable.focus();}}}},true);document.addEventListener('click',function(e){var target = e.target;while(target && target !== document){if(target.classList &&(target.classList.contains('consent_manager-show-box')|| target.classList.contains('consent_manager-show-box-reload'))){e.preventDefault();showBox();return false;}var consentAction = target.getAttribute('data-consent-action');if(target.tagName === 'A' && consentAction){var actions = consentAction.split(',').map(function(a){return a.trim();});if(actions.indexOf('settings')!== -1){e.preventDefault();consent_manager_showBox();if(actions.indexOf('reload')!== -1){var checkClose = setInterval(function(){var box = document.getElementById('consent_manager-background');if(!box || box.classList.contains('consent_manager-hidden')){clearInterval(checkClose);location.reload();}},100);}return false;}}target = target.parentElement;}});function saveConsent(toSave){debugLog('saveConsent: Start',toSave);if(!consent_managerBox){console.warn('Consent Manager: saveConsent called but consent_managerBox not initialized');return;}consents = [];var consentsSet = new Set();var hasOptionalConsent = false;cookieData ={consents: [],version: addonVersion,consentid: consent_manager_parameters.consentid,cachelogid: consent_manager_parameters.cachelogid};if(toSave !== 'none'){consent_managerBox.querySelectorAll('[data-cookie-uids]').forEach(function(el){var cookieUids = safeJSONParse(el.getAttribute('data-cookie-uids'),[]);if(el.checked || toSave === 'all'){if(!el.disabled){hasOptionalConsent = true;}debugLog('saveConsent: Consent erteilt für',cookieUids);cookieUids.forEach(function(uid){consents.push(uid);consentsSet.add(uid);debugLog('saveConsent: Führe Script aus für UID',uid);var scriptElement = consent_managerBox.querySelector('[data-uid="script-' + uid + '"]');var unselectElement = consent_managerBox.querySelector('[data-uid="script-unselect-' + uid + '"]');debugLog('saveConsent: Elements gefunden',{scriptElement: !!scriptElement,unselectElement: !!unselectElement,hasDataScript: scriptElement ? !!scriptElement.getAttribute('data-script'): false});addScript(scriptElement);removeScript(unselectElement);});}else{debugLog('saveConsent: Consent verweigert für',cookieUids);cookieUids.forEach(function(uid){removeScript(consent_managerBox.querySelector('[data-uid="script-' + uid + '"]'));addScript(consent_managerBox.querySelector('[data-uid="script-unselect-' + uid + '"]'));});}});}else{debugLog('saveConsent: Keine Consents(none)');consent_managerBox.querySelectorAll('[data-cookie-uids]').forEach(function(el){var cookieUids = safeJSONParse(el.getAttribute('data-cookie-uids'),[]);if(el.disabled){cookieUids.forEach(function(uid){consents.push(uid);addScript(consent_managerBox.querySelector('[data-uid="script-' + uid + '"]'));removeScript(consent_managerBox.querySelector('[data-uid="script-unselect-' + uid + '"]'));});}else{el.checked = false;cookieUids.forEach(function(uid){removeScript(consent_managerBox.querySelector('[data-uid="script-' + uid + '"]'));addScript(consent_managerBox.querySelector('[data-uid="script-unselect-' + uid + '"]'));});}});}cookieData.consents = consents;debugLog('saveConsent: Finale Consents',consents);try{deleteCookies();}catch(e){console.warn('Consent Manager: deleteCookies()failed before setting cookie',e);}if(!hasOptionalConsent){debugLog('saveConsent: Minimal consent only - setting short cookie lifetime(14 days)');cmCookieAPI.set(cmCookieName,JSON.stringify(cookieData),{expires: 14});}else{cmCookieAPI.set(cmCookieName,JSON.stringify(cookieData));}if(typeof window.GoogleConsentModeV2 !== 'undefined' && typeof window.GoogleConsentModeV2.setConsent === 'function'){var googleConsentFlags = mapConsentsToGoogleFlags(consents);debugLog('Mapping consents to Google flags',consents,googleConsentFlags);window.GoogleConsentModeV2.setConsent(googleConsentFlags);}else{debugLog('Google Consent Mode not available for mapping');}if(typeof cmCookieAPI.get(cmCookieName)=== 'undefined'){consent_manager_parameters.no_cookie_set = true;console.warn('Addon consent_manager: Es konnte kein Cookie für die Domain ' + document.domain + ' gesetzt werden!');}else{var url = window.location.pathname + window.location.search;var separator = url.indexOf('?')=== -1 ? '?' : '&';url = url + separator + 'rex-api-call=consent_manager&buster=' + new Date().getTime();var params = 'domain=' + encodeURIComponent(document.domain)+ '&consentid=' + encodeURIComponent(consent_manager_parameters.consentid)+ '&buster=' + new Date().getTime();fetch(url,{method: 'POST',credentials: 'same-origin',headers:{'Content-Type': 'application/x-www-form-urlencoded','Cache-Control': 'no-cache,no-store,max-age=0'},body: params}).catch(function(error){console.error('Addon consent_manager: Fehler beim speichern des Consent!',error);debugLog('Consent logging failed',error);});}if(document.querySelectorAll('.consent_manager-show-box-reload').length || consent_manager_parameters.forcereload === 1 || reloadOnConsent){location.reload();}else{document.dispatchEvent(new CustomEvent('consent_manager-saved',{detail: JSON.stringify(consents)}));}}function deleteCookies(){var domain = consent_manager_parameters.domain;var hostname = window.location.hostname;var cookieNamesToDelete = ['consent_manager','consent_manager_test','consentmanager','consentmanager_test',cmCookieName,cmCookieName + '_test'];cookieNamesToDelete.forEach(function(name){Cookies.remove(name);Cookies.remove(name,{'path': '/'});Cookies.remove(name,{'domain': domain});Cookies.remove(name,{'domain': domain,'path': '/'});Cookies.remove(name,{'domain':('.' + domain)});Cookies.remove(name,{'domain':('.' + domain),'path': '/'});if(hostname !== domain){Cookies.remove(name,{'domain': hostname});Cookies.remove(name,{'domain': hostname,'path': '/'});Cookies.remove(name,{'domain':('.' + hostname)});Cookies.remove(name,{'domain':('.' + hostname),'path': '/'});}});}function addScript(el){if(!el){debugLog('addScript: Element ist null/undefined');return;}var uid = el.getAttribute('data-uid')|| 'unknown';debugLog('addScript: Processing element',{uid: uid,element: el});if(!el.children.length){var encodedScript = el.getAttribute('data-script');debugLog('addScript: Encoded script data',{length: encodedScript ? encodedScript.length : 0,preview: encodedScript ? encodedScript.substring(0,50)+ '...' : 'empty'});if(!encodedScript){debugLog('addScript: Kein data-script Attribut gefunden');return;}var scriptContent = '';try{scriptContent = window.atob(encodedScript);debugLog('addScript: Script erfolgreich dekodiert',{length: scriptContent.length,preview: scriptContent.substring(0,100)});}catch(e){console.error('addScript: Fehler beim Base64-Dekodieren',e);debugLog('addScript: Base64-Dekodierung fehlgeschlagen',e);return;}if(!scriptContent){debugLog('addScript: Script-Inhalt ist leer nach Dekodierung');return;}if(scriptContent.includes('\ufffd')|| scriptContent.includes('�')){console.error('addScript: Script enthält ungültige Zeichen(fehlerhaftes Encoding)',{uid: uid,preview: scriptContent.substring(0,100)});debugLog('addScript: Ungültiges Encoding erkannt,überspringe Script');return;}var scriptDom = null;try{scriptDom = new DOMParser().parseFromString(scriptContent,'text/html');debugLog('addScript: DOM geparst,Scripts gefunden:',scriptDom.scripts.length);}catch(e){console.error('addScript: Fehler beim Parsen des HTML',e);debugLog('addScript: HTML-Parsing fehlgeschlagen',e);return;}if(!scriptDom || !scriptDom.scripts || scriptDom.scripts.length === 0){debugLog('addScript: Keine Scripts im geparsten DOM gefunden');return;}var nonce = consent_manager_parameters.cspNonce || null;for(var i = 0;i < scriptDom.scripts.length;i++){var originalScript = scriptDom.scripts[i];var scriptNode = document.createElement('script');debugLog('addScript: Processing script #' +(i + 1),{hasSrc: !!originalScript.src,src: originalScript.src || 'inline',hasContent: !!originalScript.textContent,contentLength: originalScript.textContent ? originalScript.textContent.length : 0,attributes: originalScript.attributes.length});if(nonce){scriptNode.setAttribute('nonce',nonce);debugLog('addScript: Nonce gesetzt',nonce);}for(var j = 0;j < originalScript.attributes.length;j++){var attr = originalScript.attributes[j];if(attr.name !== 'nonce'){scriptNode.setAttribute(attr.name,attr.value);debugLog('addScript: Attribut kopiert',{name: attr.name,value: attr.value});}}if(originalScript.src){var scriptSrc = originalScript.src;var existingScript = document.querySelector('script[src="' + scriptSrc + '"]');if(existingScript){debugLog('addScript: Script bereits geladen,überspringe',scriptSrc);console.warn('Consent Manager: Script bereits geladen - Duplikat verhindert: ' + scriptSrc);continue;}scriptNode.src = scriptSrc;debugLog('addScript: External script wird geladen',scriptSrc);}else{var inlineContent = originalScript.textContent;if(inlineContent){scriptNode.textContent = inlineContent;debugLog('addScript: Inline script gesetzt',{contentLength: inlineContent.length,preview: inlineContent.substring(0,100)});}else{debugLog('addScript: Inline script ist leer');continue;}}try{document.body.appendChild(scriptNode);debugLog('addScript: Script erfolgreich zum DOM hinzugefügt');}catch(e){var errorInfo ={error: e.message,uid: uid,hasSrc: !!scriptNode.src,hasContent: !!scriptNode.textContent,src: scriptNode.src || 'inline'};
28if(e.message &&(e.message.includes('Content Security Policy')|| e.message.includes('CSP'))){errorInfo.hint = 'CSP violation - check Content-Security-Policy header';}else if(scriptNode.src && e.message && e.message.includes('CORS')){errorInfo.hint = 'CORS error - external script may be blocked';}console.error('addScript: Fehler beim Hinzufügen des Scripts',errorInfo);debugLog('addScript: Fehler beim appendChild',e);}}}else{debugLog('addScript: Element hat bereits children,wird übersprungen');}}function removeScript(el){if(!el){return;}el.innerHTML = '';}function showBox(){if(!consent_managerBox){console.warn('Consent Manager: showBox called but consent_managerBox not initialized');return;}var consentsSet = new Set(consents);consent_managerBox.querySelectorAll('[data-cookie-uids]').forEach(function(el){var cookieUids = safeJSONParse(el.getAttribute('data-cookie-uids'),[]);var check = cookieUids.every(function(uid){return consentsSet.has(uid);});if(check){el.checked = true;}});if(consent_manager_parameters.hidebodyscrollbar){document.querySelector('body').style.overflow = 'hidden';}var consentBg = document.getElementById('consent_manager-background');consentBg.classList.remove('consent_manager-hidden');consentBg.setAttribute('aria-hidden','false');var toggleBtn = document.getElementById('consent_manager-toggle-details');if(toggleBtn){toggleBtn.setAttribute('aria-expanded','false');}var dialogWrapper = document.getElementById('consent_manager-wrapper');if(dialogWrapper && autoFocus){setTimeout(function(){dialogWrapper.focus();},100);}document.dispatchEvent(new CustomEvent('consent_manager-show'));}emitReady(true);})();function mapConsentsToGoogleFlags(consents){var flags ={'ad_storage': false,'ad_user_data': false,'ad_personalization': false,'analytics_storage': false,'personalization_storage': false,'functionality_storage': false,'security_storage': false};consents.forEach(function(uid){var lowerUid = uid.toLowerCase();debugLog('Mapping UID',uid,lowerUid);if(lowerUid === 'analytics'){flags['analytics_storage'] = true;debugLog('Mapped analytics to analytics_storage');}if(lowerUid === 'marketing'){flags['ad_storage'] = true;flags['ad_user_data'] = true;flags['ad_personalization'] = true;debugLog('Mapped marketing to ad_*');}if(lowerUid === 'functional'){flags['functionality_storage'] = true;debugLog('Mapped functional to functionality_storage');}if(lowerUid === 'preferences'){flags['personalization_storage'] = true;debugLog('Mapped preferences to personalization_storage');}if(lowerUid === 'necessary'){flags['security_storage'] = true;debugLog('Mapped necessary to security_storage');}if(lowerUid.includes('google-analytics')|| lowerUid.includes('analytics')|| lowerUid.includes('ga')){flags['analytics_storage'] = true;}if(lowerUid.includes('google-tag-manager')|| lowerUid.includes('gtm')|| lowerUid.includes('tag-manager')){flags['analytics_storage'] = true;flags['ad_storage'] = true;flags['ad_user_data'] = true;flags['ad_personalization'] = true;}if(lowerUid.includes('google-ads')|| lowerUid.includes('adwords')|| lowerUid.includes('google-adwords')){flags['ad_storage'] = true;flags['ad_user_data'] = true;flags['ad_personalization'] = true;}if(lowerUid.includes('facebook-pixel')|| lowerUid.includes('facebook')|| lowerUid.includes('meta-pixel')){flags['ad_storage'] = true;flags['ad_user_data'] = true;flags['ad_personalization'] = true;}if(lowerUid.includes('youtube')|| lowerUid.includes('yt')){flags['ad_storage'] = true;flags['personalization_storage'] = true;}if(lowerUid.includes('google-maps')|| lowerUid.includes('maps')|| lowerUid.includes('gmaps')){flags['functionality_storage'] = true;flags['personalization_storage'] = true;}if(lowerUid.includes('matomo')|| lowerUid.includes('piwik')){flags['analytics_storage'] = true;}if(lowerUid.includes('hotjar')){flags['analytics_storage'] = true;}if(lowerUid.includes('microsoft-clarity')|| lowerUid.includes('clarity')){flags['analytics_storage'] = true;}if(lowerUid.includes('linkedin')){flags['ad_storage'] = true;flags['ad_user_data'] = true;flags['ad_personalization'] = true;}if(lowerUid.includes('tiktok')){flags['ad_storage'] = true;flags['ad_user_data'] = true;flags['ad_personalization'] = true;}if(lowerUid.includes('pinterest')){flags['ad_storage'] = true;flags['ad_user_data'] = true;flags['ad_personalization'] = true;}if(lowerUid.includes('booking')){flags['ad_storage'] = true;flags['ad_user_data'] = true;flags['ad_personalization'] = true;}if(lowerUid.includes('hubspot')){flags['analytics_storage'] = true;flags['ad_storage'] = true;flags['ad_user_data'] = true;flags['ad_personalization'] = true;}if(lowerUid.includes('whatsapp')){flags['functionality_storage'] = true;}}
28);debugLog('Final mapped flags',flags);return flags;}function consent_manager_showBox(){var consentBox = document.getElementById('consent_manager-background');if(!consentBox){console.warn('Consent Manager: Consent box element not found in DOM');return;}var consents = [];var cookieValue = cmCookieAPI.get(cmCookieName);if(typeof cookieValue !== 'undefined'){var cookieData = safeJSONParse(cookieValue,{});if(cookieData.hasOwnProperty('version')){consents = cookieData.consents;}}var consentsSet = new Set(consents);consentBox.querySelectorAll('[data-cookie-uids]').forEach(function(el){var cookieUids = safeJSONParse(el.getAttribute('data-cookie-uids'),[]);var check = cookieUids.every(function(uid){return consentsSet.has(uid);});if(check){el.checked = true;}});if(consent_manager_parameters.hidebodyscrollbar){document.querySelector('body').style.overflow = 'hidden';}consentBox.classList.remove('consent_manager-hidden');consentBox.setAttribute('aria-hidden','false');var dialogWrapper = document.getElementById('consent_manager-wrapper');if(dialogWrapper){setTimeout(function(){dialogWrapper.focus();},100);}}function consent_manager_hasconsent(id){var cookieValue = cmCookieAPI.get(cmCookieName);if(typeof cookieValue === 'undefined'){return false;}var cookieData = safeJSONParse(cookieValue,{consents: []});return cookieData.consents.indexOf(id)!== -1;} 29
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.