var FINGERPRINT_SUCCESS_MESSAGE="FP_OK",SESSION_ID_EXPIRES_HOURS=24,DEVICE_ID_EXPIRES_HOURS=8760;function SCODE(){return(65536*(1+Math.random())|0).toString(16).substring(1)}function getUUID(){return SCODE()+SCODE()+SCODE()+SCODE()+SCODE()+SCODE()+SCODE()+SCODE()}function setCookie(e,n,t,o){var i=new Date;i.setTime(i.getTime()+3600*t*1e3);var r="expires="+i.toUTCString();return document.cookie=e+"="+n+";"+r+";path="+o+";SameSite=none; Secure; Partitioned",fp_cookie()&&-1!==document.cookie.indexOf(e)||window&&"undefined"!=typeof window&&getLocalStorage(window)&&window.localStorage.setItem(e,n),n}function readCookie(e){var n=e+"=",t=document.cookie.split(";"),o=t.length;for(i=0;i-1)return t[i].split("=")[1]}if(getLocalStorage(window)&&window.localStorage.getItem(e))return window.localStorage.getItem(e)}function fp_cookie(){"use strict";var e=!1;try{return e=!(!window.navigator||!window.navigator.cookieEnabled),"undefined"!=typeof navigator.cookieEnabled||e||(document.cookie="__fp_test_Cookie",e=-1!==document.cookie.indexOf("__fp_test_Cookie")),e}catch(n){return e}}function getLocalStorage(e){try{return e.localStorage!==undefined}catch(n){return!1}}var sha256=function(){for(var e,n=1,t=[],o=[];++n<18;)for(e=n*n;e<312;e+=n)t[e]=1;function i(e,n){return Math.pow(e,1/n)%1*4294967296|0}for(n=1,e=0;n<313;)t[++n]||(o[e]=i(n,2),t[e++]=i(n,3));function r(e,n){return e>>>n|e<<32-n}return function(i){for(var a,s,d,c=o.slice(n=0),l=unescape(encodeURI(i)),u=[],w=l.length,f=[];n>2]|=(255&l.charCodeAt(n))<<8*(3-n++%4);for(f[(w*=8)>>5]|=128<<24-w%32,f[d=w+64>>5|15]=w,n=0;n>>10)+(0|u[e-7])+(r(s=u[e-15],7)^r(s,18)^s>>>3)+(0|u[e-16]),a.unshift((s=(a.pop()+(r(i=a[4],6)^r(i,11)^r(i,25))+((i&a[5]^~i&a[6])+t[e])|0)+(0|u[e++]))+(r(w=a[0],2)^r(w,13)^r(w,22))+(w&a[1]^a[1]&a[2]^a[2]&w));for(e=8;e--;)c[e]=a[e]+c[e]}for(l="";e<63;)l+=(c[++e>>3]>>4*(7-e%8)&15).toString(16);return l}}();function getWindowsOS(e){return-1!=e.indexOf("Windows NT 10.")?"Windows 10":-1!=e.indexOf("Windows NT 6.3")?"Windows 8.1":-1!=e.indexOf("Windows NT 6.2")?"Windows 8":-1!=e.indexOf("Windows NT 6.1")?"Windows 7":-1!=e.indexOf("Windows NT 6.0")?"Windows Vista":-1!=e.indexOf("Windows NT 5.2")?"Windows Server 2003; Windows XP x64 Edition":-1!=e.indexOf("Windows NT 5.1")?"Windows XP":-1!=e.indexOf("Windows NT 5.01")?"Windows 2000, Service Pack 1 (SP1)":-1!=e.indexOf("Windows NT 5.0")?"Windows 2000":-1!=e.indexOf("Windows NT 4.0")?"Windows NT 4.0":-1!=e.indexOf("Windows 98; Win 9x 4.90")?"Windows Millennium Edition (Windows Me)":-1!=e.indexOf("Windows 98")?"Windows 98":-1!=e.indexOf("Windows 95")?"Windows 95":-1!=e.indexOf("Windows CE")?"Windows CE":"Windows OS, Version nicht bekannt"}function fp_canvas(){var e=document.createElement("canvas"),n=e.getContext("2d"),t="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~1!2@3#4$5%6^7&8*9(0)-_=+[{]}|;:',<.>/?";try{return e.height=200,e.width=500,n.textBaseline="top",n.font="14px 'Arial'",n.textBaseline="alphabetic",n.fillStyle="#f60",n.fillRect(125,1,62,20),n.fillStyle="#069",n.fillText(t,2,15),n.fillStyle="rgba(102, 204, 0, 0.7)",n.fillText(t,4,17),n.globalCompositeOperation="multiply",n.fillStyle="rgb(255,0,255)",n.beginPath(),n.arc(50,50,50,0,2*Math.PI,!0),n.closePath(),n.fill(),n.fillStyle="rgb(0,255,255)",n.beginPath(),n.arc(100,50,50,0,2*Math.PI,!0),n.closePath(),n.fill(),n.fillStyle="rgb(255,255,0)",n.beginPath(),n.arc(75,100,50,0,2*Math.PI,!0),n.closePath(),n.fill(),n.fillStyle="rgb(255,0,255)",n.arc(75,75,75,0,2*Math.PI,!0),n.arc(75,75,25,0,2*Math.PI,!0),n.mozFillRule="evenodd",n.fill("evenodd"),sha256(e.toDataURL().replace("data:image/png;base64,",""))}catch(o){return null}}function getOsVersion(e){return-1!=e.appVersion.indexOf("Windows")?getWindowsOS(e.appVersion):e.platform}function isCanvasSupported(){var e=document.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))}function hasSessionStorage(){try{return!!window.sessionStorage}catch(e){return!0}}function hasIndexedDB(){return!!window.indexedDB}function doNotTrack(){return!!navigator.doNotTrack}function getPlugins(){for(var e=[],n=navigator.plugins,t=0;t{const n=e.mimeTypes.map((e=>e.type+"~"+e.suffixes));return e.name+"::"+e.description+"::"+n}));return[...new Set(i)].join(",")}function getCpuSpeed(){function e(){let e=performance.now();const n=1e7;for(let o=n;o>0;o--);let t=performance.now()-e;return spd=1.156e-8*n/t*1e3,spd}try{const n=[],t=new Date;for(let r=0;r<40;r++){let t=e();n[r]=t}const o=new Date-t;let i=[...function(e){let n=[...e].sort(((e,n)=>e-n));const t=Math.round(.25*n.length),o=Math.round(.75*n.length),i=n[o]-n[t],r=n[t]-.1*i,a=n[o]+.1*i;return n.filter((e=>e>=r&&e<=a))}(n)];return{average:i.reduce(((e,n)=>e+n))/i.length,time:o,version:3}}catch(n){return{average:null,time:null,version:3}}}function identifyBrowser(){const e=navigator.userAgent;switch(!0){case-1!==e.indexOf("Opera")||-1!==e.indexOf("OPR"):return"Opera";case-1!==e.indexOf("Edg"):return"Edge";case-1!==e.indexOf("Chrome"):return"Chrome";case-1!==e.indexOf("Safari"):return"Safari";case-1!==e.indexOf("Firefox"):return"Firefox";case-1!==e.indexOf("MSIE")||!0==!!document.documentMode:return"IE";default:return"Unknown"}}function getQuotaLimit(){return window?.performance?.memory?.jsHeapSizeLimit?window.performance.memory.jsHeapSizeLimit:1073741824}function oldChromePrivateTest(){(0,window.webkitRequestFileSystem)(0,1,(function(){return!1}),(function(){return!0}))}async function chromeIncognitoTest(){if(Promise!==undefined&&Promise.allSettled!==undefined){const e=await(navigator?.storage?.estimate());return e?.quota{var n={organizationId:orgId,sessionId:sessionId,session:{userAgent:window.navigator&&window.navigator.userAgent,os:window.navigator&&window.navigator.platform,osVersion:getOsVersion(window.navigator),cookiesEnabled:fp_cookie(),localStorage:getLocalStorage(window),lang:window.navigator&&window.navigator.language,platform:window.navigator&&window.navigator.platform,timezone:(new Date).getTimezoneOffset()/60*-1,screen:{availHeight:window.screen&&window.screen.availHeight,availLeft:window.screen&&window.screen.availLeft,availTop:window.screen&&window.screen.availTop,availWidth:window.screen&&window.screen.availWidth,colorDepth:window.screen&&window.screen.colorDepth,width:window.screen&&window.screen.width,height:window.screen&&window.screen.height,orientation:window.screen&&(window.screen.orientation||{}).type||window.screen.mozOrientation||window.screen.msOrientation},cpuSpeed:getCpuSpeed(),plugins:getPlugins(),sessionStorage:hasSessionStorage(),indexedDB:hasIndexedDB(),doNotTrack:doNotTrack(),canvasId:fp_canvas(),gpuVendor:debugInfo?gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL):null,gpuName:debugInfo?gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL):null,cores:window.navigator&&window.navigator.hardwareConcurrency,deviceMemory:window.navigator&&window.navigator.deviceMemory,devicePixelRatio:window.devicePixelRatio,privateBrowsing:e.isIncognito,browsingUrl:window.location.ancestorOrigins?.[0]||document.referrer},device:{id:deviceId}};fetch(SERVICE_URL,{method:"POST",mode:"cors",body:JSON.stringify(n),headers:{"Content-Type":"application/json"}}).then((e=>e.json())).then((e=>{window.parent.postMessage(FINGERPRINT_SUCCESS_MESSAGE,"*")}))["catch"]((e=>console.log("Error: ",e.message)))}));