1const serviceConfigs=JSON.parse(JSON.stringify(allServiceSettings));function getCookie(name){var nameEQ=name+"=";var ca=document.cookie.split(';');for(var i=0;i<ca.length;i++){var c=ca[i];while(c.charAt(0)==' ')c=c.substring(1);if(c.indexOf(nameEQ)==0)return c.substring(nameEQ.length,c.length);} 2return null} 3function setCookie(name,value,daysToExpire){var expires="";if(daysToExpire){var date=new Date();date.setTime(date.getTime()+(daysToExpire*24*60*60*1000));expires="; expires="+date.toUTCString()} 4document.cookie=name+"="+(value||"")+expires+"; path=/"} 5function evaluateFinalValue(serviceSettings,settingKey){let hasGranted=!1;let hasDenied=!1;serviceSettings.forEach(settings=>{if(settings[settingKey]==='granted') 6if(settings[settingKey]==='granted')hasGranted=!0;else if(settings[settingKey]==='denied')hasDenied=!0});if(hasDenied)return'denied';if(hasGranted)return'granted';return'denied'} 7function updateCookieWithFinalConsent(name,daysToExpire,services){const cookieValue=getCookie(name);if(cookieValue!==null){const obj=JSON.parse(decodeURIComponent(cookieValue));['ad_storage','analytics_storage','ad_user_data','ad_personalization','personalization_storage','functionality_storage','security_storage'].forEach(key=>{obj[key]=evaluateFinalValue(services,key)});setCookie(name,encodeURIComponent(JSON.stringify(obj)),daysToExpire);pushTriggerAfterConsentChanged(obj)}else{console.log("Cookie name '"+name+"' does not exist.")}} 8function pushTriggerAfterConsentChanged(changes){window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:'cmp_we_cookie_consent_changed',we_consent_state:{ad_storage:changes.ad_storage,analytics_storage:changes.analytics_storage,ad_user_data:changes.ad_user_data,ad_personalization:changes.ad_personalization,personalization_storage:changes.personalization_storage,functionality_storage:changes.functionality_storage,security_storage:changes.security_storage}})} 9function getAllServiceSettings(){console.log(allServiceSettings)} 10let ConsentApp=new function ConsentController(){this.consentChanged=function(state,service){const isGTM=service.name.indexOf('google-tagmanager-service')!==-1;if(isGTM){allServiceSettings=allServiceSettings.map(tempSettings=>{if(tempSettings.serviceId!==service.name){return{serviceId:tempSettings.serviceId,serviceConsent:tempSettings.serviceConsent,ad_storage:tempSettings.ad_storage,analytics_storage:tempSettings.analytics_storage,ad_user_data:tempSettings.ad_user_data,ad_personalization:tempSettings.ad_personalization,functionality_storage:tempSettings.functionality_storage,personalization_storage:tempSettings.personalization_storage,security_storage:tempSettings.security_storage}} 11const originalConfig=serviceConfigs.find(original=>original.serviceId===tempSettings.serviceId);const updated={serviceId:tempSettings.serviceId,serviceConsent:state};['ad_storage','analytics_storage','ad_user_data','ad_personalization','personalization_storage','functionality_storage','security_storage'].forEach(key=>{updated[key]=state?originalConfig[key]:'denied'});return updated});const relevantServices=allServiceSettings.filter(relevant=>relevant.serviceConsent);updateCookieWithFinalConsent(storageName,cookieExpiresAfterDays,relevantServices);window.dataLayer=window.dataLayer||[];window.dataLayer.push({event:service.gtm.trigger,[service.gtm.variable]:state})} 12if(service.ownCallback){if(typeof window[service.ownCallback]==='function'){window[service.ownCallback](state,service)}else{console.error('The Callback function '+service.ownCallback+' is not yet defined. Please create it first.')}}};(function contruct(){document.addEventListener('DOMContentLoaded',function(){document.addEventListener('click',function(event){if(event.target.closest('.js-showConsentModal')){event.preventDefault();klaro.show()}})})})();const isSafari=navigator.vendor&&navigator.vendor.indexOf('Apple')>-1&&navigator.userAgent&&navigator.userAgent.indexOf('CriOS')==-1&&navigator.userAgent.indexOf('FxiOS')==-1;document.addEventListener('DOMContentLoaded',function(){setTimeout(function(){setServiceSuccessVarBtn();document.addEventListener('click',function(event){if(event.target.matches('.cn-decline')){setServiceSuccessVarBtn()}});document.addEventListener('click',function(event){if(event.target.matches('.cm
12-btn-accept')){setServiceSuccessVarBtn()}});document.addEventListener('click',function(event){if(event.target.matches('.cm-btn-decline')){setServiceSuccessVarBtn()}});if(isSafari!==!0){document.getElementById('klaro').classList.remove('safari')}else{document.getElementById('klaro').classList.add('safari')}})})};var optOutLink=document.getElementById("ga-opt-out");if(optOutLink){optOutLink.onclick=function(){document.cookie='ga-opt-out=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';this.innerHTML="Google Analytics opt-out successful";return!1}} 13window.addEventListener('load',function(){const iframes=document.querySelectorAll('iframe');if(iframes.length>0){iframes.forEach(function(iframe){let attrDataSrc=iframe.getAttribute('src');if(!attrDataSrc){attrDataSrc=iframe.getAttribute('data-src')} 14if(attrDataSrc&&(attrDataSrc.includes('youtube')||attrDataSrc.includes('vimeo'))){const parent=iframe.parentElement;const contextNotice=parent.querySelector('.klaro.cm-as-context-notice');if(contextNotice){iframe.style.display='block';contextNotice.style.width=iframe.offsetWidth+'px';if(iframe.offsetHeight<contextNotice.offsetHeight){const cmButtons=contextNotice.querySelector('.cm-buttons');if(cmButtons){cmButtons.style.marginTop='1em'}}}}})} 15document.querySelectorAll('.klaro.we_cookie_consent.cm-as-context-notice').forEach(function(element){if(element.offsetWidth<=300){element.classList.add('notice--minified')}});document.querySelectorAll('.klaro.we_cookie_consent .cn-body').forEach(function(element){element.setAttribute('data-nosnippet','data-nosnippet')})});function setServiceSuccessVarBtn(){const klaroCookie=getCookie('klaro');if(klaroCookie){const allServiceSuccessVarBtn=document.querySelectorAll('.cm-btn-success-var');if(allServiceSuccessVarBtn.length>
150){allServiceSuccessVarBtn.forEach((serviceSuccessVarBtn)=>{serviceSuccessVarBtn.style.setProperty('display','block','important')})}}} 16document.addEventListener('DOMContentLoaded',function(){if(checkCookieExists('klaro')){createTooltip()} 17setTimeout(function(){const klaroDiv=document.getElementById('klaro');const buttons=klaroDiv.querySelectorAll('button');function handleClick(event){createTooltip();if(document.querySelector('#klaro .cookie-notice')==null&&document.querySelector('#klaro .cookie-modal')==null){}} 18buttons.forEach(button=>{button.addEventListener('click',handleClick)})});setTimeout(function(){if(document.querySelector('.cm-link')){document.querySelector('.cm-link').addEventListener('click',function(){if(document.querySelector('.cm-btn-success')){document.querySelector('.cm-btn-success').addEventListener('click',function(){createTooltip()})} 19if(document.querySelector('.cn-decline')){document.querySelector('.cn-decline').addEventListener('click',function(){createTooltip()})} 20if(document.querySelector('.cm-btn-accept-all')){document.querySelector('.cm-btn-accept-all').addEventListener('click',function(){createTooltip()})}})}},1000)});function checkCookieExists(cookieName){let cookies=document.cookie.split(';');for(let i=0;i<cookies.length;i++){let cookie=cookies[i];while(cookie.charAt(0)==' '){cookie=cookie.substring(1)} 21if(cookie.indexOf(cookieName+'=')==0){return!0}} 22return!1} 23function createTooltip(){if(cookieIconPermanentlyAvailable==='1'){let iconTooltip=document.createElement('div');let iconImgTag=document.createElement('img');let iconBtn=document.createElement('button');let iconContainer=document.createElement('div');iconBtn.type='button';iconBtn.className='consent-trigger js-showConsentModal';iconBtn.setAttribute('aria-label',translatedButtonTextCookieSettings);iconBtn.setAttribute('aria-haspopup','dialog');iconImgTag.src=cookieSettingsImgPathDefault;iconImgTag.alt='';iconImgTag.setAttribute('aria-hidden','true');iconImgTag.width=85;iconImgTag.height=85;iconImgTag.style.cssText='margin-right:0px;width:85px;height:85px;';function showTip(){iconTooltip.style.display='block';iconImgTag.src=cookieSettingsImgPathHover} 24function hideTip(){iconTooltip.style.display='none';iconImgTag.src=cookieSettingsImgPathDefault} 25iconBtn.addEventListener('mouseover',showTip);iconBtn.addEventListener('mouseout',hideTip);iconBtn.addEventListener('focusin',showTip);iconBtn.addEventListener('focusout',hideTip);iconTooltip.textContent=translatedButtonTextCookieSettings;iconTooltip.classList.add('consent-cookie-text');iconTooltip.style.cssText='display:none;';iconContainer.classList.add('consent-cookie');iconContainer.style.cssText='display:flex;';iconBtn.appendChild(iconImgTag);iconContainer.appendChild(iconBtn);iconContainer.appendChild(iconTooltip);document.body.appendChild(iconContainer)}}
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.