@adobe/alloy 2.31.2-beta.1 → 3.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/alloy.js CHANGED
@@ -6437,7 +6437,7 @@
6437
6437
  // The __VERSION__ keyword will be replace at alloy build time with the package.json version.
6438
6438
  // see babel-plugin-version
6439
6439
 
6440
- var libraryVersion = "2.31.2-beta.1";
6440
+ var libraryVersion = "3.0.0-beta.3";
6441
6441
 
6442
6442
  /*
6443
6443
  Copyright 2019 Adobe. All rights reserved.
package/dist/alloy.min.js CHANGED
@@ -12,4 +12,4 @@
12
12
 
13
13
  !function(){"use strict";var e=e=>null==e,t=t=>!e(t)&&!Array.isArray(t)&&"object"==typeof t;const n=e=>{const t=(e+"=".repeat((4-e.length%4)%4)).replace(/-/g,"+").replace(/_/g,"/"),n=atob(t);return Uint8Array.from(n,e=>e.codePointAt(0))},r=(e,t={})=>{const{urlSafe:n=!1}=t||{},r=btoa(String.fromCharCode(...e));return n?r.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""):r};
14
14
  /*! js-cookie v3.0.5 | MIT */
15
- function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var i=function e(t,n){function r(e,r,i){if("undefined"!=typeof document){"number"==typeof(i=o({},n,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a="";for(var s in i)i[s]&&(a+="; "+s,!0!==i[s]&&(a+="="+i[s].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+a}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},o=0;o<n.length;o++){var i=n[o].split("="),a=i.slice(1).join("=");try{var s=decodeURIComponent(i[0]);if(r[s]=t.read(a,s),e===s)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){r(e,"",o({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,o({},this.attributes,t))},withConverter:function(t){return e(o({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"}),a={get:i.get.bind(i),set:i.set.bind(i),remove:i.remove.bind(i),withConverter:i.withConverter.bind(i)};const s=["__proto__","constructor","prototype"],c=(e,n)=>{Object.keys(n).forEach(r=>{s.includes(r)||(t(e[r])&&t(n[r])?c(e[r],n[r]):e[r]=n[r])})};var d=(t,...n)=>{if(e(t))throw new TypeError('deepAssign "target" cannot be null or undefined');const r=Object(t);return n.forEach(e=>c(r,Object(e))),r},l=(e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);d(r,n)},u=()=>{const e=[];return{add(t){e.push(t)},call:(...t)=>Promise.all(e.map(e=>e(...t)))}},p=({logger:e,cookieJar:t})=>({...t,set:(n,r,o)=>(e.info("Setting cookie",{name:n,value:r,...o}),t.set(n,r,o))}),g=()=>{const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e};const m=(e,t)=>e===t;var f=(e,t)=>e.appendChild(t);var h=(e,n={},r={},o=[],i=document)=>{const a=i.createElement(e);return Object.keys(n).forEach(e=>{a.setAttribute(e,n[e])}),((e,n)=>{Object.keys(n).forEach(r=>{if("style"===r&&t(n[r])){const t=n[r];Object.keys(t).forEach(n=>{e.style[n]=t[n]})}else e[r]=n[r]})})(a,r),o.forEach(e=>f(a,e)),a};const y="IMG",v="STYLE",w="SCRIPT";var I=({src:e,currentDocument:t=document})=>new Promise((n,r)=>{h(y,{src:e},{onload:n,onerror:r,onabort:r},[],t)}),b=e=>"function"==typeof e,E=e=>Array.isArray(e)&&e.length>0,C=e=>Array.isArray(e)?e:null==e?[]:[].slice.call(e);const k=/^\s*>/;var S=(e,t)=>k.test(t)?C(e.querySelectorAll(":scope "+t)):C(e.querySelectorAll(t)),P=":shadow";const D=(e,t)=>{const n=t;if(!n.startsWith(">"))return n;return(e instanceof Element||e instanceof Document?":scope":":host")+" "+n};var R=(e,t)=>{const n=(e=>e.split(P))(t);if(n.length<2)return S(e,t);let r=e;for(let e=0;e<n.length;e+=1){const t=n[e].trim();if(""===t&&r.shadowRoot){r=r.shadowRoot;continue}const o=D(r,t),i=S(r,o);if(0===i.length||!i[0]||!i[0].shadowRoot)return i;r=i[0].shadowRoot}},T=(e,t=document)=>-1===e.indexOf(P)?S(t,e):R(t,e);const O="MutationObserver",N={childList:!0,subtree:!0},M=e=>new Error("Could not find: "+e),A=e=>new Promise(e);var x=(e,t=T,n=5e3,r=window,o=document)=>{const i=t(e);return E(i)?Promise.resolve(i):(e=>b(e[O]))(r)?((e,t,n,r,o)=>A((i,a)=>{let s;const c=new e[O](()=>{const e=o(n);E(e)&&(c.disconnect(),s&&clearTimeout(s),i(e))});s=setTimeout(()=>{c.disconnect(),a(M(n))},r),c.observe(t,N)}))(r,o,e,n,t):(e=>"visible"===e.visibilityState)(o)?((e,t,n,r)=>A((o,i)=>{const a=()=>{const n=r(t);E(n)?o(n):e.requestAnimationFrame(a)};a(),setTimeout(()=>{i(M(t))},n)}))(r,e,n,t):((e,t,n)=>A((r,o)=>{const i=()=>{const t=n(e);E(t)?r(t):setTimeout(i,100)};i(),setTimeout(()=>{o(M(e))},t)}))(e,n,t)};let q;const L=(e=document)=>{if(void 0===q){const t=e.querySelector("[nonce]");q=t&&(t.nonce||t.getAttribute("nonce"))}return q},U=(e,t={})=>document.querySelector('script[src="'+e+'"]')?(t.onLoad&&t.onLoad(),Promise.resolve()):new Promise((n,r)=>{const{attributes:o={},onLoad:i,onError:a}=t,s=h("script",{type:"text/javascript",src:e,async:!0,...L()&&{nonce:L()},...o},{onload:()=>{i&&i(),n()},onerror:()=>{const t=new Error("Failed to load script: "+e);a&&a(t),r(t)}}),c=()=>{const e=document.head||document.body;if(e)f(e,s);else{const e=new Error("Neither <head> nor <body> available for script insertion.");a&&a(e),r(e)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c()});var _=e=>{const t=e.parentNode;return t?t.removeChild(e):null};const j={name:"Adobe Alloy"},B={style:{display:"none",width:0,height:0}};var F=e=>t(e)&&0===Object.keys(e).length;const V=(n,r)=>e(n)||!t(n)?n:Object.keys(n).reduce((e,o)=>{const i=n[o];if(t(i)){const t=V(i,r);return F(t)?e:{...e,[o]:t}}return r(i,o)?{...e,[o]:i}:e},{}),H=e=>(e=>{let t=2166136261;const n=(new TextEncoder).encode(e);for(let e=0;e<n.length;e+=1)t^=n[e],t=Math.imul(t,16777619);return t>>>0})(e).toString(16).padStart(8,"0");var z="com.adobe.alloy.",J=(e,t)=>e.slice(-t);const X=z+"getTld";var G="kndctr",Q=e=>e.replace("@","_"),K=(e,t)=>G+"_"+Q(e)+"_"+t,W=(e,t)=>{const n={};return e.forEach(e=>{const r=t(e);n[r]||(n[r]=[]),n[r].push(e)}),n};const Y="Chrome",$="Edge",Z="EdgeChromium",ee="Firefox",te="IE",ne="Safari",re="Unknown";var oe=e=>{let t,n=!1;return()=>(n||(n=!0,t=e()),t)};const ie=[Y,$,Z,"IE",re];var ae=({getBrowser:e})=>oe(()=>ie.includes(e()));var se=({orgId:e})=>{const t=K(e,"identity");return()=>Boolean(a.get(t))};const ce=(e,t,n)=>({getItem(r){try{return e[t].getItem(n+r)}catch{return null}},setItem(r,o){try{return e[t].setItem(n+r,o),!0}catch{return!1}},clear(){try{return Object.keys(e[t]).forEach(r=>{r.startsWith(n)&&e[t].removeItem(r)}),!0}catch{return!1}}});var de=e=>t=>{const n=z+t;return{session:ce(e,"sessionStorage",n),persistent:ce(e,"localStorage",n)}},le=e=>"boolean"==typeof e,ue=e=>"number"==typeof e&&!Number.isNaN(e),pe=e=>{const t=parseInt(e,10);return ue(t)&&e===t},ge=e=>"string"==typeof e,me=e=>ge(e)&&e.length>0,fe=()=>{};const he=e=>{const t={},n=e.split(".");switch(n.length){case 1:t.subdomain="",t.domain=e,t.topLevelDomain="";break;case 2:t.subdomain="",t.domain=e,t.topLevelDomain=n[1];break;case 3:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2];break;case 4:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2]+"."+n[3]}return t},ye=(e,t=he)=>{ge(e)||(e="");const n=(e=>{try{const t=new URL(e);let n=t.pathname;return e.endsWith("/")||"/"!==n||(n=""),{host:t.hostname,path:n,query:t.search.replace(/^\?/,""),anchor:t.hash.replace(/^#/,"")}}catch{return{host:"",path:"",query:"",anchor:""}}})(e),{host:r,path:o,query:i,anchor:a}=n;return{path:o,query:i,fragment:a,...t(r)}};var ve,we;function Ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var be=(we||(we=1,ve={parse:function(e){return function(e){var t={};if(!e||"string"!=typeof e)return t;var n=e.trim().replace(/^[?#&]/,""),r=new URLSearchParams(n),o=r.keys();do{var i=o.next(),a=i.value;if(a){var s=r.getAll(a);1===s.length?t[a]=s[0]:t[a]=s}}while(!1===i.done);return t}(e)},stringify:function(e){return function(e){var t="{{space}}",n=new URLSearchParams;return Object.keys(e).forEach(function(r){var o=e[r];"string"==typeof e[r]?o=o.replace(/ /g,t):["object","undefined"].includes(typeof o)&&!Array.isArray(o)&&(o=""),Array.isArray(o)?o.forEach(function(e){n.append(r,e)}):n.append(r,o)}),n.toString().replace(new RegExp(encodeURIComponent(t),"g"),"%20")}(e)}}),ve),Ee=Ie(be);const Ce=e=>Array.isArray(e)?e.map(e=>Ce(e)):"object"==typeof e&&null!==e?Object.keys(e).sort().reduce((t,n)=>(t[n]=Ce(e[n]),t),{}):e;var ke=e=>Ce(e),Se=e=>e instanceof Error?e:new Error(e),Pe=({error:e,message:t})=>{try{e.message=t}catch{}},De=({error:e,message:t})=>{const n=Se(e),r=t+"\nCaused by: "+n.message;return Pe({error:n,message:r}),n},Re=(e,t)=>{if(ue(e)||ge(e)){const t=Math.round(Number(e));if(!Number.isNaN(t))return t}return t};const Te=(e,t,n)=>(""+e).padStart(t,n);const Oe=[];for(let e=0;e<256;++e)Oe.push((e+256).toString(16).slice(1));let Ne;const Me=new Uint8Array(16);var Ae={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function xe(e,t,n){const r=(e=e||{}).random??e.rng?.()??function(){if(!Ne){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ne=crypto.getRandomValues.bind(crypto)}return Ne(Me)}();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){if((n=n||0)<0||n+16>t.length)throw new RangeError("UUID byte range "+n+":"+(n+15)+" is out of buffer bounds");for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return(Oe[e[t+0]]+Oe[e[t+1]]+Oe[e[t+2]]+Oe[e[t+3]]+"-"+Oe[e[t+4]]+Oe[e[t+5]]+"-"+Oe[e[t+6]]+Oe[e[t+7]]+"-"+Oe[e[t+8]]+Oe[e[t+9]]+"-"+Oe[e[t+10]]+Oe[e[t+11]]+Oe[e[t+12]]+Oe[e[t+13]]+Oe[e[t+14]]+Oe[e[t+15]]).toLowerCase()}(r)}function qe(e,t,n){return!Ae.randomUUID||t||e?xe(e,t,n):Ae.randomUUID()}const Le=e=>function(t,n){return null==t?t:e.call(this,t,n)},Ue=(e,t)=>function(n,r){return t.call(this,e.call(this,n,r),r)},_e=(e,t)=>function(n,r){const o=[],i=[e,t].reduce((e,t)=>{try{return t.call(this,e,r)}catch(t){return o.push(t),e}},n);if(o.length)throw new Error(o.join("\n"));return i},je=(e,t,n)=>Object.assign(Ue(e,t),e,n),Be=(e,t,n)=>Object.assign(Ue(e,Le(t)),e,n),Fe=(e,t,n,r)=>{if(!e)throw new Error("'"+n+"': Expected "+r+", but got "+JSON.stringify(t)+".")};var Ve=(e,t)=>(Fe(le(e),e,t,"true or false"),e),He=(e,t)=>(Fe(b(e),e,t,"a function"),e),ze=(e,t)=>function(n,r){let o;const i=e.find(e=>{try{return o=e.call(this,n,r),!0}catch{return!1}});return Fe(i,n,r,t),o},Je=e=>function(t,n){Fe(Array.isArray(t),t,n,"an array");const r=[],o=t.map((o,i)=>{try{return e.call(this,o,n+"["+i+"]",t)}catch(e){return void r.push(e.message)}});if(r.length)throw new Error(r.join("\n"));return o},Xe=(e="This field has been deprecated")=>function(t,n){let r=e;return void 0!==t&&(n&&(r="'"+n+"': "+r),this&&this.logger&&this.logger.warn(r)),t},Ge=e=>function(n,r){Fe(t(n),n,r,"an object");const o=[],i={};if(Object.keys(n).forEach(t=>{const a=n[t],s=r?r+"."+t:t;try{const n=e.call(this,a,s);void 0!==n&&(i[t]=n)}catch(e){o.push(e.message)}}),o.length)throw new Error(o.join("\n"));return i},Qe=(e,t)=>(n,r)=>(Fe(n>=t,n,r,e+" greater than or equal to "+t),n),Ke=e=>(n,r)=>(t(n)?Fe(!F(n),n,r,e):Fe(n.length>0,n,r,e),n),We=e=>function(n,r){Fe(t(n),n,r,"an object");const o=[],i={};if(Object.keys(e).forEach(t=>{const a=n[t],s=e[t],c=r?r+"."+t:t;try{const e=s.call(this,a,c);void 0!==e&&(i[t]=e)}catch(e){o.push(e.message)}}),Object.keys(n).forEach(e=>{Object.prototype.hasOwnProperty.call(i,e)||(i[e]=n[e])}),o.length)throw new Error(o.join("\n"));return i},Ye=(e,n,r)=>function(o,i){Fe(t(o),o,i,"an object");const{[e]:a,[r]:s,...c}=o,d=n(a,i);if(void 0!==d){let t="The field '"+e+"' is deprecated. Use '"+r+"' instead.";if(i&&(t="'"+i+"': "+t),void 0!==s&&s!==d)throw new Error(t);this&&this.logger&&this.logger.warn(t)}return{[r]:s||d,...c}},$e=()=>(e,t)=>(Fe((e=>{const t=Object.create(null);for(let n=0;n<e.length;n+=1){const r=e[n];if(r in t)return!1;t[r]=!0}return!0})(e),e,t,"array values to be unique"),e);const Ze=/^[a-z0-9.-]{1,}$/i;var et=(e,t)=>(Fe(Ze.test(e),e,t,"a valid domain"),e),tt=(e,t)=>(Fe(pe(e),e,t,"an integer"),e),nt=(e,t)=>(Fe(ue(e),e,t,"a number"),e),rt=(e,t)=>(Fe((e=>{try{return null!==RegExp(e)}catch{return!1}})(e),e,t,"a regular expression"),e),ot=(e,t)=>{if(null==e)throw new Error("'"+t+"' is a required option");return e},it=(e,t)=>(Fe(ge(e),e,t,"a string"),e);const at=e=>e;at.default=function(e){return je(this,(e=>t=>null==t?e:t)(e))},at.required=function(){return je(this,ot)},at.deprecated=function(e){return je(this,Xe(e))};const st=function(){return Be(this,et)},ct=function(e){return Be(this,Qe("an integer",e))},dt=function(e){return Be(this,Qe("a number",e))},lt=function(e){return Be(this,(t="a number",n=e,(e,r)=>(Fe(e<=n,e,r,t+" less than or equal to "+n),e)));var t,n},ut=function(){return Be(this,tt,{minimum:ct})},pt=function(){return Be(this,Ke("a non-empty string"))},gt=function(){return Be(this,Ke("a non-empty array"))},mt=function(){return Be(this,Ke("a non-empty object"))},ft=function(){return Be(this,rt)},ht=function(e){return Be(this,(e=>(t,n)=>(Fe(e.test(t),t,n,"does not match the "+e.toString()),t))(e))},yt=function(){return Be(this,(()=>{const e=[];return(t,n)=>(Fe(-1===e.indexOf(t),t,n,"a unique value across instances"),e.push(t),t)})())},vt=function(){return Be(this,$e())},wt=e=>({noUnknownFields:function(){return Be(this,(e=>(t,n)=>{const r=[];if(Object.keys(t).forEach(t=>{if(!e[t]){const e=n?n+"."+t:t;r.push("'"+e+"': Unknown field.")}}),r.length)throw new Error(r.join("\n"));return t})(e))},nonEmpty:mt,concat:function(t){const n={...e,...t.schema};return Be(this,t,wt(n))},renamed:function(e,t,n){return r=this,o=Ye(e,t,n),Object.assign(_e(Le(o),r),r,i);var r,o,i},schema:e}),It=function(e,t){return je(this,ze(e,t))}.bind(at),bt=function(){return this}.bind(at),Et=function(e){return Be(this,Je(e),{nonEmpty:gt,uniqueItems:vt})}.bind(at),Ct=function(){return Be(this,Ve)}.bind(at),kt=function(){return Be(this,He)}.bind(at),St=function(e){return Be(this,(e=>(t,n)=>(Fe(t===e,t,n,""+e),t))(e))}.bind(at),Pt=function(){return Be(this,nt,{minimum:dt,maximum:lt,integer:ut,unique:yt})}.bind(at),Dt=function(e){return Be(this,Ge(e),{nonEmpty:mt})}.bind(at),Rt=function(e){return Be(this,We(e),wt(e))}.bind(at),Tt=function(){return Be(this,it,{regexp:ft,domain:st,nonEmpty:pt,unique:yt,matches:ht})}.bind(at),Ot=function(...e){return It(e.map(St),"one of these values: "+JSON.stringify(e))};var Nt=Dt(Et(Rt({authenticatedState:Ot("ambiguous","authenticated","loggedOut"),id:Tt(),namespace:Rt({code:Tt()}).noUnknownFields(),primary:Ct(),xid:Tt()}).noUnknownFields()).required()),Mt=Rt({}),At="alloy_debug",xt=({console:e,locationSearch:t,createLogger:n,instanceName:r,createNamespacedStorage:o,getMonitors:i})=>{const a=Ee.parse(t),s=o("instance."+r+"."),c=s.session.getItem("debug");let d="true"===c,l=null===c;const u=()=>d,p=(e,{fromConfig:t})=>{t&&!l||(d=e),t||(s.session.setItem("debug",e.toString()),l=!1)};var g;return void 0!==a[At]&&p((g=a[At],ge(g)&&"true"===g.toLowerCase()),{fromConfig:!1}),{setDebugEnabled:p,logger:n({getDebugEnabled:u,context:{instanceName:r},getMonitors:i,console:e}),createComponentLogger:t=>n({getDebugEnabled:u,context:{instanceName:r,componentName:t},getMonitors:i,console:e})}};const qt=["onComponentsRegistered","onBeforeEvent","onBeforeRequest","onResponse","onRequestFailure","onClick","onDecision"];var Lt=e=>qt.reduce((t,n)=>{var r;return t[n]=(r=((e,t)=>(...n)=>Promise.all(e.getLifecycleCallbacks(t).map(e=>new Promise(t=>{t(e(...n))}))))(e,n),(...e)=>Promise.resolve().then(()=>r(...e))),t},{});const Ut=(e,t)=>(...n)=>{let r;try{r=e(...n)}catch(e){throw De({error:e,message:t})}return r instanceof Promise&&(r=r.catch(e=>{throw De({error:e,message:t})})),r};var _t=()=>{const e={},t={},n={};return{register(r,o){const{commands:i,lifecycle:a}=o;((e,n={})=>{const r=(o=Object.keys(t),i=Object.keys(n),o.filter(e=>i.includes(e)));var o,i;if(r.length)throw new Error("[ComponentRegistry] Could not register "+e+" because it has existing command(s): "+r.join(","));Object.keys(n).forEach(r=>{const o=n[r];o.commandName=r,o.run=Ut(o.run,"["+e+"] An error occurred while executing the "+r+" command."),t[r]=o})})(r,i),((e,t={})=>{Object.keys(t).forEach(r=>{n[r]=n[r]||[],n[r].push(Ut(t[r],"["+e+"] An error occurred while executing the "+r+" lifecycle hook."))})})(r,a),e[r]=o},getCommand:e=>t[e],getCommandNames:()=>Object.keys(t),getLifecycleCallbacks:e=>n[e]||[],getComponentNames:()=>Object.keys(e)}};const jt=(e,t)=>{let n,r=0,o=0;do{if(t<0||t+o>=e.length)throw new Error("Invalid varint: buffer ended unexpectedly");if(n=e[t+o],r|=(127&n)<<7*o,o+=1,o>10)throw new Error("Invalid varint: too long")}while(128&n);return{value:r,length:o}},Bt=Object.freeze({VARINT:0,I64:1,LEN:2,SGROUP:3,EGROUP:4,I32:5});var Ft=({orgId:e,cookieJar:t,logger:r})=>{const o=K(e,"identity");return()=>{const e=t.get(o);if(!e)return null;try{const t=decodeURIComponent(e).replace(/_/g,"/").replace(/-/g,"+");return(e=>{let t=0,n=null;for(;t<e.length&&!n;){const{value:r,length:o}=jt(e,t);t+=o;const i=7&r;if(1==r>>3){if(i===Bt.LEN){const r=jt(e,t);return t+=r.length,n=(new TextDecoder).decode(e.slice(t,t+r.value)),t+=r.value,n}}else switch(i){case Bt.VARINT:t+=jt(e,t).length;break;case Bt.I64:t+=8;break;case Bt.LEN:{const n=jt(e,t);t+=n.length+n.value;break}case Bt.SGROUP:case Bt.EGROUP:break;case Bt.I32:t+=4;break;default:throw new Error("Malformed kndctr cookie. Unknown wire type: "+i)}}throw new Error("No ECID found in cookie.")})(n(t))}catch(e){return r.warn("Unable to decode ECID from "+o+" cookie",e),null}}},Vt=({logger:e,loggingCookieJar:t,config:n})=>{let r=null;const o=new Promise(e=>{r=e}),i=Ft({orgId:n.orgId,cookieJar:t,logger:e});return{initialize(){i()&&this.setIdentityAcquired()},setIdentityAcquired(){r()},awaitIdentity:()=>o,getEcidFromCookie:()=>i()}};const Ht="in",zt="out",Jt="pending",Xt="disabled",Gt="wait",Qt="auto",Kt="general",Wt="declinedConsent",Yt="default",$t="initial",Zt="new",en=e=>{const t=new Error(e);return t.code=Wt,t.message=e,t};var tn=({logger:e})=>{const t=[],n=()=>Promise.resolve(),r=()=>Promise.resolve(),o=()=>Promise.reject(en("No consent preferences have been set.")),i=()=>Promise.reject(en("The user declined consent.")),a=e=>{if(e)return Promise.reject(new Error("Consent is pending."));const n=g();return t.push(n),n.promise};return{in(o){o===Yt?this.awaitConsent=n:(o===$t?e.info("Loaded user consent preferences. The user previously consented."):o===Zt&&this.awaitConsent!==r&&e.info("User consented."),(()=>{for(;t.length;)t.shift().resolve()})(),this.awaitConsent=r)},out(n){n===Yt?(e.warn("User consent preferences not found. Default consent of out will be used."),this.awaitConsent=o):(n===$t?e.warn("Loaded user consent preferences. The user previously declined consent."):n===Zt&&this.awaitConsent!==i&&e.warn("User declined consent."),(()=>{for(;t.length;)t.shift().reject(en("The user declined consent."))})(),this.awaitConsent=i)},pending(t){t===Yt&&e.info("User consent preferences not found. Default consent of pending will be used. Some commands may be delayed."),this.awaitConsent=a},awaitConsent:()=>Promise.resolve(),withConsent(){return this.awaitConsent(!0)},current(){switch(this.awaitConsent){case n:return{state:"in",wasSet:!1};case r:return{state:"in",wasSet:!0};case o:return{state:"out",wasSet:!1};case i:return{state:"out",wasSet:!0};case a:return{state:"pending",wasSet:!1};default:return{state:"in",wasSet:!1}}}}};const nn=e=>e&&e._experience&&e._experience.decisioning&&E(e._experience.decisioning.propositions)?e._experience.decisioning.propositions:[];var rn=()=>{const e={},t=Date.now();let n,r,o=!1,i=!1,a=!0;const s=e=>{if(i)throw new Error(e+" cannot be called after event is finalized.")},c={hasQuery(){return Object.prototype.hasOwnProperty.call(this.getContent(),"query")},getContent(){const t=JSON.parse(JSON.stringify(e));return n&&d(t,{xdm:n}),r&&d(t,{data:r}),t},setUserXdm(e){s("setUserXdm"),n=e},setUserData(e){s("setUserData"),r=e},mergeXdm(t){s("mergeXdm"),t&&d(e,{xdm:t})},mergeData(t){s("mergeData"),t&&d(e,{data:t})},mergeMeta(t){s("mergeMeta"),t&&d(e,{meta:t})},mergeQuery(t){s("mergeQuery"),t&&d(e,{query:t})},documentMayUnload(){o=!0},finalize(t){if(i)return;const o=((e,t=m)=>e.filter((n,r)=>((e,t,n)=>{for(let r=0;r<e.length;r+=1)if(n(e[r],t))return r;return-1})(e,n,t)===r))([...nn(n),...nn(e.xdm)],(e,t)=>e===t||e.id&&t.id&&e.id===t.id&&e.scope&&t.scope&&e.scope===t.scope);if(n&&this.mergeXdm(n),o.length>0&&(e.xdm._experience.decisioning.propositions=o),r&&c.mergeData(r),i=!0,t){a=!1;const n={xdm:e.xdm||{},data:e.data||{}},r=t(n);a=!1!==r,e.xdm=n.xdm||{},e.data=n.data||{},F(e.xdm)&&delete e.xdm,F(e.data)&&delete e.data}},getDocumentMayUnload:()=>o,getCreatedAt:()=>t,isEmpty:()=>F(e)&&(!n||F(n))&&(!r||F(r)),shouldSend:()=>a,getViewName(){if(n&&n.web&&n.web.webPageDetails)return n.web.webPageDetails.viewName},getUserIdentityMap:()=>n?.identityMap,toJSON(){if(!i)throw new Error("toJSON called before finalize");return e}};return c};const on="configure",an="setDebug";var sn=({logger:e,configureCommand:n,setDebugCommand:r,handleError:o,validateCommandOptions:i})=>{let a;return(s,c={})=>new Promise(t=>{const o=((t,o)=>{let s;if(t===on){if(a)throw new Error("The library has already been configured and may only be configured once.");s=()=>(a=n(o),a.then(()=>{}))}else{if(!a)throw new Error("The library must be configured first. Please do so by executing the configure command.");s=t===an?()=>{const e=Rt({enabled:Ct().required()}).noUnknownFields(),t=i({command:{commandName:an,optionsValidator:e},options:o});r(t)}:()=>a.then(e=>{const n=e.getCommand(t);if(!n||!b(n.run)){const n=[on,an].concat(e.getCommandNames()).join(", ");throw new Error("The "+t+" command does not exist. List of available commands: "+n+".")}const r=i({command:n,options:o});return n.run(r)},()=>(e.warn("An error during configuration is preventing the "+t+" command from executing."),new Promise(()=>{})))}return s})(s,c);e.logOnBeforeCommand({commandName:s,options:c}),t(o())}).catch(e=>o(e,s+" command")).catch(t=>{throw e.logOnCommandRejected({commandName:s,options:c,error:t}),t}).then(n=>{const r=t(n)?n:{};return e.logOnCommandResolved({commandName:s,options:c,result:r}),r})};const cn="https://adobe.ly/3sHgQHb";var dn=({command:e,options:t})=>{const{commandName:n,documentationUri:r=cn,optionsValidator:o}=e;let i=t;if(o)try{i=o(t)}catch(e){throw new Error("Invalid "+n+" command options:\n\t - "+e+" For command documentation see: "+r)}return i};var ln=({options:e,componentCreators:t,coreConfigValidators:n,createConfig:r,logger:o,setDebugEnabled:i})=>{const a=(e=>{const t=[],n={get enabled(){return e.enabled},flush(){t.forEach(({method:t,args:n})=>e[t](...n))}};return Object.keys(e).filter(t=>"function"==typeof e[t]).forEach(e=>{n[e]=(...n)=>{t.push({method:e,args:n})}}),n})(o),s=t.map(({configValidators:e})=>e).filter(e=>e).reduce((e,t)=>e.concat(t),n),c=r((({combinedConfigValidator:e,options:t,logger:n})=>{try{return e.noUnknownFields().required().call({logger:n},t)}catch(e){throw new Error("Resolve these configuration problems:\n\t - "+e.message.split("\n").join("\n\t - ")+"\nFor configuration documentation see: https://adobe.ly/3sHh553")}})({combinedConfigValidator:s,options:e,logger:a}));i(c.debugEnabled,{fromConfig:!0}),a.flush();const d=((e,t,n)=>n.reduce((n,{buildOnInstanceConfiguredExtraParams:r})=>(r&&(n={...n,...r({config:e,logger:t})}),n),{}))(c,o,t);return o.logOnInstanceConfigured({...d,config:c}),c};const un=e=>({...e});var pn=({errorPrefix:e,logger:t})=>(n,r)=>{const o=Se(n);if(o.code===Wt)return t.warn("The "+r+" could not fully complete. "+o.message),{};throw Pe({error:o,message:e+" "+o.message}),o},gn=({getDebugEnabled:e,console:t,getMonitors:n,context:r})=>{let o="["+r.instanceName+"]";r.componentName&&(o+=" ["+r.componentName+"]");const i=(e,t)=>{const o=n();if(o.length>0){const n={...r,...t};o.forEach(t=>{t[e]&&t[e](n)})}},a=(n,...r)=>{i("onBeforeLog",{level:n,arguments:r}),e()&&t[n](o,...r)};return{get enabled(){return n().length>0||e()},logOnInstanceCreated(e){i("onInstanceCreated",e),a("info","Instance initialized.")},logOnInstanceConfigured(e){i("onInstanceConfigured",e),a("info","Instance configured. Computed configuration:",e.config)},logOnBeforeCommand(e){i("onBeforeCommand",e),a("info","Executing "+e.commandName+" command. Options:",e.options)},logOnCommandResolved(e){i("onCommandResolved",e),a("info",e.commandName+" command resolved. Result:",e.result)},logOnCommandRejected(e){i("onCommandRejected",e),a("error",e.commandName+" command was rejected. Error:",e.error)},logOnBeforeNetworkRequest(e){i("onBeforeNetworkRequest",e),a("info","Request "+e.requestId+": Sending request.",e.payload)},logOnNetworkResponse(e){i("onNetworkResponse",e);const t=e.parsedBody||e.body?"response body:":"no response body.";a("info","Request "+e.requestId+": Received response with status code "+e.statusCode+" and "+t,e.parsedBody||e.body)},logOnNetworkError(e){i("onNetworkError",e),a("error","Request "+e.requestId+": Network request failed.",e.error)},logOnContentHiding(e){i("onContentHiding",{status:e.status}),a(e.logLevel,e.message)},logOnContentRendering(e){i("onContentRendering",{status:e.status,payload:e.detail}),a(e.logLevel,e.message)},info:a.bind(null,"info"),warn:a.bind(null,"warn"),error:a.bind(null,"error")}},mn="__view__",fn=e=>(t,n)=>{e.xdm=e.xdm||{},e.xdm.identityMap=e.xdm.identityMap||{},e.xdm.identityMap[t]=e.xdm.identityMap[t]||[],e.xdm.identityMap[t].push(n)},hn=e=>{const{payload:t,getAction:n,getUseSendBeacon:r,datastreamIdOverride:o,edgeSubPath:i,requestParams:a={}}=e,s=qe();let c=!1,d=!1;return{getId:()=>s,getPayload:()=>t,getAction:()=>n({isIdentityEstablished:d}),getDatastreamIdOverride:()=>o,getUseSendBeacon:()=>r({isIdentityEstablished:d}),getEdgeSubPath:()=>i||"",getUseIdThirdPartyDomain:()=>c,setUseIdThirdPartyDomain(){c=!0},setIsIdentityEstablished(){d=!0},getRequestParams:()=>a}},yn=({payload:e,datastreamIdOverride:t})=>{const n=({isIdentityEstablished:t})=>e.getDocumentMayUnload()&&t;return hn({payload:e,getAction:({isIdentityEstablished:e})=>n({isIdentityEstablished:e})?"collect":"interact",getUseSendBeacon:n,datastreamIdOverride:t})};var vn=t=>{const{content:n,addIdentity:r,hasIdentity:o}=t,i=((e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);Object.assign(r,n)})(n,"meta.configOverrides");return{mergeMeta:l(n,"meta"),mergeState:l(n,"meta.state"),mergeQuery:l(n,"query"),mergeConfigOverride:e=>i(e),finalizeConfigOverrides:()=>{if(n.meta?.configOverrides){const t=(t=>{if(e(t)||"object"!=typeof t)return null;const n=V(t,(t,n)=>!(e(t)||(!le(t)||"enabled"===n&&!1!==t)&&!ue(t)&&!me(t)&&!E(t)));return F(n)?null:n})(n.meta.configOverrides);null===t?delete n.meta.configOverrides:n.meta.configOverrides=t}},addIdentity:r,hasIdentity:o,toJSON:()=>n}},wn=e=>t=>void 0!==(e.xdm&&e.xdm.identityMap&&e.xdm.identityMap[t]),In=()=>{const e={};return{...vn({content:e,addIdentity:fn(e),hasIdentity:wn(e)}),addEvent:t=>{e.events=e.events||[],e.events.push(t)},getEvents:()=>e.events||[],getDocumentMayUnload:()=>(e.events||[]).some(e=>e.getDocumentMayUnload())}},bn=({localConfigOverrides:e,globalConfigOverrides:t,payload:n})=>{const r={payload:n},{datastreamId:o,...i}=e||{};return o&&(r.datastreamIdOverride=o),t&&!F(t)&&n.mergeConfigOverride(t),i&&!F(i)&&n.mergeConfigOverride(i),n.finalizeConfigOverrides(),r};const En="clientId";const Cn="Event was canceled because the onBeforeEventSend callback returned false.";var kn=({orgId:e,targetMigrationEnabled:t})=>n=>((e,t)=>0===t.indexOf(G+"_"+Q(e)+"_"))(e,n)||"at_qa_mode"===n||t&&"mbox"===n;var Sn=e=>((...e)=>e.length<2?Object.assign(...e):e.reduce((e,n)=>(t(n)&&Object.keys(n).forEach(t=>{Array.isArray(n[t])?Array.isArray(e[t])?e[t].push(...n[t]):e[t]=[...n[t]]:e[t]=n[t]}),e)))({},...e.shift()||[],...e.shift()||[],...e),Pn=e=>t=>{const n=()=>{throw t};return e.call({error:t}).then(n,n)};const Dn=e=>{if("function"!=typeof e.getEvents)return;const t=e.getEvents();if(0===t.length)return;const n=Math.min(...t.map(e=>e.getCreatedAt()));return r=Date.now()-n,o=0,i=3e5,Math.max(o,Math.min(r,i));var r,o,i};const Rn="The server responded with a";var Tn=({orgId:e,cookieJar:t})=>{const n=K(e,"cluster");return()=>t.get(n)||(()=>{const e=t.get("mboxEdgeCluster");if(e)return"t"+e})()};const On=[429,503,502,504];var Nn=({response:e,retriesAttempted:t})=>t<3&&On.includes(e.statusCode);var Mn=({response:e,retriesAttempted:t})=>{let n=(e=>{const t=e.getHeader("Retry-After");let n;if(t){const e=parseInt(t,10);n=pe(e)?1e3*e:Math.max(0,new Date(t).getTime()-(new Date).getTime())}return n})(e);return void 0===n&&(n=(e=>{const t=1e3+1e3*e,n=.3*t,r=t-n,o=t+n;return Math.round(r+Math.random()*(o-r))})(t)),n};var An=e=>{let t=window.__alloyMonitors||[];return e&&(t=t.concat(e)),t};var xn=e=>t=>{const n=e().toISOString();t.mergeXdm({timestamp:n})},qn="2.31.2-beta.1",Ln=[["architecture","string"],["bitness","string"],["model","string"],["platformVersion","string"],["wow64","boolean"]];const Un=new Set(["decisioning.propositionFetch","decisioning.propositionDisplay","decisioning.propositionInteract"]);const _n=(e=>t=>{t.mergeXdm({web:{webPageDetails:{URL:e.location.href||e.location},webReferrer:{URL:e.document.referrer}}})})(window),jn=(e=>t=>{const{screen:{width:n,height:r}}=e,o={},i=Re(r);i>=0&&(o.screenHeight=i);const a=Re(n);a>=0&&(o.screenWidth=a);const s=(e=>{const{screen:{orientation:t}}=e;if(null==t||null==t.type)return null;const n=t.type.split("-");return 0===n.length||"portrait"!==n[0]&&"landscape"!==n[0]?null:n[0]})(e)||(e=>{if(b(e.matchMedia)){if(e.matchMedia("(orientation: portrait)").matches)return"portrait";if(e.matchMedia("(orientation: landscape)").matches)return"landscape"}return null})(e);s&&(o.screenOrientation=s),Object.keys(o).length>0&&t.mergeXdm({device:o})})(window),Bn=(e=>t=>{const{document:{documentElement:{clientWidth:n,clientHeight:r}={}}}=e,o={type:"browser"},i=Re(n);i>=0&&(o.browserDetails={viewportWidth:i});const a=Re(r);a>=0&&(o.browserDetails=o.browserDetails||{},o.browserDetails.viewportHeight=a),t.mergeXdm({environment:o})})(window),Fn=(Vn=()=>new Date,e=>{const t=Vn(),n={},r=Re(t.getTimezoneOffset());void 0!==r&&(n.localTimezoneOffset=r),(void 0===r||Math.abs(r)<6e3)&&(n.localTime=(e=>{const t=e.getFullYear(),n=Te(e.getMonth()+1,2,"0"),r=Te(e.getDate(),2,"0"),o=Te(e.getHours(),2,"0"),i=Te(e.getMinutes(),2,"0"),a=Te(e.getSeconds(),2,"0"),s=Te(e.getMilliseconds(),3,"0"),c=Re(e.getTimezoneOffset(),0);return t+"-"+n+"-"+r+"T"+o+":"+i+":"+a+"."+s+(c>0?"-":"+")+Te(Math.floor(Math.abs(c)/60),2,"0")+":"+Te(Math.abs(c)%60,2,"0")})(t));const o=Intl.DateTimeFormat().resolvedOptions().timeZone;o&&(n.ianaTimezone=o),e.mergeXdm({placeContext:n})});var Vn;const Hn=xn(()=>new Date),zn={web:_n,device:jn,environment:Bn,placeContext:Fn},Jn={highEntropyUserAgentHints:(e=>(e=>"userAgentData"in e)(e)?(t,n)=>{try{return e.userAgentData.getHighEntropyValues(Ln.map(e=>e[0])).then(e=>{const n={};Ln.forEach(([t,r])=>{Object.prototype.hasOwnProperty.call(e,t)&&typeof e[t]===r&&(n[t]=e[t])}),t.mergeXdm({environment:{browserDetails:{userAgentClientHints:n}}})})}catch(e){return n.warn("Unable to collect user-agent client hints. "+e.message),fe}}:fe)(navigator),oneTimeAnalyticsReferrer:(e=>{let t=null;return n=>{const r=n.getContent(),o=r.xdm?.eventType;if(Un.has(o))return;const i=r.data?.__adobe?.analytics?.referrer,a=void 0!==i?i:e.document.referrer;a!==t?(n.mergeData({__adobe:{analytics:{referrer:a}}}),t=a):n.mergeData({__adobe:{analytics:{referrer:""}}})}})(window)},Xn={...zn,...Jn},Gn=[Hn,e=>{e.mergeXdm({implementationDetails:{name:"https://ns.adobe.com/experience/alloy",version:qn,environment:"browser"}})}],Qn=({config:e,logger:t})=>((e,t,n,r)=>{const o=e.context.flatMap((e,r)=>n[e]?[n[e]]:(t.warn("Invalid context["+r+"]: '"+e+"' is not available."),[])).concat(r);return{namespace:"Context",lifecycle:{onBeforeEvent:({event:e})=>Promise.all(o.map(n=>Promise.resolve(n(e,t))))}}})(e,t,Xn,Gn);Qn.namespace="Context",Qn.configValidators=Rt({context:Et(Tt()).default(Object.keys(zn))});const Kn=({eventManager:e,logger:t})=>({commands:{sendEvent:{documentationUri:"https://adobe.ly/3GQ3Q7t",optionsValidator:e=>(({options:e})=>Rt({type:Tt(),xdm:Rt({eventType:Tt(),identityMap:Nt}),data:Rt({}),documentUnloading:Ct(),renderDecisions:Ct(),decisionScopes:Et(Tt()).uniqueItems(),personalization:Rt({decisionScopes:Et(Tt()).uniqueItems(),surfaces:Et(Tt()).uniqueItems(),sendDisplayEvent:Ct().default(!0),includeRenderedPropositions:Ct().default(!1),defaultPersonalizationEnabled:Ct(),decisionContext:Rt({})}).default({sendDisplayEvent:!0}),datasetId:Tt(),mergeId:Tt(),edgeConfigOverrides:Mt,advertising:Rt({handleAdvertisingData:Ot(Xt,Gt,Qt).default(Xt)})}).required().noUnknownFields()(e))({options:e}),run:n=>{const{xdm:r,data:o,documentUnloading:i,type:a,mergeId:s,datasetId:c,edgeConfigOverrides:l,...u}=n,p=e.createEvent();return i&&p.documentMayUnload(),p.setUserXdm(r),p.setUserData(o),a&&p.mergeXdm({eventType:a}),s&&p.mergeXdm({eventMergeId:s}),l&&(u.edgeConfigOverrides=l),c&&(t.warn("The 'datasetId' option has been deprecated. Please use 'edgeConfigOverrides.com_adobe_experience_platform.datasets.event.datasetId' instead."),u.edgeConfigOverrides=l||{},d(u.edgeConfigOverrides,{com_adobe_experience_platform:{datasets:{event:{datasetId:c}}}})),e.sendEvent(p,u)}},applyResponse:{documentationUri:"",optionsValidator:e=>(({options:e})=>Rt({renderDecisions:Ct(),responseHeaders:Dt(Tt().required()),responseBody:Rt({handle:Et(Rt({type:Tt().required(),payload:bt().required()})).required()}).required(),personalization:Rt({sendDisplayEvent:Ct().default(!0),decisionContext:Rt({})}).default({sendDisplayEvent:!0})}).noUnknownFields()(e))({options:e}),run:t=>{const{renderDecisions:n=!1,decisionContext:r={},responseHeaders:o={},responseBody:i={handle:[]},personalization:a}=t,s=e.createEvent();return e.applyResponse(s,{renderDecisions:n,decisionContext:r,responseHeaders:o,responseBody:i,personalization:a})}}}});Kn.namespace="DataCollector";const Wn=(e,t)=>"ID sync "+(t?"succeeded":"failed")+": "+e.spec.url;const Yn=Rt({thirdPartyCookiesEnabled:Ct().default(!0),idMigrationEnabled:Ct().default(!0)});var $n=Rt({url:Tt().required().nonEmpty(),edgeConfigOverrides:Mt}).required().noUnknownFields(),Zn="ECID",er=({logger:e})=>new Promise((n,r)=>{if(t(window.adobe)&&t(window.adobe.optIn)){const t=window.adobe.optIn;e.info("Delaying request while waiting for legacy opt-in to let Visitor retrieve ECID from server."),t.fetchPermissions(()=>{t.isApproved([t.Categories.ECID])?(e.info("Received legacy opt-in approval to let Visitor retrieve ECID from server."),n()):r(new Error("Legacy opt-in was declined."))},!0)}else n()}),tr=({logger:e,orgId:t,awaitVisitorOptIn:n})=>()=>{const r=(e=>{const t=e.Visitor;return b(t)&&b(t.getInstance)&&t})(window);return r?n({logger:e}).then(()=>(e.info("Delaying request while using Visitor to retrieve ECID from server."),new Promise(n=>{r.getInstance(t,{}).getMarketingCloudVisitorID(t=>{e.info("Resuming previously delayed request that was waiting for ECID from Visitor."),n(t)},!0)}))).catch(t=>{t?e.info(t.message+", retrieving ECID from experience edge"):e.info("An error occurred while obtaining the ECID from Visitor.")}):Promise.resolve()},nr="CORE",rr=e=>{try{return decodeURIComponent(e)}catch{return""}};var or=(e,t)=>{e.addIdentity(Zn,{id:t})},ir=e=>e.getPayloadsByType("identity:result").reduce((e,t)=>(t.namespace&&t.namespace.code&&(e[t.namespace.code]=t.id),e),{}),ar=({payload:e,datastreamIdOverride:t})=>hn({payload:e,datastreamIdOverride:t,getAction:()=>"identity/acquire",getUseSendBeacon:()=>!1}),sr=e=>{const t={query:{identity:{fetch:e}}};return vn({content:t,addIdentity:fn(t),hasIdentity:wn(t)})};const cr=/^([^?#]*)(\??[^#]*)(#?.*)$/;const dr=Rt({namespaces:Et(Ot(Zn,nr)).nonEmpty().uniqueItems().default([Zn]),edgeConfigOverrides:Mt}).noUnknownFields().default({namespaces:[Zn]});const lr=({config:e,logger:t,consent:n,fireReferrerHideableImage:r,sendEdgeNetworkRequest:o,apexDomain:i,getBrowser:s,identity:c})=>{const{orgId:d,thirdPartyCookiesEnabled:l,edgeConfigOverrides:u}=e,g=(({config:e,getEcidFromVisitor:t,apexDomain:n,isPageSsl:r,cookieJar:o})=>{const{idMigrationEnabled:i,orgId:a}=e,s="AMCV_"+a,c=()=>{let e=null;const t=o.get("s_ecid")||o.get(s);if(t){const n=/(^|\|)MCMID\|(\d+)($|\|)/,r=t.match(n);r&&(e=r[2])}return e};return{getEcid(){if(i){const e=c();return e?Promise.resolve(e):t()}return Promise.resolve()},setEcid(e){if(i&&c()!==e){const t=r?{sameSite:"none",secure:!0}:{};o.set(s,"MCMID|"+e,{domain:n,expires:390,...t})}}}})({config:e,getEcidFromVisitor:tr({logger:t,orgId:d,awaitVisitorOptIn:er}),apexDomain:i,cookieJar:p({logger:t,cookieJar:a}),isPageSsl:"https:"===window.location.protocol}),m=se({orgId:d}),f=(({sendEdgeNetworkRequest:e,createIdentityRequestPayload:t,createIdentityRequest:n,globalConfigOverrides:r})=>({namespaces:o,edgeConfigOverrides:i}={})=>{const a=bn({payload:t(o),globalConfigOverrides:r,localConfigOverrides:i}),s=n(a);return e({request:s})})({sendEdgeNetworkRequest:o,createIdentityRequestPayload:sr,createIdentityRequest:ar,globalConfigOverrides:u}),h=ae({getBrowser:s}),y=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>n=>{e&&t()&&n.setUseIdThirdPartyDomain()})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h}),v=(({getLegacyEcid:e,addEcidToPayload:t})=>n=>n.hasIdentity(Zn)?Promise.resolve():e().then(e=>{e&&t(n,e)}))({getLegacyEcid:g.getEcid,addEcidToPayload:or}),w=(({locationSearch:e,dateProvider:t,orgId:n,logger:r})=>o=>{if(o.hasIdentity(Zn))return;let i=Ee.parse(e).adobe_mc;if(void 0===i)return;Array.isArray(i)&&(r.warn("Found multiple adobe_mc query string paramters, only using the last one."),i=i[i.length-1]);const a=i.split("|").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=rr(r),e[n]=e[n].replace(/[^a-zA-Z0-9@.]/g,""),e},{}),s=parseInt(a.TS,10),c=a.MCMID,d=rr(a.MCORGID);t().getTime()/1e3<=s+300&&d===n&&c?(r.info("Found valid ECID identity "+c+" from the adobe_mc query string parameter."),o.addIdentity(Zn,{id:c})):r.info("Detected invalid or expired adobe_mc query string parameter.")})({locationSearch:window.document.location.search,dateProvider:()=>new Date,orgId:d,logger:t}),I=(({doesIdentityCookieExist:e,orgId:t,logger:n})=>({onResponse:r,onRequestFailure:o})=>new Promise((i,a)=>{r(()=>{e()?i():(n.warn("Identity cookie not found. This could be caused by any of the following issues:\n\t* The org ID "+t+" configured in Alloy doesn't match the org ID specified in the edge configuration.\n\t* Experience edge was not able to set the identity cookie due to domain or cookie restrictions.\n\t* The request was canceled by the browser and not fully processed."),a(new Error("Identity cookie not found.")))}),o(()=>{e()?i():a(new Error("Identity cookie not found."))})}))({doesIdentityCookieExist:m,orgId:d,logger:t}),b=(({doesIdentityCookieExist:e,setDomainForInitialIdentityPayload:t,addLegacyEcidToPayload:n,awaitIdentityCookie:r,logger:o})=>{let i;const a=e=>(t(e),n(e.getPayload()));return({request:t,onResponse:n,onRequestFailure:s})=>{if(e())return t.setIsIdentityEstablished(),Promise.resolve();if(i){o.info("Delaying request while retrieving ECID from server.");const e=i;return i=e.catch(()=>r({onResponse:n,onRequestFailure:s})),i.catch(()=>{}),e.then(()=>{o.info("Resuming previously delayed request."),t.setIsIdentityEstablished()}).catch(()=>a(t))}return i=r({onResponse:n,onRequestFailure:s}),i.catch(()=>{}),a(t)}})({doesIdentityCookieExist:m,setDomainForInitialIdentityPayload:y,addLegacyEcidToPayload:v,awaitIdentityCookie:I,logger:t}),E=(({fireReferrerHideableImage:e,logger:t})=>n=>{const r=n.filter(e=>"url"===e.type);return r.length?Promise.all(r.map(n=>e(n.spec).then(()=>{t.info(Wn(n,!0))}).catch(()=>{t.error(Wn(n,!1))}))).then(fe):Promise.resolve()})({fireReferrerHideableImage:r,logger:t}),C=(({processIdSyncs:e})=>t=>e(t.getPayloadsByType("identity:exchange")))({processIdSyncs:E}),k=(({dateProvider:e,orgId:t})=>(n,r)=>{const o=Math.round(e().getTime()/1e3),i=encodeURIComponent("TS="+o+"|MCMID="+n+"|MCORGID="+encodeURIComponent(t)),[,a,s,c]=r.match(cr),d=(e=>""===e?"?":"?"===e?"":"&")(s);return""+a+s+d+"adobe_mc="+i+c})({dateProvider:()=>new Date,orgId:d}),S=(({thirdPartyCookiesEnabled:e})=>t=>{const n=dr(t);if(!e&&n.namespaces.includes(nr))throw new Error("namespaces: The CORE namespace cannot be requested when third-party cookies are disabled.");return n})({thirdPartyCookiesEnabled:l}),P=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>{const n={identity:{fetch:[Zn]}};return e&&t()&&n.identity.fetch.push(nr),e=>{e.mergeQuery(n)}})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h});return(({addEcidQueryToPayload:e,addQueryStringIdentityToPayload:t,ensureSingleIdentity:n,setLegacyEcid:r,handleResponseForIdSyncs:o,getNamespacesFromResponse:i,getIdentity:a,consent:s,appendIdentityToUrl:c,logger:d,identity:l,getIdentityOptionsValidator:u})=>{let p,g={};return{lifecycle:{onBeforeRequest:({request:r,onResponse:o,onRequestFailure:i})=>(e(r.getPayload()),t(r.getPayload()),n({request:r,onResponse:o,onRequestFailure:i})),onResponse({response:e}){const t=i(e);return p&&p[Zn]||!t||!t[Zn]||r(t[Zn]),t&&Object.keys(t).length>0&&(p={...p,...t}),g={...g,...e.getEdge()},l.setIdentityAcquired(),o(e)}},commands:{getIdentity:{optionsValidator:u,run:e=>{const{namespaces:t}=e;return s.awaitConsent().then(()=>{if(p)return;const n=l.getEcidFromCookie();return n&&t.includes(Zn)&&(p||(p={}),p[Zn]=n,1===t.length)?void 0:a(e)}).then(()=>({identity:t.reduce((e,t)=>(e[t]=p[t]||null,e),{}),edge:g}))}},appendIdentityToUrl:{optionsValidator:$n,run:e=>s.withConsent().then(()=>{if(p)return;const t=l.getEcidFromCookie();return t?(p||(p={}),void(p[Zn]=t)):a(e)}).then(()=>({url:c(p[Zn],e.url)})).catch(t=>(d.warn("Unable to append identity to url. "+t.message),e))}}}})({addEcidQueryToPayload:P,addQueryStringIdentityToPayload:w,ensureSingleIdentity:b,setLegacyEcid:g.setEcid,handleResponseForIdSyncs:C,getNamespacesFromResponse:ir,getIdentity:f,consent:n,identity:c,appendIdentityToUrl:k,logger:t,getIdentityOptionsValidator:S})};lr.namespace="Identity",lr.configValidators=Yn;const ur=({config:e,componentRegistry:t})=>{const n=[...t.getCommandNames(),on,an].sort(),r={...e};Object.keys(e).forEach(t=>{const n=e[t];"function"==typeof n&&(r[t]=n.toString())});const o=t.getComponentNames();return{version:qn,configs:r,commands:n,components:o}},pr=({config:e,componentRegistry:t})=>({commands:{getLibraryInfo:{run:()=>({libraryInfo:ur({config:e,componentRegistry:t})})}}});pr.namespace="LibraryInfo";var gr=Object.freeze({__proto__:null,context:Qn,dataCollector:Kn,identity:lr,libraryInfo:pr});const mr=de(window),{fetch:fr,navigator:hr}=window,yr=Rt({debugEnabled:Ct().default(!1),datastreamId:Tt().unique().required(),edgeDomain:Tt().domain().default("edge.adobedc.net"),edgeBasePath:Tt().nonEmpty().default("ee"),orgId:Tt().unique().required(),onBeforeEventSend:kt().default(fe),edgeConfigOverrides:Mt}).renamed("edgeConfigId",Tt().unique(),"datastreamId"),vr=((e,t)=>{let n="";const r=e.location.hostname.toLowerCase().split(".");let o=1;for(;o<r.length&&!t.get(X);)o+=1,n=J(r,o).join("."),t.set(X,X,{domain:n});return t.remove(X,{domain:n}),n})(window,a),wr=(({fetch:e})=>(t,n)=>e(t,{method:"POST",cache:"no-cache",credentials:"include",headers:{"Content-Type":"text/plain; charset=UTF-8"},referrerPolicy:"no-referrer-when-downgrade",body:n}).then(e=>e.text().then(t=>({statusCode:e.status,getHeader:t=>e.headers.get(t),body:t}))))({fetch:fr}),Ir=(({appendNode:e=f,awaitSelector:t=x,createNode:n=h,fireImage:r=I}={})=>{const o=r;let i;const a=({src:o})=>t("BODY").then(([t])=>i||(i=n("IFRAME",j,B),e(t,i))).then(e=>{const t=e.contentWindow.document;return r({src:o,currentDocument:t})});return e=>{const{hideReferrer:t,url:n}=e;return t?a({src:n}):o({src:n})}})(),br=(({window:e,createNamespacedStorage:t})=>{const n=t("validation.");return()=>{const t=Ee.parse(e.location.search).adb_validation_sessionid;if(!t)return"";const r=(e=>{let t=e.persistent.getItem(En);return t||(t=qe(),e.persistent.setItem(En,t)),t})(n),o=t+"|"+r;return"&"+Ee.stringify({adobeAepValidationToken:o})}})({window:window,createNamespacedStorage:mr}),Er=(({userAgent:e})=>oe(()=>((e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1){const o=n[r];if(e[o].test(t))return o}return re})({[$]:/Edge\/([0-9\._]+)/,[Z]:/Edg\/([0-9\.]+)/,[Y]:/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/,[ee]:/Firefox\/([0-9\.]+)(?:\s|$)/,[te]:/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/,[ne]:/Version\/([0-9\._]+).*Safari/},e)))({userAgent:window.navigator.userAgent}),Cr=({instanceName:e,logController:{setDebugEnabled:t,logger:n,createComponentLogger:r},components:o})=>{const i=_t(),s=Lt(i),c=o.concat(Object.values(gr)),d=p({logger:n,cookieJar:a}),l=pn({errorPrefix:"["+e+"]",logger:n}),g=sn({logger:n,configureCommand:o=>{const l=ln({options:o,componentCreators:c,coreConfigValidators:yr,createConfig:un,logger:n,setDebugEnabled:t}),{orgId:p,targetMigrationEnabled:g}=l,m=kn({orgId:p,targetMigrationEnabled:g}),f=(({cookieJar:e,shouldTransferCookie:t,apexDomain:n,dateProvider:r})=>({cookiesToPayload(r,o){const i=""!==n&&o.endsWith(n),a={domain:n,cookiesEnabled:!0};if(!i){const n=e.get(),r=Object.keys(n).filter(t).map(e=>({key:e,value:n[e]}));r.length&&(a.entries=r)}r.mergeState(a)},responseToCookies(t){t.getPayloadsByType("state:store").forEach(t=>{const o={domain:n},i=t.attrs&&t.attrs.SameSite&&t.attrs.SameSite.toLowerCase();void 0!==t.maxAge&&(o.expires=new Date(r().getTime()+1e3*t.maxAge)),void 0!==i&&(o.sameSite=i),"none"===i&&(o.secure=!0),e.set(t.key,t.value,o)})}}))({cookieJar:d,shouldTransferCookie:m,apexDomain:vr,dateProvider:()=>new Date}),h=b(hr.sendBeacon)?(({sendBeacon:e,sendFetchRequest:t,logger:n})=>(r,o)=>{const i=new Blob([o],{type:"text/plain; charset=UTF-8"});return e(r,i)?Promise.resolve({statusCode:204,getHeader:()=>null,body:""}):(n.info("Unable to use `sendBeacon`; falling back to `fetch`."),t(r,o))})({sendBeacon:hr.sendBeacon.bind(hr),sendFetchRequest:wr,logger:n}):wr,y=(({logger:e,sendFetchRequest:t,sendBeaconRequest:n,isRequestRetryable:r,getRequestRetryDelay:o})=>({requestId:i,url:a,payload:s,useSendBeacon:c})=>{const d=JSON.stringify(s),l=JSON.parse(d);e.logOnBeforeNetworkRequest({url:a,requestId:i,payload:l});const u=(s=0)=>(c?n:t)(a,d).then(t=>{if(r({response:t,retriesAttempted:s})){const e=o({response:t,retriesAttempted:s});return new Promise(t=>{setTimeout(()=>{t(u(s+1))},e)})}let n;try{n=JSON.parse(t.body)}catch{}return e.logOnNetworkResponse({requestId:i,url:a,payload:l,...t,parsedBody:n,retriesAttempted:s}),{statusCode:t.statusCode,body:t.body,parsedBody:n,getHeader:t.getHeader}});return u().catch(t=>{throw e.logOnNetworkError({requestId:i,url:a,payload:l,error:t}),De({error:t,message:"Network request failed."})})})({logger:n,sendFetchRequest:wr,sendBeaconRequest:h,isRequestRetryable:Nn,getRequestRetryDelay:Mn}),v=(({logger:e})=>t=>{const{statusCode:n,body:r,parsedBody:o}=t;if(n<200||n>=300||!o&&204!==n||o&&!Array.isArray(o.handle)){const e=o?JSON.stringify(o,null,2):r;throw new Error(Rn+" status code "+n+" and "+(e?"response body:\n"+e:"no response body."))}if(o){const{warnings:t=[],errors:n=[]}=o;t.forEach(t=>{e.warn(Rn+" warning:",t)}),n.forEach(t=>{e.error(Rn+" non-fatal error:",t)})}})({logger:n}),w=(({logger:e})=>t=>{if(t){const n=t.split(";");if(n.length>=2&&n[1].length>0)try{const e=parseInt(n[1],10);if(!Number.isNaN(e))return{regionId:e}}catch{}e.warn('Invalid adobe edge: "'+t+'"')}return{}})({logger:n}),I=(({extractEdgeInfo:e})=>({content:t={},getHeader:n})=>{const{handle:r=[],errors:o=[],warnings:i=[]}=t;return{getPayloadsByType:e=>r.filter(t=>t.type===e).flatMap(e=>e.payload),getErrors:()=>o,getWarnings:()=>i,getEdge:()=>e(n("x-adobe-edge")),toJSON:()=>t}})({extractEdgeInfo:w}),E=Tn({orgId:p,cookieJar:a}),C=(({config:e,lifecycle:t,cookieTransfer:n,sendNetworkRequest:r,createResponse:o,processWarningsAndErrors:i,getLocationHint:a,getAssuranceValidationTokenParams:s})=>{const{edgeDomain:c,edgeBasePath:d,datastreamId:l}=e;let p=!1;const g=(e,t)=>{const n=a(),r=n?d+"/"+n+t.getEdgeSubPath():""+d+t.getEdgeSubPath(),o=t.getDatastreamIdOverride()||l;return o!==l&&t.getPayload().mergeMeta({sdkConfig:{datastream:{original:l}}}),"https://"+e+"/"+r+"/v1/"+t.getAction()+"?configId="+o+"&requestId="+t.getId()+s()};return({request:e,runOnResponseCallbacks:a=fe,runOnRequestFailureCallbacks:s=fe})=>{const d=u();d.add(t.onResponse),d.add(a);const l=u();return l.add(t.onRequestFailure),l.add(s),t.onBeforeRequest({request:e,onResponse:d.add,onRequestFailure:l.add}).then(()=>{const t=p||!e.getUseIdThirdPartyDomain()?c:"adobedc.demdex.net",o=g(t,e),i=e.getPayload(),a=Dn(i);return void 0!==a&&i.mergeMeta({queueTimeMillis:a}),n.cookiesToPayload(i,t),r({requestId:e.getId(),url:o,payload:i,useSendBeacon:e.getUseSendBeacon()})}).then(e=>(i(e),e)).catch(t=>{if(((e,t)=>t.getUseIdThirdPartyDomain()&&(e=>"TypeError"===e.name||"NetworkError"===e.name||0===e.status)(e))(t,e)){p=!0,e.setUseIdThirdPartyDomain(!1);const t=g(c,e),o=e.getPayload();return n.cookiesToPayload(o,c),r({requestId:e.getId(),url:t,payload:o,useSendBeacon:e.getUseSendBeacon()})}return Pn(l)(t)}).then(({parsedBody:e,getHeader:t})=>{const r=o({content:e,getHeader:t});return n.responseToCookies(r),d.call({response:r}).then(Sn)})}})({config:l,lifecycle:s,cookieTransfer:f,sendNetworkRequest:y,createResponse:I,processWarningsAndErrors:v,getLocationHint:E,getAssuranceValidationTokenParams:br}),k=(({cookieTransfer:e,lifecycle:t,createResponse:n,processWarningsAndErrors:r})=>({request:o,responseHeaders:i,responseBody:a,runOnResponseCallbacks:s=fe,runOnRequestFailureCallbacks:c=fe})=>{const d=u();d.add(t.onResponse),d.add(s);const l=u();l.add(t.onRequestFailure),l.add(c);const p=e=>i[e];return t.onBeforeRequest({request:o,onResponse:d.add,onRequestFailure:l.add}).then(()=>r({statusCode:200,getHeader:p,body:JSON.stringify(a),parsedBody:a})).catch(Pn(l)).then(()=>{const t=n({content:a,getHeader:p});return e.responseToCookies(t),d.call({response:t}).then(Sn)})})({lifecycle:s,cookieTransfer:f,createResponse:I,processWarningsAndErrors:v}),S=(({generalConsentState:e,logger:t})=>{const n=(n,r)=>{switch(n[Kt]){case Ht:e.in(r);break;case zt:e.out(r);break;case Jt:e.pending(r);break;default:t.warn("Unknown consent value: "+n[Kt])}};return{initializeConsent(e,t){t[Kt]?n(t,$t):n(e,Yt)},setConsent(e){n(e,Zt)},suspend(){e.pending()},awaitConsent:()=>e.awaitConsent(),withConsent:()=>e.withConsent(),current:()=>e.current()}})({generalConsentState:tn({logger:n}),logger:n}),P=Vt({config:l,logger:n,loggingCookieJar:d});P.initialize();const D=(({config:e,logger:t,lifecycle:n,consent:r,createEvent:o,createDataCollectionRequestPayload:i,createDataCollectionRequest:a,sendEdgeNetworkRequest:s,applyResponse:c})=>{const{onBeforeEventSend:d,edgeConfigOverrides:l}=e;return{createEvent:o,sendEvent(e,o={}){const{edgeConfigOverrides:c,...p}=o,g=bn({payload:i(),localConfigOverrides:c,globalConfigOverrides:l}),m=a(g),f=u(),h=u();return n.onBeforeEvent({...p,event:e,onResponse:f.add,onRequestFailure:h.add}).then(()=>(g.payload.addEvent(e),r.awaitConsent())).then(()=>{try{e.finalize(d)}catch(e){const t=()=>{throw e};return h.add(n.onRequestFailure),h.call({error:e}).then(t,t)}if(!e.shouldSend()){h.add(n.onRequestFailure),t.info(Cn);const e=new Error(Cn);return h.call({error:e}).then(()=>{})}return s({request:m,runOnResponseCallbacks:f.call,runOnRequestFailureCallbacks:h.call})})},applyResponse(e,t={}){const{renderDecisions:r=!1,decisionContext:o={},responseHeaders:s={},responseBody:d={handle:[]},personalization:l}=t,p=i(),g=a({payload:p}),m=u();return n.onBeforeEvent({event:e,renderDecisions:r,decisionContext:o,decisionScopes:[mn],personalization:l,onResponse:m.add,onRequestFailure:fe}).then(()=>(p.addEvent(e),c({request:g,responseHeaders:s,responseBody:d,runOnResponseCallbacks:m.call})))}}})({config:l,logger:n,lifecycle:s,consent:S,createEvent:rn,createDataCollectionRequestPayload:In,createDataCollectionRequest:yn,sendEdgeNetworkRequest:C,applyResponse:k});return(({componentCreators:e,lifecycle:t,componentRegistry:n,getImmediatelyAvailableTools:r})=>(e.forEach(e=>{const{namespace:t}=e,o=r(t);let i;try{i=e(o)}catch(e){throw De({error:e,message:"["+t+"] An error occurred during component creation."})}n.register(t,i)}),t.onComponentsRegistered({lifecycle:t}).then(()=>n)))({componentCreators:c,lifecycle:s,componentRegistry:i,getImmediatelyAvailableTools(t){const n=r(t);return{loggingCookieJar:d,instanceName:e,config:l,componentRegistry:i,consent:S,identity:P,eventManager:D,fireReferrerHideableImage:Ir,logger:n,lifecycle:s,sendEdgeNetworkRequest:C,handleError:pn({errorPrefix:"["+e+"] ["+t+"]",logger:n}),createNamespacedStorage:mr,apexDomain:vr,getBrowser:Er,cookieTransfer:f,createResponse:I}}})},setDebugCommand:e=>{t(e.enabled,{fromConfig:!1})},handleError:l,validateCommandOptions:dn});return g};var kr=({eventManager:e,lifecycle:t,handleError:n})=>{const r=(({eventManager:e,lifecycle:t,handleError:n})=>r=>{if(r.s_fe)return Promise.resolve();const o="composedPath"in r&&r.composedPath().length>0?r.composedPath()[0]:r.target,i=e.createEvent();return i.documentMayUnload(),t.onClick({event:i,clickedElement:o}).then(()=>i.isEmpty()?Promise.resolve():e.sendEvent(i)).then(fe).catch(e=>{n(e,"click collection")})})({eventManager:e,lifecycle:t,handleError:n});document.addEventListener("click",r,!0)};const Sr="\\.(exe|zip|wav|mp3|mov|mpg|avi|wmv|pdf|doc|docx|xls|xlsx|ppt|pptx)$",Pr=Tt().regexp().default(Sr),Dr=Rt({clickCollectionEnabled:Ct().default(!0),clickCollection:Rt({internalLinkEnabled:Ct().default(!0),externalLinkEnabled:Ct().default(!0),downloadLinkEnabled:Ct().default(!0),sessionStorageEnabled:Ct().default(!1),eventGroupingEnabled:Ct().default(!1),filterClickProperties:kt()}).default({internalLinkEnabled:!0,externalLinkEnabled:!0,downloadLinkEnabled:!0,sessionStorageEnabled:!1,eventGroupingEnabled:!1}),downloadLinkQualifier:Pr,onBeforeLinkClickSend:kt().deprecated('The field "onBeforeLinkClickSend" has been deprecated. Use "clickCollection.filterClickDetails" instead.')});var Rr=(e=document)=>null!==e.getElementById("cppXYctnr"),Tr=e=>{let t=e;/^https?:\/\//i.test(t)||(t=window.location.protocol+"//"+e);return new URL(t).hostname};var Or=({config:e,logger:t,getClickedElementProperties:n,clickActivityStorage:r})=>{const{clickCollectionEnabled:o,clickCollection:i}=e;return o?({event:o,clickedElement:a})=>{const s=n({clickActivityStorage:r,clickedElement:a,config:e,logger:t}),c=s.linkType;var d,l;Rr()||(s.isValidLink()&&((e,t)=>t&&("download"===t&&!e.downloadLinkEnabled||"exit"===t&&!e.externalLinkEnabled||"other"===t&&!e.internalLinkEnabled))(i,c)?t.info("Cancelling link click event due to clickCollection."+c+"LinkEnabled = false."):s.isInternalLink()&&i.eventGroupingEnabled&&(!e.onBeforeLinkClickSend||i.filterClickDetails)&&(d=window.location.hostname,l=s.linkUrl,Tr(d)===Tr(l))?r.save(s.properties):s.isValidLink()?(o.mergeXdm(s.xdm),o.mergeData(s.data),r.save({pageName:s.pageName,pageIDType:s.pageIDType})):s.isValidActivityMapData()&&r.save(s.properties))}:()=>{}};var Nr=({properties:e,logger:t}={})=>{let n=e||{};return{get pageName(){return n.pageName},set pageName(e){n.pageName=e},get linkName(){return n.linkName},set linkName(e){n.linkName=e},get linkRegion(){return n.linkRegion},set linkRegion(e){n.linkRegion=e},get linkType(){return n.linkType},set linkType(e){n.linkType=e},get linkUrl(){return n.linkUrl},set linkUrl(e){n.linkUrl=e},get pageIDType(){return n.pageIDType},set pageIDType(e){n.pageIDType=e},get clickedElement(){return n.clickedElement},set clickedElement(e){n.clickedElement=e},get properties(){return{pageName:n.pageName,linkName:n.linkName,linkRegion:n.linkRegion,linkType:n.linkType,linkUrl:n.linkUrl,pageIDType:n.pageIDType}},isValidLink:()=>!!(n.linkUrl&&n.linkType&&n.linkName&&n.linkRegion),isInternalLink(){return this.isValidLink()&&"other"===n.linkType},isValidActivityMapData:()=>!!n.pageName&&!!n.linkName&&!!n.linkRegion&&void 0!==n.pageIDType,get xdm(){return n.filteredXdm?n.filteredXdm:(e=>({eventType:"web.webinteraction.linkClicks",web:{webInteraction:{name:e.linkName,region:e.linkRegion,type:e.linkType,URL:e.linkUrl,linkClicks:{value:1}}}}))(this)},get data(){return n.filteredData?n.filteredData:(e=>({__adobe:{analytics:{contextData:{a:{activitymap:{page:e.pageName,link:e.linkName,region:e.linkRegion,pageIDType:e.pageIDType}}}}}}))(this)},applyPropertyFilter(e){e&&!1===e(n)&&(t&&t.info("Clicked element properties were rejected by filter function: "+JSON.stringify(this.properties,null,2)),n={})},applyOptionsFilter(e){const r=this.options;if(r&&r.clickedElement&&(r.xdm||r.data)){if(e&&!1===e(r))return t&&t.info("Clicked element properties were rejected by filter function: "+JSON.stringify(this.properties,null,2)),void(this.options=void 0);this.options=r,n.filteredXdm=r.xdm,n.filteredData=r.data}},get options(){const e={};if(this.isValidLink()&&(e.xdm=this.xdm),this.isValidActivityMapData()&&(e.data=this.data),this.clickedElement&&(e.clickedElement=this.clickedElement),e.xdm||e.data)return e},set options(e){n={},e&&((e,t)=>{const{xdm:n,data:r,clickedElement:o}=e;if(t.clickedElement=o,n&&n.web&&n.web.webInteraction){const{name:e,region:r,type:o,URL:i}=n.web.webInteraction;t.linkName=e,t.linkRegion=r,t.linkType=o,t.linkUrl=i}if(r&&r.__adobe&&r.__adobe.analytics){const{contextData:e}=r.__adobe.analytics;if(e&&e.a&&e.a.activitymap){const{page:n,link:r,region:o,pageIDType:i}=e.a.activitymap;t.pageName=n||t.pageName,t.linkName=r||t.linkName,t.linkRegion=o||t.linkRegion,void 0!==i&&(t.pageIDType=i)}}})(e,n)}}};const Mr="clickData";var Ar=e=>e&&e.replace(/\s+/g," ").trim();const xr=/^(SCRIPT|STYLE|LINK|CANVAS|NOSCRIPT|#COMMENT)$/i;const qr=e=>{let t=[],n=!1;if((e=>!(e&&e.nodeName&&e.nodeName.match(xr)))(e)){if(t.push(e),e.childNodes){Array.prototype.slice.call(e.childNodes).forEach(e=>{const r=qr(e);t=t.concat(r.supportedNodes),n=n||r.includesUnsupportedNodes})}}else n=!0;return{supportedNodes:t,includesUnsupportedNodes:n}},Lr=(e,t,n)=>{let r;return n&&n!==e.nodeName.toUpperCase()||(r=e.getAttribute(t)),r};const Ur=/^(HEADER|MAIN|FOOTER|NAV)$/i,_r=e=>{let t;return"region"===e.role&&me(e["aria-label"])&&(t=e["aria-label"]),t},jr=e=>{let t;return e&&e.nodeName&&e.nodeName.match(Ur)&&(t=e.nodeName),t};var Br=e=>!(!e.href||"A"!==e.tagName&&"AREA"!==e.tagName||e.onclick&&e.protocol&&!(e.protocol.toLowerCase().indexOf("javascript")<0)),Fr=e=>!!e&&!!e.onclick,Vr=e=>{if("INPUT"===e.tagName){const t=e.getAttribute("type");if("submit"===t)return!0;if("image"===t&&e.src)return!0}return!1},Hr=e=>"BUTTON"===e.tagName&&"submit"===e.type,zr=e=>{const t=e.indexOf("?"),n=e.indexOf("#");return t>=0&&(t<n||n<0)?e.substring(0,t):n>=0?e.substring(0,n):e};const Jr=(({window:e,getLinkName:t,getLinkRegion:n,getAbsoluteUrlFromAnchorElement:r,findClickableElement:o,determineLinkType:i})=>({clickedElement:a,config:s,logger:c,clickActivityStorage:d})=>{const{onBeforeLinkClickSend:l,clickCollection:u}=s,{filterClickDetails:p}=u,g=Nr({logger:c});if(a){const c=o(a);if(c){g.clickedElement=a,g.linkUrl=r(e,c),g.linkType=i(e,s,g.linkUrl,c),g.linkRegion=n(c),g.linkName=t(c),g.pageIDType=0,g.pageName=e.location.href;const o=d.load();o&&o.pageName&&(g.pageName=o.pageName,g.pageIDType=1),p?g.applyPropertyFilter(p):l&&g.applyOptionsFilter(l)}}return g})({window:window,getLinkName:e=>{let t=Ar(e.innerText||e.textContent);const n=qr(e);if(!t||n.includesUnsupportedNodes){const e=(e=>{const t={texts:[]};return e.supportedNodes.forEach(e=>{e.getAttribute&&(t.alt||(t.alt=Ar(e.getAttribute("alt"))),t.title||(t.title=Ar(e.getAttribute("title"))),t.inputValue||(t.inputValue=Ar(Lr(e,"value","INPUT"))),t.imgSrc||(t.imgSrc=Ar(Lr(e,"src","IMG"))),t.ariaLabel||(t.ariaLabel=Ar(e.getAttribute("aria-label"))),t.name||(t.name=Ar(e.getAttribute("name")))),e.nodeValue&&t.texts.push(e.nodeValue)}),t})(n);t=Ar(e.texts.join("")),t||(t=e.alt||e.title||e.inputValue||e.imgSrc||e.ariaLabel||e.name)}return t||""},getLinkRegion:e=>{let t,n=e.parentNode;for(;n;){if(t=Ar(n.id||_r(n)||jr(n)),t)return t;n=n.parentNode}return"BODY"},getAbsoluteUrlFromAnchorElement:(e,t)=>{const n=e.location.href;let r=t.href||"";"string"!=typeof r&&(r="");try{return new URL(r,n).href}catch{return n}},findClickableElement:e=>{let t=e;for(;t&&(!t.nodeName||"BODY"!==t.nodeName);){if(Br(t)||Fr(t)||Vr(t)||Hr(t))return t;t=t.parentNode}return null},determineLinkType:(e,t,n,r)=>{let o="other";return me(n)&&(((e,t,n)=>{let r=!1;if(t)if(n&&n.download)r=!0;else if(e){const n=new RegExp(e),o=zr(t).toLowerCase();r=n.test(o)}return r})(t.downloadLinkQualifier,n,r)?o="download":((e,t)=>{let n=!1;if(t&&e.location.hostname){const r=e.location.hostname.toLowerCase();n=zr(t).toLowerCase().indexOf(r)<0}return n})(e,n)&&(o="exit")),o}});let Xr;const Gr=e=>{if(!Xr){const t=de(window)(e.orgId||""),n=(()=>{const e={};return{getItem:t=>e[t],setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}})(),r=e.clickCollection.sessionStorageEnabled?t.session:n;Xr=(({storage:e})=>({save:t=>{const n=JSON.stringify(t);e.setItem(Mr,n)},load:()=>{let t=null;const n=e.getItem(Mr);return n&&(t=JSON.parse(n)),t},remove:()=>{e.removeItem(Mr)}}))({storage:r})}},Qr=({config:e,eventManager:t,handleError:n,logger:r})=>{((e,t)=>{const{clickCollectionEnabled:n,onBeforeLinkClickSend:r,downloadLinkQualifier:o}=e;!1===n&&(r&&t.warn("The 'onBeforeLinkClickSend' configuration was provided but will be ignored because clickCollectionEnabled is false."),o&&o!==Sr&&t.warn("The 'downloadLinkQualifier' configuration was provided but will be ignored because clickCollectionEnabled is false."))})(e,r);const o=e.clickCollection;Xr||Gr(e);const i=Or({config:e,logger:r,clickActivityStorage:Xr,getClickedElementProperties:Jr}),a=(({clickActivityStorage:e})=>t=>{if(Rr())return;const n=e.load(),r=Nr({properties:n});if(r.isValidLink()||r.isValidActivityMapData()){if(r.isValidLink()){const e=r.xdm;delete e.eventType,t.mergeXdm(e)}r.isValidActivityMapData()&&t.mergeData(r.data),e.save({pageName:r.pageName,pageIDType:r.pageIDType})}})({clickActivityStorage:Xr}),s=(({clickActivityStorage:e})=>t=>{e.save({pageName:t.getContent().xdm.web.webPageDetails.name,pageIDType:1})})({clickActivityStorage:Xr});return{lifecycle:{onComponentsRegistered(e){const{lifecycle:r}=e;kr({eventManager:t,lifecycle:r,handleError:n})},onClick({event:e,clickedElement:t}){i({event:e,clickedElement:t})},onBeforeEvent({event:e}){(e=>{const t=e.getContent();return void 0!==t.xdm&&void 0!==t.xdm.web&&void 0!==t.xdm.web.webPageDetails&&void 0!==t.xdm.web.webPageDetails.name})(e)&&(o.eventGroupingEnabled&&a(e),s(e,r,Xr))}}}};Qr.namespace="ActivityCollector",Qr.configValidators=Dr,Qr.buildOnInstanceConfiguredExtraParams=({config:e,logger:t})=>(Xr||Gr(e),{getLinkDetails:n=>Jr({clickActivityStorage:Xr,clickedElement:n,config:e,logger:t}).properties});var Kr=({fireReferrerHideableImage:e,logger:t,cookieJar:n,isPageSsl:r})=>{const o=r?{sameSite:"none",secure:!0}:{};return r=>((e=>{e.filter(e=>"cookie"===e.type).forEach(e=>{const{name:t,value:r,domain:i,ttlDays:a}=e.spec;n.set(t,r||"",{domain:i||"",expires:a||10,...o})})})(r),(n=>{const r=n.filter(e=>"url"===e.type);return Promise.all(r.map(n=>e(n.spec).then(()=>{t.info((e=>"URL destination succeeded: "+e.spec.url)(n))}).catch(()=>{}))).then(fe)})(r))},Wr=({processDestinations:e})=>({response:t})=>(({response:t})=>{const n=t.getPayloadsByType("activation:push");return e(n)})({response:t}).then(()=>(({response:e})=>({destinations:e.getPayloadsByType("activation:pull")}))({response:t}));const Yr=({logger:e,fireReferrerHideableImage:t})=>{const n=a.withConverter({write:e=>encodeURIComponent(e)}),r=p({logger:e,cookieJar:n}),o=Kr({fireReferrerHideableImage:t,logger:e,cookieJar:r,isPageSsl:"https:"===window.location.protocol});return{lifecycle:{onResponse:Wr({processDestinations:o})},commands:{}}};Yr.namespace="Audiences";const $r=({standard:e,version:t})=>e+"."+t;var Zr=({storage:e})=>({clear(){e.clear()},lookup(t){const n={},r=e=>{const t=$r(e),{standard:r,version:o,...i}=e;var a;return n[t]||(n[t]=(a=i,H(JSON.stringify(ke(a)))).toString()),n[t]};return{isNew:()=>t.some(t=>{const n=$r(t),o=e.getItem(n);return null===o||o!==r(t)}),save(){t.forEach(t=>{const n=$r(t);e.setItem(n,r(t))})}}}}),eo=()=>{const e={};return{...vn({content:e,addIdentity:(t,n)=>{e.identityMap=e.identityMap||{},e.identityMap[t]=e.identityMap[t]||[],e.identityMap[t].push(n)},hasIdentity:t=>void 0!==(e.identityMap&&e.identityMap[t])}),setConsent:t=>{e.consent=t}}},to=({payload:e,datastreamIdOverride:t})=>hn({payload:e,datastreamIdOverride:t,getAction:()=>"privacy/set-consent",getUseSendBeacon:()=>!1}),no=e=>e.split(";").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=r,e},{}),ro=Rt({consent:Et(bt()).required().nonEmpty(),identityMap:Nt,edgeConfigOverrides:Mt}).noUnknownFields().required(),oo=Rt({defaultConsent:Ot(Ht,zt,Jt).default(Ht)});const io=({config:e,consent:n,sendEdgeNetworkRequest:r,createNamespacedStorage:o})=>{const{orgId:i,defaultConsent:s}=e,c=(({parseConsentCookie:e,orgId:t,cookieJar:n})=>{const r=K(t,"consent");return{read(){const t=n.get(r);return t?e(t):{}},clear(){n.remove(r)}}})({parseConsentCookie:no,orgId:i,cookieJar:a}),d=(()=>{let e=0,t=Promise.resolve();return{addTask(n){e+=1;const r=()=>n().finally(()=>{e-=1});return t=t.then(r,r),t},get length(){return e}}})(),l=(({createConsentRequestPayload:e,createConsentRequest:n,sendEdgeNetworkRequest:r,edgeConfigOverrides:o})=>({consentOptions:i,identityMap:a,edgeConfigOverrides:s})=>{const c=bn({payload:e(),globalConfigOverrides:o,localConfigOverrides:s});c.payload.setConsent(i),t(a)&&Object.keys(a).forEach(e=>{a[e].forEach(t=>{c.payload.addIdentity(e,t)})});const d=n(c);return r({request:d}).then(()=>{})})({createConsentRequestPayload:eo,createConsentRequest:to,sendEdgeNetworkRequest:r,edgeConfigOverrides:e.edgeConfigOverrides}),u=o(Q(i)+".consentHashes."),p=Zr({storage:u.persistent}),g=se({orgId:i});return(({storedConsent:e,taskQueue:t,defaultConsent:n,consent:r,sendSetConsentRequest:o,validateSetConsentOptions:i,consentHashStore:a,doesIdentityCookieExist:s})=>{const c={[Kt]:n};let d=e.read();const l=s(),u=void 0!==d[Kt];l&&u||a.clear(),l||(e.clear(),d={}),r.initializeConsent(c,d);const p=()=>{if(0===t.length){const t=e.read();void 0!==t[Kt]&&r.setConsent(t)}};return{commands:{setConsent:{optionsValidator:i,run:({consent:e,identityMap:n,edgeConfigOverrides:i})=>{r.suspend();const s=a.lookup(e);return t.addTask(()=>s.isNew()?o({consentOptions:e,identityMap:n,edgeConfigOverrides:i}):Promise.resolve()).then(()=>s.save()).finally(p)}}},lifecycle:{onResponse:p,onRequestFailure:p}}})({storedConsent:c,taskQueue:d,defaultConsent:s,consent:n,sendSetConsentRequest:l,validateSetConsentOptions:ro,consentHashStore:p,doesIdentityCookieExist:g})};io.namespace="Consent",io.configValidators=oo;var ao=()=>({eventMergeId:qe()});const so=()=>(({createEventMergeId:e})=>({commands:{createEventMergeId:{run:e}}}))({createEventMergeId:ao});so.namespace="EventMerge";var co={PAUSE:"media.pauseStart",PLAY:"media.play",BUFFER_START:"media.bufferStart",AD_START:"media.adStart",Ad_BREAK_START:"media.adBreakStart",SESSION_END:"media.sessionEnd",SESSION_START:"media.sessionStart",SESSION_COMPLETE:"media.sessionComplete",PING:"media.ping",AD_BREAK_COMPLETE:"media.adBreakComplete",AD_COMPLETE:"media.adComplete",AD_SKIP:"media.adSkip",BITRATE_CHANGE:"media.bitrateChange",CHAPTER_COMPLETE:"media.chapterComplete",CHAPTER_SKIP:"media.chapterSkip",CHAPTER_START:"media.chapterStart",ERROR:"media.error",STATES_UPDATE:"media.statesUpdate"},lo=({config:e,eventManager:t,consent:n,sendEdgeNetworkRequest:r,setTimestamp:o})=>({createMediaEvent({options:n}){const r=t.createEvent(),{xdm:i}=n;if(o(r),r.setUserXdm(i),i.eventType===co.AD_START){const{advertisingDetails:t}=n.xdm.mediaCollection;r.mergeXdm({mediaCollection:{advertisingDetails:{playerName:t.playerName||e.streamingMedia.playerName}}})}return r},createMediaSession(n){const{playerName:r,channel:o,appVersion:i}=e.streamingMedia,a=t.createEvent(),{sessionDetails:s}=n.xdm.mediaCollection;return a.setUserXdm(n.xdm),a.mergeXdm({eventType:co.SESSION_START,mediaCollection:{sessionDetails:{playerName:s.playerName||r,channel:s.channel||o,appVersion:s.appVersion||i}}}),a},augmentMediaEvent({event:e,playerId:t,getPlayerDetails:n,sessionID:r}){if(!t||!n)return e;const{playhead:o,qoeDataDetails:i}=n({playerId:t});return e.mergeXdm({mediaCollection:{playhead:Re(o),qoeDataDetails:i,sessionID:r}}),e},trackMediaSession({event:e,mediaOptions:n,edgeConfigOverrides:r}){const o={mediaOptions:n,edgeConfigOverrides:r};return t.sendEvent(e,o)},trackMediaEvent({event:e,action:t}){const o=In(),i=(({mediaRequestPayload:e,action:t})=>hn({payload:e,edgeSubPath:"/va",getAction:()=>t,getUseSendBeacon:()=>!1}))({mediaRequestPayload:o,action:t});return o.addEvent(e),e.finalize(),n.awaitConsent().then(()=>r({request:i}).then(()=>({})))}}),uo="main",po="completed",go=()=>{let e;return{getSession:t=>e[t]||{},storeSession:({playerId:t,sessionDetails:n})=>{void 0===e&&(e={}),e[t]=n},stopPing:({playerId:t})=>{const n=e[t];n&&(clearTimeout(n.pingId),n.pingId=null,n.playbackState=po)},savePing:({playerId:t,pingId:n,playbackState:r})=>{e[t]&&(e[t].pingId&&clearTimeout(e[t].pingId),e[t].pingId=n,e[t].playbackState=r)}}};var mo=({mediaEventManager:e,mediaSessionCacheManager:t,config:n})=>{const r=o=>{const i=e.createMediaEvent({options:o}),{playerId:a,xdm:s}=o,{eventType:c}=s,d=c.split(".")[1],{getPlayerDetails:l,sessionPromise:u,playbackState:p}=t.getSession(a);return u.then(o=>o.sessionId?(e.augmentMediaEvent({event:i,eventType:c,playerId:a,getPlayerDetails:l,sessionID:o.sessionId}),e.trackMediaEvent({event:i,action:d}).then(()=>{if(a)if(c===co.SESSION_COMPLETE||c===co.SESSION_END)t.stopPing({playerId:a});else{const e=((e,t)=>e===co.AD_START||e===co.Ad_BREAK_START||e===co.AD_SKIP||e===co.AD_COMPLETE?"ad":e===co.AD_BREAK_COMPLETE||e===co.CHAPTER_COMPLETE||e===co.CHAPTER_START||e===co.CHAPTER_SKIP||e===co.SESSION_START?"main":e===co.SESSION_END||e===co.SESSION_COMPLETE?"completed":t)(c,p);if("completed"===e)return;const o="ad"===e?n.streamingMedia.adPingInterval:n.streamingMedia.mainPingInterval,i=setTimeout(()=>{r({playerId:a,xdm:{eventType:co.PING}})},1e3*o);t.savePing({playerId:a,pingId:i,playbackState:e})}})):Promise.reject(new Error("Failed to trigger media event: "+c+". Session ID is not available for playerId: "+a+".")))};return e=>r(e)},fo=({config:e,mediaEventManager:t,mediaSessionCacheManager:n,legacy:r=!1})=>o=>{if(!e.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));const{playerId:i,getPlayerDetails:a,edgeConfigOverrides:s}=o,c=t.createMediaSession(o);t.augmentMediaEvent({event:c,playerId:i,getPlayerDetails:a});const d=t.trackMediaSession({event:c,mediaOptions:{playerId:i,getPlayerDetails:a,legacy:r},edgeConfigOverrides:s});return n.storeSession({playerId:i,sessionDetails:{sessionPromise:d,getPlayerDetails:a,playbackState:uo}}),d},ho=e=>!ge(e)||!e.trim(),yo=({mediaSessionCacheManager:e,config:t,trackMediaEvent:n})=>({response:r,playerId:o,getPlayerDetails:i})=>{const a=r.getPayloadsByType("media-analytics:new-session");if(E(a)){const{sessionId:r}=a[0];if(ho(r))return{};if(!o||!i)return{sessionId:r};const s=setTimeout(()=>{n({playerId:o,xdm:{eventType:co.PING}})},1e3*t.streamingMedia.mainPingInterval);return e.savePing({playerId:o,pingId:s,playbackState:uo}),{sessionId:r}}return{}};const vo={Video:"video",Audio:"audio"},wo={VOD:"vod",Live:"live",Linear:"linear",Podcast:"podcast",Audiobook:"audiobook",AOD:"aod"},Io={FullScreen:"fullScreen",ClosedCaption:"closedCaptioning",Mute:"mute",PictureInPicture:"pictureInPicture",InFocus:"inFocus"},bo={AdBreakStart:"adBreakStart",AdBreakComplete:"adBreakComplete",AdStart:"adStart",AdComplete:"adComplete",AdSkip:"adSkip",ChapterStart:"chapterStart",ChapterComplete:"chapterComplete",ChapterSkip:"chapterSkip",SeekStart:"seekStart",SeekComplete:"seekComplete",BufferStart:"bufferStart",BufferComplete:"bufferComplete",BitrateChange:"bitrateChange",StateStart:"stateStart",StateEnd:"stateEnd"},Eo="sessionStart",Co="sessionEnd",ko="sessionComplete",So="play",Po="pauseStart",Do="error",Ro="statesUpdate",To={MediaResumed:"media.resumed",GranularAdTracking:"media.granularadtracking"},Oo={Show:"a.media.show",Season:"a.media.season",Episode:"a.media.episode",AssetId:"a.media.asset",Genre:"a.media.genre",FirstAirDate:"a.media.airDate",FirstDigitalDate:"a.media.digitalDate",Rating:"a.media.rating",Originator:"a.media.originator",Network:"a.media.network",ShowType:"a.media.type",AdLoad:"a.media.adLoad",MVPD:"a.media.pass.mvpd",Authorized:"a.media.pass.auth",DayPart:"a.media.dayPart",Feed:"a.media.feed",StreamFormat:"a.media.format"},No={Artist:"a.media.artist",Album:"a.media.album",Label:"a.media.label",Author:"a.media.author",Station:"a.media.station",Publisher:"a.media.publisher"},Mo={Advertiser:"a.media.ad.advertiser",CampaignId:"a.media.ad.campaign",CreativeId:"a.media.ad.creative",PlacementId:"a.media.ad.placement",SiteId:"a.media.ad.site",CreativeUrl:"a.media.ad.creativeURL"};var Ao=({logger:e})=>({createMediaObject:(t,n,r,o,i)=>{const a={friendlyName:t,name:n,length:r,streamType:i,contentType:o},s=Rt({friendlyName:Tt().nonEmpty(),name:Tt().nonEmpty(),length:Pt().required(),streamType:Tt().nonEmpty(),contentType:Tt().nonEmpty()});try{const e=s(a);return{sessionDetails:{name:e.name,friendlyName:e.friendlyName,length:Math.round(e.length),streamType:e.streamType,contentType:e.contentType}}}catch(t){return e.warn("An error occurred while creating the Media Object.",t),{}}},createAdBreakObject:(t,n,r)=>{const o={friendlyName:t,offset:n,index:r},i=Rt({friendlyName:Tt().nonEmpty(),offset:Pt(),index:Pt()});try{const e=i(o);return{advertisingPodDetails:{friendlyName:e.friendlyName,offset:e.offset,index:e.index}}}catch(t){return e.warn("An error occurred while creating the Ad Break Object.",t),{}}},createAdObject:(t,n,r,o)=>{const i={friendlyName:t,name:n,podPosition:r,length:o},a=Rt({friendlyName:Tt().nonEmpty(),name:Tt().nonEmpty(),podPosition:Pt(),length:Pt()});try{const e=a(i);return{advertisingDetails:{friendlyName:e.friendlyName,name:e.name,podPosition:e.podPosition,length:e.length}}}catch(t){return e.warn("An error occurred while creating the Advertising Object.",t),{}}},createChapterObject:(t,n,r,o)=>{const i={friendlyName:t,offset:n,length:r,index:o},a=Rt({friendlyName:Tt().nonEmpty(),offset:Pt(),length:Pt(),index:Pt()});try{const e=a(i);return{chapterDetails:{friendlyName:e.friendlyName,offset:e.offset,index:e.index,length:e.length}}}catch(t){return e.warn("An error occurred while creating the Chapter Object.",t),{}}},createStateObject:t=>{const n=Tt().matches(/^[a-zA-Z0-9_]{1,64}$/,"This is not a valid state name.");try{return{name:n(t)}}catch(t){return e.warn("An error occurred while creating the State Object.",t),{}}},createQoEObject:(t,n,r,o)=>{const i={bitrate:t,droppedFrames:n,fps:r,startupTime:o},a=Rt({bitrate:Pt(),droppedFrames:Pt(),fps:Pt(),startupTime:Pt()});try{const e=a(i);return{bitrate:e.bitrate,droppedFrames:e.droppedFrames,framesPerSecond:e.fps,timeToStart:e.startupTime}}catch(t){return e.warn("An error occurred while creating the QOE Object.",t),{}}}});const xo={"a.media.show":"show","a.media.season":"season","a.media.episode":"episode","a.media.asset":"assetID","a.media.genre":"genre","a.media.airDate":"firstAirDate","a.media.digitalDate":"firstDigitalDate","a.media.rating":"rating","a.media.originator":"originator","a.media.network":"network","a.media.type":"showType","a.media.adLoad":"adLoad","a.media.pass.mvpd":"mvpd","a.media.pass.auth":"authorized","a.media.dayPart":"dayPart","a.media.feed":"feed","a.media.format":"streamFormat","a.media.artist":"artist","a.media.album":"album","a.media.label":"label","a.media.author":"author","a.media.station":"station","a.media.publisher":"publisher","media.resumed":"hasResume"},qo={"a.media.ad.advertiser":"advertiser","a.media.ad.campaign":"campaignID","a.media.ad.creative":"creativeID","a.media.ad.placement":"placementID","a.media.ad.site":"siteID","a.media.ad.creativeURL":"creativeURL"};var Lo=({logger:t,trackMediaSession:n,trackMediaEvent:r,uuid:o})=>{let i=null;const a=({eventType:e,mediaDetails:t={},contextData:n=[]})=>{const r=(({eventType:e})=>e===bo.BufferComplete||e===bo.SeekComplete?So:e===bo.StateStart||e===bo.StateEnd?Ro:e===bo.SeekStart?Po:e)({eventType:e});if(e===bo.StateStart){return{eventType:"media."+r,mediaCollection:{statesStart:[t]}}}if(e===bo.StateEnd){return{eventType:"media."+r,mediaCollection:{statesEnd:[t]}}}const o={eventType:"media."+r,mediaCollection:{...t}},i=[];return Object.keys(n).forEach(e=>{xo[e]?o.mediaCollection.sessionDetails[xo[e]]=n[e]:qo[e]?o.mediaCollection.advertisingDetails[qo[e]]=n[e]:i.push({name:e,value:n[e]})}),E(i)&&(o.mediaCollection.customMetadata=i),o};return{trackSessionStart:(r,s={})=>{if(e(r)||F(r))return t.warn("Invalid media object"),{};null===i&&(t.warn("The Media Session was completed. Restarting a new session."),i={qoe:null,lastPlayhead:0,playerId:o()});const c=a({eventType:Eo,mediaDetails:r,contextData:s});return n({playerId:i.playerId,getPlayerDetails:()=>({playhead:i.lastPlayhead,qoeDataDetails:i.qoe}),xdm:c})},trackPlay:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:So});return r({playerId:i.playerId,xdm:e})},trackPause:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Po});return r({playerId:i.playerId,xdm:e})},trackSessionEnd:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Co});return r({playerId:i.playerId,xdm:e})},trackComplete:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:ko});return r({playerId:i.playerId,xdm:e})},trackError:e=>{if(t.warn("trackError("+e+")"),null===i)return t.warn("The Media Session was completed."),{};const n=a({eventType:Do,mediaDetails:{errorDetails:{name:e,source:"player"}}});return r({playerId:i.playerId,xdm:n})},trackEvent:(e,n,o)=>{if(F(n))return t.warn("Invalid media object."),{};if(null===i)return t.warn("The Media Session was completed."),{};if(!Object.values(bo).includes(e))return t.warn("Invalid event type"),{};const s=a({eventType:e,mediaDetails:n,contextData:o});return r({playerId:i.playerId,xdm:s})},updatePlayhead:e=>{null!==i?ue(e)&&(i.lastPlayhead=parseInt(e,10)):t.warn("The Media Session was completed.")},updateQoEObject:e=>{null!==i?e&&(i.qoe=e):t.warn("The Media Session was completed.")},destroy:()=>{t.warn("Destroy called, destroying the tracker."),i=null}}};const Uo=({eventManager:e,sendEdgeNetworkRequest:t,config:n,logger:r,consent:o})=>{const i=go(),a=lo({sendEdgeNetworkRequest:t,config:n,consent:o,eventManager:e,setTimestamp:xn(()=>new Date)}),s=mo({mediaSessionCacheManager:i,mediaEventManager:a,config:n}),c=fo({config:n,mediaEventManager:a,mediaSessionCacheManager:i,legacy:!0});return(({trackMediaEvent:e,trackMediaSession:t,mediaResponseHandler:n,logger:r,createMediaHelper:o,createGetInstance:i,config:a})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=fe}){if(!e)return;const{legacy:r,playerId:o,getPlayerDetails:i}=e;r&&t(({response:e})=>n({playerId:o,getPlayerDetails:i,response:e}))}},commands:{getMediaAnalyticsTracker:{run:()=>{if(!a.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));r.info("Streaming media is configured in legacy mode.");const n=o({logger:r});return Promise.resolve({getInstance:()=>i({logger:r,trackMediaEvent:e,trackMediaSession:t,uuid:qe}),Event:bo,MediaType:vo,PlayerState:Io,StreamType:wo,MediaObjectKey:To,VideoMetadataKeys:Oo,AudioMetadataKeys:No,AdMetadataKeys:Mo,...n})}}}}))({mediaResponseHandler:yo({mediaSessionCacheManager:i,config:n,trackMediaEvent:s}),trackMediaSession:c,trackMediaEvent:s,createMediaHelper:Ao,createGetInstance:Lo,logger:r,config:n})};Uo.namespace="Legacy Media Analytics";const _o="https://ns.adobe.com/personalization/default-content-item",jo="https://ns.adobe.com/personalization/dom-action",Bo="https://ns.adobe.com/personalization/html-content-item",Fo="https://ns.adobe.com/personalization/json-content-item",Vo="https://ns.adobe.com/personalization/ruleset-item",Ho="https://ns.adobe.com/personalization/redirect-item",zo="https://ns.adobe.com/personalization/message/in-app",Jo="web",Xo="webapp",Go="://",Qo=/^(\w+):\/\/([^/#]+)(\/[^#]*)?(#.*)?$/,Ko=/^(?:.*@)?(?:[a-z\d\u00a1-\uffff.-]+|\[[a-f\d:]+])(?::\d+)?$/,Wo=/^\/(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})*$/,Yo=/^#(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})+$/,$o=(e="/")=>{let t=e.length;for(;t>0&&-1!=="/".indexOf(e.charAt(t-1));)t-=1;return e.substring(0,t)||"/"},Zo=e=>""+e.surfaceType+Go+e.authority+(e.path||"")+(e.fragment||""),ei=e=>{const t=e(),n=t.host.toLowerCase(),r=t.pathname;return Jo+Go+n+$o(r)},ti=(e,t,n)=>{const r=e=>(n.warn(e),null);if(!me(e))return r("Invalid surface: "+e);const o=((e,t)=>e.startsWith("#")?ei(t)+e:e)(e,t),i=(e=>{const t=e.match(Qo);return t?{surfaceType:(o=t[1],me(o)?o.toLowerCase():""),authority:(r=t[2],me(r)?r.toLowerCase():""),path:(n=t[3],me(n)?$o(n):"/"),fragment:t[4]}:null;var n,r,o})(o);return null===i?r("Invalid surface: "+e):[Jo,Xo].includes(i.surfaceType)?i.authority&&Ko.test(i.authority)?i.path&&!Wo.test(i.path)?r("Invalid path "+i.path+" in surface: "+e):i.fragment&&!Yo.test(i.fragment)?r("Invalid fragment "+i.fragment+" in surface: "+e):i:r("Invalid authority "+i.authority+" in surface: "+e):r("Unsupported surface type "+i.surfaceType+" in surface: "+e)},ni=e=>!!e&&0===e.indexOf(Jo+Go)&&-1===e.indexOf("#"),ri=e=>e.filter((t,n)=>e.indexOf(t)===n);var oi=({getPageLocation:t,renderDecisions:n,decisionScopes:r,personalization:o,event:i,isCacheInitialized:a,logger:s})=>{const c=i.getViewName();return{isRenderDecisions:()=>n,isSendDisplayEvent:()=>!!o.sendDisplayEvent,shouldIncludeRenderedPropositions:()=>!!o.includeRenderedPropositions,getViewName:()=>c,hasScopes:()=>r.length>0||E(o.decisionScopes),hasSurfaces:()=>E(o.surfaces),hasViewName:()=>me(c),createQueryDetails(){const n=[...r];E(o.decisionScopes)&&n.push(...o.decisionScopes);const i=((t=[],n,r)=>t.map(e=>ti(e,n,r)).filter(t=>!e(t)).map(Zo))(o.surfaces,t,s);this.shouldRequestDefaultPersonalization()&&((e=>{e.includes(mn)||e.push(mn)})(n),((e,t)=>{const n=ei(t);e.includes(n)||e.push(n)})(i,t));const a=[_o,Bo,Fo,Ho,Vo,zo,"https://ns.adobe.com/personalization/message/content-card"];return n.includes(mn)&&a.push(jo),{schemas:a,decisionScopes:ri(n),surfaces:ri(i)}},isCacheInitialized:()=>a,shouldFetchData(){return this.hasScopes()||this.hasSurfaces()||this.shouldRequestDefaultPersonalization()},shouldUseCachedData(){return this.hasViewName()&&!this.shouldFetchData()},shouldRequestDefaultPersonalization(){return o.defaultPersonalizationEnabled||!this.isCacheInitialized()&&!1!==o.defaultPersonalizationEnabled}}};const ii="decisioning.propositionDisplay",ai="decisioning.propositionInteract",si="decisioning.propositionTrigger",ci="decisioning.propositionDismiss",di="decisioning.propositionSuppressDisplay",li={DISPLAY:"display",INTERACT:"interact",TRIGGER:"trigger",DISMISS:"dismiss",SUPPRESS:"suppressDisplay"},ui={[ii]:li.DISPLAY,[ai]:li.INTERACT,[si]:li.TRIGGER,[ci]:li.DISMISS,[di]:li.SUPPRESS},pi={[li.DISPLAY]:ii,[li.INTERACT]:ai,[li.TRIGGER]:si,[li.DISMISS]:ci,[li.SUPPRESS]:di},gi=e=>ui[e],mi=e=>pi[e],fi={propositions:[]};var hi=({getPageLocation:e,logger:t,fetchDataHandler:n,viewChangeHandler:r,onClickHandler:o,isAuthoringModeEnabled:i,mergeQuery:a,viewCache:s,showContainers:c,applyPropositions:d,setTargetMigration:l,mergeDecisionsMeta:u,renderedPropositions:p,onDecisionHandler:g,handleConsentFlicker:m})=>({lifecycle:{onComponentsRegistered(){m()},onDecision:g,onBeforeRequest:({request:e})=>(l(e),Promise.resolve()),onBeforeEvent({event:o,renderDecisions:d,decisionScopes:l=[],personalization:g={},onResponse:m=fe,onRequestFailure:f=fe}){if(m(()=>({propositions:[]})),f(()=>c()),i())return t.warn("Rendering is disabled for authoring mode."),a(o,{enabled:!1}),Promise.resolve();const h=oi({getPageLocation:e,renderDecisions:d,decisionScopes:l,personalization:g,event:o,isCacheInitialized:s.isInitialized(),logger:t}),y=[];if(h.shouldIncludeRenderedPropositions()&&y.push(p.clear()),h.shouldFetchData()){const e=s.createCacheUpdate(h.getViewName());f(()=>e.cancel());const t=o.getUserIdentityMap();n({cacheUpdate:e,personalizationDetails:h,event:o,onResponse:m,identityMap:t})}else h.shouldUseCachedData()&&y.push(r({personalizationDetails:h,event:o,onResponse:m,onRequestFailure:f}));return Promise.all(y).then(e=>{const t=e.flatMap(e=>e);E(t)&&u(o,t,[li.DISPLAY])})},onClick({event:e,clickedElement:t}){o({event:e,clickedElement:t})}},commands:{applyPropositions:{optionsValidator:e=>(({logger:e,options:t})=>{const n=Rt({propositions:Et(Rt({id:Tt().required(),scope:Tt().required(),scopeDetails:Rt({decisionProvider:Tt().required()}).required(),items:Et(Rt({id:Tt().required(),schema:Tt().required(),data:Rt(bt())})).nonEmpty().required()}).required()).nonEmpty().required(),metadata:Rt(bt()),viewName:Tt()}).required();try{return n(t)}catch(t){return e.warn("Invalid options for applyPropositions. No propositions will be applied.",t),fi}})({logger:t,options:e}),run:d}}}),yi=(e="undefined")=>h("DIV",{},{innerHTML:e});const vi=/:eq\((\d+)\)/g,wi=e=>-1===e.indexOf(":eq("),Ii=/(#|\.)(-?\w+)/g,bi=(e,t,n)=>""+t+CSS.escape(n),Ei=e=>{const t=[],n=(e=>e.split(vi).filter(me))((e=>e.replace(Ii,bi))(e.trim())),{length:r}=n;let o=0;for(;o<r;){const e=n[o],r=n[o+1];r?t.push({sel:e,eq:Number(r)}):t.push({sel:e}),o+=2}return t},Ci=e=>{const t=document;if(wi(e))return T(e,t);const n=Ei(e),{length:r}=n;let o=[],i=t,a=0;for(;a<r;){const{sel:e,eq:t}=n[a],s=T(e,i),{length:c}=s;if(0===c)break;if(null!=t&&t>c-1)break;a<r-1&&(null==t?[i]=s:i=s[t]),a===r-1&&(o=null==t?s:[s[t]]),a+=1}return o};var ki=(e,t=document)=>t.getElementById(e),Si=(e,t,n)=>{e.setAttribute(t,n)},Pi=(e,t)=>e.getAttribute(t),Di=(e,t,n,r)=>{let o;o=r?t+":"+n+" !"+r+";":t+":"+n+";",e.style.cssText+=";"+o},Ri=e=>e.parentNode,Ti=(e,t)=>{if(!e)return;const n=Ri(e);n&&n.insertBefore(t,(e=>e.nextElementSibling)(e))},Oi=(e,t)=>{if(!e)return;const n=Ri(e);n&&n.insertBefore(t,e)},Ni=e=>{const{childNodes:t}=e;return t?C(t):[]},Mi=e=>e.firstElementChild;let Ai;var xi=(e=document)=>{if(void 0===Ai){const t=e.querySelector("[nonce]");Ai=t&&(t.nonce||t.getAttribute("nonce"))}return Ai};const qi="src",Li=e=>h(y,{src:e}),Ui=e=>{T(y,e).forEach(e=>{const t=Pi(e,qi);t&&Li(t)})},_i=e=>((e,t)=>e.tagName===t)(e,v)&&!Pi(e,qi);var ji=e=>{const t=T(v,e),{length:n}=t,r=xi();if(r)for(let e=0;e<n;e+=1){const n=t[e];_i(n)&&(n.nonce=r)}};const Bi=e=>{const t=document.createElement("script");t.src=e,t.async=!0;const n=((e,t)=>new Promise((n,r)=>{t.onload=()=>{n(t)},t.onerror=()=>{r(new Error("Failed to load script: "+e))}}))(e,t);return document.head.appendChild(t),n},Fi=(e,t)=>!!e&&e.tagName===t,Vi=e=>Fi(e,w)&&!Pi(e,qi),Hi=e=>Fi(e,w)&&Pi(e,qi),zi=e=>{const t=T(w,e),n=[],{length:r}=t,o=xi(),i={...o&&{nonce:o}};for(let e=0;e<r;e+=1){const r=t[e];if(!Vi(r))continue;const{textContent:o}=r;o&&n.push(h(w,i,{textContent:o}))}return n},Ji=e=>{const t=T(w,e),n=[],{length:r}=t;for(let e=0;e<r;e+=1){const r=t[e];if(!Hi(r))continue;const o=Pi(r,qi);o&&n.push(o)}return n},Xi=(e,t)=>{t.forEach(t=>{e.appendChild(t),e.removeChild(t)})},Gi=e=>Promise.all(e.map(Bi));var Qi=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);return Ui(r),o.forEach(t=>{f(e,t)}),n(e),Xi(e,i),Gi(a)};var Ki=(e,t,n)=>((e=>{Ni(e).forEach(_)})(e),Qi(e,t,n)),Wi=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r),{length:s}=o;let c=s-1;for(Ui(r);c>=0;){const t=o[c];n(t);const r=Mi(e);r?Oi(r,t):f(e,t),c-=1}return Xi(e,i),Gi(a)};const Yi="alloy-prehiding",$i={},Zi=e=>{if($i[e])return;const t=xi(),n={...t&&{nonce:t}},r=h(v,n,{textContent:e+" { visibility: hidden }"});f(document.head,r),$i[e]=r},ea=e=>{const t=$i[e];t&&(_(t),delete $i[e])};var ta=(e,t,n)=>{n(e),e.textContent=t},na=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);return Ui(r),o.forEach(t=>{n(t),Oi(e,t)}),Xi(e,i),Gi(a)},ra=(e,t,n)=>na(e,t,n).then(()=>{_(e)}),oa=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);Ui(r);let s=e;return o.forEach(e=>{n(e),Ti(s,e),s=e}),Xi(e,i),Gi(a)},ia=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{Di(e,t,o[t],r)}),n(e)},aa=(e,t,n)=>{Object.keys(t).forEach(n=>{Si(e,n,t[n])}),n(e)},sa=(e,t,n)=>{e.tagName===y&&(Li(t),n(e),((e,t)=>{e.removeAttribute(t)})(e,qi),Si(e,qi,t))},ca=(e,{from:t,to:n},r)=>{const o=(e=>{const{children:t}=e;return t?C(t):[]})(e),i=o[t],a=o[n];i&&a&&(t<n?Ti(a,i):Oi(a,i),r(a),r(i))};const da=(e,t=!1)=>async(n,r,o)=>{const{selector:i,prehidingSelector:a,content:s}=n;Zi(a);try{(({containers:e,content:t,decorateProposition:n,renderFunc:r,renderStatusHandler:o,alwaysRender:i})=>{const a=e.filter(e=>i||o.shouldRender(e)).map(async e=>{await r(e,t,n),o.markAsRendered(e)});Promise.all(a)})({containers:await x(i,Ci),content:s,decorateProposition:r,renderFunc:e,renderStatusHandler:o,alwaysRender:t})}finally{ea(a)}},la=e=>(""+e).endsWith("px")?e:e+"px";var ua=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"left"!==t&&"top"!==t||(n=la(n)),Di(e,t,n,r)}),n(e)},pa=(e,t,n)=>{n(e)},ga=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"width"!==t&&"height"!==t||(n=la(n)),Di(e,t,n,r)}),n(e)};const ma="setHtml",fa="customCode",ha="setText",ya="setAttribute",va="setImageSource",wa="setStyle",Ia="move",ba="resize",Ea="rearrange",Ca="remove",ka="insertAfter",Sa="insertBefore",Pa="replaceHtml",Da="prependHtml",Ra="appendHtml",Ta="click",Oa="collectInteractions";var Na=({eventManager:e,mergeDecisionsMeta:t})=>({decisionsMeta:n=[],propositionAction:r,documentMayUnload:o=!1,eventType:i=ii,propositionEventTypes:a=[gi(i)],viewName:s,identityMap:c})=>{const d=e.createEvent(),l={eventType:i,identityMap:c};return s&&(l.web={webPageDetails:{viewName:s}}),E(n)&&t(d,n,a,r),d.mergeXdm(l),o&&d.documentMayUnload(),e.sendEvent(d)};var Ma=(e,t)=>{if(wi(e))return((e,t)=>t.matches?t.matches(e):t.msMatchesSelector(e))(e,t);const n=Ci(e);let r=!1;for(let e=0;e<n.length;e+=1)if(n[e]===t){r=!0;break}return r};const Aa="view",xa=e=>e.map(e=>{const{trackingLabel:t,scopeType:n,...r}=e;return r}),qa=(e,t,n)=>{const{documentElement:r}=document;let o=e,i=0;for(;o&&o!==r;){if(Ma(t,o)){const e=n(t),r={metas:e},o=e.find(e=>e.trackingLabel);o&&(r.label=o.trackingLabel,r.weight=i);const a=e.find(e=>e.scopeType===Aa);return a&&(r.viewName=a.scope,r.weight=i),r}o=o.parentNode,i+=1}return{metas:null}};var La=(e,t,n)=>{const r=[];let o,i="",a=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER;for(let c=0;c<t.length;c+=1){const{metas:d,label:l,weight:u,viewName:p}=qa(e,t[c],n);d&&(l&&u<=a&&(i=l,a=u),p&&u<=s&&(o=p,s=u),r.push(...xa(d)))}return{decisionsMeta:(c=r,c.filter((e,t)=>{const n=JSON.stringify(e);return t===c.findIndex(e=>JSON.stringify(e)===n)})),propositionActionLabel:i,propositionActionToken:void 0,viewName:o};var c},Ua=(e=document)=>-1!==e.location.href.indexOf("adobe_authoring_enabled");const _a=(e,t,n,r)=>{if(0===t.length)return;const o={};n.forEach(e=>{o[e]=1});const i={_experience:{decisioning:{propositions:t,propositionEventType:o}}};r&&(i._experience.decisioning.propositionAction=r),e.mergeXdm(i)},ja=(e,t)=>{e.mergeQuery({personalization:{...t}})};var Ba=()=>{const e={};return{storeClickMeta:({selector:t,meta:{id:n,scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}})=>{e[t]||(e[t]={}),e[t][n]={scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}},getClickSelectors:()=>Object.keys(e),getClickMetas:t=>e[t]?(e=>Object.keys(e).map(t=>({id:t,...e[t]})))(e[t]):{}}};const Fa=(e,t)=>e===Fo&&t===Oa,Va={[jo]:()=>!0,[Bo]:()=>!0,[Fo]:Fa,[zo]:()=>!0,[_o]:()=>!0};var Ha=({processPropositions:e,createProposition:t,renderedPropositions:n,viewCache:r})=>{const o=({items:e,metadataForScope:t={}})=>{const{actionType:n,selector:r}=t;return e.filter(e=>((e,t)=>"function"==typeof Va[e]&&Va[e](e,t))(e.schema,n)).map(e=>{const{schema:o}=e;return o===Bo||Fa(o,n)?F(t)?void 0:{...e,schema:Fa(o,n)?jo:o,data:{...e.data,selector:r,type:n}}:{...e}}).filter(e=>e)},i=e=>!(e.scope===mn&&e.renderAttempted);return({propositions:a=[],metadata:s={},viewName:c})=>{const d=g();n.concat(d.promise);const l=(({propositions:e,metadata:t})=>e.filter(i).map(e=>{if(E(e.items)){const{id:n,scope:r,scopeDetails:i}=e;return{id:n,scope:r,scopeDetails:i,items:o({items:e.items,metadataForScope:t[e.scope]})}}return e}).filter(e=>E(e.items)))({propositions:a,metadata:s}).map(e=>t(e));return Promise.resolve().then(()=>c?r.getView(c):[]).then(t=>{const{render:n,returnedPropositions:r}=e([...l,...t]);return n().then(d.resolve),{propositions:r}})}};var za=e=>{const{selector:t,type:n}=e;return n!==fa||"BODY > *:eq(0)"!==t?e:{...e,selector:"BODY"}};var Ja=e=>{const t={...e},{content:n,selector:r}=t;if(t.type===fa)return t;if(ho(n))return t;if(null==r)return t;const o=Ci(r);return Fi(o[0],"HEAD")?(t.type=Ra,t.content=(e=>{const t=yi(e);return T("SCRIPT,LINK,STYLE",t).map(e=>e.outerHTML).join("")})(n),t):t},Xa=({preprocess:e,isPageWideSurface:t})=>(n,r=!0,o=!1,i=void 0)=>{const{id:a,scope:s,scopeDetails:c,items:d=[]}=n,{characteristics:{scopeType:l}={}}=c||{};return{getScope:()=>s,getScopeType:()=>s===mn||t(s)?"page":l===Aa?Aa:"proposition",getItems(){return d.map(t=>((t,n)=>{const{id:r,schema:o,data:i,characteristics:{trackingLabel:a}={}}=t,s=i?i.type:void 0,c=e(i);return{getId:()=>r,getSchema:()=>o,getSchemaType:()=>s,getData:()=>c,getProposition:()=>n,getTrackingLabel:()=>a,getOriginalItem:()=>t,toString:()=>JSON.stringify(t),toJSON:()=>t}})(t,this))},getNotification:()=>({id:a,scope:s,scopeDetails:c}),getId:()=>a,getIdentityMap:()=>i,toJSON:()=>n,shouldSuppressDisplay:()=>o,addToReturnValues(e,t,o,i){r&&(e.push({...n,items:o.map(e=>e.getOriginalItem()),renderAttempted:i}),i||t.push({...n,items:o.map(e=>e.getOriginalItem())}))}}},Ga=()=>({render:fe,setRenderAttempted:!0,includeInNotification:!0});const Qa="always",Ka="never",Wa="decoratedElementsOnly",Ya=[Qa,Ka,Wa],$a="data-aep-interact-id",Za="data-aep-click-label";let es=0;const ts=(e,t,n,r,o,i,a,s)=>{const{scopeDetails:c={}}=a,{decisionProvider:d}=c;return((e,t)=>!!e&&!!e[t]&&[Qa,Wa].includes(e[t]))(e,d)||t===Ta?e=>{if(!e.tagName)return;const t=(c=Pi(e,$a))?parseInt(c,10):++es;var c;s(n,r,i,a,t),Si(e,$a,t),o&&!Pi(e,Za)&&Si(e,Za,o)}:fe};var ns=(e,t)=>e!==Aa?{shouldRender:()=>!0,markAsRendered:()=>{}}:{shouldRender:e=>{if(!e)return!0;return!(e.dataset.adobePropositionIds??"").split(",").includes(t)},markAsRendered:e=>{const n=(e.dataset.adobePropositionIds??"").split(",");n.includes(t)||n.push(t),e.dataset.adobePropositionIds=n.sort().join(",")}},rs=({modules:e,logger:t,storeInteractionMeta:n,storeClickMeta:r,autoCollectPropositionInteractions:o})=>i=>{const{type:a,selector:s}=i.getData()||{};if(!a)return t.warn("Invalid DOM action data: missing type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};if(a===Ta)return s?(r({selector:s,meta:{...i.getProposition().getNotification(),trackingLabel:i.getTrackingLabel(),scopeType:i.getProposition().getScopeType()}}),{setRenderAttempted:!0,includeInNotification:!1}):(t.warn("Invalid DOM action data: missing selector.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1});if(!e[a])return t.warn("Invalid DOM action data: unknown type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};const c=ns(i.getProposition().getScopeType(),i.getId()),d=ts(o,a,i.getProposition().getId(),i.getId(),i.getTrackingLabel(),i.getProposition().getScopeType(),i.getProposition().getNotification(),n);return{render:()=>e[a](i.getData(),d,c),setRenderAttempted:!0,includeInNotification:!0}},os=({modules:e,logger:t,storeInteractionMeta:n,autoCollectPropositionInteractions:r})=>o=>{const{type:i,selector:a}=o.getData()||{};if(!a||!i)return{setRenderAttempted:!1,includeInNotification:!1};if(!e[i])return t.warn("Invalid HTML content data",o.getData()),{setRenderAttempted:!1,includeInNotification:!1};const s=ts(r,i,o.getProposition().getId(),o.getId(),o.getTrackingLabel(),o.getProposition().getScopeType(),o.getProposition().getNotification(),n),c=ns(o.getProposition().getScopeType(),o.getId());return{render:()=>e[i](o.getData(),s,c),setRenderAttempted:!0,includeInNotification:!0}};const is="BODY";var as=({logger:e,executeRedirect:t,collect:n})=>r=>{const{content:o}=r.getData()||{};if(!o)return e.warn("Invalid Redirect data",r.getData()),{};return{render:()=>(Zi(is),n({decisionsMeta:[r.getProposition().getNotification()],documentMayUnload:!0,identityMap:r.getProposition().getIdentityMap()}).then(()=>(e.logOnContentRendering({status:"rendering-redirect",detail:{propositionDetails:r.getProposition().getNotification(),redirect:o},message:"Redirect action "+r.toString()+" executed.",logLevel:"info"}),t(o))).catch(e=>{throw ea(is),e})),setRenderAttempted:!0,onlyRenderThis:!0}},ss=({schemaProcessors:e,logger:t})=>{const n=(e,n)=>()=>Promise.resolve().then(e).then(()=>(t.enabled&&t.info("Action "+n.toString()+" executed."),n.toJSON())).catch(e=>{const{message:r,stack:o}=e,i="Failed to execute action "+n.toString()+". "+r+" "+o;t.logOnContentRendering({status:"rendering-failed",detail:{propositionDetails:n.getProposition().getNotification(),item:n.toJSON()},error:e,message:i,logLevel:"warn"})}),r=t=>{const n=e[t.getSchema()];return n?n(t):{}},o=({renderers:e,returnedPropositions:t,returnedDecisions:o,items:i,proposition:a})=>{let s,c,d,l,u=[...e],p=[...t],g=[...o],m=[],f=[],h=[],y=!1,v=!1,w=0;for(;i.length>w;){if(l=i[w],({render:s,setRenderAttempted:c,includeInNotification:d,onlyRenderThis:v}=r(l)),v){p=[],g=[],c?(m=[l],f=[]):(m=[],f=[l]),u=[],h=[s],y=d;break}s&&h.push(n(s,l)),d&&(y=!0),c?m.push(l):f.push(l),w+=1}if(h.length>0){const e=y?a.getNotification():void 0;u.push(()=>(async(e,t)=>{const n=(await Promise.allSettled(e.map(e=>e()))).filter(e=>"fulfilled"===e.status).map(e=>e.value);if(t&&E(n))return{...t,items:n}})(h,e))}else y&&u.push(()=>Promise.resolve(a.getNotification()));return m.length>0&&a.addToReturnValues(p,g,m,!0),f.length>0&&a.addToReturnValues(p,g,f,!1),{renderers:u,returnedPropositions:p,returnedDecisions:g,onlyRenderThis:v}};return(e,n=[])=>{let r,i,a,s=[],c=[],d=[],l=0;for(;e.length>l&&(i=e[l],a=i.getItems(),({renderers:s,returnedPropositions:c,returnedDecisions:d,onlyRenderThis:r}=o({renderers:s,returnedPropositions:c,returnedDecisions:d,items:a,proposition:i})),!r);)l+=1;r&&e.forEach((e,t)=>{t!==l&&e.addToReturnValues(c,d,e.getItems(),!1)}),n.forEach(e=>{e.addToReturnValues(c,d,e.getItems(),!1)});return{returnedPropositions:c,returnedDecisions:d,render:()=>Promise.all(s.map(e=>e())).then(e=>{const n=e.filter(e=>e),r=n.map(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}});if(E(n)){const e=W(n,e=>e.scope);t.logOnContentRendering({status:"rendering-succeeded",detail:{...e},message:"Scopes: "+JSON.stringify(e)+" successfully executed.",logLevel:"info"})}return r})}}};var cs=({processPropositions:e,createProposition:t,notificationHandler:n})=>({renderDecisions:r,propositions:o,event:i,personalization:a={},identityMap:s})=>{if(!r)return Promise.resolve();const{sendDisplayEvent:c=!0}=a,d=i?i.getViewName():void 0,l=(()=>{let e=0;return t=>{const{items:n=[]}=t;return!!n.some(e=>e.schema===zo)&&(e+=1,e>1)}})(),u=o.map(e=>t(e,!0,l(e),s)),{render:p,returnedPropositions:g}=e(u),m=n(r,c,d,s),f=u.reduce((e,t)=>(e[t.getId()]=t,e),{});return p().then(e=>{const t=e.filter(e=>!f[e.id].shouldSuppressDisplay()),n=e.filter(e=>f[e.id].shouldSuppressDisplay());m(t,n)}),Promise.resolve({propositions:g})};const ds="text/html",ls="defaultContent",us=["content","contentType"],ps=["mobileParameters","webParameters","html"];var gs=({modules:e,logger:t})=>n=>{const r=n.getData(),o=n.getProposition(),i={...o.getNotification()},a=o.shouldSuppressDisplay();if(!r)return t.warn("Invalid in-app message data: undefined.",r),{};const{type:s=ls}=r;return e[s]?((e,t)=>{for(let n=0;n<us.length;n+=1){const r=us[n];if(!Object.prototype.hasOwnProperty.call(e,r))return t.warn("Invalid in-app message data: missing property '"+r+"'.",e),!1}const{content:n,contentType:r}=e;if("application/json"===r)for(let r=0;r<ps.length;r+=1){const o=ps[r];if(!Object.prototype.hasOwnProperty.call(n,o))return t.warn("Invalid in-app message data.content: missing property '"+o+"'.",e),!1}return!0})(r,t)?i?{render:()=>a?null:e[s]({...r,meta:i,identityMap:o.getIdentityMap()}),setRenderAttempted:!0,includeInNotification:!0}:(t.warn("Invalid in-app message meta: undefined.",i),{}):{}:(t.warn("Invalid in-app message data: unknown type.",r),{})};const ms=e=>{const t=T("#"+e,document);t&&t.length>0&&_(t[0])};var fs=e=>(t,n=!1)=>(n?e.location.href=t:e.location.replace(t),new Promise(()=>{}));const hs="alloy-messaging-container",ys="alloy-overlay-container",vs="alloy-content-iframe",ws=()=>[hs,ys].forEach(ms),Is=(e,t=fs(window))=>n=>{n.preventDefault(),n.stopImmediatePropagation();const{target:r}=n,o="a"===r.tagName.toLowerCase()?r:r.closest("a");if(!o)return;const{action:i,interaction:a,link:s,label:c,uuid:d}=(e=>{const t={};if(!e||"a"!==e.tagName.toLowerCase())return t;const{href:n}=e;if(!n||!n.startsWith("adbinapp://"))return t;const r=n.split("?"),o=r[0].split("://")[1],i=e.innerText,a=e.getAttribute("data-uuid")||"";let s,c;if(E(r)){const e=Ee.parse(r[1]);s=e.interaction||"",c=rr(e.link||"")}return{action:o,interaction:s,link:c,label:i,uuid:a}})(o);e(i,{label:c,id:a,uuid:d,link:s}),"dismiss"===i&&ws(),me(s)&&s.length>0&&t(s,!0)},bs=e=>{const{verticalAlign:t,width:n,horizontalAlign:r,backdropColor:o,height:i,cornerRadius:a,horizontalInset:s,verticalInset:c,uiTakeover:d=!1}=e,l={width:n?n+"%":"100%",backgroundColor:o||"rgba(0, 0, 0, 0.5)",borderRadius:a?a+"px":"0px",border:"none",position:d?"fixed":"relative",overflow:"hidden"};return"left"===r?l.left=s?s+"%":"0":"right"===r?l.right=s?s+"%":"0":"center"===r&&(l.left="50%",l.transform="translateX(-50%)"),"top"===t?l.top=c?c+"%":"0":"bottom"===t?(l.position="fixed",l.bottom=c?c+"%":"0"):"center"===t&&(l.top="50%",l.transform=("center"===r?l.transform+" ":"")+"translateY(-50%)",l.display="flex",l.alignItems="center",l.justifyContent="center"),l.height=i?i+"vh":"100%",l},Es=e=>{const{backdropOpacity:t,backdropColor:n}=e;return{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",background:"transparent",opacity:t||.5,backgroundColor:n||"#FFFFFF"}},Cs=["enabled","parentElement","insertionMethod"],ks=(e={},t)=>{ws();const{content:n,contentType:r,mobileParameters:o}=e;let{webParameters:i}=e;if(r!==ds)return;const a=h("div",{id:hs}),s=((e,t)=>{const n=(new DOMParser).parseFromString(e,ds),r=n.querySelector("script");r&&r.setAttribute("nonce",xi());const o=h("iframe",{src:URL.createObjectURL(new Blob([n.documentElement.outerHTML],{type:"text/html"})),id:vs});return o.addEventListener("load",()=>{const{addEventListener:e}=o.contentDocument||o.contentWindow.document;e("click",t)}),o})(n,Is(t)),c=h("div",{id:ys});(e=>{if(!e)return!1;const t=Object.keys(e);if(!t.includes(hs))return!1;if(!t.includes(ys))return!1;const n=Object.values(e);for(let e=0;e<n.length;e+=1){if(!Rt(n[e],"style"))return!1;if(!Rt(n[e],"params"))return!1;for(let t=0;t<Cs.length;t+=1)if(!Rt(n[e].params,Cs[t]))return!1}return!0})(i)||(i=(e=>{if(!e)return;const{uiTakeover:t=!1}=e;return{[vs]:{style:{border:"none",width:"100%",height:"100%"},params:{enabled:!0,parentElement:"#alloy-messaging-container",insertionMethod:"appendChild"}},[hs]:{style:bs(e),params:{enabled:!0,parentElement:"body",insertionMethod:"appendChild"}},[ys]:{style:Es(e),params:{enabled:!0===t,parentElement:"body",insertionMethod:"appendChild"}}}})(o)),i&&((e,t,n,r)=>{[{id:ys,element:r},{id:hs,element:n},{id:vs,element:e}].forEach(({id:e,element:n})=>{const{style:r={},params:o={}}=t[e];Object.assign(n.style,r);const{parentElement:i="body",insertionMethod:a="appendChild",enabled:s=!0}=o,c=document.querySelector(i);s&&c&&"function"==typeof c[a]&&c[a](n)})})(s,i,a,c)};var Ss=e=>({defaultContent:t=>((e,t)=>new Promise(n=>{const{meta:r,identityMap:o}=e;ks(e,(e,n)=>{const i={};i[li.INTERACT]=1,-1!==Object.values(li).indexOf(e)&&(i[e]=1),t({decisionsMeta:[r],propositionAction:n,eventType:ai,propositionEventTypes:Object.keys(i),identityMap:o})}),n({meta:r})}))(t,e)});const Ps=e=>{const t=e.find(e=>e.scopeType===Aa);return t?t.scope:void 0};var Ds=(e,t,n)=>{const{interactIds:r,clickLabel:o="",clickToken:i}=(e=>{const{documentElement:t}=document;let n=e;const r=new Set;let o,i;for(;n&&n!==t&&!(n instanceof ShadowRoot);){const e=Pi(n,$a);e&&r.add(e),o=o||Pi(n,Za),i=i||Pi(n,"data-aep-click-token"),n=n.parentNode}return{interactIds:[...r],clickLabel:o,clickToken:i}})(e),a=((e,t,n)=>r=>{const{scopeDetails:o={}}=r,{decisionProvider:i}=o;return e[i]===Qa||e[i]===Wa&&(t||n)})(n,o,i);if(0===r.length)return{};const s=t(r).filter(a);return{decisionsMeta:xa(s),propositionActionLabel:o,propositionActionToken:i,viewName:Ps(s)}};const Rs="AJO",Ts="TGT",Os=({config:e,logger:t,eventManager:n,consent:r})=>{const{targetMigrationEnabled:o,prehidingStyle:i,autoCollectPropositionInteractions:a}=e,s=Na({eventManager:n,mergeDecisionsMeta:_a}),c=(e=>()=>{const t=ki(Yi);t&&(e.logOnContentHiding({status:"show-containers",message:"Prehiding style removed to show containers.",logLevel:"info"}),_(t))})(t),d=(e=>t=>{if(!t)return;if(ki(Yi))return;const n=xi(),r={id:Yi,...n&&{nonce:n}},o=h(v,r,{textContent:t});e.logOnContentHiding({status:"hide-containers",message:"Prehiding style applied to hide containers.",logLevel:"info"}),f(document.head,o)})(t),{storeInteractionMeta:l,getInteractionMetas:u}=(()=>{const e={},t={};return{storeInteractionMeta:(n,r,o,i,a)=>{a=parseInt(a,10),e[a]||(e[a]={},t[a]={}),t[a][n]||(t[a][n]=new Set),t[a][n].add(r),e[a][n]={...i,scopeType:o}},getInteractionMetas:n=>Array.isArray(n)&&0!==n.length?Object.values(n.map(e=>parseInt(e,10)).reduce((n,r)=>(Object.keys(e[r]||{}).forEach(o=>{n[o]||(n[o]={proposition:e[r][o],items:new Set}),n[o].items=new Set([...n[o].items,...t[r][o]])}),n),{})).map(({proposition:e,items:t})=>({...e,items:Array.from(t).map(e=>({id:e}))})):[]}})(),{storeClickMeta:p,getClickSelectors:m,getClickMetas:y}=Ba(),w=(({window:e})=>()=>e.location)({window:window}),I={[ma]:da(Ki,!0),[fa]:da(Wi,!0),[ha]:da(ta,!0),[ya]:da(aa,!0),[va]:da(sa,!0),[wa]:da(ia,!0),[Ia]:da(ua,!0),[ba]:da(ga,!0),[Ea]:da(ca),[Ca]:da(_,!0),[ka]:da(oa),[Sa]:da(na),[Pa]:da(ra,!0),[Da]:da(Wi),[Ra]:da(Qi),[Oa]:da(pa,!0)},b=(C=[Ja,za],e=>e?C.reduce((e,t)=>({...e,...t(e)}),e):e);var C;const k=Xa({preprocess:b,isPageWideSurface:ni}),S=(({createProposition:e})=>{let t=!1,n=Promise.resolve({});const r=(t,n)=>{const r=t[n.toLowerCase()];return r&&r.length>0?r:[e({scope:n,scopeDetails:{characteristics:{scopeType:Aa}},items:[{schema:_o}]},!1)]};return{createCacheUpdate:e=>{const o=g();return t=!0,n=n.then(e=>o.promise.then(t=>({...e,...t})).catch(()=>e)),{update(t){const n=t.filter(e=>e.getScope()),i=W(n,e=>e.getScope().toLowerCase());return o.resolve(i),e?r(i,e):[]},cancel(){o.reject()}}},getView:e=>n.then(t=>r(t,e)),isInitialized:()=>t}})({createProposition:k}),P=fs(window),D={[_o]:Ga,[jo]:rs({modules:I,logger:t,storeInteractionMeta:l,storeClickMeta:p,autoCollectPropositionInteractions:a}),[Bo]:os({modules:I,logger:t,storeInteractionMeta:l,autoCollectPropositionInteractions:a}),[Ho]:as({logger:t,executeRedirect:P,collect:s}),[zo]:gs({modules:Ss(s),logger:t})},R=ss({schemaProcessors:D,logger:t}),T=(()=>{let e=Promise.resolve([]);return{concat(t){e=e.then(e=>t.then(t=>e.concat(t)).catch(()=>e))},clear(){const t=e;return e=Promise.resolve([]),t}}})(),O=((e,t)=>(n,r,o,i)=>{if(!n)return()=>{};if(!r){const e=g();return t.concat(e.promise),e.resolve}return(t=[],n=[])=>{E(t)&&e({decisionsMeta:t,viewName:o,identityMap:i}),E(n)&&e({decisionsMeta:n,eventType:di,propositionAction:{reason:"Conflict"},viewName:o,identityMap:i})}})(s,T),N=(({logger:e,prehidingStyle:t,showContainers:n,hideContainers:r,mergeQuery:o,processPropositions:i,createProposition:a,notificationHandler:s,consent:c})=>({cacheUpdate:d,personalizationDetails:l,event:u,onResponse:p,identityMap:g})=>{const{state:m,wasSet:f}=c.current();"out"===m&&f||(l.isRenderDecisions()?r(t):n()),o(u,l.createQueryDetails());const h=s(l.isRenderDecisions(),l.isSendDisplayEvent(),l.getViewName(),g);p(({response:t})=>{const r=t.getPayloadsByType("personalization:decisions");E(r)||e.logOnContentRendering({status:"no-offers",message:"No offers were returned.",logLevel:"info",detail:{query:l.createQueryDetails()}});const o=r.map(e=>a(e,!0,!1,g)),{page:s=[],view:c=[],proposition:u=[]}=W(o,e=>e.getScopeType()),p=d.update(c);let m,f,y;return l.isRenderDecisions()?(({render:m,returnedPropositions:f,returnedDecisions:y}=i([...s,...p],u)),E(s)&&e.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for page-wide scope.",logLevel:"info",detail:{scope:mn,propositions:s.map(e=>e.toJSON())}}),E(p)&&e.logOnContentRendering({status:"rendering-started",message:"Rendering propositions started for view scope - "+l.getViewName()+".",logLevel:"info",detail:{scope:l.getViewName(),propositions:p.map(e=>e.toJSON())}}),m().then(h),1===s.length&&s[0].getItems().every(e=>e.getSchema()===Ho)||n()):({returnedPropositions:f,returnedDecisions:y}=i([],[...s,...p,...u])),{propositions:f,decisions:y}})})({prehidingStyle:i,showContainers:c,hideContainers:d,mergeQuery:ja,processPropositions:R,createProposition:k,notificationHandler:O,consent:r,logger:t}),M=(({mergeDecisionsMeta:e,collectInteractions:t,collectClicks:n,getInteractionMetas:r,getClickMetas:o,getClickSelectors:i,autoCollectPropositionInteractions:a})=>({event:s,clickedElement:c})=>{const d=[];let l,u,p;if([t(c,r,a),n(c,i(),o)].forEach(({decisionsMeta:e,propositionActionLabel:t,propositionActionToken:n,viewName:r})=>{Array.prototype.push.apply(d,e),!l&&t&&(l=t),!u&&n&&(u=n),!p&&r&&(p=r)}),E(d)){const t={eventType:ai};p&&(t.web={webPageDetails:{viewName:p}}),s.mergeXdm(t),e(s,d,[li.INTERACT],((e,t)=>{if(!t&&!e)return;const n={};return e&&(n.label=e),t&&(n.tokens=[t]),n})(l,u))}})({mergeDecisionsMeta:_a,collectInteractions:Ds,collectClicks:La,getInteractionMetas:u,getClickMetas:y,getClickSelectors:m,autoCollectPropositionInteractions:a}),A=(({processPropositions:e,viewCache:t,logger:n})=>({personalizationDetails:r,onResponse:o})=>{let i,a;const s=r.getViewName();return o(()=>({propositions:i,decisions:a})),t.getView(s).then(t=>{let o;return r.isRenderDecisions()?(({render:o,returnedPropositions:i,returnedDecisions:a}=e(t)),n.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for view scope - "+s+".",logLevel:"info",detail:{scope:s,propositions:t.map(e=>e.toJSON())}}),o()):(({returnedPropositions:i,returnedDecisions:a}=e([],t)),[])})})({processPropositions:R,viewCache:S,logger:t}),x=Ha({processPropositions:R,createProposition:k,renderedPropositions:T,viewCache:S}),q=(({targetMigrationEnabled:e})=>e?e=>{e.getPayload().mergeMeta({target:{migration:!0}})}:fe)({targetMigrationEnabled:o}),L=cs({processPropositions:R,createProposition:k,notificationHandler:O}),U=(({showContainers:e,consent:t})=>()=>{const{state:n,wasSet:r}=t.current();n===zt&&r?e():t.awaitConsent().catch(e)})({showContainers:c,consent:r});return hi({getPageLocation:w,logger:t,fetchDataHandler:N,viewChangeHandler:A,onClickHandler:M,isAuthoringModeEnabled:Ua,mergeQuery:ja,viewCache:S,showContainers:c,applyPropositions:x,setTargetMigration:q,mergeDecisionsMeta:_a,renderedPropositions:T,onDecisionHandler:L,handleConsentFlicker:U})};Os.namespace="Personalization";const Ns=Ya.map(e=>St(e));Os.configValidators=Rt({prehidingStyle:Tt().nonEmpty(),targetMigrationEnabled:Ct().default(!1),autoCollectPropositionInteractions:Rt({[Rs]:It(Ns).default(Qa),[Ts]:It(Ns).default(Ka)}).default({[Rs]:Qa,[Ts]:Ka}).noUnknownFields()});const Ms=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,As=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{Ms(e[r])||Array.isArray(e[r])?As(e[r],t,[...n,r]):t[[...n,r].join(".")]=e[r]}),t);var xs=e=>Ms(e)?As(e):e;const qs="matcher",Ls="group",Us="historical",_s="eq",js="ne",Bs="ex",Fs="nx",Vs="gt",Hs="ge",zs="lt",Js="le",Xs="co",Gs="nc",Qs="sw",Ks="ew",Ws="and",Ys="or",$s="ordered",Zs="mostRecent";function ec(e){return"object"==typeof e||void 0===e}function tc(e){return"number"==typeof e}const nc={[_s]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r===String(n[e]).toLowerCase())return!0;return!1}},[js]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r===String(n[e]).toLowerCase())return!1;return!0}},[Bs]:{matches:(e,t)=>void 0!==e[t]&&null!==e[t]},[Fs]:{matches:(e,t)=>void 0===e[t]||null===e[t]},[Vs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r>n[e])return!0;return!1}},[Hs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r>=n[e])return!0;return!1}},[zs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r<n[e])return!0;return!1}},[Js]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r<=n[e])return!0;return!1}},[Xs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!0;return!1}},[Gs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!1;return!0}},[Qs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r.startsWith(String(n[e]).toLowerCase()))return!0;return!1}},[Ks]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r.endsWith(n[e].toLowerCase()))return!0;return!1}}};function rc(e){return void 0===e}const oc="eventId",ic="eventType",ac=["iam.eventType",ic,"type"],sc=["iam.id","id"],cc=(e,t)=>{for(let n=0;n<t.length;n+=1)if(!rc(e[t[n]]))return t[n];throw new Error("The event does not match the expected schema.")},dc=e=>{const t=structuredClone(e);return[[cc(t,ac),ic],[cc(t,sc),oc]].forEach(([e,n])=>{e!==n&&(t[n]=t[e],delete t[e])}),t};function lc(e,t){return{evaluate:(e,n)=>t.evaluate(e,n),toString:()=>"Condition{type="+e+", definition="+t+"}"}}function uc(e,t,n){return{evaluate:r=>{const o=function(e){return nc[e]}(t);return!!o&&o.matches(r,e,n)}}}function pc(e,t,n,r,o,i){return{evaluate:(a,s)=>{let c;return c=Zs===i?function(e,t,n,r=0,o=1/0){try{return e.reduce((e,i,a)=>{const s=n.generateEventHash(dc(i)),c=t.events[s];if(!c)return e;const d=c.timestamps.filter(e=>e>=r&&e<=o).pop();return d&&d>e.timestamp?{index:a,timestamp:d}:e},{index:-1,timestamp:0}).index}catch{return-1}}(e,a,s,r,o):$s===i?function(e,t,n,r=0,o=1/0){try{let i=r;const a=e.every(e=>{const r=n.generateEventHash(dc(e)),a=t.events[r];if(!a)return!1;const s=a.timestamps[0],c=s>=i&&s<=o;return i=s,c});return Number(a)}catch{return 0}}(e,a,s,r,o):function(e,t,n,r=0,o=1/0){return e.reduce((e,i)=>{try{const a=n.generateEventHash(dc(i)),s=t.events[a];if(!s)return e;const{timestamps:c=[]}=s;return e+c.filter(e=>e>=r&&e<=o).length}catch{return e}},0)}(e,a,s,r,o),((e,t,n)=>{switch(t){case Vs:return e>n;case Hs:return e>=n;case zs:return e<n;case Js:return e<=n;case _s:return e===n;case js:return e!==n;default:return!1}})(c,t,n)}}}function gc(e){const{logic:t,conditions:n}=e;return function(e,t){return{evaluate:(n,r)=>Ws===e?function(e,t,n){let r=!0;for(let o=0;o<t.length;o+=1)r=r&&t[o].evaluate(e,n);return r}(n,t,r):Ys===e&&function(e,t,n){let r=!1;for(let o=0;o<t.length;o+=1)if(r=r||t[o].evaluate(e,n),r)return!0;return!1}(n,t,r)}}(t,n.map(mc))}function mc(e){const{type:t,definition:n}=e;if(qs===t){const e=function(e){const{key:t,matcher:n,values:r}=e;return uc(t,n,r)}(n);return lc(t,e)}if(Ls===t){return lc(t,gc(n))}if(Us===t){const e=function(e){const{events:t,from:n,to:r,matcher:o,value:i,searchType:a}=e;return pc(t,o,i,n,r,a)}(n);return lc(t,e)}throw new Error("Can not parse condition")}function fc(e){const{id:t,type:n,detail:r}=e;return function(e,t,n){return{id:e,type:t,detail:n}}(t,n,r)}function hc(e){const{condition:t,consequences:n,key:r}=e;return function(e,t,n){return{key:n,execute:(n,r)=>e.evaluate(n,r)?t:[],toString:()=>"Rule{condition="+e+", consequences="+t+"}"}}(mc(t),n.map(fc),r)}function yc(e){const{version:t,rules:n,metadata:r}=e,o=n.map(hc),i=function(e){if(!e)return;return{provider:e.provider,providerData:Object.assign({},e.providerData)}}(r);return function(e,t,n){return{version:e,rules:t,metadata:n}}(t,o,i)}function vc(e,t,n){const{providerData:r}=n,{identityTemplate:o}=r;return o.replace("<key>",t).replace("<identity>",e)}function wc(e,t=e=>e[0]){const n={};return function(...r){const o=t(r);return rc(n[o])&&(n[o]=e(...r)),n[o]}}function Ic(e,t){const n=65535&t;return((t-n)*e|0)+(n*e|0)|0}const bc=wc(function(e,t=0){let n;const r=e.length,o=3432918353,i=461845907;let a=t;const s=-2&r;for(let t=0;t<s;t+=2)n=e.charCodeAt(t)|e.charCodeAt(t+1)<<16,n=Ic(n,o),n=(131071&n)<<15|n>>>17,n=Ic(n,i),a^=n,a=(524287&a)<<13|a>>>19,a=5*a+3864292196|0;return r%2==1&&(n=e.charCodeAt(s),n=Ic(n,o),n=(131071&n)<<15|n>>>17,n=Ic(n,i),a^=n),a^=r<<1,a^=a>>>16,a=Ic(a,2246822507),a^=a>>>13,a=Ic(a,3266489909),a^=a>>>16,a},e=>e.join("-"));const Ec=wc(function(e,t){const n=bc(e),r=Math.abs(n)%t/t*100;return Math.round(100*r)/100});function Cc(e,t,n){return{allocation:Ec(e,t),...n}}function kc(e,t){return t.map(t=>t.execute(e)).filter(e=>e.length>0)}function Sc(e,t){!function(e){const{providerData:t}=e;if(!t)throw new Error("Provider data is missing in metadata");const{identityTemplate:n,buckets:r}=t;if(!n)throw new Error("Identity template is missing in provider data");if(!r)throw new Error("Buckets is missing in provider data")}(t);const n=e.filter(e=>!e.key),r=function(e){const t={};for(let n=0;n<e.length;n+=1){const r=e[n];r.key&&(t[r.key]||(t[r.key]=[]),t[r.key].push(r))}return t}(e),{buckets:o}=t.providerData;return{provider:"TGT",execute:e=>{const i=function(e){const{xdm:t}=e;if(!t)throw new Error("XDM object is missing in the context");const{identityMap:n}=t;if(!n)throw new Error("Identity map is missing in the XDM object");const r=n.ECID;if(!r)throw new Error("ECID identity namespace is missing in the identity map");if(!Array.isArray(r)||0===r.length)throw new Error("ECID identities array is empty or not an array");const o=r[0].id;if(!o)throw new Error("ECID identity is missing in the identities array");return o}(e),a=kc(e,n),s=Object.keys(r),c=[];for(let n=0;n<s.length;n+=1){const a=s[n],d=r[a],l=kc(Cc(vc(i,a,t),o,e),d);c.push(...l)}return[...a,...c]}}}function Pc(e,t={generateEventHash:()=>{throw new Error("No hash function provided")}}){const{rules:n,metadata:r={}}=yc(e);return function(e,t,n){const{provider:r}=t;return"TGT"===r?Sc(e,t):function(e,t){return{provider:"DEFAULT",execute:n=>e.map(e=>e.execute(n,t)).filter(e=>e.length>0)}}(e,n)}(n,r,t)}var Dc=e=>{const t=structuredClone(e),n=Object.keys(t).sort().reduce((e,n)=>{const r=t[n];return null==r||""===r?e:e+=n+":"+r},"");return H(n)};const Rc="events",Tc="~type",Oc="~source",Nc="com.adobe.eventType.edge",Mc="com.adobe.eventType.rulesEngine",Ac="com.adobe.eventSource.requestContent",xc="cjmiam",qc="schema";var Lc=(e=30,t=1e3)=>n=>{let r=Object.entries(n).reduce((e,[t,{timestamps:n=[]}])=>(n.forEach(n=>{e.push({key:t,timestamp:n})}),e),[]);const o=(e=>{const t=new Date;return t.setDate(t.getDate()-e),t})(e);return r=r.filter(({timestamp:e})=>e>=o),r.sort((e,t)=>e.timestamp-t.timestamp),r=r.slice(-t),r.reduce((e,{key:t,timestamp:n})=>(e[t]||(e[t]={timestamps:[]}),e[t].timestamps.push(n),e),{})};const Uc=e=>e?.scopeDetails?.activity?.id,_c=()=>{const e={};return{getItem:t=>t in e?e[t]:null,setItem:(t,n)=>{e[t]=n}}},jc=e=>{e.clear()};const Bc={[xc]:(e,t,n)=>{const{html:r,mobileParameters:o}=n;return{schema:zo,data:{mobileParameters:o,webParameters:{},content:r,contentType:ds},id:e}},[qc]:(e,t,n)=>{const{schema:r,data:o,id:i}=n;return{schema:r,data:o,id:i||e}}};const Fc=e=>{const{schema:t,data:n}=e;if(t===Vo)return!0;if(t!==Fo)return!1;try{const e="string"==typeof n.content?JSON.parse(n.content):n.content;return e&&Object.prototype.hasOwnProperty.call(e,"version")&&Object.prototype.hasOwnProperty.call(e,"rules")}catch{return!1}};var Vc=(e,t)=>{const n=e=>{const{id:t,type:n,detail:r}=e;return"function"==typeof Bc[n]?Bc[n](t,n,r):r},r=Uc(e),o=[],i=e=>{const{data:t={},schema:n}=e,r=n===Vo?t:t.content;r&&o.push(Pc("string"==typeof r?JSON.parse(r):r,{generateEventHash:Dc}))};return Array.isArray(e.items)&&e.items.filter(Fc).forEach(i),{rank:e?.scopeDetails?.rank||1/0,evaluate:i=>{const a=t.getEvent(ii,r),s=a?.timestamps[0],c=((e=[])=>Array.isArray(e)?e.flat(1/0):e)(o.map(e=>e.execute(i))).map(n).map(e=>{const n=t.addEvent({eventType:li.TRIGGER,eventId:r}).timestamps[0];return{...e,data:{...e.data,qualifiedDate:n,displayedDate:s}}});return{...e,items:c}},isEvaluable:o.length>0}},Hc=({storage:e,logger:t})=>{let n,r,o,i=e;const a=e=>{i=e;const t=((e,t)=>n=>{try{const n=e.getItem(t);return[JSON.parse(n),n.length]}catch{}return[n,0]})(i,Rc);if(n=((e,t)=>n=>{e.setItem(t,JSON.stringify(n))})(i,Rc),[r,o]=t({}),o>2097152){const e=Lc();r=e(r),n(r)}};a(e);const s=(e={eventType:null,eventId:null},o="insert")=>{const{eventType:i,eventId:a}=e;if(!i||!a)return;const s=Dc(e);if("insertIfNotExists"===o&&r[s])return;r[s]&&Array.isArray(r[s].timestamps)||(r[s]={timestamps:[]});const c=(new Date).getTime();return r[s].timestamps.push(c),r[s].timestamps.sort(),t.info("[Event History] Added event for",e,"with hash",s,"and timestamp",c),n(r),r[s]};return{addExperienceEdgeEvent:e=>{const{xdm:t}=e.getContent();if(!(e=>{const{_experience:t}=e||{};return!!t&&"object"==typeof t})(t))return;const{_experience:{decisioning:{propositionEventType:n={},propositionAction:{id:r}={},propositions:o=[]}={}}}=t;Object.keys(n).filter(e=>1===n[e]).forEach(e=>{o.forEach(t=>{(e=>e?.scopeDetails?.decisionProvider)(t)===Rs&&s({eventId:Uc(t),eventType:e,action:r})})})},addEvent:s,addEventPayloads:(e=[])=>e.map(({operation:e,event:t})=>s(t,e)),getEvent:(e,t)=>{const n=Dc({eventType:e,eventId:t});if(r[n])return r[n]},toJSON:()=>r,setStorage:a}};const zc=(e,...t)=>t,Jc=(e,...t)=>!0;var Xc=({collect:e})=>{let t=()=>{};const n=new Set,r=(e,t,r)=>{const o=[e,t].join("-"),i=!r.has(o)&&((e=>[li.INTERACT,li.DISMISS].includes(e))(e)||!n.has(o));return r.add(o),n.add(o),i},o=(t,n=[])=>{if(!(n instanceof Array))return Promise.resolve();if(!Object.values(li).includes(t))return Promise.resolve();const o=[],i=new Set;return n.forEach(e=>{const n=(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}})(e);r(t,n.id,i)&&o.push(n)}),o.length>0?e({decisionsMeta:o,eventType:mi(t),documentMayUnload:!0}):Promise.resolve()},i=(()=>{let e=zc,t=Jc,n=0;const r={};return{add:(e,t=void 0)=>{return"function"!=typeof e?()=>{}:(n+=1,r[n]={callback:e,params:t},{id:n,unsubscribe:(o=n,()=>{delete r[o]})});var o},emit:(...n)=>{Object.values(r).forEach(({callback:r,params:o})=>{const i=e(o,...n);t(o,...i)&&r(...i)})},emitOne:(n,...o)=>{if(!n||!r[n])return;const{callback:i,params:a}=r[n],s=e(a,...o);t(a,...s)&&i(...s)},hasSubscriptions:()=>Object.keys(r).length>0,setEmissionPreprocessor:t=>{"function"==typeof t&&(e=t)},setEmissionCondition:e=>{"function"==typeof e&&(t=e)}}})();i.setEmissionPreprocessor((e,t)=>{const{surfacesFilter:n,schemasFilter:r}=e;return[{propositions:t.filter(e=>!n||n.includes(e.scope)).map(e=>{const{items:t=[]}=e;return{...e,items:t.filter(e=>!r||r.includes(e.schema))}}).filter(e=>e.items.length>0)},o]});return{refresh:e=>{t=t=>{t?i.emitOne(t,e):i.emit(e)},t()},command:{optionsValidator:e=>(({options:e})=>Rt({surfaces:Et(Tt()).uniqueItems(),schemas:Et(Tt()).uniqueItems(),callback:kt().required()}).noUnknownFields()(e))({options:e}),run:({surfaces:e,schemas:n,callback:r})=>{const{id:o,unsubscribe:a}=i.add(r,{surfacesFilter:e instanceof Array?e:void 0,schemasFilter:n instanceof Array?n:void 0});return t(o),Promise.resolve({unsubscribe:a})}}}};var Gc=({contextProvider:e,decisionProvider:t})=>({optionsValidator:e=>(({options:e})=>Rt({renderDecisions:Ct(),personalization:Rt({decisionContext:Rt({})})}).noUnknownFields()(e))({options:e}),run:({renderDecisions:n,decisionContext:r,applyResponse:o})=>o({renderDecisions:n,propositions:t.evaluate(e.getContext(r))})});const Qc=({config:e,eventManager:t,createNamespacedStorage:n,consent:r,getBrowser:o,logger:i})=>{const{orgId:a,personalizationStorageEnabled:s}=e,c=Na({eventManager:t,mergeDecisionsMeta:_a}),d=n(Q(a)+".decisioning.");s||jc(d.persistent);const l=Hc({storage:_c(),logger:i}),u=(({eventRegistry:e})=>{const t={},n=n=>{const r=Uc(n);if(!r)return;const o=Vc(n,e);o.isEvaluable&&(t[r]=o)};return{addPayload:n,addPayloads:e=>{e.forEach(n)},evaluate:(e={})=>Object.values(t).sort(({rank:e},{rank:t})=>e-t).map(t=>t.evaluate(e)).filter(e=>e.items.length>0)}})({eventRegistry:l}),p=(({eventRegistry:e,window:t,getBrowser:n})=>{const r=(new Date).getTime(),o=()=>{const e=new Date,t=e.getTime();return{pageLoadTimestamp:r,currentTimestamp:t,currentDate:e.getDate(),"~state.com.adobe.module.lifecycle/lifecyclecontextdata.dayofweek":e.getDay()+1,"~state.com.adobe.module.lifecycle/lifecyclecontextdata.hourofday":e.getHours(),currentMinute:e.getMinutes(),currentMonth:e.getMonth(),currentYear:e.getFullYear(),pageVisitDuration:t-r,"~timestampu":t/1e3,"~timestampz":e.toISOString()}},i={browser:{name:n()},page:{title:t.title,url:t.url,...ye(t.url)},referringPage:{url:t.referrer,...ye(t.referrer)}};return{getContext:(n={})=>{const r={...{...i,...o(),window:{height:t.height,width:t.width,scrollY:t.scrollY,scrollX:t.scrollX},"~sdkver":qn},...n};return{...xs(r),events:e.toJSON()}}}})({eventRegistry:l,window:window,getBrowser:o}),g=Gc({contextProvider:p,decisionProvider:u}),m=Xc({collect:c});let f;return{lifecycle:{onDecision({propositions:e}){m.refresh(e)},onComponentsRegistered(e){f=(({lifecycle:e,eventRegistry:t})=>({renderDecisions:n=!1,propositions:r=[],event:o,personalization:i})=>{if(e){const a=(e=>{const t=[];return e.forEach(e=>{const n=[];e.items.forEach(e=>{"https://ns.adobe.com/personalization/eventHistoryOperation"===e.schema?t.push({operation:e.data.operation,event:{eventId:e.data.content["iam.id"],eventType:e.data.content["iam.eventType"]}}):n.push(e)}),e.items=n}),t})(r);t.addEventPayloads(a);const s=o?.getUserIdentityMap();e.onDecision({renderDecisions:n,propositions:r,event:o,personalization:i,identityMap:s})}return{propositions:r}})({lifecycle:e.lifecycle,eventRegistry:l}),s&&r.awaitConsent().then(()=>{l.setStorage(d.persistent)}).catch(()=>{d&&jc(d.persistent)})},onBeforeEvent({event:e,renderDecisions:t,personalization:n={},onResponse:r=fe}){const{decisionContext:o={}}=n;r((({renderDecisions:e,decisionProvider:t,applyResponse:n,event:r,personalization:o,decisionContext:i})=>{const a={...xs(r.getContent()),...i};return({response:i})=>{if(t.addPayloads(i.getPayloadsByType("personalization:decisions")),!r.hasQuery())return{propositions:[]};const s=t.evaluate(a);return n({renderDecisions:e,propositions:s,event:r,personalization:o})}})({renderDecisions:t,decisionProvider:u,applyResponse:f,event:e,personalization:n,decisionContext:p.getContext({[Tc]:Nc,[Oc]:Ac,...o})}))},onBeforeRequest({request:e}){const t=e.getPayload().toJSON(),{events:n=[]}=t;0!==n.length&&n.forEach(e=>l.addExperienceEdgeEvent(e))}},commands:{evaluateRulesets:{run:({renderDecisions:e,personalization:t={}})=>{const{decisionContext:n={}}=t;return g.run({renderDecisions:e,decisionContext:{[Tc]:Mc,[Oc]:Ac,...n},applyResponse:f})},optionsValidator:g.optionsValidator},subscribeRulesetItems:m.command}}};Qc.namespace="RulesEngine",Qc.configValidators=Rt({personalizationStorageEnabled:Ct().default(!1)});var Kc=Rt({streamingMedia:Rt({channel:Tt().nonEmpty().required(),playerName:Tt().nonEmpty().required(),appVersion:Tt(),mainPingInterval:Pt().minimum(10).maximum(50).default(10),adPingInterval:Pt().minimum(1).maximum(10).default(10)}).noUnknownFields()}),Wc=({config:e,trackMediaEvent:t,trackMediaSession:n,mediaResponseHandler:r})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=fe}){if(!e)return;const{legacy:n,playerId:o,getPlayerDetails:i}=e;n||t(({response:e})=>r({playerId:o,getPlayerDetails:i,response:e}))}},commands:{createMediaSession:{optionsValidator:e=>(({options:e})=>It([Rt({playerId:Tt().required(),getPlayerDetails:kt().required(),xdm:Rt({mediaCollection:Rt({sessionDetails:Rt(bt()).required()})}),edgeConfigOverrides:Mt}).required(),Rt({xdm:Rt({mediaCollection:Rt({playhead:Pt().required(),sessionDetails:Rt(bt()).required()})}),edgeConfigOverrides:Mt}).required()],"an object with playerId, getPlayerDetails and xdm.mediaCollection.sessionDetails, or an object with xdm.mediaCollection.playhead and xdm.mediaCollection.sessionDetails")(e))({options:e}),run:n},sendMediaEvent:{optionsValidator:e=>(({options:e})=>It([Rt({playerId:Tt().required(),xdm:Rt({eventType:Ot(...Object.values(co)).required(),mediaCollection:Rt(bt())}).required()}).required(),Rt({xdm:Rt({eventType:Ot(...Object.values(co)).required(),mediaCollection:Rt({playhead:Pt().integer().required(),sessionID:Tt().required()}).required()}).required()}).required()],"Error validating the sendMediaEvent command options.")(e))({options:e}),run:n=>e.streamingMedia?t(n):Promise.reject(new Error("Streaming media is not configured."))}}});const Yc=({config:e,logger:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o})=>{const i=go(),a=lo({config:e,eventManager:n,consent:o,sendEdgeNetworkRequest:r,setTimestamp:xn(()=>new Date)}),s=mo({mediaSessionCacheManager:i,mediaEventManager:a,config:e}),c=fo({config:e,mediaEventManager:a,mediaSessionCacheManager:i}),d=yo({mediaSessionCacheManager:i,config:e,trackMediaEvent:s});return Wc({config:e,trackMediaEvent:s,mediaResponseHandler:d,trackMediaSession:c})};Yc.namespace="Streaming media",Yc.configValidators=Kc;var $c=Rt({advertising:Rt({id5PartnerId:Tt(),rampIdJSPath:Tt(),dspEnabled:Ct(),advertiserSettings:Et(Rt({advertiserId:Tt().required(),enabled:Ct().required()}).noUnknownFields())}).noUnknownFields()});const Zc="advertising",ed="_les_lsc",td="lastConversionTime",nd="displayClickCookieExpires",rd="rampIdExpires",od="surferId",id="rampId",ad="id5Id",sd="advertising.enrichment",cd="trackingCode",dd="trackingIdentities",ld="Ad conversion submission failed",ud="ev_lcc";var pd=({orgId:e,logger:t})=>{const n=p({logger:t,cookieJar:a}),r=(t,n=!0)=>n?K(e,t):t,o=(e=30)=>new Date(Date.now()+60*e*1e3),i=(e,o=!0)=>{try{const t=r(e,o),i=n.get(t);return i?(e=>{try{if(e?.startsWith("%7B")||e?.startsWith("{"))return JSON.parse(decodeURIComponent(e))}catch{}return e})(i):null}catch(n){return t.error("Error reading cookie: "+e,n),null}},s=(e,o,i={},a=!0)=>{try{const t=r(e,a),s=(e=>"object"==typeof e&&null!==e?encodeURIComponent(JSON.stringify(e)):e)(o);return n.set(t,s,i),!0}catch(n){return t.error("Error writing cookie: "+e,n),!1}};return{setValue:(e,t,n={})=>{const r={...i(Zc)||{},[e]:t};return s(Zc,r,{expires:o(527040),...n})},getValue:e=>(i(Zc)||{})[e]}};var gd=({cookieManager:e,logger:t,componentConfig:n,getBrowser:r,consent:o,collectSurferId:i,getID5Id:a,getRampId:s,appendAdvertisingIdQueryToEvent:c,getUrlParams:d,isThrottled:l})=>async({event:u,advertising:p={}})=>{const{state:g}=o.current();if("in"!==g)return;const{skwcid:m,efid:f}=d(),h=!(!m||!f);if(!((e=>![Qt,Gt].includes(e?.handleAdvertisingData?.toLowerCase()))(p)||h||l(od,e)&&l(ad,e)&&l(id,e)))try{const o=(e=>e?.handleAdvertisingData?.toLowerCase()===Gt)(p);let d=null;r&&r()===Y||(d=s(t,n.rampIdJSPath,e,o,o));const[g,m,f]=await Promise.allSettled([i(e,r,o),a(t,n.id5PartnerId,o,o),d]),h={};if("fulfilled"===g.status&&g.value&&!l(od,e)&&(h.surferId=g.value),"fulfilled"===m.status&&m.value&&!l(ad,e)&&(h.id5Id=m.value),"fulfilled"===f.status&&f.value&&!l(id,e)&&(h.rampId=f.value),0===Object.keys(h).length&&(l(od,e)||l(ad,e)||l(id,e)))return;c(h,u,e,n)}catch(e){t.error("Error in onBeforeSendEvent hook:",e)}};let md="",fd="",hd=null;const yd=()=>hd||(hd=new Promise((e,t)=>{setTimeout(()=>{const n="https:"===document.location.protocol?"https:":"http:",r=n+"//www.everestjs.net/static/pixel_details.html#"+new URLSearchParams({google:"__EFGCK__",gsurfer:"__EFGSURFER__",imsId:"__EFIMSORGID__",is_fb_cookie_synced:"__EFFB__",optout:"__EFOPTOUT__",throttleCookie:"__EFSYNC__",time:"__EFTIME__",ev_lcc:"__LCC__"}).toString(),o=n+"//pixel.everesttech.net/1/gr?"+new URLSearchParams({ev_gb:"0",url:r}).toString(),i=h("iframe",{src:o},{height:0,width:0,frameBorder:0,style:{display:"none"}},[]);var a;a=i,document.body?document.body.appendChild(a):window.addEventListener("load",()=>{document.body.appendChild(a)},!1);var s;s=function n(r){var o;if(r.origin.includes("www.everestjs.net"))try{const t=r.data,i=t.indexOf("#");if(-1===i)return void e({surferId:null,displayClickCookie:null});const a=new URLSearchParams(t.substring(i+1));let s,c;const d=a.get("gsurfer");d&&(s=d);const l=a.get(ud);l&&"__LCC__"!==l&&(c=l),o=n,window.removeEventListener("message",o,!1),s?(md=s,fd=c,e({surferId:md,displayClickCookie:fd})):e({surferId:null,displayClickCookie:null})}catch(e){t(e)}finally{hd=null}},window.addEventListener("message",s,!1)},5e3)}),hd),vd=function(e,t,n=!0){if(t){if(!ae({getBrowser:t})())return Promise.resolve(null)}if(md&&""!==md)return Promise.resolve(md);if(e){const t=e.getValue(od);if(t)return md=t,Promise.resolve(t)}return n?yd().then(t=>(e&&t&&(t.surferId&&e.setValue(od,t.surferId),t.displayClickCookie&&(e.setValue(ud,t.displayClickCookie),e.setValue(nd,Date.now()+9e5))),t.surferId)):Promise.resolve(null)},wd=15,Id=3e4,bd=500,Ed=5e3,Cd=2e3,kd={rampIdEnv:void 0,rampIdCallInitiated:!1,inProgressRampIdPromise:null,envelopeRetrievalInProgress:!1},Sd=(e,t,n,r)=>{let o;try{o=JSON.parse(e).envelope}catch{o=e}o&&!kd.rampIdCallInitiated?(kd.rampIdCallInitiated=!0,kd.rampIdEnv=o,kd.envelopeRetrievalInProgress=!1,kd.inProgressRampIdPromise=null,n.setValue(id,kd.rampIdEnv),n.setValue(rd,Date.now()+1728e5),t(kd.rampIdEnv)):(r.warn("Invalid RampID envelope received",{envelope:o}),kd.envelopeRetrievalInProgress=!1)},Pd=(e,t,n,r=!1)=>{if(kd.inProgressRampIdPromise)return kd.inProgressRampIdPromise;const o=r?Cd:Id;let i=!1;const a=new Promise((r,o)=>{U(e,{onLoad:()=>{void 0===window.ats||kd.envelopeRetrievalInProgress||(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{e?i||Sd(e,r,t,n):(kd.envelopeRetrievalInProgress=!1,window.addEventListener("lrEnvelopePresent",()=>{kd.envelopeRetrievalInProgress||i||(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{i||Sd(e,r,t,n)},e=>{i||(n.error("Failed to retrieve envelope after event",e),kd.envelopeRetrievalInProgress=!1,o(e),kd.inProgressRampIdPromise=null)}))}))}).catch(e=>{i||(n.error("Error retrieving envelope",e),kd.envelopeRetrievalInProgress=!1,o(e),kd.inProgressRampIdPromise=null)})),((e,t,n,r)=>{let o=wd,i=1,a=0;const s=()=>{if(kd.rampIdEnv)return;if(a>Id)return r.error("Maximum retry time exceeded"),kd.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID - timeout")),void(kd.inProgressRampIdPromise=null);if(0===o)return r.error("Maximum retries exceeded"),kd.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID after maximum retries")),void(kd.inProgressRampIdPromise=null);const c=Math.min(bd*i,Ed);setTimeout(()=>{a+=c,o-=1,i+=1,void 0===window.ats||null===window.ats||kd.rampIdEnv||kd.envelopeRetrievalInProgress?s():(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(t=>{Sd(t,e,n,r),kd.rampIdEnv||s()},()=>{r.warn("Failed to retrieve envelope"),kd.envelopeRetrievalInProgress=!1,s()}))},c)};s()})(e=>{i||r(e)},e=>{i||o(e)},t,n)},onError:e=>{i||o(e),kd.inProgressRampIdPromise=null}})}),s=new Promise(e=>{setTimeout(()=>{i=!0,e(null)},o)});return kd.inProgressRampIdPromise=Promise.race([a,s]).finally(()=>{kd.inProgressRampIdPromise=null}),kd.inProgressRampIdPromise},Dd=(e,t,n,r=!0,o=!1)=>{if(kd.rampIdEnv)return Promise.resolve(kd.rampIdEnv);if(n){const e=n.getValue(id),t=n.getValue(rd);if(e&&t&&t>Date.now())return kd.rampIdEnv=e,Promise.resolve(e)}return r&&null!=t?Pd(t,n,e,o):Promise.resolve(null)};let Rd="",Td=null;const Od=function(e,t,n=!0,r=!1){return Rd&&""!==Rd?Promise.resolve(Rd):n?((e,t,n)=>{if(e=Math.floor(Number(e)),Td)return Td;const r=t?2e3:3e4;let o=!1;const i=new Promise((t,r)=>{if(!e)return n.error("Missing partner ID"),void r(new Error("ID5 partner ID is required"));const i=()=>{try{if(void 0===window.ID5)return void r(new Error("ID5 object not available after script load"));const i=window.ID5.init({partnerId:e});Rd=i.getUserId();const a=e=>{o||t(e)};Rd?a(Rd):window.ID5.init({partnerId:e}).onAvailable(function(t){Rd=t.getUserId(),Rd?a(Rd):window.ID5.init({partnerId:e}).onAvailable(function(e){Rd=e.getUserId(),Rd?a(Rd):(n.error("Failed to get ID5 ID after all retries"),a(null))})},1e3)}catch(e){n.error("Error during ID5 initialization",e),r(e)}};void 0!==window.ID5?i():U("https://www.everestjs.net/static/id5-api.js",{onLoad:i,onError:e=>{n.error("Script loading failed",e),r(e)}})}),a=new Promise(e=>{setTimeout(()=>{o=!0,e(null)},r)});return Td=Promise.race([i,a]).finally(()=>{Td=null}),Td})(t,r,e).then(e=>e).catch(t=>{throw e.error("Failed to get ID5 ID",t),t}):Promise.resolve(null)},Nd=()=>{const e=Ee.parse(window.location.search);return{skwcid:e.s_kwcid,efid:e.ef_id}},Md=e=>e&&Array.isArray(e)?e.filter(e=>e&&!0===e.enabled&&e.advertiserId).map(e=>e.advertiserId).join(", "):"",Ad=(e,t,n,r,o=!1)=>{const i=n.getValue(ed);let a=null;const s=n.getValue(nd);s&&s>Date.now()&&(a=n.getValue(ud));const c={advertising:{...i?.click_time&&{lastSearchClick:i.click_time},...a&&{lastDisplayClick:a},stitchIds:{...e[od]&&{surferId:e[od]},...e[ad]&&{id5:e[ad]},...e[id]&&{rampIdEnv:e[id]},ipAddress:"DUMMY_IP_ADDRESS"},advIds:Md(r.advertiserSettings),...o&&{eventType:sd}}};return t.mergeQuery(c),t},xd=(e,t)=>{const n=Date.now(),r=t.getValue(e+"_last_conversion");return Boolean(r&&n-r<18e5)};async function qd({eventManager:e,cookieManager:t,logger:n,componentConfig:r,adConversionHandler:o,getBrowser:i}){const a={},s={},c=async()=>{if(i=a,c=s,!Object.entries(i).some(([e])=>!c[e]))return null;var i,c;const d=Object.keys(a);try{const i=Ad(a,e.createEvent(),t,r,!0),c={eventType:sd,timestamp:(new Date).toISOString()};i.setUserXdm(c);const l=await o.trackAdConversion({event:i});return((e,t,n,r)=>{const o=Date.now();e.forEach(e=>{t[e]=!0,n.setValue(e+"_last_conversion",o),r.info("Ad conversion submitted successfully".replace("{0}",e))}),n.setValue(td,o)})(d,s,t,n),l}catch(e){return n.error(ld,e),null}},d=((e,t,n,r)=>{const o={};return xd(od,n)||(o.surferId=vd(n,r,!0).catch(()=>null)),t.id5PartnerId&&t.dspEnabled&&!xd(ad,n)&&(o.id5Id=Od(e,t.id5PartnerId).catch(()=>null)),t.rampIdJSPath&&t.dspEnabled&&!xd(id,n)&&(o.rampId=Dd(e,t.rampIdJSPath,n,!0).catch(()=>null)),o})(n,r,t,i);if(0===Object.keys(d).length)return[];const l=Object.entries(d).map(([e,t])=>t.then(t=>{if(t)return a[e]=t,c()}).catch(t=>(n.error("Unable to obtain ad identity".replace("{0}",e),t),null)));return Promise.allSettled(l)}var Ld=({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,componentConfig:o,getBrowser:i,consent:a})=>{const s=o?.advertiserSettings?Md(o.advertiserSettings):"";return async()=>{try{await a.awaitConsent();const{skwcid:c,efid:d}=Nd();if(!(!c&&!d))return async function({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:o,efid:i}){const a=Array.isArray(o)?o[0]:o,s=Array.isArray(i)?i[0]:i;r.info("Processing ad conversion",{skwcid:a,efid:s});const c=e.createEvent();if(void 0!==a&&void 0!==s&&a.startsWith("AL!")){const e={click_time:Date.now(),skwcid:a,efid:s};t.setValue(ed,e)}const d={_experience:{adcloud:{conversionDetails:{...void 0!==a&&{[cd]:a},...void 0!==s&&{[dd]:s}}}},eventType:"advertising.enrichment_ct",timestamp:(new Date).toISOString()};c.setUserXdm(d),t.setValue(td),t.setValue("lastConversionTimeExpires",Date.now()+78624e5);try{return await n.trackAdConversion({event:c})}catch(e){throw r.error(ld,e),e}}({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:c,efid:d});s&&qd({eventManager:e,cookieManager:t,logger:r,componentConfig:o,adConversionHandler:n,getBrowser:i}).catch(e=>r.error("Error in view through:",e))}catch(e){r.error("Error in sendAdConversion:",e)}}};const Ud=({logger:e,config:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o,getBrowser:i})=>{const a=t.advertising,s=pd({orgId:t.orgId,logger:e}),c=(({sendEdgeNetworkRequest:e,consent:t,createDataCollectionRequest:n,createDataCollectionRequestPayload:r,logger:o})=>({trackAdConversion:({event:i})=>{const a=r();a.addEvent(i),i.finalize();const s=n({payload:a});return t.awaitConsent().then(()=>e({request:s}).then(()=>({success:!0})).catch(e=>{throw o.error("Failed to send ad conversion event",e),e}))}}))({sendEdgeNetworkRequest:r,consent:o,createDataCollectionRequest:yn,createDataCollectionRequestPayload:In,logger:e});return(({handleOnBeforeSendEvent:e,sendAdConversionHandler:t})=>({lifecycle:{onComponentsRegistered(){t()},onBeforeEvent:e}}))({handleOnBeforeSendEvent:gd({cookieManager:s,logger:e,getBrowser:i,consent:o,componentConfig:a,collectSurferId:vd,getID5Id:Od,getRampId:Dd,appendAdvertisingIdQueryToEvent:Ad,getUrlParams:Nd,isThrottled:xd}),sendAdConversionHandler:Ld({eventManager:n,cookieManager:s,adConversionHandler:c,logger:e,componentConfig:a,getBrowser:i,consent:o})})};Ud.namespace="Advertising",Ud.configValidators=$c;const _d=async({vapidPublicKey:e,window:t})=>{if(!("serviceWorker"in t.navigator))throw new Error("Service workers are not supported in this browser.");if(!("PushManager"in t)||!("Notification"in t))throw new Error("Push notifications are not supported in this browser.");if("granted"!==t.Notification.permission)throw new Error("The user has not given permission to send push notifications.");const o=await t.navigator.serviceWorker.getRegistration();if(!o)throw new Error("No service worker registration was found.");if(!e)throw new Error("No VAPID public key was provided.");const i={userVisibleOnly:!0,applicationServerKey:n(e)};try{const e=await o.pushManager.subscribe(i);return{endpoint:e.endpoint,keys:{p256dh:r(new Uint8Array(e.getKey("p256dh")),{urlSafe:!0}),auth:r(new Uint8Array(e.getKey("auth")),{urlSafe:!0})}}}catch(n){const r=await o.pushManager.getSubscription();if(!r)throw n;if(!await r.unsubscribe())throw n;return _d({vapidPublicKey:e,window:t})}};const jd="config",Bd="alloyConfig";async function Fd(e,t){try{const i=await(n="alloyPushNotifications",r=1,o=e=>{e.objectStoreNames.contains(jd)||e.createObjectStore(jd,{keyPath:"id"})},new Promise((e,t)=>{const i=indexedDB.open(n,r);i.onerror=()=>t(i.error),i.onsuccess=()=>e(i.result),i.onupgradeneeded=e=>{const t=e.target.result;o&&o(t)}})),a=await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readonly").objectStore(t).get(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,jd,Bd),s={...a||{},...e,id:Bd,timestamp:Date.now()};await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readwrite").objectStore(t).put(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,jd,s),i.close(),t.info("Successfully saved web SDK config to IndexedDB",s)}catch(e){t.error("Failed to save config to IndexedDB",{error:e})}var n,r,o}const Vd="subscriptionDetails";var Hd=async({config:{vapidPublicKey:e,appId:t},storage:n,logger:r,sendEdgeNetworkRequest:o,consent:i,eventManager:a,identity:s,window:c,getPushSubscriptionDetails:d=_d})=>{await s.awaitIdentity();const l=s.getEcidFromCookie(),u=await d({vapidPublicKey:e,window:c}),p=JSON.stringify(ke(u)),g=""+l+p;if(g===n.getItem(Vd))return void r.info("Subscription details have not changed. Not sending to the server.");n.setItem(Vd,g);const m=await(async({ecid:e,eventManager:t,serializedPushSubscriptionDetails:n,appId:r})=>{const o=t.createEvent();o.setUserData({pushNotificationDetails:[{appID:r,token:n,platform:"web",denylisted:!1,identity:{namespace:{code:"ECID"},id:e}}]}),o.finalize();const i=In();return i.addEvent(o),i})({eventManager:a,ecid:l,serializedPushSubscriptionDetails:p,appId:t}),f=(({payload:e})=>hn({payload:e,getAction:()=>"interact",getUseSendBeacon:()=>!1}))({payload:m});await i.awaitConsent(),await o({request:f}),await Fd({ecid:l},r)};const zd=({orgId:e,pushNotifications:{vapidPublicKey:t,appId:n,trackingDatasetId:r}={vapidPublicKey:void 0,appId:void 0,trackingDatasetId:void 0}})=>e&&t&&n&&r,Jd=({createNamespacedStorage:e,eventManager:t,config:n,logger:r,consent:o,identity:i,getBrowser:a,sendEdgeNetworkRequest:s})=>({lifecycle:{async onComponentsRegistered(){if(zd(n)){const{datastreamId:e,edgeDomain:t,edgeBasePath:o,pushNotifications:{trackingDatasetId:i}}=n;await Fd({datastreamId:e,edgeDomain:t,edgeBasePath:o,datasetId:i,browser:a()},r)}}},commands:{sendPushSubscription:{run:async()=>{if(!zd(n))throw new Error("Push notifications module is not configured.");const{orgId:a,pushNotifications:{vapidPublicKey:c,appId:d}={vapidPublicKey:void 0,appId:void 0}}=n||{},l=e(Q(a)+".pushNotifications.");return Hd({config:{vapidPublicKey:c,appId:d},storage:l.persistent,logger:r,sendEdgeNetworkRequest:s,consent:o,eventManager:t,identity:i,window:window})},optionsValidator:Rt({}).noUnknownFields()}}});Jd.namespace="Push Notifications",Jd.configValidators=Rt({pushNotifications:Rt({vapidPublicKey:Tt().required(),appId:Tt().required(),trackingDatasetId:Tt().required()}).noUnknownFields()});const Xd=1e4,Gd=({loggingCookieJar:e,config:t})=>{if(!1===t.conversation.stickyConversationSession)return qe();const n=K(t.orgId,"bc_session_id"),r=e.get(n);return r||qe()};var Qd=({eventManager:e,config:t,logger:n,sendConversationServiceRequest:r,buildEndpointUrl:o,cookieTransfer:i,createResponse:a,decodeKndctrCookie:s,lifecycle:c,consent:d,session:l})=>{const{edgeDomain:u,edgeBasePath:p,datastreamId:g,onBeforeEventSend:m,conversation:f}=t;return h=>{let y=!1;const{message:v,onStreamResponse:w,xdm:I,data:b,voiceEnabled:E=!1}=h,C=In(),k=(({payload:e,action:t="conversations",sessionId:n,voiceEnabled:r=!1})=>hn({payload:e,edgeSubPath:r?"/brand-concierge-voice":"/brand-concierge",requestParams:{sessionId:n},getAction:()=>t,getUseSendBeacon:()=>!1}))({payload:C,sessionId:l.id,voiceEnabled:E}),S=e.createEvent();if(v||b){const e=(()=>{const e=(({window:e})=>()=>e.location)({window:window});return ei(e)})();S.mergeQuery({conversation:{surfaces:[e],message:v,data:b}})}const{state:P}=d.current();S.mergeMeta({consent:{state:P}});const D=s();S.mergeXdm({identityMap:{ECID:[{id:D}]}}),S.mergeXdm({...I}),(v||b)&&(y=!0);const R=o({edgeDomain:u,edgeBasePath:p,datastreamId:g,request:k});return c.onBeforeEvent({event:S}).then(()=>{try{S.finalize(m)}catch(e){throw w({error:e}),e}return C.addEvent(S),!0===t.conversation.stickyConversationSession&&i.cookiesToPayload(C,u),r({requestId:qe(),url:R,request:k,onStreamResponse:w,streamingEnabled:y}).then(e=>{if(204===e.status)return;const t=(({onStreamResponseCallback:e,streamTimeout:t})=>{let n,r=!1;const o=()=>{clearTimeout(n),n=setTimeout(()=>{r=!0,e({error:{message:"Stream timeout: No data received within "+t/1e3+" seconds"}})},t)};return o(),{onEvent:t=>{r||(o(),e(t))},onPing:()=>{r||o()},onComplete:()=>{clearTimeout(n)}}})({onStreamResponseCallback:e=>{if(e.error)return n.error("Stream error occurred",e.error),void w({error:e.error});const t=e.data.replace("data: ",""),r=JSON.parse(t),o=a({content:r});i.responseToCookies(o),n.info("onStreamResponse callback called with",o.getPayloadsByType("brand-concierge:conversation")),w(o.getPayloadsByType("brand-concierge:conversation"))},streamTimeout:f.streamTimeout}),r=(()=>{const e=/\r\n|\r|\n/,t=/\r\n\r\n|\n\n|\r\r/,n=e=>e.trim().startsWith(": ping"),r=t=>{const n=t.split(e),r={};for(const e of n){const t=e.trim();if(!t)continue;const n=t.indexOf(":");if(-1===n)continue;const o=t.substring(0,n).trim(),i=t.substring(n+1).trim();"data"===o?r.data=(r.data||"")+i:"event"===o?r.type=i:"id"===o&&(r.id=i)}return r.data?r:null};return async(e,{onEvent:o,onPing:i,onComplete:a})=>{const s=e.getReader(),c=new TextDecoder("utf-8");let d="";try{for(;;){const{done:e,value:a}=await s.read();if(e)break;d+=c.decode(a,{stream:!0});const l=d.split(t);d=l.pop()||"";for(const e of l){const t=e.trim();if(!t)continue;if(n(t)){i();continue}const a=r(t);null!==a&&o(a)}}const e=d.trim();if(!e)return void a();if(n(e))return i(),void a();const l=r(e);null!==l&&o(l),a()}catch(e){o({error:e}),a()}finally{s.releaseLock()}}})();r(e.body,t)})})}},Kd=Rt({conversation:Rt({stickyConversationSession:Ct().default(!1),streamTimeout:Pt().integer().minimum(Xd).default(Xd),collectSources:Ct().default(!1)}).default({stickyConversationSession:!1,streamTimeout:Xd,collectSources:!1})});const Wd=({loggingCookieJar:e,logger:t,eventManager:n,consent:r,instanceName:o,sendEdgeNetworkRequest:i,config:a,lifecycle:s,cookieTransfer:c,createResponse:d})=>{const{fetch:l}=window,u={id:Gd({loggingCookieJar:e,config:a})},p=(({queryString:e})=>({edgeDomain:t,request:n,datastreamId:r})=>{const o=n.getRequestParams(),i=n.getDatastreamIdOverride()||r;o.requestId=n.getId(),o.configId=i;const a=e.stringify({...o});return"https://"+t+n.getEdgeSubPath()+"/"+n.getAction()+"?"+a})({queryString:Ee}),g=(({logger:e,fetch:t})=>async({requestId:n,url:r,request:o,streamingEnabled:i=!0})=>{const a=o.getPayload(),s=JSON.stringify(a),c=JSON.parse(s),d={"Content-Type":"text/plain"};d.Accept=i?"text/event-stream":"text/plain",e.logOnBeforeNetworkRequest({url:r,requestId:n,payload:c});const l=async(o=1)=>{const i=[2e3,3e3,5e3];try{const e=await t(r,{method:"POST",headers:d,body:s});if(!e.ok)throw new Error("Request failed with status "+e.status);return e}catch(t){if(o<4){const a=i[o-1];return e.logOnNetworkError({requestId:n,url:r,payload:c,error:new Error("Attempt "+o+" failed, retrying in "+a+"ms: "+t.message)}),await new Promise(e=>setTimeout(e,a)),l(o+1)}throw e.logOnNetworkError({requestId:n,url:r,payload:c,error:t}),De({error:t,message:"Network request failed after all retries."})}};return(async()=>l())()})({logger:t,fetch:l,config:a}),m=Ft({orgId:a.orgId,cookieJar:e,logger:t}),f=Qd({logger:t,eventManager:n,consent:r,config:a,buildEndpointUrl:p,lifecycle:s,cookieTransfer:c,createResponse:d,sendConversationServiceRequest:g,decodeKndctrCookie:m,session:u});return{lifecycle:{onBeforeEvent({event:e}){if(a.conversation.collectSources){const t=Ee.parse(window.location.search).adobe_brand_concierge_source;t&&e.mergeXdm({channel:{referringSource:t}})}}},commands:{sendConversationEvent:{optionsValidator:e=>(({options:e})=>It([Rt({message:Tt().required(),onStreamResponse:kt().default(fe),voiceEnabled:Ct().default(!1)}),Rt({xdm:Rt({interactionId:Tt(),conversationId:Tt(),conversation:Rt({feedback:Rt({classification:Tt(),comment:Tt(),reasons:Et(Tt())})})}),voiceEnabled:Ct().default(!1)}).required(),Rt({data:Rt({type:Tt().required(),payload:Rt({})}).required(),onStreamResponse:kt().default(fe),voiceEnabled:Ct().default(!1)})])(e))({options:e}),run:f}}}};Wd.namespace="BrandConcierge",Wd.configValidators=Kd;var Yd=Object.freeze({__proto__:null,activityCollector:Qr,advertising:Ud,audiences:Yr,brandConcierge:Wd,consent:io,eventMerge:so,mediaAnalyticsBridge:Uo,personalization:Os,pushNotifications:Jd,rulesEngine:Qc,streamingMedia:Yc});const{console:$d}=window,Zd=de(window),el=(e={})=>{const t=Rt({name:Tt().default("alloy"),monitors:Et(Rt({})).default([]),components:Et(kt())}).noUnknownFields(),{name:n,monitors:r,components:o}=t(e),i=xt({console:$d,locationSearch:window.location.search,createLogger:gn,instanceName:n,createNamespacedStorage:Zd,getMonitors:An.bind(null,r)}),a=Cr({instanceName:n,logController:i,components:o});return i.logger.logOnInstanceCreated({instance:a}),a};(({components:e})=>{const t=window.__alloyNS;if(t)for(const n of t){const t=el({name:n,components:e}),r=e=>{const[n,r,[o,i]]=e;return t(o,i).then(n,r)},o=window[n].q;o.push=r,o.forEach(r)}})({components:Object.values(Yd)})}();
15
+ function o(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)e[r]=n[r]}return e}var i=function e(t,n){function r(e,r,i){if("undefined"!=typeof document){"number"==typeof(i=o({},n,i)).expires&&(i.expires=new Date(Date.now()+864e5*i.expires)),i.expires&&(i.expires=i.expires.toUTCString()),e=encodeURIComponent(e).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var a="";for(var s in i)i[s]&&(a+="; "+s,!0!==i[s]&&(a+="="+i[s].split(";")[0]));return document.cookie=e+"="+t.write(r,e)+a}}return Object.create({set:r,get:function(e){if("undefined"!=typeof document&&(!arguments.length||e)){for(var n=document.cookie?document.cookie.split("; "):[],r={},o=0;o<n.length;o++){var i=n[o].split("="),a=i.slice(1).join("=");try{var s=decodeURIComponent(i[0]);if(r[s]=t.read(a,s),e===s)break}catch(e){}}return e?r[e]:r}},remove:function(e,t){r(e,"",o({},t,{expires:-1}))},withAttributes:function(t){return e(this.converter,o({},this.attributes,t))},withConverter:function(t){return e(o({},this.converter,t),this.attributes)}},{attributes:{value:Object.freeze(n)},converter:{value:Object.freeze(t)}})}({read:function(e){return'"'===e[0]&&(e=e.slice(1,-1)),e.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(e){return encodeURIComponent(e).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}},{path:"/"}),a={get:i.get.bind(i),set:i.set.bind(i),remove:i.remove.bind(i),withConverter:i.withConverter.bind(i)};const s=["__proto__","constructor","prototype"],c=(e,n)=>{Object.keys(n).forEach(r=>{s.includes(r)||(t(e[r])&&t(n[r])?c(e[r],n[r]):e[r]=n[r])})};var d=(t,...n)=>{if(e(t))throw new TypeError('deepAssign "target" cannot be null or undefined');const r=Object(t);return n.forEach(e=>c(r,Object(e))),r},l=(e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);d(r,n)},u=()=>{const e=[];return{add(t){e.push(t)},call:(...t)=>Promise.all(e.map(e=>e(...t)))}},p=({logger:e,cookieJar:t})=>({...t,set:(n,r,o)=>(e.info("Setting cookie",{name:n,value:r,...o}),t.set(n,r,o))}),g=()=>{const e={};return e.promise=new Promise((t,n)=>{e.resolve=t,e.reject=n}),e};const m=(e,t)=>e===t;var f=(e,t)=>e.appendChild(t);var h=(e,n={},r={},o=[],i=document)=>{const a=i.createElement(e);return Object.keys(n).forEach(e=>{a.setAttribute(e,n[e])}),((e,n)=>{Object.keys(n).forEach(r=>{if("style"===r&&t(n[r])){const t=n[r];Object.keys(t).forEach(n=>{e.style[n]=t[n]})}else e[r]=n[r]})})(a,r),o.forEach(e=>f(a,e)),a};const y="IMG",v="STYLE",w="SCRIPT";var I=({src:e,currentDocument:t=document})=>new Promise((n,r)=>{h(y,{src:e},{onload:n,onerror:r,onabort:r},[],t)}),b=e=>"function"==typeof e,E=e=>Array.isArray(e)&&e.length>0,C=e=>Array.isArray(e)?e:null==e?[]:[].slice.call(e);const k=/^\s*>/;var S=(e,t)=>k.test(t)?C(e.querySelectorAll(":scope "+t)):C(e.querySelectorAll(t)),P=":shadow";const D=(e,t)=>{const n=t;if(!n.startsWith(">"))return n;return(e instanceof Element||e instanceof Document?":scope":":host")+" "+n};var R=(e,t)=>{const n=(e=>e.split(P))(t);if(n.length<2)return S(e,t);let r=e;for(let e=0;e<n.length;e+=1){const t=n[e].trim();if(""===t&&r.shadowRoot){r=r.shadowRoot;continue}const o=D(r,t),i=S(r,o);if(0===i.length||!i[0]||!i[0].shadowRoot)return i;r=i[0].shadowRoot}},T=(e,t=document)=>-1===e.indexOf(P)?S(t,e):R(t,e);const O="MutationObserver",N={childList:!0,subtree:!0},M=e=>new Error("Could not find: "+e),A=e=>new Promise(e);var x=(e,t=T,n=5e3,r=window,o=document)=>{const i=t(e);return E(i)?Promise.resolve(i):(e=>b(e[O]))(r)?((e,t,n,r,o)=>A((i,a)=>{let s;const c=new e[O](()=>{const e=o(n);E(e)&&(c.disconnect(),s&&clearTimeout(s),i(e))});s=setTimeout(()=>{c.disconnect(),a(M(n))},r),c.observe(t,N)}))(r,o,e,n,t):(e=>"visible"===e.visibilityState)(o)?((e,t,n,r)=>A((o,i)=>{const a=()=>{const n=r(t);E(n)?o(n):e.requestAnimationFrame(a)};a(),setTimeout(()=>{i(M(t))},n)}))(r,e,n,t):((e,t,n)=>A((r,o)=>{const i=()=>{const t=n(e);E(t)?r(t):setTimeout(i,100)};i(),setTimeout(()=>{o(M(e))},t)}))(e,n,t)};let q;const L=(e=document)=>{if(void 0===q){const t=e.querySelector("[nonce]");q=t&&(t.nonce||t.getAttribute("nonce"))}return q},U=(e,t={})=>document.querySelector('script[src="'+e+'"]')?(t.onLoad&&t.onLoad(),Promise.resolve()):new Promise((n,r)=>{const{attributes:o={},onLoad:i,onError:a}=t,s=h("script",{type:"text/javascript",src:e,async:!0,...L()&&{nonce:L()},...o},{onload:()=>{i&&i(),n()},onerror:()=>{const t=new Error("Failed to load script: "+e);a&&a(t),r(t)}}),c=()=>{const e=document.head||document.body;if(e)f(e,s);else{const e=new Error("Neither <head> nor <body> available for script insertion.");a&&a(e),r(e)}};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",c):c()});var _=e=>{const t=e.parentNode;return t?t.removeChild(e):null};const j={name:"Adobe Alloy"},B={style:{display:"none",width:0,height:0}};var F=e=>t(e)&&0===Object.keys(e).length;const V=(n,r)=>e(n)||!t(n)?n:Object.keys(n).reduce((e,o)=>{const i=n[o];if(t(i)){const t=V(i,r);return F(t)?e:{...e,[o]:t}}return r(i,o)?{...e,[o]:i}:e},{}),H=e=>(e=>{let t=2166136261;const n=(new TextEncoder).encode(e);for(let e=0;e<n.length;e+=1)t^=n[e],t=Math.imul(t,16777619);return t>>>0})(e).toString(16).padStart(8,"0");var z="com.adobe.alloy.",J=(e,t)=>e.slice(-t);const X=z+"getTld";var G="kndctr",Q=e=>e.replace("@","_"),K=(e,t)=>G+"_"+Q(e)+"_"+t,W=(e,t)=>{const n={};return e.forEach(e=>{const r=t(e);n[r]||(n[r]=[]),n[r].push(e)}),n};const Y="Chrome",$="Edge",Z="EdgeChromium",ee="Firefox",te="IE",ne="Safari",re="Unknown";var oe=e=>{let t,n=!1;return()=>(n||(n=!0,t=e()),t)};const ie=[Y,$,Z,"IE",re];var ae=({getBrowser:e})=>oe(()=>ie.includes(e()));var se=({orgId:e})=>{const t=K(e,"identity");return()=>Boolean(a.get(t))};const ce=(e,t,n)=>({getItem(r){try{return e[t].getItem(n+r)}catch{return null}},setItem(r,o){try{return e[t].setItem(n+r,o),!0}catch{return!1}},clear(){try{return Object.keys(e[t]).forEach(r=>{r.startsWith(n)&&e[t].removeItem(r)}),!0}catch{return!1}}});var de=e=>t=>{const n=z+t;return{session:ce(e,"sessionStorage",n),persistent:ce(e,"localStorage",n)}},le=e=>"boolean"==typeof e,ue=e=>"number"==typeof e&&!Number.isNaN(e),pe=e=>{const t=parseInt(e,10);return ue(t)&&e===t},ge=e=>"string"==typeof e,me=e=>ge(e)&&e.length>0,fe=()=>{};const he=e=>{const t={},n=e.split(".");switch(n.length){case 1:t.subdomain="",t.domain=e,t.topLevelDomain="";break;case 2:t.subdomain="",t.domain=e,t.topLevelDomain=n[1];break;case 3:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2];break;case 4:t.subdomain="www"===n[0]?"":n[0],t.domain=e,t.topLevelDomain=n[2]+"."+n[3]}return t},ye=(e,t=he)=>{ge(e)||(e="");const n=(e=>{try{const t=new URL(e);let n=t.pathname;return e.endsWith("/")||"/"!==n||(n=""),{host:t.hostname,path:n,query:t.search.replace(/^\?/,""),anchor:t.hash.replace(/^#/,"")}}catch{return{host:"",path:"",query:"",anchor:""}}})(e),{host:r,path:o,query:i,anchor:a}=n;return{path:o,query:i,fragment:a,...t(r)}};var ve,we;function Ie(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var be=(we||(we=1,ve={parse:function(e){return function(e){var t={};if(!e||"string"!=typeof e)return t;var n=e.trim().replace(/^[?#&]/,""),r=new URLSearchParams(n),o=r.keys();do{var i=o.next(),a=i.value;if(a){var s=r.getAll(a);1===s.length?t[a]=s[0]:t[a]=s}}while(!1===i.done);return t}(e)},stringify:function(e){return function(e){var t="{{space}}",n=new URLSearchParams;return Object.keys(e).forEach(function(r){var o=e[r];"string"==typeof e[r]?o=o.replace(/ /g,t):["object","undefined"].includes(typeof o)&&!Array.isArray(o)&&(o=""),Array.isArray(o)?o.forEach(function(e){n.append(r,e)}):n.append(r,o)}),n.toString().replace(new RegExp(encodeURIComponent(t),"g"),"%20")}(e)}}),ve),Ee=Ie(be);const Ce=e=>Array.isArray(e)?e.map(e=>Ce(e)):"object"==typeof e&&null!==e?Object.keys(e).sort().reduce((t,n)=>(t[n]=Ce(e[n]),t),{}):e;var ke=e=>Ce(e),Se=e=>e instanceof Error?e:new Error(e),Pe=({error:e,message:t})=>{try{e.message=t}catch{}},De=({error:e,message:t})=>{const n=Se(e),r=t+"\nCaused by: "+n.message;return Pe({error:n,message:r}),n},Re=(e,t)=>{if(ue(e)||ge(e)){const t=Math.round(Number(e));if(!Number.isNaN(t))return t}return t};const Te=(e,t,n)=>(""+e).padStart(t,n);const Oe=[];for(let e=0;e<256;++e)Oe.push((e+256).toString(16).slice(1));let Ne;const Me=new Uint8Array(16);var Ae={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)};function xe(e,t,n){const r=(e=e||{}).random??e.rng?.()??function(){if(!Ne){if("undefined"==typeof crypto||!crypto.getRandomValues)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");Ne=crypto.getRandomValues.bind(crypto)}return Ne(Me)}();if(r.length<16)throw new Error("Random bytes length must be >= 16");if(r[6]=15&r[6]|64,r[8]=63&r[8]|128,t){if((n=n||0)<0||n+16>t.length)throw new RangeError("UUID byte range "+n+":"+(n+15)+" is out of buffer bounds");for(let e=0;e<16;++e)t[n+e]=r[e];return t}return function(e,t=0){return(Oe[e[t+0]]+Oe[e[t+1]]+Oe[e[t+2]]+Oe[e[t+3]]+"-"+Oe[e[t+4]]+Oe[e[t+5]]+"-"+Oe[e[t+6]]+Oe[e[t+7]]+"-"+Oe[e[t+8]]+Oe[e[t+9]]+"-"+Oe[e[t+10]]+Oe[e[t+11]]+Oe[e[t+12]]+Oe[e[t+13]]+Oe[e[t+14]]+Oe[e[t+15]]).toLowerCase()}(r)}function qe(e,t,n){return!Ae.randomUUID||t||e?xe(e,t,n):Ae.randomUUID()}const Le=e=>function(t,n){return null==t?t:e.call(this,t,n)},Ue=(e,t)=>function(n,r){return t.call(this,e.call(this,n,r),r)},_e=(e,t)=>function(n,r){const o=[],i=[e,t].reduce((e,t)=>{try{return t.call(this,e,r)}catch(t){return o.push(t),e}},n);if(o.length)throw new Error(o.join("\n"));return i},je=(e,t,n)=>Object.assign(Ue(e,t),e,n),Be=(e,t,n)=>Object.assign(Ue(e,Le(t)),e,n),Fe=(e,t,n,r)=>{if(!e)throw new Error("'"+n+"': Expected "+r+", but got "+JSON.stringify(t)+".")};var Ve=(e,t)=>(Fe(le(e),e,t,"true or false"),e),He=(e,t)=>(Fe(b(e),e,t,"a function"),e),ze=(e,t)=>function(n,r){let o;const i=e.find(e=>{try{return o=e.call(this,n,r),!0}catch{return!1}});return Fe(i,n,r,t),o},Je=e=>function(t,n){Fe(Array.isArray(t),t,n,"an array");const r=[],o=t.map((o,i)=>{try{return e.call(this,o,n+"["+i+"]",t)}catch(e){return void r.push(e.message)}});if(r.length)throw new Error(r.join("\n"));return o},Xe=(e="This field has been deprecated")=>function(t,n){let r=e;return void 0!==t&&(n&&(r="'"+n+"': "+r),this&&this.logger&&this.logger.warn(r)),t},Ge=e=>function(n,r){Fe(t(n),n,r,"an object");const o=[],i={};if(Object.keys(n).forEach(t=>{const a=n[t],s=r?r+"."+t:t;try{const n=e.call(this,a,s);void 0!==n&&(i[t]=n)}catch(e){o.push(e.message)}}),o.length)throw new Error(o.join("\n"));return i},Qe=(e,t)=>(n,r)=>(Fe(n>=t,n,r,e+" greater than or equal to "+t),n),Ke=e=>(n,r)=>(t(n)?Fe(!F(n),n,r,e):Fe(n.length>0,n,r,e),n),We=e=>function(n,r){Fe(t(n),n,r,"an object");const o=[],i={};if(Object.keys(e).forEach(t=>{const a=n[t],s=e[t],c=r?r+"."+t:t;try{const e=s.call(this,a,c);void 0!==e&&(i[t]=e)}catch(e){o.push(e.message)}}),Object.keys(n).forEach(e=>{Object.prototype.hasOwnProperty.call(i,e)||(i[e]=n[e])}),o.length)throw new Error(o.join("\n"));return i},Ye=(e,n,r)=>function(o,i){Fe(t(o),o,i,"an object");const{[e]:a,[r]:s,...c}=o,d=n(a,i);if(void 0!==d){let t="The field '"+e+"' is deprecated. Use '"+r+"' instead.";if(i&&(t="'"+i+"': "+t),void 0!==s&&s!==d)throw new Error(t);this&&this.logger&&this.logger.warn(t)}return{[r]:s||d,...c}},$e=()=>(e,t)=>(Fe((e=>{const t=Object.create(null);for(let n=0;n<e.length;n+=1){const r=e[n];if(r in t)return!1;t[r]=!0}return!0})(e),e,t,"array values to be unique"),e);const Ze=/^[a-z0-9.-]{1,}$/i;var et=(e,t)=>(Fe(Ze.test(e),e,t,"a valid domain"),e),tt=(e,t)=>(Fe(pe(e),e,t,"an integer"),e),nt=(e,t)=>(Fe(ue(e),e,t,"a number"),e),rt=(e,t)=>(Fe((e=>{try{return null!==RegExp(e)}catch{return!1}})(e),e,t,"a regular expression"),e),ot=(e,t)=>{if(null==e)throw new Error("'"+t+"' is a required option");return e},it=(e,t)=>(Fe(ge(e),e,t,"a string"),e);const at=e=>e;at.default=function(e){return je(this,(e=>t=>null==t?e:t)(e))},at.required=function(){return je(this,ot)},at.deprecated=function(e){return je(this,Xe(e))};const st=function(){return Be(this,et)},ct=function(e){return Be(this,Qe("an integer",e))},dt=function(e){return Be(this,Qe("a number",e))},lt=function(e){return Be(this,(t="a number",n=e,(e,r)=>(Fe(e<=n,e,r,t+" less than or equal to "+n),e)));var t,n},ut=function(){return Be(this,tt,{minimum:ct})},pt=function(){return Be(this,Ke("a non-empty string"))},gt=function(){return Be(this,Ke("a non-empty array"))},mt=function(){return Be(this,Ke("a non-empty object"))},ft=function(){return Be(this,rt)},ht=function(e){return Be(this,(e=>(t,n)=>(Fe(e.test(t),t,n,"does not match the "+e.toString()),t))(e))},yt=function(){return Be(this,(()=>{const e=[];return(t,n)=>(Fe(-1===e.indexOf(t),t,n,"a unique value across instances"),e.push(t),t)})())},vt=function(){return Be(this,$e())},wt=e=>({noUnknownFields:function(){return Be(this,(e=>(t,n)=>{const r=[];if(Object.keys(t).forEach(t=>{if(!e[t]){const e=n?n+"."+t:t;r.push("'"+e+"': Unknown field.")}}),r.length)throw new Error(r.join("\n"));return t})(e))},nonEmpty:mt,concat:function(t){const n={...e,...t.schema};return Be(this,t,wt(n))},renamed:function(e,t,n){return r=this,o=Ye(e,t,n),Object.assign(_e(Le(o),r),r,i);var r,o,i},schema:e}),It=function(e,t){return je(this,ze(e,t))}.bind(at),bt=function(){return this}.bind(at),Et=function(e){return Be(this,Je(e),{nonEmpty:gt,uniqueItems:vt})}.bind(at),Ct=function(){return Be(this,Ve)}.bind(at),kt=function(){return Be(this,He)}.bind(at),St=function(e){return Be(this,(e=>(t,n)=>(Fe(t===e,t,n,""+e),t))(e))}.bind(at),Pt=function(){return Be(this,nt,{minimum:dt,maximum:lt,integer:ut,unique:yt})}.bind(at),Dt=function(e){return Be(this,Ge(e),{nonEmpty:mt})}.bind(at),Rt=function(e){return Be(this,We(e),wt(e))}.bind(at),Tt=function(){return Be(this,it,{regexp:ft,domain:st,nonEmpty:pt,unique:yt,matches:ht})}.bind(at),Ot=function(...e){return It(e.map(St),"one of these values: "+JSON.stringify(e))};var Nt=Dt(Et(Rt({authenticatedState:Ot("ambiguous","authenticated","loggedOut"),id:Tt(),namespace:Rt({code:Tt()}).noUnknownFields(),primary:Ct(),xid:Tt()}).noUnknownFields()).required()),Mt=Rt({}),At="alloy_debug",xt=({console:e,locationSearch:t,createLogger:n,instanceName:r,createNamespacedStorage:o,getMonitors:i})=>{const a=Ee.parse(t),s=o("instance."+r+"."),c=s.session.getItem("debug");let d="true"===c,l=null===c;const u=()=>d,p=(e,{fromConfig:t})=>{t&&!l||(d=e),t||(s.session.setItem("debug",e.toString()),l=!1)};var g;return void 0!==a[At]&&p((g=a[At],ge(g)&&"true"===g.toLowerCase()),{fromConfig:!1}),{setDebugEnabled:p,logger:n({getDebugEnabled:u,context:{instanceName:r},getMonitors:i,console:e}),createComponentLogger:t=>n({getDebugEnabled:u,context:{instanceName:r,componentName:t},getMonitors:i,console:e})}};const qt=["onComponentsRegistered","onBeforeEvent","onBeforeRequest","onResponse","onRequestFailure","onClick","onDecision"];var Lt=e=>qt.reduce((t,n)=>{var r;return t[n]=(r=((e,t)=>(...n)=>Promise.all(e.getLifecycleCallbacks(t).map(e=>new Promise(t=>{t(e(...n))}))))(e,n),(...e)=>Promise.resolve().then(()=>r(...e))),t},{});const Ut=(e,t)=>(...n)=>{let r;try{r=e(...n)}catch(e){throw De({error:e,message:t})}return r instanceof Promise&&(r=r.catch(e=>{throw De({error:e,message:t})})),r};var _t=()=>{const e={},t={},n={};return{register(r,o){const{commands:i,lifecycle:a}=o;((e,n={})=>{const r=(o=Object.keys(t),i=Object.keys(n),o.filter(e=>i.includes(e)));var o,i;if(r.length)throw new Error("[ComponentRegistry] Could not register "+e+" because it has existing command(s): "+r.join(","));Object.keys(n).forEach(r=>{const o=n[r];o.commandName=r,o.run=Ut(o.run,"["+e+"] An error occurred while executing the "+r+" command."),t[r]=o})})(r,i),((e,t={})=>{Object.keys(t).forEach(r=>{n[r]=n[r]||[],n[r].push(Ut(t[r],"["+e+"] An error occurred while executing the "+r+" lifecycle hook."))})})(r,a),e[r]=o},getCommand:e=>t[e],getCommandNames:()=>Object.keys(t),getLifecycleCallbacks:e=>n[e]||[],getComponentNames:()=>Object.keys(e)}};const jt=(e,t)=>{let n,r=0,o=0;do{if(t<0||t+o>=e.length)throw new Error("Invalid varint: buffer ended unexpectedly");if(n=e[t+o],r|=(127&n)<<7*o,o+=1,o>10)throw new Error("Invalid varint: too long")}while(128&n);return{value:r,length:o}},Bt=Object.freeze({VARINT:0,I64:1,LEN:2,SGROUP:3,EGROUP:4,I32:5});var Ft=({orgId:e,cookieJar:t,logger:r})=>{const o=K(e,"identity");return()=>{const e=t.get(o);if(!e)return null;try{const t=decodeURIComponent(e).replace(/_/g,"/").replace(/-/g,"+");return(e=>{let t=0,n=null;for(;t<e.length&&!n;){const{value:r,length:o}=jt(e,t);t+=o;const i=7&r;if(1==r>>3){if(i===Bt.LEN){const r=jt(e,t);return t+=r.length,n=(new TextDecoder).decode(e.slice(t,t+r.value)),t+=r.value,n}}else switch(i){case Bt.VARINT:t+=jt(e,t).length;break;case Bt.I64:t+=8;break;case Bt.LEN:{const n=jt(e,t);t+=n.length+n.value;break}case Bt.SGROUP:case Bt.EGROUP:break;case Bt.I32:t+=4;break;default:throw new Error("Malformed kndctr cookie. Unknown wire type: "+i)}}throw new Error("No ECID found in cookie.")})(n(t))}catch(e){return r.warn("Unable to decode ECID from "+o+" cookie",e),null}}},Vt=({logger:e,loggingCookieJar:t,config:n})=>{let r=null;const o=new Promise(e=>{r=e}),i=Ft({orgId:n.orgId,cookieJar:t,logger:e});return{initialize(){i()&&this.setIdentityAcquired()},setIdentityAcquired(){r()},awaitIdentity:()=>o,getEcidFromCookie:()=>i()}};const Ht="in",zt="out",Jt="pending",Xt="disabled",Gt="wait",Qt="auto",Kt="general",Wt="declinedConsent",Yt="default",$t="initial",Zt="new",en=e=>{const t=new Error(e);return t.code=Wt,t.message=e,t};var tn=({logger:e})=>{const t=[],n=()=>Promise.resolve(),r=()=>Promise.resolve(),o=()=>Promise.reject(en("No consent preferences have been set.")),i=()=>Promise.reject(en("The user declined consent.")),a=e=>{if(e)return Promise.reject(new Error("Consent is pending."));const n=g();return t.push(n),n.promise};return{in(o){o===Yt?this.awaitConsent=n:(o===$t?e.info("Loaded user consent preferences. The user previously consented."):o===Zt&&this.awaitConsent!==r&&e.info("User consented."),(()=>{for(;t.length;)t.shift().resolve()})(),this.awaitConsent=r)},out(n){n===Yt?(e.warn("User consent preferences not found. Default consent of out will be used."),this.awaitConsent=o):(n===$t?e.warn("Loaded user consent preferences. The user previously declined consent."):n===Zt&&this.awaitConsent!==i&&e.warn("User declined consent."),(()=>{for(;t.length;)t.shift().reject(en("The user declined consent."))})(),this.awaitConsent=i)},pending(t){t===Yt&&e.info("User consent preferences not found. Default consent of pending will be used. Some commands may be delayed."),this.awaitConsent=a},awaitConsent:()=>Promise.resolve(),withConsent(){return this.awaitConsent(!0)},current(){switch(this.awaitConsent){case n:return{state:"in",wasSet:!1};case r:return{state:"in",wasSet:!0};case o:return{state:"out",wasSet:!1};case i:return{state:"out",wasSet:!0};case a:return{state:"pending",wasSet:!1};default:return{state:"in",wasSet:!1}}}}};const nn=e=>e&&e._experience&&e._experience.decisioning&&E(e._experience.decisioning.propositions)?e._experience.decisioning.propositions:[];var rn=()=>{const e={},t=Date.now();let n,r,o=!1,i=!1,a=!0;const s=e=>{if(i)throw new Error(e+" cannot be called after event is finalized.")},c={hasQuery(){return Object.prototype.hasOwnProperty.call(this.getContent(),"query")},getContent(){const t=JSON.parse(JSON.stringify(e));return n&&d(t,{xdm:n}),r&&d(t,{data:r}),t},setUserXdm(e){s("setUserXdm"),n=e},setUserData(e){s("setUserData"),r=e},mergeXdm(t){s("mergeXdm"),t&&d(e,{xdm:t})},mergeData(t){s("mergeData"),t&&d(e,{data:t})},mergeMeta(t){s("mergeMeta"),t&&d(e,{meta:t})},mergeQuery(t){s("mergeQuery"),t&&d(e,{query:t})},documentMayUnload(){o=!0},finalize(t){if(i)return;const o=((e,t=m)=>e.filter((n,r)=>((e,t,n)=>{for(let r=0;r<e.length;r+=1)if(n(e[r],t))return r;return-1})(e,n,t)===r))([...nn(n),...nn(e.xdm)],(e,t)=>e===t||e.id&&t.id&&e.id===t.id&&e.scope&&t.scope&&e.scope===t.scope);if(n&&this.mergeXdm(n),o.length>0&&(e.xdm._experience.decisioning.propositions=o),r&&c.mergeData(r),i=!0,t){a=!1;const n={xdm:e.xdm||{},data:e.data||{}},r=t(n);a=!1!==r,e.xdm=n.xdm||{},e.data=n.data||{},F(e.xdm)&&delete e.xdm,F(e.data)&&delete e.data}},getDocumentMayUnload:()=>o,getCreatedAt:()=>t,isEmpty:()=>F(e)&&(!n||F(n))&&(!r||F(r)),shouldSend:()=>a,getViewName(){if(n&&n.web&&n.web.webPageDetails)return n.web.webPageDetails.viewName},getUserIdentityMap:()=>n?.identityMap,toJSON(){if(!i)throw new Error("toJSON called before finalize");return e}};return c};const on="configure",an="setDebug";var sn=({logger:e,configureCommand:n,setDebugCommand:r,handleError:o,validateCommandOptions:i})=>{let a;return(s,c={})=>new Promise(t=>{const o=((t,o)=>{let s;if(t===on){if(a)throw new Error("The library has already been configured and may only be configured once.");s=()=>(a=n(o),a.then(()=>{}))}else{if(!a)throw new Error("The library must be configured first. Please do so by executing the configure command.");s=t===an?()=>{const e=Rt({enabled:Ct().required()}).noUnknownFields(),t=i({command:{commandName:an,optionsValidator:e},options:o});r(t)}:()=>a.then(e=>{const n=e.getCommand(t);if(!n||!b(n.run)){const n=[on,an].concat(e.getCommandNames()).join(", ");throw new Error("The "+t+" command does not exist. List of available commands: "+n+".")}const r=i({command:n,options:o});return n.run(r)},()=>(e.warn("An error during configuration is preventing the "+t+" command from executing."),new Promise(()=>{})))}return s})(s,c);e.logOnBeforeCommand({commandName:s,options:c}),t(o())}).catch(e=>o(e,s+" command")).catch(t=>{throw e.logOnCommandRejected({commandName:s,options:c,error:t}),t}).then(n=>{const r=t(n)?n:{};return e.logOnCommandResolved({commandName:s,options:c,result:r}),r})};const cn="https://adobe.ly/3sHgQHb";var dn=({command:e,options:t})=>{const{commandName:n,documentationUri:r=cn,optionsValidator:o}=e;let i=t;if(o)try{i=o(t)}catch(e){throw new Error("Invalid "+n+" command options:\n\t - "+e+" For command documentation see: "+r)}return i};var ln=({options:e,componentCreators:t,coreConfigValidators:n,createConfig:r,logger:o,setDebugEnabled:i})=>{const a=(e=>{const t=[],n={get enabled(){return e.enabled},flush(){t.forEach(({method:t,args:n})=>e[t](...n))}};return Object.keys(e).filter(t=>"function"==typeof e[t]).forEach(e=>{n[e]=(...n)=>{t.push({method:e,args:n})}}),n})(o),s=t.map(({configValidators:e})=>e).filter(e=>e).reduce((e,t)=>e.concat(t),n),c=r((({combinedConfigValidator:e,options:t,logger:n})=>{try{return e.noUnknownFields().required().call({logger:n},t)}catch(e){throw new Error("Resolve these configuration problems:\n\t - "+e.message.split("\n").join("\n\t - ")+"\nFor configuration documentation see: https://adobe.ly/3sHh553")}})({combinedConfigValidator:s,options:e,logger:a}));i(c.debugEnabled,{fromConfig:!0}),a.flush();const d=((e,t,n)=>n.reduce((n,{buildOnInstanceConfiguredExtraParams:r})=>(r&&(n={...n,...r({config:e,logger:t})}),n),{}))(c,o,t);return o.logOnInstanceConfigured({...d,config:c}),c};const un=e=>({...e});var pn=({errorPrefix:e,logger:t})=>(n,r)=>{const o=Se(n);if(o.code===Wt)return t.warn("The "+r+" could not fully complete. "+o.message),{};throw Pe({error:o,message:e+" "+o.message}),o},gn=({getDebugEnabled:e,console:t,getMonitors:n,context:r})=>{let o="["+r.instanceName+"]";r.componentName&&(o+=" ["+r.componentName+"]");const i=(e,t)=>{const o=n();if(o.length>0){const n={...r,...t};o.forEach(t=>{t[e]&&t[e](n)})}},a=(n,...r)=>{i("onBeforeLog",{level:n,arguments:r}),e()&&t[n](o,...r)};return{get enabled(){return n().length>0||e()},logOnInstanceCreated(e){i("onInstanceCreated",e),a("info","Instance initialized.")},logOnInstanceConfigured(e){i("onInstanceConfigured",e),a("info","Instance configured. Computed configuration:",e.config)},logOnBeforeCommand(e){i("onBeforeCommand",e),a("info","Executing "+e.commandName+" command. Options:",e.options)},logOnCommandResolved(e){i("onCommandResolved",e),a("info",e.commandName+" command resolved. Result:",e.result)},logOnCommandRejected(e){i("onCommandRejected",e),a("error",e.commandName+" command was rejected. Error:",e.error)},logOnBeforeNetworkRequest(e){i("onBeforeNetworkRequest",e),a("info","Request "+e.requestId+": Sending request.",e.payload)},logOnNetworkResponse(e){i("onNetworkResponse",e);const t=e.parsedBody||e.body?"response body:":"no response body.";a("info","Request "+e.requestId+": Received response with status code "+e.statusCode+" and "+t,e.parsedBody||e.body)},logOnNetworkError(e){i("onNetworkError",e),a("error","Request "+e.requestId+": Network request failed.",e.error)},logOnContentHiding(e){i("onContentHiding",{status:e.status}),a(e.logLevel,e.message)},logOnContentRendering(e){i("onContentRendering",{status:e.status,payload:e.detail}),a(e.logLevel,e.message)},info:a.bind(null,"info"),warn:a.bind(null,"warn"),error:a.bind(null,"error")}},mn="__view__",fn=e=>(t,n)=>{e.xdm=e.xdm||{},e.xdm.identityMap=e.xdm.identityMap||{},e.xdm.identityMap[t]=e.xdm.identityMap[t]||[],e.xdm.identityMap[t].push(n)},hn=e=>{const{payload:t,getAction:n,getUseSendBeacon:r,datastreamIdOverride:o,edgeSubPath:i,requestParams:a={}}=e,s=qe();let c=!1,d=!1;return{getId:()=>s,getPayload:()=>t,getAction:()=>n({isIdentityEstablished:d}),getDatastreamIdOverride:()=>o,getUseSendBeacon:()=>r({isIdentityEstablished:d}),getEdgeSubPath:()=>i||"",getUseIdThirdPartyDomain:()=>c,setUseIdThirdPartyDomain(){c=!0},setIsIdentityEstablished(){d=!0},getRequestParams:()=>a}},yn=({payload:e,datastreamIdOverride:t})=>{const n=({isIdentityEstablished:t})=>e.getDocumentMayUnload()&&t;return hn({payload:e,getAction:({isIdentityEstablished:e})=>n({isIdentityEstablished:e})?"collect":"interact",getUseSendBeacon:n,datastreamIdOverride:t})};var vn=t=>{const{content:n,addIdentity:r,hasIdentity:o}=t,i=((e,t)=>n=>{const r=t.split(".").reduce((e,t)=>(e[t]=e[t]||{},e[t]),e);Object.assign(r,n)})(n,"meta.configOverrides");return{mergeMeta:l(n,"meta"),mergeState:l(n,"meta.state"),mergeQuery:l(n,"query"),mergeConfigOverride:e=>i(e),finalizeConfigOverrides:()=>{if(n.meta?.configOverrides){const t=(t=>{if(e(t)||"object"!=typeof t)return null;const n=V(t,(t,n)=>!(e(t)||(!le(t)||"enabled"===n&&!1!==t)&&!ue(t)&&!me(t)&&!E(t)));return F(n)?null:n})(n.meta.configOverrides);null===t?delete n.meta.configOverrides:n.meta.configOverrides=t}},addIdentity:r,hasIdentity:o,toJSON:()=>n}},wn=e=>t=>void 0!==(e.xdm&&e.xdm.identityMap&&e.xdm.identityMap[t]),In=()=>{const e={};return{...vn({content:e,addIdentity:fn(e),hasIdentity:wn(e)}),addEvent:t=>{e.events=e.events||[],e.events.push(t)},getEvents:()=>e.events||[],getDocumentMayUnload:()=>(e.events||[]).some(e=>e.getDocumentMayUnload())}},bn=({localConfigOverrides:e,globalConfigOverrides:t,payload:n})=>{const r={payload:n},{datastreamId:o,...i}=e||{};return o&&(r.datastreamIdOverride=o),t&&!F(t)&&n.mergeConfigOverride(t),i&&!F(i)&&n.mergeConfigOverride(i),n.finalizeConfigOverrides(),r};const En="clientId";const Cn="Event was canceled because the onBeforeEventSend callback returned false.";var kn=({orgId:e,targetMigrationEnabled:t})=>n=>((e,t)=>0===t.indexOf(G+"_"+Q(e)+"_"))(e,n)||"at_qa_mode"===n||t&&"mbox"===n;var Sn=e=>((...e)=>e.length<2?Object.assign(...e):e.reduce((e,n)=>(t(n)&&Object.keys(n).forEach(t=>{Array.isArray(n[t])?Array.isArray(e[t])?e[t].push(...n[t]):e[t]=[...n[t]]:e[t]=n[t]}),e)))({},...e.shift()||[],...e.shift()||[],...e),Pn=e=>t=>{const n=()=>{throw t};return e.call({error:t}).then(n,n)};const Dn=e=>{if("function"!=typeof e.getEvents)return;const t=e.getEvents();if(0===t.length)return;const n=Math.min(...t.map(e=>e.getCreatedAt()));return r=Date.now()-n,o=0,i=3e5,Math.max(o,Math.min(r,i));var r,o,i};const Rn="The server responded with a";var Tn=({orgId:e,cookieJar:t})=>{const n=K(e,"cluster");return()=>t.get(n)||(()=>{const e=t.get("mboxEdgeCluster");if(e)return"t"+e})()};const On=[429,503,502,504];var Nn=({response:e,retriesAttempted:t})=>t<3&&On.includes(e.statusCode);var Mn=({response:e,retriesAttempted:t})=>{let n=(e=>{const t=e.getHeader("Retry-After");let n;if(t){const e=parseInt(t,10);n=pe(e)?1e3*e:Math.max(0,new Date(t).getTime()-(new Date).getTime())}return n})(e);return void 0===n&&(n=(e=>{const t=1e3+1e3*e,n=.3*t,r=t-n,o=t+n;return Math.round(r+Math.random()*(o-r))})(t)),n};var An=e=>{let t=window.__alloyMonitors||[];return e&&(t=t.concat(e)),t};var xn=e=>t=>{const n=e().toISOString();t.mergeXdm({timestamp:n})},qn="3.0.0-beta.3",Ln=[["architecture","string"],["bitness","string"],["model","string"],["platformVersion","string"],["wow64","boolean"]];const Un=new Set(["decisioning.propositionFetch","decisioning.propositionDisplay","decisioning.propositionInteract"]);const _n=(e=>t=>{t.mergeXdm({web:{webPageDetails:{URL:e.location.href||e.location},webReferrer:{URL:e.document.referrer}}})})(window),jn=(e=>t=>{const{screen:{width:n,height:r}}=e,o={},i=Re(r);i>=0&&(o.screenHeight=i);const a=Re(n);a>=0&&(o.screenWidth=a);const s=(e=>{const{screen:{orientation:t}}=e;if(null==t||null==t.type)return null;const n=t.type.split("-");return 0===n.length||"portrait"!==n[0]&&"landscape"!==n[0]?null:n[0]})(e)||(e=>{if(b(e.matchMedia)){if(e.matchMedia("(orientation: portrait)").matches)return"portrait";if(e.matchMedia("(orientation: landscape)").matches)return"landscape"}return null})(e);s&&(o.screenOrientation=s),Object.keys(o).length>0&&t.mergeXdm({device:o})})(window),Bn=(e=>t=>{const{document:{documentElement:{clientWidth:n,clientHeight:r}={}}}=e,o={type:"browser"},i=Re(n);i>=0&&(o.browserDetails={viewportWidth:i});const a=Re(r);a>=0&&(o.browserDetails=o.browserDetails||{},o.browserDetails.viewportHeight=a),t.mergeXdm({environment:o})})(window),Fn=(Vn=()=>new Date,e=>{const t=Vn(),n={},r=Re(t.getTimezoneOffset());void 0!==r&&(n.localTimezoneOffset=r),(void 0===r||Math.abs(r)<6e3)&&(n.localTime=(e=>{const t=e.getFullYear(),n=Te(e.getMonth()+1,2,"0"),r=Te(e.getDate(),2,"0"),o=Te(e.getHours(),2,"0"),i=Te(e.getMinutes(),2,"0"),a=Te(e.getSeconds(),2,"0"),s=Te(e.getMilliseconds(),3,"0"),c=Re(e.getTimezoneOffset(),0);return t+"-"+n+"-"+r+"T"+o+":"+i+":"+a+"."+s+(c>0?"-":"+")+Te(Math.floor(Math.abs(c)/60),2,"0")+":"+Te(Math.abs(c)%60,2,"0")})(t));const o=Intl.DateTimeFormat().resolvedOptions().timeZone;o&&(n.ianaTimezone=o),e.mergeXdm({placeContext:n})});var Vn;const Hn=xn(()=>new Date),zn={web:_n,device:jn,environment:Bn,placeContext:Fn},Jn={highEntropyUserAgentHints:(e=>(e=>"userAgentData"in e)(e)?(t,n)=>{try{return e.userAgentData.getHighEntropyValues(Ln.map(e=>e[0])).then(e=>{const n={};Ln.forEach(([t,r])=>{Object.prototype.hasOwnProperty.call(e,t)&&typeof e[t]===r&&(n[t]=e[t])}),t.mergeXdm({environment:{browserDetails:{userAgentClientHints:n}}})})}catch(e){return n.warn("Unable to collect user-agent client hints. "+e.message),fe}}:fe)(navigator),oneTimeAnalyticsReferrer:(e=>{let t=null;return n=>{const r=n.getContent(),o=r.xdm?.eventType;if(Un.has(o))return;const i=r.data?.__adobe?.analytics?.referrer,a=void 0!==i?i:e.document.referrer;a!==t?(n.mergeData({__adobe:{analytics:{referrer:a}}}),t=a):n.mergeData({__adobe:{analytics:{referrer:""}}})}})(window)},Xn={...zn,...Jn},Gn=[Hn,e=>{e.mergeXdm({implementationDetails:{name:"https://ns.adobe.com/experience/alloy",version:qn,environment:"browser"}})}],Qn=({config:e,logger:t})=>((e,t,n,r)=>{const o=e.context.flatMap((e,r)=>n[e]?[n[e]]:(t.warn("Invalid context["+r+"]: '"+e+"' is not available."),[])).concat(r);return{namespace:"Context",lifecycle:{onBeforeEvent:({event:e})=>Promise.all(o.map(n=>Promise.resolve(n(e,t))))}}})(e,t,Xn,Gn);Qn.namespace="Context",Qn.configValidators=Rt({context:Et(Tt()).default(Object.keys(zn))});const Kn=({eventManager:e,logger:t})=>({commands:{sendEvent:{documentationUri:"https://adobe.ly/3GQ3Q7t",optionsValidator:e=>(({options:e})=>Rt({type:Tt(),xdm:Rt({eventType:Tt(),identityMap:Nt}),data:Rt({}),documentUnloading:Ct(),renderDecisions:Ct(),decisionScopes:Et(Tt()).uniqueItems(),personalization:Rt({decisionScopes:Et(Tt()).uniqueItems(),surfaces:Et(Tt()).uniqueItems(),sendDisplayEvent:Ct().default(!0),includeRenderedPropositions:Ct().default(!1),defaultPersonalizationEnabled:Ct(),decisionContext:Rt({})}).default({sendDisplayEvent:!0}),datasetId:Tt(),mergeId:Tt(),edgeConfigOverrides:Mt,advertising:Rt({handleAdvertisingData:Ot(Xt,Gt,Qt).default(Xt)})}).required().noUnknownFields()(e))({options:e}),run:n=>{const{xdm:r,data:o,documentUnloading:i,type:a,mergeId:s,datasetId:c,edgeConfigOverrides:l,...u}=n,p=e.createEvent();return i&&p.documentMayUnload(),p.setUserXdm(r),p.setUserData(o),a&&p.mergeXdm({eventType:a}),s&&p.mergeXdm({eventMergeId:s}),l&&(u.edgeConfigOverrides=l),c&&(t.warn("The 'datasetId' option has been deprecated. Please use 'edgeConfigOverrides.com_adobe_experience_platform.datasets.event.datasetId' instead."),u.edgeConfigOverrides=l||{},d(u.edgeConfigOverrides,{com_adobe_experience_platform:{datasets:{event:{datasetId:c}}}})),e.sendEvent(p,u)}},applyResponse:{documentationUri:"",optionsValidator:e=>(({options:e})=>Rt({renderDecisions:Ct(),responseHeaders:Dt(Tt().required()),responseBody:Rt({handle:Et(Rt({type:Tt().required(),payload:bt().required()})).required()}).required(),personalization:Rt({sendDisplayEvent:Ct().default(!0),decisionContext:Rt({})}).default({sendDisplayEvent:!0})}).noUnknownFields()(e))({options:e}),run:t=>{const{renderDecisions:n=!1,decisionContext:r={},responseHeaders:o={},responseBody:i={handle:[]},personalization:a}=t,s=e.createEvent();return e.applyResponse(s,{renderDecisions:n,decisionContext:r,responseHeaders:o,responseBody:i,personalization:a})}}}});Kn.namespace="DataCollector";const Wn=(e,t)=>"ID sync "+(t?"succeeded":"failed")+": "+e.spec.url;const Yn=Rt({thirdPartyCookiesEnabled:Ct().default(!0),idMigrationEnabled:Ct().default(!0)});var $n=Rt({url:Tt().required().nonEmpty(),edgeConfigOverrides:Mt}).required().noUnknownFields(),Zn="ECID",er=({logger:e})=>new Promise((n,r)=>{if(t(window.adobe)&&t(window.adobe.optIn)){const t=window.adobe.optIn;e.info("Delaying request while waiting for legacy opt-in to let Visitor retrieve ECID from server."),t.fetchPermissions(()=>{t.isApproved([t.Categories.ECID])?(e.info("Received legacy opt-in approval to let Visitor retrieve ECID from server."),n()):r(new Error("Legacy opt-in was declined."))},!0)}else n()}),tr=({logger:e,orgId:t,awaitVisitorOptIn:n})=>()=>{const r=(e=>{const t=e.Visitor;return b(t)&&b(t.getInstance)&&t})(window);return r?n({logger:e}).then(()=>(e.info("Delaying request while using Visitor to retrieve ECID from server."),new Promise(n=>{r.getInstance(t,{}).getMarketingCloudVisitorID(t=>{e.info("Resuming previously delayed request that was waiting for ECID from Visitor."),n(t)},!0)}))).catch(t=>{t?e.info(t.message+", retrieving ECID from experience edge"):e.info("An error occurred while obtaining the ECID from Visitor.")}):Promise.resolve()},nr="CORE",rr=e=>{try{return decodeURIComponent(e)}catch{return""}};var or=(e,t)=>{e.addIdentity(Zn,{id:t})},ir=e=>e.getPayloadsByType("identity:result").reduce((e,t)=>(t.namespace&&t.namespace.code&&(e[t.namespace.code]=t.id),e),{}),ar=({payload:e,datastreamIdOverride:t})=>hn({payload:e,datastreamIdOverride:t,getAction:()=>"identity/acquire",getUseSendBeacon:()=>!1}),sr=e=>{const t={query:{identity:{fetch:e}}};return vn({content:t,addIdentity:fn(t),hasIdentity:wn(t)})};const cr=/^([^?#]*)(\??[^#]*)(#?.*)$/;const dr=Rt({namespaces:Et(Ot(Zn,nr)).nonEmpty().uniqueItems().default([Zn]),edgeConfigOverrides:Mt}).noUnknownFields().default({namespaces:[Zn]});const lr=({config:e,logger:t,consent:n,fireReferrerHideableImage:r,sendEdgeNetworkRequest:o,apexDomain:i,getBrowser:s,identity:c})=>{const{orgId:d,thirdPartyCookiesEnabled:l,edgeConfigOverrides:u}=e,g=(({config:e,getEcidFromVisitor:t,apexDomain:n,isPageSsl:r,cookieJar:o})=>{const{idMigrationEnabled:i,orgId:a}=e,s="AMCV_"+a,c=()=>{let e=null;const t=o.get("s_ecid")||o.get(s);if(t){const n=/(^|\|)MCMID\|(\d+)($|\|)/,r=t.match(n);r&&(e=r[2])}return e};return{getEcid(){if(i){const e=c();return e?Promise.resolve(e):t()}return Promise.resolve()},setEcid(e){if(i&&c()!==e){const t=r?{sameSite:"none",secure:!0}:{};o.set(s,"MCMID|"+e,{domain:n,expires:390,...t})}}}})({config:e,getEcidFromVisitor:tr({logger:t,orgId:d,awaitVisitorOptIn:er}),apexDomain:i,cookieJar:p({logger:t,cookieJar:a}),isPageSsl:"https:"===window.location.protocol}),m=se({orgId:d}),f=(({sendEdgeNetworkRequest:e,createIdentityRequestPayload:t,createIdentityRequest:n,globalConfigOverrides:r})=>({namespaces:o,edgeConfigOverrides:i}={})=>{const a=bn({payload:t(o),globalConfigOverrides:r,localConfigOverrides:i}),s=n(a);return e({request:s})})({sendEdgeNetworkRequest:o,createIdentityRequestPayload:sr,createIdentityRequest:ar,globalConfigOverrides:u}),h=ae({getBrowser:s}),y=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>n=>{e&&t()&&n.setUseIdThirdPartyDomain()})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h}),v=(({getLegacyEcid:e,addEcidToPayload:t})=>n=>n.hasIdentity(Zn)?Promise.resolve():e().then(e=>{e&&t(n,e)}))({getLegacyEcid:g.getEcid,addEcidToPayload:or}),w=(({locationSearch:e,dateProvider:t,orgId:n,logger:r})=>o=>{if(o.hasIdentity(Zn))return;let i=Ee.parse(e).adobe_mc;if(void 0===i)return;Array.isArray(i)&&(r.warn("Found multiple adobe_mc query string paramters, only using the last one."),i=i[i.length-1]);const a=i.split("|").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=rr(r),e[n]=e[n].replace(/[^a-zA-Z0-9@.]/g,""),e},{}),s=parseInt(a.TS,10),c=a.MCMID,d=rr(a.MCORGID);t().getTime()/1e3<=s+300&&d===n&&c?(r.info("Found valid ECID identity "+c+" from the adobe_mc query string parameter."),o.addIdentity(Zn,{id:c})):r.info("Detected invalid or expired adobe_mc query string parameter.")})({locationSearch:window.document.location.search,dateProvider:()=>new Date,orgId:d,logger:t}),I=(({doesIdentityCookieExist:e,orgId:t,logger:n})=>({onResponse:r,onRequestFailure:o})=>new Promise((i,a)=>{r(()=>{e()?i():(n.warn("Identity cookie not found. This could be caused by any of the following issues:\n\t* The org ID "+t+" configured in Alloy doesn't match the org ID specified in the edge configuration.\n\t* Experience edge was not able to set the identity cookie due to domain or cookie restrictions.\n\t* The request was canceled by the browser and not fully processed."),a(new Error("Identity cookie not found.")))}),o(()=>{e()?i():a(new Error("Identity cookie not found."))})}))({doesIdentityCookieExist:m,orgId:d,logger:t}),b=(({doesIdentityCookieExist:e,setDomainForInitialIdentityPayload:t,addLegacyEcidToPayload:n,awaitIdentityCookie:r,logger:o})=>{let i;const a=e=>(t(e),n(e.getPayload()));return({request:t,onResponse:n,onRequestFailure:s})=>{if(e())return t.setIsIdentityEstablished(),Promise.resolve();if(i){o.info("Delaying request while retrieving ECID from server.");const e=i;return i=e.catch(()=>r({onResponse:n,onRequestFailure:s})),i.catch(()=>{}),e.then(()=>{o.info("Resuming previously delayed request."),t.setIsIdentityEstablished()}).catch(()=>a(t))}return i=r({onResponse:n,onRequestFailure:s}),i.catch(()=>{}),a(t)}})({doesIdentityCookieExist:m,setDomainForInitialIdentityPayload:y,addLegacyEcidToPayload:v,awaitIdentityCookie:I,logger:t}),E=(({fireReferrerHideableImage:e,logger:t})=>n=>{const r=n.filter(e=>"url"===e.type);return r.length?Promise.all(r.map(n=>e(n.spec).then(()=>{t.info(Wn(n,!0))}).catch(()=>{t.error(Wn(n,!1))}))).then(fe):Promise.resolve()})({fireReferrerHideableImage:r,logger:t}),C=(({processIdSyncs:e})=>t=>e(t.getPayloadsByType("identity:exchange")))({processIdSyncs:E}),k=(({dateProvider:e,orgId:t})=>(n,r)=>{const o=Math.round(e().getTime()/1e3),i=encodeURIComponent("TS="+o+"|MCMID="+n+"|MCORGID="+encodeURIComponent(t)),[,a,s,c]=r.match(cr),d=(e=>""===e?"?":"?"===e?"":"&")(s);return""+a+s+d+"adobe_mc="+i+c})({dateProvider:()=>new Date,orgId:d}),S=(({thirdPartyCookiesEnabled:e})=>t=>{const n=dr(t);if(!e&&n.namespaces.includes(nr))throw new Error("namespaces: The CORE namespace cannot be requested when third-party cookies are disabled.");return n})({thirdPartyCookiesEnabled:l}),P=(({thirdPartyCookiesEnabled:e,areThirdPartyCookiesSupportedByDefault:t})=>{const n={identity:{fetch:[Zn]}};return e&&t()&&n.identity.fetch.push(nr),e=>{e.mergeQuery(n)}})({thirdPartyCookiesEnabled:l,areThirdPartyCookiesSupportedByDefault:h});return(({addEcidQueryToPayload:e,addQueryStringIdentityToPayload:t,ensureSingleIdentity:n,setLegacyEcid:r,handleResponseForIdSyncs:o,getNamespacesFromResponse:i,getIdentity:a,consent:s,appendIdentityToUrl:c,logger:d,identity:l,getIdentityOptionsValidator:u})=>{let p,g={};return{lifecycle:{onBeforeRequest:({request:r,onResponse:o,onRequestFailure:i})=>(e(r.getPayload()),t(r.getPayload()),n({request:r,onResponse:o,onRequestFailure:i})),onResponse({response:e}){const t=i(e);return p&&p[Zn]||!t||!t[Zn]||r(t[Zn]),t&&Object.keys(t).length>0&&(p={...p,...t}),g={...g,...e.getEdge()},l.setIdentityAcquired(),o(e)}},commands:{getIdentity:{optionsValidator:u,run:e=>{const{namespaces:t}=e;return s.awaitConsent().then(()=>{if(p)return;const n=l.getEcidFromCookie();return n&&t.includes(Zn)&&(p||(p={}),p[Zn]=n,1===t.length)?void 0:a(e)}).then(()=>({identity:t.reduce((e,t)=>(e[t]=p[t]||null,e),{}),edge:g}))}},appendIdentityToUrl:{optionsValidator:$n,run:e=>s.withConsent().then(()=>{if(p)return;const t=l.getEcidFromCookie();return t?(p||(p={}),void(p[Zn]=t)):a(e)}).then(()=>({url:c(p[Zn],e.url)})).catch(t=>(d.warn("Unable to append identity to url. "+t.message),e))}}}})({addEcidQueryToPayload:P,addQueryStringIdentityToPayload:w,ensureSingleIdentity:b,setLegacyEcid:g.setEcid,handleResponseForIdSyncs:C,getNamespacesFromResponse:ir,getIdentity:f,consent:n,identity:c,appendIdentityToUrl:k,logger:t,getIdentityOptionsValidator:S})};lr.namespace="Identity",lr.configValidators=Yn;const ur=({config:e,componentRegistry:t})=>{const n=[...t.getCommandNames(),on,an].sort(),r={...e};Object.keys(e).forEach(t=>{const n=e[t];"function"==typeof n&&(r[t]=n.toString())});const o=t.getComponentNames();return{version:qn,configs:r,commands:n,components:o}},pr=({config:e,componentRegistry:t})=>({commands:{getLibraryInfo:{run:()=>({libraryInfo:ur({config:e,componentRegistry:t})})}}});pr.namespace="LibraryInfo";var gr=Object.freeze({__proto__:null,context:Qn,dataCollector:Kn,identity:lr,libraryInfo:pr});const mr=de(window),{fetch:fr,navigator:hr}=window,yr=Rt({debugEnabled:Ct().default(!1),datastreamId:Tt().unique().required(),edgeDomain:Tt().domain().default("edge.adobedc.net"),edgeBasePath:Tt().nonEmpty().default("ee"),orgId:Tt().unique().required(),onBeforeEventSend:kt().default(fe),edgeConfigOverrides:Mt}).renamed("edgeConfigId",Tt().unique(),"datastreamId"),vr=((e,t)=>{let n="";const r=e.location.hostname.toLowerCase().split(".");let o=1;for(;o<r.length&&!t.get(X);)o+=1,n=J(r,o).join("."),t.set(X,X,{domain:n});return t.remove(X,{domain:n}),n})(window,a),wr=(({fetch:e})=>(t,n)=>e(t,{method:"POST",cache:"no-cache",credentials:"include",headers:{"Content-Type":"text/plain; charset=UTF-8"},referrerPolicy:"no-referrer-when-downgrade",body:n}).then(e=>e.text().then(t=>({statusCode:e.status,getHeader:t=>e.headers.get(t),body:t}))))({fetch:fr}),Ir=(({appendNode:e=f,awaitSelector:t=x,createNode:n=h,fireImage:r=I}={})=>{const o=r;let i;const a=({src:o})=>t("BODY").then(([t])=>i||(i=n("IFRAME",j,B),e(t,i))).then(e=>{const t=e.contentWindow.document;return r({src:o,currentDocument:t})});return e=>{const{hideReferrer:t,url:n}=e;return t?a({src:n}):o({src:n})}})(),br=(({window:e,createNamespacedStorage:t})=>{const n=t("validation.");return()=>{const t=Ee.parse(e.location.search).adb_validation_sessionid;if(!t)return"";const r=(e=>{let t=e.persistent.getItem(En);return t||(t=qe(),e.persistent.setItem(En,t)),t})(n),o=t+"|"+r;return"&"+Ee.stringify({adobeAepValidationToken:o})}})({window:window,createNamespacedStorage:mr}),Er=(({userAgent:e})=>oe(()=>((e,t)=>{const n=Object.keys(e);for(let r=0;r<n.length;r+=1){const o=n[r];if(e[o].test(t))return o}return re})({[$]:/Edge\/([0-9\._]+)/,[Z]:/Edg\/([0-9\.]+)/,[Y]:/(?!Chrom.*OPR)Chrom(?:e|ium)\/([0-9\.]+)(:?\s|$)/,[ee]:/Firefox\/([0-9\.]+)(?:\s|$)/,[te]:/Trident\/7\.0.*rv\:([0-9\.]+).*\).*Gecko$/,[ne]:/Version\/([0-9\._]+).*Safari/},e)))({userAgent:window.navigator.userAgent}),Cr=({instanceName:e,logController:{setDebugEnabled:t,logger:n,createComponentLogger:r},components:o})=>{const i=_t(),s=Lt(i),c=o.concat(Object.values(gr)),d=p({logger:n,cookieJar:a}),l=pn({errorPrefix:"["+e+"]",logger:n}),g=sn({logger:n,configureCommand:o=>{const l=ln({options:o,componentCreators:c,coreConfigValidators:yr,createConfig:un,logger:n,setDebugEnabled:t}),{orgId:p,targetMigrationEnabled:g}=l,m=kn({orgId:p,targetMigrationEnabled:g}),f=(({cookieJar:e,shouldTransferCookie:t,apexDomain:n,dateProvider:r})=>({cookiesToPayload(r,o){const i=""!==n&&o.endsWith(n),a={domain:n,cookiesEnabled:!0};if(!i){const n=e.get(),r=Object.keys(n).filter(t).map(e=>({key:e,value:n[e]}));r.length&&(a.entries=r)}r.mergeState(a)},responseToCookies(t){t.getPayloadsByType("state:store").forEach(t=>{const o={domain:n},i=t.attrs&&t.attrs.SameSite&&t.attrs.SameSite.toLowerCase();void 0!==t.maxAge&&(o.expires=new Date(r().getTime()+1e3*t.maxAge)),void 0!==i&&(o.sameSite=i),"none"===i&&(o.secure=!0),e.set(t.key,t.value,o)})}}))({cookieJar:d,shouldTransferCookie:m,apexDomain:vr,dateProvider:()=>new Date}),h=b(hr.sendBeacon)?(({sendBeacon:e,sendFetchRequest:t,logger:n})=>(r,o)=>{const i=new Blob([o],{type:"text/plain; charset=UTF-8"});return e(r,i)?Promise.resolve({statusCode:204,getHeader:()=>null,body:""}):(n.info("Unable to use `sendBeacon`; falling back to `fetch`."),t(r,o))})({sendBeacon:hr.sendBeacon.bind(hr),sendFetchRequest:wr,logger:n}):wr,y=(({logger:e,sendFetchRequest:t,sendBeaconRequest:n,isRequestRetryable:r,getRequestRetryDelay:o})=>({requestId:i,url:a,payload:s,useSendBeacon:c})=>{const d=JSON.stringify(s),l=JSON.parse(d);e.logOnBeforeNetworkRequest({url:a,requestId:i,payload:l});const u=(s=0)=>(c?n:t)(a,d).then(t=>{if(r({response:t,retriesAttempted:s})){const e=o({response:t,retriesAttempted:s});return new Promise(t=>{setTimeout(()=>{t(u(s+1))},e)})}let n;try{n=JSON.parse(t.body)}catch{}return e.logOnNetworkResponse({requestId:i,url:a,payload:l,...t,parsedBody:n,retriesAttempted:s}),{statusCode:t.statusCode,body:t.body,parsedBody:n,getHeader:t.getHeader}});return u().catch(t=>{throw e.logOnNetworkError({requestId:i,url:a,payload:l,error:t}),De({error:t,message:"Network request failed."})})})({logger:n,sendFetchRequest:wr,sendBeaconRequest:h,isRequestRetryable:Nn,getRequestRetryDelay:Mn}),v=(({logger:e})=>t=>{const{statusCode:n,body:r,parsedBody:o}=t;if(n<200||n>=300||!o&&204!==n||o&&!Array.isArray(o.handle)){const e=o?JSON.stringify(o,null,2):r;throw new Error(Rn+" status code "+n+" and "+(e?"response body:\n"+e:"no response body."))}if(o){const{warnings:t=[],errors:n=[]}=o;t.forEach(t=>{e.warn(Rn+" warning:",t)}),n.forEach(t=>{e.error(Rn+" non-fatal error:",t)})}})({logger:n}),w=(({logger:e})=>t=>{if(t){const n=t.split(";");if(n.length>=2&&n[1].length>0)try{const e=parseInt(n[1],10);if(!Number.isNaN(e))return{regionId:e}}catch{}e.warn('Invalid adobe edge: "'+t+'"')}return{}})({logger:n}),I=(({extractEdgeInfo:e})=>({content:t={},getHeader:n})=>{const{handle:r=[],errors:o=[],warnings:i=[]}=t;return{getPayloadsByType:e=>r.filter(t=>t.type===e).flatMap(e=>e.payload),getErrors:()=>o,getWarnings:()=>i,getEdge:()=>e(n("x-adobe-edge")),toJSON:()=>t}})({extractEdgeInfo:w}),E=Tn({orgId:p,cookieJar:a}),C=(({config:e,lifecycle:t,cookieTransfer:n,sendNetworkRequest:r,createResponse:o,processWarningsAndErrors:i,getLocationHint:a,getAssuranceValidationTokenParams:s})=>{const{edgeDomain:c,edgeBasePath:d,datastreamId:l}=e;let p=!1;const g=(e,t)=>{const n=a(),r=n?d+"/"+n+t.getEdgeSubPath():""+d+t.getEdgeSubPath(),o=t.getDatastreamIdOverride()||l;return o!==l&&t.getPayload().mergeMeta({sdkConfig:{datastream:{original:l}}}),"https://"+e+"/"+r+"/v1/"+t.getAction()+"?configId="+o+"&requestId="+t.getId()+s()};return({request:e,runOnResponseCallbacks:a=fe,runOnRequestFailureCallbacks:s=fe})=>{const d=u();d.add(t.onResponse),d.add(a);const l=u();return l.add(t.onRequestFailure),l.add(s),t.onBeforeRequest({request:e,onResponse:d.add,onRequestFailure:l.add}).then(()=>{const t=p||!e.getUseIdThirdPartyDomain()?c:"adobedc.demdex.net",o=g(t,e),i=e.getPayload(),a=Dn(i);return void 0!==a&&i.mergeMeta({queueTimeMillis:a}),n.cookiesToPayload(i,t),r({requestId:e.getId(),url:o,payload:i,useSendBeacon:e.getUseSendBeacon()})}).then(e=>(i(e),e)).catch(t=>{if(((e,t)=>t.getUseIdThirdPartyDomain()&&(e=>"TypeError"===e.name||"NetworkError"===e.name||0===e.status)(e))(t,e)){p=!0,e.setUseIdThirdPartyDomain(!1);const t=g(c,e),o=e.getPayload();return n.cookiesToPayload(o,c),r({requestId:e.getId(),url:t,payload:o,useSendBeacon:e.getUseSendBeacon()})}return Pn(l)(t)}).then(({parsedBody:e,getHeader:t})=>{const r=o({content:e,getHeader:t});return n.responseToCookies(r),d.call({response:r}).then(Sn)})}})({config:l,lifecycle:s,cookieTransfer:f,sendNetworkRequest:y,createResponse:I,processWarningsAndErrors:v,getLocationHint:E,getAssuranceValidationTokenParams:br}),k=(({cookieTransfer:e,lifecycle:t,createResponse:n,processWarningsAndErrors:r})=>({request:o,responseHeaders:i,responseBody:a,runOnResponseCallbacks:s=fe,runOnRequestFailureCallbacks:c=fe})=>{const d=u();d.add(t.onResponse),d.add(s);const l=u();l.add(t.onRequestFailure),l.add(c);const p=e=>i[e];return t.onBeforeRequest({request:o,onResponse:d.add,onRequestFailure:l.add}).then(()=>r({statusCode:200,getHeader:p,body:JSON.stringify(a),parsedBody:a})).catch(Pn(l)).then(()=>{const t=n({content:a,getHeader:p});return e.responseToCookies(t),d.call({response:t}).then(Sn)})})({lifecycle:s,cookieTransfer:f,createResponse:I,processWarningsAndErrors:v}),S=(({generalConsentState:e,logger:t})=>{const n=(n,r)=>{switch(n[Kt]){case Ht:e.in(r);break;case zt:e.out(r);break;case Jt:e.pending(r);break;default:t.warn("Unknown consent value: "+n[Kt])}};return{initializeConsent(e,t){t[Kt]?n(t,$t):n(e,Yt)},setConsent(e){n(e,Zt)},suspend(){e.pending()},awaitConsent:()=>e.awaitConsent(),withConsent:()=>e.withConsent(),current:()=>e.current()}})({generalConsentState:tn({logger:n}),logger:n}),P=Vt({config:l,logger:n,loggingCookieJar:d});P.initialize();const D=(({config:e,logger:t,lifecycle:n,consent:r,createEvent:o,createDataCollectionRequestPayload:i,createDataCollectionRequest:a,sendEdgeNetworkRequest:s,applyResponse:c})=>{const{onBeforeEventSend:d,edgeConfigOverrides:l}=e;return{createEvent:o,sendEvent(e,o={}){const{edgeConfigOverrides:c,...p}=o,g=bn({payload:i(),localConfigOverrides:c,globalConfigOverrides:l}),m=a(g),f=u(),h=u();return n.onBeforeEvent({...p,event:e,onResponse:f.add,onRequestFailure:h.add}).then(()=>(g.payload.addEvent(e),r.awaitConsent())).then(()=>{try{e.finalize(d)}catch(e){const t=()=>{throw e};return h.add(n.onRequestFailure),h.call({error:e}).then(t,t)}if(!e.shouldSend()){h.add(n.onRequestFailure),t.info(Cn);const e=new Error(Cn);return h.call({error:e}).then(()=>{})}return s({request:m,runOnResponseCallbacks:f.call,runOnRequestFailureCallbacks:h.call})})},applyResponse(e,t={}){const{renderDecisions:r=!1,decisionContext:o={},responseHeaders:s={},responseBody:d={handle:[]},personalization:l}=t,p=i(),g=a({payload:p}),m=u();return n.onBeforeEvent({event:e,renderDecisions:r,decisionContext:o,decisionScopes:[mn],personalization:l,onResponse:m.add,onRequestFailure:fe}).then(()=>(p.addEvent(e),c({request:g,responseHeaders:s,responseBody:d,runOnResponseCallbacks:m.call})))}}})({config:l,logger:n,lifecycle:s,consent:S,createEvent:rn,createDataCollectionRequestPayload:In,createDataCollectionRequest:yn,sendEdgeNetworkRequest:C,applyResponse:k});return(({componentCreators:e,lifecycle:t,componentRegistry:n,getImmediatelyAvailableTools:r})=>(e.forEach(e=>{const{namespace:t}=e,o=r(t);let i;try{i=e(o)}catch(e){throw De({error:e,message:"["+t+"] An error occurred during component creation."})}n.register(t,i)}),t.onComponentsRegistered({lifecycle:t}).then(()=>n)))({componentCreators:c,lifecycle:s,componentRegistry:i,getImmediatelyAvailableTools(t){const n=r(t);return{loggingCookieJar:d,instanceName:e,config:l,componentRegistry:i,consent:S,identity:P,eventManager:D,fireReferrerHideableImage:Ir,logger:n,lifecycle:s,sendEdgeNetworkRequest:C,handleError:pn({errorPrefix:"["+e+"] ["+t+"]",logger:n}),createNamespacedStorage:mr,apexDomain:vr,getBrowser:Er,cookieTransfer:f,createResponse:I}}})},setDebugCommand:e=>{t(e.enabled,{fromConfig:!1})},handleError:l,validateCommandOptions:dn});return g};var kr=({eventManager:e,lifecycle:t,handleError:n})=>{const r=(({eventManager:e,lifecycle:t,handleError:n})=>r=>{if(r.s_fe)return Promise.resolve();const o="composedPath"in r&&r.composedPath().length>0?r.composedPath()[0]:r.target,i=e.createEvent();return i.documentMayUnload(),t.onClick({event:i,clickedElement:o}).then(()=>i.isEmpty()?Promise.resolve():e.sendEvent(i)).then(fe).catch(e=>{n(e,"click collection")})})({eventManager:e,lifecycle:t,handleError:n});document.addEventListener("click",r,!0)};const Sr="\\.(exe|zip|wav|mp3|mov|mpg|avi|wmv|pdf|doc|docx|xls|xlsx|ppt|pptx)$",Pr=Tt().regexp().default(Sr),Dr=Rt({clickCollectionEnabled:Ct().default(!0),clickCollection:Rt({internalLinkEnabled:Ct().default(!0),externalLinkEnabled:Ct().default(!0),downloadLinkEnabled:Ct().default(!0),sessionStorageEnabled:Ct().default(!1),eventGroupingEnabled:Ct().default(!1),filterClickProperties:kt()}).default({internalLinkEnabled:!0,externalLinkEnabled:!0,downloadLinkEnabled:!0,sessionStorageEnabled:!1,eventGroupingEnabled:!1}),downloadLinkQualifier:Pr,onBeforeLinkClickSend:kt().deprecated('The field "onBeforeLinkClickSend" has been deprecated. Use "clickCollection.filterClickDetails" instead.')});var Rr=(e=document)=>null!==e.getElementById("cppXYctnr"),Tr=e=>{let t=e;/^https?:\/\//i.test(t)||(t=window.location.protocol+"//"+e);return new URL(t).hostname};var Or=({config:e,logger:t,getClickedElementProperties:n,clickActivityStorage:r})=>{const{clickCollectionEnabled:o,clickCollection:i}=e;return o?({event:o,clickedElement:a})=>{const s=n({clickActivityStorage:r,clickedElement:a,config:e,logger:t}),c=s.linkType;var d,l;Rr()||(s.isValidLink()&&((e,t)=>t&&("download"===t&&!e.downloadLinkEnabled||"exit"===t&&!e.externalLinkEnabled||"other"===t&&!e.internalLinkEnabled))(i,c)?t.info("Cancelling link click event due to clickCollection."+c+"LinkEnabled = false."):s.isInternalLink()&&i.eventGroupingEnabled&&(!e.onBeforeLinkClickSend||i.filterClickDetails)&&(d=window.location.hostname,l=s.linkUrl,Tr(d)===Tr(l))?r.save(s.properties):s.isValidLink()?(o.mergeXdm(s.xdm),o.mergeData(s.data),r.save({pageName:s.pageName,pageIDType:s.pageIDType})):s.isValidActivityMapData()&&r.save(s.properties))}:()=>{}};var Nr=({properties:e,logger:t}={})=>{let n=e||{};return{get pageName(){return n.pageName},set pageName(e){n.pageName=e},get linkName(){return n.linkName},set linkName(e){n.linkName=e},get linkRegion(){return n.linkRegion},set linkRegion(e){n.linkRegion=e},get linkType(){return n.linkType},set linkType(e){n.linkType=e},get linkUrl(){return n.linkUrl},set linkUrl(e){n.linkUrl=e},get pageIDType(){return n.pageIDType},set pageIDType(e){n.pageIDType=e},get clickedElement(){return n.clickedElement},set clickedElement(e){n.clickedElement=e},get properties(){return{pageName:n.pageName,linkName:n.linkName,linkRegion:n.linkRegion,linkType:n.linkType,linkUrl:n.linkUrl,pageIDType:n.pageIDType}},isValidLink:()=>!!(n.linkUrl&&n.linkType&&n.linkName&&n.linkRegion),isInternalLink(){return this.isValidLink()&&"other"===n.linkType},isValidActivityMapData:()=>!!n.pageName&&!!n.linkName&&!!n.linkRegion&&void 0!==n.pageIDType,get xdm(){return n.filteredXdm?n.filteredXdm:(e=>({eventType:"web.webinteraction.linkClicks",web:{webInteraction:{name:e.linkName,region:e.linkRegion,type:e.linkType,URL:e.linkUrl,linkClicks:{value:1}}}}))(this)},get data(){return n.filteredData?n.filteredData:(e=>({__adobe:{analytics:{contextData:{a:{activitymap:{page:e.pageName,link:e.linkName,region:e.linkRegion,pageIDType:e.pageIDType}}}}}}))(this)},applyPropertyFilter(e){e&&!1===e(n)&&(t&&t.info("Clicked element properties were rejected by filter function: "+JSON.stringify(this.properties,null,2)),n={})},applyOptionsFilter(e){const r=this.options;if(r&&r.clickedElement&&(r.xdm||r.data)){if(e&&!1===e(r))return t&&t.info("Clicked element properties were rejected by filter function: "+JSON.stringify(this.properties,null,2)),void(this.options=void 0);this.options=r,n.filteredXdm=r.xdm,n.filteredData=r.data}},get options(){const e={};if(this.isValidLink()&&(e.xdm=this.xdm),this.isValidActivityMapData()&&(e.data=this.data),this.clickedElement&&(e.clickedElement=this.clickedElement),e.xdm||e.data)return e},set options(e){n={},e&&((e,t)=>{const{xdm:n,data:r,clickedElement:o}=e;if(t.clickedElement=o,n&&n.web&&n.web.webInteraction){const{name:e,region:r,type:o,URL:i}=n.web.webInteraction;t.linkName=e,t.linkRegion=r,t.linkType=o,t.linkUrl=i}if(r&&r.__adobe&&r.__adobe.analytics){const{contextData:e}=r.__adobe.analytics;if(e&&e.a&&e.a.activitymap){const{page:n,link:r,region:o,pageIDType:i}=e.a.activitymap;t.pageName=n||t.pageName,t.linkName=r||t.linkName,t.linkRegion=o||t.linkRegion,void 0!==i&&(t.pageIDType=i)}}})(e,n)}}};const Mr="clickData";var Ar=e=>e&&e.replace(/\s+/g," ").trim();const xr=/^(SCRIPT|STYLE|LINK|CANVAS|NOSCRIPT|#COMMENT)$/i;const qr=e=>{let t=[],n=!1;if((e=>!(e&&e.nodeName&&e.nodeName.match(xr)))(e)){if(t.push(e),e.childNodes){Array.prototype.slice.call(e.childNodes).forEach(e=>{const r=qr(e);t=t.concat(r.supportedNodes),n=n||r.includesUnsupportedNodes})}}else n=!0;return{supportedNodes:t,includesUnsupportedNodes:n}},Lr=(e,t,n)=>{let r;return n&&n!==e.nodeName.toUpperCase()||(r=e.getAttribute(t)),r};const Ur=/^(HEADER|MAIN|FOOTER|NAV)$/i,_r=e=>{let t;return"region"===e.role&&me(e["aria-label"])&&(t=e["aria-label"]),t},jr=e=>{let t;return e&&e.nodeName&&e.nodeName.match(Ur)&&(t=e.nodeName),t};var Br=e=>!(!e.href||"A"!==e.tagName&&"AREA"!==e.tagName||e.onclick&&e.protocol&&!(e.protocol.toLowerCase().indexOf("javascript")<0)),Fr=e=>!!e&&!!e.onclick,Vr=e=>{if("INPUT"===e.tagName){const t=e.getAttribute("type");if("submit"===t)return!0;if("image"===t&&e.src)return!0}return!1},Hr=e=>"BUTTON"===e.tagName&&"submit"===e.type,zr=e=>{const t=e.indexOf("?"),n=e.indexOf("#");return t>=0&&(t<n||n<0)?e.substring(0,t):n>=0?e.substring(0,n):e};const Jr=(({window:e,getLinkName:t,getLinkRegion:n,getAbsoluteUrlFromAnchorElement:r,findClickableElement:o,determineLinkType:i})=>({clickedElement:a,config:s,logger:c,clickActivityStorage:d})=>{const{onBeforeLinkClickSend:l,clickCollection:u}=s,{filterClickDetails:p}=u,g=Nr({logger:c});if(a){const c=o(a);if(c){g.clickedElement=a,g.linkUrl=r(e,c),g.linkType=i(e,s,g.linkUrl,c),g.linkRegion=n(c),g.linkName=t(c),g.pageIDType=0,g.pageName=e.location.href;const o=d.load();o&&o.pageName&&(g.pageName=o.pageName,g.pageIDType=1),p?g.applyPropertyFilter(p):l&&g.applyOptionsFilter(l)}}return g})({window:window,getLinkName:e=>{let t=Ar(e.innerText||e.textContent);const n=qr(e);if(!t||n.includesUnsupportedNodes){const e=(e=>{const t={texts:[]};return e.supportedNodes.forEach(e=>{e.getAttribute&&(t.alt||(t.alt=Ar(e.getAttribute("alt"))),t.title||(t.title=Ar(e.getAttribute("title"))),t.inputValue||(t.inputValue=Ar(Lr(e,"value","INPUT"))),t.imgSrc||(t.imgSrc=Ar(Lr(e,"src","IMG"))),t.ariaLabel||(t.ariaLabel=Ar(e.getAttribute("aria-label"))),t.name||(t.name=Ar(e.getAttribute("name")))),e.nodeValue&&t.texts.push(e.nodeValue)}),t})(n);t=Ar(e.texts.join("")),t||(t=e.alt||e.title||e.inputValue||e.imgSrc||e.ariaLabel||e.name)}return t||""},getLinkRegion:e=>{let t,n=e.parentNode;for(;n;){if(t=Ar(n.id||_r(n)||jr(n)),t)return t;n=n.parentNode}return"BODY"},getAbsoluteUrlFromAnchorElement:(e,t)=>{const n=e.location.href;let r=t.href||"";"string"!=typeof r&&(r="");try{return new URL(r,n).href}catch{return n}},findClickableElement:e=>{let t=e;for(;t&&(!t.nodeName||"BODY"!==t.nodeName);){if(Br(t)||Fr(t)||Vr(t)||Hr(t))return t;t=t.parentNode}return null},determineLinkType:(e,t,n,r)=>{let o="other";return me(n)&&(((e,t,n)=>{let r=!1;if(t)if(n&&n.download)r=!0;else if(e){const n=new RegExp(e),o=zr(t).toLowerCase();r=n.test(o)}return r})(t.downloadLinkQualifier,n,r)?o="download":((e,t)=>{let n=!1;if(t&&e.location.hostname){const r=e.location.hostname.toLowerCase();n=zr(t).toLowerCase().indexOf(r)<0}return n})(e,n)&&(o="exit")),o}});let Xr;const Gr=e=>{if(!Xr){const t=de(window)(e.orgId||""),n=(()=>{const e={};return{getItem:t=>e[t],setItem:(t,n)=>{e[t]=n},removeItem:t=>{delete e[t]}}})(),r=e.clickCollection.sessionStorageEnabled?t.session:n;Xr=(({storage:e})=>({save:t=>{const n=JSON.stringify(t);e.setItem(Mr,n)},load:()=>{let t=null;const n=e.getItem(Mr);return n&&(t=JSON.parse(n)),t},remove:()=>{e.removeItem(Mr)}}))({storage:r})}},Qr=({config:e,eventManager:t,handleError:n,logger:r})=>{((e,t)=>{const{clickCollectionEnabled:n,onBeforeLinkClickSend:r,downloadLinkQualifier:o}=e;!1===n&&(r&&t.warn("The 'onBeforeLinkClickSend' configuration was provided but will be ignored because clickCollectionEnabled is false."),o&&o!==Sr&&t.warn("The 'downloadLinkQualifier' configuration was provided but will be ignored because clickCollectionEnabled is false."))})(e,r);const o=e.clickCollection;Xr||Gr(e);const i=Or({config:e,logger:r,clickActivityStorage:Xr,getClickedElementProperties:Jr}),a=(({clickActivityStorage:e})=>t=>{if(Rr())return;const n=e.load(),r=Nr({properties:n});if(r.isValidLink()||r.isValidActivityMapData()){if(r.isValidLink()){const e=r.xdm;delete e.eventType,t.mergeXdm(e)}r.isValidActivityMapData()&&t.mergeData(r.data),e.save({pageName:r.pageName,pageIDType:r.pageIDType})}})({clickActivityStorage:Xr}),s=(({clickActivityStorage:e})=>t=>{e.save({pageName:t.getContent().xdm.web.webPageDetails.name,pageIDType:1})})({clickActivityStorage:Xr});return{lifecycle:{onComponentsRegistered(e){const{lifecycle:r}=e;kr({eventManager:t,lifecycle:r,handleError:n})},onClick({event:e,clickedElement:t}){i({event:e,clickedElement:t})},onBeforeEvent({event:e}){(e=>{const t=e.getContent();return void 0!==t.xdm&&void 0!==t.xdm.web&&void 0!==t.xdm.web.webPageDetails&&void 0!==t.xdm.web.webPageDetails.name})(e)&&(o.eventGroupingEnabled&&a(e),s(e,r,Xr))}}}};Qr.namespace="ActivityCollector",Qr.configValidators=Dr,Qr.buildOnInstanceConfiguredExtraParams=({config:e,logger:t})=>(Xr||Gr(e),{getLinkDetails:n=>Jr({clickActivityStorage:Xr,clickedElement:n,config:e,logger:t}).properties});var Kr=({fireReferrerHideableImage:e,logger:t,cookieJar:n,isPageSsl:r})=>{const o=r?{sameSite:"none",secure:!0}:{};return r=>((e=>{e.filter(e=>"cookie"===e.type).forEach(e=>{const{name:t,value:r,domain:i,ttlDays:a}=e.spec;n.set(t,r||"",{domain:i||"",expires:a||10,...o})})})(r),(n=>{const r=n.filter(e=>"url"===e.type);return Promise.all(r.map(n=>e(n.spec).then(()=>{t.info((e=>"URL destination succeeded: "+e.spec.url)(n))}).catch(()=>{}))).then(fe)})(r))},Wr=({processDestinations:e})=>({response:t})=>(({response:t})=>{const n=t.getPayloadsByType("activation:push");return e(n)})({response:t}).then(()=>(({response:e})=>({destinations:e.getPayloadsByType("activation:pull")}))({response:t}));const Yr=({logger:e,fireReferrerHideableImage:t})=>{const n=a.withConverter({write:e=>encodeURIComponent(e)}),r=p({logger:e,cookieJar:n}),o=Kr({fireReferrerHideableImage:t,logger:e,cookieJar:r,isPageSsl:"https:"===window.location.protocol});return{lifecycle:{onResponse:Wr({processDestinations:o})},commands:{}}};Yr.namespace="Audiences";const $r=({standard:e,version:t})=>e+"."+t;var Zr=({storage:e})=>({clear(){e.clear()},lookup(t){const n={},r=e=>{const t=$r(e),{standard:r,version:o,...i}=e;var a;return n[t]||(n[t]=(a=i,H(JSON.stringify(ke(a)))).toString()),n[t]};return{isNew:()=>t.some(t=>{const n=$r(t),o=e.getItem(n);return null===o||o!==r(t)}),save(){t.forEach(t=>{const n=$r(t);e.setItem(n,r(t))})}}}}),eo=()=>{const e={};return{...vn({content:e,addIdentity:(t,n)=>{e.identityMap=e.identityMap||{},e.identityMap[t]=e.identityMap[t]||[],e.identityMap[t].push(n)},hasIdentity:t=>void 0!==(e.identityMap&&e.identityMap[t])}),setConsent:t=>{e.consent=t}}},to=({payload:e,datastreamIdOverride:t})=>hn({payload:e,datastreamIdOverride:t,getAction:()=>"privacy/set-consent",getUseSendBeacon:()=>!1}),no=e=>e.split(";").reduce((e,t)=>{const[n,r]=t.split("=");return e[n]=r,e},{}),ro=Rt({consent:Et(bt()).required().nonEmpty(),identityMap:Nt,edgeConfigOverrides:Mt}).noUnknownFields().required(),oo=Rt({defaultConsent:Ot(Ht,zt,Jt).default(Ht)});const io=({config:e,consent:n,sendEdgeNetworkRequest:r,createNamespacedStorage:o})=>{const{orgId:i,defaultConsent:s}=e,c=(({parseConsentCookie:e,orgId:t,cookieJar:n})=>{const r=K(t,"consent");return{read(){const t=n.get(r);return t?e(t):{}},clear(){n.remove(r)}}})({parseConsentCookie:no,orgId:i,cookieJar:a}),d=(()=>{let e=0,t=Promise.resolve();return{addTask(n){e+=1;const r=()=>n().finally(()=>{e-=1});return t=t.then(r,r),t},get length(){return e}}})(),l=(({createConsentRequestPayload:e,createConsentRequest:n,sendEdgeNetworkRequest:r,edgeConfigOverrides:o})=>({consentOptions:i,identityMap:a,edgeConfigOverrides:s})=>{const c=bn({payload:e(),globalConfigOverrides:o,localConfigOverrides:s});c.payload.setConsent(i),t(a)&&Object.keys(a).forEach(e=>{a[e].forEach(t=>{c.payload.addIdentity(e,t)})});const d=n(c);return r({request:d}).then(()=>{})})({createConsentRequestPayload:eo,createConsentRequest:to,sendEdgeNetworkRequest:r,edgeConfigOverrides:e.edgeConfigOverrides}),u=o(Q(i)+".consentHashes."),p=Zr({storage:u.persistent}),g=se({orgId:i});return(({storedConsent:e,taskQueue:t,defaultConsent:n,consent:r,sendSetConsentRequest:o,validateSetConsentOptions:i,consentHashStore:a,doesIdentityCookieExist:s})=>{const c={[Kt]:n};let d=e.read();const l=s(),u=void 0!==d[Kt];l&&u||a.clear(),l||(e.clear(),d={}),r.initializeConsent(c,d);const p=()=>{if(0===t.length){const t=e.read();void 0!==t[Kt]&&r.setConsent(t)}};return{commands:{setConsent:{optionsValidator:i,run:({consent:e,identityMap:n,edgeConfigOverrides:i})=>{r.suspend();const s=a.lookup(e);return t.addTask(()=>s.isNew()?o({consentOptions:e,identityMap:n,edgeConfigOverrides:i}):Promise.resolve()).then(()=>s.save()).finally(p)}}},lifecycle:{onResponse:p,onRequestFailure:p}}})({storedConsent:c,taskQueue:d,defaultConsent:s,consent:n,sendSetConsentRequest:l,validateSetConsentOptions:ro,consentHashStore:p,doesIdentityCookieExist:g})};io.namespace="Consent",io.configValidators=oo;var ao=()=>({eventMergeId:qe()});const so=()=>(({createEventMergeId:e})=>({commands:{createEventMergeId:{run:e}}}))({createEventMergeId:ao});so.namespace="EventMerge";var co={PAUSE:"media.pauseStart",PLAY:"media.play",BUFFER_START:"media.bufferStart",AD_START:"media.adStart",Ad_BREAK_START:"media.adBreakStart",SESSION_END:"media.sessionEnd",SESSION_START:"media.sessionStart",SESSION_COMPLETE:"media.sessionComplete",PING:"media.ping",AD_BREAK_COMPLETE:"media.adBreakComplete",AD_COMPLETE:"media.adComplete",AD_SKIP:"media.adSkip",BITRATE_CHANGE:"media.bitrateChange",CHAPTER_COMPLETE:"media.chapterComplete",CHAPTER_SKIP:"media.chapterSkip",CHAPTER_START:"media.chapterStart",ERROR:"media.error",STATES_UPDATE:"media.statesUpdate"},lo=({config:e,eventManager:t,consent:n,sendEdgeNetworkRequest:r,setTimestamp:o})=>({createMediaEvent({options:n}){const r=t.createEvent(),{xdm:i}=n;if(o(r),r.setUserXdm(i),i.eventType===co.AD_START){const{advertisingDetails:t}=n.xdm.mediaCollection;r.mergeXdm({mediaCollection:{advertisingDetails:{playerName:t.playerName||e.streamingMedia.playerName}}})}return r},createMediaSession(n){const{playerName:r,channel:o,appVersion:i}=e.streamingMedia,a=t.createEvent(),{sessionDetails:s}=n.xdm.mediaCollection;return a.setUserXdm(n.xdm),a.mergeXdm({eventType:co.SESSION_START,mediaCollection:{sessionDetails:{playerName:s.playerName||r,channel:s.channel||o,appVersion:s.appVersion||i}}}),a},augmentMediaEvent({event:e,playerId:t,getPlayerDetails:n,sessionID:r}){if(!t||!n)return e;const{playhead:o,qoeDataDetails:i}=n({playerId:t});return e.mergeXdm({mediaCollection:{playhead:Re(o),qoeDataDetails:i,sessionID:r}}),e},trackMediaSession({event:e,mediaOptions:n,edgeConfigOverrides:r}){const o={mediaOptions:n,edgeConfigOverrides:r};return t.sendEvent(e,o)},trackMediaEvent({event:e,action:t}){const o=In(),i=(({mediaRequestPayload:e,action:t})=>hn({payload:e,edgeSubPath:"/va",getAction:()=>t,getUseSendBeacon:()=>!1}))({mediaRequestPayload:o,action:t});return o.addEvent(e),e.finalize(),n.awaitConsent().then(()=>r({request:i}).then(()=>({})))}}),uo="main",po="completed",go=()=>{let e;return{getSession:t=>e[t]||{},storeSession:({playerId:t,sessionDetails:n})=>{void 0===e&&(e={}),e[t]=n},stopPing:({playerId:t})=>{const n=e[t];n&&(clearTimeout(n.pingId),n.pingId=null,n.playbackState=po)},savePing:({playerId:t,pingId:n,playbackState:r})=>{e[t]&&(e[t].pingId&&clearTimeout(e[t].pingId),e[t].pingId=n,e[t].playbackState=r)}}};var mo=({mediaEventManager:e,mediaSessionCacheManager:t,config:n})=>{const r=o=>{const i=e.createMediaEvent({options:o}),{playerId:a,xdm:s}=o,{eventType:c}=s,d=c.split(".")[1],{getPlayerDetails:l,sessionPromise:u,playbackState:p}=t.getSession(a);return u.then(o=>o.sessionId?(e.augmentMediaEvent({event:i,eventType:c,playerId:a,getPlayerDetails:l,sessionID:o.sessionId}),e.trackMediaEvent({event:i,action:d}).then(()=>{if(a)if(c===co.SESSION_COMPLETE||c===co.SESSION_END)t.stopPing({playerId:a});else{const e=((e,t)=>e===co.AD_START||e===co.Ad_BREAK_START||e===co.AD_SKIP||e===co.AD_COMPLETE?"ad":e===co.AD_BREAK_COMPLETE||e===co.CHAPTER_COMPLETE||e===co.CHAPTER_START||e===co.CHAPTER_SKIP||e===co.SESSION_START?"main":e===co.SESSION_END||e===co.SESSION_COMPLETE?"completed":t)(c,p);if("completed"===e)return;const o="ad"===e?n.streamingMedia.adPingInterval:n.streamingMedia.mainPingInterval,i=setTimeout(()=>{r({playerId:a,xdm:{eventType:co.PING}})},1e3*o);t.savePing({playerId:a,pingId:i,playbackState:e})}})):Promise.reject(new Error("Failed to trigger media event: "+c+". Session ID is not available for playerId: "+a+".")))};return e=>r(e)},fo=({config:e,mediaEventManager:t,mediaSessionCacheManager:n,legacy:r=!1})=>o=>{if(!e.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));const{playerId:i,getPlayerDetails:a,edgeConfigOverrides:s}=o,c=t.createMediaSession(o);t.augmentMediaEvent({event:c,playerId:i,getPlayerDetails:a});const d=t.trackMediaSession({event:c,mediaOptions:{playerId:i,getPlayerDetails:a,legacy:r},edgeConfigOverrides:s});return n.storeSession({playerId:i,sessionDetails:{sessionPromise:d,getPlayerDetails:a,playbackState:uo}}),d},ho=e=>!ge(e)||!e.trim(),yo=({mediaSessionCacheManager:e,config:t,trackMediaEvent:n})=>({response:r,playerId:o,getPlayerDetails:i})=>{const a=r.getPayloadsByType("media-analytics:new-session");if(E(a)){const{sessionId:r}=a[0];if(ho(r))return{};if(!o||!i)return{sessionId:r};const s=setTimeout(()=>{n({playerId:o,xdm:{eventType:co.PING}})},1e3*t.streamingMedia.mainPingInterval);return e.savePing({playerId:o,pingId:s,playbackState:uo}),{sessionId:r}}return{}};const vo={Video:"video",Audio:"audio"},wo={VOD:"vod",Live:"live",Linear:"linear",Podcast:"podcast",Audiobook:"audiobook",AOD:"aod"},Io={FullScreen:"fullScreen",ClosedCaption:"closedCaptioning",Mute:"mute",PictureInPicture:"pictureInPicture",InFocus:"inFocus"},bo={AdBreakStart:"adBreakStart",AdBreakComplete:"adBreakComplete",AdStart:"adStart",AdComplete:"adComplete",AdSkip:"adSkip",ChapterStart:"chapterStart",ChapterComplete:"chapterComplete",ChapterSkip:"chapterSkip",SeekStart:"seekStart",SeekComplete:"seekComplete",BufferStart:"bufferStart",BufferComplete:"bufferComplete",BitrateChange:"bitrateChange",StateStart:"stateStart",StateEnd:"stateEnd"},Eo="sessionStart",Co="sessionEnd",ko="sessionComplete",So="play",Po="pauseStart",Do="error",Ro="statesUpdate",To={MediaResumed:"media.resumed",GranularAdTracking:"media.granularadtracking"},Oo={Show:"a.media.show",Season:"a.media.season",Episode:"a.media.episode",AssetId:"a.media.asset",Genre:"a.media.genre",FirstAirDate:"a.media.airDate",FirstDigitalDate:"a.media.digitalDate",Rating:"a.media.rating",Originator:"a.media.originator",Network:"a.media.network",ShowType:"a.media.type",AdLoad:"a.media.adLoad",MVPD:"a.media.pass.mvpd",Authorized:"a.media.pass.auth",DayPart:"a.media.dayPart",Feed:"a.media.feed",StreamFormat:"a.media.format"},No={Artist:"a.media.artist",Album:"a.media.album",Label:"a.media.label",Author:"a.media.author",Station:"a.media.station",Publisher:"a.media.publisher"},Mo={Advertiser:"a.media.ad.advertiser",CampaignId:"a.media.ad.campaign",CreativeId:"a.media.ad.creative",PlacementId:"a.media.ad.placement",SiteId:"a.media.ad.site",CreativeUrl:"a.media.ad.creativeURL"};var Ao=({logger:e})=>({createMediaObject:(t,n,r,o,i)=>{const a={friendlyName:t,name:n,length:r,streamType:i,contentType:o},s=Rt({friendlyName:Tt().nonEmpty(),name:Tt().nonEmpty(),length:Pt().required(),streamType:Tt().nonEmpty(),contentType:Tt().nonEmpty()});try{const e=s(a);return{sessionDetails:{name:e.name,friendlyName:e.friendlyName,length:Math.round(e.length),streamType:e.streamType,contentType:e.contentType}}}catch(t){return e.warn("An error occurred while creating the Media Object.",t),{}}},createAdBreakObject:(t,n,r)=>{const o={friendlyName:t,offset:n,index:r},i=Rt({friendlyName:Tt().nonEmpty(),offset:Pt(),index:Pt()});try{const e=i(o);return{advertisingPodDetails:{friendlyName:e.friendlyName,offset:e.offset,index:e.index}}}catch(t){return e.warn("An error occurred while creating the Ad Break Object.",t),{}}},createAdObject:(t,n,r,o)=>{const i={friendlyName:t,name:n,podPosition:r,length:o},a=Rt({friendlyName:Tt().nonEmpty(),name:Tt().nonEmpty(),podPosition:Pt(),length:Pt()});try{const e=a(i);return{advertisingDetails:{friendlyName:e.friendlyName,name:e.name,podPosition:e.podPosition,length:e.length}}}catch(t){return e.warn("An error occurred while creating the Advertising Object.",t),{}}},createChapterObject:(t,n,r,o)=>{const i={friendlyName:t,offset:n,length:r,index:o},a=Rt({friendlyName:Tt().nonEmpty(),offset:Pt(),length:Pt(),index:Pt()});try{const e=a(i);return{chapterDetails:{friendlyName:e.friendlyName,offset:e.offset,index:e.index,length:e.length}}}catch(t){return e.warn("An error occurred while creating the Chapter Object.",t),{}}},createStateObject:t=>{const n=Tt().matches(/^[a-zA-Z0-9_]{1,64}$/,"This is not a valid state name.");try{return{name:n(t)}}catch(t){return e.warn("An error occurred while creating the State Object.",t),{}}},createQoEObject:(t,n,r,o)=>{const i={bitrate:t,droppedFrames:n,fps:r,startupTime:o},a=Rt({bitrate:Pt(),droppedFrames:Pt(),fps:Pt(),startupTime:Pt()});try{const e=a(i);return{bitrate:e.bitrate,droppedFrames:e.droppedFrames,framesPerSecond:e.fps,timeToStart:e.startupTime}}catch(t){return e.warn("An error occurred while creating the QOE Object.",t),{}}}});const xo={"a.media.show":"show","a.media.season":"season","a.media.episode":"episode","a.media.asset":"assetID","a.media.genre":"genre","a.media.airDate":"firstAirDate","a.media.digitalDate":"firstDigitalDate","a.media.rating":"rating","a.media.originator":"originator","a.media.network":"network","a.media.type":"showType","a.media.adLoad":"adLoad","a.media.pass.mvpd":"mvpd","a.media.pass.auth":"authorized","a.media.dayPart":"dayPart","a.media.feed":"feed","a.media.format":"streamFormat","a.media.artist":"artist","a.media.album":"album","a.media.label":"label","a.media.author":"author","a.media.station":"station","a.media.publisher":"publisher","media.resumed":"hasResume"},qo={"a.media.ad.advertiser":"advertiser","a.media.ad.campaign":"campaignID","a.media.ad.creative":"creativeID","a.media.ad.placement":"placementID","a.media.ad.site":"siteID","a.media.ad.creativeURL":"creativeURL"};var Lo=({logger:t,trackMediaSession:n,trackMediaEvent:r,uuid:o})=>{let i=null;const a=({eventType:e,mediaDetails:t={},contextData:n=[]})=>{const r=(({eventType:e})=>e===bo.BufferComplete||e===bo.SeekComplete?So:e===bo.StateStart||e===bo.StateEnd?Ro:e===bo.SeekStart?Po:e)({eventType:e});if(e===bo.StateStart){return{eventType:"media."+r,mediaCollection:{statesStart:[t]}}}if(e===bo.StateEnd){return{eventType:"media."+r,mediaCollection:{statesEnd:[t]}}}const o={eventType:"media."+r,mediaCollection:{...t}},i=[];return Object.keys(n).forEach(e=>{xo[e]?o.mediaCollection.sessionDetails[xo[e]]=n[e]:qo[e]?o.mediaCollection.advertisingDetails[qo[e]]=n[e]:i.push({name:e,value:n[e]})}),E(i)&&(o.mediaCollection.customMetadata=i),o};return{trackSessionStart:(r,s={})=>{if(e(r)||F(r))return t.warn("Invalid media object"),{};null===i&&(t.warn("The Media Session was completed. Restarting a new session."),i={qoe:null,lastPlayhead:0,playerId:o()});const c=a({eventType:Eo,mediaDetails:r,contextData:s});return n({playerId:i.playerId,getPlayerDetails:()=>({playhead:i.lastPlayhead,qoeDataDetails:i.qoe}),xdm:c})},trackPlay:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:So});return r({playerId:i.playerId,xdm:e})},trackPause:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Po});return r({playerId:i.playerId,xdm:e})},trackSessionEnd:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:Co});return r({playerId:i.playerId,xdm:e})},trackComplete:()=>{if(null===i)return t.warn("The Media Session was completed."),{};const e=a({eventType:ko});return r({playerId:i.playerId,xdm:e})},trackError:e=>{if(t.warn("trackError("+e+")"),null===i)return t.warn("The Media Session was completed."),{};const n=a({eventType:Do,mediaDetails:{errorDetails:{name:e,source:"player"}}});return r({playerId:i.playerId,xdm:n})},trackEvent:(e,n,o)=>{if(F(n))return t.warn("Invalid media object."),{};if(null===i)return t.warn("The Media Session was completed."),{};if(!Object.values(bo).includes(e))return t.warn("Invalid event type"),{};const s=a({eventType:e,mediaDetails:n,contextData:o});return r({playerId:i.playerId,xdm:s})},updatePlayhead:e=>{null!==i?ue(e)&&(i.lastPlayhead=parseInt(e,10)):t.warn("The Media Session was completed.")},updateQoEObject:e=>{null!==i?e&&(i.qoe=e):t.warn("The Media Session was completed.")},destroy:()=>{t.warn("Destroy called, destroying the tracker."),i=null}}};const Uo=({eventManager:e,sendEdgeNetworkRequest:t,config:n,logger:r,consent:o})=>{const i=go(),a=lo({sendEdgeNetworkRequest:t,config:n,consent:o,eventManager:e,setTimestamp:xn(()=>new Date)}),s=mo({mediaSessionCacheManager:i,mediaEventManager:a,config:n}),c=fo({config:n,mediaEventManager:a,mediaSessionCacheManager:i,legacy:!0});return(({trackMediaEvent:e,trackMediaSession:t,mediaResponseHandler:n,logger:r,createMediaHelper:o,createGetInstance:i,config:a})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=fe}){if(!e)return;const{legacy:r,playerId:o,getPlayerDetails:i}=e;r&&t(({response:e})=>n({playerId:o,getPlayerDetails:i,response:e}))}},commands:{getMediaAnalyticsTracker:{run:()=>{if(!a.streamingMedia)return Promise.reject(new Error("Streaming media is not configured."));r.info("Streaming media is configured in legacy mode.");const n=o({logger:r});return Promise.resolve({getInstance:()=>i({logger:r,trackMediaEvent:e,trackMediaSession:t,uuid:qe}),Event:bo,MediaType:vo,PlayerState:Io,StreamType:wo,MediaObjectKey:To,VideoMetadataKeys:Oo,AudioMetadataKeys:No,AdMetadataKeys:Mo,...n})}}}}))({mediaResponseHandler:yo({mediaSessionCacheManager:i,config:n,trackMediaEvent:s}),trackMediaSession:c,trackMediaEvent:s,createMediaHelper:Ao,createGetInstance:Lo,logger:r,config:n})};Uo.namespace="Legacy Media Analytics";const _o="https://ns.adobe.com/personalization/default-content-item",jo="https://ns.adobe.com/personalization/dom-action",Bo="https://ns.adobe.com/personalization/html-content-item",Fo="https://ns.adobe.com/personalization/json-content-item",Vo="https://ns.adobe.com/personalization/ruleset-item",Ho="https://ns.adobe.com/personalization/redirect-item",zo="https://ns.adobe.com/personalization/message/in-app",Jo="web",Xo="webapp",Go="://",Qo=/^(\w+):\/\/([^/#]+)(\/[^#]*)?(#.*)?$/,Ko=/^(?:.*@)?(?:[a-z\d\u00a1-\uffff.-]+|\[[a-f\d:]+])(?::\d+)?$/,Wo=/^\/(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})*$/,Yo=/^#(?:[/\w\u00a1-\uffff-.~]|%[a-fA-F\d]{2})+$/,$o=(e="/")=>{let t=e.length;for(;t>0&&-1!=="/".indexOf(e.charAt(t-1));)t-=1;return e.substring(0,t)||"/"},Zo=e=>""+e.surfaceType+Go+e.authority+(e.path||"")+(e.fragment||""),ei=e=>{const t=e(),n=t.host.toLowerCase(),r=t.pathname;return Jo+Go+n+$o(r)},ti=(e,t,n)=>{const r=e=>(n.warn(e),null);if(!me(e))return r("Invalid surface: "+e);const o=((e,t)=>e.startsWith("#")?ei(t)+e:e)(e,t),i=(e=>{const t=e.match(Qo);return t?{surfaceType:(o=t[1],me(o)?o.toLowerCase():""),authority:(r=t[2],me(r)?r.toLowerCase():""),path:(n=t[3],me(n)?$o(n):"/"),fragment:t[4]}:null;var n,r,o})(o);return null===i?r("Invalid surface: "+e):[Jo,Xo].includes(i.surfaceType)?i.authority&&Ko.test(i.authority)?i.path&&!Wo.test(i.path)?r("Invalid path "+i.path+" in surface: "+e):i.fragment&&!Yo.test(i.fragment)?r("Invalid fragment "+i.fragment+" in surface: "+e):i:r("Invalid authority "+i.authority+" in surface: "+e):r("Unsupported surface type "+i.surfaceType+" in surface: "+e)},ni=e=>!!e&&0===e.indexOf(Jo+Go)&&-1===e.indexOf("#"),ri=e=>e.filter((t,n)=>e.indexOf(t)===n);var oi=({getPageLocation:t,renderDecisions:n,decisionScopes:r,personalization:o,event:i,isCacheInitialized:a,logger:s})=>{const c=i.getViewName();return{isRenderDecisions:()=>n,isSendDisplayEvent:()=>!!o.sendDisplayEvent,shouldIncludeRenderedPropositions:()=>!!o.includeRenderedPropositions,getViewName:()=>c,hasScopes:()=>r.length>0||E(o.decisionScopes),hasSurfaces:()=>E(o.surfaces),hasViewName:()=>me(c),createQueryDetails(){const n=[...r];E(o.decisionScopes)&&n.push(...o.decisionScopes);const i=((t=[],n,r)=>t.map(e=>ti(e,n,r)).filter(t=>!e(t)).map(Zo))(o.surfaces,t,s);this.shouldRequestDefaultPersonalization()&&((e=>{e.includes(mn)||e.push(mn)})(n),((e,t)=>{const n=ei(t);e.includes(n)||e.push(n)})(i,t));const a=[_o,Bo,Fo,Ho,Vo,zo,"https://ns.adobe.com/personalization/message/content-card"];return n.includes(mn)&&a.push(jo),{schemas:a,decisionScopes:ri(n),surfaces:ri(i)}},isCacheInitialized:()=>a,shouldFetchData(){return this.hasScopes()||this.hasSurfaces()||this.shouldRequestDefaultPersonalization()},shouldUseCachedData(){return this.hasViewName()&&!this.shouldFetchData()},shouldRequestDefaultPersonalization(){return o.defaultPersonalizationEnabled||!this.isCacheInitialized()&&!1!==o.defaultPersonalizationEnabled}}};const ii="decisioning.propositionDisplay",ai="decisioning.propositionInteract",si="decisioning.propositionTrigger",ci="decisioning.propositionDismiss",di="decisioning.propositionSuppressDisplay",li={DISPLAY:"display",INTERACT:"interact",TRIGGER:"trigger",DISMISS:"dismiss",SUPPRESS:"suppressDisplay"},ui={[ii]:li.DISPLAY,[ai]:li.INTERACT,[si]:li.TRIGGER,[ci]:li.DISMISS,[di]:li.SUPPRESS},pi={[li.DISPLAY]:ii,[li.INTERACT]:ai,[li.TRIGGER]:si,[li.DISMISS]:ci,[li.SUPPRESS]:di},gi=e=>ui[e],mi=e=>pi[e],fi={propositions:[]};var hi=({getPageLocation:e,logger:t,fetchDataHandler:n,viewChangeHandler:r,onClickHandler:o,isAuthoringModeEnabled:i,mergeQuery:a,viewCache:s,showContainers:c,applyPropositions:d,setTargetMigration:l,mergeDecisionsMeta:u,renderedPropositions:p,onDecisionHandler:g,handleConsentFlicker:m})=>({lifecycle:{onComponentsRegistered(){m()},onDecision:g,onBeforeRequest:({request:e})=>(l(e),Promise.resolve()),onBeforeEvent({event:o,renderDecisions:d,decisionScopes:l=[],personalization:g={},onResponse:m=fe,onRequestFailure:f=fe}){if(m(()=>({propositions:[]})),f(()=>c()),i())return t.warn("Rendering is disabled for authoring mode."),a(o,{enabled:!1}),Promise.resolve();const h=oi({getPageLocation:e,renderDecisions:d,decisionScopes:l,personalization:g,event:o,isCacheInitialized:s.isInitialized(),logger:t}),y=[];if(h.shouldIncludeRenderedPropositions()&&y.push(p.clear()),h.shouldFetchData()){const e=s.createCacheUpdate(h.getViewName());f(()=>e.cancel());const t=o.getUserIdentityMap();n({cacheUpdate:e,personalizationDetails:h,event:o,onResponse:m,identityMap:t})}else h.shouldUseCachedData()&&y.push(r({personalizationDetails:h,event:o,onResponse:m,onRequestFailure:f}));return Promise.all(y).then(e=>{const t=e.flatMap(e=>e);E(t)&&u(o,t,[li.DISPLAY])})},onClick({event:e,clickedElement:t}){o({event:e,clickedElement:t})}},commands:{applyPropositions:{optionsValidator:e=>(({logger:e,options:t})=>{const n=Rt({propositions:Et(Rt({id:Tt().required(),scope:Tt().required(),scopeDetails:Rt({decisionProvider:Tt().required()}).required(),items:Et(Rt({id:Tt().required(),schema:Tt().required(),data:Rt(bt())})).nonEmpty().required()}).required()).nonEmpty().required(),metadata:Rt(bt()),viewName:Tt()}).required();try{return n(t)}catch(t){return e.warn("Invalid options for applyPropositions. No propositions will be applied.",t),fi}})({logger:t,options:e}),run:d}}}),yi=(e="undefined")=>h("DIV",{},{innerHTML:e});const vi=/:eq\((\d+)\)/g,wi=e=>-1===e.indexOf(":eq("),Ii=/(#|\.)(-?\w+)/g,bi=(e,t,n)=>""+t+CSS.escape(n),Ei=e=>{const t=[],n=(e=>e.split(vi).filter(me))((e=>e.replace(Ii,bi))(e.trim())),{length:r}=n;let o=0;for(;o<r;){const e=n[o],r=n[o+1];r?t.push({sel:e,eq:Number(r)}):t.push({sel:e}),o+=2}return t},Ci=e=>{const t=document;if(wi(e))return T(e,t);const n=Ei(e),{length:r}=n;let o=[],i=t,a=0;for(;a<r;){const{sel:e,eq:t}=n[a],s=T(e,i),{length:c}=s;if(0===c)break;if(null!=t&&t>c-1)break;a<r-1&&(null==t?[i]=s:i=s[t]),a===r-1&&(o=null==t?s:[s[t]]),a+=1}return o};var ki=(e,t=document)=>t.getElementById(e),Si=(e,t,n)=>{e.setAttribute(t,n)},Pi=(e,t)=>e.getAttribute(t),Di=(e,t,n,r)=>{let o;o=r?t+":"+n+" !"+r+";":t+":"+n+";",e.style.cssText+=";"+o},Ri=e=>e.parentNode,Ti=(e,t)=>{if(!e)return;const n=Ri(e);n&&n.insertBefore(t,(e=>e.nextElementSibling)(e))},Oi=(e,t)=>{if(!e)return;const n=Ri(e);n&&n.insertBefore(t,e)},Ni=e=>{const{childNodes:t}=e;return t?C(t):[]},Mi=e=>e.firstElementChild;let Ai;var xi=(e=document)=>{if(void 0===Ai){const t=e.querySelector("[nonce]");Ai=t&&(t.nonce||t.getAttribute("nonce"))}return Ai};const qi="src",Li=e=>h(y,{src:e}),Ui=e=>{T(y,e).forEach(e=>{const t=Pi(e,qi);t&&Li(t)})},_i=e=>((e,t)=>e.tagName===t)(e,v)&&!Pi(e,qi);var ji=e=>{const t=T(v,e),{length:n}=t,r=xi();if(r)for(let e=0;e<n;e+=1){const n=t[e];_i(n)&&(n.nonce=r)}};const Bi=e=>{const t=document.createElement("script");t.src=e,t.async=!0;const n=((e,t)=>new Promise((n,r)=>{t.onload=()=>{n(t)},t.onerror=()=>{r(new Error("Failed to load script: "+e))}}))(e,t);return document.head.appendChild(t),n},Fi=(e,t)=>!!e&&e.tagName===t,Vi=e=>Fi(e,w)&&!Pi(e,qi),Hi=e=>Fi(e,w)&&Pi(e,qi),zi=e=>{const t=T(w,e),n=[],{length:r}=t,o=xi(),i={...o&&{nonce:o}};for(let e=0;e<r;e+=1){const r=t[e];if(!Vi(r))continue;const{textContent:o}=r;o&&n.push(h(w,i,{textContent:o}))}return n},Ji=e=>{const t=T(w,e),n=[],{length:r}=t;for(let e=0;e<r;e+=1){const r=t[e];if(!Hi(r))continue;const o=Pi(r,qi);o&&n.push(o)}return n},Xi=(e,t)=>{t.forEach(t=>{e.appendChild(t),e.removeChild(t)})},Gi=e=>Promise.all(e.map(Bi));var Qi=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);return Ui(r),o.forEach(t=>{f(e,t)}),n(e),Xi(e,i),Gi(a)};var Ki=(e,t,n)=>((e=>{Ni(e).forEach(_)})(e),Qi(e,t,n)),Wi=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r),{length:s}=o;let c=s-1;for(Ui(r);c>=0;){const t=o[c];n(t);const r=Mi(e);r?Oi(r,t):f(e,t),c-=1}return Xi(e,i),Gi(a)};const Yi="alloy-prehiding",$i={},Zi=e=>{if($i[e])return;const t=xi(),n={...t&&{nonce:t}},r=h(v,n,{textContent:e+" { visibility: hidden }"});f(document.head,r),$i[e]=r},ea=e=>{const t=$i[e];t&&(_(t),delete $i[e])};var ta=(e,t,n)=>{n(e),e.textContent=t},na=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);return Ui(r),o.forEach(t=>{n(t),Oi(e,t)}),Xi(e,i),Gi(a)},ra=(e,t,n)=>na(e,t,n).then(()=>{_(e)}),oa=(e,t,n)=>{const r=yi(t);ji(r);const o=Ni(r),i=zi(r),a=Ji(r);Ui(r);let s=e;return o.forEach(e=>{n(e),Ti(s,e),s=e}),Xi(e,i),Gi(a)},ia=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{Di(e,t,o[t],r)}),n(e)},aa=(e,t,n)=>{Object.keys(t).forEach(n=>{Si(e,n,t[n])}),n(e)},sa=(e,t,n)=>{e.tagName===y&&(Li(t),n(e),((e,t)=>{e.removeAttribute(t)})(e,qi),Si(e,qi,t))},ca=(e,{from:t,to:n},r)=>{const o=(e=>{const{children:t}=e;return t?C(t):[]})(e),i=o[t],a=o[n];i&&a&&(t<n?Ti(a,i):Oi(a,i),r(a),r(i))};const da=(e,t=!1)=>async(n,r,o)=>{const{selector:i,prehidingSelector:a,content:s}=n;Zi(a);try{(({containers:e,content:t,decorateProposition:n,renderFunc:r,renderStatusHandler:o,alwaysRender:i})=>{const a=e.filter(e=>i||o.shouldRender(e)).map(async e=>{await r(e,t,n),o.markAsRendered(e)});Promise.all(a)})({containers:await x(i,Ci),content:s,decorateProposition:r,renderFunc:e,renderStatusHandler:o,alwaysRender:t})}finally{ea(a)}},la=e=>(""+e).endsWith("px")?e:e+"px";var ua=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"left"!==t&&"top"!==t||(n=la(n)),Di(e,t,n,r)}),n(e)},pa=(e,t,n)=>{n(e)},ga=(e,t,n)=>{const{priority:r,...o}=t;Object.keys(o).forEach(t=>{let n=o[t];"width"!==t&&"height"!==t||(n=la(n)),Di(e,t,n,r)}),n(e)};const ma="setHtml",fa="customCode",ha="setText",ya="setAttribute",va="setImageSource",wa="setStyle",Ia="move",ba="resize",Ea="rearrange",Ca="remove",ka="insertAfter",Sa="insertBefore",Pa="replaceHtml",Da="prependHtml",Ra="appendHtml",Ta="click",Oa="collectInteractions";var Na=({eventManager:e,mergeDecisionsMeta:t})=>({decisionsMeta:n=[],propositionAction:r,documentMayUnload:o=!1,eventType:i=ii,propositionEventTypes:a=[gi(i)],viewName:s,identityMap:c})=>{const d=e.createEvent(),l={eventType:i,identityMap:c};return s&&(l.web={webPageDetails:{viewName:s}}),E(n)&&t(d,n,a,r),d.mergeXdm(l),o&&d.documentMayUnload(),e.sendEvent(d)};var Ma=(e,t)=>{if(wi(e))return((e,t)=>t.matches?t.matches(e):t.msMatchesSelector(e))(e,t);const n=Ci(e);let r=!1;for(let e=0;e<n.length;e+=1)if(n[e]===t){r=!0;break}return r};const Aa="view",xa=e=>e.map(e=>{const{trackingLabel:t,scopeType:n,...r}=e;return r}),qa=(e,t,n)=>{const{documentElement:r}=document;let o=e,i=0;for(;o&&o!==r;){if(Ma(t,o)){const e=n(t),r={metas:e},o=e.find(e=>e.trackingLabel);o&&(r.label=o.trackingLabel,r.weight=i);const a=e.find(e=>e.scopeType===Aa);return a&&(r.viewName=a.scope,r.weight=i),r}o=o.parentNode,i+=1}return{metas:null}};var La=(e,t,n)=>{const r=[];let o,i="",a=Number.MAX_SAFE_INTEGER,s=Number.MAX_SAFE_INTEGER;for(let c=0;c<t.length;c+=1){const{metas:d,label:l,weight:u,viewName:p}=qa(e,t[c],n);d&&(l&&u<=a&&(i=l,a=u),p&&u<=s&&(o=p,s=u),r.push(...xa(d)))}return{decisionsMeta:(c=r,c.filter((e,t)=>{const n=JSON.stringify(e);return t===c.findIndex(e=>JSON.stringify(e)===n)})),propositionActionLabel:i,propositionActionToken:void 0,viewName:o};var c},Ua=(e=document)=>-1!==e.location.href.indexOf("adobe_authoring_enabled");const _a=(e,t,n,r)=>{if(0===t.length)return;const o={};n.forEach(e=>{o[e]=1});const i={_experience:{decisioning:{propositions:t,propositionEventType:o}}};r&&(i._experience.decisioning.propositionAction=r),e.mergeXdm(i)},ja=(e,t)=>{e.mergeQuery({personalization:{...t}})};var Ba=()=>{const e={};return{storeClickMeta:({selector:t,meta:{id:n,scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}})=>{e[t]||(e[t]={}),e[t][n]={scope:r,scopeDetails:o,trackingLabel:i,scopeType:a}},getClickSelectors:()=>Object.keys(e),getClickMetas:t=>e[t]?(e=>Object.keys(e).map(t=>({id:t,...e[t]})))(e[t]):{}}};const Fa=(e,t)=>e===Fo&&t===Oa,Va={[jo]:()=>!0,[Bo]:()=>!0,[Fo]:Fa,[zo]:()=>!0,[_o]:()=>!0};var Ha=({processPropositions:e,createProposition:t,renderedPropositions:n,viewCache:r})=>{const o=({items:e,metadataForScope:t={}})=>{const{actionType:n,selector:r}=t;return e.filter(e=>((e,t)=>"function"==typeof Va[e]&&Va[e](e,t))(e.schema,n)).map(e=>{const{schema:o}=e;return o===Bo||Fa(o,n)?F(t)?void 0:{...e,schema:Fa(o,n)?jo:o,data:{...e.data,selector:r,type:n}}:{...e}}).filter(e=>e)},i=e=>!(e.scope===mn&&e.renderAttempted);return({propositions:a=[],metadata:s={},viewName:c})=>{const d=g();n.concat(d.promise);const l=(({propositions:e,metadata:t})=>e.filter(i).map(e=>{if(E(e.items)){const{id:n,scope:r,scopeDetails:i}=e;return{id:n,scope:r,scopeDetails:i,items:o({items:e.items,metadataForScope:t[e.scope]})}}return e}).filter(e=>E(e.items)))({propositions:a,metadata:s}).map(e=>t(e));return Promise.resolve().then(()=>c?r.getView(c):[]).then(t=>{const{render:n,returnedPropositions:r}=e([...l,...t]);return n().then(d.resolve),{propositions:r}})}};var za=e=>{const{selector:t,type:n}=e;return n!==fa||"BODY > *:eq(0)"!==t?e:{...e,selector:"BODY"}};var Ja=e=>{const t={...e},{content:n,selector:r}=t;if(t.type===fa)return t;if(ho(n))return t;if(null==r)return t;const o=Ci(r);return Fi(o[0],"HEAD")?(t.type=Ra,t.content=(e=>{const t=yi(e);return T("SCRIPT,LINK,STYLE",t).map(e=>e.outerHTML).join("")})(n),t):t},Xa=({preprocess:e,isPageWideSurface:t})=>(n,r=!0,o=!1,i=void 0)=>{const{id:a,scope:s,scopeDetails:c,items:d=[]}=n,{characteristics:{scopeType:l}={}}=c||{};return{getScope:()=>s,getScopeType:()=>s===mn||t(s)?"page":l===Aa?Aa:"proposition",getItems(){return d.map(t=>((t,n)=>{const{id:r,schema:o,data:i,characteristics:{trackingLabel:a}={}}=t,s=i?i.type:void 0,c=e(i);return{getId:()=>r,getSchema:()=>o,getSchemaType:()=>s,getData:()=>c,getProposition:()=>n,getTrackingLabel:()=>a,getOriginalItem:()=>t,toString:()=>JSON.stringify(t),toJSON:()=>t}})(t,this))},getNotification:()=>({id:a,scope:s,scopeDetails:c}),getId:()=>a,getIdentityMap:()=>i,toJSON:()=>n,shouldSuppressDisplay:()=>o,addToReturnValues(e,t,o,i){r&&(e.push({...n,items:o.map(e=>e.getOriginalItem()),renderAttempted:i}),i||t.push({...n,items:o.map(e=>e.getOriginalItem())}))}}},Ga=()=>({render:fe,setRenderAttempted:!0,includeInNotification:!0});const Qa="always",Ka="never",Wa="decoratedElementsOnly",Ya=[Qa,Ka,Wa],$a="data-aep-interact-id",Za="data-aep-click-label";let es=0;const ts=(e,t,n,r,o,i,a,s)=>{const{scopeDetails:c={}}=a,{decisionProvider:d}=c;return((e,t)=>!!e&&!!e[t]&&[Qa,Wa].includes(e[t]))(e,d)||t===Ta?e=>{if(!e.tagName)return;const t=(c=Pi(e,$a))?parseInt(c,10):++es;var c;s(n,r,i,a,t),Si(e,$a,t),o&&!Pi(e,Za)&&Si(e,Za,o)}:fe};var ns=(e,t)=>e!==Aa?{shouldRender:()=>!0,markAsRendered:()=>{}}:{shouldRender:e=>{if(!e)return!0;return!(e.dataset.adobePropositionIds??"").split(",").includes(t)},markAsRendered:e=>{const n=(e.dataset.adobePropositionIds??"").split(",");n.includes(t)||n.push(t),e.dataset.adobePropositionIds=n.sort().join(",")}},rs=({modules:e,logger:t,storeInteractionMeta:n,storeClickMeta:r,autoCollectPropositionInteractions:o})=>i=>{const{type:a,selector:s}=i.getData()||{};if(!a)return t.warn("Invalid DOM action data: missing type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};if(a===Ta)return s?(r({selector:s,meta:{...i.getProposition().getNotification(),trackingLabel:i.getTrackingLabel(),scopeType:i.getProposition().getScopeType()}}),{setRenderAttempted:!0,includeInNotification:!1}):(t.warn("Invalid DOM action data: missing selector.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1});if(!e[a])return t.warn("Invalid DOM action data: unknown type.",i.getData()),{setRenderAttempted:!1,includeInNotification:!1};const c=ns(i.getProposition().getScopeType(),i.getId()),d=ts(o,a,i.getProposition().getId(),i.getId(),i.getTrackingLabel(),i.getProposition().getScopeType(),i.getProposition().getNotification(),n);return{render:()=>e[a](i.getData(),d,c),setRenderAttempted:!0,includeInNotification:!0}},os=({modules:e,logger:t,storeInteractionMeta:n,autoCollectPropositionInteractions:r})=>o=>{const{type:i,selector:a}=o.getData()||{};if(!a||!i)return{setRenderAttempted:!1,includeInNotification:!1};if(!e[i])return t.warn("Invalid HTML content data",o.getData()),{setRenderAttempted:!1,includeInNotification:!1};const s=ts(r,i,o.getProposition().getId(),o.getId(),o.getTrackingLabel(),o.getProposition().getScopeType(),o.getProposition().getNotification(),n),c=ns(o.getProposition().getScopeType(),o.getId());return{render:()=>e[i](o.getData(),s,c),setRenderAttempted:!0,includeInNotification:!0}};const is="BODY";var as=({logger:e,executeRedirect:t,collect:n})=>r=>{const{content:o}=r.getData()||{};if(!o)return e.warn("Invalid Redirect data",r.getData()),{};return{render:()=>(Zi(is),n({decisionsMeta:[r.getProposition().getNotification()],documentMayUnload:!0,identityMap:r.getProposition().getIdentityMap()}).then(()=>(e.logOnContentRendering({status:"rendering-redirect",detail:{propositionDetails:r.getProposition().getNotification(),redirect:o},message:"Redirect action "+r.toString()+" executed.",logLevel:"info"}),t(o))).catch(e=>{throw ea(is),e})),setRenderAttempted:!0,onlyRenderThis:!0}},ss=({schemaProcessors:e,logger:t})=>{const n=(e,n)=>()=>Promise.resolve().then(e).then(()=>(t.enabled&&t.info("Action "+n.toString()+" executed."),n.toJSON())).catch(e=>{const{message:r,stack:o}=e,i="Failed to execute action "+n.toString()+". "+r+" "+o;t.logOnContentRendering({status:"rendering-failed",detail:{propositionDetails:n.getProposition().getNotification(),item:n.toJSON()},error:e,message:i,logLevel:"warn"})}),r=t=>{const n=e[t.getSchema()];return n?n(t):{}},o=({renderers:e,returnedPropositions:t,returnedDecisions:o,items:i,proposition:a})=>{let s,c,d,l,u=[...e],p=[...t],g=[...o],m=[],f=[],h=[],y=!1,v=!1,w=0;for(;i.length>w;){if(l=i[w],({render:s,setRenderAttempted:c,includeInNotification:d,onlyRenderThis:v}=r(l)),v){p=[],g=[],c?(m=[l],f=[]):(m=[],f=[l]),u=[],h=[s],y=d;break}s&&h.push(n(s,l)),d&&(y=!0),c?m.push(l):f.push(l),w+=1}if(h.length>0){const e=y?a.getNotification():void 0;u.push(()=>(async(e,t)=>{const n=(await Promise.allSettled(e.map(e=>e()))).filter(e=>"fulfilled"===e.status).map(e=>e.value);if(t&&E(n))return{...t,items:n}})(h,e))}else y&&u.push(()=>Promise.resolve(a.getNotification()));return m.length>0&&a.addToReturnValues(p,g,m,!0),f.length>0&&a.addToReturnValues(p,g,f,!1),{renderers:u,returnedPropositions:p,returnedDecisions:g,onlyRenderThis:v}};return(e,n=[])=>{let r,i,a,s=[],c=[],d=[],l=0;for(;e.length>l&&(i=e[l],a=i.getItems(),({renderers:s,returnedPropositions:c,returnedDecisions:d,onlyRenderThis:r}=o({renderers:s,returnedPropositions:c,returnedDecisions:d,items:a,proposition:i})),!r);)l+=1;r&&e.forEach((e,t)=>{t!==l&&e.addToReturnValues(c,d,e.getItems(),!1)}),n.forEach(e=>{e.addToReturnValues(c,d,e.getItems(),!1)});return{returnedPropositions:c,returnedDecisions:d,render:()=>Promise.all(s.map(e=>e())).then(e=>{const n=e.filter(e=>e),r=n.map(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}});if(E(n)){const e=W(n,e=>e.scope);t.logOnContentRendering({status:"rendering-succeeded",detail:{...e},message:"Scopes: "+JSON.stringify(e)+" successfully executed.",logLevel:"info"})}return r})}}};var cs=({processPropositions:e,createProposition:t,notificationHandler:n})=>({renderDecisions:r,propositions:o,event:i,personalization:a={},identityMap:s})=>{if(!r)return Promise.resolve();const{sendDisplayEvent:c=!0}=a,d=i?i.getViewName():void 0,l=(()=>{let e=0;return t=>{const{items:n=[]}=t;return!!n.some(e=>e.schema===zo)&&(e+=1,e>1)}})(),u=o.map(e=>t(e,!0,l(e),s)),{render:p,returnedPropositions:g}=e(u),m=n(r,c,d,s),f=u.reduce((e,t)=>(e[t.getId()]=t,e),{});return p().then(e=>{const t=e.filter(e=>!f[e.id].shouldSuppressDisplay()),n=e.filter(e=>f[e.id].shouldSuppressDisplay());m(t,n)}),Promise.resolve({propositions:g})};const ds="text/html",ls="defaultContent",us=["content","contentType"],ps=["mobileParameters","webParameters","html"];var gs=({modules:e,logger:t})=>n=>{const r=n.getData(),o=n.getProposition(),i={...o.getNotification()},a=o.shouldSuppressDisplay();if(!r)return t.warn("Invalid in-app message data: undefined.",r),{};const{type:s=ls}=r;return e[s]?((e,t)=>{for(let n=0;n<us.length;n+=1){const r=us[n];if(!Object.prototype.hasOwnProperty.call(e,r))return t.warn("Invalid in-app message data: missing property '"+r+"'.",e),!1}const{content:n,contentType:r}=e;if("application/json"===r)for(let r=0;r<ps.length;r+=1){const o=ps[r];if(!Object.prototype.hasOwnProperty.call(n,o))return t.warn("Invalid in-app message data.content: missing property '"+o+"'.",e),!1}return!0})(r,t)?i?{render:()=>a?null:e[s]({...r,meta:i,identityMap:o.getIdentityMap()}),setRenderAttempted:!0,includeInNotification:!0}:(t.warn("Invalid in-app message meta: undefined.",i),{}):{}:(t.warn("Invalid in-app message data: unknown type.",r),{})};const ms=e=>{const t=T("#"+e,document);t&&t.length>0&&_(t[0])};var fs=e=>(t,n=!1)=>(n?e.location.href=t:e.location.replace(t),new Promise(()=>{}));const hs="alloy-messaging-container",ys="alloy-overlay-container",vs="alloy-content-iframe",ws=()=>[hs,ys].forEach(ms),Is=(e,t=fs(window))=>n=>{n.preventDefault(),n.stopImmediatePropagation();const{target:r}=n,o="a"===r.tagName.toLowerCase()?r:r.closest("a");if(!o)return;const{action:i,interaction:a,link:s,label:c,uuid:d}=(e=>{const t={};if(!e||"a"!==e.tagName.toLowerCase())return t;const{href:n}=e;if(!n||!n.startsWith("adbinapp://"))return t;const r=n.split("?"),o=r[0].split("://")[1],i=e.innerText,a=e.getAttribute("data-uuid")||"";let s,c;if(E(r)){const e=Ee.parse(r[1]);s=e.interaction||"",c=rr(e.link||"")}return{action:o,interaction:s,link:c,label:i,uuid:a}})(o);e(i,{label:c,id:a,uuid:d,link:s}),"dismiss"===i&&ws(),me(s)&&s.length>0&&t(s,!0)},bs=e=>{const{verticalAlign:t,width:n,horizontalAlign:r,backdropColor:o,height:i,cornerRadius:a,horizontalInset:s,verticalInset:c,uiTakeover:d=!1}=e,l={width:n?n+"%":"100%",backgroundColor:o||"rgba(0, 0, 0, 0.5)",borderRadius:a?a+"px":"0px",border:"none",position:d?"fixed":"relative",overflow:"hidden"};return"left"===r?l.left=s?s+"%":"0":"right"===r?l.right=s?s+"%":"0":"center"===r&&(l.left="50%",l.transform="translateX(-50%)"),"top"===t?l.top=c?c+"%":"0":"bottom"===t?(l.position="fixed",l.bottom=c?c+"%":"0"):"center"===t&&(l.top="50%",l.transform=("center"===r?l.transform+" ":"")+"translateY(-50%)",l.display="flex",l.alignItems="center",l.justifyContent="center"),l.height=i?i+"vh":"100%",l},Es=e=>{const{backdropOpacity:t,backdropColor:n}=e;return{position:"fixed",top:"0",left:"0",width:"100%",height:"100%",background:"transparent",opacity:t||.5,backgroundColor:n||"#FFFFFF"}},Cs=["enabled","parentElement","insertionMethod"],ks=(e={},t)=>{ws();const{content:n,contentType:r,mobileParameters:o}=e;let{webParameters:i}=e;if(r!==ds)return;const a=h("div",{id:hs}),s=((e,t)=>{const n=(new DOMParser).parseFromString(e,ds),r=n.querySelector("script");r&&r.setAttribute("nonce",xi());const o=h("iframe",{src:URL.createObjectURL(new Blob([n.documentElement.outerHTML],{type:"text/html"})),id:vs});return o.addEventListener("load",()=>{const{addEventListener:e}=o.contentDocument||o.contentWindow.document;e("click",t)}),o})(n,Is(t)),c=h("div",{id:ys});(e=>{if(!e)return!1;const t=Object.keys(e);if(!t.includes(hs))return!1;if(!t.includes(ys))return!1;const n=Object.values(e);for(let e=0;e<n.length;e+=1){if(!Rt(n[e],"style"))return!1;if(!Rt(n[e],"params"))return!1;for(let t=0;t<Cs.length;t+=1)if(!Rt(n[e].params,Cs[t]))return!1}return!0})(i)||(i=(e=>{if(!e)return;const{uiTakeover:t=!1}=e;return{[vs]:{style:{border:"none",width:"100%",height:"100%"},params:{enabled:!0,parentElement:"#alloy-messaging-container",insertionMethod:"appendChild"}},[hs]:{style:bs(e),params:{enabled:!0,parentElement:"body",insertionMethod:"appendChild"}},[ys]:{style:Es(e),params:{enabled:!0===t,parentElement:"body",insertionMethod:"appendChild"}}}})(o)),i&&((e,t,n,r)=>{[{id:ys,element:r},{id:hs,element:n},{id:vs,element:e}].forEach(({id:e,element:n})=>{const{style:r={},params:o={}}=t[e];Object.assign(n.style,r);const{parentElement:i="body",insertionMethod:a="appendChild",enabled:s=!0}=o,c=document.querySelector(i);s&&c&&"function"==typeof c[a]&&c[a](n)})})(s,i,a,c)};var Ss=e=>({defaultContent:t=>((e,t)=>new Promise(n=>{const{meta:r,identityMap:o}=e;ks(e,(e,n)=>{const i={};i[li.INTERACT]=1,-1!==Object.values(li).indexOf(e)&&(i[e]=1),t({decisionsMeta:[r],propositionAction:n,eventType:ai,propositionEventTypes:Object.keys(i),identityMap:o})}),n({meta:r})}))(t,e)});const Ps=e=>{const t=e.find(e=>e.scopeType===Aa);return t?t.scope:void 0};var Ds=(e,t,n)=>{const{interactIds:r,clickLabel:o="",clickToken:i}=(e=>{const{documentElement:t}=document;let n=e;const r=new Set;let o,i;for(;n&&n!==t&&!(n instanceof ShadowRoot);){const e=Pi(n,$a);e&&r.add(e),o=o||Pi(n,Za),i=i||Pi(n,"data-aep-click-token"),n=n.parentNode}return{interactIds:[...r],clickLabel:o,clickToken:i}})(e),a=((e,t,n)=>r=>{const{scopeDetails:o={}}=r,{decisionProvider:i}=o;return e[i]===Qa||e[i]===Wa&&(t||n)})(n,o,i);if(0===r.length)return{};const s=t(r).filter(a);return{decisionsMeta:xa(s),propositionActionLabel:o,propositionActionToken:i,viewName:Ps(s)}};const Rs="AJO",Ts="TGT",Os=({config:e,logger:t,eventManager:n,consent:r})=>{const{targetMigrationEnabled:o,prehidingStyle:i,autoCollectPropositionInteractions:a}=e,s=Na({eventManager:n,mergeDecisionsMeta:_a}),c=(e=>()=>{const t=ki(Yi);t&&(e.logOnContentHiding({status:"show-containers",message:"Prehiding style removed to show containers.",logLevel:"info"}),_(t))})(t),d=(e=>t=>{if(!t)return;if(ki(Yi))return;const n=xi(),r={id:Yi,...n&&{nonce:n}},o=h(v,r,{textContent:t});e.logOnContentHiding({status:"hide-containers",message:"Prehiding style applied to hide containers.",logLevel:"info"}),f(document.head,o)})(t),{storeInteractionMeta:l,getInteractionMetas:u}=(()=>{const e={},t={};return{storeInteractionMeta:(n,r,o,i,a)=>{a=parseInt(a,10),e[a]||(e[a]={},t[a]={}),t[a][n]||(t[a][n]=new Set),t[a][n].add(r),e[a][n]={...i,scopeType:o}},getInteractionMetas:n=>Array.isArray(n)&&0!==n.length?Object.values(n.map(e=>parseInt(e,10)).reduce((n,r)=>(Object.keys(e[r]||{}).forEach(o=>{n[o]||(n[o]={proposition:e[r][o],items:new Set}),n[o].items=new Set([...n[o].items,...t[r][o]])}),n),{})).map(({proposition:e,items:t})=>({...e,items:Array.from(t).map(e=>({id:e}))})):[]}})(),{storeClickMeta:p,getClickSelectors:m,getClickMetas:y}=Ba(),w=(({window:e})=>()=>e.location)({window:window}),I={[ma]:da(Ki,!0),[fa]:da(Wi,!0),[ha]:da(ta,!0),[ya]:da(aa,!0),[va]:da(sa,!0),[wa]:da(ia,!0),[Ia]:da(ua,!0),[ba]:da(ga,!0),[Ea]:da(ca),[Ca]:da(_,!0),[ka]:da(oa),[Sa]:da(na),[Pa]:da(ra,!0),[Da]:da(Wi),[Ra]:da(Qi),[Oa]:da(pa,!0)},b=(C=[Ja,za],e=>e?C.reduce((e,t)=>({...e,...t(e)}),e):e);var C;const k=Xa({preprocess:b,isPageWideSurface:ni}),S=(({createProposition:e})=>{let t=!1,n=Promise.resolve({});const r=(t,n)=>{const r=t[n.toLowerCase()];return r&&r.length>0?r:[e({scope:n,scopeDetails:{characteristics:{scopeType:Aa}},items:[{schema:_o}]},!1)]};return{createCacheUpdate:e=>{const o=g();return t=!0,n=n.then(e=>o.promise.then(t=>({...e,...t})).catch(()=>e)),{update(t){const n=t.filter(e=>e.getScope()),i=W(n,e=>e.getScope().toLowerCase());return o.resolve(i),e?r(i,e):[]},cancel(){o.reject()}}},getView:e=>n.then(t=>r(t,e)),isInitialized:()=>t}})({createProposition:k}),P=fs(window),D={[_o]:Ga,[jo]:rs({modules:I,logger:t,storeInteractionMeta:l,storeClickMeta:p,autoCollectPropositionInteractions:a}),[Bo]:os({modules:I,logger:t,storeInteractionMeta:l,autoCollectPropositionInteractions:a}),[Ho]:as({logger:t,executeRedirect:P,collect:s}),[zo]:gs({modules:Ss(s),logger:t})},R=ss({schemaProcessors:D,logger:t}),T=(()=>{let e=Promise.resolve([]);return{concat(t){e=e.then(e=>t.then(t=>e.concat(t)).catch(()=>e))},clear(){const t=e;return e=Promise.resolve([]),t}}})(),O=((e,t)=>(n,r,o,i)=>{if(!n)return()=>{};if(!r){const e=g();return t.concat(e.promise),e.resolve}return(t=[],n=[])=>{E(t)&&e({decisionsMeta:t,viewName:o,identityMap:i}),E(n)&&e({decisionsMeta:n,eventType:di,propositionAction:{reason:"Conflict"},viewName:o,identityMap:i})}})(s,T),N=(({logger:e,prehidingStyle:t,showContainers:n,hideContainers:r,mergeQuery:o,processPropositions:i,createProposition:a,notificationHandler:s,consent:c})=>({cacheUpdate:d,personalizationDetails:l,event:u,onResponse:p,identityMap:g})=>{const{state:m,wasSet:f}=c.current();"out"===m&&f||(l.isRenderDecisions()?r(t):n()),o(u,l.createQueryDetails());const h=s(l.isRenderDecisions(),l.isSendDisplayEvent(),l.getViewName(),g);p(({response:t})=>{const r=t.getPayloadsByType("personalization:decisions");E(r)||e.logOnContentRendering({status:"no-offers",message:"No offers were returned.",logLevel:"info",detail:{query:l.createQueryDetails()}});const o=r.map(e=>a(e,!0,!1,g)),{page:s=[],view:c=[],proposition:u=[]}=W(o,e=>e.getScopeType()),p=d.update(c);let m,f,y;return l.isRenderDecisions()?(({render:m,returnedPropositions:f,returnedDecisions:y}=i([...s,...p],u)),E(s)&&e.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for page-wide scope.",logLevel:"info",detail:{scope:mn,propositions:s.map(e=>e.toJSON())}}),E(p)&&e.logOnContentRendering({status:"rendering-started",message:"Rendering propositions started for view scope - "+l.getViewName()+".",logLevel:"info",detail:{scope:l.getViewName(),propositions:p.map(e=>e.toJSON())}}),m().then(h),1===s.length&&s[0].getItems().every(e=>e.getSchema()===Ho)||n()):({returnedPropositions:f,returnedDecisions:y}=i([],[...s,...p,...u])),{propositions:f,decisions:y}})})({prehidingStyle:i,showContainers:c,hideContainers:d,mergeQuery:ja,processPropositions:R,createProposition:k,notificationHandler:O,consent:r,logger:t}),M=(({mergeDecisionsMeta:e,collectInteractions:t,collectClicks:n,getInteractionMetas:r,getClickMetas:o,getClickSelectors:i,autoCollectPropositionInteractions:a})=>({event:s,clickedElement:c})=>{const d=[];let l,u,p;if([t(c,r,a),n(c,i(),o)].forEach(({decisionsMeta:e,propositionActionLabel:t,propositionActionToken:n,viewName:r})=>{Array.prototype.push.apply(d,e),!l&&t&&(l=t),!u&&n&&(u=n),!p&&r&&(p=r)}),E(d)){const t={eventType:ai};p&&(t.web={webPageDetails:{viewName:p}}),s.mergeXdm(t),e(s,d,[li.INTERACT],((e,t)=>{if(!t&&!e)return;const n={};return e&&(n.label=e),t&&(n.tokens=[t]),n})(l,u))}})({mergeDecisionsMeta:_a,collectInteractions:Ds,collectClicks:La,getInteractionMetas:u,getClickMetas:y,getClickSelectors:m,autoCollectPropositionInteractions:a}),A=(({processPropositions:e,viewCache:t,logger:n})=>({personalizationDetails:r,onResponse:o})=>{let i,a;const s=r.getViewName();return o(()=>({propositions:i,decisions:a})),t.getView(s).then(t=>{let o;return r.isRenderDecisions()?(({render:o,returnedPropositions:i,returnedDecisions:a}=e(t)),n.logOnContentRendering({status:"rendering-started",message:"Started rendering propositions for view scope - "+s+".",logLevel:"info",detail:{scope:s,propositions:t.map(e=>e.toJSON())}}),o()):(({returnedPropositions:i,returnedDecisions:a}=e([],t)),[])})})({processPropositions:R,viewCache:S,logger:t}),x=Ha({processPropositions:R,createProposition:k,renderedPropositions:T,viewCache:S}),q=(({targetMigrationEnabled:e})=>e?e=>{e.getPayload().mergeMeta({target:{migration:!0}})}:fe)({targetMigrationEnabled:o}),L=cs({processPropositions:R,createProposition:k,notificationHandler:O}),U=(({showContainers:e,consent:t})=>()=>{const{state:n,wasSet:r}=t.current();n===zt&&r?e():t.awaitConsent().catch(e)})({showContainers:c,consent:r});return hi({getPageLocation:w,logger:t,fetchDataHandler:N,viewChangeHandler:A,onClickHandler:M,isAuthoringModeEnabled:Ua,mergeQuery:ja,viewCache:S,showContainers:c,applyPropositions:x,setTargetMigration:q,mergeDecisionsMeta:_a,renderedPropositions:T,onDecisionHandler:L,handleConsentFlicker:U})};Os.namespace="Personalization";const Ns=Ya.map(e=>St(e));Os.configValidators=Rt({prehidingStyle:Tt().nonEmpty(),targetMigrationEnabled:Ct().default(!1),autoCollectPropositionInteractions:Rt({[Rs]:It(Ns).default(Qa),[Ts]:It(Ns).default(Ka)}).default({[Rs]:Qa,[Ts]:Ka}).noUnknownFields()});const Ms=e=>null!==e&&"object"==typeof e&&Object.getPrototypeOf(e)===Object.prototype,As=(e,t={},n=[])=>(Object.keys(e).forEach(r=>{Ms(e[r])||Array.isArray(e[r])?As(e[r],t,[...n,r]):t[[...n,r].join(".")]=e[r]}),t);var xs=e=>Ms(e)?As(e):e;const qs="matcher",Ls="group",Us="historical",_s="eq",js="ne",Bs="ex",Fs="nx",Vs="gt",Hs="ge",zs="lt",Js="le",Xs="co",Gs="nc",Qs="sw",Ks="ew",Ws="and",Ys="or",$s="ordered",Zs="mostRecent";function ec(e){return"object"==typeof e||void 0===e}function tc(e){return"number"==typeof e}const nc={[_s]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r===String(n[e]).toLowerCase())return!0;return!1}},[js]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r===String(n[e]).toLowerCase())return!1;return!0}},[Bs]:{matches:(e,t)=>void 0!==e[t]&&null!==e[t]},[Fs]:{matches:(e,t)=>void 0===e[t]||null===e[t]},[Vs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r>n[e])return!0;return!1}},[Hs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r>=n[e])return!0;return!1}},[zs]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r<n[e])return!0;return!1}},[Js]:{matches:(e,t,n=[])=>{const r=e[t];if(!tc(r))return!1;for(let e=0;e<n.length;e+=1)if(tc(n[e])&&r<=n[e])return!0;return!1}},[Xs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!0;return!1}},[Gs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&-1!==r.indexOf(String(n[e]).toLowerCase()))return!1;return!0}},[Qs]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r.startsWith(String(n[e]).toLowerCase()))return!0;return!1}},[Ks]:{matches:(e,t,n=[])=>{if(ec(e[t]))return!1;const r=String(e[t]).toLowerCase();for(let e=0;e<n.length;e+=1)if(!ec(n[e])&&r.endsWith(n[e].toLowerCase()))return!0;return!1}}};function rc(e){return void 0===e}const oc="eventId",ic="eventType",ac=["iam.eventType",ic,"type"],sc=["iam.id","id"],cc=(e,t)=>{for(let n=0;n<t.length;n+=1)if(!rc(e[t[n]]))return t[n];throw new Error("The event does not match the expected schema.")},dc=e=>{const t=structuredClone(e);return[[cc(t,ac),ic],[cc(t,sc),oc]].forEach(([e,n])=>{e!==n&&(t[n]=t[e],delete t[e])}),t};function lc(e,t){return{evaluate:(e,n)=>t.evaluate(e,n),toString:()=>"Condition{type="+e+", definition="+t+"}"}}function uc(e,t,n){return{evaluate:r=>{const o=function(e){return nc[e]}(t);return!!o&&o.matches(r,e,n)}}}function pc(e,t,n,r,o,i){return{evaluate:(a,s)=>{let c;return c=Zs===i?function(e,t,n,r=0,o=1/0){try{return e.reduce((e,i,a)=>{const s=n.generateEventHash(dc(i)),c=t.events[s];if(!c)return e;const d=c.timestamps.filter(e=>e>=r&&e<=o).pop();return d&&d>e.timestamp?{index:a,timestamp:d}:e},{index:-1,timestamp:0}).index}catch{return-1}}(e,a,s,r,o):$s===i?function(e,t,n,r=0,o=1/0){try{let i=r;const a=e.every(e=>{const r=n.generateEventHash(dc(e)),a=t.events[r];if(!a)return!1;const s=a.timestamps[0],c=s>=i&&s<=o;return i=s,c});return Number(a)}catch{return 0}}(e,a,s,r,o):function(e,t,n,r=0,o=1/0){return e.reduce((e,i)=>{try{const a=n.generateEventHash(dc(i)),s=t.events[a];if(!s)return e;const{timestamps:c=[]}=s;return e+c.filter(e=>e>=r&&e<=o).length}catch{return e}},0)}(e,a,s,r,o),((e,t,n)=>{switch(t){case Vs:return e>n;case Hs:return e>=n;case zs:return e<n;case Js:return e<=n;case _s:return e===n;case js:return e!==n;default:return!1}})(c,t,n)}}}function gc(e){const{logic:t,conditions:n}=e;return function(e,t){return{evaluate:(n,r)=>Ws===e?function(e,t,n){let r=!0;for(let o=0;o<t.length;o+=1)r=r&&t[o].evaluate(e,n);return r}(n,t,r):Ys===e&&function(e,t,n){let r=!1;for(let o=0;o<t.length;o+=1)if(r=r||t[o].evaluate(e,n),r)return!0;return!1}(n,t,r)}}(t,n.map(mc))}function mc(e){const{type:t,definition:n}=e;if(qs===t){const e=function(e){const{key:t,matcher:n,values:r}=e;return uc(t,n,r)}(n);return lc(t,e)}if(Ls===t){return lc(t,gc(n))}if(Us===t){const e=function(e){const{events:t,from:n,to:r,matcher:o,value:i,searchType:a}=e;return pc(t,o,i,n,r,a)}(n);return lc(t,e)}throw new Error("Can not parse condition")}function fc(e){const{id:t,type:n,detail:r}=e;return function(e,t,n){return{id:e,type:t,detail:n}}(t,n,r)}function hc(e){const{condition:t,consequences:n,key:r}=e;return function(e,t,n){return{key:n,execute:(n,r)=>e.evaluate(n,r)?t:[],toString:()=>"Rule{condition="+e+", consequences="+t+"}"}}(mc(t),n.map(fc),r)}function yc(e){const{version:t,rules:n,metadata:r}=e,o=n.map(hc),i=function(e){if(!e)return;return{provider:e.provider,providerData:Object.assign({},e.providerData)}}(r);return function(e,t,n){return{version:e,rules:t,metadata:n}}(t,o,i)}function vc(e,t,n){const{providerData:r}=n,{identityTemplate:o}=r;return o.replace("<key>",t).replace("<identity>",e)}function wc(e,t=e=>e[0]){const n={};return function(...r){const o=t(r);return rc(n[o])&&(n[o]=e(...r)),n[o]}}function Ic(e,t){const n=65535&t;return((t-n)*e|0)+(n*e|0)|0}const bc=wc(function(e,t=0){let n;const r=e.length,o=3432918353,i=461845907;let a=t;const s=-2&r;for(let t=0;t<s;t+=2)n=e.charCodeAt(t)|e.charCodeAt(t+1)<<16,n=Ic(n,o),n=(131071&n)<<15|n>>>17,n=Ic(n,i),a^=n,a=(524287&a)<<13|a>>>19,a=5*a+3864292196|0;return r%2==1&&(n=e.charCodeAt(s),n=Ic(n,o),n=(131071&n)<<15|n>>>17,n=Ic(n,i),a^=n),a^=r<<1,a^=a>>>16,a=Ic(a,2246822507),a^=a>>>13,a=Ic(a,3266489909),a^=a>>>16,a},e=>e.join("-"));const Ec=wc(function(e,t){const n=bc(e),r=Math.abs(n)%t/t*100;return Math.round(100*r)/100});function Cc(e,t,n){return{allocation:Ec(e,t),...n}}function kc(e,t){return t.map(t=>t.execute(e)).filter(e=>e.length>0)}function Sc(e,t){!function(e){const{providerData:t}=e;if(!t)throw new Error("Provider data is missing in metadata");const{identityTemplate:n,buckets:r}=t;if(!n)throw new Error("Identity template is missing in provider data");if(!r)throw new Error("Buckets is missing in provider data")}(t);const n=e.filter(e=>!e.key),r=function(e){const t={};for(let n=0;n<e.length;n+=1){const r=e[n];r.key&&(t[r.key]||(t[r.key]=[]),t[r.key].push(r))}return t}(e),{buckets:o}=t.providerData;return{provider:"TGT",execute:e=>{const i=function(e){const{xdm:t}=e;if(!t)throw new Error("XDM object is missing in the context");const{identityMap:n}=t;if(!n)throw new Error("Identity map is missing in the XDM object");const r=n.ECID;if(!r)throw new Error("ECID identity namespace is missing in the identity map");if(!Array.isArray(r)||0===r.length)throw new Error("ECID identities array is empty or not an array");const o=r[0].id;if(!o)throw new Error("ECID identity is missing in the identities array");return o}(e),a=kc(e,n),s=Object.keys(r),c=[];for(let n=0;n<s.length;n+=1){const a=s[n],d=r[a],l=kc(Cc(vc(i,a,t),o,e),d);c.push(...l)}return[...a,...c]}}}function Pc(e,t={generateEventHash:()=>{throw new Error("No hash function provided")}}){const{rules:n,metadata:r={}}=yc(e);return function(e,t,n){const{provider:r}=t;return"TGT"===r?Sc(e,t):function(e,t){return{provider:"DEFAULT",execute:n=>e.map(e=>e.execute(n,t)).filter(e=>e.length>0)}}(e,n)}(n,r,t)}var Dc=e=>{const t=structuredClone(e),n=Object.keys(t).sort().reduce((e,n)=>{const r=t[n];return null==r||""===r?e:e+=n+":"+r},"");return H(n)};const Rc="events",Tc="~type",Oc="~source",Nc="com.adobe.eventType.edge",Mc="com.adobe.eventType.rulesEngine",Ac="com.adobe.eventSource.requestContent",xc="cjmiam",qc="schema";var Lc=(e=30,t=1e3)=>n=>{let r=Object.entries(n).reduce((e,[t,{timestamps:n=[]}])=>(n.forEach(n=>{e.push({key:t,timestamp:n})}),e),[]);const o=(e=>{const t=new Date;return t.setDate(t.getDate()-e),t})(e);return r=r.filter(({timestamp:e})=>e>=o),r.sort((e,t)=>e.timestamp-t.timestamp),r=r.slice(-t),r.reduce((e,{key:t,timestamp:n})=>(e[t]||(e[t]={timestamps:[]}),e[t].timestamps.push(n),e),{})};const Uc=e=>e?.scopeDetails?.activity?.id,_c=()=>{const e={};return{getItem:t=>t in e?e[t]:null,setItem:(t,n)=>{e[t]=n}}},jc=e=>{e.clear()};const Bc={[xc]:(e,t,n)=>{const{html:r,mobileParameters:o}=n;return{schema:zo,data:{mobileParameters:o,webParameters:{},content:r,contentType:ds},id:e}},[qc]:(e,t,n)=>{const{schema:r,data:o,id:i}=n;return{schema:r,data:o,id:i||e}}};const Fc=e=>{const{schema:t,data:n}=e;if(t===Vo)return!0;if(t!==Fo)return!1;try{const e="string"==typeof n.content?JSON.parse(n.content):n.content;return e&&Object.prototype.hasOwnProperty.call(e,"version")&&Object.prototype.hasOwnProperty.call(e,"rules")}catch{return!1}};var Vc=(e,t)=>{const n=e=>{const{id:t,type:n,detail:r}=e;return"function"==typeof Bc[n]?Bc[n](t,n,r):r},r=Uc(e),o=[],i=e=>{const{data:t={},schema:n}=e,r=n===Vo?t:t.content;r&&o.push(Pc("string"==typeof r?JSON.parse(r):r,{generateEventHash:Dc}))};return Array.isArray(e.items)&&e.items.filter(Fc).forEach(i),{rank:e?.scopeDetails?.rank||1/0,evaluate:i=>{const a=t.getEvent(ii,r),s=a?.timestamps[0],c=((e=[])=>Array.isArray(e)?e.flat(1/0):e)(o.map(e=>e.execute(i))).map(n).map(e=>{const n=t.addEvent({eventType:li.TRIGGER,eventId:r}).timestamps[0];return{...e,data:{...e.data,qualifiedDate:n,displayedDate:s}}});return{...e,items:c}},isEvaluable:o.length>0}},Hc=({storage:e,logger:t})=>{let n,r,o,i=e;const a=e=>{i=e;const t=((e,t)=>n=>{try{const n=e.getItem(t);return[JSON.parse(n),n.length]}catch{}return[n,0]})(i,Rc);if(n=((e,t)=>n=>{e.setItem(t,JSON.stringify(n))})(i,Rc),[r,o]=t({}),o>2097152){const e=Lc();r=e(r),n(r)}};a(e);const s=(e={eventType:null,eventId:null},o="insert")=>{const{eventType:i,eventId:a}=e;if(!i||!a)return;const s=Dc(e);if("insertIfNotExists"===o&&r[s])return;r[s]&&Array.isArray(r[s].timestamps)||(r[s]={timestamps:[]});const c=(new Date).getTime();return r[s].timestamps.push(c),r[s].timestamps.sort(),t.info("[Event History] Added event for",e,"with hash",s,"and timestamp",c),n(r),r[s]};return{addExperienceEdgeEvent:e=>{const{xdm:t}=e.getContent();if(!(e=>{const{_experience:t}=e||{};return!!t&&"object"==typeof t})(t))return;const{_experience:{decisioning:{propositionEventType:n={},propositionAction:{id:r}={},propositions:o=[]}={}}}=t;Object.keys(n).filter(e=>1===n[e]).forEach(e=>{o.forEach(t=>{(e=>e?.scopeDetails?.decisionProvider)(t)===Rs&&s({eventId:Uc(t),eventType:e,action:r})})})},addEvent:s,addEventPayloads:(e=[])=>e.map(({operation:e,event:t})=>s(t,e)),getEvent:(e,t)=>{const n=Dc({eventType:e,eventId:t});if(r[n])return r[n]},toJSON:()=>r,setStorage:a}};const zc=(e,...t)=>t,Jc=(e,...t)=>!0;var Xc=({collect:e})=>{let t=()=>{};const n=new Set,r=(e,t,r)=>{const o=[e,t].join("-"),i=!r.has(o)&&((e=>[li.INTERACT,li.DISMISS].includes(e))(e)||!n.has(o));return r.add(o),n.add(o),i},o=(t,n=[])=>{if(!(n instanceof Array))return Promise.resolve();if(!Object.values(li).includes(t))return Promise.resolve();const o=[],i=new Set;return n.forEach(e=>{const n=(e=>{const{id:t,scope:n,scopeDetails:r}=e;return{id:t,scope:n,scopeDetails:r}})(e);r(t,n.id,i)&&o.push(n)}),o.length>0?e({decisionsMeta:o,eventType:mi(t),documentMayUnload:!0}):Promise.resolve()},i=(()=>{let e=zc,t=Jc,n=0;const r={};return{add:(e,t=void 0)=>{return"function"!=typeof e?()=>{}:(n+=1,r[n]={callback:e,params:t},{id:n,unsubscribe:(o=n,()=>{delete r[o]})});var o},emit:(...n)=>{Object.values(r).forEach(({callback:r,params:o})=>{const i=e(o,...n);t(o,...i)&&r(...i)})},emitOne:(n,...o)=>{if(!n||!r[n])return;const{callback:i,params:a}=r[n],s=e(a,...o);t(a,...s)&&i(...s)},hasSubscriptions:()=>Object.keys(r).length>0,setEmissionPreprocessor:t=>{"function"==typeof t&&(e=t)},setEmissionCondition:e=>{"function"==typeof e&&(t=e)}}})();i.setEmissionPreprocessor((e,t)=>{const{surfacesFilter:n,schemasFilter:r}=e;return[{propositions:t.filter(e=>!n||n.includes(e.scope)).map(e=>{const{items:t=[]}=e;return{...e,items:t.filter(e=>!r||r.includes(e.schema))}}).filter(e=>e.items.length>0)},o]});return{refresh:e=>{t=t=>{t?i.emitOne(t,e):i.emit(e)},t()},command:{optionsValidator:e=>(({options:e})=>Rt({surfaces:Et(Tt()).uniqueItems(),schemas:Et(Tt()).uniqueItems(),callback:kt().required()}).noUnknownFields()(e))({options:e}),run:({surfaces:e,schemas:n,callback:r})=>{const{id:o,unsubscribe:a}=i.add(r,{surfacesFilter:e instanceof Array?e:void 0,schemasFilter:n instanceof Array?n:void 0});return t(o),Promise.resolve({unsubscribe:a})}}}};var Gc=({contextProvider:e,decisionProvider:t})=>({optionsValidator:e=>(({options:e})=>Rt({renderDecisions:Ct(),personalization:Rt({decisionContext:Rt({})})}).noUnknownFields()(e))({options:e}),run:({renderDecisions:n,decisionContext:r,applyResponse:o})=>o({renderDecisions:n,propositions:t.evaluate(e.getContext(r))})});const Qc=({config:e,eventManager:t,createNamespacedStorage:n,consent:r,getBrowser:o,logger:i})=>{const{orgId:a,personalizationStorageEnabled:s}=e,c=Na({eventManager:t,mergeDecisionsMeta:_a}),d=n(Q(a)+".decisioning.");s||jc(d.persistent);const l=Hc({storage:_c(),logger:i}),u=(({eventRegistry:e})=>{const t={},n=n=>{const r=Uc(n);if(!r)return;const o=Vc(n,e);o.isEvaluable&&(t[r]=o)};return{addPayload:n,addPayloads:e=>{e.forEach(n)},evaluate:(e={})=>Object.values(t).sort(({rank:e},{rank:t})=>e-t).map(t=>t.evaluate(e)).filter(e=>e.items.length>0)}})({eventRegistry:l}),p=(({eventRegistry:e,window:t,getBrowser:n})=>{const r=(new Date).getTime(),o=()=>{const e=new Date,t=e.getTime();return{pageLoadTimestamp:r,currentTimestamp:t,currentDate:e.getDate(),"~state.com.adobe.module.lifecycle/lifecyclecontextdata.dayofweek":e.getDay()+1,"~state.com.adobe.module.lifecycle/lifecyclecontextdata.hourofday":e.getHours(),currentMinute:e.getMinutes(),currentMonth:e.getMonth(),currentYear:e.getFullYear(),pageVisitDuration:t-r,"~timestampu":t/1e3,"~timestampz":e.toISOString()}},i={browser:{name:n()},page:{title:t.title,url:t.url,...ye(t.url)},referringPage:{url:t.referrer,...ye(t.referrer)}};return{getContext:(n={})=>{const r={...{...i,...o(),window:{height:t.height,width:t.width,scrollY:t.scrollY,scrollX:t.scrollX},"~sdkver":qn},...n};return{...xs(r),events:e.toJSON()}}}})({eventRegistry:l,window:window,getBrowser:o}),g=Gc({contextProvider:p,decisionProvider:u}),m=Xc({collect:c});let f;return{lifecycle:{onDecision({propositions:e}){m.refresh(e)},onComponentsRegistered(e){f=(({lifecycle:e,eventRegistry:t})=>({renderDecisions:n=!1,propositions:r=[],event:o,personalization:i})=>{if(e){const a=(e=>{const t=[];return e.forEach(e=>{const n=[];e.items.forEach(e=>{"https://ns.adobe.com/personalization/eventHistoryOperation"===e.schema?t.push({operation:e.data.operation,event:{eventId:e.data.content["iam.id"],eventType:e.data.content["iam.eventType"]}}):n.push(e)}),e.items=n}),t})(r);t.addEventPayloads(a);const s=o?.getUserIdentityMap();e.onDecision({renderDecisions:n,propositions:r,event:o,personalization:i,identityMap:s})}return{propositions:r}})({lifecycle:e.lifecycle,eventRegistry:l}),s&&r.awaitConsent().then(()=>{l.setStorage(d.persistent)}).catch(()=>{d&&jc(d.persistent)})},onBeforeEvent({event:e,renderDecisions:t,personalization:n={},onResponse:r=fe}){const{decisionContext:o={}}=n;r((({renderDecisions:e,decisionProvider:t,applyResponse:n,event:r,personalization:o,decisionContext:i})=>{const a={...xs(r.getContent()),...i};return({response:i})=>{if(t.addPayloads(i.getPayloadsByType("personalization:decisions")),!r.hasQuery())return{propositions:[]};const s=t.evaluate(a);return n({renderDecisions:e,propositions:s,event:r,personalization:o})}})({renderDecisions:t,decisionProvider:u,applyResponse:f,event:e,personalization:n,decisionContext:p.getContext({[Tc]:Nc,[Oc]:Ac,...o})}))},onBeforeRequest({request:e}){const t=e.getPayload().toJSON(),{events:n=[]}=t;0!==n.length&&n.forEach(e=>l.addExperienceEdgeEvent(e))}},commands:{evaluateRulesets:{run:({renderDecisions:e,personalization:t={}})=>{const{decisionContext:n={}}=t;return g.run({renderDecisions:e,decisionContext:{[Tc]:Mc,[Oc]:Ac,...n},applyResponse:f})},optionsValidator:g.optionsValidator},subscribeRulesetItems:m.command}}};Qc.namespace="RulesEngine",Qc.configValidators=Rt({personalizationStorageEnabled:Ct().default(!1)});var Kc=Rt({streamingMedia:Rt({channel:Tt().nonEmpty().required(),playerName:Tt().nonEmpty().required(),appVersion:Tt(),mainPingInterval:Pt().minimum(10).maximum(50).default(10),adPingInterval:Pt().minimum(1).maximum(10).default(10)}).noUnknownFields()}),Wc=({config:e,trackMediaEvent:t,trackMediaSession:n,mediaResponseHandler:r})=>({lifecycle:{onBeforeEvent({mediaOptions:e,onResponse:t=fe}){if(!e)return;const{legacy:n,playerId:o,getPlayerDetails:i}=e;n||t(({response:e})=>r({playerId:o,getPlayerDetails:i,response:e}))}},commands:{createMediaSession:{optionsValidator:e=>(({options:e})=>It([Rt({playerId:Tt().required(),getPlayerDetails:kt().required(),xdm:Rt({mediaCollection:Rt({sessionDetails:Rt(bt()).required()})}),edgeConfigOverrides:Mt}).required(),Rt({xdm:Rt({mediaCollection:Rt({playhead:Pt().required(),sessionDetails:Rt(bt()).required()})}),edgeConfigOverrides:Mt}).required()],"an object with playerId, getPlayerDetails and xdm.mediaCollection.sessionDetails, or an object with xdm.mediaCollection.playhead and xdm.mediaCollection.sessionDetails")(e))({options:e}),run:n},sendMediaEvent:{optionsValidator:e=>(({options:e})=>It([Rt({playerId:Tt().required(),xdm:Rt({eventType:Ot(...Object.values(co)).required(),mediaCollection:Rt(bt())}).required()}).required(),Rt({xdm:Rt({eventType:Ot(...Object.values(co)).required(),mediaCollection:Rt({playhead:Pt().integer().required(),sessionID:Tt().required()}).required()}).required()}).required()],"Error validating the sendMediaEvent command options.")(e))({options:e}),run:n=>e.streamingMedia?t(n):Promise.reject(new Error("Streaming media is not configured."))}}});const Yc=({config:e,logger:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o})=>{const i=go(),a=lo({config:e,eventManager:n,consent:o,sendEdgeNetworkRequest:r,setTimestamp:xn(()=>new Date)}),s=mo({mediaSessionCacheManager:i,mediaEventManager:a,config:e}),c=fo({config:e,mediaEventManager:a,mediaSessionCacheManager:i}),d=yo({mediaSessionCacheManager:i,config:e,trackMediaEvent:s});return Wc({config:e,trackMediaEvent:s,mediaResponseHandler:d,trackMediaSession:c})};Yc.namespace="Streaming media",Yc.configValidators=Kc;var $c=Rt({advertising:Rt({id5PartnerId:Tt(),rampIdJSPath:Tt(),dspEnabled:Ct(),advertiserSettings:Et(Rt({advertiserId:Tt().required(),enabled:Ct().required()}).noUnknownFields())}).noUnknownFields()});const Zc="advertising",ed="_les_lsc",td="lastConversionTime",nd="displayClickCookieExpires",rd="rampIdExpires",od="surferId",id="rampId",ad="id5Id",sd="advertising.enrichment",cd="trackingCode",dd="trackingIdentities",ld="Ad conversion submission failed",ud="ev_lcc";var pd=({orgId:e,logger:t})=>{const n=p({logger:t,cookieJar:a}),r=(t,n=!0)=>n?K(e,t):t,o=(e=30)=>new Date(Date.now()+60*e*1e3),i=(e,o=!0)=>{try{const t=r(e,o),i=n.get(t);return i?(e=>{try{if(e?.startsWith("%7B")||e?.startsWith("{"))return JSON.parse(decodeURIComponent(e))}catch{}return e})(i):null}catch(n){return t.error("Error reading cookie: "+e,n),null}},s=(e,o,i={},a=!0)=>{try{const t=r(e,a),s=(e=>"object"==typeof e&&null!==e?encodeURIComponent(JSON.stringify(e)):e)(o);return n.set(t,s,i),!0}catch(n){return t.error("Error writing cookie: "+e,n),!1}};return{setValue:(e,t,n={})=>{const r={...i(Zc)||{},[e]:t};return s(Zc,r,{expires:o(527040),...n})},getValue:e=>(i(Zc)||{})[e]}};var gd=({cookieManager:e,logger:t,componentConfig:n,getBrowser:r,consent:o,collectSurferId:i,getID5Id:a,getRampId:s,appendAdvertisingIdQueryToEvent:c,getUrlParams:d,isThrottled:l})=>async({event:u,advertising:p={}})=>{const{state:g}=o.current();if("in"!==g)return;const{skwcid:m,efid:f}=d(),h=!(!m||!f);if(!((e=>![Qt,Gt].includes(e?.handleAdvertisingData?.toLowerCase()))(p)||h||l(od,e)&&l(ad,e)&&l(id,e)))try{const o=(e=>e?.handleAdvertisingData?.toLowerCase()===Gt)(p);let d=null;r&&r()===Y||(d=s(t,n.rampIdJSPath,e,o,o));const[g,m,f]=await Promise.allSettled([i(e,r,o),a(t,n.id5PartnerId,o,o),d]),h={};if("fulfilled"===g.status&&g.value&&!l(od,e)&&(h.surferId=g.value),"fulfilled"===m.status&&m.value&&!l(ad,e)&&(h.id5Id=m.value),"fulfilled"===f.status&&f.value&&!l(id,e)&&(h.rampId=f.value),0===Object.keys(h).length&&(l(od,e)||l(ad,e)||l(id,e)))return;c(h,u,e,n)}catch(e){t.error("Error in onBeforeSendEvent hook:",e)}};let md="",fd="",hd=null;const yd=()=>hd||(hd=new Promise((e,t)=>{setTimeout(()=>{const n="https:"===document.location.protocol?"https:":"http:",r=n+"//www.everestjs.net/static/pixel_details.html#"+new URLSearchParams({google:"__EFGCK__",gsurfer:"__EFGSURFER__",imsId:"__EFIMSORGID__",is_fb_cookie_synced:"__EFFB__",optout:"__EFOPTOUT__",throttleCookie:"__EFSYNC__",time:"__EFTIME__",ev_lcc:"__LCC__"}).toString(),o=n+"//pixel.everesttech.net/1/gr?"+new URLSearchParams({ev_gb:"0",url:r}).toString(),i=h("iframe",{src:o},{height:0,width:0,frameBorder:0,style:{display:"none"}},[]);var a;a=i,document.body?document.body.appendChild(a):window.addEventListener("load",()=>{document.body.appendChild(a)},!1);var s;s=function n(r){var o;if(r.origin.includes("www.everestjs.net"))try{const t=r.data,i=t.indexOf("#");if(-1===i)return void e({surferId:null,displayClickCookie:null});const a=new URLSearchParams(t.substring(i+1));let s,c;const d=a.get("gsurfer");d&&(s=d);const l=a.get(ud);l&&"__LCC__"!==l&&(c=l),o=n,window.removeEventListener("message",o,!1),s?(md=s,fd=c,e({surferId:md,displayClickCookie:fd})):e({surferId:null,displayClickCookie:null})}catch(e){t(e)}finally{hd=null}},window.addEventListener("message",s,!1)},5e3)}),hd),vd=function(e,t,n=!0){if(t){if(!ae({getBrowser:t})())return Promise.resolve(null)}if(md&&""!==md)return Promise.resolve(md);if(e){const t=e.getValue(od);if(t)return md=t,Promise.resolve(t)}return n?yd().then(t=>(e&&t&&(t.surferId&&e.setValue(od,t.surferId),t.displayClickCookie&&(e.setValue(ud,t.displayClickCookie),e.setValue(nd,Date.now()+9e5))),t.surferId)):Promise.resolve(null)},wd=15,Id=3e4,bd=500,Ed=5e3,Cd=2e3,kd={rampIdEnv:void 0,rampIdCallInitiated:!1,inProgressRampIdPromise:null,envelopeRetrievalInProgress:!1},Sd=(e,t,n,r)=>{let o;try{o=JSON.parse(e).envelope}catch{o=e}o&&!kd.rampIdCallInitiated?(kd.rampIdCallInitiated=!0,kd.rampIdEnv=o,kd.envelopeRetrievalInProgress=!1,kd.inProgressRampIdPromise=null,n.setValue(id,kd.rampIdEnv),n.setValue(rd,Date.now()+1728e5),t(kd.rampIdEnv)):(r.warn("Invalid RampID envelope received",{envelope:o}),kd.envelopeRetrievalInProgress=!1)},Pd=(e,t,n,r=!1)=>{if(kd.inProgressRampIdPromise)return kd.inProgressRampIdPromise;const o=r?Cd:Id;let i=!1;const a=new Promise((r,o)=>{U(e,{onLoad:()=>{void 0===window.ats||kd.envelopeRetrievalInProgress||(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{e?i||Sd(e,r,t,n):(kd.envelopeRetrievalInProgress=!1,window.addEventListener("lrEnvelopePresent",()=>{kd.envelopeRetrievalInProgress||i||(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(e=>{i||Sd(e,r,t,n)},e=>{i||(n.error("Failed to retrieve envelope after event",e),kd.envelopeRetrievalInProgress=!1,o(e),kd.inProgressRampIdPromise=null)}))}))}).catch(e=>{i||(n.error("Error retrieving envelope",e),kd.envelopeRetrievalInProgress=!1,o(e),kd.inProgressRampIdPromise=null)})),((e,t,n,r)=>{let o=wd,i=1,a=0;const s=()=>{if(kd.rampIdEnv)return;if(a>Id)return r.error("Maximum retry time exceeded"),kd.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID - timeout")),void(kd.inProgressRampIdPromise=null);if(0===o)return r.error("Maximum retries exceeded"),kd.envelopeRetrievalInProgress=!1,t(new Error("Failed to retrieve RampID after maximum retries")),void(kd.inProgressRampIdPromise=null);const c=Math.min(bd*i,Ed);setTimeout(()=>{a+=c,o-=1,i+=1,void 0===window.ats||null===window.ats||kd.rampIdEnv||kd.envelopeRetrievalInProgress?s():(kd.envelopeRetrievalInProgress=!0,window.ats.retrieveEnvelope().then(t=>{Sd(t,e,n,r),kd.rampIdEnv||s()},()=>{r.warn("Failed to retrieve envelope"),kd.envelopeRetrievalInProgress=!1,s()}))},c)};s()})(e=>{i||r(e)},e=>{i||o(e)},t,n)},onError:e=>{i||o(e),kd.inProgressRampIdPromise=null}})}),s=new Promise(e=>{setTimeout(()=>{i=!0,e(null)},o)});return kd.inProgressRampIdPromise=Promise.race([a,s]).finally(()=>{kd.inProgressRampIdPromise=null}),kd.inProgressRampIdPromise},Dd=(e,t,n,r=!0,o=!1)=>{if(kd.rampIdEnv)return Promise.resolve(kd.rampIdEnv);if(n){const e=n.getValue(id),t=n.getValue(rd);if(e&&t&&t>Date.now())return kd.rampIdEnv=e,Promise.resolve(e)}return r&&null!=t?Pd(t,n,e,o):Promise.resolve(null)};let Rd="",Td=null;const Od=function(e,t,n=!0,r=!1){return Rd&&""!==Rd?Promise.resolve(Rd):n?((e,t,n)=>{if(e=Math.floor(Number(e)),Td)return Td;const r=t?2e3:3e4;let o=!1;const i=new Promise((t,r)=>{if(!e)return n.error("Missing partner ID"),void r(new Error("ID5 partner ID is required"));const i=()=>{try{if(void 0===window.ID5)return void r(new Error("ID5 object not available after script load"));const i=window.ID5.init({partnerId:e});Rd=i.getUserId();const a=e=>{o||t(e)};Rd?a(Rd):window.ID5.init({partnerId:e}).onAvailable(function(t){Rd=t.getUserId(),Rd?a(Rd):window.ID5.init({partnerId:e}).onAvailable(function(e){Rd=e.getUserId(),Rd?a(Rd):(n.error("Failed to get ID5 ID after all retries"),a(null))})},1e3)}catch(e){n.error("Error during ID5 initialization",e),r(e)}};void 0!==window.ID5?i():U("https://www.everestjs.net/static/id5-api.js",{onLoad:i,onError:e=>{n.error("Script loading failed",e),r(e)}})}),a=new Promise(e=>{setTimeout(()=>{o=!0,e(null)},r)});return Td=Promise.race([i,a]).finally(()=>{Td=null}),Td})(t,r,e).then(e=>e).catch(t=>{throw e.error("Failed to get ID5 ID",t),t}):Promise.resolve(null)},Nd=()=>{const e=Ee.parse(window.location.search);return{skwcid:e.s_kwcid,efid:e.ef_id}},Md=e=>e&&Array.isArray(e)?e.filter(e=>e&&!0===e.enabled&&e.advertiserId).map(e=>e.advertiserId).join(", "):"",Ad=(e,t,n,r,o=!1)=>{const i=n.getValue(ed);let a=null;const s=n.getValue(nd);s&&s>Date.now()&&(a=n.getValue(ud));const c={advertising:{...i?.click_time&&{lastSearchClick:i.click_time},...a&&{lastDisplayClick:a},stitchIds:{...e[od]&&{surferId:e[od]},...e[ad]&&{id5:e[ad]},...e[id]&&{rampIdEnv:e[id]},ipAddress:"DUMMY_IP_ADDRESS"},advIds:Md(r.advertiserSettings),...o&&{eventType:sd}}};return t.mergeQuery(c),t},xd=(e,t)=>{const n=Date.now(),r=t.getValue(e+"_last_conversion");return Boolean(r&&n-r<18e5)};async function qd({eventManager:e,cookieManager:t,logger:n,componentConfig:r,adConversionHandler:o,getBrowser:i}){const a={},s={},c=async()=>{if(i=a,c=s,!Object.entries(i).some(([e])=>!c[e]))return null;var i,c;const d=Object.keys(a);try{const i=Ad(a,e.createEvent(),t,r,!0),c={eventType:sd,timestamp:(new Date).toISOString()};i.setUserXdm(c);const l=await o.trackAdConversion({event:i});return((e,t,n,r)=>{const o=Date.now();e.forEach(e=>{t[e]=!0,n.setValue(e+"_last_conversion",o),r.info("Ad conversion submitted successfully".replace("{0}",e))}),n.setValue(td,o)})(d,s,t,n),l}catch(e){return n.error(ld,e),null}},d=((e,t,n,r)=>{const o={};return xd(od,n)||(o.surferId=vd(n,r,!0).catch(()=>null)),t.id5PartnerId&&t.dspEnabled&&!xd(ad,n)&&(o.id5Id=Od(e,t.id5PartnerId).catch(()=>null)),t.rampIdJSPath&&t.dspEnabled&&!xd(id,n)&&(o.rampId=Dd(e,t.rampIdJSPath,n,!0).catch(()=>null)),o})(n,r,t,i);if(0===Object.keys(d).length)return[];const l=Object.entries(d).map(([e,t])=>t.then(t=>{if(t)return a[e]=t,c()}).catch(t=>(n.error("Unable to obtain ad identity".replace("{0}",e),t),null)));return Promise.allSettled(l)}var Ld=({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,componentConfig:o,getBrowser:i,consent:a})=>{const s=o?.advertiserSettings?Md(o.advertiserSettings):"";return async()=>{try{await a.awaitConsent();const{skwcid:c,efid:d}=Nd();if(!(!c&&!d))return async function({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:o,efid:i}){const a=Array.isArray(o)?o[0]:o,s=Array.isArray(i)?i[0]:i;r.info("Processing ad conversion",{skwcid:a,efid:s});const c=e.createEvent();if(void 0!==a&&void 0!==s&&a.startsWith("AL!")){const e={click_time:Date.now(),skwcid:a,efid:s};t.setValue(ed,e)}const d={_experience:{adcloud:{conversionDetails:{...void 0!==a&&{[cd]:a},...void 0!==s&&{[dd]:s}}}},eventType:"advertising.enrichment_ct",timestamp:(new Date).toISOString()};c.setUserXdm(d),t.setValue(td),t.setValue("lastConversionTimeExpires",Date.now()+78624e5);try{return await n.trackAdConversion({event:c})}catch(e){throw r.error(ld,e),e}}({eventManager:e,cookieManager:t,adConversionHandler:n,logger:r,skwcid:c,efid:d});s&&qd({eventManager:e,cookieManager:t,logger:r,componentConfig:o,adConversionHandler:n,getBrowser:i}).catch(e=>r.error("Error in view through:",e))}catch(e){r.error("Error in sendAdConversion:",e)}}};const Ud=({logger:e,config:t,eventManager:n,sendEdgeNetworkRequest:r,consent:o,getBrowser:i})=>{const a=t.advertising,s=pd({orgId:t.orgId,logger:e}),c=(({sendEdgeNetworkRequest:e,consent:t,createDataCollectionRequest:n,createDataCollectionRequestPayload:r,logger:o})=>({trackAdConversion:({event:i})=>{const a=r();a.addEvent(i),i.finalize();const s=n({payload:a});return t.awaitConsent().then(()=>e({request:s}).then(()=>({success:!0})).catch(e=>{throw o.error("Failed to send ad conversion event",e),e}))}}))({sendEdgeNetworkRequest:r,consent:o,createDataCollectionRequest:yn,createDataCollectionRequestPayload:In,logger:e});return(({handleOnBeforeSendEvent:e,sendAdConversionHandler:t})=>({lifecycle:{onComponentsRegistered(){t()},onBeforeEvent:e}}))({handleOnBeforeSendEvent:gd({cookieManager:s,logger:e,getBrowser:i,consent:o,componentConfig:a,collectSurferId:vd,getID5Id:Od,getRampId:Dd,appendAdvertisingIdQueryToEvent:Ad,getUrlParams:Nd,isThrottled:xd}),sendAdConversionHandler:Ld({eventManager:n,cookieManager:s,adConversionHandler:c,logger:e,componentConfig:a,getBrowser:i,consent:o})})};Ud.namespace="Advertising",Ud.configValidators=$c;const _d=async({vapidPublicKey:e,window:t})=>{if(!("serviceWorker"in t.navigator))throw new Error("Service workers are not supported in this browser.");if(!("PushManager"in t)||!("Notification"in t))throw new Error("Push notifications are not supported in this browser.");if("granted"!==t.Notification.permission)throw new Error("The user has not given permission to send push notifications.");const o=await t.navigator.serviceWorker.getRegistration();if(!o)throw new Error("No service worker registration was found.");if(!e)throw new Error("No VAPID public key was provided.");const i={userVisibleOnly:!0,applicationServerKey:n(e)};try{const e=await o.pushManager.subscribe(i);return{endpoint:e.endpoint,keys:{p256dh:r(new Uint8Array(e.getKey("p256dh")),{urlSafe:!0}),auth:r(new Uint8Array(e.getKey("auth")),{urlSafe:!0})}}}catch(n){const r=await o.pushManager.getSubscription();if(!r)throw n;if(!await r.unsubscribe())throw n;return _d({vapidPublicKey:e,window:t})}};const jd="config",Bd="alloyConfig";async function Fd(e,t){try{const i=await(n="alloyPushNotifications",r=1,o=e=>{e.objectStoreNames.contains(jd)||e.createObjectStore(jd,{keyPath:"id"})},new Promise((e,t)=>{const i=indexedDB.open(n,r);i.onerror=()=>t(i.error),i.onsuccess=()=>e(i.result),i.onupgradeneeded=e=>{const t=e.target.result;o&&o(t)}})),a=await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readonly").objectStore(t).get(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,jd,Bd),s={...a||{},...e,id:Bd,timestamp:Date.now()};await((e,t,n)=>new Promise((r,o)=>{const i=e.transaction([t],"readwrite").objectStore(t).put(n);i.onerror=()=>o(i.error),i.onsuccess=()=>r(i.result)}))(i,jd,s),i.close(),t.info("Successfully saved web SDK config to IndexedDB",s)}catch(e){t.error("Failed to save config to IndexedDB",{error:e})}var n,r,o}const Vd="subscriptionDetails";var Hd=async({config:{vapidPublicKey:e,appId:t},storage:n,logger:r,sendEdgeNetworkRequest:o,consent:i,eventManager:a,identity:s,window:c,getPushSubscriptionDetails:d=_d})=>{await s.awaitIdentity();const l=s.getEcidFromCookie(),u=await d({vapidPublicKey:e,window:c}),p=JSON.stringify(ke(u)),g=""+l+p;if(g===n.getItem(Vd))return void r.info("Subscription details have not changed. Not sending to the server.");n.setItem(Vd,g);const m=await(async({ecid:e,eventManager:t,serializedPushSubscriptionDetails:n,appId:r})=>{const o=t.createEvent();o.setUserData({pushNotificationDetails:[{appID:r,token:n,platform:"web",denylisted:!1,identity:{namespace:{code:"ECID"},id:e}}]}),o.finalize();const i=In();return i.addEvent(o),i})({eventManager:a,ecid:l,serializedPushSubscriptionDetails:p,appId:t}),f=(({payload:e})=>hn({payload:e,getAction:()=>"interact",getUseSendBeacon:()=>!1}))({payload:m});await i.awaitConsent(),await o({request:f}),await Fd({ecid:l},r)};const zd=({orgId:e,pushNotifications:{vapidPublicKey:t,appId:n,trackingDatasetId:r}={vapidPublicKey:void 0,appId:void 0,trackingDatasetId:void 0}})=>e&&t&&n&&r,Jd=({createNamespacedStorage:e,eventManager:t,config:n,logger:r,consent:o,identity:i,getBrowser:a,sendEdgeNetworkRequest:s})=>({lifecycle:{async onComponentsRegistered(){if(zd(n)){const{datastreamId:e,edgeDomain:t,edgeBasePath:o,pushNotifications:{trackingDatasetId:i}}=n;await Fd({datastreamId:e,edgeDomain:t,edgeBasePath:o,datasetId:i,browser:a()},r)}}},commands:{sendPushSubscription:{run:async()=>{if(!zd(n))throw new Error("Push notifications module is not configured.");const{orgId:a,pushNotifications:{vapidPublicKey:c,appId:d}={vapidPublicKey:void 0,appId:void 0}}=n||{},l=e(Q(a)+".pushNotifications.");return Hd({config:{vapidPublicKey:c,appId:d},storage:l.persistent,logger:r,sendEdgeNetworkRequest:s,consent:o,eventManager:t,identity:i,window:window})},optionsValidator:Rt({}).noUnknownFields()}}});Jd.namespace="Push Notifications",Jd.configValidators=Rt({pushNotifications:Rt({vapidPublicKey:Tt().required(),appId:Tt().required(),trackingDatasetId:Tt().required()}).noUnknownFields()});const Xd=1e4,Gd=({loggingCookieJar:e,config:t})=>{if(!1===t.conversation.stickyConversationSession)return qe();const n=K(t.orgId,"bc_session_id"),r=e.get(n);return r||qe()};var Qd=({eventManager:e,config:t,logger:n,sendConversationServiceRequest:r,buildEndpointUrl:o,cookieTransfer:i,createResponse:a,decodeKndctrCookie:s,lifecycle:c,consent:d,session:l})=>{const{edgeDomain:u,edgeBasePath:p,datastreamId:g,onBeforeEventSend:m,conversation:f}=t;return h=>{let y=!1;const{message:v,onStreamResponse:w,xdm:I,data:b,voiceEnabled:E=!1}=h,C=In(),k=(({payload:e,action:t="conversations",sessionId:n,voiceEnabled:r=!1})=>hn({payload:e,edgeSubPath:r?"/brand-concierge-voice":"/brand-concierge",requestParams:{sessionId:n},getAction:()=>t,getUseSendBeacon:()=>!1}))({payload:C,sessionId:l.id,voiceEnabled:E}),S=e.createEvent();if(v||b){const e=(()=>{const e=(({window:e})=>()=>e.location)({window:window});return ei(e)})();S.mergeQuery({conversation:{surfaces:[e],message:v,data:b}})}const{state:P}=d.current();S.mergeMeta({consent:{state:P}});const D=s();S.mergeXdm({identityMap:{ECID:[{id:D}]}}),S.mergeXdm({...I}),(v||b)&&(y=!0);const R=o({edgeDomain:u,edgeBasePath:p,datastreamId:g,request:k});return c.onBeforeEvent({event:S}).then(()=>{try{S.finalize(m)}catch(e){throw w({error:e}),e}return C.addEvent(S),!0===t.conversation.stickyConversationSession&&i.cookiesToPayload(C,u),r({requestId:qe(),url:R,request:k,onStreamResponse:w,streamingEnabled:y}).then(e=>{if(204===e.status)return;const t=(({onStreamResponseCallback:e,streamTimeout:t})=>{let n,r=!1;const o=()=>{clearTimeout(n),n=setTimeout(()=>{r=!0,e({error:{message:"Stream timeout: No data received within "+t/1e3+" seconds"}})},t)};return o(),{onEvent:t=>{r||(o(),e(t))},onPing:()=>{r||o()},onComplete:()=>{clearTimeout(n)}}})({onStreamResponseCallback:e=>{if(e.error)return n.error("Stream error occurred",e.error),void w({error:e.error});const t=e.data.replace("data: ",""),r=JSON.parse(t),o=a({content:r});i.responseToCookies(o),n.info("onStreamResponse callback called with",o.getPayloadsByType("brand-concierge:conversation")),w(o.getPayloadsByType("brand-concierge:conversation"))},streamTimeout:f.streamTimeout}),r=(()=>{const e=/\r\n|\r|\n/,t=/\r\n\r\n|\n\n|\r\r/,n=e=>e.trim().startsWith(": ping"),r=t=>{const n=t.split(e),r={};for(const e of n){const t=e.trim();if(!t)continue;const n=t.indexOf(":");if(-1===n)continue;const o=t.substring(0,n).trim(),i=t.substring(n+1).trim();"data"===o?r.data=(r.data||"")+i:"event"===o?r.type=i:"id"===o&&(r.id=i)}return r.data?r:null};return async(e,{onEvent:o,onPing:i,onComplete:a})=>{const s=e.getReader(),c=new TextDecoder("utf-8");let d="";try{for(;;){const{done:e,value:a}=await s.read();if(e)break;d+=c.decode(a,{stream:!0});const l=d.split(t);d=l.pop()||"";for(const e of l){const t=e.trim();if(!t)continue;if(n(t)){i();continue}const a=r(t);null!==a&&o(a)}}const e=d.trim();if(!e)return void a();if(n(e))return i(),void a();const l=r(e);null!==l&&o(l),a()}catch(e){o({error:e}),a()}finally{s.releaseLock()}}})();r(e.body,t)})})}},Kd=Rt({conversation:Rt({stickyConversationSession:Ct().default(!1),streamTimeout:Pt().integer().minimum(Xd).default(Xd),collectSources:Ct().default(!1)}).default({stickyConversationSession:!1,streamTimeout:Xd,collectSources:!1})});const Wd=({loggingCookieJar:e,logger:t,eventManager:n,consent:r,instanceName:o,sendEdgeNetworkRequest:i,config:a,lifecycle:s,cookieTransfer:c,createResponse:d})=>{const{fetch:l}=window,u={id:Gd({loggingCookieJar:e,config:a})},p=(({queryString:e})=>({edgeDomain:t,request:n,datastreamId:r})=>{const o=n.getRequestParams(),i=n.getDatastreamIdOverride()||r;o.requestId=n.getId(),o.configId=i;const a=e.stringify({...o});return"https://"+t+n.getEdgeSubPath()+"/"+n.getAction()+"?"+a})({queryString:Ee}),g=(({logger:e,fetch:t})=>async({requestId:n,url:r,request:o,streamingEnabled:i=!0})=>{const a=o.getPayload(),s=JSON.stringify(a),c=JSON.parse(s),d={"Content-Type":"text/plain"};d.Accept=i?"text/event-stream":"text/plain",e.logOnBeforeNetworkRequest({url:r,requestId:n,payload:c});const l=async(o=1)=>{const i=[2e3,3e3,5e3];try{const e=await t(r,{method:"POST",headers:d,body:s});if(!e.ok)throw new Error("Request failed with status "+e.status);return e}catch(t){if(o<4){const a=i[o-1];return e.logOnNetworkError({requestId:n,url:r,payload:c,error:new Error("Attempt "+o+" failed, retrying in "+a+"ms: "+t.message)}),await new Promise(e=>setTimeout(e,a)),l(o+1)}throw e.logOnNetworkError({requestId:n,url:r,payload:c,error:t}),De({error:t,message:"Network request failed after all retries."})}};return(async()=>l())()})({logger:t,fetch:l,config:a}),m=Ft({orgId:a.orgId,cookieJar:e,logger:t}),f=Qd({logger:t,eventManager:n,consent:r,config:a,buildEndpointUrl:p,lifecycle:s,cookieTransfer:c,createResponse:d,sendConversationServiceRequest:g,decodeKndctrCookie:m,session:u});return{lifecycle:{onBeforeEvent({event:e}){if(a.conversation.collectSources){const t=Ee.parse(window.location.search).adobe_brand_concierge_source;t&&e.mergeXdm({channel:{referringSource:t}})}}},commands:{sendConversationEvent:{optionsValidator:e=>(({options:e})=>It([Rt({message:Tt().required(),onStreamResponse:kt().default(fe),voiceEnabled:Ct().default(!1)}),Rt({xdm:Rt({interactionId:Tt(),conversationId:Tt(),conversation:Rt({feedback:Rt({classification:Tt(),comment:Tt(),reasons:Et(Tt())})})}),voiceEnabled:Ct().default(!1)}).required(),Rt({data:Rt({type:Tt().required(),payload:Rt({})}).required(),onStreamResponse:kt().default(fe),voiceEnabled:Ct().default(!1)})])(e))({options:e}),run:f}}}};Wd.namespace="BrandConcierge",Wd.configValidators=Kd;var Yd=Object.freeze({__proto__:null,activityCollector:Qr,advertising:Ud,audiences:Yr,brandConcierge:Wd,consent:io,eventMerge:so,mediaAnalyticsBridge:Uo,personalization:Os,pushNotifications:Jd,rulesEngine:Qc,streamingMedia:Yc});const{console:$d}=window,Zd=de(window),el=(e={})=>{const t=Rt({name:Tt().default("alloy"),monitors:Et(Rt({})).default([]),components:Et(kt())}).noUnknownFields(),{name:n,monitors:r,components:o}=t(e),i=xt({console:$d,locationSearch:window.location.search,createLogger:gn,instanceName:n,createNamespacedStorage:Zd,getMonitors:An.bind(null,r)}),a=Cr({instanceName:n,logController:i,components:o});return i.logger.logOnInstanceCreated({instance:a}),a};(({components:e})=>{const t=window.__alloyNS;if(t)for(const n of t){const t=el({name:n,components:e}),r=e=>{const[n,r,[o,i]]=e;return t(o,i).then(n,r)},o=window[n].q;o.push=r,o.forEach(r)}})({components:Object.values(Yd)})}();
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Copyright 2019 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ const byteToHex = [];
14
+ for (let i = 0; i < 256; ++i) {
15
+ byteToHex.push((i + 0x100).toString(16).slice(1));
16
+ }
17
+ function unsafeStringify(arr, offset = 0) {
18
+ return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
19
+ }
20
+
21
+ let getRandomValues;
22
+ const rnds8 = new Uint8Array(16);
23
+ function rng() {
24
+ if (!getRandomValues) {
25
+ if (typeof crypto === 'undefined' || !crypto.getRandomValues) {
26
+ throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');
27
+ }
28
+ getRandomValues = crypto.getRandomValues.bind(crypto);
29
+ }
30
+ return getRandomValues(rnds8);
31
+ }
32
+
33
+ const randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);
34
+ var native = {
35
+ randomUUID
36
+ };
37
+
38
+ function _v4(options, buf, offset) {
39
+ options = options || {};
40
+ const rnds = options.random ?? options.rng?.() ?? rng();
41
+ if (rnds.length < 16) {
42
+ throw new Error('Random bytes length must be >= 16');
43
+ }
44
+ rnds[6] = rnds[6] & 0x0f | 0x40;
45
+ rnds[8] = rnds[8] & 0x3f | 0x80;
46
+ return unsafeStringify(rnds);
47
+ }
48
+ function v4(options, buf, offset) {
49
+ if (native.randomUUID && true && !options) {
50
+ return native.randomUUID();
51
+ }
52
+ return _v4(options);
53
+ }
54
+
55
+ /*
56
+ Copyright 2025 Adobe. All rights reserved.
57
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
58
+ you may not use this file except in compliance with the License. You may obtain a copy
59
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
60
+
61
+ Unless required by applicable law or agreed to in writing, software distributed under
62
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
63
+ OF ANY KIND, either express or implied. See the License for the specific language
64
+ governing permissions and limitations under the License.
65
+ */
66
+
67
+ var createEventMergeId = () => {
68
+ return {
69
+ eventMergeId: v4()
70
+ };
71
+ };
72
+
73
+ export { createEventMergeId as default };
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Copyright 2019 Adobe. All rights reserved.
3
+ * This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License. You may obtain a copy
5
+ * of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+ *
7
+ * Unless required by applicable law or agreed to in writing, software distributed under
8
+ * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ * OF ANY KIND, either express or implied. See the License for the specific language
10
+ * governing permissions and limitations under the License.
11
+ */
12
+
13
+ /*
14
+ Copyright 2019 Adobe. All rights reserved.
15
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
16
+ you may not use this file except in compliance with the License. You may obtain a copy
17
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
18
+
19
+ Unless required by applicable law or agreed to in writing, software distributed under
20
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
21
+ OF ANY KIND, either express or implied. See the License for the specific language
22
+ governing permissions and limitations under the License.
23
+ */
24
+
25
+ /**
26
+ * Returns true when the value is null.
27
+ * @param {*} value
28
+ * @returns {boolean}
29
+ */
30
+ var isNil = value => value == null;
31
+
32
+ /*
33
+ Copyright 2019 Adobe. All rights reserved.
34
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
35
+ you may not use this file except in compliance with the License. You may obtain a copy
36
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
37
+
38
+ Unless required by applicable law or agreed to in writing, software distributed under
39
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
40
+ OF ANY KIND, either express or implied. See the License for the specific language
41
+ governing permissions and limitations under the License.
42
+ */
43
+
44
+
45
+ /**
46
+ * Returns whether the value is an object.
47
+ * @param {*} value
48
+ * @returns {boolean}
49
+ */
50
+ var isObject = value => !isNil(value) && !Array.isArray(value) && typeof value === "object";
51
+
52
+ /*
53
+ Copyright 2019 Adobe. All rights reserved.
54
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
55
+ you may not use this file except in compliance with the License. You may obtain a copy
56
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
57
+
58
+ Unless required by applicable law or agreed to in writing, software distributed under
59
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
60
+ OF ANY KIND, either express or implied. See the License for the specific language
61
+ governing permissions and limitations under the License.
62
+ */
63
+
64
+
65
+ // Keys that should never be copied to prevent prototype pollution.
66
+ const DANGEROUS_KEYS = ["__proto__", "constructor", "prototype"];
67
+ const deepAssignObject = (target, source) => {
68
+ Object.keys(source).forEach(key => {
69
+ if (DANGEROUS_KEYS.includes(key)) {
70
+ return;
71
+ }
72
+ if (isObject(target[key]) && isObject(source[key])) {
73
+ deepAssignObject(target[key], source[key]);
74
+ return;
75
+ }
76
+ target[key] = source[key];
77
+ });
78
+ };
79
+
80
+ /**
81
+ * Recursively copy the values of all enumerable own properties from a source item to a target item if the both items are objects
82
+ * @param {Object} target - a target object
83
+ * @param {...Object} source - an array of source objects
84
+ * @example
85
+ * deepAssign({ a: 'a', b: 'b' }, { b: 'B', c: 'c' });
86
+ * // { a: 'a', b: 'B', c: 'c' }
87
+ */
88
+ var deepAssign = (target, ...sources) => {
89
+ if (isNil(target)) {
90
+ throw new TypeError('deepAssign "target" cannot be null or undefined');
91
+ }
92
+ const result = Object(target);
93
+ sources.forEach(source => deepAssignObject(result, Object(source)));
94
+ return result;
95
+ };
96
+
97
+ export { deepAssign as default };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adobe/alloy",
3
- "version": "2.31.2-beta.1",
3
+ "version": "3.0.0-beta.3",
4
4
  "description": "Adobe Experience Platform Web SDK",
5
5
  "type": "module",
6
6
  "repository": {
@@ -43,19 +43,19 @@
43
43
  },
44
44
  "./utils/deepAssign.js": {
45
45
  "types": "./dist/types/browser/src/utils/deepAssign.d.ts",
46
- "default": "./src/utils/deepAssign.js"
46
+ "default": "./dist/utils/deepAssign.js"
47
47
  },
48
48
  "./libEs6/utils/deepAssign": {
49
49
  "types": "./dist/types/browser/src/utils/deepAssign.d.ts",
50
- "default": "./src/utils/deepAssign.js"
50
+ "default": "./dist/utils/deepAssign.js"
51
51
  },
52
52
  "./utils/createEventMergeId.js": {
53
- "types": "./dist/types/browser/src/createEventMergeId.d.ts",
54
- "default": "./src/utils/createEventMergeId.js"
53
+ "types": "./dist/types/browser/src/utils/createEventMergeId.d.ts",
54
+ "default": "./dist/utils/createEventMergeId.js"
55
55
  },
56
56
  "./libEs6/components/EventMerge/createEventMergeId": {
57
- "types": "./dist/types/browser/src/createEventMergeId.d.ts",
58
- "default": "./src/utils/createEventMergeId.js"
57
+ "types": "./dist/types/browser/src/utils/createEventMergeId.d.ts",
58
+ "default": "./dist/utils/createEventMergeId.js"
59
59
  }
60
60
  },
61
61
  "dependencies": {
@@ -71,7 +71,7 @@
71
71
  "commander": "^14.0.2",
72
72
  "rollup": "^4.52.5",
73
73
  "rollup-plugin-license": "^3.6.0",
74
- "@adobe/alloy-core": "^1.1.0"
74
+ "@adobe/alloy-core": "^1.1.1-beta.0"
75
75
  },
76
76
  "devDependencies": {
77
77
  "@babel/cli": "^7.28.3",
@@ -85,10 +85,10 @@
85
85
  "vitest": "^4.0.6"
86
86
  },
87
87
  "scripts": {
88
- "build:clean": "rimraf dist distTest",
88
+ "clean": "rimraf dist distTest",
89
89
  "build:types": "tsc -p jsconfig.json --declaration --emitDeclarationOnly --outDir dist/types --checkJs false --noEmit false",
90
- "build": "pnpm run build:clean && rollup -c --environment BASE_CODE_MIN,STANDALONE,STANDALONE_MIN,SERVICE_WORKER,SERVICE_WORKER_MIN,BUNDLESIZE && pnpm run build:types",
91
- "build:watch": "pnpm run build:clean && rollup -c --watch --environment BASE_CODE_MIN,STANDALONE",
90
+ "build": "pnpm run clean && rollup -c --environment BASE_CODE_MIN,STANDALONE,STANDALONE_MIN,SERVICE_WORKER,SERVICE_WORKER_MIN,UTILITY_EXPORTS,BUNDLESIZE && pnpm run build:types",
91
+ "build:watch": "pnpm run clean && rollup -c --watch --environment BASE_CODE_MIN,STANDALONE,UTILITY_EXPORTS",
92
92
  "build:custom": "node scripts/alloyBuilder.js",
93
93
  "test:functional": "pnpm exec playwright install chromium && EDGE_BASE_PATH=\"ee-pre-prd\" ALLOY_ENV=\"int\" testcafe playwright:chromium",
94
94
  "test:functional:custom": "node ./scripts/runFunctionalTests.js",
package/rollup.config.js CHANGED
@@ -131,10 +131,23 @@ const FUNCTIONAL_TEST_PROD = "FUNCTIONAL_TEST_PROD";
131
131
  const CUSTOM_BUILD = "CUSTOM_BUILD";
132
132
  // build the service worker (used for push notifications feature).
133
133
  const SERVICE_WORKER = "SERVICE_WORKER";
134
+ // build bundled utility entrypoints for npm consumers.
135
+ export const UTILITY_EXPORTS = "UTILITY_EXPORTS";
134
136
  // Add "_MIN" to the end of the option name to build the minified version
135
137
 
136
138
  const dirname = path.dirname(fileURLToPath(import.meta.url));
137
139
 
140
+ export const utilityExportBuilds = [
141
+ {
142
+ input: `${dirname}/src/utils/deepAssign.js`,
143
+ file: `${dirname}/dist/utils/deepAssign.js`,
144
+ },
145
+ {
146
+ input: `${dirname}/src/utils/createEventMergeId.js`,
147
+ file: `${dirname}/dist/utils/createEventMergeId.js`,
148
+ },
149
+ ];
150
+
138
151
  const buildPlugins = ({ variant, minify, babelPlugins }) => {
139
152
  const plugins = [
140
153
  resolve({
@@ -186,7 +199,8 @@ const buildPlugins = ({ variant, minify, babelPlugins }) => {
186
199
  if (
187
200
  variant === STANDALONE ||
188
201
  variant === CUSTOM_BUILD ||
189
- variant === SERVICE_WORKER
202
+ variant === SERVICE_WORKER ||
203
+ variant === UTILITY_EXPORTS
190
204
  ) {
191
205
  plugins.push(
192
206
  license({
@@ -254,6 +268,19 @@ export const buildConfig = ({
254
268
  };
255
269
  }
256
270
 
271
+ if (variant === UTILITY_EXPORTS) {
272
+ return {
273
+ input,
274
+ output: [
275
+ {
276
+ file,
277
+ format: "es",
278
+ },
279
+ ],
280
+ plugins,
281
+ };
282
+ }
283
+
257
284
  // FUNCTIONAL_TEST_LOCAL or FUNCTIONAL_TEST_PROD
258
285
  const filename =
259
286
  variant === FUNCTIONAL_TEST_LOCAL
@@ -283,10 +310,19 @@ const addConfig = (variant) => {
283
310
  }
284
311
  };
285
312
 
313
+ const addUtilityExportConfigs = () => {
314
+ if (process.env[UTILITY_EXPORTS]) {
315
+ utilityExportBuilds.forEach(({ input, file }) => {
316
+ config.push(buildConfig({ variant: UTILITY_EXPORTS, input, file }));
317
+ });
318
+ }
319
+ };
320
+
286
321
  addConfig(BASE_CODE);
287
322
  addConfig(STANDALONE);
288
323
  addConfig(FUNCTIONAL_TEST_LOCAL);
289
324
  addConfig(FUNCTIONAL_TEST_PROD);
290
325
  addConfig(SERVICE_WORKER);
326
+ addUtilityExportConfigs();
291
327
 
292
328
  export default config;