(function(E,f,_){"use strict";const d=e=>e?"do"in e&&typeof e.do=="function":!1,a=(e,t,n)=>{try{if(!d(window.etsStore))return;window.etsStore.do(s=>s.setProperty(e,t,n))}catch{}},c=(e,t,n)=>{window.etsStore&&(d(window.etsStore)?a(e,t,n):window.etsStore.set(e,t,n))},u=(e,t,n)=>{try{return d(window.etsStore)?window.etsStore.do(s=>s.getProperty(e,t,n)):n}catch{return n}},h=(e,t)=>{if(window.etsStore)return d(window.etsStore)?u(e,t,void 0):window.etsStore.get(e,t)},O=(e=2e3,t=0)=>typeof window.requestIdleCallback=="function"?n=>requestIdleCallback(n,{timeout:e}):n=>setTimeout(n,t),g="wv-stable",w=(e,t)=>e.once&&t.installed,I=(e,t,n,s,o)=>{try{if(window.EXO=window.EXO??{},s.shouldRun&&!s.shouldRun(window))return;const r=h(e,n)||{},l={...r,installed:!0};let i=`Payload '${n}' installed successfully.`;if(w(s,r)&&(i=`Payload '${n}' already installed; skipping installation.`),r.installed&&!s.once&&(i=`Payload '${n}' reinstalled successfully.`),i&&window.EXO._dbg?.(i),w(s,r))return;const S={payloadName:n,message:i,before:r,after:l,options:s};if(!(s.onIdle||s.whenStable||s.after)){c(e,n,l),o(null,S);return}A(e,t,o,S,s)}catch(r){r instanceof Error?o(r):o(new Error(`Unknown error: ${r}`))}},X=e=>()=>new Promise(t=>setTimeout(t,e)),y=e=>()=>new Promise(t=>{if(u(e,"webVitalsReadiness.isStable",!1)){t();return}let s=!1;const o=()=>{s||(s=!0,t())};document.addEventListener(g,o,{once:!0})}),T=()=>()=>new Promise(e=>{O()(e)}),b=e=>async()=>{for(const t of e)await t()},A=(e,t,n,s,o)=>{const r=[o.whenStable?y(t):void 0,o.after?X(o.after):void 0,o.onIdle?T():void 0].filter(i=>i!==void 0);b(r)().then(()=>{w(o,s.before)||(c(e,s.payloadName,s.after),n(null,s))}).catch(i=>n(i instanceof Error?i:new Error(String(i))))},D=()=>{const e="ets-session_id",t=window.sessionStorage.getItem(e);if(t){window.EXO.s=t;return}const n=crypto?.randomUUID()||null;window.EXO.s=n,n&&window.sessionStorage.setItem(e,n)},P=e=>{window.EXO._lo=window.EXO._lo||[],e?window.EXO._dbg=(...t)=>{window.EXO._lo.push(t)}:window.EXO._dbg=()=>{}};((e,t,n)=>{window.EXO=window.EXO||{},D(),P(e),window.EXO.guard=window.EXO.guard||{},window.EXO.guard.install||(window.EXO.guard.install=(...s)=>I(t,n,...s))})(E,f,_)})(false,'3f45ebd1e87adf734a18acdd8ce8914719b618fdb7f590920698be6f24ced8b7','5a542067a0c95b953121f9e2de2343989a4d9f318ca801e4bbe3be53163a745c');
(function(a){"use strict";const u=(n,r,o)=>{!window.EXO.guard||typeof window.EXO.guard.install!="function"||window.EXO.guard.install(n,r,o)},i=()=>{const n=new WeakMap,r=new Map,o=s=>{const e=Symbol.for(s);let t=r.get(e);return t||(t={},r.set(e,t)),t};return{get:(s,e)=>{const t=o(s);return n.get(t)?.[e]},set:(s,e,t)=>{const c=o(s),d={...n.get(c)??{},[e]:t};n.set(c,d)},_getNamespaceObject:s=>{const e=o(s);return n.get(e)??{}},_setNamespaceObject:(s,e)=>{const t=o(s);n.set(t,e)}}};u(a,{once:!0},n=>{n||(window.etsStore=i())})})('phase-zero-store');
(function(e,t){"use strict";const a=(n,o,r)=>{!window.EXO.guard||typeof window.EXO.guard.install!="function"||window.EXO.guard.install(n,o,r)},f=n=>n?"do"in n&&typeof n.do=="function":!1,i=(n,o)=>{if(typeof performance=="object"&&typeof performance.now=="function"&&window.etsStore&&!f(window.etsStore)){const r=window.etsStore.get(o,"performanceMarks")??{};r[n]=performance.now(),window.etsStore.set(o,"performanceMarks",r)}};a(`add-performance-mark-${e}`,{once:!0},n=>{n||i(e,t)})})('p0Start','5a542067a0c95b953121f9e2de2343989a4d9f318ca801e4bbe3be53163a745c');
(function(I,L,C,U,k,F){"use strict";const N="exo-host";var A={},x;function X(){if(x)return A;x=1,Object.defineProperty(A,"__esModule",{value:!0}),A.parse=c,A.serialize=l;const n=/^[\u0021-\u003A\u003C\u003E-\u007E]+$/,o=/^[\u0021-\u003A\u003C-\u007E]*$/,a=/^([.]?[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)([.][a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)*$/i,s=/^[\u0020-\u003A\u003D-\u007E]*$/,i=Object.prototype.toString,f=(()=>{const e=function(){};return e.prototype=Object.create(null),e})();function c(e,u){const t=new f,p=e.length;if(p<2)return t;const E=u?.decode||m;let r=0;do{const d=e.indexOf("=",r);if(d===-1)break;const M=e.indexOf(";",r),y=M===-1?p:M;if(d>y){r=e.lastIndexOf(";",d-1)+1;continue}const $=h(e,r,d),it=_(e,d,$),v=e.slice($,it);if(t[v]===void 0){let b=h(e,d+1,y),st=_(e,y,b);const ct=E(e.slice(b,st));t[v]=ct}r=y+1}while(r<p);return t}function h(e,u,t){do{const p=e.charCodeAt(u);if(p!==32&&p!==9)return u}while(++u<t);return t}function _(e,u,t){for(;u>t;){const p=e.charCodeAt(--u);if(p!==32&&p!==9)return u+1}return t}function l(e,u,t){const p=t?.encode||encodeURIComponent;if(!n.test(e))throw new TypeError(`argument name is invalid: ${e}`);const E=p(u);if(!o.test(E))throw new TypeError(`argument val is invalid: ${u}`);let r=e+"="+E;if(!t)return r;if(t.maxAge!==void 0){if(!Number.isInteger(t.maxAge))throw new TypeError(`option maxAge is invalid: ${t.maxAge}`);r+="; Max-Age="+t.maxAge}if(t.domain){if(!a.test(t.domain))throw new TypeError(`option domain is invalid: ${t.domain}`);r+="; Domain="+t.domain}if(t.path){if(!s.test(t.path))throw new TypeError(`option path is invalid: ${t.path}`);r+="; Path="+t.path}if(t.expires){if(!ot(t.expires)||!Number.isFinite(t.expires.valueOf()))throw new TypeError(`option expires is invalid: ${t.expires}`);r+="; Expires="+t.expires.toUTCString()}if(t.httpOnly&&(r+="; HttpOnly"),t.secure&&(r+="; Secure"),t.partitioned&&(r+="; Partitioned"),t.priority)switch(typeof t.priority=="string"?t.priority.toLowerCase():void 0){case"low":r+="; Priority=Low";break;case"medium":r+="; Priority=Medium";break;case"high":r+="; Priority=High";break;default:throw new TypeError(`option priority is invalid: ${t.priority}`)}if(t.sameSite)switch(typeof t.sameSite=="string"?t.sameSite.toLowerCase():t.sameSite){case!0:case"strict":r+="; SameSite=Strict";break;case"lax":r+="; SameSite=Lax";break;case"none":r+="; SameSite=None";break;default:throw new TypeError(`option sameSite is invalid: ${t.sameSite}`)}return r}function m(e){if(e.indexOf("%")===-1)return e;try{return decodeURIComponent(e)}catch{return e}}function ot(e){return i.call(e)==="[object Date]"}return A}X();const H="with-gtm",z="exo-host",j="exo-e2e",D="exo-control",O="operations",g="exo-operations",P="room",S="exo-room",G="exo-payload",V="exo-feature",q="utm_source",W="utm_campaign",R=new Set([D,j,V,z,g,G,S,O,P,q,W,H]),Q=(n={})=>{const o=new URLSearchParams(window.location.search),a=new URLSearchParams(n),s=new URLSearchParams;for(const[c,h]of a.entries())R.has(c)&&s.append(c,h);for(const[c,h]of o.entries())R.has(c)&&s.append(c,h);const i=s.getAll(O);if(i.length>0){const c=i[i.length-1];c&&(s.set(O,c),s.set(g,c))}const f=s.getAll(P);if(f.length>0){const c=f[f.length-1];c&&(s.set(P,c),s.set(S,c))}return s},Y=()=>window.location.protocol.replace(":","")==="https"?"https":"http",B=(n,o)=>{n.startsWith("//")&&(n=`${Y()}:${n}`);const a=new URL(n),s=Q({[N]:o});return a.search=s.toString(),a},w=n=>{window.localStorage.removeItem(n)},K=(n,o,a,s)=>fetch(n,{signal:AbortSignal.timeout(a)}).then(i=>{if(!i.ok)throw new Error(`${i.status}`);return i.text()}).then(i=>s(i)).catch(()=>{w(o)}),J=n=>window.localStorage.getItem(n),Z="GET",tt=200,et=n=>{const o=new XMLHttpRequest;if(o.open(Z,n,!1),o.send(),o.status===tt)return o.responseText;throw new Error(`${o.status}`)},nt=(n,o)=>{try{const a=et(n);return new Function(a)}catch{w(o)}return null},T=async(n,o)=>{try{const a=new URLSearchParams(o),s=new URL(`${n}?${a}`);return fetch(s)}catch{return}},rt=n=>{window.localStorage.setItem(n,"true")};((n,o,a,s,i,f)=>{const c=J(i),h=window.location.hostname;let _;try{_=B(o,h)}catch(l){const m={eventType:a,serviceURL:o,hostName:h,error:"unknown"};l instanceof Error&&(m.error=l.message),T(n,m);return}if(rt(i),c)T(n,{eventType:s,hostName:h}),K(_,i,f,l=>{new Function(l)()}).then(()=>{w(i)}).catch(()=>{w(i)});else{const l=nt(_,i);l&&l(),w(i)}})(I,L,C,U,k,F)})('https://gateway.touchlessapis.com/on/newrelic/event','//us.appedge.net','sl_phasezero_error','sl_phasezero_fallback','exo-p0-in-flight',2000);
