https://metrics.unitedigital.io/tagging/AUDIUS/ud_tagging_bundle.js.gz

Eingereichte URL:
https://metrics.unitedigital.io/tagging/AUDIUS/ud_tagging_bundle.js.gz
Bericht beendet:

JavaScript-Variablen · 3 gefunden

NameTyp
onbeforetoggleobject
documentPictureInPictureobject
onscrollendobject

Konsolenprotokoll-Meldungen · 1 gefunden

TypKategorieProtokoll
errornetwork
URL
https://metrics.unitedigital.io/favicon.ico
Text
Failed to load resource: the server responded with a status of 404 ()

HTML

<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">/*! For license information please see ud_tagging_bundle.js.LICENSE.txt */
(()=&gt;{"use strict";var __webpack_modules__={166:function(e,t,o){var i=this&amp;&amp;this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(r,a){function n(e){try{s(i.next(e))}catch(e){a(e)}}function l(e){try{s(i.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(n,l)}s((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0});const r=o(629),a=o(701),n=o(273),l=o(28),s=o(985);function c(e){n.Logger.log({level:"debug",tags:["index","sendPageViewEvent","function-call"],context:"index.ts:sendPageViewEvent",title:"sendAutoPageViewEvent called",additionalData:{args:[{parameter:"url",value:e}]}}),n.Logger.log({level:"debug",tags:["index","sendPageViewEvent","function-call"],context:"index.ts:sendPageViewEvent",title:"sendAutoPageViewEvent disabled",additionalData:{args:[{parameter:"url",value:e}]}})}(function(){var e,t;return i(this,void 0,void 0,(function*(){window.ud_tag_config.updateLogPrintingFilter((e=&gt;["log","info"].includes(e.level))),n.Logger.log({level:"debug",tags:["index","init","function-call"],context:"index.ts:init",title:"init called",additionalData:{args:[]}}),n.Logger.log({level:"log",tags:["index","init"],context:"index.ts:init",title:"Initializing udTag v20240416.3",additionalData:{version:"20240416.3"}}),window.ud_errorQueue=[],null!==(e=window.ud_asc_dataLayer)&amp;&amp;void 0!==e||(window.ud_asc_dataLayer=[]),null!==(t=window.udTag)&amp;&amp;void 0!==t||(window.udTag=(...e)=&gt;window.ud_asc_dataLayer.push(e)),n.Logger.onEvent((e=&gt;{if("error"!==e.level||e.tags.includes("api")||e.tags.includes("batchProcessor"))return;const t=JSON.stringify({level:e.level,message:e.title,dateTime:e.timestamp,optionalParams:e.additionalData},null,2);window.ud_errorQueue.push({error:{message:t},retryCount:0})})),n.Logger.log({level:"debug",tags:["index","init","gtag"],context:"index.ts:init",title:"Loading GA4 for udTag"}),s.GoogleAnalyticsService.load().then((()=&gt;{n.Logger.log({level:"debug",tags:["index","init","gtag"],context:"index.ts:init",title:"Loading GA4 for udTag"})}));const o=a.CorrelationIdService.getInstance();window.addEventListener("mousemove",o.extendCorrelationIdExpiration),window.addEventListener("keydown",o.extendCorrelationIdExpiration),l.UserFingerprintService.getInstance(),window.udCorrelation={get:()=&gt;o.getCorrelationId()},(0,r.processDataLayer)(),(0,r.processErrors)(),window.addEventListener("popstate",(()=&gt;{n.Logger.log({level:"debug",tags:["index","init"],context:"index.ts:init",title:"'popstate' event fired"}),c(window.location.href)})),n.Logger.onEvent((e=&gt;{(e.tags.includes("udTagCorrelationIdGenerated")||e.tags.includes("udTagCorrelationIdFound"))&amp;&amp;window.ud_asc_dataLayer.push(["event","session_start",{event:"session_start"}])})),c(window.location.href),n.Logger.log({level:"log",tags:["index","init"],context:"index.ts:init",title:"udTag v20240416.3 initialization complete.",additionalData:{version:"20240416.3"}})}))})().catch((e=&gt;console.error("Failed to initialize udTag...",e)))},797:function(e,t,o){var i=this&amp;&amp;this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(r,a){function n(e){try{s(i.next(e))}catch(e){a(e)}}function l(e){try{s(i.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(n,l)}s((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.logErrorToAPI=t.sendBatchToAPI=void 0;const r=o(273);function a(e,t,o,a){var n;return i(this,void 0,void 0,(function*(){r.Logger.log({level:"debug",tags:["api","postToAPI","function-call"],context:"api.service.ts:postToAPI",title:"postToAPI called",additionalData:{args:[{parameter:"apiUrl",value:e},{parameter:"batch",value:t},{parameter:"onRetry",value:o},{parameter:"onSuccess",value:a}]}});try{const o={method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t.map((e=&gt;"mergedParams"in e?e.mergedParams:e)))};r.Logger.log({level:"debug",tags:["api","postToAPI"],context:"api.service.ts:postToAPI",title:"Calling fetch with params specified below",additionalData:{apiUrl:e,fetchOpts:o}});const i=yield fetch(e,o);if(r.Logger.log({level:"debug",tags:["api","postToAPI"],context:"api.service.ts:postToAPI",title:"Received response from API",additionalData:{response:i}}),!i.ok)throw r.Logger.log({level:"error",tags:["api","postToAPI"],context:"api.service.ts:postToAPI",title:"Response from API was not ok",additionalData:{response:i}}),new Error(`Failed to send batch to ${e}.`);const n=yield i.json();r.Logger.log({level:"debug",tags:["api","postToAPI"],context:"api.service.ts:postToAPI",title:"Parsed response from API",additionalData:{response:i,parsedData:n}}),a(n)}catch(e){r.Logger.log({level:"error",tags:["api","postToAPI"],context:"api.service.ts:postToAPI",title:"Response from API was not ok",additionalData:{error:e}});for(const e of t)e.retryCount=(null!==(n=e.retryCount)&amp;&amp;void 0!==n?n:0)+1,o(e)}}))}t.sendBatchToAPI=function(e){return i(this,void 0,void 0,(function*(){r.Logger.log({level:"debug",tags:["api","sendBatchToAPI","function-call"],context:"api.service.ts:sendBatchToAPI",title:"sendBatchToAPI called",additionalData:{args:[{parameter:"batch",value:e}]}}),yield a("https://metrics.unitedigital.io/api/v1/tagging",e,(e=&gt;{e.retryCount&gt;=parseInt("10")?r.Logger.log({level:"error",tags:["api","sendBatchToAPI"],context:"api.service.ts:sendBatchToAPI",title:"Failed to send event to https://metrics.unitedigital.io/api/v1/tagging",additionalData:{apiUrl:"https://metrics.unitedigital.io/api/v1/tagging",event:e}}):window.ud_asc_dataLayer.push({eventContext:e.eventContext,mergedParams:e.mergedParams,retryCount:e.retryCount})}),(e=&gt;{r.Logger.log({level:"debug",tags:["api","sendBatchToAPI"],context:"api.service.ts:sendBatchToAPI",title:"Batch sent successfully",additionalData:{apiUrl:"https://metrics.unitedigital.io/api/v1/tagging",data:e}})}))}))},t.logErrorToAPI=function(e){return i(this,void 0,void 0,(function*(){r.Logger.log({level:"debug",tags:["api","logErrorToAPI","function-call"],context:"api.service.ts:logErrorToAPI",title:"logErrorToAPI called",additionalData:{args:[{parameter:"batch",value:e}]}}),yield a("https://metrics.unitedigital.io/api/v1/error",e,(e=&gt;{e.retryCount&gt;=parseInt("10")?r.Logger.log({level:"error",tags:["api","logErrorToAPI"],context:"api.service.ts:logErrorToAPI",title:"Failed to send error to https://metrics.unitedigital.io/api/v1/tagging",additionalData:{apiUrl:"https://metrics.unitedigital.io/api/v1/tagging",err:e}}):window.ud_errorQueue.push(e)}),(e=&gt;{r.Logger.log({level:"debug",tags:["api","logErrorToAPI"],context:"api.service.ts:logErrorToAPI",title:"Error batch sent successfully",additionalData:{apiUrl:"https://metrics.unitedigital.io/api/v1/tagging",data:e}})}))}))}},629:function(e,t,o){var i=this&amp;&amp;this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(r,a){function n(e){try{s(i.next(e))}catch(e){a(e)}}function l(e){try{s(i.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(n,l)}s((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.processErrors=t.processDataLayer=void 0;const r=o(797),a=o(834),n=o(273),l=o(805),s=o(28),c=o(701),g=o(985);function d(e){return i(this,void 0,void 0,(function*(){const t=(yield s.UserFingerprintService.getInstance()).fingerprints;return{eventContext:e[1],mergedParams:Object.assign(Object.assign({eventName:e[1]},window.ud_tag_config.toDataLayerConfig()),{eventParams:e[2],browserData:l.BrowserInfoService.getInfo(),correlationId:c.CorrelationIdService.getInstance().getCorrelationId(),generatedDateTime:(new Date).toISOString(),udEventId:crypto.randomUUID(),fingerprints:{primary:t.fingerprintjspro,secondary:t.fingerprintjs,fallback:t.fallback}}),retryCount:0}}))}t.processDataLayer=function e(){return i(this,void 0,void 0,(function*(){if(n.Logger.log({level:"debug",tags:["batchProcessor","processDataLayer","function-call"],context:"batchProcessor.service.ts:processDataLayer",title:"processDataLayer called",additionalData:{args:[]}}),window.ud_tag_config.configureFromDataLayer(),!window.ud_tag_config.isConfigured()){const t=1e3;return n.Logger.log({level:"warn",tags:["batchProcessor","processDataLayer"],context:"batchProcessor.service.ts:processDataLayer",title:"Attempted to process data layer before configuration",message:`processDataLayer was called before config data was provided to the data layer. Trying again in ${t}ms.`}),void setTimeout(e,t)}let t=0;const o=[],i=parseInt("10",10);for(;t&lt;window.ud_asc_dataLayer.length&amp;&amp;o.length&lt;i;){const e=window.ud_asc_dataLayer[t];if(n.Logger.log({level:"debug",tags:["batchProcessor","processDataLayer"],context:"batchProcessor.service.ts:processDataLayer",title:"Processing data layer entry",message:`Processing entry in data layer at index ${t}.`,additionalData:{entry:e}}),(0,a.isDataLayerEvent)(e))n.Logger.log({level:"debug",tags:["batchProcessor","processDataLayer"],context:"batchProcessor.service.ts:processDataLayer",title:"Processed data layer entry identified as: DataLayerEvent",additionalData:{entry:e}}),o.push(e);else if((0,a.isIArgumentsEvent)(e)){n.Logger.log({level:"debug",tags:["batchProcessor","processDataLayer"],context:"batchProcessor.service.ts:processDataLayer",title:"Processed data layer entry identified as: IArgumentsEvent",additionalData:{entry:e}});const t=yield d(e);n.Logger.log({level:"debug",tags:["batchProcessor","processDataLayer"],context:"batchProcessor.service.ts:processDataLayer",title:"Converted IArgumentsEvent to DataLayerEvent",additionalData:{before:e,after:t}}),o.push(t)}else n.Logger.log({level:"warn",tags:["batchProcessor","processDataLayer"],context:"batchProcessor.service.ts:processDataLayer",title:"Encounter and dropped malformed data layer entry",additionalData:{entry:e}});t++}window.ud_asc_dataLayer.splice(0,t),n.Logger.log({level:"debug",tags:["batchProcessor","processDataLayer"],context:"batchProcessor.service.ts:processDataLayer",title:`Removed ${t} processed entries from data layer`,additionalData:{resultingBatch:o,resultingDataLayer:window.ud_asc_dataLayer,numberOfEventsProcessed:t,remainingDataLayerSize:window.ud_asc_dataLayer.length}});try{n.Logger.log({level:"debug",tags:["batchProcessor","processDataLayer","gtag"],context:"batchProcessor.service.ts:processDataLayer",title:"Integration with gtag is enabled, forwarding batch to gtag"}),g.GoogleAnalyticsService.dispatchEvents(...o),o.length&gt;0?(n.Logger.log({level:"debug",tags:["batchProcessor","processDataLayer"],context:"batchProcessor.service.ts:processDataLayer",title:`Attempting to dispatch ${o.length} events to API...`,additionalData:{batchSize:o.length,batch:o}}),yield(0,r.sendBatchToAPI)(o),n.Logger.log({level:"info",tags:["batchProcessor","processDataLayer"],context:"batchProcessor.service.ts:processDataLayer",title:`Successfully dispatched ${o.length} events to API`,additionalData:{batchSize:o.length,batch:o}})):n.Logger.log({level:"debug",tags:["batchProcessor","processDataLayer"],context:"batchProcessor.service.ts:processDataLayer",title:"Skipping dispatching of empty batch to API"}),setTimeout(e,1e3)}catch(e){n.Logger.log({level:"error",tags:["batchProcessor","processDataLayer","API error"],context:"batchProcessor.service.ts:processDataLayer",title:"Failed to send batch of event data to API",additionalData:{error:e,batch:o}})}}))},t.processErrors=function e(){return i(this,void 0,void 0,(function*(){n.Logger.log({level:"debug",tags:["batchProcessor","processErrors","function-call"],context:"batchProcessor.service.ts:processErrors",title:"processErrors called",additionalData:{args:[]}});const t=window.ud_errorQueue.splice(0,Math.max(window.ud_errorQueue.length,parseInt("10")));if(n.Logger.log({level:"debug",tags:["batchProcessor","processErrors"],context:"batchProcessor.service.ts:processErrors",title:`Extracted ${t.length} errors from error queue`}),t.length&gt;0)try{n.Logger.log({level:"debug",tags:["batchProcessor","processErrors"],context:"batchProcessor.service.ts:processErrors",title:`Attempting to dispatch ${t.length} errors to API...`,additionalData:{batchSize:t.length,batch:t}}),yield(0,r.logErrorToAPI)(t),n.Logger.log({level:"info",tags:["batchProcessor","processErrors"],context:"batchProcessor.service.ts:processErrors",title:`Successfully dispatched ${t.length} errors to API`,additionalData:{batchSize:t.length,batch:t}}),setTimeout(e,1e3)}catch(t){n.Logger.log({level:"error",tags:["batchProcessor","processErrors"],context:"batchProcessor.service.ts:processErrors",title:"Failed to send batched errors to API",additionalData:{error:t}}),setTimeout(e,1e3)}else n.Logger.log({level:"debug",tags:["batchProcessor","processErrors"],context:"batchProcessor.service.ts:processErrors",title:"No queued errors found"})}))}},805:(e,t)=&gt;{Object.defineProperty(t,"__esModule",{value:!0}),t.BrowserInfoService=void 0;class o{static getScreenInfo(){var e,t,o;return void 0===window||void 0===(null===window||void 0===window?void 0:window.screen)?{}:{screenWidth:null!==(e=window.screen.width)&amp;&amp;void 0!==e?e:"",screenHeight:null!==(t=window.screen.height)&amp;&amp;void 0!==t?t:"",cookiesEnabled:null!==(o=null===navigator||void 0===navigator?void 0:navigator.cookieEnabled)&amp;&amp;void 0!==o&amp;&amp;o,localStorageEnabled:!!window.localStorage,sessionStorageEnabled:!!window.sessionStorage}}static getConnectionInfo(){var e,t,o,i,r,a,n,l,s;const c=null!==(o=null!==(t=null!==(e=null===navigator||void 0===navigator?void 0:navigator.connection)&amp;&amp;void 0!==e?e:null===navigator||void 0===navigator?void 0:navigator.mozConnection)&amp;&amp;void 0!==t?t:null===navigator||void 0===navigator?void 0:navigator.webkitConnection)&amp;&amp;void 0!==o?o:{};return{connectionType:null!==(i=c.effectiveType)&amp;&amp;void 0!==i?i:"",downlink:null!==(a=null===(r=c.downlink)||void 0===r?void 0:r.toString())&amp;&amp;void 0!==a?a:"",roundTripTime:null!==(l=null===(n=c.rtt)||void 0===n?void 0:n.toString())&amp;&amp;void 0!==l?l:"",saveData:null!==(s=c.saveData)&amp;&amp;void 0!==s&amp;&amp;s}}static getMediaPreferences(){var e,t,o,i,r,a,n,l,s,c,g;return void 0===window?{}:{darkSchemePreferred:null!==(o=null===(t=null===(e=window.matchMedia)||void 0===e?void 0:e.call(window,"(prefers-color-scheme: dark)"))||void 0===t?void 0:t.matches)&amp;&amp;void 0!==o&amp;&amp;o,reducedMotionPreferred:null!==(a=null===(r=null===(i=window.matchMedia)||void 0===i?void 0:i.call(window,"(prefers-reduced-motion: reduce)"))||void 0===r?void 0:r.matches)&amp;&amp;void 0!==a&amp;&amp;a,timeZone:null!==(g=null===(c=null===(s=null===(l=null===(n=null===Intl||void 0===Intl?void 0:Intl.DateTimeFormat)||void 0===n?void 0:n.call(Intl))||void 0===l?void 0:l.resolvedOptions)||void 0===s?void 0:s.call(l))||void 0===c?void 0:c.timeZone)&amp;&amp;void 0!==g?g:null}}static getSupportChecks(){var e;return{geolocationSupported:"geolocation"in navigator,serviceWorkerSupported:"serviceWorker"in(null!==navigator&amp;&amp;void 0!==navigator?navigator:{}),indexedDBSupported:"indexedDB"in(null!==window&amp;&amp;void 0!==window?window:{}),touchEventsSupported:"ontouchstart"in(null!==window&amp;&amp;void 0!==window?window:{})||!!((null===window||void 0===window?void 0:window.DocumentTouch)&amp;&amp;document instanceof window.DocumentTouch),orientation:null!==(e=null===window||void 0===window?void 0:window.orientation)&amp;&amp;void 0!==e?e:""}}static getPlugins(){var e;return Array.from(null!==(e=null===navigator||void 0===navigator?void 0:navigator.plugins)&amp;&amp;void 0!==e?e:[]).map((e=&gt;e.name))}}t.BrowserInfoService=o,o.getInfo=()=&gt;{var e,t,i,r,a,n,l;return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({userAgent:null!==(e=null===navigator||void 0===navigator?void 0:navigator.userAgent)&amp;&amp;void 0!==e?e:"",platform:null!==(t=null===navigator||void 0===navigator?void 0:navigator.platform)&amp;&amp;void 0!==t?t:"",language:null!==(i=null===navigator||void 0===navigator?void 0:navigator.language)&amp;&amp;void 0!==i?i:"",appVersion:null!==(r=null===navigator||void 0===navigator?void 0:navigator.appVersion)&amp;&amp;void 0!==r?r:"",vendor:null!==(a=null===navigator||void 0===navigator?void 0:navigator.vendor)&amp;&amp;void 0!==a?a:"",onLine:null!==(n=null===navigator||void 0===navigator?void 0:navigator.onLine)&amp;&amp;void 0!==n&amp;&amp;n},o.getScreenInfo()),o.getConnectionInfo()),o.getMediaPreferences()),o.getSupportChecks()),{plugins:o.getPlugins(),referrer:null!==(l=null===document||void 0===document?void 0:document.referrer)&amp;&amp;void 0!==l?l:"",url:window.location})}},272:function(e,t,o){var i=this&amp;&amp;this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(r,a){function n(e){try{s(i.next(e))}catch(e){a(e)}}function l(e){try{s(i.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(n,l)}s((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.TagConfig=void 0;const r=o(273),a=o(834),n=o(5);class l{constructor(){this.cookieAcceptanceCheckMethod=()=&gt;{if(!(()=&gt;{try{const e="ud_localStorage_test";return localStorage.setItem(e,"test"),localStorage.removeItem(e),!0}catch(e){return!1}})())return!0;const e=localStorage.getItem("cookieAcceptance");if(null===e)return!0;return["true","yes","1","accepted"].includes(e.toLowerCase())},this.logPrintingFilter=()=&gt;!1,this.brandId=new n.AwaitableValue,this.partnerCode=new n.AwaitableValue,this.dealerCode=new n.AwaitableValue,r.Logger.onEvent((e=&gt;{this.logPrintingFilter(e)&amp;&amp;e.print()}))}static getInstance(){var e;return r.Logger.log({level:"debug",tags:["config","TagConfig","getInstance","function-call"],context:"config.service.ts:TagConfig.getInstance",title:"TagConfig.getInstance called",additionalData:{args:[]}}),void 0===l.instance&amp;&amp;(r.Logger.log({level:"debug",tags:["config","TagConfig","getInstance"],context:"config.service.ts:TagConfig.getInstance",title:"Initializing TagConfig instance"}),null!==(e=l.instance)&amp;&amp;void 0!==e||(l.instance=new l)),l.instance}isConfigured(){return void 0!==this.brandId.value&amp;&amp;void 0!==this.partnerCode.value}configure(e){r.Logger.log({level:"debug",tags:["config","TagConfig","configure","function-call"],context:"config.service.ts:TagConfig.configure",title:"TagConfig.configure called",additionalData:{args:[{parameter:"config",value:e}],currentConfig:{brandId:this.brandId,partnerCode:this.partnerCode,dealerCode:this.dealerCode,cookieAcceptanceCheckMethod:this.cookieAcceptanceCheckMethod}}}),void 0!==e.brandId&amp;&amp;this.brandId.resolve(e.brandId),void 0!==e.partnerCode&amp;&amp;this.partnerCode.resolve(e.partnerCode),void 0!==e.dealerCode&amp;&amp;this.dealerCode.resolve(e.dealerCode),void 0!==e.cookieAcceptanceCheckMethod&amp;&amp;(this.cookieAcceptanceCheckMethod=e.cookieAcceptanceCheckMethod),r.Logger.log({level:"info",tags:["config","TagConfig","configure"],context:"config.service.ts:TagConfig.configure",title:"Tag config updated",additionalData:{config:{brandId:this.brandId,partnerCode:this.partnerCode,dealerCode:this.dealerCode,cookieAcceptanceCheckMethod:this.cookieAcceptanceCheckMethod}}})}configureFromDataLayer(){r.Logger.log({level:"debug",tags:["config","TagConfig","configureFromDataLayer","function-call"],context:"config.service.ts:TagConfig.configureFromDataLayer",title:"TagConfig.configureFromDataLayer called",additionalData:{args:[]}});const e=[],t=[];for(const o of window.ud_asc_dataLayer)0 in o&amp;&amp;"init"===o[0]?e.push(o):t.push(o);window.ud_asc_dataLayer=t,r.Logger.log({level:"debug",tags:["config","TagConfig","configureFromDataLayer"],context:"config.service.ts:TagConfig.configureFromDataLayer",title:`Found ${e.length} init/config entries in data layer`,additionalData:{configEntryCount:e.length,configEntries:e}});for(const t of e){if(r.Logger.log({level:"debug",tags:["config","TagConfig","configureFromDataLayer"],context:"config.service.ts:TagConfig.configureFromDataLayer",title:"Processing init/config entry from data layer.",additionalData:{entry:t}}),!(1 in t)){r.Logger.log({level:"warn",tags:["config","TagConfig","configureFromDataLayer"],context:"config.service.ts:TagConfig.configureFromDataLayer",title:"Found init/config entry without second argument (config object).",additionalData:{entry:t}});continue}if(!(0,a.isConfig)(t[1])){r.Logger.log({level:"warn",tags:["config","TagConfig","configureFromDataLayer"],context:"config.service.ts:TagConfig.configureFromDataLayer",title:"Found init/config entry with second argument (config object) that is not a valid config object.",additionalData:{entry:t}});continue}const e=t[1];r.Logger.log({level:"debug",tags:["config","TagConfig","configureFromDataLayer"],context:"config.service.ts:TagConfig.configureFromDataLayer",title:"Setting config from data layer.",additionalData:{config:e}}),this.configure(e)}}hasBrandId(){return void 0!==this.brandId.value}getBrandId(){if(void 0!==this.brandId.value)return this.brandId.value;throw new Error("Brand ID not configured")}hasPartnerCode(){return void 0!==this.partnerCode.value}getPartnerCode(){if(void 0!==this.partnerCode.value)return this.partnerCode.value;throw new Error("Partner code not configured.")}hasDealerCode(){return void 0!==this.dealerCode.value}getDealerCode(){if(void 0!==this.dealerCode.value)return this.dealerCode.value;throw new Error("Dealer code not configured.")}getCookieAcceptanceCheckMethod(){return this.cookieAcceptanceCheckMethod}awaitBrandIdAndDealerCode(){return i(this,void 0,void 0,(function*(){return{brandId:yield this.brandId.promise,dealerCode:yield this.dealerCode.promise}}))}updateLogPrintingFilter(e){this.logPrintingFilter=e}toDataLayerConfig(){if(r.Logger.log({level:"debug",tags:["config","TagConfig","toDataLayerConfig","function-call"],context:"config.service.ts:TagConfig.toDataLayerConfig",title:"TagConfig.toDataLayerConfig called",additionalData:{args:[]}}),!this.isConfigured())throw r.Logger.log({level:"error",tags:["config","TagConfig","toDataLayerConfig"],context:"config.service.ts:TagConfig.toDataLayerConfig",title:"TagConfig.toDataLayerConfig called before configuration"}),new Error("Config not fully configured.");return{brandId:this.brandId.value,partnerCode:this.partnerCode.value,dealerCode:this.dealerCode.value,cookieAcceptanceCheckMethod:this.cookieAcceptanceCheckMethod}}}t.TagConfig=l,Object.defineProperty(window,"ud_tag_config",{get:()=&gt;l.getInstance()})},751:(e,t,o)=&gt;{Object.defineProperty(t,"__esModule",{value:!0}),t.CookieService=void 0;const i=o(273);class r{static createCookieString(e){i.Logger.log({level:"debug",tags:["cookie","CookieService","createCookieString","function-call"],context:"cookie.service.ts:CookieService.createCookieString",title:"CookieService.createCookieString called",additionalData:{args:[{parameter:"cookie",value:e}]}});let t=`${e.name}=${e.value}`;return e.expires&amp;&amp;(t+=`; Expires=${e.expires.toUTCString()}`),e.maxAge&amp;&amp;(t+=`; Max-Age=${e.maxAge}`),e.path&amp;&amp;(t+=`; Path=${e.path}`),e.domain&amp;&amp;(t+=`; Domain=${e.domain}`),e.secure&amp;&amp;(t+="; Secure"),e.sameSite&amp;&amp;(t+=`; SameSite=${e.sameSite}`),e.partitioned&amp;&amp;(t+="; Partitioned"),i.Logger.log({level:"debug",tags:["cookie","CookieService","createCookieString"],context:"cookie.service.ts:CookieService.createCookieString",title:`Created cookie string: '${t}'.`,additionalData:{cookie:e,cookieString:t}}),t}static getAllCookies(){return i.Logger.log({level:"debug",tags:["cookie","CookieService","getAllCookies","function-call"],context:"cookie.service.ts:CookieService.getAllCookies",title:"CookieService.getAllCookies called",additionalData:{args:[]}}),Object.fromEntries(document.cookie.split(";").map((e=&gt;e.trim())).map((e=&gt;e.split("="))))}static hasAcceptedCookies(){i.Logger.log({level:"debug",tags:["cookie","CookieService","hasAcceptedCookies","function-call"],context:"cookie.service.ts:CookieService.hasAcceptedCookies",title:"CookieService.hasAcceptedCookies called",additionalData:{args:[]}});const e=window.ud_tag_config.getCookieAcceptanceCheckMethod(),t=e();return i.Logger.log({level:"debug",tags:["cookie","CookieService","hasAcceptedCookies"],context:"cookie.service.ts:CookieService.hasAcceptedCookies",title:`Cookie acceptable check result: ${t}`,additionalData:{cookieAcceptanceCheckMethod:e,result:t}}),t}static getCookie(e){var t;i.Logger.log({level:"debug",tags:["cookie","CookieService","getCookie","function-call"],context:"cookie.service.ts:CookieService.getCookie",title:"CookieService.getCookie called",additionalData:{args:[{parameter:"name",value:e}]}});const o=null!==(t=r.getAllCookies()[e])&amp;&amp;void 0!==t?t:null,a=null===o?`Cookie lookup failed for cookie with name: '${e}'`:`Cookie lookup succeeded for cookie with name: '${e}' (found value: '${o}');`;return i.Logger.log({level:"debug",tags:["cookie","CookieService","getCookie"],context:"cookie.service.ts:CookieService.getCookie",title:a,additionalData:{cookieName:e,cookieValue:o}}),o}static setCookie(e){if(i.Logger.log({level:"debug",tags:["cookie","CookieService","setCookie","function-call"],context:"cookie.service.ts:CookieService.setCookie",title:"CookieService.setCookie called",additionalData:{args:[{parameter:"cookie",value:e}]}}),!e.name)return void i.Logger.log({level:"warn",tags:["cookie","CookieService","setCookie"],context:"cookie.service.ts:CookieService.setCookie",title:"Cannot set cookie with an empty name.",additionalData:{args:[{parameter:"cookie",value:e}]}});if(!this.hasAcceptedCookies())return void i.Logger.log({level:"warn",tags:["cookie","CookieService","setCookie"],context:"cookie.service.ts:CookieService.setCookie",title:"Cannot set cookies before the user has accepted cookies.",message:"The check for cookie acceptance is handled by the window.ud_tag_config.getCookieAcceptanceCheckMethod() method, the current version of which returned false, indicating that the user has not accepted cookies.",additionalData:{args:[{parameter:"cookie",value:e}]}});const t=r.createCookieString(e);i.Logger.log({level:"debug",tags:["cookie","CookieService","setCookie"],context:"cookie.service.ts:CookieService.setCookie",title:`Setting cookie: '${e.name}'`,additionalData:{args:[{parameter:"cookie",value:e}],cookieString:t}}),document.cookie=t}static calculateExpiration(e){i.Logger.log({level:"debug",tags:["cookie","CookieService","calculateExpiration","function-call"],context:"cookie.service.ts:CookieService.calculateExpiration",title:"CookieService.calculateExpiration called",additionalData:{args:[{parameter:"expirationMs",value:e}]}});const t=new Date(Date.now()+e);return i.Logger.log({level:"debug",tags:["cookie","CookieService","calculateExpiration"],context:"cookie.service.ts:CookieService.calculateExpiration",title:`Calculated cookie expiration date for expiration delay of ${e}ms as: '${t.toISOString()}'`,additionalData:{expirationDelayMs:e,expirationDate:t}}),t}}t.CookieService=r},701:(e,t,o)=&gt;{Object.defineProperty(t,"__esModule",{value:!0}),t.CorrelationIdService=void 0;const i=o(751),r=o(419),a=o(273),n=o(648);class l{constructor(){a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","constructor","function-call"],context:"correlationId.service.ts:CorrelationIdService.constructor",title:"CorrelationIdService constructor called",additionalData:{args:[]}});const e=l.getCorrelationIdFromQueryParam();if(null!==e)this.correlationId=e,a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","regenerateCorrelationId","udTagCorrelationIdFound"],context:"correlationId.service.ts:CorrelationIdService.constructor",title:"Found existing correlation ID in query parameter.",additionalData:{correlationId:this.correlationId,expirationDateTime:this.expirationDateTime}});else{const e=l.getCorrelationIdFromCookie();null!==e?(this.correlationId=e,a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","regenerateCorrelationId","udTagCorrelationIdFound"],context:"correlationId.service.ts:CorrelationIdService.constructor",title:"Found existing correlation ID in cookie.",additionalData:{correlationId:this.correlationId,expirationDateTime:this.expirationDateTime}})):this.regenerateCorrelationId()}this.resetCorrelationIdExpiration(),this.updateCorrelationIdCookie(),this.extendCorrelationIdExpiration=(0,r.debounce)((()=&gt;{this.validateCorrelationId(),this.resetCorrelationIdExpiration()}),1e3*parseInt("60"))}static getInstance(){var e;return a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","getInstance","function-call"],context:"correlationId.service.ts:CorrelationIdService.getInstance",title:"CorrelationIdService.getInstance called",additionalData:{args:[]}}),null!==(e=l.instance)&amp;&amp;void 0!==e||(l.instance=new l),l.instance}static getCorrelationIdFromQueryParam(){a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","getCorrelationIdFromQueryParam","function-call"],context:"correlationId.service.ts:CorrelationIdService.getCorrelationIdFromQueryParam",title:"CorrelationIdService.getCorrelationIdFromQueryParam called",additionalData:{args:[]}});const e=new URLSearchParams(window.location.search).get(l.COOKIE_NAME);return a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","getCorrelationIdFromQueryParam"],context:"correlationId.service.ts:CorrelationIdService.getCorrelationIdFromQueryParam",title:"Retrieved correlation ID from query param.",additionalData:{queryParamName:l.COOKIE_NAME,queryParamValue:e}}),e}static getCorrelationIdFromCookie(){a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","getCorrelationIdFromCookie","function-call"],context:"correlationId.service.ts:CorrelationIdService.getCorrelationIdFromCookie",title:"CorrelationIdService.getCorrelationIdFromCookie called",additionalData:{args:[]}});const e=i.CookieService.getCookie(l.COOKIE_NAME);return a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","getCorrelationIdFromCookie"],context:"correlationId.service.ts:CorrelationIdService.getCorrelationIdFromCookie",title:"Retrieved correlation ID from cookie.",additionalData:{cookieName:l.COOKIE_NAME,cookieValue:e}}),e}static getInactivityTimeout(){return 60*parseInt(("30","30"))*1e3}validateCorrelationId(){this.hasCorrelationIdExpired()&amp;&amp;this.regenerateCorrelationId()}regenerateCorrelationId(){a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","regenerateCorrelationId","function-call"],context:"correlationId.service.ts:CorrelationIdService.regenerateCorrelationId",title:"CorrelationIdService.regenerateCorrelationId called",additionalData:{args:[]}}),this.correlationId=(0,n.uuidv4)(),this.resetCorrelationIdExpiration(),this.updateCorrelationIdCookie(),a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","regenerateCorrelationId","udTagCorrelationIdGenerated"],context:"correlationId.service.ts:CorrelationIdService.regenerateCorrelationId",title:"Generated new correlation ID.",additionalData:{correlationId:this.correlationId,expirationDateTime:this.expirationDateTime}})}resetCorrelationIdExpiration(){this.expirationDateTime=new Date(Date.now()+l.getInactivityTimeout()),this.updateCorrelationIdCookie()}hasCorrelationIdExpired(){return new Date&gt;this.expirationDateTime}updateCorrelationIdCookie(){a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","updateCorrelationIdCookie","function-call"],context:"correlationId.service.ts:CorrelationIdService.updateCorrelationIdCookie",title:"CorrelationIdService.updateCorrelationIdCookie called",additionalData:{args:[]}});try{i.CookieService.setCookie({name:l.COOKIE_NAME,value:this.correlationId,expires:this.expirationDateTime,path:"/",sameSite:"None",secure:!0})}catch(e){a.Logger.log({level:"error",tags:["correlationId","CorrelationIdService","updateCorrelationIdCookie"],context:"correlationId.service.ts:CorrelationIdService.updateCorrelationIdCookie",title:"Error setting correlation ID cookie.",additionalData:{correlationId:this.correlationId,error:e}})}}getCorrelationId(){a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","getCorrelationId","function-call"],context:"correlationId.service.ts:CorrelationIdService.getCorrelationId",title:"CorrelationIdService.getCorrelationId called",additionalData:{args:[]}});const e=l.getCorrelationIdFromCookie();return null!==e&amp;&amp;e!==this.correlationId&amp;&amp;(a.Logger.log({level:"debug",tags:["correlationId","CorrelationIdService","getCorrelationId"],context:"correlationId.service.ts:CorrelationIdService.getCorrelationId",title:"Encountered correlation ID mismatch between instance and cookie. Updating instance.",additionalData:{instanceCorrelationId:this.correlationId,cookieCorrelationId:e}}),this.correlationId=e,this.resetCorrelationIdExpiration(),this.updateCorrelationIdCookie()),this.validateCorrelationId(),this.correlationId}}t.CorrelationIdService=l,l.COOKIE_NAME="udCorrelationId"},985:function(e,t,o){var i=this&amp;&amp;this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(r,a){function n(e){try{s(i.next(e))}catch(e){a(e)}}function l(e){try{s(i.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(n,l)}s((i=i.apply(e,t||[])).next())}))},r=this&amp;&amp;this.__rest||function(e,t){var o={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&amp;&amp;t.indexOf(i)&lt;0&amp;&amp;(o[i]=e[i]);if(null!=e&amp;&amp;"function"==typeof Object.getOwnPropertySymbols){var r=0;for(i=Object.getOwnPropertySymbols(e);r&lt;i.length;r++)t.indexOf(i[r])&lt;0&amp;&amp;Object.prototype.propertyIsEnumerable.call(e,i[r])&amp;&amp;(o[i[r]]=e[i[r]])}return o};Object.defineProperty(t,"__esModule",{value:!0}),t.GoogleAnalyticsService=void 0;const a=o(751),n=o(272),l=o(5),s=o(273);class c{static load(){var e;return i(this,void 0,void 0,(function*(){return s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","load","function-call"],context:"google.service.ts:GoogleAnalyticsUtilities.load",title:"GoogleAnalyticsUtilities.load called",additionalData:{args:[]}}),null!==(e=this.loadPromise)&amp;&amp;void 0!==e||(this.loadPromise=this.getNewLoadPromise()),this.loadPromise}))}static getNewLoadPromise(){return i(this,void 0,void 0,(function*(){if(s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","getNewLoadPromise","function-call"],context:"google.service.ts:GoogleAnalyticsUtilities.load",title:"GoogleAnalyticsUtilities.load called",additionalData:{args:[]}}),"function"!=typeof window.gtag){s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","getNewLoadPromise"],context:"google.service.ts:GoogleAnalyticsUtilities.getNewLoadPromise",title:"Appending Google Tag Manager script to head..."});const e=document.createElement("script");e.async=!0,e.src="https://www.googletagmanager.com/gtag/js?id=",e.src+=(yield this.getGTagID()),document.head.appendChild(e),s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","getNewLoadPromise"],context:"google.service.ts:GoogleAnalyticsUtilities.getNewLoadPromise",title:"Appended Google Tag Manager script to head."}),s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","getNewLoadPromise"],context:"google.service.ts:GoogleAnalyticsUtilities.getNewLoadPromise",title:"Initializing dataLayer and gtag function..."}),window.dataLayer=window.dataLayer||[],window.gtag=function(...e){window.dataLayer.push(e)},s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","getNewLoadPromise"],context:"google.service.ts:GoogleAnalyticsUtilities.getNewLoadPromise",title:"Initialized dataLayer and gtag function."})}const e={send_page_view:!1,groups:"UD_AUDIUS"};s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","getNewLoadPromise"],context:"google.service.ts:GoogleAnalyticsUtilities.getNewLoadPromise",title:"Firing gtag 'config' action...",additionalData:{gtagConfigOptions:e}}),window.gtag("config",yield this.getGTagID(),e)}))}static getGTagID(){return i(this,void 0,void 0,(function*(){return s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","getGTagID","function-call"],context:"google.service.ts:GoogleAnalyticsUtilities.getGTagID",title:"GoogleAnalyticsUtilities.getGTagID called",additionalData:{args:[]}}),void 0===this.gtagId&amp;&amp;(s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","getGTagID"],context:"google.service.ts:GoogleAnalyticsUtilities.getGTagID",title:"Initializing awaitable value for gtagId..."}),this.gtagId=new l.AwaitableValue,this.fetchGTagID().then((e=&gt;{var t;null===(t=this.gtagId)||void 0===t||t.resolve(e)})).catch((()=&gt;{this.shouldIgnoreEvents=!0}))),this.gtagId.promise}))}static fetchGTagID(){return i(this,void 0,void 0,(function*(){s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","fetchGTagID","function-call"],context:"google.service.ts:GoogleAnalyticsUtilities.fetchGTagID",title:"GoogleAnalyticsUtilities.fetchGTagID called",additionalData:{args:[]}});const e="ud_gtag_id",t=a.CookieService.getCookie(e);if(t)return s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","fetchGTagID"],context:"google.service.ts:GoogleAnalyticsUtilities.fetchGTagID",title:"Retrieved gtag ID from cookie.",additionalData:{cookieName:e,cookieValue:t}}),t;const{brandId:o,dealerCode:i}=yield n.TagConfig.getInstance().awaitBrandIdAndDealerCode(),r=`https://metrics.unitedigital.io/api/v1/gtag/${o}/${i}`;s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","fetchGTagID"],context:"google.service.ts:GoogleAnalyticsUtilities.fetchGTagID",title:"Fetching gtag ID from server...",additionalData:{endpoint:r,brandId:o,dealerCode:i}});const l=yield fetch(r);if(404===l.status){const e=`Failed to find gtag ID for the given brand ID and dealer code combination (brand ID: '${o}', dealer code: '${i}').`;throw s.Logger.log({level:"error",tags:["google","GoogleAnalyticsUtilities","fetchGTagID"],context:"google.service.ts:GoogleAnalyticsUtilities.fetchGTagID",title:e,additionalData:{response:l,brandId:o,dealerCode:i}}),new Error(e)}if(!l.ok){const e="Failed to fetch gtag ID from server for unknown reason.";throw s.Logger.log({level:"error",tags:["google","GoogleAnalyticsUtilities","fetchGTagID"],context:"google.service.ts:GoogleAnalyticsUtilities.fetchGTagID",title:e,additionalData:{response:l,brandId:o,dealerCode:i}}),new Error(e)}const c=yield l.json(),g=c.gTagId;return s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","fetchGTagID"],context:"google.service.ts:GoogleAnalyticsUtilities.fetchGTagID",title:"Successfully fetched gtag ID from server.",additionalData:{response:l,responseJson:c,brandId:o,dealerCode:i,gtagId:g}}),a.CookieService.setCookie({name:e,value:g,expires:a.CookieService.calculateExpiration(2592e6),path:"/",sameSite:"None",secure:!0}),g}))}static flattenParamsForGA(e){s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","flattenParamsForGA","function-call"],context:"google.service.ts:GoogleAnalyticsUtilities.flattenParamsForGA",title:"GoogleAnalyticsUtilities.flattenParamsForGA called",additionalData:{args:[{parameter:"mergedParams",value:e}]}});const{eventParams:t,browserData:o}=e,i=r(e,["eventParams","browserData"]),a=Object.assign(Object.assign(Object.assign({},t),o),i);return s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","flattenParamsForGA"],context:"google.service.ts:GoogleAnalyticsUtilities.flattenParamsForGA",title:"Flattened event parameter for Google Analytics.",additionalData:{preFlatteningParams:e,postFlatteningParams:a}}),a}static dispatchEvents(...e){s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","dispatchEvents","function-call"],context:"google.service.ts:GoogleAnalyticsUtilities.dispatchEvents",title:"GoogleAnalyticsUtilities.dispatchEvents called",additionalData:{args:[{parameter:"events",value:e}]}}),this.shouldIgnoreEvents?s.Logger.log({level:"debug",tags:["google","GoogleAnalyticsUtilities","dispatchEvents"],context:"google.service.ts:GoogleAnalyticsUtilities.dispatchEvents",title:"Refusing to dispatch events to Google Analytics.",additionalData:{reason:[[!1,"SHOULD_USE_GTAG is not true"],[this.shouldIgnoreEvents,"shouldIgnoreEvents is true"]].filter((e=&gt;e[0])).map((e=&gt;e[1])).join(" and ")}}):this.load().then((()=&gt;e.forEach((e=&gt;window.gtag("event",e.eventContext,Object.assign(Object.assign({},this.flattenParamsForGA(e.mergedParams)),{send_to:["UD_AUDIUS"]}))))))}}t.GoogleAnalyticsService=c,c.shouldIgnoreEvents=!1},273:(e,t)=&gt;{Object.defineProperty(t,"__esModule",{value:!0}),t.Logger=t.LogEvent=void 0;class o{constructor({level:e="info",tags:t=[],context:o,title:i,message:r=null,additionalData:a,timestamp:n=new Date}){this.level=e,this.tags=t,this.context=o,this.title=i,this.message=r,this.additionalData=void 0===a?void 0:JSON.parse(JSON.stringify(a)),this.timestamp=n}print(){var e;const t=[];t.push({text:this.timestamp.toLocaleString(),format:"color: silver; border: 1px solid grey; padding: 0px 1px;"}),t.push({text:" "}),t.push({text:this.level.toUpperCase(),format:"color: white; background-color: black; border: 1px solid grey; padding: 0px 1px;"}),t.push({text:" "}),t.push({text:this.title,format:"font-weight: bold"}),null!==this.message&amp;&amp;(t.push({text:"\n"}),t.push({text:null!==(e=this.message)&amp;&amp;void 0!==e?e:""})),t.push({text:"\n"}),t.push({text:"Additional info:",format:"font-style: italic"});const o=t.map((e=&gt;`%c${e.text}`)).join(""),i=t.map((e=&gt;{var t;return null!==(t=null==e?void 0:e.format)&amp;&amp;void 0!==t?t:""}));console[this.level](o,...i,{event:this})}}t.LogEvent=o;t.Logger=new class{constructor(){this.history=[],this.listeners={}}log(e){const t=e instanceof o?e:new o(e);this.history.push(t),this.dispatch(t)}getHistory(e){return structuredClone(void 0===e?this.history:this.history.filter(e))}print(e){const t=void 0===e?this.history:this.history.filter(e);console.groupCollapsed(`udTag Log History (${t.length} entries)`),0===t.length?console.log("%cNo log entries to display.","color: grey; font-style: italic;"):t.forEach((e=&gt;e.print())),console.groupEnd()}dispatch(e){const t=Object.getOwnPropertySymbols(this.listeners).map((e=&gt;[e,this.listeners[e]]));for(const[o,i]of t)i(e,(()=&gt;{delete this.listeners[o]}))}onEvent(e){const t=Symbol();return this.listeners[t]=e,()=&gt;{delete this.listeners[t]}}},Object.defineProperty(window,"ud_tag_logs",{get:()=&gt;t.Logger})},28:function(__unused_webpack_module,exports,__webpack_require__){var __awaiter=this&amp;&amp;this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(r,a){function n(e){try{s(i.next(e))}catch(e){a(e)}}function l(e){try{s(i.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(n,l)}s((i=i.apply(e,t||[])).next())}))},_a;Object.defineProperty(exports,"__esModule",{value:!0}),exports.UserFingerprintService=void 0;const cookie_service_1=__webpack_require__(751),logger_service_1=__webpack_require__(273),browserInfo_service_1=__webpack_require__(805),sha256_1=__webpack_require__(657),MINIMUM_FINGERPRINTJS_API_WAIT_TIME=12e4;class UserFingerprintService{constructor(e){this.fingerprints=e}static getInstance(){return __awaiter(this,void 0,void 0,(function*(){return void 0===_a.instance&amp;&amp;(_a.instance=new _a(yield _a.getFingerprints())),_a.instance}))}static getFingerprints(){return __awaiter(this,void 0,void 0,(function*(){logger_service_1.Logger.log({level:"debug",tags:["userFingerprint","UserFingerprintService","getFingerprints","function-call"],context:"UserFingerprintService.getFingerprints",title:"UserFingerprintService.getFingerprints called",additionalData:{args:[]}});const e=Object.keys(_a.TYPE_CONFIGS).map((e=&gt;[e,_a.getFingerprintByType(e)])),t=yield Promise.all(e.map((([e,t])=&gt;t.then((t=&gt;[e,t])))));return Object.fromEntries(t)}))}static setFingerprintCookie(e,t){logger_service_1.Logger.log({level:"debug",tags:["userFingerprint","UserFingerprintService","setFingerprintCookie","function-call"],context:"UserFingerprintService.setFingerprintCookie",title:"UserFingerprintService.setFingerprintCookie called",additionalData:{args:[{parameter:"type",value:e},{parameter:"fingerprint",value:t}]}});const o=parseInt("365");cookie_service_1.CookieService.setCookie({name:this.TYPE_CONFIGS[e].cookieName,value:t,expires:cookie_service_1.CookieService.calculateExpiration(24*o*60*60*1e3),path:"/",sameSite:"None",secure:!0})}static getFingerprintByType(e){return __awaiter(this,void 0,void 0,(function*(){logger_service_1.Logger.log({level:"debug",tags:["userFingerprint","UserFingerprintService","getFingerprintByType","function-call"],context:"UserFingerprintService.getFingerprintByType",title:"UserFingerprintService.getFingerprintByType called",additionalData:{args:[{parameter:"type",value:e}]}});const{cookieName:t,lastAttempt:o,generate:i}=_a.TYPE_CONFIGS[e],r=cookie_service_1.CookieService.getCookie(t);if(r)return r;if(Date.now()-o&gt;=MINIMUM_FINGERPRINTJS_API_WAIT_TIME){let t;_a.TYPE_CONFIGS[e].lastAttempt=Date.now();try{t=yield i()}catch(e){}if(void 0!==t)return _a.setFingerprintCookie(e,t),t}}))}static generateNewFingerprint(){return __awaiter(this,void 0,void 0,(function*(){logger_service_1.Logger.log({level:"debug",tags:["userFingerprint","UserFingerprintService","generateNewFingerprint","function-call"],context:"UserFingerprintService.generateNewFingerprint",title:"UserFingerprintService.generateNewFingerprint called",additionalData:{args:[]}});try{return yield _a.generateFingerprintJSFingerprint(!1)}catch(e){logger_service_1.Logger.log({level:"warn",tags:["userFingerprint","UserFingerprintService","generateNewFingerprint"],context:"UserFingerprintService.generateNewFingerprint",title:"FingerprintJS fingerprint generation failed, falling back to fallback method.",additionalData:{err:e}})}return yield this.generateFallbackFingerprint()}))}static generateFingerprintJSFingerprint(useProVersion){return __awaiter(this,void 0,void 0,(function*(){if(useProVersion){const e="UserFingerprintService.getFingerprintJSFingerprint: Attempted to use FingerprintJS Pro library when it is disabled in config.";throw logger_service_1.Logger.log({level:"warn",tags:["userFingerprint","UserFingerprintService","generateFingerprintJSFingerprint"],context:"UserFingerprintService.generateFingerprintJSFingerprint",title:e}),new Error(e)}let FingerprintJS;const versionName="FingerprintJS"+(useProVersion?" Pro":""),apiKey="UMQ6egUO18HwkUXYgn4O",location=new URL(useProVersion?`https://metricsfp.unitedigital.io/web/v3/${apiKey}`:process.env.FINGERPRINT_JS_FREE_URL);try{FingerprintJS=yield eval(`import("${location.href}")`)}catch(e){const t=`UserFingerprintService.getFingerprintJSFingerprint: Error importing ${versionName} library.`;throw logger_service_1.Logger.log({level:"warn",tags:["userFingerprint","UserFingerprintService","generateFingerprintJSFingerprint"],context:"UserFingerprintService.generateFingerprintJSFingerprint",title:t,additionalData:{err:e}}),new Error(t)}let fingerprintJsAgent,fingerprintResult;try{const e={endpoint:`${location.protocol}//${location.host}`};useProVersion&amp;&amp;(e.apiKey=apiKey),logger_service_1.Logger.log({level:"debug",tags:["userFingerprint","UserFingerprintService","generateFingerprintJSFingerprint"],context:"UserFingerprintService.generateFingerprintJSFingerprint",title:`Attempting to load ${versionName} agent...`,additionalData:{fingerprintOptions:e}}),fingerprintJsAgent=yield FingerprintJS.load(e)}catch(e){const t=`UserFingerprintService.getFingerprintJSFingerprint: Error loading ${versionName} agent.`;throw logger_service_1.Logger.log({level:"warn",tags:["userFingerprint","UserFingerprintService","generateFingerprintJSFingerprint"],context:"UserFingerprintService.generateFingerprintJSFingerprint",title:t,additionalData:{err:e}}),new Error(t)}try{fingerprintResult=yield fingerprintJsAgent.get()}catch(e){const t=`UserFingerprintService.getFingerprintJSFingerprint: Error fetching fingerprint information from ${versionName}.`;throw logger_service_1.Logger.log({level:"warn",tags:["userFingerprint","UserFingerprintService","generateFingerprintJSFingerprint"],context:"UserFingerprintService.generateFingerprintJSFingerprint",title:t,additionalData:{err:e}}),new Error(t)}return logger_service_1.Logger.log({level:"debug",tags:["userFingerprint","UserFingerprintService","generateFingerprintJSFingerprint"],context:"UserFingerprintService.generateFingerprintJSFingerprint",title:`Successfully fetched fingerprint information from ${versionName}.`,additionalData:{fingerprint:fingerprintResult.visitorId,fullResponse:fingerprintResult}}),fingerprintResult.visitorId}))}static generateFallbackFingerprint(){return __awaiter(this,void 0,void 0,(function*(){logger_service_1.Logger.log({level:"debug",tags:["userFingerprint","UserFingerprintService","generateFallbackFingerprint","function-call"],context:"UserFingerprintService.generateFallbackFingerprint",title:"UserFingerprintService.generateFallbackFingerprint called",additionalData:{args:[]}});const e=browserInfo_service_1.BrowserInfoService.getInfo(),t=["url","downlink","referrer","orientation","saveData","rtt","onLine"];for(const o of t)delete e[o];const o=Object.keys(e).sort(((e,t)=&gt;e.localeCompare(t))).map((t=&gt;String(e[t]))).join(""),i=yield(0,sha256_1.sha256)(o);return logger_service_1.Logger.log({level:"debug",tags:["userFingerprint","UserFingerprintService","generateFallbackFingerprint"],context:"UserFingerprintService.generateFallbackFingerprint",title:"Successfully generated fallback fingerprint.",additionalData:{fingerprint:i}}),i}))}}exports.UserFingerprintService=UserFingerprintService,_a=UserFingerprintService,UserFingerprintService.TYPE_CONFIGS={fingerprintjspro:{cookieName:"udFingerprintFingerprintJSPro",lastAttempt:0,generate:()=&gt;__awaiter(void 0,void 0,void 0,(function*(){return _a.generateFingerprintJSFingerprint(!0)}))},fingerprintjs:{cookieName:"userFingerprintFingerprintJS",lastAttempt:0,generate:()=&gt;__awaiter(void 0,void 0,void 0,(function*(){return _a.generateFingerprintJSFingerprint(!1)}))},fallback:{cookieName:"userFingerprintFallback",lastAttempt:0,generate:()=&gt;__awaiter(void 0,void 0,void 0,(function*(){return _a.generateFallbackFingerprint()}))}}},5:(e,t)=&gt;{Object.defineProperty(t,"__esModule",{value:!0}),t.AwaitableValue=void 0;t.AwaitableValue=class{constructor(){this.value=void 0,this.promise=new Promise((e=&gt;{this.resolve=e})),this.promise.then((e=&gt;{this.value=e}))}}},419:(e,t)=&gt;{Object.defineProperty(t,"__esModule",{value:!0}),t.debounce=void 0,t.debounce=function(e,t){let o;return(...i)=&gt;{clearTimeout(o),o=setTimeout((()=&gt;e(...i)),t)}}},657:function(e,t){var o=this&amp;&amp;this.__awaiter||function(e,t,o,i){return new(o||(o=Promise))((function(r,a){function n(e){try{s(i.next(e))}catch(e){a(e)}}function l(e){try{s(i.throw(e))}catch(e){a(e)}}function s(e){var t;e.done?r(e.value):(t=e.value,t instanceof o?t:new o((function(e){e(t)}))).then(n,l)}s((i=i.apply(e,t||[])).next())}))};Object.defineProperty(t,"__esModule",{value:!0}),t.sha256=void 0;t.sha256=function(e){return o(this,void 0,void 0,(function*(){const t=new DataView(yield crypto.subtle.digest("SHA-256",(new TextEncoder).encode(e))),o=[];for(let e=0;e&lt;t.byteLength;e+=4)o.push(t.getUint32(e).toString(16).padStart(8,"0"));return o.join("")}))}},834:(e,t)=&gt;{Object.defineProperty(t,"__esModule",{value:!0}),t.isConfig=t.isIArgumentsEvent=t.isDataLayerEvent=t.isMergedParams=void 0;t.isMergedParams=e=&gt;"object"==typeof e&amp;&amp;null!==e&amp;&amp;"eventName"in e&amp;&amp;"string"==typeof e.eventName&amp;&amp;"eventParams"in e&amp;&amp;"object"==typeof e.eventParams&amp;&amp;"browserData"in e&amp;&amp;"object"==typeof e.browserData&amp;&amp;"correlationId"in e&amp;&amp;"string"==typeof e.correlationId&amp;&amp;"fingerprint"in e&amp;&amp;"string"==typeof e.fingerprint&amp;&amp;"brandId"in e&amp;&amp;"string"==typeof e.brandId&amp;&amp;"partnerCode"in e&amp;&amp;"string"==typeof e.partnerCode&amp;&amp;(!("dealerCode"in e)||"string"==typeof e.dealerCode)&amp;&amp;(!("cookieAcceptanceCheckMethod"in e)||"function"==typeof e.cookieAcceptanceCheckMethod);t.isDataLayerEvent=e=&gt;"object"==typeof e&amp;&amp;null!==e&amp;&amp;"eventContext"in e&amp;&amp;"string"==typeof e.eventContext&amp;&amp;"mergedParams"in e&amp;&amp;(0,t.isMergedParams)(e.mergedParams)&amp;&amp;"retryCount"in e&amp;&amp;"number"==typeof e.retryCount;t.isIArgumentsEvent=e=&gt;"object"==typeof e&amp;&amp;null!==e&amp;&amp;0 in e&amp;&amp;"event"===e[0]&amp;&amp;1 in e&amp;&amp;"string"==typeof e[1]&amp;&amp;2 in e&amp;&amp;"object"==typeof e[2]&amp;&amp;null!==e[2];t.isConfig=e=&gt;!("object"!=typeof e||null===e||!("brandId"in e)||"string"!=typeof e.brandId||!("partnerCode"in e)||"string"!=typeof e.partnerCode||"dealerCode"in e&amp;&amp;"string"!=typeof e.dealerCode||"cookieAcceptanceCheckMethod"in e&amp;&amp;"function"!=typeof e.cookieAcceptanceCheckMethod)},648:(e,t)=&gt;{Object.defineProperty(t,"__esModule",{value:!0}),t.uuidv4=void 0,t.uuidv4=function(){const e=e=&gt;new Array(e).fill(0).map((()=&gt;Math.floor(16*Math.random()))),t=e=&gt;e.map((e=&gt;e.toString(16))).join(""),o=o=&gt;t(e(2*o)),i=o(4),r=o(2),a=e(4),n=e(2),l=o(1),s=o(6);return n[0]=n[0]&amp;=-65,n[0]=n[0]|=128,a[0]=4,[i,r,t(a),t(n)+l,s].join("-")}}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var o=__webpack_module_cache__[e]={exports:{}};return __webpack_modules__[e].call(o.exports,o,o.exports,__webpack_require__),o.exports}var __webpack_exports__=__webpack_require__(166)})();</pre></body></html>