@getopenpay/openpay-js 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -1,15 +1,15 @@
1
- (function(Te,je){typeof exports=="object"&&typeof module<"u"?je(exports):typeof define=="function"&&define.amd?define(["exports"],je):(Te=typeof globalThis<"u"?globalThis:Te||self,je(Te.OpenPay={}))})(this,function(Te){"use strict";const je="https://cde.getopenpay.com";var x;(function(r){r.assertEqual=s=>s;function e(s){}r.assertIs=e;function t(s){throw new Error}r.assertNever=t,r.arrayToEnum=s=>{const o={};for(const a of s)o[a]=a;return o},r.getValidEnumValues=s=>{const o=r.objectKeys(s).filter(c=>typeof s[s[c]]!="number"),a={};for(const c of o)a[c]=s[c];return r.objectValues(a)},r.objectValues=s=>r.objectKeys(s).map(function(o){return s[o]}),r.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{const o=[];for(const a in s)Object.prototype.hasOwnProperty.call(s,a)&&o.push(a);return o},r.find=(s,o)=>{for(const a of s)if(o(a))return a},r.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&isFinite(s)&&Math.floor(s)===s;function n(s,o=" | "){return s.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}r.joinValues=n,r.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(x||(x={}));var Jt;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(Jt||(Jt={}));const _=x.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ge=r=>{switch(typeof r){case"undefined":return _.undefined;case"string":return _.string;case"number":return isNaN(r)?_.nan:_.number;case"boolean":return _.boolean;case"function":return _.function;case"bigint":return _.bigint;case"symbol":return _.symbol;case"object":return Array.isArray(r)?_.array:r===null?_.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?_.promise:typeof Map<"u"&&r instanceof Map?_.map:typeof Set<"u"&&r instanceof Set?_.set:typeof Date<"u"&&r instanceof Date?_.date:_.object;default:return _.unknown}},p=x.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Gn=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class W extends Error{constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(o){return o.message},n={_errors:[]},s=o=>{for(const a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(s);else if(a.code==="invalid_return_type")s(a.returnTypeError);else if(a.code==="invalid_arguments")s(a.argumentsError);else if(a.path.length===0)n._errors.push(t(a));else{let c=n,u=0;for(;u<a.path.length;){const l=a.path[u];u===a.path.length-1?(c[l]=c[l]||{_errors:[]},c[l]._errors.push(t(a))):c[l]=c[l]||{_errors:[]},c=c[l],u++}}};return s(this),n}static assert(e){if(!(e instanceof W))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,x.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},n=[];for(const s of this.issues)s.path.length>0?(t[s.path[0]]=t[s.path[0]]||[],t[s.path[0]].push(e(s))):n.push(e(s));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}W.create=r=>new W(r);const De=(r,e)=>{let t;switch(r.code){case p.invalid_type:r.received===_.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case p.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,x.jsonStringifyReplacer)}`;break;case p.unrecognized_keys:t=`Unrecognized key(s) in object: ${x.joinValues(r.keys,", ")}`;break;case p.invalid_union:t="Invalid input";break;case p.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${x.joinValues(r.options)}`;break;case p.invalid_enum_value:t=`Invalid enum value. Expected ${x.joinValues(r.options)}, received '${r.received}'`;break;case p.invalid_arguments:t="Invalid function arguments";break;case p.invalid_return_type:t="Invalid function return type";break;case p.invalid_date:t="Invalid date";break;case p.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:x.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case p.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case p.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case p.custom:t="Invalid input";break;case p.invalid_intersection_types:t="Intersection results could not be merged";break;case p.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case p.not_finite:t="Number must be finite";break;default:t=e.defaultError,x.assertNever(r)}return{message:t}};let Pr=De;function Yn(r){Pr=r}function kt(){return Pr}const Et=r=>{const{data:e,path:t,errorMaps:n,issueData:s}=r,o=[...t,...s.path||[]],a={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let c="";const u=n.filter(l=>!!l).slice().reverse();for(const l of u)c=l(a,{data:e,defaultError:c}).message;return{...s,path:o,message:c}},Wn=[];function y(r,e){const t=kt(),n=Et({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===De?void 0:De].filter(s=>!!s)});r.common.issues.push(n)}class z{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const s of t){if(s.status==="aborted")return k;s.status==="dirty"&&e.dirty(),n.push(s.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const s of t){const o=await s.key,a=await s.value;n.push({key:o,value:a})}return z.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const s of t){const{key:o,value:a}=s;if(o.status==="aborted"||a.status==="aborted")return k;o.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||s.alwaysSet)&&(n[o.value]=a.value)}return{status:e.value,value:n}}}const k=Object.freeze({status:"aborted"}),Le=r=>({status:"dirty",value:r}),q=r=>({status:"valid",value:r}),Xt=r=>r.status==="aborted",Qt=r=>r.status==="dirty",Je=r=>r.status==="valid",Xe=r=>typeof Promise<"u"&&r instanceof Promise;function St(r,e,t,n){if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(r)}function Ar(r,e,t,n,s){if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(r,t),t}typeof SuppressedError=="function"&&SuppressedError;var v;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(v||(v={}));var Qe,et;class oe{constructor(e,t,n,s){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=s}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Tr=(r,e)=>{if(Je(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new W(r.common.issues);return this._error=t,this._error}}};function S(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:n,description:s}=r;if(e&&(t||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(a,c)=>{var u,l;const{message:d}=r;return a.code==="invalid_enum_value"?{message:d??c.defaultError}:typeof c.data>"u"?{message:(u=d??n)!==null&&u!==void 0?u:c.defaultError}:a.code!=="invalid_type"?{message:c.defaultError}:{message:(l=d??t)!==null&&l!==void 0?l:c.defaultError}},description:s}}class C{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return ge(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:ge(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new z,ctx:{common:e.parent.common,data:e.data,parsedType:ge(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(Xe(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const s={common:{issues:[],async:(n=t==null?void 0:t.async)!==null&&n!==void 0?n:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ge(e)},o=this._parseSync({data:e,path:s.path,parent:s});return Tr(s,o)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ge(e)},s=this._parse({data:e,path:n.path,parent:n}),o=await(Xe(s)?s:Promise.resolve(s));return Tr(n,o)}refine(e,t){const n=s=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(s):t;return this._refinement((s,o)=>{const a=e(s),c=()=>o.addIssue({code:p.custom,...n(s)});return typeof Promise<"u"&&a instanceof Promise?a.then(u=>u?!0:(c(),!1)):a?!0:(c(),!1)})}refinement(e,t){return this._refinement((n,s)=>e(n)?!0:(s.addIssue(typeof t=="function"?t(n,s):t),!1))}_refinement(e){return new ee({schema:this,typeName:b.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ae.create(this,this._def)}nullable(){return ke.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Q.create(this,this._def)}promise(){return Ze.create(this,this._def)}or(e){return st.create([this,e],this._def)}and(e){return ot.create(this,e,this._def)}transform(e){return new ee({...S(this._def),schema:this,typeName:b.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new ut({...S(this._def),innerType:this,defaultValue:t,typeName:b.ZodDefault})}brand(){return new rr({typeName:b.ZodBranded,type:this,...S(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new dt({...S(this._def),innerType:this,catchValue:t,typeName:b.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return pt.create(this,e)}readonly(){return ft.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Hn=/^c[^\s-]{8,}$/i,Kn=/^[0-9a-z]+$/,Jn=/^[0-9A-HJKMNP-TV-Z]{26}$/,Xn=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Qn=/^[a-z0-9_-]{21}$/i,es=/^[-+]?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)?)??$/,ts=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,rs="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let er;const ns=/^(?:(?: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])$/,ss=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,os=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ir="((\\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])))",is=new RegExp(`^${Ir}$`);function Or(r){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`),e}function as(r){return new RegExp(`^${Or(r)}$`)}function Rr(r){let e=`${Ir}T${Or(r)}`;const t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function cs(r,e){return!!((e==="v4"||!e)&&ns.test(r)||(e==="v6"||!e)&&ss.test(r))}class X extends C{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==_.string){const o=this._getOrReturnCtx(e);return y(o,{code:p.invalid_type,expected:_.string,received:o.parsedType}),k}const n=new z;let s;for(const o of this._def.checks)if(o.kind==="min")e.data.length<o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="max")e.data.length>o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="length"){const a=e.data.length>o.value,c=e.data.length<o.value;(a||c)&&(s=this._getOrReturnCtx(e,s),a?y(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):c&&y(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),n.dirty())}else if(o.kind==="email")ts.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"email",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="emoji")er||(er=new RegExp(rs,"u")),er.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"emoji",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="uuid")Xn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"uuid",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="nanoid")Qn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"nanoid",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid")Hn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"cuid",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid2")Kn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"cuid2",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="ulid")Jn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"ulid",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),y(s,{validation:"url",code:p.invalid_string,message:o.message}),n.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"regex",code:p.invalid_string,message:o.message}),n.dirty())):o.kind==="trim"?e.data=e.data.trim():o.kind==="includes"?e.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),n.dirty()):o.kind==="toLowerCase"?e.data=e.data.toLowerCase():o.kind==="toUpperCase"?e.data=e.data.toUpperCase():o.kind==="startsWith"?e.data.startsWith(o.value)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:{startsWith:o.value},message:o.message}),n.dirty()):o.kind==="endsWith"?e.data.endsWith(o.value)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:{endsWith:o.value},message:o.message}),n.dirty()):o.kind==="datetime"?Rr(o).test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:"datetime",message:o.message}),n.dirty()):o.kind==="date"?is.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:"date",message:o.message}),n.dirty()):o.kind==="time"?as(o).test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:"time",message:o.message}),n.dirty()):o.kind==="duration"?es.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"duration",code:p.invalid_string,message:o.message}),n.dirty()):o.kind==="ip"?cs(e.data,o.version)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"ip",code:p.invalid_string,message:o.message}),n.dirty()):o.kind==="base64"?os.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"base64",code:p.invalid_string,message:o.message}),n.dirty()):x.assertNever(o);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(s=>e.test(s),{validation:t,code:p.invalid_string,...v.errToObj(n)})}_addCheck(e){return new X({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...v.errToObj(e)})}url(e){return this._addCheck({kind:"url",...v.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...v.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...v.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...v.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...v.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...v.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...v.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...v.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...v.errToObj(e)})}datetime(e){var t,n;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,local:(n=e==null?void 0:e.local)!==null&&n!==void 0?n:!1,...v.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...v.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...v.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...v.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...v.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...v.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...v.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...v.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...v.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...v.errToObj(t)})}nonempty(e){return this.min(1,v.errToObj(e))}trim(){return new X({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new X({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new X({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}X.create=r=>{var e;return new X({checks:[],typeName:b.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...S(r)})};function ls(r,e){const t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,s=t>n?t:n,o=parseInt(r.toFixed(s).replace(".","")),a=parseInt(e.toFixed(s).replace(".",""));return o%a/Math.pow(10,s)}class ve extends C{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==_.number){const o=this._getOrReturnCtx(e);return y(o,{code:p.invalid_type,expected:_.number,received:o.parsedType}),k}let n;const s=new z;for(const o of this._def.checks)o.kind==="int"?x.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),y(n,{code:p.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?ls(e.data,o.value)!==0&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),y(n,{code:p.not_finite,message:o.message}),s.dirty()):x.assertNever(o);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,v.toString(t))}gt(e,t){return this.setLimit("min",e,!1,v.toString(t))}lte(e,t){return this.setLimit("max",e,!0,v.toString(t))}lt(e,t){return this.setLimit("max",e,!1,v.toString(t))}setLimit(e,t,n,s){return new ve({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:v.toString(s)}]})}_addCheck(e){return new ve({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:v.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:v.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:v.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&x.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(t===null||n.value>t)&&(t=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(t)&&Number.isFinite(e)}}ve.create=r=>new ve({checks:[],typeName:b.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...S(r)});class we extends C{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==_.bigint){const o=this._getOrReturnCtx(e);return y(o,{code:p.invalid_type,expected:_.bigint,received:o.parsedType}),k}let n;const s=new z;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?e.data%o.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):x.assertNever(o);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,v.toString(t))}gt(e,t){return this.setLimit("min",e,!1,v.toString(t))}lte(e,t){return this.setLimit("max",e,!0,v.toString(t))}lt(e,t){return this.setLimit("max",e,!1,v.toString(t))}setLimit(e,t,n,s){return new we({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:v.toString(s)}]})}_addCheck(e){return new we({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:v.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}we.create=r=>{var e;return new we({checks:[],typeName:b.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...S(r)})};class tt extends C{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==_.boolean){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.boolean,received:n.parsedType}),k}return q(e.data)}}tt.create=r=>new tt({typeName:b.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...S(r)});class Ie extends C{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==_.date){const o=this._getOrReturnCtx(e);return y(o,{code:p.invalid_type,expected:_.date,received:o.parsedType}),k}if(isNaN(e.data.getTime())){const o=this._getOrReturnCtx(e);return y(o,{code:p.invalid_date}),k}const n=new z;let s;for(const o of this._def.checks)o.kind==="min"?e.data.getTime()<o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:p.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),n.dirty()):o.kind==="max"?e.data.getTime()>o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:p.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),n.dirty()):x.assertNever(o);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Ie({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:v.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:v.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}Ie.create=r=>new Ie({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:b.ZodDate,...S(r)});class Ct extends C{_parse(e){if(this._getType(e)!==_.symbol){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.symbol,received:n.parsedType}),k}return q(e.data)}}Ct.create=r=>new Ct({typeName:b.ZodSymbol,...S(r)});class rt extends C{_parse(e){if(this._getType(e)!==_.undefined){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.undefined,received:n.parsedType}),k}return q(e.data)}}rt.create=r=>new rt({typeName:b.ZodUndefined,...S(r)});class nt extends C{_parse(e){if(this._getType(e)!==_.null){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.null,received:n.parsedType}),k}return q(e.data)}}nt.create=r=>new nt({typeName:b.ZodNull,...S(r)});class Fe extends C{constructor(){super(...arguments),this._any=!0}_parse(e){return q(e.data)}}Fe.create=r=>new Fe({typeName:b.ZodAny,...S(r)});class Oe extends C{constructor(){super(...arguments),this._unknown=!0}_parse(e){return q(e.data)}}Oe.create=r=>new Oe({typeName:b.ZodUnknown,...S(r)});class pe extends C{_parse(e){const t=this._getOrReturnCtx(e);return y(t,{code:p.invalid_type,expected:_.never,received:t.parsedType}),k}}pe.create=r=>new pe({typeName:b.ZodNever,...S(r)});class xt extends C{_parse(e){if(this._getType(e)!==_.undefined){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.void,received:n.parsedType}),k}return q(e.data)}}xt.create=r=>new xt({typeName:b.ZodVoid,...S(r)});class Q extends C{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),s=this._def;if(t.parsedType!==_.array)return y(t,{code:p.invalid_type,expected:_.array,received:t.parsedType}),k;if(s.exactLength!==null){const a=t.data.length>s.exactLength.value,c=t.data.length<s.exactLength.value;(a||c)&&(y(t,{code:a?p.too_big:p.too_small,minimum:c?s.exactLength.value:void 0,maximum:a?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),n.dirty())}if(s.minLength!==null&&t.data.length<s.minLength.value&&(y(t,{code:p.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),n.dirty()),s.maxLength!==null&&t.data.length>s.maxLength.value&&(y(t,{code:p.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((a,c)=>s.type._parseAsync(new oe(t,a,t.path,c)))).then(a=>z.mergeArray(n,a));const o=[...t.data].map((a,c)=>s.type._parseSync(new oe(t,a,t.path,c)));return z.mergeArray(n,o)}get element(){return this._def.type}min(e,t){return new Q({...this._def,minLength:{value:e,message:v.toString(t)}})}max(e,t){return new Q({...this._def,maxLength:{value:e,message:v.toString(t)}})}length(e,t){return new Q({...this._def,exactLength:{value:e,message:v.toString(t)}})}nonempty(e){return this.min(1,e)}}Q.create=(r,e)=>new Q({type:r,minLength:null,maxLength:null,exactLength:null,typeName:b.ZodArray,...S(e)});function $e(r){if(r instanceof R){const e={};for(const t in r.shape){const n=r.shape[t];e[t]=ae.create($e(n))}return new R({...r._def,shape:()=>e})}else return r instanceof Q?new Q({...r._def,type:$e(r.element)}):r instanceof ae?ae.create($e(r.unwrap())):r instanceof ke?ke.create($e(r.unwrap())):r instanceof ie?ie.create(r.items.map(e=>$e(e))):r}class R extends C{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=x.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==_.object){const l=this._getOrReturnCtx(e);return y(l,{code:p.invalid_type,expected:_.object,received:l.parsedType}),k}const{status:n,ctx:s}=this._processInputParams(e),{shape:o,keys:a}=this._getCached(),c=[];if(!(this._def.catchall instanceof pe&&this._def.unknownKeys==="strip"))for(const l in s.data)a.includes(l)||c.push(l);const u=[];for(const l of a){const d=o[l],m=s.data[l];u.push({key:{status:"valid",value:l},value:d._parse(new oe(s,m,s.path,l)),alwaysSet:l in s.data})}if(this._def.catchall instanceof pe){const l=this._def.unknownKeys;if(l==="passthrough")for(const d of c)u.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(l==="strict")c.length>0&&(y(s,{code:p.unrecognized_keys,keys:c}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(const d of c){const m=s.data[d];u.push({key:{status:"valid",value:d},value:l._parse(new oe(s,m,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const l=[];for(const d of u){const m=await d.key,w=await d.value;l.push({key:m,value:w,alwaysSet:d.alwaysSet})}return l}).then(l=>z.mergeObjectSync(n,l)):z.mergeObjectSync(n,u)}get shape(){return this._def.shape()}strict(e){return v.errToObj,new R({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{var s,o,a,c;const u=(a=(o=(s=this._def).errorMap)===null||o===void 0?void 0:o.call(s,t,n).message)!==null&&a!==void 0?a:n.defaultError;return t.code==="unrecognized_keys"?{message:(c=v.errToObj(e).message)!==null&&c!==void 0?c:u}:{message:u}}}:{}})}strip(){return new R({...this._def,unknownKeys:"strip"})}passthrough(){return new R({...this._def,unknownKeys:"passthrough"})}extend(e){return new R({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new R({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:b.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new R({...this._def,catchall:e})}pick(e){const t={};return x.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new R({...this._def,shape:()=>t})}omit(e){const t={};return x.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new R({...this._def,shape:()=>t})}deepPartial(){return $e(this)}partial(e){const t={};return x.objectKeys(this.shape).forEach(n=>{const s=this.shape[n];e&&!e[n]?t[n]=s:t[n]=s.optional()}),new R({...this._def,shape:()=>t})}required(e){const t={};return x.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let o=this.shape[n];for(;o instanceof ae;)o=o._def.innerType;t[n]=o}}),new R({...this._def,shape:()=>t})}keyof(){return Nr(x.objectKeys(this.shape))}}R.create=(r,e)=>new R({shape:()=>r,unknownKeys:"strip",catchall:pe.create(),typeName:b.ZodObject,...S(e)}),R.strictCreate=(r,e)=>new R({shape:()=>r,unknownKeys:"strict",catchall:pe.create(),typeName:b.ZodObject,...S(e)}),R.lazycreate=(r,e)=>new R({shape:r,unknownKeys:"strip",catchall:pe.create(),typeName:b.ZodObject,...S(e)});class st extends C{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;function s(o){for(const c of o)if(c.result.status==="valid")return c.result;for(const c of o)if(c.result.status==="dirty")return t.common.issues.push(...c.ctx.common.issues),c.result;const a=o.map(c=>new W(c.ctx.common.issues));return y(t,{code:p.invalid_union,unionErrors:a}),k}if(t.common.async)return Promise.all(n.map(async o=>{const a={...t,common:{...t.common,issues:[]},parent:null};return{result:await o._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(s);{let o;const a=[];for(const u of n){const l={...t,common:{...t.common,issues:[]},parent:null},d=u._parseSync({data:t.data,path:t.path,parent:l});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:l}),l.common.issues.length&&a.push(l.common.issues)}if(o)return t.common.issues.push(...o.ctx.common.issues),o.result;const c=a.map(u=>new W(u));return y(t,{code:p.invalid_union,unionErrors:c}),k}}get options(){return this._def.options}}st.create=(r,e)=>new st({options:r,typeName:b.ZodUnion,...S(e)});const fe=r=>r instanceof at?fe(r.schema):r instanceof ee?fe(r.innerType()):r instanceof ct?[r.value]:r instanceof be?r.options:r instanceof lt?x.objectValues(r.enum):r instanceof ut?fe(r._def.innerType):r instanceof rt?[void 0]:r instanceof nt?[null]:r instanceof ae?[void 0,...fe(r.unwrap())]:r instanceof ke?[null,...fe(r.unwrap())]:r instanceof rr||r instanceof ft?fe(r.unwrap()):r instanceof dt?fe(r._def.innerType):[];class Pt extends C{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.object)return y(t,{code:p.invalid_type,expected:_.object,received:t.parsedType}),k;const n=this.discriminator,s=t.data[n],o=this.optionsMap.get(s);return o?t.common.async?o._parseAsync({data:t.data,path:t.path,parent:t}):o._parseSync({data:t.data,path:t.path,parent:t}):(y(t,{code:p.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),k)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const s=new Map;for(const o of t){const a=fe(o.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const c of a){if(s.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);s.set(c,o)}}return new Pt({typeName:b.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:s,...S(n)})}}function tr(r,e){const t=ge(r),n=ge(e);if(r===e)return{valid:!0,data:r};if(t===_.object&&n===_.object){const s=x.objectKeys(e),o=x.objectKeys(r).filter(c=>s.indexOf(c)!==-1),a={...r,...e};for(const c of o){const u=tr(r[c],e[c]);if(!u.valid)return{valid:!1};a[c]=u.data}return{valid:!0,data:a}}else if(t===_.array&&n===_.array){if(r.length!==e.length)return{valid:!1};const s=[];for(let o=0;o<r.length;o++){const a=r[o],c=e[o],u=tr(a,c);if(!u.valid)return{valid:!1};s.push(u.data)}return{valid:!0,data:s}}else return t===_.date&&n===_.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}class ot extends C{_parse(e){const{status:t,ctx:n}=this._processInputParams(e),s=(o,a)=>{if(Xt(o)||Xt(a))return k;const c=tr(o.value,a.value);return c.valid?((Qt(o)||Qt(a))&&t.dirty(),{status:t.value,value:c.data}):(y(n,{code:p.invalid_intersection_types}),k)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([o,a])=>s(o,a)):s(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}ot.create=(r,e,t)=>new ot({left:r,right:e,typeName:b.ZodIntersection,...S(t)});class ie extends C{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.array)return y(n,{code:p.invalid_type,expected:_.array,received:n.parsedType}),k;if(n.data.length<this._def.items.length)return y(n,{code:p.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),k;!this._def.rest&&n.data.length>this._def.items.length&&(y(n,{code:p.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const o=[...n.data].map((a,c)=>{const u=this._def.items[c]||this._def.rest;return u?u._parse(new oe(n,a,n.path,c)):null}).filter(a=>!!a);return n.common.async?Promise.all(o).then(a=>z.mergeArray(t,a)):z.mergeArray(t,o)}get items(){return this._def.items}rest(e){return new ie({...this._def,rest:e})}}ie.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ie({items:r,typeName:b.ZodTuple,rest:null,...S(e)})};class it extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.object)return y(n,{code:p.invalid_type,expected:_.object,received:n.parsedType}),k;const s=[],o=this._def.keyType,a=this._def.valueType;for(const c in n.data)s.push({key:o._parse(new oe(n,c,n.path,c)),value:a._parse(new oe(n,n.data[c],n.path,c)),alwaysSet:c in n.data});return n.common.async?z.mergeObjectAsync(t,s):z.mergeObjectSync(t,s)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof C?new it({keyType:e,valueType:t,typeName:b.ZodRecord,...S(n)}):new it({keyType:X.create(),valueType:e,typeName:b.ZodRecord,...S(t)})}}class At extends C{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.map)return y(n,{code:p.invalid_type,expected:_.map,received:n.parsedType}),k;const s=this._def.keyType,o=this._def.valueType,a=[...n.data.entries()].map(([c,u],l)=>({key:s._parse(new oe(n,c,n.path,[l,"key"])),value:o._parse(new oe(n,u,n.path,[l,"value"]))}));if(n.common.async){const c=new Map;return Promise.resolve().then(async()=>{for(const u of a){const l=await u.key,d=await u.value;if(l.status==="aborted"||d.status==="aborted")return k;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(l.value,d.value)}return{status:t.value,value:c}})}else{const c=new Map;for(const u of a){const l=u.key,d=u.value;if(l.status==="aborted"||d.status==="aborted")return k;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(l.value,d.value)}return{status:t.value,value:c}}}}At.create=(r,e,t)=>new At({valueType:e,keyType:r,typeName:b.ZodMap,...S(t)});class Re extends C{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.set)return y(n,{code:p.invalid_type,expected:_.set,received:n.parsedType}),k;const s=this._def;s.minSize!==null&&n.data.size<s.minSize.value&&(y(n,{code:p.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),t.dirty()),s.maxSize!==null&&n.data.size>s.maxSize.value&&(y(n,{code:p.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),t.dirty());const o=this._def.valueType;function a(u){const l=new Set;for(const d of u){if(d.status==="aborted")return k;d.status==="dirty"&&t.dirty(),l.add(d.value)}return{status:t.value,value:l}}const c=[...n.data.values()].map((u,l)=>o._parse(new oe(n,u,n.path,l)));return n.common.async?Promise.all(c).then(u=>a(u)):a(c)}min(e,t){return new Re({...this._def,minSize:{value:e,message:v.toString(t)}})}max(e,t){return new Re({...this._def,maxSize:{value:e,message:v.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Re.create=(r,e)=>new Re({valueType:r,minSize:null,maxSize:null,typeName:b.ZodSet,...S(e)});class Ue extends C{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.function)return y(t,{code:p.invalid_type,expected:_.function,received:t.parsedType}),k;function n(c,u){return Et({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,kt(),De].filter(l=>!!l),issueData:{code:p.invalid_arguments,argumentsError:u}})}function s(c,u){return Et({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,kt(),De].filter(l=>!!l),issueData:{code:p.invalid_return_type,returnTypeError:u}})}const o={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Ze){const c=this;return q(async function(...u){const l=new W([]),d=await c._def.args.parseAsync(u,o).catch(h=>{throw l.addIssue(n(u,h)),l}),m=await Reflect.apply(a,this,d);return await c._def.returns._def.type.parseAsync(m,o).catch(h=>{throw l.addIssue(s(m,h)),l})})}else{const c=this;return q(function(...u){const l=c._def.args.safeParse(u,o);if(!l.success)throw new W([n(u,l.error)]);const d=Reflect.apply(a,this,l.data),m=c._def.returns.safeParse(d,o);if(!m.success)throw new W([s(d,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Ue({...this._def,args:ie.create(e).rest(Oe.create())})}returns(e){return new Ue({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new Ue({args:e||ie.create([]).rest(Oe.create()),returns:t||Oe.create(),typeName:b.ZodFunction,...S(n)})}}class at extends C{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}at.create=(r,e)=>new at({getter:r,typeName:b.ZodLazy,...S(e)});class ct extends C{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return y(t,{received:t.data,code:p.invalid_literal,expected:this._def.value}),k}return{status:"valid",value:e.data}}get value(){return this._def.value}}ct.create=(r,e)=>new ct({value:r,typeName:b.ZodLiteral,...S(e)});function Nr(r,e){return new be({values:r,typeName:b.ZodEnum,...S(e)})}class be extends C{constructor(){super(...arguments),Qe.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),n=this._def.values;return y(t,{expected:x.joinValues(n),received:t.parsedType,code:p.invalid_type}),k}if(St(this,Qe)||Ar(this,Qe,new Set(this._def.values)),!St(this,Qe).has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return y(t,{received:t.data,code:p.invalid_enum_value,options:n}),k}return q(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return be.create(e,{...this._def,...t})}exclude(e,t=this._def){return be.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}}Qe=new WeakMap,be.create=Nr;class lt extends C{constructor(){super(...arguments),et.set(this,void 0)}_parse(e){const t=x.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==_.string&&n.parsedType!==_.number){const s=x.objectValues(t);return y(n,{expected:x.joinValues(s),received:n.parsedType,code:p.invalid_type}),k}if(St(this,et)||Ar(this,et,new Set(x.getValidEnumValues(this._def.values))),!St(this,et).has(e.data)){const s=x.objectValues(t);return y(n,{received:n.data,code:p.invalid_enum_value,options:s}),k}return q(e.data)}get enum(){return this._def.values}}et=new WeakMap,lt.create=(r,e)=>new lt({values:r,typeName:b.ZodNativeEnum,...S(e)});class Ze extends C{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.promise&&t.common.async===!1)return y(t,{code:p.invalid_type,expected:_.promise,received:t.parsedType}),k;const n=t.parsedType===_.promise?t.data:Promise.resolve(t.data);return q(n.then(s=>this._def.type.parseAsync(s,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Ze.create=(r,e)=>new Ze({type:r,typeName:b.ZodPromise,...S(e)});class ee extends C{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===b.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),s=this._def.effect||null,o={addIssue:a=>{y(n,a),a.fatal?t.abort():t.dirty()},get path(){return n.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){const a=s.transform(n.data,o);if(n.common.async)return Promise.resolve(a).then(async c=>{if(t.value==="aborted")return k;const u=await this._def.schema._parseAsync({data:c,path:n.path,parent:n});return u.status==="aborted"?k:u.status==="dirty"||t.value==="dirty"?Le(u.value):u});{if(t.value==="aborted")return k;const c=this._def.schema._parseSync({data:a,path:n.path,parent:n});return c.status==="aborted"?k:c.status==="dirty"||t.value==="dirty"?Le(c.value):c}}if(s.type==="refinement"){const a=c=>{const u=s.refinement(c,o);if(n.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(n.common.async===!1){const c=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return c.status==="aborted"?k:(c.status==="dirty"&&t.dirty(),a(c.value),{status:t.value,value:c.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(c=>c.status==="aborted"?k:(c.status==="dirty"&&t.dirty(),a(c.value).then(()=>({status:t.value,value:c.value}))))}if(s.type==="transform")if(n.common.async===!1){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!Je(a))return a;const c=s.transform(a.value,o);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:c}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>Je(a)?Promise.resolve(s.transform(a.value,o)).then(c=>({status:t.value,value:c})):a);x.assertNever(s)}}ee.create=(r,e,t)=>new ee({schema:r,typeName:b.ZodEffects,effect:e,...S(t)}),ee.createWithPreprocess=(r,e,t)=>new ee({schema:e,effect:{type:"preprocess",transform:r},typeName:b.ZodEffects,...S(t)});class ae extends C{_parse(e){return this._getType(e)===_.undefined?q(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ae.create=(r,e)=>new ae({innerType:r,typeName:b.ZodOptional,...S(e)});class ke extends C{_parse(e){return this._getType(e)===_.null?q(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ke.create=(r,e)=>new ke({innerType:r,typeName:b.ZodNullable,...S(e)});class ut extends C{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===_.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}ut.create=(r,e)=>new ut({innerType:r,typeName:b.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...S(e)});class dt extends C{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},s=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return Xe(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new W(n.common.issues)},input:n.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new W(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}dt.create=(r,e)=>new dt({innerType:r,typeName:b.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...S(e)});class Tt extends C{_parse(e){if(this._getType(e)!==_.nan){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.nan,received:n.parsedType}),k}return{status:"valid",value:e.data}}}Tt.create=r=>new Tt({typeName:b.ZodNaN,...S(r)});const us=Symbol("zod_brand");class rr extends C{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class pt extends C{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?k:o.status==="dirty"?(t.dirty(),Le(o.value)):this._def.out._parseAsync({data:o.value,path:n.path,parent:n})})();{const s=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?k:s.status==="dirty"?(t.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:n.path,parent:n})}}static create(e,t){return new pt({in:e,out:t,typeName:b.ZodPipeline})}}class ft extends C{_parse(e){const t=this._def.innerType._parse(e),n=s=>(Je(s)&&(s.value=Object.freeze(s.value)),s);return Xe(t)?t.then(s=>n(s)):n(t)}unwrap(){return this._def.innerType}}ft.create=(r,e)=>new ft({innerType:r,typeName:b.ZodReadonly,...S(e)});function Mr(r,e={},t){return r?Fe.create().superRefine((n,s)=>{var o,a;if(!r(n)){const c=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,u=(a=(o=c.fatal)!==null&&o!==void 0?o:t)!==null&&a!==void 0?a:!0,l=typeof c=="string"?{message:c}:c;s.addIssue({code:"custom",...l,fatal:u})}}):Fe.create()}const ds={object:R.lazycreate};var b;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(b||(b={}));const ps=(r,e={message:`Input not instance of ${r.name}`})=>Mr(t=>t instanceof r,e),jr=X.create,Dr=ve.create,fs=Tt.create,hs=we.create,Lr=tt.create,ms=Ie.create,ys=Ct.create,_s=rt.create,gs=nt.create,vs=Fe.create,ws=Oe.create,bs=pe.create,ks=xt.create,Es=Q.create,Ss=R.create,Cs=R.strictCreate,xs=st.create,Ps=Pt.create,As=ot.create,Ts=ie.create,Is=it.create,Os=At.create,Rs=Re.create,Ns=Ue.create,Ms=at.create,js=ct.create,Ds=be.create,Ls=lt.create,Fs=Ze.create,Fr=ee.create,$s=ae.create,Us=ke.create,Zs=ee.createWithPreprocess,Vs=pt.create;var i=Object.freeze({__proto__:null,defaultErrorMap:De,setErrorMap:Yn,getErrorMap:kt,makeIssue:Et,EMPTY_PATH:Wn,addIssueToContext:y,ParseStatus:z,INVALID:k,DIRTY:Le,OK:q,isAborted:Xt,isDirty:Qt,isValid:Je,isAsync:Xe,get util(){return x},get objectUtil(){return Jt},ZodParsedType:_,getParsedType:ge,ZodType:C,datetimeRegex:Rr,ZodString:X,ZodNumber:ve,ZodBigInt:we,ZodBoolean:tt,ZodDate:Ie,ZodSymbol:Ct,ZodUndefined:rt,ZodNull:nt,ZodAny:Fe,ZodUnknown:Oe,ZodNever:pe,ZodVoid:xt,ZodArray:Q,ZodObject:R,ZodUnion:st,ZodDiscriminatedUnion:Pt,ZodIntersection:ot,ZodTuple:ie,ZodRecord:it,ZodMap:At,ZodSet:Re,ZodFunction:Ue,ZodLazy:at,ZodLiteral:ct,ZodEnum:be,ZodNativeEnum:lt,ZodPromise:Ze,ZodEffects:ee,ZodTransformer:ee,ZodOptional:ae,ZodNullable:ke,ZodDefault:ut,ZodCatch:dt,ZodNaN:Tt,BRAND:us,ZodBranded:rr,ZodPipeline:pt,ZodReadonly:ft,custom:Mr,Schema:C,ZodSchema:C,late:ds,get ZodFirstPartyTypeKind(){return b},coerce:{string:r=>X.create({...r,coerce:!0}),number:r=>ve.create({...r,coerce:!0}),boolean:r=>tt.create({...r,coerce:!0}),bigint:r=>we.create({...r,coerce:!0}),date:r=>Ie.create({...r,coerce:!0})},any:vs,array:Es,bigint:hs,boolean:Lr,date:ms,discriminatedUnion:Ps,effect:Fr,enum:Ds,function:Ns,instanceof:ps,intersection:As,lazy:Ms,literal:js,map:Os,nan:fs,nativeEnum:Ls,never:bs,null:gs,nullable:Us,number:Dr,object:Ss,oboolean:()=>Lr().optional(),onumber:()=>Dr().optional(),optional:$s,ostring:()=>jr().optional(),pipeline:Vs,preprocess:Zs,promise:Fs,record:Is,set:Rs,strictObject:Cs,string:jr,symbol:ys,transformer:Fr,tuple:Ts,undefined:_s,union:xs,unknown:ws,void:ks,NEVER:k,ZodIssueCode:p,quotelessJson:Gn,ZodError:W});const zs=i.object({type:i.string(),loc:i.array(i.string()),msg:i.string(),url:i.string()}),Bs=i.array(zs),qs=i.object({code:i.string(),message:i.string(),path:i.array(i.string())}),Gs=i.array(qs),Ys={"failed to fetch":"Connection error: please double check if you are connected to the internet, then try again"},nr=r=>{const e=r.toLowerCase().trim();return Ys[e]??r},Ws=r=>{try{return typeof JSON.parse(r)=="object"}catch{return!1}},Hs=r=>r.length===1?nr(r[0].msg):`Please fix the following errors:
2
- ${r.map(t=>`• ${nr(t.msg)}`).join(`
3
- `)}`,Ks=r=>`Encountered the following errors:
1
+ (function(Oe,Fe){typeof exports=="object"&&typeof module<"u"?Fe(exports):typeof define=="function"&&define.amd?define(["exports"],Fe):(Oe=typeof globalThis<"u"?globalThis:Oe||self,Fe(Oe.OpenPay={}))})(this,function(Oe){"use strict";const Fe="https://cde.getopenpay.com";var A;(function(r){r.assertEqual=s=>s;function e(s){}r.assertIs=e;function t(s){throw new Error}r.assertNever=t,r.arrayToEnum=s=>{const o={};for(const a of s)o[a]=a;return o},r.getValidEnumValues=s=>{const o=r.objectKeys(s).filter(c=>typeof s[s[c]]!="number"),a={};for(const c of o)a[c]=s[c];return r.objectValues(a)},r.objectValues=s=>r.objectKeys(s).map(function(o){return s[o]}),r.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{const o=[];for(const a in s)Object.prototype.hasOwnProperty.call(s,a)&&o.push(a);return o},r.find=(s,o)=>{for(const a of s)if(o(a))return a},r.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&isFinite(s)&&Math.floor(s)===s;function n(s,o=" | "){return s.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}r.joinValues=n,r.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(A||(A={}));var Qt;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(Qt||(Qt={}));const _=A.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),be=r=>{switch(typeof r){case"undefined":return _.undefined;case"string":return _.string;case"number":return isNaN(r)?_.nan:_.number;case"boolean":return _.boolean;case"function":return _.function;case"bigint":return _.bigint;case"symbol":return _.symbol;case"object":return Array.isArray(r)?_.array:r===null?_.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?_.promise:typeof Map<"u"&&r instanceof Map?_.map:typeof Set<"u"&&r instanceof Set?_.set:typeof Date<"u"&&r instanceof Date?_.date:_.object;default:return _.unknown}},f=A.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Yn=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class G extends Error{constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(o){return o.message},n={_errors:[]},s=o=>{for(const a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(s);else if(a.code==="invalid_return_type")s(a.returnTypeError);else if(a.code==="invalid_arguments")s(a.argumentsError);else if(a.path.length===0)n._errors.push(t(a));else{let c=n,u=0;for(;u<a.path.length;){const l=a.path[u];u===a.path.length-1?(c[l]=c[l]||{_errors:[]},c[l]._errors.push(t(a))):c[l]=c[l]||{_errors:[]},c=c[l],u++}}};return s(this),n}static assert(e){if(!(e instanceof G))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,A.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},n=[];for(const s of this.issues)s.path.length>0?(t[s.path[0]]=t[s.path[0]]||[],t[s.path[0]].push(e(s))):n.push(e(s));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}G.create=r=>new G(r);const Ue=(r,e)=>{let t;switch(r.code){case f.invalid_type:r.received===_.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case f.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,A.jsonStringifyReplacer)}`;break;case f.unrecognized_keys:t=`Unrecognized key(s) in object: ${A.joinValues(r.keys,", ")}`;break;case f.invalid_union:t="Invalid input";break;case f.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${A.joinValues(r.options)}`;break;case f.invalid_enum_value:t=`Invalid enum value. Expected ${A.joinValues(r.options)}, received '${r.received}'`;break;case f.invalid_arguments:t="Invalid function arguments";break;case f.invalid_return_type:t="Invalid function return type";break;case f.invalid_date:t="Invalid date";break;case f.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:A.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case f.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case f.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case f.custom:t="Invalid input";break;case f.invalid_intersection_types:t="Intersection results could not be merged";break;case f.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case f.not_finite:t="Number must be finite";break;default:t=e.defaultError,A.assertNever(r)}return{message:t}};let xr=Ue;function Wn(r){xr=r}function St(){return xr}const Ct=r=>{const{data:e,path:t,errorMaps:n,issueData:s}=r,o=[...t,...s.path||[]],a={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let c="";const u=n.filter(l=>!!l).slice().reverse();for(const l of u)c=l(a,{data:e,defaultError:c}).message;return{...s,path:o,message:c}},Hn=[];function y(r,e){const t=St(),n=Ct({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===Ue?void 0:Ue].filter(s=>!!s)});r.common.issues.push(n)}class Z{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const s of t){if(s.status==="aborted")return E;s.status==="dirty"&&e.dirty(),n.push(s.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const s of t){const o=await s.key,a=await s.value;n.push({key:o,value:a})}return Z.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const s of t){const{key:o,value:a}=s;if(o.status==="aborted"||a.status==="aborted")return E;o.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||s.alwaysSet)&&(n[o.value]=a.value)}return{status:e.value,value:n}}}const E=Object.freeze({status:"aborted"}),$e=r=>({status:"dirty",value:r}),z=r=>({status:"valid",value:r}),Xt=r=>r.status==="aborted",er=r=>r.status==="dirty",tt=r=>r.status==="valid",rt=r=>typeof Promise<"u"&&r instanceof Promise;function xt(r,e,t,n){if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(r)}function Ar(r,e,t,n,s){if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(r,t),t}typeof SuppressedError=="function"&&SuppressedError;var g;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(g||(g={}));var nt,st;class se{constructor(e,t,n,s){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=s}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Pr=(r,e)=>{if(tt(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new G(r.common.issues);return this._error=t,this._error}}};function S(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:n,description:s}=r;if(e&&(t||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(a,c)=>{var u,l;const{message:d}=r;return a.code==="invalid_enum_value"?{message:d??c.defaultError}:typeof c.data>"u"?{message:(u=d??n)!==null&&u!==void 0?u:c.defaultError}:a.code!=="invalid_type"?{message:c.defaultError}:{message:(l=d??t)!==null&&l!==void 0?l:c.defaultError}},description:s}}class x{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return be(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:be(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Z,ctx:{common:e.parent.common,data:e.data,parsedType:be(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(rt(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const s={common:{issues:[],async:(n=t==null?void 0:t.async)!==null&&n!==void 0?n:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:be(e)},o=this._parseSync({data:e,path:s.path,parent:s});return Pr(s,o)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:be(e)},s=this._parse({data:e,path:n.path,parent:n}),o=await(rt(s)?s:Promise.resolve(s));return Pr(n,o)}refine(e,t){const n=s=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(s):t;return this._refinement((s,o)=>{const a=e(s),c=()=>o.addIssue({code:f.custom,...n(s)});return typeof Promise<"u"&&a instanceof Promise?a.then(u=>u?!0:(c(),!1)):a?!0:(c(),!1)})}refinement(e,t){return this._refinement((n,s)=>e(n)?!0:(s.addIssue(typeof t=="function"?t(n,s):t),!1))}_refinement(e){return new Q({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ie.create(this,this._def)}nullable(){return Ce.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return J.create(this,this._def)}promise(){return Be.create(this,this._def)}or(e){return ct.create([this,e],this._def)}and(e){return lt.create(this,e,this._def)}transform(e){return new Q({...S(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new ht({...S(this._def),innerType:this,defaultValue:t,typeName:k.ZodDefault})}brand(){return new nr({typeName:k.ZodBranded,type:this,...S(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new mt({...S(this._def),innerType:this,catchValue:t,typeName:k.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return yt.create(this,e)}readonly(){return _t.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Kn=/^c[^\s-]{8,}$/i,Jn=/^[0-9a-z]+$/,Qn=/^[0-9A-HJKMNP-TV-Z]{26}$/,Xn=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,es=/^[a-z0-9_-]{21}$/i,ts=/^[-+]?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)?)??$/,rs=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ns="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let tr;const ss=/^(?:(?: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])$/,os=/^(([a-f0-9]{1,4}:){7}|::([a-f0-9]{1,4}:){0,6}|([a-f0-9]{1,4}:){1}:([a-f0-9]{1,4}:){0,5}|([a-f0-9]{1,4}:){2}:([a-f0-9]{1,4}:){0,4}|([a-f0-9]{1,4}:){3}:([a-f0-9]{1,4}:){0,3}|([a-f0-9]{1,4}:){4}:([a-f0-9]{1,4}:){0,2}|([a-f0-9]{1,4}:){5}:([a-f0-9]{1,4}:){0,1})([a-f0-9]{1,4}|(((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2}))\.){3}((25[0-5])|(2[0-4][0-9])|(1[0-9]{2})|([0-9]{1,2})))$/,is=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Tr="((\\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])))",as=new RegExp(`^${Tr}$`);function Ir(r){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`),e}function cs(r){return new RegExp(`^${Ir(r)}$`)}function Or(r){let e=`${Tr}T${Ir(r)}`;const t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function ls(r,e){return!!((e==="v4"||!e)&&ss.test(r)||(e==="v6"||!e)&&os.test(r))}class K extends x{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==_.string){const o=this._getOrReturnCtx(e);return y(o,{code:f.invalid_type,expected:_.string,received:o.parsedType}),E}const n=new Z;let s;for(const o of this._def.checks)if(o.kind==="min")e.data.length<o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:f.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="max")e.data.length>o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:f.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="length"){const a=e.data.length>o.value,c=e.data.length<o.value;(a||c)&&(s=this._getOrReturnCtx(e,s),a?y(s,{code:f.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):c&&y(s,{code:f.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),n.dirty())}else if(o.kind==="email")rs.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"email",code:f.invalid_string,message:o.message}),n.dirty());else if(o.kind==="emoji")tr||(tr=new RegExp(ns,"u")),tr.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"emoji",code:f.invalid_string,message:o.message}),n.dirty());else if(o.kind==="uuid")Xn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"uuid",code:f.invalid_string,message:o.message}),n.dirty());else if(o.kind==="nanoid")es.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"nanoid",code:f.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid")Kn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"cuid",code:f.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid2")Jn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"cuid2",code:f.invalid_string,message:o.message}),n.dirty());else if(o.kind==="ulid")Qn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"ulid",code:f.invalid_string,message:o.message}),n.dirty());else if(o.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),y(s,{validation:"url",code:f.invalid_string,message:o.message}),n.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"regex",code:f.invalid_string,message:o.message}),n.dirty())):o.kind==="trim"?e.data=e.data.trim():o.kind==="includes"?e.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(e,s),y(s,{code:f.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),n.dirty()):o.kind==="toLowerCase"?e.data=e.data.toLowerCase():o.kind==="toUpperCase"?e.data=e.data.toUpperCase():o.kind==="startsWith"?e.data.startsWith(o.value)||(s=this._getOrReturnCtx(e,s),y(s,{code:f.invalid_string,validation:{startsWith:o.value},message:o.message}),n.dirty()):o.kind==="endsWith"?e.data.endsWith(o.value)||(s=this._getOrReturnCtx(e,s),y(s,{code:f.invalid_string,validation:{endsWith:o.value},message:o.message}),n.dirty()):o.kind==="datetime"?Or(o).test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:f.invalid_string,validation:"datetime",message:o.message}),n.dirty()):o.kind==="date"?as.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:f.invalid_string,validation:"date",message:o.message}),n.dirty()):o.kind==="time"?cs(o).test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:f.invalid_string,validation:"time",message:o.message}),n.dirty()):o.kind==="duration"?ts.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"duration",code:f.invalid_string,message:o.message}),n.dirty()):o.kind==="ip"?ls(e.data,o.version)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"ip",code:f.invalid_string,message:o.message}),n.dirty()):o.kind==="base64"?is.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"base64",code:f.invalid_string,message:o.message}),n.dirty()):A.assertNever(o);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(s=>e.test(s),{validation:t,code:f.invalid_string,...g.errToObj(n)})}_addCheck(e){return new K({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...g.errToObj(e)})}url(e){return this._addCheck({kind:"url",...g.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...g.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...g.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...g.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...g.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...g.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...g.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...g.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...g.errToObj(e)})}datetime(e){var t,n;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,local:(n=e==null?void 0:e.local)!==null&&n!==void 0?n:!1,...g.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...g.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...g.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...g.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...g.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...g.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...g.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...g.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...g.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...g.errToObj(t)})}nonempty(e){return this.min(1,g.errToObj(e))}trim(){return new K({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new K({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new K({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get minLength(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}K.create=r=>{var e;return new K({checks:[],typeName:k.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...S(r)})};function us(r,e){const t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,s=t>n?t:n,o=parseInt(r.toFixed(s).replace(".","")),a=parseInt(e.toFixed(s).replace(".",""));return o%a/Math.pow(10,s)}class ke extends x{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==_.number){const o=this._getOrReturnCtx(e);return y(o,{code:f.invalid_type,expected:_.number,received:o.parsedType}),E}let n;const s=new Z;for(const o of this._def.checks)o.kind==="int"?A.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),y(n,{code:f.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:f.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:f.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?us(e.data,o.value)!==0&&(n=this._getOrReturnCtx(e,n),y(n,{code:f.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),y(n,{code:f.not_finite,message:o.message}),s.dirty()):A.assertNever(o);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,g.toString(t))}gt(e,t){return this.setLimit("min",e,!1,g.toString(t))}lte(e,t){return this.setLimit("max",e,!0,g.toString(t))}lt(e,t){return this.setLimit("max",e,!1,g.toString(t))}setLimit(e,t,n,s){return new ke({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:g.toString(s)}]})}_addCheck(e){return new ke({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:g.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:g.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:g.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:g.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:g.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:g.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:g.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:g.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:g.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&A.isInteger(e.value))}get isFinite(){let e=null,t=null;for(const n of this._def.checks){if(n.kind==="finite"||n.kind==="int"||n.kind==="multipleOf")return!0;n.kind==="min"?(t===null||n.value>t)&&(t=n.value):n.kind==="max"&&(e===null||n.value<e)&&(e=n.value)}return Number.isFinite(t)&&Number.isFinite(e)}}ke.create=r=>new ke({checks:[],typeName:k.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...S(r)});class Ee extends x{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==_.bigint){const o=this._getOrReturnCtx(e);return y(o,{code:f.invalid_type,expected:_.bigint,received:o.parsedType}),E}let n;const s=new Z;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:f.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:f.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?e.data%o.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),y(n,{code:f.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):A.assertNever(o);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,g.toString(t))}gt(e,t){return this.setLimit("min",e,!1,g.toString(t))}lte(e,t){return this.setLimit("max",e,!0,g.toString(t))}lt(e,t){return this.setLimit("max",e,!1,g.toString(t))}setLimit(e,t,n,s){return new Ee({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:g.toString(s)}]})}_addCheck(e){return new Ee({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:g.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:g.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:g.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:g.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:g.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}Ee.create=r=>{var e;return new Ee({checks:[],typeName:k.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...S(r)})};class ot extends x{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==_.boolean){const n=this._getOrReturnCtx(e);return y(n,{code:f.invalid_type,expected:_.boolean,received:n.parsedType}),E}return z(e.data)}}ot.create=r=>new ot({typeName:k.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...S(r)});class Re extends x{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==_.date){const o=this._getOrReturnCtx(e);return y(o,{code:f.invalid_type,expected:_.date,received:o.parsedType}),E}if(isNaN(e.data.getTime())){const o=this._getOrReturnCtx(e);return y(o,{code:f.invalid_date}),E}const n=new Z;let s;for(const o of this._def.checks)o.kind==="min"?e.data.getTime()<o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:f.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),n.dirty()):o.kind==="max"?e.data.getTime()>o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:f.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),n.dirty()):A.assertNever(o);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Re({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:g.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:g.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}Re.create=r=>new Re({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:k.ZodDate,...S(r)});class At extends x{_parse(e){if(this._getType(e)!==_.symbol){const n=this._getOrReturnCtx(e);return y(n,{code:f.invalid_type,expected:_.symbol,received:n.parsedType}),E}return z(e.data)}}At.create=r=>new At({typeName:k.ZodSymbol,...S(r)});class it extends x{_parse(e){if(this._getType(e)!==_.undefined){const n=this._getOrReturnCtx(e);return y(n,{code:f.invalid_type,expected:_.undefined,received:n.parsedType}),E}return z(e.data)}}it.create=r=>new it({typeName:k.ZodUndefined,...S(r)});class at extends x{_parse(e){if(this._getType(e)!==_.null){const n=this._getOrReturnCtx(e);return y(n,{code:f.invalid_type,expected:_.null,received:n.parsedType}),E}return z(e.data)}}at.create=r=>new at({typeName:k.ZodNull,...S(r)});class Ze extends x{constructor(){super(...arguments),this._any=!0}_parse(e){return z(e.data)}}Ze.create=r=>new Ze({typeName:k.ZodAny,...S(r)});class Ne extends x{constructor(){super(...arguments),this._unknown=!0}_parse(e){return z(e.data)}}Ne.create=r=>new Ne({typeName:k.ZodUnknown,...S(r)});class fe extends x{_parse(e){const t=this._getOrReturnCtx(e);return y(t,{code:f.invalid_type,expected:_.never,received:t.parsedType}),E}}fe.create=r=>new fe({typeName:k.ZodNever,...S(r)});class Pt extends x{_parse(e){if(this._getType(e)!==_.undefined){const n=this._getOrReturnCtx(e);return y(n,{code:f.invalid_type,expected:_.void,received:n.parsedType}),E}return z(e.data)}}Pt.create=r=>new Pt({typeName:k.ZodVoid,...S(r)});class J extends x{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),s=this._def;if(t.parsedType!==_.array)return y(t,{code:f.invalid_type,expected:_.array,received:t.parsedType}),E;if(s.exactLength!==null){const a=t.data.length>s.exactLength.value,c=t.data.length<s.exactLength.value;(a||c)&&(y(t,{code:a?f.too_big:f.too_small,minimum:c?s.exactLength.value:void 0,maximum:a?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),n.dirty())}if(s.minLength!==null&&t.data.length<s.minLength.value&&(y(t,{code:f.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),n.dirty()),s.maxLength!==null&&t.data.length>s.maxLength.value&&(y(t,{code:f.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((a,c)=>s.type._parseAsync(new se(t,a,t.path,c)))).then(a=>Z.mergeArray(n,a));const o=[...t.data].map((a,c)=>s.type._parseSync(new se(t,a,t.path,c)));return Z.mergeArray(n,o)}get element(){return this._def.type}min(e,t){return new J({...this._def,minLength:{value:e,message:g.toString(t)}})}max(e,t){return new J({...this._def,maxLength:{value:e,message:g.toString(t)}})}length(e,t){return new J({...this._def,exactLength:{value:e,message:g.toString(t)}})}nonempty(e){return this.min(1,e)}}J.create=(r,e)=>new J({type:r,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...S(e)});function Ve(r){if(r instanceof R){const e={};for(const t in r.shape){const n=r.shape[t];e[t]=ie.create(Ve(n))}return new R({...r._def,shape:()=>e})}else return r instanceof J?new J({...r._def,type:Ve(r.element)}):r instanceof ie?ie.create(Ve(r.unwrap())):r instanceof Ce?Ce.create(Ve(r.unwrap())):r instanceof oe?oe.create(r.items.map(e=>Ve(e))):r}class R extends x{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=A.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==_.object){const l=this._getOrReturnCtx(e);return y(l,{code:f.invalid_type,expected:_.object,received:l.parsedType}),E}const{status:n,ctx:s}=this._processInputParams(e),{shape:o,keys:a}=this._getCached(),c=[];if(!(this._def.catchall instanceof fe&&this._def.unknownKeys==="strip"))for(const l in s.data)a.includes(l)||c.push(l);const u=[];for(const l of a){const d=o[l],h=s.data[l];u.push({key:{status:"valid",value:l},value:d._parse(new se(s,h,s.path,l)),alwaysSet:l in s.data})}if(this._def.catchall instanceof fe){const l=this._def.unknownKeys;if(l==="passthrough")for(const d of c)u.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(l==="strict")c.length>0&&(y(s,{code:f.unrecognized_keys,keys:c}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(const d of c){const h=s.data[d];u.push({key:{status:"valid",value:d},value:l._parse(new se(s,h,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const l=[];for(const d of u){const h=await d.key,w=await d.value;l.push({key:h,value:w,alwaysSet:d.alwaysSet})}return l}).then(l=>Z.mergeObjectSync(n,l)):Z.mergeObjectSync(n,u)}get shape(){return this._def.shape()}strict(e){return g.errToObj,new R({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{var s,o,a,c;const u=(a=(o=(s=this._def).errorMap)===null||o===void 0?void 0:o.call(s,t,n).message)!==null&&a!==void 0?a:n.defaultError;return t.code==="unrecognized_keys"?{message:(c=g.errToObj(e).message)!==null&&c!==void 0?c:u}:{message:u}}}:{}})}strip(){return new R({...this._def,unknownKeys:"strip"})}passthrough(){return new R({...this._def,unknownKeys:"passthrough"})}extend(e){return new R({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new R({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new R({...this._def,catchall:e})}pick(e){const t={};return A.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new R({...this._def,shape:()=>t})}omit(e){const t={};return A.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new R({...this._def,shape:()=>t})}deepPartial(){return Ve(this)}partial(e){const t={};return A.objectKeys(this.shape).forEach(n=>{const s=this.shape[n];e&&!e[n]?t[n]=s:t[n]=s.optional()}),new R({...this._def,shape:()=>t})}required(e){const t={};return A.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let o=this.shape[n];for(;o instanceof ie;)o=o._def.innerType;t[n]=o}}),new R({...this._def,shape:()=>t})}keyof(){return Rr(A.objectKeys(this.shape))}}R.create=(r,e)=>new R({shape:()=>r,unknownKeys:"strip",catchall:fe.create(),typeName:k.ZodObject,...S(e)}),R.strictCreate=(r,e)=>new R({shape:()=>r,unknownKeys:"strict",catchall:fe.create(),typeName:k.ZodObject,...S(e)}),R.lazycreate=(r,e)=>new R({shape:r,unknownKeys:"strip",catchall:fe.create(),typeName:k.ZodObject,...S(e)});class ct extends x{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;function s(o){for(const c of o)if(c.result.status==="valid")return c.result;for(const c of o)if(c.result.status==="dirty")return t.common.issues.push(...c.ctx.common.issues),c.result;const a=o.map(c=>new G(c.ctx.common.issues));return y(t,{code:f.invalid_union,unionErrors:a}),E}if(t.common.async)return Promise.all(n.map(async o=>{const a={...t,common:{...t.common,issues:[]},parent:null};return{result:await o._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(s);{let o;const a=[];for(const u of n){const l={...t,common:{...t.common,issues:[]},parent:null},d=u._parseSync({data:t.data,path:t.path,parent:l});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:l}),l.common.issues.length&&a.push(l.common.issues)}if(o)return t.common.issues.push(...o.ctx.common.issues),o.result;const c=a.map(u=>new G(u));return y(t,{code:f.invalid_union,unionErrors:c}),E}}get options(){return this._def.options}}ct.create=(r,e)=>new ct({options:r,typeName:k.ZodUnion,...S(e)});const pe=r=>r instanceof dt?pe(r.schema):r instanceof Q?pe(r.innerType()):r instanceof ft?[r.value]:r instanceof Se?r.options:r instanceof pt?A.objectValues(r.enum):r instanceof ht?pe(r._def.innerType):r instanceof it?[void 0]:r instanceof at?[null]:r instanceof ie?[void 0,...pe(r.unwrap())]:r instanceof Ce?[null,...pe(r.unwrap())]:r instanceof nr||r instanceof _t?pe(r.unwrap()):r instanceof mt?pe(r._def.innerType):[];class Tt extends x{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.object)return y(t,{code:f.invalid_type,expected:_.object,received:t.parsedType}),E;const n=this.discriminator,s=t.data[n],o=this.optionsMap.get(s);return o?t.common.async?o._parseAsync({data:t.data,path:t.path,parent:t}):o._parseSync({data:t.data,path:t.path,parent:t}):(y(t,{code:f.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),E)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const s=new Map;for(const o of t){const a=pe(o.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const c of a){if(s.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);s.set(c,o)}}return new Tt({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:s,...S(n)})}}function rr(r,e){const t=be(r),n=be(e);if(r===e)return{valid:!0,data:r};if(t===_.object&&n===_.object){const s=A.objectKeys(e),o=A.objectKeys(r).filter(c=>s.indexOf(c)!==-1),a={...r,...e};for(const c of o){const u=rr(r[c],e[c]);if(!u.valid)return{valid:!1};a[c]=u.data}return{valid:!0,data:a}}else if(t===_.array&&n===_.array){if(r.length!==e.length)return{valid:!1};const s=[];for(let o=0;o<r.length;o++){const a=r[o],c=e[o],u=rr(a,c);if(!u.valid)return{valid:!1};s.push(u.data)}return{valid:!0,data:s}}else return t===_.date&&n===_.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}class lt extends x{_parse(e){const{status:t,ctx:n}=this._processInputParams(e),s=(o,a)=>{if(Xt(o)||Xt(a))return E;const c=rr(o.value,a.value);return c.valid?((er(o)||er(a))&&t.dirty(),{status:t.value,value:c.data}):(y(n,{code:f.invalid_intersection_types}),E)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([o,a])=>s(o,a)):s(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}lt.create=(r,e,t)=>new lt({left:r,right:e,typeName:k.ZodIntersection,...S(t)});class oe extends x{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.array)return y(n,{code:f.invalid_type,expected:_.array,received:n.parsedType}),E;if(n.data.length<this._def.items.length)return y(n,{code:f.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),E;!this._def.rest&&n.data.length>this._def.items.length&&(y(n,{code:f.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const o=[...n.data].map((a,c)=>{const u=this._def.items[c]||this._def.rest;return u?u._parse(new se(n,a,n.path,c)):null}).filter(a=>!!a);return n.common.async?Promise.all(o).then(a=>Z.mergeArray(t,a)):Z.mergeArray(t,o)}get items(){return this._def.items}rest(e){return new oe({...this._def,rest:e})}}oe.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new oe({items:r,typeName:k.ZodTuple,rest:null,...S(e)})};class ut extends x{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.object)return y(n,{code:f.invalid_type,expected:_.object,received:n.parsedType}),E;const s=[],o=this._def.keyType,a=this._def.valueType;for(const c in n.data)s.push({key:o._parse(new se(n,c,n.path,c)),value:a._parse(new se(n,n.data[c],n.path,c)),alwaysSet:c in n.data});return n.common.async?Z.mergeObjectAsync(t,s):Z.mergeObjectSync(t,s)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof x?new ut({keyType:e,valueType:t,typeName:k.ZodRecord,...S(n)}):new ut({keyType:K.create(),valueType:e,typeName:k.ZodRecord,...S(t)})}}class It extends x{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.map)return y(n,{code:f.invalid_type,expected:_.map,received:n.parsedType}),E;const s=this._def.keyType,o=this._def.valueType,a=[...n.data.entries()].map(([c,u],l)=>({key:s._parse(new se(n,c,n.path,[l,"key"])),value:o._parse(new se(n,u,n.path,[l,"value"]))}));if(n.common.async){const c=new Map;return Promise.resolve().then(async()=>{for(const u of a){const l=await u.key,d=await u.value;if(l.status==="aborted"||d.status==="aborted")return E;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(l.value,d.value)}return{status:t.value,value:c}})}else{const c=new Map;for(const u of a){const l=u.key,d=u.value;if(l.status==="aborted"||d.status==="aborted")return E;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(l.value,d.value)}return{status:t.value,value:c}}}}It.create=(r,e,t)=>new It({valueType:e,keyType:r,typeName:k.ZodMap,...S(t)});class Me extends x{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.set)return y(n,{code:f.invalid_type,expected:_.set,received:n.parsedType}),E;const s=this._def;s.minSize!==null&&n.data.size<s.minSize.value&&(y(n,{code:f.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),t.dirty()),s.maxSize!==null&&n.data.size>s.maxSize.value&&(y(n,{code:f.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),t.dirty());const o=this._def.valueType;function a(u){const l=new Set;for(const d of u){if(d.status==="aborted")return E;d.status==="dirty"&&t.dirty(),l.add(d.value)}return{status:t.value,value:l}}const c=[...n.data.values()].map((u,l)=>o._parse(new se(n,u,n.path,l)));return n.common.async?Promise.all(c).then(u=>a(u)):a(c)}min(e,t){return new Me({...this._def,minSize:{value:e,message:g.toString(t)}})}max(e,t){return new Me({...this._def,maxSize:{value:e,message:g.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Me.create=(r,e)=>new Me({valueType:r,minSize:null,maxSize:null,typeName:k.ZodSet,...S(e)});class ze extends x{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.function)return y(t,{code:f.invalid_type,expected:_.function,received:t.parsedType}),E;function n(c,u){return Ct({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,St(),Ue].filter(l=>!!l),issueData:{code:f.invalid_arguments,argumentsError:u}})}function s(c,u){return Ct({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,St(),Ue].filter(l=>!!l),issueData:{code:f.invalid_return_type,returnTypeError:u}})}const o={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Be){const c=this;return z(async function(...u){const l=new G([]),d=await c._def.args.parseAsync(u,o).catch(m=>{throw l.addIssue(n(u,m)),l}),h=await Reflect.apply(a,this,d);return await c._def.returns._def.type.parseAsync(h,o).catch(m=>{throw l.addIssue(s(h,m)),l})})}else{const c=this;return z(function(...u){const l=c._def.args.safeParse(u,o);if(!l.success)throw new G([n(u,l.error)]);const d=Reflect.apply(a,this,l.data),h=c._def.returns.safeParse(d,o);if(!h.success)throw new G([s(d,h.error)]);return h.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ze({...this._def,args:oe.create(e).rest(Ne.create())})}returns(e){return new ze({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new ze({args:e||oe.create([]).rest(Ne.create()),returns:t||Ne.create(),typeName:k.ZodFunction,...S(n)})}}class dt extends x{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}dt.create=(r,e)=>new dt({getter:r,typeName:k.ZodLazy,...S(e)});class ft extends x{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return y(t,{received:t.data,code:f.invalid_literal,expected:this._def.value}),E}return{status:"valid",value:e.data}}get value(){return this._def.value}}ft.create=(r,e)=>new ft({value:r,typeName:k.ZodLiteral,...S(e)});function Rr(r,e){return new Se({values:r,typeName:k.ZodEnum,...S(e)})}class Se extends x{constructor(){super(...arguments),nt.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),n=this._def.values;return y(t,{expected:A.joinValues(n),received:t.parsedType,code:f.invalid_type}),E}if(xt(this,nt)||Ar(this,nt,new Set(this._def.values)),!xt(this,nt).has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return y(t,{received:t.data,code:f.invalid_enum_value,options:n}),E}return z(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Se.create(e,{...this._def,...t})}exclude(e,t=this._def){return Se.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}}nt=new WeakMap,Se.create=Rr;class pt extends x{constructor(){super(...arguments),st.set(this,void 0)}_parse(e){const t=A.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==_.string&&n.parsedType!==_.number){const s=A.objectValues(t);return y(n,{expected:A.joinValues(s),received:n.parsedType,code:f.invalid_type}),E}if(xt(this,st)||Ar(this,st,new Set(A.getValidEnumValues(this._def.values))),!xt(this,st).has(e.data)){const s=A.objectValues(t);return y(n,{received:n.data,code:f.invalid_enum_value,options:s}),E}return z(e.data)}get enum(){return this._def.values}}st=new WeakMap,pt.create=(r,e)=>new pt({values:r,typeName:k.ZodNativeEnum,...S(e)});class Be extends x{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.promise&&t.common.async===!1)return y(t,{code:f.invalid_type,expected:_.promise,received:t.parsedType}),E;const n=t.parsedType===_.promise?t.data:Promise.resolve(t.data);return z(n.then(s=>this._def.type.parseAsync(s,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Be.create=(r,e)=>new Be({type:r,typeName:k.ZodPromise,...S(e)});class Q extends x{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),s=this._def.effect||null,o={addIssue:a=>{y(n,a),a.fatal?t.abort():t.dirty()},get path(){return n.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){const a=s.transform(n.data,o);if(n.common.async)return Promise.resolve(a).then(async c=>{if(t.value==="aborted")return E;const u=await this._def.schema._parseAsync({data:c,path:n.path,parent:n});return u.status==="aborted"?E:u.status==="dirty"||t.value==="dirty"?$e(u.value):u});{if(t.value==="aborted")return E;const c=this._def.schema._parseSync({data:a,path:n.path,parent:n});return c.status==="aborted"?E:c.status==="dirty"||t.value==="dirty"?$e(c.value):c}}if(s.type==="refinement"){const a=c=>{const u=s.refinement(c,o);if(n.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(n.common.async===!1){const c=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return c.status==="aborted"?E:(c.status==="dirty"&&t.dirty(),a(c.value),{status:t.value,value:c.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(c=>c.status==="aborted"?E:(c.status==="dirty"&&t.dirty(),a(c.value).then(()=>({status:t.value,value:c.value}))))}if(s.type==="transform")if(n.common.async===!1){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!tt(a))return a;const c=s.transform(a.value,o);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:c}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>tt(a)?Promise.resolve(s.transform(a.value,o)).then(c=>({status:t.value,value:c})):a);A.assertNever(s)}}Q.create=(r,e,t)=>new Q({schema:r,typeName:k.ZodEffects,effect:e,...S(t)}),Q.createWithPreprocess=(r,e,t)=>new Q({schema:e,effect:{type:"preprocess",transform:r},typeName:k.ZodEffects,...S(t)});class ie extends x{_parse(e){return this._getType(e)===_.undefined?z(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ie.create=(r,e)=>new ie({innerType:r,typeName:k.ZodOptional,...S(e)});class Ce extends x{_parse(e){return this._getType(e)===_.null?z(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ce.create=(r,e)=>new Ce({innerType:r,typeName:k.ZodNullable,...S(e)});class ht extends x{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===_.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}ht.create=(r,e)=>new ht({innerType:r,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...S(e)});class mt extends x{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},s=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return rt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new G(n.common.issues)},input:n.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new G(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}mt.create=(r,e)=>new mt({innerType:r,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...S(e)});class Ot extends x{_parse(e){if(this._getType(e)!==_.nan){const n=this._getOrReturnCtx(e);return y(n,{code:f.invalid_type,expected:_.nan,received:n.parsedType}),E}return{status:"valid",value:e.data}}}Ot.create=r=>new Ot({typeName:k.ZodNaN,...S(r)});const ds=Symbol("zod_brand");class nr extends x{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class yt extends x{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?E:o.status==="dirty"?(t.dirty(),$e(o.value)):this._def.out._parseAsync({data:o.value,path:n.path,parent:n})})();{const s=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?E:s.status==="dirty"?(t.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:n.path,parent:n})}}static create(e,t){return new yt({in:e,out:t,typeName:k.ZodPipeline})}}class _t extends x{_parse(e){const t=this._def.innerType._parse(e),n=s=>(tt(s)&&(s.value=Object.freeze(s.value)),s);return rt(t)?t.then(s=>n(s)):n(t)}unwrap(){return this._def.innerType}}_t.create=(r,e)=>new _t({innerType:r,typeName:k.ZodReadonly,...S(e)});function Nr(r,e={},t){return r?Ze.create().superRefine((n,s)=>{var o,a;if(!r(n)){const c=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,u=(a=(o=c.fatal)!==null&&o!==void 0?o:t)!==null&&a!==void 0?a:!0,l=typeof c=="string"?{message:c}:c;s.addIssue({code:"custom",...l,fatal:u})}}):Ze.create()}const fs={object:R.lazycreate};var k;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(k||(k={}));const ps=(r,e={message:`Input not instance of ${r.name}`})=>Nr(t=>t instanceof r,e),Mr=K.create,jr=ke.create,hs=Ot.create,ms=Ee.create,Dr=ot.create,ys=Re.create,_s=At.create,gs=it.create,vs=at.create,ws=Ze.create,bs=Ne.create,ks=fe.create,Es=Pt.create,Ss=J.create,Cs=R.create,xs=R.strictCreate,As=ct.create,Ps=Tt.create,Ts=lt.create,Is=oe.create,Os=ut.create,Rs=It.create,Ns=Me.create,Ms=ze.create,js=dt.create,Ds=ft.create,Ls=Se.create,Fs=pt.create,Us=Be.create,Lr=Q.create,$s=ie.create,Zs=Ce.create,Vs=Q.createWithPreprocess,zs=yt.create;var i=Object.freeze({__proto__:null,defaultErrorMap:Ue,setErrorMap:Wn,getErrorMap:St,makeIssue:Ct,EMPTY_PATH:Hn,addIssueToContext:y,ParseStatus:Z,INVALID:E,DIRTY:$e,OK:z,isAborted:Xt,isDirty:er,isValid:tt,isAsync:rt,get util(){return A},get objectUtil(){return Qt},ZodParsedType:_,getParsedType:be,ZodType:x,datetimeRegex:Or,ZodString:K,ZodNumber:ke,ZodBigInt:Ee,ZodBoolean:ot,ZodDate:Re,ZodSymbol:At,ZodUndefined:it,ZodNull:at,ZodAny:Ze,ZodUnknown:Ne,ZodNever:fe,ZodVoid:Pt,ZodArray:J,ZodObject:R,ZodUnion:ct,ZodDiscriminatedUnion:Tt,ZodIntersection:lt,ZodTuple:oe,ZodRecord:ut,ZodMap:It,ZodSet:Me,ZodFunction:ze,ZodLazy:dt,ZodLiteral:ft,ZodEnum:Se,ZodNativeEnum:pt,ZodPromise:Be,ZodEffects:Q,ZodTransformer:Q,ZodOptional:ie,ZodNullable:Ce,ZodDefault:ht,ZodCatch:mt,ZodNaN:Ot,BRAND:ds,ZodBranded:nr,ZodPipeline:yt,ZodReadonly:_t,custom:Nr,Schema:x,ZodSchema:x,late:fs,get ZodFirstPartyTypeKind(){return k},coerce:{string:r=>K.create({...r,coerce:!0}),number:r=>ke.create({...r,coerce:!0}),boolean:r=>ot.create({...r,coerce:!0}),bigint:r=>Ee.create({...r,coerce:!0}),date:r=>Re.create({...r,coerce:!0})},any:ws,array:Ss,bigint:ms,boolean:Dr,date:ys,discriminatedUnion:Ps,effect:Lr,enum:Ls,function:Ms,instanceof:ps,intersection:Ts,lazy:js,literal:Ds,map:Rs,nan:hs,nativeEnum:Fs,never:ks,null:vs,nullable:Zs,number:jr,object:Cs,oboolean:()=>Dr().optional(),onumber:()=>jr().optional(),optional:$s,ostring:()=>Mr().optional(),pipeline:zs,preprocess:Vs,promise:Us,record:Os,set:Ns,strictObject:xs,string:Mr,symbol:_s,transformer:Lr,tuple:Is,undefined:gs,union:As,unknown:bs,void:Es,NEVER:E,ZodIssueCode:f,quotelessJson:Yn,ZodError:G});const Bs=i.object({type:i.string(),loc:i.array(i.string()),msg:i.string(),url:i.string()}),qs=i.array(Bs),Gs=i.object({code:i.string(),message:i.string(),path:i.array(i.string())}),Ys=i.array(Gs),Ws={"failed to fetch":"Connection error: please double check if you are connected to the internet, then try again"},sr=r=>{const e=r.toLowerCase().trim();return Ws[e]??r},Hs=r=>{try{return typeof JSON.parse(r)=="object"}catch{return!1}},Ks=r=>r.length===1?sr(r[0].msg):`Please fix the following errors:
2
+ ${r.map(t=>`• ${sr(t.msg)}`).join(`
3
+ `)}`,Js=r=>`Encountered the following errors:
4
4
  ${r.map(t=>`- ${t.path.join("/")}: ${t.message}`).join(`
5
- `)}`,he=r=>{if(r instanceof Error)if(Ws(r.message)){const e=JSON.parse(r.message);return Bs.safeParse(e).success?Hs(e):Gs.safeParse(e).success?Ks(e):(console.warn(`Encountered unknown stringified JSON object:
6
- ${r.message}`),r.message)}else return nr(r.message);if(typeof r=="object")try{return JSON.stringify(r)}catch(e){return e+""}else return r+""},Js=(r,e,t)=>(...n)=>{try{return e(...n)}catch(s){t(`[form] Error running callback (${r}):`,s);return}},B=i.string().trim().min(1,{message:"Cannot be blank"}),N=i.string().trim().optional(),Y=r=>i.nullable(r.optional());var f=(r=>(r.FIRST_NAME="firstName",r.LAST_NAME="lastName",r.EMAIL="email",r.ZIP_CODE="zipCode",r.CITY="city",r.STATE="state",r.COUNTRY="country",r.ADDRESS="address",r.PHONE="phone",r.PROMOTION_CODE="promotionCode",r))(f||{});const $r=i.nativeEnum(f);var Ur=(r=>(r.CARD_NUMBER="cardNumber",r.CARD_EXPIRY="cardExpiry",r.CARD_CVC="cardCvc",r))(Ur||{});const Zr=i.nativeEnum(Ur),Vr=i.union([$r,Zr]);var Ve=(r=>(r.CARD="card",r.CARD_NUMBER="card-number",r.CARD_EXPIRY="card-expiry",r.CARD_CVC="card-cvc",r))(Ve||{});const Xs=i.nativeEnum(Ve),It=i.object({provider:i.string(),processor_name:Y(i.string()),metadata:Y(i.record(i.string(),i.any()))}),Qs=i.object({id:i.string()});i.object({cardNumber:N,expiry:N,cvc:N}),i.object({backgroundColor:N,color:N,fontFamily:N,fontSize:N,fontWeight:N,margin:N,padding:N,letterSpacing:N,lineHeight:N,hideIcon:N});const te=i.enum(["LAYOUT","LOADED","BLUR","FOCUS","CHANGE","TOKENIZE_STARTED","CHECKOUT_STARTED","PAYMENT_FLOW_STARTED","TOKENIZE_SUCCESS","CHECKOUT_SUCCESS","LOAD_ERROR","VALIDATION_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR","SETUP_PAYMENT_METHOD_SUCCESS","TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),eo=te.extract(["TOKENIZE_STARTED","CHECKOUT_STARTED"]),to=i.object({type:eo}),ro=te.extract(["BLUR","FOCUS","CHANGE"]),no=i.object({type:ro,elementType:Zr,errors:i.array(i.string()).optional()}),so=te.extract(["LOAD_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR"]),oo=i.object({type:so,message:B,headers:i.record(i.string(),i.string()).optional()}),io=te.extract(["VALIDATION_ERROR"]),ao=i.object({type:io,elementType:Vr,errors:i.array(i.string())}),co=i.object({type:i.literal(te.enum.LAYOUT),height:B}),lo=i.object({type:i.literal(te.enum.LOADED),sessionId:B,totalAmountAtoms:i.number(),currency:N,checkoutPaymentMethods:i.array(It)}),uo=i.object({type:i.literal(te.enum.PAYMENT_FLOW_STARTED),nextActionMetadata:i.record(i.string(),i.any()),paymentFlowMetadata:i.any().optional(),startPFMetadata:i.optional(i.record(i.string(),i.any()))}),po=i.object({type:i.literal(te.enum.SETUP_PAYMENT_METHOD_SUCCESS),paymentMethodId:i.string()}),ht=i.object({firstName:B,lastName:B,email:B,zipCode:B,country:B,promotionCode:N}),fo=i.object({firstName:N,lastName:N,email:B,zipCode:B,country:B,promotionCode:N,address:N,city:N,state:N}),ho=te.extract(["TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),mo=i.object({type:ho,sessionId:B,checkoutPaymentMethod:It,paymentFlowMetadata:i.any().optional(),doNotUseLegacyCCFlow:i.boolean().optional(),existingCCPMId:N}).extend(ht.shape),yo=i.object({type:i.literal(te.enum.TOKENIZE_SUCCESS),isReadyForCheckout:i.boolean()}),_o=i.object({type:i.literal(te.enum.CHECKOUT_SUCCESS),invoiceUrls:i.array(i.string()),subscriptionIds:i.array(i.string()),customerId:i.string()}),go=i.discriminatedUnion("type",[to,no,oo,ao,co,lo,mo,yo,_o,uo,po]),vo=i.object({payload:go,nonce:B,formId:B,elementId:B});i.object({amountAtom:i.number(),currency:B}),i.enum(["apple_pay","google_pay"]),i.object({secure_token:i.string(),promotion_code:i.string().optional()}),i.object({secure_token:i.string(),existing_cc_pm_id:Y(i.string()),their_pm_id:Y(i.string()),checkout_attempt_id:Y(i.string()),processor_specific_metadata:Y(i.record(i.string(),i.any()))});const sr=i.object({invoice_urls:i.array(i.string()),subscription_ids:i.array(i.string()),customer_id:i.string()}),wo=i.object({elementType:i.string(),errors:i.array(i.string())});i.object({session_id:i.string()});const bo=i.object({success:i.literal(!1),error_type:i.literal("validation_error"),errors:i.array(wo)}),ko=i.discriminatedUnion("success",[i.object({success:i.literal(!0)}),bo]);i.object({session_id:i.string(),checkout_payment_method:It,non_cde_form_fields:ht,do_not_use_legacy_cc_flow:i.boolean().optional(),existing_cc_pm_id:Y(i.string())}),i.object({session_id:i.string(),checkout_payment_method:It,non_cde_form_fields:ht,extra_metadata:i.record(i.string(),i.any()).optional()});var re=(r=>(r.SUCCESS="success",r.FAILURE="failure",r.CANCELLED="cancelled",r))(re||{});const Eo=i.object({status:i.enum(["success","failure","cancelled"]),href:i.string().optional().nullable()});i.object({href:i.string().optional().nullable()});const So=i.object({type:i.string(),redirect_url:i.string(),initial_intent_id:i.string(),consent_id:i.string(),their_pm_id:i.string().optional()}),zr=i.object({type:i.string(),redirect_url:Y(i.string()),initial_intent_id:Y(i.string()),consent_id:Y(i.string()),their_pm_id:Y(i.string()),payment_session:Y(i.record(i.string(),i.any()))}),Co=i.discriminatedUnion("present",[i.object({present:i.literal(!0),href:i.string()}),i.object({present:i.literal(!1)})]),xo=i.object({payment_methods:i.array(Qs),pay_first_success_response:Y(sr),required_user_actions:Y(i.array(zr))}),Po=r=>{const e={};return Object.entries(r).forEach(([t,n])=>{try{const s=$r.parse(t);Array.isArray(n)?e[s]=n:Array.isArray(n._errors)&&(e[s]=n._errors)}catch{return}}),e},Ao=i.object({stripe_pk:i.string(),client_secret:i.string(),stripe_pm_id:i.string()}),To=i.object({type:i.string(),client_secret:i.string(),stripe_pk:i.string()}),Io={usd:"usd",brl:"brl"},Ot=async r=>{for(let t=0;t<10;t++)Br()||await No(500);if(!Br())throw console.log("Stripe JS not found."),new Error("Stripe JS not found.");return new Stripe(r)},Oo=async(r,e)=>{const t=await Ot(r);return{elements:t.elements(e),stripe:t}},Ro=async(r,e,t,n,s)=>{const o=await Ot(r),a=Io[t.toLowerCase().trim()];return o.paymentRequest({country:"US",currency:a,total:{label:"Total",amount:e,pending:n},requestPayerName:!0,requestPayerEmail:!0,disableWallets:[]})},No=r=>new Promise(e=>{setTimeout(e,r)}),Br=()=>"Stripe"in window,Mo=async r=>new Promise((e,t)=>{try{r.on("paymentmethod",async n=>{console.log("paymentmethod EVT:: ",n),e(n)}),r.on("token",async n=>{console.log("token EVT:: ",n)}),r.on("cancel",()=>{t(new Error("Payment cancelled, please click Submit again to pay"))})}catch(n){t(n)}}),jo=async(r,e)=>{if(!r.stripe_pk||!r.client_secret)throw new Error(`Invalid next action metadata format: ${JSON.stringify(r)}`);const n=await(await Ot(r.stripe_pk)).confirmCardSetup(r.client_secret,{payment_method:e.paymentMethod.id});if(n.error)throw e.complete("fail"),new Error(`Payment failed: ${n.error.message??"unknown"}`);return e.complete("success"),n},Do=async r=>{var s,o,a,c;const t=await(await Ot(r.stripe_pk)).confirmCardSetup(r.client_secret,{payment_method:r.stripe_pm_id}),n=(s=t.setupIntent)==null?void 0:s.status;if(n==="succeeded")console.log("[3DS] CONFIRMING PM:",r.stripe_pm_id),console.log("[3DS] Setup intent created:",t.setupIntent);else throw n==="canceled"?new Error("Payment cancelled, please click Submit again to pay"):new Error(`${((o=t.error)==null?void 0:o.message)??((c=(a=t.setupIntent)==null?void 0:a.last_setup_error)==null?void 0:c.message)??"Payment failed, please click submit again to pay."}`)},Lo=r=>JSON.stringify(r);for(var F=[],or=0;or<256;++or)F.push((or+256).toString(16).slice(1));function Fo(r,e=0){return(F[r[e+0]]+F[r[e+1]]+F[r[e+2]]+F[r[e+3]]+"-"+F[r[e+4]]+F[r[e+5]]+"-"+F[r[e+6]]+F[r[e+7]]+"-"+F[r[e+8]]+F[r[e+9]]+"-"+F[r[e+10]]+F[r[e+11]]+F[r[e+12]]+F[r[e+13]]+F[r[e+14]]+F[r[e+15]]).toLowerCase()}var Rt,$o=new Uint8Array(16);function Uo(){if(!Rt&&(Rt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Rt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Rt($o)}var Zo=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const qr={randomUUID:Zo};function Vo(r,e,t){if(qr.randomUUID&&!e&&!r)return qr.randomUUID();r=r||{};var n=r.random||(r.rng||Uo)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,Fo(n)}const ze=(r,e)=>Array.from(r.querySelectorAll("[data-opid]")??[]).reduce((s,o)=>{const a=o.getAttribute("data-opid");return a?{...s,[a]:o.value}:s},{}),zo=r=>{try{return vo.parse(r)}catch(e){throw console.error("Error parsing event payload:",r,e),e}};var ce;(function(r){r.Call="call",r.Reply="reply",r.Syn="syn",r.SynAck="synAck",r.Ack="ack"})(ce||(ce={}));var Ne;(function(r){r.Fulfilled="fulfilled",r.Rejected="rejected"})(Ne||(Ne={}));var mt;(function(r){r.ConnectionDestroyed="ConnectionDestroyed",r.ConnectionTimeout="ConnectionTimeout",r.NoIframeSrc="NoIframeSrc"})(mt||(mt={}));var ir;(function(r){r.DataCloneError="DataCloneError"})(ir||(ir={}));var Ee;(function(r){r.Message="message"})(Ee||(Ee={}));const Bo=(r,e)=>{const t=[];let n=!1;return{destroy(s){n||(n=!0,e(`${r}: Destroying connection`),t.forEach(o=>{o(s)}))},onDestroy(s){n?s():t.push(s)}}},qo=r=>(...e)=>{r&&console.log("[Penpal]",...e)},Go={"http:":"80","https:":"443"},Yo=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,Wo=["file:","data:"],Ho=r=>{if(r&&Wo.find(c=>r.startsWith(c)))return"null";const e=document.location,t=Yo.exec(r);let n,s,o;t?(n=t[1]?t[1]:e.protocol,s=t[2],o=t[4]):(n=e.protocol,s=e.hostname,o=e.port);const a=o&&o!==Go[n]?`:${o}`:"";return`${n}//${s}${a}`},Gr=({name:r,message:e,stack:t})=>({name:r,message:e,stack:t}),Ko=r=>{const e=new Error;return Object.keys(r).forEach(t=>e[t]=r[t]),e},Jo=(r,e,t)=>{const{localName:n,local:s,remote:o,originForSending:a,originForReceiving:c}=r;let u=!1;const l=d=>{if(d.source!==o||d.data.penpal!==ce.Call)return;if(c!=="*"&&d.origin!==c){t(`${n} received message from origin ${d.origin} which did not match expected origin ${c}`);return}const m=d.data,{methodName:w,args:h,id:g}=m;t(`${n}: Received ${w}() call`);const E=P=>T=>{if(t(`${n}: Sending ${w}() reply`),u){t(`${n}: Unable to send ${w}() reply due to destroyed connection`);return}const A={penpal:ce.Reply,id:g,resolution:P,returnValue:T};P===Ne.Rejected&&T instanceof Error&&(A.returnValue=Gr(T),A.returnValueIsError=!0);try{o.postMessage(A,a)}catch(I){if(I.name===ir.DataCloneError){const D={penpal:ce.Reply,id:g,resolution:Ne.Rejected,returnValue:Gr(I),returnValueIsError:!0};o.postMessage(D,a)}throw I}};new Promise(P=>P(e[w].apply(e,h))).then(E(Ne.Fulfilled),E(Ne.Rejected))};return s.addEventListener(Ee.Message,l),()=>{u=!0,s.removeEventListener(Ee.Message,l)}};let Xo=0;const Qo=()=>++Xo,Yr=".",Wr=r=>r?r.split(Yr):[],ei=r=>r.join(Yr),ti=(r,e)=>{const t=Wr(e||"");return t.push(r),ei(t)},ri=(r,e,t)=>{const n=Wr(e);return n.reduce((s,o,a)=>(typeof s[o]>"u"&&(s[o]={}),a===n.length-1&&(s[o]=t),s[o]),r),r},Hr=(r,e)=>{const t={};return Object.keys(r).forEach(n=>{const s=r[n],o=ti(n,e);typeof s=="object"&&Object.assign(t,Hr(s,o)),typeof s=="function"&&(t[o]=s)}),t},ni=r=>{const e={};for(const t in r)ri(e,t,r[t]);return e},si=(r,e,t,n,s)=>{const{localName:o,local:a,remote:c,originForSending:u,originForReceiving:l}=e;let d=!1;s(`${o}: Connecting call sender`);const m=h=>(...g)=>{s(`${o}: Sending ${h}() call`);let E;try{c.closed&&(E=!0)}catch{E=!0}if(E&&n(),d){const P=new Error(`Unable to send ${h}() call due to destroyed connection`);throw P.code=mt.ConnectionDestroyed,P}return new Promise((P,T)=>{const A=Qo(),I=L=>{if(L.source!==c||L.data.penpal!==ce.Reply||L.data.id!==A)return;if(l!=="*"&&L.origin!==l){s(`${o} received message from origin ${L.origin} which did not match expected origin ${l}`);return}const V=L.data;s(`${o}: Received ${h}() reply`),a.removeEventListener(Ee.Message,I);let Ae=V.returnValue;V.returnValueIsError&&(Ae=Ko(Ae)),(V.resolution===Ne.Fulfilled?P:T)(Ae)};a.addEventListener(Ee.Message,I);const D={penpal:ce.Call,id:A,methodName:h,args:g};c.postMessage(D,u)})},w=t.reduce((h,g)=>(h[g]=m(g),h),{});return Object.assign(r,ni(w)),()=>{d=!0}},oi=(r,e,t,n,s)=>{const{destroy:o,onDestroy:a}=n;let c,u;const l={};return d=>{if(e!=="*"&&d.origin!==e){s(`Parent: Handshake - Received ACK message from origin ${d.origin} which did not match expected origin ${e}`);return}s("Parent: Handshake - Received ACK");const m={localName:"Parent",local:window,remote:d.source,originForSending:t,originForReceiving:e};c&&c(),c=Jo(m,r,s),a(c),u&&u.forEach(h=>{delete l[h]}),u=d.data.methodNames;const w=si(l,m,u,o,s);return a(w),l}},ii=(r,e,t,n)=>s=>{if(!s.source)return;if(t!=="*"&&s.origin!==t){r(`Parent: Handshake - Received SYN message from origin ${s.origin} which did not match expected origin ${t}`);return}r("Parent: Handshake - Received SYN, responding with SYN-ACK");const o={penpal:ce.SynAck,methodNames:Object.keys(e)};s.source.postMessage(o,n)},ai=6e4,ci=(r,e)=>{const{destroy:t,onDestroy:n}=e,s=setInterval(()=>{r.isConnected||(clearInterval(s),t())},ai);n(()=>{clearInterval(s)})},li=(r,e)=>{let t;return r!==void 0&&(t=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${r}ms`);n.code=mt.ConnectionTimeout,e(n)},r)),()=>{clearTimeout(t)}},ui=r=>{if(!r.src&&!r.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=mt.NoIframeSrc,e}},Kr=r=>{let{iframe:e,methods:t={},childOrigin:n,timeout:s,debug:o=!1}=r;const a=qo(o),c=Bo("Parent",a),{onDestroy:u,destroy:l}=c;n||(ui(e),n=Ho(e.src));const d=n==="null"?"*":n,m=Hr(t),w=ii(a,m,n,d),h=oi(m,n,d,c,a);return{promise:new Promise((E,P)=>{const T=li(s,l),A=I=>{if(!(I.source!==e.contentWindow||!I.data)){if(I.data.penpal===ce.Syn){w(I);return}if(I.data.penpal===ce.Ack){const D=h(I);D&&(T(),E(D));return}}};window.addEventListener(Ee.Message,A),a("Parent: Awaiting handshake"),ci(e,c),u(I=>{window.removeEventListener(Ee.Message,A),I&&P(I)})}),destroy(){l()}}},di=async r=>{if(typeof r!="object"||!r)return!1;try{const e={type:"ping"},t=await r.send(e);if(t!==!0)throw new Error(`Expected 'true' after ping, got ${JSON.stringify(t)}`);return!0}catch(e){return console.error("Invalid CDE connection check:",e),!1}},pi=(r,e)=>!!r&&e,M=r=>i.nullable(r.optional());i.string().trim().min(1,{message:"Cannot be blank"});const fi=i.object({cde_response_type:i.literal("error"),message:i.string(),headers:i.record(i.string(),i.string()).optional()});i.enum(["usd","brl"]);const Jr=i.object({name:i.string(),amount_atom_off:M(i.number()),percent_off:M(i.number()),currency:M(i.string()),duration:i.string(),duration_in_months:M(i.number())}),Xr=i.object({amount_subtotal_atom:i.number().int(),amount_total_atom:i.number().int(),currency:i.string(),description:M(i.string()),price_id:i.string(),billing_interval:M(i.string()),billing_interval_count:M(i.number().int()),quantity:i.number().int()}),hi=i.record(i.string(),i.any()),mi=i.object({name:i.string(),settings:M(hi)}),yt=i.object({provider:i.string(),processor_name:M(i.string()),metadata:M(i.record(i.string(),i.any()))}),yi=i.object({quantity:i.number()}),_i=i.object({id:M(i.string()),billing_interval:M(i.string()),billing_interval_count:M(i.number().int()),subscription_items:i.array(yi),trial_start:M(i.string()),trial_end:M(i.string())}),Qr=i.object({amount_atom:i.number()}),gi=i.object({amount_atom:i.number(),amount_atom_considering_discount_applied:i.number(),currency:i.string(),discount_amount_atoms:i.array(Qr),subscription_item_id:i.string()}),vi=i.object({coupon:Jr}),wi=i.object({currency:i.string(),discounts:i.array(vi),hosted_invoice_url:M(i.string()),lines:i.array(gi),remaining_amount_atom:i.number(),tax_amount_atom:i.number(),total_amount_atom:i.number(),total_discount_amount_atoms:i.array(Qr)}),en=i.object({created:i.array(_i),invoices:i.array(wi)}),tn=i.object({preview:en,preview_post_trial:M(en),coupons:i.array(Jr)}),rn=i.object({status:i.literal("open"),token:i.string(),email:M(i.string()),line_items:i.array(Xr),amount_subtotal_atom:i.number().int(),amount_total_atom:i.number().int(),brand:mi,subs_preview:M(tn),methods_available:i.array(yt)}),nn=i.discriminatedUnion("mode",[i.object({mode:i.literal("setup"),currency:i.nullable(i.undefined())}).extend(rn.shape),i.object({mode:i.enum(["payment","subscription"]),currency:i.string()}).extend(rn.shape)]),bi=i.object({status:i.literal("complete")}),ki=i.object({status:i.literal("expired")});i.union([nn,bi,ki]),i.object({logo:i.string(),icon:i.string(),primary_color:i.string(),secondary_color:i.string()}),i.object({secure_token:i.string(),pm_id:i.string()}),i.object({secure_token:i.string(),payment_input:i.any(),customer_first_name:i.string().optional(),customer_last_name:i.string().optional(),customer_email:i.string(),customer_zip_code:i.string(),customer_country:i.string(),line_items:i.array(Xr),total_amount_atom:i.number().int(),cancel_at_end:i.boolean(),checkout_payment_method:yt,promotion_code:i.string().optional(),do_not_use_legacy_cc_flow:i.boolean().optional(),use_confirmed_pm_id:M(i.string())});const Ei=i.object({payment_method_id:i.string()});i.object({id:i.string(),return_url:i.string()});const Si=i.object({type:i.string(),loc:i.array(i.string()),msg:i.string(),url:i.string()});i.array(Si);const Ci=i.object({new_customer_email:i.string().optional(),new_customer_address:i.record(i.string(),i.any()).optional(),new_customer_first_name:i.string().optional(),new_customer_last_name:i.string().optional()}),xi=i.object({price_id:i.string(),quantity:i.number().int()}),Pi=i.object({line_items:i.array(xi),promotion_code:i.string().optional(),displayed_total_amount_atom:i.number().int()}),Ai=i.object({processor_specific_metadata:M(i.record(i.string(),i.any()))});i.object({payment_provider:i.string(),checkout_payment_method:yt,existing_cc_pm_id:i.string().optional(),their_existing_pm_id:i.string().optional(),use_pay_first_flow:i.boolean().optional(),pay_first_flow_cart_info:Pi.optional()}).extend(Ci.shape).extend(Ai.shape);const sn=i.object({required_user_actions:i.array(i.record(i.string(),i.any())),checkout_attempt_id:M(i.string())});i.object({fields:fo,checkoutPaymentMethod:yt}),i.object({session_id:i.string(),non_cde_form_fields:ht,checkout_payment_method:yt,extra_metadata:i.record(i.string(),i.any())});const Ti=i.object({required_user_actions:i.array(i.record(i.string(),i.any())),cc_pm_id:i.string()});i.record(i.any());const Ii=r=>r.reduce((e,t)=>e+t,0);function Oi(r,e){var t=Object.setPrototypeOf;t?t(r,e):r.__proto__=e}function Ri(r,e){e===void 0&&(e=r.constructor);var t=Error.captureStackTrace;t&&t(r,e)}var Ni=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,o){s.__proto__=o}||function(s,o){for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(s[a]=o[a])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),Mi=function(r){Ni(e,r);function e(t,n){var s=this.constructor,o=r.call(this,t,n)||this;return Object.defineProperty(o,"name",{value:s.name,enumerable:!1,configurable:!0}),Oi(o,s.prototype),Ri(o),o}return e}(Error);class on extends Mi{constructor(e){const t=`${e.message}`;super(t),this.response=e}get originalErrorMessage(){return this.response.message}}const K=async(r,e,t)=>{const n=await r.send(e);if(Di(n))throw new on(n);if(!ji(n,t)){const s=t.safeParse(n);throw s.success?new Error("Invalid state"):(console.error("OJS queryApi got a schema error. Expected schema:",t,"Actual:",n),s.error)}return n},ji=(r,e)=>e.safeParse(r).success,Di=r=>fi.safeParse(r).success,Li=async(r,e)=>await K(r,{type:"get_checkout_preview",payload:e},tn),Se=async r=>await K(r,{type:"get_prefill",payload:{}},nn),Nt=async(r,e)=>await K(r,{type:"v2_start_payment_flow",payload:e},sn),Fi=async(r,e)=>await K(r,{type:"start_payment_flow_for_cc",payload:e},Ti),$i=async(r,e)=>await K(r,{type:"start_payment_flow_for_pr",payload:e},sn),Ce=async(r,e)=>await K(r,{type:"confirm_payment_flow",payload:e},xo),Ui=async(r,e)=>await K(r,{type:"check_if_popup_window_verified",payload:e},Co),Zi=async(r,e,t)=>{const n=await Li(r,{secure_token:e,promotion_code:t}),s=new Set(n.preview.invoices.map(c=>c.currency));if(s.size!==1)throw new Error(`Expected exactly one currency, got ${s.size}`);const o=s.values().next().value??"usd",a=Ii(n.preview.invoices.map(c=>c.remaining_amount_atom));return{currency:o,amountAtom:a}},Mt=async(r,e,t,n)=>{if(t)return{amountAtom:0,currency:"usd"};{n=n||void 0;const s=await Zi(r,e,n);return{amountAtom:s.amountAtom,currency:s.currency}}},Vi=async(r,e)=>{if(r.size===0)throw new Error("No CDE connections found");return await Promise.all(Array.from(r.values()).map(n=>K(n,{type:"tokenize_card",payload:e},ko)))},an=async(r,e)=>{try{return await K(r,{type:"checkout_card_elements",payload:e},sr)}catch(t){throw console.error("[cde-client] Error during checkoutCardElements:",t,JSON.stringify(t)),t}},zi=async(r,e)=>await K(r,{type:"setup_payment_method",payload:e},Ei),jt=async(r,e)=>await K(r,{type:"checkout",payload:e},sr),cn=1e3,Bi=async(r,e)=>{console.log(e);const n=await Kr({iframe:r,debug:!0,timeout:cn,childOrigin:"*"}).promise,s=await K(n,{type:"ping-3ds-status"},Eo);return console.log("🟢 CDE connection successful! Stopping polling... Result:",s),s};function ar(r){throw new Error(`Unhandled case: ${r}`)}const cr=10,ln=(r=0)=>e=>`\x1B[${e+r}m`,un=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,dn=(r=0)=>(e,t,n)=>`\x1B[${38+r};2;${e};${t};${n}m`,O={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(O.modifier);const qi=Object.keys(O.color),Gi=Object.keys(O.bgColor);[...qi,...Gi];function Yi(){const r=new Map;for(const[e,t]of Object.entries(O)){for(const[n,s]of Object.entries(t))O[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},t[n]=O[n],r.set(s[0],s[1]);Object.defineProperty(O,e,{value:t,enumerable:!1})}return Object.defineProperty(O,"codes",{value:r,enumerable:!1}),O.color.close="\x1B[39m",O.bgColor.close="\x1B[49m",O.color.ansi=ln(),O.color.ansi256=un(),O.color.ansi16m=dn(),O.bgColor.ansi=ln(cr),O.bgColor.ansi256=un(cr),O.bgColor.ansi16m=dn(cr),Object.defineProperties(O,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(o=>o+o).join(""));const s=Number.parseInt(n,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:e=>O.rgbToAnsi256(...O.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,s;if(e>=232)t=((e-232)*10+8)/255,n=t,s=t;else{e-=16;const c=e%36;t=Math.floor(e/36)/5,n=Math.floor(c/6)/5,s=c%6/5}const o=Math.max(t,n,s)*2;if(o===0)return 30;let a=30+(Math.round(s)<<2|Math.round(n)<<1|Math.round(t));return o===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>O.ansi256ToAnsi(O.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>O.ansi256ToAnsi(O.hexToAnsi256(e)),enumerable:!1}}),O}const le=Yi(),Dt=(()=>{if(navigator.userAgentData){const r=navigator.userAgentData.brands.find(({brand:e})=>e==="Chromium");if(r&&r.version>93)return 3}return/\b(Chrome|Chromium)\//.test(navigator.userAgent)?1:0})(),pn=Dt!==0&&{level:Dt,hasBasic:!0,has256:Dt>=2,has16m:Dt>=3},Wi={stdout:pn,stderr:pn};function Hi(r,e,t){let n=r.indexOf(e);if(n===-1)return r;const s=e.length;let o=0,a="";do a+=r.slice(o,n)+e+t,o=n+s,n=r.indexOf(e,o);while(n!==-1);return a+=r.slice(o),a}function Ki(r,e,t,n){let s=0,o="";do{const a=r[n-1]==="\r";o+=r.slice(s,a?n-1:n)+e+(a?`\r
5
+ `)}`,he=r=>{if(r instanceof Error)if(Hs(r.message)){const e=JSON.parse(r.message);return qs.safeParse(e).success?Ks(e):Ys.safeParse(e).success?Js(e):(console.warn(`Encountered unknown stringified JSON object:
6
+ ${r.message}`),r.message)}else return sr(r.message);if(typeof r=="object")try{return JSON.stringify(r)}catch(e){return e+""}else return r+""},Qs=(r,e,t)=>(...n)=>{try{return e(...n)}catch(s){t(`[form] Error running callback (${r}):`,s);return}},V=i.string().trim().min(1,{message:"Cannot be blank"}),j=i.string().trim().optional(),q=r=>i.nullable(r.optional());var p=(r=>(r.FIRST_NAME="firstName",r.LAST_NAME="lastName",r.EMAIL="email",r.ZIP_CODE="zipCode",r.CITY="city",r.STATE="state",r.COUNTRY="country",r.ADDRESS="address",r.PHONE="phone",r.PROMOTION_CODE="promotionCode",r))(p||{});const Fr=i.nativeEnum(p);var Ur=(r=>(r.CARD_NUMBER="cardNumber",r.CARD_EXPIRY="cardExpiry",r.CARD_CVC="cardCvc",r))(Ur||{});const $r=i.nativeEnum(Ur),Zr=i.union([Fr,$r]);var qe=(r=>(r.CARD="card",r.CARD_NUMBER="card-number",r.CARD_EXPIRY="card-expiry",r.CARD_CVC="card-cvc",r))(qe||{});const Xs=i.nativeEnum(qe),Rt=i.object({provider:i.string(),processor_name:q(i.string()),metadata:q(i.record(i.string(),i.any()))}),eo=i.object({id:i.string()});i.object({cardNumber:j,expiry:j,cvc:j}),i.object({backgroundColor:j,color:j,fontFamily:j,fontSize:j,fontWeight:j,margin:j,padding:j,letterSpacing:j,lineHeight:j,hideIcon:j});const X=i.enum(["LAYOUT","LOADED","BLUR","FOCUS","CHANGE","TOKENIZE_STARTED","CHECKOUT_STARTED","PAYMENT_FLOW_STARTED","TOKENIZE_SUCCESS","CHECKOUT_SUCCESS","LOAD_ERROR","VALIDATION_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR","SETUP_PAYMENT_METHOD_SUCCESS","TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),to=X.extract(["TOKENIZE_STARTED","CHECKOUT_STARTED"]),ro=i.object({type:to}),no=X.extract(["BLUR","FOCUS","CHANGE"]),so=i.object({type:no,elementType:$r,errors:i.array(i.string()).optional()}),oo=X.extract(["LOAD_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR"]),io=i.object({type:oo,message:V,headers:i.record(i.string(),i.string()).optional()}),ao=X.extract(["VALIDATION_ERROR"]),co=i.object({type:ao,elementType:Zr,errors:i.array(i.string())}),lo=i.object({type:i.literal(X.enum.LAYOUT),height:V}),uo=i.object({type:i.literal(X.enum.LOADED),sessionId:V,totalAmountAtoms:i.number(),currency:j,checkoutPaymentMethods:i.array(Rt)}),fo=i.object({type:i.literal(X.enum.PAYMENT_FLOW_STARTED),nextActionMetadata:i.record(i.string(),i.any()),paymentFlowMetadata:i.any().optional(),startPFMetadata:i.optional(i.record(i.string(),i.any()))}),po=i.object({type:i.literal(X.enum.SETUP_PAYMENT_METHOD_SUCCESS),paymentMethodId:i.string()}),gt=i.object({firstName:V,lastName:V,email:V,zipCode:V,country:V,promotionCode:j}),ho=i.object({firstName:j,lastName:j,email:V,zipCode:V,country:V,promotionCode:j,address:j,city:j,state:j}),mo=X.extract(["TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),yo=i.object({type:mo,sessionId:V,checkoutPaymentMethod:Rt,paymentFlowMetadata:i.any().optional(),doNotUseLegacyCCFlow:i.boolean().optional(),existingCCPMId:j}).extend(gt.shape),_o=i.object({type:i.literal(X.enum.TOKENIZE_SUCCESS),isReadyForCheckout:i.boolean()}),go=i.object({type:i.literal(X.enum.CHECKOUT_SUCCESS),invoiceUrls:i.array(i.string()),subscriptionIds:i.array(i.string()),customerId:i.string()}),vo=i.discriminatedUnion("type",[ro,so,io,co,lo,uo,yo,_o,go,fo,po]),wo=i.object({payload:vo,nonce:V,formId:V,elementId:V});i.object({amountAtom:i.number(),currency:V}),i.enum(["apple_pay","google_pay"]),i.object({secure_token:i.string(),promotion_code:i.string().optional()}),i.object({secure_token:i.string(),existing_cc_pm_id:q(i.string()),their_pm_id:q(i.string()),checkout_attempt_id:q(i.string()),processor_specific_metadata:q(i.record(i.string(),i.any()))});const or=i.object({invoice_urls:i.array(i.string()),subscription_ids:i.array(i.string()),customer_id:i.string()}),bo=i.object({elementType:i.string(),errors:i.array(i.string())});i.object({session_id:i.string()});const ko=i.object({success:i.literal(!1),error_type:i.literal("validation_error"),errors:i.array(bo)}),Eo=i.discriminatedUnion("success",[i.object({success:i.literal(!0)}),ko]);i.object({session_id:i.string(),checkout_payment_method:Rt,non_cde_form_fields:gt,do_not_use_legacy_cc_flow:i.boolean().optional(),existing_cc_pm_id:q(i.string())}),i.object({session_id:i.string(),checkout_payment_method:Rt,non_cde_form_fields:gt,extra_metadata:i.record(i.string(),i.any()).optional()});var ee=(r=>(r.SUCCESS="success",r.FAILURE="failure",r.CANCELLED="cancelled",r))(ee||{});const So=i.object({status:i.enum(["success","failure","cancelled"]),href:i.string().optional().nullable()});i.object({href:i.string().optional().nullable()});const Co=i.object({type:i.string(),redirect_url:i.string(),initial_intent_id:i.string(),consent_id:i.string(),their_pm_id:i.string().optional()}),Vr=i.object({type:i.string(),redirect_url:q(i.string()),initial_intent_id:q(i.string()),consent_id:q(i.string()),their_pm_id:q(i.string()),payment_session:q(i.record(i.string(),i.any()))}),xo=i.discriminatedUnion("present",[i.object({present:i.literal(!0),href:i.string()}),i.object({present:i.literal(!1)})]),Ao=i.object({payment_methods:i.array(eo),pay_first_success_response:q(or),required_user_actions:q(i.array(Vr))}),Po=r=>{const e={};return Object.entries(r).forEach(([t,n])=>{try{const s=Fr.parse(t);Array.isArray(n)?e[s]=n:Array.isArray(n._errors)&&(e[s]=n._errors)}catch{return}}),e},To=i.object({stripe_pk:i.string(),client_secret:i.string(),stripe_pm_id:i.string()}),Io=i.object({type:i.string(),client_secret:i.string(),stripe_pk:i.string()}),Oo={usd:"usd",brl:"brl"},Nt=async r=>{for(let t=0;t<10;t++)zr()||await Mo(500);if(!zr())throw console.log("Stripe JS not found."),new Error("Stripe JS not found.");return new Stripe(r)},Ro=async(r,e)=>{const t=await Nt(r);return{elements:t.elements(e),stripe:t}},No=async(r,e,t,n,s)=>{const o=await Nt(r),a=Oo[t.toLowerCase().trim()];return o.paymentRequest({country:"US",currency:a,total:{label:"Total",amount:e,pending:n},requestPayerName:!0,requestPayerEmail:!0,disableWallets:[]})},Mo=r=>new Promise(e=>{setTimeout(e,r)}),zr=()=>"Stripe"in window,jo=async r=>new Promise((e,t)=>{try{r.on("paymentmethod",async n=>{console.log("paymentmethod EVT:: ",n),e(n)}),r.on("token",async n=>{console.log("token EVT:: ",n)}),r.on("cancel",()=>{t(new Error("Payment cancelled, please click Submit again to pay"))})}catch(n){t(n)}}),Do=async(r,e)=>{if(!r.stripe_pk||!r.client_secret)throw new Error(`Invalid next action metadata format: ${JSON.stringify(r)}`);const n=await(await Nt(r.stripe_pk)).confirmCardSetup(r.client_secret,{payment_method:e.paymentMethod.id});if(n.error)throw e.complete("fail"),new Error(`Payment failed: ${n.error.message??"unknown"}`);return e.complete("success"),n},Lo=async r=>{var s,o,a,c;const t=await(await Nt(r.stripe_pk)).confirmCardSetup(r.client_secret,{payment_method:r.stripe_pm_id}),n=(s=t.setupIntent)==null?void 0:s.status;if(n==="succeeded")console.log("[3DS] CONFIRMING PM:",r.stripe_pm_id),console.log("[3DS] Setup intent created:",t.setupIntent);else throw n==="canceled"?new Error("Payment cancelled, please click Submit again to pay"):new Error(`${((o=t.error)==null?void 0:o.message)??((c=(a=t.setupIntent)==null?void 0:a.last_setup_error)==null?void 0:c.message)??"Payment failed, please click submit again to pay."}`)},Fo=r=>JSON.stringify(r);for(var L=[],ir=0;ir<256;++ir)L.push((ir+256).toString(16).slice(1));function Uo(r,e=0){return(L[r[e+0]]+L[r[e+1]]+L[r[e+2]]+L[r[e+3]]+"-"+L[r[e+4]]+L[r[e+5]]+"-"+L[r[e+6]]+L[r[e+7]]+"-"+L[r[e+8]]+L[r[e+9]]+"-"+L[r[e+10]]+L[r[e+11]]+L[r[e+12]]+L[r[e+13]]+L[r[e+14]]+L[r[e+15]]).toLowerCase()}var Mt,$o=new Uint8Array(16);function Zo(){if(!Mt&&(Mt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Mt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Mt($o)}var Vo=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const Br={randomUUID:Vo};function zo(r,e,t){if(Br.randomUUID&&!e&&!r)return Br.randomUUID();r=r||{};var n=r.random||(r.rng||Zo)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,Uo(n)}const Ge=(r,e)=>Array.from(r.querySelectorAll("[data-opid]")??[]).reduce((s,o)=>{const a=o.getAttribute("data-opid");return a?{...s,[a]:o.value}:s},{}),Bo=r=>{try{return wo.parse(r)}catch(e){throw console.error("Error parsing event payload:",r,e),e}};var ae;(function(r){r.Call="call",r.Reply="reply",r.Syn="syn",r.SynAck="synAck",r.Ack="ack"})(ae||(ae={}));var je;(function(r){r.Fulfilled="fulfilled",r.Rejected="rejected"})(je||(je={}));var vt;(function(r){r.ConnectionDestroyed="ConnectionDestroyed",r.ConnectionTimeout="ConnectionTimeout",r.NoIframeSrc="NoIframeSrc"})(vt||(vt={}));var ar;(function(r){r.DataCloneError="DataCloneError"})(ar||(ar={}));var xe;(function(r){r.Message="message"})(xe||(xe={}));const qo=(r,e)=>{const t=[];let n=!1;return{destroy(s){n||(n=!0,e(`${r}: Destroying connection`),t.forEach(o=>{o(s)}))},onDestroy(s){n?s():t.push(s)}}},Go=r=>(...e)=>{r&&console.log("[Penpal]",...e)},Yo={"http:":"80","https:":"443"},Wo=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,Ho=["file:","data:"],Ko=r=>{if(r&&Ho.find(c=>r.startsWith(c)))return"null";const e=document.location,t=Wo.exec(r);let n,s,o;t?(n=t[1]?t[1]:e.protocol,s=t[2],o=t[4]):(n=e.protocol,s=e.hostname,o=e.port);const a=o&&o!==Yo[n]?`:${o}`:"";return`${n}//${s}${a}`},qr=({name:r,message:e,stack:t})=>({name:r,message:e,stack:t}),Jo=r=>{const e=new Error;return Object.keys(r).forEach(t=>e[t]=r[t]),e},Qo=(r,e,t)=>{const{localName:n,local:s,remote:o,originForSending:a,originForReceiving:c}=r;let u=!1;const l=d=>{if(d.source!==o||d.data.penpal!==ae.Call)return;if(c!=="*"&&d.origin!==c){t(`${n} received message from origin ${d.origin} which did not match expected origin ${c}`);return}const h=d.data,{methodName:w,args:m,id:v}=h;t(`${n}: Received ${w}() call`);const b=P=>I=>{if(t(`${n}: Sending ${w}() reply`),u){t(`${n}: Unable to send ${w}() reply due to destroyed connection`);return}const T={penpal:ae.Reply,id:v,resolution:P,returnValue:I};P===je.Rejected&&I instanceof Error&&(T.returnValue=qr(I),T.returnValueIsError=!0);try{o.postMessage(T,a)}catch(N){if(N.name===ar.DataCloneError){const M={penpal:ae.Reply,id:v,resolution:je.Rejected,returnValue:qr(N),returnValueIsError:!0};o.postMessage(M,a)}throw N}};new Promise(P=>P(e[w].apply(e,m))).then(b(je.Fulfilled),b(je.Rejected))};return s.addEventListener(xe.Message,l),()=>{u=!0,s.removeEventListener(xe.Message,l)}};let Xo=0;const ei=()=>++Xo,Gr=".",Yr=r=>r?r.split(Gr):[],ti=r=>r.join(Gr),ri=(r,e)=>{const t=Yr(e||"");return t.push(r),ti(t)},ni=(r,e,t)=>{const n=Yr(e);return n.reduce((s,o,a)=>(typeof s[o]>"u"&&(s[o]={}),a===n.length-1&&(s[o]=t),s[o]),r),r},Wr=(r,e)=>{const t={};return Object.keys(r).forEach(n=>{const s=r[n],o=ri(n,e);typeof s=="object"&&Object.assign(t,Wr(s,o)),typeof s=="function"&&(t[o]=s)}),t},si=r=>{const e={};for(const t in r)ni(e,t,r[t]);return e},oi=(r,e,t,n,s)=>{const{localName:o,local:a,remote:c,originForSending:u,originForReceiving:l}=e;let d=!1;s(`${o}: Connecting call sender`);const h=m=>(...v)=>{s(`${o}: Sending ${m}() call`);let b;try{c.closed&&(b=!0)}catch{b=!0}if(b&&n(),d){const P=new Error(`Unable to send ${m}() call due to destroyed connection`);throw P.code=vt.ConnectionDestroyed,P}return new Promise((P,I)=>{const T=ei(),N=W=>{if(W.source!==c||W.data.penpal!==ae.Reply||W.data.id!==T)return;if(l!=="*"&&W.origin!==l){s(`${o} received message from origin ${W.origin} which did not match expected origin ${l}`);return}const Ie=W.data;s(`${o}: Received ${m}() reply`),a.removeEventListener(xe.Message,N);let ue=Ie.returnValue;Ie.returnValueIsError&&(ue=Jo(ue)),(Ie.resolution===je.Fulfilled?P:I)(ue)};a.addEventListener(xe.Message,N);const M={penpal:ae.Call,id:T,methodName:m,args:v};c.postMessage(M,u)})},w=t.reduce((m,v)=>(m[v]=h(v),m),{});return Object.assign(r,si(w)),()=>{d=!0}},ii=(r,e,t,n,s)=>{const{destroy:o,onDestroy:a}=n;let c,u;const l={};return d=>{if(e!=="*"&&d.origin!==e){s(`Parent: Handshake - Received ACK message from origin ${d.origin} which did not match expected origin ${e}`);return}s("Parent: Handshake - Received ACK");const h={localName:"Parent",local:window,remote:d.source,originForSending:t,originForReceiving:e};c&&c(),c=Qo(h,r,s),a(c),u&&u.forEach(m=>{delete l[m]}),u=d.data.methodNames;const w=oi(l,h,u,o,s);return a(w),l}},ai=(r,e,t,n)=>s=>{if(!s.source)return;if(t!=="*"&&s.origin!==t){r(`Parent: Handshake - Received SYN message from origin ${s.origin} which did not match expected origin ${t}`);return}r("Parent: Handshake - Received SYN, responding with SYN-ACK");const o={penpal:ae.SynAck,methodNames:Object.keys(e)};s.source.postMessage(o,n)},ci=6e4,li=(r,e)=>{const{destroy:t,onDestroy:n}=e,s=setInterval(()=>{r.isConnected||(clearInterval(s),t())},ci);n(()=>{clearInterval(s)})},ui=(r,e)=>{let t;return r!==void 0&&(t=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${r}ms`);n.code=vt.ConnectionTimeout,e(n)},r)),()=>{clearTimeout(t)}},di=r=>{if(!r.src&&!r.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=vt.NoIframeSrc,e}},Hr=r=>{let{iframe:e,methods:t={},childOrigin:n,timeout:s,debug:o=!1}=r;const a=Go(o),c=qo("Parent",a),{onDestroy:u,destroy:l}=c;n||(di(e),n=Ko(e.src));const d=n==="null"?"*":n,h=Wr(t),w=ai(a,h,n,d),m=ii(h,n,d,c,a);return{promise:new Promise((b,P)=>{const I=ui(s,l),T=N=>{if(!(N.source!==e.contentWindow||!N.data)){if(N.data.penpal===ae.Syn){w(N);return}if(N.data.penpal===ae.Ack){const M=m(N);M&&(I(),b(M));return}}};window.addEventListener(xe.Message,T),a("Parent: Awaiting handshake"),li(e,c),u(N=>{window.removeEventListener(xe.Message,T),N&&P(N)})}),destroy(){l()}}},fi=async r=>{if(typeof r!="object"||!r)return!1;try{const e={type:"ping"},t=await r.send(e);if(t!==!0)throw new Error(`Expected 'true' after ping, got ${JSON.stringify(t)}`);return!0}catch(e){return console.error("Invalid CDE connection check:",e),!1}},pi=(r,e)=>!!r&&e,C=r=>i.nullable(r.optional());i.string().trim().min(1,{message:"Cannot be blank"});const hi=i.object({cde_response_type:i.literal("error"),message:i.string(),headers:i.record(i.string(),i.string()).optional()});i.enum(["usd","brl"]);const Kr=i.object({name:i.string(),amount_atom_off:C(i.number()),percent_off:C(i.number()),currency:C(i.string()),duration:i.string(),duration_in_months:C(i.number())}),Jr=i.object({amount_subtotal_atom:i.number().int(),amount_total_atom:i.number().int(),currency:i.string(),description:C(i.string()),price_id:i.string(),billing_interval:C(i.string()),billing_interval_count:C(i.number().int()),quantity:i.number().int()}),mi=i.record(i.string(),i.any()),yi=i.object({name:i.string(),settings:C(mi)}),wt=i.object({provider:i.string(),processor_name:C(i.string()),metadata:C(i.record(i.string(),i.any()))}),_i=i.object({quantity:i.number()}),gi=i.object({id:C(i.string()),billing_interval:C(i.string()),billing_interval_count:C(i.number().int()),subscription_items:i.array(_i),trial_start:C(i.string()),trial_end:C(i.string())}),Qr=i.object({amount_atom:i.number()}),vi=i.object({amount_atom:i.number(),amount_atom_considering_discount_applied:i.number(),currency:i.string(),discount_amount_atoms:i.array(Qr),subscription_item_id:i.string()}),wi=i.object({coupon:Kr}),bi=i.object({currency:i.string(),discounts:i.array(wi),hosted_invoice_url:C(i.string()),lines:i.array(vi),remaining_amount_atom:i.number(),tax_amount_atom:i.number(),total_amount_atom:i.number(),total_discount_amount_atoms:i.array(Qr)}),Xr=i.object({created:i.array(gi),invoices:i.array(bi)}),en=i.object({preview:Xr,preview_post_trial:C(Xr),coupons:i.array(Kr)}),tn=i.object({status:i.literal("open"),token:i.string(),email:C(i.string()),line_items:i.array(Jr),amount_subtotal_atom:i.number().int(),amount_total_atom:i.number().int(),brand:yi,subs_preview:C(en),methods_available:i.array(wt)}),rn=i.discriminatedUnion("mode",[i.object({mode:i.literal("setup"),currency:i.nullable(i.undefined())}).extend(tn.shape),i.object({mode:i.enum(["payment","subscription"]),currency:i.string()}).extend(tn.shape)]),ki=i.object({status:i.literal("complete")}),Ei=i.object({status:i.literal("expired")});i.union([rn,ki,Ei]),i.object({logo:i.string(),icon:i.string(),primary_color:i.string(),secondary_color:i.string()}),i.object({secure_token:i.string(),pm_id:i.string()}),i.object({secure_token:i.string(),payment_input:i.any(),customer_first_name:i.string().optional(),customer_last_name:i.string().optional(),customer_email:i.string(),customer_zip_code:i.string(),customer_country:i.string(),line_items:i.array(Jr),total_amount_atom:i.number().int(),cancel_at_end:i.boolean(),checkout_payment_method:wt,promotion_code:i.string().optional(),do_not_use_legacy_cc_flow:i.boolean().optional(),use_confirmed_pm_id:C(i.string())});const Si=i.object({payment_method_id:i.string()});i.object({id:i.string(),return_url:i.string()});const Ci=i.object({type:i.string(),loc:i.array(i.string()),msg:i.string(),url:i.string()});i.array(Ci);const xi=i.object({new_customer_email:i.string().optional(),new_customer_address:i.record(i.string(),i.any()).optional(),new_customer_first_name:i.string().optional(),new_customer_last_name:i.string().optional()}),Ai=i.object({price_id:i.string(),quantity:i.number().int()}),Pi=i.object({line_items:i.array(Ai),promotion_code:i.string().optional(),displayed_total_amount_atom:i.number().int()}),Ti=i.object({processor_specific_metadata:C(i.record(i.string(),i.any()))});i.object({payment_provider:i.string(),checkout_payment_method:wt,existing_cc_pm_id:i.string().optional(),their_existing_pm_id:i.string().optional(),use_pay_first_flow:i.boolean().optional(),pay_first_flow_cart_info:Pi.optional()}).extend(xi.shape).extend(Ti.shape);const nn=i.object({required_user_actions:i.array(i.record(i.string(),i.any())),checkout_attempt_id:C(i.string())});i.object({fields:ho,checkoutPaymentMethod:wt}),i.object({session_id:i.string(),non_cde_form_fields:gt,checkout_payment_method:wt,extra_metadata:i.record(i.string(),i.any())});const Ii=i.object({required_user_actions:i.array(i.record(i.string(),i.any())),cc_pm_id:i.string()});i.record(i.any()),i.object({first_name:C(i.string()),last_name:C(i.string()),line1:C(i.string()),line2:C(i.string()),line3:C(i.string()),city:C(i.string()),state:C(i.string()),country:C(i.string()),zip_code:C(i.string()),email:C(i.string()),billing_email:C(i.string()),phone_number:C(i.string()),update_processor_customer:C(i.boolean())});const Oi=i.object({id:i.string(),email:C(i.string()),first_name:C(i.string()),last_name:C(i.string()),phone_number:C(i.string()),billing_email:C(i.string()),address:C(i.record(i.string(),i.any()))}),Ri=r=>r.reduce((e,t)=>e+t,0);function Ni(r,e){var t=Object.setPrototypeOf;t?t(r,e):r.__proto__=e}function Mi(r,e){e===void 0&&(e=r.constructor);var t=Error.captureStackTrace;t&&t(r,e)}var ji=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,o){s.__proto__=o}||function(s,o){for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(s[a]=o[a])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),Di=function(r){ji(e,r);function e(t,n){var s=this.constructor,o=r.call(this,t,n)||this;return Object.defineProperty(o,"name",{value:s.name,enumerable:!1,configurable:!0}),Ni(o,s.prototype),Mi(o),o}return e}(Error);class sn extends Di{constructor(e){const t=`${e.message}`;super(t),this.response=e}get originalErrorMessage(){return this.response.message}}const Y=async(r,e,t)=>{const n=await r.send(e);if(Fi(n))throw new sn(n);if(!Li(n,t)){const s=t.safeParse(n);throw s.success?new Error("Invalid state"):(console.error("OJS queryApi got a schema error. Expected schema:",t,"Actual:",n),s.error)}return n},Li=(r,e)=>e.safeParse(r).success,Fi=r=>hi.safeParse(r).success,Ui=async(r,e)=>await Y(r,{type:"get_checkout_preview",payload:e},en),Ae=async r=>await Y(r,{type:"get_prefill",payload:{}},rn),jt=async(r,e)=>await Y(r,{type:"v2_start_payment_flow",payload:e},nn),$i=async(r,e)=>await Y(r,{type:"start_payment_flow_for_cc",payload:e},Ii),Zi=async(r,e)=>await Y(r,{type:"start_payment_flow_for_pr",payload:e},nn),Pe=async(r,e)=>await Y(r,{type:"confirm_payment_flow",payload:e},Ao),Vi=async(r,e)=>await Y(r,{type:"check_if_popup_window_verified",payload:e},xo),zi=async(r,e,t)=>{const n=await Ui(r,{secure_token:e,promotion_code:t}),s=new Set(n.preview.invoices.map(c=>c.currency));if(s.size!==1)throw new Error(`Expected exactly one currency, got ${s.size}`);const o=s.values().next().value??"usd",a=Ri(n.preview.invoices.map(c=>c.remaining_amount_atom));return{currency:o,amountAtom:a}},Dt=async(r,e,t,n)=>{if(t)return{amountAtom:0,currency:"usd"};{n=n||void 0;const s=await zi(r,e,n);return{amountAtom:s.amountAtom,currency:s.currency}}},Bi=async(r,e)=>{if(r.size===0)throw new Error("No CDE connections found");return await Promise.all(Array.from(r.values()).map(n=>Y(n,{type:"tokenize_card",payload:e},Eo)))},on=async(r,e)=>{try{return await Y(r,{type:"checkout_card_elements",payload:e},or)}catch(t){throw console.error("[cde-client] Error during checkoutCardElements:",t,JSON.stringify(t)),t}},qi=async(r,e)=>await Y(r,{type:"setup_payment_method",payload:e},Si),Lt=async(r,e)=>await Y(r,{type:"checkout",payload:e},or),an=1e3,Gi=async(r,e)=>{console.log(e);const n=await Hr({iframe:r,debug:!0,timeout:an,childOrigin:"*"}).promise,s=await Y(n,{type:"ping-3ds-status"},So);return console.log("🟢 CDE connection successful! Stopping polling... Result:",s),s},Yi=async(r,e)=>await Y(r,{type:"update_checkout_customer",payload:e},Oi);function cr(r){throw new Error(`Unhandled case: ${r}`)}const lr=10,cn=(r=0)=>e=>`\x1B[${e+r}m`,ln=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,un=(r=0)=>(e,t,n)=>`\x1B[${38+r};2;${e};${t};${n}m`,O={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(O.modifier);const Wi=Object.keys(O.color),Hi=Object.keys(O.bgColor);[...Wi,...Hi];function Ki(){const r=new Map;for(const[e,t]of Object.entries(O)){for(const[n,s]of Object.entries(t))O[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},t[n]=O[n],r.set(s[0],s[1]);Object.defineProperty(O,e,{value:t,enumerable:!1})}return Object.defineProperty(O,"codes",{value:r,enumerable:!1}),O.color.close="\x1B[39m",O.bgColor.close="\x1B[49m",O.color.ansi=cn(),O.color.ansi256=ln(),O.color.ansi16m=un(),O.bgColor.ansi=cn(lr),O.bgColor.ansi256=ln(lr),O.bgColor.ansi16m=un(lr),Object.defineProperties(O,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(o=>o+o).join(""));const s=Number.parseInt(n,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:e=>O.rgbToAnsi256(...O.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,s;if(e>=232)t=((e-232)*10+8)/255,n=t,s=t;else{e-=16;const c=e%36;t=Math.floor(e/36)/5,n=Math.floor(c/6)/5,s=c%6/5}const o=Math.max(t,n,s)*2;if(o===0)return 30;let a=30+(Math.round(s)<<2|Math.round(n)<<1|Math.round(t));return o===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>O.ansi256ToAnsi(O.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>O.ansi256ToAnsi(O.hexToAnsi256(e)),enumerable:!1}}),O}const ce=Ki(),Ft=(()=>{if(navigator.userAgentData){const r=navigator.userAgentData.brands.find(({brand:e})=>e==="Chromium");if(r&&r.version>93)return 3}return/\b(Chrome|Chromium)\//.test(navigator.userAgent)?1:0})(),dn=Ft!==0&&{level:Ft,hasBasic:!0,has256:Ft>=2,has16m:Ft>=3},Ji={stdout:dn,stderr:dn};function Qi(r,e,t){let n=r.indexOf(e);if(n===-1)return r;const s=e.length;let o=0,a="";do a+=r.slice(o,n)+e+t,o=n+s,n=r.indexOf(e,o);while(n!==-1);return a+=r.slice(o),a}function Xi(r,e,t,n){let s=0,o="";do{const a=r[n-1]==="\r";o+=r.slice(s,a?n-1:n)+e+(a?`\r
7
7
  `:`
8
8
  `)+t,s=n+1,n=r.indexOf(`
9
- `,s)}while(n!==-1);return o+=r.slice(s),o}const{stdout:fn,stderr:hn}=Wi,lr=Symbol("GENERATOR"),Be=Symbol("STYLER"),_t=Symbol("IS_EMPTY"),mn=["ansi","ansi","ansi256","ansi16m"],qe=Object.create(null),Ji=(r,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const t=fn?fn.level:0;r.level=e.level===void 0?t:e.level},Xi=r=>{const e=(...t)=>t.join(" ");return Ji(e,r),Object.setPrototypeOf(e,gt.prototype),e};function gt(r){return Xi(r)}Object.setPrototypeOf(gt.prototype,Function.prototype);for(const[r,e]of Object.entries(le))qe[r]={get(){const t=Lt(this,dr(e.open,e.close,this[Be]),this[_t]);return Object.defineProperty(this,r,{value:t}),t}};qe.visible={get(){const r=Lt(this,this[Be],!0);return Object.defineProperty(this,"visible",{value:r}),r}};const ur=(r,e,t,...n)=>r==="rgb"?e==="ansi16m"?le[t].ansi16m(...n):e==="ansi256"?le[t].ansi256(le.rgbToAnsi256(...n)):le[t].ansi(le.rgbToAnsi(...n)):r==="hex"?ur("rgb",e,t,...le.hexToRgb(...n)):le[t][r](...n),Qi=["rgb","hex","ansi256"];for(const r of Qi){qe[r]={get(){const{level:t}=this;return function(...n){const s=dr(ur(r,mn[t],"color",...n),le.color.close,this[Be]);return Lt(this,s,this[_t])}}};const e="bg"+r[0].toUpperCase()+r.slice(1);qe[e]={get(){const{level:t}=this;return function(...n){const s=dr(ur(r,mn[t],"bgColor",...n),le.bgColor.close,this[Be]);return Lt(this,s,this[_t])}}}}const ea=Object.defineProperties(()=>{},{...qe,level:{enumerable:!0,get(){return this[lr].level},set(r){this[lr].level=r}}}),dr=(r,e,t)=>{let n,s;return t===void 0?(n=r,s=e):(n=t.openAll+r,s=e+t.closeAll),{open:r,close:e,openAll:n,closeAll:s,parent:t}},Lt=(r,e,t)=>{const n=(...s)=>ta(n,s.length===1?""+s[0]:s.join(" "));return Object.setPrototypeOf(n,ea),n[lr]=r,n[Be]=e,n[_t]=t,n},ta=(r,e)=>{if(r.level<=0||!e)return r[_t]?"":e;let t=r[Be];if(t===void 0)return e;const{openAll:n,closeAll:s}=t;if(e.includes("\x1B"))for(;t!==void 0;)e=Hi(e,t.close,t.open),t=t.parent;const o=e.indexOf(`
10
- `);return o!==-1&&(e=Ki(e,s,n,o)),n+e+s};Object.defineProperties(gt.prototype,qe);const Ft=gt();gt({level:hn?hn.level:0});const Ge=r=>async e=>{var t,n;try{(n=(t=e.formCallbacks.get).onCheckoutStarted)==null||n.call(t);const s=await r(e);if(s.mode==="setup")e.formCallbacks.get.onSetupPaymentMethodSuccess(s.result.payment_method_id);else if(s.mode==="checkout")e.formCallbacks.get.onCheckoutSuccess(s.result.invoice_urls,s.result.subscription_ids,s.result.customer_id);else throw new Error(`Unhandled mode: ${s}`)}catch(s){e.formCallbacks.get.onCheckoutError(he(s))}},$t=r=>async e=>{try{return await r(e)}catch(t){const{err__:n}=$("init-error-catcher");return n(t),{isAvailable:!1,reason:he(t)}}},$=r=>{const e=(...n)=>{window.console.log(`${Ft.green.bold("ojs/")}${Ft.bold.gray(`${r}`)} `,...n)},t=(...n)=>{window.console.warn(`${Ft.red.bold("ojs/")}${Ft.bold.gray(`${r}`)} `,...n)};return{log:e,err:t,log__:e,err__:t}},{log__:ll,err__:ra}=$("common"),pr=r=>{if(r.payment_methods.length!==1)throw new Error(`Expected exactly one payment method, got ${r.payment_methods.length}`);return{payment_method_id:r.payment_methods[0].id}},Ye=(r,e)=>{const t=r.find(n=>e.safeParse(n).success);if(!t)throw ra("No CPMs found for model. All models:",r),new Error("No CPMs found for model");return e.parse(t)},na=r=>({new_customer_email:r.email,new_customer_address:{zip_code:r.zipCode,country:r.country},new_customer_first_name:r.firstName,new_customer_last_name:r.lastName}),{log__:yn,err__:_n}=$("common-cc"),We=(r,e,t)=>{if(t){yn(`Received default field values: ${JSON.stringify(t)}`);for(const[s,o]of Object.entries(t))r[s]||(r[s]=o)}const n=ht.safeParse(r);if(!n.success){const s=n.error.format(),o=Po(s);for(const[a,c]of Object.entries(o))e(a,c,a);throw _n("Got validation errors in non-CDE form fields",o),new Error("Got validation errors in non-CDE form fields")}return n.data},sa=(r,e)=>{for(const t of r)if(t.success===!1)throw t.errors.forEach(n=>{const s=Vr.safeParse(n.elementType);if(!s.success)_n(`Unknown field name in onValidationError: ${n.elementType}. Error object:`,n);else{const o=s.data;e(o,n.errors)}}),yn(`Error tokenizing card: got validation errors: ${JSON.stringify(t.errors)}`),new Error("Got validation errors while tokenizing card")},gn="ojs-stripe-link-btn",{log__:U,err__:oa}=$("stripe-link"),ia=i.object({provider:i.literal("stripe_link"),processor_name:i.literal("stripe"),metadata:i.object({stripe_pk:i.string()})}),aa=i.array(i.object({our_existing_pm_id:i.string()})).length(1),ca=$t(async({context:r,formCallbacks:e})=>{const t=r.customInitParams.stripeLink;U("Checking if there are any CPMs for Stripe Link...");const n=Ye(r.checkoutPaymentMethods,ia);U("Starting stripe link flow...");const s=r.anyCdeConnection,o=await Se(s),a=o.mode==="setup";U("Creating stripe elements...");const c=await Mt(s,o.token,a,void 0),{elements:u,stripe:l}=await Oo(n.metadata.stripe_pk,{mode:"setup",currency:c.currency,setup_future_usage:"off_session",paymentMethodCreation:"manual"});U("Creating express checkout...");const d=u.create("expressCheckout",{buttonHeight:t==null?void 0:t.buttonHeight,paymentMethods:{amazonPay:"never",applePay:"never",googlePay:"never",paypal:"never"}}),m=()=>{d.mount(`#${gn}`)},w=()=>{d.unmount()};return t!=null&&t.doNotMountOnInit?U("NOT mounting stripe link button (doNotMountOnInit is true)"):(U("Mounting stripe link button..."),m()),d.on("click",async h=>{if(U("Stripe Link button clicked"),t!=null&&t.overrideLinkSubmit&&!await t.overrideLinkSubmit()){U("Stripe Link submit aborted by overrideLinkSubmit");return}h.resolve()}),d.on("confirm",async h=>{U("Stripe Link window confirmed",h);const g=await l.createPaymentMethod({elements:u,params:{billing_details:h.billingDetails}});g.error?(oa("error",g.error),e.get.onCheckoutError(g.error.message??"Stripe Link unknown error")):(U("paymentMethod",g.paymentMethod),ne.stripeLink.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:ze(r.formDiv),formCallbacks:e,customParams:{stripePM:g.paymentMethod},initResult:{isAvailable:!0}}))}),{isAvailable:!0,controller:{mountButton:m,dismountButton:w,waitForButtonToMount:async()=>await da(gn)}}}),la=Ge(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s})=>{U("Running Stripe Link flow...");const o=r.anyCdeConnection;U("Merging PM fields with form fields...");const a=ua(t,s.stripePM),c=We(a,n.get.onValidationError);U("Starting payment flow...");const u=await Nt(o,{payment_provider:e.provider,checkout_payment_method:e,their_existing_pm_id:s.stripePM.id,new_customer_email:c[f.EMAIL],new_customer_first_name:c[f.FIRST_NAME],new_customer_last_name:c[f.LAST_NAME],new_customer_address:{zip_code:c[f.ZIP_CODE],country:c[f.COUNTRY]}});U("Start payment flow response",u);const d=aa.parse(u.required_user_actions)[0].our_existing_pm_id,m=await Se(o);if(m.mode==="setup"){U("Doing payment setup...");const w=await Ce(o,{secure_token:m.token,existing_cc_pm_id:d});return{mode:"setup",result:pr(w)}}else{U("Doing checkout...");const w={secure_token:m.token,payment_input:{provider_type:e.provider},customer_email:c[f.EMAIL],customer_zip_code:c[f.ZIP_CODE],customer_country:c[f.COUNTRY],promotion_code:c[f.PROMOTION_CODE],line_items:m.line_items,total_amount_atom:m.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await jt(o,w)}}}),ua=(r,e)=>{var a,c,u,l,d;const t={...r},[n,...s]=((c=(a=e.billing_details.name)==null?void 0:a.trim())==null?void 0:c.split(/\s+/))??[],o=s.join(" ")||void 0;return t[f.FIRST_NAME]=t[f.FIRST_NAME]||n||"_OP_UNKNOWN",t[f.LAST_NAME]=t[f.LAST_NAME]||o||"_OP_UNKNOWN",t[f.EMAIL]=t[f.EMAIL]||((u=e.link)==null?void 0:u.email)||e.billing_details.email||"op_unfilled@getopenpay.com",t[f.ZIP_CODE]=t[f.ZIP_CODE]||((l=e.billing_details.address)==null?void 0:l.postal_code)||"00000",t[f.COUNTRY]=t[f.COUNTRY]||((d=e.billing_details.address)==null?void 0:d.country)||"US",U("Final form inputs:",t),t},da=r=>new Promise(e=>{const t=()=>{const n=document.getElementById(r);n?e(n):requestAnimationFrame(t)};t()}),pa="@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2147483648!important;display:flex;justify-content:center;align-items:center;background-color:#00000080}.container{max-width:500px;max-height:600px;width:100%;height:100%;background-color:#fff;position:relative;animation:fadeIn .3s ease-out}.frame{max-width:500px;max-height:600px;width:100%;height:100%;border:none}.cancel-button{position:absolute;background:transparent;border:none;font-size:1rem;color:#fff;cursor:pointer;top:-1.5rem;padding:0;right:0}",fa=r=>{const e=document.createElement("template");e.innerHTML=`
9
+ `,s)}while(n!==-1);return o+=r.slice(s),o}const{stdout:fn,stderr:pn}=Ji,ur=Symbol("GENERATOR"),Ye=Symbol("STYLER"),bt=Symbol("IS_EMPTY"),hn=["ansi","ansi","ansi256","ansi16m"],We=Object.create(null),ea=(r,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");const t=fn?fn.level:0;r.level=e.level===void 0?t:e.level},ta=r=>{const e=(...t)=>t.join(" ");return ea(e,r),Object.setPrototypeOf(e,kt.prototype),e};function kt(r){return ta(r)}Object.setPrototypeOf(kt.prototype,Function.prototype);for(const[r,e]of Object.entries(ce))We[r]={get(){const t=Ut(this,fr(e.open,e.close,this[Ye]),this[bt]);return Object.defineProperty(this,r,{value:t}),t}};We.visible={get(){const r=Ut(this,this[Ye],!0);return Object.defineProperty(this,"visible",{value:r}),r}};const dr=(r,e,t,...n)=>r==="rgb"?e==="ansi16m"?ce[t].ansi16m(...n):e==="ansi256"?ce[t].ansi256(ce.rgbToAnsi256(...n)):ce[t].ansi(ce.rgbToAnsi(...n)):r==="hex"?dr("rgb",e,t,...ce.hexToRgb(...n)):ce[t][r](...n),ra=["rgb","hex","ansi256"];for(const r of ra){We[r]={get(){const{level:t}=this;return function(...n){const s=fr(dr(r,hn[t],"color",...n),ce.color.close,this[Ye]);return Ut(this,s,this[bt])}}};const e="bg"+r[0].toUpperCase()+r.slice(1);We[e]={get(){const{level:t}=this;return function(...n){const s=fr(dr(r,hn[t],"bgColor",...n),ce.bgColor.close,this[Ye]);return Ut(this,s,this[bt])}}}}const na=Object.defineProperties(()=>{},{...We,level:{enumerable:!0,get(){return this[ur].level},set(r){this[ur].level=r}}}),fr=(r,e,t)=>{let n,s;return t===void 0?(n=r,s=e):(n=t.openAll+r,s=e+t.closeAll),{open:r,close:e,openAll:n,closeAll:s,parent:t}},Ut=(r,e,t)=>{const n=(...s)=>sa(n,s.length===1?""+s[0]:s.join(" "));return Object.setPrototypeOf(n,na),n[ur]=r,n[Ye]=e,n[bt]=t,n},sa=(r,e)=>{if(r.level<=0||!e)return r[bt]?"":e;let t=r[Ye];if(t===void 0)return e;const{openAll:n,closeAll:s}=t;if(e.includes("\x1B"))for(;t!==void 0;)e=Qi(e,t.close,t.open),t=t.parent;const o=e.indexOf(`
10
+ `);return o!==-1&&(e=Xi(e,s,n,o)),n+e+s};Object.defineProperties(kt.prototype,We);const $t=kt();kt({level:pn?pn.level:0});const He=r=>async e=>{var t,n;try{(n=(t=e.formCallbacks.get).onCheckoutStarted)==null||n.call(t);const s=await r(e);if(s.mode==="setup")e.formCallbacks.get.onSetupPaymentMethodSuccess(s.result.payment_method_id);else if(s.mode==="checkout")e.formCallbacks.get.onCheckoutSuccess(s.result.invoice_urls,s.result.subscription_ids,s.result.customer_id);else throw new Error(`Unhandled mode: ${s}`)}catch(s){e.formCallbacks.get.onCheckoutError(he(s))}},Zt=r=>async e=>{try{return await r(e)}catch(t){const{err__:n}=F("init-error-catcher");return n(t),{isAvailable:!1,reason:he(t)}}},F=r=>{const e=(...n)=>{window.console.log(`${$t.green.bold("ojs/")}${$t.bold.gray(`${r}`)} `,...n)},t=(...n)=>{window.console.warn(`${$t.red.bold("ojs/")}${$t.bold.gray(`${r}`)} `,...n)};return{log:e,err:t,log__:e,err__:t}},{log__:ml,err__:oa}=F("common"),pr=r=>{if(r.payment_methods.length!==1)throw new Error(`Expected exactly one payment method, got ${r.payment_methods.length}`);return{payment_method_id:r.payment_methods[0].id}},Ke=(r,e)=>{const t=r.find(n=>e.safeParse(n).success);if(!t)throw oa("No CPMs found for model. All models:",r),new Error("No CPMs found for model");return e.parse(t)},ia=r=>({new_customer_email:r.email,new_customer_address:{zip_code:r.zipCode,country:r.country},new_customer_first_name:r.firstName,new_customer_last_name:r.lastName}),{log__:mn,err__:yn}=F("common-cc"),Je=(r,e,t)=>{if(t){mn(`Received default field values: ${JSON.stringify(t)}`);for(const[s,o]of Object.entries(t))r[s]||(r[s]=o)}const n=gt.safeParse(r);if(!n.success){const s=n.error.format(),o=Po(s);for(const[a,c]of Object.entries(o))e(a,c,a);throw yn("Got validation errors in non-CDE form fields",o),new Error("Got validation errors in non-CDE form fields")}return n.data},aa=(r,e)=>{for(const t of r)if(t.success===!1)throw t.errors.forEach(n=>{const s=Zr.safeParse(n.elementType);if(!s.success)yn(`Unknown field name in onValidationError: ${n.elementType}. Error object:`,n);else{const o=s.data;e(o,n.errors)}}),mn(`Error tokenizing card: got validation errors: ${JSON.stringify(t.errors)}`),new Error("Got validation errors while tokenizing card")},_n="ojs-stripe-link-btn",{log__:U,err__:ca}=F("stripe-link"),la=i.object({provider:i.literal("stripe_link"),processor_name:i.literal("stripe"),metadata:i.object({stripe_pk:i.string()})}),ua=i.array(i.object({our_existing_pm_id:i.string()})).length(1),da=Zt(async({context:r,formCallbacks:e})=>{const t=r.customInitParams.stripeLink;U("Checking if there are any CPMs for Stripe Link...");const n=Ke(r.checkoutPaymentMethods,la);U("Starting stripe link flow...");const s=r.anyCdeConnection,o=await Ae(s),a=o.mode==="setup";U("Creating stripe elements...");const c=await Dt(s,o.token,a,void 0),{elements:u,stripe:l}=await Ro(n.metadata.stripe_pk,{mode:"setup",currency:c.currency,setup_future_usage:"off_session",paymentMethodCreation:"manual"});U("Creating express checkout...");const d=u.create("expressCheckout",{buttonHeight:t==null?void 0:t.buttonHeight,paymentMethods:{amazonPay:"never",applePay:"never",googlePay:"never",paypal:"never"}}),h=()=>{d.mount(`#${_n}`)},w=()=>{d.unmount()};return t!=null&&t.doNotMountOnInit?U("NOT mounting stripe link button (doNotMountOnInit is true)"):(U("Mounting stripe link button..."),h()),d.on("click",async m=>{if(U("Stripe Link button clicked"),t!=null&&t.overrideLinkSubmit&&!await t.overrideLinkSubmit()){U("Stripe Link submit aborted by overrideLinkSubmit");return}m.resolve()}),d.on("confirm",async m=>{U("Stripe Link window confirmed",m);const v=await l.createPaymentMethod({elements:u,params:{billing_details:m.billingDetails}});v.error?(ca("error",v.error),e.get.onCheckoutError(v.error.message??"Stripe Link unknown error")):(U("paymentMethod",v.paymentMethod),te.stripeLink.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:Ge(r.formDiv),formCallbacks:e,customParams:{stripePM:v.paymentMethod},initResult:{isAvailable:!0}}))}),{isAvailable:!0,controller:{mountButton:h,dismountButton:w,waitForButtonToMount:async()=>await ha(_n)}}}),fa=He(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s})=>{U("Running Stripe Link flow...");const o=r.anyCdeConnection;U("Merging PM fields with form fields...");const a=pa(t,s.stripePM),c=Je(a,n.get.onValidationError);U("Starting payment flow...");const u=await jt(o,{payment_provider:e.provider,checkout_payment_method:e,their_existing_pm_id:s.stripePM.id,new_customer_email:c[p.EMAIL],new_customer_first_name:c[p.FIRST_NAME],new_customer_last_name:c[p.LAST_NAME],new_customer_address:{zip_code:c[p.ZIP_CODE],country:c[p.COUNTRY]}});U("Start payment flow response",u);const d=ua.parse(u.required_user_actions)[0].our_existing_pm_id,h=await Ae(o);if(h.mode==="setup"){U("Doing payment setup...");const w=await Pe(o,{secure_token:h.token,existing_cc_pm_id:d});return{mode:"setup",result:pr(w)}}else{U("Doing checkout...");const w={secure_token:h.token,payment_input:{provider_type:e.provider},customer_email:c[p.EMAIL],customer_zip_code:c[p.ZIP_CODE],customer_country:c[p.COUNTRY],promotion_code:c[p.PROMOTION_CODE],line_items:h.line_items,total_amount_atom:h.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await Lt(o,w)}}}),pa=(r,e)=>{var a,c,u,l,d;const t={...r},[n,...s]=((c=(a=e.billing_details.name)==null?void 0:a.trim())==null?void 0:c.split(/\s+/))??[],o=s.join(" ")||void 0;return t[p.FIRST_NAME]=t[p.FIRST_NAME]||n||"_OP_UNKNOWN",t[p.LAST_NAME]=t[p.LAST_NAME]||o||"_OP_UNKNOWN",t[p.EMAIL]=t[p.EMAIL]||((u=e.link)==null?void 0:u.email)||e.billing_details.email||"op_unfilled@getopenpay.com",t[p.ZIP_CODE]=t[p.ZIP_CODE]||((l=e.billing_details.address)==null?void 0:l.postal_code)||"00000",t[p.COUNTRY]=t[p.COUNTRY]||((d=e.billing_details.address)==null?void 0:d.country)||"US",U("Final form inputs:",t),t},ha=r=>new Promise(e=>{const t=()=>{const n=document.getElementById(r);n?e(n):requestAnimationFrame(t)};t()}),ma="@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2147483648!important;display:flex;justify-content:center;align-items:center;background-color:#00000080}.container{max-width:500px;max-height:600px;width:100%;height:100%;background-color:#fff;position:relative;animation:fadeIn .3s ease-out}.frame{max-width:500px;max-height:600px;width:100%;height:100%;border:none}.cancel-button{position:absolute;background:transparent;border:none;font-size:1rem;color:#fff;cursor:pointer;top:-1.5rem;padding:0;right:0}",ya=r=>{const e=document.createElement("template");e.innerHTML=`
11
11
  <style>
12
- ${pa}
12
+ ${ma}
13
13
  </style>
14
14
  <div class="overlay">
15
15
  <div class="container">
@@ -17,9 +17,9 @@ ${r.message}`),r.message)}else return nr(r.message);if(typeof r=="object")try{re
17
17
  <iframe src="${r}" class="frame" id="three-ds-iframe" title="3D Secure verification" allow="payment"></iframe>
18
18
  </div>
19
19
  </div>
20
- `;const t=document.createElement("div"),n=t.attachShadow({mode:"open"});n.appendChild(e.content.cloneNode(!0));const s=n.querySelector("#three-ds-iframe"),o=n.querySelector(".cancel-button");return document.body.appendChild(t),{host:t,iframe:s,cancelButton:o}};function ha(r,e,t){const n=async()=>{try{const o=await Bi(r,t);o&&(clearInterval(s),e(o))}catch{}};n();const s=setInterval(n,cn);return s}function ma({elements:r,pollingInterval:e,resolve:t}){const n=()=>{clearInterval(e),r.host.remove(),t({status:re.CANCELLED})};return r.cancelButton.addEventListener("click",n),()=>{r.cancelButton.removeEventListener("click",n)}}async function Ut(r){const{url:e,baseUrl:t}=r,n=fa(e);return new Promise(s=>{const o=u=>{setTimeout(()=>{n.host.remove()},1e3),s(u),c==null||c()},a=ha(n.iframe,o,new URL(t).origin),c=ma({elements:n,pollingInterval:a,resolve:s})})}const vn=async r=>{const e=await Ut(r);if(e.status===re.CANCELLED)throw new Error("3DS verification cancelled");if(e.status===re.FAILURE)throw new Error("3DS verification failed");return e.status!==re.SUCCESS&&ar(e.status),{href:e.href}},ya=(r,e)=>{const t=window.open(e,"_blank");if(!t)throw new Error(`${r} popup window blocked. Please allow popups for this site.`);return t},_a=async(r,e,t,n)=>{const{err__:s}=$("popup-verify");return new Promise((o,a)=>{const c=ya(r,n),u=setInterval(async()=>{try{const l=await Ui(e,t);if(l.present)clearInterval(u),c.close(),o({href:l.href});else if(c.closed)throw new Error(`${r} payment cancelled`)}catch(l){s(he(l)),clearInterval(u),a(he(l))}},1e3)})},{log__:ga,err__:wn}=$("pockyt-cc"),va=i.object({"op-pockyt-3ds-url":i.string(),"op-pockyt-txn-no":i.string(),"op-pockyt-ref-no":i.string()}),wa=r=>{const e=va.safeParse(r);if(!e.success){const t="Unable to process your credit card. Please contact support for assistance.",n=`Pockyt 3DS is required but headers are malformed. Got: ${JSON.stringify(r)}`;throw wn(n),new Error(t)}return e.data},bn=r=>{try{const e=new URL(r??"").searchParams.get("vaultId");if(!e)throw new Error("No vault ID found in 3DS verification result");return ga(`3DS verification success. [Vault ID: ${e}]`),e}catch(e){const t="Error verifying 3DS verification result.";throw wn(t,`Resulting URL: ${r}.
21
- Error: ${he(e)}`),new Error(t)}},ba=r=>(r==null?void 0:r["op-pockyt-3ds-url"])!==void 0,ka=async(r,e)=>{const t=wa(e),n=await vn({url:t["op-pockyt-3ds-url"],baseUrl:r});return{existing_cc:{vault_id:bn(n.href??""),transaction_no:t["op-pockyt-txn-no"],reference_no:t["op-pockyt-ref-no"]}}},{log__:Ea,err__:fr}=$("airwallex-cc"),Sa=i.object({"op-airwallex-3ds-url":i.string(),"op-airwallex-initial-intent-id":i.string(),"op-airwallex-consent-id":i.string()}),Ca=r=>{const e=Sa.safeParse(r);if(!e.success){const t="Unable to process your credit card. Please contact support for assistance.",n=`Airwallex 3DS is required but headers are malformed. Got: ${JSON.stringify(r)}`;throw fr(n),new Error(t)}return e.data},xa=r=>(r==null?void 0:r["op-airwallex-3ds-url"])!==void 0,Pa=r=>{try{const e=new URL(r??"").searchParams.get("payment_intent_id");if(!e)throw new Error("No intent ID found in Airwallex 3DS verification result");return Ea(`Airwallex 3DS verification success. [Intent ID: ${e}]`),e}catch(e){const t="Error verifying Airwallex 3DS verification result.";throw fr(t,`Resulting URL: ${r}.
22
- Error: ${he(e)}`),new Error(t)}},Aa=async(r,e)=>{const t=Ca(e),n=await vn({url:t["op-airwallex-3ds-url"],baseUrl:r}),s=Pa(n.href??""),o=t["op-airwallex-initial-intent-id"];if(o!==s){const c="Unable to process your credit card. Please contact support for assistance.",u=`Intent ID from callback (${s}) does not match the initial intent ID (${o}).`;throw fr(u),new Error(c)}return{existing_cc:{initial_intent_id:s,consent_id:t["op-airwallex-consent-id"]}}},{log__:j,err__:kn}=$("common-cc"),{log__:En}=$("stripe-cc");i.array(i.object({our_existing_pm_id:i.string()})).length(1);const Ta=Ge(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s})=>{var l;j("├ Running common CC flow...",{checkoutPaymentMethod:e});const o=r.anyCdeConnection,a=await Se(o);j(`├ Validating non-CDE form fields [Mode: ${a.mode}]`);const c=We(t,n.get.onValidationError),u={session_id:r.elementsSessionId,checkout_payment_method:e,non_cde_form_fields:c,extra_metadata:{}};try{j(`├ Tokenizing card info in CDE [Session: ${r.elementsSessionId}]`);const d=await Vi(s.currentCdeConnections,{session_id:r.elementsSessionId});if(sa(d,n.get.onValidationError),a.mode==="setup"){j(`├ Setting up payment method in CDE [Token: ${a.token}]`);const m=await zi(o,u);return j(`╰ Setup completed successfully [PM ID: ${m.payment_method_id}]`),{mode:"setup",result:m}}else{j(`├ Initial checkout flow. Checking out card info in CDE [Session: ${r.elementsSessionId}]`);const m=await an(o,u);return j("╰ Checkout completed successfully."),{mode:"checkout",result:m}}}catch(d){if(d instanceof on&&d.originalErrorMessage.includes("3DS_REQUIRED")){j("├ Card requires 3DS, starting non-legacy payment flow"),j("Received 3DS error response headers:",d.response.headers);const m=ba(d.response.headers);if(m){j("├ Pockyt 3DS case detected. Going through Pockyt 3DS flow.");const T=await ka(r.baseUrl,d.response.headers);u.extra_metadata.pockyt=T}const w=xa(d.response.headers);if(w){j("├ Airwallex 3DS case detected. Going through Airwallex 3DS flow.");const T=await Aa(r.baseUrl,d.response.headers);u.extra_metadata.airwallex=T}const h=await Fi(o,u);j("├ Payment flow result:",h);const g=m||w,E=((l=d.response.headers)==null?void 0:l["op-should-use-new-flow"])!=="true";g?j("├ Pre-start 3DS is successful, other 3DS flows will be skipped."):E?(j("├ Using stripe 3DS flow"),await Na(h)):(j("├ Using common 3DS flow"),await Ra(h,r.baseUrl));const P=h.cc_pm_id;if(a.mode==="setup"){j(`├ Confirming payment flow [cc_pm_id: ${P}]`);const T=await Ce(o,{secure_token:a.token,existing_cc_pm_id:P});j("├ Confirm payment flow result received Result:",T);const A=pr(T);return j(`╰ Setup completed successfully [PM ID: ${A.payment_method_id}]`),{mode:"setup",result:A}}else{j(`├ Checking out after 3DS flow [Flow: ${E?"legacy":"new"}]`);const T=await an(o,{...u,existing_cc_pm_id:P,do_not_use_legacy_cc_flow:E});return j("╰ Checkout completed successfully."),{mode:"checkout",result:T}}}throw kn("╰ Error checking out card info in CDE"),kn(d),d}}),Ia=r=>{const e=r.required_user_actions.find(t=>t.type==="stripe_3ds");if(!e)throw new Error("No stripe 3DS action found");return Ao.parse(e)},Oa=r=>{const e=r.required_user_actions.find(t=>t.type==="airwallex_payment_consent");if(!e)throw new Error("No common 3DS action found");return So.parse(e)},Ra=async(r,e)=>{const t=Oa(r);j(`├ Using common 3DS flow [URL: ${t.redirect_url}]`);const{status:n}=await Ut({url:t.redirect_url,baseUrl:e});if(j(`╰ 3DS verification completed [Status: ${n}]`),n===re.CANCELLED)throw new Error("3DS verification cancelled");if(n===re.FAILURE)throw new Error("3DS verification failed")},Na=async r=>{const e=Ia(r);En(`├ Using stripe 3DS flow [Client Secret: ${e.client_secret.substring(0,8)}...]`),await Do(e),En("╰ Stripe 3DS flow completed successfully")},{log__:G,err__:Ma}=$("stripe-pr"),ja=i.object({provider:i.union([i.literal("apple_pay"),i.literal("google_pay")]),processor_name:i.literal("stripe"),metadata:i.object({stripe_pk:i.string()})}),Da=$t(async({context:r})=>{G("Checking if there are any CPMs for Stripe PR...");const e=Ye(r.checkoutPaymentMethods,ja);G("Initializing Stripe PR flow...");const t=r.anyCdeConnection,n=await Se(t),s=n.mode==="setup";G("Getting initial preview amount");const o=await Mt(t,n.token,s,void 0),a=await Ro(e.metadata.stripe_pk,o.amountAtom,o.currency,s);G("Checking if can make payment");const c=await a.canMakePayment();return c===null?(Ma("canMakePayment returned null"),{isAvailable:!1,reason:"canMakePayment returned null"}):(G("Stripe PR flow initialized successfully. Can make payment",c),{isAvailable:!0,pr:a,availableProviders:{applePay:c.applePay,googlePay:c.googlePay}})}),La=Ge(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s,initResult:o})=>{if(G("Running Stripe PR flow..."),s.provider!==e.provider)throw new Error(`Provider mismatch. Expected ${s.provider}, got ${e.provider}`);const a=r.anyCdeConnection,c=o.pr;if(s!=null&&s.overridePaymentRequest){const g=s.overridePaymentRequest;G("Overriding PR amount with",g),$a(c,g.amount,g.pending,g.stripeApplePay)}G("Showing PR dialog..."),c.show();const u=await Mo(c);G("Stripe PM added event:",u),G("Merging PM fields with form fields...");const l=Fa(t,u),d=We(l,n.get.onValidationError);G("PR dialog finished. Starting payment flow...",d);const m=await $i(a,{fields:d,checkoutPaymentMethod:e}),w=Ua(m);G("Confirming PR with Stripe..."),await jo(w,u);const h=await Se(a);if(h.mode==="setup"){G("Confirming payment flow for setup...");const g=await Ce(a,{secure_token:h.token});return{mode:"setup",result:pr(g)}}else{G("Performing checkout...");const g={secure_token:h.token,payment_input:{provider_type:e.provider},customer_first_name:d[f.FIRST_NAME],customer_last_name:d[f.LAST_NAME],customer_email:d[f.EMAIL],customer_zip_code:d[f.ZIP_CODE],customer_country:d[f.COUNTRY],promotion_code:d[f.PROMOTION_CODE],line_items:h.line_items,total_amount_atom:h.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await jt(a,g)}}}),Fa=(r,e)=>{var u,l,d,m;const t={...r},[n,...s]=((l=(u=e.payerName)==null?void 0:u.trim())==null?void 0:l.split(/\s+/))??[],o=s.join(" ")||void 0,a=(m=(d=e.paymentMethod)==null?void 0:d.billing_details)==null?void 0:m.address,c=e.shippingAddress;return t[f.FIRST_NAME]=t[f.FIRST_NAME]||n||"_OP_UNKNOWN",t[f.LAST_NAME]=t[f.LAST_NAME]||o||"_OP_UNKNOWN",t[f.EMAIL]=t[f.EMAIL]||e.payerEmail||"op_unfilled@getopenpay.com",t[f.ZIP_CODE]=t[f.ZIP_CODE]||(a==null?void 0:a.postal_code)||(c==null?void 0:c.postalCode)||"00000",t[f.COUNTRY]=t[f.COUNTRY]||(a==null?void 0:a.country)||(c==null?void 0:c.country)||"US",G("Final form inputs:",t),t},$a=(r,e,t,n)=>{r.update({total:{amount:e.amountAtom,label:"Total",pending:t},currency:e.currency,applePay:n})},Ua=r=>{if(r.required_user_actions.length!==1)throw new Error(`Error occurred.
23
- Details: got ${r.required_user_actions.length} required user actions`);return To.parse(r.required_user_actions[0])},{log__:me,err__:Sn}=$("pockyt-paypal"),Za=i.object({processor_name:i.literal("pockyt"),provider:i.literal("paypal")}),Va=i.array(i.object({paypal_iframe_url:i.string(),verify_token:i.string()})).length(1),za=Ge(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s})=>{me("Running Pockyt Paypal flow...");const o=r.anyCdeConnection,a=await Se(o);me("Verifying CPM...");const c=Za.parse(e);me("├ Validating non-CDE form fields");const u=s==null?void 0:s.settings,l=We(t,n.get.onValidationError,u==null?void 0:u.defaultFieldValues),d=na(l);me(`Starting payment flow... Mode: ${a.mode}`);const m=a.mode!=="setup",w=await Nt(o,{payment_provider:c.provider,checkout_payment_method:c,use_pay_first_flow:m,pay_first_flow_cart_info:m?{line_items:a.line_items,displayed_total_amount_atom:a.amount_total_atom}:void 0,...d});if(me("Start payment flow response",w),!w.checkout_attempt_id)throw Sn("Checkout attempt ID not found in response:",w),new Error("An error occurred during checkout, please try again with another payment method.");const h=Va.parse(w.required_user_actions)[0];me("Opening paypal iframe...");const g=await _a("PayPal",o,h.verify_token,h.paypal_iframe_url);me("Paypal flow result",g);const E=bn(g.href);me(`Confirming payment flow using vault ID ${E}`);const P=await Ce(o,{secure_token:a.token,their_pm_id:E,checkout_attempt_id:m?w.checkout_attempt_id:void 0});if(me("Confirm payment flow result",P),a.mode==="setup")return{mode:"setup",result:{payment_method_id:P.payment_methods[0].id}};if(!P.pay_first_success_response)throw Sn("Checkout failed, no pay-first success response:",P),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:P.pay_first_success_response}}),hr=({gateway:r,gatewayMerchantId:e,merchantName:t,merchantId:n,initialPreview:s,overridePaymentRequest:o})=>{var l;const a=o!=null&&o.amount?Math.max(o.amount.amountAtom/100,0):Math.max((s==null?void 0:s.amountAtom)??0,0),c=(((l=o==null?void 0:o.amount)==null?void 0:l.currency)??(s==null?void 0:s.currency)??"USD").toUpperCase(),u={apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[{type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],billingAddressRequired:!0,billingAddressParameters:{format:"FULL"},allowCreditCards:!0,allowPrepaidCards:!0},tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:r,gatewayMerchantId:e}}}],emailRequired:!0,merchantInfo:{merchantId:n??"",merchantName:t},transactionInfo:{countryCode:"US",currencyCode:c,totalPriceStatus:o!=null&&o.pending?"ESTIMATED":"FINAL",totalPrice:a.toFixed(2)}};return o!=null&&o.googlePayPaymentRequest?{...u,...o.googlePayPaymentRequest}:u},Ba=()=>new Promise((r,e)=>{const t=document.createElement("script");t.src="https://pay.google.com/gp/p/js/pay.js",t.async=!0,t.onload=()=>r(),t.onerror=()=>e(new Error("Failed to load Google Pay SDK")),document.body.appendChild(t)}),qa=r=>{const e=r.required_user_actions.find(t=>t.type==="airwallex_payment_consent");return e?zr.parse(e):null},Ga=(r,e)=>{var s,o,a,c;const t={...r},n=(o=(s=e.paymentMethodData)==null?void 0:s.info)==null?void 0:o.billingAddress;if(n){const[u,...l]=((c=(a=n.name)==null?void 0:a.trim())==null?void 0:c.split(/\s+/))??[],d=l.join(" ")||void 0;t[f.EMAIL]=t[f.EMAIL]||e.email||"op_unfilled@getopenpay.com",t[f.COUNTRY]=t[f.COUNTRY]||n.countryCode||"US",t[f.ADDRESS]=t[f.ADDRESS]||n.address1||"",t[f.CITY]=t[f.CITY]||n.locality||"",t[f.ZIP_CODE]=t[f.ZIP_CODE]||n.postalCode||"00000",t[f.STATE]=t[f.STATE]||n.administrativeArea||"",t[f.FIRST_NAME]=t[f.FIRST_NAME]||u||"_OP_UNKNOWN",t[f.LAST_NAME]=t[f.LAST_NAME]||d||"_OP_UNKNOWN"}return t},{log__:J,err__:vt}=$("gpay");let mr=null;const Cn=r=>{const e=r===je?"PRODUCTION":"TEST";return mr===null&&(mr=new window.google.payments.api.PaymentsClient({environment:e,merchantInfo:hr({gateway:"airwallex",gatewayMerchantId:"",merchantName:""}).merchantInfo})),mr},xn=i.object({provider:i.literal("google_pay"),processor_name:i.literal("airwallex"),metadata:i.object({processor_account_id:i.string(),processor_account_name:i.string(),google_pay_merchant_id:i.string().nullish()})}),Ya=$t(async({context:r,formCallbacks:e})=>{var o,a;const t=Ye(r.checkoutPaymentMethods,xn);if(!t)return{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};J("Google Pay CPM",t);const n=t.metadata;if(!n.processor_account_id)return vt("No gateway merchant ID found in processor account"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};if(J("Loading Google Pay SDK..."),await Ba(),!((a=(o=window.google)==null?void 0:o.payments)!=null&&a.api))return vt("Google Pay SDK not loaded properly"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};J("Google Pay SDK loaded",window.google.payments);try{const{result:c}=await Cn(r.baseUrl).isReadyToPay(hr({gateway:"airwallex",gatewayMerchantId:n.processor_account_id,merchantName:n.processor_account_name,merchantId:n.google_pay_merchant_id??"",initialPreview:void 0}));if(!c)return J("Google Pay is not available for this user"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}}}catch(c){return vt("Error checking Google Pay availability",c),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}}}return{isAvailable:!0,isLoading:!1,startFlow:async c=>{try{ne.airwallexGooglePay.run({context:r,checkoutPaymentMethod:t,nonCdeFormInputs:ze(r.formDiv),formCallbacks:e,initResult:void 0,customParams:c??{}})}catch(u){vt("Google Pay payment error",u),e.get.onCheckoutError((u==null?void 0:u.message)??"Unknown error")}}}}),Wa=Ge(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s})=>{var m,w,h,g,E,P,T;J("Starting Google Pay flow...");const o=Ye(r.checkoutPaymentMethods,xn),a=Cn(r.baseUrl),c=r.anyCdeConnection,u=await Se(c),l=o.metadata;if(!l.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const d=hr({gateway:"airwallex",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:"",initialPreview:await Mt(c,u.token,u.mode==="setup",void 0),overridePaymentRequest:s==null?void 0:s.overridePaymentRequest});try{const A=await a.loadPaymentData(d);J("Google Pay Payment data",A);const I=Ga(t,A),D=We(I,n.get.onValidationError),L=(w=(m=A.paymentMethodData)==null?void 0:m.tokenizationData)==null?void 0:w.token;if(!L)throw new Error("No payment token received from Google Pay");const V=await Nt(c,{payment_provider:e.provider,checkout_payment_method:e,new_customer_email:D[f.EMAIL],new_customer_first_name:D[f.FIRST_NAME],new_customer_last_name:D[f.LAST_NAME],new_customer_address:{postal_code:D[f.ZIP_CODE],country_code:D[f.COUNTRY]}}),Ae=qa(V);J("Start flow next actions",Ae);const xr=await Ce(c,{secure_token:u.token,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:Ae==null?void 0:Ae.consent_id,airwallex_payment_method_data:{type:"googlepay",googlepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:L}}}});J("[1st] Confirm payment flow response",xr);let bt=(g=(h=xr.payment_methods)==null?void 0:h[0])==null?void 0:g.id;const Me=(E=xr.required_user_actions)==null?void 0:E.find(de=>de.type==="airwallex_payment_consent");if(Me&&Me.redirect_url){J("3DS Required, starting verification...",Me);const{status:de}=await Ut({url:Me.redirect_url,baseUrl:r.baseUrl});if(J(`╰ 3DS verification completed [Status: ${de}]`),de===re.CANCELLED)throw new Error("3DS verification cancelled");if(de===re.FAILURE)throw new Error("3DS verification failed")}if(Me&&!bt){const de=await Ce(c,{secure_token:u.token,their_pm_id:Me.their_pm_id,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:Me.consent_id}});J("[2nd] Confirm payment flow response",de),bt=(T=(P=de.payment_methods)==null?void 0:P[0])==null?void 0:T.id}if(!bt)throw new Error("No PM ID found");if(u.mode==="setup")return{mode:"setup",result:{payment_method_id:bt}};{J("Starting one-time payment flow...");const de={secure_token:u.token,payment_input:{provider_type:e.provider},do_not_use_legacy_cc_flow:!0,use_confirmed_pm_id:bt,line_items:u.line_items,total_amount_atom:u.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e,customer_email:D[f.EMAIL],customer_zip_code:D[f.ZIP_CODE],customer_country:D[f.COUNTRY],promotion_code:D[f.PROMOTION_CODE],customer_first_name:D[f.FIRST_NAME],customer_last_name:D[f.LAST_NAME]};return{mode:"checkout",result:await jt(c,de)}}}catch(A){throw vt("Google Pay payment error",A),new Error((A==null?void 0:A.message)??"Unknown error")}}),Ha=()=>new Promise((r,e)=>{const t=document.createElement("script");t.src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js",t.crossOrigin="anonymous",t.async=!0,t.onload=()=>r(),t.onerror=()=>e(new Error("Failed to load Apple Pay SDK")),document.body.appendChild(t)}),Ka=(r,e)=>{var n;const t={...r};return e&&(t[f.EMAIL]=t[f.EMAIL]||e.emailAddress||"op_unfilled@getopenpay.com",t[f.COUNTRY]=t[f.COUNTRY]||e.countryCode||"US",t[f.ADDRESS]=t[f.ADDRESS]||((n=e.addressLines)==null?void 0:n[0])||"",t[f.CITY]=t[f.CITY]||e.locality||"",t[f.ZIP_CODE]=t[f.ZIP_CODE]||e.postalCode||"00000",t[f.STATE]=t[f.STATE]||e.administrativeArea||"",t[f.FIRST_NAME]=t[f.FIRST_NAME]||e.givenName||"_OP_UNKNOWN",t[f.LAST_NAME]=t[f.LAST_NAME]||e.familyName||"_OP_UNKNOWN"),t},{log__:Zt}=$("applepay-session");async function Ja(r,e){try{const n=(await Nt(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:e.nonCdeFormInputs[f.EMAIL],new_customer_first_name:e.nonCdeFormInputs[f.FIRST_NAME],new_customer_last_name:e.nonCdeFormInputs[f.LAST_NAME],processor_specific_metadata:{airwallex_payment_session:{validation_url:r.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).required_user_actions[0],s=n.payment_session,o=n.consent_id;if(!s)throw new Error("No session data received from payment flow");if(!o)throw new Error("No consent ID received from payment flow");return e.session.completeMerchantValidation(s),o}catch(t){throw e.session.abort(),t}}async function Xa(r,e){var s,o;if(!r.redirect_url)throw new Error("No redirect URL found");Zt("3DS Required, starting verification...",r);const{status:t}=await Ut({url:r.redirect_url,baseUrl:e.baseUrl});if(Zt(`╰ 3DS verification completed [Status: ${t}]`),t===re.CANCELLED)throw new Error("3DS verification cancelled");if(t===re.FAILURE)throw new Error("3DS verification failed");const n=await Ce(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{their_pm_id:r.their_pm_id,airwallex_consent_id:r.consent_id,payment_provider:e.checkoutPaymentMethod.provider}});return Zt("[2nd] Confirm payment flow response",n),(o=(s=n.payment_methods)==null?void 0:s[0])==null?void 0:o.id}async function Qa(r,e,t){return{mode:"checkout",result:await jt(t.connection,{secure_token:t.prefill.token,payment_input:{provider_type:t.checkoutPaymentMethod.provider},do_not_use_legacy_cc_flow:!0,use_confirmed_pm_id:r,line_items:t.prefill.line_items,total_amount_atom:t.prefill.amount_total_atom,cancel_at_end:!1,checkout_payment_method:t.checkoutPaymentMethod,customer_email:e[f.EMAIL],customer_zip_code:e[f.ZIP_CODE],customer_country:e[f.COUNTRY],promotion_code:e[f.PROMOTION_CODE]})}}async function ec(r,e,t){var n,s,o;try{const a=r.payment,c=Ka(e.nonCdeFormInputs,a.billingContact),u=We(c,e.formCallbacks.get.onValidationError),l=await Ce(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,airwallex_consent_id:t,airwallex_payment_method_data:{type:"applepay",applepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:JSON.stringify(a.token)}}}});Zt("[1st] Confirm payment flow response",l);let d=(s=(n=l.payment_methods)==null?void 0:n[0])==null?void 0:s.id;const m=(o=l.required_user_actions)==null?void 0:o.find(h=>h.type==="airwallex_payment_consent");if(m!=null&&m.redirect_url&&m.consent_id&&m.their_pm_id&&(d=await Xa(m,e)),!d)throw new Error("No PM ID found");const w={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(w),e.isSetupMode?{mode:"setup",result:{payment_method_id:d}}:await Qa(d,u,e)}catch(a){const c={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(c),a}}const{log__:H,err__:yr}=$("applepay"),Pn=i.object({provider:i.literal("apple_pay"),processor_name:i.literal("airwallex"),metadata:i.object({processor_account_id:i.string(),processor_account_name:i.string()})}),tc=$t(async({context:r,formCallbacks:e})=>{const t=Ye(r.checkoutPaymentMethods,Pn);if(!t)return{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};H("Loading Apple Pay SDK...");try{await Ha(),H("Apple Pay SDK loaded successfully")}catch(d){return yr("Failed to load Apple Pay SDK",d),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}}}if(!window.ApplePaySession||!ApplePaySession.canMakePayments())return H("Apple Pay is not available on this device/browser"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};if(H("Apple Pay Loaded"),!await ApplePaySession.canMakePayments())return H("No active cards available for Apple Pay"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};const s=r.anyCdeConnection,o=await Se(s),a=o.mode==="setup",c=await Mt(s,o.token,a,void 0),u=t.metadata;if(H("processorAccount",u),!u.processor_account_id)throw new Error("No gateway merchant ID found in processor account");return{isAvailable:!0,isLoading:!1,startFlow:async d=>{var m;try{await ne.airwallexApplePay.run({context:r,checkoutPaymentMethod:t,nonCdeFormInputs:ze(r.formDiv),formCallbacks:e,customParams:{isSetupMode:a,prefill:o,initialPreview:((m=d==null?void 0:d.overridePaymentRequest)==null?void 0:m.amount)??c,overridePaymentRequest:d==null?void 0:d.overridePaymentRequest},initResult:void 0})}catch(w){yr("Apple Pay payment error",w),e.get.onCheckoutError((w==null?void 0:w.message)??"Unknown error")}}}}),rc=Ge(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,customParams:n,formCallbacks:s})=>{var T,A;const o=Ye(r.checkoutPaymentMethods,Pn),{initialPreview:a,isSetupMode:c,prefill:u,overridePaymentRequest:l}=n,d=(((T=l==null?void 0:l.amount)==null?void 0:T.currency)??a.currency??"USD").toUpperCase(),m=(A=l==null?void 0:l.amount)!=null&&A.amountAtom?(l.amount.amountAtom/100).toFixed(2):Math.max(a.amountAtom/100,0).toFixed(2),w={label:(l==null?void 0:l.label)??(c?"Setup Payment":"Payment Total"),type:l!=null&&l.pending?"pending":"final",amount:m},h={countryCode:"US",currencyCode:d,supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit","supportsEMV"],total:w,...(l==null?void 0:l.applePayPaymentRequest)??{}};H("Payment Request",h);const g=new ApplePaySession(3,h);H("ApplePaySession",g);const E={session:g,connection:r.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:t,processorAccount:o.metadata,prefill:u,isSetupMode:c,baseUrl:r.baseUrl,formCallbacks:s};let P;return new Promise((I,D)=>{g.oncancel=()=>{H("Payment cancelled by user"),D(new Error("Payment cancelled by user"))},g.onvalidatemerchant=async L=>{try{P=await Ja(L,E)}catch(V){D(V)}},g.onshippingmethodselected=L=>{H("Shipping method selected",L.shippingMethod)},g.onshippingmethodselected=L=>{H("Shipping method selected",L.shippingMethod);const V={};g.completeShippingMethodSelection(V)},g.onshippingcontactselected=L=>{H("Shipping contact selected",L.shippingContact);const V={};g.completeShippingContactSelection(V)},g.onpaymentmethodselected=L=>{H("Payment method selected",L.paymentMethod);const V={newTotal:{...w}};g.completePaymentMethodSelection(V)},g.onpaymentauthorized=async L=>{try{const V=await ec(L,E,P);I(V)}catch(V){D(V)}},g.begin()}).catch(I=>{throw yr("Apple Pay payment error",I),I})}),_r=(r,e,t)=>{const n=r.filter(s=>{const o=t===void 0?!0:s.processor_name===t,a=s.provider===e;return o&&a});if(n.length===0)throw console.error("CPMs list",r),new Error(`No CPMs found with provider '${e}' and processor '${t}'`);if(n.length!==1)throw console.error("CPMs list",r),new Error(`More than one CPM found with provider '${e}' and processor '${t}'`);return n[0]},ne={commonCC:{init:async()=>{},run:Ta},stripePR:{init:Da,run:La},stripeLink:{init:ca,run:la},pockytPaypal:{run:za},airwallexGooglePay:{init:Ya,run:Wa},airwallexApplePay:{init:tc,run:rc}};var gr=function(r,e){return gr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])},gr(r,e)};function xe(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");gr(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function nc(r,e,t,n){function s(o){return o instanceof t?o:new t(function(a){a(o)})}return new(t||(t=Promise))(function(o,a){function c(d){try{l(n.next(d))}catch(m){a(m)}}function u(d){try{l(n.throw(d))}catch(m){a(m)}}function l(d){d.done?o(d.value):s(d.value).then(c,u)}l((n=n.apply(r,e||[])).next())})}function An(r,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,s,o,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(l){return function(d){return u([l,d])}}function u(l){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(t=0)),t;)try{if(n=1,s&&(o=l[0]&2?s.return:l[0]?s.throw||((o=s.return)&&o.call(s),0):s.next)&&!(o=o.call(s,l[1])).done)return o;switch(s=0,o&&(l=[l[0]&2,o.value]),l[0]){case 0:case 1:o=l;break;case 4:return t.label++,{value:l[1],done:!1};case 5:t.label++,s=l[1],l=[0];continue;case 7:l=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!o||l[1]>o[0]&&l[1]<o[3])){t.label=l[1];break}if(l[0]===6&&t.label<o[1]){t.label=o[1],o=l;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(l);break}o[2]&&t.ops.pop(),t.trys.pop();continue}l=e.call(r,t)}catch(d){l=[6,d],s=0}finally{n=o=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function He(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Vt(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),s,o=[],a;try{for(;(e===void 0||e-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(c){a={error:c}}finally{try{s&&!s.done&&(t=n.return)&&t.call(n)}finally{if(a)throw a.error}}return o}function zt(r,e,t){if(t||arguments.length===2)for(var n=0,s=e.length,o;n<s;n++)(o||!(n in e))&&(o||(o=Array.prototype.slice.call(e,0,n)),o[n]=e[n]);return r.concat(o||Array.prototype.slice.call(e))}function Ke(r){return this instanceof Ke?(this.v=r,this):new Ke(r)}function sc(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),s,o=[];return s=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),c("next"),c("throw"),c("return",a),s[Symbol.asyncIterator]=function(){return this},s;function a(h){return function(g){return Promise.resolve(g).then(h,m)}}function c(h,g){n[h]&&(s[h]=function(E){return new Promise(function(P,T){o.push([h,E,P,T])>1||u(h,E)})},g&&(s[h]=g(s[h])))}function u(h,g){try{l(n[h](g))}catch(E){w(o[0][3],E)}}function l(h){h.value instanceof Ke?Promise.resolve(h.value.v).then(d,m):w(o[0][2],h)}function d(h){u("next",h)}function m(h){u("throw",h)}function w(h,g){h(g),o.shift(),o.length&&u(o[0][0],o[0][1])}}function oc(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof He=="function"?He(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(o){t[o]=r[o]&&function(a){return new Promise(function(c,u){a=r[o](a),s(c,u,a.done,a.value)})}}function s(o,a,c,u){Promise.resolve(u).then(function(l){o({value:l,done:c})},a)}}typeof SuppressedError=="function"&&SuppressedError;function Z(r){return typeof r=="function"}function Bt(r){var e=function(n){Error.call(n),n.stack=new Error().stack},t=r(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var vr=Bt(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
20
+ `;const t=document.createElement("div"),n=t.attachShadow({mode:"open"});n.appendChild(e.content.cloneNode(!0));const s=n.querySelector("#three-ds-iframe"),o=n.querySelector(".cancel-button");return document.body.appendChild(t),{host:t,iframe:s,cancelButton:o}};function _a(r,e,t){const n=async()=>{try{const o=await Gi(r,t);o&&(clearInterval(s),e(o))}catch{}};n();const s=setInterval(n,an);return s}function ga({elements:r,pollingInterval:e,resolve:t}){const n=()=>{clearInterval(e),r.host.remove(),t({status:ee.CANCELLED})};return r.cancelButton.addEventListener("click",n),()=>{r.cancelButton.removeEventListener("click",n)}}async function Vt(r){const{url:e,baseUrl:t}=r,n=ya(e);return new Promise(s=>{const o=u=>{setTimeout(()=>{n.host.remove()},1e3),s(u),c==null||c()},a=_a(n.iframe,o,new URL(t).origin),c=ga({elements:n,pollingInterval:a,resolve:s})})}const gn=async r=>{const e=await Vt(r);if(e.status===ee.CANCELLED)throw new Error("3DS verification cancelled");if(e.status===ee.FAILURE)throw new Error("3DS verification failed");return e.status!==ee.SUCCESS&&cr(e.status),{href:e.href}},va=(r,e)=>{const t=window.open(e,"_blank");if(!t)throw new Error(`${r} popup window blocked. Please allow popups for this site.`);return t},wa=async(r,e,t,n)=>{const{err__:s}=F("popup-verify");return new Promise((o,a)=>{const c=va(r,n),u=setInterval(async()=>{try{const l=await Vi(e,t);if(l.present)clearInterval(u),c.close(),o({href:l.href});else if(c.closed)throw new Error(`${r} payment cancelled`)}catch(l){s(he(l)),clearInterval(u),a(he(l))}},1e3)})},{log__:ba,err__:vn}=F("pockyt-cc"),ka=i.object({"op-pockyt-3ds-url":i.string(),"op-pockyt-txn-no":i.string(),"op-pockyt-ref-no":i.string()}),Ea=r=>{const e=ka.safeParse(r);if(!e.success){const t="Unable to process your credit card. Please contact support for assistance.",n=`Pockyt 3DS is required but headers are malformed. Got: ${JSON.stringify(r)}`;throw vn(n),new Error(t)}return e.data},wn=r=>{try{const e=new URL(r??"").searchParams.get("vaultId");if(!e)throw new Error("No vault ID found in 3DS verification result");return ba(`3DS verification success. [Vault ID: ${e}]`),e}catch(e){const t="Error verifying 3DS verification result.";throw vn(t,`Resulting URL: ${r}.
21
+ Error: ${he(e)}`),new Error(t)}},Sa=r=>(r==null?void 0:r["op-pockyt-3ds-url"])!==void 0,Ca=async(r,e)=>{const t=Ea(e),n=await gn({url:t["op-pockyt-3ds-url"],baseUrl:r});return{existing_cc:{vault_id:wn(n.href??""),transaction_no:t["op-pockyt-txn-no"],reference_no:t["op-pockyt-ref-no"]}}},{log__:xa,err__:hr}=F("airwallex-cc"),Aa=i.object({"op-airwallex-3ds-url":i.string(),"op-airwallex-initial-intent-id":i.string(),"op-airwallex-consent-id":i.string()}),Pa=r=>{const e=Aa.safeParse(r);if(!e.success){const t="Unable to process your credit card. Please contact support for assistance.",n=`Airwallex 3DS is required but headers are malformed. Got: ${JSON.stringify(r)}`;throw hr(n),new Error(t)}return e.data},Ta=r=>(r==null?void 0:r["op-airwallex-3ds-url"])!==void 0,Ia=r=>{try{const e=new URL(r??"").searchParams.get("payment_intent_id");if(!e)throw new Error("No intent ID found in Airwallex 3DS verification result");return xa(`Airwallex 3DS verification success. [Intent ID: ${e}]`),e}catch(e){const t="Error verifying Airwallex 3DS verification result.";throw hr(t,`Resulting URL: ${r}.
22
+ Error: ${he(e)}`),new Error(t)}},Oa=async(r,e)=>{const t=Pa(e),n=await gn({url:t["op-airwallex-3ds-url"],baseUrl:r}),s=Ia(n.href??""),o=t["op-airwallex-initial-intent-id"];if(o!==s){const c="Unable to process your credit card. Please contact support for assistance.",u=`Intent ID from callback (${s}) does not match the initial intent ID (${o}).`;throw hr(u),new Error(c)}return{existing_cc:{initial_intent_id:s,consent_id:t["op-airwallex-consent-id"]}}},{log__:D,err__:bn}=F("common-cc"),{log__:kn}=F("stripe-cc");i.array(i.object({our_existing_pm_id:i.string()})).length(1);const Ra=He(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s})=>{var l;D("├ Running common CC flow...",{checkoutPaymentMethod:e});const o=r.anyCdeConnection,a=await Ae(o);D(`├ Validating non-CDE form fields [Mode: ${a.mode}]`);const c=Je(t,n.get.onValidationError),u={session_id:r.elementsSessionId,checkout_payment_method:e,non_cde_form_fields:c,extra_metadata:{}};try{D(`├ Tokenizing card info in CDE [Session: ${r.elementsSessionId}]`);const d=await Bi(s.currentCdeConnections,{session_id:r.elementsSessionId});if(aa(d,n.get.onValidationError),a.mode==="setup"){D(`├ Setting up payment method in CDE [Token: ${a.token}]`);const h=await qi(o,u);return D(`╰ Setup completed successfully [PM ID: ${h.payment_method_id}]`),{mode:"setup",result:h}}else{D(`├ Initial checkout flow. Checking out card info in CDE [Session: ${r.elementsSessionId}]`);const h=await on(o,u);return D("╰ Checkout completed successfully."),{mode:"checkout",result:h}}}catch(d){if(d instanceof sn&&d.originalErrorMessage.includes("3DS_REQUIRED")){D("├ Card requires 3DS, starting non-legacy payment flow"),D("Received 3DS error response headers:",d.response.headers);const h=Sa(d.response.headers);if(h){D("├ Pockyt 3DS case detected. Going through Pockyt 3DS flow.");const I=await Ca(r.baseUrl,d.response.headers);u.extra_metadata.pockyt=I}const w=Ta(d.response.headers);if(w){D("├ Airwallex 3DS case detected. Going through Airwallex 3DS flow.");const I=await Oa(r.baseUrl,d.response.headers);u.extra_metadata.airwallex=I}const m=await $i(o,u);D("├ Payment flow result:",m);const v=h||w,b=((l=d.response.headers)==null?void 0:l["op-should-use-new-flow"])!=="true";v?D("├ Pre-start 3DS is successful, other 3DS flows will be skipped."):b?(D("├ Using stripe 3DS flow"),await Da(m)):(D("├ Using common 3DS flow"),await ja(m,r.baseUrl));const P=m.cc_pm_id;if(a.mode==="setup"){D(`├ Confirming payment flow [cc_pm_id: ${P}]`);const I=await Pe(o,{secure_token:a.token,existing_cc_pm_id:P});D("├ Confirm payment flow result received Result:",I);const T=pr(I);return D(`╰ Setup completed successfully [PM ID: ${T.payment_method_id}]`),{mode:"setup",result:T}}else{D(`├ Checking out after 3DS flow [Flow: ${b?"legacy":"new"}]`);const I=await on(o,{...u,existing_cc_pm_id:P,do_not_use_legacy_cc_flow:b});return D("╰ Checkout completed successfully."),{mode:"checkout",result:I}}}throw bn("╰ Error checking out card info in CDE"),bn(d),d}}),Na=r=>{const e=r.required_user_actions.find(t=>t.type==="stripe_3ds");if(!e)throw new Error("No stripe 3DS action found");return To.parse(e)},Ma=r=>{const e=r.required_user_actions.find(t=>t.type==="airwallex_payment_consent");if(!e)throw new Error("No common 3DS action found");return Co.parse(e)},ja=async(r,e)=>{const t=Ma(r);D(`├ Using common 3DS flow [URL: ${t.redirect_url}]`);const{status:n}=await Vt({url:t.redirect_url,baseUrl:e});if(D(`╰ 3DS verification completed [Status: ${n}]`),n===ee.CANCELLED)throw new Error("3DS verification cancelled");if(n===ee.FAILURE)throw new Error("3DS verification failed")},Da=async r=>{const e=Na(r);kn(`├ Using stripe 3DS flow [Client Secret: ${e.client_secret.substring(0,8)}...]`),await Lo(e),kn("╰ Stripe 3DS flow completed successfully")},{log__:B,err__:La}=F("stripe-pr"),Fa=i.object({provider:i.union([i.literal("apple_pay"),i.literal("google_pay")]),processor_name:i.literal("stripe"),metadata:i.object({stripe_pk:i.string()})}),Ua=Zt(async({context:r})=>{B("Checking if there are any CPMs for Stripe PR...");const e=Ke(r.checkoutPaymentMethods,Fa);B("Initializing Stripe PR flow...");const t=r.anyCdeConnection,n=await Ae(t),s=n.mode==="setup";B("Getting initial preview amount");const o=await Dt(t,n.token,s,void 0),a=await No(e.metadata.stripe_pk,o.amountAtom,o.currency,s);B("Checking if can make payment");const c=await a.canMakePayment();return c===null?(La("canMakePayment returned null"),{isAvailable:!1,reason:"canMakePayment returned null"}):(B("Stripe PR flow initialized successfully. Can make payment",c),{isAvailable:!0,pr:a,availableProviders:{applePay:c.applePay,googlePay:c.googlePay}})}),$a=He(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s,initResult:o})=>{if(B("Running Stripe PR flow..."),s.provider!==e.provider)throw new Error(`Provider mismatch. Expected ${s.provider}, got ${e.provider}`);const a=r.anyCdeConnection,c=o.pr;if(s!=null&&s.overridePaymentRequest){const v=s.overridePaymentRequest;B("Overriding PR amount with",v),Va(c,v.amount,v.pending,v.stripeApplePay)}B("Showing PR dialog..."),c.show();const u=await jo(c);B("Stripe PM added event:",u),B("Merging PM fields with form fields...");const l=Za(t,u),d=Je(l,n.get.onValidationError);B("PR dialog finished. Starting payment flow...",d);const h=await Zi(a,{fields:d,checkoutPaymentMethod:e}),w=za(h);B("Confirming PR with Stripe..."),await Do(w,u);const m=await Ae(a);if(m.mode==="setup"){B("Confirming payment flow for setup...");const v=await Pe(a,{secure_token:m.token});return{mode:"setup",result:pr(v)}}else{B("Performing checkout...");const v={secure_token:m.token,payment_input:{provider_type:e.provider},customer_first_name:d[p.FIRST_NAME],customer_last_name:d[p.LAST_NAME],customer_email:d[p.EMAIL],customer_zip_code:d[p.ZIP_CODE],customer_country:d[p.COUNTRY],promotion_code:d[p.PROMOTION_CODE],line_items:m.line_items,total_amount_atom:m.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await Lt(a,v)}}}),Za=(r,e)=>{var u,l,d,h;const t={...r},[n,...s]=((l=(u=e.payerName)==null?void 0:u.trim())==null?void 0:l.split(/\s+/))??[],o=s.join(" ")||void 0,a=(h=(d=e.paymentMethod)==null?void 0:d.billing_details)==null?void 0:h.address,c=e.shippingAddress;return t[p.FIRST_NAME]=t[p.FIRST_NAME]||n||"_OP_UNKNOWN",t[p.LAST_NAME]=t[p.LAST_NAME]||o||"_OP_UNKNOWN",t[p.EMAIL]=t[p.EMAIL]||e.payerEmail||"op_unfilled@getopenpay.com",t[p.ZIP_CODE]=t[p.ZIP_CODE]||(a==null?void 0:a.postal_code)||(c==null?void 0:c.postalCode)||"00000",t[p.COUNTRY]=t[p.COUNTRY]||(a==null?void 0:a.country)||(c==null?void 0:c.country)||"US",B("Final form inputs:",t),t},Va=(r,e,t,n)=>{r.update({total:{amount:e.amountAtom,label:"Total",pending:t},currency:e.currency,applePay:n})},za=r=>{if(r.required_user_actions.length!==1)throw new Error(`Error occurred.
23
+ Details: got ${r.required_user_actions.length} required user actions`);return Io.parse(r.required_user_actions[0])},{log__:me,err__:En}=F("pockyt-paypal"),Ba=i.object({processor_name:i.literal("pockyt"),provider:i.literal("paypal")}),qa=i.array(i.object({paypal_iframe_url:i.string(),verify_token:i.string()})).length(1),Ga=He(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s})=>{me("Running Pockyt Paypal flow...");const o=r.anyCdeConnection,a=await Ae(o);me("Verifying CPM...");const c=Ba.parse(e);me("├ Validating non-CDE form fields");const u=s==null?void 0:s.settings,l=Je(t,n.get.onValidationError,u==null?void 0:u.defaultFieldValues),d=ia(l);me(`Starting payment flow... Mode: ${a.mode}`);const h=a.mode!=="setup",w=await jt(o,{payment_provider:c.provider,checkout_payment_method:c,use_pay_first_flow:h,pay_first_flow_cart_info:h?{line_items:a.line_items,displayed_total_amount_atom:a.amount_total_atom}:void 0,...d});if(me("Start payment flow response",w),!w.checkout_attempt_id)throw En("Checkout attempt ID not found in response:",w),new Error("An error occurred during checkout, please try again with another payment method.");const m=qa.parse(w.required_user_actions)[0];me("Opening paypal iframe...");const v=await wa("PayPal",o,m.verify_token,m.paypal_iframe_url);me("Paypal flow result",v);const b=wn(v.href);me(`Confirming payment flow using vault ID ${b}`);const P=await Pe(o,{secure_token:a.token,their_pm_id:b,checkout_attempt_id:h?w.checkout_attempt_id:void 0});if(me("Confirm payment flow result",P),a.mode==="setup")return{mode:"setup",result:{payment_method_id:P.payment_methods[0].id}};if(!P.pay_first_success_response)throw En("Checkout failed, no pay-first success response:",P),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:P.pay_first_success_response}}),Sn=({gateway:r,gatewayMerchantId:e,merchantName:t,merchantId:n,initialPreview:s,overridePaymentRequest:o})=>{var d,h;const a=((d=o==null?void 0:o.amount)==null?void 0:d.amountAtom)??(s==null?void 0:s.amountAtom)??0,c=Math.max(a/100,0),u=(((h=o==null?void 0:o.amount)==null?void 0:h.currency)??(s==null?void 0:s.currency)??"USD").toUpperCase(),l={apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[{type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],billingAddressRequired:!0,billingAddressParameters:{format:"FULL"},allowCreditCards:!0,allowPrepaidCards:!0},tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:r,gatewayMerchantId:e}}}],emailRequired:!0,merchantInfo:{merchantId:n??"",merchantName:t},transactionInfo:{countryCode:"US",currencyCode:u,totalPriceStatus:o!=null&&o.pending?"ESTIMATED":"FINAL",totalPrice:c.toFixed(2)}};return o!=null&&o.googlePayPaymentRequest?{...l,...o.googlePayPaymentRequest}:l},Ya=()=>new Promise((r,e)=>{const t=document.createElement("script");t.src="https://pay.google.com/gp/p/js/pay.js",t.async=!0,t.onload=()=>r(),t.onerror=()=>e(new Error("Failed to load Google Pay SDK")),document.body.appendChild(t)}),Wa=r=>{const e=r.required_user_actions.find(t=>t.type==="airwallex_payment_consent");return e?Vr.parse(e):null},Ha=(r,e)=>{var s,o,a,c;const t={...r},n=(o=(s=e.paymentMethodData)==null?void 0:s.info)==null?void 0:o.billingAddress;if(n){const[u,...l]=((c=(a=n.name)==null?void 0:a.trim())==null?void 0:c.split(/\s+/))??[],d=l.join(" ")||void 0;t[p.EMAIL]=t[p.EMAIL]||e.email||"op_unfilled@getopenpay.com",t[p.COUNTRY]=t[p.COUNTRY]||n.countryCode||"US",t[p.ADDRESS]=t[p.ADDRESS]||n.address1||"",t[p.CITY]=t[p.CITY]||n.locality||"",t[p.ZIP_CODE]=t[p.ZIP_CODE]||n.postalCode||"00000",t[p.STATE]=t[p.STATE]||n.administrativeArea||"",t[p.FIRST_NAME]=t[p.FIRST_NAME]||u||"_OP_UNKNOWN",t[p.LAST_NAME]=t[p.LAST_NAME]||d||"_OP_UNKNOWN"}return t},{log__:H,err__:Qe}=F("awx-google-pay");let mr=null;const Cn=r=>r===Fe||r===window.location.origin?"PRODUCTION":"TEST",xn=(r,e)=>{const t=Cn(r);return mr===null&&(mr=new window.google.payments.api.PaymentsClient({environment:t,merchantInfo:e.merchantInfo})),mr},An=i.object({provider:i.literal("google_pay"),processor_name:i.literal("airwallex"),metadata:i.object({processor_account_id:i.string(),processor_account_name:i.string(),google_pay_merchant_id:i.string().nullish()})}),Ka=Zt(async({context:r,formCallbacks:e})=>{var a,c;const t=Ke(r.checkoutPaymentMethods,An);if(!t)return{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};H("Google Pay CPM",t);const n=t.metadata;if(!n.processor_account_id)return Qe("No gateway merchant ID found in processor account"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};if(H("Loading Google Pay SDK..."),await Ya(),!((c=(a=window.google)==null?void 0:a.payments)!=null&&c.api))return Qe("Google Pay SDK not loaded properly"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};if(Cn(r.baseUrl)==="PRODUCTION"&&!n.google_pay_merchant_id)return Qe("Google Pay merchant ID is required for production environment"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};H("Google Pay SDK loaded",window.google.payments);try{const u=Sn({gateway:"airwallex",gatewayMerchantId:n.processor_account_id,merchantName:n.processor_account_name,merchantId:n.google_pay_merchant_id??"",initialPreview:void 0}),{result:l}=await xn(r.baseUrl,u).isReadyToPay(u);if(!l)return H("Google Pay is not available for this user"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}}}catch(u){return Qe("Error checking Google Pay availability",u),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}}}return{isAvailable:!0,isLoading:!1,startFlow:async u=>{try{te.airwallexGooglePay.run({context:r,checkoutPaymentMethod:t,nonCdeFormInputs:Ge(r.formDiv),formCallbacks:e,initResult:void 0,customParams:u??{}})}catch(l){Qe("Google Pay payment error",l),e.get.onCheckoutError((l==null?void 0:l.message)??"Unknown error")}}}}),Ja=He(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s})=>{var h,w,m,v,b,P,I;H("Starting Google Pay flow...");const o=Ke(r.checkoutPaymentMethods,An),a=r.anyCdeConnection,c=await Ae(a),u=o.metadata;if(!u.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const l=Sn({gateway:"airwallex",gatewayMerchantId:u.processor_account_id,merchantName:u.processor_account_name,merchantId:u.google_pay_merchant_id??"",initialPreview:await Dt(a,c.token,c.mode==="setup",void 0),overridePaymentRequest:s==null?void 0:s.overridePaymentRequest}),d=xn(r.baseUrl,l);try{const T=await d.loadPaymentData(l);H("Google Pay Payment data",T);const N=Ha(t,T),M=Je(N,n.get.onValidationError,s==null?void 0:s.defaultFieldValues),W=(w=(h=T.paymentMethodData)==null?void 0:h.tokenizationData)==null?void 0:w.token;if(!W)throw new Error("No payment token received from Google Pay");const Ie=await jt(a,{payment_provider:e.provider,checkout_payment_method:e,new_customer_email:M[p.EMAIL],new_customer_first_name:M[p.FIRST_NAME],new_customer_last_name:M[p.LAST_NAME],new_customer_address:{postal_code:M[p.ZIP_CODE],country_code:M[p.COUNTRY]}}),ue=Wa(Ie);H("Start flow next actions",ue);const we=await Pe(a,{secure_token:c.token,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:ue==null?void 0:ue.consent_id,airwallex_payment_method_data:{type:"googlepay",googlepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:W}}}});H("[1st] Confirm payment flow response",we);let ne=(v=(m=we.payment_methods)==null?void 0:m[0])==null?void 0:v.id;const Le=(b=we.required_user_actions)==null?void 0:b.find(de=>de.type==="airwallex_payment_consent");if(Le&&Le.redirect_url){H("3DS Required, starting verification...",Le);const{status:de}=await Vt({url:Le.redirect_url,baseUrl:r.baseUrl});if(H(`╰ 3DS verification completed [Status: ${de}]`),de===ee.CANCELLED)throw new Error("3DS verification cancelled");if(de===ee.FAILURE)throw new Error("3DS verification failed")}if(Le&&!ne){const de=await Pe(a,{secure_token:c.token,their_pm_id:Le.their_pm_id,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:Le.consent_id}});H("[2nd] Confirm payment flow response",de),ne=(I=(P=de.payment_methods)==null?void 0:P[0])==null?void 0:I.id}if(!ne)throw new Error("No PM ID found");if(c.mode==="setup")return{mode:"setup",result:{payment_method_id:ne}};{H("Starting one-time payment flow...");const de={secure_token:c.token,payment_input:{provider_type:e.provider},do_not_use_legacy_cc_flow:!0,use_confirmed_pm_id:ne,line_items:c.line_items,total_amount_atom:c.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e,customer_email:M[p.EMAIL],customer_zip_code:M[p.ZIP_CODE],customer_country:M[p.COUNTRY],promotion_code:M[p.PROMOTION_CODE],customer_first_name:M[p.FIRST_NAME],customer_last_name:M[p.LAST_NAME]};return{mode:"checkout",result:await Lt(a,de)}}}catch(T){throw Qe("Google Pay payment error",T),new Error((T==null?void 0:T.message)??"Unknown error")}}),Qa=()=>new Promise((r,e)=>{const t=document.createElement("script");t.src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js",t.crossOrigin="anonymous",t.async=!0,t.onload=()=>r(),t.onerror=()=>e(new Error("Failed to load Apple Pay SDK")),document.body.appendChild(t)}),Xa=(r,e)=>{const t=e.token.paymentMethod.billingContact,n=e.billingContact,s=e.shippingContact,o={...r};return(t||n||s)&&(o[p.EMAIL]=o[p.EMAIL]||(t==null?void 0:t.emailAddress)||(n==null?void 0:n.emailAddress)||(s==null?void 0:s.emailAddress)||"op_unfilled@email.com",o[p.COUNTRY]=o[p.COUNTRY]||(t==null?void 0:t.countryCode)||(n==null?void 0:n.countryCode)||(s==null?void 0:s.countryCode)||"US",o[p.ZIP_CODE]=o[p.ZIP_CODE]||(t==null?void 0:t.postalCode)||(n==null?void 0:n.postalCode)||(s==null?void 0:s.postalCode)||"00000",o[p.FIRST_NAME]=o[p.FIRST_NAME]||(t==null?void 0:t.givenName)||(n==null?void 0:n.givenName)||(s==null?void 0:s.givenName)||"_OP_UNKNOWN",o[p.LAST_NAME]=o[p.LAST_NAME]||(t==null?void 0:t.familyName)||(n==null?void 0:n.familyName)||(s==null?void 0:s.familyName)||"_OP_UNKNOWN"),o},ec=i.object({data:i.object({messageHeaders:i.record(i.string(),i.any()),errors:i.array(i.any()),messageType:i.string(),messageBody:i.record(i.string(),i.any())}),origin:i.literal("https://applepay.cdn-apple.com")}),tc=r=>ec.safeParse(r).data,rc=r=>{const e=new AbortController;return window.addEventListener("message",t=>{var s;const n=tc(t);((s=n==null?void 0:n.data)==null?void 0:s.messageType)==="windowclosing"&&(r(),e.abort())},{signal:e.signal}),{cleanupCancelListener:()=>e.abort()}},{log__:zt}=F("awx-apple-pay");async function nc(r,e){try{const n=(await jt(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:e.nonCdeFormInputs[p.EMAIL],new_customer_first_name:e.nonCdeFormInputs[p.FIRST_NAME],new_customer_last_name:e.nonCdeFormInputs[p.LAST_NAME],processor_specific_metadata:{airwallex_payment_session:{validation_url:r.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).required_user_actions[0],s=n.payment_session,o=n.consent_id;if(!s)throw new Error("No session data received from payment flow");if(!o)throw new Error("No consent ID received from payment flow");return e.session.completeMerchantValidation(s),o}catch(t){throw e.session.abort(),t}}async function sc(r,e){var s,o;if(!r.redirect_url)throw new Error("No redirect URL found");zt("3DS Required, starting verification...",r);const{status:t}=await Vt({url:r.redirect_url,baseUrl:e.baseUrl});if(zt(`╰ 3DS verification completed [Status: ${t}]`),t===ee.CANCELLED)throw new Error("3DS verification cancelled");if(t===ee.FAILURE)throw new Error("3DS verification failed");const n=await Pe(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{their_pm_id:r.their_pm_id,airwallex_consent_id:r.consent_id,payment_provider:e.checkoutPaymentMethod.provider}});return zt("[2nd] Confirm payment flow response",n),(o=(s=n.payment_methods)==null?void 0:s[0])==null?void 0:o.id}async function oc(r,e,t){return{mode:"checkout",result:await Lt(t.connection,{secure_token:t.prefill.token,payment_input:{provider_type:t.checkoutPaymentMethod.provider},do_not_use_legacy_cc_flow:!0,use_confirmed_pm_id:r,line_items:t.prefill.line_items,total_amount_atom:t.prefill.amount_total_atom,cancel_at_end:!1,checkout_payment_method:t.checkoutPaymentMethod,customer_email:e[p.EMAIL],customer_zip_code:e[p.ZIP_CODE],customer_country:e[p.COUNTRY],promotion_code:e[p.PROMOTION_CODE]})}}async function ic(r,e,t){var n,s,o;try{const a=r.payment,c=Xa(e.nonCdeFormInputs,a),u=Je(c,e.formCallbacks.get.onValidationError,e.defaultFieldValues);await Yi(e.connection,{email:u[p.EMAIL],first_name:u[p.FIRST_NAME],last_name:u[p.LAST_NAME],zip_code:u[p.ZIP_CODE],country:u[p.COUNTRY],update_processor_customer:!0});const l=await Pe(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,airwallex_consent_id:t,airwallex_payment_method_data:{type:"applepay",applepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:JSON.stringify(a.token)}}}});zt("[1st] Confirm payment flow response",l);let d=(s=(n=l.payment_methods)==null?void 0:n[0])==null?void 0:s.id;const h=(o=l.required_user_actions)==null?void 0:o.find(m=>m.type==="airwallex_payment_consent");if(h!=null&&h.redirect_url&&h.consent_id&&h.their_pm_id&&(d=await sc(h,e)),!d)throw new Error("No PM ID found");const w={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(w),e.isSetupMode?{mode:"setup",result:{payment_method_id:d}}:await oc(d,u,e)}catch(a){const c={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(c),a}}const{log__:ye,err__:yr}=F("awx-apple-pay"),Pn=i.object({provider:i.literal("apple_pay"),processor_name:i.literal("airwallex"),metadata:i.object({processor_account_id:i.string(),processor_account_name:i.string()})}),ac=Zt(async({context:r,formCallbacks:e})=>{const t=Ke(r.checkoutPaymentMethods,Pn);if(!t)return{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};ye("Loading Apple Pay SDK...");try{await Qa(),ye("Apple Pay SDK loaded successfully")}catch(d){return yr("Failed to load Apple Pay SDK",d),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}}}if(!window.ApplePaySession||!ApplePaySession.canMakePayments())return ye("Apple Pay is not available on this device/browser"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};if(ye("Apple Pay Loaded"),!await ApplePaySession.canMakePayments())return ye("No active cards available for Apple Pay"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};const s=r.anyCdeConnection,o=await Ae(s),a=o.mode==="setup",c=await Dt(s,o.token,a,void 0),u=t.metadata;if(ye("processorAccount",u),!u.processor_account_id)throw new Error("No gateway merchant ID found in processor account");return{isAvailable:!0,isLoading:!1,startFlow:async d=>{var h;try{await te.airwallexApplePay.run({context:r,checkoutPaymentMethod:t,nonCdeFormInputs:Ge(r.formDiv),formCallbacks:e,customParams:{isSetupMode:a,prefill:o,initialPreview:((h=d==null?void 0:d.overridePaymentRequest)==null?void 0:h.amount)??c,overridePaymentRequest:d==null?void 0:d.overridePaymentRequest},initResult:void 0})}catch(w){yr("Apple Pay payment error",w),e.get.onCheckoutError((w==null?void 0:w.message)??"Unknown error")}}}}),cc=He(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,customParams:n,formCallbacks:s})=>{var T,N;const o=Ke(r.checkoutPaymentMethods,Pn),{initialPreview:a,isSetupMode:c,prefill:u,overridePaymentRequest:l}=n,d=(((T=l==null?void 0:l.amount)==null?void 0:T.currency)??a.currency??"USD").toUpperCase(),w=((((N=l==null?void 0:l.amount)==null?void 0:N.amountAtom)??a.amountAtom??0)/100).toFixed(2),m={label:(l==null?void 0:l.label)??"Total",type:l!=null&&l.pending?"pending":"final",amount:w},v={countryCode:"US",currencyCode:d,requiredBillingContactFields:["email","postalAddress","name"],requiredShippingContactFields:["email"],supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit","supportsEMV"],total:m,...(l==null?void 0:l.applePayPaymentRequest)??{}};ye("Payment Request",v);const b=new ApplePaySession(3,v);ye("ApplePaySession",b);const P={session:b,connection:r.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:t,processorAccount:o.metadata,prefill:u,isSetupMode:c,baseUrl:r.baseUrl,formCallbacks:s,defaultFieldValues:n==null?void 0:n.defaultFieldValues};let I;return new Promise((M,W)=>{const Ie=()=>{ye("Payment cancelled by user"),W(new Error("Payment cancelled by user"))},{cleanupCancelListener:ue}=rc(Ie);b.oncancel=Ie,b.onvalidatemerchant=async we=>{try{I=await nc(we,P)}catch(ne){W(ne)}},b.onpaymentmethodselected=()=>{const we={newTotal:{...m}};b.completePaymentMethodSelection(we)},b.onpaymentauthorized=async we=>{try{const ne=await ic(we,P,I);ue(),M(ne)}catch(ne){W(ne)}},b.begin()}).catch(M=>{throw yr("Apple Pay payment error",M),M})}),_r=(r,e,t)=>{const n=r.filter(s=>{const o=t===void 0?!0:s.processor_name===t,a=s.provider===e;return o&&a});if(n.length===0)throw console.error("CPMs list",r),new Error(`No CPMs found with provider '${e}' and processor '${t}'`);if(n.length!==1)throw console.error("CPMs list",r),new Error(`More than one CPM found with provider '${e}' and processor '${t}'`);return n[0]},te={commonCC:{init:async()=>{},run:Ra},stripePR:{init:Ua,run:$a},stripeLink:{init:da,run:fa},pockytPaypal:{run:Ga},airwallexGooglePay:{init:Ka,run:Ja},airwallexApplePay:{init:ac,run:cc}};var gr=function(r,e){return gr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])},gr(r,e)};function Te(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");gr(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function lc(r,e,t,n){function s(o){return o instanceof t?o:new t(function(a){a(o)})}return new(t||(t=Promise))(function(o,a){function c(d){try{l(n.next(d))}catch(h){a(h)}}function u(d){try{l(n.throw(d))}catch(h){a(h)}}function l(d){d.done?o(d.value):s(d.value).then(c,u)}l((n=n.apply(r,e||[])).next())})}function Tn(r,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,s,o,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(l){return function(d){return u([l,d])}}function u(l){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(t=0)),t;)try{if(n=1,s&&(o=l[0]&2?s.return:l[0]?s.throw||((o=s.return)&&o.call(s),0):s.next)&&!(o=o.call(s,l[1])).done)return o;switch(s=0,o&&(l=[l[0]&2,o.value]),l[0]){case 0:case 1:o=l;break;case 4:return t.label++,{value:l[1],done:!1};case 5:t.label++,s=l[1],l=[0];continue;case 7:l=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!o||l[1]>o[0]&&l[1]<o[3])){t.label=l[1];break}if(l[0]===6&&t.label<o[1]){t.label=o[1],o=l;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(l);break}o[2]&&t.ops.pop(),t.trys.pop();continue}l=e.call(r,t)}catch(d){l=[6,d],s=0}finally{n=o=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function Xe(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Bt(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),s,o=[],a;try{for(;(e===void 0||e-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(c){a={error:c}}finally{try{s&&!s.done&&(t=n.return)&&t.call(n)}finally{if(a)throw a.error}}return o}function qt(r,e,t){if(t||arguments.length===2)for(var n=0,s=e.length,o;n<s;n++)(o||!(n in e))&&(o||(o=Array.prototype.slice.call(e,0,n)),o[n]=e[n]);return r.concat(o||Array.prototype.slice.call(e))}function et(r){return this instanceof et?(this.v=r,this):new et(r)}function uc(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),s,o=[];return s=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),c("next"),c("throw"),c("return",a),s[Symbol.asyncIterator]=function(){return this},s;function a(m){return function(v){return Promise.resolve(v).then(m,h)}}function c(m,v){n[m]&&(s[m]=function(b){return new Promise(function(P,I){o.push([m,b,P,I])>1||u(m,b)})},v&&(s[m]=v(s[m])))}function u(m,v){try{l(n[m](v))}catch(b){w(o[0][3],b)}}function l(m){m.value instanceof et?Promise.resolve(m.value.v).then(d,h):w(o[0][2],m)}function d(m){u("next",m)}function h(m){u("throw",m)}function w(m,v){m(v),o.shift(),o.length&&u(o[0][0],o[0][1])}}function dc(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof Xe=="function"?Xe(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(o){t[o]=r[o]&&function(a){return new Promise(function(c,u){a=r[o](a),s(c,u,a.done,a.value)})}}function s(o,a,c,u){Promise.resolve(u).then(function(l){o({value:l,done:c})},a)}}typeof SuppressedError=="function"&&SuppressedError;function $(r){return typeof r=="function"}function Gt(r){var e=function(n){Error.call(n),n.stack=new Error().stack},t=r(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var vr=Gt(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
24
24
  `+t.map(function(n,s){return s+1+") "+n.toString()}).join(`
25
- `):"",this.name="UnsubscriptionError",this.errors=t}});function qt(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1)}}var wt=function(){function r(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return r.prototype.unsubscribe=function(){var e,t,n,s,o;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var c=He(a),u=c.next();!u.done;u=c.next()){var l=u.value;l.remove(this)}}catch(E){e={error:E}}finally{try{u&&!u.done&&(t=c.return)&&t.call(c)}finally{if(e)throw e.error}}else a.remove(this);var d=this.initialTeardown;if(Z(d))try{d()}catch(E){o=E instanceof vr?E.errors:[E]}var m=this._finalizers;if(m){this._finalizers=null;try{for(var w=He(m),h=w.next();!h.done;h=w.next()){var g=h.value;try{On(g)}catch(E){o=o??[],E instanceof vr?o=zt(zt([],Vt(o)),Vt(E.errors)):o.push(E)}}}catch(E){n={error:E}}finally{try{h&&!h.done&&(s=w.return)&&s.call(w)}finally{if(n)throw n.error}}}if(o)throw new vr(o)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)On(e);else{if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},r.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},r.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},r.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&qt(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&qt(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=function(){var e=new r;return e.closed=!0,e}(),r}(),Tn=wt.EMPTY;function In(r){return r instanceof wt||r&&"closed"in r&&Z(r.remove)&&Z(r.add)&&Z(r.unsubscribe)}function On(r){Z(r)?r():r.unsubscribe()}var Rn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Nn={setTimeout:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setTimeout.apply(void 0,zt([r,e],Vt(t)))},clearTimeout:function(r){var e=Nn.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(r)},delegate:void 0};function Mn(r){Nn.setTimeout(function(){throw r})}function jn(){}function Gt(r){r()}var wr=function(r){xe(e,r);function e(t){var n=r.call(this)||this;return n.isStopped=!1,t?(n.destination=t,In(t)&&t.add(n)):n.destination=lc,n}return e.create=function(t,n,s){return new kr(t,n,s)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,r.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(wt),ic=Function.prototype.bind;function br(r,e){return ic.call(r,e)}var ac=function(){function r(e){this.partialObserver=e}return r.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(n){Yt(n)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(n){Yt(n)}else Yt(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){Yt(t)}},r}(),kr=function(r){xe(e,r);function e(t,n,s){var o=r.call(this)||this,a;if(Z(t)||!t)a={next:t??void 0,error:n??void 0,complete:s??void 0};else{var c;o&&Rn.useDeprecatedNextContext?(c=Object.create(t),c.unsubscribe=function(){return o.unsubscribe()},a={next:t.next&&br(t.next,c),error:t.error&&br(t.error,c),complete:t.complete&&br(t.complete,c)}):a=t}return o.destination=new ac(a),o}return e}(wr);function Yt(r){Mn(r)}function cc(r){throw r}var lc={closed:!0,next:jn,error:cc,complete:jn},Er=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function uc(r){return r}function dc(r){return r.length===0?uc:r.length===1?r[0]:function(t){return r.reduce(function(n,s){return s(n)},t)}}var ye=function(){function r(e){e&&(this._subscribe=e)}return r.prototype.lift=function(e){var t=new r;return t.source=this,t.operator=e,t},r.prototype.subscribe=function(e,t,n){var s=this,o=fc(e)?e:new kr(e,t,n);return Gt(function(){var a=s,c=a.operator,u=a.source;o.add(c?c.call(o,u):u?s._subscribe(o):s._trySubscribe(o))}),o},r.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},r.prototype.forEach=function(e,t){var n=this;return t=Dn(t),new t(function(s,o){var a=new kr({next:function(c){try{e(c)}catch(u){o(u),a.unsubscribe()}},error:o,complete:s});n.subscribe(a)})},r.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[Er]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return dc(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=Dn(e),new e(function(n,s){var o;t.subscribe(function(a){return o=a},function(a){return s(a)},function(){return n(o)})})},r.create=function(e){return new r(e)},r}();function Dn(r){var e;return(e=r??Rn.Promise)!==null&&e!==void 0?e:Promise}function pc(r){return r&&Z(r.next)&&Z(r.error)&&Z(r.complete)}function fc(r){return r&&r instanceof wr||pc(r)&&In(r)}function hc(r){return Z(r==null?void 0:r.lift)}function mc(r){return function(e){if(hc(e))return e.lift(function(t){try{return r(t,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function yc(r,e,t,n,s){return new _c(r,e,t,n,s)}var _c=function(r){xe(e,r);function e(t,n,s,o,a,c){var u=r.call(this,t)||this;return u.onFinalize=a,u.shouldUnsubscribe=c,u._next=n?function(l){try{n(l)}catch(d){t.error(d)}}:r.prototype._next,u._error=o?function(l){try{o(l)}catch(d){t.error(d)}finally{this.unsubscribe()}}:r.prototype._error,u._complete=s?function(){try{s()}catch(l){t.error(l)}finally{this.unsubscribe()}}:r.prototype._complete,u}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;r.prototype.unsubscribe.call(this),!n&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e}(wr),gc=Bt(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Ln=function(r){xe(e,r);function e(){var t=r.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var n=new Fn(this,this);return n.operator=t,n},e.prototype._throwIfClosed=function(){if(this.closed)throw new gc},e.prototype.next=function(t){var n=this;Gt(function(){var s,o;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var a=He(n.currentObservers),c=a.next();!c.done;c=a.next()){var u=c.value;u.next(t)}}catch(l){s={error:l}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(s)throw s.error}}}})},e.prototype.error=function(t){var n=this;Gt(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=t;for(var s=n.observers;s.length;)s.shift().error(t)}})},e.prototype.complete=function(){var t=this;Gt(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var n=t.observers;n.length;)n.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),r.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var n=this,s=this,o=s.hasError,a=s.isStopped,c=s.observers;return o||a?Tn:(this.currentObservers=null,c.push(t),new wt(function(){n.currentObservers=null,qt(c,t)}))},e.prototype._checkFinalizedStatuses=function(t){var n=this,s=n.hasError,o=n.thrownError,a=n.isStopped;s?t.error(o):a&&t.complete()},e.prototype.asObservable=function(){var t=new ye;return t.source=this,t},e.create=function(t,n){return new Fn(t,n)},e}(ye),Fn=function(r){xe(e,r);function e(t,n){var s=r.call(this)||this;return s.destination=t,s.source=n,s}return e.prototype.next=function(t){var n,s;(s=(n=this.destination)===null||n===void 0?void 0:n.next)===null||s===void 0||s.call(n,t)},e.prototype.error=function(t){var n,s;(s=(n=this.destination)===null||n===void 0?void 0:n.error)===null||s===void 0||s.call(n,t)},e.prototype.complete=function(){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||n===void 0||n.call(t)},e.prototype._subscribe=function(t){var n,s;return(s=(n=this.source)===null||n===void 0?void 0:n.subscribe(t))!==null&&s!==void 0?s:Tn},e}(Ln),vc={now:function(){return Date.now()},delegate:void 0},wc=function(r){xe(e,r);function e(t,n){return r.call(this)||this}return e.prototype.schedule=function(t,n){return this},e}(wt),$n={setInterval:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setInterval.apply(void 0,zt([r,e],Vt(t)))},clearInterval:function(r){return clearInterval(r)},delegate:void 0},bc=function(r){xe(e,r);function e(t,n){var s=r.call(this,t,n)||this;return s.scheduler=t,s.work=n,s.pending=!1,s}return e.prototype.schedule=function(t,n){var s;if(n===void 0&&(n=0),this.closed)return this;this.state=t;var o=this.id,a=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(a,o,n)),this.pending=!0,this.delay=n,this.id=(s=this.id)!==null&&s!==void 0?s:this.requestAsyncId(a,this.id,n),this},e.prototype.requestAsyncId=function(t,n,s){return s===void 0&&(s=0),$n.setInterval(t.flush.bind(t,this),s)},e.prototype.recycleAsyncId=function(t,n,s){if(s===void 0&&(s=0),s!=null&&this.delay===s&&this.pending===!1)return n;n!=null&&$n.clearInterval(n)},e.prototype.execute=function(t,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var s=this._execute(t,n);if(s)return s;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,n){var s=!1,o;try{this.work(t)}catch(a){s=!0,o=a||new Error("Scheduled action threw falsy error")}if(s)return this.unsubscribe(),o},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,n=t.id,s=t.scheduler,o=s.actions;this.work=this.state=this.scheduler=null,this.pending=!1,qt(o,this),n!=null&&(this.id=this.recycleAsyncId(s,n,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e}(wc),Un=function(){function r(e,t){t===void 0&&(t=r.now),this.schedulerActionCtor=e,this.now=t}return r.prototype.schedule=function(e,t,n){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},r.now=vc.now,r}(),kc=function(r){xe(e,r);function e(t,n){n===void 0&&(n=Un.now);var s=r.call(this,t,n)||this;return s.actions=[],s._active=!1,s}return e.prototype.flush=function(t){var n=this.actions;if(this._active){n.push(t);return}var s;this._active=!0;do if(s=t.execute(t.state,t.delay))break;while(t=n.shift());if(this._active=!1,s){for(;t=n.shift();)t.unsubscribe();throw s}},e}(Un),Ec=new kc(bc),Sc=function(r){return r&&typeof r.length=="number"&&typeof r!="function"};function Cc(r){return Z(r==null?void 0:r.then)}function xc(r){return Z(r[Er])}function Pc(r){return Symbol.asyncIterator&&Z(r==null?void 0:r[Symbol.asyncIterator])}function Ac(r){return new TypeError("You provided "+(r!==null&&typeof r=="object"?"an invalid object":"'"+r+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function Tc(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Ic=Tc();function Oc(r){return Z(r==null?void 0:r[Ic])}function Rc(r){return sc(this,arguments,function(){var t,n,s,o;return An(this,function(a){switch(a.label){case 0:t=r.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,Ke(t.read())];case 3:return n=a.sent(),s=n.value,o=n.done,o?[4,Ke(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,Ke(s)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Nc(r){return Z(r==null?void 0:r.getReader)}function Mc(r){if(r instanceof ye)return r;if(r!=null){if(xc(r))return jc(r);if(Sc(r))return Dc(r);if(Cc(r))return Lc(r);if(Pc(r))return Zn(r);if(Oc(r))return Fc(r);if(Nc(r))return $c(r)}throw Ac(r)}function jc(r){return new ye(function(e){var t=r[Er]();if(Z(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Dc(r){return new ye(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function Lc(r){return new ye(function(e){r.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,Mn)})}function Fc(r){return new ye(function(e){var t,n;try{for(var s=He(r),o=s.next();!o.done;o=s.next()){var a=o.value;if(e.next(a),e.closed)return}}catch(c){t={error:c}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}e.complete()})}function Zn(r){return new ye(function(e){Uc(r,e).catch(function(t){return e.error(t)})})}function $c(r){return Zn(Rc(r))}function Uc(r,e){var t,n,s,o;return nc(this,void 0,void 0,function(){var a,c;return An(this,function(u){switch(u.label){case 0:u.trys.push([0,5,6,11]),t=oc(r),u.label=1;case 1:return[4,t.next()];case 2:if(n=u.sent(),!!n.done)return[3,4];if(a=n.value,e.next(a),e.closed)return[2];u.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=u.sent(),s={error:c},[3,11];case 6:return u.trys.push([6,,9,10]),n&&!n.done&&(o=t.return)?[4,o.call(t)]:[3,8];case 7:u.sent(),u.label=8;case 8:return[3,10];case 9:if(s)throw s.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function Zc(r,e,t,n,s){n===void 0&&(n=0),s===void 0&&(s=!1);var o=e.schedule(function(){t(),s?r.add(this.schedule(null,n)):this.unsubscribe()},n);if(r.add(o),!s)return o}function Vc(r,e){var t=Z(r)?r:function(){return r},n=function(s){return s.error(t())};return new ye(n)}var zc=Bt(function(r){return function(){r(this),this.name="EmptyError",this.message="no elements in sequence"}});function Bc(r,e){return new Promise(function(t,n){var s=!1,o;r.subscribe({next:function(a){o=a,s=!0},error:n,complete:function(){s?t(o):n(new zc)}})})}function qc(r){return r instanceof Date&&!isNaN(r)}var Gc=Bt(function(r){return function(t){t===void 0&&(t=null),r(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function Yc(r,e){var t=qc(r)?{first:r}:typeof r=="number"?{each:r}:r,n=t.first,s=t.each,o=t.with,a=o===void 0?Wc:o,c=t.scheduler,u=c===void 0?Ec:c,l=t.meta,d=l===void 0?null:l;if(n==null&&s==null)throw new TypeError("No timeout provided.");return mc(function(m,w){var h,g,E=null,P=0,T=function(A){g=Zc(w,u,function(){try{h.unsubscribe(),Mc(a({meta:d,lastValue:E,seen:P})).subscribe(w)}catch(I){w.error(I)}},A)};h=m.subscribe(yc(w,function(A){g==null||g.unsubscribe(),P++,w.next(E=A),s>0&&T(s)},void 0,void 0,function(){g!=null&&g.closed||g==null||g.unsubscribe(),E=null})),!P&&T(n!=null?typeof n=="number"?n:+n-u.now():s)})}function Wc(r){throw new Gc(r)}class Wt{constructor(){this.set=e=>{if(this._current.status==="success")throw new Error("LoadedOnce is already in success state");this._current={status:"success",isSuccess:!0,loadedValue:e},this._subject.next(e),this._subject.complete()},this.throw=(e,t)=>{if(this._current.status==="success")throw new Error("LoadedOnce is already in success state");this._current={status:"error",isSuccess:!1,error:e,errMsg:t},this._subject.error(e)},this.getValueIfLoadedElse=e=>this._current.status==="success"?this._current.loadedValue:e,this.subscribe=e=>{if(this._current.status==="success"){e(this._current);return}this._current.status==="error"&&e(this._current);const t=this._subject.subscribe({next:()=>{if(this._current.status!=="success")throw new Error("Invalid state (next): please make sure to update _current before the subject");e(this._current),t.unsubscribe()},error:()=>{if(this._current.status!=="error")throw new Error("Invalid state (error): please make sure to update _current before the subject");e(this._current)}})},this.waitForLoad=e=>{if(this._current.status==="success")return Promise.resolve(this._current.loadedValue);if(this._current.status==="error")return Promise.reject(this._current.error);this._current.status!=="initial"&&ar(this._current);const t={first:e.timeoutSec*1e3,with:()=>Vc(()=>new Error(e.timeoutErrMsg))};return Bc(this._subject.pipe(Yc(t)))},this._current={status:"initial",isSuccess:!1},this._subject=new Ln}get current(){return this._current}}const{log__:Hc,err__:Kc}=$("init-flows"),Ht=(r,e)=>{const t=new Wt;return{publisher:t,initialize:async n=>{try{if(t.current.isSuccess)throw new Error("This flow has already been initialized.");const s=await e(n);Hc(`✔ ${r} flow initialized successfully. Result:`,s),t.set(s)}catch(s){Kc(`𝙭 ${r} flow initialization failed. Error:`,he(s),"Details:",s),t.throw(s,he(s))}}}},Jc=async(r,e,t)=>{await Promise.all(Object.values(r).map(n=>n.initialize({context:e,formCallbacks:t})))},Xc=()=>({stripePR:Ht("Stripe PR",ne.stripePR.init),stripeLink:Ht("Stripe Link",ne.stripeLink.init),airwallexGooglePay:Ht("Airwallex GPay",ne.airwallexGooglePay.init),airwallexApplePay:Ht("Airwallex ApplePay",ne.airwallexApplePay.init)}),{err__:Qc}=$("form-callbacks"),se=i.function().optional(),Vn=i.object({onFocus:se,onBlur:se,onChange:se,onLoad:se,onLoadError:se,onValidationError:se,onCheckoutStarted:se,onCheckoutSuccess:se,onSetupPaymentMethodSuccess:se,onCheckoutError:se,onPaymentRequestLoad:se}),ue=class ue{constructor(){this.setCallbacks=e=>{this._callbacks=ue.createEmptyCallbacks(),Object.entries(e).forEach(([t,n])=>{const s=Js(t,n??ue.NOOP,Qc);this._callbacks[t]=s})},this._callbacks=ue.createEmptyCallbacks()}get get(){return{...this._callbacks}}};ue.NOOP=()=>{},ue.createEmptyCallbacks=()=>{const e={};return Object.keys(Vn.keyof().enum).forEach(t=>{e[t]=ue.NOOP}),e},ue.fromObject=e=>{const t=new ue;return t.setCallbacks(Vn.parse(e)),t};let Sr=ue;class el{constructor(e,t,n,s){this.handleMessage=o=>{if(!o.source)throw new Error("No source found");if(zn(o.origin)!==zn(this.baseUrl)||typeof o.data=="object"&&o.data.penpal)return;const a=zo(JSON.parse(o.data));if(!this.validateEvent(a))return;const{elementId:u,payload:l}=a,d=l.type;switch(d){case"LAYOUT":this.internalCallbacks.setFormHeight(l.height?`${l.height}px`:"100%");break;case"FOCUS":this.formCallbacks.get.onFocus(u,l.elementType);break;case"BLUR":this.formCallbacks.get.onBlur(u,l.elementType);break;case"CHANGE":this.formCallbacks.get.onChange(u,l.elementType,l.errors);break;case"LOADED":this.eventTargets[u]=o.source,this.internalCallbacks.onCdeLoaded(l);break;case"LOAD_ERROR":this.internalCallbacks.onCdeLoadError(l.message);break;case"VALIDATION_ERROR":this.formCallbacks.get.onValidationError(l.elementType,l.errors,u);break;default:console.warn("[form] Unhandled event type:",d)}},this.validateEvent=o=>o.formId!==this.formId||!o.elementId?(console.log("[OJS] formId",this.formId,o.formId),console.warn("[form] Ignoring unknown event:",o),!1):this.nonces.has(o.nonce)?(console.warn("[form] Ignoring duplicate event:",o),!1):(this.nonces.add(o.nonce),!0),this.eventTargets={},this.nonces=new Set,this.formId=e,this.baseUrl=t,this.formCallbacks=n,this.internalCallbacks=s}}const zn=r=>new URL(r).origin;async function tl(r,e){const n=await Kr({iframe:r,debug:!1,childOrigin:e}).promise,s=await di(n);if(!pi(n,s))throw new Error("Got invalid CDE connection object");return n}class rl{constructor(){this.connections=new Map}addConnection(e,t){this.connections.set(e,t)}getConnection(){const e=this.connections.values().next().value;if(!e)throw new Error("Connection not found");return e}getAllConnections(){return this.connections}}const nl=(r,e,t)=>{const{stripePR:n}=r;n.publisher.subscribe(s=>{if(s.isSuccess){const o=s.loadedValue,a=o.isAvailable&&o.availableProviders.applePay,c=o.isAvailable&&o.availableProviders.googlePay,u={apple_pay:{isLoading:!1,isAvailable:a,startFlow:async l=>{a&&Bn("apple_pay",o,e,t,l)}},google_pay:{isLoading:!1,isAvailable:c,startFlow:async l=>{c&&Bn("google_pay",o,e,t,l)}}};t.get.onPaymentRequestLoad(u)}})},Bn=(r,e,t,n,s)=>ne.stripePR.run({context:t,checkoutPaymentMethod:_r(t.checkoutPaymentMethods,r),nonCdeFormInputs:ze(t.formDiv),formCallbacks:n,customParams:{provider:r,overridePaymentRequest:s==null?void 0:s.overridePaymentRequest},initResult:e}),qn="The secure form failed to load properly. Please check your internet connection, or try again later.",{log__:Pe,err__:Kt}=$("op-form"),_e=class _e{constructor(e){this.cdeLoadEvent=new Wt,this.anyCdeConn=new Wt,this.context=new Wt,this.initFlows=Xc(),this.startFormInit=async()=>{try{Pe("Initializing OpenPay form:"),Pe("├ Waiting for CDE load event...");const t=await this.cdeLoadEvent.waitForLoad({timeoutSec:120,timeoutErrMsg:qn});Pe("├ CDE load event received"),Pe("├ Waiting for CDE connection...");const n=await this.anyCdeConn.waitForLoad({timeoutSec:120,timeoutErrMsg:qn});Pe("├ CDE connection received"),Pe("├ Creating OJS context, setting up handlers...");const s=_e.buildOjsFlowContext(this.config,t,n,this.getFormDiv());this.context.set(s),nl(this.initFlows,s,this.formCallbacks),Pe("├ Starting OJS init flows..."),await Jc(this.initFlows,s,this.formCallbacks),this.formCallbacks.get.onLoad(t.totalAmountAtoms,t.currency),Pe("╰ Done initializing OJS flows.")}catch(t){const n=he(t);Kt("╰ Error initializing OP form:",n),this.formCallbacks.get.onLoadError(n)}},this.setFormHeight=t=>{this.formProperties.height=t,this.registeredElements&&Object.values(this.registeredElements).forEach(n=>{n&&(n.node.style.height=t)})},this.onCdeLoaded=t=>{this.cdeLoadEvent.current.isSuccess||this.cdeLoadEvent.set(t)},this.onCdeLoadError=t=>{this.cdeLoadEvent.current.isSuccess||this.cdeLoadEvent.throw(new Error(t),t)},this.createElement=(t,n={})=>{if(!this.config)throw new Error("OpenPay form not initialized");const s=Xs.parse(t),o=document.createElement("iframe"),a=this.buildQueryString(n);o.name=`${s}-element`;const c=new URL(`/app/v1/${o.name}/`,this.config.baseUrl);return c.search=a.toString(),o.src=c.href,o.style.border="none",o.style.width="100%",this.registerIframe(s,o)},this.registerIframe=(t,n)=>{const s={type:t,node:n,mount:o=>{var a;return(a=document.querySelector(o))==null?void 0:a.appendChild(n)}};return this.connectToElement({type:s.type,node:s.node}),this.registeredElements||(this.registeredElements={[Ve.CARD]:void 0,[Ve.CARD_NUMBER]:void 0,[Ve.CARD_EXPIRY]:void 0,[Ve.CARD_CVC]:void 0}),this.registeredElements[t]=s,s},this.buildQueryString=t=>{const n=new URLSearchParams;return n.append("referer",this.referrer),n.append("formId",this.formId),t.styles&&n.append("styles",Lo(t.styles)),n.append("secureToken",this.config.checkoutSecureToken),n},this.connectToElement=t=>{tl(t.node).then(n=>{this.connectionManager.addConnection(t.type,n),this.anyCdeConn.current.isSuccess||this.anyCdeConn.set(n)}).catch(n=>Kt("[FORM] Error connecting to CDE iframe",n))},this.getFormDiv=()=>document.querySelector(this.formTarget)??document.body,this.submitCard=()=>{const t=this.context.getValueIfLoadedElse(null);if(!t){Kt("Please wait for the form to finish loading before submitting.");return}ne.commonCC.run({context:t,checkoutPaymentMethod:_r(t.checkoutPaymentMethods,"credit_card"),nonCdeFormInputs:ze(t.formDiv),formCallbacks:this.formCallbacks,customParams:{currentCdeConnections:this.connectionManager.getAllConnections()},initResult:void 0})},this.generalSubmit=(t,n)=>{const s=this.context.getValueIfLoadedElse(null);if(!s){Kt("Please wait for the form to finish loading before submitting.");return}switch(t){case"pockyt-paypal":return ne.pockytPaypal.run({context:s,checkoutPaymentMethod:_r(s.checkoutPaymentMethods,"paypal","pockyt"),nonCdeFormInputs:ze(s.formDiv),formCallbacks:this.formCallbacks,customParams:{settings:n},initResult:void 0});case"airwallex-google-pay":return this.initFlows.airwallexGooglePay.publisher.subscribe(o=>{o.isSuccess&&o.loadedValue.isAvailable&&o.loadedValue.startFlow()});case"airwallex-apple-pay":return this.initFlows.airwallexApplePay.publisher.subscribe(o=>{o.isSuccess&&o.loadedValue.isAvailable&&o.loadedValue.startFlow()});default:ar(t)}},this.submit=this.submitCard,this.destroy=()=>{for(const t of Object.values(this.registeredElements??{}))t&&t.node.remove();window.removeEventListener("message",this.eventHandler.handleMessage.bind(this.eventHandler)),this.registeredElements=null,delete window.ojs},this.updateCallbacks=t=>{this.formCallbacks.setCallbacks(t)},_e.assignAsSingleton(this),this.ojsVersion="0.2.4",this.ojsReleaseVersion="0.2.4",this.baseUrl=e.baseUrl??"https://cde.getopenpay.com",this.config={...e,baseUrl:this.baseUrl},this.formCallbacks=Sr.fromObject(e),this.registeredElements=null,this.formId=`opjs-form-${Vo()}`,this.referrer=window.location.origin,this.formTarget=e.formTarget??"body",this.formProperties={height:"1px"},this.connectionManager=new rl,this.eventHandler=new el(this.formId,this.baseUrl,this.formCallbacks,{setFormHeight:this.setFormHeight,onCdeLoaded:this.onCdeLoaded,onCdeLoadError:this.onCdeLoadError}),window.addEventListener("message",this.eventHandler.handleMessage.bind(this.eventHandler)),this.startFormInit()}get checkoutSecureToken(){return this.config.checkoutSecureToken}};_e.ojsFlows=ne,_e.assignAsSingleton=e=>{if(_e.getInstance())throw new Error("OpenPay instance already exists. Only one instance is allowed.");window.ojs=e},_e.getInstance=()=>window.ojs??null,_e.buildOjsFlowContext=(e,t,n,s)=>({checkoutSecureToken:e.checkoutSecureToken,baseUrl:new URL(e.baseUrl??je).origin,formDiv:s,elementsSessionId:t.sessionId,checkoutPaymentMethods:t.checkoutPaymentMethods,anyCdeConnection:n,customInitParams:e.customInitParams??{}});let Cr=_e;Te.FieldName=f,Te.OpenPayForm=Cr,Object.defineProperty(Te,Symbol.toStringTag,{value:"Module"})});
25
+ `):"",this.name="UnsubscriptionError",this.errors=t}});function Yt(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1)}}var Et=function(){function r(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return r.prototype.unsubscribe=function(){var e,t,n,s,o;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var c=Xe(a),u=c.next();!u.done;u=c.next()){var l=u.value;l.remove(this)}}catch(b){e={error:b}}finally{try{u&&!u.done&&(t=c.return)&&t.call(c)}finally{if(e)throw e.error}}else a.remove(this);var d=this.initialTeardown;if($(d))try{d()}catch(b){o=b instanceof vr?b.errors:[b]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var w=Xe(h),m=w.next();!m.done;m=w.next()){var v=m.value;try{Rn(v)}catch(b){o=o??[],b instanceof vr?o=qt(qt([],Bt(o)),Bt(b.errors)):o.push(b)}}}catch(b){n={error:b}}finally{try{m&&!m.done&&(s=w.return)&&s.call(w)}finally{if(n)throw n.error}}}if(o)throw new vr(o)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)Rn(e);else{if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},r.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},r.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},r.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&Yt(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&Yt(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=function(){var e=new r;return e.closed=!0,e}(),r}(),In=Et.EMPTY;function On(r){return r instanceof Et||r&&"closed"in r&&$(r.remove)&&$(r.add)&&$(r.unsubscribe)}function Rn(r){$(r)?r():r.unsubscribe()}var Nn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Mn={setTimeout:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setTimeout.apply(void 0,qt([r,e],Bt(t)))},clearTimeout:function(r){var e=Mn.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(r)},delegate:void 0};function jn(r){Mn.setTimeout(function(){throw r})}function Dn(){}function Wt(r){r()}var wr=function(r){Te(e,r);function e(t){var n=r.call(this)||this;return n.isStopped=!1,t?(n.destination=t,On(t)&&t.add(n)):n.destination=mc,n}return e.create=function(t,n,s){return new kr(t,n,s)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,r.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Et),fc=Function.prototype.bind;function br(r,e){return fc.call(r,e)}var pc=function(){function r(e){this.partialObserver=e}return r.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(n){Ht(n)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(n){Ht(n)}else Ht(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){Ht(t)}},r}(),kr=function(r){Te(e,r);function e(t,n,s){var o=r.call(this)||this,a;if($(t)||!t)a={next:t??void 0,error:n??void 0,complete:s??void 0};else{var c;o&&Nn.useDeprecatedNextContext?(c=Object.create(t),c.unsubscribe=function(){return o.unsubscribe()},a={next:t.next&&br(t.next,c),error:t.error&&br(t.error,c),complete:t.complete&&br(t.complete,c)}):a=t}return o.destination=new pc(a),o}return e}(wr);function Ht(r){jn(r)}function hc(r){throw r}var mc={closed:!0,next:Dn,error:hc,complete:Dn},Er=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function yc(r){return r}function _c(r){return r.length===0?yc:r.length===1?r[0]:function(t){return r.reduce(function(n,s){return s(n)},t)}}var _e=function(){function r(e){e&&(this._subscribe=e)}return r.prototype.lift=function(e){var t=new r;return t.source=this,t.operator=e,t},r.prototype.subscribe=function(e,t,n){var s=this,o=vc(e)?e:new kr(e,t,n);return Wt(function(){var a=s,c=a.operator,u=a.source;o.add(c?c.call(o,u):u?s._subscribe(o):s._trySubscribe(o))}),o},r.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},r.prototype.forEach=function(e,t){var n=this;return t=Ln(t),new t(function(s,o){var a=new kr({next:function(c){try{e(c)}catch(u){o(u),a.unsubscribe()}},error:o,complete:s});n.subscribe(a)})},r.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[Er]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return _c(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=Ln(e),new e(function(n,s){var o;t.subscribe(function(a){return o=a},function(a){return s(a)},function(){return n(o)})})},r.create=function(e){return new r(e)},r}();function Ln(r){var e;return(e=r??Nn.Promise)!==null&&e!==void 0?e:Promise}function gc(r){return r&&$(r.next)&&$(r.error)&&$(r.complete)}function vc(r){return r&&r instanceof wr||gc(r)&&On(r)}function wc(r){return $(r==null?void 0:r.lift)}function bc(r){return function(e){if(wc(e))return e.lift(function(t){try{return r(t,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function kc(r,e,t,n,s){return new Ec(r,e,t,n,s)}var Ec=function(r){Te(e,r);function e(t,n,s,o,a,c){var u=r.call(this,t)||this;return u.onFinalize=a,u.shouldUnsubscribe=c,u._next=n?function(l){try{n(l)}catch(d){t.error(d)}}:r.prototype._next,u._error=o?function(l){try{o(l)}catch(d){t.error(d)}finally{this.unsubscribe()}}:r.prototype._error,u._complete=s?function(){try{s()}catch(l){t.error(l)}finally{this.unsubscribe()}}:r.prototype._complete,u}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;r.prototype.unsubscribe.call(this),!n&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e}(wr),Sc=Gt(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Fn=function(r){Te(e,r);function e(){var t=r.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return e.prototype.lift=function(t){var n=new Un(this,this);return n.operator=t,n},e.prototype._throwIfClosed=function(){if(this.closed)throw new Sc},e.prototype.next=function(t){var n=this;Wt(function(){var s,o;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var a=Xe(n.currentObservers),c=a.next();!c.done;c=a.next()){var u=c.value;u.next(t)}}catch(l){s={error:l}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(s)throw s.error}}}})},e.prototype.error=function(t){var n=this;Wt(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=t;for(var s=n.observers;s.length;)s.shift().error(t)}})},e.prototype.complete=function(){var t=this;Wt(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var n=t.observers;n.length;)n.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),r.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var n=this,s=this,o=s.hasError,a=s.isStopped,c=s.observers;return o||a?In:(this.currentObservers=null,c.push(t),new Et(function(){n.currentObservers=null,Yt(c,t)}))},e.prototype._checkFinalizedStatuses=function(t){var n=this,s=n.hasError,o=n.thrownError,a=n.isStopped;s?t.error(o):a&&t.complete()},e.prototype.asObservable=function(){var t=new _e;return t.source=this,t},e.create=function(t,n){return new Un(t,n)},e}(_e),Un=function(r){Te(e,r);function e(t,n){var s=r.call(this)||this;return s.destination=t,s.source=n,s}return e.prototype.next=function(t){var n,s;(s=(n=this.destination)===null||n===void 0?void 0:n.next)===null||s===void 0||s.call(n,t)},e.prototype.error=function(t){var n,s;(s=(n=this.destination)===null||n===void 0?void 0:n.error)===null||s===void 0||s.call(n,t)},e.prototype.complete=function(){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||n===void 0||n.call(t)},e.prototype._subscribe=function(t){var n,s;return(s=(n=this.source)===null||n===void 0?void 0:n.subscribe(t))!==null&&s!==void 0?s:In},e}(Fn),Cc={now:function(){return Date.now()},delegate:void 0},xc=function(r){Te(e,r);function e(t,n){return r.call(this)||this}return e.prototype.schedule=function(t,n){return this},e}(Et),$n={setInterval:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setInterval.apply(void 0,qt([r,e],Bt(t)))},clearInterval:function(r){return clearInterval(r)},delegate:void 0},Ac=function(r){Te(e,r);function e(t,n){var s=r.call(this,t,n)||this;return s.scheduler=t,s.work=n,s.pending=!1,s}return e.prototype.schedule=function(t,n){var s;if(n===void 0&&(n=0),this.closed)return this;this.state=t;var o=this.id,a=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(a,o,n)),this.pending=!0,this.delay=n,this.id=(s=this.id)!==null&&s!==void 0?s:this.requestAsyncId(a,this.id,n),this},e.prototype.requestAsyncId=function(t,n,s){return s===void 0&&(s=0),$n.setInterval(t.flush.bind(t,this),s)},e.prototype.recycleAsyncId=function(t,n,s){if(s===void 0&&(s=0),s!=null&&this.delay===s&&this.pending===!1)return n;n!=null&&$n.clearInterval(n)},e.prototype.execute=function(t,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var s=this._execute(t,n);if(s)return s;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,n){var s=!1,o;try{this.work(t)}catch(a){s=!0,o=a||new Error("Scheduled action threw falsy error")}if(s)return this.unsubscribe(),o},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,n=t.id,s=t.scheduler,o=s.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Yt(o,this),n!=null&&(this.id=this.recycleAsyncId(s,n,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e}(xc),Zn=function(){function r(e,t){t===void 0&&(t=r.now),this.schedulerActionCtor=e,this.now=t}return r.prototype.schedule=function(e,t,n){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},r.now=Cc.now,r}(),Pc=function(r){Te(e,r);function e(t,n){n===void 0&&(n=Zn.now);var s=r.call(this,t,n)||this;return s.actions=[],s._active=!1,s}return e.prototype.flush=function(t){var n=this.actions;if(this._active){n.push(t);return}var s;this._active=!0;do if(s=t.execute(t.state,t.delay))break;while(t=n.shift());if(this._active=!1,s){for(;t=n.shift();)t.unsubscribe();throw s}},e}(Zn),Tc=new Pc(Ac),Ic=function(r){return r&&typeof r.length=="number"&&typeof r!="function"};function Oc(r){return $(r==null?void 0:r.then)}function Rc(r){return $(r[Er])}function Nc(r){return Symbol.asyncIterator&&$(r==null?void 0:r[Symbol.asyncIterator])}function Mc(r){return new TypeError("You provided "+(r!==null&&typeof r=="object"?"an invalid object":"'"+r+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function jc(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Dc=jc();function Lc(r){return $(r==null?void 0:r[Dc])}function Fc(r){return uc(this,arguments,function(){var t,n,s,o;return Tn(this,function(a){switch(a.label){case 0:t=r.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,et(t.read())];case 3:return n=a.sent(),s=n.value,o=n.done,o?[4,et(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,et(s)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Uc(r){return $(r==null?void 0:r.getReader)}function $c(r){if(r instanceof _e)return r;if(r!=null){if(Rc(r))return Zc(r);if(Ic(r))return Vc(r);if(Oc(r))return zc(r);if(Nc(r))return Vn(r);if(Lc(r))return Bc(r);if(Uc(r))return qc(r)}throw Mc(r)}function Zc(r){return new _e(function(e){var t=r[Er]();if($(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Vc(r){return new _e(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function zc(r){return new _e(function(e){r.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,jn)})}function Bc(r){return new _e(function(e){var t,n;try{for(var s=Xe(r),o=s.next();!o.done;o=s.next()){var a=o.value;if(e.next(a),e.closed)return}}catch(c){t={error:c}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}e.complete()})}function Vn(r){return new _e(function(e){Gc(r,e).catch(function(t){return e.error(t)})})}function qc(r){return Vn(Fc(r))}function Gc(r,e){var t,n,s,o;return lc(this,void 0,void 0,function(){var a,c;return Tn(this,function(u){switch(u.label){case 0:u.trys.push([0,5,6,11]),t=dc(r),u.label=1;case 1:return[4,t.next()];case 2:if(n=u.sent(),!!n.done)return[3,4];if(a=n.value,e.next(a),e.closed)return[2];u.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=u.sent(),s={error:c},[3,11];case 6:return u.trys.push([6,,9,10]),n&&!n.done&&(o=t.return)?[4,o.call(t)]:[3,8];case 7:u.sent(),u.label=8;case 8:return[3,10];case 9:if(s)throw s.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function Yc(r,e,t,n,s){n===void 0&&(n=0),s===void 0&&(s=!1);var o=e.schedule(function(){t(),s?r.add(this.schedule(null,n)):this.unsubscribe()},n);if(r.add(o),!s)return o}function Wc(r,e){var t=$(r)?r:function(){return r},n=function(s){return s.error(t())};return new _e(n)}var Hc=Gt(function(r){return function(){r(this),this.name="EmptyError",this.message="no elements in sequence"}});function Kc(r,e){return new Promise(function(t,n){var s=!1,o;r.subscribe({next:function(a){o=a,s=!0},error:n,complete:function(){s?t(o):n(new Hc)}})})}function Jc(r){return r instanceof Date&&!isNaN(r)}var Qc=Gt(function(r){return function(t){t===void 0&&(t=null),r(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function Xc(r,e){var t=Jc(r)?{first:r}:typeof r=="number"?{each:r}:r,n=t.first,s=t.each,o=t.with,a=o===void 0?el:o,c=t.scheduler,u=c===void 0?Tc:c,l=t.meta,d=l===void 0?null:l;if(n==null&&s==null)throw new TypeError("No timeout provided.");return bc(function(h,w){var m,v,b=null,P=0,I=function(T){v=Yc(w,u,function(){try{m.unsubscribe(),$c(a({meta:d,lastValue:b,seen:P})).subscribe(w)}catch(N){w.error(N)}},T)};m=h.subscribe(kc(w,function(T){v==null||v.unsubscribe(),P++,w.next(b=T),s>0&&I(s)},void 0,void 0,function(){v!=null&&v.closed||v==null||v.unsubscribe(),b=null})),!P&&I(n!=null?typeof n=="number"?n:+n-u.now():s)})}function el(r){throw new Qc(r)}class Kt{constructor(){this.set=e=>{if(this._current.status==="success")throw new Error("LoadedOnce is already in success state");this._current={status:"success",isSuccess:!0,loadedValue:e},this._subject.next(e),this._subject.complete()},this.throw=(e,t)=>{if(this._current.status==="success")throw new Error("LoadedOnce is already in success state");this._current={status:"error",isSuccess:!1,error:e,errMsg:t},this._subject.error(e)},this.getValueIfLoadedElse=e=>this._current.status==="success"?this._current.loadedValue:e,this.subscribe=e=>{if(this._current.status==="success"){e(this._current);return}this._current.status==="error"&&e(this._current);const t=this._subject.subscribe({next:()=>{if(this._current.status!=="success")throw new Error("Invalid state (next): please make sure to update _current before the subject");e(this._current),t.unsubscribe()},error:()=>{if(this._current.status!=="error")throw new Error("Invalid state (error): please make sure to update _current before the subject");e(this._current)}})},this.waitForLoad=e=>{if(this._current.status==="success")return Promise.resolve(this._current.loadedValue);if(this._current.status==="error")return Promise.reject(this._current.error);this._current.status!=="initial"&&cr(this._current);const t={first:e.timeoutSec*1e3,with:()=>Wc(()=>new Error(e.timeoutErrMsg))};return Kc(this._subject.pipe(Xc(t)))},this._current={status:"initial",isSuccess:!1},this._subject=new Fn}get current(){return this._current}}const{log__:tl,err__:rl}=F("init-flows"),Jt=(r,e)=>{const t=new Kt;return{publisher:t,initialize:async n=>{try{if(t.current.isSuccess)throw new Error("This flow has already been initialized.");const s=await e(n);tl(`✔ ${r} flow initialized successfully. Result:`,s),t.set(s)}catch(s){rl(`𝙭 ${r} flow initialization failed. Error:`,he(s),"Details:",s),t.throw(s,he(s))}}}},nl=async(r,e,t)=>{await Promise.all(Object.values(r).map(n=>n.initialize({context:e,formCallbacks:t})))},sl=()=>({stripePR:Jt("Stripe PR",te.stripePR.init),stripeLink:Jt("Stripe Link",te.stripeLink.init),airwallexGooglePay:Jt("Airwallex GPay",te.airwallexGooglePay.init),airwallexApplePay:Jt("Airwallex ApplePay",te.airwallexApplePay.init)}),{err__:ol}=F("form-callbacks"),re=i.function().optional(),zn=i.object({onFocus:re,onBlur:re,onChange:re,onLoad:re,onLoadError:re,onValidationError:re,onCheckoutStarted:re,onCheckoutSuccess:re,onSetupPaymentMethodSuccess:re,onCheckoutError:re,onPaymentRequestLoad:re}),le=class le{constructor(){this.setCallbacks=e=>{this._callbacks=le.createEmptyCallbacks(),Object.entries(e).forEach(([t,n])=>{const s=Qs(t,n??le.NOOP,ol);this._callbacks[t]=s})},this._callbacks=le.createEmptyCallbacks()}get get(){return{...this._callbacks}}};le.NOOP=()=>{},le.createEmptyCallbacks=()=>{const e={};return Object.keys(zn.keyof().enum).forEach(t=>{e[t]=le.NOOP}),e},le.fromObject=e=>{const t=new le;return t.setCallbacks(zn.parse(e)),t};let Sr=le;class il{constructor(e,t,n,s){this.handleMessage=o=>{if(!o.source)throw new Error("No source found");if(Bn(o.origin)!==Bn(this.baseUrl)||typeof o.data=="object"&&o.data.penpal)return;let a=null;try{a=Bo(JSON.parse(o.data))}catch(h){console.warn("[OJS] Unknown event. Ignoring:",h);return}if(!this.validateEvent(a))return;const{elementId:u,payload:l}=a,d=l.type;switch(d){case"LAYOUT":this.internalCallbacks.setFormHeight(l.height?`${l.height}px`:"100%");break;case"FOCUS":this.formCallbacks.get.onFocus(u,l.elementType);break;case"BLUR":this.formCallbacks.get.onBlur(u,l.elementType);break;case"CHANGE":this.formCallbacks.get.onChange(u,l.elementType,l.errors);break;case"LOADED":this.eventTargets[u]=o.source,this.internalCallbacks.onCdeLoaded(l);break;case"LOAD_ERROR":this.internalCallbacks.onCdeLoadError(l.message);break;case"VALIDATION_ERROR":this.formCallbacks.get.onValidationError(l.elementType,l.errors,u);break;default:console.warn("[form] Unhandled event type:",d)}},this.validateEvent=o=>o.formId!==this.formId||!o.elementId?(console.log("[OJS] formId",this.formId,o.formId),console.warn("[form] Ignoring unknown event:",o),!1):this.nonces.has(o.nonce)?(console.warn("[form] Ignoring duplicate event:",o),!1):(this.nonces.add(o.nonce),!0),this.eventTargets={},this.nonces=new Set,this.formId=e,this.baseUrl=t,this.formCallbacks=n,this.internalCallbacks=s}}const Bn=r=>new URL(r).origin;async function al(r,e){const n=await Hr({iframe:r,debug:!1,childOrigin:e}).promise,s=await fi(n);if(!pi(n,s))throw new Error("Got invalid CDE connection object");return n}class cl{constructor(){this.connections=new Map}addConnection(e,t){this.connections.set(e,t)}getConnection(){const e=this.connections.values().next().value;if(!e)throw new Error("Connection not found");return e}getAllConnections(){return this.connections}}const ll=(r,e,t)=>{const{stripePR:n}=r;n.publisher.subscribe(s=>{if(s.isSuccess){const o=s.loadedValue,a=o.isAvailable&&o.availableProviders.applePay,c=o.isAvailable&&o.availableProviders.googlePay,u={apple_pay:{isLoading:!1,isAvailable:a,startFlow:async l=>{a&&qn("apple_pay",o,e,t,l)}},google_pay:{isLoading:!1,isAvailable:c,startFlow:async l=>{c&&qn("google_pay",o,e,t,l)}}};t.get.onPaymentRequestLoad(u)}})},qn=(r,e,t,n,s)=>te.stripePR.run({context:t,checkoutPaymentMethod:_r(t.checkoutPaymentMethods,r),nonCdeFormInputs:Ge(t.formDiv),formCallbacks:n,customParams:{provider:r,overridePaymentRequest:s==null?void 0:s.overridePaymentRequest},initResult:e}),Gn="The secure form failed to load properly. Please check your internet connection, or try again later.",{log__:ge,err__:De}=F("op-form"),ve=class ve{constructor(e){this.cdeLoadEvent=new Kt,this.anyCdeConn=new Kt,this.context=new Kt,this.initFlows=sl(),this.startFormInit=async()=>{try{ge("Initializing OpenPay form:"),ge("├ Waiting for CDE load event...");const t=await this.cdeLoadEvent.waitForLoad({timeoutSec:120,timeoutErrMsg:Gn});ge("├ CDE load event received"),ge("├ Waiting for CDE connection...");const n=await this.anyCdeConn.waitForLoad({timeoutSec:120,timeoutErrMsg:Gn});ge("├ CDE connection received"),ge("├ Creating OJS context, setting up handlers...");const s=ve.buildOjsFlowContext(this.config,t,n,this.getFormDiv());this.context.set(s),ll(this.initFlows,s,this.formCallbacks),ge("├ Starting OJS init flows..."),await nl(this.initFlows,s,this.formCallbacks),this.formCallbacks.get.onLoad(t.totalAmountAtoms,t.currency),ge("╰ Done initializing OJS flows.")}catch(t){const n=he(t);De("╰ Error initializing OP form:",n),this.formCallbacks.get.onLoadError(n)}},this.setFormHeight=t=>{this.formProperties.height=t,this.registeredElements&&Object.values(this.registeredElements).forEach(n=>{n&&(n.node.style.height=t)})},this.onCdeLoaded=t=>{this.cdeLoadEvent.current.isSuccess||this.cdeLoadEvent.set(t)},this.onCdeLoadError=t=>{this.cdeLoadEvent.current.isSuccess||this.cdeLoadEvent.throw(new Error(t),t)},this.createElement=(t,n={})=>{if(!this.config)throw new Error("OpenPay form not initialized");const s=Xs.parse(t),o=document.createElement("iframe"),a=this.buildQueryString(n);o.name=`${s}-element`;const c=new URL(`/app/v1/${o.name}/`,this.config.baseUrl);return c.search=a.toString(),o.src=c.href,o.style.border="none",o.style.width="100%",this.registerIframe(s,o)},this.registerIframe=(t,n)=>{const s={type:t,node:n,mount:o=>{var a;return(a=document.querySelector(o))==null?void 0:a.appendChild(n)}};return this.connectToElement({type:s.type,node:s.node}),this.registeredElements||(this.registeredElements={[qe.CARD]:void 0,[qe.CARD_NUMBER]:void 0,[qe.CARD_EXPIRY]:void 0,[qe.CARD_CVC]:void 0}),this.registeredElements[t]=s,s},this.buildQueryString=t=>{const n=new URLSearchParams;return n.append("referer",this.referrer),n.append("formId",this.formId),t.styles&&n.append("styles",Fo(t.styles)),n.append("secureToken",this.config.checkoutSecureToken),n},this.connectToElement=t=>{al(t.node).then(n=>{this.connectionManager.addConnection(t.type,n),this.anyCdeConn.current.isSuccess||this.anyCdeConn.set(n)}).catch(n=>De("[FORM] Error connecting to CDE iframe",n))},this.getFormDiv=()=>document.querySelector(this.formTarget)??document.body,this.submitCard=()=>{const t=this.context.getValueIfLoadedElse(null);if(!t){De("Please wait for the form to finish loading before submitting.");return}te.commonCC.run({context:t,checkoutPaymentMethod:_r(t.checkoutPaymentMethods,"credit_card"),nonCdeFormInputs:Ge(t.formDiv),formCallbacks:this.formCallbacks,customParams:{currentCdeConnections:this.connectionManager.getAllConnections()},initResult:void 0})},this.getAvailablePaymentMethods=()=>{if(!this.context.getValueIfLoadedElse(null)){De("Please wait for the form to finish loading before getting available payment methods.");return}return Object.entries(this.initFlows).map(([n,s])=>({name:n,...s.publisher.getValueIfLoadedElse(null)}))},this.generalSubmit=(t,n)=>{const s=this.context.getValueIfLoadedElse(null);if(!s){De("Please wait for the form to finish loading before submitting.");return}switch(t){case"pockyt-paypal":return te.pockytPaypal.run({context:s,checkoutPaymentMethod:_r(s.checkoutPaymentMethods,"paypal","pockyt"),nonCdeFormInputs:Ge(s.formDiv),formCallbacks:this.formCallbacks,customParams:{settings:n},initResult:void 0});case"airwallex-google-pay":return this.initFlows.airwallexGooglePay.publisher.subscribe(o=>{o.isSuccess&&o.loadedValue.isAvailable?o.loadedValue.startFlow(n):De("airwallex-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'")});case"airwallex-apple-pay":return this.initFlows.airwallexApplePay.publisher.subscribe(o=>{o.isSuccess&&o.loadedValue.isAvailable?o.loadedValue.startFlow(n):De("airwallex-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'")});default:cr(t)}},this.submit=this.submitCard,this.destroy=()=>{ge("Destroying OpenPay form...");for(const t of Object.values(this.registeredElements??{}))t&&t.node.remove();window.removeEventListener("message",this.eventHandler.handleMessage.bind(this.eventHandler)),this.registeredElements=null,delete window.ojs},this.updateCallbacks=t=>{this.formCallbacks.setCallbacks(t)},ve.assignAsSingleton(this),this.ojsVersion="0.2.6",this.ojsReleaseVersion="0.2.6",this.baseUrl=e.baseUrl??"https://cde.getopenpay.com",this.config={...e,baseUrl:this.baseUrl},this.formCallbacks=Sr.fromObject(e),this.registeredElements=null,this.formId=`opjs-form-${zo()}`,this.referrer=window.location.origin,this.formTarget=e.formTarget??"body",this.formProperties={height:"1px"},this.connectionManager=new cl,this.eventHandler=new il(this.formId,this.baseUrl,this.formCallbacks,{setFormHeight:this.setFormHeight,onCdeLoaded:this.onCdeLoaded,onCdeLoadError:this.onCdeLoadError}),window.addEventListener("message",this.eventHandler.handleMessage.bind(this.eventHandler)),this.startFormInit()}get checkoutSecureToken(){return this.config.checkoutSecureToken}};ve.ojsFlows=te,ve.assignAsSingleton=e=>{if(ve.getInstance())throw new Error("OpenPay instance already exists. Only one instance is allowed.");window.ojs=e},ve.getInstance=()=>window.ojs??null,ve.buildOjsFlowContext=(e,t,n,s)=>({checkoutSecureToken:e.checkoutSecureToken,baseUrl:new URL(e.baseUrl??Fe).origin,formDiv:s,elementsSessionId:t.sessionId,checkoutPaymentMethods:t.checkoutPaymentMethods,anyCdeConnection:n,customInitParams:e.customInitParams??{}});let Cr=ve;Oe.FieldName=p,Oe.OpenPayForm=Cr,Object.defineProperty(Oe,Symbol.toStringTag,{value:"Module"})});