1const queuedMethodCalls=[];const initializeDotdigital=(regionPrefix,profileId)=>{if(!regionPrefix||!profileId){console.warn('Dotdigital initialization failed: regionId and profileId are required');return;} 2if(document.querySelector(`script[src*="${profileId}/ddgtag.js"]`)){triggerReadyEvent();return;} 3const script=document.createElement('script');script.src=`//${regionPrefix}.ddlnk.net/${profileId}/ddgtag.js`;script.async=true;script.onerror=()=>console.error('Failed to load Dotdigital script');document.head.appendChild(script);};const triggerReadyEvent=()=>{if('isProxy'in window.ddg)return;window.dispatchEvent(new CustomEvent('DotdigitalTagLoaded',{detail:{timestamp:Date.now()}}));processQueuedMethodCalls();};const processQueuedMethodCalls=()=>{while(queuedMethodCalls.length>0){const{methodName,methodArguments,promiseResolve}=queuedMethodCalls.shift();if(window.ddg&&typeof window.ddg[methodName]==='function'){try{const result=window.ddg[methodName](...methodArguments);promiseResolve?.(result);}catch(error){console.error(`Error calling Dotdigital ${methodName}:`,error);promiseResolve?.(false);}}else{console.log(`Dotdigital ${methodName}:`,methodArguments);promiseResolve?.(true);}}};const createDotdigitalProxy=()=>new Proxy({init:initializeDotdigital,isProxy:true},{get(target,methodName){if(methodName in target){return target[methodName];} 4return(...args)=>{return new Promise(resolve=>{queuedMethodCalls.push({methodName,methodArguments:args,promiseResolve:resolve});});};}});Object.defineProperty(window,'ddg',{get:()=>window._ddgCurrent,set:(value)=>(window._ddgCurrent=value,triggerReadyEvent())});window._ddgCurrent=createDotdigitalProxy();
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.