@tinkerlandai/longplay-react-native 0.10.7 → 0.10.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- <!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'sha256-3UVxIy2Q6Pg2pwGrWKh8xgzFfms6JeF0npCwix/SMg0=' 'sha256-aXZ1MMVprmjqZCnWHm8WYUo7IlyJcJCNBWE3GGYA7f8='; style-src 'unsafe-inline'; img-src https: data:; frame-src data:; connect-src 'none'; font-src 'none'; media-src 'none'; base-uri 'none'; form-action 'none'"></head><body><script>(()=>{var qV=Object.create;var Ky=Object.defineProperty;var ZV=Object.getOwnPropertyDescriptor;var HV=Object.getOwnPropertyNames;var GV=Object.getPrototypeOf,KV=Object.prototype.hasOwnProperty;var S=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(i){throw r=[i],i}};var Ja=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},ke=(e,t)=>{for(var r in t)Ky(e,r,{get:t[r],enumerable:!0})},WV=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of HV(t))!KV.call(e,o)&&o!==r&&Ky(e,o,{get:()=>t[o],enumerable:!(i=ZV(t,o))||i.enumerable});return e};var JV=(e,t,r)=>(r=e!=null?qV(GV(e)):{},WV(t||!e||!e.__esModule?Ky(r,"default",{value:e,enumerable:!0}):r,e));var Ee={};ke(Ee,{BIGINT_FORMAT_RANGES:()=>ou,CONSTANT_CATCH:()=>Bd,Class:()=>Qy,NUMBER_FORMAT_RANGES:()=>iu,aborted:()=>Mn,allowsEval:()=>eb,assert:()=>t6,assertEqual:()=>QV,assertIs:()=>XV,assertNever:()=>e6,assertNotEqual:()=>YV,assignProp:()=>vn,attachSchema:()=>au,base64ToUint8Array:()=>BP,base64urlToUint8Array:()=>x6,cached:()=>es,captureStackTrace:()=>zd,cleanEnum:()=>A6,cleanRegex:()=>Ii,clone:()=>xt,cloneDef:()=>i6,codePointLength:()=>Ho,constantCatch:()=>ab,createTransparentProxy:()=>l6,defineLazy:()=>Yy,defineLazyInternal:()=>et,derived:()=>_6,esc:()=>Ln,escapeRegex:()=>Pr,explicitlyAborted:()=>rb,extend:()=>m6,finalizeIssue:()=>Xn,floatSafeRemainder:()=>tu,getElementAtPath:()=>o6,getEnumValues:()=>Ya,getLengthableOrigin:()=>cu,getParsedType:()=>u6,getSizableOrigin:()=>su,hexToUint8Array:()=>v6,hide:()=>uu,installLazyProp:()=>C6,isObject:()=>Zo,isPlainObject:()=>Cr,issue:()=>rs,joinValues:()=>Md,jsonStringifyReplacer:()=>Xa,members:()=>ob,merge:()=>h6,mergeDefs:()=>Ur,normalizeParams:()=>le,nullish:()=>Fd,numKeys:()=>c6,objectClone:()=>n6,omit:()=>p6,optionalKeys:()=>nb,own:()=>Gi,parsedType:()=>ib,partial:()=>g6,pick:()=>d6,prefixIssues:()=>Yn,primitiveTypes:()=>tb,promiseAllObject:()=>a6,propertyKeyTypes:()=>ru,randomString:()=>s6,rawShape:()=>ts,required:()=>y6,safeExtend:()=>f6,shallowClone:()=>nu,sizeCaps:()=>ns,slugify:()=>Xy,stringifyPrimitive:()=>Ud,toZod:()=>eu,uint8ArrayToBase64:()=>qP,uint8ArrayToBase64url:()=>S6,uint8ArrayToHex:()=>w6,unwrapMessage:()=>Qa});function QV(e){return e}function YV(e){return e}function eu(){return e=>e}function XV(e){}function e6(e){throw new Error("Unexpected value in exhaustive check")}function t6(e){}function Ya(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,o])=>t.indexOf(+i)===-1).map(([i,o])=>o)}function Md(e,t="|"){return e.map(r=>Ud(r)).join(t)}function Xa(e,t){return typeof t=="bigint"?t.toString():t}function es(e){return new Jy(e)}function Fd(e){return e==null}function Ii(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function tu(e,t){let r=e/t,i=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-i)<o?0:r-i}function Yy(e,t,r){let i;Object.defineProperty(e,t,{get(){if(i!==FP)return i===void 0&&(i=FP,i=r()),i},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function n6(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function vn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function ts(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function _i(e){return ts(e._zod.def)??e._zod.def.shape}function zP(e,t,r){Object.defineProperty(e,t,{get(){let i=r();return vn(this,t,i),i},enumerable:!0,configurable:!0})}function UP(e,t,r){t in e?vn(e,t,r):e[t]=r}function qo(e,t,r,i){let o=_i(t);for(let a of r){let s=Object.getOwnPropertyDescriptor(o,a);s.enumerable&&(s.get?zP(e,a,()=>{let c=t._zod.def.shape[a];return i?i(c,a):c}):UP(e,a,i?i(s.value,a):s.value))}}function r6(e,t){for(let r of Reflect.ownKeys(t)){let i=Object.getOwnPropertyDescriptor(t,r);i.enumerable&&(i.get?zP(e,r,()=>t[r]):UP(e,r,i.value))}}function Ur(...e){let t={};for(let r of e){let i=Object.getOwnPropertyDescriptors(r);Object.assign(t,i)}return Object.defineProperties({},t)}function i6(e){return Ur(e._zod.def)}function o6(e,t){return t?t.reduce((r,i)=>r?.[i],e):e}function a6(e){let t=Object.keys(e),r=t.map(i=>e[i]);return Promise.all(r).then(i=>{let o={};for(let a=0;a<t.length;a++)o[t[a]]=i[a];return o})}function s6(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let i=0;i<e;i++)r+=t[Math.floor(Math.random()*t.length)];return r}function Ln(e){return JSON.stringify(e)}function Xy(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Zo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Cr(e){if(Zo(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(Zo(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function nu(e){return Cr(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function c6(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function Pr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function xt(e,t,r){let i=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(i._zod.parent=e),i}function le(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function l6(e){let t;return new Proxy({},{get(r,i,o){return t??(t=e()),Reflect.get(t,i,o)},set(r,i,o,a){return t??(t=e()),Reflect.set(t,i,o,a)},has(r,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(r,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(r,i,o){return t??(t=e()),Reflect.defineProperty(t,i,o)}})}function Ud(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function nb(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}function d6(e,t){let r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let a={};return qo(a,e,Vd(e,t)),xt(e,Ur(r,{shape:a,checks:[]}))}function Vd(e,t){let r=_i(e),i=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(r,o)?.enumerable)throw new Error(`Unrecognized key: "${String(o)}"`);t[o]&&i.push(o)}return i}function p6(e,t){let r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let a=new Set(Vd(e,t)),s={};return qo(s,e,Reflect.ownKeys(_i(e)).filter(c=>!a.has(c))),xt(e,Ur(r,{shape:s,checks:[]}))}function m6(e,t){if(!Cr(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=_i(e);for(let a of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return xt(e,Ur(e._zod.def,{shape:VP(e,t)}))}function VP(e,t){let r={};return qo(r,e,Reflect.ownKeys(_i(e))),r6(r,t),r}function f6(e,t){if(!Cr(t))throw new Error("Invalid input to safeExtend: expected a plain object");return xt(e,Ur(e._zod.def,{shape:VP(e,t)}))}function h6(e,t){if(!t?._zod?.def)throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r={};qo(r,e,Reflect.ownKeys(_i(e))),qo(r,t,Reflect.ownKeys(_i(t)));let i=Ur(e._zod.def,{shape:r,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return xt(e,i)}function g6(e,t,r,i="partial"){let a=t._zod.def.checks;if(a&&a.length>0)throw new Error(`.${i}() cannot be used on object schemas containing refinements`);let c=r?new Set(Vd(t,r)):void 0,u={};return qo(u,t,Reflect.ownKeys(_i(t)),e&&((l,d)=>c&&!c.has(d)?l:new e({type:"optional",innerType:l}))),xt(t,Ur(t._zod.def,{shape:u,checks:[]}))}function y6(e,t,r){let i=r?new Set(Vd(t,r)):void 0,o={};return qo(o,t,Reflect.ownKeys(_i(t)),(a,s)=>i&&!i.has(s)?a:new e({type:"nonoptional",innerType:a})),xt(t,Ur(t._zod.def,{shape:o}))}function Mn(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function rb(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function Yn(e,t){return t.map(r=>{var i;return(i=r).path??(i.path=[]),r.path.unshift(e),r})}function Qa(e){return typeof e=="string"?e:e?.message}function ns(e){let t=[];for(let r of e??[]){let i=r._zod.def;if(!/_(length|size)$|_equals$/.test(i.check))break;let o=i.maximum??i.length??i.size;o>=0&&t.push([o,r])}return t}function au(e,t,r){var i;for(let o=t;o<e.length;o++)(i=e[o]).schema??(i.schema=r)}function Xn(e,t,r){var i;let o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(i=e).schema??(i.schema=e.inst):e.schema=e.inst);let a=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,s=e.message?e.message:Qa(e.inst?._zod.def?.error?.(e))??Qa(a?.(e))??Qa(t?.error?.(e))??Qa(r.customError?.(e))??Qa(r.localeError?.(e))??"Invalid input",c={};for(let u of Object.keys(e))u==="inst"||u==="schema"||u==="continue"||u==="input"||u==="__proto__"||(c[u]=e[u]);return c.path??(c.path=[]),c.message=s,t?.reportInput&&(c.input=e.input),c}function su(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Ho(e){let t=e.length;if(!b6.test(e))return t;let r=t;for(let i=0;i<t-1;i++)(e.charCodeAt(i)&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320&&(r--,i++);return r}function cu(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ib(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function rs(...e){let[t,r,i]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:i}:{...t}}function A6(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function BP(e){let t=atob(e),r=new Uint8Array(t.length);for(let i=0;i<t.length;i++)r[i]=t.charCodeAt(i);return r}function qP(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function x6(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return BP(t+r)}function S6(e){return qP(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function v6(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)r[i/2]=Number.parseInt(t.slice(i,i+2),16);return r}function w6(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}function ob(e,t){for(let r in t){let i=Object.getOwnPropertyDescriptor(t,r);i.get?Object.defineProperty(e,r,{...i,enumerable:!1}):I6(e,r,i.value)}}function Gi(e,t,r,i=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:i,value:r}),r}function uu(e,t,r){return Gi(e,t,r,!1)}function _6(e,t){for(let r in e){let i=e[r];Object.defineProperty(t,r,{configurable:!0,enumerable:!0,get(){return Gi(this,r,i(this))},set(o){Gi(this,r,o)}})}return t}function I6(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:Gi(this,t,r.bind(this))},set(i){Gi(this,t,i)}})}function k6(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}function et(e,t,r){let i=Object.getPrototypeOf(e._zod);if(t in i&&Wy!==e._zod){Wy=void 0;return}Wy=e._zod,Object.defineProperty(i,t,{configurable:!0,get(){Object.defineProperty(this,t,E6);let o=Hi;Hi=!1;try{let a=r(this);return Hi?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:a}),Hi=Hi||o,a}catch(a){throw delete this[t],Hi=Hi||o,a}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function C6(e,t,r,i){let o=k6(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){let a={configurable:!0,writable:!0,enumerable:i,value:void 0};return Object.defineProperty(this,t,a),a.value=r(this),Object.defineProperty(this,t,a),a.value},set(a){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:i,value:a})}})}function ab(e){let t=()=>e;return t[Bd]=!0,t}var Jy,FP,zd,eb,u6,ru,tb,iu,ou,b6,Qy,Wy,Hi,E6,Bd,en=S(()=>{Ki();Jy=class{constructor(t){this._getter=t,this._value=void 0}get value(){let t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}};FP=Symbol("evaluating");zd="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};eb=es(()=>{if(fn.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});u6=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},ru=new Set(["string","number","symbol"]),tb=new Set(["string","number","bigint","boolean","symbol","undefined"]);iu={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},ou={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};b6=/[\uD800-\uDBFF]/;Qy=class{constructor(...t){}};Hi=!1,E6={configurable:!0,get(){Hi=!0}};Bd="~constantCatch"});function P6(e){let t=HP;if(t){let r=t.stackTraceLimit;if(typeof r=="number"){try{t.stackTraceLimit=0}catch{return HP=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function D(e,t,r,i){let o={};function a(h){this.def=h,this.constr=p,this.traits=new Set}a.prototype=o;let s=r,c=s&&new WeakSet;function u(h,f){if(h._zod){if(h._zod.traits.has(e))return}else{sb.value=new a(f);try{Object.defineProperty(h,"_zod",sb)}finally{sb.value=void 0}}if(h._zod.traits.add(e),t(h,f),c){let g=Object.getPrototypeOf(h),A=h._zod.constr.prototype,E=g;for(;E&&E!==A;)E=Object.getPrototypeOf(E);let w=E??g;c.has(w)||(c.add(w),ob(w,s))}let m=p.prototype;for(let g in m)Object.prototype.hasOwnProperty.call(m,g)&&(g in h||(h[g]=m[g].bind(h)))}let l=i?.Parent??Object;class d extends l{}Object.defineProperty(d,"name",{value:e});function p(h){let f=i?.Parent?P6(d):this;u(f,h);let m=f._zod.deferred;if(m){for(let A of m)A();f._zod.deferred=void 0}let g=globalThis.__zod_globalConfig?.postProcessor;return g&&g(f),f}return Object.defineProperty(p,"init",{value:u}),Object.defineProperty(p,Symbol.hasInstance,{value:h=>i?.Parent&&h instanceof i.Parent?!0:h?._zod?.traits?.has(e)}),Object.defineProperty(p,"name",{value:e}),p}function Zt(e){return e&&Object.assign(fn,e),fn}var ZP,cb,sb,HP,ub,er,Wi,fn,Ki=S(()=>{en();cb=Object.freeze({status:"aborted"}),sb={value:void 0,enumerable:!1},HP="captureStackTrace"in Error?Error:null;ub=Symbol("zod_brand"),er=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Wi=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(ZP=globalThis).__zod_globalConfig??(ZP.__zod_globalConfig={});fn=globalThis.__zod_globalConfig});function O6(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,Xa,2)),e.message}function T6(e){this._zod.message=e}function N6(e,t,r){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0}):e[t]=r()),e[t]}function lu(e,t=r=>r.message){let r={},i=[];for(let o of e.issues)o.path.length>0?N6(r,o.path[0],()=>[]).push(t(o)):i.push(t(o));return{formErrors:i,fieldErrors:r}}function du(e,t=r=>r.message){let r={_errors:[]},i=(o,a=[])=>{for(let s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(c=>i({issues:c},[...a,...s.path]));else if(s.code==="invalid_key")i({issues:s.issues},[...a,...s.path]);else if(s.code==="invalid_element")i({issues:s.issues},[...a,...s.path]);else{let c=[...a,...s.path];if(c.length===0)r._errors.push(t(s));else{let u=r,l=0;for(;l<c.length;){let d=c[l],p=l===c.length-1;if(d==="_errors"){p&&u._errors.push(t(s)),l++;continue}Object.prototype.hasOwnProperty.call(u,d)||Object.defineProperty(u,d,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let h=u[d];p&&h._errors.push(t(s)),u=h,l++}}}};return i(e),r}function mb(e,t=r=>r.message){let r={errors:[]},i=(o,a=[])=>{var s;for(let c of o.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(u=>i({issues:u},[...a,...c.path]));else if(c.code==="invalid_key")i({issues:c.issues},[...a,...c.path]);else if(c.code==="invalid_element")i({issues:c.issues},[...a,...c.path]);else{let u=[...a,...c.path];if(u.length===0){r.errors.push(t(c));continue}let l=r,d=0;for(;d<u.length;){let p=u[d],h=d===u.length-1;typeof p=="string"?(l.properties??(l.properties={}),Object.prototype.hasOwnProperty.call(l.properties,p)||Object.defineProperty(l.properties,p,{value:{errors:[]},enumerable:!0,writable:!0,configurable:!0}),l=l.properties[p]):(l.items??(l.items=[]),(s=l.items)[p]??(s[p]={errors:[]}),l=l.items[p]),h&&l.errors.push(t(c)),d++}}};return i(e),r}function WP(e){let t=[],r=e.map(i=>typeof i=="object"?i.key:i);for(let i of r)typeof i=="number"?t.push(`[${i}]`):typeof i=="symbol"?t.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?t.push(`[${JSON.stringify(i)}]`):(t.length&&t.push("."),t.push(i));return t.join("")}function fb(e){let t=[],r=[...e.issues].sort((i,o)=>(i.path??[]).length-(o.path??[]).length);for(let i of r)t.push(`\u2716 ${i.message}`),i.path?.length&&t.push(` \u2192 at ${WP(i.path)}`);return t.join(`
1
+ <!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'sha256-GsQnmF/RQas9GTqEsK/0IPvJ/RoY1XGW/1j8YjDV7vU=' 'sha256-aXZ1MMVprmjqZCnWHm8WYUo7IlyJcJCNBWE3GGYA7f8='; style-src 'unsafe-inline'; img-src https: data:; frame-src data:; connect-src 'none'; font-src 'none'; media-src 'none'; base-uri 'none'; form-action 'none'"></head><body><script>(()=>{var qV=Object.create;var Ky=Object.defineProperty;var ZV=Object.getOwnPropertyDescriptor;var HV=Object.getOwnPropertyNames;var GV=Object.getPrototypeOf,KV=Object.prototype.hasOwnProperty;var S=(e,t,r)=>()=>{if(r)throw r[0];try{return e&&(t=e(e=0)),t}catch(i){throw r=[i],i}};var Ja=(e,t)=>()=>{try{return t||e((t={exports:{}}).exports,t),t.exports}catch(r){throw t=0,r}},ke=(e,t)=>{for(var r in t)Ky(e,r,{get:t[r],enumerable:!0})},WV=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of HV(t))!KV.call(e,o)&&o!==r&&Ky(e,o,{get:()=>t[o],enumerable:!(i=ZV(t,o))||i.enumerable});return e};var JV=(e,t,r)=>(r=e!=null?qV(GV(e)):{},WV(t||!e||!e.__esModule?Ky(r,"default",{value:e,enumerable:!0}):r,e));var Ee={};ke(Ee,{BIGINT_FORMAT_RANGES:()=>ou,CONSTANT_CATCH:()=>Bd,Class:()=>Qy,NUMBER_FORMAT_RANGES:()=>iu,aborted:()=>Mn,allowsEval:()=>eb,assert:()=>t6,assertEqual:()=>QV,assertIs:()=>XV,assertNever:()=>e6,assertNotEqual:()=>YV,assignProp:()=>vn,attachSchema:()=>au,base64ToUint8Array:()=>BP,base64urlToUint8Array:()=>x6,cached:()=>es,captureStackTrace:()=>zd,cleanEnum:()=>A6,cleanRegex:()=>Ii,clone:()=>xt,cloneDef:()=>i6,codePointLength:()=>Ho,constantCatch:()=>ab,createTransparentProxy:()=>l6,defineLazy:()=>Yy,defineLazyInternal:()=>et,derived:()=>_6,esc:()=>Ln,escapeRegex:()=>Pr,explicitlyAborted:()=>rb,extend:()=>m6,finalizeIssue:()=>Xn,floatSafeRemainder:()=>tu,getElementAtPath:()=>o6,getEnumValues:()=>Ya,getLengthableOrigin:()=>cu,getParsedType:()=>u6,getSizableOrigin:()=>su,hexToUint8Array:()=>v6,hide:()=>uu,installLazyProp:()=>C6,isObject:()=>Zo,isPlainObject:()=>Cr,issue:()=>rs,joinValues:()=>Md,jsonStringifyReplacer:()=>Xa,members:()=>ob,merge:()=>h6,mergeDefs:()=>Ur,normalizeParams:()=>le,nullish:()=>Fd,numKeys:()=>c6,objectClone:()=>n6,omit:()=>p6,optionalKeys:()=>nb,own:()=>Gi,parsedType:()=>ib,partial:()=>g6,pick:()=>d6,prefixIssues:()=>Yn,primitiveTypes:()=>tb,promiseAllObject:()=>a6,propertyKeyTypes:()=>ru,randomString:()=>s6,rawShape:()=>ts,required:()=>y6,safeExtend:()=>f6,shallowClone:()=>nu,sizeCaps:()=>ns,slugify:()=>Xy,stringifyPrimitive:()=>Ud,toZod:()=>eu,uint8ArrayToBase64:()=>qP,uint8ArrayToBase64url:()=>S6,uint8ArrayToHex:()=>w6,unwrapMessage:()=>Qa});function QV(e){return e}function YV(e){return e}function eu(){return e=>e}function XV(e){}function e6(e){throw new Error("Unexpected value in exhaustive check")}function t6(e){}function Ya(e){let t=Object.values(e).filter(i=>typeof i=="number");return Object.entries(e).filter(([i,o])=>t.indexOf(+i)===-1).map(([i,o])=>o)}function Md(e,t="|"){return e.map(r=>Ud(r)).join(t)}function Xa(e,t){return typeof t=="bigint"?t.toString():t}function es(e){return new Jy(e)}function Fd(e){return e==null}function Ii(e){let t=e.startsWith("^")?1:0,r=e.endsWith("$")?e.length-1:e.length;return e.slice(t,r)}function tu(e,t){let r=e/t,i=Math.round(r),o=4*Number.EPSILON*Math.max(Math.abs(r),1);return Math.abs(r-i)<o?0:r-i}function Yy(e,t,r){let i;Object.defineProperty(e,t,{get(){if(i!==FP)return i===void 0&&(i=FP,i=r()),i},set(o){Object.defineProperty(e,t,{value:o})},configurable:!0})}function n6(e){return Object.create(Object.getPrototypeOf(e),Object.getOwnPropertyDescriptors(e))}function vn(e,t,r){Object.defineProperty(e,t,{value:r,writable:!0,enumerable:!0,configurable:!0})}function ts(e){let t=Object.getOwnPropertyDescriptor(e,"shape");return t?.get?t.get.raw:t?.value}function _i(e){return ts(e._zod.def)??e._zod.def.shape}function zP(e,t,r){Object.defineProperty(e,t,{get(){let i=r();return vn(this,t,i),i},enumerable:!0,configurable:!0})}function UP(e,t,r){t in e?vn(e,t,r):e[t]=r}function qo(e,t,r,i){let o=_i(t);for(let a of r){let s=Object.getOwnPropertyDescriptor(o,a);s.enumerable&&(s.get?zP(e,a,()=>{let c=t._zod.def.shape[a];return i?i(c,a):c}):UP(e,a,i?i(s.value,a):s.value))}}function r6(e,t){for(let r of Reflect.ownKeys(t)){let i=Object.getOwnPropertyDescriptor(t,r);i.enumerable&&(i.get?zP(e,r,()=>t[r]):UP(e,r,i.value))}}function Ur(...e){let t={};for(let r of e){let i=Object.getOwnPropertyDescriptors(r);Object.assign(t,i)}return Object.defineProperties({},t)}function i6(e){return Ur(e._zod.def)}function o6(e,t){return t?t.reduce((r,i)=>r?.[i],e):e}function a6(e){let t=Object.keys(e),r=t.map(i=>e[i]);return Promise.all(r).then(i=>{let o={};for(let a=0;a<t.length;a++)o[t[a]]=i[a];return o})}function s6(e=10){let t="abcdefghijklmnopqrstuvwxyz",r="";for(let i=0;i<e;i++)r+=t[Math.floor(Math.random()*t.length)];return r}function Ln(e){return JSON.stringify(e)}function Xy(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,"").replace(/[\s_-]+/g,"-").replace(/^-+|-+$/g,"")}function Zo(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function Cr(e){if(Zo(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!="function")return!0;let r=t.prototype;return!(Zo(r)===!1||Object.prototype.hasOwnProperty.call(r,"isPrototypeOf")===!1)}function nu(e){return Cr(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}function c6(e){let t=0;for(let r in e)Object.prototype.hasOwnProperty.call(e,r)&&t++;return t}function Pr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function xt(e,t,r){let i=new e._zod.constr(t??e._zod.def);return(!t||r?.parent)&&(i._zod.parent=e),i}function le(e){let t=e;if(!t)return{};if(typeof t=="string")return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw new Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error=="string"?{...t,error:()=>t.error}:t}function l6(e){let t;return new Proxy({},{get(r,i,o){return t??(t=e()),Reflect.get(t,i,o)},set(r,i,o,a){return t??(t=e()),Reflect.set(t,i,o,a)},has(r,i){return t??(t=e()),Reflect.has(t,i)},deleteProperty(r,i){return t??(t=e()),Reflect.deleteProperty(t,i)},ownKeys(r){return t??(t=e()),Reflect.ownKeys(t)},getOwnPropertyDescriptor(r,i){return t??(t=e()),Reflect.getOwnPropertyDescriptor(t,i)},defineProperty(r,i,o){return t??(t=e()),Reflect.defineProperty(t,i,o)}})}function Ud(e){return typeof e=="bigint"?e.toString()+"n":typeof e=="string"?`"${e}"`:`${e}`}function nb(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout==="optional")}function d6(e,t){let r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".pick() cannot be used on object schemas containing refinements");let a={};return qo(a,e,Vd(e,t)),xt(e,Ur(r,{shape:a,checks:[]}))}function Vd(e,t){let r=_i(e),i=[];for(let o of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(r,o)?.enumerable)throw new Error(`Unrecognized key: "${String(o)}"`);t[o]&&i.push(o)}return i}function p6(e,t){let r=e._zod.def,i=r.checks;if(i&&i.length>0)throw new Error(".omit() cannot be used on object schemas containing refinements");let a=new Set(Vd(e,t)),s={};return qo(s,e,Reflect.ownKeys(_i(e)).filter(c=>!a.has(c))),xt(e,Ur(r,{shape:s,checks:[]}))}function m6(e,t){if(!Cr(t))throw new Error("Invalid input to extend: expected a plain object");let r=e._zod.def.checks;if(r&&r.length>0){let o=_i(e);for(let a of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(o,a)!==void 0)throw new Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return xt(e,Ur(e._zod.def,{shape:VP(e,t)}))}function VP(e,t){let r={};return qo(r,e,Reflect.ownKeys(_i(e))),r6(r,t),r}function f6(e,t){if(!Cr(t))throw new Error("Invalid input to safeExtend: expected a plain object");return xt(e,Ur(e._zod.def,{shape:VP(e,t)}))}function h6(e,t){if(!t?._zod?.def)throw new Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw new Error(".merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.");let r={};qo(r,e,Reflect.ownKeys(_i(e))),qo(r,t,Reflect.ownKeys(_i(t)));let i=Ur(e._zod.def,{shape:r,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]});return xt(e,i)}function g6(e,t,r,i="partial"){let a=t._zod.def.checks;if(a&&a.length>0)throw new Error(`.${i}() cannot be used on object schemas containing refinements`);let c=r?new Set(Vd(t,r)):void 0,u={};return qo(u,t,Reflect.ownKeys(_i(t)),e&&((l,d)=>c&&!c.has(d)?l:new e({type:"optional",innerType:l}))),xt(t,Ur(t._zod.def,{shape:u,checks:[]}))}function y6(e,t,r){let i=r?new Set(Vd(t,r)):void 0,o={};return qo(o,t,Reflect.ownKeys(_i(t)),(a,s)=>i&&!i.has(s)?a:new e({type:"nonoptional",innerType:a})),xt(t,Ur(t._zod.def,{shape:o}))}function Mn(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue!==!0)return!0;return!1}function rb(e,t=0){if(e.aborted===!0)return!0;for(let r=t;r<e.issues.length;r++)if(e.issues[r]?.continue===!1)return!0;return!1}function Yn(e,t){return t.map(r=>{var i;return(i=r).path??(i.path=[]),r.path.unshift(e),r})}function Qa(e){return typeof e=="string"?e:e?.message}function ns(e){let t=[];for(let r of e??[]){let i=r._zod.def;if(!/_(length|size)$|_equals$/.test(i.check))break;let o=i.maximum??i.length??i.size;o>=0&&t.push([o,r])}return t}function au(e,t,r){var i;for(let o=t;o<e.length;o++)(i=e[o]).schema??(i.schema=r)}function Xn(e,t,r){var i;let o=e.inst?._zod?.traits;o?.has("$ZodType")&&(o.has("$ZodCheck")?(i=e).schema??(i.schema=e.inst):e.schema=e.inst);let a=e.schema!==e.inst?e.schema?._zod.def?.error:void 0,s=e.message?e.message:Qa(e.inst?._zod.def?.error?.(e))??Qa(a?.(e))??Qa(t?.error?.(e))??Qa(r.customError?.(e))??Qa(r.localeError?.(e))??"Invalid input",c={};for(let u of Object.keys(e))u==="inst"||u==="schema"||u==="continue"||u==="input"||u==="__proto__"||(c[u]=e[u]);return c.path??(c.path=[]),c.message=s,t?.reportInput&&(c.input=e.input),c}function su(e){return e instanceof Set?"set":e instanceof Map?"map":e instanceof File?"file":"unknown"}function Ho(e){let t=e.length;if(!b6.test(e))return t;let r=t;for(let i=0;i<t-1;i++)(e.charCodeAt(i)&64512)===55296&&(e.charCodeAt(i+1)&64512)===56320&&(r--,i++);return r}function cu(e){return Array.isArray(e)?"array":typeof e=="string"?"string":"unknown"}function ib(e){let t=typeof e;switch(t){case"number":return Number.isNaN(e)?"nan":"number";case"object":{if(e===null)return"null";if(Array.isArray(e))return"array";let r=e;if(r&&Object.getPrototypeOf(r)!==Object.prototype&&"constructor"in r&&r.constructor)return r.constructor.name}}return t}function rs(...e){let[t,r,i]=e;return typeof t=="string"?{message:t,code:"custom",input:r,inst:i}:{...t}}function A6(e){return Object.entries(e).filter(([t,r])=>Number.isNaN(Number.parseInt(t,10))).map(t=>t[1])}function BP(e){let t=atob(e),r=new Uint8Array(t.length);for(let i=0;i<t.length;i++)r[i]=t.charCodeAt(i);return r}function qP(e){let t="";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return btoa(t)}function x6(e){let t=e.replace(/-/g,"+").replace(/_/g,"/"),r="=".repeat((4-t.length%4)%4);return BP(t+r)}function S6(e){return qP(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}function v6(e){let t=e.replace(/^0x/,"");if(t.length%2!==0)throw new Error("Invalid hex string length");let r=new Uint8Array(t.length/2);for(let i=0;i<t.length;i+=2)r[i/2]=Number.parseInt(t.slice(i,i+2),16);return r}function w6(e){return Array.from(e).map(t=>t.toString(16).padStart(2,"0")).join("")}function ob(e,t){for(let r in t){let i=Object.getOwnPropertyDescriptor(t,r);i.get?Object.defineProperty(e,r,{...i,enumerable:!1}):I6(e,r,i.value)}}function Gi(e,t,r,i=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:i,value:r}),r}function uu(e,t,r){return Gi(e,t,r,!1)}function _6(e,t){for(let r in e){let i=e[r];Object.defineProperty(t,r,{configurable:!0,enumerable:!0,get(){return Gi(this,r,i(this))},set(o){Gi(this,r,o)}})}return t}function I6(e,t,r){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?r:Gi(this,t,r.bind(this))},set(i){Gi(this,t,i)}})}function k6(e,t){let r=Object.getPrototypeOf(e);return t in r?void 0:r}function et(e,t,r){let i=Object.getPrototypeOf(e._zod);if(t in i&&Wy!==e._zod){Wy=void 0;return}Wy=e._zod,Object.defineProperty(i,t,{configurable:!0,get(){Object.defineProperty(this,t,E6);let o=Hi;Hi=!1;try{let a=r(this);return Hi?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:a}),Hi=Hi||o,a}catch(a){throw delete this[t],Hi=Hi||o,a}},set(o){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:o})}})}function C6(e,t,r,i){let o=k6(e,t);o&&Object.defineProperty(o,t,{configurable:!0,get(){let a={configurable:!0,writable:!0,enumerable:i,value:void 0};return Object.defineProperty(this,t,a),a.value=r(this),Object.defineProperty(this,t,a),a.value},set(a){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:i,value:a})}})}function ab(e){let t=()=>e;return t[Bd]=!0,t}var Jy,FP,zd,eb,u6,ru,tb,iu,ou,b6,Qy,Wy,Hi,E6,Bd,en=S(()=>{Ki();Jy=class{constructor(t){this._getter=t,this._value=void 0}get value(){let t=this._getter;return t!==void 0&&(this._value=t(),this._getter=void 0),this._value}};FP=Symbol("evaluating");zd="captureStackTrace"in Error?Error.captureStackTrace:(...e)=>{};eb=es(()=>{if(fn.jitless||typeof navigator<"u"&&navigator?.userAgent?.includes("Cloudflare"))return!1;try{let e=Function;return new e(""),!0}catch{return!1}});u6=e=>{let t=typeof e;switch(t){case"undefined":return"undefined";case"string":return"string";case"number":return Number.isNaN(e)?"nan":"number";case"boolean":return"boolean";case"function":return"function";case"bigint":return"bigint";case"symbol":return"symbol";case"object":return Array.isArray(e)?"array":e===null?"null":e.then&&typeof e.then=="function"&&e.catch&&typeof e.catch=="function"?"promise":typeof Map<"u"&&e instanceof Map?"map":typeof Set<"u"&&e instanceof Set?"set":typeof Date<"u"&&e instanceof Date?"date":typeof File<"u"&&e instanceof File?"file":"object";default:throw new Error(`Unknown data type: ${t}`)}},ru=new Set(["string","number","symbol"]),tb=new Set(["string","number","bigint","boolean","symbol","undefined"]);iu={safeint:[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},ou={int64:[BigInt("-9223372036854775808"),BigInt("9223372036854775807")],uint64:[BigInt(0),BigInt("18446744073709551615")]};b6=/[\uD800-\uDBFF]/;Qy=class{constructor(...t){}};Hi=!1,E6={configurable:!0,get(){Hi=!0}};Bd="~constantCatch"});function P6(e){let t=HP;if(t){let r=t.stackTraceLimit;if(typeof r=="number"){try{t.stackTraceLimit=0}catch{return HP=null,new e}try{return new e}finally{t.stackTraceLimit=r}}}return new e}function D(e,t,r,i){let o={};function a(h){this.def=h,this.constr=p,this.traits=new Set}a.prototype=o;let s=r,c=s&&new WeakSet;function u(h,f){if(h._zod){if(h._zod.traits.has(e))return}else{sb.value=new a(f);try{Object.defineProperty(h,"_zod",sb)}finally{sb.value=void 0}}if(h._zod.traits.add(e),t(h,f),c){let g=Object.getPrototypeOf(h),A=h._zod.constr.prototype,E=g;for(;E&&E!==A;)E=Object.getPrototypeOf(E);let w=E??g;c.has(w)||(c.add(w),ob(w,s))}let m=p.prototype;for(let g in m)Object.prototype.hasOwnProperty.call(m,g)&&(g in h||(h[g]=m[g].bind(h)))}let l=i?.Parent??Object;class d extends l{}Object.defineProperty(d,"name",{value:e});function p(h){let f=i?.Parent?P6(d):this;u(f,h);let m=f._zod.deferred;if(m){for(let A of m)A();f._zod.deferred=void 0}let g=globalThis.__zod_globalConfig?.postProcessor;return g&&g(f),f}return Object.defineProperty(p,"init",{value:u}),Object.defineProperty(p,Symbol.hasInstance,{value:h=>i?.Parent&&h instanceof i.Parent?!0:h?._zod?.traits?.has(e)}),Object.defineProperty(p,"name",{value:e}),p}function Zt(e){return e&&Object.assign(fn,e),fn}var ZP,cb,sb,HP,ub,er,Wi,fn,Ki=S(()=>{en();cb=Object.freeze({status:"aborted"}),sb={value:void 0,enumerable:!1},HP="captureStackTrace"in Error?Error:null;ub=Symbol("zod_brand"),er=class extends Error{constructor(){super("Encountered Promise during synchronous parse. Use .parseAsync() instead.")}},Wi=class extends Error{constructor(t){super(`Encountered unidirectional transform during encode: ${t}`),this.name="ZodEncodeError"}};(ZP=globalThis).__zod_globalConfig??(ZP.__zod_globalConfig={});fn=globalThis.__zod_globalConfig});function O6(){let e=this._zod;return e.message??(e.message=JSON.stringify(e.def,Xa,2)),e.message}function T6(e){this._zod.message=e}function N6(e,t,r){return Object.prototype.hasOwnProperty.call(e,t)||(t==="__proto__"?Object.defineProperty(e,t,{value:r(),writable:!0,enumerable:!0,configurable:!0}):e[t]=r()),e[t]}function lu(e,t=r=>r.message){let r={},i=[];for(let o of e.issues)o.path.length>0?N6(r,o.path[0],()=>[]).push(t(o)):i.push(t(o));return{formErrors:i,fieldErrors:r}}function du(e,t=r=>r.message){let r={_errors:[]},i=(o,a=[])=>{for(let s of o.issues)if(s.code==="invalid_union"&&s.errors.length)s.errors.map(c=>i({issues:c},[...a,...s.path]));else if(s.code==="invalid_key")i({issues:s.issues},[...a,...s.path]);else if(s.code==="invalid_element")i({issues:s.issues},[...a,...s.path]);else{let c=[...a,...s.path];if(c.length===0)r._errors.push(t(s));else{let u=r,l=0;for(;l<c.length;){let d=c[l],p=l===c.length-1;if(d==="_errors"){p&&u._errors.push(t(s)),l++;continue}Object.prototype.hasOwnProperty.call(u,d)||Object.defineProperty(u,d,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let h=u[d];p&&h._errors.push(t(s)),u=h,l++}}}};return i(e),r}function mb(e,t=r=>r.message){let r={errors:[]},i=(o,a=[])=>{var s;for(let c of o.issues)if(c.code==="invalid_union"&&c.errors.length)c.errors.map(u=>i({issues:u},[...a,...c.path]));else if(c.code==="invalid_key")i({issues:c.issues},[...a,...c.path]);else if(c.code==="invalid_element")i({issues:c.issues},[...a,...c.path]);else{let u=[...a,...c.path];if(u.length===0){r.errors.push(t(c));continue}let l=r,d=0;for(;d<u.length;){let p=u[d],h=d===u.length-1;typeof p=="string"?(l.properties??(l.properties={}),Object.prototype.hasOwnProperty.call(l.properties,p)||Object.defineProperty(l.properties,p,{value:{errors:[]},enumerable:!0,writable:!0,configurable:!0}),l=l.properties[p]):(l.items??(l.items=[]),(s=l.items)[p]??(s[p]={errors:[]}),l=l.items[p]),h&&l.errors.push(t(c)),d++}}};return i(e),r}function WP(e){let t=[],r=e.map(i=>typeof i=="object"?i.key:i);for(let i of r)typeof i=="number"?t.push(`[${i}]`):typeof i=="symbol"?t.push(`[${JSON.stringify(String(i))}]`):/[^\w$]/.test(i)?t.push(`[${JSON.stringify(i)}]`):(t.length&&t.push("."),t.push(i));return t.join("")}function fb(e){let t=[],r=[...e.issues].sort((i,o)=>(i.path??[]).length-(o.path??[]).length);for(let i of r)t.push(`\u2716 ${i.message}`),i.path?.length&&t.push(` \u2192 at ${WP(i.path)}`);return t.join(`
2
2
  `)}var R6,db,GP,KP,pb,tr,hb=S(()=>{Ki();en();R6={get:O6,set:T6,enumerable:!0,configurable:!0},db={value:void 0,enumerable:!1},GP=new WeakSet([Object.prototype,Error.prototype]),KP=(e,t)=>{e.name="$ZodError",db.value=t,Object.defineProperty(e,"issues",db),db.value=void 0,Object.defineProperty(e,"message",R6);let r=Object.getPrototypeOf(e);GP.has(r)||(GP.add(r),Object.defineProperty(r,"toString",{configurable:!0,enumerable:!1,get(){let i=()=>this.message;return Object.defineProperty(this,"toString",{value:i,configurable:!0,writable:!0}),i},set(i){Object.defineProperty(this,"toString",{value:i,configurable:!0,writable:!0})}}))},pb=D("$ZodError",KP),tr=D("$ZodError",KP,void 0,{Parent:Error})});function qd(e,t){return{callee:t?.callee??e,Err:t?.Err}}function JP(e,t,r){let i;return{success:!1,get error(){return i||(i=new e(t.map(o=>Xn(o,r,Zt()))),t=void 0,r=void 0),i},set error(o){i=o,t=void 0,r=void 0}}}function F6(e,t,r){let i=r?{...r,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},o=e._zod.bag.fallbackRun,a;if(o?(i[M6]=!0,a=o({value:t,issues:[]},i)):a=e._zod.run({value:t,issues:[]},i),a instanceof Promise)throw new er;return a.issues.length===0}var is,Zd,os,Hd,as,j6,ss,$6,L6,M6,pu,mu,Gd,z6,Kd,U6,Wd,V6,Jd,B6,Qd,q6,Yd,Z6,Xd,H6,ep,G6,gb=S(()=>{Ki();hb();en();is=e=>{let t=(r,i,o,a)=>{let s=o?{...o,async:!1}:{async:!1},c=r._zod.run({value:i,issues:[]},s);if(c instanceof Promise)throw new er;if(c.issues.length){let u=new(a?.Err??e)(c.issues.map(l=>Xn(l,s,Zt())));throw zd(u,a?.callee??t),u}return c.value};return t},Zd=is(tr),os=e=>{let t=async(r,i,o,a)=>{let s=o?{...o,async:!0}:{async:!0},c=r._zod.run({value:i,issues:[]},s);if(c instanceof Promise&&(c=await c),c.issues.length){let u=new(a?.Err??e)(c.issues.map(l=>Xn(l,s,Zt())));throw zd(u,a?.callee??t),u}return c.value};return t},Hd=os(tr),as=e=>(t,r,i)=>{let o=i?{...i,async:!1}:{async:!1},a=t._zod.run({value:r,issues:[]},o);if(a instanceof Promise)throw new er;return a.issues.length?JP(e,a.issues,o):{success:!0,data:a.value}},j6=as(tr);ss=e=>async(t,r,i)=>{let o=i?{...i,async:!0}:{async:!0},a=t._zod.run({value:r,issues:[]},o);return a instanceof Promise&&(a=await a),a.issues.length?JP(e,a.issues,o):{success:!0,data:a.value}},$6=ss(tr),L6=Symbol.for("zod.compile.invalid"),M6=Symbol.for("zod.compile.fallback"),pu=((e,t,r)=>{let i=e._zod.bag.validator;if(i!==void 0){if(i(t)!==L6)return!0;if(i.definite===!0&&r===void 0)return!1}return F6(e,t,r)});mu=async(e,t,r)=>{let i=r?{...r,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},o=e._zod.run({value:t,issues:[]},i);return o instanceof Promise&&(o=await o),o.issues.length===0},Gd=e=>{let t=is(e),r=(i,o,a,s)=>{let c=a?{...a,direction:"backward"}:{direction:"backward"};return t(i,o,c,qd(r,s))};return r},z6=Gd(tr),Kd=e=>{let t=is(e),r=(i,o,a,s)=>t(i,o,a,qd(r,s));return r},U6=Kd(tr),Wd=e=>{let t=os(e),r=async(i,o,a,s)=>{let c=a?{...a,direction:"backward"}:{direction:"backward"};return await t(i,o,c,qd(r,s))};return r},V6=Wd(tr),Jd=e=>{let t=os(e),r=async(i,o,a,s)=>await t(i,o,a,qd(r,s));return r},B6=Jd(tr),Qd=e=>(t,r,i)=>{let o=i?{...i,direction:"backward"}:{direction:"backward"};return as(e)(t,r,o)},q6=Qd(tr),Yd=e=>(t,r,i)=>as(e)(t,r,i),Z6=Yd(tr),Xd=e=>async(t,r,i)=>{let o=i?{...i,direction:"backward"}:{direction:"backward"};return ss(e)(t,r,o)},H6=Xd(tr),ep=e=>async(t,r,i)=>ss(e)(t,r,i),G6=ep(tr)});var Or={};ke(Or,{anyString:()=>Bb,base64:()=>Db,base64url:()=>jb,bigint:()=>Zb,boolean:()=>Hb,browserEmail:()=>tB,cidrv4:()=>Rb,cidrv6:()=>Nb,creditCard:()=>tp,cuid:()=>bb,cuid2:()=>Ab,currencyCode:()=>Fb,date:()=>zb,datetime:()=>Vb,domain:()=>Lb,duration:()=>Ib,e164:()=>Mb,email:()=>Eb,emoji:()=>Cb,extendedDuration:()=>K6,guid:()=>kb,hex:()=>Qb,hostname:()=>$b,html5Email:()=>Y6,httpProtocol:()=>fu,iban:()=>np,idnEmail:()=>eB,integer:()=>hu,ipv4:()=>Pb,ipv6:()=>Ob,ksuid:()=>vb,lowercase:()=>Wb,mac:()=>Tb,md5_base64:()=>oB,md5_base64url:()=>aB,md5_hex:()=>iB,nanoid:()=>wb,nanoidOfLength:()=>_b,null:()=>Gb,number:()=>ki,rfc5322Email:()=>X6,sha1_base64:()=>cB,sha1_base64url:()=>uB,sha1_hex:()=>sB,sha256_base64:()=>dB,sha256_base64url:()=>pB,sha256_hex:()=>lB,sha384_base64:()=>fB,sha384_base64url:()=>hB,sha384_hex:()=>mB,sha512_base64:()=>yB,sha512_base64url:()=>bB,sha512_hex:()=>gB,string:()=>qb,time:()=>Ub,ulid:()=>xb,undefined:()=>Kb,unicodeEmail:()=>QP,uppercase:()=>Jb,uuid:()=>Go,uuid4:()=>W6,uuid6:()=>J6,uuid7:()=>Q6,xid:()=>Sb});function _b(e){return new RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}function Cb(){return new RegExp(nB,"u")}function rB(e){return new RegExp(`^${e}$`)}function yb(e){let t="(?:[01]\\d|2[0-3]):[0-5]\\d";return typeof e.precision=="number"?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Ub(e){return new RegExp(`^${yb(e)}$`)}function Vb(e){let t=["Z"];e.offset&&t.push("([+-](?:[01]\\d|2[0-3]):[0-5]\\d)");let r=`${yb({precision:e.precision,seconds:!0})}(?:${t.join("|")})`,i=e.local?`${r}|${yb({precision:e.precision})}`:r;return new RegExp(`^${YP}T(?:${i})$`)}function gu(e,t){return new RegExp(`^[A-Za-z0-9+/]{${e}}${t}$`)}function yu(e){return new RegExp(`^[A-Za-z0-9_-]{${e}}$`)}var bb,Ab,xb,Sb,vb,wb,Ib,K6,kb,Go,W6,J6,Q6,Eb,Y6,X6,QP,eB,tB,nB,Pb,Ob,Tb,Rb,Nb,Db,jb,$b,Lb,fu,Mb,tp,Fb,np,YP,zb,Bb,qb,Zb,hu,ki,Hb,Gb,Kb,Wb,Jb,Qb,iB,oB,aB,sB,cB,uB,lB,dB,pB,mB,fB,hB,gB,yB,bB,Ko=S(()=>{en();bb=/^[cC][0-9a-z]{6,}$/,Ab=/^[0-9a-z]+$/,xb=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Sb=/^[0-9a-vA-V]{20}$/,vb=/^[A-Za-z0-9]{27}$/,wb=/^[a-zA-Z0-9_-]{21}$/;Ib=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,K6=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,kb=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,Go=e=>e?new RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,W6=Go(4),J6=Go(6),Q6=Go(7),Eb=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Y6=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,X6=/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,QP=/^[^\s@"]{1,64}@[^\s@]{1,255}$/u,eB=QP,tB=/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,nB="^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$";Pb=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Ob=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,Tb=e=>{let t=Pr(e??":");return new RegExp(`^(?:[0-9A-F]{2}${t}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${t}){5}[0-9a-f]{2}$`)},Rb=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,Nb=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Db=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,jb=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,$b=/^(?=.{1,253}\.?$)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[-0-9a-zA-Z]{0,61}[0-9a-zA-Z])?)*\.?$/,Lb=/^(?=.{1,253}$)([a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/,fu=/^https?$/,Mb=/^\+[1-9]\d{6,14}$/,tp=/^\d(?:[ -]?\d){11,18}$/,Fb=/^(?:AED|AFN|ALL|AMD|AOA|ARS|AUD|AWG|AZN|BAM|BBD|BDT|BHD|BIF|BMD|BND|BOB|BOV|BRL|BSD|BTN|BWP|BYN|BZD|CAD|CDF|CHE|CHF|CHW|CLF|CLP|CNY|COP|COU|CRC|CUP|CVE|CZK|DJF|DKK|DOP|DZD|EGP|ERN|ETB|EUR|FJD|FKP|GBP|GEL|GHS|GIP|GMD|GNF|GTQ|GYD|HKD|HNL|HTG|HUF|IDR|ILS|INR|IQD|IRR|ISK|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LRD|LSL|LYD|MAD|MDL|MGA|MKD|MMK|MNT|MOP|MRU|MUR|MVR|MWK|MXN|MXV|MYR|MZN|NAD|NGN|NIO|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SLE|SOS|SRD|SSP|STN|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UYW|UZS|VED|VES|VND|VUV|WST|XAD|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XCD|XCG|XDR|XOF|XPD|XPF|XPT|XSU|XTS|XUA|XXX|YER|ZAR|ZMW|ZWG)$/,np=/^[A-Z]{2}(?!00|01|99)\d{2}[A-Z0-9]{11,30}$/,YP="(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))";zb=rB(YP);Bb=/^[\s\S]{0,}$/,qb=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??""}}`:"[\\s\\S]*";return new RegExp(`^${t}$`)},Zb=/^-?\d+n?$/,hu=/^-?\d+$/,ki=/^-?\d+(?:\.\d+)?$/,Hb=/^(?:true|false)$/i,Gb=/^null$/i,Kb=/^undefined$/i,Wb=/^[^A-Z]*$/,Jb=/^[^a-z]*$/,Qb=/^[0-9a-fA-F]*$/;iB=/^[0-9a-fA-F]{32}$/,oB=gu(22,"=="),aB=yu(22),sB=/^[0-9a-fA-F]{40}$/,cB=gu(27,"="),uB=yu(27),lB=/^[0-9a-fA-F]{64}$/,dB=gu(43,"="),pB=yu(43),mB=/^[0-9a-fA-F]{96}$/,fB=gu(64,""),hB=yu(64),gB=/^[0-9a-fA-F]{128}$/,yB=gu(86,"=="),bB=yu(86)});function ip(e,t,r){e.issues.length&&t.issues.push(...Yn(r,e.issues))}var Ct,Yb,Xb,rp,op,ap,eA,tA,nA,rA,iA,oA,aA,sA,cA,cs,uA,lA,dA,pA,mA,fA,hA,gA,yA,bA,sp=S(()=>{Ki();Ko();en();Ct=D("$ZodCheck",(e,t)=>{var r;e._zod??(e._zod={}),e._zod.def=t,(r=e._zod).onattach??(r.onattach=[])}),Yb=e=>{let t=e.value;return!Fd(t)&&t.size!==void 0},Xb=e=>{let t=e.value;return!Fd(t)&&t.length!==void 0},rp={number:"number",bigint:"bigint",object:"date"},op=D("$ZodCheckLessThan",(e,t)=>{Ct.init(e,t);let r=rp[typeof t.value];e._zod.check=i=>{(t.inclusive?i.value<=t.value:i.value<t.value)||i.issues.push({origin:rp[typeof i.value]??r,code:"too_big",maximum:typeof t.value=="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),ap=D("$ZodCheckGreaterThan",(e,t)=>{Ct.init(e,t);let r=rp[typeof t.value];e._zod.check=i=>{(t.inclusive?i.value>=t.value:i.value>t.value)||i.issues.push({origin:rp[typeof i.value]??r,code:"too_small",minimum:typeof t.value=="object"?t.value.getTime():t.value,input:i.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),eA=D("$ZodCheckMultipleOf",(e,t)=>{Ct.init(e,t),e._zod.check=r=>{if(typeof r.value!=typeof t.value)throw new Error("Cannot mix number and bigint in multiple_of check.");(typeof r.value=="bigint"?t.value!==BigInt(0)&&r.value%t.value===BigInt(0):tu(r.value,t.value)===0)||r.issues.push({origin:typeof r.value,code:"not_multiple_of",divisor:t.value,input:r.value,inst:e,continue:!t.abort})}}),tA=D("$ZodCheckNumberFormat",(e,t)=>{Ct.init(e,t),t.format=t.format||"float64";let r=t.format?.includes("int"),i=r?"int":"number",[o,a]=iu[t.format];e._zod.check=s=>{let c=s.value;if(r){if(!Number.isInteger(c)){s.issues.push({expected:i,format:t.format,code:"invalid_type",continue:!1,input:c,inst:e});return}if(!Number.isSafeInteger(c)){c>0?s.issues.push({input:c,code:"too_big",maximum:Number.MAX_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort}):s.issues.push({input:c,code:"too_small",minimum:Number.MIN_SAFE_INTEGER,note:"Integers must be within the safe integer range.",inst:e,origin:i,inclusive:!0,continue:!t.abort});return}}c<o&&s.issues.push({origin:"number",input:c,code:"too_small",minimum:o,inclusive:!0,inst:e,continue:!t.abort}),c>a&&s.issues.push({origin:"number",input:c,code:"too_big",maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),nA=D("$ZodCheckBigIntFormat",(e,t)=>{Ct.init(e,t);let[r,i]=ou[t.format];e._zod.check=o=>{let a=o.value;a<r&&o.issues.push({origin:"bigint",input:a,code:"too_small",minimum:r,inclusive:!0,inst:e,continue:!t.abort}),a>i&&o.issues.push({origin:"bigint",input:a,code:"too_big",maximum:i,inclusive:!0,inst:e,continue:!t.abort})}}),rA=D("$ZodCheckMaxSize",(e,t)=>{var r;Ct.init(e,t),(r=e._zod.def).when??(r.when=Yb),e._zod.check=i=>{let o=i.value;o.size<=t.maximum||i.issues.push({origin:su(o),code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),iA=D("$ZodCheckMinSize",(e,t)=>{var r;Ct.init(e,t),(r=e._zod.def).when??(r.when=Yb),e._zod.check=i=>{let o=i.value;o.size>=t.minimum||i.issues.push({origin:su(o),code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),oA=D("$ZodCheckSizeEquals",(e,t)=>{var r;Ct.init(e,t),(r=e._zod.def).when??(r.when=Yb),e._zod.check=i=>{let o=i.value,a=o.size;if(a===t.size)return;let s=a>t.size;i.issues.push({origin:su(o),...s?{code:"too_big",maximum:t.size}:{code:"too_small",minimum:t.size},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),aA=D("$ZodCheckMaxLength",(e,t)=>{var r;Ct.init(e,t),(r=e._zod.def).when??(r.when=Xb),e._zod.check=i=>{let o=i.value,a=o.length;if((typeof o=="string"&&a>t.maximum?Ho(o):a)<=t.maximum)return;let c=cu(o);i.issues.push({origin:c,code:"too_big",maximum:t.maximum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),sA=D("$ZodCheckMinLength",(e,t)=>{var r;Ct.init(e,t),(r=e._zod.def).when??(r.when=Xb),e._zod.check=i=>{let o=i.value,a=o.length;if((typeof o=="string"&&a>=t.minimum&&a<t.minimum*2?Ho(o):a)>=t.minimum)return;let c=cu(o);i.issues.push({origin:c,code:"too_small",minimum:t.minimum,inclusive:!0,input:o,inst:e,continue:!t.abort})}}),cA=D("$ZodCheckLengthEquals",(e,t)=>{var r;Ct.init(e,t),(r=e._zod.def).when??(r.when=Xb),e._zod.check=i=>{let o=i.value,a=o.length,s=typeof o=="string"&&a>=t.length&&a<=t.length*2?Ho(o):a;if(s===t.length)return;let c=cu(o),u=s>t.length;i.issues.push({origin:c,...u?{code:"too_big",maximum:t.length}:{code:"too_small",minimum:t.length},inclusive:!0,exact:!0,input:i.value,inst:e,continue:!t.abort})}}),cs=D("$ZodCheckStringFormat",(e,t)=>{var r,i;Ct.init(e,t),t.pattern?(r=e._zod).check??(r.check=o=>{t.pattern.lastIndex=0,!t.pattern.test(o.value)&&o.issues.push({origin:"string",code:"invalid_format",format:t.format,input:o.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(i=e._zod).check??(i.check=()=>{})}),uA=D("$ZodCheckRegex",(e,t)=>{cs.init(e,t),e._zod.check=r=>{t.pattern.lastIndex=0,!t.pattern.test(r.value)&&r.issues.push({origin:"string",code:"invalid_format",format:"regex",input:r.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),lA=D("$ZodCheckLowerCase",(e,t)=>{t.pattern??(t.pattern=Wb),cs.init(e,t)}),dA=D("$ZodCheckUpperCase",(e,t)=>{t.pattern??(t.pattern=Jb),cs.init(e,t)}),pA=D("$ZodCheckIncludes",(e,t)=>{Ct.init(e,t);let r=Pr(t.includes),i=new RegExp(typeof t.position=="number"?`^.{${t.position},}${r}`:r);t.pattern=i,e._zod.check=o=>{o.value.includes(t.includes,t.position)||o.issues.push({origin:"string",code:"invalid_format",format:"includes",includes:t.includes,input:o.value,inst:e,continue:!t.abort})}}),mA=D("$ZodCheckStartsWith",(e,t)=>{Ct.init(e,t);let r=new RegExp(`^${Pr(t.prefix)}.*`);t.pattern??(t.pattern=r),e._zod.check=i=>{i.value.startsWith(t.prefix)||i.issues.push({origin:"string",code:"invalid_format",format:"starts_with",prefix:t.prefix,input:i.value,inst:e,continue:!t.abort})}}),fA=D("$ZodCheckEndsWith",(e,t)=>{Ct.init(e,t);let r=new RegExp(`.*${Pr(t.suffix)}$`);t.pattern??(t.pattern=r),e._zod.check=i=>{i.value.endsWith(t.suffix)||i.issues.push({origin:"string",code:"invalid_format",format:"ends_with",suffix:t.suffix,input:i.value,inst:e,continue:!t.abort})}});hA=D("$ZodCheckProperty",(e,t)=>{Ct.init(e,t),e._zod.check=r=>{let i=t.schema._zod.run({value:r.value[t.property],issues:[]},{});if(i instanceof Promise)return i.then(o=>ip(o,r,t.property));ip(i,r,t.property)}}),gA=D("$ZodCheckProperties",(e,t)=>{Ct.init(e,t),uu(e,Symbol.iterator,function*(){yield e});let r;e._zod.check=i=>{if(i.value==null){i.issues.push({expected:"object",code:"invalid_type",input:i.value,inst:e});return}r??(r=Reflect.ownKeys(t.shape).map(s=>[s,t.shape[s]]));let o=i.value,a;for(let[s,c]of r){let u=c._zod.run({value:o[s],issues:[]},{});u instanceof Promise?(a??(a=[]),a.push(u.then(l=>ip(l,i,s)))):ip(u,i,s)}if(a)return Promise.all(a).then(()=>{})}}),yA=D("$ZodCheckMimeType",(e,t)=>{Ct.init(e,t);let r=new Set(t.mime);e._zod.check=i=>{r.has(i.value.type)||i.issues.push({code:"invalid_value",values:t.mime,input:i.value.type,inst:e,continue:!t.abort})}}),bA=D("$ZodCheckOverwrite",(e,t)=>{Ct.init(e,t),e._zod.check=r=>{r.value=t.tx(r.value)}})});var Wo,cp=S(()=>{Wo=class{constructor(t=[],r={}){this.content=[],this.indent=0,this.args=t,this.closed=r}indented(t){this.indent+=1;try{t(this)}finally{this.indent-=1}}write(t){if(typeof t=="function"){t(this,{execution:"sync"}),t(this,{execution:"async"});return}let i=t.split(`
3
3
  `).filter(s=>s),o=Math.min(...i.map(s=>s.length-s.trimStart().length)),a=i.map(s=>s.slice(o)).map(s=>" ".repeat(this.indent*2)+s);for(let s of a)this.content.push(s)}compile(){let t=Function,r=this?.content??[""];return new t(...Object.keys(this.closed),`return function (${this.args.join(", ")}) {
4
4
  ${r.join(`
@@ -246,8 +246,8 @@ body{font-family:var(--g-font);color:var(--g-text);-webkit-font-smoothing:antial
246
246
  @media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
247
247
  `;function g(){return Object.create(null)}let A=null,E,w=new Set,P,I,$=new Map,M=new Map,V=new Map,Z=new Map,W=0,F=new Map,re=new WeakMap,j=0,N=0,z,X=null,R=g(),O=g(),B=g(),se="",ve=!1,Y=-1,Be=!1,Ge="",Ae=null,Le=null,Pt=null,ze=document.createElement("div");ze.id="g-card";let rt=document.createElement("div"),qt=document.createElement("div");rt.className=qt.className="g-box",qt.dataset.kind="select",rt.append(document.createElement("span")),qt.append(document.createElement("span"));function We(y){let x={...y,channel:e.channel};try{o.postMessage(x,e.parentOrigin)}catch{}}function jn(y){let x=parseInt(y.slice(1),16);return[x>>16&255,x>>8&255,x&255]}function ye(y,x,b){let _=jn(y),C=jn(x),T=_.map((k,K)=>Math.round(k*b+C[K]*(1-b)));return`rgb(${T[0]},${T[1]},${T[2]})`}function fe(y){let[x,b,_]=jn(y).map(C=>{let T=C/255;return T<=.03928?T/12.92:((T+.055)/1.055)**2.4});return .2126*x+.7152*b+.0722*_}function _e(y){return typeof y!="string"?"":y.startsWith("#")?y:`var(--g-${y==="background"?"bg":y})`}function me(y){let x=y.theme,b=document.documentElement.style,_=fe(x.primary),C=(_+.05)/.05>1.05/(_+.05)?"#111318":"#FFFFFF";b.setProperty("--g-primary",x.primary),b.setProperty("--g-on-primary",C),b.setProperty("--g-bg",x.background),b.setProperty("--g-text",x.text),b.setProperty("--g-muted",ye(x.text,x.background,.62)),b.setProperty("--g-surface",ye(x.text,x.background,.05)),b.setProperty("--g-border",ye(x.text,x.background,.16));let[T,k]=[fe(x.primary),fe(x.background)].sort((K,H)=>H-K);b.setProperty("--g-focus",(T+.05)/(k+.05)>=3?x.primary:x.text),b.setProperty("--g-radius",`${c[x.radius]??8}px`),b.setProperty("--g-font",u[x.font]??u.system),b.setProperty("--g-edit","#2C3C96")}function Ce(y){let x=A?.strings.locales[se]?.[y];return x&&x.trim()?{value:x,missing:!1}:{value:A?.strings.locales[A.strings.defaultLocale]?.[y]??"",missing:!0}}function De(y){let x=P?.nodes[y];if(!x)return;let b=x.picker?R[x.picker]??P?.pickers[x.picker]?.selected:void 0;if(!(x.picker&&typeof b=="string"&&!P?.pickers[x.picker]?.options.includes(b)))return typeof b=="string"?x.byPlan?.[b]??x.base:x.base}function Ve(){return{...A?.surface==="paywall"&&X?{__page:X}:{},...Object.fromEntries(Object.entries(R).filter(y=>!Array.isArray(y[1])))}}function ut(y){return E&&Object.hasOwn(E.answers,y)&&E.bindings.some(x=>x.variable===y)?E.answers[y]:E?.values?.[y]}function Q(y){let x=Z.get(y);if(x)return x;let b=[...new Set([...y.matchAll(/\{\{\s*variables\.([^{}]+?)\s*\}\}/g)].map(_=>_[1].trim()))];if(y.length<=1e6)for(Z.set(y,b),W+=y.length;Z.size>128||W>1e6;){let _=Z.keys().next().value;Z.delete(_),W-=_.length}return b}function Oe(y){let x=y.html[se];return De(y.id)?.html??P?.nodes[y.id]?.base.html??(x&&x.trim()?x:y.html[A?.strings.defaultLocale??""]??"")}function at(){Z.clear(),W=0;let y=[],x=[],b=K=>{if(!K.hidden){if(K.type==="stack")K.children.forEach(b);else if(K.type==="custom_html"){y.push(Oe(K));let H=P?.nodes[K.id];for(let ae of[H?.base,...Object.values(H?.byPlan??{})])ae?.html!==void 0&&x.push(ae.html)}}},_=X??A?.initialPageId,C=A?.pages??[],T=new Set;for(let K of[...C.filter(H=>H.id===_),...C.filter(H=>H.id!==_)]){y.length=x.length=0,b(K.root);for(let H of[...y,...x])T.add(H)}let k=new Set([...T].map(Ke));for(let[K,H]of F)k.has(K)||lt(K,H);for(let K of T)Q(K),!F.has(Ke(K))&&(F.size>=32||N+500>4e3||j+K.length+2>262144||kt(K,!0))}function Ke(y){return(e.mode==="live"&&E?"b:":"s:")+y}function lt(y,x){F.delete(y),j-=y.length,N-=x.elements}function kt(y,x=!1){let b=Ke(y),_=F.get(b);if(_)return F.delete(b),F.set(b,_),_;let C="data-indiana-html-binding";for(;y.includes(C);)C+="-next";let T=[],k=e.mode==="live"&&!!E,K=/\{\{\s*variables\.([^{}]+?)\s*\}\}/g,H=k?y.replace(K,(ce,he)=>(T.push(he.trim()),`<span ${C}="${T.length-1}"></span>`)):y,ae=document.createElement("template");ae.innerHTML=`<div>${H}</div>`;let ge=ae.content.firstElementChild,q=[];for(let ce of ge.querySelectorAll(`[${C}]`)){let he=document.createTextNode(""),Me=T[Number(ce.getAttribute(C))];ce.replaceWith(he);let dt=[];for(let Xe=he;Xe!==ge;){let Et=Xe.parentNode;dt.unshift(Array.prototype.indexOf.call(Et.childNodes,Xe)),Xe=Et}q.push({path:dt,variable:Me})}let ee={key:b,content:ge,inUse:!1,bindings:q,unresolved:(k?y.replace(K,""):y).includes("{{"),elements:ge.getElementsByTagName("*").length};if(b.length<=262144&&ee.elements<=4e3){if(!x)for(;F.size>=32||j+b.length>262144||N+ee.elements>4e3;){let[ce,he]=F.entries().next().value;lt(ce,he)}F.size<32&&j+b.length<=262144&&N+ee.elements<=4e3&&(F.set(b,ee),j+=b.length,N+=ee.elements)}return ee}function pn(y){let x=y.template;if(x?.content===y.body&&F.get(x.key)===x){for(let b of y.bindings)b.node.data="";x.inUse=!1,y.parked=!0}y.template=null}function Ye(y,x){let b=re.get(y),_=Oe(x),C=e.mode==="live"&&!!E,T=b.source!==_||b.bound!==C,k;T&&(pn(b),k=kt(_),b.source=_,b.bound=C,b.unresolved=k.unresolved,b.variables=[...new Set(k.bindings.map(q=>q.variable))]);let K=new Map,H=b.unresolved;if(C)for(let q of b.variables){let ee=ut(q);if(ee==null){H=!0;continue}let ce=String(typeof ee=="object"?JSON.stringify(ee):ee).replace(/\r\n?/g,`
248
248
  `);ce.includes("{{")&&(H=!0),K.set(q,ce)}if(H&&e.mode==="live"){if(pn(b),b.parked){let ee=document.createElement("div");b.body.replaceWith(ee),b.body=ee,b.parked=!1}let q=Ce(x.fallback??"").value.replace(/\r\n?/g,`
249
- `);(!b.fallback||b.body.textContent!==q)&&(b.body.textContent=q),b.fallback=!0,b.bindings=[]}else if(T||b.fallback||!b.initialized){k??=kt(_);let q=!k.inUse,ee=q?k.content:k.content.cloneNode(!0);b.bindings=k.bindings.map(({path:ce,variable:he})=>{let Me=ee;for(let dt of ce)Me=Me.childNodes[dt];return{node:Me,variable:he}});for(let ce of b.bindings)ce.node.data=K.get(ce.variable);b.body.replaceWith(ee),b.body=ee,b.parked=!1,q&&F.get(k.key)===k?(k.inUse=!0,b.template=k):b.template=null;for(let ce of b.body.querySelectorAll("img"))ce.addEventListener("load",Vi);b.fallback=!1,b.initialized=!0}else for(let q of b.bindings){let ee=K.get(q.variable);q.node.data!==ee&&(q.node.data=ee)}let ae=De(x.id),ge=x.html[se];y.classList.toggle("g-missing",e.mode==="editor"&&(!!ae?.missing?.length||!ae&&_.includes("{{")||!(ge&&ge.trim())))}function Ot(y,x,b){let _=De(y.id),C=_?.[x],T=C!==void 0?{value:C,missing:!!_?.missing?.length}:Ce(b);if(e.mode==="live"&&E){let k=!1,K=T.value.replace(/\{\{\s*variables\.([^{}]+?)\s*\}\}/g,(H,ae)=>{ae=ae.trim();let ge=ut(ae);return ge==null||ge===""||Array.isArray(ge)&&!ge.length?(k=!0,""):Array.isArray(ge)?ge.join(", "):String(ge)});if(k)return{value:y.fallback?Ce(y.fallback).value:"",missing:!0};if(!K.includes("{{"))return{value:K,missing:T.missing}}return C!==void 0?T:T.value.includes("{{")&&e.mode==="live"?{value:y.fallback?Ce(y.fallback).value:"",missing:!0}:{value:T.value,missing:T.missing||T.value.includes("{{")}}function cr(y){if(y.name)return y.name;let x=e.editorMessages?.nodeTypes?.[y.type];return e.mode==="editor"&&typeof x=="string"?x:{stack:"\u5BB9\u5668",text:"\u6587\u672C",image:"\u56FE\u7247",button:"\u6309\u94AE",divider:"\u5206\u9694\u7EBF",spacer:"\u7559\u767D",custom_html:"\u81EA\u5B9A\u4E49 HTML",price:"\u4EF7\u683C",coupon_code:"\u4F18\u60E0\u7801",countdown:"\u5012\u8BA1\u65F6",plan_picker:"\u771F\u5B9E\u5957\u9910\u9009\u62E9"}[y.type]??y.type}function Mo(y,x){if(x.type==="color")y.background="none",y.backgroundColor=_e(x.color);else if(x.type==="linear"){let b=x.stops.map(_=>`${_e(_.color)} ${Number(_.at)}%`).join(",");y.backgroundColor="transparent",y.backgroundImage=`linear-gradient(${Number(x.angle)}deg,${b})`}else if(x.type==="image"&&typeof x.src=="string"){let b=/^data:image\/(?:svg\+xml|jpeg|png);base64,[A-Za-z0-9+/]+={0,2}$/.test(x.src)?x.src:x.src.replace(/[^A-Za-z0-9\-._~:/?#[\]@!$&*+;=%]/gu,C=>C.length===1&&C.charCodeAt(0)<128?`%${C.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`:encodeURIComponent(C));y.backgroundImage=`url("${b}")`;let _=x.position;y.backgroundPosition=_?`${_.x}% ${_.y}%`:"center",y.backgroundSize=x.fit==="contain"?"contain":"cover",y.backgroundRepeat="no-repeat"}}function Ir(y){return`${Number(y.top)}px ${Number(y.right)}px ${Number(y.bottom)}px ${Number(y.left)}px`}function Fo(y,x,b,_,C){if(x===void 0)return;let T=_?.direction??"vertical",k=T!=="overlay"&&b==="width"==(T==="horizontal"),K=b==="width"?"minWidth":"minHeight";x==="fill"?T==="overlay"?(y.style[b]="100%",y.style[b==="width"?"justifySelf":"alignSelf"]="stretch"):k?(y.style.flex="1 1 0",y.style[K]="0"):(y.style.alignSelf="stretch",y.style[b]="auto"):x==="fit"?(y.style[b]="fit-content",b==="width"&&(y.style.maxWidth="100%"),!k&&T!=="overlay"&&(!_||_.align==="stretch")&&(y.style.alignSelf=C==="center"?"center":C==="end"?"flex-end":"flex-start")):typeof x=="number"&&(y.style[b]=`${x}px`,b==="width"&&(y.style.maxWidth="100%"),k&&(y.style.flex="0 0 auto"))}function ii(y,x,b){let _=x.style,C=_.text??{},T=y.style;if(x.type==="customer_data"&&(C.font&&T.setProperty("--g-data-display-font",u[String(C.font)]??u.system),x.data.source==="membership"&&(typeof C.size=="number"&&T.setProperty("--g-data-display-size",`clamp(${Math.min(C.size,28)}px, ${C.size/12}vw, ${C.size}px)`),typeof C.weight=="number"&&T.setProperty("--g-data-display-weight",String(C.weight)))),x.type==="customer_data"&&x.data.source==="credit_balance"&&(typeof C.size=="number"&&T.setProperty("--g-data-number-size",`clamp(${Math.min(C.size,48)}px, ${C.size/10}vw, ${C.size}px)`),C.font&&T.setProperty("--g-data-number-font",u[String(C.font)]??u.system),typeof C.weight=="number"&&T.setProperty("--g-data-number-weight",String(C.weight))),x.type==="customer_data"&&C.color){let ae=_e(C.color);T.setProperty("--g-data-ink",ae),T.setProperty("--g-data-muted",`color-mix(in srgb, ${ae} 72%, transparent)`),T.setProperty("--g-data-line",`color-mix(in srgb, ${ae} 20%, transparent)`),T.setProperty("--g-data-surface",`color-mix(in srgb, ${ae} 8%, transparent)`)}_.padding&&(T.padding=Ir(_.padding)),_.margin&&(T.margin=Ir(_.margin)),typeof _.gap=="number"&&x.type==="stack"&&(T.gap=`${_.gap}px`),_.background&&Mo(T,_.background),typeof _.opacity=="number"&&(T.opacity=String(_.opacity));let k=_.shape;if(k?.type==="pill")T.borderRadius="9999px";else if(k?.type==="rect"){let ae=k.radius;T.borderRadius=typeof ae=="number"?`${ae}px`:`${Number(ae.topLeft)}px ${Number(ae.topRight)}px ${Number(ae.bottomRight)}px ${Number(ae.bottomLeft)}px`}(_.clipContent===!0||_.clipContent!==!1&&k&&(_.background||x.type==="image"))&&(T.overflow="hidden");let K=_.border;K&&(T.border=Number(K.width)>0?`${Number(K.width)}px ${K.style==="dashed"?"dashed":"solid"} ${_e(K.color)}`:"0");let H=_.shadow;H&&(T.boxShadow=`${Number(H.x)}px ${Number(H.y)}px ${Number(H.blur)}px ${Number(H.spread)}px ${_e(H.color)}`),["text","button","price","coupon_code","countdown","plan_picker"].includes(x.type)&&(C.font&&(T.fontFamily=u[String(C.font)]??""),typeof C.size=="number"&&(T.fontSize=`${C.size}px`),typeof C.weight=="number"&&(T.fontWeight=String(C.weight)),typeof C.lineHeight=="number"&&(T.lineHeight=String(C.lineHeight)),typeof C.letterSpacing=="number"&&(T.letterSpacing=`${C.letterSpacing}px`),C.color&&(T.color=_e(C.color)),C.align&&(T.textAlign=String(C.align)),C.italic&&(T.fontStyle="italic"),C.decoration&&(T.textDecoration=String(C.decoration)),C.transform&&(T.textTransform=String(C.transform))),Fo(y,_.width,"width",b,C.align),Fo(y,_.height,"height",b,C.align),b?.direction==="horizontal"&&_.grow!==void 0&&(T.flexGrow=String(_.grow===!0?1:_.grow===!1?0:_.grow))}function zr(y,x){if(E){let b=E.bindings.find(_=>_.componentId===y);if(!b)return;E.answers[b.variable]=x,w.add(y),We({type:"answers",answers:zo()}),kn();return}}function zo(){let y={};for(let x of E?.bindings??[]){let b=R[x.componentId];b!==void 0&&typeof b!="number"&&(y[x.variable]=b)}return y}function Ba(y){let x=document.createElement("section");x.className="g-data",x.dataset.layout=y.data.layout,x.dataset.source=y.data.source;let b=I?.nodes[y.id];x.dataset.status=b?.status??"idle",x.dataset.preview=String(!!b?.preview);let _=b?.status==="loading",C=se.startsWith("zh"),T=(ue,Te)=>C?ue:Te;x.setAttribute("aria-busy",String(!!_));let k=(ue,Te,Nt)=>{let Fe=document.createElement(ue);return Fe.className=Te,Nt!==void 0&&(Fe.textContent=Nt),Fe},K=ue=>{let Te=document.createElementNS("http://www.w3.org/2000/svg","svg");Te.setAttribute("viewBox","0 0 24 24"),Te.setAttribute("fill","none"),Te.setAttribute("stroke","currentColor"),Te.setAttribute("stroke-width","1.7"),Te.setAttribute("stroke-linecap","round"),Te.setAttribute("stroke-linejoin","round"),Te.setAttribute("aria-hidden","true"),Te.classList.add("g-data-icon");let Nt={refresh:["M20 7v5h-5","M4 17v-5h5","M6.1 7a7 7 0 0 1 11.5-1.5L20 8M4 16l2.4 2.5A7 7 0 0 0 18 17"],down:["M7 7l10 10M7 17h10V7"],up:["M7 17L17 7M7 7h10v10"],chevron:["M6 9l6 6 6-6"],empty:["M4 8l8-4 8 4v10l-8 4-8-4V8Z","M4 8l8 4 8-4M12 12v10"],credit:["M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z","M12 7v10M8 12h8"]};for(let Fe of Nt[ue]){let pt=document.createElementNS("http://www.w3.org/2000/svg","path");pt.setAttribute("d",Fe),Te.append(pt)}return Te},H=(ue,Te,Nt,Fe=!1,pt=Te)=>{let Lt=k("button","g-data-button",ue);return Lt.type="button",Lt.disabled=Fe||!!_&&Te!=="refresh"||!!b?.preview||e.mode!=="live",_&&Te==="refresh"&&Lt.setAttribute("aria-disabled","true"),Lt.dataset.gDataFocus=`${y.id}:${pt}:${Nt??""}`,Lt.addEventListener("click",Mt=>{!Mt.isTrusted||Lt.disabled||_||We({type:"customer-data-intent",intent:{nodeId:y.id,action:Te,...Nt?{value:Nt}:{}}})}),Lt},ae=k("div","g-data-header"),ge=k("h2","g-data-heading",Ce(y.title).value);ge.id=`g-data-title-${y.id}`,x.setAttribute("aria-labelledby",ge.id);let q=k("div","g-data-controls"),ee=[],ce=ue=>{ue.hidden||(ue.type==="customer_data"&&ee.push(ue),ue.type==="stack"&&ue.children.forEach(ce))},he=A?.pages[0];he&&ce(he.root);let Me=ee.every(ue=>I?.nodes[ue.id]?.preview),dt=ee.find(ue=>ue.data.source==="credit_balance")??ee[0];b?.preview&&(!Me||dt?.id===y.id)&&q.append(k("span","g-data-preview",T("\u793A\u4F8B\u6570\u636E","Sample data")));let Xe=_?T("\u66F4\u65B0\u4E2D\u2026","Updating\u2026"):T("\u5237\u65B0","Refresh"),Et=H(Xe,"refresh");if(Et.replaceChildren(K("refresh")),Et.setAttribute("aria-label",Xe),Et.title=Xe,Et.classList.add("g-data-refresh"),_&&Et.classList.add("g-data-refreshing"),q.append(Et),y.data.source==="billing"&&y.data.outputs?.billing_portal&&q.append(H(b?.billingBusy?T("\u6B63\u5728\u51C6\u5907\u2026","Preparing\u2026"):T("\u7BA1\u7406\u652F\u4ED8\u65B9\u5F0F","Manage payment method"),"billing_portal",void 0,!!b?.billingBusy||b?.status!=="ready")),y.data.source==="credit_balance"&&(ge.prepend(K("credit")),b?.resources.length===1&&ge.append(k("span","g-data-resource-label",b.resources[0].name)),b?.updatedAt)){let ue=k("time","g-data-updated",`${T("\u66F4\u65B0\u4E8E","Updated")} ${new Intl.DateTimeFormat(se,{timeStyle:"short"}).format(new Date(b.updatedAt))}`);ue.dateTime=b.updatedAt,ue.title=new Intl.DateTimeFormat(se,{dateStyle:"medium",timeStyle:"short"}).format(new Date(b.updatedAt)),q.prepend(ue)}if(ae.append(ge,q),x.append(ae),!b||b.source!==y.data.source)return x.append(k("p","g-data-empty",T("\u8FDE\u63A5\u5BA2\u6237\u6570\u636E\u540E\u663E\u793A\u6B64\u5185\u5BB9\u3002","Connect customer data to display this content."))),x;if(b.errorMessage){let ue=k("div","g-data-error",b.errorMessage);ue.setAttribute("role","alert"),x.append(ue);let Te=k("div","g-data-recovery");Te.append(H(T("\u91CD\u8BD5","Retry"),"refresh")),x.append(Te)}if(b.membershipResult){let ue=k("p","g-data-note",b.membershipResult);ue.setAttribute("role","status"),x.append(ue)}if(b.membershipReview){let ue=b.membershipReview,Te=k("section","g-data-resource");Te.dataset.gDataReview="",Te.setAttribute("aria-label",ue.title),Te.setAttribute("aria-busy",String(!!b.membershipBusy));let Nt=k("h3","g-data-row-label",ue.title);Nt.tabIndex=-1,Te.append(Nt);let Fe=k("dl","g-data-facts");for(let Lt of ue.facts){let Mt=k("div","");Mt.append(k("dt","",Lt.label),k("dd","",Lt.value)),Fe.append(Mt)}Te.append(Fe,k("p","g-data-note",ue.note));let pt=k("div","g-data-controls");pt.append(H(T("\u8FD4\u56DE","Back"),"membership_dismiss",void 0,!!b.membershipBusy),H(b.membershipBusy?T("\u6B63\u5728\u5904\u7406\u2026","Processing\u2026"):T("\u786E\u8BA4","Confirm"),"membership_confirm",void 0,!!b.membershipBusy)),Te.append(pt),x.append(Te)}if(b.stale&&(b.resources.length||b.rows.length)&&x.append(k("p",_?"g-data-live-status":"g-data-note",_?T("\u6B63\u5728\u66F4\u65B0\u8D26\u6237\u6570\u636E\u3002","Updating account data."):T("\u663E\u793A\u4E0A\u6B21\u8BFB\u53D6\u7684\u7ED3\u679C\uFF0C\u6B63\u5728\u7B49\u5F85\u66F4\u65B0\u3002","Showing the last result while awaiting an update."))),_&&!b.resources.length&&!b.rows.length){let ue=k("div","g-data-skeleton");if(ue.setAttribute("aria-hidden","true"),y.data.source==="credit_balance")ue.append(k("span","g-data-skeleton-line g-data-skeleton-value"),k("span","g-data-skeleton-line g-data-skeleton-meta"));else{let Nt=Math.min(y.data.pageSize,y.data.layout==="compact"?2:4);for(let Fe=0;Fe<Nt;Fe++){let pt=k("div","g-data-skeleton-row");pt.append(k("span","g-data-skeleton-line"),k("span","g-data-skeleton-line")),ue.append(pt)}}let Te=k("p","g-data-live-status",T("\u6B63\u5728\u8BFB\u53D6\u8D26\u6237\u6570\u636E\u2026","Loading account data\u2026"));return Te.setAttribute("role","status"),x.append(ue,Te),x}let on={credit_transactions:[["all","\u5168\u90E8\u8BB0\u5F55","All activity"],["consume","\u6D88\u8D39","Usage"],["reserve","\u9884\u6263","Reserved"],["confirm","\u786E\u8BA4\u6263\u8D39","Confirmed"],["release","\u91CA\u653E","Released"],["refund","\u9000\u56DE","Refund"]],credit_pack_orders:[["all","\u5168\u90E8\u8BA2\u5355","All orders"],["pending","\u7B49\u5F85\u4ED8\u6B3E","Pending"],["paid","\u5DF2\u4ED8\u6B3E","Paid"],["expired","\u5DF2\u8FC7\u671F","Expired"],["refunded","\u5DF2\u9000\u6B3E","Refunded"],["disputed","\u4E89\u8BAE\u4E2D","Disputed"]],offer_history:[["all","\u5168\u90E8\u8BB0\u5F55","All offers"],["issued","\u672A\u4F7F\u7528","Unused"],["reserved","\u4ED8\u6B3E\u5904\u7406\u4E2D","Payment pending"],["redeemed","\u5DF2\u4F7F\u7528","Redeemed"],["expired","\u5DF2\u5230\u671F","Expired"],["revoked","\u5DF2\u4F5C\u5E9F","Revoked"]]};if(on[y.data.source]){let ue=k("select","g-data-select");ue.setAttribute("aria-label",T("\u7B5B\u9009\u8BB0\u5F55","Filter records")),ue.dataset.gDataFocus=`${y.id}:filter`,ue.disabled=!!_||b.preview||e.mode!=="live";for(let[Te,Nt,Fe]of on[y.data.source]){let pt=document.createElement("option");pt.value=Te,pt.textContent=T(Nt,Fe),ue.append(pt)}ue.value=b.filter,ue.addEventListener("change",()=>{!ue.disabled&&e.mode==="live"&&We({type:"customer-data-intent",intent:{nodeId:y.id,action:"filter",value:ue.value}})}),q.prepend(ue)}let Zi=(ue,Te=!1)=>{let Nt=k("ul","g-data-list");if(y.data.source==="credit_transactions"&&ue.length&&!Te){let Fe=k("div","g-data-table-head");Fe.setAttribute("aria-hidden","true"),Fe.append(k("span","",T("\u8BB0\u5F55","Record")),k("span","",T("\u7C7B\u578B","Type")),k("span","",T("\u79EF\u5206","Credits"))),x.append(Fe)}for(let Fe of ue){let pt=k("li","g-data-row"),Lt=k("div","g-data-row-main"),Mt=k("div","g-data-row-copy");Mt.append(k("p","g-data-row-label",Fe.label));for(let Ft of Fe.detail)Ft!==Fe.status&&Mt.append(k("div","g-data-row-detail",Ft));if(y.data.source==="credit_transactions"&&!Te){let Ft=k("span","g-data-row-mark");Ft.append(K(["Refund","\u9000\u56DE"].includes(Fe.status??"")?"up":"down")),Lt.append(Ft)}if(Lt.append(Mt),pt.append(Lt),Fe.status?pt.append(k("div","g-data-row-status",Fe.status)):pt.classList.add("g-data-row-no-status"),Fe.value?pt.append(k("div","g-data-row-value",Fe.value)):pt.classList.add("g-data-row-no-value"),Fe.facts.length||Fe.purchaseId||Fe.membershipActions?.length||Fe.billingActions?.length){let Ft=k("div","g-data-row-extra"),Wn=k("div","g-data-facts"),si=(mn,Bo)=>{for(let Yc of mn){let Xc=k("span","",Yc.label);Xc.append(k("strong","",Yc.value)),Bo.append(Xc)}};if(si(Fe.facts.slice(0,3),Wn),Fe.facts.length>3){let mn=k("details","g-data-sources");mn.dataset.gDataSources=`facts:${Fe.id}`,mn.append(k("summary","",`${y.data.source==="billing"?T("\u8D26\u5355\u8BE6\u60C5","Invoice details"):y.data.source==="offer_history"?T("\u4F18\u60E0\u5238\u660E\u7EC6","Coupon details"):T("\u5168\u90E8\u6263\u8D39\u660E\u7EC6","All allocations")} \xB7 ${Fe.facts.length}`));let Bo=k("div","g-data-facts");si(Fe.facts.slice(3),Bo),mn.append(Bo),Wn.append(mn)}if(Ft.append(Wn),!Te)for(let mn of Fe.billingActions??[])Ft.append(H(mn.label,mn.action,Fe.id,!!b.billingBusy));if(Fe.purchaseId&&y.data.allowPurchase&&!Te){let mn=H(b.buyingId===Fe.purchaseId?T("\u6B63\u5728\u51C6\u5907\u2026","Preparing\u2026"):T("\u8D2D\u4E70\u79EF\u5206","Buy credits"),"buy_pack",Fe.purchaseId,!!b.preview||!!b.buyingId);mn.classList.add("g-data-buy"),Ft.append(mn)}if(y.data.allowPurchase&&!Te)for(let mn of Fe.membershipActions??[])Ft.append(H(mn.label,"membership_preview",mn.value,!!b.preview||!!b.membershipBusy||!!b.membershipReview));pt.append(Ft)}Nt.append(pt)}return Nt};for(let ue of b.resources){let Te=k("article","g-data-resource");Te.setAttribute("aria-label",ue.name),b.resources.length>1&&Te.append(k("p","g-data-name",ue.name));let Nt=k("div","g-data-balance"),Fe=new Intl.NumberFormat(se).formatToParts(1.1).find(Ft=>Ft.type==="decimal")?.value??".",pt=ue.spendable.lastIndexOf(Fe),Lt=k("strong","g-data-number",pt<0?ue.spendable:ue.spendable.slice(0,pt));pt>=0&&Lt.append(k("span","g-data-fraction",ue.spendable.slice(pt))),Nt.append(Lt,k("span","g-data-unit",T("\u53EF\u7528\u79EF\u5206","Spendable credits"))),Te.append(Nt);let Mt=k("div","g-data-facts");for(let[Ft,Wn]of[[T("\u4F59\u989D","Balance"),ue.available],[T("\u51BB\u7ED3","Reserved"),ue.reserved]]){let si=k("span","",Ft);si.append(k("strong","",Wn)),Mt.append(si)}if(ue.expiry&&Mt.append(k("span","g-data-expiry",`${T("\u6700\u8FD1\u5230\u671F","Next expiry")} \xB7 ${ue.expiry}`)),Te.append(Mt),y.data.showSources&&ue.sourceCount){let Ft=k("details","g-data-sources");if(Ft.dataset.gDataSources=ue.key,Ft.append(k("summary","",`${T("\u79EF\u5206\u6765\u6E90","Credit sources")} \xB7 ${ue.sourceCount}`),Zi(ue.sources,!0)),Ft.querySelector("summary")?.append(K("chevron")),ue.hasNextSources||ue.hasPreviousSources){let Wn=k("div","g-data-footer");Wn.append(k("span","",`${T("\u7B2C","Page")} ${ue.sourcePage}`));let si=k("div","g-data-controls");si.append(H(T("\u4E0A\u4E00\u9875","Previous"),"sources_previous",ue.key,!ue.hasPreviousSources),H(T("\u4E0B\u4E00\u9875","Next"),"sources_next",ue.key,!ue.hasNextSources)),Wn.append(si),Ft.append(Wn)}Te.append(Ft)}x.append(Te)}if(b.rows.length&&x.append(Zi(b.rows)),y.data.source==="billing_controls"&&(y.data.outputs?.billing_authorization||y.data.outputs?.billing_adjustment)){let ue=k("div","g-data-controls");y.data.outputs?.billing_authorization&&ue.append(H(T("\u8BBE\u7F6E\u81EA\u52A8\u4ED8\u6B3E\u6388\u6743","Set up payment authorization"),"billing_authorization")),y.data.outputs?.billing_adjustment&&ue.append(H(T("\u67E5\u770B\u5F85\u786E\u8BA4\u8865\u6B3E","Review pending adjustment"),"billing_adjustment")),x.append(ue)}if(!b.rows.length&&!b.resources.length&&b.status!=="error"){let ue=k("p","g-data-empty",_?T("\u6B63\u5728\u8BFB\u53D6\u8D26\u6237\u6570\u636E\u2026","Loading account data\u2026"):b.status==="idle"?T("\u767B\u5F55\u540E\u67E5\u770B\u4F60\u7684\u8D26\u6237\u6570\u636E\u3002","Sign in to view your account data."):b.filter!=="all"?T("\u6CA1\u6709\u7B26\u5408\u7B5B\u9009\u6761\u4EF6\u7684\u8BB0\u5F55\u3002","No records match this filter."):y.data.source==="credit_pack_orders"?T("\u6682\u65E0\u8D2D\u4E70\u8BB0\u5F55","No purchases yet"):y.data.source==="credit_balance"?T("\u6682\u65E0\u79EF\u5206\u6765\u6E90","No credit balances yet"):y.data.source==="membership"?T("\u6682\u65E0\u4F1A\u5458\u65B9\u6848","No memberships yet"):y.data.source==="customer_plans"?T("\u6682\u65E0\u53EF\u9009\u5957\u9910","No plans available"):y.data.source==="credit_packs"?T("\u6682\u65E0\u53EF\u8D2D\u4E70\u7684\u79EF\u5206\u5305","No credit packs available"):y.data.source==="billing_controls"?T("\u5C1A\u672A\u8BBE\u7F6E\u7528\u91CF\u9650\u5236\u6216\u81EA\u52A8\u4ED8\u6B3E\u6388\u6743","No usage limits or payment authorizations configured"):y.data.source==="offer_history"?T("\u6682\u65E0\u4F18\u60E0\u8BB0\u5F55","No offers yet"):y.data.source==="billing"?T("\u6682\u65E0\u8D26\u5355","No invoices yet"):T("\u8FD9\u91CC\u8FD8\u6CA1\u6709\u8BB0\u5F55\u3002","There are no records yet."));ue.prepend(K("empty")),ue.setAttribute("role","status"),x.append(ue)}if(b.hasNext||b.hasPrevious){let ue=k("div","g-data-footer");ue.append(k("span","",`${T("\u7B2C","Page")} ${b.page}`));let Te=k("div","g-data-controls");Te.append(H(T("\u4E0A\u4E00\u9875","Previous"),"previous",void 0,!b.hasPrevious),H(T("\u4E0B\u4E00\u9875","Next"),"next",void 0,!b.hasNext)),ue.append(Te),x.append(ue)}return b.updatedAt&&y.data.source!=="credit_balance"&&x.append(k("p","g-data-note g-data-updated",`${T("\u6570\u636E\u66F4\u65B0\u4E8E","Updated")} ${new Intl.DateTimeFormat(se,{dateStyle:"medium",timeStyle:"short"}).format(new Date(b.updatedAt))}`)),x}let oi=new Map,qa=new Map,Gc=y=>{let x=y.target;for(let b of oi.keys())x&&!Er(b)?.contains(x)&&oi.delete(b)};document.addEventListener("focusin",Gc),document.addEventListener("pointerdown",Gc);function Kc(y){let x=I;if(I=y,!A)return;let b=(C,T)=>{if(C.type==="stack"){C.children.forEach(he=>b(he,C));return}if(C.type!=="customer_data"||JSON.stringify(x?.nodes[C.id])===JSON.stringify(y.nodes[C.id]))return;let k=Er(C.id);if(!k)return;let K=document.activeElement;K&&k.contains(K)&&K.dataset.gDataFocus&&oi.set(C.id,K.dataset.gDataFocus);let H=new Set([...k.querySelectorAll("details[data-g-data-sources]")].filter(he=>he.open).map(he=>he.dataset.gDataSources)),ae=zi(C,T);if(!ae)return;for(let he of ae.querySelectorAll("details[data-g-data-sources]"))he.open=H.has(he.dataset.gDataSources);let ge=k.scrollTop;k.replaceWith(ae),ae.scrollTop=ge;let q=!!y.nodes[C.id]?.membershipReview&&!x?.nodes[C.id]?.membershipReview,ee=!y.nodes[C.id]?.membershipReview&&!!x?.nodes[C.id]?.membershipReview;q&&oi.get(C.id)&&qa.set(C.id,oi.get(C.id));let ce=ee?qa.get(C.id):oi.get(C.id);ce&&[...ae.querySelectorAll("[data-g-data-focus]")].find(he=>he.dataset.gDataFocus===ce)?.focus({preventScroll:!0}),q&&ae.querySelector("[data-g-data-review] h3")?.focus({preventScroll:!0}),ee&&qa.delete(C.id),ae.animate&&y.nodes[C.id]?.status==="ready"&&!window.matchMedia("(prefers-reduced-motion:reduce)").matches&&ae.animate([{opacity:.7},{opacity:1}],{duration:140,easing:"ease-out"})},_=A.pages.find(C=>C.id===X)??A.pages[0];b(_.root,null),ai()}function zi(y,x){if(y.hidden)return null;let b;if(y.type==="customer_data")b=Ba(y);else if(y.type==="stack"){b=document.createElement(y.purchaseAction?"button":"div"),y.purchaseAction&&(b.type="button",b.dataset.gAction=y.purchaseAction),b.className=`${y.purchaseAction?`g-btn g-btn-${y.buttonVariant??"primary"} `:""}g-stack ${y.direction==="horizontal"?"g-h":y.direction==="overlay"?"g-o":"g-v"}`,y.direction==="overlay"?(b.style.alignItems=h[y.align]??"stretch",b.style.justifyItems=p[y.justify]??"stretch"):(b.style.alignItems=l[y.align]??"stretch",b.style.justifyContent=d[y.justify]??"flex-start");for(let _ of y.children){let C=zi(_,y);C&&b.append(C)}if(y.interaction&&Ui(b,y),y.purchaseAction&&e.mode==="live"){let _=P?.nodes[y.id],C=_?.picker;C&&(b.disabled=!P?.pickers[C]?.options.includes(String(R[C]??""))),De(y.id)?.unavailable&&(b.disabled=!0)}e.mode==="editor"&&!b.childElementCount&&(b.classList.add("g-empty"),b.dataset.gEditorPlaceholder=e.editorMessages?.emptyContainer??"\u62D6\u5165\u7EC4\u4EF6")}else if(y.type==="text"){let _=y.variant==="title"?"h1":y.variant==="heading"?"h2":"p";b=document.createElement(_),b.className=`g-text g-${y.variant}`;let C=Ot(y,"text",y.text);b.textContent=C.value,C.missing&&e.mode==="editor"&&b.classList.add("g-missing")}else if(y.type==="button"){b=document.createElement("button"),b.type="button",b.className=`g-btn g-btn-${y.variant}`;let _=Ot(y,"label",y.label);b.textContent=_.value,_.missing&&e.mode==="editor"&&b.classList.add("g-missing"),b.dataset.gAction=y.action;let C=P?.nodes[y.id]?.picker;if(C&&e.mode==="live"){let T=C,k=P?.pickers[T],K=R[T]??k?.selected;b.disabled=!k?.options.includes(String(K)),b.disabled&&b.setAttribute("aria-disabled","true")}e.mode==="live"&&De(y.id)?.unavailable&&(b.disabled=!0,b.setAttribute("aria-disabled","true")),e.mode==="editor"&&(b.tabIndex=-1)}else if(y.type==="image"){b=document.createElement("div"),b.className="g-img",f[y.aspect]&&(b.dataset.aspect=y.aspect,b.style.aspectRatio=f[y.aspect]);let _=document.createElement("img");_.src=y.localizedSrc?.[se]??y.localizedSrc?.[A.strings.defaultLocale]??y.src,_.alt=Ot(y,"alt",y.alt).value,_.referrerPolicy="no-referrer",_.decoding="async",_.style.objectFit=y.fit,y.position&&(_.style.objectPosition=`${y.position.x}% ${y.position.y}%`),_.addEventListener("load",Vi),b.append(_)}else if(y.type==="price"){b=document.createElement("div"),b.className="g-price",b.style.cssText="display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-variant-numeric:tabular-nums";let _=De(y.id);if(!_?.price)b.textContent=_?.text??Ce(y.fallback).value,e.mode==="editor"&&b.classList.add("g-missing");else for(let C of["current","original","period"]){let T=_.price[C];if(!T)continue;let k=document.createElement(C==="original"?"s":"span");k.textContent=T,C==="original"&&(k.style.opacity=".6"),y.parts?.[C]&&ii(k,{type:"text",id:y.id,text:y.fallback,variant:"body",style:y.parts[C]},null),b.append(k)}}else if(y.type==="coupon_code"){b=document.createElement("div"),b.style.cssText="display:flex;align-items:center;gap:12px;flex-wrap:wrap";let _=De(y.id);if(_?.code){let C=document.createElement("code");C.textContent=_.code;let T=document.createElement("button");T.type="button",T.className="g-btn g-btn-secondary",T.textContent=Ce(y.label).value,T.addEventListener("click",k=>{e.mode!=="editor"&&(k.stopPropagation(),We({type:"copy",nodeId:y.id}))}),b.append(C,T)}else b.textContent=_?.text??Ce(y.fallback).value,e.mode==="editor"&&b.classList.add("g-missing")}else if(y.type==="countdown"){b=document.createElement("span"),b.setAttribute("role","timer"),b.style.fontVariantNumeric="tabular-nums";let _=De(y.id),C=_?.countdownAt?Date.parse(_.countdownAt):NaN,T=y.granularity==="second"?void 0:new Intl.NumberFormat(se,{style:"unit",unit:y.granularity,unitDisplay:"short"});!Number.isFinite(C)&&e.mode==="editor"&&b.classList.add("g-missing");let k=()=>{if(!Number.isFinite(C)){b.textContent=_?.text??Ce(y.fallback).value;return}let K=Math.max(0,Math.ceil((C-Date.now())/1e3));if(!K){b.textContent=Ce(y.expired).value;let q=$.get(y.id);q!==void 0&&clearInterval(q),$.delete(y.id);return}let H=y.granularity,ae=H==="day"?86400:H==="hour"?3600:H==="minute"?60:1,ge=T?T.format(Math.ceil(K/ae)):[Math.floor(K/86400),Math.floor(K/3600)%24,Math.floor(K/60)%60,K%60].map(q=>String(q).padStart(2,"0")).join(":");b.textContent!==ge&&(b.textContent=ge)};k(),Number.isFinite(C)&&C>Date.now()&&$.set(y.id,setInterval(k,1e3))}else if(y.type==="quantity_picker"){b=document.createElement("div");let _=P?.quantities?.[y.id],C=document.createElement("label");C.textContent=Ce(y.label).value;let T=document.createElement("input");T.type="range",T.id=`quantity-${y.id}`,C.htmlFor=T.id,T.min=String(_?.minimum??y.minimumQuantity),T.max=String(_?.maximum??y.maximumQuantity),T.step=String(y.step),T.value=String(typeof R[y.id]=="number"?R[y.id]:y.defaultQuantity),R[y.id]=Number(T.value),T.disabled=e.mode!=="editor"&&!_?.available,T.style.cssText="width:100%;accent-color:var(--g-primary)";let k=document.createElement("output");k.textContent=_?.label||Ce(y.fallback).value,T.setAttribute("aria-valuetext",_?.label??String(T.value)),T.oninput=()=>{R[y.id]=Number(T.value),We({type:"selection",selection:Ve()})},b.append(C,T,k)}else if(y.type==="plan_picker"){b=document.createElement("div"),b.setAttribute("role",y.grouping?"group":"radiogroup"),b.setAttribute("aria-label",Ce(y.label).value),b.style.cssText="display:flex;flex-direction:column;gap:8px";let _=P?.pickers[y.id],C=y.grouping;if(!_?.options.length)b.textContent=Ce(y.fallback).value,e.mode==="editor"&&b.classList.add("g-missing");else{let T=typeof R[y.id]=="string"?String(R[y.id]):_.selected,k=B[y.id];if(C){if(!k){let dt=C.assignments.find(Xe=>Xe.productVersionId===T);k={period:dt?.period??"month",tierId:dt?.tierId??C.tiers[0].id},B[y.id]=k}let q=C.assignments.find(dt=>dt.tierId===k.tierId&&dt.period===k.period);T=q&&_.options.includes(q.productVersionId)?q.productVersionId:"";let ee=document.createElement("div");ee.setAttribute("role","radiogroup"),ee.setAttribute("aria-label",`${Ce(C.monthLabel).value} / ${Ce(C.yearLabel).value}`),ee.style.cssText="display:flex;gap:4px;padding:4px;border:1px solid var(--g-border);border-radius:10px";let ce=["month","year"],he=ce.filter(dt=>C.assignments.some(Xe=>Xe.period===dt&&_.options.includes(Xe.productVersionId))),Me=dt=>{k.period=dt;let Xe=C.assignments.find(Et=>Et.tierId===k.tierId&&Et.period===dt);R[y.id]=Xe&&_.options.includes(Xe.productVersionId)?Xe.productVersionId:"",kn(),We({type:"selection",selection:Ve()}),Er(y.id)?.querySelector(`[data-product-period="${dt}"]`)?.focus()};for(let dt of ce){let Xe=document.createElement("button");Xe.type="button",Xe.className=`g-btn g-btn-${dt===k.period?"primary":"secondary"}`,Xe.style.cssText="flex:1;min-width:0;min-height:40px",Xe.dataset.productPeriod=dt,Xe.setAttribute("role","radio"),Xe.setAttribute("aria-checked",String(dt===k.period)),Xe.textContent=Ce(dt==="month"?C.monthLabel:C.yearLabel).value,Xe.disabled=!he.includes(dt),Xe.tabIndex=e.mode==="editor"||Xe.disabled?-1:dt===k.period||!he.includes(k.period)&&dt===he[0]?0:-1,Xe.addEventListener("click",Et=>{e.mode!=="editor"&&(Et.stopPropagation(),Me(dt))}),Xe.addEventListener("keydown",Et=>{if(e.mode==="editor"||!he.length)return;let on;["ArrowRight","ArrowDown"].includes(Et.key)?on=(he.indexOf(dt)+1)%he.length:["ArrowLeft","ArrowUp"].includes(Et.key)?on=(he.indexOf(dt)-1+he.length)%he.length:Et.key==="Home"?on=0:Et.key==="End"&&(on=he.length-1),on!==void 0&&(Et.preventDefault(),Me(he[on]))}),ee.append(Xe)}b.append(ee)}R[y.id]=T??"";let K=C?C.tiers.map(q=>({tier:q,id:C.assignments.find(ee=>ee.tierId===q.id&&ee.period===k.period)?.productVersionId})):_.options.map(q=>({id:q,tier:void 0})),H=K.filter(q=>q.id&&_.options.includes(q.id)),ae=C?document.createElement("div"):b;C&&(ae.setAttribute("role","radiogroup"),ae.setAttribute("aria-label",Ce(y.label).value),ae.style.cssText="display:flex;flex-direction:column;gap:8px",b.append(ae));let ge=q=>{!q.id||!_.options.includes(q.id)||(C&&q.tier&&(k.tierId=q.tier.id),R[y.id]=q.id,kn(),We({type:"selection",selection:Ve()}),Er(y.id)?.querySelector(`[data-plan-id="${q.id}"]`)?.focus())};for(let q of K){let ee=q.id?P.plans[q.id]:void 0,ce=!!ee&&_.options.includes(q.id),he=document.createElement("button");he.type="button",he.className="g-btn g-btn-secondary",he.style.cssText="width:100%;text-align:start;min-height:44px",he.setAttribute("role","radio");let Me=C?q.tier?.id===k.tierId:q.id===T;he.setAttribute("aria-checked",String(Me)),he.disabled=!ce,he.tabIndex=e.mode==="editor"||!ce?-1:Me||!T&&q===H[0]?0:-1,q.id&&(he.dataset.planId=q.id),q.tier&&(he.dataset.productTier=q.tier.id);let dt=q.id?P.nodes[y.id]?.byPlan?.[q.id]?.price:void 0,Xe=document.createElement("span"),Et=document.createElement("span");Xe.className="g-option-name",Et.className="g-option-price",Xe.textContent=ce?q.tier?.name??ee.name:q.tier?.name??"",Et.textContent=ce?`${dt?.current??ee.price}${dt?.period??ee.period}`:Ce(C?.unavailableLabel??y.fallback).value,he.classList.add("g-option"),he.replaceChildren(Xe,Et),he.setAttribute("aria-label",[Xe.textContent,Et.textContent].filter(Boolean).join(", ")),Me&&(he.style.borderColor="var(--g-primary)",he.style.boxShadow="inset 0 0 0 1px var(--g-primary)",y.states?.selected&&ii(he,{type:"text",id:y.id,text:y.label,variant:"body",style:y.states.selected},null)),he.addEventListener("click",on=>{e.mode==="editor"||!ce||(on.stopPropagation(),ge(q))}),he.addEventListener("keydown",on=>{if(e.mode==="editor"||!H.length)return;let Zi=H.indexOf(q),ue;["ArrowRight","ArrowDown"].includes(on.key)?ue=(Zi+1)%H.length:["ArrowLeft","ArrowUp"].includes(on.key)?ue=(Zi-1+H.length)%H.length:on.key==="Home"?ue=0:on.key==="End"&&(ue=H.length-1),ue!==void 0&&(on.preventDefault(),ge(H[ue]))}),ae.append(he)}if(C&&!T){let q=document.createElement("p");q.setAttribute("role","status"),q.textContent=Ce(C.unavailableLabel).value,b.append(q)}}}else if(y.type==="divider")b=document.createElement("hr"),b.className="g-divider";else if(y.type==="spacer")b=document.createElement("div"),b.setAttribute("aria-hidden","true"),b.style.flex="0 0 auto",b.style.width=b.style.height=`${s[y.size]??0}px`;else if(y.type==="custom_html"){b=document.createElement("div"),b.className="g-custom";let _=b.attachShadow({mode:"open"}),C=document.createElement("style"),T="@media(prefers-reduced-motion:reduce){:host,:host::before,:host::after,*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}";C.textContent=`:host{display:block}${T}@layer indiana-accessibility{${T}}${y.css}`;let k=document.createElement("div");_.append(C,k),re.set(b,{body:k,source:null,bound:!1,unresolved:!1,variables:[],bindings:[],fallback:!1,initialized:!1,template:null,parked:!1}),Ye(b,y)}else return null;return y.style&&ii(b,y,x),b.dataset.gNode=y.id,b.dataset.gLabel=cr(y),V.set(y.id,b),b}function Ui(y,x){let b=x.interaction,_=[...y.children];y.setAttribute("aria-label",Ce(b.label).value);let C=E?.bindings.find(k=>k.componentId===x.id),T=C?{id:C.variable,source:C.componentId,required:C.required}:void 0;if(T){let k=document.createElement("p");k.className="g-text g-body",k.textContent=Ce(b.label).value+(T.required?" *":""),y.prepend(k),T.required&&y.setAttribute("aria-required","true")}if(b.type==="input"){let k=document.createElement("input");k.type=b.keyboard,k.maxLength=b.maxLength,k.autocomplete="off",k.setAttribute("aria-label",Ce(b.label).value),k.setAttribute("aria-required",String(!!T?.required)),k.value=typeof R[x.id]=="string"?String(R[x.id]):"",k.style.cssText="box-sizing:border-box;width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--g-border);border-radius:8px;background:var(--g-surface);color:var(--g-text);font:inherit",k.disabled=e.mode!=="live",k.addEventListener("input",()=>{R[x.id]=k.value,zr(x.id,k.value)}),y.append(k);return}if(!(e.mode!=="live"||!_.length&&b.type!=="toggle")){if(b.type==="multiselect"){y.setAttribute("role","group"),y.dataset.gMin=String(b.min);let k=x.children.filter(ae=>!ae.hidden),K=new Set(Array.isArray(R[x.id])?R[x.id]:[]),H=()=>_.forEach((ae,ge)=>{let q=K.has(k[ge].id);ae.setAttribute("aria-checked",String(q)),ae.setAttribute("aria-disabled",String(!q&&K.size>=b.max)),ae.style.outline=q?"2px solid var(--g-primary)":"",ae.style.outlineOffset="-2px"});_.forEach((ae,ge)=>{ae.setAttribute("role","checkbox"),ae.tabIndex=0,wi(ae)?ae.removeAttribute("aria-label"):ae.setAttribute("aria-label",String(ge+1)),ae.style.cursor="pointer";let q=()=>{let ee=k[ge].id;if(K.has(ee))K.delete(ee);else if(K.size<b.max)K.add(ee);else return;let ce=k.filter(he=>K.has(he.id)).map(he=>he.id);R[x.id]=ce,H(),zr(x.id,ce)};ae.addEventListener("click",ee=>{ee.stopPropagation(),q()}),ae.addEventListener("keydown",ee=>{[" ","Enter"].includes(ee.key)&&(ee.preventDefault(),ee.stopPropagation(),q())})}),H();return}if(b.type==="select"){y.setAttribute("role","radiogroup");let k=x.children.filter(ge=>!ge.hidden),K=t(x)?x.interaction.pickerId:void 0,H=k.findIndex(ge=>K?ge.type==="stack"&&ge.bind?.plan===R[K]:ge.id===R[x.id]);!K&&H<0&&!T?.required&&(H=Math.min(b.defaultIndex,_.length-1));let ae=(ge,q=!1,ee=!0)=>{if(K&&ee&&ge>=0){let ce=k[ge],he=ce.type==="stack"?ce.bind?.plan:void 0;if(!he||!P?.pickers[K]?.options.includes(he))return;R[x.id]=ce.id,R[K]=he,kn(),We({type:"selection",selection:Ve()}),q&&ze.querySelector(`[data-g-node="${ce.id}"]`)?.focus({preventScroll:!0});return}H=ge,ge>=0&&(R[x.id]=k[ge].id),ee&&ge>=0&&zr(x.id,k[ge].id),_.forEach((ce,he)=>{ce.setAttribute("aria-checked",String(he===ge)),ce.tabIndex=he===(ge<0?0:ge)?0:-1,ce.style.cssText="";let Me=k[he];Me.type==="stack"&&(ce.style.alignItems=l[Me.align]??"stretch",ce.style.justifyContent=d[Me.justify]??"flex-start"),Me.style&&ii(ce,Me,x),he===ge&&(b.selectedStyle&&ii(ce,{...Me,style:b.selectedStyle},x),Me.type==="stack"&&Me.states?.selected&&ii(ce,{...Me,style:Me.states.selected},x),!b.selectedStyle?.border&&!(Me.type==="stack"&&Me.states?.selected?.border)&&(ce.style.outline="2px solid var(--g-primary)",ce.style.outlineOffset="-2px")),ce.style.cursor="pointer"}),q&&ge>=0&&_[ge].focus()};_.forEach((ge,q)=>{if(ge.setAttribute("role","radio"),K){let ee=k[q],ce=ee.type==="stack"?ee.bind?.plan:void 0;ge.setAttribute("aria-disabled",String(!ce||!P?.pickers[K]?.options.includes(ce)))}wi(ge)?ge.removeAttribute("aria-label"):ge.setAttribute("aria-label",String(q+1)),ge.addEventListener("click",ee=>{ee.stopPropagation(),ae(q)}),ge.addEventListener("keydown",ee=>{let ce=ee.key;if(!["ArrowRight","ArrowLeft","ArrowDown","ArrowUp","Home","End"," ","Enter"].includes(ce))return;ee.preventDefault(),ee.stopPropagation();let he=H<0?q:H;ae(ce==="Home"?0:ce==="End"?_.length-1:ce==="ArrowRight"||ce==="ArrowDown"?(he+1)%_.length:ce==="ArrowLeft"||ce==="ArrowUp"?(he+_.length-1)%_.length:q,!0)})}),ae(H,!1,!1)}else if(b.type==="tabs"){let k=x.children.filter(q=>!q.hidden),K=document.createElement("div");K.setAttribute("role","tablist"),K.setAttribute("aria-label",Ce(b.label).value),K.style.cssText="display:flex;gap:4px;padding:4px;border:1px solid var(--g-border);border-radius:12px";let H=_.map((q,ee)=>{let ce=document.createElement("button");return ce.type="button",ce.setAttribute("role","tab"),ce.textContent=Za(k[ee])||String(ee+1),ce.style.cssText="flex:1;min-width:0;min-height:44px;padding:8px 16px;border:0;border-radius:8px;font:inherit;cursor:pointer",q.id=`g-${x.id}-${k[ee].id}`,q.setAttribute("role","tabpanel"),ce.setAttribute("aria-controls",q.id),K.append(ce),ce}),ae=(q,ee=!1,ce=!1)=>{if(R[x.id]=k[q].id,ce&&A&&Object.keys(r(A)).length){for(let he of Object.keys(r(A)))delete R[he];kn(),We({type:"selection",selection:Ve()}),ee&&ze.querySelector(`[data-g-node="${x.id}"] [role="tab"][aria-selected="true"]`)?.focus({preventScroll:!0});return}_.forEach((he,Me)=>{he.hidden=Me!==q,H[Me].setAttribute("aria-selected",String(Me===q)),H[Me].tabIndex=Me===q?0:-1,H[Me].style.background=Me===q?"var(--g-primary)":"transparent",H[Me].style.color=Me===q?"var(--g-on-primary)":"var(--g-text)"}),ee&&H[q].focus(),ai()};H.forEach((q,ee)=>{q.addEventListener("click",ce=>{ce.stopPropagation(),ae(ee,!1,!0)}),q.addEventListener("keydown",ce=>{["ArrowLeft","ArrowRight","Home","End"].includes(ce.key)&&(ce.preventDefault(),ce.stopPropagation(),ae(ce.key==="Home"?0:ce.key==="End"?_.length-1:(ee+(ce.key==="ArrowRight"?1:_.length-1))%_.length,!0,!0))})}),y.prepend(K);let ge=k.findIndex(q=>q.id===R[x.id]);ae(ge>=0?ge:Math.min(b.defaultIndex,_.length-1))}else if(b.type==="toggle"){let k=document.createElement("button");k.type="button",k.setAttribute("role","switch"),k.className="g-btn g-btn-secondary",k.style.cssText="display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--g-text)";let K=document.createElement("span");K.textContent=Ce(b.label).value;let H=document.createElement("span");H.setAttribute("aria-hidden","true"),H.style.cssText="position:relative;display:block;flex:none;width:44px;height:24px;border-radius:12px;background:var(--g-border)";let ae=document.createElement("span");ae.style.cssText="position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003",H.append(ae),k.append(K,H);let ge=(q,ee=!1)=>{if(R[x.id]=q,ee&&A&&Object.keys(r(A)).length){for(let ce of Object.keys(r(A)))delete R[ce];kn(),We({type:"selection",selection:Ve()}),ze.querySelector(`[data-g-node="${x.id}"] [role="switch"]`)?.focus({preventScroll:!0});return}k.setAttribute("aria-checked",String(q)),H.style.background=q?"var(--g-primary)":"var(--g-border)",ae.style.left=q?"23px":"3px",ae.style.background=q?"var(--g-on-primary)":"#FFFFFF",_.forEach((ce,he)=>ce.hidden=he!==(q?0:1)),ai()};k.addEventListener("click",q=>{q.stopPropagation(),ge(!R[x.id],!0),zr(x.id,!!R[x.id])}),y.prepend(k),ge(typeof R[x.id]=="boolean"?R[x.id]:b.defaultEnabled)}else{y.setAttribute("role","region"),y.setAttribute("aria-roledescription","carousel");let k=document.createElement("div");k.style.cssText="display:flex;align-items:center;justify-content:center;gap:10px";let K=document.createElement("button"),H=document.createElement("button"),ae=document.createElement("span"),ge=se.startsWith("zh");K.textContent="\u2190",H.textContent="\u2192",K.setAttribute("aria-label",ge?"\u4E0A\u4E00\u6761\u8BC4\u4EF7":"Previous review"),H.setAttribute("aria-label",ge?"\u4E0B\u4E00\u6761\u8BC4\u4EF7":"Next review");for(let ee of[K,H])ee.type="button",ee.className="g-btn g-btn-secondary",ee.style.color="var(--g-text)";ae.setAttribute("aria-live","polite");let q=ee=>{O[x.id]=ee,_.forEach((ce,he)=>ce.hidden=he!==ee),ae.textContent=`${ee+1} / ${_.length}`,ai()};K.addEventListener("click",ee=>{ee.stopPropagation(),q((O[x.id]+_.length-1)%_.length)}),H.addEventListener("click",ee=>{ee.stopPropagation(),q((O[x.id]+1)%_.length)}),k.append(K,ae,H),y.append(k),q(O[x.id]??0)}}}function wi(y){return!!y.textContent?.trim()||[...y.querySelectorAll(".g-custom")].some(x=>!!x.shadowRoot?.textContent?.trim())}function Za(y){if(y.hidden)return"";if(y.type==="text"&&(y.variant==="title"||y.variant==="heading")){let{value:x,missing:b}=Ot(y,"text",y.text);return b||x.includes("{{")?"":x.replace(/\s+/g," ").trim()}if(y.type==="custom_html"){let x=document.createElement("template");x.innerHTML=y.html[se]??y.html[A.strings.defaultLocale]??"";let b=x.content.querySelector("h1,h2");return b?.querySelectorAll("br").forEach(_=>_.replaceWith(" ")),b?.textContent?.replace(/\s+/g," ").trim()??""}if(y.type==="stack")for(let x of y.children){let b=Za(x);if(b)return b}return""}function Wc(y){return y.type==="stack"&&!y.interaction&&!y.purchaseAction}function Uo(y){let x=[],b=_=>{let C=P?.nodes[_.id];if(x.push(_.id,De(_.id)),C?.picker&&x.push(R[C.picker],P?.pickers[C.picker]),_.type==="text")x.push(Ot(_,"text",_.text));else if(_.type==="button")x.push(Ot(_,"label",_.label));else if(_.type==="image")x.push(Ot(_,"alt",_.alt));else if(_.type==="custom_html"){let T=Oe(_);x.push(T,e.mode==="live"&&E?Q(T).map(k=>[k,ut(k)]):void 0)}else if(_.type==="customer_data")x.push(I?.nodes[_.id]);else if(_.type==="plan_picker"){let T=P?.pickers[_.id];x.push(R[_.id],B[_.id],T,C,T?.options.map(k=>P?.plans[k]))}else _.type==="stack"&&(_.interaction?.type!=="input"&&x.push(R[_.id],O[_.id]),t(_)&&x.push(R[_.interaction.pickerId],P?.pickers[_.interaction.pickerId]),_.children.forEach(b))};return b(y),JSON.stringify(x)}function Jc(y){y.hidden||(Wc(y)?y.children.forEach(Jc):M.set(y.id,Uo(y)))}function Ha(y){if(y.type==="custom_html"){let b=Er(y.id),_=b&&re.get(b);_&&pn(_)}let x=$.get(y.id);x!==void 0&&clearInterval(x),$.delete(y.id),y.type==="stack"&&y.children.forEach(Ha)}function Vo(y,x){if(y.hidden)return;if(Wc(y)){y.children.forEach(C=>Vo(C,y));return}if(M.get(y.id)===Uo(y))return;let b=Er(y.id);if(!b)return;if(y.type==="custom_html"&&re.has(b)){Ye(b,y),M.set(y.id,Uo(y));return}Ha(y);let _=zi(y,x);_&&(b.replaceWith(_),M.set(y.id,Uo(y)))}function Ga(){let y=document.activeElement;if(!(y instanceof HTMLElement)||!ze.contains(y))return;let x=y.closest("[data-g-node]");if(!x)return;let b=[];for(let _=y;_!==x;){let C=_.parentElement;if(!C)return;b.unshift(Array.prototype.indexOf.call(C.children,_)),_=C}return{active:y,nodeId:x.dataset.gNode,path:b,identity:["productPeriod","planId","productTier","gDataFocus"].map(_=>[_,y.dataset[_]]).find(([,_])=>_!==void 0),selection:y instanceof HTMLInputElement&&y.selectionStart!==null?{start:y.selectionStart,end:y.selectionEnd,direction:y.selectionDirection}:void 0}}function kr(y){if(!y||y.active.isConnected)return;let x=Er(y.nodeId);if(!x)return;let b=x;if(y.identity){let[_,C]=y.identity;b=[...x.querySelectorAll("*")].find(T=>T.dataset[_]===C)}else for(let _ of y.path)b=b?.children[_];!b||b.hasAttribute("disabled")||(b.focus({preventScroll:!0}),y.selection&&b instanceof HTMLInputElement&&["text","search","tel","url","password"].includes(b.type)&&b.setSelectionRange(y.selection.start,y.selection.end,y.selection.direction??void 0))}function kn(y=!1){if(!A)return;let x=y?void 0:Ga(),b=A.pages.find(C=>C.id===(X??A.initialPageId))??A.pages[0];if(X=b.id,P){let C={},T=k=>{k.type==="stack"&&k.children.forEach(T),k.type==="plan_picker"&&typeof R[k.id]=="string"&&R[k.id]!==""&&(C[k.id]=String(R[k.id]))};T(b.root),Object.assign(R,i({...A,pages:[b]},Ve(),P)),Object.assign(R,C)}let _=C=>{if(C.type==="stack"&&C.children.forEach(_),C.type!=="plan_picker"||!C.grouping)return;let T=C.grouping,k=P?.pickers[C.id],K=B[C.id];if(!K){let ae=T.assignments.find(ge=>ge.productVersionId===(R[C.id]??k?.selected));K={period:ae?.period??"month",tierId:ae?.tierId??T.tiers[0].id},B[C.id]=K}let H=T.assignments.find(ae=>ae.tierId===K.tierId&&ae.period===K.period);R[C.id]=H&&k?.options.includes(H.productVersionId)?H.productVersionId:""};if(_(b.root),y||z!==b){z&&Ha(z.root),$.forEach(k=>clearInterval(k)),$.clear(),M.clear(),V.clear(),ze.style.cssText="",me(b.theme?{...A,theme:b.theme}:A);let C=se.split("-")[0];document.documentElement.lang=se,document.documentElement.dir=["ar","he","fa","ur"].includes(C)?"rtl":"ltr",ze.dataset.gPresentation=A.presentation.type;let T=zi(b.root,null);ze.replaceChildren(...T?[T]:[]),z=b,Jc(b.root)}else Vo(b.root,null);if(kr(x),ze.dataset.gPage=b.id,e.mode==="live"&&We({type:"page",pageId:b.id}),ve)ai();else{Wa(),Qc();let C=Math.ceil(ze.getBoundingClientRect().height);ve=!0,Y=C,We({type:"rendered",height:C,label:Za(b.root)||A.name})}}function ai(){let y=Math.ceil(ze.getBoundingClientRect().height);y!==Y&&(Y=y,We({type:"resize",height:y})),Wa(),Qc()}function Vi(){Be||(Be=!0,window.requestAnimationFrame(()=>{Be=!1,ai()}))}function Qc(){if(e.mode!=="editor")return;let y=[];for(let b of ze.querySelectorAll("[data-g-node]")){let _=b.getBoundingClientRect();!_.width||!_.height||y.push({id:b.dataset.gNode,x:_.x,y:_.y,width:_.width,height:_.height})}let x=JSON.stringify(y);x!==Ge&&(Ge=x,We({type:"layout",nodes:y}))}function Er(y){if(!y||!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(y))return null;let x=V.get(y);return x?.isConnected?x:null}function Ka(y,x){let b=Er(x);if(!b){y.style.display="none";return}let _=b.getBoundingClientRect();y.style.display="block",y.style.left=`${_.left+window.scrollX}px`,y.style.top=`${_.top+window.scrollY}px`,y.style.width=`${_.width}px`,y.style.height=`${_.height}px`,y.toggleAttribute("data-below",_.top<20),y.firstChild.textContent=b.dataset.gLabel??""}function Wa(){e.mode==="editor"&&(Ka(qt,Le),Ka(rt,Ae&&Ae!==Le?Ae:null))}function Bi(y){for(let x of y.composedPath()){if(x instanceof HTMLElement&&x.dataset.gNode)return x.dataset.gNode;if(x===ze)break}return null}function Zy(y){if(y.isTrusted){if(e.mode==="editor"){y.preventDefault(),y.stopPropagation(),We({type:"select",id:Bi(y)});return}for(let x of y.composedPath()){if(!(x instanceof HTMLElement))continue;let b=x.dataset.gAction??(x.tagName==="BUTTON"?x.getAttribute("data-grow-action"):null);if(b&&!x.disabled){y.preventDefault();let _=A?.actions.find(C=>C.id===b);if(_?.type==="navigate"){if(X=_.pageId,A)for(let T of Object.keys(r(A)))delete R[T];kn();let C=ze.querySelector("h1,h2")??ze;C===ze&&(ze.setAttribute("role","group"),ze.setAttribute("aria-label",A?.pages.find(T=>T.id===X)?.name??A?.name??"Page")),C.tabIndex=-1,C.focus({preventScroll:!0});return}We({type:"action",actionId:b,nodeId:Bi(y)??void 0,...Object.keys(R).length?{selection:Ve()}:{},...E?{answers:zo()}:{}});return}if(x===ze)return}}}function qi(y){let x=y;if(!(!x||x.channel!==e.channel))try{if(x.type==="render"){let b=x.doc;if(!b||b.kind!=="screen"||b.schemaVersion!==4||Object.hasOwn(b,"funnel")||!b.pages?.length||b.pages.length>(b.surface==="paywall"?10:1)||b.pages.some(_=>Object.hasOwn(_,"source"))||b.actions?.some(_=>!["event","close","open_url","claim_offer",...b.surface==="paywall"?["navigate"]:[]].includes(_.type)))throw new Error("Unsupported screen document; use the current Funnel runtime for flows");F.clear(),j=N=0,A=b,X=null,se=String(x.locale),w=new Set,E=x.serverInput,R=g(),B=g(),P=x.capabilities,I=x.customerData,oi.clear();for(let[_,C]of Object.entries(P?.pickers??{}))C.selected&&(R[_]=C.selected);if(x.selection&&typeof x.selection=="object"&&!Array.isArray(x.selection)){let _=x.selection,C=k=>{let K=_[k.id];if(k.type==="quantity_picker"&&typeof K=="number"&&(R[k.id]=K),k.type==="plan_picker"&&typeof K=="string"&&k.planIds?.includes(K)&&(R[k.id]=K),k.type==="stack"){if(k.interaction?.type==="toggle"&&typeof K=="boolean"&&(R[k.id]=K),k.interaction&&["select","tabs"].includes(k.interaction.type)&&typeof K=="string"&&k.children.some(H=>H.id===K)&&(R[k.id]=K),t(k)){let H=_[k.interaction.pickerId];typeof H=="string"&&k.children.some(ae=>ae.type==="stack"&&ae.bind?.plan===H)&&(R[k.interaction.pickerId]=H)}k.children.forEach(C)}};A.pages.forEach(k=>C(k.root));let T=_.__page;typeof T=="string"&&A.pages.some(k=>k.id===T)&&(X=T)}for(let _ of E?.bindings??[])Object.hasOwn(E.answers,_.variable)&&(R[_.componentId]=E.answers[_.variable],w.add(_.componentId));O=g(),se=String(x.locale),at(),kn(!0)}else if(x.type==="capabilities"){P=x.capabilities;for(let[b,_]of Object.entries(P.quantities??{})){let C=Er(b),T=C?.querySelector('input[type="range"]');if(T){T.min=String(_.minimum),T.max=String(_.maximum),T.disabled=!_.available,T.setAttribute("aria-valuetext",_.label);let k=C?.querySelector("output");k&&(k.textContent=_.label)}}at();for(let[b,_]of Object.entries(P.pickers))!B[b]&&(R[b]===void 0||R[b]==="")&&(R[b]=_.selected??"");kn()}else x.type==="customer-data"?Kc(x.data):x.type==="restore-action-focus"&&e.mode==="live"?[...ze.querySelectorAll("button[data-g-node]")].find(b=>b.dataset.gNode===x.nodeId&&!b.disabled)?.focus({preventScroll:!0}):x.type==="highlight"&&e.mode==="editor"&&(Ae=x.hoverId??null,Le=x.selectedId??null,Wa())}catch(b){We({type:"error",message:b instanceof Error?b.message:"render failed"})}}let $d=document.createElement("style");if($d.textContent=m,document.head.append($d),document.body.append(ze),e.mode==="editor"){document.body.dataset.gEditor="",document.body.append(rt,qt),document.addEventListener("mouseover",x=>{let b=Bi(x);b!==Pt&&(Pt=b,We({type:"hover",id:b}))}),document.documentElement.addEventListener("mouseleave",()=>{Pt!==null&&(Pt=null,We({type:"hover",id:null}))}),document.addEventListener("dblclick",x=>{let b=Bi(x);b&&x.isTrusted&&We({type:"edit",id:b})}),document.addEventListener("click",x=>{ze.contains(x.target)||We({type:"select",id:null})});let y=(x,b)=>{if(!x.isTrusted)return;let _=x.metaKey||x.ctrlKey,C=x.key;(C===" "||b==="down"&&(["Delete","Backspace","Escape"].includes(C)||_&&/^[zysdcvg0=+-]$/i.test(C)))&&((_||C===" ")&&x.preventDefault(),We({type:"key",key:{key:C,phase:b,meta:x.metaKey,ctrl:x.ctrlKey,shift:x.shiftKey,alt:x.altKey}}))};document.addEventListener("keydown",x=>y(x,"down")),document.addEventListener("keyup",x=>y(x,"up")),document.addEventListener("wheel",x=>{!x.isTrusted||!(x.ctrlKey||x.metaKey)||(x.preventDefault(),We({type:"zoom",delta:x.deltaY}))},{passive:!1})}ze.addEventListener("click",Zy),document.addEventListener("keydown",y=>{y.key==="Escape"&&y.isTrusted&&We({type:"escape"})}),typeof ResizeObserver=="function"&&new ResizeObserver(Vi).observe(ze),window.addEventListener("resize",Vi),e.mode==="editor"&&window.addEventListener("scroll",Qc),window.addEventListener("message",y=>{y.source===o&&qi(y.data)}),a.__indianaReceive=qi,We({type:"ready"})}function z4(e,t){let r=JSON.stringify(e).replace(/</g,"\\u003c");return`<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'nonce-${t}'; style-src 'unsafe-inline'; img-src https: data:; connect-src 'none'; font-src 'none'; media-src 'none'; frame-src 'none'; base-uri 'none'; form-action 'none'"></head><body><script type="application/json" id="grow-renderer-boot">${r}<\/script><script nonce="${t}">${JX}<\/script></body></html>`}var JX,U4=S(()=>{"use strict";JX=`(${WX.toString()})(JSON.parse(document.getElementById("grow-renderer-boot").textContent))`});function V4(e,t){return yP.set(e,t),()=>yP.delete(e)}function Rd(e){let t=e.defaultView?.HTMLElement,r=e.activeElement;for(let o=0;o<16&&r?.shadowRoot?.activeElement;o++)r=r.shadowRoot.activeElement;let i=r?yP.get(r)?.():void 0;return()=>{!r?.isConnected||!t||!(r instanceof t)||(r.focus({preventScroll:!0}),i?.())}}var yP,Ey=S(()=>{"use strict";yP=new WeakMap});function B4(e){let t={display:"block",position:"fixed",top:"0",left:"0",opacity:"0",pointerEvents:"none",zIndex:"-1"},r=Object.keys(t).map(a=>{let s=a,c=e.style[s];return e.style[s]=t[s],[s,c]}),i=e.inert??!1,o=e.getAttribute("aria-hidden");return e.inert=!0,e.setAttribute("aria-hidden","true"),()=>{for(let[a,s]of r)e.style[a]=s;e.inert=i,o===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",o)}}var q4=S(()=>{"use strict"});function Z4(e){return Object.assign(new Error(`Web View renderer did not start (${e.phase} timeout)`),{name:"RendererStartupError",code:"RENDERER_STARTUP_TIMEOUT",details:e})}function H4(e,t,r){let i=(()=>{let A=e.defaultView;if(!A)throw new Error("Renderer host has no browser window");return A})(),o=r?.hasAttribute("src")?"navigation":"handshake",a=o==="navigation"?1e4:5e3,s=0,c=0,u,l=!1,d=!1;function p(){if(u===void 0)return;i.clearTimeout(u),u=void 0;let A=Math.max(0,performance.now()-c);s+=A,a=Math.max(0,a-A)}function h(){l||(l=!0,p(),e.removeEventListener("visibilitychange",f),r?.removeEventListener("load",g))}function f(){if(!(l||d)){if(e.visibilityState==="hidden"){p();return}u===void 0&&(c=performance.now(),u=i.setTimeout(()=>{s+=Math.max(0,performance.now()-c),u=void 0,h(),t({phase:o,visibleMs:Math.round(s)})},a))}}function m(A){l||o===A||o==="render"||(p(),o=A,a=5e3,f())}function g(){o==="navigation"&&m("handshake")}return r?.addEventListener("load",g,{once:!0}),e.addEventListener("visibilitychange",f),f(),Object.assign(h,{ready:()=>{d=!1,m("render"),f()},awaitContent:()=>{l||o==="render"||(p(),d=!0,m("render"))}})}var G4=S(()=>{"use strict"});function QX(e,t,r,i,o=document){let a=crypto.randomUUID(),s=crypto.randomUUID().replaceAll("-",""),c=o.createElement("iframe");c.title=t,c.setAttribute("sandbox","allow-scripts"),c.referrerPolicy="no-referrer";let u=o.defaultView,l=1;for(;u!==window&&l<16;)u=u.parent,l++;if(u!==window)throw new Error("Renderer container must belong to this host or a descendant window");let d={channel:a,parentOrigin:window.origin,hostDepth:l,mode:e,...e==="editor"?{editorMessages:r}:{}};if(i==="bundled"){if(e!=="live")throw new Error("Bundled renderer requires live mode");c.src="data:text/html;charset=utf-8,"+encodeURIComponent(jk.html)+"#"+encodeURIComponent(JSON.stringify(d))}else if(i){if(e!=="live")throw new Error("Hosted Web Views only support live rendering");let f=new URL(i);if(f.username||f.password||f.search||f.hash||!/^\/web-view\/renderer\/[a-f0-9]{64}$/.test(f.pathname)||f.protocol!=="https:"&&!(f.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(f.hostname)))throw new Error("Invalid hosted renderer URL");f.hash=encodeURIComponent(JSON.stringify(d)),c.src=f.href}else c.srcdoc=z4(d,s);return{frame:c,post:f=>c.contentWindow?.postMessage({...f,channel:a},"*"),accept:f=>f.source===c.contentWindow&&f.origin==="null"&&f.data&&typeof f.data=="object"&&"channel"in f.data&&"type"in f.data&&typeof f.data.type=="string"&&f.data.channel===a?f.data:null}}function Cy(e,t={}){let r=(()=>{let R=e.ownerDocument.defaultView;if(!R)throw new Error("Preview container has no browser window");return R})(),i=t.mode??"editor",o=L4(r),{frame:a,post:s,accept:c}=QX(i,t.title??"\u5F39\u7A97\u9884\u89C8",t.editorMessages,t.rendererUrl,e.ownerDocument);a.style.cssText="display:block;border:0;width:100%;height:0";let u=!1,l=!1,d=null,p=null,h=!1,f,m=V4(a,()=>f),g,A,E=new Promise((R,O)=>{g=R,A=O});E.catch(()=>{});let w=H4(e.ownerDocument,R=>{if(h||l)return;let O=Z4(R);A(O),it(t.onError,O.message),P()},a);function P(){h||(h=!0,m(),f=void 0,o.destroy(),w(),u||A(new Error("Web View mount cancelled")),window.removeEventListener("message",z),u=!1,d=null,p=null,I=null,V=void 0,W.clear(),a.remove(),a.removeAttribute("srcdoc"),a.removeAttribute("src"))}let I=null,$={},M,V,Z="modal",W=new Set,F=t.viewportHeight,re=0,j=R=>{re=R;let O=F,B=O?Z==="fullscreen"?O:Math.max(1,Math.min(R,O-(Z==="sheet"?0:32))):R;a.style.height=`${B}px`,it(t.onResize,B)};function N(R){if(!V)return;let O=Jr.safeParse(R);if(!O.success||Object.keys(O.data).some(B=>!V.bindings.some(se=>se.variable===B))){it(t.onError,"Invalid current-screen answers");return}return O.data}function z(R){let O=h?null:c(R);if(O)if(O.type==="ready")u=!0,g(),d&&s(d),d?w.ready():w.awaitContent(),p&&s(p);else if(O.type==="rendered"||O.type==="resize")j(O.height),O.type==="rendered"&&(l=!0,w(),O.label&&(a.title=O.label),it(t.onRendered,O.label));else if(O.type==="layout"&&i==="editor")Array.isArray(O.nodes)&&O.nodes.length<=(I?gn.nodes:0)&&O.nodes.every(B=>B&&typeof B.id=="string"&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(B.id)&&[B.x,B.y,B.width,B.height].every(se=>typeof se=="number"&&Number.isFinite(se))&&B.width>0&&B.height>0)&&it(t.onLayout,O.nodes);else if(O.type==="page"&&i==="live"&&W.has(O.pageId))it(t.onPageChange,O.pageId);else if(O.type==="escape"&&i==="live")it(t.onEscape);else if(O.type==="hover")it(t.onHover,O.id);else if(O.type==="select")it(t.onSelect,O.id);else if(O.type==="edit")it(t.onEdit,O.id);else if(O.type==="key"&&i==="editor"){let B=O.key;B&&typeof B.key=="string"&&B.key.length<=16&&(B.phase==="down"||B.phase==="up")&&[B.meta,B.ctrl,B.shift,B.alt].every(se=>typeof se=="boolean")&&it(t.onKey,{key:B.key,phase:B.phase,meta:B.meta,ctrl:B.ctrl,shift:B.shift,alt:B.alt})}else if(O.type==="zoom"&&i==="editor"&&typeof O.delta=="number"&&Number.isFinite(O.delta))it(t.onZoom,O.delta);else if(O.type==="customer-data-intent"&&i==="live"&&I){let B=o_.safeParse(O.intent);B.success&&Tn(I,B.data.nodeId)?.type==="customer_data"&&it(t.onCustomerDataIntent,B.data)}else if(O.type==="answers"&&i==="live"&&V){let B=N(O.answers);B&&it(t.onAnswers,B)}else if(O.type==="selection"&&I&&d?.type==="render"&&d.capabilities){let B=Xf(I,O.selection,d.capabilities);$=B;let se=od(I,M??d.capabilities,B,d.locale);s({type:"capabilities",capabilities:se}),it(t.onSelection,B)}else if(O.type==="action"&&I?.actions.some(B=>B.id===O.actionId)){let B=N(O.answers);if(V&&!B)return;let se=I,ve=O.nodeId?Tn(se,O.nodeId):void 0;f=i==="live"&&ve?.type==="button"&&ve.action===O.actionId?()=>{!h&&I===se&&s({type:"restore-action-focus",nodeId:ve.id})}:void 0,it(t.onAction,O.actionId,Xf(I,O.selection,d?.type==="render"?d.capabilities:void 0),B)}else O.type==="error"&&it(t.onError,O.message)}window.addEventListener("message",z),e.append(a);let X={ready:E,get document(){return I},updateCustomerData(R){if(h||!I)return;let O=rc.parse(R),B={nodes:Object.fromEntries(Object.entries(O.nodes).filter(([se,ve])=>{let Y=Tn(I,se);return Y?.type==="customer_data"&&Y.data.source===ve.source}))};d?.type==="render"&&(d.customerData=B),u&&s({type:"customer-data",data:B})},updateCapabilities(R){if(h||!I)return;M=R;let O=o.prepare(od(I,R,$,d?.type==="render"?d.locale:"en"),I);O&&(d?.type==="render"&&JSON.stringify(d.capabilities)===JSON.stringify(O)||(d?.type==="render"&&(d.capabilities=O),u&&s({type:"capabilities",capabilities:O})))},update(R,O,B){if(h)return;let se;try{let ve=M4(R,r),Y=i==="live"&&!!B?.serverInput,Be=Y?ic(ve,[O]):O,Ge=Y?u_(ve,Be):ve,Ae=B?.serverInput?eI.parse(B.serverInput):void 0;if(Ae&&(ve.surface!=="paywall"&&ve.pages.length!==1||ve.actions.some(ze=>ze.type!=="event"&&ze.type!=="navigate"||ze.close)||Ae.bindings.some(ze=>{let rt=Tn(ve,ze.componentId);return rt?.type!=="stack"||!rt.interaction||!["input","multiselect","select","tabs","toggle"].includes(rt.interaction.type)})))throw new Error("Current Funnel input requires one screen with bound interactive controls and output actions");let Le=Hn.parse(B?.parameters??{}),Pt=B?.customerData?rc.parse(B.customerData):void 0;if(i==="live"&&!B?.reset&&d?.type==="render"&&(B?.capabilities!==void 0||d.capabilities===void 0)&&JSON.stringify([d.doc,d.locale,d.parameters,d.serverInput,d.selection])===JSON.stringify([Ge,Be,Le,Ae,B?.selection])){B?.capabilities&&X.updateCapabilities(B.capabilities),JSON.stringify(d.customerData)!==JSON.stringify(Pt)&&(X.updateCustomerData(Pt??{nodes:{}}),d.customerData=Pt);return}I=Ge,M=B?.capabilities,$=B?.selection??{},V=Ae,Z=ve.presentation.type,W=new Set(ve.pages.map(ze=>ze.id)),se={type:"render",doc:Ge,...Ae?{serverInput:Ae}:{},locale:Be,parameters:Le,capabilities:o.prepare(B?.capabilities?od(Ge,B.capabilities,B.selection??{},Be):void 0,ve),...B?.selection?{selection:B.selection}:{},customerData:Pt},Z==="fullscreen"&&F&&j(F)}catch(ve){it(t.onError,ve instanceof Error?ve.message:"\u5185\u5BB9\u4E0D\u6B63\u786E");return}d=se,u&&(s(se),w.ready())},resizeViewport(R){h||!Number.isFinite(R)||R<=0||(F=R,j(re))},highlight(R,O){h||(p={type:"highlight",hoverId:R,selectedId:O},u&&s(p))},destroy:P};return X}var bP=S(()=>{"use strict";Dk();RF();F4();U4();Da();Ey();G4()});async function Y4(e,t,r){if(t.status!=="complete")throw new G("INVALID_RESPONSE","A verified completed purchase is required");if(await r.onComplete?.(t),!e||!r.check)return;let i=Hr.parse(await r.check());if(i.internal_feature_id!==e.internal_feature_id||i.quantity!==e.quantity)throw new G("INVALID_RESPONSE","The access requirement changed");i.allowed&&await r.onAccessGranted?.(i)}var X4=S(()=>{"use strict";bn();xr()});var SP={};ke(SP,{mountScreenPreview:()=>Cy});var vP=S(()=>{bP()});async function Ny(e,t){let r=t.check?Hr.parse(await t.check()):null;if(r?.allowed)return await t.onAccessGranted?.(r),{check:r,host:null};let i=Rd(e.ownerDocument),o=await t.start(),a=o.view??await o.refresh();if(!a)throw new G("INVALID_RESPONSE","Paywall presentation is missing");let{mountScreenPreview:s}=await Promise.resolve().then(()=>(vP(),SP)),c=e.ownerDocument,u=new AbortController,l=c.createElement("section"),d=c.createElement("div"),p=c.createElement("div"),h=c.createElement("p"),f=c.createElement("button"),m=c.createElement("button"),g=c.createElement("dialog"),A=a.document.screen.strings.defaultLocale.startsWith("zh");l.dataset.indianaPaywall="",l.setAttribute("aria-label",a.document.name),l.style.cssText="width:100%;box-sizing:border-box;background:#fff;color:#172033;font:14px/1.5 system-ui,sans-serif",p.style.cssText="display:flex;gap:12px;padding:12px 20px;align-items:center;flex-wrap:wrap",h.setAttribute("role","status"),m.textContent=A?"\u5173\u95ED":"Close",f.textContent=A?"\u91CD\u8BD5":"Retry",f.hidden=!0,p.append(h,f,m),l.append(d,p);let E=a.document.presentation,w,P=!1,I=!1,$=null,M=!1,V=()=>!M&&t.canInteract?.()!==!1,Z=!1,W=null,F=null,re=new Map;async function j(Y){if(!(!V()||!Y.checkoutUrl||re.get(Y.operationId)===Y.checkoutUrl)){re.set(Y.operationId,Y.checkoutUrl);try{t.onCheckoutUrl?await t.onCheckoutUrl(Y.checkoutUrl):c.defaultView?.location.assign(Y.checkoutUrl)}catch(Be){throw re.delete(Y.operationId),Be}}}let N=Y=>{h.textContent=Y instanceof Error?Y.message:A?"\u8BF7\u6C42\u5931\u8D25":"Request failed",it(t.onError,Y),f.hidden=W===null};async function z(Y){if(!(I||P||!V())){I=!0,f.hidden=!0,h.textContent="";try{await Y()}catch(Be){P||N(Be)}finally{I=!1}}}async function X(Y){await Y4(r,Y,t)}async function R(Y){if(P)return;if(!V()){W=async()=>R(await o.read()),f.hidden=!1;return}if(h.textContent=Y.status,Y.problem){let Ae=Y.problem;W=O,f.textContent=A?"\u68C0\u67E5\u5E76\u6062\u590D\u539F\u64CD\u4F5C":"Check and recover original purchase",N(new G(Ae.code,Ae.reason==="RESULT_UNKNOWN"?A?"\u4ED8\u6B3E\u7ED3\u679C\u5C1A\u672A\u786E\u5B9A\uFF0C\u8BF7\u6062\u590D\u539F\u64CD\u4F5C\uFF0C\u6682\u52FF\u91CD\u590D\u8D2D\u4E70\u3002":"The payment result is unknown. Recover the original purchase before buying again.":Ae.phase==="fulfillment"?A?"\u4ED8\u6B3E\u5DF2\u8BB0\u5F55\uFF0C\u5546\u6237\u6743\u76CA\u5904\u7406\u9700\u8981\u6838\u5BF9\u3002":"Payment was recorded. Access fulfillment needs attention.":Ae.code==="CAPABILITY_UNAVAILABLE"?A?"\u5546\u6237\u5C1A\u4E0D\u652F\u6301\u672C\u6B21\u8D2D\u4E70\u6240\u9700\u7684\u5B8C\u6574\u80FD\u529B\uFF0C\u8BF7\u5904\u7406\u540E\u6062\u590D\u539F\u64CD\u4F5C\u3002":"The merchant does not currently support all actions required by this purchase. Recover the original purchase after this is resolved.":Ae.code==="NOT_CONFIGURED"?A?"\u4ED8\u6B3E\u670D\u52A1\u8FDE\u63A5\u9700\u8981\u5904\u7406\uFF0C\u8BF7\u8054\u7CFB\u5546\u6237\u540E\u6062\u590D\u539F\u64CD\u4F5C\u3002":"The payment connection needs attention. Contact the merchant, then recover the original purchase.":A?"\u539F\u8D2D\u4E70\u64CD\u4F5C\u9700\u8981\u5904\u7406\uFF0C\u8BF7\u67E5\u8BE2\u6216\u6062\u590D\u6B64\u64CD\u4F5C\u3002":"The original purchase needs attention. Check or recover this operation.",void 0,void 0,Ae));return}if(Y.merchantExecution?.type==="purchase"&&Y.merchantExecution.paymentStatus==="succeeded"&&!["applied","not_applicable"].includes(Y.merchantExecution.fulfillmentStatus)&&(h.textContent=A?"\u4ED8\u6B3E\u5DF2\u8BB0\u5F55\uFF0C\u6B63\u5728\u7B49\u5F85\u5546\u6237\u5B8C\u6210\u5904\u7406\u3002":"Payment was recorded. Waiting for merchant fulfillment."),Y.status==="complete"){W=null,await X(Y);return}if(Y.status!=="pending"){if(o.canReselect===!1){h.textContent=A?"\u6B63\u5728\u6838\u5BF9\u539F\u8D2D\u4E70\u7ED3\u679C":"Checking the original purchase result",f.textContent=A?"\u67E5\u8BE2\u7ED3\u679C":"Check result",W=async()=>R(await o.read()),f.hidden=!1;return}f.textContent=A?"\u91CD\u8BD5":"Retry",W=null,$=null;return}await j(Y);let Be=Date.now()+6e5,Ge=2e3;for(;!P&&Date.now()<Be;){if(await new Promise(Le=>{let Pt=()=>{clearTimeout(ze),Le()},ze=setTimeout(()=>{u.signal.removeEventListener("abort",Pt),Le()},Ge);u.signal.addEventListener("abort",Pt,{once:!0})}),P)return;if(!V()){W=async()=>R(await o.read()),f.hidden=!1;return}let Ae=await o.read();if(!Ae.problem&&Ae.status==="pending"&&await j(Ae),Ae.status!=="pending"||Ae.problem){await R(Ae);return}Ge=Math.min(Ge*1.5,3e4)}W=async()=>R(await o.read()),f.hidden=!1}async function O(){F?.remove(),F=null,W=O;let Y=await o.confirm();if(!V()){W=O,f.hidden=!1;return}if(Y.problem){await R(Y);return}if(Y.status==="pending"){if(Y.checkoutUrl)await j(Y);else if(Y.execution&&Y.execution.provider!=="merchant"||Y.nativePurchase){if(!t.onPurchase)throw new G("PURCHASE_HANDLER_REQUIRED","Provide the merchant or native purchase handler");await t.onPurchase({operation:Y,signal:u.signal})}}W=async()=>R(await o.read()),await R(Y)}function B(Y){F?.remove();let Be=c.createElement("div"),Ge=c.createElement("button"),Ae=c.createElement("button"),Le=c.createElement("p");Le.textContent=Y.lines.map(rt=>rt.productName).join(", ")+" \xB7 "+Ls(Y.charge?.totalMinor??Y.catalogAmountMinor-(Y.discount?.amountMinor??0),Y.currency),Ge.textContent=A?"\u786E\u8BA4\u8D2D\u4E70":"Confirm purchase",Ae.textContent=A?"\u53D6\u6D88":"Cancel",Ge.onclick=()=>{z(O)};let Pt=async()=>{let rt=await o.cancel();P||(Be.remove(),F=null,await R(rt))};Ae.onclick=()=>{W=Pt,z(Pt)};let ze=c.createElement("div");for(let rt of Y.lines){let qt=c.createElement("p");qt.textContent=`${rt.productName} \xB7 ${Ls(rt.catalogAmountMinor,Y.currency)}${id(rt.interval,A?"zh-CN":"en",rt.intervalCount??1)}`,ze.append(qt);for(let We of rt.prepaid??[]){let jn=c.createElement("p"),ye=o.view?.capabilities.plans[rt.productVersionId]?.prepaid?.find(fe=>fe.internalFeatureId===We.internal_feature_id);jn.textContent=`${ye?.name??We.internal_feature_id} \xB7 ${We.quantity} ${A?"\u4EFD":"packs"} \xD7 ${We.terms.units}`,ye&&(jn.textContent+=id(ye.reset==="week"||ye.reset==="month"||ye.reset==="year"?ye.reset:"one_time",A?"zh-CN":"en",ye.resetCount)),ze.append(jn)}if(rt.trial){let We=c.createElement("p");We.textContent=A?`\u8BD5\u7528 ${rt.trial.days} \u5929\uFF1B${rt.trial.cardRequired?"\u9700\u8981\u63D0\u4F9B\u4ED8\u6B3E\u65B9\u5F0F":"\u65E0\u9700\u63D0\u4F9B\u4ED8\u6B3E\u65B9\u5F0F"}`:`Trial days: ${rt.trial.days}; ${rt.trial.cardRequired?"a payment method is required":"no payment method is required"}`,ze.append(We)}}if(!Y.charge){let rt=c.createElement("p");rt.textContent=A?"\u76EE\u5F55\u4EF7\u683C\uFF1B\u6700\u7EC8\u91D1\u989D\u4EE5\u7ED3\u8D26\u65F6\u7A0E\u8D39\u548C\u8BD5\u7528\u89C4\u5219\u4E3A\u51C6\u3002":"Catalog price; the final charge depends on checkout taxes and trial terms.",ze.append(rt)}Be.append(Le,ze,Ge,Ae),p.prepend(Be),F=Be,W=null}async function se(){if(!$)return;if(W=se,!Z){let Be=o.view,Ge=Be?.document.buttons[$.actionId],Ae=Be&&Ge?.type==="checkout"?_a(Ge.product,$.selection,Be.capabilities):null;if(!Ae)throw new G("PRODUCT_UNAVAILABLE","Choose an available Product in this purchase area");let Le=await t.resolveOfferId?.({actionId:$.actionId,productVersionId:Ae});if(P)return;Le!==void 0&&($.offerId=Le),Z=!0}if(!V()){f.hidden=!1;return}let Y=await o.preview($);P||B(Y)}function ve(Y="destroy"){P||(P=!0,u.abort(),w?.destroy(),o.destroy(),g.open&&g.close(),g.remove(),l.remove(),i(),Y==="dismiss"&&it(t.onDismiss))}m.onclick=()=>{V()&&ve("dismiss")},g.addEventListener("cancel",Y=>{Y.preventDefault(),V()&&ve("dismiss")}),f.onclick=()=>{W&&z(W)};try{if(E.type==="inline")e.append(l);else{let Y={sm:420,md:640,lg:900};g.style.cssText=`padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;width:${"size"in E?Y[E.size]+"px":"100vw"}`,g.setAttribute("aria-label",a.document.name),g.append(l),e.append(g),V()&&(g.showModal(),Dc(g,E.type))}w=s(d,{mode:"live",rendererUrl:o.webViewUrl,title:a.document.name,onAction(Y,Be={}){if(!V())return;let Ge=o.view,Ae=Ge?.document.buttons[Y];if(!Ae)return;if(Ae.type==="close"){z(async()=>{await t.onAction?.(Y),ve(t.onAction?"action":"dismiss")});return}if(Ae.type==="action"){W=async()=>{if(Ae.action.type==="event"){if(!t.onEvent)throw new G("EVENT_HANDLER_REQUIRED","Provide the event handler");await t.onEvent(Ae.action.event)}else t.onOpenUrl?await t.onOpenUrl(Ae.action.url):c.defaultView?.location.assign(Ae.action.url);await t.onAction?.(Y),W=null},z(W);return}if((o.quote||$)&&o.canReselect===!1){W=o.quote?async()=>R(await o.read()):se,z(W);return}let Le=Ge&&_a(Ae.product,Be,Ge.capabilities);if(!Ge||!Le){N(new G("PRODUCT_UNAVAILABLE","Choose an available Product in this purchase area"));return}if(t.onPurchaseIntent){W=null,z(async()=>{let Pt={actionId:Y,productVersionId:Le,selection:structuredClone(Be),featureQuantities:Cc(Ge.document.screen,Le,Be,Ge.capabilities)};await t.onPurchaseIntent(Pt)});return}if($&&$.actionId!==Y){N(new G("COMMAND_PENDING","Finish the current purchase"));return}$||($={requestId:crypto.randomUUID(),actionId:Y,selection:Be},Z=!1),z(se)},onEscape:()=>{V()&&ve("dismiss")},onError:Y=>N(new Error(Y)),onRendered:Y=>{Y&&g.setAttribute("aria-label",Y)}}),w.update(a.document.screen,a.document.screen.strings.defaultLocale,{capabilities:a.capabilities,serverInput:{bindings:[],answers:{}}}),await w.ready}catch(Y){throw ve(),Y}return{check:r,host:{setSuspended(Y){M=Y,l.hidden=Y,Y&&g.open?g.close():!Y&&!P&&E.type!=="inline"&&!g.open&&g.showModal()},destroy:ve,refresh:async()=>{if(!V()){if(o.view)return o.view;throw new G("PRECONDITION_FAILED","Paywall presentation is suspended")}let Y=await o.refresh();return P||w?.updateCapabilities(Y.capabilities),Y}}}}var wP=S(()=>{"use strict";bn();xr();Da();Ey();ng();X4()});function tee(e){return e==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}function Fy(e){var t=My.get(e);return t||(t={element:e,attributes:{}},My.set(e,t)),t}function zy(e,t,r,i,o){var a=r(e),s={isDirty:!1,originalValue:a,virtualValue:a,mutations:[],el:e,_positionTimeout:null,observer:new MutationObserver(function(){if(!See&&!(t==="position"&&s._positionTimeout)){t==="position"&&(s._positionTimeout=setTimeout(function(){s._positionTimeout=null},1e3));var c=r(e);t==="position"&&c.parentNode===s.virtualValue.parentNode&&c.insertBeforeNode===s.virtualValue.insertBeforeNode||c!==s.virtualValue&&(s.originalValue=c,o(s))}}),mutationRunner:o,setValue:i,getCurrentValue:r};return t==="position"&&e.parentNode?s.observer.observe(e.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):s.observer.observe(e,tee(t)),s}function Uy(e,t){var r=t.getCurrentValue(t.el);t.virtualValue=e,e&&typeof e!="string"?(!r||e.parentNode!==r.parentNode||e.insertBeforeNode!==r.insertBeforeNode)&&(t.isDirty=!0,cV()):e!==r&&(t.isDirty=!0,cV())}function nee(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),Uy(gee(t),e)}function ree(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(r){return r.mutate(t)}),Uy(Array.from(t).filter(Boolean).join(" "),e)}function iee(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),Uy(t,e)}function oee(e){var t=e.parentSelector,r=e.insertBeforeSelector,i=document.querySelector(t);if(!i)return null;var o=r?document.querySelector(r):null;return r&&!o?null:{parentNode:i,insertBeforeNode:o}}function aee(e){var t=e.originalValue;e.mutations.forEach(function(r){var i=r.mutate(),o=oee(i);t=o||t}),Uy(t,e)}function lV(e){var t=Fy(e);return t.html||(t.html=zy(e,"html",see,cee,nee)),t.html}function dV(e){var t=Fy(e);return t.position||(t.position=zy(e,"position",uee,lee,aee)),t.position}function pV(e){var t=Fy(e);return t.classes||(t.classes=zy(e,"class",pee,dee,ree)),t.classes}function mV(e,t){var r=Fy(e);return r.attributes[t]||(r.attributes[t]=zy(e,t,mee(t),fee(t),iee)),r.attributes[t]}function hee(e,t){var r=My.get(e);if(r)if(t==="html"){var i,o;(i=r.html)==null||(o=i.observer)==null||o.disconnect(),delete r.html}else if(t==="class"){var a,s;(a=r.classes)==null||(s=a.observer)==null||s.disconnect(),delete r.classes}else if(t==="position"){var c,u;(c=r.position)==null||(u=c.observer)==null||u.disconnect(),delete r.position}else{var l,d,p;(l=r.attributes)==null||(d=l[t])==null||(p=d.observer)==null||p.disconnect(),delete r.attributes[t]}}function gee(e){return jy||(jy=document.createElement("div")),jy.innerHTML=e,jy.innerHTML}function $y(e,t,r){if(r.isDirty){r.isDirty=!1;var i=r.virtualValue;r.mutations.length||hee(e,t),r.setValue(e,i)}}function yee(e,t){e.html&&$y(t,"html",e.html),e.classes&&$y(t,"class",e.classes),e.position&&$y(t,"position",e.position),Object.keys(e.attributes).forEach(function(r){$y(t,r,e.attributes[r])})}function cV(){My.forEach(yee)}function bee(e,t){var r=null;e.kind==="html"?r=lV(t):e.kind==="class"?r=pV(t):e.kind==="attribute"?r=mV(t,e.attribute):e.kind==="position"&&(r=dV(t)),r&&(r.mutations.push(e),r.mutationRunner(r))}function Aee(e,t){var r=null;if(e.kind==="html"?r=lV(t):e.kind==="class"?r=pV(t):e.kind==="attribute"?r=mV(t,e.attribute):e.kind==="position"&&(r=dV(t)),!!r){var i=r.mutations.indexOf(e);i!==-1&&r.mutations.splice(i,1),r.mutationRunner(r)}}function fV(e){if(!(e.kind==="position"&&e.elements.size===1)){var t=new Set(e.elements),r=document.querySelectorAll(e.selector);r.forEach(function(i){t.has(i)||(e.elements.add(i),bee(e,i))})}}function xee(e){e.elements.forEach(function(t){return Aee(e,t)}),e.elements.clear(),CP.delete(e)}function uV(){CP.forEach(fV)}function vee(){typeof document>"u"||(IP||(IP=new MutationObserver(function(){uV()})),uV(),IP.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}function Vy(e){return typeof document>"u"?EP:(CP.add(e),fV(e),{revert:function(){xee(e)}})}function kP(e,t){return Vy({kind:"html",elements:new Set,mutate:t,selector:e})}function hV(e,t){return Vy({kind:"position",elements:new Set,mutate:t,selector:e})}function jd(e,t){return Vy({kind:"class",elements:new Set,mutate:t,selector:e})}function Ly(e,t,r){return eee.test(t)?t==="class"||t==="className"?jd(e,function(i){var o=r(Array.from(i).join(" "));i.clear(),o&&o.split(/\s+/g).filter(Boolean).forEach(function(a){return i.add(a)})}):Vy({kind:"attribute",attribute:t,elements:new Set,mutate:r,selector:e}):EP}function wee(e){var t=e.selector,r=e.action,i=e.value,o=e.attribute,a=e.parentSelector,s=e.insertBeforeSelector;if(o==="html"){if(r==="append")return kP(t,function(c){return c+(i??"")});if(r==="set")return kP(t,function(){return i??""})}else if(o==="class"){if(r==="append")return jd(t,function(c){i&&c.add(i)});if(r==="remove")return jd(t,function(c){i&&c.delete(i)});if(r==="set")return jd(t,function(c){c.clear(),i&&c.add(i)})}else if(o==="position"){if(r==="set"&&a)return hV(t,function(){return{insertBeforeSelector:s,parentSelector:a}})}else{if(r==="append")return Ly(t,o,function(c){return c!==null?c+(i??""):i??""});if(r==="set")return Ly(t,o,function(){return i??""});if(r==="remove")return Ly(t,o,function(){return null})}return EP}var eee,EP,My,CP,see,cee,uee,lee,dee,pee,mee,fee,jy,See,IP,_ee,PP,gV=S(()=>{eee=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,EP={revert:function(){}},My=new Map,CP=new Set;see=function(t){return t.innerHTML},cee=function(t,r){return t.innerHTML=r};uee=function(t){return{parentNode:t.parentElement,insertBeforeNode:t.nextElementSibling}},lee=function(t,r){r.insertBeforeNode&&!r.parentNode.contains(r.insertBeforeNode)||r.parentNode.insertBefore(t,r.insertBeforeNode)};dee=function(t,r){return r?t.className=r:t.removeAttribute("class")},pee=function(t){return t.className};mee=function(t){return function(r){var i;return(i=r.getAttribute(t))!=null?i:null}},fee=function(t){return function(r,i){return i!==null?r.setAttribute(t,i):r.removeAttribute(t)}};See=!1;vee();_ee={html:kP,classes:jd,attribute:Ly,position:hV,declarative:wee},PP=_ee});function By(e,t=()=>{}){let r=new WeakMap,i=0,o=a=>{let s=r.get(a);if(s!==void 0)return s;let c=[],u=a,l=!0;for(;u;){let d=r.get(u);if(d!==void 0){l=d;break}if(++i>8192||c.length>=256)throw Error("IAM render ancestry budget exceeded");if(c.push(u),t(),u.hasAttribute("hidden")||/(?:^|;)\s*display\s*:\s*none\s*(?:!\s*important\s*)?(?:;|$)/i.test(u.getAttribute("style")??"")){l=!1;break}u=u.parentElement}for(let d of c)r.set(d,l);return l};return a=>{let s=0,c=e.querySelectorAll(a);for(let u=0;u<c.length;u++){let l=c[u];if(!l)throw Error("IAM render selection changed");o(l)&&s++,t()}return s}}var OP=S(()=>{"use strict"});function yV(e){if(!Iee(e)||Object.keys(e).some(a=>!["schemaVersion","renderKey","routeTemplate","selectors","present","absent"].includes(a))||e.schemaVersion!==1||typeof e.renderKey!="string"||!e.renderKey||e.renderKey.length>256||typeof e.routeTemplate!="string"||!e.routeTemplate.startsWith("/")||e.routeTemplate.length>2048||!Array.isArray(e.selectors)||e.selectors.length>512||e.selectors.some(a=>typeof a!="string"||a.length>512||!/^[a-z][a-z0-9-]*\[(?:id|data-testid|data-test|data-qa|data-indiana-id)="(?:[^"\\\x00-\x1f\x7f]|\\["\\])*"\]$/.test(a))||!Array.isArray(e.present)||!Array.isArray(e.absent))throw new Error("Invalid IAM render guard");if(e.present.length===0)throw Error("IAM render needs positive source evidence");let t=e.selectors,r=e.present,i=e.absent,o=[...r,...i];if(new Set(t).size!==t.length||o.length!==t.length||new Set(o).size!==o.length||o.some(a=>typeof a!="number"||!Number.isInteger(a)||a<0||a>=t.length))throw new Error("Invalid IAM render signature");return{schemaVersion:1,renderKey:e.renderKey,routeTemplate:e.routeTemplate,selectors:e.selectors,present:e.present,absent:e.absent}}function kee(e,t){let r=e.split("/").filter(Boolean),i="";for(let o of r)/^\[\[\.\.\.[^\[\]]+\]\]$/.test(o)?i+="(?:/[^/]+)*":/^\[\.\.\.[^\[\]]+\]$/.test(o)?i+="(?:/[^/]+)+":/^\[[^\[\]]+\]$/.test(o)?i+="/[^/]+":i+="/"+o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp("^"+(i?i+"/?":"/")+"$").test(t)&&!/[\[\]]/.test(t)}function bV(e,t,r,i,o=By(t,i)){if(!kee(e.routeTemplate,r))return!1;let a=new Set(e.present),s=!0;for(let c=0;c<e.selectors.length;c++){let u=o(e.selectors[c]);if(a.has(c)&&u>1)throw new Error("IAM render anchor is ambiguous");(a.has(c)?u!==1:u!==0)&&(s=!1),i()}return s}var Iee,TP=S(()=>{"use strict";OP();Iee=e=>!!e&&typeof e=="object"&&!Array.isArray(e)});function DP(e){NP.add(e)}function Eee(e){let t=new Set,r=new Set,i,o=0,a=!1,s=0,c,u=()=>{t.size||o||(i?.disconnect(),c!==void 0&&cancelAnimationFrame(c),e.removeEventListener("visibilitychange",p),RP.delete(e))};function l(h){if(e.hidden)return;let f=performance.now(),m=new Map,g=new Map,A=()=>{if(performance.now()-f>8)throw new Hc},E=Z=>{A();let W=m.get(Z);return W||(W=e.querySelectorAll(Z),m.set(Z,W)),A(),W},w=By({querySelectorAll:E},A),P=Z=>{let W=Z.filter(j=>!m.has(j));if(!W.length)return;let F=new Map;for(let j of W){let N=/^([a-z][a-z0-9-]*)\[(id|data-testid|data-test|data-qa|data-indiana-id)="((?:[^"\\\x00-\x1f\x7f]|\\["\\])*)"\]$/.exec(j);if(!N)throw Error("Invalid IAM render selector");let[,z,X,R]=N,O=R.replace(/\\(["\\])/g,"$1"),B=F.get(z);B||F.set(z,B=new Map);let se=B.get(X);se||B.set(X,se=new Map);let ve=se.get(O);ve||se.set(O,ve=[]),m.set(j,ve)}A();let re=e.querySelectorAll(W.join(","));if(A(),re.length>8192)throw Error("IAM render selection budget exceeded");for(let j of re){let N=F.get(j.localName.toLowerCase());if(N)for(let[z,X]of N){let R=j.getAttribute(z);R!==null&&X.get(R)?.push(j)}A()}},I={query:E,checkpoint:A,matches(Z,W){let F=g.get(W);if(!F){try{let re=!1;F={match:bV(Z,e,location.pathname,A,j=>(re||(P(Z.selectors),re=!0),w(j)))}}catch(re){F={error:re}}g.set(W,F)}if("error"in F)throw F.error;return F.match}},$=[],M=[],V=[];for(let Z of h)if(t.has(Z))try{$.push({job:Z,commit:Z.prepare(I)})}catch(W){if(W instanceof Hc)throw W;M.push({job:Z,error:W})}A();for(let{job:Z,error:W}of M)t.has(Z)&&Z.fail(W);for(let{job:Z,commit:W}of $)if(t.has(Z))try{A(),W(F=>V.push(F))}catch(F){if(F instanceof Hc)throw F;Z.fail(F)}for(let Z of V)Z()}function d(h){if(!(c!==void 0||e.hidden))try{l(h),s=0}catch(f){if(!(f instanceof Hc))throw f;for(let m of[...t])m.suspend();if(s++>=2){for(let m of[...t])m.fail(f);return}c=requestAnimationFrame(()=>{c=void 0,d([...t])})}}function p(){a||!t.size||e.hidden||(a=!0,queueMicrotask(()=>{a=!1,d([...t])}))}return{begin(){o++},end(){--o===0&&(r.clear(),d([...t])),u()},add(h){return i||(i=new MutationObserver(f=>{let m=g=>NP.has(g)||!!(g.parentNode&&NP.has(g.parentNode));f.some(g=>!m(g.target)&&!(g.type==="childList"&&[...g.addedNodes,...g.removedNodes].length>0&&[...g.addedNodes,...g.removedNodes].every(m)))&&p()}),i.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","hidden","data-indiana-id","data-indiana-release","data-testid","id","name"]}),e.addEventListener("visibilitychange",p)),t.add(h),o?r.add(h):d([h]),()=>{t.delete(h),r.delete(h),u()}}}}function Cee(){let e=RP.get(document);return e||(e=Eee(document),RP.set(document,e)),e}function AV(e){return Cee().add(e)}var Hc,RP,NP,xV=S(()=>{"use strict";OP();TP();Hc=class extends Error{constructor(){super("IAM page check exceeded its work budget")}},RP=new WeakMap,NP=new WeakSet});function vV(e){return(!jP||SV!==window)&&(jP=ig(window),SV=window),jP.sanitize(e,{USE_PROFILES:{html:!0},FORBID_TAGS:["form","input","textarea","select","button","style"]})}function wV(e){let t={...e};if(!["html","class","style","position","href","src","alt","title","id","role","hidden"].includes(t.attribute)&&!/^(aria|data)-[a-z0-9_-]+$/.test(t.attribute))throw new Error("Unsupported visual attribute");document.querySelector(t.selector);for(let r of document.querySelectorAll(t.selector))if(["SCRIPT","IFRAME","OBJECT","EMBED","HTML","HEAD"].includes(r.tagName)||r.tagName==="BODY"&&t.attribute==="html")throw new Error("Protected visual target");if(t.attribute==="html"&&(t.value=vV(t.value??"")),["href","src"].includes(t.attribute)&&t.action!=="remove"){let r=new URL(t.value??"",location.href);if(!["https:","http:","mailto:","tel:"].includes(r.protocol)||t.attribute==="src"&&!["https:","http:"].includes(r.protocol))throw new Error("Unsafe visual URL")}return t.parentSelector&&document.querySelector(t.parentSelector),t.insertBeforeSelector&&document.querySelector(t.insertBeforeSelector),t}function _V(e,t={}){if(e.renderGuard&&!t.requireUniqueTargets)throw new Error("IAM render guard requires the source release fence");if(t.requireUniqueTargets)return Pee(e,t);let r=e.domMutations.map(wV),i=[],o=!1,a=!1,s,c=()=>{if(!o){o=!0,s?.disconnect();for(let l of i.reverse())l()}},u=()=>{o||a||(!r.length||e.css||t.allowJs&&e.js||r.some(l=>document.querySelector(l.selector)))&&(a=!0,t.onApplied?.())};try{if(e.css){let p=document.createElement("style");t.nonce&&(p.nonce=t.nonce),p.textContent=e.css,document.head.append(p),i.push(()=>p.remove())}for(let p of r){let h=PP.declarative(p);i.push(()=>h.revert())}if(t.allowJs&&e.js){let p=document.createElement("script");t.nonce&&(p.nonce=t.nonce),p.textContent=e.js,document.head.append(p),i.push(()=>p.remove())}let l=performance.now(),d=new WeakMap;s=new MutationObserver(p=>{if(!o){performance.now()-l>1e3&&(l=performance.now(),d=new WeakMap);for(let h of p){let f=(d.get(h.target)??0)+1;if(d.set(h.target,f),f>40){c(),t.onError?.(new Error("Visual changes conflict with repeated page rendering"));return}}u()}}),s.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0}),u()}catch(l){throw c(),l}return{revert:c,inspect(){return{status:"unavailable",total:0,applied:0}},get applied(){return a}}}function Pee(e,t){let r=t?.boundVariations??[e],i=new Set,o=new Set,a=[],s=new Map,c=r.flatMap(Z=>Z.renderGuard?[yV(Z.renderGuard)]:[]),u=c[0];if(c.some(Z=>JSON.stringify(Z)!==JSON.stringify(u)))throw new Error("IAM variations use different render states");if(e.js||r.some(Z=>Z.js))throw Error("IAM scripts cannot execute");if(r.length>20||r.reduce((Z,W)=>Z+W.css.length,0)>262144)throw Error("IAM target budget");let l=(Z,W)=>{for(let re of Z.domMutations){if(re.action!=="set"||re.attribute!=="html")throw Error("Unsupported IAM mutation");i.add(re.selector),o.add(re.selector)}if(!Z.css)return;let F=document.createElement("style");DP(F),F.media="not all",t?.nonce&&(F.nonce=t.nonce),F.textContent=Z.css;try{if(document.head.append(F),!F.sheet)throw Error("IAM CSS is blocked");for(let re of F.sheet.cssRules){if(!("selectorText"in re)||typeof re.selectorText!="string")throw Error("Unsupported IAM style rule");i.add(re.selectorText),W&&a.push({selector:re.selectorText,css:re.cssText})}}finally{F.remove()}};for(let Z of r)l(Z,!1);if(l(e,!0),i.size>200)throw Error("IAM target budget");let d=e.domMutations.map(wV),p=!1,h=!1,f=!1,m=!1,g="",A=0,E=(Z,W)=>{let F=`${Z}:${W}`;if(F!==g&&(g=F,!(!t?.onTargetStatus||A>=32))){A++;try{t.onTargetStatus({status:Z,total:i.size,matched:W})}catch{}}},w={},P=u?JSON.stringify(u):"",I,$="",M=()=>{if(!p){p=!0,w.unsubscribe?.();for(let Z of s.values())Z.revert();s.clear(),I?.remove(),I=void 0,h=!1}},V=()=>{for(let Z of s.values())Z.revert();s.clear(),I?.remove(),I=void 0,$="",h=!1};return w.unsubscribe=AV({suspend:V,fail(Z){M(),t?.onError?.(Z)},prepare(Z){if(u&&!Z.matches(u,P))return F=>{p||(V(),m=!1,F(()=>{p||E("inactive",null)}))};let W=new Map;for(let F of i){let re=Z.query(F);if(re.length>1)throw Error("IAM target is ambiguous in this rendered state");if(re.length){if(o.has(F)&&re[0].children.length)throw Error("IAM text target is no longer a leaf");W.set(F,re[0])}Z.checkpoint()}return F=>{if(p)return;for(let[N,z]of s)W.get(N)!==z.element&&(z.revert(),s.delete(N));for(let N of new Set(d.map(z=>z.selector))){let z=W.get(N);if(!z||s.has(N))continue;let X=d.filter(R=>R.selector===N).map(R=>PP.declarative(R));s.set(N,{element:z,revert:()=>X.forEach(R=>R.revert())})}let re=a.filter(N=>W.has(N.selector)).map(N=>N.css).join(`
250
- `);re!==$&&($=re,re?(I||(I=document.createElement("style"),DP(I),t?.nonce&&(I.nonce=t.nonce),document.head.append(I)),I.textContent=re):(I?.remove(),I=void 0)),h=i.size===0||W.size>0;let j=W.size===i.size?"matched":W.size>0?"partial":m?"missing":"waiting";W.size&&(m=!0),F(()=>{p||E(j,W.size)}),h&&!f&&F(()=>{!p&&h&&!f&&(f=!0,t?.onApplied?.())})}}}),p&&w.unsubscribe(),{revert:M,inspect(){let Z=d.length+a.reduce((j,N)=>j+(N.css.includes("font-size:")?1:0)+(N.css.includes("color:")?1:0),0);if(p)return{status:"error",total:Z,applied:0};if(g.startsWith("inactive:"))return{status:"inactive",total:Z,applied:0};if(!Z)return{status:"no_changes",total:Z,applied:0};let W=0,F=0;for(let j of d){let N=document.querySelectorAll(j.selector);N.length===1&&(F++,N[0].innerHTML===vV(j.value??"")&&W++)}let re=document.createElement("span");for(let j of a){let N=document.querySelectorAll(j.selector),z=N.length===1?N[0]:void 0,X=j.css.slice(j.css.indexOf("{")+1,j.css.lastIndexOf("}"));re.style.cssText=X;for(let R of["font-size","color"]){let O=re.style.getPropertyValue(R);O&&z?.isConnected&&(F++,getComputedStyle(z).getPropertyValue(R)===O&&W++)}}return{status:W===Z?"applied":F?W?"partial":"mismatch":"waiting",total:Z,applied:W}},get applied(){return h}}}var jP,SV,IV=S(()=>{"use strict";gV();qk();TP();xV()});var kV={};ke(kV,{applyVisualVariation:()=>_V});var EV=S(()=>{IV()});var PV={};ke(PV,{showPaywall:()=>Ny});var OV=S(()=>{wP()});bn();xr();bn();J();bn();Ro();J();Ro();function wF(e,t,r,i){try{return e.parse(t)}catch(o){throw i&&o instanceof Av?new G(r,i):o}}async function fd(e,t,r,i={},o){let a=typeof i=="function"?{}:i,s=wF(t.request,r,"INVALID_REQUEST",a.request),c=await e(t.path,s,t.method,o),u=typeof i=="function"?i:i.parseResponse;return u?u(t.response,c):wF(t.response,c,"INVALID_RESPONSE",a.response)}var _F=e=>new TextEncoder().encode(JSON.stringify(e)).length,IF=16384;function kF(e,t){let r=0,i,o=m=>{i={config:structuredClone(m),until:Date.now()+3e4}},a=[],s=null,c;function u(){if(!t())throw new G("NOT_IDENTIFIED","Call identify before using Features or events")}function l(){c||!a.length||(c=setTimeout(()=>{c=void 0,p().catch(()=>{}).finally(l)},5e3),typeof c=="object"&&"unref"in c&&c.unref())}function d(m,g={},A={}){if(u(),i&&Date.now()<i.until&&!vL(i.config,m))return;f();let E=oe.trackEvents.request.parse({events:[{eventUuid:crypto.randomUUID(),timestamp:new Date().toISOString(),name:m,properties:g,...A}]}).events[0];if(_F({events:[E]})>IF)throw new G("INVALID_REQUEST","Event exceeds the delivery size limit");if(a.length>=500)throw new G("EVENT_QUEUE_FULL","Flush pending events before tracking more");a.push(structuredClone(E)),l()}async function p(m=!1){if(u(),s)return s;let g=r,A=(async()=>{let E={inserted:0,duplicates:0,rejected:0,skipped:0},w=a.length;for(;w&&g===r;){let P=[];for(let M of a.slice(0,Math.min(w,100))){if(P.length&&_F({events:[...P,M]})>IF)break;P.push(M)}let I=oe.trackEvents,$=await fd(e,I,{events:P},void 0,{keepalive:m});if(g!==r)throw new G("IDENTITY_CHANGED","Event identity changed during delivery");if($.inserted+$.duplicates+$.rejected+$.skipped!==P.length)throw new G("INVALID_RESPONSE","Incomplete event acknowledgement");o($.analyticsConfig),a.splice(0,P.length),w-=P.length,E.inserted+=$.inserted,E.duplicates+=$.duplicates,E.rejected+=$.rejected,E.skipped+=$.skipped}return E})();s=A;try{return await A}finally{s===A&&(s=null)}}let h;function f(){if(h||typeof document>"u")return;let m=()=>{document.visibilityState==="hidden"&&t()&&a.length&&p(!0).catch(()=>{})};document.addEventListener("visibilitychange",m),h=()=>document.removeEventListener("visibilitychange",m)}return{rememberConfiguration:o,track(m,g,A={}){return f(),d(m,g,A)},flush:p,reset(){r++,i=void 0,clearTimeout(c),c=void 0,a=[],s=null},detachVisibility(){h?.(),h=void 0}}}bn();bn();function EF(e){let t=null,r=null,i=0,o=0,a=!1,s=new Set,c=null,u=null,l=new Set,d=()=>{for(let w of l)try{w()}catch{}},p={attributes:nn.parse(e.attributes??{}),onFeatureUsage:e.onFeatureUsage?(w,P)=>{!s.has(w)&&(!t||!("analyticsConfig"in t)||t.analyticsConfig.featureUsageEnabled)&&e.onFeatureUsage(w,structuredClone(P),structuredClone(p.attributes))}:void 0,onExperimentViewed:e.onExperimentViewed?(w,P)=>(!t||!("analyticsConfig"in t)||t.analyticsConfig.experimentViewsEnabled)&&e.onExperimentViewed(structuredClone(w),structuredClone(P),structuredClone(p.attributes)):void 0,stickyBucketAssignmentDocs:structuredClone(e.stickyBucketAssignmentDocs),saveStickyBucketAssignmentDoc:e.saveStickyBucketAssignmentDoc?w=>e.saveStickyBucketAssignmentDoc(structuredClone(w)):void 0,trackedFeatureUsage:{},trackedExperiments:new Set},h=()=>({value:null,source:"unknownFeature",on:!1,off:!0,ruleId:""});function f(w,P=new Set){return s.has(w)?!c||!c.features[w]||["unknownFeature","cyclicPrerequisite"].includes(c.features[w].source):P.has(w)?!1:(P.add(w),(t?.features[w]?.rules??[]).some(I=>[...I.parentConditions??[],...(I.tracks??[]).flatMap($=>$.experiment.parentConditions??[])].some($=>f($.id,P))))}let m=w=>{if(e.assertUsable?.(t?.generation),!t)throw new Error("Initialize the Feature client before evaluation");if(t.expiresAt&&Date.parse(t.expiresAt)<=Date.now())throw new Error("Feature configuration expired; refresh before evaluation");return c?.expiresAt&&Date.parse(c.expiresAt)<=Date.now()&&(c=null,p.features=t.features),s.has(w)?!c||c.expiresAt&&Date.parse(c.expiresAt)<=Date.now()?h():structuredClone(c.features[w]??h()):e.evaluateRemote&&(p.attributes?.merchandise||p.attributes?.merchandiseId)&&!a||f(w)?h():structuredClone(Oi(w,p))};async function g(){if(!t||!s.size&&!p.attributes?.merchandise&&!p.attributes?.merchandiseId)return;if(!e.evaluateRemote){if(s.size)throw new Error("Remote Feature evaluation requires a server loader");return}let w=o;if(u?.revision===w)return u.loading;let P=i,I=t,$=[...s],M=(async()=>{let V=Ah.parse(await e.evaluateRemote({attributes:structuredClone(p.attributes),features:$}));if(!(P!==i||w!==o||I!==t)){if(e.assertUsable?.(I.generation),V.generation!==I.generation)throw new Error("Feature configuration changed; refresh before evaluation");if($.some(Z=>!Object.hasOwn(V.features,Z))||Object.keys(V.features).some(Z=>!s.has(Z)))throw new Error("Invalid remote Feature results");if(p.attributes?.merchandise||p.attributes?.merchandiseId){if(!V.merchandiseContext)throw new Error("Server did not resolve merchandise context");p.attributes=nn.parse({...p.attributes,...V.merchandiseContext}),a=!0}c=structuredClone(V),p.features={...I.features,...Object.fromEntries(Object.entries(c.features).map(([Z,W])=>[Z,{defaultValue:W.value}]))},d()}})();u={revision:w,loading:M};try{await M}finally{u?.loading===M&&(u=null)}}function A(){g().catch(w=>{try{e.onError?.(w)}catch{}})}async function E(){if(r)return r;let w=i,P=(async()=>{let I=await e.load(),$="remoteFeatures"in I?Wl.parse(I):null,M=$??Nr.parse(I);if(M.scope.projectId!==e.scope.projectId||M.scope.environment!==e.scope.environment)throw new Error("Feature payload scope changed");if(w!==i)throw new Error("Feature client was reset");if(e.assertUsable&&t?.generation===M.generation){let{evaluatedAt:Z,expiresAt:W,...F}=t,{evaluatedAt:re,expiresAt:j,...N}=M;if(In(F)!==In(N))throw new Error("Immutable Feature generation changed content");return t.evaluatedAt=M.evaluatedAt,t.expiresAt=M.expiresAt,d(),(!c||c.expiresAt&&Date.parse(c.expiresAt)<=Date.now())&&A(),structuredClone(t)}let V=new Set($?.remoteFeatures??[]);if([...V].some(Z=>Object.hasOwn(M.features,Z)))throw new Error("Remote Feature definitions must not be delivered locally");return t&&"analyticsConfig"in t&&"analyticsConfig"in M&&!t.analyticsConfig.experimentViewsEnabled&&$?.analyticsConfig.experimentViewsEnabled&&p.trackedExperiments?.clear(),t=structuredClone(M),s=V,c=null,u=null,o++,p.features=t.features,p.savedGroups=Ws(t.savedGroups),p.trackedFeatureUsage={},d(),A(),structuredClone(t)})();r=P;try{return await P}finally{r===P&&(r=null)}}return{init:E,refresh:E,refreshRemote:g,get generation(){return t?.generation??null},get expiresAt(){return t?.expiresAt??null},subscribe(w){return l.add(w),()=>{l.delete(w)}},setAttributes(w){let P=nn.parse(w);(p.attributes?.merchandise||p.attributes?.merchandiseId||w.merchandise||w.merchandiseId)&&p.trackedExperiments?.clear(),p.attributes=P,o++,a=!1,c=null,u=null,p.features=t?.features??{},p.trackedFeatureUsage={},d(),A()},evalFeature:m,isOn(w){return m(w).on},isOff(w){return m(w).off},getFeatureValue(w,P){let I=m(w).value;return structuredClone(I===null?P:I)},reset(){i++,o++,r=null,u=null,t=null,c=null,s.clear(),p.features={},p.savedGroups={},p.stickyBucketAssignmentDocs={},p.attributes={},p.trackedFeatureUsage={},p.trackedExperiments?.clear(),d()}}}xr();function CF(e){let t=e.merchandise;if(typeof e.merchandiseId=="string")return{internalId:e.merchandiseId};if(!(!t||typeof t!="object"||Array.isArray(t))){if(typeof t.internalId=="string")return{internalId:t.internalId};if(typeof t.externalId=="string")return{id:t.externalId};if(typeof t.id=="string")return{id:t.id}}}function mW(e){let t=CF(e),{merchandiseId:r,merchandise:i,...o}=e;return{...o,...t?{merchandise:t}:{}}}function PF(e,t,r,i,o){if(o&&i&&(o.scope.projectId!==i.projectId||o.scope.environment!==i.environment))throw new G("SCOPE_MISMATCH","Configuration belongs to another App/environment");let a=0,s=new Set;function c(){if(!t())throw new G("NOT_IDENTIFIED","Call identify before using Features or events")}async function u(l={}){o||c();let d=a,p=!1,h=async()=>{if(p||d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");let F=oe.getFeatures,re=o?{scope:{projectId:o.scope.projectId,environment:o.scope.environment},payload:await o.features()}:await fd(e,F,{});if(d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");if(i&&(re.scope.projectId!==i.projectId||re.scope.environment!==i.environment))throw new G("INVALID_RESPONSE","Feature response scope changed");return r.rememberConfiguration(re.payload.analyticsConfig),re},f=await h(),m=!0,g,A=F=>{try{l.onError?.(F)}catch{}},E=(F,re,j)=>{try{let N=CF(j);r.track(F,re,N?{merchandise:N}:{})}catch(N){A(N)}},w=EF({assertUsable:o?.assertFeatures,scope:f.scope,attributes:l.attributes,onError:l.onError,load:async()=>m?(m=!1,f.payload):(await h()).payload,evaluateRemote:async F=>{if(d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");let re=oe.evaluateFeatures,j=await fd(e,re,{...F,attributes:mW(F.attributes)});if(j.scope.projectId!==f.scope.projectId||j.scope.environment!==f.scope.environment)throw new G("INVALID_RESPONSE","Remote Feature response scope changed");return{generation:j.generation,evaluatedAt:j.evaluatedAt,expiresAt:j.expiresAt,features:j.features,...j.merchandiseContext?{merchandiseContext:j.merchandiseContext}:{}}},onExperimentViewed:(F,re,j)=>E("Experiment Viewed",{experimentId:F.key,variationId:re.key},j),onFeatureUsage:(F,re,j)=>E("Feature Evaluated",{feature:F,value:re.value,source:re.source,ruleId:re.ruleId,...re.experimentResult?{variationId:re.experimentResult.key}:{}},j)}),P=w.refresh;function I(){clearTimeout(g),!o&&(p||d!==a||!w.expiresAt||(g=setTimeout(()=>{$().catch(A)},Math.min(2147483647,Math.max(1e3,Date.parse(w.expiresAt)-Date.now()))),typeof g=="object"&&"unref"in g&&g.unref()))}async function $(){try{return await P()}finally{I()}}let M=()=>{p||$().catch(A)},V=w.subscribe(I),Z=o?.subscribe(()=>{!p&&o.fresh&&$().catch(A)});function W(){p||(p=!0,clearTimeout(g),typeof window<"u"&&window.removeEventListener("focus",M),V(),Z?.(),w.reset(),s.delete(W))}s.add(W);try{await w.init(),(l.attributes?.merchandise||l.attributes?.merchandiseId)&&await w.refreshRemote()}catch(F){throw W(),F}return I(),!o&&typeof window<"u"&&window.addEventListener("focus",M),Object.assign(w,{refresh:$,destroy:W})}return{features:u,reset(l){a++,l();for(let d of s)d()}}}xr();async function OF(e,t,r){let i={features:"getFeatures","features/evaluate":"evaluateFeatures",events:"trackEvents"},o=!1,a=async(l,d={})=>{if(o||!i[l])throw new G("IDENTITY_CHANGED","Feature session is unavailable");return e("featureOperation",{operation:i[l],input:d})},s=kF(a,()=>!o),c=PF(a,()=>!o,s,yt.parse(t)),u=await c.features({attributes:n.record(n.string(),Ne).parse(r??{})});return{async call(l){if(o)throw new G("IDENTITY_CHANGED","Feature session is unavailable");let d=n.strictObject({method:n.enum(["evalFeature","isOn","isOff","getFeatureValue","setAttributes","refresh","flush"]),key:n.string().min(1).max(255).optional(),fallback:Ne.optional(),attributes:n.record(n.string(),Ne).optional()}).parse(l);switch(d.method){case"refresh":return await u.refresh(),null;case"flush":return await s.flush(),null;case"setAttributes":return u.setAttributes(d.attributes??{}),await u.refreshRemote(),null;case"evalFeature":{let{value:p,source:h,on:f,off:m,ruleId:g,experimentResult:A}=u.evalFeature(n.string().parse(d.key));return q_.parse({value:p,source:h,on:f,off:m,ruleId:g,...A?{experimentResult:A}:{}})}case"isOn":return u.isOn(n.string().parse(d.key));case"isOff":return u.isOff(n.string().parse(d.key));case"getFeatureValue":return u.getFeatureValue(n.string().parse(d.key),d.fallback??null)}},refresh:()=>u.refresh(),destroy(){o||(o=!0,c.reset(s.reset),s.detachVisibility())}}}bn();J();bn();J();Da();xr();bP();Ey();q4();ng();var AP=new WeakMap;function K4(e){let t={string:n.string(),number:n.number().finite(),boolean:n.boolean(),strings:n.array(n.string()),json:Ne}[e.type];return e.nullable?t.nullable():t}async function W4(e,t){return YX(e,t,!1)}async function YX(e,t,r){t.signal?.throwIfAborted();let i=xa.parse(t.content),o=i.document;if(AP.has(e))throw new G("CONFLICT","Content is already mounted in this container");let a=n.record(n.string(),Ne).parse(t.inputs??{});if(Object.keys(a).length>40)throw new G("INVALID_REQUEST","Too many content inputs");for(let[F,re]of Object.entries(a))Hn.parse({[F]:re});if(Object.keys(a).some(F=>!Object.hasOwn(o.contract.inputs,F)))throw new G("INVALID_REQUEST","Undeclared content input");for(let[F,re]of Object.entries(o.contract.inputs))if(Object.hasOwn(a,F))K4(re).parse(a[F]);else if(re.required)throw new G("INVALID_REQUEST",`Missing content input ${F}`);for(let F of Object.keys(o.contract.outputs))if(typeof t.actions[F]!="function")throw new G("INVALID_REQUEST",`Missing host handler for ${F}`);let s=Ac.parse(t.bindings??[]),c=e.ownerDocument,u,l=o.kind==="popup",d=l?c.createElement("dialog"):null,p=c.createElement("div");if(p.dataset.indianaContent=o.kind,p.setAttribute("aria-label",o.name),p.style.cssText="width:100%;min-width:0",d){d.setAttribute("aria-label",o.name);let F=o.screen.presentation;d.style.cssText="box-sizing:border-box;padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto",F.type==="modal"||F.type==="sheet"?(d.style.width=`${Yf[F.size]}px`,F.type==="sheet"&&(d.style.margin="auto auto 0")):d.style.width="100vw",d.append(p),e.append(d)}else e.append(p);let h=!1,f=!1,m=!1;r&&!d&&(p.style.width=`${e.getBoundingClientRect().width||c.defaultView?.innerWidth||800}px`);let g=r?B4(d??p):()=>{},A,E,w=new Promise((F,re)=>{A=F,E=re});w.catch(()=>{});let P=null,I=structuredClone(o.screen);I.actions=I.actions.map(F=>F.type==="event"?{...F,close:!1}:F);let $;function M(){h||(h=!0,t.signal?.removeEventListener("abort",M),E(new Error("Content preparation cancelled")),$?.destroy(),d?.close(),d?.remove(),p.remove(),AP.delete(e),d&&u?.())}let V=()=>{m&&(M(),it(t.onDismiss))};if(d){let F=c.createElement("button");F.type="button",F.textContent="\xD7",F.setAttribute("aria-label",t.locale?.startsWith("zh")?"\u5173\u95ED":"Close"),NF(F,o.screen.theme),F.addEventListener("click",V),d.prepend(F)}d?.addEventListener("cancel",F=>{F.preventDefault(),V()});async function Z(){if(h||!m||f||!P)return;let F=P;f=!0,p.setAttribute("aria-busy","true");try{await t.actions[F.actionId](structuredClone(F)),P=null}catch(re){it(t.onError,re)}finally{f=!1,h||p.removeAttribute("aria-busy")}}function W(){if(h)throw new G("CONFLICT","Content host has been destroyed");m||(u=Rd(c),g(),r&&!d&&(p.style.width="100%"),d&&(d.showModal(),Dc(d,o.screen.presentation.type)),m=!0)}try{r||W(),$=Cy(p,{mode:"live",title:o.name,viewportHeight:o.kind==="page"?e.clientHeight||c.defaultView?.innerHeight||800:void 0,onRendered:j=>{j&&d?.setAttribute("aria-label",j),A()},onError:j=>{let N=new Error(j);E(N),it(t.onError,N)},onEscape:l?V:void 0,onAction:(j,N,z)=>{if(h||!m||f||P)return;let X=o.screen.actions.find(O=>O.id===j),R=o.contract.outputs[j];if(!(X?.type!=="event"||!R))try{let O=K4(R).parse(Object.hasOwn(X.properties,"value")?X.properties.value:X.properties);P={requestId:crypto.randomUUID(),contentVersionId:i.id,actionId:j,event:X.event,value:O,selection:N??{},answers:z??{},requestedClose:X.close},Z()}catch(O){it(t.onError,O)}}});let F={destroy:M,show:W,get pendingAction(){return P?structuredClone(P):null},retryAction:Z,updateCapabilities:j=>$?.updateCapabilities(j)};AP.set(e,F),t.signal?.addEventListener("abort",M,{once:!0}),t.signal?.aborted&&(M(),t.signal.throwIfAborted());let re=ic(I,[t.locale,...c.defaultView?.navigator.languages??[]]);if($.update(I,re,{capabilities:t.capabilities,serverInput:{bindings:s,answers:{},values:a}}),await Promise.race([$.ready,w]),r&&await w,h)throw new Error("Content preparation cancelled");return F}catch(F){throw M(),F}}async function J4(e){let t=n.strictObject({content:xa,locale:n.string().min(1).max(35),inputs:n.record(n.string(),Ne)}).parse(await e("content"));return{destroy:(await W4(document.body,{...t,actions:Object.fromEntries(Object.keys(t.content.document.contract.outputs).map(i=>[i,o=>e("contentAction",o)])),onDismiss:()=>{e("dismiss").catch(()=>{})},onError:()=>{e("error").catch(()=>{})}})).destroy,refresh:async()=>{}}}bn();xr();Ro();function xP(e,t){let r=structuredClone(e);for(let[i,o]of Object.entries(r.plans)){let a=t.plans[i];!a||a.versionId!==o.versionId||(a.amountMinor!==void 0&&(o.amountMinor=a.amountMinor),a.interval!==void 0&&(o.interval=a.interval),a.intervalCount!==void 0&&(o.intervalCount=a.intervalCount),a.prepaid!==void 0&&(o.prepaid=structuredClone(a.prepaid)))}return r}function Py(e,t){let r=i=>"document"in i?i.offering.id:i.content.offeringVersionId;return e.id===t.id&&r(e)===r(t)&&e.content?.artifact.sha256===t.content?.artifact.sha256}function Oy(e,t,r){if(e.operationId!==t.operationId||t.currency!==void 0&&e.currency!==t.currency)throw new G("INVALID_RESPONSE",r)}function Ty(e,t,r){let i=Object.fromEntries((e.lines[0]?.prepaid??[]).map(o=>[o.internal_feature_id,o.quantity]));if(t.featureQuantities&&(Object.keys(i).length!==Object.keys(t.featureQuantities).length||Object.entries(t.featureQuantities).some(([o,a])=>i[o]!==a)))throw new G("INVALID_RESPONSE","The purchase quote changed its selected quantities");if(e.lines.length!==1||e.lines[0].productVersionId!==t.productVersionId||t.currency!==void 0&&e.currency!==t.currency||t.provider!==void 0&&e.provider!==t.provider&&!(t.provider==="stripe"&&e.provider==="merchant"&&e.execution?.provider==="merchant"))throw new G("INVALID_RESPONSE",r)}function Ry(e,t,r=!1){return!e||e.operationId!==t?.operationId?t:e.status==="complete"&&t.status!=="complete"||e.status!=="pending"&&(t.status==="pending"||r&&t.status!=="complete")?e:t}async function Q4(e){let t=null,r=null,i=null,o=!1,a=async(l,d={})=>{if(o)throw new G("CLOSED","Paywall is closed");let p=await e({operation:l,input:d});if(o)throw new G("IDENTITY_CHANGED","Paywall identity changed");return p};async function s(){let l=Io.parse(await a("resolve"));if(t&&(!Py(l,t)||l.paywallId!==t.paywallId))throw new G("INVALID_RESPONSE","Pinned Paywall changed");return t=l,structuredClone(l)}async function c(l){if(!r)throw new G("INVALID_REQUEST","A quote is required");let d=So.parse(await a(l));return Oy(d,r,"Purchase identity changed"),i=Ry(i,d),structuredClone(i)}let u={get view(){return t&&structuredClone(t)},get quote(){return r&&structuredClone(r)},get operation(){return i&&structuredClone(i)},webViewUrl:"bundled",refresh:s,async preview(l){let d=t?.document.buttons[l.actionId],p=t&&d?.type==="checkout"&&_a(d.product,l.selection,t.capabilities);if(!p)throw new G("PRODUCT_UNAVAILABLE","Choose an available Product");let h=Cc(t.document.screen,p,l.selection,t.capabilities),f=xo.parse(await a("preview",{actionId:l.actionId,productVersionId:p,...Object.keys(h).length?{featureQuantities:h}:{},requestId:l.requestId,...l.offerId?{offerId:l.offerId}:{},...l.nativeOffer?{nativeOffer:l.nativeOffer}:{}}));return Ty(f,{productVersionId:p,featureQuantities:h},"Quoted Product changed"),r=f,i=null,structuredClone(f)},confirm:()=>c("confirm"),cancel:()=>c("cancel"),read:()=>c("read"),destroy(){o=!0,t=null,r=null,i=null}};return await s(),u}wP();ng();bn();xr();function eV(e){let t=e.view;if(!t?.paywall)throw new G("INVALID_REQUEST","The current node is not a Paywall");let r=t.paywall.receiptId,i=t.nodeId,o=t.visit,a=t.paywall.resolution,s=a,c="document"in a?a:null;function u(j){if(!Py(j,a))throw new G("INVALID_RESPONSE","The pinned Paywall binding changed")}let l=t.paywall.quote,d=t.paywall.operation,p=!1,h=new AbortController,f=t.paywall.purchaseRequestId,m=0,g=t.paywall.selectionGeneration??0,A=t.paywall.canReselect===!0,E=null,w=new Map,P=new Map,I=new Map;function $(j){if(j.purchase&&j.purchase.receiptId!==r)throw new G("INVALID_RESPONSE","Purchase receipt changed");let N=j.run.paywall;return j.purchase??(N?.receiptId===r?N:null)}function M(){if(p)throw new G("IDENTITY_CHANGED","Paywall presentation has closed")}function V(j,N,z){if(M(),N!==m||z!==void 0&&l?.operationId!==z)return!1;let X=g,R=j.run.paywall;if(R?.receiptId===r){if((R.selectionGeneration??0)<g)return!1;g=R.selectionGeneration??0,A=R.canReselect===!0,u(R.resolution)}let O=$(j),B=g>X,se=B?O?.quote??null:O?.quote??l,ve=O?.operation??(se?.operationId===l?.operationId?d:null);return se&&ve&&Oy(ve,{operationId:se.operationId},"Purchase operation changed"),R?.receiptId===r&&(s=R.resolution,c="document"in s?s:c?{...s,document:c.document,offering:c.offering,capabilities:xP(s.capabilities,c.capabilities)}:null),(B||se?.operationId!==l?.operationId)&&(m++,R?.receiptId===r&&(f=R.purchaseRequestId)),l=se,d=Ry(d,ve,!0),!0}function Z(j,N,z){return new Promise((X,R)=>{let O=!1,B=()=>{clearTimeout(Be),h.signal.removeEventListener("abort",Y)},se=Ge=>{O||(O=!0,B(),X(Ge))},ve=Ge=>{O||(O=!0,B(),R(Ge))},Y=()=>ve(new G("IDENTITY_CHANGED","Paywall presentation has closed")),Be=setTimeout(()=>ve(new G("COMMAND_PENDING","The purchase command is still pending; retry the original request",202,z)),Math.max(0,N-Date.now()));h.signal.addEventListener("abort",Y,{once:!0}),h.signal.aborted&&Y(),j.then(se,ve)})}function W(j){return new Promise(N=>{let z=()=>{clearTimeout(X),h.signal.removeEventListener("abort",z),N()},X=setTimeout(z,j);h.signal.addEventListener("abort",z,{once:!0}),h.signal.aborted&&z()})}async function F(j,N,z){M();let X=w.get(j);if(!X){let B=e.pendingCommands?.find(se=>se.requestId===j)??e.pendingCommand;if(B?.operation==="submit"&&B.requestId===j&&B.nodeId===i&&B.visit===o){N.type==="paywall_quote"&&B.input.type==="paywall_quote"&&B.input.predecessor&&!N.predecessor&&(N={...N,predecessor:B.input.predecessor});let se=kc.parse(B),ve=kc.parse({...B,input:N});if(ve.operation!=="submit"||se.operation!=="submit"||JSON.stringify(ve.input)!==JSON.stringify(se.input))throw new G("CONFLICT","A restored purchase request cannot change its input");N=ve.input,X=se,w.set(j,X)}}if(X){if(JSON.stringify(X.input)!==JSON.stringify(N))throw new G("CONFLICT","A purchase request cannot change its input")}else{let B=e.view;if(!B||B.nodeId!==i||B.visit!==o||B.paywall?.receiptId!==r)throw new G("PRECONDITION_FAILED","The Paywall visit has changed");X={operation:"submit",requestId:j,nodeId:i,visit:o,revision:B.revision,input:N},w.set(j,X)}let R=Date.now()+3e4,O=await Z(e.submit(X),R,j);for(;O.run.pendingRequest?.requestId===j&&Date.now()<R&&!p&&(await W(Math.min(1e3,R-Date.now())),!(p||Date.now()>=R));)O=await Z(e.resume(j),R,j);if(p)throw new G("IDENTITY_CHANGED","Paywall presentation has closed");if(O.run.pendingRequest?.requestId===j)throw new G("COMMAND_PENDING","The purchase command is still pending; retry the original request",202,j);if(!V(O,z,N.type==="paywall_confirm"||N.type==="paywall_cancel"?N.operationId:void 0))throw new G("PRECONDITION_FAILED","The purchase selection has changed")}async function re(j){if(!l)throw new G("INVALID_REQUEST","A quoted purchase is required");let N=`${j}:${l.operationId}`,z=P.get(N);if(!z){let X=j==="confirm"?"paywall_confirm":"paywall_cancel",R=e.pendingCommands?.find(O=>O.operation==="submit"&&O.input.type===X&&"operationId"in O.input&&O.input.operationId===l.operationId)??e.pendingCommand;z=R?.operation==="submit"&&R.input.type===X&&"operationId"in R.input&&R.input.operationId===l.operationId?R.requestId:crypto.randomUUID(),P.set(N,z)}if(await F(z,{type:j==="confirm"?"paywall_confirm":"paywall_cancel",operationId:l.operationId},m),!d)throw new G("INVALID_RESPONSE","The accepted purchase result is missing");return structuredClone(d)}return{get view(){return structuredClone(c)},get quote(){return l?structuredClone(l):null},get operation(){return d?structuredClone(d):null},get webViewUrl(){return e.webViewUrl},get canReselect(){return A},async refresh(){M();let j=m,N=await e.get();if(V(N,j),N.run.paywall?.receiptId!==r)throw new G("PRECONDITION_FAILED","Paywall presentation has changed");if(!c){if("document"in s||!e.resolvePaywall)throw new G("INVALID_RESPONSE","Public Paywall reader is unavailable");let z=await e.resolvePaywall(s);M(),u(z),c={...s,document:z.document,offering:z.offering,capabilities:xP(s.capabilities,z.capabilities)}}return structuredClone(c)},preview(j){if(!c)return Promise.reject(new G("PRECONDITION_FAILED","Load the Paywall presentation first"));if(f&&f!==j.requestId&&(E||!A))return Promise.reject(new G("COMMAND_PENDING","Retry the original purchase before starting another"));let N=c.document.buttons[j.actionId],z=N?.type==="checkout"?_a(N.product,j.selection,c.capabilities):null;if(!z)return Promise.reject(new G("PRODUCT_UNAVAILABLE","Choose an available Product in this purchase area"));let X=Cc(c.document.screen,z,j.selection,c.capabilities),R=JSON.stringify({actionId:j.actionId,product:z,featureQuantities:X,offerId:j.offerId,nativeOffer:j.nativeOffer});if(I.has(j.requestId)&&I.get(j.requestId)!==R)return Promise.reject(new G("CONFLICT","A purchase request cannot change its quantities or Product"));if(I.set(j.requestId,R),f===j.requestId&&E)return E;let O=f!==j.requestId&&g>0?{operationId:l?.operationId??null,generation:g}:void 0;if(O&&(!A||g<=0))return Promise.reject(new G("COMMAND_PENDING","Original purchase requires authoritative termination"));f!==j.requestId&&m++;let B=m;f=j.requestId;let se=(async()=>{if(await F(j.requestId,{type:"paywall_quote",actionId:j.actionId,productVersionId:z,...Object.keys(X).length?{featureQuantities:X}:{},...O?{predecessor:O}:{},...j.offerId?{offerId:j.offerId}:{},...j.nativeOffer?{nativeOffer:j.nativeOffer}:{}},B),!l)throw new G("INVALID_RESPONSE","The accepted quote is missing");return Ty(l,{productVersionId:z,featureQuantities:X},"The selected purchase changed"),structuredClone(l)})();return E=se,se.then(()=>{E===se&&(E=null)},ve=>{E===se&&(E=null),f===j.requestId&&e.pendingCommand?.requestId!==j.requestId&&ve instanceof G&&ve.status!==void 0&&ve.status<500&&![401,425].includes(ve.status)&&(f=null)}),se},confirm:()=>re("confirm"),cancel:()=>re("cancel"),async read(){if(M(),!l)throw new G("INVALID_REQUEST","A quoted purchase is required");let j=l.operationId,N=m,z=e.pendingCommands?.find(B=>B.operation==="submit"&&(B.input.type==="paywall_confirm"||B.input.type==="paywall_cancel")&&B.input.operationId===j)??e.pendingCommand;z?.operation==="submit"&&(z.input.type==="paywall_confirm"||z.input.type==="paywall_cancel")&&z.input.operationId===j&&await e.settle?.(z.requestId);let X=await e.get(void 0,{receiptId:r,operationId:j});M();let R=$(X);if(R?.quote&&R.quote.operationId!==j||R?.operation&&R.operation.operationId!==j)throw new G("INVALID_RESPONSE","Purchase operation changed");let O=V(X,N,j)?d:R?.operation;if(!O)throw new G("INVALID_RESPONSE","The current purchase result is missing");return structuredClone(O)},destroy(){p=!0,h.abort(),w.clear(),P.clear(),I.clear()}}}xr();Da();Ro();function tV(e){let t=new Set,r=new Set,i=null;function o(a){if(e.reviewing||t.has(a)||r.has(a)||e.stopped)return;r.add(a);let s=async()=>{if(e.reviewing||e.stopped||e.key!==a){r.delete(a);return}if(e.busy||e.client.pendingCommand){setTimeout(()=>{s()},250);return}let c=(async()=>{let l=e.client.view,d=e.expected(),p=d.requestId,h=!1;try{await e.client.submit({operation:"shown",...d})}catch(f){if(!(f instanceof G)||f.code!=="CONFLICT"||f.status!==409||e.client.pendingCommand)throw f;await e.client.get();let m=e.client.view;if(e.stopped||e.reviewing||e.key!==a||!m||!l||m.id!==l.id||m.source.versionId!==l.source.versionId||m.nodeId!==d.nodeId||m.visit!==d.visit||m.revision<=d.revision||m.stopped||!m.screen||!["running","waiting"].includes(m.status)||e.client.pendingCommand)throw f;let g=e.expected();p=g.requestId,await e.client.submit({operation:"shown",...g})}for(;!e.stopped&&e.key===a&&e.client.pendingCommand?.requestId===p;){if(!e.client.settle)throw new G("COMMAND_PENDING","The original display acknowledgement is still pending");await e.client.settle(p),h=!0,e.client.pendingCommand?.requestId===p&&await new Promise(f=>setTimeout(f,1500))}e.stopped||e.key!==a||(h&&await e.client.get(),!(e.stopped||e.key!==a)&&t.add(a))})();i=c;let u=()=>{i===c&&(i=null),r.delete(a)};c.then(u,l=>{u(),e.busy||e.fail(l)})};s()}return{report:o,get inFlight(){return i}}}bn();Ro();function nV(e){let t={},r=new Map;async function i(o){let a=e.client.view,s=a?.screen,c=s?.customerData.nodes[o.nodeId];if(e.stopped||e.busy||!a||!s||!c)return;if(!["refresh","next","previous","filter","sources_next","sources_previous"].includes(o.action)){let m=e.document,g=m?Tn(m,o.nodeId):null,A=g?.type==="customer_data"?g.data.outputs?.[o.action]:void 0;A&&s.outputs.includes(A)?await e.perform(()=>e.client.submit({operation:"submit",...e.expected(),input:{type:"screen",output:A,answers:e.answers,selection:o.value?{[o.nodeId]:o.value}:{}}})):await e.onIntent?.(o,a);return}let l=o.action.startsWith("sources_")?c.resources.find(m=>m.key===o.value):null;if(o.action.startsWith("sources_")&&!l)throw new G("INVALID_REQUEST","Choose a current resource");let d=`${a.visit}:${o.nodeId}:${l?.key??""}`,p=r.get(d)??[null],f=t[o.nodeId]??{page:1,after:null,filter:"all",...l?{resourceKey:l.key}:{}};if(o.action==="filter"){let m=o.value;if(!m||!(c.source==="offer_history"?["all","issued","reserved","redeemed","expired","revoked"]:["all","purchase","refund","source","usage","debt","settlement"]).includes(m))throw new G("INVALID_REQUEST","Unknown data filter");f={page:1,after:null,filter:m},p.splice(0,p.length,null)}else if(o.action==="next"||o.action==="sources_next"){let m=l?.sources.at(-1),g=l?m?{kind:"ledger",cursor:{at:m.detail[0],id:m.id,type:"source"}}:null:s.dataCursors[o.nodeId];if(!g||!l&&!c.hasNext)return;p[f.page]=g,f={...f,page:f.page+1,after:g}}else if(o.action==="previous"||o.action==="sources_previous"){if(f.page<=1)return;f={...f,page:f.page-1,after:p[f.page-2]??null}}r.set(d,p),t={...t,[o.nodeId]:f},await e.perform(()=>e.client.get({nodeId:a.nodeId,visit:a.visit,revision:a.revision,components:t}))}return{get queries(){return t},intent:i,reset(){t={},r.clear()}}}Ro();function rV(e){let{doc:t,holder:r,reviewHolder:i,mountScreenPreview:o}=e,a=!1,s,c=0,u=null,l="",d=new Map,p=m=>m?`${m.id}:${m.nodeId}:${m.visit}:${m.revision}:${m.paywall?.quote?.operationId??""}`:"";async function h(m){if(e.stopped||!e.client.review)return;a||(l=p(e.client.view),d.set(l,structuredClone(e.answers))),a=!0,s=m,r.hidden=!0,e.suspend(!0),i.hidden=!1;let g=++c;try{let A=await e.client.review(m);if(e.stopped||g!==c||!a)return;if(!A.review)throw new G("INVALID_RESPONSE","Historical projection is missing");u?.destroy(),u=null,i.replaceChildren();let E=A.run.locale.startsWith("zh"),w=t.createElement("p");w.textContent=E?"\u53EA\u8BFB\u56DE\u770B":"Read-only history",i.append(w);for(let[$,M]of A.review.pages.entries()){let V=t.createElement("button");V.type="button",V.textContent=E?`\u7B2C ${$+1} \u9875`:`Page ${$+1}`,V.onclick=()=>{h(M.receiptId)},i.append(V)}if(A.review.page){let $=A.review.page,M=t.createElement("div");if(M.inert=!0,i.append(M),u=o(M,{mode:"live",rendererUrl:e.client.webViewUrl,title:$.document.name,onAction:()=>{},onAnswers:()=>{},onCustomerDataIntent:()=>{},onRendered:()=>{},onEscape:()=>{f()}}),u.update($.document,A.run.locale,{serverInput:{bindings:$.inputs,answers:$.answers,values:$.values}}),await u.ready,e.stopped||g!==c||!a)return}let P=E?{issued:"\u5DF2\u9886\u53D6",reserved:"\u5DF2\u9884\u7559",redeemed:"\u5DF2\u4F7F\u7528",expired:"\u5DF2\u8FC7\u671F",revoked:"\u5DF2\u64A4\u9500",unknown:"\u72B6\u6001\u5F85\u786E\u8BA4"}:{issued:"Issued",reserved:"Reserved",redeemed:"Used",expired:"Expired",revoked:"Revoked",unknown:"Status unconfirmed"},I=E?{pending:"\u5904\u7406\u4E2D",complete:"\u5DF2\u5B8C\u6210",cancelled:"\u5DF2\u53D6\u6D88",failed:"\u5931\u8D25",unknown:"\u72B6\u6001\u5F85\u786E\u8BA4"}:{pending:"Processing",complete:"Completed",cancelled:"Cancelled",failed:"Failed",unknown:"Status unconfirmed"};for(let $ of[...A.review.coupons.map((M,V)=>`${E?"\u4F18\u60E0\u5238":"Coupon"} ${V+1}: ${P[M.status]}`),...A.review.purchases.map((M,V)=>`${E?"\u8D2D\u4E70":"Purchase"} ${V+1}: ${I[M.status]}`)]){let M=t.createElement("p");M.textContent=$,i.append(M)}e.client.view&&await e.enqueue(e.client.view)}catch(A){if(g!==c||e.stopped)return;u?.destroy(),u=null,i.replaceChildren(),e.fail(A)}}async function f(){if(!a||e.stopped||!e.client.review)return;let m=++c;try{if(await e.client.review(),e.stopped||m!==c)return;a=!1,c++,u?.destroy(),u=null,i.replaceChildren(),i.hidden=!0,r.hidden=!1;let g=e.client.view;p(g)!==l?(d.set(l,structuredClone(e.answers)),e.resetScreen()):(d.delete(l),e.suspend(!1)),g&&await e.enqueue(g)}catch(g){if(m!==c||e.stopped)return;u?.destroy(),u=null,i.replaceChildren(),e.fail(g)}}return{get active(){return a},get receipt(){return s},open:h,exit:f,get drafts(){return new Map([...d].map(([m,g])=>[m,structuredClone(g)]))},stop(){a=!1,c++,u?.destroy(),u=null,i.replaceChildren(),i.hidden=!0,r.hidden=!1}}}bl();var _P=new WeakMap;function iV(e,t=document){if(!/^[a-f0-9]{64}$/.test(e))throw new Error("Invalid IAM manifest digest");let r="data-indiana-release",i=t.documentElement,o=()=>new Set((i.getAttribute(r)??"").split(/\s+/).filter(Boolean)),a=_P.get(t);if(!a){let d=new Map,p=new MutationObserver(()=>{let h=o(),f=!1;for(let[m,g]of d)g.count&&!h.has(m)&&(h.add(m),f=!0);f&&i.setAttribute(r,[...h].join(" "))});p.observe(i,{attributes:!0,attributeFilter:[r]}),a={releases:d,observer:p},_P.set(t,a)}let{releases:s,observer:c}=a,u=s.get(e);if(!u){let d=o();u={count:0,owned:!d.has(e)},s.set(e,u),d.add(e),i.setAttribute(r,[...d].join(" "))}u.count++;let l=!1;return{attributes:{indianaAppManifestRelease:e},destroy(){if(!l&&(l=!0,u.count--,!u.count&&(s.delete(e),s.size||(c.disconnect(),_P.delete(t)),u.owned))){let d=o();d.delete(e),d.size?i.setAttribute(r,[...d].join(" ")):i.removeAttribute(r)}}}}Da();var Nd=new Set,Dy;function oV(e){let t=()=>e();if(Nd.add(t),!Dy){let r=!0,i=history.pushState,o=history.replaceState,a=()=>{if(r)for(let u of[...Nd])Nd.has(u)&&it(u)},s=function(...u){i.apply(this,u),a()},c=function(...u){o.apply(this,u),a()};history.pushState=s,history.replaceState=c,addEventListener("popstate",a),addEventListener("hashchange",a),Dy=()=>{r=!1,history.pushState===s&&(history.pushState=i),history.replaceState===c&&(history.replaceState=o),removeEventListener("popstate",a),removeEventListener("hashchange",a)}}return()=>{Nd.delete(t)&&(Nd.size||(Dy?.(),Dy=void 0))}}var Dd=new Map,XX=new Set,aV=()=>{for(let e of[...XX])e()};function sV(e,t){if(Dd.has(e)&&Dd.get(e)!==t)throw new Error("A different Funnel owns this page experiment");return Dd.set(e,t),aV(),()=>{Dd.get(e)===t&&(Dd.delete(e),aV())}}Da();function CV(e){if(!e.client.pageExperiments)throw new Error("The Run controller does not support page experiments");let t=e.client.pageExperiments.bind(e.client),r=!1,i=!1,o=0,a=!1,s=!1,c,u=new Map,l=new Set,d={},p=new Map,h=iV(e.appManifestRelease),f=()=>{for(let P of u.values())P.effect.revert();u.clear();for(let P of p.values())P();p.clear()};function m(P){r||l.has(P)||(l.add(P),t(e.appManifestRelease,[P]).catch(I=>{l.delete(P),it(e.onError,I)}))}async function g(){if(r)return;let P=e.client.view;if(!P||P.stopped||!["running","waiting"].includes(P.status)){o++,f();return}if(a){s=!0;return}a=!0;let I=++o,$=`${P.id}:${P.visit}:${P.revision}`,M=location.href;try{let[V,{applyVisualVariation:Z}]=await Promise.all([t(e.appManifestRelease),Promise.resolve().then(()=>(EV(),kV))]),W=e.client.view;if(r||I!==o||!W||W.stopped||!["running","waiting"].includes(W.status)||`${W.id}:${W.visit}:${W.revision}`!==$||location.href!==M)return;let F=new Set,re=new Set;for(let j of V.assignments){let N=`${V.payload.environmentId}:${j.experimentKey}`;if(re.add(N),p.has(N)||p.set(N,sV(N,d)),!!j.inExperiment)for(let z of V.payload.experiments){if(z.key!==j.experimentKey||!gl(location.href,z.urlPatterns??[]))continue;let X=z.meta?.findIndex(Y=>Y.key===j.variationKey)??-1,R=z.variations[X];if(!R?.renderGuard)continue;let O=j.receiptId+":"+z.changeId,B=JSON.stringify([j.variationKey,R]);F.add(O);let se=u.get(O);if(se?.signature===B){se.effect.applied&&m(j.receiptId);continue}u.get(O)?.effect.revert(),u.delete(O);let ve=Z(R,{requireUniqueTargets:!0,boundVariations:z.variations,allowJs:!1,onApplied:()=>m(j.receiptId),onError:Y=>it(e.onError,Y)});u.set(O,{signature:B,effect:ve}),ve.applied&&m(j.receiptId)}}for(let[j,N]of u)F.has(j)||(N.effect.revert(),u.delete(j));for(let[j,N]of p)re.has(j)||(N(),p.delete(j))}catch(V){I===o&&f(),it(e.onError,V)}finally{a=!1,s&&!r&&(s=!1,g())}}let A=e.client.subscribe(()=>{o++,g()}),E=oV(()=>{o++,f(),g()}),w=async()=>{await g(),r||(c=setTimeout(()=>{w()},15e3))};return{async start(){i||r||(i=!0,await w())},refresh:g,destroy(){r=!0,o++,clearTimeout(c),A(),E(),f(),h.destroy()}}}async function TV(e,t){let r=t,{mountScreenPreview:i}=await Promise.resolve().then(()=>(vP(),SP)),{showPaywall:o}=await Promise.resolve().then(()=>(OV(),PV)),a=r.appManifestRelease?CV({client:r.client,appManifestRelease:r.appManifestRelease,onError:r.onError}):void 0;a?.start();let s=e.ownerDocument,c=s.activeElement,u=s.createElement("section"),l=s.createElement("div"),d=s.createElement("div"),p=s.createElement("div"),h=s.createElement("button");p.hidden=!0,h.type="button";let f=s.createElement("p"),m=s.createElement("p"),g=s.createElement("button"),A=s.createElement("button"),E=s.createElement("button"),w=s.createElement("dialog"),P;u.dataset.indianaFunnel="",u.setAttribute("aria-busy","false"),u.style.cssText="box-sizing:border-box;width:100%;min-width:0;font:14px/1.5 system-ui,sans-serif;color:#172033;background:#fff",d.style.cssText="display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 20px",f.setAttribute("role","status"),m.setAttribute("role","alert"),m.hidden=!0,g.type=A.type=E.type="button",d.append(g,f,m,E,h,A),u.append(l,p,d),e.append(u);let I=null,$=null,M=null,V="",Z="",W="",F="",re="",j=!1,N=0,z=!1,X="",R=null,O=Promise.resolve(),B=null,se=null,ve=new Set,Y={},Be=(Q,Oe=null)=>{j||(se=Oe,m.textContent=Q instanceof Error?Q.message:"Request failed",m.hidden=!1,E.hidden=r.client.pendingCommand===null,it(r.onError,Q))};function Ge(){let Q=r.client.view;if(!Q)throw new G("INVALID_REQUEST","No current Run is available");return{requestId:crypto.randomUUID(),nodeId:Q.nodeId,visit:Q.visit,revision:Q.revision}}let Ae=rV({client:r.client,doc:s,holder:l,reviewHolder:p,mountScreenPreview:i,get stopped(){return j},get answers(){return Y},suspend(Q){$?.setSuspended(Q)},resetScreen(){V="",Z="",W=""},enqueue:me,fail:Be}),Le=tV({client:r.client,expected:Ge,fail:Be,get stopped(){return j},get reviewing(){return Ae.active},get key(){return V},get busy(){return N}}),Pt=nV({client:r.client,expected:Ge,perform:qt,onIntent:r.onCustomerDataIntent,get stopped(){return j},get busy(){return N},get document(){return I?.document},get answers(){return Y}}),ze=Q=>Q&&(Q.screen||Q.paywall)?`${Q.id}:${Q.nodeId}:${Q.visit}`:"";function rt(){let Q=r.client.view;g.disabled=!Ae.active&&(N>0||!!r.client.pendingCommand||!Q?.canBack||Q.stopped||!["running","waiting"].includes(Q.status)||!ze(Q)||Z!==ze(Q))}async function qt(Q,Oe=!1){if(!(N&&!Oe||j||Ae.active&&!Oe)){N++,u.setAttribute("aria-busy","true"),rt(),m.hidden=!0,se=null;try{if(!Oe&&Le.inFlight){let Ke=r.client.view;await Le.inFlight;let lt=r.client.view;if(!Ke||!lt||lt.id!==Ke.id||lt.nodeId!==Ke.nodeId||lt.visit!==Ke.visit||lt.stopped||!["running","waiting"].includes(lt.status))throw new G("PRECONDITION_FAILED","The screen changed while its display was acknowledged")}if(j)return;let at=await Q();j||await me(r.client.view??at.run)}catch(at){Be(at,r.client.pendingCommand?.requestId??null)}finally{N=Math.max(0,N-1),u.setAttribute("aria-busy",String(N>0)),j||(E.hidden=r.client.pendingCommand===null,rt())}}}function We(){R&&clearTimeout(R),!(j||!M||!["running","waiting"].includes(M.status)&&!r.client.pendingCommand)&&(R=setTimeout(()=>{R=null,jn().finally(We)},M.pendingRequest||r.client.pendingCommand?1500:5e3))}async function jn(){if(!(j||z||N)){if(Ae.active){await Ae.open(Ae.receipt);return}z=!0;try{let Q=r.client.pendingCommand;Q&&r.client.settle&&await r.client.settle(Q.requestId);let Oe=r.client.view,at=Pt.queries,Ke=await r.client.get(Oe?.screen&&Object.keys(at).length?{nodeId:Oe.nodeId,visit:Oe.visit,revision:Oe.revision,components:at}:void 0);!j&&at===Pt.queries&&await me(r.client.view??Ke.run)}catch(Q){Be(Q)}finally{z=!1}}}function ye(Q){let Oe=Q.screen?.presentation;if(!Oe||Oe.type==="inline"){w.open&&w.close(),u.parentElement!==e&&e.append(u);return}u.parentElement!==w&&(w.append(u),e.append(w));let at={sm:420,md:640,lg:900};w.style.cssText=`padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;width:${"size"in Oe?at[Oe.size]+"px":"100vw"}`,w.setAttribute("aria-label",(P?.screen===Q.screen?.content.document.name?P?.label:void 0)??I?.document?.name??Q.screen?.content.document.name??"Funnel"),w.open||(w.showModal(),Dc(w,Oe.type))}async function fe(Q){if(j)return;M=Q,se&&r.client.pendingCommand?.requestId!==se&&(m.hidden=!0,se=null);let Oe=Q.locale.startsWith("zh");if(h.textContent=Oe?"\u56DE\u770B":"History",h.hidden=!r.client.review,g.textContent=Ae.active?Oe?"\u8FD4\u56DE\u5F53\u524D":"Return to current":Oe?"\u8FD4\u56DE":"Back",A.textContent=Oe?"\u5173\u95ED":"Close",E.textContent=Oe?"\u91CD\u8BD5":"Retry",rt(),E.hidden=r.client.pendingCommand===null,f.textContent=Q.pendingRequest?Oe?"\u6B63\u5728\u5904\u7406":"Processing":Q.instruction?.type==="wait"?Oe?"\u7B49\u5F85\u4E2D":"Waiting":"",X!==`${Q.revision}:${Q.visit}:${Q.status}:${Q.stopped}`&&(X=`${Q.revision}:${Q.visit}:${Q.status}:${Q.stopped}`,it(r.onState,structuredClone(Q))),!Q.pendingRequest&&["closed","ineligible","failed"].includes(Q.status)){ut();return}if(Q.stopped||r.client.configurationReady===!1){Ae.stop(),I?.destroy(),I=null,$?.destroy(),$=null,l.replaceChildren(),V="",Z="",W="",re="",w.open&&w.close(),u.hidden=!0,We();return}if(u.hidden=!1,Ae.active){We();return}let at=ze(Q);if(at!==V&&(Z="",I?.destroy(),I=null,$?.destroy(),$=null,l.replaceChildren(),V=at,W="",re="",Y={...Q.answers},Pt.reset()),ye(Q),Q.screen){let lt=Q.screen.content;I||(I=i(l,{mode:"live",rendererUrl:r.client.webViewUrl,title:lt.document.name,onAction(Ye,Ot={},cr={}){if(Ae.active)return;Y={...Y,...cr};let Mo=Object.fromEntries((Q.screen?.inputs??[]).filter(({variable:Ir})=>Object.hasOwn(Y,Ir)).map(({variable:Ir})=>[Ir,Y[Ir]]));qt(()=>r.client.submit({operation:"submit",...Ge(),input:{type:"screen",output:Ye,answers:Mo,selection:Ot}}))},onAnswers:Ye=>{Ae.active||(Y={...Y,...Ye})},onCustomerDataIntent:Ye=>{Ae.active||Pt.intent(Ye).catch(Be)},onEscape:()=>{Ae.active||Ve()},onError:Ye=>Be(new Error(Ye)),onRendered:Ye=>{if(!Ye)return Le.report(at);P={screen:lt.document.name,label:Ye},w.open&&w.setAttribute("aria-label",Ye),Le.report(at)}}));let kt={capabilities:Q.screen.capabilities,customerData:Q.screen.customerData,parameters:Q.parameters,serverInput:{bindings:Q.screen.inputs,answers:Y,values:Q.screen.values}},pn=JSON.stringify([lt,Q.locale,kt.parameters,Q.screen.inputs,Q.screen.values]);if(pn!==W)I.update(lt.document,Q.locale,kt),W=pn,F=JSON.stringify(kt.capabilities),re=JSON.stringify(kt.customerData);else{let Ye=JSON.stringify(kt.capabilities);Ye!==F&&(I.updateCapabilities(kt.capabilities),F=Ye),JSON.stringify(kt.customerData)!==re&&(I.updateCustomerData(kt.customerData),re=JSON.stringify(kt.customerData))}await I.ready}else if(Q.paywall&&!$){let lt=await o(l,{canInteract:()=>!Ae.active&&!j,start:async()=>eV(r.client),onPurchase:r.onPurchase,onCheckoutUrl:r.onCheckoutUrl,resolveOfferId:r.resolveOfferId,onEvent:r.onEvent,onOpenUrl:kt=>r.onOpenUrl?r.onOpenUrl({receiptId:Q.paywall.receiptId,url:kt,openIn:"same_window"}):s.defaultView?.location.assign(kt),onAction:async kt=>{if(Ae.active)return;let pn=await r.client.submit({operation:"submit",requestId:crypto.randomUUID(),nodeId:Q.nodeId,visit:Q.visit,revision:Q.revision,input:{type:"screen",output:kt,answers:{}}});await me(r.client.view??pn.run)},onError:Be,onDismiss:()=>{!Ae.active&&!j&&r.client.view?.visit===Q.visit&&Ve()}});j?lt.host?.destroy():($=lt.host,$?.setSuspended(Ae.active)),Le.report(at)}if(j)return;Z=at,rt();let Ke=Q.instruction;if(Ke&&(Ke.type==="open_url"||Ke.type==="event")&&!ve.has(Ke.receiptId)){let lt=s.createElement("button");lt.type="button",lt.textContent=Ke.type==="open_url"?`${Oe?"\u524D\u5F80":"Continue to"} ${new URL(Ke.url).host}`:Oe?"\u7EE7\u7EED":"Continue",lt.onclick=()=>{let kt=Ge(),pn=Ke.type==="open_url"&&!r.onOpenUrl&&Ke.openIn==="new_window"?_e(Ke.url):null;qt(async()=>{let Ye="success";if(Ke.type==="open_url")if(r.onOpenUrl)try{Ye=await r.onOpenUrl({receiptId:Ke.receiptId,url:Ke.url,openIn:Ke.openIn})===!1?"failed":"opened"}catch(cr){it(r.onError,cr),Ye="failed"}else Ye=Ke.openIn==="new_window"&&!pn?"failed":"opened";if(Ke.type==="event"){if(!r.onEvent)throw new G("EVENT_HANDLER_REQUIRED","Provide the event handler");await r.onEvent(Ke.event)}if(j||r.client.view?.nodeId!==kt.nodeId||r.client.view.visit!==kt.visit)throw new G("PRECONDITION_FAILED","The client action visit changed");let Ot=await r.client.submit({operation:"submit",...kt,input:{type:"client_action",receiptId:Ke.receiptId,outcome:Ye}});return ve.add(Ke.receiptId),Ke.type==="open_url"&&!r.onOpenUrl&&Ke.openIn==="same_window"&&s.defaultView?.location.assign(Ke.url),Ot})},l.replaceChildren(lt)}!Q.pendingRequest&&Q.status==="completed"&&!ve.has(`complete:${Q.id}`)&&(ve.add(`complete:${Q.id}`),it(r.onComplete,structuredClone(Q))),We()}function _e(Q){let Oe=s.defaultView?.open(Q,"_blank")??null;return Oe&&(Oe.opener=null),Oe}function me(Q){return rt(),O=O.catch(()=>{}).then(()=>fe(Q)),O}let Ce=r.client.subscribe(Q=>{r.client.configurationReady===!1&&(u.hidden=!0,I?.destroy(),I=null,$?.destroy(),$=null,l.replaceChildren(),V="",Z="",W="",re="",w.open&&w.close()),me(Q).catch(Be)}),De=r.client.subscribeError?.(Be);function Ve(){return B||(j?Promise.resolve():r.client.view&&!["running","waiting"].includes(r.client.view.status)?(ut(),Promise.resolve()):(B=qt(()=>r.client.submit({operation:"close",...Ge()}),!0).then(()=>{r.client.view?.status==="closed"&&ut()}).finally(()=>{B=null}),B))}function ut(){a?.destroy(),!j&&(j=!0,R&&clearTimeout(R),Ce(),De?.(),I?.destroy(),Ae.stop(),$?.destroy(),w.close(),w.remove(),u.remove(),c instanceof HTMLElement&&c.isConnected&&c.focus(),it(r.onDismiss,M?structuredClone(M):null))}g.onclick=()=>{if(!g.disabled){if(Ae.active){Ae.exit();return}qt(()=>r.client.submit({operation:"back",...Ge()}))}},h.onclick=()=>{Ae.open()},A.onclick=()=>{Ve()},E.onclick=()=>{qt(()=>r.client.retry())},w.addEventListener("cancel",Q=>{Q.preventDefault(),Ve()});try{let Q=await r.client.get();await me(r.client.view??Q.run)}catch(Q){throw ut(),Q}return{destroy:ut,refresh:jn,review:Ae.open,exitReview:Ae.exit,get unappliedDrafts(){return Ae.drafts}}}bn();xr();J();Nk();J();bn();var Oee=n.record(n.string().regex(/^[a-f0-9]{64}$/),n.strictObject({at:n.number(),text:n.string()})),RV=2*1048576,Tee=100;function Ree(){try{return typeof window>"u"?void 0:window.localStorage}catch{return}}function NV(e,t){let r=t===void 0?Ree():t,i=Promise.resolve();async function o(s){if(!r)return null;let c;try{return await Promise.race([Promise.resolve().then(()=>r.getItem(s)),new Promise(u=>{c=setTimeout(()=>u(null),Tee)})])}catch{return null}finally{clearTimeout(c)}}async function a(){try{let s=await o(`${e}:artifacts`);if(s&&s.length<=RV)return Oee.parse(JSON.parse(s))}catch{}return{}}return{async readManifest(){return o(e)},writeManifest(s){Promise.resolve().then(()=>r?.setItem(e,s)).catch(()=>{})},async readArtifact(s){let c=(await a())[s];return c&&Date.now()>=c.at&&Date.now()-c.at<=jr.retentionMs?c.text:void 0},writeArtifact(s,c){r&&(i=i.catch(()=>{}).then(async()=>{let u=await a(),l=Date.now();u[s]={at:l,text:c};let d={},p=2,h=0;for(let[f,m]of Object.entries(u).sort(([,g],[,A])=>A.at-g.at)){if(m.at>l||l-m.at>jr.retentionMs)continue;let g=new TextEncoder().encode(JSON.stringify({[f]:m})).byteLength;p+g>RV||h>=128||(d[f]=m,p+=g,h++)}await r.setItem(`${e}:artifacts`,JSON.stringify(d))}).catch(()=>{}))}}}vF();bn();async function Nee(e,t,r){if(Number(e.headers.get("content-length"))>t)throw r.error("limit");let i=e.body?.getReader();if(!i)throw r.error("missing");let o=[],a=0;try{for(;;){r.signal?.throwIfAborted();let u=await i.read();if(u.done)break;if(a+=u.value.length,a>t)throw r.error("limit");o.push(u.value)}}finally{await i.cancel().catch(()=>{})}r.signal?.throwIfAborted();let s=new Uint8Array(a),c=0;for(let u of o)s.set(u,c),c+=u.length;return s}async function DV(e,t,r){return new TextDecoder("utf-8",{fatal:!0}).decode(await Nee(e,t,r))}function jV(e,t){let r=typeof e=="string"?new TextEncoder().encode(e):e;return r.byteLength===t.byteLength&&TI(r)===t.sha256}var Qe=(e,t)=>new G(e,t),Lo=()=>performance.now(),$V=e=>{typeof e=="object"&&"unref"in e&&e.unref()};function LV(e){let t=CI.parse(e.scope),r=new To(e.origin??SF);if(r.username||r.password||r.search||r.hash||r.pathname!=="/"||r.protocol!=="https:"&&!(r.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(r.hostname)))throw Qe("INVALID_URL","Configuration requires a trusted HTTPS origin");let i=new Set([r.origin,...(e.assetOrigins??[]).map(ye=>{let fe=new To(ye);if(fe.protocol!=="https:"||fe.username||fe.password||fe.search||fe.hash||fe.pathname!=="/")throw Qe("INVALID_URL","Invalid configuration asset origin");return fe.origin})]),o=e.fetch??globalThis.fetch.bind(globalThis),a=`/api/v1/configuration/${t.environmentId}`,s=`indiana:configuration:1:${r.origin}:${In(t)}`,c=NV(s,e.storage),u,l=0,d=0,p=!1,h=!1,f=0,m=0,g,A,E,w,P=0,I=new Set,$=new Set,M=new Map,V=new Map,Z=0,W=!1;function F(){for(let ye of I)try{ye()}catch{}}function re(ye){try{e.onError?.(ye)}catch{}}let j=()=>!h&&!p&&!!u&&Lo()<l&&Date.now()<d;function N(){if(!j())throw Qe("CONFIGURATION_EXPIRED","Refresh configuration before using it")}function z(ye,fe){let _e=new TextEncoder().encode(fe).byteLength;if(!M.has(ye)){for(;M.size&&(M.size>=128||Z+_e>jr.maxCacheBytes);){let me=M.entries().next().value;Z-=new TextEncoder().encode(me[1]).byteLength,M.delete(me[0])}M.set(ye,fe),Z+=_e}}function X(ye,fe,_e){return DV(ye,fe,{signal:_e,error:me=>Qe("INVALID_RESPONSE",me==="missing"?"Configuration body is missing":"Configuration exceeds its byte limit")})}function R(ye){let fe=new To(ye,r);if(!i.has(fe.origin)||fe.username||fe.password||fe.hash||fe.search)throw Qe("INVALID_URL","Configuration artifact origin is not trusted");return fe.href}async function O(ye,fe,_e=!1){let me=await o(R(ye),{method:"GET",credentials:"omit",redirect:"error",cache:_e?"default":"no-cache",signal:fe,headers:{}});if(me.status===429){let Ce=me.headers.get("retry-after")??"";P=/^\d+$/.test(Ce)?Number(Ce)*1e3:Math.max(0,Date.parse(Ce)-Date.now())||15e3}if(!me.ok&&me.status!==304)throw Qe(`CONFIGURATION_HTTP_${me.status}`,"Configuration synchronization failed");return me}function B(ye,fe,_e){let me=Date.parse(ye.headers.get("x-indiana-config-validated-at")??""),Ce=Date.parse(ye.headers.get("x-indiana-config-valid-until")??""),De=Date.parse(ye.headers.get("date")??""),Ve=ye.headers.get("age"),ut=Ve!==null&&/^\d+(\.\d+)?$/.test(Ve)?Number(Ve)*1e3:NaN;if(![me,Ce,De,ut].every(Number.isFinite)||Ce<=me||Ce-me>jr.maxControlAgeMs||me>De+1e3)throw Qe("INVALID_RESPONSE","Configuration freshness evidence is invalid");let Oe=Math.min(Ce-me,_e.maxControlAgeSeconds*1e3,jr.maxControlAgeMs)-Math.max(ut,De-me,0)-(Lo()-fe);if(Oe<=0)throw Qe("CONFIGURATION_EXPIRED","Configuration validation expired in transit");return Lo()+Oe}function se(){if(clearTimeout(E),clearTimeout(w),h||!I.size)return;j()&&(w=setTimeout(()=>{j()?se():F()},Math.max(1,l-Lo())),$V(w));let ye=m?Math.min(15e3,1e3*2**Math.min(m-1,4)):Math.min(15e3,(u?.policy.refreshIntervalSeconds??15)*1e3);E=setTimeout(()=>{ve().catch(re)},Math.max(P,ye*(.8+Math.random()*.2))),$V(E)}async function ve(){if(h)throw Qe("CONFIGURATION_DISPOSED","Configuration manager was destroyed");if(g)return g;let ye=f,fe=new AbortController;A=fe;let _e=(async()=>{if(!W){W=!0;try{let pn=await c.readManifest();if(pn&&!u){let Ye=OI.parse(JSON.parse(pn));In(Ye.scope)===In(t)&&(u=Ye)}}catch{}}fe.signal.throwIfAborted();let Ve=u,ut=Lo(),Q=await O(a,fe.signal);Q.status===304&&(!Ve||!Q.headers.has("x-indiana-config-validated-at")||!Q.headers.has("x-indiana-config-valid-until")||!Q.headers.has("age"))&&(Q=await O(a,fe.signal));let Oe=Q.status===304?Ve:OI.parse(JSON.parse(await X(Q,jr.maxManifestBytes,fe.signal))),{generation:at,...Ke}=Oe,lt=Q.headers.get("etag");if(In(Oe.scope)!==In(t)||f2(Ke)!==at||lt!==`"${at}"`&&lt!==`W/"${at}"`)throw Qe("INVALID_RESPONSE","Configuration scope or content identity changed");if(Ve&&(Oe.revision<Ve.revision||Oe.revision===Ve.revision&&Oe.generation!==Ve.generation))throw Qe("INVALID_RESPONSE","Configuration revision moved backwards or changed identity");for(let[pn,Ye]of Object.entries(Ve?.funnels??{})){let Ot=Oe.funnels[pn];if(Ot&&(Ot.controlRevision<Ye.controlRevision||Ot.evaluationRevision<Ye.evaluationRevision||Ot.controlRevision===Ye.controlRevision&&Ot.state!==Ye.state||Ot.evaluationRevision===Ye.evaluationRevision&&Ot.evaluationMode!==Ye.evaluationMode))throw Qe("INVALID_RESPONSE","Funnel control revision changed identity")}let kt=B(Q,ut,Oe.policy);if(fe.signal.throwIfAborted(),ye!==f)throw Qe("CONFIGURATION_DISPOSED","Configuration scope changed");return u=Oe,l=kt,d=Date.now()+Math.max(0,kt-Lo()),p=!1,m=0,P=0,c.writeManifest(In(Oe)),F(),structuredClone(Oe)})(),me=setTimeout(()=>fe.abort(Qe("CONFIGURATION_UNAVAILABLE","Configuration initialization timed out")),jr.initializationMs),Ce=new Promise((Ve,ut)=>fe.signal.addEventListener("abort",()=>ut(fe.signal.reason),{once:!0})),De=Promise.race([_e,Ce]).catch(Ve=>{throw m++,(Ve instanceof n.ZodError||Ve instanceof SyntaxError||Ve instanceof G&&["CONFIGURATION_HTTP_404","CONFIGURATION_HTTP_410","INVALID_RESPONSE"].includes(Ve.code))&&(l=0,p=!0,F()),Ve}).finally(()=>{clearTimeout(me),g===De&&(g=void 0),se()});return g=De,De}async function Y(ye){let fe=ye.sha256,_e=at=>jV(at,ye);R(ye.url);let me=M.get(fe);if(me&&_e(me))return M.delete(fe),M.set(fe,me),me;if(V.has(fe))return V.get(fe);let Ce=new AbortController;$.add(Ce);let De=f,Ve=(async()=>{try{let lt=await c.readArtifact(fe);if(lt&&_e(lt))return z(fe,lt),lt}catch{}Ce.signal.throwIfAborted();let at=await O(ye.url,Ce.signal,!0),Ke=await X(at,ye.byteLength,Ce.signal);if(!_e(Ke))throw Qe("INVALID_RESPONSE","Configuration artifact digest or size mismatch");if(h||De!==f)throw Qe("CONFIGURATION_DISPOSED","Configuration scope changed");return z(fe,Ke),c.writeArtifact(fe,Ke),Ke})(),ut=setTimeout(()=>Ce.abort(Qe("CONFIGURATION_UNAVAILABLE","Configuration artifact timed out")),jr.initializationMs),Q=new Promise((at,Ke)=>Ce.signal.addEventListener("abort",()=>Ke(Ce.signal.reason),{once:!0})),Oe=Promise.race([Ve,Q]).finally(()=>{clearTimeout(ut),$.delete(Ce),V.delete(fe)});return V.set(fe,Oe),Oe}async function Be(){return j()||await ve(),N(),u}async function Ge(ye){let fe,_e=new Promise((me,Ce)=>{fe=setTimeout(()=>Ce(Qe("CONFIGURATION_UNAVAILABLE","Configuration initialization timed out")),jr.initializationMs)});try{return await Promise.race([ye(),_e])}finally{clearTimeout(fe)}}function Ae(ye,fe){if(N(),u?.generation!==ye.generation)throw Qe("CONFIGURATION_CHANGED","Configuration changed while preparing a snapshot");if(fe&&u.funnels[fe]?.state!=="active")throw Qe("FUNNEL_STOPPED","Funnel is paused or unavailable")}async function Le(ye){let fe=ye.gb.features;if(!fe)throw Qe("CONFIGURATION_UNAVAILABLE","Public Feature delivery is disabled");let _e=ye.artifacts[fe];if(_e.formatVersion!==1)throw Qe("UNSUPPORTED_SCHEMA","Unsupported public GB configuration format");let me=B_.parse(JSON.parse(await Y(_e)));if(In(me.scope)!==In({projectId:t.projectId,environment:t.environment})||me.generation!==_e.generation||me.remoteFeatures.some(Ce=>Object.hasOwn(me.features,Ce)))throw Qe("INVALID_RESPONSE","Public GB configuration scope or generation is invalid");return Ae(ye),{...me,evaluatedAt:new Date().toISOString(),expiresAt:new Date(Date.now()+Math.max(0,l-Lo())).toISOString()}}async function Pt(ye,fe){let _e=await Be(),me=_e.funnels[ye];fe&&(!me||me.evaluationMode==="local"&&!me.versions[fe])&&(g&&await g,_e=await ve()),Ae(_e,ye);let Ce=_e.funnels[ye];if(Ce.evaluationMode!=="local")throw Qe("EVALUATION_MODE","This Funnel executes at Longplay; public graph loading is disabled");let De=fe??Ce.currentVersionId,Ve=Ce.versions[De];if(!Ve)throw Qe("CONFIGURATION_UNAVAILABLE","Pinned Funnel Version is unavailable");if(_e.artifacts[Ve.artifact].formatVersion!==3)throw Qe("UNSUPPORTED_SCHEMA","Unsupported public Funnel format");let[ut,Q]=await Promise.all([Y(_e.artifacts[Ve.artifact]).then(Oe=>g2(JSON.parse(Oe))),Ce.evaluationMode==="local"?Le(_e):void 0]);if(Q&&In(h2(ut,Q))!==In(Ve.dependencies))throw Qe("INVALID_RESPONSE","Funnel and GB dependency contract do not match");return Ae(_e,ye),{document:ut,growth:Q,versionId:De,control:structuredClone(Ce),manifest:structuredClone(_e)}}async function ze(ye,fe){try{return await Pt(ye,fe)}catch(_e){if(!(_e instanceof G)||!(_e.code==="CONFIGURATION_CHANGED"||_e.code==="CONFIGURATION_HTTP_404"&&j()))throw _e;let me=u?.generation;if(g&&await g,await ve(),_e.code!=="CONFIGURATION_CHANGED"&&u?.generation===me)throw _e;return Pt(ye,fe)}}function rt(){p=!0,F(),ve().catch(re)}let qt=()=>{(typeof document>"u"||document.visibilityState==="visible")&&rt()};function We(ye){if(h)throw Qe("CONFIGURATION_DISPOSED","Configuration manager was destroyed");return I.add(ye),I.size===1&&(typeof window<"u"&&(window.addEventListener("online",rt),window.addEventListener("focus",qt),document.addEventListener("visibilitychange",qt)),se()),()=>{I.delete(ye),I.size||(clearTimeout(E),clearTimeout(w),jn())}}function jn(){typeof window<"u"&&(window.removeEventListener("online",rt),window.removeEventListener("focus",qt),document.removeEventListener("visibilitychange",qt))}return{scope:Object.freeze({...t}),refresh:ve,subscribe:We,assertFresh:N,assertFeatures(ye){N();let fe=u.gb.features;if(!fe)throw Qe("CONFIGURATION_UNAVAILABLE","Public Feature delivery is disabled");if(ye!==void 0&&u.artifacts[fe].generation!==ye)throw Qe("CONFIGURATION_CHANGED","Refresh changed Feature configuration before evaluation")},get fresh(){return j()},get snapshot(){return u?structuredClone(u):null},get remainingMs(){return j()?Math.max(0,l-Lo()):0},async features(){return Ge(async()=>Le(await Be()))},pageExperiments:()=>Ge(async()=>{let ye=await Be(),fe=ye.gb.pageExperiments;if(!fe)throw Qe("CONFIGURATION_UNAVAILABLE","Public page experiments are disabled");let _e=ye.artifacts[fe];if(_e.formatVersion!==1)throw Qe("UNSUPPORTED_SCHEMA","Unsupported page experiment format");let me=qM.parse(JSON.parse(await Y(_e)));if(me.environmentId!==t.environmentId||me.generation!==_e.generation)throw Qe("INVALID_RESPONSE","Page experiment scope or generation changed");return Ae(ye),me}),funnel:(ye,fe)=>Ge(()=>ze(ye,fe)),paywall:(ye,fe)=>Ge(async()=>{let _e=await Be(),me=_e.paywalls?.[ye];if(!me||!fe&&me.state!=="published")throw Qe("PAYWALL_UNAVAILABLE","Published Paywall is unavailable");let Ce=fe??me.currentVersionId,De=me.versions[Ce],Ve=De&&_e.artifacts[De.artifact];if(!Ve||Ve.kind!=="paywall"||Ve.formatVersion!==1)throw Qe("UNSUPPORTED_SCHEMA","Public Paywall format is unavailable");let ut=d2.parse(JSON.parse(await Y(Ve)));return Ae(_e),{document:ut,versionId:Ce,version:De.version,control:structuredClone(me),manifest:structuredClone(_e)}}),async localFunnel(ye,fe){let _e=await Ge(()=>ze(ye,fe));if(!_e.growth)throw Qe("EVALUATION_MODE","This Funnel requires remote execution");let{analyticsConfig:me,remoteFeatures:Ce,...De}=_e.growth;return EM({scope:{projectId:t.projectId,environment:t.environment},funnelId:ye,versionId:_e.versionId,evaluationMode:"local",evaluationRevision:_e.control.evaluationRevision,document:_e.document,payload:De})},assertFunnel(ye,fe,_e){N();let me=u.funnels[ye];if(!me||me.state!=="active")throw Qe("FUNNEL_STOPPED","Funnel is paused or unavailable");if(me.evaluationMode!=="local")throw Qe("EVALUATION_MODE","This Funnel now executes at Longplay");if(fe!==void 0&&me.controlRevision!==fe)throw Qe("RUN_RECONCILIATION_REQUIRED","Reconcile the original Run after a control change");if(_e!==void 0&&!me.versions[_e])throw Qe("CONFIGURATION_UNAVAILABLE","Pinned Funnel Version is unavailable")},destroy(){if(!h){h=!0,f++,l=0,A?.abort(Qe("CONFIGURATION_DISPOSED","Configuration manager was destroyed")),clearTimeout(E),clearTimeout(w),jn(),F(),I.clear();for(let ye of $)ye.abort(Qe("CONFIGURATION_DISPOSED","Configuration manager was destroyed"));M.clear(),Z=0}}}}bn();xr();var MV=(e,t)=>new G(e,t);xr();async function FV(e,t,{predict:r=!0}={}){let i=t.instruction;if(i?.type!=="evaluate_segment")throw new Error("Local segment instruction required");if(!e)throw new G("CONFIGURATION_UNAVAILABLE","Local execution requires public configuration");if(e.scope.environmentId!==i.environmentId)throw new G("SCOPE_MISMATCH","Evaluation environment changed");let o=null,a;if(r)try{let s=await e.funnel(t.source.id,t.source.versionId);a=s.manifest.generation,o=Dee(e,t,s)}catch{o=null}return a??=e.snapshot?.generation??(await e.refresh()).generation,{advance:{policyRevision:i.policyRevision,generation:a},prediction:o}}function Dee(e,t,r){let i=t.instruction;if(i?.type!=="evaluate_segment"||!r.growth||r.control.evaluationMode!=="local"||r.control.evaluationRevision!==i.policyRevision)return null;let{analyticsConfig:o,remoteFeatures:a,...s}=r.growth,c=ak({scope:{projectId:e.scope.projectId,environment:e.scope.environment},funnelId:t.source.id,versionId:t.source.versionId,evaluationMode:"local",evaluationRevision:i.policyRevision,document:r.document,payload:Nr.parse(s)}),u=jee(c,r.document,{...t,...i}),l=u.steps.at(-1),d=u.boundary??(l?.result.port==="value"?{nodeId:l.nodeId,visit:t.visit+u.steps.length-1}:null);return d?{runId:t.id,from:{nodeId:t.nodeId,visit:t.visit,revision:t.revision},nodeId:d.nodeId,visit:d.visit,terminal:!u.boundary}:null}function jee(e,t,r){return WM(e,t,r,MV)}bn();function qy(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((o,a)=>qy(o,t[a]));if(!e||!t||typeof e!="object"||typeof t!="object")return!1;let r=Object.entries(e),i=Object.entries(t);return r.length===i.length&&r.every(([o,a])=>Object.hasOwn(t,o)&&qy(a,Reflect.get(t,o)))}J();var $ee=/^\/api\/v1\/configuration\/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}(?:\/artifacts\/[a-f0-9]{64})?$/,Lee=n.strictObject({status:n.number().int().min(200).max(599),headers:n.record(n.string(),n.string()),body:n.string()});function zV(){let e=window,t,r=new Map,i=null,o=null,a=!1,s=!1,c=null,u,l=null,d=null,p=null,h=null,f=!1,m=new Set,g=null,A=null,E=null,w=new Set;function P(N){if(a)throw new G("CLOSED","Native host is unavailable");if(i)i.postMessage(JSON.stringify(N));else if(e.webkit?.messageHandlers?.indianaFunnel)e.webkit.messageHandlers.indianaFunnel.postMessage(N);else throw new G("BRIDGE_UNAVAILABLE","Native bridge is unavailable")}function I(N,z={}){let X=crypto.randomUUID();return new Promise((R,O)=>{let B=setTimeout(()=>{r.delete(X),O(new G("TIMEOUT","Retry the original command"))},45e3);r.set(X,{resolve:R,reject:O,timer:B});try{P({id:X,method:N,payload:z})}catch(se){clearTimeout(B),r.delete(X),O(se)}})}function $(N,z=!1,X=d,R){let O=ld.parse(N);if(R&&O.settlement?.requestId!==R)throw new G("INVALID_RESPONSE","Exact command settlement is missing or changed");if(z&&!O.review)throw new G("INVALID_RESPONSE","Historical projection is missing");if(!c||O.scope.projectId!==c.projectId||O.scope.environment!==c.environment)throw new G("SCOPE_MISMATCH","Native run scope changed");if(d&&(d.id!==O.run.id||d.source.type!==O.run.source.type||d.source.id!==O.run.source.id||d.source.versionId!==O.run.source.versionId||d.locale!==O.run.locale||!qy(d.parameters,O.run.parameters)))throw new G("INVALID_RESPONSE","Run identity changed");if(z&&d&&d!==X&&O.run.revision<=d.revision||(z&&!O.run.stopped&&["running","waiting"].includes(O.run.status)&&d&&O.run.nodeId===d.nodeId&&O.run.visit===d.visit&&O.run.revision===d.revision&&(O.run.screen=d.screen,(d.paywall?.quote?.operationId===O.review?.activeOperationId||!d.paywall?.quote&&O.review?.activeOperationId===null)&&(O.run.paywall=d.paywall)),["running","waiting"].includes(O.run.status)||(f=!0),d?.paywall&&O.run.paywall&&d.paywall.receiptId===O.run.paywall.receiptId&&(O.run.paywall.selectionGeneration??0)<(d.paywall.selectionGeneration??0)))return O;if(!d||O.run.revision>=d.revision){d=O.run;for(let B of w)try{B(structuredClone(d))}catch{}}return O}async function M(N){let z=kc.parse(N),X=N.operation==="close";if(X){if(f=!0,h&&JSON.stringify(h)!==JSON.stringify(N))throw new G("COMMAND_PENDING","Retry the original Close");h=N}if(!X&&f)throw new G("COMMAND_PENDING","Settle the original command after Close");if(!X&&p&&JSON.stringify(p)!==JSON.stringify(N))throw new G("COMMAND_PENDING","Retry the original command");X||(p=N);let R=m.has(N.requestId);m.add(N.requestId);try{if(z.operation==="start"||z.operation==="review"||"customerToken"in z)throw new G("INVALID_REQUEST","Credentials belong to the native host");let O=$(await I("command",z),!1,d,N.requestId);return O.settlement?.state==="settled"&&(!f||X||O.settlement?.requestId===N.requestId&&O.settlement.state==="settled"&&!["running","waiting"].includes(O.run.status))&&(p===N&&(p=null),h===N&&(h=null),m.delete(N.requestId)),O}catch(O){throw p===N&&!R&&!f&&O instanceof G&&O.status!==void 0&&O.status<500&&![401,425].includes(O.status)&&(p=null),O}}async function V(N,z){let X=new URL(N instanceof Request?N.url:N);if(X.origin!==t||X.search||X.hash||(z?.method??"GET")!=="GET"||!$ee.test(X.pathname))throw new G("INVALID_URL","Configuration path is not trusted");z?.signal?.throwIfAborted();let R=Lee.parse(await I("configuration",{path:X.pathname}));return z?.signal?.throwIfAborted(),new Response([204,205,304].includes(R.status)?null:R.body,{status:R.status,headers:R.headers})}async function Z(N){if(N.run.instruction?.type!=="evaluate_segment"||p||f)return N;if(l)return l;let z=(async()=>{let X=N;for(let R=0;R<32;R++){let O=X.run,B=O.instruction;if(B?.type!=="evaluate_segment")break;if(a||!c)throw new G("IDENTITY_CHANGED","Native session changed");u??=LV({origin:t,scope:{...c,environmentId:B.environmentId},fetch:V,storage:null});let se=()=>d&&(d.revision!==O.revision||d.visit!==O.visit||d.nodeId!==O.nodeId);if(B.type==="evaluate_segment"){let{advance:ve}=await FV(u,O,{predict:!1});if(p||f)return X;if(se())return $(await I("command",{operation:"get"}));X=await M({operation:"commit_segment",requestId:bM(O.id,O.visit,`segment:${O.revision}`),nodeId:O.nodeId,visit:O.visit,revision:O.revision,...ve})}}return X})();l=z;try{return await z}finally{l===z&&(l=null)}}function W(){if(!a){a=!0,u?.destroy(),E?.destroy(),g?.destroy(),g=null,d=null,p=null,h=null,m.clear(),w.clear();for(let N of r.values())clearTimeout(N.timer),N.reject(new G("IDENTITY_CHANGED","Native identity changed"));r.clear(),i?.close(),i=null,o=null,window.removeEventListener("message",j),document.body.replaceChildren()}}let F={async resolvePaywall(N){return Io.parse(await I("paywallContent",{id:N.id,sha256:N.content.artifact.sha256}))},get view(){return d?structuredClone(d):null},get pendingCommand(){let N=h??p;return N?structuredClone(N):null},get pendingCommands(){return[p,h].filter(N=>N!==null).map(N=>structuredClone(N))},async settle(N){let z=$(await I("command",{operation:"get",settlementRequestId:N}));if(z.settlement?.requestId!==N)throw new G("INVALID_RESPONSE","Exact command settlement is missing");return z.settlement.state==="settled"&&(p?.requestId===N&&(p=null),h?.requestId===N&&(h=null),m.delete(N)),z},webViewUrl:"bundled",async review(N){let z=d;return $(await I("command",{operation:"review",...N?{receiptId:N}:{}}),!0,z)},async get(N,z){let X=$(await I("command",{operation:"get",...N?{data:N}:{},...z?{purchase:z}:{}})),R=await I("pendingCommand");if(R){let O=kc.parse(R);if(O.operation==="get"||O.operation==="start"||O.operation==="review"||"customerToken"in O)throw new G("INVALID_RESPONSE","Invalid native pending command");O.operation==="close"?(h=O,f=!0):p=O}else p=null,h=null;return Z(X)},submit:N=>M(N).then(Z),retry:()=>h?M(h):f&&p?F.settle(p.requestId):p?M(p).then(Z):Promise.reject(new G("INVALID_REQUEST","No pending command")),resume:(N=d?.pendingRequest?.requestId)=>N?f?F.settle(N):M({operation:"resume",requestId:N}).then(Z):Promise.reject(new G("INVALID_REQUEST","No interrupted command")),identify(){throw new G("INVALID_REQUEST","Customer credentials belong to the native session")},subscribe(N){return w.add(N),()=>w.delete(N)},reset:W};async function re(N,z,X,R){if(s||a)return;let O=new URL(n.string().parse(z));if(O.origin!==z||O.username||O.password||O.protocol!=="https:"&&!(O.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(O.hostname)))throw new G("INVALID_CONFIGURATION","Invalid native API origin");if(t=O.origin,c=yt.parse(N),s=!0,X==="features"){if(A=await OF(I,c,R),g=A,a){g.destroy(),g=null;return}await I("featuresReady");return}if(X==="content"){g=await J4(I),a&&(g.destroy(),g=null);return}if(X==="paywall"){if(E=await Q4(se=>I("paywall",se)),a){E.destroy();return}g=(await Ny(document.body,{start:async()=>E,onPurchase:({operation:se})=>I("purchase",{operation:se}),onCheckoutUrl:se=>I("checkout",{url:se}),onOpenUrl:se=>I("open",{url:se}),onEvent:se=>I("event",{event:se}),onComplete:()=>I("complete"),onDismiss:()=>{a||I("dismiss").catch(()=>{})},onError:()=>{a||I("error").catch(()=>{})}})).host,a&&(g?.destroy(),g=null);return}if(X!==void 0&&X!=="funnel")throw new G("INVALID_CONFIGURATION","Unknown native surface");g=await TV(document.getElementById("grow-funnel-root")??document.body,{client:F,onPurchase:({operation:B})=>I("purchase",{operation:B}),onCheckoutUrl:B=>I("checkout",{url:B}),onOpenUrl:B=>I("open",B),onEvent:B=>I("event",{event:B}),onComplete:()=>I("complete"),onDismiss:()=>{a||I("dismiss").catch(()=>{})}}),a&&(g.destroy(),g=null)}e.__indianaFunnelReceive=N=>{if(a||!N||typeof N!="object")return;let z=N;if(z.event==="invalidated")return W();if(z.event==="feature_call"){let R=z.id;if(typeof R!="string"||!A)return;A.call(z.input).then(O=>I("featureResult",{id:R,result:O})).catch(O=>I("featureResult",{id:R,error:{code:O instanceof G?O.code:"INVALID_RESPONSE"}})).catch(()=>{});return}if(z.event==="refresh"){g?.refresh().catch(()=>{});return}if(z.event==="init"){re(z.scope,z.apiOrigin,z.surface,z.attributes).catch(W);return}if(typeof z.id!="string")return;let X=r.get(z.id);if(X)if(r.delete(z.id),clearTimeout(X.timer),z.error&&typeof z.error=="object"){let R=z.error;X.reject(new G(typeof R.code=="string"?R.code:"NATIVE_OPERATION_FAILED","Native operation did not finish",typeof R.status=="number"?R.status:void 0))}else X.resolve(z.result)},e.__indianaFunnelPreparePort=N=>a||i||!/^[a-f0-9-]{36}$/.test(N)?!1:(o=N,!0);function j(N){let z=N.data;if(typeof z=="string")try{z=JSON.parse(z)}catch{return}!z||typeof z!="object"||!("type"in z)||z.type!=="indiana-native-port"||!o||!("nonce"in z)||z.nonce!==o||i||!N.ports[0]||(o=null,i=N.ports[0],i.onmessage=X=>{if(!(typeof X.data!="string"||X.data.length>2097152))try{e.__indianaFunnelReceive?.(JSON.parse(X.data))}catch{W()}},i.start(),P({id:crypto.randomUUID(),method:"ready",payload:{}}))}return window.addEventListener("message",j),e.webkit?.messageHandlers?.indianaFunnel&&P({id:crypto.randomUUID(),method:"ready",payload:{}}),{destroy:W}}globalThis.__indianaInstallNativeFunnelHost=zV;})();
249
+ `);(!b.fallback||b.body.textContent!==q)&&(b.body.textContent=q),b.fallback=!0,b.bindings=[]}else if(T||b.fallback||!b.initialized){k??=kt(_);let q=!k.inUse,ee=q?k.content:k.content.cloneNode(!0);b.bindings=k.bindings.map(({path:ce,variable:he})=>{let Me=ee;for(let dt of ce)Me=Me.childNodes[dt];return{node:Me,variable:he}});for(let ce of b.bindings)ce.node.data=K.get(ce.variable);b.body.replaceWith(ee),b.body=ee,b.parked=!1,q&&F.get(k.key)===k?(k.inUse=!0,b.template=k):b.template=null;for(let ce of b.body.querySelectorAll("img"))ce.addEventListener("load",Vi);b.fallback=!1,b.initialized=!0}else for(let q of b.bindings){let ee=K.get(q.variable);q.node.data!==ee&&(q.node.data=ee)}let ae=De(x.id),ge=x.html[se];y.classList.toggle("g-missing",e.mode==="editor"&&(!!ae?.missing?.length||!ae&&_.includes("{{")||!(ge&&ge.trim())))}function Ot(y,x,b){let _=De(y.id),C=_?.[x],T=C!==void 0?{value:C,missing:!!_?.missing?.length}:Ce(b);if(e.mode==="live"&&E){let k=!1,K=T.value.replace(/\{\{\s*variables\.([^{}]+?)\s*\}\}/g,(H,ae)=>{ae=ae.trim();let ge=ut(ae);return ge==null||ge===""||Array.isArray(ge)&&!ge.length?(k=!0,""):Array.isArray(ge)?ge.join(", "):String(ge)});if(k)return{value:y.fallback?Ce(y.fallback).value:"",missing:!0};if(!K.includes("{{"))return{value:K,missing:T.missing}}return C!==void 0?T:T.value.includes("{{")&&e.mode==="live"?{value:y.fallback?Ce(y.fallback).value:"",missing:!0}:{value:T.value,missing:T.missing||T.value.includes("{{")}}function cr(y){if(y.name)return y.name;let x=e.editorMessages?.nodeTypes?.[y.type];return e.mode==="editor"&&typeof x=="string"?x:{stack:"\u5BB9\u5668",text:"\u6587\u672C",image:"\u56FE\u7247",button:"\u6309\u94AE",divider:"\u5206\u9694\u7EBF",spacer:"\u7559\u767D",custom_html:"\u81EA\u5B9A\u4E49 HTML",price:"\u4EF7\u683C",coupon_code:"\u4F18\u60E0\u7801",countdown:"\u5012\u8BA1\u65F6",plan_picker:"\u771F\u5B9E\u5957\u9910\u9009\u62E9"}[y.type]??y.type}function Mo(y,x){if(x.type==="color")y.background="none",y.backgroundColor=_e(x.color);else if(x.type==="linear"){let b=x.stops.map(_=>`${_e(_.color)} ${Number(_.at)}%`).join(",");y.backgroundColor="transparent",y.backgroundImage=`linear-gradient(${Number(x.angle)}deg,${b})`}else if(x.type==="image"&&typeof x.src=="string"){let b=/^data:image\/(?:svg\+xml|jpeg|png);base64,[A-Za-z0-9+/]+={0,2}$/.test(x.src)?x.src:x.src.replace(/[^A-Za-z0-9\-._~:/?#[\]@!$&*+;=%]/gu,C=>C.length===1&&C.charCodeAt(0)<128?`%${C.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`:encodeURIComponent(C));y.backgroundImage=`url("${b}")`;let _=x.position;y.backgroundPosition=_?`${_.x}% ${_.y}%`:"center",y.backgroundSize=x.fit==="contain"?"contain":"cover",y.backgroundRepeat="no-repeat"}}function Ir(y){return`${Number(y.top)}px ${Number(y.right)}px ${Number(y.bottom)}px ${Number(y.left)}px`}function Fo(y,x,b,_,C){if(x===void 0)return;let T=_?.direction??"vertical",k=T!=="overlay"&&b==="width"==(T==="horizontal"),K=b==="width"?"minWidth":"minHeight";x==="fill"?T==="overlay"?(y.style[b]="100%",y.style[b==="width"?"justifySelf":"alignSelf"]="stretch"):k?(y.style.flex="1 1 0",y.style[K]="0"):(y.style.alignSelf="stretch",y.style[b]="auto"):x==="fit"?(y.style[b]="fit-content",b==="width"&&(y.style.maxWidth="100%"),!k&&T!=="overlay"&&(!_||_.align==="stretch")&&(y.style.alignSelf=C==="center"?"center":C==="end"?"flex-end":"flex-start")):typeof x=="number"&&(y.style[b]=`${x}px`,b==="width"&&(y.style.maxWidth="100%"),k&&(y.style.flex="0 0 auto"))}function ii(y,x,b){let _=x.style,C=_.text??{},T=y.style;if(x.type==="customer_data"&&(C.font&&T.setProperty("--g-data-display-font",u[String(C.font)]??u.system),x.data.source==="membership"&&(typeof C.size=="number"&&T.setProperty("--g-data-display-size",`clamp(${Math.min(C.size,28)}px, ${C.size/12}vw, ${C.size}px)`),typeof C.weight=="number"&&T.setProperty("--g-data-display-weight",String(C.weight)))),x.type==="customer_data"&&x.data.source==="credit_balance"&&(typeof C.size=="number"&&T.setProperty("--g-data-number-size",`clamp(${Math.min(C.size,48)}px, ${C.size/10}vw, ${C.size}px)`),C.font&&T.setProperty("--g-data-number-font",u[String(C.font)]??u.system),typeof C.weight=="number"&&T.setProperty("--g-data-number-weight",String(C.weight))),x.type==="customer_data"&&C.color){let ae=_e(C.color);T.setProperty("--g-data-ink",ae),T.setProperty("--g-data-muted",`color-mix(in srgb, ${ae} 72%, transparent)`),T.setProperty("--g-data-line",`color-mix(in srgb, ${ae} 20%, transparent)`),T.setProperty("--g-data-surface",`color-mix(in srgb, ${ae} 8%, transparent)`)}_.padding&&(T.padding=Ir(_.padding)),_.margin&&(T.margin=Ir(_.margin)),typeof _.gap=="number"&&x.type==="stack"&&(T.gap=`${_.gap}px`),_.background&&Mo(T,_.background),typeof _.opacity=="number"&&(T.opacity=String(_.opacity));let k=_.shape;if(k?.type==="pill")T.borderRadius="9999px";else if(k?.type==="rect"){let ae=k.radius;T.borderRadius=typeof ae=="number"?`${ae}px`:`${Number(ae.topLeft)}px ${Number(ae.topRight)}px ${Number(ae.bottomRight)}px ${Number(ae.bottomLeft)}px`}(_.clipContent===!0||_.clipContent!==!1&&k&&(_.background||x.type==="image"))&&(T.overflow="hidden");let K=_.border;K&&(T.border=Number(K.width)>0?`${Number(K.width)}px ${K.style==="dashed"?"dashed":"solid"} ${_e(K.color)}`:"0");let H=_.shadow;H&&(T.boxShadow=`${Number(H.x)}px ${Number(H.y)}px ${Number(H.blur)}px ${Number(H.spread)}px ${_e(H.color)}`),["text","button","price","coupon_code","countdown","plan_picker"].includes(x.type)&&(C.font&&(T.fontFamily=u[String(C.font)]??""),typeof C.size=="number"&&(T.fontSize=`${C.size}px`),typeof C.weight=="number"&&(T.fontWeight=String(C.weight)),typeof C.lineHeight=="number"&&(T.lineHeight=String(C.lineHeight)),typeof C.letterSpacing=="number"&&(T.letterSpacing=`${C.letterSpacing}px`),C.color&&(T.color=_e(C.color)),C.align&&(T.textAlign=String(C.align)),C.italic&&(T.fontStyle="italic"),C.decoration&&(T.textDecoration=String(C.decoration)),C.transform&&(T.textTransform=String(C.transform))),Fo(y,_.width,"width",b,C.align),Fo(y,_.height,"height",b,C.align),b?.direction==="horizontal"&&_.grow!==void 0&&(T.flexGrow=String(_.grow===!0?1:_.grow===!1?0:_.grow))}function zr(y,x){if(E){let b=E.bindings.find(_=>_.componentId===y);if(!b)return;E.answers[b.variable]=x,w.add(y),We({type:"answers",answers:zo()}),kn();return}}function zo(){let y={};for(let x of E?.bindings??[]){let b=R[x.componentId];b!==void 0&&typeof b!="number"&&(y[x.variable]=b)}return y}function Ba(y){let x=document.createElement("section");x.className="g-data",x.dataset.layout=y.data.layout,x.dataset.source=y.data.source;let b=I?.nodes[y.id];x.dataset.status=b?.status??"idle",x.dataset.preview=String(!!b?.preview);let _=b?.status==="loading",C=se.startsWith("zh"),T=(ue,Te)=>C?ue:Te;x.setAttribute("aria-busy",String(!!_));let k=(ue,Te,Nt)=>{let Fe=document.createElement(ue);return Fe.className=Te,Nt!==void 0&&(Fe.textContent=Nt),Fe},K=ue=>{let Te=document.createElementNS("http://www.w3.org/2000/svg","svg");Te.setAttribute("viewBox","0 0 24 24"),Te.setAttribute("fill","none"),Te.setAttribute("stroke","currentColor"),Te.setAttribute("stroke-width","1.7"),Te.setAttribute("stroke-linecap","round"),Te.setAttribute("stroke-linejoin","round"),Te.setAttribute("aria-hidden","true"),Te.classList.add("g-data-icon");let Nt={refresh:["M20 7v5h-5","M4 17v-5h5","M6.1 7a7 7 0 0 1 11.5-1.5L20 8M4 16l2.4 2.5A7 7 0 0 0 18 17"],down:["M7 7l10 10M7 17h10V7"],up:["M7 17L17 7M7 7h10v10"],chevron:["M6 9l6 6 6-6"],empty:["M4 8l8-4 8 4v10l-8 4-8-4V8Z","M4 8l8 4 8-4M12 12v10"],credit:["M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18Z","M12 7v10M8 12h8"]};for(let Fe of Nt[ue]){let pt=document.createElementNS("http://www.w3.org/2000/svg","path");pt.setAttribute("d",Fe),Te.append(pt)}return Te},H=(ue,Te,Nt,Fe=!1,pt=Te)=>{let Lt=k("button","g-data-button",ue);return Lt.type="button",Lt.disabled=Fe||!!_&&Te!=="refresh"||!!b?.preview||e.mode!=="live",_&&Te==="refresh"&&Lt.setAttribute("aria-disabled","true"),Lt.dataset.gDataFocus=`${y.id}:${pt}:${Nt??""}`,Lt.addEventListener("click",Mt=>{!Mt.isTrusted||Lt.disabled||_||We({type:"customer-data-intent",intent:{nodeId:y.id,action:Te,...Nt?{value:Nt}:{}}})}),Lt},ae=k("div","g-data-header"),ge=k("h2","g-data-heading",Ce(y.title).value);ge.id=`g-data-title-${y.id}`,x.setAttribute("aria-labelledby",ge.id);let q=k("div","g-data-controls"),ee=[],ce=ue=>{ue.hidden||(ue.type==="customer_data"&&ee.push(ue),ue.type==="stack"&&ue.children.forEach(ce))},he=A?.pages[0];he&&ce(he.root);let Me=ee.every(ue=>I?.nodes[ue.id]?.preview),dt=ee.find(ue=>ue.data.source==="credit_balance")??ee[0];b?.preview&&(!Me||dt?.id===y.id)&&q.append(k("span","g-data-preview",T("\u793A\u4F8B\u6570\u636E","Sample data")));let Xe=_?T("\u66F4\u65B0\u4E2D\u2026","Updating\u2026"):T("\u5237\u65B0","Refresh"),Et=H(Xe,"refresh");if(Et.replaceChildren(K("refresh")),Et.setAttribute("aria-label",Xe),Et.title=Xe,Et.classList.add("g-data-refresh"),_&&Et.classList.add("g-data-refreshing"),q.append(Et),y.data.source==="billing"&&y.data.outputs?.billing_portal&&q.append(H(b?.billingBusy?T("\u6B63\u5728\u51C6\u5907\u2026","Preparing\u2026"):T("\u7BA1\u7406\u652F\u4ED8\u65B9\u5F0F","Manage payment method"),"billing_portal",void 0,!!b?.billingBusy||b?.status!=="ready")),y.data.source==="credit_balance"&&(ge.prepend(K("credit")),b?.resources.length===1&&ge.append(k("span","g-data-resource-label",b.resources[0].name)),b?.updatedAt)){let ue=k("time","g-data-updated",`${T("\u66F4\u65B0\u4E8E","Updated")} ${new Intl.DateTimeFormat(se,{timeStyle:"short"}).format(new Date(b.updatedAt))}`);ue.dateTime=b.updatedAt,ue.title=new Intl.DateTimeFormat(se,{dateStyle:"medium",timeStyle:"short"}).format(new Date(b.updatedAt)),q.prepend(ue)}if(ae.append(ge,q),x.append(ae),!b||b.source!==y.data.source)return x.append(k("p","g-data-empty",T("\u8FDE\u63A5\u5BA2\u6237\u6570\u636E\u540E\u663E\u793A\u6B64\u5185\u5BB9\u3002","Connect customer data to display this content."))),x;if(b.errorMessage){let ue=k("div","g-data-error",b.errorMessage);ue.setAttribute("role","alert"),x.append(ue);let Te=k("div","g-data-recovery");Te.append(H(T("\u91CD\u8BD5","Retry"),"refresh")),x.append(Te)}if(b.membershipResult){let ue=k("p","g-data-note",b.membershipResult);ue.setAttribute("role","status"),x.append(ue)}if(b.membershipReview){let ue=b.membershipReview,Te=k("section","g-data-resource");Te.dataset.gDataReview="",Te.setAttribute("aria-label",ue.title),Te.setAttribute("aria-busy",String(!!b.membershipBusy));let Nt=k("h3","g-data-row-label",ue.title);Nt.tabIndex=-1,Te.append(Nt);let Fe=k("dl","g-data-facts");for(let Lt of ue.facts){let Mt=k("div","");Mt.append(k("dt","",Lt.label),k("dd","",Lt.value)),Fe.append(Mt)}Te.append(Fe,k("p","g-data-note",ue.note));let pt=k("div","g-data-controls");pt.append(H(T("\u8FD4\u56DE","Back"),"membership_dismiss",void 0,!!b.membershipBusy),H(b.membershipBusy?T("\u6B63\u5728\u5904\u7406\u2026","Processing\u2026"):T("\u786E\u8BA4","Confirm"),"membership_confirm",void 0,!!b.membershipBusy)),Te.append(pt),x.append(Te)}if(b.stale&&(b.resources.length||b.rows.length)&&x.append(k("p",_?"g-data-live-status":"g-data-note",_?T("\u6B63\u5728\u66F4\u65B0\u8D26\u6237\u6570\u636E\u3002","Updating account data."):T("\u663E\u793A\u4E0A\u6B21\u8BFB\u53D6\u7684\u7ED3\u679C\uFF0C\u6B63\u5728\u7B49\u5F85\u66F4\u65B0\u3002","Showing the last result while awaiting an update."))),_&&!b.resources.length&&!b.rows.length){let ue=k("div","g-data-skeleton");if(ue.setAttribute("aria-hidden","true"),y.data.source==="credit_balance")ue.append(k("span","g-data-skeleton-line g-data-skeleton-value"),k("span","g-data-skeleton-line g-data-skeleton-meta"));else{let Nt=Math.min(y.data.pageSize,y.data.layout==="compact"?2:4);for(let Fe=0;Fe<Nt;Fe++){let pt=k("div","g-data-skeleton-row");pt.append(k("span","g-data-skeleton-line"),k("span","g-data-skeleton-line")),ue.append(pt)}}let Te=k("p","g-data-live-status",T("\u6B63\u5728\u8BFB\u53D6\u8D26\u6237\u6570\u636E\u2026","Loading account data\u2026"));return Te.setAttribute("role","status"),x.append(ue,Te),x}let on={credit_transactions:[["all","\u5168\u90E8\u8BB0\u5F55","All activity"],["consume","\u6D88\u8D39","Usage"],["reserve","\u9884\u6263","Reserved"],["confirm","\u786E\u8BA4\u6263\u8D39","Confirmed"],["release","\u91CA\u653E","Released"],["refund","\u9000\u56DE","Refund"]],credit_pack_orders:[["all","\u5168\u90E8\u8BA2\u5355","All orders"],["pending","\u7B49\u5F85\u4ED8\u6B3E","Pending"],["paid","\u5DF2\u4ED8\u6B3E","Paid"],["expired","\u5DF2\u8FC7\u671F","Expired"],["refunded","\u5DF2\u9000\u6B3E","Refunded"],["disputed","\u4E89\u8BAE\u4E2D","Disputed"]],offer_history:[["all","\u5168\u90E8\u8BB0\u5F55","All offers"],["issued","\u672A\u4F7F\u7528","Unused"],["reserved","\u4ED8\u6B3E\u5904\u7406\u4E2D","Payment pending"],["redeemed","\u5DF2\u4F7F\u7528","Redeemed"],["expired","\u5DF2\u5230\u671F","Expired"],["revoked","\u5DF2\u4F5C\u5E9F","Revoked"]]};if(on[y.data.source]){let ue=k("select","g-data-select");ue.setAttribute("aria-label",T("\u7B5B\u9009\u8BB0\u5F55","Filter records")),ue.dataset.gDataFocus=`${y.id}:filter`,ue.disabled=!!_||b.preview||e.mode!=="live";for(let[Te,Nt,Fe]of on[y.data.source]){let pt=document.createElement("option");pt.value=Te,pt.textContent=T(Nt,Fe),ue.append(pt)}ue.value=b.filter,ue.addEventListener("change",()=>{!ue.disabled&&e.mode==="live"&&We({type:"customer-data-intent",intent:{nodeId:y.id,action:"filter",value:ue.value}})}),q.prepend(ue)}let Zi=(ue,Te=!1)=>{let Nt=k("ul","g-data-list");if(y.data.source==="credit_transactions"&&ue.length&&!Te){let Fe=k("div","g-data-table-head");Fe.setAttribute("aria-hidden","true"),Fe.append(k("span","",T("\u8BB0\u5F55","Record")),k("span","",T("\u7C7B\u578B","Type")),k("span","",T("\u79EF\u5206","Credits"))),x.append(Fe)}for(let Fe of ue){let pt=k("li","g-data-row"),Lt=k("div","g-data-row-main"),Mt=k("div","g-data-row-copy");Mt.append(k("p","g-data-row-label",Fe.label));for(let Ft of Fe.detail)Ft!==Fe.status&&Mt.append(k("div","g-data-row-detail",Ft));if(y.data.source==="credit_transactions"&&!Te){let Ft=k("span","g-data-row-mark");Ft.append(K(["Refund","\u9000\u56DE"].includes(Fe.status??"")?"up":"down")),Lt.append(Ft)}if(Lt.append(Mt),pt.append(Lt),Fe.status?pt.append(k("div","g-data-row-status",Fe.status)):pt.classList.add("g-data-row-no-status"),Fe.value?pt.append(k("div","g-data-row-value",Fe.value)):pt.classList.add("g-data-row-no-value"),Fe.facts.length||Fe.purchaseId||Fe.membershipActions?.length||Fe.billingActions?.length){let Ft=k("div","g-data-row-extra"),Wn=k("div","g-data-facts"),si=(mn,Bo)=>{for(let Yc of mn){let Xc=k("span","",Yc.label);Xc.append(k("strong","",Yc.value)),Bo.append(Xc)}};if(si(Fe.facts.slice(0,3),Wn),Fe.facts.length>3){let mn=k("details","g-data-sources");mn.dataset.gDataSources=`facts:${Fe.id}`,mn.append(k("summary","",`${y.data.source==="billing"?T("\u8D26\u5355\u8BE6\u60C5","Invoice details"):y.data.source==="offer_history"?T("\u4F18\u60E0\u5238\u660E\u7EC6","Coupon details"):T("\u5168\u90E8\u6263\u8D39\u660E\u7EC6","All allocations")} \xB7 ${Fe.facts.length}`));let Bo=k("div","g-data-facts");si(Fe.facts.slice(3),Bo),mn.append(Bo),Wn.append(mn)}if(Ft.append(Wn),!Te)for(let mn of Fe.billingActions??[])Ft.append(H(mn.label,mn.action,Fe.id,!!b.billingBusy));if(Fe.purchaseId&&y.data.allowPurchase&&!Te){let mn=H(b.buyingId===Fe.purchaseId?T("\u6B63\u5728\u51C6\u5907\u2026","Preparing\u2026"):T("\u8D2D\u4E70\u79EF\u5206","Buy credits"),"buy_pack",Fe.purchaseId,!!b.preview||!!b.buyingId);mn.classList.add("g-data-buy"),Ft.append(mn)}if(y.data.allowPurchase&&!Te)for(let mn of Fe.membershipActions??[])Ft.append(H(mn.label,"membership_preview",mn.value,!!b.preview||!!b.membershipBusy||!!b.membershipReview));pt.append(Ft)}Nt.append(pt)}return Nt};for(let ue of b.resources){let Te=k("article","g-data-resource");Te.setAttribute("aria-label",ue.name),b.resources.length>1&&Te.append(k("p","g-data-name",ue.name));let Nt=k("div","g-data-balance"),Fe=new Intl.NumberFormat(se).formatToParts(1.1).find(Ft=>Ft.type==="decimal")?.value??".",pt=ue.spendable.lastIndexOf(Fe),Lt=k("strong","g-data-number",pt<0?ue.spendable:ue.spendable.slice(0,pt));pt>=0&&Lt.append(k("span","g-data-fraction",ue.spendable.slice(pt))),Nt.append(Lt,k("span","g-data-unit",T("\u53EF\u7528\u79EF\u5206","Spendable credits"))),Te.append(Nt);let Mt=k("div","g-data-facts");for(let[Ft,Wn]of[[T("\u4F59\u989D","Balance"),ue.available],[T("\u51BB\u7ED3","Reserved"),ue.reserved]]){let si=k("span","",Ft);si.append(k("strong","",Wn)),Mt.append(si)}if(ue.expiry&&Mt.append(k("span","g-data-expiry",`${T("\u6700\u8FD1\u5230\u671F","Next expiry")} \xB7 ${ue.expiry}`)),Te.append(Mt),y.data.showSources&&ue.sourceCount){let Ft=k("details","g-data-sources");if(Ft.dataset.gDataSources=ue.key,Ft.append(k("summary","",`${T("\u79EF\u5206\u6765\u6E90","Credit sources")} \xB7 ${ue.sourceCount}`),Zi(ue.sources,!0)),Ft.querySelector("summary")?.append(K("chevron")),ue.hasNextSources||ue.hasPreviousSources){let Wn=k("div","g-data-footer");Wn.append(k("span","",`${T("\u7B2C","Page")} ${ue.sourcePage}`));let si=k("div","g-data-controls");si.append(H(T("\u4E0A\u4E00\u9875","Previous"),"sources_previous",ue.key,!ue.hasPreviousSources),H(T("\u4E0B\u4E00\u9875","Next"),"sources_next",ue.key,!ue.hasNextSources)),Wn.append(si),Ft.append(Wn)}Te.append(Ft)}x.append(Te)}if(b.rows.length&&x.append(Zi(b.rows)),y.data.source==="billing_controls"&&(y.data.outputs?.billing_authorization||y.data.outputs?.billing_adjustment)){let ue=k("div","g-data-controls");y.data.outputs?.billing_authorization&&ue.append(H(T("\u8BBE\u7F6E\u81EA\u52A8\u4ED8\u6B3E\u6388\u6743","Set up payment authorization"),"billing_authorization")),y.data.outputs?.billing_adjustment&&ue.append(H(T("\u67E5\u770B\u5F85\u786E\u8BA4\u8865\u6B3E","Review pending adjustment"),"billing_adjustment")),x.append(ue)}if(!b.rows.length&&!b.resources.length&&b.status!=="error"){let ue=k("p","g-data-empty",_?T("\u6B63\u5728\u8BFB\u53D6\u8D26\u6237\u6570\u636E\u2026","Loading account data\u2026"):b.status==="idle"?T("\u767B\u5F55\u540E\u67E5\u770B\u4F60\u7684\u8D26\u6237\u6570\u636E\u3002","Sign in to view your account data."):b.filter!=="all"?T("\u6CA1\u6709\u7B26\u5408\u7B5B\u9009\u6761\u4EF6\u7684\u8BB0\u5F55\u3002","No records match this filter."):y.data.source==="credit_pack_orders"?T("\u6682\u65E0\u8D2D\u4E70\u8BB0\u5F55","No purchases yet"):y.data.source==="credit_balance"?T("\u6682\u65E0\u79EF\u5206\u6765\u6E90","No credit balances yet"):y.data.source==="membership"?T("\u6682\u65E0\u4F1A\u5458\u65B9\u6848","No memberships yet"):y.data.source==="customer_plans"?T("\u6682\u65E0\u53EF\u9009\u5957\u9910","No plans available"):y.data.source==="credit_packs"?T("\u6682\u65E0\u53EF\u8D2D\u4E70\u7684\u79EF\u5206\u5305","No credit packs available"):y.data.source==="billing_controls"?T("\u5C1A\u672A\u8BBE\u7F6E\u7528\u91CF\u9650\u5236\u6216\u81EA\u52A8\u4ED8\u6B3E\u6388\u6743","No usage limits or payment authorizations configured"):y.data.source==="offer_history"?T("\u6682\u65E0\u4F18\u60E0\u8BB0\u5F55","No offers yet"):y.data.source==="billing"?T("\u6682\u65E0\u8D26\u5355","No invoices yet"):T("\u8FD9\u91CC\u8FD8\u6CA1\u6709\u8BB0\u5F55\u3002","There are no records yet."));ue.prepend(K("empty")),ue.setAttribute("role","status"),x.append(ue)}if(b.hasNext||b.hasPrevious){let ue=k("div","g-data-footer");ue.append(k("span","",`${T("\u7B2C","Page")} ${b.page}`));let Te=k("div","g-data-controls");Te.append(H(T("\u4E0A\u4E00\u9875","Previous"),"previous",void 0,!b.hasPrevious),H(T("\u4E0B\u4E00\u9875","Next"),"next",void 0,!b.hasNext)),ue.append(Te),x.append(ue)}return b.updatedAt&&y.data.source!=="credit_balance"&&x.append(k("p","g-data-note g-data-updated",`${T("\u6570\u636E\u66F4\u65B0\u4E8E","Updated")} ${new Intl.DateTimeFormat(se,{dateStyle:"medium",timeStyle:"short"}).format(new Date(b.updatedAt))}`)),x}let oi=new Map,qa=new Map,Gc=y=>{let x=y.target;for(let b of oi.keys())x&&!Er(b)?.contains(x)&&oi.delete(b)};document.addEventListener("focusin",Gc),document.addEventListener("pointerdown",Gc);function Kc(y){let x=I;if(I=y,!A)return;let b=(C,T)=>{if(C.type==="stack"){C.children.forEach(he=>b(he,C));return}if(C.type!=="customer_data"||JSON.stringify(x?.nodes[C.id])===JSON.stringify(y.nodes[C.id]))return;let k=Er(C.id);if(!k)return;let K=document.activeElement;K&&k.contains(K)&&K.dataset.gDataFocus&&oi.set(C.id,K.dataset.gDataFocus);let H=new Set([...k.querySelectorAll("details[data-g-data-sources]")].filter(he=>he.open).map(he=>he.dataset.gDataSources)),ae=zi(C,T);if(!ae)return;for(let he of ae.querySelectorAll("details[data-g-data-sources]"))he.open=H.has(he.dataset.gDataSources);let ge=k.scrollTop;k.replaceWith(ae),ae.scrollTop=ge;let q=!!y.nodes[C.id]?.membershipReview&&!x?.nodes[C.id]?.membershipReview,ee=!y.nodes[C.id]?.membershipReview&&!!x?.nodes[C.id]?.membershipReview;q&&oi.get(C.id)&&qa.set(C.id,oi.get(C.id));let ce=ee?qa.get(C.id):oi.get(C.id);ce&&[...ae.querySelectorAll("[data-g-data-focus]")].find(he=>he.dataset.gDataFocus===ce)?.focus({preventScroll:!0}),q&&ae.querySelector("[data-g-data-review] h3")?.focus({preventScroll:!0}),ee&&qa.delete(C.id),ae.animate&&y.nodes[C.id]?.status==="ready"&&!window.matchMedia("(prefers-reduced-motion:reduce)").matches&&ae.animate([{opacity:.7},{opacity:1}],{duration:140,easing:"ease-out"})},_=A.pages.find(C=>C.id===X)??A.pages[0];b(_.root,null),ai()}function zi(y,x){if(y.hidden)return null;let b;if(y.type==="customer_data")b=Ba(y);else if(y.type==="stack"){b=document.createElement(y.purchaseAction?"button":"div"),y.purchaseAction&&(b.type="button",b.dataset.gAction=y.purchaseAction),b.className=`${y.purchaseAction?`g-btn g-btn-${y.buttonVariant??"primary"} `:""}g-stack ${y.direction==="horizontal"?"g-h":y.direction==="overlay"?"g-o":"g-v"}`,y.direction==="overlay"?(b.style.alignItems=h[y.align]??"stretch",b.style.justifyItems=p[y.justify]??"stretch"):(b.style.alignItems=l[y.align]??"stretch",b.style.justifyContent=d[y.justify]??"flex-start");for(let _ of y.children){let C=zi(_,y);C&&b.append(C)}if(y.interaction&&Ui(b,y),y.purchaseAction&&e.mode==="live"){let _=P?.nodes[y.id],C=_?.picker;C&&(b.disabled=!P?.pickers[C]?.options.includes(String(R[C]??""))),De(y.id)?.unavailable&&(b.disabled=!0)}e.mode==="editor"&&!b.childElementCount&&(b.classList.add("g-empty"),b.dataset.gEditorPlaceholder=e.editorMessages?.emptyContainer??"\u62D6\u5165\u7EC4\u4EF6")}else if(y.type==="text"){let _=y.variant==="title"?"h1":y.variant==="heading"?"h2":"p";b=document.createElement(_),b.className=`g-text g-${y.variant}`;let C=Ot(y,"text",y.text);b.textContent=C.value,C.missing&&e.mode==="editor"&&b.classList.add("g-missing")}else if(y.type==="button"){b=document.createElement("button"),b.type="button",b.className=`g-btn g-btn-${y.variant}`;let _=Ot(y,"label",y.label);b.textContent=_.value,_.missing&&e.mode==="editor"&&b.classList.add("g-missing"),b.dataset.gAction=y.action;let C=P?.nodes[y.id]?.picker;if(C&&e.mode==="live"){let T=C,k=P?.pickers[T],K=R[T]??k?.selected;b.disabled=!k?.options.includes(String(K)),b.disabled&&b.setAttribute("aria-disabled","true")}e.mode==="live"&&De(y.id)?.unavailable&&(b.disabled=!0,b.setAttribute("aria-disabled","true")),e.mode==="editor"&&(b.tabIndex=-1)}else if(y.type==="image"){b=document.createElement("div"),b.className="g-img",f[y.aspect]&&(b.dataset.aspect=y.aspect,b.style.aspectRatio=f[y.aspect]);let _=document.createElement("img");_.src=y.localizedSrc?.[se]??y.localizedSrc?.[A.strings.defaultLocale]??y.src,_.alt=Ot(y,"alt",y.alt).value,_.referrerPolicy="no-referrer",_.decoding="async",_.style.objectFit=y.fit,y.position&&(_.style.objectPosition=`${y.position.x}% ${y.position.y}%`),_.addEventListener("load",Vi),b.append(_)}else if(y.type==="price"){b=document.createElement("div"),b.className="g-price",b.style.cssText="display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-variant-numeric:tabular-nums";let _=De(y.id);if(!_?.price)b.textContent=_?.text??Ce(y.fallback).value,e.mode==="editor"&&b.classList.add("g-missing");else for(let C of["current","original","period"]){let T=_.price[C];if(!T)continue;let k=document.createElement(C==="original"?"s":"span");k.textContent=T,C==="original"&&(k.style.opacity=".6"),y.parts?.[C]&&ii(k,{type:"text",id:y.id,text:y.fallback,variant:"body",style:y.parts[C]},null),b.append(k)}}else if(y.type==="coupon_code"){b=document.createElement("div"),b.style.cssText="display:flex;align-items:center;gap:12px;flex-wrap:wrap";let _=De(y.id);if(_?.code){let C=document.createElement("code");C.textContent=_.code;let T=document.createElement("button");T.type="button",T.className="g-btn g-btn-secondary",T.textContent=Ce(y.label).value,T.addEventListener("click",k=>{e.mode!=="editor"&&(k.stopPropagation(),We({type:"copy",nodeId:y.id}))}),b.append(C,T)}else b.textContent=_?.text??Ce(y.fallback).value,e.mode==="editor"&&b.classList.add("g-missing")}else if(y.type==="countdown"){b=document.createElement("span"),b.setAttribute("role","timer"),b.style.fontVariantNumeric="tabular-nums";let _=De(y.id),C=_?.countdownAt?Date.parse(_.countdownAt):NaN,T=y.granularity==="second"?void 0:new Intl.NumberFormat(se,{style:"unit",unit:y.granularity,unitDisplay:"short"});!Number.isFinite(C)&&e.mode==="editor"&&b.classList.add("g-missing");let k=()=>{if(!Number.isFinite(C)){b.textContent=_?.text??Ce(y.fallback).value;return}let K=Math.max(0,Math.ceil((C-Date.now())/1e3));if(!K){b.textContent=Ce(y.expired).value;let q=$.get(y.id);q!==void 0&&clearInterval(q),$.delete(y.id);return}let H=y.granularity,ae=H==="day"?86400:H==="hour"?3600:H==="minute"?60:1,ge=T?T.format(Math.ceil(K/ae)):[Math.floor(K/86400),Math.floor(K/3600)%24,Math.floor(K/60)%60,K%60].map(q=>String(q).padStart(2,"0")).join(":");b.textContent!==ge&&(b.textContent=ge)};k(),Number.isFinite(C)&&C>Date.now()&&$.set(y.id,setInterval(k,1e3))}else if(y.type==="quantity_picker"){b=document.createElement("div");let _=P?.quantities?.[y.id],C=document.createElement("label");C.textContent=Ce(y.label).value;let T=document.createElement("input");T.type="range",T.id=`quantity-${y.id}`,C.htmlFor=T.id,T.min=String(_?.minimum??y.minimumQuantity),T.max=String(_?.maximum??y.maximumQuantity),T.step=String(y.step),T.value=String(typeof R[y.id]=="number"?R[y.id]:y.defaultQuantity),R[y.id]=Number(T.value),T.disabled=e.mode!=="editor"&&!_?.available,T.style.cssText="width:100%;accent-color:var(--g-primary)";let k=document.createElement("output");k.textContent=_?.label||Ce(y.fallback).value,T.setAttribute("aria-valuetext",_?.label??String(T.value)),T.oninput=()=>{R[y.id]=Number(T.value),We({type:"selection",selection:Ve()})},b.append(C,T,k)}else if(y.type==="plan_picker"){b=document.createElement("div"),b.setAttribute("role",y.grouping?"group":"radiogroup"),b.setAttribute("aria-label",Ce(y.label).value),b.style.cssText="display:flex;flex-direction:column;gap:8px";let _=P?.pickers[y.id],C=y.grouping;if(!_?.options.length)b.textContent=Ce(y.fallback).value,e.mode==="editor"&&b.classList.add("g-missing");else{let T=typeof R[y.id]=="string"?String(R[y.id]):_.selected,k=B[y.id];if(C){if(!k){let dt=C.assignments.find(Xe=>Xe.productVersionId===T);k={period:dt?.period??"month",tierId:dt?.tierId??C.tiers[0].id},B[y.id]=k}let q=C.assignments.find(dt=>dt.tierId===k.tierId&&dt.period===k.period);T=q&&_.options.includes(q.productVersionId)?q.productVersionId:"";let ee=document.createElement("div");ee.setAttribute("role","radiogroup"),ee.setAttribute("aria-label",`${Ce(C.monthLabel).value} / ${Ce(C.yearLabel).value}`),ee.style.cssText="display:flex;gap:4px;padding:4px;border:1px solid var(--g-border);border-radius:10px";let ce=["month","year"],he=ce.filter(dt=>C.assignments.some(Xe=>Xe.period===dt&&_.options.includes(Xe.productVersionId))),Me=dt=>{k.period=dt;let Xe=C.assignments.find(Et=>Et.tierId===k.tierId&&Et.period===dt);R[y.id]=Xe&&_.options.includes(Xe.productVersionId)?Xe.productVersionId:"",kn(),We({type:"selection",selection:Ve()}),Er(y.id)?.querySelector(`[data-product-period="${dt}"]`)?.focus()};for(let dt of ce){let Xe=document.createElement("button");Xe.type="button",Xe.className=`g-btn g-btn-${dt===k.period?"primary":"secondary"}`,Xe.style.cssText="flex:1;min-width:0;min-height:40px",Xe.dataset.productPeriod=dt,Xe.setAttribute("role","radio"),Xe.setAttribute("aria-checked",String(dt===k.period)),Xe.textContent=Ce(dt==="month"?C.monthLabel:C.yearLabel).value,Xe.disabled=!he.includes(dt),Xe.tabIndex=e.mode==="editor"||Xe.disabled?-1:dt===k.period||!he.includes(k.period)&&dt===he[0]?0:-1,Xe.addEventListener("click",Et=>{e.mode!=="editor"&&(Et.stopPropagation(),Me(dt))}),Xe.addEventListener("keydown",Et=>{if(e.mode==="editor"||!he.length)return;let on;["ArrowRight","ArrowDown"].includes(Et.key)?on=(he.indexOf(dt)+1)%he.length:["ArrowLeft","ArrowUp"].includes(Et.key)?on=(he.indexOf(dt)-1+he.length)%he.length:Et.key==="Home"?on=0:Et.key==="End"&&(on=he.length-1),on!==void 0&&(Et.preventDefault(),Me(he[on]))}),ee.append(Xe)}b.append(ee)}R[y.id]=T??"";let K=C?C.tiers.map(q=>({tier:q,id:C.assignments.find(ee=>ee.tierId===q.id&&ee.period===k.period)?.productVersionId})):_.options.map(q=>({id:q,tier:void 0})),H=K.filter(q=>q.id&&_.options.includes(q.id)),ae=C?document.createElement("div"):b;C&&(ae.setAttribute("role","radiogroup"),ae.setAttribute("aria-label",Ce(y.label).value),ae.style.cssText="display:flex;flex-direction:column;gap:8px",b.append(ae));let ge=q=>{!q.id||!_.options.includes(q.id)||(C&&q.tier&&(k.tierId=q.tier.id),R[y.id]=q.id,kn(),We({type:"selection",selection:Ve()}),Er(y.id)?.querySelector(`[data-plan-id="${q.id}"]`)?.focus())};for(let q of K){let ee=q.id?P.plans[q.id]:void 0,ce=!!ee&&_.options.includes(q.id),he=document.createElement("button");he.type="button",he.className="g-btn g-btn-secondary",he.style.cssText="width:100%;text-align:start;min-height:44px",he.setAttribute("role","radio");let Me=C?q.tier?.id===k.tierId:q.id===T;he.setAttribute("aria-checked",String(Me)),he.disabled=!ce,he.tabIndex=e.mode==="editor"||!ce?-1:Me||!T&&q===H[0]?0:-1,q.id&&(he.dataset.planId=q.id),q.tier&&(he.dataset.productTier=q.tier.id);let dt=q.id?P.nodes[y.id]?.byPlan?.[q.id]?.price:void 0,Xe=document.createElement("span"),Et=document.createElement("span");Xe.className="g-option-name",Et.className="g-option-price",Xe.textContent=ce?q.tier?.name??ee.name:q.tier?.name??"",Et.textContent=ce?`${dt?.current??ee.price}${dt?.period??ee.period}`:Ce(C?.unavailableLabel??y.fallback).value,he.classList.add("g-option"),he.replaceChildren(Xe,Et),he.setAttribute("aria-label",[Xe.textContent,Et.textContent].filter(Boolean).join(", ")),Me&&(he.style.borderColor="var(--g-primary)",he.style.boxShadow="inset 0 0 0 1px var(--g-primary)",y.states?.selected&&ii(he,{type:"text",id:y.id,text:y.label,variant:"body",style:y.states.selected},null)),he.addEventListener("click",on=>{e.mode==="editor"||!ce||(on.stopPropagation(),ge(q))}),he.addEventListener("keydown",on=>{if(e.mode==="editor"||!H.length)return;let Zi=H.indexOf(q),ue;["ArrowRight","ArrowDown"].includes(on.key)?ue=(Zi+1)%H.length:["ArrowLeft","ArrowUp"].includes(on.key)?ue=(Zi-1+H.length)%H.length:on.key==="Home"?ue=0:on.key==="End"&&(ue=H.length-1),ue!==void 0&&(on.preventDefault(),ge(H[ue]))}),ae.append(he)}if(C&&!T){let q=document.createElement("p");q.setAttribute("role","status"),q.textContent=Ce(C.unavailableLabel).value,b.append(q)}}}else if(y.type==="divider")b=document.createElement("hr"),b.className="g-divider";else if(y.type==="spacer")b=document.createElement("div"),b.setAttribute("aria-hidden","true"),b.style.flex="0 0 auto",b.style.width=b.style.height=`${s[y.size]??0}px`;else if(y.type==="custom_html"){b=document.createElement("div"),b.className="g-custom";let _=b.attachShadow({mode:"open"}),C=document.createElement("style"),T="@media(prefers-reduced-motion:reduce){:host,:host::before,:host::after,*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}";C.textContent=`:host{display:block}${T}@layer indiana-accessibility{${T}}${y.css}`;let k=document.createElement("div");_.append(C,k),re.set(b,{body:k,source:null,bound:!1,unresolved:!1,variables:[],bindings:[],fallback:!1,initialized:!1,template:null,parked:!1}),Ye(b,y)}else return null;return y.style&&ii(b,y,x),b.dataset.gNode=y.id,b.dataset.gLabel=cr(y),V.set(y.id,b),b}function Ui(y,x){let b=x.interaction,_=[...y.children];y.setAttribute("aria-label",Ce(b.label).value);let C=E?.bindings.find(k=>k.componentId===x.id),T=C?{id:C.variable,source:C.componentId,required:C.required}:void 0;if(T){let k=document.createElement("p");k.className="g-text g-body",k.textContent=Ce(b.label).value+(T.required?" *":""),y.prepend(k),T.required&&y.setAttribute("aria-required","true")}if(b.type==="input"){let k=document.createElement("input");k.type=b.keyboard,k.maxLength=b.maxLength,k.autocomplete="off",k.setAttribute("aria-label",Ce(b.label).value),k.setAttribute("aria-required",String(!!T?.required)),k.value=typeof R[x.id]=="string"?String(R[x.id]):"",k.style.cssText="box-sizing:border-box;width:100%;min-height:44px;padding:10px 14px;border:1px solid var(--g-border);border-radius:8px;background:var(--g-surface);color:var(--g-text);font:inherit",k.disabled=e.mode!=="live",k.addEventListener("input",()=>{R[x.id]=k.value,zr(x.id,k.value)}),y.append(k);return}if(!(e.mode!=="live"||!_.length&&b.type!=="toggle")){if(b.type==="multiselect"){y.setAttribute("role","group"),y.dataset.gMin=String(b.min);let k=x.children.filter(ae=>!ae.hidden),K=new Set(Array.isArray(R[x.id])?R[x.id]:[]),H=()=>_.forEach((ae,ge)=>{let q=K.has(k[ge].id);ae.setAttribute("aria-checked",String(q)),ae.setAttribute("aria-disabled",String(!q&&K.size>=b.max)),ae.style.outline=q?"2px solid var(--g-primary)":"",ae.style.outlineOffset="-2px"});_.forEach((ae,ge)=>{ae.setAttribute("role","checkbox"),ae.tabIndex=0,wi(ae)?ae.removeAttribute("aria-label"):ae.setAttribute("aria-label",String(ge+1)),ae.style.cursor="pointer";let q=()=>{let ee=k[ge].id;if(K.has(ee))K.delete(ee);else if(K.size<b.max)K.add(ee);else return;let ce=k.filter(he=>K.has(he.id)).map(he=>he.id);R[x.id]=ce,H(),zr(x.id,ce)};ae.addEventListener("click",ee=>{ee.stopPropagation(),q()}),ae.addEventListener("keydown",ee=>{[" ","Enter"].includes(ee.key)&&(ee.preventDefault(),ee.stopPropagation(),q())})}),H();return}if(b.type==="select"){y.setAttribute("role","radiogroup");let k=x.children.filter(ge=>!ge.hidden),K=t(x)?x.interaction.pickerId:void 0,H=k.findIndex(ge=>K?ge.type==="stack"&&ge.bind?.plan===R[K]:ge.id===R[x.id]);!K&&H<0&&!T?.required&&(H=Math.min(b.defaultIndex,_.length-1));let ae=(ge,q=!1,ee=!0)=>{if(K&&ee&&ge>=0){let ce=k[ge],he=ce.type==="stack"?ce.bind?.plan:void 0;if(!he||!P?.pickers[K]?.options.includes(he))return;R[x.id]=ce.id,R[K]=he,kn(),We({type:"selection",selection:Ve()}),q&&ze.querySelector(`[data-g-node="${ce.id}"]`)?.focus({preventScroll:!0});return}H=ge,ge>=0&&(R[x.id]=k[ge].id),ee&&ge>=0&&zr(x.id,k[ge].id),_.forEach((ce,he)=>{ce.setAttribute("aria-checked",String(he===ge)),ce.tabIndex=he===(ge<0?0:ge)?0:-1,ce.style.cssText="";let Me=k[he];Me.type==="stack"&&(ce.style.alignItems=l[Me.align]??"stretch",ce.style.justifyContent=d[Me.justify]??"flex-start"),Me.style&&ii(ce,Me,x),he===ge&&(b.selectedStyle&&ii(ce,{...Me,style:b.selectedStyle},x),Me.type==="stack"&&Me.states?.selected&&ii(ce,{...Me,style:Me.states.selected},x),!b.selectedStyle?.border&&!(Me.type==="stack"&&Me.states?.selected?.border)&&(ce.style.outline="2px solid var(--g-primary)",ce.style.outlineOffset="-2px")),ce.style.cursor="pointer"}),q&&ge>=0&&_[ge].focus()};_.forEach((ge,q)=>{if(ge.setAttribute("role","radio"),K){let ee=k[q],ce=ee.type==="stack"?ee.bind?.plan:void 0;ge.setAttribute("aria-disabled",String(!ce||!P?.pickers[K]?.options.includes(ce)))}wi(ge)?ge.removeAttribute("aria-label"):ge.setAttribute("aria-label",String(q+1)),ge.addEventListener("click",ee=>{ee.stopPropagation(),ae(q)}),ge.addEventListener("keydown",ee=>{let ce=ee.key;if(!["ArrowRight","ArrowLeft","ArrowDown","ArrowUp","Home","End"," ","Enter"].includes(ce))return;ee.preventDefault(),ee.stopPropagation();let he=H<0?q:H;ae(ce==="Home"?0:ce==="End"?_.length-1:ce==="ArrowRight"||ce==="ArrowDown"?(he+1)%_.length:ce==="ArrowLeft"||ce==="ArrowUp"?(he+_.length-1)%_.length:q,!0)})}),ae(H,!1,!1)}else if(b.type==="tabs"){let k=x.children.filter(q=>!q.hidden),K=document.createElement("div");K.setAttribute("role","tablist"),K.setAttribute("aria-label",Ce(b.label).value),K.style.cssText="display:flex;gap:4px;padding:4px;border:1px solid var(--g-border);border-radius:12px";let H=_.map((q,ee)=>{let ce=document.createElement("button");return ce.type="button",ce.setAttribute("role","tab"),ce.textContent=Za(k[ee])||String(ee+1),ce.style.cssText="flex:1;min-width:0;min-height:44px;padding:8px 16px;border:0;border-radius:8px;font:inherit;cursor:pointer",q.id=`g-${x.id}-${k[ee].id}`,q.setAttribute("role","tabpanel"),ce.setAttribute("aria-controls",q.id),K.append(ce),ce}),ae=(q,ee=!1,ce=!1)=>{if(R[x.id]=k[q].id,ce&&A&&Object.keys(r(A)).length){for(let he of Object.keys(r(A)))delete R[he];kn(),We({type:"selection",selection:Ve()}),ee&&ze.querySelector(`[data-g-node="${x.id}"] [role="tab"][aria-selected="true"]`)?.focus({preventScroll:!0});return}_.forEach((he,Me)=>{he.hidden=Me!==q,H[Me].setAttribute("aria-selected",String(Me===q)),H[Me].tabIndex=Me===q?0:-1,H[Me].style.background=Me===q?"var(--g-primary)":"transparent",H[Me].style.color=Me===q?"var(--g-on-primary)":"var(--g-text)"}),ee&&H[q].focus(),ai()};H.forEach((q,ee)=>{q.addEventListener("click",ce=>{ce.stopPropagation(),ae(ee,!1,!0)}),q.addEventListener("keydown",ce=>{["ArrowLeft","ArrowRight","Home","End"].includes(ce.key)&&(ce.preventDefault(),ce.stopPropagation(),ae(ce.key==="Home"?0:ce.key==="End"?_.length-1:(ee+(ce.key==="ArrowRight"?1:_.length-1))%_.length,!0,!0))})}),y.prepend(K);let ge=k.findIndex(q=>q.id===R[x.id]);ae(ge>=0?ge:Math.min(b.defaultIndex,_.length-1))}else if(b.type==="toggle"){let k=document.createElement("button");k.type="button",k.setAttribute("role","switch"),k.className="g-btn g-btn-secondary",k.style.cssText="display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--g-text)";let K=document.createElement("span");K.textContent=Ce(b.label).value;let H=document.createElement("span");H.setAttribute("aria-hidden","true"),H.style.cssText="position:relative;display:block;flex:none;width:44px;height:24px;border-radius:12px;background:var(--g-border)";let ae=document.createElement("span");ae.style.cssText="position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003",H.append(ae),k.append(K,H);let ge=(q,ee=!1)=>{if(R[x.id]=q,ee&&A&&Object.keys(r(A)).length){for(let ce of Object.keys(r(A)))delete R[ce];kn(),We({type:"selection",selection:Ve()}),ze.querySelector(`[data-g-node="${x.id}"] [role="switch"]`)?.focus({preventScroll:!0});return}k.setAttribute("aria-checked",String(q)),H.style.background=q?"var(--g-primary)":"var(--g-border)",ae.style.left=q?"23px":"3px",ae.style.background=q?"var(--g-on-primary)":"#FFFFFF",_.forEach((ce,he)=>ce.hidden=he!==(q?0:1)),ai()};k.addEventListener("click",q=>{q.stopPropagation(),ge(!R[x.id],!0),zr(x.id,!!R[x.id])}),y.prepend(k),ge(typeof R[x.id]=="boolean"?R[x.id]:b.defaultEnabled)}else{y.setAttribute("role","region"),y.setAttribute("aria-roledescription","carousel");let k=document.createElement("div");k.style.cssText="display:flex;align-items:center;justify-content:center;gap:10px";let K=document.createElement("button"),H=document.createElement("button"),ae=document.createElement("span"),ge=se.startsWith("zh");K.textContent="\u2190",H.textContent="\u2192",K.setAttribute("aria-label",ge?"\u4E0A\u4E00\u6761\u8BC4\u4EF7":"Previous review"),H.setAttribute("aria-label",ge?"\u4E0B\u4E00\u6761\u8BC4\u4EF7":"Next review");for(let ee of[K,H])ee.type="button",ee.className="g-btn g-btn-secondary",ee.style.color="var(--g-text)";ae.setAttribute("aria-live","polite");let q=ee=>{O[x.id]=ee,_.forEach((ce,he)=>ce.hidden=he!==ee),ae.textContent=`${ee+1} / ${_.length}`,ai()};K.addEventListener("click",ee=>{ee.stopPropagation(),q((O[x.id]+_.length-1)%_.length)}),H.addEventListener("click",ee=>{ee.stopPropagation(),q((O[x.id]+1)%_.length)}),k.append(K,ae,H),y.append(k),q(O[x.id]??0)}}}function wi(y){return!!y.textContent?.trim()||[...y.querySelectorAll(".g-custom")].some(x=>!!x.shadowRoot?.textContent?.trim())}function Za(y){if(y.hidden)return"";if(y.type==="text"&&(y.variant==="title"||y.variant==="heading")){let{value:x,missing:b}=Ot(y,"text",y.text);return b||x.includes("{{")?"":x.replace(/\s+/g," ").trim()}if(y.type==="custom_html"){let x=document.createElement("template");x.innerHTML=y.html[se]??y.html[A.strings.defaultLocale]??"";let b=x.content.querySelector("h1,h2");return b?.querySelectorAll("br").forEach(_=>_.replaceWith(" ")),b?.textContent?.replace(/\s+/g," ").trim()??""}if(y.type==="stack")for(let x of y.children){let b=Za(x);if(b)return b}return""}function Wc(y){return y.type==="stack"&&!y.interaction&&!y.purchaseAction}function Uo(y){let x=[],b=_=>{let C=P?.nodes[_.id];if(x.push(_.id,De(_.id)),C?.picker&&x.push(R[C.picker],P?.pickers[C.picker]),_.type==="text")x.push(Ot(_,"text",_.text));else if(_.type==="button")x.push(Ot(_,"label",_.label));else if(_.type==="image")x.push(Ot(_,"alt",_.alt));else if(_.type==="custom_html"){let T=Oe(_);x.push(T,e.mode==="live"&&E?Q(T).map(k=>[k,ut(k)]):void 0)}else if(_.type==="customer_data")x.push(I?.nodes[_.id]);else if(_.type==="plan_picker"){let T=P?.pickers[_.id];x.push(R[_.id],B[_.id],T,C,T?.options.map(k=>P?.plans[k]))}else _.type==="stack"&&(_.interaction?.type!=="input"&&x.push(R[_.id],O[_.id]),t(_)&&x.push(R[_.interaction.pickerId],P?.pickers[_.interaction.pickerId]),_.children.forEach(b))};return b(y),JSON.stringify(x)}function Jc(y){y.hidden||(Wc(y)?y.children.forEach(Jc):M.set(y.id,Uo(y)))}function Ha(y){if(y.type==="custom_html"){let b=Er(y.id),_=b&&re.get(b);_&&pn(_)}let x=$.get(y.id);x!==void 0&&clearInterval(x),$.delete(y.id),y.type==="stack"&&y.children.forEach(Ha)}function Vo(y,x){if(y.hidden)return;if(Wc(y)){y.children.forEach(C=>Vo(C,y));return}if(M.get(y.id)===Uo(y))return;let b=Er(y.id);if(!b)return;if(y.type==="custom_html"&&re.has(b)){Ye(b,y),M.set(y.id,Uo(y));return}Ha(y);let _=zi(y,x);_&&(b.replaceWith(_),M.set(y.id,Uo(y)))}function Ga(){let y=document.activeElement;if(!(y instanceof HTMLElement)||!ze.contains(y))return;let x=y.closest("[data-g-node]");if(!x)return;let b=[];for(let _=y;_!==x;){let C=_.parentElement;if(!C)return;b.unshift(Array.prototype.indexOf.call(C.children,_)),_=C}return{active:y,nodeId:x.dataset.gNode,path:b,identity:["productPeriod","planId","productTier","gDataFocus"].map(_=>[_,y.dataset[_]]).find(([,_])=>_!==void 0),selection:y instanceof HTMLInputElement&&y.selectionStart!==null?{start:y.selectionStart,end:y.selectionEnd,direction:y.selectionDirection}:void 0}}function kr(y){if(!y||y.active.isConnected)return;let x=Er(y.nodeId);if(!x)return;let b=x;if(y.identity){let[_,C]=y.identity;b=[...x.querySelectorAll("*")].find(T=>T.dataset[_]===C)}else for(let _ of y.path)b=b?.children[_];!b||b.hasAttribute("disabled")||(b.focus({preventScroll:!0}),y.selection&&b instanceof HTMLInputElement&&["text","search","tel","url","password"].includes(b.type)&&b.setSelectionRange(y.selection.start,y.selection.end,y.selection.direction??void 0))}function kn(y=!1){if(!A)return;let x=y?void 0:Ga(),b=A.pages.find(C=>C.id===(X??A.initialPageId))??A.pages[0];if(X=b.id,P){let C={},T=k=>{k.type==="stack"&&k.children.forEach(T),k.type==="plan_picker"&&typeof R[k.id]=="string"&&R[k.id]!==""&&(C[k.id]=String(R[k.id]))};T(b.root),Object.assign(R,i({...A,pages:[b]},Ve(),P)),Object.assign(R,C)}let _=C=>{if(C.type==="stack"&&C.children.forEach(_),C.type!=="plan_picker"||!C.grouping)return;let T=C.grouping,k=P?.pickers[C.id],K=B[C.id];if(!K){let ae=T.assignments.find(ge=>ge.productVersionId===(R[C.id]??k?.selected));K={period:ae?.period??"month",tierId:ae?.tierId??T.tiers[0].id},B[C.id]=K}let H=T.assignments.find(ae=>ae.tierId===K.tierId&&ae.period===K.period);R[C.id]=H&&k?.options.includes(H.productVersionId)?H.productVersionId:""};if(_(b.root),y||z!==b){z&&Ha(z.root),$.forEach(k=>clearInterval(k)),$.clear(),M.clear(),V.clear(),ze.style.cssText="",me(b.theme?{...A,theme:b.theme}:A);let C=se.split("-")[0];document.documentElement.lang=se,document.documentElement.dir=["ar","he","fa","ur"].includes(C)?"rtl":"ltr",ze.dataset.gPresentation=A.presentation.type;let T=zi(b.root,null);ze.replaceChildren(...T?[T]:[]),z=b,Jc(b.root)}else Vo(b.root,null);if(kr(x),ze.dataset.gPage=b.id,e.mode==="live"&&We({type:"page",pageId:b.id}),ve)ai();else{Wa(),Qc();let C=Math.ceil(ze.getBoundingClientRect().height);ve=!0,Y=C,We({type:"rendered",height:C,label:Za(b.root)||A.name})}}function ai(){let y=Math.ceil(ze.getBoundingClientRect().height);y!==Y&&(Y=y,We({type:"resize",height:y})),Wa(),Qc()}function Vi(){Be||(Be=!0,window.requestAnimationFrame(()=>{Be=!1,ai()}))}function Qc(){if(e.mode!=="editor")return;let y=[];for(let b of ze.querySelectorAll("[data-g-node]")){let _=b.getBoundingClientRect();!_.width||!_.height||y.push({id:b.dataset.gNode,x:_.x,y:_.y,width:_.width,height:_.height})}let x=JSON.stringify(y);x!==Ge&&(Ge=x,We({type:"layout",nodes:y}))}function Er(y){if(!y||!/^[a-zA-Z][a-zA-Z0-9_-]*$/.test(y))return null;let x=V.get(y);return x?.isConnected?x:null}function Ka(y,x){let b=Er(x);if(!b){y.style.display="none";return}let _=b.getBoundingClientRect();y.style.display="block",y.style.left=`${_.left+window.scrollX}px`,y.style.top=`${_.top+window.scrollY}px`,y.style.width=`${_.width}px`,y.style.height=`${_.height}px`,y.toggleAttribute("data-below",_.top<20),y.firstChild.textContent=b.dataset.gLabel??""}function Wa(){e.mode==="editor"&&(Ka(qt,Le),Ka(rt,Ae&&Ae!==Le?Ae:null))}function Bi(y){for(let x of y.composedPath()){if(x instanceof HTMLElement&&x.dataset.gNode)return x.dataset.gNode;if(x===ze)break}return null}function Zy(y){if(y.isTrusted){if(e.mode==="editor"){y.preventDefault(),y.stopPropagation(),We({type:"select",id:Bi(y)});return}for(let x of y.composedPath()){if(!(x instanceof HTMLElement))continue;let b=x.dataset.gAction??(x.tagName==="BUTTON"?x.getAttribute("data-grow-action"):null);if(b&&!x.disabled){y.preventDefault();let _=A?.actions.find(C=>C.id===b);if(_?.type==="navigate"){if(X=_.pageId,A)for(let T of Object.keys(r(A)))delete R[T];kn();let C=ze.querySelector("h1,h2")??ze;C===ze&&(ze.setAttribute("role","group"),ze.setAttribute("aria-label",A?.pages.find(T=>T.id===X)?.name??A?.name??"Page")),C.tabIndex=-1,C.focus({preventScroll:!0});return}We({type:"action",actionId:b,nodeId:Bi(y)??void 0,...Object.keys(R).length?{selection:Ve()}:{},...E?{answers:zo()}:{}});return}if(x===ze)return}}}function qi(y){let x=y;if(!(!x||x.channel!==e.channel))try{if(x.type==="render"){let b=x.doc;if(!b||b.kind!=="screen"||b.schemaVersion!==4||Object.hasOwn(b,"funnel")||!b.pages?.length||b.pages.length>(b.surface==="paywall"?10:1)||b.pages.some(_=>Object.hasOwn(_,"source"))||b.actions?.some(_=>!["event","close","open_url","claim_offer",...b.surface==="paywall"?["navigate"]:[]].includes(_.type)))throw new Error("Unsupported screen document; use the current Funnel runtime for flows");F.clear(),j=N=0,A=b,X=null,se=String(x.locale),w=new Set,E=x.serverInput,R=g(),B=g(),P=x.capabilities,I=x.customerData,oi.clear();for(let[_,C]of Object.entries(P?.pickers??{}))C.selected&&(R[_]=C.selected);if(x.selection&&typeof x.selection=="object"&&!Array.isArray(x.selection)){let _=x.selection,C=k=>{let K=_[k.id];if(k.type==="quantity_picker"&&typeof K=="number"&&(R[k.id]=K),k.type==="plan_picker"&&typeof K=="string"&&k.planIds?.includes(K)&&(R[k.id]=K),k.type==="stack"){if(k.interaction?.type==="toggle"&&typeof K=="boolean"&&(R[k.id]=K),k.interaction&&["select","tabs"].includes(k.interaction.type)&&typeof K=="string"&&k.children.some(H=>H.id===K)&&(R[k.id]=K),t(k)){let H=_[k.interaction.pickerId];typeof H=="string"&&k.children.some(ae=>ae.type==="stack"&&ae.bind?.plan===H)&&(R[k.interaction.pickerId]=H)}k.children.forEach(C)}};A.pages.forEach(k=>C(k.root));let T=_.__page;typeof T=="string"&&A.pages.some(k=>k.id===T)&&(X=T)}for(let _ of E?.bindings??[])Object.hasOwn(E.answers,_.variable)&&(R[_.componentId]=E.answers[_.variable],w.add(_.componentId));O=g(),se=String(x.locale),at(),kn(!0)}else if(x.type==="capabilities"){P=x.capabilities;for(let[b,_]of Object.entries(P.quantities??{})){let C=Er(b),T=C?.querySelector('input[type="range"]');if(T){T.min=String(_.minimum),T.max=String(_.maximum),T.disabled=!_.available,T.setAttribute("aria-valuetext",_.label);let k=C?.querySelector("output");k&&(k.textContent=_.label)}}at();for(let[b,_]of Object.entries(P.pickers))!B[b]&&(R[b]===void 0||R[b]==="")&&(R[b]=_.selected??"");kn()}else x.type==="customer-data"?Kc(x.data):x.type==="restore-action-focus"&&e.mode==="live"?[...ze.querySelectorAll("button[data-g-node]")].find(b=>b.dataset.gNode===x.nodeId&&!b.disabled)?.focus({preventScroll:!0}):x.type==="highlight"&&e.mode==="editor"&&(Ae=x.hoverId??null,Le=x.selectedId??null,Wa())}catch(b){We({type:"error",message:b instanceof Error?b.message:"render failed"})}}let $d=document.createElement("style");if($d.textContent=m,document.head.append($d),document.body.append(ze),e.mode==="editor"){document.body.dataset.gEditor="",document.body.append(rt,qt),document.addEventListener("mouseover",x=>{let b=Bi(x);b!==Pt&&(Pt=b,We({type:"hover",id:b}))}),document.documentElement.addEventListener("mouseleave",()=>{Pt!==null&&(Pt=null,We({type:"hover",id:null}))}),document.addEventListener("dblclick",x=>{let b=Bi(x);b&&x.isTrusted&&We({type:"edit",id:b})}),document.addEventListener("click",x=>{ze.contains(x.target)||We({type:"select",id:null})});let y=(x,b)=>{if(!x.isTrusted)return;let _=x.metaKey||x.ctrlKey,C=x.key;(C===" "||b==="down"&&(["Delete","Backspace","Escape"].includes(C)||_&&/^[zysdcvg0=+-]$/i.test(C)))&&((_||C===" ")&&x.preventDefault(),We({type:"key",key:{key:C,phase:b,meta:x.metaKey,ctrl:x.ctrlKey,shift:x.shiftKey,alt:x.altKey}}))};document.addEventListener("keydown",x=>y(x,"down")),document.addEventListener("keyup",x=>y(x,"up")),document.addEventListener("wheel",x=>{!x.isTrusted||!(x.ctrlKey||x.metaKey)||(x.preventDefault(),We({type:"zoom",delta:x.deltaY}))},{passive:!1})}ze.addEventListener("click",Zy),document.addEventListener("keydown",y=>{y.key==="Escape"&&y.isTrusted&&We({type:"escape"})}),typeof ResizeObserver=="function"&&new ResizeObserver(Vi).observe(ze),window.addEventListener("resize",Vi),e.mode==="editor"&&window.addEventListener("scroll",Qc),window.addEventListener("message",y=>{y.source===o&&qi(y.data)}),a.__indianaReceive=qi,We({type:"ready"})}function z4(e,t){let r=JSON.stringify(e).replace(/</g,"\\u003c");return`<!doctype html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'nonce-${t}'; style-src 'unsafe-inline'; img-src https: data:; connect-src 'none'; font-src 'none'; media-src 'none'; frame-src 'none'; base-uri 'none'; form-action 'none'"></head><body><script type="application/json" id="grow-renderer-boot">${r}<\/script><script nonce="${t}">${JX}<\/script></body></html>`}var JX,U4=S(()=>{"use strict";JX=`(${WX.toString()})(JSON.parse(document.getElementById("grow-renderer-boot").textContent))`});function V4(e,t){return yP.set(e,t),()=>yP.delete(e)}function Rd(e){let t=e.defaultView?.HTMLElement,r=e.activeElement;for(let o=0;o<16&&r?.shadowRoot?.activeElement;o++)r=r.shadowRoot.activeElement;let i=r?yP.get(r)?.():void 0;return()=>{!r?.isConnected||!t||!(r instanceof t)||(r.focus({preventScroll:!0}),i?.())}}var yP,Ey=S(()=>{"use strict";yP=new WeakMap});function B4(e){let t={display:"block",position:"fixed",top:"0",left:"0",opacity:"0",pointerEvents:"none",zIndex:"-1"},r=Object.keys(t).map(a=>{let s=a,c=e.style[s];return e.style[s]=t[s],[s,c]}),i=e.inert??!1,o=e.getAttribute("aria-hidden");return e.inert=!0,e.setAttribute("aria-hidden","true"),()=>{for(let[a,s]of r)e.style[a]=s;e.inert=i,o===null?e.removeAttribute("aria-hidden"):e.setAttribute("aria-hidden",o)}}var q4=S(()=>{"use strict"});function Z4(e){return Object.assign(new Error(`Web View renderer did not start (${e.phase} timeout)`),{name:"RendererStartupError",code:"RENDERER_STARTUP_TIMEOUT",details:e})}function H4(e,t,r){let i=(()=>{let A=e.defaultView;if(!A)throw new Error("Renderer host has no browser window");return A})(),o=r?.hasAttribute("src")?"navigation":"handshake",a=o==="navigation"?1e4:5e3,s=0,c=0,u,l=!1,d=!1;function p(){if(u===void 0)return;i.clearTimeout(u),u=void 0;let A=Math.max(0,performance.now()-c);s+=A,a=Math.max(0,a-A)}function h(){l||(l=!0,p(),e.removeEventListener("visibilitychange",f),r?.removeEventListener("load",g))}function f(){if(!(l||d)){if(e.visibilityState==="hidden"){p();return}u===void 0&&(c=performance.now(),u=i.setTimeout(()=>{s+=Math.max(0,performance.now()-c),u=void 0,h(),t({phase:o,visibleMs:Math.round(s)})},a))}}function m(A){l||o===A||o==="render"||(p(),o=A,a=5e3,f())}function g(){o==="navigation"&&m("handshake")}return r?.addEventListener("load",g,{once:!0}),e.addEventListener("visibilitychange",f),f(),Object.assign(h,{ready:()=>{d=!1,m("render"),f()},awaitContent:()=>{l||o==="render"||(p(),d=!0,m("render"))}})}var G4=S(()=>{"use strict"});function QX(e,t,r,i,o=document){let a=crypto.randomUUID(),s=crypto.randomUUID().replaceAll("-",""),c=o.createElement("iframe");c.title=t,c.setAttribute("sandbox","allow-scripts"),c.referrerPolicy="no-referrer";let u=o.defaultView,l=1;for(;u!==window&&l<16;)u=u.parent,l++;if(u!==window)throw new Error("Renderer container must belong to this host or a descendant window");let d={channel:a,parentOrigin:window.origin,hostDepth:l,mode:e,...e==="editor"?{editorMessages:r}:{}};if(i==="bundled"){if(e!=="live")throw new Error("Bundled renderer requires live mode");c.src="data:text/html;charset=utf-8,"+encodeURIComponent(jk.html)+"#"+encodeURIComponent(JSON.stringify(d))}else if(i){if(e!=="live")throw new Error("Hosted Web Views only support live rendering");let f=new URL(i);if(f.username||f.password||f.search||f.hash||!/^\/web-view\/renderer\/[a-f0-9]{64}$/.test(f.pathname)||f.protocol!=="https:"&&!(f.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(f.hostname)))throw new Error("Invalid hosted renderer URL");f.hash=encodeURIComponent(JSON.stringify(d)),c.src=f.href}else c.srcdoc=z4(d,s);return{frame:c,post:f=>c.contentWindow?.postMessage({...f,channel:a},"*"),accept:f=>f.source===c.contentWindow&&f.origin==="null"&&f.data&&typeof f.data=="object"&&"channel"in f.data&&"type"in f.data&&typeof f.data.type=="string"&&f.data.channel===a?f.data:null}}function Cy(e,t={}){let r=(()=>{let R=e.ownerDocument.defaultView;if(!R)throw new Error("Preview container has no browser window");return R})(),i=t.mode??"editor",o=L4(r),{frame:a,post:s,accept:c}=QX(i,t.title??"\u5F39\u7A97\u9884\u89C8",t.editorMessages,t.rendererUrl,e.ownerDocument);a.style.cssText="display:block;border:0;width:100%;height:0";let u=!1,l=!1,d=null,p=null,h=!1,f,m=V4(a,()=>f),g,A,E=new Promise((R,O)=>{g=R,A=O});E.catch(()=>{});let w=H4(e.ownerDocument,R=>{if(h||l)return;let O=Z4(R);A(O),it(t.onError,O.message),P()},a);function P(){h||(h=!0,m(),f=void 0,o.destroy(),w(),u||A(new Error("Web View mount cancelled")),window.removeEventListener("message",z),u=!1,d=null,p=null,I=null,V=void 0,W.clear(),a.remove(),a.removeAttribute("srcdoc"),a.removeAttribute("src"))}let I=null,$={},M,V,Z="modal",W=new Set,F=t.viewportHeight,re=0,j=R=>{re=R;let O=F,B=O?Z==="fullscreen"?O:Math.max(1,Math.min(R,O-(Z==="sheet"?0:32))):R;a.style.height=`${B}px`,it(t.onResize,B)};function N(R){if(!V)return;let O=Jr.safeParse(R);if(!O.success||Object.keys(O.data).some(B=>!V.bindings.some(se=>se.variable===B))){it(t.onError,"Invalid current-screen answers");return}return O.data}function z(R){let O=h?null:c(R);if(O)if(O.type==="ready")u=!0,g(),d&&s(d),d?w.ready():w.awaitContent(),p&&s(p);else if(O.type==="rendered"||O.type==="resize")j(O.height),O.type==="rendered"&&(l=!0,w(),O.label&&(a.title=O.label),it(t.onRendered,O.label));else if(O.type==="layout"&&i==="editor")Array.isArray(O.nodes)&&O.nodes.length<=(I?gn.nodes:0)&&O.nodes.every(B=>B&&typeof B.id=="string"&&/^[a-zA-Z][a-zA-Z0-9_-]{0,63}$/.test(B.id)&&[B.x,B.y,B.width,B.height].every(se=>typeof se=="number"&&Number.isFinite(se))&&B.width>0&&B.height>0)&&it(t.onLayout,O.nodes);else if(O.type==="page"&&i==="live"&&W.has(O.pageId))it(t.onPageChange,O.pageId);else if(O.type==="escape"&&i==="live")it(t.onEscape);else if(O.type==="hover")it(t.onHover,O.id);else if(O.type==="select")it(t.onSelect,O.id);else if(O.type==="edit")it(t.onEdit,O.id);else if(O.type==="key"&&i==="editor"){let B=O.key;B&&typeof B.key=="string"&&B.key.length<=16&&(B.phase==="down"||B.phase==="up")&&[B.meta,B.ctrl,B.shift,B.alt].every(se=>typeof se=="boolean")&&it(t.onKey,{key:B.key,phase:B.phase,meta:B.meta,ctrl:B.ctrl,shift:B.shift,alt:B.alt})}else if(O.type==="zoom"&&i==="editor"&&typeof O.delta=="number"&&Number.isFinite(O.delta))it(t.onZoom,O.delta);else if(O.type==="customer-data-intent"&&i==="live"&&I){let B=o_.safeParse(O.intent);B.success&&Tn(I,B.data.nodeId)?.type==="customer_data"&&it(t.onCustomerDataIntent,B.data)}else if(O.type==="answers"&&i==="live"&&V){let B=N(O.answers);B&&it(t.onAnswers,B)}else if(O.type==="selection"&&I&&d?.type==="render"&&d.capabilities){let B=Xf(I,O.selection,d.capabilities);$=B;let se=od(I,M??d.capabilities,B,d.locale);s({type:"capabilities",capabilities:se}),it(t.onSelection,B)}else if(O.type==="action"&&I?.actions.some(B=>B.id===O.actionId)){let B=N(O.answers);if(V&&!B)return;let se=I,ve=O.nodeId?Tn(se,O.nodeId):void 0;f=i==="live"&&ve?.type==="button"&&ve.action===O.actionId?()=>{!h&&I===se&&s({type:"restore-action-focus",nodeId:ve.id})}:void 0,it(t.onAction,O.actionId,Xf(I,O.selection,d?.type==="render"?d.capabilities:void 0),B)}else O.type==="error"&&it(t.onError,O.message)}window.addEventListener("message",z),e.append(a);let X={ready:E,get document(){return I},updateCustomerData(R){if(h||!I)return;let O=rc.parse(R),B={nodes:Object.fromEntries(Object.entries(O.nodes).filter(([se,ve])=>{let Y=Tn(I,se);return Y?.type==="customer_data"&&Y.data.source===ve.source}))};d?.type==="render"&&(d.customerData=B),u&&s({type:"customer-data",data:B})},updateCapabilities(R){if(h||!I)return;M=R;let O=o.prepare(od(I,R,$,d?.type==="render"?d.locale:"en"),I);O&&(d?.type==="render"&&JSON.stringify(d.capabilities)===JSON.stringify(O)||(d?.type==="render"&&(d.capabilities=O),u&&s({type:"capabilities",capabilities:O})))},update(R,O,B){if(h)return;let se;try{let ve=M4(R,r),Y=i==="live"&&!!B?.serverInput,Be=Y?ic(ve,[O]):O,Ge=Y?u_(ve,Be):ve,Ae=B?.serverInput?eI.parse(B.serverInput):void 0;if(Ae&&(ve.surface!=="paywall"&&ve.pages.length!==1||ve.actions.some(ze=>ze.type!=="event"&&ze.type!=="navigate"||ze.close)||Ae.bindings.some(ze=>{let rt=Tn(ve,ze.componentId);return rt?.type!=="stack"||!rt.interaction||!["input","multiselect","select","tabs","toggle"].includes(rt.interaction.type)})))throw new Error("Current Funnel input requires one screen with bound interactive controls and output actions");let Le=Hn.parse(B?.parameters??{}),Pt=B?.customerData?rc.parse(B.customerData):void 0;if(i==="live"&&!B?.reset&&d?.type==="render"&&(B?.capabilities!==void 0||d.capabilities===void 0)&&JSON.stringify([d.doc,d.locale,d.parameters,d.serverInput,d.selection])===JSON.stringify([Ge,Be,Le,Ae,B?.selection])){B?.capabilities&&X.updateCapabilities(B.capabilities),JSON.stringify(d.customerData)!==JSON.stringify(Pt)&&(X.updateCustomerData(Pt??{nodes:{}}),d.customerData=Pt);return}I=Ge,M=B?.capabilities,$=B?.selection??{},V=Ae,Z=ve.presentation.type,W=new Set(ve.pages.map(ze=>ze.id)),se={type:"render",doc:Ge,...Ae?{serverInput:Ae}:{},locale:Be,parameters:Le,capabilities:o.prepare(B?.capabilities?od(Ge,B.capabilities,B.selection??{},Be):void 0,ve),...B?.selection?{selection:B.selection}:{},customerData:Pt},Z==="fullscreen"&&F&&j(F)}catch(ve){it(t.onError,ve instanceof Error?ve.message:"\u5185\u5BB9\u4E0D\u6B63\u786E");return}d=se,u&&(s(se),w.ready())},resizeViewport(R){h||!Number.isFinite(R)||R<=0||(F=R,j(re))},highlight(R,O){h||(p={type:"highlight",hoverId:R,selectedId:O},u&&s(p))},destroy:P};return X}var bP=S(()=>{"use strict";Dk();RF();F4();U4();Da();Ey();G4()});async function Y4(e,t,r){if(t.status!=="complete")throw new G("INVALID_RESPONSE","A verified completed purchase is required");if(await r.onComplete?.(t),!e||!r.check)return;let i=Hr.parse(await r.check());if(i.internal_feature_id!==e.internal_feature_id||i.quantity!==e.quantity)throw new G("INVALID_RESPONSE","The access requirement changed");i.allowed&&await r.onAccessGranted?.(i)}var X4=S(()=>{"use strict";bn();xr()});var SP={};ke(SP,{mountScreenPreview:()=>Cy});var vP=S(()=>{bP()});async function Ny(e,t){let r=t.check?Hr.parse(await t.check()):null;if(r?.allowed)return await t.onAccessGranted?.(r),{check:r,host:null};let i=Rd(e.ownerDocument),o=await t.start(),a=o.view??await o.refresh();if(!a)throw new G("INVALID_RESPONSE","Paywall presentation is missing");let{mountScreenPreview:s}=await Promise.resolve().then(()=>(vP(),SP)),c=e.ownerDocument,u=new AbortController,l=c.createElement("section"),d=c.createElement("div"),p=c.createElement("div"),h=c.createElement("p"),f=c.createElement("button"),m=c.createElement("button"),g=c.createElement("dialog"),A=a.document.screen.strings.defaultLocale.startsWith("zh");l.dataset.indianaPaywall="",l.setAttribute("aria-label",a.document.name),l.style.cssText="width:100%;box-sizing:border-box;background:#fff;color:#172033;font:14px/1.5 system-ui,sans-serif",p.style.cssText="display:flex;gap:12px;padding:12px 20px;align-items:center;flex-wrap:wrap",h.setAttribute("role","status"),m.textContent=A?"\u5173\u95ED":"Close",f.textContent=A?"\u91CD\u8BD5":"Retry",f.hidden=!0,p.append(h,f,m),l.append(d,p);let E=a.document.presentation,w,P=!1,I=!1,$=null,M=!1,V=()=>!M&&t.canInteract?.()!==!1,Z=!1,W=null,F=null,re=new Map;async function j(Y){if(!(!V()||!Y.checkoutUrl||re.get(Y.operationId)===Y.checkoutUrl)){re.set(Y.operationId,Y.checkoutUrl);try{t.onCheckoutUrl?await t.onCheckoutUrl(Y.checkoutUrl):c.defaultView?.location.assign(Y.checkoutUrl)}catch(Be){throw re.delete(Y.operationId),Be}}}let N=Y=>{h.textContent=Y instanceof Error?Y.message:A?"\u8BF7\u6C42\u5931\u8D25":"Request failed",it(t.onError,Y),f.hidden=W===null};async function z(Y){if(!(I||P||!V())){I=!0,f.hidden=!0,h.textContent="";try{await Y()}catch(Be){P||N(Be)}finally{I=!1}}}async function X(Y){await Y4(r,Y,t)}async function R(Y){if(P)return;if(!V()){W=async()=>R(await o.read()),f.hidden=!1;return}if(h.textContent=Y.status,Y.problem){let Ae=Y.problem;W=O,f.textContent=A?"\u68C0\u67E5\u5E76\u6062\u590D\u539F\u64CD\u4F5C":"Check and recover original purchase",N(new G(Ae.code,Ae.reason==="RESULT_UNKNOWN"?A?"\u4ED8\u6B3E\u7ED3\u679C\u5C1A\u672A\u786E\u5B9A\uFF0C\u8BF7\u6062\u590D\u539F\u64CD\u4F5C\uFF0C\u6682\u52FF\u91CD\u590D\u8D2D\u4E70\u3002":"The payment result is unknown. Recover the original purchase before buying again.":Ae.phase==="fulfillment"?A?"\u4ED8\u6B3E\u5DF2\u8BB0\u5F55\uFF0C\u5546\u6237\u6743\u76CA\u5904\u7406\u9700\u8981\u6838\u5BF9\u3002":"Payment was recorded. Access fulfillment needs attention.":Ae.code==="CAPABILITY_UNAVAILABLE"?A?"\u5546\u6237\u5C1A\u4E0D\u652F\u6301\u672C\u6B21\u8D2D\u4E70\u6240\u9700\u7684\u5B8C\u6574\u80FD\u529B\uFF0C\u8BF7\u5904\u7406\u540E\u6062\u590D\u539F\u64CD\u4F5C\u3002":"The merchant does not currently support all actions required by this purchase. Recover the original purchase after this is resolved.":Ae.code==="NOT_CONFIGURED"?A?"\u4ED8\u6B3E\u670D\u52A1\u8FDE\u63A5\u9700\u8981\u5904\u7406\uFF0C\u8BF7\u8054\u7CFB\u5546\u6237\u540E\u6062\u590D\u539F\u64CD\u4F5C\u3002":"The payment connection needs attention. Contact the merchant, then recover the original purchase.":A?"\u539F\u8D2D\u4E70\u64CD\u4F5C\u9700\u8981\u5904\u7406\uFF0C\u8BF7\u67E5\u8BE2\u6216\u6062\u590D\u6B64\u64CD\u4F5C\u3002":"The original purchase needs attention. Check or recover this operation.",void 0,void 0,Ae));return}if(Y.merchantExecution?.type==="purchase"&&Y.merchantExecution.paymentStatus==="succeeded"&&!["applied","not_applicable"].includes(Y.merchantExecution.fulfillmentStatus)&&(h.textContent=A?"\u4ED8\u6B3E\u5DF2\u8BB0\u5F55\uFF0C\u6B63\u5728\u7B49\u5F85\u5546\u6237\u5B8C\u6210\u5904\u7406\u3002":"Payment was recorded. Waiting for merchant fulfillment."),Y.status==="complete"){W=null,await X(Y);return}if(Y.status!=="pending"){if(o.canReselect===!1){h.textContent=A?"\u6B63\u5728\u6838\u5BF9\u539F\u8D2D\u4E70\u7ED3\u679C":"Checking the original purchase result",f.textContent=A?"\u67E5\u8BE2\u7ED3\u679C":"Check result",W=async()=>R(await o.read()),f.hidden=!1;return}f.textContent=A?"\u91CD\u8BD5":"Retry",W=null,$=null;return}await j(Y);let Be=Date.now()+6e5,Ge=2e3;for(;!P&&Date.now()<Be;){if(await new Promise(Le=>{let Pt=()=>{clearTimeout(ze),Le()},ze=setTimeout(()=>{u.signal.removeEventListener("abort",Pt),Le()},Ge);u.signal.addEventListener("abort",Pt,{once:!0})}),P)return;if(!V()){W=async()=>R(await o.read()),f.hidden=!1;return}let Ae=await o.read();if(!Ae.problem&&Ae.status==="pending"&&await j(Ae),Ae.status!=="pending"||Ae.problem){await R(Ae);return}Ge=Math.min(Ge*1.5,3e4)}W=async()=>R(await o.read()),f.hidden=!1}async function O(){F?.remove(),F=null,W=O;let Y=await o.confirm();if(!V()){W=O,f.hidden=!1;return}if(Y.problem){await R(Y);return}if(Y.status==="pending"){if(Y.checkoutUrl)await j(Y);else if(Y.execution&&Y.execution.provider!=="merchant"||Y.nativePurchase){if(!t.onPurchase)throw new G("PURCHASE_HANDLER_REQUIRED","Provide the merchant or native purchase handler");await t.onPurchase({operation:Y,signal:u.signal})}}W=async()=>R(await o.read()),await R(Y)}function B(Y){F?.remove();let Be=c.createElement("div"),Ge=c.createElement("button"),Ae=c.createElement("button"),Le=c.createElement("p");Le.textContent=Y.lines.map(rt=>rt.productName).join(", ")+" \xB7 "+Ls(Y.charge?.totalMinor??Y.catalogAmountMinor-(Y.discount?.amountMinor??0),Y.currency),Ge.textContent=A?"\u786E\u8BA4\u8D2D\u4E70":"Confirm purchase",Ae.textContent=A?"\u53D6\u6D88":"Cancel",Ge.onclick=()=>{z(O)};let Pt=async()=>{let rt=await o.cancel();P||(Be.remove(),F=null,await R(rt))};Ae.onclick=()=>{W=Pt,z(Pt)};let ze=c.createElement("div");for(let rt of Y.lines){let qt=c.createElement("p");qt.textContent=`${rt.productName} \xB7 ${Ls(rt.catalogAmountMinor,Y.currency)}${id(rt.interval,A?"zh-CN":"en",rt.intervalCount??1)}`,ze.append(qt);for(let We of rt.prepaid??[]){let jn=c.createElement("p"),ye=o.view?.capabilities.plans[rt.productVersionId]?.prepaid?.find(fe=>fe.internalFeatureId===We.internal_feature_id);jn.textContent=`${ye?.name??We.internal_feature_id} \xB7 ${We.quantity} ${A?"\u4EFD":"packs"} \xD7 ${We.terms.units}`,ye&&(jn.textContent+=id(ye.reset==="week"||ye.reset==="month"||ye.reset==="year"?ye.reset:"one_time",A?"zh-CN":"en",ye.resetCount)),ze.append(jn)}if(rt.trial){let We=c.createElement("p");We.textContent=A?`\u8BD5\u7528 ${rt.trial.days} \u5929\uFF1B${rt.trial.cardRequired?"\u9700\u8981\u63D0\u4F9B\u4ED8\u6B3E\u65B9\u5F0F":"\u65E0\u9700\u63D0\u4F9B\u4ED8\u6B3E\u65B9\u5F0F"}`:`Trial days: ${rt.trial.days}; ${rt.trial.cardRequired?"a payment method is required":"no payment method is required"}`,ze.append(We)}}if(!Y.charge){let rt=c.createElement("p");rt.textContent=A?"\u76EE\u5F55\u4EF7\u683C\uFF1B\u6700\u7EC8\u91D1\u989D\u4EE5\u7ED3\u8D26\u65F6\u7A0E\u8D39\u548C\u8BD5\u7528\u89C4\u5219\u4E3A\u51C6\u3002":"Catalog price; the final charge depends on checkout taxes and trial terms.",ze.append(rt)}Be.append(Le,ze,Ge,Ae),p.prepend(Be),F=Be,W=null}async function se(){if(!$)return;if(W=se,!Z){let Be=o.view,Ge=Be?.document.buttons[$.actionId],Ae=Be&&Ge?.type==="checkout"?_a(Ge.product,$.selection,Be.capabilities):null;if(!Ae)throw new G("PRODUCT_UNAVAILABLE","Choose an available Product in this purchase area");let Le=await t.resolveOfferId?.({actionId:$.actionId,productVersionId:Ae});if(P)return;Le!==void 0&&($.offerId=Le),Z=!0}if(!V()){f.hidden=!1;return}let Y=await o.preview($);P||B(Y)}function ve(Y="destroy"){P||(P=!0,u.abort(),w?.destroy(),o.destroy(),g.open&&g.close(),g.remove(),l.remove(),i(),Y==="dismiss"&&it(t.onDismiss))}m.onclick=()=>{V()&&ve("dismiss")},g.addEventListener("cancel",Y=>{Y.preventDefault(),V()&&ve("dismiss")}),f.onclick=()=>{W&&z(W)};try{if(E.type==="inline")e.append(l);else{let Y={sm:420,md:640,lg:900};g.style.cssText=`padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;width:${"size"in E?Y[E.size]+"px":"100vw"}`,g.setAttribute("aria-label",a.document.name),g.append(l),e.append(g),V()&&(g.showModal(),Dc(g,E.type))}w=s(d,{mode:"live",rendererUrl:o.webViewUrl,title:a.document.name,onAction(Y,Be={}){if(!V())return;let Ge=o.view,Ae=Ge?.document.buttons[Y];if(!Ae)return;if(Ae.type==="close"){z(async()=>{await t.onAction?.(Y),ve(t.onAction?"action":"dismiss")});return}if(Ae.type==="action"){W=async()=>{if(Ae.action.type==="event"){if(!t.onEvent)throw new G("EVENT_HANDLER_REQUIRED","Provide the event handler");await t.onEvent(Ae.action.event)}else t.onOpenUrl?await t.onOpenUrl(Ae.action.url):c.defaultView?.location.assign(Ae.action.url);await t.onAction?.(Y),W=null},z(W);return}if((o.quote||$)&&o.canReselect===!1){W=o.quote?async()=>R(await o.read()):se,z(W);return}let Le=Ge&&_a(Ae.product,Be,Ge.capabilities);if(!Ge||!Le){N(new G("PRODUCT_UNAVAILABLE","Choose an available Product in this purchase area"));return}if(t.onPurchaseIntent){W=null,z(async()=>{let Pt={actionId:Y,productVersionId:Le,selection:structuredClone(Be),featureQuantities:Cc(Ge.document.screen,Le,Be,Ge.capabilities)};await t.onPurchaseIntent(Pt)});return}if($&&$.actionId!==Y){N(new G("COMMAND_PENDING","Finish the current purchase"));return}$||($={requestId:crypto.randomUUID(),actionId:Y,selection:Be},Z=!1),z(se)},onEscape:()=>{V()&&ve("dismiss")},onError:Y=>N(new Error(Y)),onRendered:Y=>{Y&&g.setAttribute("aria-label",Y)}}),w.update(a.document.screen,a.document.screen.strings.defaultLocale,{capabilities:a.capabilities,serverInput:{bindings:[],answers:{}}}),await w.ready}catch(Y){throw ve(),Y}return{check:r,host:{setSuspended(Y){M=Y,l.hidden=Y,Y&&g.open?g.close():!Y&&!P&&E.type!=="inline"&&!g.open&&g.showModal()},destroy:ve,refresh:async()=>{if(!V()){if(o.view)return o.view;throw new G("PRECONDITION_FAILED","Paywall presentation is suspended")}let Y=await o.refresh();return P||w?.updateCapabilities(Y.capabilities),Y}}}}var wP=S(()=>{"use strict";bn();xr();Da();Ey();ng();X4()});function tee(e){return e==="html"?{childList:!0,subtree:!0,attributes:!0,characterData:!0}:{childList:!1,subtree:!1,attributes:!0,attributeFilter:[e]}}function Fy(e){var t=My.get(e);return t||(t={element:e,attributes:{}},My.set(e,t)),t}function zy(e,t,r,i,o){var a=r(e),s={isDirty:!1,originalValue:a,virtualValue:a,mutations:[],el:e,_positionTimeout:null,observer:new MutationObserver(function(){if(!See&&!(t==="position"&&s._positionTimeout)){t==="position"&&(s._positionTimeout=setTimeout(function(){s._positionTimeout=null},1e3));var c=r(e);t==="position"&&c.parentNode===s.virtualValue.parentNode&&c.insertBeforeNode===s.virtualValue.insertBeforeNode||c!==s.virtualValue&&(s.originalValue=c,o(s))}}),mutationRunner:o,setValue:i,getCurrentValue:r};return t==="position"&&e.parentNode?s.observer.observe(e.parentNode,{childList:!0,subtree:!0,attributes:!1,characterData:!1}):s.observer.observe(e,tee(t)),s}function Uy(e,t){var r=t.getCurrentValue(t.el);t.virtualValue=e,e&&typeof e!="string"?(!r||e.parentNode!==r.parentNode||e.insertBeforeNode!==r.insertBeforeNode)&&(t.isDirty=!0,cV()):e!==r&&(t.isDirty=!0,cV())}function nee(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),Uy(gee(t),e)}function ree(e){var t=new Set(e.originalValue.split(/\s+/).filter(Boolean));e.mutations.forEach(function(r){return r.mutate(t)}),Uy(Array.from(t).filter(Boolean).join(" "),e)}function iee(e){var t=e.originalValue;e.mutations.forEach(function(r){return t=r.mutate(t)}),Uy(t,e)}function oee(e){var t=e.parentSelector,r=e.insertBeforeSelector,i=document.querySelector(t);if(!i)return null;var o=r?document.querySelector(r):null;return r&&!o?null:{parentNode:i,insertBeforeNode:o}}function aee(e){var t=e.originalValue;e.mutations.forEach(function(r){var i=r.mutate(),o=oee(i);t=o||t}),Uy(t,e)}function lV(e){var t=Fy(e);return t.html||(t.html=zy(e,"html",see,cee,nee)),t.html}function dV(e){var t=Fy(e);return t.position||(t.position=zy(e,"position",uee,lee,aee)),t.position}function pV(e){var t=Fy(e);return t.classes||(t.classes=zy(e,"class",pee,dee,ree)),t.classes}function mV(e,t){var r=Fy(e);return r.attributes[t]||(r.attributes[t]=zy(e,t,mee(t),fee(t),iee)),r.attributes[t]}function hee(e,t){var r=My.get(e);if(r)if(t==="html"){var i,o;(i=r.html)==null||(o=i.observer)==null||o.disconnect(),delete r.html}else if(t==="class"){var a,s;(a=r.classes)==null||(s=a.observer)==null||s.disconnect(),delete r.classes}else if(t==="position"){var c,u;(c=r.position)==null||(u=c.observer)==null||u.disconnect(),delete r.position}else{var l,d,p;(l=r.attributes)==null||(d=l[t])==null||(p=d.observer)==null||p.disconnect(),delete r.attributes[t]}}function gee(e){return jy||(jy=document.createElement("div")),jy.innerHTML=e,jy.innerHTML}function $y(e,t,r){if(r.isDirty){r.isDirty=!1;var i=r.virtualValue;r.mutations.length||hee(e,t),r.setValue(e,i)}}function yee(e,t){e.html&&$y(t,"html",e.html),e.classes&&$y(t,"class",e.classes),e.position&&$y(t,"position",e.position),Object.keys(e.attributes).forEach(function(r){$y(t,r,e.attributes[r])})}function cV(){My.forEach(yee)}function bee(e,t){var r=null;e.kind==="html"?r=lV(t):e.kind==="class"?r=pV(t):e.kind==="attribute"?r=mV(t,e.attribute):e.kind==="position"&&(r=dV(t)),r&&(r.mutations.push(e),r.mutationRunner(r))}function Aee(e,t){var r=null;if(e.kind==="html"?r=lV(t):e.kind==="class"?r=pV(t):e.kind==="attribute"?r=mV(t,e.attribute):e.kind==="position"&&(r=dV(t)),!!r){var i=r.mutations.indexOf(e);i!==-1&&r.mutations.splice(i,1),r.mutationRunner(r)}}function fV(e){if(!(e.kind==="position"&&e.elements.size===1)){var t=new Set(e.elements),r=document.querySelectorAll(e.selector);r.forEach(function(i){t.has(i)||(e.elements.add(i),bee(e,i))})}}function xee(e){e.elements.forEach(function(t){return Aee(e,t)}),e.elements.clear(),CP.delete(e)}function uV(){CP.forEach(fV)}function vee(){typeof document>"u"||(IP||(IP=new MutationObserver(function(){uV()})),uV(),IP.observe(document.documentElement,{childList:!0,subtree:!0,attributes:!1,characterData:!1}))}function Vy(e){return typeof document>"u"?EP:(CP.add(e),fV(e),{revert:function(){xee(e)}})}function kP(e,t){return Vy({kind:"html",elements:new Set,mutate:t,selector:e})}function hV(e,t){return Vy({kind:"position",elements:new Set,mutate:t,selector:e})}function jd(e,t){return Vy({kind:"class",elements:new Set,mutate:t,selector:e})}function Ly(e,t,r){return eee.test(t)?t==="class"||t==="className"?jd(e,function(i){var o=r(Array.from(i).join(" "));i.clear(),o&&o.split(/\s+/g).filter(Boolean).forEach(function(a){return i.add(a)})}):Vy({kind:"attribute",attribute:t,elements:new Set,mutate:r,selector:e}):EP}function wee(e){var t=e.selector,r=e.action,i=e.value,o=e.attribute,a=e.parentSelector,s=e.insertBeforeSelector;if(o==="html"){if(r==="append")return kP(t,function(c){return c+(i??"")});if(r==="set")return kP(t,function(){return i??""})}else if(o==="class"){if(r==="append")return jd(t,function(c){i&&c.add(i)});if(r==="remove")return jd(t,function(c){i&&c.delete(i)});if(r==="set")return jd(t,function(c){c.clear(),i&&c.add(i)})}else if(o==="position"){if(r==="set"&&a)return hV(t,function(){return{insertBeforeSelector:s,parentSelector:a}})}else{if(r==="append")return Ly(t,o,function(c){return c!==null?c+(i??""):i??""});if(r==="set")return Ly(t,o,function(){return i??""});if(r==="remove")return Ly(t,o,function(){return null})}return EP}var eee,EP,My,CP,see,cee,uee,lee,dee,pee,mee,fee,jy,See,IP,_ee,PP,gV=S(()=>{eee=/^[a-zA-Z:_][a-zA-Z0-9:_.-]*$/,EP={revert:function(){}},My=new Map,CP=new Set;see=function(t){return t.innerHTML},cee=function(t,r){return t.innerHTML=r};uee=function(t){return{parentNode:t.parentElement,insertBeforeNode:t.nextElementSibling}},lee=function(t,r){r.insertBeforeNode&&!r.parentNode.contains(r.insertBeforeNode)||r.parentNode.insertBefore(t,r.insertBeforeNode)};dee=function(t,r){return r?t.className=r:t.removeAttribute("class")},pee=function(t){return t.className};mee=function(t){return function(r){var i;return(i=r.getAttribute(t))!=null?i:null}},fee=function(t){return function(r,i){return i!==null?r.setAttribute(t,i):r.removeAttribute(t)}};See=!1;vee();_ee={html:kP,classes:jd,attribute:Ly,position:hV,declarative:wee},PP=_ee});function By(e,t=()=>{}){let r=new WeakMap,i=0,o=a=>{let s=r.get(a);if(s!==void 0)return s;let c=[],u=a,l=!0;for(;u;){let d=r.get(u);if(d!==void 0){l=d;break}if(++i>8192||c.length>=256)throw Error("IAM render ancestry budget exceeded");if(c.push(u),t(),u.hasAttribute("hidden")||/(?:^|;)\s*display\s*:\s*none\s*(?:!\s*important\s*)?(?:;|$)/i.test(u.getAttribute("style")??"")){l=!1;break}u=u.parentElement}for(let d of c)r.set(d,l);return l};return(a,s)=>{let c=0,u=!1,l=e.querySelectorAll(a);for(let d=0;d<l.length;d++){let p=l[d];if(!p)throw Error("IAM render selection changed");o(p)&&(c++,p===s&&(u=!0)),t()}return s&&!u?0:c}}var OP=S(()=>{"use strict"});function yV(e){if(!Iee(e)||Object.keys(e).some(a=>!["schemaVersion","renderKey","routeTemplate","selectors","present","absent"].includes(a))||e.schemaVersion!==1||typeof e.renderKey!="string"||!e.renderKey||e.renderKey.length>256||typeof e.routeTemplate!="string"||!e.routeTemplate.startsWith("/")||e.routeTemplate.length>2048||!Array.isArray(e.selectors)||e.selectors.length>512||e.selectors.some(a=>typeof a!="string"||a.length>512||!/^[a-z][a-z0-9-]*\[(?:id|data-testid|data-test|data-qa|data-indiana-id)="(?:[^"\\\x00-\x1f\x7f]|\\["\\])*"\]$/.test(a))||!Array.isArray(e.present)||!Array.isArray(e.absent))throw new Error("Invalid IAM render guard");if(e.present.length===0)throw Error("IAM render needs positive source evidence");let t=e.selectors,r=e.present,i=e.absent,o=[...r,...i];if(new Set(t).size!==t.length||o.length!==t.length||new Set(o).size!==o.length||o.some(a=>typeof a!="number"||!Number.isInteger(a)||a<0||a>=t.length))throw new Error("Invalid IAM render signature");return{schemaVersion:1,renderKey:e.renderKey,routeTemplate:e.routeTemplate,selectors:e.selectors,present:e.present,absent:e.absent}}function kee(e,t){let r=e.split("/").filter(Boolean),i="";for(let o of r)/^\[\[\.\.\.[^\[\]]+\]\]$/.test(o)?i+="(?:/[^/]+)*":/^\[\.\.\.[^\[\]]+\]$/.test(o)?i+="(?:/[^/]+)+":/^\[[^\[\]]+\]$/.test(o)?i+="/[^/]+":i+="/"+o.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp("^"+(i?i+"/?":"/")+"$").test(t)&&!/[\[\]]/.test(t)}function bV(e,t,r,i,o=By(t,i)){if(!kee(e.routeTemplate,r))return!1;let a=new Set(e.present),s=!0;for(let c=0;c<e.selectors.length;c++){let u=o(e.selectors[c]);if(a.has(c)&&u>1)throw new Error("IAM render anchor is ambiguous");(a.has(c)?u!==1:u!==0)&&(s=!1),i()}return s}var Iee,TP=S(()=>{"use strict";OP();Iee=e=>!!e&&typeof e=="object"&&!Array.isArray(e)});function DP(e){NP.add(e)}function Eee(e){let t=new Set,r=new Set,i,o=0,a=!1,s=0,c,u=()=>{t.size||o||(i?.disconnect(),c!==void 0&&cancelAnimationFrame(c),e.removeEventListener("visibilitychange",p),RP.delete(e))};function l(h){if(e.hidden)return;let f=performance.now(),m=new Map,g=new Map,A=()=>{if(performance.now()-f>8)throw new Hc},E=Z=>{A();let W=m.get(Z);return W||(W=e.querySelectorAll(Z),m.set(Z,W)),A(),W},w=By({querySelectorAll:E},A),P=Z=>{let W=Z.filter(j=>!m.has(j));if(!W.length)return;let F=new Map;for(let j of W){let N=/^([a-z][a-z0-9-]*)\[(id|data-testid|data-test|data-qa|data-indiana-id)="((?:[^"\\\x00-\x1f\x7f]|\\["\\])*)"\]$/.exec(j);if(!N)throw Error("Invalid IAM render selector");let[,z,X,R]=N,O=R.replace(/\\(["\\])/g,"$1"),B=F.get(z);B||F.set(z,B=new Map);let se=B.get(X);se||B.set(X,se=new Map);let ve=se.get(O);ve||se.set(O,ve=[]),m.set(j,ve)}A();let re=e.querySelectorAll(W.join(","));if(A(),re.length>8192)throw Error("IAM render selection budget exceeded");for(let j of re){let N=F.get(j.localName.toLowerCase());if(N)for(let[z,X]of N){let R=j.getAttribute(z);R!==null&&X.get(R)?.push(j)}A()}},I={query:E,checkpoint:A,matches(Z,W){let F=g.get(W);if(!F){try{let re=!1;F={match:bV(Z,e,location.pathname,A,j=>(re||(P(Z.selectors),re=!0),w(j)))}}catch(re){F={error:re}}g.set(W,F)}if("error"in F)throw F.error;return F.match}},$=[],M=[],V=[];for(let Z of h)if(t.has(Z))try{$.push({job:Z,commit:Z.prepare(I)})}catch(W){if(W instanceof Hc)throw W;M.push({job:Z,error:W})}A();for(let{job:Z,error:W}of M)t.has(Z)&&Z.fail(W);for(let{job:Z,commit:W}of $)if(t.has(Z))try{A(),W(F=>V.push(F))}catch(F){if(F instanceof Hc)throw F;Z.fail(F)}for(let Z of V)Z()}function d(h){if(!(c!==void 0||e.hidden))try{l(h),s=0}catch(f){if(!(f instanceof Hc))throw f;for(let m of[...t])m.suspend();if(s++>=2){for(let m of[...t])m.fail(f);return}c=requestAnimationFrame(()=>{c=void 0,d([...t])})}}function p(){a||!t.size||e.hidden||(a=!0,queueMicrotask(()=>{a=!1,d([...t])}))}return{begin(){o++},end(){--o===0&&(r.clear(),d([...t])),u()},add(h){return i||(i=new MutationObserver(f=>{let m=g=>NP.has(g)||!!(g.parentNode&&NP.has(g.parentNode));f.some(g=>!m(g.target)&&!(g.type==="childList"&&[...g.addedNodes,...g.removedNodes].length>0&&[...g.addedNodes,...g.removedNodes].every(m)))&&p()}),i.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:["style","hidden","data-indiana-id","data-indiana-release","data-testid","id","name"]}),e.addEventListener("visibilitychange",p)),t.add(h),o?r.add(h):d([h]),()=>{t.delete(h),r.delete(h),u()}}}}function Cee(){let e=RP.get(document);return e||(e=Eee(document),RP.set(document,e)),e}function AV(e){return Cee().add(e)}var Hc,RP,NP,xV=S(()=>{"use strict";OP();TP();Hc=class extends Error{constructor(){super("IAM page check exceeded its work budget")}},RP=new WeakMap,NP=new WeakSet});function vV(e){return(!jP||SV!==window)&&(jP=ig(window),SV=window),jP.sanitize(e,{USE_PROFILES:{html:!0},FORBID_TAGS:["form","input","textarea","select","button","style"]})}function wV(e){let t={...e};if(!["html","class","style","position","href","src","alt","title","id","role","hidden"].includes(t.attribute)&&!/^(aria|data)-[a-z0-9_-]+$/.test(t.attribute))throw new Error("Unsupported visual attribute");document.querySelector(t.selector);for(let r of document.querySelectorAll(t.selector))if(["SCRIPT","IFRAME","OBJECT","EMBED","HTML","HEAD"].includes(r.tagName)||r.tagName==="BODY"&&t.attribute==="html")throw new Error("Protected visual target");if(t.attribute==="html"&&(t.value=vV(t.value??"")),["href","src"].includes(t.attribute)&&t.action!=="remove"){let r=new URL(t.value??"",location.href);if(!["https:","http:","mailto:","tel:"].includes(r.protocol)||t.attribute==="src"&&!["https:","http:"].includes(r.protocol))throw new Error("Unsafe visual URL")}return t.parentSelector&&document.querySelector(t.parentSelector),t.insertBeforeSelector&&document.querySelector(t.insertBeforeSelector),t}function _V(e,t={}){if(e.renderGuard&&!t.requireUniqueTargets)throw new Error("IAM render guard requires the source release fence");if(t.requireUniqueTargets)return Pee(e,t);let r=e.domMutations.map(wV),i=[],o=!1,a=!1,s,c=()=>{if(!o){o=!0,s?.disconnect();for(let l of i.reverse())l()}},u=()=>{o||a||(!r.length||e.css||t.allowJs&&e.js||r.some(l=>document.querySelector(l.selector)))&&(a=!0,t.onApplied?.())};try{if(e.css){let p=document.createElement("style");t.nonce&&(p.nonce=t.nonce),p.textContent=e.css,document.head.append(p),i.push(()=>p.remove())}for(let p of r){let h=PP.declarative(p);i.push(()=>h.revert())}if(t.allowJs&&e.js){let p=document.createElement("script");t.nonce&&(p.nonce=t.nonce),p.textContent=e.js,document.head.append(p),i.push(()=>p.remove())}let l=performance.now(),d=new WeakMap;s=new MutationObserver(p=>{if(!o){performance.now()-l>1e3&&(l=performance.now(),d=new WeakMap);for(let h of p){let f=(d.get(h.target)??0)+1;if(d.set(h.target,f),f>40){c(),t.onError?.(new Error("Visual changes conflict with repeated page rendering"));return}}u()}}),s.observe(document.documentElement,{subtree:!0,childList:!0,attributes:!0,characterData:!0}),u()}catch(l){throw c(),l}return{revert:c,inspect(){return{status:"unavailable",total:0,applied:0}},get applied(){return a}}}function Pee(e,t){let r=t?.boundVariations??[e],i=new Set,o=new Set,a=[],s=new Map,c=r.flatMap(Z=>Z.renderGuard?[yV(Z.renderGuard)]:[]),u=c[0];if(c.some(Z=>JSON.stringify(Z)!==JSON.stringify(u)))throw new Error("IAM variations use different render states");if(e.js||r.some(Z=>Z.js))throw Error("IAM scripts cannot execute");if(r.length>20||r.reduce((Z,W)=>Z+W.css.length,0)>262144)throw Error("IAM target budget");let l=(Z,W)=>{for(let re of Z.domMutations){if(re.action!=="set"||re.attribute!=="html")throw Error("Unsupported IAM mutation");i.add(re.selector),o.add(re.selector)}if(!Z.css)return;let F=document.createElement("style");DP(F),F.media="not all",t?.nonce&&(F.nonce=t.nonce),F.textContent=Z.css;try{if(document.head.append(F),!F.sheet)throw Error("IAM CSS is blocked");for(let re of F.sheet.cssRules){if(!("selectorText"in re)||typeof re.selectorText!="string")throw Error("Unsupported IAM style rule");i.add(re.selectorText),W&&a.push({selector:re.selectorText,css:re.cssText})}}finally{F.remove()}};for(let Z of r)l(Z,!1);if(l(e,!0),i.size>200)throw Error("IAM target budget");let d=e.domMutations.map(wV),p=!1,h=!1,f=!1,m=!1,g="",A=0,E=(Z,W)=>{let F=`${Z}:${W}`;if(F!==g&&(g=F,!(!t?.onTargetStatus||A>=32))){A++;try{t.onTargetStatus({status:Z,total:i.size,matched:W})}catch{}}},w={},P=u?JSON.stringify(u):"",I,$="",M=()=>{if(!p){p=!0,w.unsubscribe?.();for(let Z of s.values())Z.revert();s.clear(),I?.remove(),I=void 0,h=!1}},V=()=>{for(let Z of s.values())Z.revert();s.clear(),I?.remove(),I=void 0,$="",h=!1};return w.unsubscribe=AV({suspend:V,fail(Z){M(),t?.onError?.(Z)},prepare(Z){if(u&&!Z.matches(u,P))return F=>{p||(V(),m=!1,F(()=>{p||E("inactive",null)}))};let W=new Map;for(let F of i){let re=Z.query(F);if(re.length>1)throw Error("IAM target is ambiguous in this rendered state");if(re.length){if(o.has(F)&&re[0].children.length)throw Error("IAM text target is no longer a leaf");W.set(F,re[0])}Z.checkpoint()}return F=>{if(p)return;for(let[N,z]of s)W.get(N)!==z.element&&(z.revert(),s.delete(N));for(let N of new Set(d.map(z=>z.selector))){let z=W.get(N);if(!z||s.has(N))continue;let X=d.filter(R=>R.selector===N).map(R=>PP.declarative(R));s.set(N,{element:z,revert:()=>X.forEach(R=>R.revert())})}let re=a.filter(N=>W.has(N.selector)).map(N=>N.css).join(`
250
+ `);re!==$&&($=re,re?(I||(I=document.createElement("style"),DP(I),t?.nonce&&(I.nonce=t.nonce),document.head.append(I)),I.textContent=re):(I?.remove(),I=void 0)),h=i.size===0||W.size>0;let j=W.size===i.size?"matched":W.size>0?"partial":m?"missing":"waiting";W.size&&(m=!0),F(()=>{p||E(j,W.size)}),h&&!f&&F(()=>{!p&&h&&!f&&(f=!0,t?.onApplied?.())})}}}),p&&w.unsubscribe(),{revert:M,inspect(){let Z=d.length+a.reduce((j,N)=>j+(N.css.includes("font-size:")?1:0)+(N.css.includes("color:")?1:0),0);if(p)return{status:"error",total:Z,applied:0};if(g.startsWith("inactive:"))return{status:"inactive",total:Z,applied:0};if(!Z)return{status:"no_changes",total:Z,applied:0};let W=0,F=0;for(let j of d){let N=document.querySelectorAll(j.selector);N.length===1&&(F++,N[0].innerHTML===vV(j.value??"")&&W++)}let re=document.createElement("span");for(let j of a){let N=document.querySelectorAll(j.selector),z=N.length===1?N[0]:void 0,X=j.css.slice(j.css.indexOf("{")+1,j.css.lastIndexOf("}"));re.style.cssText=X;for(let R of["font-size","color"]){let O=re.style.getPropertyValue(R);O&&z?.isConnected&&(F++,getComputedStyle(z).getPropertyValue(R)===O&&W++)}}return{status:W===Z?"applied":F?W?"partial":"mismatch":"waiting",total:Z,applied:W}},get applied(){return h}}}var jP,SV,IV=S(()=>{"use strict";gV();qk();TP();xV()});var kV={};ke(kV,{applyVisualVariation:()=>_V});var EV=S(()=>{IV()});var PV={};ke(PV,{showPaywall:()=>Ny});var OV=S(()=>{wP()});bn();xr();bn();J();bn();Ro();J();Ro();function wF(e,t,r,i){try{return e.parse(t)}catch(o){throw i&&o instanceof Av?new G(r,i):o}}async function fd(e,t,r,i={},o){let a=typeof i=="function"?{}:i,s=wF(t.request,r,"INVALID_REQUEST",a.request),c=await e(t.path,s,t.method,o),u=typeof i=="function"?i:i.parseResponse;return u?u(t.response,c):wF(t.response,c,"INVALID_RESPONSE",a.response)}var _F=e=>new TextEncoder().encode(JSON.stringify(e)).length,IF=16384;function kF(e,t){let r=0,i,o=m=>{i={config:structuredClone(m),until:Date.now()+3e4}},a=[],s=null,c;function u(){if(!t())throw new G("NOT_IDENTIFIED","Call identify before using Features or events")}function l(){c||!a.length||(c=setTimeout(()=>{c=void 0,p().catch(()=>{}).finally(l)},5e3),typeof c=="object"&&"unref"in c&&c.unref())}function d(m,g={},A={}){if(u(),i&&Date.now()<i.until&&!vL(i.config,m))return;f();let E=oe.trackEvents.request.parse({events:[{eventUuid:crypto.randomUUID(),timestamp:new Date().toISOString(),name:m,properties:g,...A}]}).events[0];if(_F({events:[E]})>IF)throw new G("INVALID_REQUEST","Event exceeds the delivery size limit");if(a.length>=500)throw new G("EVENT_QUEUE_FULL","Flush pending events before tracking more");a.push(structuredClone(E)),l()}async function p(m=!1){if(u(),s)return s;let g=r,A=(async()=>{let E={inserted:0,duplicates:0,rejected:0,skipped:0},w=a.length;for(;w&&g===r;){let P=[];for(let M of a.slice(0,Math.min(w,100))){if(P.length&&_F({events:[...P,M]})>IF)break;P.push(M)}let I=oe.trackEvents,$=await fd(e,I,{events:P},void 0,{keepalive:m});if(g!==r)throw new G("IDENTITY_CHANGED","Event identity changed during delivery");if($.inserted+$.duplicates+$.rejected+$.skipped!==P.length)throw new G("INVALID_RESPONSE","Incomplete event acknowledgement");o($.analyticsConfig),a.splice(0,P.length),w-=P.length,E.inserted+=$.inserted,E.duplicates+=$.duplicates,E.rejected+=$.rejected,E.skipped+=$.skipped}return E})();s=A;try{return await A}finally{s===A&&(s=null)}}let h;function f(){if(h||typeof document>"u")return;let m=()=>{document.visibilityState==="hidden"&&t()&&a.length&&p(!0).catch(()=>{})};document.addEventListener("visibilitychange",m),h=()=>document.removeEventListener("visibilitychange",m)}return{rememberConfiguration:o,track(m,g,A={}){return f(),d(m,g,A)},flush:p,reset(){r++,i=void 0,clearTimeout(c),c=void 0,a=[],s=null},detachVisibility(){h?.(),h=void 0}}}bn();bn();function EF(e){let t=null,r=null,i=0,o=0,a=!1,s=new Set,c=null,u=null,l=new Set,d=()=>{for(let w of l)try{w()}catch{}},p={attributes:nn.parse(e.attributes??{}),onFeatureUsage:e.onFeatureUsage?(w,P)=>{!s.has(w)&&(!t||!("analyticsConfig"in t)||t.analyticsConfig.featureUsageEnabled)&&e.onFeatureUsage(w,structuredClone(P),structuredClone(p.attributes))}:void 0,onExperimentViewed:e.onExperimentViewed?(w,P)=>(!t||!("analyticsConfig"in t)||t.analyticsConfig.experimentViewsEnabled)&&e.onExperimentViewed(structuredClone(w),structuredClone(P),structuredClone(p.attributes)):void 0,stickyBucketAssignmentDocs:structuredClone(e.stickyBucketAssignmentDocs),saveStickyBucketAssignmentDoc:e.saveStickyBucketAssignmentDoc?w=>e.saveStickyBucketAssignmentDoc(structuredClone(w)):void 0,trackedFeatureUsage:{},trackedExperiments:new Set},h=()=>({value:null,source:"unknownFeature",on:!1,off:!0,ruleId:""});function f(w,P=new Set){return s.has(w)?!c||!c.features[w]||["unknownFeature","cyclicPrerequisite"].includes(c.features[w].source):P.has(w)?!1:(P.add(w),(t?.features[w]?.rules??[]).some(I=>[...I.parentConditions??[],...(I.tracks??[]).flatMap($=>$.experiment.parentConditions??[])].some($=>f($.id,P))))}let m=w=>{if(e.assertUsable?.(t?.generation),!t)throw new Error("Initialize the Feature client before evaluation");if(t.expiresAt&&Date.parse(t.expiresAt)<=Date.now())throw new Error("Feature configuration expired; refresh before evaluation");return c?.expiresAt&&Date.parse(c.expiresAt)<=Date.now()&&(c=null,p.features=t.features),s.has(w)?!c||c.expiresAt&&Date.parse(c.expiresAt)<=Date.now()?h():structuredClone(c.features[w]??h()):e.evaluateRemote&&(p.attributes?.merchandise||p.attributes?.merchandiseId)&&!a||f(w)?h():structuredClone(Oi(w,p))};async function g(){if(!t||!s.size&&!p.attributes?.merchandise&&!p.attributes?.merchandiseId)return;if(!e.evaluateRemote){if(s.size)throw new Error("Remote Feature evaluation requires a server loader");return}let w=o;if(u?.revision===w)return u.loading;let P=i,I=t,$=[...s],M=(async()=>{let V=Ah.parse(await e.evaluateRemote({attributes:structuredClone(p.attributes),features:$}));if(!(P!==i||w!==o||I!==t)){if(e.assertUsable?.(I.generation),V.generation!==I.generation)throw new Error("Feature configuration changed; refresh before evaluation");if($.some(Z=>!Object.hasOwn(V.features,Z))||Object.keys(V.features).some(Z=>!s.has(Z)))throw new Error("Invalid remote Feature results");if(p.attributes?.merchandise||p.attributes?.merchandiseId){if(!V.merchandiseContext)throw new Error("Server did not resolve merchandise context");p.attributes=nn.parse({...p.attributes,...V.merchandiseContext}),a=!0}c=structuredClone(V),p.features={...I.features,...Object.fromEntries(Object.entries(c.features).map(([Z,W])=>[Z,{defaultValue:W.value}]))},d()}})();u={revision:w,loading:M};try{await M}finally{u?.loading===M&&(u=null)}}function A(){g().catch(w=>{try{e.onError?.(w)}catch{}})}async function E(){if(r)return r;let w=i,P=(async()=>{let I=await e.load(),$="remoteFeatures"in I?Wl.parse(I):null,M=$??Nr.parse(I);if(M.scope.projectId!==e.scope.projectId||M.scope.environment!==e.scope.environment)throw new Error("Feature payload scope changed");if(w!==i)throw new Error("Feature client was reset");if(e.assertUsable&&t?.generation===M.generation){let{evaluatedAt:Z,expiresAt:W,...F}=t,{evaluatedAt:re,expiresAt:j,...N}=M;if(In(F)!==In(N))throw new Error("Immutable Feature generation changed content");return t.evaluatedAt=M.evaluatedAt,t.expiresAt=M.expiresAt,d(),(!c||c.expiresAt&&Date.parse(c.expiresAt)<=Date.now())&&A(),structuredClone(t)}let V=new Set($?.remoteFeatures??[]);if([...V].some(Z=>Object.hasOwn(M.features,Z)))throw new Error("Remote Feature definitions must not be delivered locally");return t&&"analyticsConfig"in t&&"analyticsConfig"in M&&!t.analyticsConfig.experimentViewsEnabled&&$?.analyticsConfig.experimentViewsEnabled&&p.trackedExperiments?.clear(),t=structuredClone(M),s=V,c=null,u=null,o++,p.features=t.features,p.savedGroups=Ws(t.savedGroups),p.trackedFeatureUsage={},d(),A(),structuredClone(t)})();r=P;try{return await P}finally{r===P&&(r=null)}}return{init:E,refresh:E,refreshRemote:g,get generation(){return t?.generation??null},get expiresAt(){return t?.expiresAt??null},subscribe(w){return l.add(w),()=>{l.delete(w)}},setAttributes(w){let P=nn.parse(w);(p.attributes?.merchandise||p.attributes?.merchandiseId||w.merchandise||w.merchandiseId)&&p.trackedExperiments?.clear(),p.attributes=P,o++,a=!1,c=null,u=null,p.features=t?.features??{},p.trackedFeatureUsage={},d(),A()},evalFeature:m,isOn(w){return m(w).on},isOff(w){return m(w).off},getFeatureValue(w,P){let I=m(w).value;return structuredClone(I===null?P:I)},reset(){i++,o++,r=null,u=null,t=null,c=null,s.clear(),p.features={},p.savedGroups={},p.stickyBucketAssignmentDocs={},p.attributes={},p.trackedFeatureUsage={},p.trackedExperiments?.clear(),d()}}}xr();function CF(e){let t=e.merchandise;if(typeof e.merchandiseId=="string")return{internalId:e.merchandiseId};if(!(!t||typeof t!="object"||Array.isArray(t))){if(typeof t.internalId=="string")return{internalId:t.internalId};if(typeof t.externalId=="string")return{id:t.externalId};if(typeof t.id=="string")return{id:t.id}}}function mW(e){let t=CF(e),{merchandiseId:r,merchandise:i,...o}=e;return{...o,...t?{merchandise:t}:{}}}function PF(e,t,r,i,o){if(o&&i&&(o.scope.projectId!==i.projectId||o.scope.environment!==i.environment))throw new G("SCOPE_MISMATCH","Configuration belongs to another App/environment");let a=0,s=new Set;function c(){if(!t())throw new G("NOT_IDENTIFIED","Call identify before using Features or events")}async function u(l={}){o||c();let d=a,p=!1,h=async()=>{if(p||d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");let F=oe.getFeatures,re=o?{scope:{projectId:o.scope.projectId,environment:o.scope.environment},payload:await o.features()}:await fd(e,F,{});if(d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");if(i&&(re.scope.projectId!==i.projectId||re.scope.environment!==i.environment))throw new G("INVALID_RESPONSE","Feature response scope changed");return r.rememberConfiguration(re.payload.analyticsConfig),re},f=await h(),m=!0,g,A=F=>{try{l.onError?.(F)}catch{}},E=(F,re,j)=>{try{let N=CF(j);r.track(F,re,N?{merchandise:N}:{})}catch(N){A(N)}},w=EF({assertUsable:o?.assertFeatures,scope:f.scope,attributes:l.attributes,onError:l.onError,load:async()=>m?(m=!1,f.payload):(await h()).payload,evaluateRemote:async F=>{if(d!==a)throw new G("IDENTITY_CHANGED","Feature identity changed");let re=oe.evaluateFeatures,j=await fd(e,re,{...F,attributes:mW(F.attributes)});if(j.scope.projectId!==f.scope.projectId||j.scope.environment!==f.scope.environment)throw new G("INVALID_RESPONSE","Remote Feature response scope changed");return{generation:j.generation,evaluatedAt:j.evaluatedAt,expiresAt:j.expiresAt,features:j.features,...j.merchandiseContext?{merchandiseContext:j.merchandiseContext}:{}}},onExperimentViewed:(F,re,j)=>E("Experiment Viewed",{experimentId:F.key,variationId:re.key},j),onFeatureUsage:(F,re,j)=>E("Feature Evaluated",{feature:F,value:re.value,source:re.source,ruleId:re.ruleId,...re.experimentResult?{variationId:re.experimentResult.key}:{}},j)}),P=w.refresh;function I(){clearTimeout(g),!o&&(p||d!==a||!w.expiresAt||(g=setTimeout(()=>{$().catch(A)},Math.min(2147483647,Math.max(1e3,Date.parse(w.expiresAt)-Date.now()))),typeof g=="object"&&"unref"in g&&g.unref()))}async function $(){try{return await P()}finally{I()}}let M=()=>{p||$().catch(A)},V=w.subscribe(I),Z=o?.subscribe(()=>{!p&&o.fresh&&$().catch(A)});function W(){p||(p=!0,clearTimeout(g),typeof window<"u"&&window.removeEventListener("focus",M),V(),Z?.(),w.reset(),s.delete(W))}s.add(W);try{await w.init(),(l.attributes?.merchandise||l.attributes?.merchandiseId)&&await w.refreshRemote()}catch(F){throw W(),F}return I(),!o&&typeof window<"u"&&window.addEventListener("focus",M),Object.assign(w,{refresh:$,destroy:W})}return{features:u,reset(l){a++,l();for(let d of s)d()}}}xr();async function OF(e,t,r){let i={features:"getFeatures","features/evaluate":"evaluateFeatures",events:"trackEvents"},o=!1,a=async(l,d={})=>{if(o||!i[l])throw new G("IDENTITY_CHANGED","Feature session is unavailable");return e("featureOperation",{operation:i[l],input:d})},s=kF(a,()=>!o),c=PF(a,()=>!o,s,yt.parse(t)),u=await c.features({attributes:n.record(n.string(),Ne).parse(r??{})});return{async call(l){if(o)throw new G("IDENTITY_CHANGED","Feature session is unavailable");let d=n.strictObject({method:n.enum(["evalFeature","isOn","isOff","getFeatureValue","setAttributes","refresh","flush"]),key:n.string().min(1).max(255).optional(),fallback:Ne.optional(),attributes:n.record(n.string(),Ne).optional()}).parse(l);switch(d.method){case"refresh":return await u.refresh(),null;case"flush":return await s.flush(),null;case"setAttributes":return u.setAttributes(d.attributes??{}),await u.refreshRemote(),null;case"evalFeature":{let{value:p,source:h,on:f,off:m,ruleId:g,experimentResult:A}=u.evalFeature(n.string().parse(d.key));return q_.parse({value:p,source:h,on:f,off:m,ruleId:g,...A?{experimentResult:A}:{}})}case"isOn":return u.isOn(n.string().parse(d.key));case"isOff":return u.isOff(n.string().parse(d.key));case"getFeatureValue":return u.getFeatureValue(n.string().parse(d.key),d.fallback??null)}},refresh:()=>u.refresh(),destroy(){o||(o=!0,c.reset(s.reset),s.detachVisibility())}}}bn();J();bn();J();Da();xr();bP();Ey();q4();ng();var AP=new WeakMap;function K4(e){let t={string:n.string(),number:n.number().finite(),boolean:n.boolean(),strings:n.array(n.string()),json:Ne}[e.type];return e.nullable?t.nullable():t}async function W4(e,t){return YX(e,t,!1)}async function YX(e,t,r){t.signal?.throwIfAborted();let i=xa.parse(t.content),o=i.document;if(AP.has(e))throw new G("CONFLICT","Content is already mounted in this container");let a=n.record(n.string(),Ne).parse(t.inputs??{});if(Object.keys(a).length>40)throw new G("INVALID_REQUEST","Too many content inputs");for(let[F,re]of Object.entries(a))Hn.parse({[F]:re});if(Object.keys(a).some(F=>!Object.hasOwn(o.contract.inputs,F)))throw new G("INVALID_REQUEST","Undeclared content input");for(let[F,re]of Object.entries(o.contract.inputs))if(Object.hasOwn(a,F))K4(re).parse(a[F]);else if(re.required)throw new G("INVALID_REQUEST",`Missing content input ${F}`);for(let F of Object.keys(o.contract.outputs))if(typeof t.actions[F]!="function")throw new G("INVALID_REQUEST",`Missing host handler for ${F}`);let s=Ac.parse(t.bindings??[]),c=e.ownerDocument,u,l=o.kind==="popup",d=l?c.createElement("dialog"):null,p=c.createElement("div");if(p.dataset.indianaContent=o.kind,p.setAttribute("aria-label",o.name),p.style.cssText="width:100%;min-width:0",d){d.setAttribute("aria-label",o.name);let F=o.screen.presentation;d.style.cssText="box-sizing:border-box;padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto",F.type==="modal"||F.type==="sheet"?(d.style.width=`${Yf[F.size]}px`,F.type==="sheet"&&(d.style.margin="auto auto 0")):d.style.width="100vw",d.append(p),e.append(d)}else e.append(p);let h=!1,f=!1,m=!1;r&&!d&&(p.style.width=`${e.getBoundingClientRect().width||c.defaultView?.innerWidth||800}px`);let g=r?B4(d??p):()=>{},A,E,w=new Promise((F,re)=>{A=F,E=re});w.catch(()=>{});let P=null,I=structuredClone(o.screen);I.actions=I.actions.map(F=>F.type==="event"?{...F,close:!1}:F);let $;function M(){h||(h=!0,t.signal?.removeEventListener("abort",M),E(new Error("Content preparation cancelled")),$?.destroy(),d?.close(),d?.remove(),p.remove(),AP.delete(e),d&&u?.())}let V=()=>{m&&(M(),it(t.onDismiss))};if(d){let F=c.createElement("button");F.type="button",F.textContent="\xD7",F.setAttribute("aria-label",t.locale?.startsWith("zh")?"\u5173\u95ED":"Close"),NF(F,o.screen.theme),F.addEventListener("click",V),d.prepend(F)}d?.addEventListener("cancel",F=>{F.preventDefault(),V()});async function Z(){if(h||!m||f||!P)return;let F=P;f=!0,p.setAttribute("aria-busy","true");try{await t.actions[F.actionId](structuredClone(F)),P=null}catch(re){it(t.onError,re)}finally{f=!1,h||p.removeAttribute("aria-busy")}}function W(){if(h)throw new G("CONFLICT","Content host has been destroyed");m||(u=Rd(c),g(),r&&!d&&(p.style.width="100%"),d&&(d.showModal(),Dc(d,o.screen.presentation.type)),m=!0)}try{r||W(),$=Cy(p,{mode:"live",rendererUrl:t.rendererUrl,title:o.name,viewportHeight:o.kind==="page"?e.clientHeight||c.defaultView?.innerHeight||800:void 0,onRendered:j=>{j&&d?.setAttribute("aria-label",j),A()},onError:j=>{let N=new Error(j);E(N),it(t.onError,N)},onEscape:l?V:void 0,onAction:(j,N,z)=>{if(h||!m||f||P)return;let X=o.screen.actions.find(O=>O.id===j),R=o.contract.outputs[j];if(!(X?.type!=="event"||!R))try{let O=K4(R).parse(Object.hasOwn(X.properties,"value")?X.properties.value:X.properties);P={requestId:crypto.randomUUID(),contentVersionId:i.id,actionId:j,event:X.event,value:O,selection:N??{},answers:z??{},requestedClose:X.close},Z()}catch(O){it(t.onError,O)}}});let F={destroy:M,show:W,get pendingAction(){return P?structuredClone(P):null},retryAction:Z,updateCapabilities:j=>$?.updateCapabilities(j)};AP.set(e,F),t.signal?.addEventListener("abort",M,{once:!0}),t.signal?.aborted&&(M(),t.signal.throwIfAborted());let re=ic(I,[t.locale,...c.defaultView?.navigator.languages??[]]);if($.update(I,re,{capabilities:t.capabilities,serverInput:{bindings:s,answers:{},values:a}}),await Promise.race([$.ready,w]),r&&await w,h)throw new Error("Content preparation cancelled");return F}catch(F){throw M(),F}}async function J4(e){let t=n.strictObject({content:xa,locale:n.string().min(1).max(35),inputs:n.record(n.string(),Ne)}).parse(await e("content"));return{destroy:(await W4(document.body,{...t,rendererUrl:"bundled",actions:Object.fromEntries(Object.keys(t.content.document.contract.outputs).map(i=>[i,o=>e("contentAction",o)])),onDismiss:()=>{e("dismiss").catch(()=>{})},onError:()=>{e("error").catch(()=>{})}})).destroy,refresh:async()=>{}}}bn();xr();Ro();function xP(e,t){let r=structuredClone(e);for(let[i,o]of Object.entries(r.plans)){let a=t.plans[i];!a||a.versionId!==o.versionId||(a.amountMinor!==void 0&&(o.amountMinor=a.amountMinor),a.interval!==void 0&&(o.interval=a.interval),a.intervalCount!==void 0&&(o.intervalCount=a.intervalCount),a.prepaid!==void 0&&(o.prepaid=structuredClone(a.prepaid)))}return r}function Py(e,t){let r=i=>"document"in i?i.offering.id:i.content.offeringVersionId;return e.id===t.id&&r(e)===r(t)&&e.content?.artifact.sha256===t.content?.artifact.sha256}function Oy(e,t,r){if(e.operationId!==t.operationId||t.currency!==void 0&&e.currency!==t.currency)throw new G("INVALID_RESPONSE",r)}function Ty(e,t,r){let i=Object.fromEntries((e.lines[0]?.prepaid??[]).map(o=>[o.internal_feature_id,o.quantity]));if(t.featureQuantities&&(Object.keys(i).length!==Object.keys(t.featureQuantities).length||Object.entries(t.featureQuantities).some(([o,a])=>i[o]!==a)))throw new G("INVALID_RESPONSE","The purchase quote changed its selected quantities");if(e.lines.length!==1||e.lines[0].productVersionId!==t.productVersionId||t.currency!==void 0&&e.currency!==t.currency||t.provider!==void 0&&e.provider!==t.provider&&!(t.provider==="stripe"&&e.provider==="merchant"&&e.execution?.provider==="merchant"))throw new G("INVALID_RESPONSE",r)}function Ry(e,t,r=!1){return!e||e.operationId!==t?.operationId?t:e.status==="complete"&&t.status!=="complete"||e.status!=="pending"&&(t.status==="pending"||r&&t.status!=="complete")?e:t}async function Q4(e){let t=null,r=null,i=null,o=!1,a=async(l,d={})=>{if(o)throw new G("CLOSED","Paywall is closed");let p=await e({operation:l,input:d});if(o)throw new G("IDENTITY_CHANGED","Paywall identity changed");return p};async function s(){let l=Io.parse(await a("resolve"));if(t&&(!Py(l,t)||l.paywallId!==t.paywallId))throw new G("INVALID_RESPONSE","Pinned Paywall changed");return t=l,structuredClone(l)}async function c(l){if(!r)throw new G("INVALID_REQUEST","A quote is required");let d=So.parse(await a(l));return Oy(d,r,"Purchase identity changed"),i=Ry(i,d),structuredClone(i)}let u={get view(){return t&&structuredClone(t)},get quote(){return r&&structuredClone(r)},get operation(){return i&&structuredClone(i)},webViewUrl:"bundled",refresh:s,async preview(l){let d=t?.document.buttons[l.actionId],p=t&&d?.type==="checkout"&&_a(d.product,l.selection,t.capabilities);if(!p)throw new G("PRODUCT_UNAVAILABLE","Choose an available Product");let h=Cc(t.document.screen,p,l.selection,t.capabilities),f=xo.parse(await a("preview",{actionId:l.actionId,productVersionId:p,...Object.keys(h).length?{featureQuantities:h}:{},requestId:l.requestId,...l.offerId?{offerId:l.offerId}:{},...l.nativeOffer?{nativeOffer:l.nativeOffer}:{}}));return Ty(f,{productVersionId:p,featureQuantities:h},"Quoted Product changed"),r=f,i=null,structuredClone(f)},confirm:()=>c("confirm"),cancel:()=>c("cancel"),read:()=>c("read"),destroy(){o=!0,t=null,r=null,i=null}};return await s(),u}wP();ng();bn();xr();function eV(e){let t=e.view;if(!t?.paywall)throw new G("INVALID_REQUEST","The current node is not a Paywall");let r=t.paywall.receiptId,i=t.nodeId,o=t.visit,a=t.paywall.resolution,s=a,c="document"in a?a:null;function u(j){if(!Py(j,a))throw new G("INVALID_RESPONSE","The pinned Paywall binding changed")}let l=t.paywall.quote,d=t.paywall.operation,p=!1,h=new AbortController,f=t.paywall.purchaseRequestId,m=0,g=t.paywall.selectionGeneration??0,A=t.paywall.canReselect===!0,E=null,w=new Map,P=new Map,I=new Map;function $(j){if(j.purchase&&j.purchase.receiptId!==r)throw new G("INVALID_RESPONSE","Purchase receipt changed");let N=j.run.paywall;return j.purchase??(N?.receiptId===r?N:null)}function M(){if(p)throw new G("IDENTITY_CHANGED","Paywall presentation has closed")}function V(j,N,z){if(M(),N!==m||z!==void 0&&l?.operationId!==z)return!1;let X=g,R=j.run.paywall;if(R?.receiptId===r){if((R.selectionGeneration??0)<g)return!1;g=R.selectionGeneration??0,A=R.canReselect===!0,u(R.resolution)}let O=$(j),B=g>X,se=B?O?.quote??null:O?.quote??l,ve=O?.operation??(se?.operationId===l?.operationId?d:null);return se&&ve&&Oy(ve,{operationId:se.operationId},"Purchase operation changed"),R?.receiptId===r&&(s=R.resolution,c="document"in s?s:c?{...s,document:c.document,offering:c.offering,capabilities:xP(s.capabilities,c.capabilities)}:null),(B||se?.operationId!==l?.operationId)&&(m++,R?.receiptId===r&&(f=R.purchaseRequestId)),l=se,d=Ry(d,ve,!0),!0}function Z(j,N,z){return new Promise((X,R)=>{let O=!1,B=()=>{clearTimeout(Be),h.signal.removeEventListener("abort",Y)},se=Ge=>{O||(O=!0,B(),X(Ge))},ve=Ge=>{O||(O=!0,B(),R(Ge))},Y=()=>ve(new G("IDENTITY_CHANGED","Paywall presentation has closed")),Be=setTimeout(()=>ve(new G("COMMAND_PENDING","The purchase command is still pending; retry the original request",202,z)),Math.max(0,N-Date.now()));h.signal.addEventListener("abort",Y,{once:!0}),h.signal.aborted&&Y(),j.then(se,ve)})}function W(j){return new Promise(N=>{let z=()=>{clearTimeout(X),h.signal.removeEventListener("abort",z),N()},X=setTimeout(z,j);h.signal.addEventListener("abort",z,{once:!0}),h.signal.aborted&&z()})}async function F(j,N,z){M();let X=w.get(j);if(!X){let B=e.pendingCommands?.find(se=>se.requestId===j)??e.pendingCommand;if(B?.operation==="submit"&&B.requestId===j&&B.nodeId===i&&B.visit===o){N.type==="paywall_quote"&&B.input.type==="paywall_quote"&&B.input.predecessor&&!N.predecessor&&(N={...N,predecessor:B.input.predecessor});let se=kc.parse(B),ve=kc.parse({...B,input:N});if(ve.operation!=="submit"||se.operation!=="submit"||JSON.stringify(ve.input)!==JSON.stringify(se.input))throw new G("CONFLICT","A restored purchase request cannot change its input");N=ve.input,X=se,w.set(j,X)}}if(X){if(JSON.stringify(X.input)!==JSON.stringify(N))throw new G("CONFLICT","A purchase request cannot change its input")}else{let B=e.view;if(!B||B.nodeId!==i||B.visit!==o||B.paywall?.receiptId!==r)throw new G("PRECONDITION_FAILED","The Paywall visit has changed");X={operation:"submit",requestId:j,nodeId:i,visit:o,revision:B.revision,input:N},w.set(j,X)}let R=Date.now()+3e4,O=await Z(e.submit(X),R,j);for(;O.run.pendingRequest?.requestId===j&&Date.now()<R&&!p&&(await W(Math.min(1e3,R-Date.now())),!(p||Date.now()>=R));)O=await Z(e.resume(j),R,j);if(p)throw new G("IDENTITY_CHANGED","Paywall presentation has closed");if(O.run.pendingRequest?.requestId===j)throw new G("COMMAND_PENDING","The purchase command is still pending; retry the original request",202,j);if(!V(O,z,N.type==="paywall_confirm"||N.type==="paywall_cancel"?N.operationId:void 0))throw new G("PRECONDITION_FAILED","The purchase selection has changed")}async function re(j){if(!l)throw new G("INVALID_REQUEST","A quoted purchase is required");let N=`${j}:${l.operationId}`,z=P.get(N);if(!z){let X=j==="confirm"?"paywall_confirm":"paywall_cancel",R=e.pendingCommands?.find(O=>O.operation==="submit"&&O.input.type===X&&"operationId"in O.input&&O.input.operationId===l.operationId)??e.pendingCommand;z=R?.operation==="submit"&&R.input.type===X&&"operationId"in R.input&&R.input.operationId===l.operationId?R.requestId:crypto.randomUUID(),P.set(N,z)}if(await F(z,{type:j==="confirm"?"paywall_confirm":"paywall_cancel",operationId:l.operationId},m),!d)throw new G("INVALID_RESPONSE","The accepted purchase result is missing");return structuredClone(d)}return{get view(){return structuredClone(c)},get quote(){return l?structuredClone(l):null},get operation(){return d?structuredClone(d):null},get webViewUrl(){return e.webViewUrl},get canReselect(){return A},async refresh(){M();let j=m,N=await e.get();if(V(N,j),N.run.paywall?.receiptId!==r)throw new G("PRECONDITION_FAILED","Paywall presentation has changed");if(!c){if("document"in s||!e.resolvePaywall)throw new G("INVALID_RESPONSE","Public Paywall reader is unavailable");let z=await e.resolvePaywall(s);M(),u(z),c={...s,document:z.document,offering:z.offering,capabilities:xP(s.capabilities,z.capabilities)}}return structuredClone(c)},preview(j){if(!c)return Promise.reject(new G("PRECONDITION_FAILED","Load the Paywall presentation first"));if(f&&f!==j.requestId&&(E||!A))return Promise.reject(new G("COMMAND_PENDING","Retry the original purchase before starting another"));let N=c.document.buttons[j.actionId],z=N?.type==="checkout"?_a(N.product,j.selection,c.capabilities):null;if(!z)return Promise.reject(new G("PRODUCT_UNAVAILABLE","Choose an available Product in this purchase area"));let X=Cc(c.document.screen,z,j.selection,c.capabilities),R=JSON.stringify({actionId:j.actionId,product:z,featureQuantities:X,offerId:j.offerId,nativeOffer:j.nativeOffer});if(I.has(j.requestId)&&I.get(j.requestId)!==R)return Promise.reject(new G("CONFLICT","A purchase request cannot change its quantities or Product"));if(I.set(j.requestId,R),f===j.requestId&&E)return E;let O=f!==j.requestId&&g>0?{operationId:l?.operationId??null,generation:g}:void 0;if(O&&(!A||g<=0))return Promise.reject(new G("COMMAND_PENDING","Original purchase requires authoritative termination"));f!==j.requestId&&m++;let B=m;f=j.requestId;let se=(async()=>{if(await F(j.requestId,{type:"paywall_quote",actionId:j.actionId,productVersionId:z,...Object.keys(X).length?{featureQuantities:X}:{},...O?{predecessor:O}:{},...j.offerId?{offerId:j.offerId}:{},...j.nativeOffer?{nativeOffer:j.nativeOffer}:{}},B),!l)throw new G("INVALID_RESPONSE","The accepted quote is missing");return Ty(l,{productVersionId:z,featureQuantities:X},"The selected purchase changed"),structuredClone(l)})();return E=se,se.then(()=>{E===se&&(E=null)},ve=>{E===se&&(E=null),f===j.requestId&&e.pendingCommand?.requestId!==j.requestId&&ve instanceof G&&ve.status!==void 0&&ve.status<500&&![401,425].includes(ve.status)&&(f=null)}),se},confirm:()=>re("confirm"),cancel:()=>re("cancel"),async read(){if(M(),!l)throw new G("INVALID_REQUEST","A quoted purchase is required");let j=l.operationId,N=m,z=e.pendingCommands?.find(B=>B.operation==="submit"&&(B.input.type==="paywall_confirm"||B.input.type==="paywall_cancel")&&B.input.operationId===j)??e.pendingCommand;z?.operation==="submit"&&(z.input.type==="paywall_confirm"||z.input.type==="paywall_cancel")&&z.input.operationId===j&&await e.settle?.(z.requestId);let X=await e.get(void 0,{receiptId:r,operationId:j});M();let R=$(X);if(R?.quote&&R.quote.operationId!==j||R?.operation&&R.operation.operationId!==j)throw new G("INVALID_RESPONSE","Purchase operation changed");let O=V(X,N,j)?d:R?.operation;if(!O)throw new G("INVALID_RESPONSE","The current purchase result is missing");return structuredClone(O)},destroy(){p=!0,h.abort(),w.clear(),P.clear(),I.clear()}}}xr();Da();Ro();function tV(e){let t=new Set,r=new Set,i=null;function o(a){if(e.reviewing||t.has(a)||r.has(a)||e.stopped)return;r.add(a);let s=async()=>{if(e.reviewing||e.stopped||e.key!==a){r.delete(a);return}if(e.busy||e.client.pendingCommand){setTimeout(()=>{s()},250);return}let c=(async()=>{let l=e.client.view,d=e.expected(),p=d.requestId,h=!1;try{await e.client.submit({operation:"shown",...d})}catch(f){if(!(f instanceof G)||f.code!=="CONFLICT"||f.status!==409||e.client.pendingCommand)throw f;await e.client.get();let m=e.client.view;if(e.stopped||e.reviewing||e.key!==a||!m||!l||m.id!==l.id||m.source.versionId!==l.source.versionId||m.nodeId!==d.nodeId||m.visit!==d.visit||m.revision<=d.revision||m.stopped||!m.screen||!["running","waiting"].includes(m.status)||e.client.pendingCommand)throw f;let g=e.expected();p=g.requestId,await e.client.submit({operation:"shown",...g})}for(;!e.stopped&&e.key===a&&e.client.pendingCommand?.requestId===p;){if(!e.client.settle)throw new G("COMMAND_PENDING","The original display acknowledgement is still pending");await e.client.settle(p),h=!0,e.client.pendingCommand?.requestId===p&&await new Promise(f=>setTimeout(f,1500))}e.stopped||e.key!==a||(h&&await e.client.get(),!(e.stopped||e.key!==a)&&t.add(a))})();i=c;let u=()=>{i===c&&(i=null),r.delete(a)};c.then(u,l=>{u(),e.busy||e.fail(l)})};s()}return{report:o,get inFlight(){return i}}}bn();Ro();function nV(e){let t={},r=new Map;async function i(o){let a=e.client.view,s=a?.screen,c=s?.customerData.nodes[o.nodeId];if(e.stopped||e.busy||!a||!s||!c)return;if(!["refresh","next","previous","filter","sources_next","sources_previous"].includes(o.action)){let m=e.document,g=m?Tn(m,o.nodeId):null,A=g?.type==="customer_data"?g.data.outputs?.[o.action]:void 0;A&&s.outputs.includes(A)?await e.perform(()=>e.client.submit({operation:"submit",...e.expected(),input:{type:"screen",output:A,answers:e.answers,selection:o.value?{[o.nodeId]:o.value}:{}}})):await e.onIntent?.(o,a);return}let l=o.action.startsWith("sources_")?c.resources.find(m=>m.key===o.value):null;if(o.action.startsWith("sources_")&&!l)throw new G("INVALID_REQUEST","Choose a current resource");let d=`${a.visit}:${o.nodeId}:${l?.key??""}`,p=r.get(d)??[null],f=t[o.nodeId]??{page:1,after:null,filter:"all",...l?{resourceKey:l.key}:{}};if(o.action==="filter"){let m=o.value;if(!m||!(c.source==="offer_history"?["all","issued","reserved","redeemed","expired","revoked"]:["all","purchase","refund","source","usage","debt","settlement"]).includes(m))throw new G("INVALID_REQUEST","Unknown data filter");f={page:1,after:null,filter:m},p.splice(0,p.length,null)}else if(o.action==="next"||o.action==="sources_next"){let m=l?.sources.at(-1),g=l?m?{kind:"ledger",cursor:{at:m.detail[0],id:m.id,type:"source"}}:null:s.dataCursors[o.nodeId];if(!g||!l&&!c.hasNext)return;p[f.page]=g,f={...f,page:f.page+1,after:g}}else if(o.action==="previous"||o.action==="sources_previous"){if(f.page<=1)return;f={...f,page:f.page-1,after:p[f.page-2]??null}}r.set(d,p),t={...t,[o.nodeId]:f},await e.perform(()=>e.client.get({nodeId:a.nodeId,visit:a.visit,revision:a.revision,components:t}))}return{get queries(){return t},intent:i,reset(){t={},r.clear()}}}Ro();function rV(e){let{doc:t,holder:r,reviewHolder:i,mountScreenPreview:o}=e,a=!1,s,c=0,u=null,l="",d=new Map,p=m=>m?`${m.id}:${m.nodeId}:${m.visit}:${m.revision}:${m.paywall?.quote?.operationId??""}`:"";async function h(m){if(e.stopped||!e.client.review)return;a||(l=p(e.client.view),d.set(l,structuredClone(e.answers))),a=!0,s=m,r.hidden=!0,e.suspend(!0),i.hidden=!1;let g=++c;try{let A=await e.client.review(m);if(e.stopped||g!==c||!a)return;if(!A.review)throw new G("INVALID_RESPONSE","Historical projection is missing");u?.destroy(),u=null,i.replaceChildren();let E=A.run.locale.startsWith("zh"),w=t.createElement("p");w.textContent=E?"\u53EA\u8BFB\u56DE\u770B":"Read-only history",i.append(w);for(let[$,M]of A.review.pages.entries()){let V=t.createElement("button");V.type="button",V.textContent=E?`\u7B2C ${$+1} \u9875`:`Page ${$+1}`,V.onclick=()=>{h(M.receiptId)},i.append(V)}if(A.review.page){let $=A.review.page,M=t.createElement("div");if(M.inert=!0,i.append(M),u=o(M,{mode:"live",rendererUrl:e.client.webViewUrl,title:$.document.name,onAction:()=>{},onAnswers:()=>{},onCustomerDataIntent:()=>{},onRendered:()=>{},onEscape:()=>{f()}}),u.update($.document,A.run.locale,{serverInput:{bindings:$.inputs,answers:$.answers,values:$.values}}),await u.ready,e.stopped||g!==c||!a)return}let P=E?{issued:"\u5DF2\u9886\u53D6",reserved:"\u5DF2\u9884\u7559",redeemed:"\u5DF2\u4F7F\u7528",expired:"\u5DF2\u8FC7\u671F",revoked:"\u5DF2\u64A4\u9500",unknown:"\u72B6\u6001\u5F85\u786E\u8BA4"}:{issued:"Issued",reserved:"Reserved",redeemed:"Used",expired:"Expired",revoked:"Revoked",unknown:"Status unconfirmed"},I=E?{pending:"\u5904\u7406\u4E2D",complete:"\u5DF2\u5B8C\u6210",cancelled:"\u5DF2\u53D6\u6D88",failed:"\u5931\u8D25",unknown:"\u72B6\u6001\u5F85\u786E\u8BA4"}:{pending:"Processing",complete:"Completed",cancelled:"Cancelled",failed:"Failed",unknown:"Status unconfirmed"};for(let $ of[...A.review.coupons.map((M,V)=>`${E?"\u4F18\u60E0\u5238":"Coupon"} ${V+1}: ${P[M.status]}`),...A.review.purchases.map((M,V)=>`${E?"\u8D2D\u4E70":"Purchase"} ${V+1}: ${I[M.status]}`)]){let M=t.createElement("p");M.textContent=$,i.append(M)}e.client.view&&await e.enqueue(e.client.view)}catch(A){if(g!==c||e.stopped)return;u?.destroy(),u=null,i.replaceChildren(),e.fail(A)}}async function f(){if(!a||e.stopped||!e.client.review)return;let m=++c;try{if(await e.client.review(),e.stopped||m!==c)return;a=!1,c++,u?.destroy(),u=null,i.replaceChildren(),i.hidden=!0,r.hidden=!1;let g=e.client.view;p(g)!==l?(d.set(l,structuredClone(e.answers)),e.resetScreen()):(d.delete(l),e.suspend(!1)),g&&await e.enqueue(g)}catch(g){if(m!==c||e.stopped)return;u?.destroy(),u=null,i.replaceChildren(),e.fail(g)}}return{get active(){return a},get receipt(){return s},open:h,exit:f,get drafts(){return new Map([...d].map(([m,g])=>[m,structuredClone(g)]))},stop(){a=!1,c++,u?.destroy(),u=null,i.replaceChildren(),i.hidden=!0,r.hidden=!1}}}bl();var _P=new WeakMap;function iV(e,t=document){if(!/^[a-f0-9]{64}$/.test(e))throw new Error("Invalid IAM manifest digest");let r="data-indiana-release",i=t.documentElement,o=()=>new Set((i.getAttribute(r)??"").split(/\s+/).filter(Boolean)),a=_P.get(t);if(!a){let d=new Map,p=new MutationObserver(()=>{let h=o(),f=!1;for(let[m,g]of d)g.count&&!h.has(m)&&(h.add(m),f=!0);f&&i.setAttribute(r,[...h].join(" "))});p.observe(i,{attributes:!0,attributeFilter:[r]}),a={releases:d,observer:p},_P.set(t,a)}let{releases:s,observer:c}=a,u=s.get(e);if(!u){let d=o();u={count:0,owned:!d.has(e)},s.set(e,u),d.add(e),i.setAttribute(r,[...d].join(" "))}u.count++;let l=!1;return{attributes:{indianaAppManifestRelease:e},destroy(){if(!l&&(l=!0,u.count--,!u.count&&(s.delete(e),s.size||(c.disconnect(),_P.delete(t)),u.owned))){let d=o();d.delete(e),d.size?i.setAttribute(r,[...d].join(" ")):i.removeAttribute(r)}}}}Da();var Nd=new Set,Dy;function oV(e){let t=()=>e();if(Nd.add(t),!Dy){let r=!0,i=history.pushState,o=history.replaceState,a=()=>{if(r)for(let u of[...Nd])Nd.has(u)&&it(u)},s=function(...u){i.apply(this,u),a()},c=function(...u){o.apply(this,u),a()};history.pushState=s,history.replaceState=c,addEventListener("popstate",a),addEventListener("hashchange",a),Dy=()=>{r=!1,history.pushState===s&&(history.pushState=i),history.replaceState===c&&(history.replaceState=o),removeEventListener("popstate",a),removeEventListener("hashchange",a)}}return()=>{Nd.delete(t)&&(Nd.size||(Dy?.(),Dy=void 0))}}var Dd=new Map,XX=new Set,aV=()=>{for(let e of[...XX])e()};function sV(e,t){if(Dd.has(e)&&Dd.get(e)!==t)throw new Error("A different Funnel owns this page experiment");return Dd.set(e,t),aV(),()=>{Dd.get(e)===t&&(Dd.delete(e),aV())}}Da();function CV(e){if(!e.client.pageExperiments)throw new Error("The Run controller does not support page experiments");let t=e.client.pageExperiments.bind(e.client),r=!1,i=!1,o=0,a=!1,s=!1,c,u=new Map,l=new Set,d={},p=new Map,h=iV(e.appManifestRelease),f=()=>{for(let P of u.values())P.effect.revert();u.clear();for(let P of p.values())P();p.clear()};function m(P){if(r||l.has(P))return;l.add(P);let I=o;t(e.appManifestRelease,[P]).catch($=>{l.delete(P),!r&&I===o&&it(e.onError,$)})}async function g(){if(r)return;let P=e.client.view;if(!P||P.stopped||!["running","waiting"].includes(P.status)){o++,f();return}if(a){s=!0;return}a=!0;let I=++o,$=`${P.id}:${P.visit}:${P.revision}`,M=location.href;try{let[V,{applyVisualVariation:Z}]=await Promise.all([t(e.appManifestRelease),Promise.resolve().then(()=>(EV(),kV))]),W=e.client.view;if(r||I!==o||!W||W.stopped||!["running","waiting"].includes(W.status)||`${W.id}:${W.visit}:${W.revision}`!==$||location.href!==M)return;let F=new Set,re=new Set;for(let j of V.assignments){let N=`${V.payload.environmentId}:${j.experimentKey}`;if(re.add(N),p.has(N)||p.set(N,sV(N,d)),!!j.inExperiment)for(let z of V.payload.experiments){if(z.key!==j.experimentKey||!gl(location.href,z.urlPatterns??[]))continue;let X=z.meta?.findIndex(Y=>Y.key===j.variationKey)??-1,R=z.variations[X];if(!R?.renderGuard)continue;let O=j.receiptId+":"+z.changeId,B=JSON.stringify([j.variationKey,R]);F.add(O);let se=u.get(O);if(se?.signature===B){se.effect.applied&&m(j.receiptId);continue}u.get(O)?.effect.revert(),u.delete(O);let ve=Z(R,{requireUniqueTargets:!0,boundVariations:z.variations,allowJs:!1,onApplied:()=>m(j.receiptId),onError:Y=>it(e.onError,Y)});u.set(O,{signature:B,effect:ve}),ve.applied&&m(j.receiptId)}}for(let[j,N]of u)F.has(j)||(N.effect.revert(),u.delete(j));for(let[j,N]of p)re.has(j)||(N(),p.delete(j))}catch(V){I===o&&f(),!r&&I===o&&it(e.onError,V)}finally{a=!1,s&&!r&&(s=!1,g())}}let A=e.client.subscribe(()=>{o++,g()}),E=oV(()=>{o++,f(),g()}),w=async()=>{await g(),r||(c=setTimeout(()=>{w()},15e3))};return{async start(){i||r||(i=!0,await w())},refresh:g,destroy(){r=!0,o++,clearTimeout(c),A(),E(),f(),h.destroy()}}}async function TV(e,t){let r=t,{mountScreenPreview:i}=await Promise.resolve().then(()=>(vP(),SP)),{showPaywall:o}=await Promise.resolve().then(()=>(OV(),PV)),a=r.appManifestRelease?CV({client:r.client,appManifestRelease:r.appManifestRelease,onError:r.onError}):void 0;a?.start();let s=e.ownerDocument,c=s.activeElement,u=s.createElement("section"),l=s.createElement("div"),d=s.createElement("div"),p=s.createElement("div"),h=s.createElement("button");p.hidden=!0,h.type="button";let f=s.createElement("p"),m=s.createElement("p"),g=s.createElement("button"),A=s.createElement("button"),E=s.createElement("button"),w=s.createElement("dialog"),P;u.dataset.indianaFunnel="",u.setAttribute("aria-busy","false"),u.style.cssText="box-sizing:border-box;width:100%;min-width:0;font:14px/1.5 system-ui,sans-serif;color:#172033;background:#fff",d.style.cssText="display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 20px",f.setAttribute("role","status"),m.setAttribute("role","alert"),m.hidden=!0,g.type=A.type=E.type="button",d.append(g,f,m,E,h,A),u.append(l,p,d),e.append(u);let I=null,$=null,M=null,V="",Z="",W="",F="",re="",j=!1,N=0,z=!1,X="",R=null,O=Promise.resolve(),B=null,se=null,ve=new Set,Y={},Be=(Q,Oe=null)=>{j||(se=Oe,m.textContent=Q instanceof Error?Q.message:"Request failed",m.hidden=!1,E.hidden=r.client.pendingCommand===null,it(r.onError,Q))};function Ge(){let Q=r.client.view;if(!Q)throw new G("INVALID_REQUEST","No current Run is available");return{requestId:crypto.randomUUID(),nodeId:Q.nodeId,visit:Q.visit,revision:Q.revision}}let Ae=rV({client:r.client,doc:s,holder:l,reviewHolder:p,mountScreenPreview:i,get stopped(){return j},get answers(){return Y},suspend(Q){$?.setSuspended(Q)},resetScreen(){V="",Z="",W=""},enqueue:me,fail:Be}),Le=tV({client:r.client,expected:Ge,fail:Be,get stopped(){return j},get reviewing(){return Ae.active},get key(){return V},get busy(){return N}}),Pt=nV({client:r.client,expected:Ge,perform:qt,onIntent:r.onCustomerDataIntent,get stopped(){return j},get busy(){return N},get document(){return I?.document},get answers(){return Y}}),ze=Q=>Q&&(Q.screen||Q.paywall)?`${Q.id}:${Q.nodeId}:${Q.visit}`:"";function rt(){let Q=r.client.view;g.disabled=!Ae.active&&(N>0||!!r.client.pendingCommand||!Q?.canBack||Q.stopped||!["running","waiting"].includes(Q.status)||!ze(Q)||Z!==ze(Q))}async function qt(Q,Oe=!1){if(!(N&&!Oe||j||Ae.active&&!Oe)){N++,u.setAttribute("aria-busy","true"),rt(),m.hidden=!0,se=null;try{if(!Oe&&Le.inFlight){let Ke=r.client.view;await Le.inFlight;let lt=r.client.view;if(!Ke||!lt||lt.id!==Ke.id||lt.nodeId!==Ke.nodeId||lt.visit!==Ke.visit||lt.stopped||!["running","waiting"].includes(lt.status))throw new G("PRECONDITION_FAILED","The screen changed while its display was acknowledged")}if(j)return;let at=await Q();j||await me(r.client.view??at.run)}catch(at){Be(at,r.client.pendingCommand?.requestId??null)}finally{N=Math.max(0,N-1),u.setAttribute("aria-busy",String(N>0)),j||(E.hidden=r.client.pendingCommand===null,rt())}}}function We(){R&&clearTimeout(R),!(j||!M||!["running","waiting"].includes(M.status)&&!r.client.pendingCommand)&&(R=setTimeout(()=>{R=null,jn().finally(We)},M.pendingRequest||r.client.pendingCommand?1500:5e3))}async function jn(){if(!(j||z||N)){if(Ae.active){await Ae.open(Ae.receipt);return}z=!0;try{let Q=r.client.pendingCommand;Q&&r.client.settle&&await r.client.settle(Q.requestId);let Oe=r.client.view,at=Pt.queries,Ke=await r.client.get(Oe?.screen&&Object.keys(at).length?{nodeId:Oe.nodeId,visit:Oe.visit,revision:Oe.revision,components:at}:void 0);!j&&at===Pt.queries&&await me(r.client.view??Ke.run)}catch(Q){Be(Q)}finally{z=!1}}}function ye(Q){let Oe=Q.screen?.presentation;if(!Oe||Oe.type==="inline"){w.open&&w.close(),u.parentElement!==e&&e.append(u);return}u.parentElement!==w&&(w.append(u),e.append(w));let at={sm:420,md:640,lg:900};w.style.cssText=`padding:0;border:0;max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);overflow:auto;width:${"size"in Oe?at[Oe.size]+"px":"100vw"}`,w.setAttribute("aria-label",(P?.screen===Q.screen?.content.document.name?P?.label:void 0)??I?.document?.name??Q.screen?.content.document.name??"Funnel"),w.open||(w.showModal(),Dc(w,Oe.type))}async function fe(Q){if(j)return;M=Q,se&&r.client.pendingCommand?.requestId!==se&&(m.hidden=!0,se=null);let Oe=Q.locale.startsWith("zh");if(h.textContent=Oe?"\u56DE\u770B":"History",h.hidden=!r.client.review,g.textContent=Ae.active?Oe?"\u8FD4\u56DE\u5F53\u524D":"Return to current":Oe?"\u8FD4\u56DE":"Back",A.textContent=Oe?"\u5173\u95ED":"Close",E.textContent=Oe?"\u91CD\u8BD5":"Retry",rt(),E.hidden=r.client.pendingCommand===null,f.textContent=Q.pendingRequest?Oe?"\u6B63\u5728\u5904\u7406":"Processing":Q.instruction?.type==="wait"?Oe?"\u7B49\u5F85\u4E2D":"Waiting":"",X!==`${Q.revision}:${Q.visit}:${Q.status}:${Q.stopped}`&&(X=`${Q.revision}:${Q.visit}:${Q.status}:${Q.stopped}`,it(r.onState,structuredClone(Q))),!Q.pendingRequest&&["closed","ineligible","failed"].includes(Q.status)){ut();return}if(Q.stopped||r.client.configurationReady===!1){Ae.stop(),I?.destroy(),I=null,$?.destroy(),$=null,l.replaceChildren(),V="",Z="",W="",re="",w.open&&w.close(),u.hidden=!0,We();return}if(u.hidden=!1,Ae.active){We();return}let at=ze(Q);if(at!==V&&(Z="",I?.destroy(),I=null,$?.destroy(),$=null,l.replaceChildren(),V=at,W="",re="",Y={...Q.answers},Pt.reset()),ye(Q),Q.screen){let lt=Q.screen.content;I||(I=i(l,{mode:"live",rendererUrl:r.client.webViewUrl,title:lt.document.name,onAction(Ye,Ot={},cr={}){if(Ae.active)return;Y={...Y,...cr};let Mo=Object.fromEntries((Q.screen?.inputs??[]).filter(({variable:Ir})=>Object.hasOwn(Y,Ir)).map(({variable:Ir})=>[Ir,Y[Ir]]));qt(()=>r.client.submit({operation:"submit",...Ge(),input:{type:"screen",output:Ye,answers:Mo,selection:Ot}}))},onAnswers:Ye=>{Ae.active||(Y={...Y,...Ye})},onCustomerDataIntent:Ye=>{Ae.active||Pt.intent(Ye).catch(Be)},onEscape:()=>{Ae.active||Ve()},onError:Ye=>Be(new Error(Ye)),onRendered:Ye=>{if(!Ye)return Le.report(at);P={screen:lt.document.name,label:Ye},w.open&&w.setAttribute("aria-label",Ye),Le.report(at)}}));let kt={capabilities:Q.screen.capabilities,customerData:Q.screen.customerData,parameters:Q.parameters,serverInput:{bindings:Q.screen.inputs,answers:Y,values:Q.screen.values}},pn=JSON.stringify([lt,Q.locale,kt.parameters,Q.screen.inputs,Q.screen.values]);if(pn!==W)I.update(lt.document,Q.locale,kt),W=pn,F=JSON.stringify(kt.capabilities),re=JSON.stringify(kt.customerData);else{let Ye=JSON.stringify(kt.capabilities);Ye!==F&&(I.updateCapabilities(kt.capabilities),F=Ye),JSON.stringify(kt.customerData)!==re&&(I.updateCustomerData(kt.customerData),re=JSON.stringify(kt.customerData))}await I.ready}else if(Q.paywall&&!$){let lt=await o(l,{canInteract:()=>!Ae.active&&!j,start:async()=>eV(r.client),onPurchase:r.onPurchase,onCheckoutUrl:r.onCheckoutUrl,resolveOfferId:r.resolveOfferId,onEvent:r.onEvent,onOpenUrl:kt=>r.onOpenUrl?r.onOpenUrl({receiptId:Q.paywall.receiptId,url:kt,openIn:"same_window"}):s.defaultView?.location.assign(kt),onAction:async kt=>{if(Ae.active)return;let pn=await r.client.submit({operation:"submit",requestId:crypto.randomUUID(),nodeId:Q.nodeId,visit:Q.visit,revision:Q.revision,input:{type:"screen",output:kt,answers:{}}});await me(r.client.view??pn.run)},onError:Be,onDismiss:()=>{!Ae.active&&!j&&r.client.view?.visit===Q.visit&&Ve()}});j?lt.host?.destroy():($=lt.host,$?.setSuspended(Ae.active)),Le.report(at)}if(j)return;Z=at,rt();let Ke=Q.instruction;if(Ke&&(Ke.type==="open_url"||Ke.type==="event")&&!ve.has(Ke.receiptId)){let lt=s.createElement("button");lt.type="button",lt.textContent=Ke.type==="open_url"?`${Oe?"\u524D\u5F80":"Continue to"} ${new URL(Ke.url).host}`:Oe?"\u7EE7\u7EED":"Continue",lt.onclick=()=>{let kt=Ge(),pn=Ke.type==="open_url"&&!r.onOpenUrl&&Ke.openIn==="new_window"?_e(Ke.url):null;qt(async()=>{let Ye="success";if(Ke.type==="open_url")if(r.onOpenUrl)try{Ye=await r.onOpenUrl({receiptId:Ke.receiptId,url:Ke.url,openIn:Ke.openIn})===!1?"failed":"opened"}catch(cr){it(r.onError,cr),Ye="failed"}else Ye=Ke.openIn==="new_window"&&!pn?"failed":"opened";if(Ke.type==="event"){if(!r.onEvent)throw new G("EVENT_HANDLER_REQUIRED","Provide the event handler");await r.onEvent(Ke.event)}if(j||r.client.view?.nodeId!==kt.nodeId||r.client.view.visit!==kt.visit)throw new G("PRECONDITION_FAILED","The client action visit changed");let Ot=await r.client.submit({operation:"submit",...kt,input:{type:"client_action",receiptId:Ke.receiptId,outcome:Ye}});return ve.add(Ke.receiptId),Ke.type==="open_url"&&!r.onOpenUrl&&Ke.openIn==="same_window"&&s.defaultView?.location.assign(Ke.url),Ot})},l.replaceChildren(lt)}!Q.pendingRequest&&Q.status==="completed"&&!ve.has(`complete:${Q.id}`)&&(ve.add(`complete:${Q.id}`),it(r.onComplete,structuredClone(Q))),We()}function _e(Q){let Oe=s.defaultView?.open(Q,"_blank")??null;return Oe&&(Oe.opener=null),Oe}function me(Q){return rt(),O=O.catch(()=>{}).then(()=>fe(Q)),O}let Ce=r.client.subscribe(Q=>{r.client.configurationReady===!1&&(u.hidden=!0,I?.destroy(),I=null,$?.destroy(),$=null,l.replaceChildren(),V="",Z="",W="",re="",w.open&&w.close()),me(Q).catch(Be)}),De=r.client.subscribeError?.(Be);function Ve(){return B||(j?Promise.resolve():r.client.view&&!["running","waiting"].includes(r.client.view.status)?(ut(),Promise.resolve()):(B=qt(()=>r.client.submit({operation:"close",...Ge()}),!0).then(()=>{r.client.view?.status==="closed"&&ut()}).finally(()=>{B=null}),B))}function ut(){a?.destroy(),!j&&(j=!0,R&&clearTimeout(R),Ce(),De?.(),I?.destroy(),Ae.stop(),$?.destroy(),w.close(),w.remove(),u.remove(),c instanceof HTMLElement&&c.isConnected&&c.focus(),it(r.onDismiss,M?structuredClone(M):null))}g.onclick=()=>{if(!g.disabled){if(Ae.active){Ae.exit();return}qt(()=>r.client.submit({operation:"back",...Ge()}))}},h.onclick=()=>{Ae.open()},A.onclick=()=>{Ve()},E.onclick=()=>{qt(()=>r.client.retry())},w.addEventListener("cancel",Q=>{Q.preventDefault(),Ve()});try{let Q=await r.client.get();await me(r.client.view??Q.run)}catch(Q){throw ut(),Q}return{destroy:ut,refresh:jn,review:Ae.open,exitReview:Ae.exit,get unappliedDrafts(){return Ae.drafts}}}bn();xr();J();Nk();J();bn();var Oee=n.record(n.string().regex(/^[a-f0-9]{64}$/),n.strictObject({at:n.number(),text:n.string()})),RV=2*1048576,Tee=100;function Ree(){try{return typeof window>"u"?void 0:window.localStorage}catch{return}}function NV(e,t){let r=t===void 0?Ree():t,i=Promise.resolve();async function o(s){if(!r)return null;let c;try{return await Promise.race([Promise.resolve().then(()=>r.getItem(s)),new Promise(u=>{c=setTimeout(()=>u(null),Tee)})])}catch{return null}finally{clearTimeout(c)}}async function a(){try{let s=await o(`${e}:artifacts`);if(s&&s.length<=RV)return Oee.parse(JSON.parse(s))}catch{}return{}}return{async readManifest(){return o(e)},writeManifest(s){Promise.resolve().then(()=>r?.setItem(e,s)).catch(()=>{})},async readArtifact(s){let c=(await a())[s];return c&&Date.now()>=c.at&&Date.now()-c.at<=jr.retentionMs?c.text:void 0},writeArtifact(s,c){r&&(i=i.catch(()=>{}).then(async()=>{let u=await a(),l=Date.now();u[s]={at:l,text:c};let d={},p=2,h=0;for(let[f,m]of Object.entries(u).sort(([,g],[,A])=>A.at-g.at)){if(m.at>l||l-m.at>jr.retentionMs)continue;let g=new TextEncoder().encode(JSON.stringify({[f]:m})).byteLength;p+g>RV||h>=128||(d[f]=m,p+=g,h++)}await r.setItem(`${e}:artifacts`,JSON.stringify(d))}).catch(()=>{}))}}}vF();bn();async function Nee(e,t,r){if(Number(e.headers.get("content-length"))>t)throw r.error("limit");let i=e.body?.getReader();if(!i)throw r.error("missing");let o=[],a=0;try{for(;;){r.signal?.throwIfAborted();let u=await i.read();if(u.done)break;if(a+=u.value.length,a>t)throw r.error("limit");o.push(u.value)}}finally{await i.cancel().catch(()=>{})}r.signal?.throwIfAborted();let s=new Uint8Array(a),c=0;for(let u of o)s.set(u,c),c+=u.length;return s}async function DV(e,t,r){return new TextDecoder("utf-8",{fatal:!0}).decode(await Nee(e,t,r))}function jV(e,t){let r=typeof e=="string"?new TextEncoder().encode(e):e;return r.byteLength===t.byteLength&&TI(r)===t.sha256}var Qe=(e,t)=>new G(e,t),Lo=()=>performance.now(),$V=e=>{typeof e=="object"&&"unref"in e&&e.unref()};function LV(e){let t=CI.parse(e.scope),r=new To(e.origin??SF);if(r.username||r.password||r.search||r.hash||r.pathname!=="/"||r.protocol!=="https:"&&!(r.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(r.hostname)))throw Qe("INVALID_URL","Configuration requires a trusted HTTPS origin");let i=new Set([r.origin,...(e.assetOrigins??[]).map(ye=>{let fe=new To(ye);if(fe.protocol!=="https:"||fe.username||fe.password||fe.search||fe.hash||fe.pathname!=="/")throw Qe("INVALID_URL","Invalid configuration asset origin");return fe.origin})]),o=e.fetch??globalThis.fetch.bind(globalThis),a=`/api/v1/configuration/${t.environmentId}`,s=`indiana:configuration:1:${r.origin}:${In(t)}`,c=NV(s,e.storage),u,l=0,d=0,p=!1,h=!1,f=0,m=0,g,A,E,w,P=0,I=new Set,$=new Set,M=new Map,V=new Map,Z=0,W=!1;function F(){for(let ye of I)try{ye()}catch{}}function re(ye){try{e.onError?.(ye)}catch{}}let j=()=>!h&&!p&&!!u&&Lo()<l&&Date.now()<d;function N(){if(!j())throw Qe("CONFIGURATION_EXPIRED","Refresh configuration before using it")}function z(ye,fe){let _e=new TextEncoder().encode(fe).byteLength;if(!M.has(ye)){for(;M.size&&(M.size>=128||Z+_e>jr.maxCacheBytes);){let me=M.entries().next().value;Z-=new TextEncoder().encode(me[1]).byteLength,M.delete(me[0])}M.set(ye,fe),Z+=_e}}function X(ye,fe,_e){return DV(ye,fe,{signal:_e,error:me=>Qe("INVALID_RESPONSE",me==="missing"?"Configuration body is missing":"Configuration exceeds its byte limit")})}function R(ye){let fe=new To(ye,r);if(!i.has(fe.origin)||fe.username||fe.password||fe.hash||fe.search)throw Qe("INVALID_URL","Configuration artifact origin is not trusted");return fe.href}async function O(ye,fe,_e=!1){let me=await o(R(ye),{method:"GET",credentials:"omit",redirect:"error",cache:_e?"default":"no-cache",signal:fe,headers:{}});if(me.status===429){let Ce=me.headers.get("retry-after")??"";P=/^\d+$/.test(Ce)?Number(Ce)*1e3:Math.max(0,Date.parse(Ce)-Date.now())||15e3}if(!me.ok&&me.status!==304)throw Qe(`CONFIGURATION_HTTP_${me.status}`,"Configuration synchronization failed");return me}function B(ye,fe,_e){let me=Date.parse(ye.headers.get("x-indiana-config-validated-at")??""),Ce=Date.parse(ye.headers.get("x-indiana-config-valid-until")??""),De=Date.parse(ye.headers.get("date")??""),Ve=ye.headers.get("age"),ut=Ve!==null&&/^\d+(\.\d+)?$/.test(Ve)?Number(Ve)*1e3:NaN;if(![me,Ce,De,ut].every(Number.isFinite)||Ce<=me||Ce-me>jr.maxControlAgeMs||me>De+1e3)throw Qe("INVALID_RESPONSE","Configuration freshness evidence is invalid");let Oe=Math.min(Ce-me,_e.maxControlAgeSeconds*1e3,jr.maxControlAgeMs)-Math.max(ut,De-me,0)-(Lo()-fe);if(Oe<=0)throw Qe("CONFIGURATION_EXPIRED","Configuration validation expired in transit");return Lo()+Oe}function se(){if(clearTimeout(E),clearTimeout(w),h||!I.size)return;j()&&(w=setTimeout(()=>{j()?se():F()},Math.max(1,l-Lo())),$V(w));let ye=m?Math.min(15e3,1e3*2**Math.min(m-1,4)):Math.min(15e3,(u?.policy.refreshIntervalSeconds??15)*1e3);E=setTimeout(()=>{ve().catch(re)},Math.max(P,ye*(.8+Math.random()*.2))),$V(E)}async function ve(){if(h)throw Qe("CONFIGURATION_DISPOSED","Configuration manager was destroyed");if(g)return g;let ye=f,fe=new AbortController;A=fe;let _e=(async()=>{if(!W){W=!0;try{let pn=await c.readManifest();if(pn&&!u){let Ye=OI.parse(JSON.parse(pn));In(Ye.scope)===In(t)&&(u=Ye)}}catch{}}fe.signal.throwIfAborted();let Ve=u,ut=Lo(),Q=await O(a,fe.signal);Q.status===304&&(!Ve||!Q.headers.has("x-indiana-config-validated-at")||!Q.headers.has("x-indiana-config-valid-until")||!Q.headers.has("age"))&&(Q=await O(a,fe.signal));let Oe=Q.status===304?Ve:OI.parse(JSON.parse(await X(Q,jr.maxManifestBytes,fe.signal))),{generation:at,...Ke}=Oe,lt=Q.headers.get("etag");if(In(Oe.scope)!==In(t)||f2(Ke)!==at||lt!==`"${at}"`&&lt!==`W/"${at}"`)throw Qe("INVALID_RESPONSE","Configuration scope or content identity changed");if(Ve&&(Oe.revision<Ve.revision||Oe.revision===Ve.revision&&Oe.generation!==Ve.generation))throw Qe("INVALID_RESPONSE","Configuration revision moved backwards or changed identity");for(let[pn,Ye]of Object.entries(Ve?.funnels??{})){let Ot=Oe.funnels[pn];if(Ot&&(Ot.controlRevision<Ye.controlRevision||Ot.evaluationRevision<Ye.evaluationRevision||Ot.controlRevision===Ye.controlRevision&&Ot.state!==Ye.state||Ot.evaluationRevision===Ye.evaluationRevision&&Ot.evaluationMode!==Ye.evaluationMode))throw Qe("INVALID_RESPONSE","Funnel control revision changed identity")}let kt=B(Q,ut,Oe.policy);if(fe.signal.throwIfAborted(),ye!==f)throw Qe("CONFIGURATION_DISPOSED","Configuration scope changed");return u=Oe,l=kt,d=Date.now()+Math.max(0,kt-Lo()),p=!1,m=0,P=0,c.writeManifest(In(Oe)),F(),structuredClone(Oe)})(),me=setTimeout(()=>fe.abort(Qe("CONFIGURATION_UNAVAILABLE","Configuration initialization timed out")),jr.initializationMs),Ce=new Promise((Ve,ut)=>fe.signal.addEventListener("abort",()=>ut(fe.signal.reason),{once:!0})),De=Promise.race([_e,Ce]).catch(Ve=>{throw m++,(Ve instanceof n.ZodError||Ve instanceof SyntaxError||Ve instanceof G&&["CONFIGURATION_HTTP_404","CONFIGURATION_HTTP_410","INVALID_RESPONSE"].includes(Ve.code))&&(l=0,p=!0,F()),Ve}).finally(()=>{clearTimeout(me),g===De&&(g=void 0),se()});return g=De,De}async function Y(ye){let fe=ye.sha256,_e=at=>jV(at,ye);R(ye.url);let me=M.get(fe);if(me&&_e(me))return M.delete(fe),M.set(fe,me),me;if(V.has(fe))return V.get(fe);let Ce=new AbortController;$.add(Ce);let De=f,Ve=(async()=>{try{let lt=await c.readArtifact(fe);if(lt&&_e(lt))return z(fe,lt),lt}catch{}Ce.signal.throwIfAborted();let at=await O(ye.url,Ce.signal,!0),Ke=await X(at,ye.byteLength,Ce.signal);if(!_e(Ke))throw Qe("INVALID_RESPONSE","Configuration artifact digest or size mismatch");if(h||De!==f)throw Qe("CONFIGURATION_DISPOSED","Configuration scope changed");return z(fe,Ke),c.writeArtifact(fe,Ke),Ke})(),ut=setTimeout(()=>Ce.abort(Qe("CONFIGURATION_UNAVAILABLE","Configuration artifact timed out")),jr.initializationMs),Q=new Promise((at,Ke)=>Ce.signal.addEventListener("abort",()=>Ke(Ce.signal.reason),{once:!0})),Oe=Promise.race([Ve,Q]).finally(()=>{clearTimeout(ut),$.delete(Ce),V.delete(fe)});return V.set(fe,Oe),Oe}async function Be(){return j()||await ve(),N(),u}async function Ge(ye){let fe,_e=new Promise((me,Ce)=>{fe=setTimeout(()=>Ce(Qe("CONFIGURATION_UNAVAILABLE","Configuration initialization timed out")),jr.initializationMs)});try{return await Promise.race([ye(),_e])}finally{clearTimeout(fe)}}function Ae(ye,fe){if(N(),u?.generation!==ye.generation)throw Qe("CONFIGURATION_CHANGED","Configuration changed while preparing a snapshot");if(fe&&u.funnels[fe]?.state!=="active")throw Qe("FUNNEL_STOPPED","Funnel is paused or unavailable")}async function Le(ye){let fe=ye.gb.features;if(!fe)throw Qe("CONFIGURATION_UNAVAILABLE","Public Feature delivery is disabled");let _e=ye.artifacts[fe];if(_e.formatVersion!==1)throw Qe("UNSUPPORTED_SCHEMA","Unsupported public GB configuration format");let me=B_.parse(JSON.parse(await Y(_e)));if(In(me.scope)!==In({projectId:t.projectId,environment:t.environment})||me.generation!==_e.generation||me.remoteFeatures.some(Ce=>Object.hasOwn(me.features,Ce)))throw Qe("INVALID_RESPONSE","Public GB configuration scope or generation is invalid");return Ae(ye),{...me,evaluatedAt:new Date().toISOString(),expiresAt:new Date(Date.now()+Math.max(0,l-Lo())).toISOString()}}async function Pt(ye,fe){let _e=await Be(),me=_e.funnels[ye];fe&&(!me||me.evaluationMode==="local"&&!me.versions[fe])&&(g&&await g,_e=await ve()),Ae(_e,ye);let Ce=_e.funnels[ye];if(Ce.evaluationMode!=="local")throw Qe("EVALUATION_MODE","This Funnel executes at Longplay; public graph loading is disabled");let De=fe??Ce.currentVersionId,Ve=Ce.versions[De];if(!Ve)throw Qe("CONFIGURATION_UNAVAILABLE","Pinned Funnel Version is unavailable");if(_e.artifacts[Ve.artifact].formatVersion!==3)throw Qe("UNSUPPORTED_SCHEMA","Unsupported public Funnel format");let[ut,Q]=await Promise.all([Y(_e.artifacts[Ve.artifact]).then(Oe=>g2(JSON.parse(Oe))),Ce.evaluationMode==="local"?Le(_e):void 0]);if(Q&&In(h2(ut,Q))!==In(Ve.dependencies))throw Qe("INVALID_RESPONSE","Funnel and GB dependency contract do not match");return Ae(_e,ye),{document:ut,growth:Q,versionId:De,control:structuredClone(Ce),manifest:structuredClone(_e)}}async function ze(ye,fe){try{return await Pt(ye,fe)}catch(_e){if(!(_e instanceof G)||!(_e.code==="CONFIGURATION_CHANGED"||_e.code==="CONFIGURATION_HTTP_404"&&j()))throw _e;let me=u?.generation;if(g&&await g,await ve(),_e.code!=="CONFIGURATION_CHANGED"&&u?.generation===me)throw _e;return Pt(ye,fe)}}function rt(){p=!0,F(),ve().catch(re)}let qt=()=>{(typeof document>"u"||document.visibilityState==="visible")&&rt()};function We(ye){if(h)throw Qe("CONFIGURATION_DISPOSED","Configuration manager was destroyed");return I.add(ye),I.size===1&&(typeof window<"u"&&(window.addEventListener("online",rt),window.addEventListener("focus",qt),document.addEventListener("visibilitychange",qt)),se()),()=>{I.delete(ye),I.size||(clearTimeout(E),clearTimeout(w),jn())}}function jn(){typeof window<"u"&&(window.removeEventListener("online",rt),window.removeEventListener("focus",qt),document.removeEventListener("visibilitychange",qt))}return{scope:Object.freeze({...t}),refresh:ve,subscribe:We,assertFresh:N,assertFeatures(ye){N();let fe=u.gb.features;if(!fe)throw Qe("CONFIGURATION_UNAVAILABLE","Public Feature delivery is disabled");if(ye!==void 0&&u.artifacts[fe].generation!==ye)throw Qe("CONFIGURATION_CHANGED","Refresh changed Feature configuration before evaluation")},get fresh(){return j()},get snapshot(){return u?structuredClone(u):null},get remainingMs(){return j()?Math.max(0,l-Lo()):0},async features(){return Ge(async()=>Le(await Be()))},pageExperiments:()=>Ge(async()=>{let ye=await Be(),fe=ye.gb.pageExperiments;if(!fe)throw Qe("CONFIGURATION_UNAVAILABLE","Public page experiments are disabled");let _e=ye.artifacts[fe];if(_e.formatVersion!==1)throw Qe("UNSUPPORTED_SCHEMA","Unsupported page experiment format");let me=qM.parse(JSON.parse(await Y(_e)));if(me.environmentId!==t.environmentId||me.generation!==_e.generation)throw Qe("INVALID_RESPONSE","Page experiment scope or generation changed");return Ae(ye),me}),funnel:(ye,fe)=>Ge(()=>ze(ye,fe)),paywall:(ye,fe)=>Ge(async()=>{let _e=await Be(),me=_e.paywalls?.[ye];if(!me||!fe&&me.state!=="published")throw Qe("PAYWALL_UNAVAILABLE","Published Paywall is unavailable");let Ce=fe??me.currentVersionId,De=me.versions[Ce],Ve=De&&_e.artifacts[De.artifact];if(!Ve||Ve.kind!=="paywall"||Ve.formatVersion!==1)throw Qe("UNSUPPORTED_SCHEMA","Public Paywall format is unavailable");let ut=d2.parse(JSON.parse(await Y(Ve)));return Ae(_e),{document:ut,versionId:Ce,version:De.version,control:structuredClone(me),manifest:structuredClone(_e)}}),async localFunnel(ye,fe){let _e=await Ge(()=>ze(ye,fe));if(!_e.growth)throw Qe("EVALUATION_MODE","This Funnel requires remote execution");let{analyticsConfig:me,remoteFeatures:Ce,...De}=_e.growth;return EM({scope:{projectId:t.projectId,environment:t.environment},funnelId:ye,versionId:_e.versionId,evaluationMode:"local",evaluationRevision:_e.control.evaluationRevision,document:_e.document,payload:De})},assertFunnel(ye,fe,_e){N();let me=u.funnels[ye];if(!me||me.state!=="active")throw Qe("FUNNEL_STOPPED","Funnel is paused or unavailable");if(me.evaluationMode!=="local")throw Qe("EVALUATION_MODE","This Funnel now executes at Longplay");if(fe!==void 0&&me.controlRevision!==fe)throw Qe("RUN_RECONCILIATION_REQUIRED","Reconcile the original Run after a control change");if(_e!==void 0&&!me.versions[_e])throw Qe("CONFIGURATION_UNAVAILABLE","Pinned Funnel Version is unavailable")},destroy(){if(!h){h=!0,f++,l=0,A?.abort(Qe("CONFIGURATION_DISPOSED","Configuration manager was destroyed")),clearTimeout(E),clearTimeout(w),jn(),F(),I.clear();for(let ye of $)ye.abort(Qe("CONFIGURATION_DISPOSED","Configuration manager was destroyed"));M.clear(),Z=0}}}}bn();xr();var MV=(e,t)=>new G(e,t);xr();async function FV(e,t,{predict:r=!0}={}){let i=t.instruction;if(i?.type!=="evaluate_segment")throw new Error("Local segment instruction required");if(!e)throw new G("CONFIGURATION_UNAVAILABLE","Local execution requires public configuration");if(e.scope.environmentId!==i.environmentId)throw new G("SCOPE_MISMATCH","Evaluation environment changed");let o=null,a;if(r)try{let s=await e.funnel(t.source.id,t.source.versionId);a=s.manifest.generation,o=Dee(e,t,s)}catch{o=null}return a??=e.snapshot?.generation??(await e.refresh()).generation,{advance:{policyRevision:i.policyRevision,generation:a},prediction:o}}function Dee(e,t,r){let i=t.instruction;if(i?.type!=="evaluate_segment"||!r.growth||r.control.evaluationMode!=="local"||r.control.evaluationRevision!==i.policyRevision)return null;let{analyticsConfig:o,remoteFeatures:a,...s}=r.growth,c=ak({scope:{projectId:e.scope.projectId,environment:e.scope.environment},funnelId:t.source.id,versionId:t.source.versionId,evaluationMode:"local",evaluationRevision:i.policyRevision,document:r.document,payload:Nr.parse(s)}),u=jee(c,r.document,{...t,...i}),l=u.steps.at(-1),d=u.boundary??(l?.result.port==="value"?{nodeId:l.nodeId,visit:t.visit+u.steps.length-1}:null);return d?{runId:t.id,from:{nodeId:t.nodeId,visit:t.visit,revision:t.revision},nodeId:d.nodeId,visit:d.visit,terminal:!u.boundary}:null}function jee(e,t,r){return WM(e,t,r,MV)}bn();function qy(e,t){if(e===t)return!0;if(Array.isArray(e)||Array.isArray(t))return Array.isArray(e)&&Array.isArray(t)&&e.length===t.length&&e.every((o,a)=>qy(o,t[a]));if(!e||!t||typeof e!="object"||typeof t!="object")return!1;let r=Object.entries(e),i=Object.entries(t);return r.length===i.length&&r.every(([o,a])=>Object.hasOwn(t,o)&&qy(a,Reflect.get(t,o)))}J();var $ee=/^\/api\/v1\/configuration\/[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}(?:\/artifacts\/[a-f0-9]{64})?$/,Lee=n.strictObject({status:n.number().int().min(200).max(599),headers:n.record(n.string(),n.string()),body:n.string()});function zV(){let e=window,t,r=new Map,i=null,o=null,a=!1,s=!1,c=null,u,l=null,d=null,p=null,h=null,f=!1,m=new Set,g=null,A=null,E=null,w=new Set;function P(N){if(a)throw new G("CLOSED","Native host is unavailable");if(i)i.postMessage(JSON.stringify(N));else if(e.webkit?.messageHandlers?.indianaFunnel)e.webkit.messageHandlers.indianaFunnel.postMessage(N);else throw new G("BRIDGE_UNAVAILABLE","Native bridge is unavailable")}function I(N,z={}){let X=crypto.randomUUID();return new Promise((R,O)=>{let B=setTimeout(()=>{r.delete(X),O(new G("TIMEOUT","Retry the original command"))},45e3);r.set(X,{resolve:R,reject:O,timer:B});try{P({id:X,method:N,payload:z})}catch(se){clearTimeout(B),r.delete(X),O(se)}})}function $(N,z=!1,X=d,R){let O=ld.parse(N);if(R&&O.settlement?.requestId!==R)throw new G("INVALID_RESPONSE","Exact command settlement is missing or changed");if(z&&!O.review)throw new G("INVALID_RESPONSE","Historical projection is missing");if(!c||O.scope.projectId!==c.projectId||O.scope.environment!==c.environment)throw new G("SCOPE_MISMATCH","Native run scope changed");if(d&&(d.id!==O.run.id||d.source.type!==O.run.source.type||d.source.id!==O.run.source.id||d.source.versionId!==O.run.source.versionId||d.locale!==O.run.locale||!qy(d.parameters,O.run.parameters)))throw new G("INVALID_RESPONSE","Run identity changed");if(z&&d&&d!==X&&O.run.revision<=d.revision||(z&&!O.run.stopped&&["running","waiting"].includes(O.run.status)&&d&&O.run.nodeId===d.nodeId&&O.run.visit===d.visit&&O.run.revision===d.revision&&(O.run.screen=d.screen,(d.paywall?.quote?.operationId===O.review?.activeOperationId||!d.paywall?.quote&&O.review?.activeOperationId===null)&&(O.run.paywall=d.paywall)),["running","waiting"].includes(O.run.status)||(f=!0),d?.paywall&&O.run.paywall&&d.paywall.receiptId===O.run.paywall.receiptId&&(O.run.paywall.selectionGeneration??0)<(d.paywall.selectionGeneration??0)))return O;if(!d||O.run.revision>=d.revision){d=O.run;for(let B of w)try{B(structuredClone(d))}catch{}}return O}async function M(N){let z=kc.parse(N),X=N.operation==="close";if(X){if(f=!0,h&&JSON.stringify(h)!==JSON.stringify(N))throw new G("COMMAND_PENDING","Retry the original Close");h=N}if(!X&&f)throw new G("COMMAND_PENDING","Settle the original command after Close");if(!X&&p&&JSON.stringify(p)!==JSON.stringify(N))throw new G("COMMAND_PENDING","Retry the original command");X||(p=N);let R=m.has(N.requestId);m.add(N.requestId);try{if(z.operation==="start"||z.operation==="review"||"customerToken"in z)throw new G("INVALID_REQUEST","Credentials belong to the native host");let O=$(await I("command",z),!1,d,N.requestId);return O.settlement?.state==="settled"&&(!f||X||O.settlement?.requestId===N.requestId&&O.settlement.state==="settled"&&!["running","waiting"].includes(O.run.status))&&(p===N&&(p=null),h===N&&(h=null),m.delete(N.requestId)),O}catch(O){throw p===N&&!R&&!f&&O instanceof G&&O.status!==void 0&&O.status<500&&![401,425].includes(O.status)&&(p=null),O}}async function V(N,z){let X=new URL(N instanceof Request?N.url:N);if(X.origin!==t||X.search||X.hash||(z?.method??"GET")!=="GET"||!$ee.test(X.pathname))throw new G("INVALID_URL","Configuration path is not trusted");z?.signal?.throwIfAborted();let R=Lee.parse(await I("configuration",{path:X.pathname}));return z?.signal?.throwIfAborted(),new Response([204,205,304].includes(R.status)?null:R.body,{status:R.status,headers:R.headers})}async function Z(N){if(N.run.instruction?.type!=="evaluate_segment"||p||f)return N;if(l)return l;let z=(async()=>{let X=N;for(let R=0;R<32;R++){let O=X.run,B=O.instruction;if(B?.type!=="evaluate_segment")break;if(a||!c)throw new G("IDENTITY_CHANGED","Native session changed");u??=LV({origin:t,scope:{...c,environmentId:B.environmentId},fetch:V,storage:null});let se=()=>d&&(d.revision!==O.revision||d.visit!==O.visit||d.nodeId!==O.nodeId);if(B.type==="evaluate_segment"){let{advance:ve}=await FV(u,O,{predict:!1});if(p||f)return X;if(se())return $(await I("command",{operation:"get"}));X=await M({operation:"commit_segment",requestId:bM(O.id,O.visit,`segment:${O.revision}`),nodeId:O.nodeId,visit:O.visit,revision:O.revision,...ve})}}return X})();l=z;try{return await z}finally{l===z&&(l=null)}}function W(){if(!a){a=!0,u?.destroy(),E?.destroy(),g?.destroy(),g=null,d=null,p=null,h=null,m.clear(),w.clear();for(let N of r.values())clearTimeout(N.timer),N.reject(new G("IDENTITY_CHANGED","Native identity changed"));r.clear(),i?.close(),i=null,o=null,window.removeEventListener("message",j),document.body.replaceChildren()}}let F={async resolvePaywall(N){return Io.parse(await I("paywallContent",{id:N.id,sha256:N.content.artifact.sha256}))},get view(){return d?structuredClone(d):null},get pendingCommand(){let N=h??p;return N?structuredClone(N):null},get pendingCommands(){return[p,h].filter(N=>N!==null).map(N=>structuredClone(N))},async settle(N){let z=$(await I("command",{operation:"get",settlementRequestId:N}));if(z.settlement?.requestId!==N)throw new G("INVALID_RESPONSE","Exact command settlement is missing");return z.settlement.state==="settled"&&(p?.requestId===N&&(p=null),h?.requestId===N&&(h=null),m.delete(N)),z},webViewUrl:"bundled",async review(N){let z=d;return $(await I("command",{operation:"review",...N?{receiptId:N}:{}}),!0,z)},async get(N,z){let X=$(await I("command",{operation:"get",...N?{data:N}:{},...z?{purchase:z}:{}})),R=await I("pendingCommand");if(R){let O=kc.parse(R);if(O.operation==="get"||O.operation==="start"||O.operation==="review"||"customerToken"in O)throw new G("INVALID_RESPONSE","Invalid native pending command");O.operation==="close"?(h=O,f=!0):p=O}else p=null,h=null;return Z(X)},submit:N=>M(N).then(Z),retry:()=>h?M(h):f&&p?F.settle(p.requestId):p?M(p).then(Z):Promise.reject(new G("INVALID_REQUEST","No pending command")),resume:(N=d?.pendingRequest?.requestId)=>N?f?F.settle(N):M({operation:"resume",requestId:N}).then(Z):Promise.reject(new G("INVALID_REQUEST","No interrupted command")),identify(){throw new G("INVALID_REQUEST","Customer credentials belong to the native session")},subscribe(N){return w.add(N),()=>w.delete(N)},reset:W};async function re(N,z,X,R){if(s||a)return;let O=new URL(n.string().parse(z));if(O.origin!==z||O.username||O.password||O.protocol!=="https:"&&!(O.protocol==="http:"&&["localhost","127.0.0.1","[::1]"].includes(O.hostname)))throw new G("INVALID_CONFIGURATION","Invalid native API origin");if(t=O.origin,c=yt.parse(N),s=!0,X==="features"){if(A=await OF(I,c,R),g=A,a){g.destroy(),g=null;return}await I("featuresReady");return}if(X==="content"){g=await J4(I),a&&(g.destroy(),g=null);return}if(X==="paywall"){if(E=await Q4(se=>I("paywall",se)),a){E.destroy();return}g=(await Ny(document.body,{start:async()=>E,onPurchase:({operation:se})=>I("purchase",{operation:se}),onCheckoutUrl:se=>I("checkout",{url:se}),onOpenUrl:se=>I("open",{url:se}),onEvent:se=>I("event",{event:se}),onComplete:()=>I("complete"),onDismiss:()=>{a||I("dismiss").catch(()=>{})},onError:()=>{a||I("error").catch(()=>{})}})).host,a&&(g?.destroy(),g=null);return}if(X!==void 0&&X!=="funnel")throw new G("INVALID_CONFIGURATION","Unknown native surface");g=await TV(document.getElementById("grow-funnel-root")??document.body,{client:F,onPurchase:({operation:B})=>I("purchase",{operation:B}),onCheckoutUrl:B=>I("checkout",{url:B}),onOpenUrl:B=>I("open",B),onEvent:B=>I("event",{event:B}),onComplete:()=>I("complete"),onDismiss:()=>{a||I("dismiss").catch(()=>{})}}),a&&(g.destroy(),g=null)}e.__indianaFunnelReceive=N=>{if(a||!N||typeof N!="object")return;let z=N;if(z.event==="invalidated")return W();if(z.event==="feature_call"){let R=z.id;if(typeof R!="string"||!A)return;A.call(z.input).then(O=>I("featureResult",{id:R,result:O})).catch(O=>I("featureResult",{id:R,error:{code:O instanceof G?O.code:"INVALID_RESPONSE"}})).catch(()=>{});return}if(z.event==="refresh"){g?.refresh().catch(()=>{});return}if(z.event==="init"){re(z.scope,z.apiOrigin,z.surface,z.attributes).catch(W);return}if(typeof z.id!="string")return;let X=r.get(z.id);if(X)if(r.delete(z.id),clearTimeout(X.timer),z.error&&typeof z.error=="object"){let R=z.error;X.reject(new G(typeof R.code=="string"?R.code:"NATIVE_OPERATION_FAILED","Native operation did not finish",typeof R.status=="number"?R.status:void 0))}else X.resolve(z.result)},e.__indianaFunnelPreparePort=N=>a||i||!/^[a-f0-9-]{36}$/.test(N)?!1:(o=N,!0);function j(N){let z=N.data;if(typeof z=="string")try{z=JSON.parse(z)}catch{return}!z||typeof z!="object"||!("type"in z)||z.type!=="indiana-native-port"||!o||!("nonce"in z)||z.nonce!==o||i||!N.ports[0]||(o=null,i=N.ports[0],i.onmessage=X=>{if(!(typeof X.data!="string"||X.data.length>2097152))try{e.__indianaFunnelReceive?.(JSON.parse(X.data))}catch{W()}},i.start(),P({id:crypto.randomUUID(),method:"ready",payload:{}}))}return window.addEventListener("message",j),e.webkit?.messageHandlers?.indianaFunnel&&P({id:crypto.randomUUID(),method:"ready",payload:{}}),{destroy:W}}globalThis.__indianaInstallNativeFunnelHost=zV;})();
251
251
  /*!
252
252
  Copyright (c) 2025 GrowthBook, Inc.
253
253