Socket
Socket
Sign inDemoInstall

@uniformdev/context

Package Overview
Dependencies
Maintainers
9
Versions
591
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@uniformdev/context - npm Package Compare versions

Comparing version 13.0.1-alpha.96 to 13.0.1-alpha.132

dist/types-c12d92cd.d.ts

2

dist/api/api.d.ts
import { a as AggregateGetParameters, b as AggregateGetResponse, c as AggregatePutParameters, d as AggregateDeleteParameters, D as DimensionGetParameters, e as DimensionGetResponse, f as EnrichmentGetParameters, g as EnrichmentGetResponse, h as EnrichmentPutParameters, i as EnrichmentDeleteParameters, j as EnrichmentValuePutParameters, k as EnrichmentValueDeleteParameters, M as ManifestGetParameters, l as ManifestGetResponse, m as QuirkGetParameters, n as QuirkGetResponse, o as QuirkPutParameters, p as QuirkDeleteParameters, q as SignalGetParameters, r as SignalGetResponse, s as SignalPutParameters, t as SignalDeleteParameters, u as TestGetParameters, v as TestGetResponse, w as TestPutParameters, x as TestDeleteParameters, y as DimensionDefinition } from '../contextTypes-572b0d33';
export { A as Aggregate, d as AggregateDeleteParameters, a as AggregateGetParameters, b as AggregateGetResponse, c as AggregatePutParameters, C as CookieCriteria, I as CurrentPageCriteria, y as DimensionDefinition, D as DimensionGetParameters, e as DimensionGetResponse, z as EnrichmentCategory, E as EnrichmentCategoryWithValues, i as EnrichmentDeleteParameters, f as EnrichmentGetParameters, g as EnrichmentGetResponse, h as EnrichmentPutParameters, B as EnrichmentValue, k as EnrichmentValueDeleteParameters, j as EnrichmentValuePutParameters, H as EventCriteria, M as ManifestGetParameters, l as ManifestGetResponse, P as PageViewCountCriteria, F as QueryStringCriteria, Q as Quirk, G as QuirkCriteria, p as QuirkDeleteParameters, m as QuirkGetParameters, n as QuirkGetResponse, o as QuirkPutParameters, R as RootSignalCriteriaGroup, t as SignalDeleteParameters, q as SignalGetParameters, r as SignalGetResponse, s as SignalPutParameters, S as SignalWithId, T as Test, x as TestDeleteParameters, u as TestGetParameters, v as TestGetResponse, w as TestPutParameters } from '../contextTypes-572b0d33';
import { g as ManifestV2 } from '../types-5f88cc63';
import { g as ManifestV2 } from '../types-c12d92cd';
import '../v2-manifest.swagger-ff2af13e';

@@ -5,0 +5,0 @@ import 'mitt';

@@ -1,3 +0,3 @@

import { T as TransitionDataStore, S as StorageCommands, V as VisitorData, a as TransitionDataStoreOptions, D as DecayFunction, O as OutputSeverity, L as LogDrain, C as ContextPlugin, b as CriteriaEvaluator, c as StringMatch, d as ScoreVector, A as AggregateDimension, e as VariantMatchCriteria, f as LogMessage } from './types-5f88cc63';
export { A as AggregateDimension, l as AggregateDimensionInput, ac as BehaviorTag, a0 as Context, $ as ContextEvents, Y as ContextOptions, C as ContextPlugin, t as ContextState, u as ContextStateUpdate, b as CriteriaEvaluator, n as CriteriaEvaluatorParameters, m as CriteriaEvaluatorResult, D as DecayFunction, H as DecayOptions, aj as DevToolsActions, an as DevToolsDataEvent, ak as DevToolsEvent, al as DevToolsEvents, ar as DevToolsForgetEvent, ao as DevToolsHelloEvent, am as DevToolsLogEvent, aq as DevToolsRawCommandsEvent, ai as DevToolsState, ah as DevToolsUiVersion, ap as DevToolsUpdateEvent, ab as DimensionMatch, E as EnrichmentCategory, q as EnrichmentData, r as EventData, G as GroupCriteriaEvaluator, I as IdentifyCommand, L as LogDrain, f as LogMessage, a6 as LogMessageGroup, a5 as LogMessageSingle, a1 as LogMessages, M as ManifestInstance, g as ManifestV2, a3 as MessageCategory, a4 as MessageFunc, w as ModifyScoreCommand, x as ModifySessionScoreCommand, N as NumberMatch, O as OutputSeverity, Z as PersonalizationEvent, P as PersonalizationManifest, a9 as PersonalizeOptions, ae as PersonalizedResult, ad as PersonalizedVariant, Q as Quirks, W as SERVER_STATE_ID, d as ScoreVector, U as ServerToClientTransitionState, y as SetConsentCommand, F as SetControlGroupCommand, z as SetQuirkCommand, B as SetTestCommand, a2 as Severity, h as Signal, j as SignalCriteria, i as SignalCriteriaGroup, o as SignalData, v as StorageCommand, S as StorageCommands, c as StringMatch, k as TestDefinition, _ as TestEvent, a8 as TestOptions, ag as TestResult, af as TestVariant, p as Tests, T as TransitionDataStore, X as TransitionDataStoreEvents, a as TransitionDataStoreOptions, e as VariantMatchCriteria, V as VisitorData, R as VisitorDataStore, K as VisitorDataStoreEvents, J as VisitorDataStoreOptions, s as emptyVisitorData, aa as personalizeVariations, a7 as testVariations } from './types-5f88cc63';
import { T as TransitionDataStore, S as StorageCommands, V as VisitorData, a as TransitionDataStoreOptions, D as DecayFunction, O as OutputSeverity, L as LogDrain, C as ContextPlugin, b as CriteriaEvaluator, c as StringMatch, d as ScoreVector, A as AggregateDimension, e as VariantMatchCriteria, f as LogMessage } from './types-c12d92cd';
export { A as AggregateDimension, l as AggregateDimensionInput, ac as BehaviorTag, a0 as Context, $ as ContextEvents, Y as ContextOptions, C as ContextPlugin, t as ContextState, u as ContextStateUpdate, b as CriteriaEvaluator, n as CriteriaEvaluatorParameters, m as CriteriaEvaluatorResult, D as DecayFunction, H as DecayOptions, aj as DevToolsActions, an as DevToolsDataEvent, ak as DevToolsEvent, al as DevToolsEvents, ar as DevToolsForgetEvent, ao as DevToolsHelloEvent, am as DevToolsLogEvent, aq as DevToolsRawCommandsEvent, ai as DevToolsState, ah as DevToolsUiVersion, ap as DevToolsUpdateEvent, ab as DimensionMatch, E as EnrichmentCategory, q as EnrichmentData, r as EventData, G as GroupCriteriaEvaluator, I as IdentifyCommand, L as LogDrain, f as LogMessage, a6 as LogMessageGroup, a5 as LogMessageSingle, a1 as LogMessages, M as ManifestInstance, g as ManifestV2, a3 as MessageCategory, a4 as MessageFunc, w as ModifyScoreCommand, x as ModifySessionScoreCommand, N as NumberMatch, O as OutputSeverity, Z as PersonalizationEvent, P as PersonalizationManifest, a9 as PersonalizeOptions, ae as PersonalizedResult, ad as PersonalizedVariant, Q as Quirks, W as SERVER_STATE_ID, d as ScoreVector, U as ServerToClientTransitionState, y as SetConsentCommand, F as SetControlGroupCommand, z as SetQuirkCommand, B as SetTestCommand, a2 as Severity, h as Signal, j as SignalCriteria, i as SignalCriteriaGroup, o as SignalData, v as StorageCommand, S as StorageCommands, c as StringMatch, k as TestDefinition, _ as TestEvent, a8 as TestOptions, ag as TestResult, af as TestVariant, p as Tests, T as TransitionDataStore, X as TransitionDataStoreEvents, a as TransitionDataStoreOptions, e as VariantMatchCriteria, V as VisitorData, R as VisitorDataStore, K as VisitorDataStoreEvents, J as VisitorDataStoreOptions, s as emptyVisitorData, aa as personalizeVariations, a7 as testVariations } from './types-c12d92cd';
import Cookies from 'js-cookie';

@@ -4,0 +4,0 @@ import './v2-manifest.swagger-ff2af13e';

@@ -1,3 +0,3 @@

import{a as tt}from"./chunk-CEKV2MHL.mjs";import{d as x,e as a,f as p,g as v,h as C,i as c}from"./chunk-AFJ7PNM5.mjs";c();c();c();function Pt(e,t){let r={...e};for(let i in t){let n=Ot(e,i,t,new Set([i]));n!==0&&(r[i]=n)}return r}function Ot(e,t,r,i){var s;let n=0;for(let o of r[t].inputs){let u=(s=e[o.dim])!=null?s:0;if(!u&&r[o.dim]){if(i.has(o.dim))continue;let l=new Set(i);l.add(o.dim),u=Ot(e,o.dim,r,l)}if(u!==0)if(o.sign==="c"){n=0;break}else o.sign==="-"?n-=u:n+=u}return n}c();var Q,K,ct=class{constructor(t,r,i){p(this,Q,void 0);p(this,K,void 0);x(this,"signal");this.signal=t,v(this,Q,r),v(this,K,i)}computeSignal(t,r){if(t.scores[this.signal.id]>=this.signal.cap&&this.signal.dur!=="t")return;let n=a(this,Q).evaluate(t,this.signal.crit,r,this.signal,a(this,K)),s=this.signal.dur==="s"||this.signal.dur==="t"?"modscoreS":"modscore";if(!!n.changed){if(n.result)r.push({type:s,data:{dimension:this.signal.id,delta:this.signal.str}});else if(this.signal.dur==="t"){let o=t.visitor.sessionScores[this.signal.id];o&&r.push({type:s,data:{dimension:this.signal.id,delta:-o}})}}}};Q=new WeakMap,K=new WeakMap;var E,H,R,lt=class{constructor({manifest:t,evaluator:r=new B({}),onLogMessage:i=()=>{}}){x(this,"data");p(this,E,void 0);p(this,H,void 0);p(this,R,void 0);var n,s,o;v(this,E,(n=t.project)!=null?n:{}),this.data=t,v(this,H,Object.entries((o=(s=a(this,E).pz)==null?void 0:s.sig)!=null?o:[]).map(([u,d])=>new ct({...d,id:u},r,i))),v(this,R,i)}rollForControlGroup(){var t,r;return Math.random()<((r=(t=a(this,E).pz)==null?void 0:t.control)!=null?r:0)}getTest(t){var r;return(r=a(this,E).test)==null?void 0:r[t]}computeSignals(t){let r=[];a(this,R).call(this,["debug",200,"GROUP"]);try{a(this,H).forEach(i=>{a(this,R).call(this,["debug",201,"GROUP",i.signal]);try{i.computeSignal(t,r)}finally{a(this,R).call(this,["debug",201,"ENDGROUP"])}})}finally{a(this,R).call(this,["debug",200,"ENDGROUP"])}return r}computeAggregateDimensions(t){var r,i;return Pt(t,(i=(r=a(this,E).pz)==null?void 0:r.agg)!=null?i:{})}getDimensionByKey(t){var i,n,s,o;let r=t.indexOf(tt);return r<=0?(n=(i=a(this,E).pz)==null?void 0:i.sig)==null?void 0:n[t]:(o=(s=a(this,E).pz)==null?void 0:s.enr)==null?void 0:o[t.substring(0,r)]}};E=new WeakMap,H=new WeakMap,R=new WeakMap;c();import{dequal as ie}from"dequal/lite";c();function T(e,t){var o,u,d,l,h,g;let r=(o=t==null?void 0:t.op)!=null?o:"=";if(t.op==="*")return e!==null&&typeof e!="undefined";if(t.op==="!*")return e===null||typeof e=="undefined";if(!("rhs"in t))throw new Error(`Match expression is required for match type ${r}`);let i=(u=t.cs)!=null?u:!1,n=(i?e!=null?e:"":Rt(e)).toString(),s=(i?t.rhs:Rt(t.rhs)).toString();switch(r){case"=":return n===s;case"!=":return n!==s;case"~":return(d=n.includes(s))!=null?d:!1;case"!~":return!((l=n.includes(s))==null||l);case"//":return new RegExp(t.rhs.toString(),i?"":"i").test((h=e==null?void 0:e.toString())!=null?h:"");case"!//":return!new RegExp(t.rhs.toString(),i?"":"i").test((g=e==null?void 0:e.toString())!=null?g:"");default:throw new Error(`Unknown match type ${r}.`)}}function U(e,t){return`'${("cs"in t?t.cs:!1)?e:e==null?void 0:e.toString().toUpperCase()}' ${dt(t)}`}function dt(e){return"rhs"in e?`${e.op} '${e.cs?e.rhs:e.rhs.toString().toUpperCase()}'`:`${e.op==="*"?"exists":"does not exist"}`}function Rt(e){var t,r;return(r=(t=e==null?void 0:e.toString())==null?void 0:t.toUpperCase())!=null?r:""}var $t=({update:e,criteria:t,onLogMessage:r})=>{var u,d;if(t.type!=="CK")return{result:!1,changed:!1};let i=!ie(Ut(e.state.cookies),Ut((u=e.previousState)==null?void 0:u.cookies)),n=(d=e.state.cookies)==null?void 0:d[t.cookieName],o={result:T(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:U(n,t.match)}]),o};function Ut(e){if(!e)return;if(!e.ufvd)return e;let{ufvd:t,...r}=e;return r}c();c();function At(e,t){var i;if(typeof e=="undefined"||e===null)return!1;let r=Number(e);if(isNaN(r))return!1;switch((i=t==null?void 0:t.op)!=null?i:"="){case"=":return r===t.rhs;case"!=":return r!==t.rhs;case">":return r>t.rhs;case"<":return r<t.rhs;default:return console.warn(`Unknown match type ${t.op} is false.`),!1}}function Nt(e,t){return`${e} ${ne(t)}`}function ne(e){return`${e.op} ${e.rhs}`}c();function et(e,t){return`${e}${tt}${t}`}var pt=et("$pvc","v"),ft=({update:e,criteria:t,commands:r,onLogMessage:i})=>{var l,h;if(t.type!=="PVC")return{result:!1,changed:!1};let n=Boolean(e.state.url&&(!e.previousState||((l=e.state.url)==null?void 0:l.toString())!==((h=e.previousState.url)==null?void 0:h.toString()))),o=(e.visitor.sessionScores[pt]||0)+1,u={result:!1,changed:n},d=r.some(g=>g.type==="modscoreS"&&g.data.dimension===pt);return n&&!d&&r.push({type:"modscoreS",data:{dimension:pt,delta:1}}),At(o,t.match)&&(u.result=!0),i==null||i(["debug",203,{criteria:t,result:u,explanation:Nt(o,t.match)}]),u};ft.alwaysExecute=!0;c();var Gt=({update:e,criteria:t,onLogMessage:r})=>{var u,d,l,h,g;if(t.type!=="QS")return{result:!1,changed:!1};let i=!e.previousState||((d=(u=e.state.url)==null?void 0:u.searchParams)==null?void 0:d.toString())!==((h=(l=e.previousState.url)==null?void 0:l.searchParams)==null?void 0:h.toString()),n=(g=e.state.url)==null?void 0:g.searchParams.get(t.queryName),o={result:T(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:U(n,t.match)}]),o};c();var zt=({update:e,criteria:t,signal:r,onLogMessage:i})=>{var h;if(t.type!=="QK")return{result:!1,changed:!1};if(typeof document=="undefined"&&r.dur==="t"&&e.scores[r.id]>0)return{result:!0,changed:!1};let n=e.visitor.quirks[t.key],s=(h=e.state.quirks)==null?void 0:h[t.key],o=s!=null?s:n,u=Boolean(s&&n!==s),l={result:T(o,t.match),changed:u};return i==null||i(["debug",203,{criteria:t,result:l,explanation:U(o,t.match)}]),l};c();var It=({update:e,criteria:t,onLogMessage:r})=>{var s,o,u;if(t.type!=="EVT")return{result:!1,changed:!1};let i=(o=(s=e.state.events)==null?void 0:s.some(d=>T(d.event,t.event)))!=null?o:!1,n={result:i,changed:i};return r==null||r(["debug",203,{criteria:t,result:n,explanation:`'${(u=e.state.events)==null?void 0:u.join("', '")}' ${dt(t.event)}`}]),n};c();var qt=({update:e,criteria:t,onLogMessage:r})=>{var u,d,l;if(t.type!=="PV")return{result:!1,changed:!1};let i=(u=e.state.url)==null?void 0:u.pathname,n=!e.previousState||(i==null?void 0:i.toString())!==((l=(d=e.previousState.url)==null?void 0:d.pathname)==null?void 0:l.toString()),o={result:T(i,t.path),changed:n};return r==null||r(["debug",203,{criteria:t,result:o,explanation:U(i,t.path)}]),o};c();var J,B=class{constructor(t){p(this,J,void 0);v(this,J,t)}evaluate(t,r,i,n,s){let o=r.clauses.length>1;o&&(s==null||s(["debug",202,"GROUP",r]));try{let u=!(r.op==="&"||!r.op),d=null,l=!1;for(let g of r.clauses){let D;if(g.type==="G")D=this.evaluate(t,g,i,n,s);else{let b=a(this,J)[g.type];if(d&&!b.alwaysExecute)continue;if(!b)throw new Error(`${g.type} signal criteria not registered`);D=b({update:t,criteria:g,commands:i,signal:n,onLogMessage:s})}D.changed&&(l=!0),!d&&D.result===u&&(d={result:u,changed:l})}let h=d!=null?d:{result:!u,changed:l};return o&&(s==null||s(["debug",204,h])),h}finally{o&&(s==null||s(["debug",202,"ENDGROUP"]))}}};J=new WeakMap;c();var rt=()=>({quirks:{},scores:{},sessionScores:{},tests:{},consent:!1,controlGroup:!1});c();c();import oe from"mitt";import{dequal as se}from"dequal/lite";var ae="__UNIFORM_DATA__",$,I,W=class{constructor({initialData:t}){p(this,$,void 0);p(this,I,oe());x(this,"events",{on:a(this,I).on,off:a(this,I).off});t&&v(this,$,t)}get data(){return a(this,$)}updateData(t,r){return v(this,$,r),this.handleUpdateData(t,r)}async delete(t){v(this,$,void 0),await this.handleDelete(t)}signalAsyncDataUpdate(t){se(this.data,t)||(v(this,$,t),a(this,I).emit("dataUpdatedAsync",t))}getClientTransitionState(){if(typeof document=="undefined")return;let t=document.getElementById(ae);return t!=null&&t.textContent?JSON.parse(t.textContent):void 0}};$=new WeakMap,I=new WeakMap;c();var mt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",jt=mt.split(""),_t=new Array(123);for(let e=0;e<mt.length;e++)_t[mt.charCodeAt(e)]=e;var ht=e=>{if(e<0)return`-${ht(-e)}`;let t=e>>>0,r=e/4294967296>>>0,i="";for(;r>0;)i=jt[63&t]+i,t>>>=6,t|=(63&r)<<26,r>>>=6;let n="";do n=jt[63&t]+n,t>>>=6;while(t>0);return n+i},Ft=e=>{let t=0,r=e.charAt(0)==="-"?1:0;for(let i=r;i<e.length;i++)t=t*64+_t[e.charCodeAt(i)];return r?-t:t};import gt from"js-cookie";var vt=typeof document=="undefined",ue="ufvd",N,Y,ce=class extends W{constructor({serverCookieValue:t,cookieName:r=ue,cookieAttributes:i={sameSite:"lax"}}){super({initialData:vt?le(t):void 0});p(this,N,void 0);p(this,Y,void 0);v(this,N,r),v(this,Y,i)}handleDelete(){return vt||gt.remove(a(this,N)),Promise.resolve()}async handleUpdateData(t,r){vt||(r.consent?gt.set(a(this,N),de(r),a(this,Y)):gt.remove(a(this,N)))}};N=new WeakMap,Y=new WeakMap;var Ht="~",Bt="!",Jt="-";function le(e){if(!e)return;let t=e.split(Ht);if(t.length>3)return;let[r,i,n]=t;return{consent:!0,sessionScores:Qt(St(i)),scores:Qt(St(n)),tests:St(r)}}function St(e){return e.split(Bt).map(r=>r.split(Jt)).reduce((r,i)=>(i.length!==2||(r[i[0]]=i[1]),r),{})}function Qt(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=Ft(i),t),{})}function de(e){return[yt(e.tests),yt(Kt(e.sessionScores)),yt(Kt(e.scores))].join(Ht)}function Kt(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=ht(i),t),{})}function yt(e){return Object.entries(e).map(t=>t.join(Jt)).join(Bt)}c();var it,fe,pe=class extends W{constructor({serverCookieValue:t,visitorIdCookieName:r="ufvi",...i}){super(i);p(this,it);i.initialData||C(this,it,fe).call(this).catch(n=>{console.error(n)})}handleDelete(t){throw new Error("Method not implemented.")}async handleUpdateData(t){let r=await new Promise(i=>{setTimeout(()=>{i(void 0)},2e3)});r&&this.signalAsyncDataUpdate(r)}};it=new WeakSet,fe=async function(){let t=await new Promise(r=>{setTimeout(()=>{r(void 0)},2e3)});t&&this.signalAsyncDataUpdate(t)};c();function Er(e){let{gracePeriod:t=864e5,decayRate:r=1/30,decayCap:i=.95}=e!=null?e:{};return function({now:s,lastUpd:o,scores:u,sessionScores:d,onLogMessage:l}){if(typeof o!="number")return!1;let g=s-o-t;if(g<=0)return!1;let D=g/864e5,b=1-Math.min(i,D*r);return b<=0?!1:(Wt(u,b),Wt(d,b),l==null||l(["info",140,`linear decay factor ${b.toPrecision(6)}`]),!0)}}function Wt(e,t){for(let r in e)r.startsWith("$")||(e[r]*=t)}c();import ge from"mitt";import{dequal as nt}from"dequal/lite";c();var Dt=class{constructor(){x(this,"inMemoryFallback",{});x(this,"hasLocalStorageObject",typeof localStorage!="undefined")}get(t){let r=this.inMemoryFallback[t];if(!this.hasLocalStorageObject||r)return r;try{let i=localStorage.getItem(t);return i?JSON.parse(i):void 0}catch(i){return r}}set(t,r,i){if(this.inMemoryFallback[t]=r,!(!this.hasLocalStorageObject||!i))try{localStorage.setItem(t,JSON.stringify(r))}catch(n){console.warn(n)}}delete(t,r){r||delete this.inMemoryFallback[t];try{localStorage.removeItem(t)}catch(i){}}};c();import me from"rfdc";var he=me();function Yt(e,t,r){let i=t?he(t):rt();return e.forEach(n=>{var s,o;switch(n.type){case"consent":i.consent=n.data;break;case"setquirk":i.quirks[n.data.key]=n.data.value;break;case"settest":i.tests[n.data.test]=n.data.variant;break;case"modscore":if(r)break;let u=Number(n.data.delta);if(isNaN(u))throw new Error("Non-number delta received");let d=(s=i.scores[n.data.dimension])!=null?s:0;i.scores[n.data.dimension]=d+u;break;case"modscoreS":if(r)break;let l=Number(n.data.delta);if(isNaN(l))throw new Error("Non-number delta received");let h=(o=i.sessionScores[n.data.dimension])!=null?o:0;i.sessionScores[n.data.dimension]=h+l;break;case"identify":break;case"setcontrol":i.controlGroup=n.data;break;default:throw new Error("Unknown command")}}),i}var ot="ufvisitor",k,G,j,y,V,A,P,q,st,ve,at,Se,X,Xt,Z,Zt,Ct=class{constructor(t){p(this,V);p(this,P);p(this,st);p(this,at);p(this,X);p(this,Z);p(this,k,ge());p(this,G,new Dt);p(this,j,void 0);p(this,y,void 0);x(this,"events",{on:a(this,k).on,off:a(this,k).off});if(v(this,y,t),a(this,V,A)||C(this,P,q).call(this,C(this,Z,Zt).call(this),!0),t.transitionStore){let r=t.transitionStore.getClientTransitionState();if(r){let n=[];r.quirks&&n.push(...Object.entries(r.quirks).map(([s,o])=>({type:"setquirk",data:{key:s,value:o}}))),r.tests&&n.push(...Object.entries(r.tests).map(([s,o])=>({type:"settest",data:{test:s,variant:o}}))),this.updateData(n),r.ssv&&t.onServerTransitionScoresReceived&&t.onServerTransitionScoresReceived(r.ssv)}t.transitionStore.events.on("dataUpdatedAsync",n=>{C(this,P,q).call(this,{...a(this,V,A).visitorData,...n})});let i=t.transitionStore.data;i&&C(this,P,q).call(this,{...a(this,V,A).visitorData,...i},!0)}}get data(){var r,i;let t=a(this,V,A);if(C(this,at,Se).call(this,t)){let{sessionScores:n,...s}=t.visitorData;return C(this,P,q).call(this,{...s,sessionScores:{}}),(i=(r=a(this,y)).onLogMessage)==null||i.call(r,["info",120]),a(this,V,A).visitorData}return t.visitorData}get decayEnabled(){return!!a(this,y).decay}async updateData(t){var i,n,s,o;if(t.length===0)return;(n=(i=a(this,y)).onLogMessage)==null||n.call(i,["debug",101,t]);let r=Yt(t,this.data,(s=a(this,V,A))==null?void 0:s.visitorData.controlGroup);t.some(u=>u.type==="consent"&&!u.data)&&a(this,G).delete(ot,!0),C(this,P,q).call(this,r),await((o=a(this,y).transitionStore)==null?void 0:o.updateData(t,a(this,V,A).visitorData))}async delete(t){var r,i,n,s,o;(i=(r=a(this,y)).onLogMessage)==null||i.call(r,["info",103,"GROUP",t]);try{a(this,G).delete(ot,!1),await((n=a(this,y).transitionStore)==null?void 0:n.delete(t)),C(this,P,q).call(this,C(this,Z,Zt).call(this))}finally{(o=(s=a(this,y)).onLogMessage)==null||o.call(s,["info",103,"ENDGROUP"])}}};k=new WeakMap,G=new WeakMap,j=new WeakMap,y=new WeakMap,V=new WeakSet,A=function(){return a(this,G).get(ot)},P=new WeakSet,q=function(t,r=!1){var h,g,D,b,L,Et,Tt,kt,wt;let i=a(this,V,A),n=Date.now();t.controlGroup?(t.scores={},t.sessionScores={}):(C(this,X,Xt).call(this,t.scores),C(this,X,Xt).call(this,t.sessionScores),(g=(h=a(this,y)).decay)==null||g.call(h,{now:n,lastUpd:i==null?void 0:i.updated,scores:t.scores,sessionScores:t.sessionScores,onLogMessage:a(this,y).onLogMessage}));let s=!nt(i==null?void 0:i.visitorData.scores,t.scores),o=!nt(i==null?void 0:i.visitorData.sessionScores,t.sessionScores),u=!nt(i==null?void 0:i.visitorData.quirks,t.quirks),d=!nt(i==null?void 0:i.visitorData.tests,t.tests),l={updated:n,visitorData:t};C(this,st,ve).call(this),a(this,G).set(ot,l,!!t.consent),(b=(D=a(this,y)).onLogMessage)==null||b.call(D,["debug",102,t]),r||((s||o)&&a(this,k).emit("scoresUpdated",t),u&&a(this,k).emit("quirksUpdated",t),d&&a(this,k).emit("testsUpdated",t),((L=i==null?void 0:i.visitorData)==null?void 0:L.consent)!==t.consent&&a(this,k).emit("consentUpdated",t),((Et=i==null?void 0:i.visitorData)==null?void 0:Et.controlGroup)!==t.controlGroup&&(a(this,k).emit("controlGroupUpdated",t),(wt=(kt=a(this,y)).onLogMessage)==null||wt.call(kt,["debug",104,(Tt=t.controlGroup)!=null?Tt:!1])))},st=new WeakSet,ve=function(){typeof document=="undefined"||!a(this,y).visitLifespan||(a(this,j)&&window.clearTimeout(a(this,j)),v(this,j,window.setTimeout(()=>{this.data},a(this,y).visitLifespan+50)))},at=new WeakSet,Se=function(t){let r=a(this,y).visitLifespan;return r?t.updated+r<Date.now():!1},X=new WeakSet,Xt=function(t){var r,i;if(!!a(this,y).manifest)for(let n in t){let s=t[n],o=a(this,y).manifest.getDimensionByKey(n);!o||s>o.cap&&((i=(r=a(this,y)).onLogMessage)==null||i.call(r,["debug",110,{dim:n,score:s,cap:o.cap}]),t[n]=o.cap)}},Z=new WeakSet,Zt=function(){var t,r,i;return{...rt(),consent:(t=a(this,y).defaultConsent)!=null?t:!1,controlGroup:(i=(r=a(this,y).manifest)==null?void 0:r.rollForControlGroup())!=null?i:!1}};c();import De from"mitt";c();c();function Mt({name:e,context:t,variations:r,take:i=1,onLogMessage:n}){var s,o,u;n==null||n(["info",300,"GROUP",{name:e,take:i}]);try{let d=(s=t.storage.data.controlGroup)!=null?s:!1,l=[],h=!1,g=t.scores;for(let D of r){if(l.length===i)break;if(!((o=D.pz)!=null&&o.crit.length)){n==null||n(["info",301,"GROUP",{id:D.id,op:(u=D.pz)==null?void 0:u.op}]),n==null||n(["info",302,{matched:!0,description:"default variation"}]),n==null||n(["info",303,!0]),n==null||n(["info",301,"ENDGROUP"]),l.push(D);continue}d||Lt(D.id,D.pz,g,n)&&(h=!0,l.push(D))}return{personalized:h,variations:l}}finally{n==null||n(["info",300,"ENDGROUP"])}}c();function Lt(e,t,r,i){i==null||i(["info",301,"GROUP",{id:e,op:t==null?void 0:t.op}]);let n;try{t!=null&&t.crit?!t.op||t.op==="&"?n=t.crit.every(s=>te(s,r,i)):n=t.crit.some(s=>te(s,r,i)):(i==null||i(["info",302,{matched:!0,description:"default variation"}]),n=!0),i==null||i(["info",303,n])}finally{i==null||i(["info",301,"ENDGROUP"])}return n}function te(e,t,r){var u,d;let{op:i,l:n}=e,s=(u=t[n])!=null?u:0;if(i==="+"){let l=Math.max(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the highest score`}]),l}else if(i==="-"){let l=Math.min(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the lowest non-zero score`}]),l}let o=e.rDim?t[e.rDim]:e.r;if(o===void 0)return r==null||r(["info",302,{matched:!1,description:`${(d=e.rDim)!=null?d:e.r} has no score value`}]),!1;if(i===">"){let l=s>o;return _(r,l,e,s,o),l}else if(i===">="){let l=s>=o;return _(r,l,e,s,o),l}else if(i==="<"){let l=s<o;return _(r,l,e,s,o),l}else if(i==="<="){let l=s<=o;return _(r,l,e,s,o),l}else if(i==="="){let l=s===o;return _(r,l,e,s,o),l}else if(i==="!="){let l=s!==o;return _(r,l,e,s,o),l}else throw new Error(`Unknown op: ${i}`)}function _(e,t,r,i,n){e==null||e(["info",302,{matched:t,description:`${r.l}[${i}] ${r.op} ${r.rDim?`${r.rDim}[${n}]`:r.r}`}])}c();var ye=e=>{let{values:t,total:r,missingDistribution:i}=e.reduce((n,s)=>(s.testDistribution?n.total+=s.testDistribution:++n.missingDistribution,n.values.push(s.testDistribution),n),{values:[],total:0,missingDistribution:0});if(r>100)throw new Error(`Total distribution ${r} is over the maximum 100.`);if(r<100){let s=(100-r)/i;t.forEach((o,u)=>{typeof o=="undefined"&&(t[u]=s)})}return t},xt=({name:e,context:t,variations:r,onLogMessage:i})=>{i==null||i(["info",400,"GROUP",e]);try{let n,s=t.getTestVariantId(e);if(s===null)return i==null||i(["error",401,e]),{result:void 0,variantAssigned:!1};if(s&&(n=r.find(o=>o.id===s),n||i==null||i(["warn",402,{missingVariant:s,variants:r.map(o=>o.id)}])),!n){let o=ye(r),u=Math.floor(Math.random()*100),d=0;n=r.find((l,h)=>{let g=o[h];if(u>d&&u<=d+g)return l;d+=g}),n&&(i==null||i(["info",403,n.id]),t.setTestVariantId(e,n.id))}return n&&(i==null||i(["info",404,n.id])),{result:n,variantAssigned:!s}}finally{i==null||i(["info",400,"ENDGROUP"])}};import{dequal as ee}from"dequal/lite";var z,O,w,M,S,F,bt,Ce=class{constructor(t){p(this,F);x(this,"manifest");p(this,z,!1);p(this,O,{});p(this,w,void 0);p(this,M,{});p(this,S,De());x(this,"events",{on:a(this,S).on,off:a(this,S).off});x(this,"storage");var n,s;let{manifest:r,...i}=t;v(this,w,{}),(n=t.plugins)==null||n.forEach(o=>{!o.logDrain||a(this,S).on("log",o.logDrain)}),a(this,S).emit("log",["info",1,"GROUP"]);try{this.manifest=new lt({onLogMessage:o=>a(this,S).emit("log",o),manifest:r,evaluator:new B({CK:$t,QS:Gt,QK:zt,PVC:ft,EVT:It,PV:qt})}),this.storage=new Ct({...i,manifest:this.manifest,onServerTransitionScoresReceived:o=>{v(this,O,o),v(this,z,!0),a(this,S).emit("log",["debug",130,o])},onLogMessage:o=>a(this,S).emit("log",o)}),this.storage.events.on("scoresUpdated",C(this,F,bt).bind(this)),a(this,z)||C(this,F,bt).call(this,this.storage.data),this.storage.events.on("quirksUpdated",o=>{let u=this.manifest.computeSignals({scores:a(this,O),state:a(this,w),previousState:a(this,w),visitor:this.storage.data});this.storage.updateData(u),a(this,S).emit("quirksUpdated",o.quirks),a(this,S).emit("log",["info",4,o.quirks])}),(s=t.plugins)==null||s.forEach(o=>{!o.init||o.init(this)})}finally{a(this,S).emit("log",["info",1,"ENDGROUP"])}}get scores(){return a(this,O)}async update(t){var i;let r=[];try{a(this,S).emit("log",["info",2,"GROUP",{...t,url:(i=t.url)==null?void 0:i.toString()}]),t.quirks&&r.push(...Object.entries(t.quirks).map(([n,s])=>({type:"setquirk",data:{key:n,value:s}}))),t.enrichments&&t.enrichments.forEach(n=>{let s=et(n.cat,n.key);this.manifest.getDimensionByKey(s)?r.push({type:"modscore",data:{dimension:s,delta:n.str}}):a(this,S).emit("log",["warn",5,n])}),r.push(...this.manifest.computeSignals({state:t,previousState:a(this,w),visitor:this.storage.data,scores:a(this,O)})),v(this,w,{...a(this,w),...t}),await this.storage.updateData(r),a(this,z)&&(C(this,F,bt).call(this,this.storage.data),v(this,z,!1),a(this,S).emit("log",["debug",131]))}finally{a(this,S).emit("log",["info",2,"ENDGROUP"])}}getTestVariantId(t){var i;let r=this.manifest.getTest(t);return r?(i=r.wv)!=null?i:this.storage.data.tests[t]:(a(this,S).emit("log",["warn",401,t]),null)}setTestVariantId(t,r){this.storage.updateData([{type:"settest",data:{test:t,variant:r}}])}log(...t){a(this,S).emit("log",t)}test(t){var i,n;let r=xt({...t,context:this,onLogMessage:s=>a(this,S).emit("log",s)});return a(this,S).emit("testResult",{name:t.name,variantId:(n=(i=r.result)==null?void 0:i.id)!=null?n:void 0,variantAssigned:r.variantAssigned}),r}personalize(t){let r=Mt({...t,context:this,onLogMessage:s=>a(this,S).emit("log",s)}),i=a(this,M)[t.name],n={name:t.name,variantIds:r.variations.map(s=>{var o;return(o=s.id)!=null?o:"Unknown"}),control:this.storage.data.controlGroup,changed:!0};return i&&ee(n.variantIds,i)&&(n.changed=!1),a(this,S).emit("personalizationResult",n),a(this,M)[t.name]=n.variantIds,r}async forget(t){v(this,w,{}),await this.storage.delete(t)}};z=new WeakMap,O=new WeakMap,w=new WeakMap,M=new WeakMap,S=new WeakMap,F=new WeakSet,bt=function(t){var n;let r={...t.scores};for(let s in t.sessionScores)r[s]=((n=r[s])!=null?n:0)+t.sessionScores[s];r=this.manifest.computeAggregateDimensions(r),!ee(r,a(this,O))&&(v(this,O,r),a(this,S).emit("scoresUpdated",r),a(this,S).emit("log",["info",3,r]))};c();import xe from"rfdc";c();function ut(e,t){if(e==="none")return!1;switch(t){case"debug":return e==="debug";case"info":return e==="info"||e==="debug";case"warn":return e==="warn"||e==="info"||e==="debug";case"error":return e==="debug"||"info";default:return!1}}var be=xe();function Ve(e){return([t,...r])=>{if(!ut(e,t))return;let[i,...n]=r;console[t](`\u{1F94B} [${t}] Uniform event ID ${i}
`,...n.map(be))}}function li(e){return{logDrain:Ve(e)}}c();c();var re={1:()=>["context","initializing Uniform Context"],2:e=>["context","received update()",e],3:e=>["context","new score vector",e],4:e=>["context","updated quirks",e],5:e=>["context","ignored enrichment update for unknown enrichment category",e.cat],101:e=>["storage","received update commands",e],102:e=>["storage","data was updated",e],103:e=>["storage",`deleting visitor data ${e?"from all devices":"from this device"}`],104:e=>["context",e?"Visitor assigned to personalization control group":"Visitor assigned to personalization experiment group"],110:({dim:e,cap:t,score:r})=>["storage",`${e} score ${r} exceeded cap ${t}. Rounded down.`],120:()=>["storage","visitor data expired and was cleared"],130:e=>["storage","server to client transition score data was loaded; it will persist until the next update event occurs",e],131:()=>["storage","server to client transition data was discarded"],140:e=>["storage",`score decay was applied: ${e}`],200:()=>["signals","evaluating signals"],201:e=>["signals",`evaluating signal ${e.id} (${e.dur})`],202:e=>["signals",e.op==="|"?"OR":"AND"],203:({criteria:e,result:t,explanation:r})=>["signals",`${e.type}: ${r} is ${t.result} [${t.changed?"CHANGED":"unchanged"}]`],204:e=>["signals",`group result: ${e.result} [${e.changed?"CHANGED":"unchanged"}]`],300:e=>["personalization",`executing personalization '${e.name}'`],301:({id:e,op:t})=>["personalization",`testing variation ${e} (${t==="|"?"OR":"AND"})`],302:({matched:e,description:t})=>["personalization",`${t} is ${e}`],303:e=>["personalization",e?"selected variation":"did not select variation"],400:e=>["testing",`executing A/B test '${e}'`],401:e=>["testing",`${e} is not registered in the manifest; it will not be run.`],402:({missingVariant:e,variants:t})=>["testing",`test variation '${e}' previously assigned to the visitor for this test no longer exists as a variant. It will be removed. This may indicate changing test variations after publishing a test, which will make results invalid. Known variants: ${t.join(", ")}`],403:e=>["testing",`assigned new test variant '${e}'`],404:e=>["testing",`displaying variation '${e}'`],700:()=>["gtag","gtag is not defined, skipping analytics event emission. Ensure you have added the gtag script to your page."],701:()=>["gtag","enabled gtag event signal redirection"]};import Ee from"rfdc";var Te=Ee();function ke(e,t){let r=typeof document=="undefined",{enableOnServer:i=!1}=t!=null?t:{};return([n,...s])=>{if(!ut(e,n)||r&&!i)return;let[o,...u]=s,d=console[n];if(u[0]==="GROUP"&&(u.shift(),d=console.groupCollapsed),u[0]==="ENDGROUP"){console.groupEnd();return}let l=re[o],h="";switch(n){case"debug":h="\u{1F41E}";break;case"info":h="\u{1F4AC}";break;case"warn":h="\u26A0\uFE0F";break;case"error":h="\u{1F4A5}";break}let g=h;if(!l){d(`${g} unknown event ID ${o}. Log messages data may be older than Uniform Context package.`,...u);return}let[D,b,...L]=l(...u);d(`${g}[${D}] ${b}
`,...L.map(Te))}}function gi(e,t){return{logDrain:ke(e,t)}}c();var we=(u=>(u.ListStart="nesi-list-start",u.ListEnd="nesi-list-end",u.ListItem="nesi-list-item-html",u.ListItemSettings="nesi-list-item-settings",u.TestStart="nesi-test-start",u.TestEnd="nesi-test-end",u.Unknown="unknown",u))(we||{}),Si="nesitag";c();var Vt=typeof top!="undefined";function Di(){return{logDrain:e=>{!Vt||top==null||top.postMessage({type:"uniform:context:log",message:e},window.location.origin)},init:e=>{let t=[],r=[],i=()=>{!Vt||top==null||top.postMessage({type:"uniform:context:data",data:{scores:e.scores,data:e.storage.data,manifest:e.manifest.data,personalizations:t,tests:r}},window.location.origin)},n=o=>{!o.changed||(t.push(o),i())},s=o=>{!o.variantAssigned||(r.push(o),i())};if(Vt){window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__=e;try{top==null||top.addEventListener("message",async o=>{if(!o.data)return;let u=o.data;await Pe(u,e)})}catch(o){console.warn("Unable to initialize Uniform Context DevTools because it is in a cross-domain iframe.",o)}top==null||top.postMessage({type:"uniform:context:hello",uiVersion:2},window.location.origin),i()}return e.events.on("personalizationResult",n),e.events.on("testResult",s),e.storage.events.on("*",i),()=>{e.storage.events.off("*",i),e.events.off("personalizationResult",n),e.events.off("testResult",s)}}}}async function Pe(e,t){e.type==="uniform-in:context:update"&&e.newData&&await t.update(e.newData),e.type==="uniform-in:context:commands"&&e.commands&&Array.isArray(e.commands)&&await t.storage.updateData(e.commands),e.type==="uniform-in:context:forget"&&await t.forget(!1)}c();function xi(e){return`${e.apiKey}|${e.projectId}${e.apiHost?`|${e.apiHost}`:""}`}function bi(e){let[t,r,i]=e.split("|");if(!t.startsWith("uf"))throw new Error("Invalid API key");if(!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i.test(r))throw new Error("Invalid project ID");return{apiKey:t,projectId:r,apiHost:i||"https://uniform.app"}}export{Ce as Context,ce as CookieTransitionDataStore,Si as EdgeNodeTagName,pe as EdgeTransitionDataStore,B as GroupCriteriaEvaluator,lt as ManifestInstance,ae as SERVER_STATE_ID,we as ScriptType,W as TransitionDataStore,ue as UNIFORM_DEFAULT_COOKIE_NAME,Ct as VisitorDataStore,Pt as computeAggregateDimensions,$t as cookieEvaluator,Ve as createConsoleLogDrain,ke as createDebugConsoleLogDrain,Er as createLinearDecay,qt as currentPageEvaluator,rt as emptyVisitorData,li as enableConsoleLogDrain,Di as enableContextDevTools,gi as enableDebugConsoleLogDrain,Lt as evaluateVariantMatch,It as eventEvaluator,U as explainStringMatch,dt as explainStringMatchCriteria,et as getEnrichmentVectorKey,T as isStringMatch,pt as pageViewCountDimension,ft as pageViewCountEvaluator,bi as parseQuickConnect,Mt as personalizeVariations,Gt as queryStringEvaluator,zt as quirkEvaluator,xi as serializeQuickConnect,xt as testVariations};
var ie=Object.defineProperty;var ne=(e,t,r)=>t in e?ie(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var C=(e,t,r)=>(ne(e,typeof t!="symbol"?t+"":t,r),r),ut=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var a=(e,t,r)=>(ut(e,t,"read from private field"),r?r.call(e):t.get(e)),d=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},g=(e,t,r,i)=>(ut(e,t,"write to private field"),i?i.call(e,r):t.set(e,r),r);var D=(e,t,r)=>(ut(e,t,"access private method"),r);function wt(e,t){let r={...e};for(let i in t){let n=Rt(e,i,t,new Set([i]));n!==0&&(r[i]=n)}return r}function Rt(e,t,r,i){var s;let n=0;for(let o of r[t].inputs){let u=(s=e[o.dim])!=null?s:0;if(!u&&r[o.dim]){if(i.has(o.dim))continue;let l=new Set(i);l.add(o.dim),u=Rt(e,o.dim,r,l)}if(u!==0)if(o.sign==="c"){n=0;break}else o.sign==="-"?n-=u:n+=u}return n}var L="_";var F,Q,lt=class{constructor(t,r,i){d(this,F,void 0);d(this,Q,void 0);C(this,"signal");this.signal=t,g(this,F,r),g(this,Q,i)}computeSignal(t,r){if(t.scores[this.signal.id]>=this.signal.cap&&this.signal.dur!=="t")return;let n=a(this,F).evaluate(t,this.signal.crit,r,this.signal,a(this,Q)),s=this.signal.dur==="s"||this.signal.dur==="t"?"modscoreS":"modscore";if(!!n.changed){if(n.result)r.push({type:s,data:{dimension:this.signal.id,delta:this.signal.str}});else if(this.signal.dur==="t"){let o=t.visitor.sessionScores[this.signal.id];o&&r.push({type:s,data:{dimension:this.signal.id,delta:-o}})}}}};F=new WeakMap,Q=new WeakMap;var E,K,O,ct=class{constructor({manifest:t,evaluator:r=new H({}),onLogMessage:i=()=>{}}){C(this,"data");d(this,E,void 0);d(this,K,void 0);d(this,O,void 0);var n,s,o;g(this,E,(n=t.project)!=null?n:{}),this.data=t,g(this,K,Object.entries((o=(s=a(this,E).pz)==null?void 0:s.sig)!=null?o:[]).map(([u,c])=>new lt({...c,id:u},r,i))),g(this,O,i)}rollForControlGroup(){var t,r;return Math.random()<((r=(t=a(this,E).pz)==null?void 0:t.control)!=null?r:0)}getTest(t){var r;return(r=a(this,E).test)==null?void 0:r[t]}computeSignals(t){let r=[];a(this,O).call(this,["debug",200,"GROUP"]);try{a(this,K).forEach(i=>{a(this,O).call(this,["debug",201,"GROUP",i.signal]);try{i.computeSignal(t,r)}finally{a(this,O).call(this,["debug",201,"ENDGROUP"])}})}finally{a(this,O).call(this,["debug",200,"ENDGROUP"])}return r}computeAggregateDimensions(t){var r,i;return wt(t,(i=(r=a(this,E).pz)==null?void 0:r.agg)!=null?i:{})}getDimensionByKey(t){var i,n,s,o;let r=t.indexOf(L);return r<=0?(n=(i=a(this,E).pz)==null?void 0:i.sig)==null?void 0:n[t]:(o=(s=a(this,E).pz)==null?void 0:s.enr)==null?void 0:o[t.substring(0,r)]}};E=new WeakMap,K=new WeakMap,O=new WeakMap;import{dequal as oe}from"dequal/lite";function T(e,t){var o,u,c,l,m,h;let r=(o=t==null?void 0:t.op)!=null?o:"=";if(t.op==="*")return e!==null&&typeof e!="undefined";if(t.op==="!*")return e===null||typeof e=="undefined";if(!("rhs"in t))throw new Error(`Match expression is required for match type ${r}`);let i=(u=t.cs)!=null?u:!1,n=(i?e!=null?e:"":Ot(e)).toString(),s=(i?t.rhs:Ot(t.rhs)).toString();switch(r){case"=":return n===s;case"!=":return n!==s;case"~":return(c=n.includes(s))!=null?c:!1;case"!~":return!((l=n.includes(s))==null||l);case"//":return new RegExp(t.rhs.toString(),i?"":"i").test((m=e==null?void 0:e.toString())!=null?m:"");case"!//":return!new RegExp(t.rhs.toString(),i?"":"i").test((h=e==null?void 0:e.toString())!=null?h:"");default:throw new Error(`Unknown match type ${r}.`)}}function U(e,t){return`'${("cs"in t?t.cs:!1)?e:e==null?void 0:e.toString().toUpperCase()}' ${dt(t)}`}function dt(e){return"rhs"in e?`${e.op} '${e.cs?e.rhs:e.rhs.toString().toUpperCase()}'`:`${e.op==="*"?"exists":"does not exist"}`}function Ot(e){var t,r;return(r=(t=e==null?void 0:e.toString())==null?void 0:t.toUpperCase())!=null?r:""}var $t=({update:e,criteria:t,onLogMessage:r})=>{var u,c;if(t.type!=="CK")return{result:!1,changed:!1};let i=!oe(Ut(e.state.cookies),Ut((u=e.previousState)==null?void 0:u.cookies)),n=(c=e.state.cookies)==null?void 0:c[t.cookieName],o={result:T(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:U(n,t.match)}]),o};function Ut(e){if(!e)return;if(!e.ufvd)return e;let{ufvd:t,...r}=e;return r}function At(e,t){var i;if(typeof e=="undefined"||e===null)return!1;let r=Number(e);if(isNaN(r))return!1;switch((i=t==null?void 0:t.op)!=null?i:"="){case"=":return r===t.rhs;case"!=":return r!==t.rhs;case">":return r>t.rhs;case"<":return r<t.rhs;default:return console.warn(`Unknown match type ${t.op} is false.`),!1}}function Nt(e,t){return`${e} ${se(t)}`}function se(e){return`${e.op} ${e.rhs}`}function tt(e,t){return`${e}${L}${t}`}var ft=tt("$pvc","v"),pt=({update:e,criteria:t,commands:r,onLogMessage:i})=>{var l,m;if(t.type!=="PVC")return{result:!1,changed:!1};let n=Boolean(e.state.url&&(!e.previousState||((l=e.state.url)==null?void 0:l.toString())!==((m=e.previousState.url)==null?void 0:m.toString()))),o=(e.visitor.sessionScores[ft]||0)+1,u={result:!1,changed:n},c=r.some(h=>h.type==="modscoreS"&&h.data.dimension===ft);return n&&!c&&r.push({type:"modscoreS",data:{dimension:ft,delta:1}}),At(o,t.match)&&(u.result=!0),i==null||i(["debug",203,{criteria:t,result:u,explanation:Nt(o,t.match)}]),u};pt.alwaysExecute=!0;var Gt=({update:e,criteria:t,onLogMessage:r})=>{var u,c,l,m,h;if(t.type!=="QS")return{result:!1,changed:!1};let i=!e.previousState||((c=(u=e.state.url)==null?void 0:u.searchParams)==null?void 0:c.toString())!==((m=(l=e.previousState.url)==null?void 0:l.searchParams)==null?void 0:m.toString()),n=(h=e.state.url)==null?void 0:h.searchParams.get(t.queryName),o={result:T(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:U(n,t.match)}]),o};var zt=({update:e,criteria:t,signal:r,onLogMessage:i})=>{var m;if(t.type!=="QK")return{result:!1,changed:!1};if(typeof document=="undefined"&&r.dur==="t"&&e.scores[r.id]>0)return{result:!0,changed:!1};let n=e.visitor.quirks[t.key],s=(m=e.state.quirks)==null?void 0:m[t.key],o=s!=null?s:n,u=Boolean(s&&n!==s),l={result:T(o,t.match),changed:u};return i==null||i(["debug",203,{criteria:t,result:l,explanation:U(o,t.match)}]),l};var It=({update:e,criteria:t,onLogMessage:r})=>{var s,o,u;if(t.type!=="EVT")return{result:!1,changed:!1};let i=(o=(s=e.state.events)==null?void 0:s.some(c=>T(c.event,t.event)))!=null?o:!1,n={result:i,changed:i};return r==null||r(["debug",203,{criteria:t,result:n,explanation:`'${(u=e.state.events)==null?void 0:u.join("', '")}' ${dt(t.event)}`}]),n};var qt=({update:e,criteria:t,onLogMessage:r})=>{var u,c,l;if(t.type!=="PV")return{result:!1,changed:!1};let i=(u=e.state.url)==null?void 0:u.pathname,n=!e.previousState||(i==null?void 0:i.toString())!==((l=(c=e.previousState.url)==null?void 0:c.pathname)==null?void 0:l.toString()),o={result:T(i,t.path),changed:n};return r==null||r(["debug",203,{criteria:t,result:o,explanation:U(i,t.path)}]),o};var B,H=class{constructor(t){d(this,B,void 0);g(this,B,t)}evaluate(t,r,i,n,s){let o=r.clauses.length>1;o&&(s==null||s(["debug",202,"GROUP",r]));try{let u=!(r.op==="&"||!r.op),c=null,l=!1;for(let h of r.clauses){let y;if(h.type==="G")y=this.evaluate(t,h,i,n,s);else{let x=a(this,B)[h.type];if(c&&!x.alwaysExecute)continue;if(!x)throw new Error(`${h.type} signal criteria not registered`);y=x({update:t,criteria:h,commands:i,signal:n,onLogMessage:s})}y.changed&&(l=!0),!c&&y.result===u&&(c={result:u,changed:l})}let m=c!=null?c:{result:!u,changed:l};return o&&(s==null||s(["debug",204,m])),m}finally{o&&(s==null||s(["debug",202,"ENDGROUP"]))}}};B=new WeakMap;var et=()=>({quirks:{},scores:{},sessionScores:{},tests:{},consent:!1,controlGroup:!1});import ae from"mitt";import{dequal as ue}from"dequal/lite";var le="__UNIFORM_DATA__",$,z,J=class{constructor({initialData:t}){d(this,$,void 0);d(this,z,ae());C(this,"events",{on:a(this,z).on,off:a(this,z).off});t&&g(this,$,t)}get data(){return a(this,$)}updateData(t,r){return g(this,$,r),this.handleUpdateData(t,r)}async delete(t){g(this,$,void 0),await this.handleDelete(t)}signalAsyncDataUpdate(t){ue(this.data,t)||(g(this,$,t),a(this,z).emit("dataUpdatedAsync",t))}getClientTransitionState(){if(typeof document=="undefined")return;let t=document.getElementById(le);return t!=null&&t.textContent?JSON.parse(t.textContent):void 0}};$=new WeakMap,z=new WeakMap;var mt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",_t=mt.split(""),jt=new Array(123);for(let e=0;e<mt.length;e++)jt[mt.charCodeAt(e)]=e;var ht=e=>{if(e<0)return`-${ht(-e)}`;let t=e>>>0,r=e/4294967296>>>0,i="";for(;r>0;)i=_t[63&t]+i,t>>>=6,t|=(63&r)<<26,r>>>=6;let n="";do n=_t[63&t]+n,t>>>=6;while(t>0);return n+i},Ft=e=>{let t=0,r=e.charAt(0)==="-"?1:0;for(let i=r;i<e.length;i++)t=t*64+jt[e.charCodeAt(i)];return r?-t:t};import gt from"js-cookie";var vt=typeof document=="undefined",ce="ufvd",N,W,de=class extends J{constructor({serverCookieValue:t,cookieName:r=ce,cookieAttributes:i={sameSite:"lax"}}){super({initialData:vt?fe(t):void 0});d(this,N,void 0);d(this,W,void 0);g(this,N,r),g(this,W,i)}handleDelete(){return vt||gt.remove(a(this,N)),Promise.resolve()}async handleUpdateData(t,r){vt||(r.consent?gt.set(a(this,N),pe(r),a(this,W)):gt.remove(a(this,N)))}};N=new WeakMap,W=new WeakMap;var Ht="~",Bt="!",Jt="-";function fe(e){if(!e)return;let t=e.split(Ht);if(t.length>3)return;let[r,i,n]=t;return{consent:!0,sessionScores:Qt(St(i)),scores:Qt(St(n)),tests:St(r)}}function St(e){return e.split(Bt).map(r=>r.split(Jt)).reduce((r,i)=>(i.length!==2||(r[i[0]]=i[1]),r),{})}function Qt(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=Ft(i),t),{})}function pe(e){return[yt(e.tests),yt(Kt(e.sessionScores)),yt(Kt(e.scores))].join(Ht)}function Kt(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=ht(i),t),{})}function yt(e){return Object.entries(e).map(t=>t.join(Jt)).join(Bt)}var rt,he,me=class extends J{constructor({serverCookieValue:t,visitorIdCookieName:r="ufvi",...i}){super(i);d(this,rt);i.initialData||D(this,rt,he).call(this).catch(n=>{console.error(n)})}handleDelete(t){throw new Error("Method not implemented.")}async handleUpdateData(t){let r=await new Promise(i=>{setTimeout(()=>{i(void 0)},2e3)});r&&this.signalAsyncDataUpdate(r)}};rt=new WeakSet,he=async function(){let t=await new Promise(r=>{setTimeout(()=>{r(void 0)},2e3)});t&&this.signalAsyncDataUpdate(t)};function wr(e){let{gracePeriod:t=864e5,decayRate:r=1/30,decayCap:i=.95}=e!=null?e:{};return function({now:s,lastUpd:o,scores:u,sessionScores:c,onLogMessage:l}){if(typeof o!="number")return!1;let h=s-o-t;if(h<=0)return!1;let y=h/864e5,x=1-Math.min(i,y*r);return x<=0?!1:(Wt(u,x),Wt(c,x),l==null||l(["info",140,`linear decay factor ${x.toPrecision(6)}`]),!0)}}function Wt(e,t){for(let r in e)r.startsWith("$")||(e[r]*=t)}import Se from"mitt";import{dequal as it}from"dequal/lite";var Dt=class{constructor(){C(this,"inMemoryFallback",{});C(this,"hasLocalStorageObject",typeof localStorage!="undefined")}get(t){let r=this.inMemoryFallback[t];if(!this.hasLocalStorageObject||r)return r;try{let i=localStorage.getItem(t);return i?JSON.parse(i):void 0}catch(i){return r}}set(t,r,i){if(this.inMemoryFallback[t]=r,!(!this.hasLocalStorageObject||!i))try{localStorage.setItem(t,JSON.stringify(r))}catch(n){console.warn(n)}}delete(t,r){r||delete this.inMemoryFallback[t];try{localStorage.removeItem(t)}catch(i){}}};import ge from"rfdc";var ve=ge();function Yt(e,t,r){let i=t?ve(t):et();return e.forEach(n=>{var s,o;switch(n.type){case"consent":i.consent=n.data;break;case"setquirk":i.quirks[n.data.key]=n.data.value;break;case"settest":i.tests[n.data.test]=n.data.variant;break;case"modscore":if(r)break;let u=Number(n.data.delta);if(isNaN(u))throw new Error("Non-number delta received");let c=(s=i.scores[n.data.dimension])!=null?s:0;i.scores[n.data.dimension]=c+u;break;case"modscoreS":if(r)break;let l=Number(n.data.delta);if(isNaN(l))throw new Error("Non-number delta received");let m=(o=i.sessionScores[n.data.dimension])!=null?o:0;i.sessionScores[n.data.dimension]=m+l;break;case"identify":break;case"setcontrol":i.controlGroup=n.data;break;default:throw new Error("Unknown command")}}),i}var nt="ufvisitor",k,G,q,S,b,A,w,I,ot,ye,st,De,Y,Xt,X,Zt,Ct=class{constructor(t){d(this,b);d(this,w);d(this,ot);d(this,st);d(this,Y);d(this,X);d(this,k,Se());d(this,G,new Dt);d(this,q,void 0);d(this,S,void 0);C(this,"events",{on:a(this,k).on,off:a(this,k).off});if(g(this,S,t),a(this,b,A)||D(this,w,I).call(this,D(this,X,Zt).call(this),!0),t.transitionStore){let r=t.transitionStore.getClientTransitionState();r&&t.onServerTransitionReceived&&t.onServerTransitionReceived(r),t.transitionStore.events.on("dataUpdatedAsync",n=>{D(this,w,I).call(this,{...a(this,b,A).visitorData,...n})});let i=t.transitionStore.data;i&&D(this,w,I).call(this,{...a(this,b,A).visitorData,...i},!0)}}get data(){var r,i;let t=a(this,b,A);if(D(this,st,De).call(this,t)){let{sessionScores:n,...s}=t.visitorData;return D(this,w,I).call(this,{...s,sessionScores:{}}),(i=(r=a(this,S)).onLogMessage)==null||i.call(r,["info",120]),a(this,b,A).visitorData}return t.visitorData}get decayEnabled(){return!!a(this,S).decay}async updateData(t){var i,n,s,o;if(t.length===0)return;(n=(i=a(this,S)).onLogMessage)==null||n.call(i,["debug",101,t]);let r=Yt(t,this.data,(s=a(this,b,A))==null?void 0:s.visitorData.controlGroup);t.some(u=>u.type==="consent"&&!u.data)&&a(this,G).delete(nt,!0),D(this,w,I).call(this,r),await((o=a(this,S).transitionStore)==null?void 0:o.updateData(t,a(this,b,A).visitorData))}async delete(t){var r,i,n,s,o;(i=(r=a(this,S)).onLogMessage)==null||i.call(r,["info",103,"GROUP",t]);try{a(this,G).delete(nt,!1),await((n=a(this,S).transitionStore)==null?void 0:n.delete(t)),D(this,w,I).call(this,D(this,X,Zt).call(this))}finally{(o=(s=a(this,S)).onLogMessage)==null||o.call(s,["info",103,"ENDGROUP"])}}};k=new WeakMap,G=new WeakMap,q=new WeakMap,S=new WeakMap,b=new WeakSet,A=function(){return a(this,G).get(nt)},w=new WeakSet,I=function(t,r=!1){var m,h,y,x,M,Et,Tt,kt,Pt;let i=a(this,b,A),n=Date.now();t.controlGroup?(t.scores={},t.sessionScores={}):(D(this,Y,Xt).call(this,t.scores),D(this,Y,Xt).call(this,t.sessionScores),(h=(m=a(this,S)).decay)==null||h.call(m,{now:n,lastUpd:i==null?void 0:i.updated,scores:t.scores,sessionScores:t.sessionScores,onLogMessage:a(this,S).onLogMessage}));let s=!it(i==null?void 0:i.visitorData.scores,t.scores),o=!it(i==null?void 0:i.visitorData.sessionScores,t.sessionScores),u=!it(i==null?void 0:i.visitorData.quirks,t.quirks),c=!it(i==null?void 0:i.visitorData.tests,t.tests),l={updated:n,visitorData:t};D(this,ot,ye).call(this),a(this,G).set(nt,l,!!t.consent),(x=(y=a(this,S)).onLogMessage)==null||x.call(y,["debug",102,t]),r||((s||o)&&a(this,k).emit("scoresUpdated",t),u&&a(this,k).emit("quirksUpdated",t),c&&a(this,k).emit("testsUpdated",t),((M=i==null?void 0:i.visitorData)==null?void 0:M.consent)!==t.consent&&a(this,k).emit("consentUpdated",t),((Et=i==null?void 0:i.visitorData)==null?void 0:Et.controlGroup)!==t.controlGroup&&(a(this,k).emit("controlGroupUpdated",t),(Pt=(kt=a(this,S)).onLogMessage)==null||Pt.call(kt,["debug",104,(Tt=t.controlGroup)!=null?Tt:!1])))},ot=new WeakSet,ye=function(){typeof document=="undefined"||!a(this,S).visitLifespan||(a(this,q)&&window.clearTimeout(a(this,q)),g(this,q,window.setTimeout(()=>{this.data},a(this,S).visitLifespan+50)))},st=new WeakSet,De=function(t){let r=a(this,S).visitLifespan;return r?t.updated+r<Date.now():!1},Y=new WeakSet,Xt=function(t){var r,i;if(!!a(this,S).manifest)for(let n in t){let s=t[n],o=a(this,S).manifest.getDimensionByKey(n);!o||s>o.cap&&((i=(r=a(this,S)).onLogMessage)==null||i.call(r,["debug",110,{dim:n,score:s,cap:o.cap}]),t[n]=o.cap)}},X=new WeakSet,Zt=function(){var t,r,i;return{...et(),consent:(t=a(this,S).defaultConsent)!=null?t:!1,controlGroup:(i=(r=a(this,S).manifest)==null?void 0:r.rollForControlGroup())!=null?i:!1}};import xe from"mitt";function Mt({name:e,context:t,variations:r,take:i=1,onLogMessage:n}){var s,o,u;n==null||n(["info",300,"GROUP",{name:e,take:i}]);try{let c=(s=t.storage.data.controlGroup)!=null?s:!1,l=[],m=!1,h=t.scores;for(let y of r){if(l.length===i)break;if(!((o=y.pz)!=null&&o.crit.length)){n==null||n(["info",301,"GROUP",{id:y.id,op:(u=y.pz)==null?void 0:u.op}]),n==null||n(["info",302,{matched:!0,description:"default variation"}]),n==null||n(["info",303,!0]),n==null||n(["info",301,"ENDGROUP"]),l.push(y);continue}c||Lt(y.id,y.pz,h,n)&&(m=!0,l.push(y))}return{personalized:m,variations:l}}finally{n==null||n(["info",300,"ENDGROUP"])}}function Lt(e,t,r,i){i==null||i(["info",301,"GROUP",{id:e,op:t==null?void 0:t.op}]);let n;try{t!=null&&t.crit?!t.op||t.op==="&"?n=t.crit.every(s=>te(s,r,i)):n=t.crit.some(s=>te(s,r,i)):(i==null||i(["info",302,{matched:!0,description:"default variation"}]),n=!0),i==null||i(["info",303,n])}finally{i==null||i(["info",301,"ENDGROUP"])}return n}function te(e,t,r){var u,c;let{op:i,l:n}=e,s=(u=t[n])!=null?u:0;if(i==="+"){let l=Math.max(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the highest score`}]),l}else if(i==="-"){let l=Math.min(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the lowest non-zero score`}]),l}let o=e.rDim?t[e.rDim]:e.r;if(o===void 0)return r==null||r(["info",302,{matched:!1,description:`${(c=e.rDim)!=null?c:e.r} has no score value`}]),!1;if(i===">"){let l=s>o;return _(r,l,e,s,o),l}else if(i===">="){let l=s>=o;return _(r,l,e,s,o),l}else if(i==="<"){let l=s<o;return _(r,l,e,s,o),l}else if(i==="<="){let l=s<=o;return _(r,l,e,s,o),l}else if(i==="="){let l=s===o;return _(r,l,e,s,o),l}else if(i==="!="){let l=s!==o;return _(r,l,e,s,o),l}else throw new Error(`Unknown op: ${i}`)}function _(e,t,r,i,n){e==null||e(["info",302,{matched:t,description:`${r.l}[${i}] ${r.op} ${r.rDim?`${r.rDim}[${n}]`:r.r}`}])}var Ce=e=>{let{values:t,total:r,missingDistribution:i}=e.reduce((n,s)=>(s.testDistribution?n.total+=s.testDistribution:++n.missingDistribution,n.values.push(s.testDistribution),n),{values:[],total:0,missingDistribution:0});if(r>100)throw new Error(`Total distribution ${r} is over the maximum 100.`);if(r<100){let s=(100-r)/i;t.forEach((o,u)=>{typeof o=="undefined"&&(t[u]=s)})}return t},xt=({name:e,context:t,variations:r,onLogMessage:i})=>{i==null||i(["info",400,"GROUP",e]);try{let n,s=t.getTestVariantId(e);if(s===null)return i==null||i(["error",401,e]),{result:void 0,variantAssigned:!1};if(s&&(n=r.find(o=>o.id===s),n||i==null||i(["warn",402,{missingVariant:s,variants:r.map(o=>o.id)}])),!n){let o=Ce(r),u=Math.floor(Math.random()*100),c=0;n=r.find((l,m)=>{let h=o[m];if(u>c&&u<=c+h)return l;c+=h}),n&&(i==null||i(["info",403,n.id]),t.setTestVariantId(e,n.id))}return n&&(i==null||i(["info",404,n.id])),{result:n,variantAssigned:!s}}finally{i==null||i(["info",400,"ENDGROUP"])}};import{dequal as ee}from"dequal/lite";var V,R,P,Z,v,j,bt,be=class{constructor(t){d(this,j);C(this,"manifest");d(this,V,void 0);d(this,R,{});d(this,P,void 0);d(this,Z,{});d(this,v,xe());C(this,"events",{on:a(this,v).on,off:a(this,v).off});C(this,"storage");var n,s;let{manifest:r,...i}=t;g(this,P,{}),(n=t.plugins)==null||n.forEach(o=>{!o.logDrain||a(this,v).on("log",o.logDrain)}),a(this,v).emit("log",["info",1,"GROUP"]);try{this.manifest=new ct({onLogMessage:o=>a(this,v).emit("log",o),manifest:r,evaluator:new H({CK:$t,QS:Gt,QK:zt,PVC:pt,EVT:It,PV:qt})}),this.storage=new Ct({...i,manifest:this.manifest,onServerTransitionReceived:o=>{g(this,V,o),o.ssv&&(g(this,R,o.ssv),a(this,v).emit("log",["debug",130,o.ssv]))},onLogMessage:o=>a(this,v).emit("log",o)}),this.storage.events.on("scoresUpdated",D(this,j,bt).bind(this)),a(this,V)||D(this,j,bt).call(this,this.storage.data),this.storage.events.on("quirksUpdated",o=>{let u=this.manifest.computeSignals({scores:a(this,R),state:a(this,P),previousState:a(this,P),visitor:this.storage.data});this.storage.updateData(u),a(this,v).emit("quirksUpdated",o.quirks),a(this,v).emit("log",["info",4,o.quirks])}),(s=t.plugins)==null||s.forEach(o=>{!o.init||o.init(this)})}finally{a(this,v).emit("log",["info",1,"ENDGROUP"])}}get scores(){return a(this,R)}async update(t){var i,n,s;let r=[];(i=a(this,V))!=null&&i.quirks&&(t={...t,quirks:{...a(this,V).quirks,...t.quirks||{}}}),(n=a(this,V))!=null&&n.tests&&r.push(...Object.entries(a(this,V).tests).map(([o,u])=>({type:"settest",data:{test:o,variant:u}})));try{a(this,v).emit("log",["info",2,"GROUP",{...t,url:(s=t.url)==null?void 0:s.toString()}]),t.quirks&&r.push(...Object.entries(t.quirks).map(([o,u])=>({type:"setquirk",data:{key:o,value:u}}))),t.enrichments&&t.enrichments.forEach(o=>{let u=tt(o.cat,o.key);this.manifest.getDimensionByKey(u)?r.push({type:"modscore",data:{dimension:u,delta:o.str}}):a(this,v).emit("log",["warn",5,o])}),r.push(...this.manifest.computeSignals({state:t,previousState:a(this,P),visitor:this.storage.data,scores:a(this,R)})),g(this,P,{...a(this,P),...t}),await this.storage.updateData(r),a(this,V)&&(D(this,j,bt).call(this,this.storage.data),g(this,V,void 0),a(this,v).emit("log",["debug",131]))}finally{a(this,v).emit("log",["info",2,"ENDGROUP"])}}getTestVariantId(t){var i;let r=this.manifest.getTest(t);return r?(i=r.wv)!=null?i:this.storage.data.tests[t]:(a(this,v).emit("log",["warn",401,t]),null)}setTestVariantId(t,r){this.storage.updateData([{type:"settest",data:{test:t,variant:r}}])}log(...t){a(this,v).emit("log",t)}test(t){var i,n;let r=xt({...t,context:this,onLogMessage:s=>a(this,v).emit("log",s)});return a(this,v).emit("testResult",{name:t.name,variantId:(n=(i=r.result)==null?void 0:i.id)!=null?n:void 0,variantAssigned:r.variantAssigned}),r}personalize(t){let r=Mt({...t,context:this,onLogMessage:s=>a(this,v).emit("log",s)}),i=a(this,Z)[t.name],n={name:t.name,variantIds:r.variations.map(s=>{var o;return(o=s.id)!=null?o:"Unknown"}),control:this.storage.data.controlGroup,changed:!0};return i&&ee(n.variantIds,i)&&(n.changed=!1),a(this,v).emit("personalizationResult",n),a(this,Z)[t.name]=n.variantIds,r}async forget(t){g(this,P,{}),await this.storage.delete(t)}};V=new WeakMap,R=new WeakMap,P=new WeakMap,Z=new WeakMap,v=new WeakMap,j=new WeakSet,bt=function(t){var n;let r={...t.scores};for(let s in t.sessionScores)r[s]=((n=r[s])!=null?n:0)+t.sessionScores[s];r=this.manifest.computeAggregateDimensions(r),!ee(r,a(this,R))&&(g(this,R,r),a(this,v).emit("scoresUpdated",r),a(this,v).emit("log",["info",3,r]))};import Ve from"rfdc";function at(e,t){if(e==="none")return!1;switch(t){case"debug":return e==="debug";case"info":return e==="info"||e==="debug";case"warn":return e==="warn"||e==="info"||e==="debug";case"error":return e==="debug"||"info";default:return!1}}var Ee=Ve();function Te(e){return([t,...r])=>{if(!at(e,t))return;let[i,...n]=r;console[t](`\u{1F94B} [${t}] Uniform event ID ${i}
`,...n.map(Ee))}}function mi(e){return{logDrain:Te(e)}}var re={1:()=>["context","initializing Uniform Context"],2:e=>["context","received update()",e],3:e=>["context","new score vector",e],4:e=>["context","updated quirks",e],5:e=>["context","ignored enrichment update for unknown enrichment category",e.cat],101:e=>["storage","received update commands",e],102:e=>["storage","data was updated",e],103:e=>["storage",`deleting visitor data ${e?"from all devices":"from this device"}`],104:e=>["context",e?"Visitor assigned to personalization control group":"Visitor assigned to personalization experiment group"],110:({dim:e,cap:t,score:r})=>["storage",`${e} score ${r} exceeded cap ${t}. Rounded down.`],120:()=>["storage","visitor data expired and was cleared"],130:e=>["storage","server to client transition score data was loaded; it will persist until the next update event occurs",e],131:()=>["storage","server to client transition data was discarded"],140:e=>["storage",`score decay was applied: ${e}`],200:()=>["signals","evaluating signals"],201:e=>["signals",`evaluating signal ${e.id} (${e.dur})`],202:e=>["signals",e.op==="|"?"OR":"AND"],203:({criteria:e,result:t,explanation:r})=>["signals",`${e.type}: ${r} is ${t.result} [${t.changed?"CHANGED":"unchanged"}]`],204:e=>["signals",`group result: ${e.result} [${e.changed?"CHANGED":"unchanged"}]`],300:e=>["personalization",`executing personalization '${e.name}'`],301:({id:e,op:t})=>["personalization",`testing variation ${e} (${t==="|"?"OR":"AND"})`],302:({matched:e,description:t})=>["personalization",`${t} is ${e}`],303:e=>["personalization",e?"selected variation":"did not select variation"],400:e=>["testing",`executing A/B test '${e}'`],401:e=>["testing",`${e} is not registered in the manifest; it will not be run.`],402:({missingVariant:e,variants:t})=>["testing",`test variation '${e}' previously assigned to the visitor for this test no longer exists as a variant. It will be removed. This may indicate changing test variations after publishing a test, which will make results invalid. Known variants: ${t.join(", ")}`],403:e=>["testing",`assigned new test variant '${e}'`],404:e=>["testing",`displaying variation '${e}'`],700:()=>["gtag","gtag is not defined, skipping analytics event emission. Ensure you have added the gtag script to your page."],701:()=>["gtag","enabled gtag event signal redirection"]};import ke from"rfdc";var Pe=ke();function we(e,t){let r=typeof document=="undefined",{enableOnServer:i=!1}=t!=null?t:{};return([n,...s])=>{if(!at(e,n)||r&&!i)return;let[o,...u]=s,c=console[n];if(u[0]==="GROUP"&&(u.shift(),c=console.groupCollapsed),u[0]==="ENDGROUP"){console.groupEnd();return}let l=re[o],m="";switch(n){case"debug":m="\u{1F41E}";break;case"info":m="\u{1F4AC}";break;case"warn":m="\u26A0\uFE0F";break;case"error":m="\u{1F4A5}";break}let h=m;if(!l){c(`${h} unknown event ID ${o}. Log messages data may be older than Uniform Context package.`,...u);return}let[y,x,...M]=l(...u);c(`${h}[${y}] ${x}
`,...M.map(Pe))}}function Di(e,t){return{logDrain:we(e,t)}}var Re=(u=>(u.ListStart="nesi-list-start",u.ListEnd="nesi-list-end",u.ListItem="nesi-list-item-html",u.ListItemSettings="nesi-list-item-settings",u.TestStart="nesi-test-start",u.TestEnd="nesi-test-end",u.Unknown="unknown",u))(Re||{}),xi="nesitag";var Vt=typeof top!="undefined";function Vi(){return{logDrain:e=>{!Vt||top==null||top.postMessage({type:"uniform:context:log",message:e},window.location.origin)},init:e=>{let t=[],r=[],i=()=>{!Vt||top==null||top.postMessage({type:"uniform:context:data",data:{scores:e.scores,data:e.storage.data,manifest:e.manifest.data,personalizations:t,tests:r}},window.location.origin)},n=o=>{!o.changed||(t.push(o),i())},s=o=>{!o.variantAssigned||(r.push(o),i())};if(Vt){window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__=e;try{top==null||top.addEventListener("message",async o=>{if(!o.data)return;let u=o.data;await Oe(u,e)})}catch(o){console.warn("Unable to initialize Uniform Context DevTools because it is in a cross-domain iframe.",o)}top==null||top.postMessage({type:"uniform:context:hello",uiVersion:2},window.location.origin),i()}return e.events.on("personalizationResult",n),e.events.on("testResult",s),e.storage.events.on("*",i),()=>{e.storage.events.off("*",i),e.events.off("personalizationResult",n),e.events.off("testResult",s)}}}}async function Oe(e,t){e.type==="uniform-in:context:update"&&e.newData&&await t.update(e.newData),e.type==="uniform-in:context:commands"&&e.commands&&Array.isArray(e.commands)&&await t.storage.updateData(e.commands),e.type==="uniform-in:context:forget"&&await t.forget(!1)}function Ti(e){return`${e.apiKey}|${e.projectId}${e.apiHost?`|${e.apiHost}`:""}`}function ki(e){let[t,r,i]=e.split("|");if(!t.startsWith("uf"))throw new Error("Invalid API key");if(!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i.test(r))throw new Error("Invalid project ID");return{apiKey:t,projectId:r,apiHost:i||"https://uniform.app"}}export{be as Context,de as CookieTransitionDataStore,xi as EdgeNodeTagName,me as EdgeTransitionDataStore,H as GroupCriteriaEvaluator,ct as ManifestInstance,le as SERVER_STATE_ID,Re as ScriptType,J as TransitionDataStore,ce as UNIFORM_DEFAULT_COOKIE_NAME,Ct as VisitorDataStore,wt as computeAggregateDimensions,$t as cookieEvaluator,Te as createConsoleLogDrain,we as createDebugConsoleLogDrain,wr as createLinearDecay,qt as currentPageEvaluator,et as emptyVisitorData,mi as enableConsoleLogDrain,Vi as enableContextDevTools,Di as enableDebugConsoleLogDrain,Lt as evaluateVariantMatch,It as eventEvaluator,U as explainStringMatch,dt as explainStringMatchCriteria,tt as getEnrichmentVectorKey,T as isStringMatch,ft as pageViewCountDimension,pt as pageViewCountEvaluator,ki as parseQuickConnect,Mt as personalizeVariations,Gt as queryStringEvaluator,zt as quirkEvaluator,Ti as serializeQuickConnect,xt as testVariations};

@@ -1,3 +0,3 @@

var xe=Object.create;var K=Object.defineProperty;var be=Object.getOwnPropertyDescriptor;var Ve=Object.getOwnPropertyNames;var Ee=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty;var ke=(e,t,r)=>t in e?K(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var qt=e=>K(e,"__esModule",{value:!0});var we=(e,t)=>{for(var r in t)K(e,r,{get:t[r],enumerable:!0})},_t=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ve(t))!Te.call(e,n)&&(r||n!=="default")&&K(e,n,{get:()=>t[n],enumerable:!(i=be(t,n))||i.enumerable});return e},$=(e,t)=>_t(qt(K(e!=null?xe(Ee(e)):{},"default",!t&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),Pe=(e=>(t,r)=>e&&e.get(t)||(r=_t(qt({}),t,1),e&&e.set(t,r),r))(typeof WeakMap!="undefined"?new WeakMap:0);var D=(e,t,r)=>(ke(e,typeof t!="symbol"?t+"":t,r),r),gt=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var a=(e,t,r)=>(gt(e,t,"read from private field"),r?r.call(e):t.get(e)),d=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},h=(e,t,r,i)=>(gt(e,t,"write to private field"),i?i.call(e,r):t.set(e,r),r);var y=(e,t,r)=>(gt(e,t,"access private method"),r);var We={};we(We,{Context:()=>he,CookieTransitionDataStore:()=>re,EdgeNodeTagName:()=>Qe,EdgeTransitionDataStore:()=>se,GroupCriteriaEvaluator:()=>z,ManifestInstance:()=>nt,SERVER_STATE_ID:()=>Yt,ScriptType:()=>Ce,TransitionDataStore:()=>q,UNIFORM_DEFAULT_COOKIE_NAME:()=>ee,VisitorDataStore:()=>ft,computeAggregateDimensions:()=>vt,cookieEvaluator:()=>yt,createConsoleLogDrain:()=>ve,createDebugConsoleLogDrain:()=>De,createLinearDecay:()=>Ae,currentPageEvaluator:()=>bt,emptyVisitorData:()=>X,enableConsoleLogDrain:()=>_e,enableContextDevTools:()=>Ke,enableDebugConsoleLogDrain:()=>Fe,evaluateVariantMatch:()=>Ot,eventEvaluator:()=>xt,explainStringMatch:()=>k,explainStringMatchCriteria:()=>ot,getEnrichmentVectorKey:()=>W,isStringMatch:()=>x,pageViewCountDimension:()=>st,pageViewCountEvaluator:()=>at,parseQuickConnect:()=>Je,personalizeVariations:()=>Rt,queryStringEvaluator:()=>Dt,quirkEvaluator:()=>Ct,serializeQuickConnect:()=>Be,testVariations:()=>mt});function vt(e,t){let r={...e};for(let i in t){let n=jt(e,i,t,new Set([i]));n!==0&&(r[i]=n)}return r}function jt(e,t,r,i){var s;let n=0;for(let o of r[t].inputs){let u=(s=e[o.dim])!=null?s:0;if(!u&&r[o.dim]){if(i.has(o.dim))continue;let c=new Set(i);c.add(o.dim),u=jt(e,o.dim,r,c)}if(u!==0)if(o.sign==="c"){n=0;break}else o.sign==="-"?n-=u:n+=u}return n}var it="_";var H,B,St=class{constructor(t,r,i){d(this,H,void 0);d(this,B,void 0);D(this,"signal");this.signal=t,h(this,H,r),h(this,B,i)}computeSignal(t,r){if(t.scores[this.signal.id]>=this.signal.cap&&this.signal.dur!=="t")return;let n=a(this,H).evaluate(t,this.signal.crit,r,this.signal,a(this,B)),s=this.signal.dur==="s"||this.signal.dur==="t"?"modscoreS":"modscore";if(!!n.changed){if(n.result)r.push({type:s,data:{dimension:this.signal.id,delta:this.signal.str}});else if(this.signal.dur==="t"){let o=t.visitor.sessionScores[this.signal.id];o&&r.push({type:s,data:{dimension:this.signal.id,delta:-o}})}}}};H=new WeakMap,B=new WeakMap;var V,J,R,nt=class{constructor({manifest:t,evaluator:r=new z({}),onLogMessage:i=()=>{}}){D(this,"data");d(this,V,void 0);d(this,J,void 0);d(this,R,void 0);var n,s,o;h(this,V,(n=t.project)!=null?n:{}),this.data=t,h(this,J,Object.entries((o=(s=a(this,V).pz)==null?void 0:s.sig)!=null?o:[]).map(([u,l])=>new St({...l,id:u},r,i))),h(this,R,i)}rollForControlGroup(){var t,r;return Math.random()<((r=(t=a(this,V).pz)==null?void 0:t.control)!=null?r:0)}getTest(t){var r;return(r=a(this,V).test)==null?void 0:r[t]}computeSignals(t){let r=[];a(this,R).call(this,["debug",200,"GROUP"]);try{a(this,J).forEach(i=>{a(this,R).call(this,["debug",201,"GROUP",i.signal]);try{i.computeSignal(t,r)}finally{a(this,R).call(this,["debug",201,"ENDGROUP"])}})}finally{a(this,R).call(this,["debug",200,"ENDGROUP"])}return r}computeAggregateDimensions(t){var r,i;return vt(t,(i=(r=a(this,V).pz)==null?void 0:r.agg)!=null?i:{})}getDimensionByKey(t){var i,n,s,o;let r=t.indexOf(it);return r<=0?(n=(i=a(this,V).pz)==null?void 0:i.sig)==null?void 0:n[t]:(o=(s=a(this,V).pz)==null?void 0:s.enr)==null?void 0:o[t.substring(0,r)]}};V=new WeakMap,J=new WeakMap,R=new WeakMap;var Kt=require("dequal/lite");function x(e,t){var o,u,l,c,f,m;let r=(o=t==null?void 0:t.op)!=null?o:"=";if(t.op==="*")return e!==null&&typeof e!="undefined";if(t.op==="!*")return e===null||typeof e=="undefined";if(!("rhs"in t))throw new Error(`Match expression is required for match type ${r}`);let i=(u=t.cs)!=null?u:!1,n=(i?e!=null?e:"":Ft(e)).toString(),s=(i?t.rhs:Ft(t.rhs)).toString();switch(r){case"=":return n===s;case"!=":return n!==s;case"~":return(l=n.includes(s))!=null?l:!1;case"!~":return!((c=n.includes(s))==null||c);case"//":return new RegExp(t.rhs.toString(),i?"":"i").test((f=e==null?void 0:e.toString())!=null?f:"");case"!//":return!new RegExp(t.rhs.toString(),i?"":"i").test((m=e==null?void 0:e.toString())!=null?m:"");default:throw new Error(`Unknown match type ${r}.`)}}function k(e,t){return`'${("cs"in t?t.cs:!1)?e:e==null?void 0:e.toString().toUpperCase()}' ${ot(t)}`}function ot(e){return"rhs"in e?`${e.op} '${e.cs?e.rhs:e.rhs.toString().toUpperCase()}'`:`${e.op==="*"?"exists":"does not exist"}`}function Ft(e){var t,r;return(r=(t=e==null?void 0:e.toString())==null?void 0:t.toUpperCase())!=null?r:""}var yt=({update:e,criteria:t,onLogMessage:r})=>{var u,l;if(t.type!=="CK")return{result:!1,changed:!1};let i=!(0,Kt.dequal)(Qt(e.state.cookies),Qt((u=e.previousState)==null?void 0:u.cookies)),n=(l=e.state.cookies)==null?void 0:l[t.cookieName],o={result:x(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:k(n,t.match)}]),o};function Qt(e){if(!e)return;if(!e.ufvd)return e;let{ufvd:t,...r}=e;return r}function Ht(e,t){var i;if(typeof e=="undefined"||e===null)return!1;let r=Number(e);if(isNaN(r))return!1;switch((i=t==null?void 0:t.op)!=null?i:"="){case"=":return r===t.rhs;case"!=":return r!==t.rhs;case">":return r>t.rhs;case"<":return r<t.rhs;default:return console.warn(`Unknown match type ${t.op} is false.`),!1}}function Bt(e,t){return`${e} ${Re(t)}`}function Re(e){return`${e.op} ${e.rhs}`}function W(e,t){return`${e}${it}${t}`}var st=W("$pvc","v"),at=({update:e,criteria:t,commands:r,onLogMessage:i})=>{var c,f;if(t.type!=="PVC")return{result:!1,changed:!1};let n=Boolean(e.state.url&&(!e.previousState||((c=e.state.url)==null?void 0:c.toString())!==((f=e.previousState.url)==null?void 0:f.toString()))),o=(e.visitor.sessionScores[st]||0)+1,u={result:!1,changed:n},l=r.some(m=>m.type==="modscoreS"&&m.data.dimension===st);return n&&!l&&r.push({type:"modscoreS",data:{dimension:st,delta:1}}),Ht(o,t.match)&&(u.result=!0),i==null||i(["debug",203,{criteria:t,result:u,explanation:Bt(o,t.match)}]),u};at.alwaysExecute=!0;var Dt=({update:e,criteria:t,onLogMessage:r})=>{var u,l,c,f,m;if(t.type!=="QS")return{result:!1,changed:!1};let i=!e.previousState||((l=(u=e.state.url)==null?void 0:u.searchParams)==null?void 0:l.toString())!==((f=(c=e.previousState.url)==null?void 0:c.searchParams)==null?void 0:f.toString()),n=(m=e.state.url)==null?void 0:m.searchParams.get(t.queryName),o={result:x(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:k(n,t.match)}]),o};var Ct=({update:e,criteria:t,signal:r,onLogMessage:i})=>{var f;if(t.type!=="QK")return{result:!1,changed:!1};if(typeof document=="undefined"&&r.dur==="t"&&e.scores[r.id]>0)return{result:!0,changed:!1};let n=e.visitor.quirks[t.key],s=(f=e.state.quirks)==null?void 0:f[t.key],o=s!=null?s:n,u=Boolean(s&&n!==s),c={result:x(o,t.match),changed:u};return i==null||i(["debug",203,{criteria:t,result:c,explanation:k(o,t.match)}]),c};var xt=({update:e,criteria:t,onLogMessage:r})=>{var s,o,u;if(t.type!=="EVT")return{result:!1,changed:!1};let i=(o=(s=e.state.events)==null?void 0:s.some(l=>x(l.event,t.event)))!=null?o:!1,n={result:i,changed:i};return r==null||r(["debug",203,{criteria:t,result:n,explanation:`'${(u=e.state.events)==null?void 0:u.join("', '")}' ${ot(t.event)}`}]),n};var bt=({update:e,criteria:t,onLogMessage:r})=>{var u,l,c;if(t.type!=="PV")return{result:!1,changed:!1};let i=(u=e.state.url)==null?void 0:u.pathname,n=!e.previousState||(i==null?void 0:i.toString())!==((c=(l=e.previousState.url)==null?void 0:l.pathname)==null?void 0:c.toString()),o={result:x(i,t.path),changed:n};return r==null||r(["debug",203,{criteria:t,result:o,explanation:k(i,t.path)}]),o};var Y,z=class{constructor(t){d(this,Y,void 0);h(this,Y,t)}evaluate(t,r,i,n,s){let o=r.clauses.length>1;o&&(s==null||s(["debug",202,"GROUP",r]));try{let u=!(r.op==="&"||!r.op),l=null,c=!1;for(let m of r.clauses){let S;if(m.type==="G")S=this.evaluate(t,m,i,n,s);else{let C=a(this,Y)[m.type];if(l&&!C.alwaysExecute)continue;if(!C)throw new Error(`${m.type} signal criteria not registered`);S=C({update:t,criteria:m,commands:i,signal:n,onLogMessage:s})}S.changed&&(c=!0),!l&&S.result===u&&(l={result:u,changed:c})}let f=l!=null?l:{result:!u,changed:c};return o&&(s==null||s(["debug",204,f])),f}finally{o&&(s==null||s(["debug",202,"ENDGROUP"]))}}};Y=new WeakMap;var X=()=>({quirks:{},scores:{},sessionScores:{},tests:{},consent:!1,controlGroup:!1});var Jt=$(require("mitt")),Wt=require("dequal/lite"),Yt="__UNIFORM_DATA__",O,I,q=class{constructor({initialData:t}){d(this,O,void 0);d(this,I,(0,Jt.default)());D(this,"events",{on:a(this,I).on,off:a(this,I).off});t&&h(this,O,t)}get data(){return a(this,O)}updateData(t,r){return h(this,O,r),this.handleUpdateData(t,r)}async delete(t){h(this,O,void 0),await this.handleDelete(t)}signalAsyncDataUpdate(t){(0,Wt.dequal)(this.data,t)||(h(this,O,t),a(this,I).emit("dataUpdatedAsync",t))}getClientTransitionState(){if(typeof document=="undefined")return;let t=document.getElementById(Yt);return t!=null&&t.textContent?JSON.parse(t.textContent):void 0}};O=new WeakMap,I=new WeakMap;var Vt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Xt=Vt.split(""),Zt=new Array(123);for(let e=0;e<Vt.length;e++)Zt[Vt.charCodeAt(e)]=e;var Et=e=>{if(e<0)return`-${Et(-e)}`;let t=e>>>0,r=e/4294967296>>>0,i="";for(;r>0;)i=Xt[63&t]+i,t>>>=6,t|=(63&r)<<26,r>>>=6;let n="";do n=Xt[63&t]+n,t>>>=6;while(t>0);return n+i},Mt=e=>{let t=0,r=e.charAt(0)==="-"?1:0;for(let i=r;i<e.length;i++)t=t*64+Zt[e.charCodeAt(i)];return r?-t:t};var ut=$(require("js-cookie")),Tt=typeof document=="undefined",ee="ufvd",A,Z,re=class extends q{constructor({serverCookieValue:t,cookieName:r=ee,cookieAttributes:i={sameSite:"lax"}}){super({initialData:Tt?Oe(t):void 0});d(this,A,void 0);d(this,Z,void 0);h(this,A,r),h(this,Z,i)}handleDelete(){return Tt||ut.default.remove(a(this,A)),Promise.resolve()}async handleUpdateData(t,r){Tt||(r.consent?ut.default.set(a(this,A),Ue(r),a(this,Z)):ut.default.remove(a(this,A)))}};A=new WeakMap,Z=new WeakMap;var ie="~",ne="!",oe="-";function Oe(e){if(!e)return;let t=e.split(ie);if(t.length>3)return;let[r,i,n]=t;return{consent:!0,sessionScores:Lt(kt(i)),scores:Lt(kt(n)),tests:kt(r)}}function kt(e){return e.split(ne).map(r=>r.split(oe)).reduce((r,i)=>(i.length!==2||(r[i[0]]=i[1]),r),{})}function Lt(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=Mt(i),t),{})}function Ue(e){return[wt(e.tests),wt(te(e.sessionScores)),wt(te(e.scores))].join(ie)}function te(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=Et(i),t),{})}function wt(e){return Object.entries(e).map(t=>t.join(oe)).join(ne)}var ct,$e,se=class extends q{constructor({serverCookieValue:t,visitorIdCookieName:r="ufvi",...i}){super(i);d(this,ct);i.initialData||y(this,ct,$e).call(this).catch(n=>{console.error(n)})}handleDelete(t){throw new Error("Method not implemented.")}async handleUpdateData(t){let r=await new Promise(i=>{setTimeout(()=>{i(void 0)},2e3)});r&&this.signalAsyncDataUpdate(r)}};ct=new WeakSet,$e=async function(){let t=await new Promise(r=>{setTimeout(()=>{r(void 0)},2e3)});t&&this.signalAsyncDataUpdate(t)};function Ae(e){let{gracePeriod:t=864e5,decayRate:r=1/30,decayCap:i=.95}=e!=null?e:{};return function({now:s,lastUpd:o,scores:u,sessionScores:l,onLogMessage:c}){if(typeof o!="number")return!1;let m=s-o-t;if(m<=0)return!1;let S=m/864e5,C=1-Math.min(i,S*r);return C<=0?!1:(ae(u,C),ae(l,C),c==null||c(["info",140,`linear decay factor ${C.toPrecision(6)}`]),!0)}}function ae(e,t){for(let r in e)r.startsWith("$")||(e[r]*=t)}var pe=$(require("mitt")),M=require("dequal/lite");var Pt=class{constructor(){D(this,"inMemoryFallback",{});D(this,"hasLocalStorageObject",typeof localStorage!="undefined")}get(t){let r=this.inMemoryFallback[t];if(!this.hasLocalStorageObject||r)return r;try{let i=localStorage.getItem(t);return i?JSON.parse(i):void 0}catch(i){return r}}set(t,r,i){if(this.inMemoryFallback[t]=r,!(!this.hasLocalStorageObject||!i))try{localStorage.setItem(t,JSON.stringify(r))}catch(n){console.warn(n)}}delete(t,r){r||delete this.inMemoryFallback[t];try{localStorage.removeItem(t)}catch(i){}}};var ue=$(require("rfdc"));var Ne=(0,ue.default)();function ce(e,t,r){let i=t?Ne(t):X();return e.forEach(n=>{var s,o;switch(n.type){case"consent":i.consent=n.data;break;case"setquirk":i.quirks[n.data.key]=n.data.value;break;case"settest":i.tests[n.data.test]=n.data.variant;break;case"modscore":if(r)break;let u=Number(n.data.delta);if(isNaN(u))throw new Error("Non-number delta received");let l=(s=i.scores[n.data.dimension])!=null?s:0;i.scores[n.data.dimension]=l+u;break;case"modscoreS":if(r)break;let c=Number(n.data.delta);if(isNaN(c))throw new Error("Non-number delta received");let f=(o=i.sessionScores[n.data.dimension])!=null?o:0;i.sessionScores[n.data.dimension]=f+c;break;case"identify":break;case"setcontrol":i.controlGroup=n.data;break;default:throw new Error("Unknown command")}}),i}var lt="ufvisitor",E,N,j,v,b,U,w,_,dt,Ge,pt,ze,L,le,tt,de,ft=class{constructor(t){d(this,b);d(this,w);d(this,dt);d(this,pt);d(this,L);d(this,tt);d(this,E,(0,pe.default)());d(this,N,new Pt);d(this,j,void 0);d(this,v,void 0);D(this,"events",{on:a(this,E).on,off:a(this,E).off});if(h(this,v,t),a(this,b,U)||y(this,w,_).call(this,y(this,tt,de).call(this),!0),t.transitionStore){let r=t.transitionStore.getClientTransitionState();if(r){let n=[];r.quirks&&n.push(...Object.entries(r.quirks).map(([s,o])=>({type:"setquirk",data:{key:s,value:o}}))),r.tests&&n.push(...Object.entries(r.tests).map(([s,o])=>({type:"settest",data:{test:s,variant:o}}))),this.updateData(n),r.ssv&&t.onServerTransitionScoresReceived&&t.onServerTransitionScoresReceived(r.ssv)}t.transitionStore.events.on("dataUpdatedAsync",n=>{y(this,w,_).call(this,{...a(this,b,U).visitorData,...n})});let i=t.transitionStore.data;i&&y(this,w,_).call(this,{...a(this,b,U).visitorData,...i},!0)}}get data(){var r,i;let t=a(this,b,U);if(y(this,pt,ze).call(this,t)){let{sessionScores:n,...s}=t.visitorData;return y(this,w,_).call(this,{...s,sessionScores:{}}),(i=(r=a(this,v)).onLogMessage)==null||i.call(r,["info",120]),a(this,b,U).visitorData}return t.visitorData}get decayEnabled(){return!!a(this,v).decay}async updateData(t){var i,n,s,o;if(t.length===0)return;(n=(i=a(this,v)).onLogMessage)==null||n.call(i,["debug",101,t]);let r=ce(t,this.data,(s=a(this,b,U))==null?void 0:s.visitorData.controlGroup);t.some(u=>u.type==="consent"&&!u.data)&&a(this,N).delete(lt,!0),y(this,w,_).call(this,r),await((o=a(this,v).transitionStore)==null?void 0:o.updateData(t,a(this,b,U).visitorData))}async delete(t){var r,i,n,s,o;(i=(r=a(this,v)).onLogMessage)==null||i.call(r,["info",103,"GROUP",t]);try{a(this,N).delete(lt,!1),await((n=a(this,v).transitionStore)==null?void 0:n.delete(t)),y(this,w,_).call(this,y(this,tt,de).call(this))}finally{(o=(s=a(this,v)).onLogMessage)==null||o.call(s,["info",103,"ENDGROUP"])}}};E=new WeakMap,N=new WeakMap,j=new WeakMap,v=new WeakMap,b=new WeakSet,U=function(){return a(this,N).get(lt)},w=new WeakSet,_=function(t,r=!1){var f,m,S,C,rt,Nt,Gt,zt,It;let i=a(this,b,U),n=Date.now();t.controlGroup?(t.scores={},t.sessionScores={}):(y(this,L,le).call(this,t.scores),y(this,L,le).call(this,t.sessionScores),(m=(f=a(this,v)).decay)==null||m.call(f,{now:n,lastUpd:i==null?void 0:i.updated,scores:t.scores,sessionScores:t.sessionScores,onLogMessage:a(this,v).onLogMessage}));let s=!(0,M.dequal)(i==null?void 0:i.visitorData.scores,t.scores),o=!(0,M.dequal)(i==null?void 0:i.visitorData.sessionScores,t.sessionScores),u=!(0,M.dequal)(i==null?void 0:i.visitorData.quirks,t.quirks),l=!(0,M.dequal)(i==null?void 0:i.visitorData.tests,t.tests),c={updated:n,visitorData:t};y(this,dt,Ge).call(this),a(this,N).set(lt,c,!!t.consent),(C=(S=a(this,v)).onLogMessage)==null||C.call(S,["debug",102,t]),r||((s||o)&&a(this,E).emit("scoresUpdated",t),u&&a(this,E).emit("quirksUpdated",t),l&&a(this,E).emit("testsUpdated",t),((rt=i==null?void 0:i.visitorData)==null?void 0:rt.consent)!==t.consent&&a(this,E).emit("consentUpdated",t),((Nt=i==null?void 0:i.visitorData)==null?void 0:Nt.controlGroup)!==t.controlGroup&&(a(this,E).emit("controlGroupUpdated",t),(It=(zt=a(this,v)).onLogMessage)==null||It.call(zt,["debug",104,(Gt=t.controlGroup)!=null?Gt:!1])))},dt=new WeakSet,Ge=function(){typeof document=="undefined"||!a(this,v).visitLifespan||(a(this,j)&&window.clearTimeout(a(this,j)),h(this,j,window.setTimeout(()=>{this.data},a(this,v).visitLifespan+50)))},pt=new WeakSet,ze=function(t){let r=a(this,v).visitLifespan;return r?t.updated+r<Date.now():!1},L=new WeakSet,le=function(t){var r,i;if(!!a(this,v).manifest)for(let n in t){let s=t[n],o=a(this,v).manifest.getDimensionByKey(n);!o||s>o.cap&&((i=(r=a(this,v)).onLogMessage)==null||i.call(r,["debug",110,{dim:n,score:s,cap:o.cap}]),t[n]=o.cap)}},tt=new WeakSet,de=function(){var t,r,i;return{...X(),consent:(t=a(this,v).defaultConsent)!=null?t:!1,controlGroup:(i=(r=a(this,v).manifest)==null?void 0:r.rollForControlGroup())!=null?i:!1}};var me=$(require("mitt"));function Rt({name:e,context:t,variations:r,take:i=1,onLogMessage:n}){var s,o,u;n==null||n(["info",300,"GROUP",{name:e,take:i}]);try{let l=(s=t.storage.data.controlGroup)!=null?s:!1,c=[],f=!1,m=t.scores;for(let S of r){if(c.length===i)break;if(!((o=S.pz)!=null&&o.crit.length)){n==null||n(["info",301,"GROUP",{id:S.id,op:(u=S.pz)==null?void 0:u.op}]),n==null||n(["info",302,{matched:!0,description:"default variation"}]),n==null||n(["info",303,!0]),n==null||n(["info",301,"ENDGROUP"]),c.push(S);continue}l||Ot(S.id,S.pz,m,n)&&(f=!0,c.push(S))}return{personalized:f,variations:c}}finally{n==null||n(["info",300,"ENDGROUP"])}}function Ot(e,t,r,i){i==null||i(["info",301,"GROUP",{id:e,op:t==null?void 0:t.op}]);let n;try{t!=null&&t.crit?!t.op||t.op==="&"?n=t.crit.every(s=>fe(s,r,i)):n=t.crit.some(s=>fe(s,r,i)):(i==null||i(["info",302,{matched:!0,description:"default variation"}]),n=!0),i==null||i(["info",303,n])}finally{i==null||i(["info",301,"ENDGROUP"])}return n}function fe(e,t,r){var u,l;let{op:i,l:n}=e,s=(u=t[n])!=null?u:0;if(i==="+"){let c=Math.max(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:c,description:`${e.l} has the highest score`}]),c}else if(i==="-"){let c=Math.min(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:c,description:`${e.l} has the lowest non-zero score`}]),c}let o=e.rDim?t[e.rDim]:e.r;if(o===void 0)return r==null||r(["info",302,{matched:!1,description:`${(l=e.rDim)!=null?l:e.r} has no score value`}]),!1;if(i===">"){let c=s>o;return F(r,c,e,s,o),c}else if(i===">="){let c=s>=o;return F(r,c,e,s,o),c}else if(i==="<"){let c=s<o;return F(r,c,e,s,o),c}else if(i==="<="){let c=s<=o;return F(r,c,e,s,o),c}else if(i==="="){let c=s===o;return F(r,c,e,s,o),c}else if(i==="!="){let c=s!==o;return F(r,c,e,s,o),c}else throw new Error(`Unknown op: ${i}`)}function F(e,t,r,i,n){e==null||e(["info",302,{matched:t,description:`${r.l}[${i}] ${r.op} ${r.rDim?`${r.rDim}[${n}]`:r.r}`}])}var Ie=e=>{let{values:t,total:r,missingDistribution:i}=e.reduce((n,s)=>(s.testDistribution?n.total+=s.testDistribution:++n.missingDistribution,n.values.push(s.testDistribution),n),{values:[],total:0,missingDistribution:0});if(r>100)throw new Error(`Total distribution ${r} is over the maximum 100.`);if(r<100){let s=(100-r)/i;t.forEach((o,u)=>{typeof o=="undefined"&&(t[u]=s)})}return t},mt=({name:e,context:t,variations:r,onLogMessage:i})=>{i==null||i(["info",400,"GROUP",e]);try{let n,s=t.getTestVariantId(e);if(s===null)return i==null||i(["error",401,e]),{result:void 0,variantAssigned:!1};if(s&&(n=r.find(o=>o.id===s),n||i==null||i(["warn",402,{missingVariant:s,variants:r.map(o=>o.id)}])),!n){let o=Ie(r),u=Math.floor(Math.random()*100),l=0;n=r.find((c,f)=>{let m=o[f];if(u>l&&u<=l+m)return c;l+=m}),n&&(i==null||i(["info",403,n.id]),t.setTestVariantId(e,n.id))}return n&&(i==null||i(["info",404,n.id])),{result:n,variantAssigned:!s}}finally{i==null||i(["info",400,"ENDGROUP"])}};var $t=require("dequal/lite"),G,P,T,et,g,Q,Ut,he=class{constructor(t){d(this,Q);D(this,"manifest");d(this,G,!1);d(this,P,{});d(this,T,void 0);d(this,et,{});d(this,g,(0,me.default)());D(this,"events",{on:a(this,g).on,off:a(this,g).off});D(this,"storage");var n,s;let{manifest:r,...i}=t;h(this,T,{}),(n=t.plugins)==null||n.forEach(o=>{!o.logDrain||a(this,g).on("log",o.logDrain)}),a(this,g).emit("log",["info",1,"GROUP"]);try{this.manifest=new nt({onLogMessage:o=>a(this,g).emit("log",o),manifest:r,evaluator:new z({CK:yt,QS:Dt,QK:Ct,PVC:at,EVT:xt,PV:bt})}),this.storage=new ft({...i,manifest:this.manifest,onServerTransitionScoresReceived:o=>{h(this,P,o),h(this,G,!0),a(this,g).emit("log",["debug",130,o])},onLogMessage:o=>a(this,g).emit("log",o)}),this.storage.events.on("scoresUpdated",y(this,Q,Ut).bind(this)),a(this,G)||y(this,Q,Ut).call(this,this.storage.data),this.storage.events.on("quirksUpdated",o=>{let u=this.manifest.computeSignals({scores:a(this,P),state:a(this,T),previousState:a(this,T),visitor:this.storage.data});this.storage.updateData(u),a(this,g).emit("quirksUpdated",o.quirks),a(this,g).emit("log",["info",4,o.quirks])}),(s=t.plugins)==null||s.forEach(o=>{!o.init||o.init(this)})}finally{a(this,g).emit("log",["info",1,"ENDGROUP"])}}get scores(){return a(this,P)}async update(t){var i;let r=[];try{a(this,g).emit("log",["info",2,"GROUP",{...t,url:(i=t.url)==null?void 0:i.toString()}]),t.quirks&&r.push(...Object.entries(t.quirks).map(([n,s])=>({type:"setquirk",data:{key:n,value:s}}))),t.enrichments&&t.enrichments.forEach(n=>{let s=W(n.cat,n.key);this.manifest.getDimensionByKey(s)?r.push({type:"modscore",data:{dimension:s,delta:n.str}}):a(this,g).emit("log",["warn",5,n])}),r.push(...this.manifest.computeSignals({state:t,previousState:a(this,T),visitor:this.storage.data,scores:a(this,P)})),h(this,T,{...a(this,T),...t}),await this.storage.updateData(r),a(this,G)&&(y(this,Q,Ut).call(this,this.storage.data),h(this,G,!1),a(this,g).emit("log",["debug",131]))}finally{a(this,g).emit("log",["info",2,"ENDGROUP"])}}getTestVariantId(t){var i;let r=this.manifest.getTest(t);return r?(i=r.wv)!=null?i:this.storage.data.tests[t]:(a(this,g).emit("log",["warn",401,t]),null)}setTestVariantId(t,r){this.storage.updateData([{type:"settest",data:{test:t,variant:r}}])}log(...t){a(this,g).emit("log",t)}test(t){var i,n;let r=mt({...t,context:this,onLogMessage:s=>a(this,g).emit("log",s)});return a(this,g).emit("testResult",{name:t.name,variantId:(n=(i=r.result)==null?void 0:i.id)!=null?n:void 0,variantAssigned:r.variantAssigned}),r}personalize(t){let r=Rt({...t,context:this,onLogMessage:s=>a(this,g).emit("log",s)}),i=a(this,et)[t.name],n={name:t.name,variantIds:r.variations.map(s=>{var o;return(o=s.id)!=null?o:"Unknown"}),control:this.storage.data.controlGroup,changed:!0};return i&&(0,$t.dequal)(n.variantIds,i)&&(n.changed=!1),a(this,g).emit("personalizationResult",n),a(this,et)[t.name]=n.variantIds,r}async forget(t){h(this,T,{}),await this.storage.delete(t)}};G=new WeakMap,P=new WeakMap,T=new WeakMap,et=new WeakMap,g=new WeakMap,Q=new WeakSet,Ut=function(t){var n;let r={...t.scores};for(let s in t.sessionScores)r[s]=((n=r[s])!=null?n:0)+t.sessionScores[s];r=this.manifest.computeAggregateDimensions(r),!(0,$t.dequal)(r,a(this,P))&&(h(this,P,r),a(this,g).emit("scoresUpdated",r),a(this,g).emit("log",["info",3,r]))};var ge=$(require("rfdc"));function ht(e,t){if(e==="none")return!1;switch(t){case"debug":return e==="debug";case"info":return e==="info"||e==="debug";case"warn":return e==="warn"||e==="info"||e==="debug";case"error":return e==="debug"||"info";default:return!1}}var qe=(0,ge.default)();function ve(e){return([t,...r])=>{if(!ht(e,t))return;let[i,...n]=r;console[t](`\u{1F94B} [${t}] Uniform event ID ${i}
`,...n.map(qe))}}function _e(e){return{logDrain:ve(e)}}var Se={1:()=>["context","initializing Uniform Context"],2:e=>["context","received update()",e],3:e=>["context","new score vector",e],4:e=>["context","updated quirks",e],5:e=>["context","ignored enrichment update for unknown enrichment category",e.cat],101:e=>["storage","received update commands",e],102:e=>["storage","data was updated",e],103:e=>["storage",`deleting visitor data ${e?"from all devices":"from this device"}`],104:e=>["context",e?"Visitor assigned to personalization control group":"Visitor assigned to personalization experiment group"],110:({dim:e,cap:t,score:r})=>["storage",`${e} score ${r} exceeded cap ${t}. Rounded down.`],120:()=>["storage","visitor data expired and was cleared"],130:e=>["storage","server to client transition score data was loaded; it will persist until the next update event occurs",e],131:()=>["storage","server to client transition data was discarded"],140:e=>["storage",`score decay was applied: ${e}`],200:()=>["signals","evaluating signals"],201:e=>["signals",`evaluating signal ${e.id} (${e.dur})`],202:e=>["signals",e.op==="|"?"OR":"AND"],203:({criteria:e,result:t,explanation:r})=>["signals",`${e.type}: ${r} is ${t.result} [${t.changed?"CHANGED":"unchanged"}]`],204:e=>["signals",`group result: ${e.result} [${e.changed?"CHANGED":"unchanged"}]`],300:e=>["personalization",`executing personalization '${e.name}'`],301:({id:e,op:t})=>["personalization",`testing variation ${e} (${t==="|"?"OR":"AND"})`],302:({matched:e,description:t})=>["personalization",`${t} is ${e}`],303:e=>["personalization",e?"selected variation":"did not select variation"],400:e=>["testing",`executing A/B test '${e}'`],401:e=>["testing",`${e} is not registered in the manifest; it will not be run.`],402:({missingVariant:e,variants:t})=>["testing",`test variation '${e}' previously assigned to the visitor for this test no longer exists as a variant. It will be removed. This may indicate changing test variations after publishing a test, which will make results invalid. Known variants: ${t.join(", ")}`],403:e=>["testing",`assigned new test variant '${e}'`],404:e=>["testing",`displaying variation '${e}'`],700:()=>["gtag","gtag is not defined, skipping analytics event emission. Ensure you have added the gtag script to your page."],701:()=>["gtag","enabled gtag event signal redirection"]};var ye=$(require("rfdc")),je=(0,ye.default)();function De(e,t){let r=typeof document=="undefined",{enableOnServer:i=!1}=t!=null?t:{};return([n,...s])=>{if(!ht(e,n)||r&&!i)return;let[o,...u]=s,l=console[n];if(u[0]==="GROUP"&&(u.shift(),l=console.groupCollapsed),u[0]==="ENDGROUP"){console.groupEnd();return}let c=Se[o],f="";switch(n){case"debug":f="\u{1F41E}";break;case"info":f="\u{1F4AC}";break;case"warn":f="\u26A0\uFE0F";break;case"error":f="\u{1F4A5}";break}let m=f;if(!c){l(`${m} unknown event ID ${o}. Log messages data may be older than Uniform Context package.`,...u);return}let[S,C,...rt]=c(...u);l(`${m}[${S}] ${C}
`,...rt.map(je))}}function Fe(e,t){return{logDrain:De(e,t)}}var Ce=(u=>(u.ListStart="nesi-list-start",u.ListEnd="nesi-list-end",u.ListItem="nesi-list-item-html",u.ListItemSettings="nesi-list-item-settings",u.TestStart="nesi-test-start",u.TestEnd="nesi-test-end",u.Unknown="unknown",u))(Ce||{}),Qe="nesitag";var At=typeof top!="undefined";function Ke(){return{logDrain:e=>{!At||top==null||top.postMessage({type:"uniform:context:log",message:e},window.location.origin)},init:e=>{let t=[],r=[],i=()=>{!At||top==null||top.postMessage({type:"uniform:context:data",data:{scores:e.scores,data:e.storage.data,manifest:e.manifest.data,personalizations:t,tests:r}},window.location.origin)},n=o=>{!o.changed||(t.push(o),i())},s=o=>{!o.variantAssigned||(r.push(o),i())};if(At){window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__=e;try{top==null||top.addEventListener("message",async o=>{if(!o.data)return;let u=o.data;await He(u,e)})}catch(o){console.warn("Unable to initialize Uniform Context DevTools because it is in a cross-domain iframe.",o)}top==null||top.postMessage({type:"uniform:context:hello",uiVersion:2},window.location.origin),i()}return e.events.on("personalizationResult",n),e.events.on("testResult",s),e.storage.events.on("*",i),()=>{e.storage.events.off("*",i),e.events.off("personalizationResult",n),e.events.off("testResult",s)}}}}async function He(e,t){e.type==="uniform-in:context:update"&&e.newData&&await t.update(e.newData),e.type==="uniform-in:context:commands"&&e.commands&&Array.isArray(e.commands)&&await t.storage.updateData(e.commands),e.type==="uniform-in:context:forget"&&await t.forget(!1)}function Be(e){return`${e.apiKey}|${e.projectId}${e.apiHost?`|${e.apiHost}`:""}`}function Je(e){let[t,r,i]=e.split("|");if(!t.startsWith("uf"))throw new Error("Invalid API key");if(!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i.test(r))throw new Error("Invalid project ID");return{apiKey:t,projectId:r,apiHost:i||"https://uniform.app"}}module.exports=Pe(We);0&&(module.exports={Context,CookieTransitionDataStore,EdgeNodeTagName,EdgeTransitionDataStore,GroupCriteriaEvaluator,ManifestInstance,SERVER_STATE_ID,ScriptType,TransitionDataStore,UNIFORM_DEFAULT_COOKIE_NAME,VisitorDataStore,computeAggregateDimensions,cookieEvaluator,createConsoleLogDrain,createDebugConsoleLogDrain,createLinearDecay,currentPageEvaluator,emptyVisitorData,enableConsoleLogDrain,enableContextDevTools,enableDebugConsoleLogDrain,evaluateVariantMatch,eventEvaluator,explainStringMatch,explainStringMatchCriteria,getEnrichmentVectorKey,isStringMatch,pageViewCountDimension,pageViewCountEvaluator,parseQuickConnect,personalizeVariations,queryStringEvaluator,quirkEvaluator,serializeQuickConnect,testVariations});
var xe=Object.create;var K=Object.defineProperty;var be=Object.getOwnPropertyDescriptor;var Ve=Object.getOwnPropertyNames;var Ee=Object.getPrototypeOf,Te=Object.prototype.hasOwnProperty;var ke=(e,t,r)=>t in e?K(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var qt=e=>K(e,"__esModule",{value:!0});var Pe=(e,t)=>{for(var r in t)K(e,r,{get:t[r],enumerable:!0})},_t=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ve(t))!Te.call(e,n)&&(r||n!=="default")&&K(e,n,{get:()=>t[n],enumerable:!(i=be(t,n))||i.enumerable});return e},A=(e,t)=>_t(qt(K(e!=null?xe(Ee(e)):{},"default",!t&&e&&e.__esModule?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e),we=(e=>(t,r)=>e&&e.get(t)||(r=_t(qt({}),t,1),e&&e.set(t,r),r))(typeof WeakMap!="undefined"?new WeakMap:0);var D=(e,t,r)=>(ke(e,typeof t!="symbol"?t+"":t,r),r),gt=(e,t,r)=>{if(!t.has(e))throw TypeError("Cannot "+r)};var a=(e,t,r)=>(gt(e,t,"read from private field"),r?r.call(e):t.get(e)),d=(e,t,r)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,r)},h=(e,t,r,i)=>(gt(e,t,"write to private field"),i?i.call(e,r):t.set(e,r),r);var y=(e,t,r)=>(gt(e,t,"access private method"),r);var We={};Pe(We,{Context:()=>he,CookieTransitionDataStore:()=>re,EdgeNodeTagName:()=>Qe,EdgeTransitionDataStore:()=>se,GroupCriteriaEvaluator:()=>z,ManifestInstance:()=>nt,SERVER_STATE_ID:()=>Yt,ScriptType:()=>Ce,TransitionDataStore:()=>q,UNIFORM_DEFAULT_COOKIE_NAME:()=>ee,VisitorDataStore:()=>pt,computeAggregateDimensions:()=>vt,cookieEvaluator:()=>yt,createConsoleLogDrain:()=>ve,createDebugConsoleLogDrain:()=>De,createLinearDecay:()=>Ae,currentPageEvaluator:()=>bt,emptyVisitorData:()=>X,enableConsoleLogDrain:()=>_e,enableContextDevTools:()=>Ke,enableDebugConsoleLogDrain:()=>Fe,evaluateVariantMatch:()=>Ot,eventEvaluator:()=>xt,explainStringMatch:()=>P,explainStringMatchCriteria:()=>ot,getEnrichmentVectorKey:()=>W,isStringMatch:()=>x,pageViewCountDimension:()=>st,pageViewCountEvaluator:()=>at,parseQuickConnect:()=>Je,personalizeVariations:()=>Rt,queryStringEvaluator:()=>Dt,quirkEvaluator:()=>Ct,serializeQuickConnect:()=>Be,testVariations:()=>mt});function vt(e,t){let r={...e};for(let i in t){let n=jt(e,i,t,new Set([i]));n!==0&&(r[i]=n)}return r}function jt(e,t,r,i){var s;let n=0;for(let o of r[t].inputs){let u=(s=e[o.dim])!=null?s:0;if(!u&&r[o.dim]){if(i.has(o.dim))continue;let l=new Set(i);l.add(o.dim),u=jt(e,o.dim,r,l)}if(u!==0)if(o.sign==="c"){n=0;break}else o.sign==="-"?n-=u:n+=u}return n}var it="_";var H,B,St=class{constructor(t,r,i){d(this,H,void 0);d(this,B,void 0);D(this,"signal");this.signal=t,h(this,H,r),h(this,B,i)}computeSignal(t,r){if(t.scores[this.signal.id]>=this.signal.cap&&this.signal.dur!=="t")return;let n=a(this,H).evaluate(t,this.signal.crit,r,this.signal,a(this,B)),s=this.signal.dur==="s"||this.signal.dur==="t"?"modscoreS":"modscore";if(!!n.changed){if(n.result)r.push({type:s,data:{dimension:this.signal.id,delta:this.signal.str}});else if(this.signal.dur==="t"){let o=t.visitor.sessionScores[this.signal.id];o&&r.push({type:s,data:{dimension:this.signal.id,delta:-o}})}}}};H=new WeakMap,B=new WeakMap;var E,J,O,nt=class{constructor({manifest:t,evaluator:r=new z({}),onLogMessage:i=()=>{}}){D(this,"data");d(this,E,void 0);d(this,J,void 0);d(this,O,void 0);var n,s,o;h(this,E,(n=t.project)!=null?n:{}),this.data=t,h(this,J,Object.entries((o=(s=a(this,E).pz)==null?void 0:s.sig)!=null?o:[]).map(([u,c])=>new St({...c,id:u},r,i))),h(this,O,i)}rollForControlGroup(){var t,r;return Math.random()<((r=(t=a(this,E).pz)==null?void 0:t.control)!=null?r:0)}getTest(t){var r;return(r=a(this,E).test)==null?void 0:r[t]}computeSignals(t){let r=[];a(this,O).call(this,["debug",200,"GROUP"]);try{a(this,J).forEach(i=>{a(this,O).call(this,["debug",201,"GROUP",i.signal]);try{i.computeSignal(t,r)}finally{a(this,O).call(this,["debug",201,"ENDGROUP"])}})}finally{a(this,O).call(this,["debug",200,"ENDGROUP"])}return r}computeAggregateDimensions(t){var r,i;return vt(t,(i=(r=a(this,E).pz)==null?void 0:r.agg)!=null?i:{})}getDimensionByKey(t){var i,n,s,o;let r=t.indexOf(it);return r<=0?(n=(i=a(this,E).pz)==null?void 0:i.sig)==null?void 0:n[t]:(o=(s=a(this,E).pz)==null?void 0:s.enr)==null?void 0:o[t.substring(0,r)]}};E=new WeakMap,J=new WeakMap,O=new WeakMap;var Kt=require("dequal/lite");function x(e,t){var o,u,c,l,p,m;let r=(o=t==null?void 0:t.op)!=null?o:"=";if(t.op==="*")return e!==null&&typeof e!="undefined";if(t.op==="!*")return e===null||typeof e=="undefined";if(!("rhs"in t))throw new Error(`Match expression is required for match type ${r}`);let i=(u=t.cs)!=null?u:!1,n=(i?e!=null?e:"":Ft(e)).toString(),s=(i?t.rhs:Ft(t.rhs)).toString();switch(r){case"=":return n===s;case"!=":return n!==s;case"~":return(c=n.includes(s))!=null?c:!1;case"!~":return!((l=n.includes(s))==null||l);case"//":return new RegExp(t.rhs.toString(),i?"":"i").test((p=e==null?void 0:e.toString())!=null?p:"");case"!//":return!new RegExp(t.rhs.toString(),i?"":"i").test((m=e==null?void 0:e.toString())!=null?m:"");default:throw new Error(`Unknown match type ${r}.`)}}function P(e,t){return`'${("cs"in t?t.cs:!1)?e:e==null?void 0:e.toString().toUpperCase()}' ${ot(t)}`}function ot(e){return"rhs"in e?`${e.op} '${e.cs?e.rhs:e.rhs.toString().toUpperCase()}'`:`${e.op==="*"?"exists":"does not exist"}`}function Ft(e){var t,r;return(r=(t=e==null?void 0:e.toString())==null?void 0:t.toUpperCase())!=null?r:""}var yt=({update:e,criteria:t,onLogMessage:r})=>{var u,c;if(t.type!=="CK")return{result:!1,changed:!1};let i=!(0,Kt.dequal)(Qt(e.state.cookies),Qt((u=e.previousState)==null?void 0:u.cookies)),n=(c=e.state.cookies)==null?void 0:c[t.cookieName],o={result:x(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:P(n,t.match)}]),o};function Qt(e){if(!e)return;if(!e.ufvd)return e;let{ufvd:t,...r}=e;return r}function Ht(e,t){var i;if(typeof e=="undefined"||e===null)return!1;let r=Number(e);if(isNaN(r))return!1;switch((i=t==null?void 0:t.op)!=null?i:"="){case"=":return r===t.rhs;case"!=":return r!==t.rhs;case">":return r>t.rhs;case"<":return r<t.rhs;default:return console.warn(`Unknown match type ${t.op} is false.`),!1}}function Bt(e,t){return`${e} ${Re(t)}`}function Re(e){return`${e.op} ${e.rhs}`}function W(e,t){return`${e}${it}${t}`}var st=W("$pvc","v"),at=({update:e,criteria:t,commands:r,onLogMessage:i})=>{var l,p;if(t.type!=="PVC")return{result:!1,changed:!1};let n=Boolean(e.state.url&&(!e.previousState||((l=e.state.url)==null?void 0:l.toString())!==((p=e.previousState.url)==null?void 0:p.toString()))),o=(e.visitor.sessionScores[st]||0)+1,u={result:!1,changed:n},c=r.some(m=>m.type==="modscoreS"&&m.data.dimension===st);return n&&!c&&r.push({type:"modscoreS",data:{dimension:st,delta:1}}),Ht(o,t.match)&&(u.result=!0),i==null||i(["debug",203,{criteria:t,result:u,explanation:Bt(o,t.match)}]),u};at.alwaysExecute=!0;var Dt=({update:e,criteria:t,onLogMessage:r})=>{var u,c,l,p,m;if(t.type!=="QS")return{result:!1,changed:!1};let i=!e.previousState||((c=(u=e.state.url)==null?void 0:u.searchParams)==null?void 0:c.toString())!==((p=(l=e.previousState.url)==null?void 0:l.searchParams)==null?void 0:p.toString()),n=(m=e.state.url)==null?void 0:m.searchParams.get(t.queryName),o={result:x(n,t.match),changed:i};return r==null||r(["debug",203,{criteria:t,result:o,explanation:P(n,t.match)}]),o};var Ct=({update:e,criteria:t,signal:r,onLogMessage:i})=>{var p;if(t.type!=="QK")return{result:!1,changed:!1};if(typeof document=="undefined"&&r.dur==="t"&&e.scores[r.id]>0)return{result:!0,changed:!1};let n=e.visitor.quirks[t.key],s=(p=e.state.quirks)==null?void 0:p[t.key],o=s!=null?s:n,u=Boolean(s&&n!==s),l={result:x(o,t.match),changed:u};return i==null||i(["debug",203,{criteria:t,result:l,explanation:P(o,t.match)}]),l};var xt=({update:e,criteria:t,onLogMessage:r})=>{var s,o,u;if(t.type!=="EVT")return{result:!1,changed:!1};let i=(o=(s=e.state.events)==null?void 0:s.some(c=>x(c.event,t.event)))!=null?o:!1,n={result:i,changed:i};return r==null||r(["debug",203,{criteria:t,result:n,explanation:`'${(u=e.state.events)==null?void 0:u.join("', '")}' ${ot(t.event)}`}]),n};var bt=({update:e,criteria:t,onLogMessage:r})=>{var u,c,l;if(t.type!=="PV")return{result:!1,changed:!1};let i=(u=e.state.url)==null?void 0:u.pathname,n=!e.previousState||(i==null?void 0:i.toString())!==((l=(c=e.previousState.url)==null?void 0:c.pathname)==null?void 0:l.toString()),o={result:x(i,t.path),changed:n};return r==null||r(["debug",203,{criteria:t,result:o,explanation:P(i,t.path)}]),o};var Y,z=class{constructor(t){d(this,Y,void 0);h(this,Y,t)}evaluate(t,r,i,n,s){let o=r.clauses.length>1;o&&(s==null||s(["debug",202,"GROUP",r]));try{let u=!(r.op==="&"||!r.op),c=null,l=!1;for(let m of r.clauses){let S;if(m.type==="G")S=this.evaluate(t,m,i,n,s);else{let C=a(this,Y)[m.type];if(c&&!C.alwaysExecute)continue;if(!C)throw new Error(`${m.type} signal criteria not registered`);S=C({update:t,criteria:m,commands:i,signal:n,onLogMessage:s})}S.changed&&(l=!0),!c&&S.result===u&&(c={result:u,changed:l})}let p=c!=null?c:{result:!u,changed:l};return o&&(s==null||s(["debug",204,p])),p}finally{o&&(s==null||s(["debug",202,"ENDGROUP"]))}}};Y=new WeakMap;var X=()=>({quirks:{},scores:{},sessionScores:{},tests:{},consent:!1,controlGroup:!1});var Jt=A(require("mitt")),Wt=require("dequal/lite"),Yt="__UNIFORM_DATA__",U,I,q=class{constructor({initialData:t}){d(this,U,void 0);d(this,I,(0,Jt.default)());D(this,"events",{on:a(this,I).on,off:a(this,I).off});t&&h(this,U,t)}get data(){return a(this,U)}updateData(t,r){return h(this,U,r),this.handleUpdateData(t,r)}async delete(t){h(this,U,void 0),await this.handleDelete(t)}signalAsyncDataUpdate(t){(0,Wt.dequal)(this.data,t)||(h(this,U,t),a(this,I).emit("dataUpdatedAsync",t))}getClientTransitionState(){if(typeof document=="undefined")return;let t=document.getElementById(Yt);return t!=null&&t.textContent?JSON.parse(t.textContent):void 0}};U=new WeakMap,I=new WeakMap;var Vt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Xt=Vt.split(""),Zt=new Array(123);for(let e=0;e<Vt.length;e++)Zt[Vt.charCodeAt(e)]=e;var Et=e=>{if(e<0)return`-${Et(-e)}`;let t=e>>>0,r=e/4294967296>>>0,i="";for(;r>0;)i=Xt[63&t]+i,t>>>=6,t|=(63&r)<<26,r>>>=6;let n="";do n=Xt[63&t]+n,t>>>=6;while(t>0);return n+i},Mt=e=>{let t=0,r=e.charAt(0)==="-"?1:0;for(let i=r;i<e.length;i++)t=t*64+Zt[e.charCodeAt(i)];return r?-t:t};var ut=A(require("js-cookie")),Tt=typeof document=="undefined",ee="ufvd",N,Z,re=class extends q{constructor({serverCookieValue:t,cookieName:r=ee,cookieAttributes:i={sameSite:"lax"}}){super({initialData:Tt?Oe(t):void 0});d(this,N,void 0);d(this,Z,void 0);h(this,N,r),h(this,Z,i)}handleDelete(){return Tt||ut.default.remove(a(this,N)),Promise.resolve()}async handleUpdateData(t,r){Tt||(r.consent?ut.default.set(a(this,N),Ue(r),a(this,Z)):ut.default.remove(a(this,N)))}};N=new WeakMap,Z=new WeakMap;var ie="~",ne="!",oe="-";function Oe(e){if(!e)return;let t=e.split(ie);if(t.length>3)return;let[r,i,n]=t;return{consent:!0,sessionScores:Lt(kt(i)),scores:Lt(kt(n)),tests:kt(r)}}function kt(e){return e.split(ne).map(r=>r.split(oe)).reduce((r,i)=>(i.length!==2||(r[i[0]]=i[1]),r),{})}function Lt(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=Mt(i),t),{})}function Ue(e){return[Pt(e.tests),Pt(te(e.sessionScores)),Pt(te(e.scores))].join(ie)}function te(e){return Object.entries(e).reduce((t,[r,i])=>(t[r]=Et(i),t),{})}function Pt(e){return Object.entries(e).map(t=>t.join(oe)).join(ne)}var lt,$e,se=class extends q{constructor({serverCookieValue:t,visitorIdCookieName:r="ufvi",...i}){super(i);d(this,lt);i.initialData||y(this,lt,$e).call(this).catch(n=>{console.error(n)})}handleDelete(t){throw new Error("Method not implemented.")}async handleUpdateData(t){let r=await new Promise(i=>{setTimeout(()=>{i(void 0)},2e3)});r&&this.signalAsyncDataUpdate(r)}};lt=new WeakSet,$e=async function(){let t=await new Promise(r=>{setTimeout(()=>{r(void 0)},2e3)});t&&this.signalAsyncDataUpdate(t)};function Ae(e){let{gracePeriod:t=864e5,decayRate:r=1/30,decayCap:i=.95}=e!=null?e:{};return function({now:s,lastUpd:o,scores:u,sessionScores:c,onLogMessage:l}){if(typeof o!="number")return!1;let m=s-o-t;if(m<=0)return!1;let S=m/864e5,C=1-Math.min(i,S*r);return C<=0?!1:(ae(u,C),ae(c,C),l==null||l(["info",140,`linear decay factor ${C.toPrecision(6)}`]),!0)}}function ae(e,t){for(let r in e)r.startsWith("$")||(e[r]*=t)}var fe=A(require("mitt")),M=require("dequal/lite");var wt=class{constructor(){D(this,"inMemoryFallback",{});D(this,"hasLocalStorageObject",typeof localStorage!="undefined")}get(t){let r=this.inMemoryFallback[t];if(!this.hasLocalStorageObject||r)return r;try{let i=localStorage.getItem(t);return i?JSON.parse(i):void 0}catch(i){return r}}set(t,r,i){if(this.inMemoryFallback[t]=r,!(!this.hasLocalStorageObject||!i))try{localStorage.setItem(t,JSON.stringify(r))}catch(n){console.warn(n)}}delete(t,r){r||delete this.inMemoryFallback[t];try{localStorage.removeItem(t)}catch(i){}}};var ue=A(require("rfdc"));var Ne=(0,ue.default)();function le(e,t,r){let i=t?Ne(t):X();return e.forEach(n=>{var s,o;switch(n.type){case"consent":i.consent=n.data;break;case"setquirk":i.quirks[n.data.key]=n.data.value;break;case"settest":i.tests[n.data.test]=n.data.variant;break;case"modscore":if(r)break;let u=Number(n.data.delta);if(isNaN(u))throw new Error("Non-number delta received");let c=(s=i.scores[n.data.dimension])!=null?s:0;i.scores[n.data.dimension]=c+u;break;case"modscoreS":if(r)break;let l=Number(n.data.delta);if(isNaN(l))throw new Error("Non-number delta received");let p=(o=i.sessionScores[n.data.dimension])!=null?o:0;i.sessionScores[n.data.dimension]=p+l;break;case"identify":break;case"setcontrol":i.controlGroup=n.data;break;default:throw new Error("Unknown command")}}),i}var ct="ufvisitor",T,G,j,v,b,$,w,_,dt,Ge,ft,ze,L,ce,tt,de,pt=class{constructor(t){d(this,b);d(this,w);d(this,dt);d(this,ft);d(this,L);d(this,tt);d(this,T,(0,fe.default)());d(this,G,new wt);d(this,j,void 0);d(this,v,void 0);D(this,"events",{on:a(this,T).on,off:a(this,T).off});if(h(this,v,t),a(this,b,$)||y(this,w,_).call(this,y(this,tt,de).call(this),!0),t.transitionStore){let r=t.transitionStore.getClientTransitionState();r&&t.onServerTransitionReceived&&t.onServerTransitionReceived(r),t.transitionStore.events.on("dataUpdatedAsync",n=>{y(this,w,_).call(this,{...a(this,b,$).visitorData,...n})});let i=t.transitionStore.data;i&&y(this,w,_).call(this,{...a(this,b,$).visitorData,...i},!0)}}get data(){var r,i;let t=a(this,b,$);if(y(this,ft,ze).call(this,t)){let{sessionScores:n,...s}=t.visitorData;return y(this,w,_).call(this,{...s,sessionScores:{}}),(i=(r=a(this,v)).onLogMessage)==null||i.call(r,["info",120]),a(this,b,$).visitorData}return t.visitorData}get decayEnabled(){return!!a(this,v).decay}async updateData(t){var i,n,s,o;if(t.length===0)return;(n=(i=a(this,v)).onLogMessage)==null||n.call(i,["debug",101,t]);let r=le(t,this.data,(s=a(this,b,$))==null?void 0:s.visitorData.controlGroup);t.some(u=>u.type==="consent"&&!u.data)&&a(this,G).delete(ct,!0),y(this,w,_).call(this,r),await((o=a(this,v).transitionStore)==null?void 0:o.updateData(t,a(this,b,$).visitorData))}async delete(t){var r,i,n,s,o;(i=(r=a(this,v)).onLogMessage)==null||i.call(r,["info",103,"GROUP",t]);try{a(this,G).delete(ct,!1),await((n=a(this,v).transitionStore)==null?void 0:n.delete(t)),y(this,w,_).call(this,y(this,tt,de).call(this))}finally{(o=(s=a(this,v)).onLogMessage)==null||o.call(s,["info",103,"ENDGROUP"])}}};T=new WeakMap,G=new WeakMap,j=new WeakMap,v=new WeakMap,b=new WeakSet,$=function(){return a(this,G).get(ct)},w=new WeakSet,_=function(t,r=!1){var p,m,S,C,rt,Nt,Gt,zt,It;let i=a(this,b,$),n=Date.now();t.controlGroup?(t.scores={},t.sessionScores={}):(y(this,L,ce).call(this,t.scores),y(this,L,ce).call(this,t.sessionScores),(m=(p=a(this,v)).decay)==null||m.call(p,{now:n,lastUpd:i==null?void 0:i.updated,scores:t.scores,sessionScores:t.sessionScores,onLogMessage:a(this,v).onLogMessage}));let s=!(0,M.dequal)(i==null?void 0:i.visitorData.scores,t.scores),o=!(0,M.dequal)(i==null?void 0:i.visitorData.sessionScores,t.sessionScores),u=!(0,M.dequal)(i==null?void 0:i.visitorData.quirks,t.quirks),c=!(0,M.dequal)(i==null?void 0:i.visitorData.tests,t.tests),l={updated:n,visitorData:t};y(this,dt,Ge).call(this),a(this,G).set(ct,l,!!t.consent),(C=(S=a(this,v)).onLogMessage)==null||C.call(S,["debug",102,t]),r||((s||o)&&a(this,T).emit("scoresUpdated",t),u&&a(this,T).emit("quirksUpdated",t),c&&a(this,T).emit("testsUpdated",t),((rt=i==null?void 0:i.visitorData)==null?void 0:rt.consent)!==t.consent&&a(this,T).emit("consentUpdated",t),((Nt=i==null?void 0:i.visitorData)==null?void 0:Nt.controlGroup)!==t.controlGroup&&(a(this,T).emit("controlGroupUpdated",t),(It=(zt=a(this,v)).onLogMessage)==null||It.call(zt,["debug",104,(Gt=t.controlGroup)!=null?Gt:!1])))},dt=new WeakSet,Ge=function(){typeof document=="undefined"||!a(this,v).visitLifespan||(a(this,j)&&window.clearTimeout(a(this,j)),h(this,j,window.setTimeout(()=>{this.data},a(this,v).visitLifespan+50)))},ft=new WeakSet,ze=function(t){let r=a(this,v).visitLifespan;return r?t.updated+r<Date.now():!1},L=new WeakSet,ce=function(t){var r,i;if(!!a(this,v).manifest)for(let n in t){let s=t[n],o=a(this,v).manifest.getDimensionByKey(n);!o||s>o.cap&&((i=(r=a(this,v)).onLogMessage)==null||i.call(r,["debug",110,{dim:n,score:s,cap:o.cap}]),t[n]=o.cap)}},tt=new WeakSet,de=function(){var t,r,i;return{...X(),consent:(t=a(this,v).defaultConsent)!=null?t:!1,controlGroup:(i=(r=a(this,v).manifest)==null?void 0:r.rollForControlGroup())!=null?i:!1}};var me=A(require("mitt"));function Rt({name:e,context:t,variations:r,take:i=1,onLogMessage:n}){var s,o,u;n==null||n(["info",300,"GROUP",{name:e,take:i}]);try{let c=(s=t.storage.data.controlGroup)!=null?s:!1,l=[],p=!1,m=t.scores;for(let S of r){if(l.length===i)break;if(!((o=S.pz)!=null&&o.crit.length)){n==null||n(["info",301,"GROUP",{id:S.id,op:(u=S.pz)==null?void 0:u.op}]),n==null||n(["info",302,{matched:!0,description:"default variation"}]),n==null||n(["info",303,!0]),n==null||n(["info",301,"ENDGROUP"]),l.push(S);continue}c||Ot(S.id,S.pz,m,n)&&(p=!0,l.push(S))}return{personalized:p,variations:l}}finally{n==null||n(["info",300,"ENDGROUP"])}}function Ot(e,t,r,i){i==null||i(["info",301,"GROUP",{id:e,op:t==null?void 0:t.op}]);let n;try{t!=null&&t.crit?!t.op||t.op==="&"?n=t.crit.every(s=>pe(s,r,i)):n=t.crit.some(s=>pe(s,r,i)):(i==null||i(["info",302,{matched:!0,description:"default variation"}]),n=!0),i==null||i(["info",303,n])}finally{i==null||i(["info",301,"ENDGROUP"])}return n}function pe(e,t,r){var u,c;let{op:i,l:n}=e,s=(u=t[n])!=null?u:0;if(i==="+"){let l=Math.max(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the highest score`}]),l}else if(i==="-"){let l=Math.min(...Object.values(t))===s&&s>0;return r==null||r(["info",302,{matched:l,description:`${e.l} has the lowest non-zero score`}]),l}let o=e.rDim?t[e.rDim]:e.r;if(o===void 0)return r==null||r(["info",302,{matched:!1,description:`${(c=e.rDim)!=null?c:e.r} has no score value`}]),!1;if(i===">"){let l=s>o;return F(r,l,e,s,o),l}else if(i===">="){let l=s>=o;return F(r,l,e,s,o),l}else if(i==="<"){let l=s<o;return F(r,l,e,s,o),l}else if(i==="<="){let l=s<=o;return F(r,l,e,s,o),l}else if(i==="="){let l=s===o;return F(r,l,e,s,o),l}else if(i==="!="){let l=s!==o;return F(r,l,e,s,o),l}else throw new Error(`Unknown op: ${i}`)}function F(e,t,r,i,n){e==null||e(["info",302,{matched:t,description:`${r.l}[${i}] ${r.op} ${r.rDim?`${r.rDim}[${n}]`:r.r}`}])}var Ie=e=>{let{values:t,total:r,missingDistribution:i}=e.reduce((n,s)=>(s.testDistribution?n.total+=s.testDistribution:++n.missingDistribution,n.values.push(s.testDistribution),n),{values:[],total:0,missingDistribution:0});if(r>100)throw new Error(`Total distribution ${r} is over the maximum 100.`);if(r<100){let s=(100-r)/i;t.forEach((o,u)=>{typeof o=="undefined"&&(t[u]=s)})}return t},mt=({name:e,context:t,variations:r,onLogMessage:i})=>{i==null||i(["info",400,"GROUP",e]);try{let n,s=t.getTestVariantId(e);if(s===null)return i==null||i(["error",401,e]),{result:void 0,variantAssigned:!1};if(s&&(n=r.find(o=>o.id===s),n||i==null||i(["warn",402,{missingVariant:s,variants:r.map(o=>o.id)}])),!n){let o=Ie(r),u=Math.floor(Math.random()*100),c=0;n=r.find((l,p)=>{let m=o[p];if(u>c&&u<=c+m)return l;c+=m}),n&&(i==null||i(["info",403,n.id]),t.setTestVariantId(e,n.id))}return n&&(i==null||i(["info",404,n.id])),{result:n,variantAssigned:!s}}finally{i==null||i(["info",400,"ENDGROUP"])}};var $t=require("dequal/lite"),V,R,k,et,g,Q,Ut,he=class{constructor(t){d(this,Q);D(this,"manifest");d(this,V,void 0);d(this,R,{});d(this,k,void 0);d(this,et,{});d(this,g,(0,me.default)());D(this,"events",{on:a(this,g).on,off:a(this,g).off});D(this,"storage");var n,s;let{manifest:r,...i}=t;h(this,k,{}),(n=t.plugins)==null||n.forEach(o=>{!o.logDrain||a(this,g).on("log",o.logDrain)}),a(this,g).emit("log",["info",1,"GROUP"]);try{this.manifest=new nt({onLogMessage:o=>a(this,g).emit("log",o),manifest:r,evaluator:new z({CK:yt,QS:Dt,QK:Ct,PVC:at,EVT:xt,PV:bt})}),this.storage=new pt({...i,manifest:this.manifest,onServerTransitionReceived:o=>{h(this,V,o),o.ssv&&(h(this,R,o.ssv),a(this,g).emit("log",["debug",130,o.ssv]))},onLogMessage:o=>a(this,g).emit("log",o)}),this.storage.events.on("scoresUpdated",y(this,Q,Ut).bind(this)),a(this,V)||y(this,Q,Ut).call(this,this.storage.data),this.storage.events.on("quirksUpdated",o=>{let u=this.manifest.computeSignals({scores:a(this,R),state:a(this,k),previousState:a(this,k),visitor:this.storage.data});this.storage.updateData(u),a(this,g).emit("quirksUpdated",o.quirks),a(this,g).emit("log",["info",4,o.quirks])}),(s=t.plugins)==null||s.forEach(o=>{!o.init||o.init(this)})}finally{a(this,g).emit("log",["info",1,"ENDGROUP"])}}get scores(){return a(this,R)}async update(t){var i,n,s;let r=[];(i=a(this,V))!=null&&i.quirks&&(t={...t,quirks:{...a(this,V).quirks,...t.quirks||{}}}),(n=a(this,V))!=null&&n.tests&&r.push(...Object.entries(a(this,V).tests).map(([o,u])=>({type:"settest",data:{test:o,variant:u}})));try{a(this,g).emit("log",["info",2,"GROUP",{...t,url:(s=t.url)==null?void 0:s.toString()}]),t.quirks&&r.push(...Object.entries(t.quirks).map(([o,u])=>({type:"setquirk",data:{key:o,value:u}}))),t.enrichments&&t.enrichments.forEach(o=>{let u=W(o.cat,o.key);this.manifest.getDimensionByKey(u)?r.push({type:"modscore",data:{dimension:u,delta:o.str}}):a(this,g).emit("log",["warn",5,o])}),r.push(...this.manifest.computeSignals({state:t,previousState:a(this,k),visitor:this.storage.data,scores:a(this,R)})),h(this,k,{...a(this,k),...t}),await this.storage.updateData(r),a(this,V)&&(y(this,Q,Ut).call(this,this.storage.data),h(this,V,void 0),a(this,g).emit("log",["debug",131]))}finally{a(this,g).emit("log",["info",2,"ENDGROUP"])}}getTestVariantId(t){var i;let r=this.manifest.getTest(t);return r?(i=r.wv)!=null?i:this.storage.data.tests[t]:(a(this,g).emit("log",["warn",401,t]),null)}setTestVariantId(t,r){this.storage.updateData([{type:"settest",data:{test:t,variant:r}}])}log(...t){a(this,g).emit("log",t)}test(t){var i,n;let r=mt({...t,context:this,onLogMessage:s=>a(this,g).emit("log",s)});return a(this,g).emit("testResult",{name:t.name,variantId:(n=(i=r.result)==null?void 0:i.id)!=null?n:void 0,variantAssigned:r.variantAssigned}),r}personalize(t){let r=Rt({...t,context:this,onLogMessage:s=>a(this,g).emit("log",s)}),i=a(this,et)[t.name],n={name:t.name,variantIds:r.variations.map(s=>{var o;return(o=s.id)!=null?o:"Unknown"}),control:this.storage.data.controlGroup,changed:!0};return i&&(0,$t.dequal)(n.variantIds,i)&&(n.changed=!1),a(this,g).emit("personalizationResult",n),a(this,et)[t.name]=n.variantIds,r}async forget(t){h(this,k,{}),await this.storage.delete(t)}};V=new WeakMap,R=new WeakMap,k=new WeakMap,et=new WeakMap,g=new WeakMap,Q=new WeakSet,Ut=function(t){var n;let r={...t.scores};for(let s in t.sessionScores)r[s]=((n=r[s])!=null?n:0)+t.sessionScores[s];r=this.manifest.computeAggregateDimensions(r),!(0,$t.dequal)(r,a(this,R))&&(h(this,R,r),a(this,g).emit("scoresUpdated",r),a(this,g).emit("log",["info",3,r]))};var ge=A(require("rfdc"));function ht(e,t){if(e==="none")return!1;switch(t){case"debug":return e==="debug";case"info":return e==="info"||e==="debug";case"warn":return e==="warn"||e==="info"||e==="debug";case"error":return e==="debug"||"info";default:return!1}}var qe=(0,ge.default)();function ve(e){return([t,...r])=>{if(!ht(e,t))return;let[i,...n]=r;console[t](`\u{1F94B} [${t}] Uniform event ID ${i}
`,...n.map(qe))}}function _e(e){return{logDrain:ve(e)}}var Se={1:()=>["context","initializing Uniform Context"],2:e=>["context","received update()",e],3:e=>["context","new score vector",e],4:e=>["context","updated quirks",e],5:e=>["context","ignored enrichment update for unknown enrichment category",e.cat],101:e=>["storage","received update commands",e],102:e=>["storage","data was updated",e],103:e=>["storage",`deleting visitor data ${e?"from all devices":"from this device"}`],104:e=>["context",e?"Visitor assigned to personalization control group":"Visitor assigned to personalization experiment group"],110:({dim:e,cap:t,score:r})=>["storage",`${e} score ${r} exceeded cap ${t}. Rounded down.`],120:()=>["storage","visitor data expired and was cleared"],130:e=>["storage","server to client transition score data was loaded; it will persist until the next update event occurs",e],131:()=>["storage","server to client transition data was discarded"],140:e=>["storage",`score decay was applied: ${e}`],200:()=>["signals","evaluating signals"],201:e=>["signals",`evaluating signal ${e.id} (${e.dur})`],202:e=>["signals",e.op==="|"?"OR":"AND"],203:({criteria:e,result:t,explanation:r})=>["signals",`${e.type}: ${r} is ${t.result} [${t.changed?"CHANGED":"unchanged"}]`],204:e=>["signals",`group result: ${e.result} [${e.changed?"CHANGED":"unchanged"}]`],300:e=>["personalization",`executing personalization '${e.name}'`],301:({id:e,op:t})=>["personalization",`testing variation ${e} (${t==="|"?"OR":"AND"})`],302:({matched:e,description:t})=>["personalization",`${t} is ${e}`],303:e=>["personalization",e?"selected variation":"did not select variation"],400:e=>["testing",`executing A/B test '${e}'`],401:e=>["testing",`${e} is not registered in the manifest; it will not be run.`],402:({missingVariant:e,variants:t})=>["testing",`test variation '${e}' previously assigned to the visitor for this test no longer exists as a variant. It will be removed. This may indicate changing test variations after publishing a test, which will make results invalid. Known variants: ${t.join(", ")}`],403:e=>["testing",`assigned new test variant '${e}'`],404:e=>["testing",`displaying variation '${e}'`],700:()=>["gtag","gtag is not defined, skipping analytics event emission. Ensure you have added the gtag script to your page."],701:()=>["gtag","enabled gtag event signal redirection"]};var ye=A(require("rfdc")),je=(0,ye.default)();function De(e,t){let r=typeof document=="undefined",{enableOnServer:i=!1}=t!=null?t:{};return([n,...s])=>{if(!ht(e,n)||r&&!i)return;let[o,...u]=s,c=console[n];if(u[0]==="GROUP"&&(u.shift(),c=console.groupCollapsed),u[0]==="ENDGROUP"){console.groupEnd();return}let l=Se[o],p="";switch(n){case"debug":p="\u{1F41E}";break;case"info":p="\u{1F4AC}";break;case"warn":p="\u26A0\uFE0F";break;case"error":p="\u{1F4A5}";break}let m=p;if(!l){c(`${m} unknown event ID ${o}. Log messages data may be older than Uniform Context package.`,...u);return}let[S,C,...rt]=l(...u);c(`${m}[${S}] ${C}
`,...rt.map(je))}}function Fe(e,t){return{logDrain:De(e,t)}}var Ce=(u=>(u.ListStart="nesi-list-start",u.ListEnd="nesi-list-end",u.ListItem="nesi-list-item-html",u.ListItemSettings="nesi-list-item-settings",u.TestStart="nesi-test-start",u.TestEnd="nesi-test-end",u.Unknown="unknown",u))(Ce||{}),Qe="nesitag";var At=typeof top!="undefined";function Ke(){return{logDrain:e=>{!At||top==null||top.postMessage({type:"uniform:context:log",message:e},window.location.origin)},init:e=>{let t=[],r=[],i=()=>{!At||top==null||top.postMessage({type:"uniform:context:data",data:{scores:e.scores,data:e.storage.data,manifest:e.manifest.data,personalizations:t,tests:r}},window.location.origin)},n=o=>{!o.changed||(t.push(o),i())},s=o=>{!o.variantAssigned||(r.push(o),i())};if(At){window.__UNIFORM_DEVTOOLS_CONTEXT_INSTANCE__=e;try{top==null||top.addEventListener("message",async o=>{if(!o.data)return;let u=o.data;await He(u,e)})}catch(o){console.warn("Unable to initialize Uniform Context DevTools because it is in a cross-domain iframe.",o)}top==null||top.postMessage({type:"uniform:context:hello",uiVersion:2},window.location.origin),i()}return e.events.on("personalizationResult",n),e.events.on("testResult",s),e.storage.events.on("*",i),()=>{e.storage.events.off("*",i),e.events.off("personalizationResult",n),e.events.off("testResult",s)}}}}async function He(e,t){e.type==="uniform-in:context:update"&&e.newData&&await t.update(e.newData),e.type==="uniform-in:context:commands"&&e.commands&&Array.isArray(e.commands)&&await t.storage.updateData(e.commands),e.type==="uniform-in:context:forget"&&await t.forget(!1)}function Be(e){return`${e.apiKey}|${e.projectId}${e.apiHost?`|${e.apiHost}`:""}`}function Je(e){let[t,r,i]=e.split("|");if(!t.startsWith("uf"))throw new Error("Invalid API key");if(!/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12})$/i.test(r))throw new Error("Invalid project ID");return{apiKey:t,projectId:r,apiHost:i||"https://uniform.app"}}module.exports=we(We);0&&(module.exports={Context,CookieTransitionDataStore,EdgeNodeTagName,EdgeTransitionDataStore,GroupCriteriaEvaluator,ManifestInstance,SERVER_STATE_ID,ScriptType,TransitionDataStore,UNIFORM_DEFAULT_COOKIE_NAME,VisitorDataStore,computeAggregateDimensions,cookieEvaluator,createConsoleLogDrain,createDebugConsoleLogDrain,createLinearDecay,currentPageEvaluator,emptyVisitorData,enableConsoleLogDrain,enableContextDevTools,enableDebugConsoleLogDrain,evaluateVariantMatch,eventEvaluator,explainStringMatch,explainStringMatchCriteria,getEnrichmentVectorKey,isStringMatch,pageViewCountDimension,pageViewCountEvaluator,parseQuickConnect,personalizeVariations,queryStringEvaluator,quirkEvaluator,serializeQuickConnect,testVariations});
{
"name": "@uniformdev/context",
"version": "13.0.1-alpha.96+63b9d6697",
"version": "13.0.1-alpha.132+8cada5baa",
"description": "Uniform Context core package",

@@ -54,3 +54,3 @@ "license": "SEE LICENSE IN LICENSE.txt",

"@types/yargs": "17.0.10",
"@uniformdev/cli": "^13.0.1-alpha.96+63b9d6697",
"@uniformdev/cli": "^13.0.1-alpha.132+8cada5baa",
"benny": "3.7.1",

@@ -73,3 +73,3 @@ "yargs": "17.4.0"

},
"gitHead": "63b9d66978bcf803b186efd292f08101a7c66d66"
"gitHead": "8cada5baa3a3cb2a601eeca9c7587ac358d476b3"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc