!function(){"use strict";let s=null;const c=["debug","info","warn","error"];let l=c.reduce((e,a,d)=>(e[a]=function(){var e="debug"===a?"log":a;if(s&&console&&"function"==typeof console[e]){var t=c.indexOf(s.toString().toLocaleLowerCase());if(!0===s||-1{p[i].push(e)});for(let n=0;ne[1]).flatMap(e=>e);for(var t of e){let e=t.value.trim();if(y(e)){l.debug("We detected: ",e),m();break}}}catch(e){}};v[i].push(a),o[n].addEventListener(u.detectionEventType,a,{once:!0,capture:!0})}let d=w(e);for(let e=0;e()\[\].,;:\s@"]+(\.[^<>()\[\].,;:\s@"]+)*)|(".+"))@(([^<>()[\].,;:\s@"]+\.)+[^<>()[\].,;:\s@"]{2,}))/i;if(u.detectionSubject.includes("email")&&t.test(e))return e=e.match(t)[0].toLowerCase().trim(),l.debug("We detected email: "+e),a(e,"email"),!0;return!1}(e)||!1}function h(n,i){u.detectDynamicNodes&&(o[i]=new d(function(e,t){l.debug("Detected dynamically added nodes."),r(n,i)},500),o[i].observe(n,{childList:!0,subtree:!0,attributes:!0}))}function i(e){e&&e.type&&e.identifier?"email"!==e.type?l.error("Identifier type is not supported, ",e.type):(a(e.identifier,e.type),m()):l.error("wrong identifier format")}function a(e,t){var n;e&&t&&(n=new CustomEvent("detected-identifier",{detail:{identifier:e,type:t}}),l.info("Dispatched event with identifier: ",e," and type: ",t),window.dispatchEvent(n))}function g(e){if(e&&e.__upixel_detection)try{r(e.__upixel_detection.root,e.__upixel_detection.scopeName)}catch(e){}}function b(t,n,i){l.debug(`collectElements("${n}", ${i})`);let o=[];for(var e of i)0{o.includes(e)||o.push(e)});var r=window.location.hostname,a=document.getElementsByTagName("iframe");for(let e=0;e{o.includes(e)||o.push(e)})}return o}function w(e){return[...e.querySelectorAll("*")].filter(e=>!!e.shadowRoot).map(e=>e.shadowRoot)}function d(e,t){this.callback=e,this.minDelayMs=t,this.lastInvocationTime=0,this.args=null,this.nextTimeoutHandle=null,this.mutationObserver=new MutationObserver(this.throttledCallback.bind(this))}d.prototype.observe=function(e,t){this.mutationObserver.observe(e,t)},d.prototype.disconnect=function(){null!=this.nextTimeoutHandle&&clearTimeout(this.nextTimeoutHandle),this.mutationObserver.disconnect()},d.prototype.takeRecords=function(){return this.mutationObserver.takeRecords()},d.prototype.throttledCallback=function(e,t){var n=Date.now();null!=this.args?this.args=arguments:this.lastInvocationTime+this.minDelayMse("debug"),window.ttdPixel.disableLog=()=>e(null)}();var ttd_dom_ready=function(){var t,n,i={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regexp","[object Object]":"object"},l={isReady:!1,readyWait:1,holdReady:function(e){e?l.readyWait++:l.ready(!0)},ready:function(e){if(!0===e&&!--l.readyWait||!0!==e&&!l.isReady){if(!document.body)return setTimeout(l.ready,1);(l.isReady=!0)!==e&&0<--l.readyWait||t.resolveWith(document,[l])}},bindReady:function(){if(!t){if(t=l._Deferred(),"complete"===document.readyState)return setTimeout(l.ready,1);if(document.addEventListener)document.addEventListener("DOMContentLoaded",n,!1),window.addEventListener("load",l.ready,!1);else if(document.attachEvent){document.attachEvent("onreadystatechange",n),window.attachEvent("onload",l.ready);var e=!1;try{e=null==window.frameElement}catch(e){}document.documentElement.doScroll&&e&&o()}}},_Deferred:function(){var a,n,d,s=[],c={done:function(){if(!d){var e,t,n,i,o,r=arguments;for(a&&(o=a,a=0),e=0,t=r.length;e{var n=document.createElement("script");n.setAttribute("defer",!0),n.setAttribute("src",u.uidSdkUrl),n.addEventListener("load",()=>{e(),i()}),n.addEventListener("error",e=>{t(e),o(e)}),document.body.appendChild(n)}):(async()=>{try{await window.ttdPixel.uidSdkLoaderPromise,i()}catch(e){console.warn("Failed to load uid sdk: ",e)}})())};var p=document.getElementsByTagName("body")[0];if(p){var f="",v={},t={MonetaryValue:"v",MonetaryValueFormat:"vf"},m=[];if("undefined"!=typeof _pixelParams)for(var y in _pixelParams){var h=_pixelParams[y],y=t[y];y&&h&&!/%%.*%%/i.test(h)&&(h=encodeURIComponent(h),m.push(y+"="+h),v[y]=h)}var g="adv="+r,b="upid="+d.join(","),w=(v.adv=r,V||function(){var e=window,t="",n=!1;try{top.location.href&&(t=top.location.href)}catch(e){n=!0}if(n)for(;;)try{if(t=e.document.referrer,window.parent==e)break;e=window.parent}catch(e){break}-1{n=e});var k=null,E=!1,D=null;"function"==typeof __tcfapi?(L=setTimeout($,1e3),__tcfapi("addEventListener",2,z)):"function"==typeof __cmp?(k=setTimeout(K,1e3),__cmp("ping",null,I)):"function"==typeof __gpp?void 0!==(g=P()).gppString?N(g.gppString,g.gppSid):(T=setTimeout(B,1e3),__gpp("addEventListener",M)):O();let i=!1,o=(void 0!==c&&(i=!0),r+":"+d.join(",")),a=!1;i?(a=!0,this.setupUidSdk(o,c,()=>U(c),e=>{console.warn("UID enabled but failed to register hooks: ",e)})):window.addEventListener("message",e=>{try{if(null!==e.origin&&"null"!==e.origin){var t=new URL(e.origin);if(t.hostname.endsWith(".adsrvr.org")&&!i&&"string"==typeof e.data){const n=JSON.parse(e.data);!n.type||"string"!=typeof n.type||"UID2"!==n.type&&"EUID"!==n.type||n.advertiserId&&"string"==typeof n.advertiserId&&n.advertiserId==r&&(a=!0,this.setupUidSdk(o,c,()=>U(n),e=>{console.warn("UID enabled but failed to register hooks: ",e)}))}}}catch(e){}});var T=null,S=!1,L=null,j=!1;async function x(){"hidden"===document.visibilityState&&(l&&await H(v),document.removeEventListener("visibilitychange",x))}async function F(e,n){try{var t,i,o=e();!o&&function(e){if("string"==typeof e.subscriptionId&&"string"==typeof e.serverPublicKey)return 1;console.error("subscription id and serverPublicKey must both be provided and both be strings to run cstg")}(n)&&(void 0!==n.email?u.sdkObj.setIdentityFromEmail(n.email,n):void 0!==n.emailHash?u.sdkObj.setIdentityFromEmailHash(n.emailHash,n):void 0!==n.phone?u.sdkObj.setIdentityFromPhone(n.phone,n):void 0!==n.phoneHash&&u.sdkObj.setIdentityFromPhoneHash(n.phoneHash,n)),o?(l?await H(v,o.advertising_token):await A(o.advertising_token),document.removeEventListener("visibilitychange",x)):window.ttdPixel.activeDetection||(t=new Promise(t=>{window.addEventListener("detected-identifier",function(e){t(e.detail.identifier),window.ttdPixel.activeDetection=null}),window.ttdPixel.startDetection(n)}),i=await(window.ttdPixel.activeDetection=t),await u.sdkObj.setIdentityFromEmail(i,n))}catch(e){console.warn("error setting up fireOrDetact: ",e)}}function U(n){Y(n)?u.sdkObj=__uid2:X(n)&&(u.sdkObj=__euid);try{u.sdkObj.callbacks.push(async(e,t)=>{switch(e){case"SdkLoaded":try{window.__ttd_m_invoke_once=window.__ttd_m_invoke_once||{},window.__ttd_m_invoke_once._uid_init||(window.__ttd_m_invoke_once._uid_init=1,n.baseUrl||(n.baseUrl=u.uidBaseUrl),u.sdkObj.init({baseUrl:n.baseUrl}))}catch(e){console.info("Non-TTD actor initialized UID SDK, mind the consistency of UID baseUrl.")}break;case"InitCompleted":await F(()=>t.identity,n);break;case"IdentityUpdated":l?await H(v,t.identity.advertising_token):await A(t.identity.advertising_token),document.removeEventListener("visibilitychange",x)}})}catch(e){console.warn("Did not setup uid hooks: ",e)}}function P(){var e,t=__gpp("getGPPData"),t={gppString:t?.gppString,gppSid:t?.applicableSections?.join(",")};return void 0===t.gppString&&(e=__gpp("ping"),t.gppString=e?.gppString,t.gppSid=e?.applicableSections?.join(",")),t}function M(e,t){var n;S?__gpp("removeEventListener",function(){},e.listenerId):"signalStatus"===e.eventName&&"ready"===e.data&&(n=P(),clearTimeout(T),D=new Date,N(n.gppString,n.gppSid),__gpp("removeEventListener",function(){},e.listenerId))}function B(){S=!0,O()}function K(){E=!0,O()}function I(e){E||(e.cmpLoaded||e.gdprAppliesGlobally?(clearTimeout(k),D=new Date,__cmp("getConsentData",null,O)):setTimeout(function(){__cmp("ping",null,I)},200))}function O(e){var t;null!=D&&(t=new Date-D,f=f+"&ret="+t,v.ret=t),E&&(f+="&pto=1",v.pto="1"),null!=e&&(t=e.gdprApplies?"1":"0",f=f+"&gdpr="+t+"&gdpr_consent="+e.consentData,v.gdpr=t,v.gdpr_consent=e.consentData),R()}async function R(){var e="universal_pixel_"+d.join("_");n(f),await C(f,e,"TTD Universal Pixel"),document.addEventListener("visibilitychange",x)}async function A(e,t){await C(await q+"&uiddt="+e+"&uidcs="+t,"universal_pixel_"+d.join("_")+"_uid","TTD Universal Pixel with UID")}async function C(e,t,n){let i=document.getElementById(t);for(;i&&i.parentElement.removeChild(i),i=document.getElementById(t););let o=document.createElement("iframe");function r(){p.appendChild(o),setTimeout(async()=>{l&&!a&&(await H(v),document.removeEventListener("visibilitychange",x))},1e3)}o.setAttribute("id",t),o.setAttribute("height",0),o.setAttribute("width",0),o.setAttribute("style","display:none;"),o.setAttribute("src",e),o.setAttribute("title",n),e.includes("/track/rt")&&n.includes("Realtime Fallback")?(p.appendChild(o),document.removeEventListener("visibilitychange",x)):"complete"===document.readyState?setTimeout(r,0):window.addEventListener?window.addEventListener("load",r):window.attachEvent?window.attachEvent("onload",r):r()}function $(){j=!0,O()}function z(e,t){var n;j?__tcfapi("removeEventListener",2,function(e){},e.listenerId):t&&(clearTimeout(L),t=e,null!=D&&(n=new Date-D,f=f+"&ret="+n,v.ret=n),j&&(f+="&pto=1",v.pto="1"),null!=t&&(n=function(e){return e?"1":"0"}(t.gdprApplies),f=f+"&gdpr="+n+"&gdpr_consent="+t.tcString,v.gdpr=n,v.gdpr_consent=t.tcString),R(),D=new Date,__tcfapi("removeEventListener",2,function(e){},e.listenerId))}function N(e,t){var n;null!=D&&(n=new Date-D,f=f+"&ret="+n,v.ret=n),null!=e&&(f=f+"&gpp_consent="+e,v.gpp_consent=e),null!=t&&(f=f+"&gpp_sid="+t,v.gpp_sid=t),R()}async function H(e,t){e.pixel_ids=d,t&&(e[u.rtUidTokenName]=t);const i=function(e){var t={};for(const n in e)void 0!==e[n]&&(t[n]=e[n]);return t}(e),o={data:[{...i}]},r=`https://${J(s)}/track/realtimeconversion`;return new Promise((e,t)=>{const n=new XMLHttpRequest;n.withCredentials=!0,n.open("POST",r),n.setRequestHeader("Content-type","application/json"),n.setRequestHeader("eventDataSource","UpSdk"),n.setRequestHeader("eventDataSourceVersion",G),n.onload=()=>{(200<=n.status&&n.status<300?e:t)(n.response)},n.onerror=async()=>{t(n.statusText),async function(e){var t="universal_pixel_realtime_fallback_"+d.join("_");e.eds="UpSdkGet",e.edsv=G,e.upid=d.join(",");const{pixel_ids:n,...i}=e;e=new URLSearchParams(i),await C(`https://${J(s)}/track/rt`+"?"+e.toString(),t,"TTD Universal Pixel Realtime Fallback")}(i)},n.send(JSON.stringify(o))}).catch(e=>{})}}}this.init=async function(t,n,i,o,r,a){if(("string"==typeof arguments[3]||!arguments[3]&&7<=arguments.length)&&(arguments[3]=null,4