@getopenpay/openpay-js 0.2.21 → 0.2.22

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,13 +1,13 @@
1
- (function(be,Le){typeof exports=="object"&&typeof module<"u"?Le(exports):typeof define=="function"&&define.amd?define(["exports"],Le):(be=typeof globalThis<"u"?globalThis:be||self,Le(be.OpenPay={}))})(this,function(be){"use strict";const Le="https://cde.getopenpay.com";var R;(function(r){r.assertEqual=o=>o;function e(o){}r.assertIs=e;function t(o){throw new Error}r.assertNever=t,r.arrayToEnum=o=>{const s={};for(const i of o)s[i]=i;return s},r.getValidEnumValues=o=>{const s=r.objectKeys(o).filter(c=>typeof o[o[c]]!="number"),i={};for(const c of s)i[c]=o[c];return r.objectValues(i)},r.objectValues=o=>r.objectKeys(o).map(function(s){return o[s]}),r.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{const s=[];for(const i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},r.find=(o,s)=>{for(const i of o)if(s(i))return i},r.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}r.joinValues=n,r.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(R||(R={}));var dr;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(dr||(dr={}));const v=R.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ie=r=>{switch(typeof r){case"undefined":return v.undefined;case"string":return v.string;case"number":return isNaN(r)?v.nan:v.number;case"boolean":return v.boolean;case"function":return v.function;case"bigint":return v.bigint;case"symbol":return v.symbol;case"object":return Array.isArray(r)?v.array:r===null?v.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?v.promise:typeof Map<"u"&&r instanceof Map?v.map:typeof Set<"u"&&r instanceof Set?v.set:typeof Date<"u"&&r instanceof Date?v.date:v.object;default:return v.unknown}},m=R.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"]),ko=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class Q 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(s){return s.message},n={_errors:[]},o=s=>{for(const i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let c=n,l=0;for(;l<i.path.length;){const u=i.path[l];l===i.path.length-1?(c[u]=c[u]||{_errors:[]},c[u]._errors.push(t(i))):c[u]=c[u]||{_errors:[]},c=c[u],l++}}};return o(this),n}static assert(e){if(!(e instanceof Q))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,R.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},n=[];for(const o of this.issues)o.path.length>0?(t[o.path[0]]=t[o.path[0]]||[],t[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}Q.create=r=>new Q(r);const Ye=(r,e)=>{let t;switch(r.code){case m.invalid_type:r.received===v.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case m.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,R.jsonStringifyReplacer)}`;break;case m.unrecognized_keys:t=`Unrecognized key(s) in object: ${R.joinValues(r.keys,", ")}`;break;case m.invalid_union:t="Invalid input";break;case m.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${R.joinValues(r.options)}`;break;case m.invalid_enum_value:t=`Invalid enum value. Expected ${R.joinValues(r.options)}, received '${r.received}'`;break;case m.invalid_arguments:t="Invalid function arguments";break;case m.invalid_return_type:t="Invalid function return type";break;case m.invalid_date:t="Invalid date";break;case m.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}"`:R.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case m.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 m.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 m.custom:t="Invalid input";break;case m.invalid_intersection_types:t="Intersection results could not be merged";break;case m.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case m.not_finite:t="Number must be finite";break;default:t=e.defaultError,R.assertNever(r)}return{message:t}};let Vr=Ye;function Co(r){Vr=r}function Lt(){return Vr}const Ft=r=>{const{data:e,path:t,errorMaps:n,issueData:o}=r,s=[...t,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let c="";const l=n.filter(u=>!!u).slice().reverse();for(const u of l)c=u(i,{data:e,defaultError:c}).message;return{...o,path:s,message:c}},So=[];function g(r,e){const t=Lt(),n=Ft({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===Ye?void 0:Ye].filter(o=>!!o)});r.common.issues.push(n)}class q{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 o of t){if(o.status==="aborted")return k;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const o of t){const s=await o.key,i=await o.value;n.push({key:s,value:i})}return q.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const o of t){const{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return k;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}}const k=Object.freeze({status:"aborted"}),We=r=>({status:"dirty",value:r}),W=r=>({status:"valid",value:r}),pr=r=>r.status==="aborted",fr=r=>r.status==="dirty",lt=r=>r.status==="valid",ut=r=>typeof Promise<"u"&&r instanceof Promise;function Ut(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 zr(r,e,t,n,o){if(typeof e=="function"?r!==e||!o:!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 b;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(b||(b={}));var dt,pt;class ue{constructor(e,t,n,o){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=o}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 Gr=(r,e)=>{if(lt(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 Q(r.common.issues);return this._error=t,this._error}}};function P(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:n,description:o}=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:o}:{errorMap:(i,c)=>{var l,u;const{message:d}=r;return i.code==="invalid_enum_value"?{message:d??c.defaultError}:typeof c.data>"u"?{message:(l=d??n)!==null&&l!==void 0?l:c.defaultError}:i.code!=="invalid_type"?{message:c.defaultError}:{message:(u=d??t)!==null&&u!==void 0?u:c.defaultError}},description:o}}class I{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 Ie(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Ie(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new q,ctx:{common:e.parent.common,data:e.data,parsedType:Ie(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(ut(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 o={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:Ie(e)},s=this._parseSync({data:e,path:o.path,parent:o});return Gr(o,s)}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:Ie(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(ut(o)?o:Promise.resolve(o));return Gr(n,s)}refine(e,t){const n=o=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(o):t;return this._refinement((o,s)=>{const i=e(o),c=()=>s.addIssue({code:m.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(c(),!1)):i?!0:(c(),!1)})}refinement(e,t){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof t=="function"?t(n,o):t),!1))}_refinement(e){return new ne({schema:this,typeName:E.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return pe.create(this,this._def)}nullable(){return Ne.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return re.create(this,this._def)}promise(){return Xe.create(this,this._def)}or(e){return yt.create([this,e],this._def)}and(e){return _t.create(this,e,this._def)}transform(e){return new ne({...P(this._def),schema:this,typeName:E.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new Et({...P(this._def),innerType:this,defaultValue:t,typeName:E.ZodDefault})}brand(){return new yr({typeName:E.ZodBranded,type:this,...P(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new kt({...P(this._def),innerType:this,catchValue:t,typeName:E.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Ct.create(this,e)}readonly(){return St.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Po=/^c[^\s-]{8,}$/i,Ao=/^[0-9a-z]+$/,xo=/^[0-9A-HJKMNP-TV-Z]{26}$/,Io=/^[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,To=/^[a-z0-9_-]{21}$/i,Ro=/^[-+]?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)?)??$/,Oo=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,No="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let hr;const Mo=/^(?:(?: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])$/,Do=/^(([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})))$/,jo=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Br="((\\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])))",Lo=new RegExp(`^${Br}$`);function qr(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 Fo(r){return new RegExp(`^${qr(r)}$`)}function Yr(r){let e=`${Br}T${qr(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 Uo(r,e){return!!((e==="v4"||!e)&&Mo.test(r)||(e==="v6"||!e)&&Do.test(r))}class te extends I{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==v.string){const s=this._getOrReturnCtx(e);return g(s,{code:m.invalid_type,expected:v.string,received:s.parsedType}),k}const n=new q;let o;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:m.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:m.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){const i=e.data.length>s.value,c=e.data.length<s.value;(i||c)&&(o=this._getOrReturnCtx(e,o),i?g(o,{code:m.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):c&&g(o,{code:m.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")Oo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"email",code:m.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")hr||(hr=new RegExp(No,"u")),hr.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"emoji",code:m.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Io.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"uuid",code:m.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")To.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"nanoid",code:m.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")Po.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"cuid",code:m.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")Ao.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"cuid2",code:m.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")xo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"ulid",code:m.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),g(o,{validation:"url",code:m.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"regex",code:m.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),g(o,{code:m.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),g(o,{code:m.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),g(o,{code:m.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Yr(s).test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:m.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?Lo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:m.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Fo(s).test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:m.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Ro.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"duration",code:m.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Uo(e.data,s.version)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"ip",code:m.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?jo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"base64",code:m.invalid_string,message:s.message}),n.dirty()):R.assertNever(s);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(o=>e.test(o),{validation:t,code:m.invalid_string,...b.errToObj(n)})}_addCheck(e){return new te({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...b.errToObj(e)})}url(e){return this._addCheck({kind:"url",...b.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...b.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...b.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...b.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...b.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...b.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...b.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...b.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...b.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,...b.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,...b.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...b.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...b.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...b.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...b.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...b.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...b.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...b.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...b.errToObj(t)})}nonempty(e){return this.min(1,b.errToObj(e))}trim(){return new te({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new te({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new te({...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}}te.create=r=>{var e;return new te({checks:[],typeName:E.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...P(r)})};function $o(r,e){const t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=t>n?t:n,s=parseInt(r.toFixed(o).replace(".","")),i=parseInt(e.toFixed(o).replace(".",""));return s%i/Math.pow(10,o)}class Te extends I{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)!==v.number){const s=this._getOrReturnCtx(e);return g(s,{code:m.invalid_type,expected:v.number,received:s.parsedType}),k}let n;const o=new q;for(const s of this._def.checks)s.kind==="int"?R.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),g(n,{code:m.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:m.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:m.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?$o(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),g(n,{code:m.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),g(n,{code:m.not_finite,message:s.message}),o.dirty()):R.assertNever(s);return{status:o.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,b.toString(t))}gt(e,t){return this.setLimit("min",e,!1,b.toString(t))}lte(e,t){return this.setLimit("max",e,!0,b.toString(t))}lt(e,t){return this.setLimit("max",e,!1,b.toString(t))}setLimit(e,t,n,o){return new Te({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:b.toString(o)}]})}_addCheck(e){return new Te({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:b.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:b.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:b.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:b.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:b.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"&&R.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)}}Te.create=r=>new Te({checks:[],typeName:E.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...P(r)});class Re extends I{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)!==v.bigint){const s=this._getOrReturnCtx(e);return g(s,{code:m.invalid_type,expected:v.bigint,received:s.parsedType}),k}let n;const o=new q;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:m.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:m.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),g(n,{code:m.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):R.assertNever(s);return{status:o.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,b.toString(t))}gt(e,t){return this.setLimit("min",e,!1,b.toString(t))}lte(e,t){return this.setLimit("max",e,!0,b.toString(t))}lt(e,t){return this.setLimit("max",e,!1,b.toString(t))}setLimit(e,t,n,o){return new Re({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:b.toString(o)}]})}_addCheck(e){return new Re({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:b.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:b.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}}Re.create=r=>{var e;return new Re({checks:[],typeName:E.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...P(r)})};class ft extends I{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==v.boolean){const n=this._getOrReturnCtx(e);return g(n,{code:m.invalid_type,expected:v.boolean,received:n.parsedType}),k}return W(e.data)}}ft.create=r=>new ft({typeName:E.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...P(r)});class Fe extends I{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==v.date){const s=this._getOrReturnCtx(e);return g(s,{code:m.invalid_type,expected:v.date,received:s.parsedType}),k}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return g(s,{code:m.invalid_date}),k}const n=new q;let o;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:m.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:m.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):R.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Fe({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:b.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:b.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}}Fe.create=r=>new Fe({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:E.ZodDate,...P(r)});class $t extends I{_parse(e){if(this._getType(e)!==v.symbol){const n=this._getOrReturnCtx(e);return g(n,{code:m.invalid_type,expected:v.symbol,received:n.parsedType}),k}return W(e.data)}}$t.create=r=>new $t({typeName:E.ZodSymbol,...P(r)});class ht extends I{_parse(e){if(this._getType(e)!==v.undefined){const n=this._getOrReturnCtx(e);return g(n,{code:m.invalid_type,expected:v.undefined,received:n.parsedType}),k}return W(e.data)}}ht.create=r=>new ht({typeName:E.ZodUndefined,...P(r)});class mt extends I{_parse(e){if(this._getType(e)!==v.null){const n=this._getOrReturnCtx(e);return g(n,{code:m.invalid_type,expected:v.null,received:n.parsedType}),k}return W(e.data)}}mt.create=r=>new mt({typeName:E.ZodNull,...P(r)});class Ke extends I{constructor(){super(...arguments),this._any=!0}_parse(e){return W(e.data)}}Ke.create=r=>new Ke({typeName:E.ZodAny,...P(r)});class Ue extends I{constructor(){super(...arguments),this._unknown=!0}_parse(e){return W(e.data)}}Ue.create=r=>new Ue({typeName:E.ZodUnknown,...P(r)});class Ee extends I{_parse(e){const t=this._getOrReturnCtx(e);return g(t,{code:m.invalid_type,expected:v.never,received:t.parsedType}),k}}Ee.create=r=>new Ee({typeName:E.ZodNever,...P(r)});class Zt extends I{_parse(e){if(this._getType(e)!==v.undefined){const n=this._getOrReturnCtx(e);return g(n,{code:m.invalid_type,expected:v.void,received:n.parsedType}),k}return W(e.data)}}Zt.create=r=>new Zt({typeName:E.ZodVoid,...P(r)});class re extends I{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),o=this._def;if(t.parsedType!==v.array)return g(t,{code:m.invalid_type,expected:v.array,received:t.parsedType}),k;if(o.exactLength!==null){const i=t.data.length>o.exactLength.value,c=t.data.length<o.exactLength.value;(i||c)&&(g(t,{code:i?m.too_big:m.too_small,minimum:c?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&t.data.length<o.minLength.value&&(g(t,{code:m.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&t.data.length>o.maxLength.value&&(g(t,{code:m.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((i,c)=>o.type._parseAsync(new ue(t,i,t.path,c)))).then(i=>q.mergeArray(n,i));const s=[...t.data].map((i,c)=>o.type._parseSync(new ue(t,i,t.path,c)));return q.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new re({...this._def,minLength:{value:e,message:b.toString(t)}})}max(e,t){return new re({...this._def,maxLength:{value:e,message:b.toString(t)}})}length(e,t){return new re({...this._def,exactLength:{value:e,message:b.toString(t)}})}nonempty(e){return this.min(1,e)}}re.create=(r,e)=>new re({type:r,minLength:null,maxLength:null,exactLength:null,typeName:E.ZodArray,...P(e)});function He(r){if(r instanceof D){const e={};for(const t in r.shape){const n=r.shape[t];e[t]=pe.create(He(n))}return new D({...r._def,shape:()=>e})}else return r instanceof re?new re({...r._def,type:He(r.element)}):r instanceof pe?pe.create(He(r.unwrap())):r instanceof Ne?Ne.create(He(r.unwrap())):r instanceof de?de.create(r.items.map(e=>He(e))):r}class D extends I{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=R.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==v.object){const u=this._getOrReturnCtx(e);return g(u,{code:m.invalid_type,expected:v.object,received:u.parsedType}),k}const{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),c=[];if(!(this._def.catchall instanceof Ee&&this._def.unknownKeys==="strip"))for(const u in o.data)i.includes(u)||c.push(u);const l=[];for(const u of i){const d=s[u],p=o.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new ue(o,p,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Ee){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of c)l.push({key:{status:"valid",value:d},value:{status:"valid",value:o.data[d]}});else if(u==="strict")c.length>0&&(g(o,{code:m.unrecognized_keys,keys:c}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of c){const p=o.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new ue(o,p,o.path,d)),alwaysSet:d in o.data})}}return o.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const p=await d.key,_=await d.value;u.push({key:p,value:_,alwaysSet:d.alwaysSet})}return u}).then(u=>q.mergeObjectSync(n,u)):q.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return b.errToObj,new D({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{var o,s,i,c;const l=(i=(s=(o=this._def).errorMap)===null||s===void 0?void 0:s.call(o,t,n).message)!==null&&i!==void 0?i:n.defaultError;return t.code==="unrecognized_keys"?{message:(c=b.errToObj(e).message)!==null&&c!==void 0?c:l}:{message:l}}}:{}})}strip(){return new D({...this._def,unknownKeys:"strip"})}passthrough(){return new D({...this._def,unknownKeys:"passthrough"})}extend(e){return new D({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new D({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:E.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new D({...this._def,catchall:e})}pick(e){const t={};return R.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new D({...this._def,shape:()=>t})}omit(e){const t={};return R.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new D({...this._def,shape:()=>t})}deepPartial(){return He(this)}partial(e){const t={};return R.objectKeys(this.shape).forEach(n=>{const o=this.shape[n];e&&!e[n]?t[n]=o:t[n]=o.optional()}),new D({...this._def,shape:()=>t})}required(e){const t={};return R.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof pe;)s=s._def.innerType;t[n]=s}}),new D({...this._def,shape:()=>t})}keyof(){return Wr(R.objectKeys(this.shape))}}D.create=(r,e)=>new D({shape:()=>r,unknownKeys:"strip",catchall:Ee.create(),typeName:E.ZodObject,...P(e)}),D.strictCreate=(r,e)=>new D({shape:()=>r,unknownKeys:"strict",catchall:Ee.create(),typeName:E.ZodObject,...P(e)}),D.lazycreate=(r,e)=>new D({shape:r,unknownKeys:"strip",catchall:Ee.create(),typeName:E.ZodObject,...P(e)});class yt extends I{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;function o(s){for(const c of s)if(c.result.status==="valid")return c.result;for(const c of s)if(c.result.status==="dirty")return t.common.issues.push(...c.ctx.common.issues),c.result;const i=s.map(c=>new Q(c.ctx.common.issues));return g(t,{code:m.invalid_union,unionErrors:i}),k}if(t.common.async)return Promise.all(n.map(async s=>{const i={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(o);{let s;const i=[];for(const l of n){const u={...t,common:{...t.common,issues:[]},parent:null},d=l._parseSync({data:t.data,path:t.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!s&&(s={result:d,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const c=i.map(l=>new Q(l));return g(t,{code:m.invalid_union,unionErrors:c}),k}}get options(){return this._def.options}}yt.create=(r,e)=>new yt({options:r,typeName:E.ZodUnion,...P(e)});const ke=r=>r instanceof vt?ke(r.schema):r instanceof ne?ke(r.innerType()):r instanceof wt?[r.value]:r instanceof Oe?r.options:r instanceof bt?R.objectValues(r.enum):r instanceof Et?ke(r._def.innerType):r instanceof ht?[void 0]:r instanceof mt?[null]:r instanceof pe?[void 0,...ke(r.unwrap())]:r instanceof Ne?[null,...ke(r.unwrap())]:r instanceof yr||r instanceof St?ke(r.unwrap()):r instanceof kt?ke(r._def.innerType):[];class Vt extends I{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==v.object)return g(t,{code:m.invalid_type,expected:v.object,received:t.parsedType}),k;const n=this.discriminator,o=t.data[n],s=this.optionsMap.get(o);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(g(t,{code:m.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 o=new Map;for(const s of t){const i=ke(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const c of i){if(o.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);o.set(c,s)}}return new Vt({typeName:E.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:o,...P(n)})}}function mr(r,e){const t=Ie(r),n=Ie(e);if(r===e)return{valid:!0,data:r};if(t===v.object&&n===v.object){const o=R.objectKeys(e),s=R.objectKeys(r).filter(c=>o.indexOf(c)!==-1),i={...r,...e};for(const c of s){const l=mr(r[c],e[c]);if(!l.valid)return{valid:!1};i[c]=l.data}return{valid:!0,data:i}}else if(t===v.array&&n===v.array){if(r.length!==e.length)return{valid:!1};const o=[];for(let s=0;s<r.length;s++){const i=r[s],c=e[s],l=mr(i,c);if(!l.valid)return{valid:!1};o.push(l.data)}return{valid:!0,data:o}}else return t===v.date&&n===v.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}class _t extends I{_parse(e){const{status:t,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(pr(s)||pr(i))return k;const c=mr(s.value,i.value);return c.valid?((fr(s)||fr(i))&&t.dirty(),{status:t.value,value:c.data}):(g(n,{code:m.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(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}_t.create=(r,e,t)=>new _t({left:r,right:e,typeName:E.ZodIntersection,...P(t)});class de extends I{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.array)return g(n,{code:m.invalid_type,expected:v.array,received:n.parsedType}),k;if(n.data.length<this._def.items.length)return g(n,{code:m.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),k;!this._def.rest&&n.data.length>this._def.items.length&&(g(n,{code:m.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...n.data].map((i,c)=>{const l=this._def.items[c]||this._def.rest;return l?l._parse(new ue(n,i,n.path,c)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>q.mergeArray(t,i)):q.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new de({...this._def,rest:e})}}de.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new de({items:r,typeName:E.ZodTuple,rest:null,...P(e)})};class gt extends I{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!==v.object)return g(n,{code:m.invalid_type,expected:v.object,received:n.parsedType}),k;const o=[],s=this._def.keyType,i=this._def.valueType;for(const c in n.data)o.push({key:s._parse(new ue(n,c,n.path,c)),value:i._parse(new ue(n,n.data[c],n.path,c)),alwaysSet:c in n.data});return n.common.async?q.mergeObjectAsync(t,o):q.mergeObjectSync(t,o)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof I?new gt({keyType:e,valueType:t,typeName:E.ZodRecord,...P(n)}):new gt({keyType:te.create(),valueType:e,typeName:E.ZodRecord,...P(t)})}}class zt extends I{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!==v.map)return g(n,{code:m.invalid_type,expected:v.map,received:n.parsedType}),k;const o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([c,l],u)=>({key:o._parse(new ue(n,c,n.path,[u,"key"])),value:s._parse(new ue(n,l,n.path,[u,"value"]))}));if(n.common.async){const c=new Map;return Promise.resolve().then(async()=>{for(const l of i){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return k;(u.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(u.value,d.value)}return{status:t.value,value:c}})}else{const c=new Map;for(const l of i){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return k;(u.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(u.value,d.value)}return{status:t.value,value:c}}}}zt.create=(r,e,t)=>new zt({valueType:e,keyType:r,typeName:E.ZodMap,...P(t)});class $e extends I{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.set)return g(n,{code:m.invalid_type,expected:v.set,received:n.parsedType}),k;const o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(g(n,{code:m.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),t.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(g(n,{code:m.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),t.dirty());const s=this._def.valueType;function i(l){const u=new Set;for(const d of l){if(d.status==="aborted")return k;d.status==="dirty"&&t.dirty(),u.add(d.value)}return{status:t.value,value:u}}const c=[...n.data.values()].map((l,u)=>s._parse(new ue(n,l,n.path,u)));return n.common.async?Promise.all(c).then(l=>i(l)):i(c)}min(e,t){return new $e({...this._def,minSize:{value:e,message:b.toString(t)}})}max(e,t){return new $e({...this._def,maxSize:{value:e,message:b.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}$e.create=(r,e)=>new $e({valueType:r,minSize:null,maxSize:null,typeName:E.ZodSet,...P(e)});class Je extends I{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==v.function)return g(t,{code:m.invalid_type,expected:v.function,received:t.parsedType}),k;function n(c,l){return Ft({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Lt(),Ye].filter(u=>!!u),issueData:{code:m.invalid_arguments,argumentsError:l}})}function o(c,l){return Ft({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Lt(),Ye].filter(u=>!!u),issueData:{code:m.invalid_return_type,returnTypeError:l}})}const s={errorMap:t.common.contextualErrorMap},i=t.data;if(this._def.returns instanceof Xe){const c=this;return W(async function(...l){const u=new Q([]),d=await c._def.args.parseAsync(l,s).catch(f=>{throw u.addIssue(n(l,f)),u}),p=await Reflect.apply(i,this,d);return await c._def.returns._def.type.parseAsync(p,s).catch(f=>{throw u.addIssue(o(p,f)),u})})}else{const c=this;return W(function(...l){const u=c._def.args.safeParse(l,s);if(!u.success)throw new Q([n(l,u.error)]);const d=Reflect.apply(i,this,u.data),p=c._def.returns.safeParse(d,s);if(!p.success)throw new Q([o(d,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Je({...this._def,args:de.create(e).rest(Ue.create())})}returns(e){return new Je({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new Je({args:e||de.create([]).rest(Ue.create()),returns:t||Ue.create(),typeName:E.ZodFunction,...P(n)})}}class vt extends I{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})}}vt.create=(r,e)=>new vt({getter:r,typeName:E.ZodLazy,...P(e)});class wt extends I{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return g(t,{received:t.data,code:m.invalid_literal,expected:this._def.value}),k}return{status:"valid",value:e.data}}get value(){return this._def.value}}wt.create=(r,e)=>new wt({value:r,typeName:E.ZodLiteral,...P(e)});function Wr(r,e){return new Oe({values:r,typeName:E.ZodEnum,...P(e)})}class Oe extends I{constructor(){super(...arguments),dt.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),n=this._def.values;return g(t,{expected:R.joinValues(n),received:t.parsedType,code:m.invalid_type}),k}if(Ut(this,dt)||zr(this,dt,new Set(this._def.values)),!Ut(this,dt).has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return g(t,{received:t.data,code:m.invalid_enum_value,options:n}),k}return W(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 Oe.create(e,{...this._def,...t})}exclude(e,t=this._def){return Oe.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}}dt=new WeakMap,Oe.create=Wr;class bt extends I{constructor(){super(...arguments),pt.set(this,void 0)}_parse(e){const t=R.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==v.string&&n.parsedType!==v.number){const o=R.objectValues(t);return g(n,{expected:R.joinValues(o),received:n.parsedType,code:m.invalid_type}),k}if(Ut(this,pt)||zr(this,pt,new Set(R.getValidEnumValues(this._def.values))),!Ut(this,pt).has(e.data)){const o=R.objectValues(t);return g(n,{received:n.data,code:m.invalid_enum_value,options:o}),k}return W(e.data)}get enum(){return this._def.values}}pt=new WeakMap,bt.create=(r,e)=>new bt({values:r,typeName:E.ZodNativeEnum,...P(e)});class Xe extends I{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==v.promise&&t.common.async===!1)return g(t,{code:m.invalid_type,expected:v.promise,received:t.parsedType}),k;const n=t.parsedType===v.promise?t.data:Promise.resolve(t.data);return W(n.then(o=>this._def.type.parseAsync(o,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Xe.create=(r,e)=>new Xe({type:r,typeName:E.ZodPromise,...P(e)});class ne extends I{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===E.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{g(n,i),i.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){const i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async c=>{if(t.value==="aborted")return k;const l=await this._def.schema._parseAsync({data:c,path:n.path,parent:n});return l.status==="aborted"?k:l.status==="dirty"||t.value==="dirty"?We(l.value):l});{if(t.value==="aborted")return k;const c=this._def.schema._parseSync({data:i,path:n.path,parent:n});return c.status==="aborted"?k:c.status==="dirty"||t.value==="dirty"?We(c.value):c}}if(o.type==="refinement"){const i=c=>{const l=o.refinement(c,s);if(n.common.async)return Promise.resolve(l);if(l 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(),i(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(),i(c.value).then(()=>({status:t.value,value:c.value}))))}if(o.type==="transform")if(n.common.async===!1){const i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!lt(i))return i;const c=o.transform(i.value,s);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(i=>lt(i)?Promise.resolve(o.transform(i.value,s)).then(c=>({status:t.value,value:c})):i);R.assertNever(o)}}ne.create=(r,e,t)=>new ne({schema:r,typeName:E.ZodEffects,effect:e,...P(t)}),ne.createWithPreprocess=(r,e,t)=>new ne({schema:e,effect:{type:"preprocess",transform:r},typeName:E.ZodEffects,...P(t)});class pe extends I{_parse(e){return this._getType(e)===v.undefined?W(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}pe.create=(r,e)=>new pe({innerType:r,typeName:E.ZodOptional,...P(e)});class Ne extends I{_parse(e){return this._getType(e)===v.null?W(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ne.create=(r,e)=>new Ne({innerType:r,typeName:E.ZodNullable,...P(e)});class Et extends I{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===v.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Et.create=(r,e)=>new Et({innerType:r,typeName:E.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...P(e)});class kt extends I{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ut(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Q(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Q(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}kt.create=(r,e)=>new kt({innerType:r,typeName:E.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...P(e)});class Gt extends I{_parse(e){if(this._getType(e)!==v.nan){const n=this._getOrReturnCtx(e);return g(n,{code:m.invalid_type,expected:v.nan,received:n.parsedType}),k}return{status:"valid",value:e.data}}}Gt.create=r=>new Gt({typeName:E.ZodNaN,...P(r)});const Zo=Symbol("zod_brand");class yr extends I{_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 Ct extends I{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?k:s.status==="dirty"?(t.dirty(),We(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{const o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?k:o.status==="dirty"?(t.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,t){return new Ct({in:e,out:t,typeName:E.ZodPipeline})}}class St extends I{_parse(e){const t=this._def.innerType._parse(e),n=o=>(lt(o)&&(o.value=Object.freeze(o.value)),o);return ut(t)?t.then(o=>n(o)):n(t)}unwrap(){return this._def.innerType}}St.create=(r,e)=>new St({innerType:r,typeName:E.ZodReadonly,...P(e)});function Kr(r,e={},t){return r?Ke.create().superRefine((n,o)=>{var s,i;if(!r(n)){const c=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,l=(i=(s=c.fatal)!==null&&s!==void 0?s:t)!==null&&i!==void 0?i:!0,u=typeof c=="string"?{message:c}:c;o.addIssue({code:"custom",...u,fatal:l})}}):Ke.create()}const Vo={object:D.lazycreate};var E;(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"})(E||(E={}));const zo=(r,e={message:`Input not instance of ${r.name}`})=>Kr(t=>t instanceof r,e),Hr=te.create,Jr=Te.create,Go=Gt.create,Bo=Re.create,Xr=ft.create,qo=Fe.create,Yo=$t.create,Wo=ht.create,Ko=mt.create,Ho=Ke.create,Jo=Ue.create,Xo=Ee.create,Qo=Zt.create,es=re.create,ts=D.create,rs=D.strictCreate,ns=yt.create,os=Vt.create,ss=_t.create,as=de.create,is=gt.create,cs=zt.create,ls=$e.create,us=Je.create,ds=vt.create,ps=wt.create,fs=Oe.create,hs=bt.create,ms=Xe.create,Qr=ne.create,ys=pe.create,_s=Ne.create,gs=ne.createWithPreprocess,vs=Ct.create;var a=Object.freeze({__proto__:null,defaultErrorMap:Ye,setErrorMap:Co,getErrorMap:Lt,makeIssue:Ft,EMPTY_PATH:So,addIssueToContext:g,ParseStatus:q,INVALID:k,DIRTY:We,OK:W,isAborted:pr,isDirty:fr,isValid:lt,isAsync:ut,get util(){return R},get objectUtil(){return dr},ZodParsedType:v,getParsedType:Ie,ZodType:I,datetimeRegex:Yr,ZodString:te,ZodNumber:Te,ZodBigInt:Re,ZodBoolean:ft,ZodDate:Fe,ZodSymbol:$t,ZodUndefined:ht,ZodNull:mt,ZodAny:Ke,ZodUnknown:Ue,ZodNever:Ee,ZodVoid:Zt,ZodArray:re,ZodObject:D,ZodUnion:yt,ZodDiscriminatedUnion:Vt,ZodIntersection:_t,ZodTuple:de,ZodRecord:gt,ZodMap:zt,ZodSet:$e,ZodFunction:Je,ZodLazy:vt,ZodLiteral:wt,ZodEnum:Oe,ZodNativeEnum:bt,ZodPromise:Xe,ZodEffects:ne,ZodTransformer:ne,ZodOptional:pe,ZodNullable:Ne,ZodDefault:Et,ZodCatch:kt,ZodNaN:Gt,BRAND:Zo,ZodBranded:yr,ZodPipeline:Ct,ZodReadonly:St,custom:Kr,Schema:I,ZodSchema:I,late:Vo,get ZodFirstPartyTypeKind(){return E},coerce:{string:r=>te.create({...r,coerce:!0}),number:r=>Te.create({...r,coerce:!0}),boolean:r=>ft.create({...r,coerce:!0}),bigint:r=>Re.create({...r,coerce:!0}),date:r=>Fe.create({...r,coerce:!0})},any:Ho,array:es,bigint:Bo,boolean:Xr,date:qo,discriminatedUnion:os,effect:Qr,enum:fs,function:us,instanceof:zo,intersection:ss,lazy:ds,literal:ps,map:cs,nan:Go,nativeEnum:hs,never:Xo,null:Ko,nullable:_s,number:Jr,object:ts,oboolean:()=>Xr().optional(),onumber:()=>Jr().optional(),optional:ys,ostring:()=>Hr().optional(),pipeline:vs,preprocess:gs,promise:ms,record:is,set:ls,strictObject:rs,string:Hr,symbol:Yo,transformer:Qr,tuple:as,undefined:Wo,union:ns,unknown:Jo,void:Qo,NEVER:k,ZodIssueCode:m,quotelessJson:ko,ZodError:Q});const ws=a.object({type:a.string(),loc:a.array(a.string()),msg:a.string(),url:a.string()}),bs=a.array(ws),Es=a.object({code:a.string(),message:a.string(),path:a.array(a.string())}),ks=a.array(Es),Cs={"failed to fetch":"Connection error: please double check if you are connected to the internet, then try again"},_r=r=>{const e=r.toLowerCase().trim();return Cs[e]??r},Ss=r=>{try{return typeof JSON.parse(r)=="object"}catch{return!1}},Ps=r=>r.length===1?_r(r[0].msg):`Please fix the following errors:
1
+ (function(be,Le){typeof exports=="object"&&typeof module<"u"?Le(exports):typeof define=="function"&&define.amd?define(["exports"],Le):(be=typeof globalThis<"u"?globalThis:be||self,Le(be.OpenPay={}))})(this,function(be){"use strict";const Le="https://cde.getopenpay.com";var R;(function(r){r.assertEqual=o=>o;function e(o){}r.assertIs=e;function t(o){throw new Error}r.assertNever=t,r.arrayToEnum=o=>{const s={};for(const i of o)s[i]=i;return s},r.getValidEnumValues=o=>{const s=r.objectKeys(o).filter(c=>typeof o[o[c]]!="number"),i={};for(const c of s)i[c]=o[c];return r.objectValues(i)},r.objectValues=o=>r.objectKeys(o).map(function(s){return o[s]}),r.objectKeys=typeof Object.keys=="function"?o=>Object.keys(o):o=>{const s=[];for(const i in o)Object.prototype.hasOwnProperty.call(o,i)&&s.push(i);return s},r.find=(o,s)=>{for(const i of o)if(s(i))return i},r.isInteger=typeof Number.isInteger=="function"?o=>Number.isInteger(o):o=>typeof o=="number"&&isFinite(o)&&Math.floor(o)===o;function n(o,s=" | "){return o.map(i=>typeof i=="string"?`'${i}'`:i).join(s)}r.joinValues=n,r.jsonStringifyReplacer=(o,s)=>typeof s=="bigint"?s.toString():s})(R||(R={}));var dr;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(dr||(dr={}));const v=R.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ie=r=>{switch(typeof r){case"undefined":return v.undefined;case"string":return v.string;case"number":return isNaN(r)?v.nan:v.number;case"boolean":return v.boolean;case"function":return v.function;case"bigint":return v.bigint;case"symbol":return v.symbol;case"object":return Array.isArray(r)?v.array:r===null?v.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?v.promise:typeof Map<"u"&&r instanceof Map?v.map:typeof Set<"u"&&r instanceof Set?v.set:typeof Date<"u"&&r instanceof Date?v.date:v.object;default:return v.unknown}},y=R.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"]),ko=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class Q 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(s){return s.message},n={_errors:[]},o=s=>{for(const i of s.issues)if(i.code==="invalid_union")i.unionErrors.map(o);else if(i.code==="invalid_return_type")o(i.returnTypeError);else if(i.code==="invalid_arguments")o(i.argumentsError);else if(i.path.length===0)n._errors.push(t(i));else{let c=n,l=0;for(;l<i.path.length;){const u=i.path[l];l===i.path.length-1?(c[u]=c[u]||{_errors:[]},c[u]._errors.push(t(i))):c[u]=c[u]||{_errors:[]},c=c[u],l++}}};return o(this),n}static assert(e){if(!(e instanceof Q))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,R.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},n=[];for(const o of this.issues)o.path.length>0?(t[o.path[0]]=t[o.path[0]]||[],t[o.path[0]].push(e(o))):n.push(e(o));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}Q.create=r=>new Q(r);const Ye=(r,e)=>{let t;switch(r.code){case y.invalid_type:r.received===v.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case y.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,R.jsonStringifyReplacer)}`;break;case y.unrecognized_keys:t=`Unrecognized key(s) in object: ${R.joinValues(r.keys,", ")}`;break;case y.invalid_union:t="Invalid input";break;case y.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${R.joinValues(r.options)}`;break;case y.invalid_enum_value:t=`Invalid enum value. Expected ${R.joinValues(r.options)}, received '${r.received}'`;break;case y.invalid_arguments:t="Invalid function arguments";break;case y.invalid_return_type:t="Invalid function return type";break;case y.invalid_date:t="Invalid date";break;case y.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}"`:R.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case y.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 y.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 y.custom:t="Invalid input";break;case y.invalid_intersection_types:t="Intersection results could not be merged";break;case y.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case y.not_finite:t="Number must be finite";break;default:t=e.defaultError,R.assertNever(r)}return{message:t}};let Vr=Ye;function Co(r){Vr=r}function Lt(){return Vr}const Ft=r=>{const{data:e,path:t,errorMaps:n,issueData:o}=r,s=[...t,...o.path||[]],i={...o,path:s};if(o.message!==void 0)return{...o,path:s,message:o.message};let c="";const l=n.filter(u=>!!u).slice().reverse();for(const u of l)c=u(i,{data:e,defaultError:c}).message;return{...o,path:s,message:c}},So=[];function g(r,e){const t=Lt(),n=Ft({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===Ye?void 0:Ye].filter(o=>!!o)});r.common.issues.push(n)}class q{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 o of t){if(o.status==="aborted")return k;o.status==="dirty"&&e.dirty(),n.push(o.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const o of t){const s=await o.key,i=await o.value;n.push({key:s,value:i})}return q.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const o of t){const{key:s,value:i}=o;if(s.status==="aborted"||i.status==="aborted")return k;s.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),s.value!=="__proto__"&&(typeof i.value<"u"||o.alwaysSet)&&(n[s.value]=i.value)}return{status:e.value,value:n}}}const k=Object.freeze({status:"aborted"}),We=r=>({status:"dirty",value:r}),W=r=>({status:"valid",value:r}),pr=r=>r.status==="aborted",fr=r=>r.status==="dirty",lt=r=>r.status==="valid",ut=r=>typeof Promise<"u"&&r instanceof Promise;function Ut(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 zr(r,e,t,n,o){if(typeof e=="function"?r!==e||!o:!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 b;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(b||(b={}));var dt,pt;class ue{constructor(e,t,n,o){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=o}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 Gr=(r,e)=>{if(lt(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 Q(r.common.issues);return this._error=t,this._error}}};function P(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:n,description:o}=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:o}:{errorMap:(i,c)=>{var l,u;const{message:d}=r;return i.code==="invalid_enum_value"?{message:d??c.defaultError}:typeof c.data>"u"?{message:(l=d??n)!==null&&l!==void 0?l:c.defaultError}:i.code!=="invalid_type"?{message:c.defaultError}:{message:(u=d??t)!==null&&u!==void 0?u:c.defaultError}},description:o}}class I{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 Ie(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Ie(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new q,ctx:{common:e.parent.common,data:e.data,parsedType:Ie(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(ut(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 o={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:Ie(e)},s=this._parseSync({data:e,path:o.path,parent:o});return Gr(o,s)}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:Ie(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(ut(o)?o:Promise.resolve(o));return Gr(n,s)}refine(e,t){const n=o=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(o):t;return this._refinement((o,s)=>{const i=e(o),c=()=>s.addIssue({code:y.custom,...n(o)});return typeof Promise<"u"&&i instanceof Promise?i.then(l=>l?!0:(c(),!1)):i?!0:(c(),!1)})}refinement(e,t){return this._refinement((n,o)=>e(n)?!0:(o.addIssue(typeof t=="function"?t(n,o):t),!1))}_refinement(e){return new ne({schema:this,typeName:E.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return pe.create(this,this._def)}nullable(){return Ne.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return re.create(this,this._def)}promise(){return Xe.create(this,this._def)}or(e){return yt.create([this,e],this._def)}and(e){return _t.create(this,e,this._def)}transform(e){return new ne({...P(this._def),schema:this,typeName:E.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new Et({...P(this._def),innerType:this,defaultValue:t,typeName:E.ZodDefault})}brand(){return new yr({typeName:E.ZodBranded,type:this,...P(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new kt({...P(this._def),innerType:this,catchValue:t,typeName:E.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return Ct.create(this,e)}readonly(){return St.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Po=/^c[^\s-]{8,}$/i,Ao=/^[0-9a-z]+$/,xo=/^[0-9A-HJKMNP-TV-Z]{26}$/,Io=/^[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,To=/^[a-z0-9_-]{21}$/i,Ro=/^[-+]?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)?)??$/,Oo=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,No="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let mr;const Mo=/^(?:(?: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])$/,Do=/^(([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})))$/,jo=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Br="((\\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])))",Lo=new RegExp(`^${Br}$`);function qr(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 Fo(r){return new RegExp(`^${qr(r)}$`)}function Yr(r){let e=`${Br}T${qr(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 Uo(r,e){return!!((e==="v4"||!e)&&Mo.test(r)||(e==="v6"||!e)&&Do.test(r))}class te extends I{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==v.string){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.string,received:s.parsedType}),k}const n=new q;let o;for(const s of this._def.checks)if(s.kind==="min")e.data.length<s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="max")e.data.length>s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!1,message:s.message}),n.dirty());else if(s.kind==="length"){const i=e.data.length>s.value,c=e.data.length<s.value;(i||c)&&(o=this._getOrReturnCtx(e,o),i?g(o,{code:y.too_big,maximum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}):c&&g(o,{code:y.too_small,minimum:s.value,type:"string",inclusive:!0,exact:!0,message:s.message}),n.dirty())}else if(s.kind==="email")Oo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"email",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="emoji")mr||(mr=new RegExp(No,"u")),mr.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"emoji",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="uuid")Io.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"uuid",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="nanoid")To.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"nanoid",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid")Po.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"cuid",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="cuid2")Ao.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"cuid2",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="ulid")xo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"ulid",code:y.invalid_string,message:s.message}),n.dirty());else if(s.kind==="url")try{new URL(e.data)}catch{o=this._getOrReturnCtx(e,o),g(o,{validation:"url",code:y.invalid_string,message:s.message}),n.dirty()}else s.kind==="regex"?(s.regex.lastIndex=0,s.regex.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"regex",code:y.invalid_string,message:s.message}),n.dirty())):s.kind==="trim"?e.data=e.data.trim():s.kind==="includes"?e.data.includes(s.value,s.position)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:{includes:s.value,position:s.position},message:s.message}),n.dirty()):s.kind==="toLowerCase"?e.data=e.data.toLowerCase():s.kind==="toUpperCase"?e.data=e.data.toUpperCase():s.kind==="startsWith"?e.data.startsWith(s.value)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:{startsWith:s.value},message:s.message}),n.dirty()):s.kind==="endsWith"?e.data.endsWith(s.value)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:{endsWith:s.value},message:s.message}),n.dirty()):s.kind==="datetime"?Yr(s).test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:"datetime",message:s.message}),n.dirty()):s.kind==="date"?Lo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Fo(s).test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:y.invalid_string,validation:"time",message:s.message}),n.dirty()):s.kind==="duration"?Ro.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"duration",code:y.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?Uo(e.data,s.version)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"ip",code:y.invalid_string,message:s.message}),n.dirty()):s.kind==="base64"?jo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"base64",code:y.invalid_string,message:s.message}),n.dirty()):R.assertNever(s);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(o=>e.test(o),{validation:t,code:y.invalid_string,...b.errToObj(n)})}_addCheck(e){return new te({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...b.errToObj(e)})}url(e){return this._addCheck({kind:"url",...b.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...b.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...b.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...b.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...b.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...b.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...b.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...b.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...b.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,...b.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,...b.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...b.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...b.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...b.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...b.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...b.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...b.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...b.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...b.errToObj(t)})}nonempty(e){return this.min(1,b.errToObj(e))}trim(){return new te({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new te({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new te({...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}}te.create=r=>{var e;return new te({checks:[],typeName:E.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...P(r)})};function $o(r,e){const t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,o=t>n?t:n,s=parseInt(r.toFixed(o).replace(".","")),i=parseInt(e.toFixed(o).replace(".",""));return s%i/Math.pow(10,o)}class Te extends I{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)!==v.number){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.number,received:s.parsedType}),k}let n;const o=new q;for(const s of this._def.checks)s.kind==="int"?R.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),g(n,{code:y.invalid_type,expected:"integer",received:"float",message:s.message}),o.dirty()):s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.too_small,minimum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.too_big,maximum:s.value,type:"number",inclusive:s.inclusive,exact:!1,message:s.message}),o.dirty()):s.kind==="multipleOf"?$o(e.data,s.value)!==0&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):s.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),g(n,{code:y.not_finite,message:s.message}),o.dirty()):R.assertNever(s);return{status:o.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,b.toString(t))}gt(e,t){return this.setLimit("min",e,!1,b.toString(t))}lte(e,t){return this.setLimit("max",e,!0,b.toString(t))}lt(e,t){return this.setLimit("max",e,!1,b.toString(t))}setLimit(e,t,n,o){return new Te({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:b.toString(o)}]})}_addCheck(e){return new Te({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:b.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:b.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:b.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:b.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:b.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:b.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"&&R.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)}}Te.create=r=>new Te({checks:[],typeName:E.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...P(r)});class Re extends I{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)!==v.bigint){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.bigint,received:s.parsedType}),k}let n;const o=new q;for(const s of this._def.checks)s.kind==="min"?(s.inclusive?e.data<s.value:e.data<=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.too_small,type:"bigint",minimum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="max"?(s.inclusive?e.data>s.value:e.data>=s.value)&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.too_big,type:"bigint",maximum:s.value,inclusive:s.inclusive,message:s.message}),o.dirty()):s.kind==="multipleOf"?e.data%s.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),g(n,{code:y.not_multiple_of,multipleOf:s.value,message:s.message}),o.dirty()):R.assertNever(s);return{status:o.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,b.toString(t))}gt(e,t){return this.setLimit("min",e,!1,b.toString(t))}lte(e,t){return this.setLimit("max",e,!0,b.toString(t))}lt(e,t){return this.setLimit("max",e,!1,b.toString(t))}setLimit(e,t,n,o){return new Re({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:b.toString(o)}]})}_addCheck(e){return new Re({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:b.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:b.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:b.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:b.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:b.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}}Re.create=r=>{var e;return new Re({checks:[],typeName:E.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...P(r)})};class ft extends I{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==v.boolean){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.boolean,received:n.parsedType}),k}return W(e.data)}}ft.create=r=>new ft({typeName:E.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...P(r)});class Fe extends I{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==v.date){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_type,expected:v.date,received:s.parsedType}),k}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return g(s,{code:y.invalid_date}),k}const n=new q;let o;for(const s of this._def.checks)s.kind==="min"?e.data.getTime()<s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_small,message:s.message,inclusive:!0,exact:!1,minimum:s.value,type:"date"}),n.dirty()):s.kind==="max"?e.data.getTime()>s.value&&(o=this._getOrReturnCtx(e,o),g(o,{code:y.too_big,message:s.message,inclusive:!0,exact:!1,maximum:s.value,type:"date"}),n.dirty()):R.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Fe({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:b.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:b.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}}Fe.create=r=>new Fe({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:E.ZodDate,...P(r)});class $t extends I{_parse(e){if(this._getType(e)!==v.symbol){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.symbol,received:n.parsedType}),k}return W(e.data)}}$t.create=r=>new $t({typeName:E.ZodSymbol,...P(r)});class mt extends I{_parse(e){if(this._getType(e)!==v.undefined){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.undefined,received:n.parsedType}),k}return W(e.data)}}mt.create=r=>new mt({typeName:E.ZodUndefined,...P(r)});class ht extends I{_parse(e){if(this._getType(e)!==v.null){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.null,received:n.parsedType}),k}return W(e.data)}}ht.create=r=>new ht({typeName:E.ZodNull,...P(r)});class Ke extends I{constructor(){super(...arguments),this._any=!0}_parse(e){return W(e.data)}}Ke.create=r=>new Ke({typeName:E.ZodAny,...P(r)});class Ue extends I{constructor(){super(...arguments),this._unknown=!0}_parse(e){return W(e.data)}}Ue.create=r=>new Ue({typeName:E.ZodUnknown,...P(r)});class Ee extends I{_parse(e){const t=this._getOrReturnCtx(e);return g(t,{code:y.invalid_type,expected:v.never,received:t.parsedType}),k}}Ee.create=r=>new Ee({typeName:E.ZodNever,...P(r)});class Zt extends I{_parse(e){if(this._getType(e)!==v.undefined){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.void,received:n.parsedType}),k}return W(e.data)}}Zt.create=r=>new Zt({typeName:E.ZodVoid,...P(r)});class re extends I{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),o=this._def;if(t.parsedType!==v.array)return g(t,{code:y.invalid_type,expected:v.array,received:t.parsedType}),k;if(o.exactLength!==null){const i=t.data.length>o.exactLength.value,c=t.data.length<o.exactLength.value;(i||c)&&(g(t,{code:i?y.too_big:y.too_small,minimum:c?o.exactLength.value:void 0,maximum:i?o.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:o.exactLength.message}),n.dirty())}if(o.minLength!==null&&t.data.length<o.minLength.value&&(g(t,{code:y.too_small,minimum:o.minLength.value,type:"array",inclusive:!0,exact:!1,message:o.minLength.message}),n.dirty()),o.maxLength!==null&&t.data.length>o.maxLength.value&&(g(t,{code:y.too_big,maximum:o.maxLength.value,type:"array",inclusive:!0,exact:!1,message:o.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((i,c)=>o.type._parseAsync(new ue(t,i,t.path,c)))).then(i=>q.mergeArray(n,i));const s=[...t.data].map((i,c)=>o.type._parseSync(new ue(t,i,t.path,c)));return q.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new re({...this._def,minLength:{value:e,message:b.toString(t)}})}max(e,t){return new re({...this._def,maxLength:{value:e,message:b.toString(t)}})}length(e,t){return new re({...this._def,exactLength:{value:e,message:b.toString(t)}})}nonempty(e){return this.min(1,e)}}re.create=(r,e)=>new re({type:r,minLength:null,maxLength:null,exactLength:null,typeName:E.ZodArray,...P(e)});function He(r){if(r instanceof D){const e={};for(const t in r.shape){const n=r.shape[t];e[t]=pe.create(He(n))}return new D({...r._def,shape:()=>e})}else return r instanceof re?new re({...r._def,type:He(r.element)}):r instanceof pe?pe.create(He(r.unwrap())):r instanceof Ne?Ne.create(He(r.unwrap())):r instanceof de?de.create(r.items.map(e=>He(e))):r}class D extends I{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=R.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==v.object){const u=this._getOrReturnCtx(e);return g(u,{code:y.invalid_type,expected:v.object,received:u.parsedType}),k}const{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),c=[];if(!(this._def.catchall instanceof Ee&&this._def.unknownKeys==="strip"))for(const u in o.data)i.includes(u)||c.push(u);const l=[];for(const u of i){const d=s[u],p=o.data[u];l.push({key:{status:"valid",value:u},value:d._parse(new ue(o,p,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof Ee){const u=this._def.unknownKeys;if(u==="passthrough")for(const d of c)l.push({key:{status:"valid",value:d},value:{status:"valid",value:o.data[d]}});else if(u==="strict")c.length>0&&(g(o,{code:y.unrecognized_keys,keys:c}),n.dirty());else if(u!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const u=this._def.catchall;for(const d of c){const p=o.data[d];l.push({key:{status:"valid",value:d},value:u._parse(new ue(o,p,o.path,d)),alwaysSet:d in o.data})}}return o.common.async?Promise.resolve().then(async()=>{const u=[];for(const d of l){const p=await d.key,_=await d.value;u.push({key:p,value:_,alwaysSet:d.alwaysSet})}return u}).then(u=>q.mergeObjectSync(n,u)):q.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return b.errToObj,new D({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{var o,s,i,c;const l=(i=(s=(o=this._def).errorMap)===null||s===void 0?void 0:s.call(o,t,n).message)!==null&&i!==void 0?i:n.defaultError;return t.code==="unrecognized_keys"?{message:(c=b.errToObj(e).message)!==null&&c!==void 0?c:l}:{message:l}}}:{}})}strip(){return new D({...this._def,unknownKeys:"strip"})}passthrough(){return new D({...this._def,unknownKeys:"passthrough"})}extend(e){return new D({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new D({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:E.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new D({...this._def,catchall:e})}pick(e){const t={};return R.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new D({...this._def,shape:()=>t})}omit(e){const t={};return R.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new D({...this._def,shape:()=>t})}deepPartial(){return He(this)}partial(e){const t={};return R.objectKeys(this.shape).forEach(n=>{const o=this.shape[n];e&&!e[n]?t[n]=o:t[n]=o.optional()}),new D({...this._def,shape:()=>t})}required(e){const t={};return R.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof pe;)s=s._def.innerType;t[n]=s}}),new D({...this._def,shape:()=>t})}keyof(){return Wr(R.objectKeys(this.shape))}}D.create=(r,e)=>new D({shape:()=>r,unknownKeys:"strip",catchall:Ee.create(),typeName:E.ZodObject,...P(e)}),D.strictCreate=(r,e)=>new D({shape:()=>r,unknownKeys:"strict",catchall:Ee.create(),typeName:E.ZodObject,...P(e)}),D.lazycreate=(r,e)=>new D({shape:r,unknownKeys:"strip",catchall:Ee.create(),typeName:E.ZodObject,...P(e)});class yt extends I{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;function o(s){for(const c of s)if(c.result.status==="valid")return c.result;for(const c of s)if(c.result.status==="dirty")return t.common.issues.push(...c.ctx.common.issues),c.result;const i=s.map(c=>new Q(c.ctx.common.issues));return g(t,{code:y.invalid_union,unionErrors:i}),k}if(t.common.async)return Promise.all(n.map(async s=>{const i={...t,common:{...t.common,issues:[]},parent:null};return{result:await s._parseAsync({data:t.data,path:t.path,parent:i}),ctx:i}})).then(o);{let s;const i=[];for(const l of n){const u={...t,common:{...t.common,issues:[]},parent:null},d=l._parseSync({data:t.data,path:t.path,parent:u});if(d.status==="valid")return d;d.status==="dirty"&&!s&&(s={result:d,ctx:u}),u.common.issues.length&&i.push(u.common.issues)}if(s)return t.common.issues.push(...s.ctx.common.issues),s.result;const c=i.map(l=>new Q(l));return g(t,{code:y.invalid_union,unionErrors:c}),k}}get options(){return this._def.options}}yt.create=(r,e)=>new yt({options:r,typeName:E.ZodUnion,...P(e)});const ke=r=>r instanceof vt?ke(r.schema):r instanceof ne?ke(r.innerType()):r instanceof wt?[r.value]:r instanceof Oe?r.options:r instanceof bt?R.objectValues(r.enum):r instanceof Et?ke(r._def.innerType):r instanceof mt?[void 0]:r instanceof ht?[null]:r instanceof pe?[void 0,...ke(r.unwrap())]:r instanceof Ne?[null,...ke(r.unwrap())]:r instanceof yr||r instanceof St?ke(r.unwrap()):r instanceof kt?ke(r._def.innerType):[];class Vt extends I{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==v.object)return g(t,{code:y.invalid_type,expected:v.object,received:t.parsedType}),k;const n=this.discriminator,o=t.data[n],s=this.optionsMap.get(o);return s?t.common.async?s._parseAsync({data:t.data,path:t.path,parent:t}):s._parseSync({data:t.data,path:t.path,parent:t}):(g(t,{code:y.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 o=new Map;for(const s of t){const i=ke(s.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const c of i){if(o.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);o.set(c,s)}}return new Vt({typeName:E.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:o,...P(n)})}}function hr(r,e){const t=Ie(r),n=Ie(e);if(r===e)return{valid:!0,data:r};if(t===v.object&&n===v.object){const o=R.objectKeys(e),s=R.objectKeys(r).filter(c=>o.indexOf(c)!==-1),i={...r,...e};for(const c of s){const l=hr(r[c],e[c]);if(!l.valid)return{valid:!1};i[c]=l.data}return{valid:!0,data:i}}else if(t===v.array&&n===v.array){if(r.length!==e.length)return{valid:!1};const o=[];for(let s=0;s<r.length;s++){const i=r[s],c=e[s],l=hr(i,c);if(!l.valid)return{valid:!1};o.push(l.data)}return{valid:!0,data:o}}else return t===v.date&&n===v.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}class _t extends I{_parse(e){const{status:t,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(pr(s)||pr(i))return k;const c=hr(s.value,i.value);return c.valid?((fr(s)||fr(i))&&t.dirty(),{status:t.value,value:c.data}):(g(n,{code:y.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(([s,i])=>o(s,i)):o(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}_t.create=(r,e,t)=>new _t({left:r,right:e,typeName:E.ZodIntersection,...P(t)});class de extends I{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.array)return g(n,{code:y.invalid_type,expected:v.array,received:n.parsedType}),k;if(n.data.length<this._def.items.length)return g(n,{code:y.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),k;!this._def.rest&&n.data.length>this._def.items.length&&(g(n,{code:y.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const s=[...n.data].map((i,c)=>{const l=this._def.items[c]||this._def.rest;return l?l._parse(new ue(n,i,n.path,c)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>q.mergeArray(t,i)):q.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new de({...this._def,rest:e})}}de.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new de({items:r,typeName:E.ZodTuple,rest:null,...P(e)})};class gt extends I{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!==v.object)return g(n,{code:y.invalid_type,expected:v.object,received:n.parsedType}),k;const o=[],s=this._def.keyType,i=this._def.valueType;for(const c in n.data)o.push({key:s._parse(new ue(n,c,n.path,c)),value:i._parse(new ue(n,n.data[c],n.path,c)),alwaysSet:c in n.data});return n.common.async?q.mergeObjectAsync(t,o):q.mergeObjectSync(t,o)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof I?new gt({keyType:e,valueType:t,typeName:E.ZodRecord,...P(n)}):new gt({keyType:te.create(),valueType:e,typeName:E.ZodRecord,...P(t)})}}class zt extends I{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!==v.map)return g(n,{code:y.invalid_type,expected:v.map,received:n.parsedType}),k;const o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([c,l],u)=>({key:o._parse(new ue(n,c,n.path,[u,"key"])),value:s._parse(new ue(n,l,n.path,[u,"value"]))}));if(n.common.async){const c=new Map;return Promise.resolve().then(async()=>{for(const l of i){const u=await l.key,d=await l.value;if(u.status==="aborted"||d.status==="aborted")return k;(u.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(u.value,d.value)}return{status:t.value,value:c}})}else{const c=new Map;for(const l of i){const u=l.key,d=l.value;if(u.status==="aborted"||d.status==="aborted")return k;(u.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(u.value,d.value)}return{status:t.value,value:c}}}}zt.create=(r,e,t)=>new zt({valueType:e,keyType:r,typeName:E.ZodMap,...P(t)});class $e extends I{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.set)return g(n,{code:y.invalid_type,expected:v.set,received:n.parsedType}),k;const o=this._def;o.minSize!==null&&n.data.size<o.minSize.value&&(g(n,{code:y.too_small,minimum:o.minSize.value,type:"set",inclusive:!0,exact:!1,message:o.minSize.message}),t.dirty()),o.maxSize!==null&&n.data.size>o.maxSize.value&&(g(n,{code:y.too_big,maximum:o.maxSize.value,type:"set",inclusive:!0,exact:!1,message:o.maxSize.message}),t.dirty());const s=this._def.valueType;function i(l){const u=new Set;for(const d of l){if(d.status==="aborted")return k;d.status==="dirty"&&t.dirty(),u.add(d.value)}return{status:t.value,value:u}}const c=[...n.data.values()].map((l,u)=>s._parse(new ue(n,l,n.path,u)));return n.common.async?Promise.all(c).then(l=>i(l)):i(c)}min(e,t){return new $e({...this._def,minSize:{value:e,message:b.toString(t)}})}max(e,t){return new $e({...this._def,maxSize:{value:e,message:b.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}$e.create=(r,e)=>new $e({valueType:r,minSize:null,maxSize:null,typeName:E.ZodSet,...P(e)});class Je extends I{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==v.function)return g(t,{code:y.invalid_type,expected:v.function,received:t.parsedType}),k;function n(c,l){return Ft({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Lt(),Ye].filter(u=>!!u),issueData:{code:y.invalid_arguments,argumentsError:l}})}function o(c,l){return Ft({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Lt(),Ye].filter(u=>!!u),issueData:{code:y.invalid_return_type,returnTypeError:l}})}const s={errorMap:t.common.contextualErrorMap},i=t.data;if(this._def.returns instanceof Xe){const c=this;return W(async function(...l){const u=new Q([]),d=await c._def.args.parseAsync(l,s).catch(f=>{throw u.addIssue(n(l,f)),u}),p=await Reflect.apply(i,this,d);return await c._def.returns._def.type.parseAsync(p,s).catch(f=>{throw u.addIssue(o(p,f)),u})})}else{const c=this;return W(function(...l){const u=c._def.args.safeParse(l,s);if(!u.success)throw new Q([n(l,u.error)]);const d=Reflect.apply(i,this,u.data),p=c._def.returns.safeParse(d,s);if(!p.success)throw new Q([o(d,p.error)]);return p.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new Je({...this._def,args:de.create(e).rest(Ue.create())})}returns(e){return new Je({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new Je({args:e||de.create([]).rest(Ue.create()),returns:t||Ue.create(),typeName:E.ZodFunction,...P(n)})}}class vt extends I{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})}}vt.create=(r,e)=>new vt({getter:r,typeName:E.ZodLazy,...P(e)});class wt extends I{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return g(t,{received:t.data,code:y.invalid_literal,expected:this._def.value}),k}return{status:"valid",value:e.data}}get value(){return this._def.value}}wt.create=(r,e)=>new wt({value:r,typeName:E.ZodLiteral,...P(e)});function Wr(r,e){return new Oe({values:r,typeName:E.ZodEnum,...P(e)})}class Oe extends I{constructor(){super(...arguments),dt.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),n=this._def.values;return g(t,{expected:R.joinValues(n),received:t.parsedType,code:y.invalid_type}),k}if(Ut(this,dt)||zr(this,dt,new Set(this._def.values)),!Ut(this,dt).has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return g(t,{received:t.data,code:y.invalid_enum_value,options:n}),k}return W(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 Oe.create(e,{...this._def,...t})}exclude(e,t=this._def){return Oe.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}}dt=new WeakMap,Oe.create=Wr;class bt extends I{constructor(){super(...arguments),pt.set(this,void 0)}_parse(e){const t=R.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==v.string&&n.parsedType!==v.number){const o=R.objectValues(t);return g(n,{expected:R.joinValues(o),received:n.parsedType,code:y.invalid_type}),k}if(Ut(this,pt)||zr(this,pt,new Set(R.getValidEnumValues(this._def.values))),!Ut(this,pt).has(e.data)){const o=R.objectValues(t);return g(n,{received:n.data,code:y.invalid_enum_value,options:o}),k}return W(e.data)}get enum(){return this._def.values}}pt=new WeakMap,bt.create=(r,e)=>new bt({values:r,typeName:E.ZodNativeEnum,...P(e)});class Xe extends I{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==v.promise&&t.common.async===!1)return g(t,{code:y.invalid_type,expected:v.promise,received:t.parsedType}),k;const n=t.parsedType===v.promise?t.data:Promise.resolve(t.data);return W(n.then(o=>this._def.type.parseAsync(o,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Xe.create=(r,e)=>new Xe({type:r,typeName:E.ZodPromise,...P(e)});class ne extends I{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===E.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),o=this._def.effect||null,s={addIssue:i=>{g(n,i),i.fatal?t.abort():t.dirty()},get path(){return n.path}};if(s.addIssue=s.addIssue.bind(s),o.type==="preprocess"){const i=o.transform(n.data,s);if(n.common.async)return Promise.resolve(i).then(async c=>{if(t.value==="aborted")return k;const l=await this._def.schema._parseAsync({data:c,path:n.path,parent:n});return l.status==="aborted"?k:l.status==="dirty"||t.value==="dirty"?We(l.value):l});{if(t.value==="aborted")return k;const c=this._def.schema._parseSync({data:i,path:n.path,parent:n});return c.status==="aborted"?k:c.status==="dirty"||t.value==="dirty"?We(c.value):c}}if(o.type==="refinement"){const i=c=>{const l=o.refinement(c,s);if(n.common.async)return Promise.resolve(l);if(l 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(),i(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(),i(c.value).then(()=>({status:t.value,value:c.value}))))}if(o.type==="transform")if(n.common.async===!1){const i=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!lt(i))return i;const c=o.transform(i.value,s);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(i=>lt(i)?Promise.resolve(o.transform(i.value,s)).then(c=>({status:t.value,value:c})):i);R.assertNever(o)}}ne.create=(r,e,t)=>new ne({schema:r,typeName:E.ZodEffects,effect:e,...P(t)}),ne.createWithPreprocess=(r,e,t)=>new ne({schema:e,effect:{type:"preprocess",transform:r},typeName:E.ZodEffects,...P(t)});class pe extends I{_parse(e){return this._getType(e)===v.undefined?W(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}pe.create=(r,e)=>new pe({innerType:r,typeName:E.ZodOptional,...P(e)});class Ne extends I{_parse(e){return this._getType(e)===v.null?W(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Ne.create=(r,e)=>new Ne({innerType:r,typeName:E.ZodNullable,...P(e)});class Et extends I{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===v.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}Et.create=(r,e)=>new Et({innerType:r,typeName:E.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...P(e)});class kt extends I{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},o=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return ut(o)?o.then(s=>({status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Q(n.common.issues)},input:n.data})})):{status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Q(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}kt.create=(r,e)=>new kt({innerType:r,typeName:E.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...P(e)});class Gt extends I{_parse(e){if(this._getType(e)!==v.nan){const n=this._getOrReturnCtx(e);return g(n,{code:y.invalid_type,expected:v.nan,received:n.parsedType}),k}return{status:"valid",value:e.data}}}Gt.create=r=>new Gt({typeName:E.ZodNaN,...P(r)});const Zo=Symbol("zod_brand");class yr extends I{_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 Ct extends I{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const s=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?k:s.status==="dirty"?(t.dirty(),We(s.value)):this._def.out._parseAsync({data:s.value,path:n.path,parent:n})})();{const o=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?k:o.status==="dirty"?(t.dirty(),{status:"dirty",value:o.value}):this._def.out._parseSync({data:o.value,path:n.path,parent:n})}}static create(e,t){return new Ct({in:e,out:t,typeName:E.ZodPipeline})}}class St extends I{_parse(e){const t=this._def.innerType._parse(e),n=o=>(lt(o)&&(o.value=Object.freeze(o.value)),o);return ut(t)?t.then(o=>n(o)):n(t)}unwrap(){return this._def.innerType}}St.create=(r,e)=>new St({innerType:r,typeName:E.ZodReadonly,...P(e)});function Kr(r,e={},t){return r?Ke.create().superRefine((n,o)=>{var s,i;if(!r(n)){const c=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,l=(i=(s=c.fatal)!==null&&s!==void 0?s:t)!==null&&i!==void 0?i:!0,u=typeof c=="string"?{message:c}:c;o.addIssue({code:"custom",...u,fatal:l})}}):Ke.create()}const Vo={object:D.lazycreate};var E;(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"})(E||(E={}));const zo=(r,e={message:`Input not instance of ${r.name}`})=>Kr(t=>t instanceof r,e),Hr=te.create,Jr=Te.create,Go=Gt.create,Bo=Re.create,Xr=ft.create,qo=Fe.create,Yo=$t.create,Wo=mt.create,Ko=ht.create,Ho=Ke.create,Jo=Ue.create,Xo=Ee.create,Qo=Zt.create,es=re.create,ts=D.create,rs=D.strictCreate,ns=yt.create,os=Vt.create,ss=_t.create,as=de.create,is=gt.create,cs=zt.create,ls=$e.create,us=Je.create,ds=vt.create,ps=wt.create,fs=Oe.create,ms=bt.create,hs=Xe.create,Qr=ne.create,ys=pe.create,_s=Ne.create,gs=ne.createWithPreprocess,vs=Ct.create;var a=Object.freeze({__proto__:null,defaultErrorMap:Ye,setErrorMap:Co,getErrorMap:Lt,makeIssue:Ft,EMPTY_PATH:So,addIssueToContext:g,ParseStatus:q,INVALID:k,DIRTY:We,OK:W,isAborted:pr,isDirty:fr,isValid:lt,isAsync:ut,get util(){return R},get objectUtil(){return dr},ZodParsedType:v,getParsedType:Ie,ZodType:I,datetimeRegex:Yr,ZodString:te,ZodNumber:Te,ZodBigInt:Re,ZodBoolean:ft,ZodDate:Fe,ZodSymbol:$t,ZodUndefined:mt,ZodNull:ht,ZodAny:Ke,ZodUnknown:Ue,ZodNever:Ee,ZodVoid:Zt,ZodArray:re,ZodObject:D,ZodUnion:yt,ZodDiscriminatedUnion:Vt,ZodIntersection:_t,ZodTuple:de,ZodRecord:gt,ZodMap:zt,ZodSet:$e,ZodFunction:Je,ZodLazy:vt,ZodLiteral:wt,ZodEnum:Oe,ZodNativeEnum:bt,ZodPromise:Xe,ZodEffects:ne,ZodTransformer:ne,ZodOptional:pe,ZodNullable:Ne,ZodDefault:Et,ZodCatch:kt,ZodNaN:Gt,BRAND:Zo,ZodBranded:yr,ZodPipeline:Ct,ZodReadonly:St,custom:Kr,Schema:I,ZodSchema:I,late:Vo,get ZodFirstPartyTypeKind(){return E},coerce:{string:r=>te.create({...r,coerce:!0}),number:r=>Te.create({...r,coerce:!0}),boolean:r=>ft.create({...r,coerce:!0}),bigint:r=>Re.create({...r,coerce:!0}),date:r=>Fe.create({...r,coerce:!0})},any:Ho,array:es,bigint:Bo,boolean:Xr,date:qo,discriminatedUnion:os,effect:Qr,enum:fs,function:us,instanceof:zo,intersection:ss,lazy:ds,literal:ps,map:cs,nan:Go,nativeEnum:ms,never:Xo,null:Ko,nullable:_s,number:Jr,object:ts,oboolean:()=>Xr().optional(),onumber:()=>Jr().optional(),optional:ys,ostring:()=>Hr().optional(),pipeline:vs,preprocess:gs,promise:hs,record:is,set:ls,strictObject:rs,string:Hr,symbol:Yo,transformer:Qr,tuple:as,undefined:Wo,union:ns,unknown:Jo,void:Qo,NEVER:k,ZodIssueCode:y,quotelessJson:ko,ZodError:Q});const ws=a.object({type:a.string(),loc:a.array(a.string()),msg:a.string(),url:a.string()}),bs=a.array(ws),Es=a.object({code:a.string(),message:a.string(),path:a.array(a.string())}),ks=a.array(Es),Cs={"failed to fetch":"Connection error: please double check if you are connected to the internet, then try again"},_r=r=>{const e=r.toLowerCase().trim();return Cs[e]??r},Ss=r=>{try{return typeof JSON.parse(r)=="object"}catch{return!1}},Ps=r=>r.length===1?_r(r[0].msg):`Please fix the following errors:
2
2
  ${r.map(t=>`• ${_r(t.msg)}`).join(`
3
3
  `)}`,As=r=>`Encountered the following errors:
4
4
  ${r.map(t=>`- ${t.path.join("/")}: ${t.message}`).join(`
5
5
  `)}`,fe=r=>{if(r instanceof Error)if(Ss(r.message)){const e=JSON.parse(r.message);return bs.safeParse(e).success?Ps(e):ks.safeParse(e).success?As(e):(console.warn(`Encountered unknown stringified JSON object:
6
- ${r.message}`),r.message)}else return _r(r.message);if(typeof r=="object")try{return JSON.stringify(r)}catch(e){return e+""}else return r+""},xs=(r,e,t)=>(...n)=>{try{return e(...n)}catch(o){t(`[form] Error running callback (${r}):`,o);return}};var ee=(r=>(r.pockytPaypal="pockyt-paypal",r.airwallexGooglePay="airwallex-google-pay",r.airwallexApplePay="airwallex-apple-pay",r.authorizenetGooglePay="authorizenet-google-pay",r.authorizenetApplePay="authorizenet-apple-pay",r.loopCrypto="loop-crypto",r))(ee||{});const Is=a.nativeEnum(ee),U=a.string().trim().min(1,{message:"Cannot be blank"}),j=a.string().trim().optional(),J=r=>a.nullable(r.optional());var y=(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))(y||{});const en=a.nativeEnum(y);var tn=(r=>(r.CARD_NUMBER="cardNumber",r.CARD_EXPIRY="cardExpiry",r.CARD_CVC="cardCvc",r))(tn||{});const rn=a.nativeEnum(tn),nn=a.union([en,rn]);var Ce=(r=>(r.CARD="card",r.CARD_NUMBER="card-number",r.CARD_EXPIRY="card-expiry",r.CARD_CVC="card-cvc",r.CDE_BRIDGE="cde-bridge",r))(Ce||{});const Ts=a.nativeEnum(Ce),Bt=a.object({provider:a.string(),processor_name:J(a.string()),metadata:J(a.record(a.string(),a.any()))}),Rs=a.object({id:a.string()});a.object({cardNumber:j,expiry:j,cvc:j}),a.object({backgroundColor:j,color:j,fontFamily:j,fontSize:j,fontWeight:j,margin:j,padding:j,letterSpacing:j,lineHeight:j,hideIcon:j});const oe=a.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"]),Os=oe.extract(["TOKENIZE_STARTED","CHECKOUT_STARTED"]),Ns=a.object({type:Os}),Ms=oe.extract(["BLUR","FOCUS","CHANGE"]),Ds=a.object({type:Ms,elementType:rn,errors:a.array(a.string()).optional()}),js=oe.extract(["LOAD_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR"]),Ls=a.object({type:js,message:U,headers:a.record(a.string(),a.string()).optional()}),Fs=oe.extract(["VALIDATION_ERROR"]),Us=a.object({type:Fs,elementType:nn,errors:a.array(a.string())}),$s=a.object({type:a.literal(oe.enum.LAYOUT),height:U}),Zs=a.object({type:a.literal(oe.enum.LOADED),sessionId:U,totalAmountAtoms:a.number(),currency:j,checkoutPaymentMethods:a.array(Bt)}),Vs=a.object({type:a.literal(oe.enum.PAYMENT_FLOW_STARTED),nextActionMetadata:a.record(a.string(),a.any()),paymentFlowMetadata:a.any().optional(),startPFMetadata:a.optional(a.record(a.string(),a.any()))}),zs=a.object({type:a.literal(oe.enum.SETUP_PAYMENT_METHOD_SUCCESS),paymentMethodId:a.string()}),Pt=a.object({firstName:U,lastName:U,email:U,zipCode:U,country:U,promotionCode:j}),Gs=a.object({firstName:j,lastName:j,email:U,zipCode:U,country:U,promotionCode:j,address:j,city:j,state:j}),Bs=oe.extract(["TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),qs=a.object({type:Bs,sessionId:U,checkoutPaymentMethod:Bt,paymentFlowMetadata:a.any().optional(),doNotUseLegacyCCFlow:a.boolean().optional(),existingCCPMId:j}).extend(Pt.shape),Ys=a.object({type:a.literal(oe.enum.TOKENIZE_SUCCESS),isReadyForCheckout:a.boolean()}),Ws=a.object({type:a.literal(oe.enum.CHECKOUT_SUCCESS),invoiceUrls:a.array(a.string()),subscriptionIds:a.array(a.string()),customerId:a.string()}),Ks=a.discriminatedUnion("type",[Ns,Ds,Ls,Us,$s,Zs,qs,Ys,Ws,Vs,zs]),Hs=a.object({payload:Ks,nonce:U,formId:U,elementId:U});a.object({amountAtom:a.number(),currency:U}),a.enum(["apple_pay","google_pay"]),a.object({secure_token:a.string(),promotion_code:a.string().optional()}),a.object({secure_token:a.string(),existing_cc_pm_id:J(a.string()),their_pm_id:J(a.string()),checkout_attempt_id:J(a.string()),processor_specific_metadata:J(a.record(a.string(),a.any()))});const gr=a.object({invoice_urls:a.array(a.string()),subscription_ids:a.array(a.string()),customer_id:a.string(),processors_used:a.optional(a.array(a.string()))}),Js=a.object({elementType:a.string(),errors:a.array(a.string())});a.object({session_id:a.string()});const Xs=a.object({success:a.literal(!1),error_type:a.literal("validation_error"),errors:a.array(Js)}),Qs=a.discriminatedUnion("success",[a.object({success:a.literal(!0)}),Xs]);a.object({session_id:a.string(),checkout_payment_method:Bt,non_cde_form_fields:Pt,do_not_use_legacy_cc_flow:a.boolean().optional(),existing_cc_pm_id:J(a.string()),extra_metadata:a.record(a.string(),a.any())}),a.object({session_id:a.string(),checkout_payment_method:Bt,non_cde_form_fields:Pt,extra_metadata:a.record(a.string(),a.any()).optional()});var $=(r=>(r.SUCCESS="success",r.FAILURE="failure",r.CANCELLED="cancelled",r))($||{});const ea=a.object({status:a.enum(["success","failure","cancelled"]),href:a.string().optional().nullable()});a.object({href:a.string().optional().nullable()});const ta=a.object({type:a.string(),redirect_url:a.string(),initial_intent_id:a.string(),consent_id:a.string(),their_pm_id:a.string().optional()}),on=a.object({type:a.string(),redirect_url:J(a.string()),initial_intent_id:J(a.string()),consent_id:J(a.string()),their_pm_id:J(a.string()),payment_session:J(a.record(a.string(),a.any()))}),ra=a.discriminatedUnion("present",[a.object({present:a.literal(!0),href:a.string()}),a.object({present:a.literal(!1)})]),na=a.object({payment_methods:a.array(Rs),pay_first_success_response:J(gr),required_user_actions:J(a.array(on))}),sn=r=>{const e={};return Object.entries(r).forEach(([t,n])=>{try{const o=en.parse(t);Array.isArray(n)?e[o]=n:Array.isArray(n._errors)&&(e[o]=n._errors)}catch{return}}),e},oa=a.object({stripe_pk:a.string(),client_secret:a.string(),stripe_pm_id:a.string()}),sa=a.object({type:a.string(),client_secret:a.string(),stripe_pk:a.string()}),aa={usd:"usd",brl:"brl"},qt=async r=>{for(let t=0;t<10;t++)an()||await vr(500);if(!an())throw console.log("Stripe JS not found."),new Error("Stripe JS not found.");return new Stripe(r)},ia=async(r,e)=>{const t=await qt(r);return{elements:t.elements(e),stripe:t}},ca=async(r,e,t,n,o)=>{const s=await qt(r),i=aa[t.toLowerCase().trim()];return s.paymentRequest({country:"US",currency:i,total:{label:"Total",amount:e,pending:n},requestPayerName:!0,requestPayerEmail:!0,disableWallets:[]})},vr=r=>new Promise(e=>{setTimeout(e,r)}),an=()=>"Stripe"in window,la=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)}}),ua=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 qt(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},da=async r=>{var o,s,i,c;const t=await(await qt(r.stripe_pk)).confirmCardSetup(r.client_secret,{payment_method:r.stripe_pm_id}),n=(o=t.setupIntent)==null?void 0:o.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(`${((s=t.error)==null?void 0:s.message)??((c=(i=t.setupIntent)==null?void 0:i.last_setup_error)==null?void 0:c.message)??"Payment failed, please click submit again to pay."}`)},pa=r=>JSON.stringify(r);for(var V=[],wr=0;wr<256;++wr)V.push((wr+256).toString(16).slice(1));function fa(r,e=0){return(V[r[e+0]]+V[r[e+1]]+V[r[e+2]]+V[r[e+3]]+"-"+V[r[e+4]]+V[r[e+5]]+"-"+V[r[e+6]]+V[r[e+7]]+"-"+V[r[e+8]]+V[r[e+9]]+"-"+V[r[e+10]]+V[r[e+11]]+V[r[e+12]]+V[r[e+13]]+V[r[e+14]]+V[r[e+15]]).toLowerCase()}var Yt,ha=new Uint8Array(16);function ma(){if(!Yt&&(Yt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Yt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Yt(ha)}var ya=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const cn={randomUUID:ya};function br(r,e,t){if(cn.randomUUID&&!e&&!r)return cn.randomUUID();r=r||{};var n=r.random||(r.rng||ma)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,fa(n)}const he=(r,e)=>Array.from(r.querySelectorAll("[data-opid]")??[]).reduce((o,s)=>{const i=s.getAttribute("data-opid");return i?{...o,[i]:s.value}:o},{}),_a=r=>{try{return Hs.parse(r)}catch(e){throw console.error("Error parsing event payload:",r,e),e}};var me;(function(r){r.Call="call",r.Reply="reply",r.Syn="syn",r.SynAck="synAck",r.Ack="ack"})(me||(me={}));var Ze;(function(r){r.Fulfilled="fulfilled",r.Rejected="rejected"})(Ze||(Ze={}));var At;(function(r){r.ConnectionDestroyed="ConnectionDestroyed",r.ConnectionTimeout="ConnectionTimeout",r.NoIframeSrc="NoIframeSrc"})(At||(At={}));var Er;(function(r){r.DataCloneError="DataCloneError"})(Er||(Er={}));var Me;(function(r){r.Message="message"})(Me||(Me={}));const ga=(r,e)=>{const t=[];let n=!1;return{destroy(o){n||(n=!0,e(`${r}: Destroying connection`),t.forEach(s=>{s(o)}))},onDestroy(o){n?o():t.push(o)}}},va=r=>(...e)=>{r&&console.log("[Penpal]",...e)},wa={"http:":"80","https:":"443"},ba=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,Ea=["file:","data:"],ka=r=>{if(r&&Ea.find(c=>r.startsWith(c)))return"null";const e=document.location,t=ba.exec(r);let n,o,s;t?(n=t[1]?t[1]:e.protocol,o=t[2],s=t[4]):(n=e.protocol,o=e.hostname,s=e.port);const i=s&&s!==wa[n]?`:${s}`:"";return`${n}//${o}${i}`},ln=({name:r,message:e,stack:t})=>({name:r,message:e,stack:t}),Ca=r=>{const e=new Error;return Object.keys(r).forEach(t=>e[t]=r[t]),e},Sa=(r,e,t)=>{const{localName:n,local:o,remote:s,originForSending:i,originForReceiving:c}=r;let l=!1;const u=d=>{if(d.source!==s||d.data.penpal!==me.Call)return;if(c!=="*"&&d.origin!==c){t(`${n} received message from origin ${d.origin} which did not match expected origin ${c}`);return}const p=d.data,{methodName:_,args:f,id:h}=p;t(`${n}: Received ${_}() call`);const w=x=>S=>{if(t(`${n}: Sending ${_}() reply`),l){t(`${n}: Unable to send ${_}() reply due to destroyed connection`);return}const T={penpal:me.Reply,id:h,resolution:x,returnValue:S};x===Ze.Rejected&&S instanceof Error&&(T.returnValue=ln(S),T.returnValueIsError=!0);try{s.postMessage(T,i)}catch(A){if(A.name===Er.DataCloneError){const O={penpal:me.Reply,id:h,resolution:Ze.Rejected,returnValue:ln(A),returnValueIsError:!0};s.postMessage(O,i)}throw A}};new Promise(x=>x(e[_].apply(e,f))).then(w(Ze.Fulfilled),w(Ze.Rejected))};return o.addEventListener(Me.Message,u),()=>{l=!0,o.removeEventListener(Me.Message,u)}};let Pa=0;const Aa=()=>++Pa,un=".",dn=r=>r?r.split(un):[],xa=r=>r.join(un),Ia=(r,e)=>{const t=dn(e||"");return t.push(r),xa(t)},Ta=(r,e,t)=>{const n=dn(e);return n.reduce((o,s,i)=>(typeof o[s]>"u"&&(o[s]={}),i===n.length-1&&(o[s]=t),o[s]),r),r},pn=(r,e)=>{const t={};return Object.keys(r).forEach(n=>{const o=r[n],s=Ia(n,e);typeof o=="object"&&Object.assign(t,pn(o,s)),typeof o=="function"&&(t[s]=o)}),t},Ra=r=>{const e={};for(const t in r)Ta(e,t,r[t]);return e},Oa=(r,e,t,n,o)=>{const{localName:s,local:i,remote:c,originForSending:l,originForReceiving:u}=e;let d=!1;o(`${s}: Connecting call sender`);const p=f=>(...h)=>{o(`${s}: Sending ${f}() call`);let w;try{c.closed&&(w=!0)}catch{w=!0}if(w&&n(),d){const x=new Error(`Unable to send ${f}() call due to destroyed connection`);throw x.code=At.ConnectionDestroyed,x}return new Promise((x,S)=>{const T=Aa(),A=F=>{if(F.source!==c||F.data.penpal!==me.Reply||F.data.id!==T)return;if(u!=="*"&&F.origin!==u){o(`${s} received message from origin ${F.origin} which did not match expected origin ${u}`);return}const Y=F.data;o(`${s}: Received ${f}() reply`),i.removeEventListener(Me.Message,A);let we=Y.returnValue;Y.returnValueIsError&&(we=Ca(we)),(Y.resolution===Ze.Fulfilled?x:S)(we)};i.addEventListener(Me.Message,A);const O={penpal:me.Call,id:T,methodName:f,args:h};c.postMessage(O,l)})},_=t.reduce((f,h)=>(f[h]=p(h),f),{});return Object.assign(r,Ra(_)),()=>{d=!0}},Na=(r,e,t,n,o)=>{const{destroy:s,onDestroy:i}=n;let c,l;const u={};return d=>{if(e!=="*"&&d.origin!==e){o(`Parent: Handshake - Received ACK message from origin ${d.origin} which did not match expected origin ${e}`);return}o("Parent: Handshake - Received ACK");const p={localName:"Parent",local:window,remote:d.source,originForSending:t,originForReceiving:e};c&&c(),c=Sa(p,r,o),i(c),l&&l.forEach(f=>{delete u[f]}),l=d.data.methodNames;const _=Oa(u,p,l,s,o);return i(_),u}},Ma=(r,e,t,n)=>o=>{if(!o.source)return;if(t!=="*"&&o.origin!==t){r(`Parent: Handshake - Received SYN message from origin ${o.origin} which did not match expected origin ${t}`);return}r("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:me.SynAck,methodNames:Object.keys(e)};o.source.postMessage(s,n)},Da=6e4,ja=(r,e)=>{const{destroy:t,onDestroy:n}=e,o=setInterval(()=>{r.isConnected||(clearInterval(o),t())},Da);n(()=>{clearInterval(o)})},La=(r,e)=>{let t;return r!==void 0&&(t=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${r}ms`);n.code=At.ConnectionTimeout,e(n)},r)),()=>{clearTimeout(t)}},Fa=r=>{if(!r.src&&!r.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=At.NoIframeSrc,e}},fn=r=>{let{iframe:e,methods:t={},childOrigin:n,timeout:o,debug:s=!1}=r;const i=va(s),c=ga("Parent",i),{onDestroy:l,destroy:u}=c;n||(Fa(e),n=ka(e.src));const d=n==="null"?"*":n,p=pn(t),_=Ma(i,p,n,d),f=Na(p,n,d,c,i);return{promise:new Promise((w,x)=>{const S=La(o,u),T=A=>{if(!(A.source!==e.contentWindow||!A.data)){if(A.data.penpal===me.Syn){_(A);return}if(A.data.penpal===me.Ack){const O=f(A);O&&(S(),w(O));return}}};window.addEventListener(Me.Message,T),i("Parent: Awaiting handshake"),ja(e,c),l(A=>{window.removeEventListener(Me.Message,T),A&&x(A)})}),destroy(){u()}}},Ua=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}},$a=(r,e)=>!!r&&e,C=r=>a.nullable(r.optional());a.string().trim().min(1,{message:"Cannot be blank"});const Za=a.object({cde_response_type:a.literal("error"),message:a.string(),headers:a.record(a.string(),a.string()).optional()});a.enum(["usd","brl"]);const hn=a.object({name:a.string(),amount_atom_off:C(a.number()),percent_off:C(a.number()),currency:C(a.string()),duration:a.string(),duration_in_months:C(a.number())}),mn=a.object({amount_subtotal_atom:a.number().int(),amount_total_atom:a.number().int(),currency:a.string(),description:C(a.string()),price_id:a.string(),billing_interval:C(a.string()),billing_interval_count:C(a.number().int()),quantity:a.number().int()}),Va=a.record(a.string(),a.any()),za=a.object({name:a.string(),settings:C(Va)}),Qe=a.object({provider:a.string(),processor_name:C(a.string()),metadata:C(a.record(a.string(),a.any()))}),Ga=a.object({quantity:a.number()}),Ba=a.object({id:C(a.string()),billing_interval:C(a.string()),billing_interval_count:C(a.number().int()),subscription_items:a.array(Ga),trial_start:C(a.string()),trial_end:C(a.string())}),yn=a.object({amount_atom:a.number()}),qa=a.object({amount_atom:a.number(),amount_atom_considering_discount_applied:a.number(),currency:a.string(),discount_amount_atoms:a.array(yn),subscription_item_id:a.string()}),Ya=a.object({coupon:hn}),Wa=a.object({currency:a.string(),discounts:a.array(Ya),hosted_invoice_url:C(a.string()),lines:a.array(qa),remaining_amount_atom:a.number(),tax_amount_atom:a.number(),total_amount_atom:a.number(),total_discount_amount_atoms:a.array(yn)}),_n=a.object({created:a.array(Ba),invoices:a.array(Wa),processors_used:a.optional(a.array(a.string()))}),gn=a.object({preview:_n,preview_post_trial:C(_n),coupons:a.array(hn)}),vn=a.object({status:a.literal("open"),locale:C(a.string()),token:a.string(),email:C(a.string()),line_items:a.array(mn),amount_subtotal_atom:a.number().int(),amount_total_atom:a.number().int(),brand:za,subs_preview:C(gn),methods_available:a.array(Qe)}),wn=a.discriminatedUnion("mode",[a.object({mode:a.literal("setup"),currency:a.nullable(a.undefined())}).extend(vn.shape),a.object({mode:a.enum(["payment","subscription"]),currency:a.string()}).extend(vn.shape)]),Ka=a.object({status:a.literal("complete")}),Ha=a.object({status:a.literal("expired")});a.union([wn,Ka,Ha]),a.object({logo:a.string(),icon:a.string(),primary_color:a.string(),secondary_color:a.string()}),a.object({secure_token:a.string(),pm_id:a.string()}),a.object({secure_token:a.string(),payment_input:a.any(),customer_first_name:a.string().optional(),customer_last_name:a.string().optional(),customer_email:a.string(),customer_zip_code:a.string(),customer_country:a.string(),line_items:a.array(mn),total_amount_atom:a.number().int(),cancel_at_end:a.boolean(),checkout_payment_method:Qe,promotion_code:a.string().optional(),do_not_use_legacy_cc_flow:a.boolean().optional(),use_confirmed_pm_id:C(a.string())});const bn=a.object({payment_method_id:a.string()});a.object({id:a.string(),return_url:a.string()});const Ja=a.object({type:a.string(),loc:a.array(a.string()),msg:a.string(),url:a.string()});a.array(Ja);const Xa=a.object({new_customer_email:a.string().optional(),new_customer_address:a.record(a.string(),a.any()).optional(),new_customer_first_name:a.string().optional(),new_customer_last_name:a.string().optional()}),Qa=a.object({price_id:a.string(),quantity:a.number().int()}),ei=a.object({line_items:a.array(Qa),promotion_code:a.string().optional(),displayed_total_amount_atom:a.number().int()}),ti=a.object({processor_specific_metadata:C(a.record(a.string(),a.any()))});a.object({payment_provider:a.string(),checkout_payment_method:Qe,existing_cc_pm_id:a.string().optional(),their_existing_pm_id:a.string().optional(),use_pay_first_flow:a.boolean().optional(),pay_first_flow_cart_info:ei.optional()}).extend(Xa.shape).extend(ti.shape);const En=a.object({required_user_actions:a.array(a.record(a.string(),a.any())),checkout_attempt_id:C(a.string())});a.object({fields:Gs,checkoutPaymentMethod:Qe}),a.object({session_id:a.string(),non_cde_form_fields:Pt,checkout_payment_method:Qe,extra_metadata:a.record(a.string(),a.any())});const ri=a.object({required_user_actions:a.array(a.record(a.string(),a.any())),cc_pm_id:a.string()});a.record(a.any()),a.object({first_name:C(a.string()),last_name:C(a.string()),line1:C(a.string()),line2:C(a.string()),line3:C(a.string()),city:C(a.string()),state:C(a.string()),country:C(a.string()),zip_code:C(a.string()),email:C(a.string()),billing_email:C(a.string()),phone_number:C(a.string()),update_processor_customer:C(a.boolean())}),a.object({id:a.string(),email:C(a.string()),first_name:C(a.string()),last_name:C(a.string()),phone_number:C(a.string()),billing_email:C(a.string()),address:C(a.record(a.string(),a.any()))}),a.object({message:a.string()});const ni=a.object({error_code:a.string()});a.object({checkout_payment_method:Qe,processor_specific_metadata:a.record(a.any()).optional()});const oi=a.object({next_action_metadata:C(a.record(a.any()))}),si=r=>r.reduce((e,t)=>e+t,0);function ai(r,e){var t=Object.setPrototypeOf;t?t(r,e):r.__proto__=e}function ii(r,e){e===void 0&&(e=r.constructor);var t=Error.captureStackTrace;t&&t(r,e)}var ci=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(o[i]=s[i])},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)}}(),li=function(r){ci(e,r);function e(t,n){var o=this.constructor,s=r.call(this,t,n)||this;return Object.defineProperty(s,"name",{value:o.name,enumerable:!1,configurable:!0}),ai(s,o.prototype),ii(s),s}return e}(Error);class kn extends li{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 kn(n);if(!ui(n,t)){const o=t.safeParse(n);throw o.success?new Error("Invalid state"):(console.error("OJS queryApi got a schema error. Expected schema:",t,"Actual:",n),o.error)}return n},ui=(r,e)=>e.safeParse(r).success,di=r=>Za.safeParse(r).success,pi=async(r,e)=>await K(r,{type:"get_checkout_preview",payload:e},gn),z=async r=>await K(r,{type:"get_prefill",payload:{}},wn),et=async(r,e)=>await K(r,{type:"v2_start_payment_flow",payload:e},En),fi=async(r,e)=>await K(r,{type:"start_payment_flow_for_cc",payload:e},ri),hi=async(r,e)=>await K(r,{type:"start_payment_flow_for_pr",payload:e},En),se=async(r,e)=>await K(r,{type:"confirm_payment_flow",payload:e},na),mi=async(r,e)=>await K(r,{type:"finalize_setup_payment_method",payload:e},bn),yi=async(r,e)=>await K(r,{type:"check_if_popup_window_verified",payload:e},ra),_i=async(r,e,t)=>{const n=await pi(r,{secure_token:e,promotion_code:t}),o=new Set(n.preview.invoices.map(c=>c.currency));if(o.size!==1)throw new Error(`Expected exactly one currency, got ${o.size}`);const s=o.values().next().value??"usd",i=si(n.preview.invoices.map(c=>c.remaining_amount_atom));return{currency:s,amountAtom:i}},tt=async(r,e,t,n)=>{if(t)return{amountAtom:0,currency:"usd"};{n=n||void 0;const o=await _i(r,e,n);return{amountAtom:o.amountAtom,currency:o.currency}}},gi=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},Qs)))},Cn=async(r,e)=>{try{return await K(r,{type:"checkout_card_elements",payload:e},gr)}catch(t){throw console.error("[cde-client] Error during checkoutCardElements:",t,JSON.stringify(t)),t}},vi=async(r,e)=>await K(r,{type:"setup_payment_method",payload:e},bn),kr=async(r,e)=>await K(r,{type:"checkout",payload:e},gr),Sn=1e3,wi=async(r,e)=>{console.log(e);const n=await fn({iframe:r,debug:!0,timeout:Sn,childOrigin:"*"}).promise,o=await K(n,{type:"ping-3ds-status"},ea);return console.log("🟢 CDE connection successful! Stopping polling... Result:",o),o},Cr=async(r,e)=>await K(r,{type:"prepare_payment_flow",payload:e},oi),Pn=async(r,e)=>{try{return(await K(r,{type:"get_standardized_error_code",payload:{message:e}},ni)).error_code}catch(t){return console.error("[cde-client] Error during getStandardizedErrorCode:",fe(t)),"PAYMENT_FAILED_GENERIC"}};function Wt(r){throw new Error(`Unhandled case: ${r}`)}const Sr=10,An=(r=0)=>e=>`\x1B[${e+r}m`,xn=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,In=(r=0)=>(e,t,n)=>`\x1B[${38+r};2;${e};${t};${n}m`,N={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(N.modifier);const bi=Object.keys(N.color),Ei=Object.keys(N.bgColor);[...bi,...Ei];function ki(){const r=new Map;for(const[e,t]of Object.entries(N)){for(const[n,o]of Object.entries(t))N[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},t[n]=N[n],r.set(o[0],o[1]);Object.defineProperty(N,e,{value:t,enumerable:!1})}return Object.defineProperty(N,"codes",{value:r,enumerable:!1}),N.color.close="\x1B[39m",N.bgColor.close="\x1B[49m",N.color.ansi=An(),N.color.ansi256=xn(),N.color.ansi16m=In(),N.bgColor.ansi=An(Sr),N.bgColor.ansi256=xn(Sr),N.bgColor.ansi16m=In(Sr),Object.defineProperties(N,{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(s=>s+s).join(""));const o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>N.rgbToAnsi256(...N.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,o;if(e>=232)t=((e-232)*10+8)/255,n=t,o=t;else{e-=16;const c=e%36;t=Math.floor(e/36)/5,n=Math.floor(c/6)/5,o=c%6/5}const s=Math.max(t,n,o)*2;if(s===0)return 30;let i=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(t));return s===2&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>N.ansi256ToAnsi(N.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>N.ansi256ToAnsi(N.hexToAnsi256(e)),enumerable:!1}}),N}const ye=ki(),Kt=(()=>{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})(),Tn=Kt!==0&&{level:Kt,hasBasic:!0,has256:Kt>=2,has16m:Kt>=3},Ci={stdout:Tn,stderr:Tn};function Si(r,e,t){let n=r.indexOf(e);if(n===-1)return r;const o=e.length;let s=0,i="";do i+=r.slice(s,n)+e+t,s=n+o,n=r.indexOf(e,s);while(n!==-1);return i+=r.slice(s),i}function Pi(r,e,t,n){let o=0,s="";do{const i=r[n-1]==="\r";s+=r.slice(o,i?n-1:n)+e+(i?`\r
6
+ ${r.message}`),r.message)}else return _r(r.message);if(typeof r=="object")try{return JSON.stringify(r)}catch(e){return e+""}else return r+""},xs=(r,e,t)=>(...n)=>{try{return e(...n)}catch(o){t(`[form] Error running callback (${r}):`,o);return}};var ee=(r=>(r.pockytPaypal="pockyt-paypal",r.airwallexGooglePay="airwallex-google-pay",r.airwallexApplePay="airwallex-apple-pay",r.authorizenetGooglePay="authorizenet-google-pay",r.authorizenetApplePay="authorizenet-apple-pay",r.loopCrypto="loop-crypto",r))(ee||{});const Is=a.nativeEnum(ee),U=a.string().trim().min(1,{message:"Cannot be blank"}),j=a.string().trim().optional(),K=r=>a.nullable(r.optional());var m=(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))(m||{});const en=a.nativeEnum(m);var tn=(r=>(r.CARD_NUMBER="cardNumber",r.CARD_EXPIRY="cardExpiry",r.CARD_CVC="cardCvc",r))(tn||{});const rn=a.nativeEnum(tn),nn=a.union([en,rn]);var Ce=(r=>(r.CARD="card",r.CARD_NUMBER="card-number",r.CARD_EXPIRY="card-expiry",r.CARD_CVC="card-cvc",r.CDE_BRIDGE="cde-bridge",r))(Ce||{});const Ts=a.nativeEnum(Ce),Bt=a.object({provider:a.string(),processor_name:K(a.string()),metadata:K(a.record(a.string(),a.any()))}),Rs=a.object({id:a.string()});a.object({cardNumber:j,expiry:j,cvc:j}),a.object({backgroundColor:j,color:j,fontFamily:j,fontSize:j,fontWeight:j,margin:j,padding:j,letterSpacing:j,lineHeight:j,hideIcon:j});const oe=a.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"]),Os=oe.extract(["TOKENIZE_STARTED","CHECKOUT_STARTED"]),Ns=a.object({type:Os}),Ms=oe.extract(["BLUR","FOCUS","CHANGE"]),Ds=a.object({type:Ms,elementType:rn,errors:a.array(a.string()).optional()}),js=oe.extract(["LOAD_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR"]),Ls=a.object({type:js,message:U,headers:a.record(a.string(),a.string()).optional()}),Fs=oe.extract(["VALIDATION_ERROR"]),Us=a.object({type:Fs,elementType:nn,errors:a.array(a.string())}),$s=a.object({type:a.literal(oe.enum.LAYOUT),height:U}),Zs=a.object({type:a.literal(oe.enum.LOADED),sessionId:U,totalAmountAtoms:a.number(),currency:j,checkoutPaymentMethods:a.array(Bt)}),Vs=a.object({type:a.literal(oe.enum.PAYMENT_FLOW_STARTED),nextActionMetadata:a.record(a.string(),a.any()),paymentFlowMetadata:a.any().optional(),startPFMetadata:a.optional(a.record(a.string(),a.any()))}),zs=a.object({type:a.literal(oe.enum.SETUP_PAYMENT_METHOD_SUCCESS),paymentMethodId:a.string()}),Pt=a.object({firstName:U,lastName:U,email:U,zipCode:U,country:U,promotionCode:j}),Gs=a.object({firstName:j,lastName:j,email:U,zipCode:U,country:U,promotionCode:j,address:j,city:j,state:j}),Bs=oe.extract(["TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),qs=a.object({type:Bs,sessionId:U,checkoutPaymentMethod:Bt,paymentFlowMetadata:a.any().optional(),doNotUseLegacyCCFlow:a.boolean().optional(),existingCCPMId:j}).extend(Pt.shape),Ys=a.object({type:a.literal(oe.enum.TOKENIZE_SUCCESS),isReadyForCheckout:a.boolean()}),Ws=a.object({type:a.literal(oe.enum.CHECKOUT_SUCCESS),invoiceUrls:a.array(a.string()),subscriptionIds:a.array(a.string()),customerId:a.string()}),Ks=a.discriminatedUnion("type",[Ns,Ds,Ls,Us,$s,Zs,qs,Ys,Ws,Vs,zs]),Hs=a.object({payload:Ks,nonce:U,formId:U,elementId:U});a.object({amountAtom:a.number(),currency:U}),a.enum(["apple_pay","google_pay"]),a.object({secure_token:a.string(),promotion_code:a.string().optional()}),a.object({secure_token:a.string(),existing_cc_pm_id:K(a.string()),their_pm_id:K(a.string()),checkout_attempt_id:K(a.string()),processor_specific_metadata:K(a.record(a.string(),a.any()))});const gr=a.object({invoice_urls:a.array(a.string()),subscription_ids:a.array(a.string()),customer_id:a.string(),processors_used:K(a.array(a.string()))}),Js=a.object({elementType:a.string(),errors:a.array(a.string())});a.object({session_id:a.string()});const Xs=a.object({success:a.literal(!1),error_type:a.literal("validation_error"),errors:a.array(Js)}),Qs=a.discriminatedUnion("success",[a.object({success:a.literal(!0)}),Xs]);a.object({session_id:a.string(),checkout_payment_method:Bt,non_cde_form_fields:Pt,do_not_use_legacy_cc_flow:a.boolean().optional(),existing_cc_pm_id:K(a.string()),extra_metadata:a.record(a.string(),a.any())}),a.object({session_id:a.string(),checkout_payment_method:Bt,non_cde_form_fields:Pt,extra_metadata:a.record(a.string(),a.any()).optional()});var $=(r=>(r.SUCCESS="success",r.FAILURE="failure",r.CANCELLED="cancelled",r))($||{});const ea=a.object({status:a.enum(["success","failure","cancelled"]),href:a.string().optional().nullable()});a.object({href:a.string().optional().nullable()});const ta=a.object({type:a.string(),redirect_url:a.string(),initial_intent_id:a.string(),consent_id:a.string(),their_pm_id:a.string().optional()}),on=a.object({type:a.string(),redirect_url:K(a.string()),initial_intent_id:K(a.string()),consent_id:K(a.string()),their_pm_id:K(a.string()),payment_session:K(a.record(a.string(),a.any()))}),ra=a.discriminatedUnion("present",[a.object({present:a.literal(!0),href:a.string()}),a.object({present:a.literal(!1)})]),na=a.object({payment_methods:a.array(Rs),pay_first_success_response:K(gr),required_user_actions:K(a.array(on))}),sn=r=>{const e={};return Object.entries(r).forEach(([t,n])=>{try{const o=en.parse(t);Array.isArray(n)?e[o]=n:Array.isArray(n._errors)&&(e[o]=n._errors)}catch{return}}),e},oa=a.object({stripe_pk:a.string(),client_secret:a.string(),stripe_pm_id:a.string()}),sa=a.object({type:a.string(),client_secret:a.string(),stripe_pk:a.string()}),aa={usd:"usd",brl:"brl"},qt=async r=>{for(let t=0;t<10;t++)an()||await vr(500);if(!an())throw console.log("Stripe JS not found."),new Error("Stripe JS not found.");return new Stripe(r)},ia=async(r,e)=>{const t=await qt(r);return{elements:t.elements(e),stripe:t}},ca=async(r,e,t,n,o)=>{const s=await qt(r),i=aa[t.toLowerCase().trim()];return s.paymentRequest({country:"US",currency:i,total:{label:"Total",amount:e,pending:n},requestPayerName:!0,requestPayerEmail:!0,disableWallets:[]})},vr=r=>new Promise(e=>{setTimeout(e,r)}),an=()=>"Stripe"in window,la=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)}}),ua=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 qt(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},da=async r=>{var o,s,i,c;const t=await(await qt(r.stripe_pk)).confirmCardSetup(r.client_secret,{payment_method:r.stripe_pm_id}),n=(o=t.setupIntent)==null?void 0:o.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(`${((s=t.error)==null?void 0:s.message)??((c=(i=t.setupIntent)==null?void 0:i.last_setup_error)==null?void 0:c.message)??"Payment failed, please click submit again to pay."}`)},pa=r=>JSON.stringify(r);for(var V=[],wr=0;wr<256;++wr)V.push((wr+256).toString(16).slice(1));function fa(r,e=0){return(V[r[e+0]]+V[r[e+1]]+V[r[e+2]]+V[r[e+3]]+"-"+V[r[e+4]]+V[r[e+5]]+"-"+V[r[e+6]]+V[r[e+7]]+"-"+V[r[e+8]]+V[r[e+9]]+"-"+V[r[e+10]]+V[r[e+11]]+V[r[e+12]]+V[r[e+13]]+V[r[e+14]]+V[r[e+15]]).toLowerCase()}var Yt,ma=new Uint8Array(16);function ha(){if(!Yt&&(Yt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Yt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Yt(ma)}var ya=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const cn={randomUUID:ya};function br(r,e,t){if(cn.randomUUID&&!e&&!r)return cn.randomUUID();r=r||{};var n=r.random||(r.rng||ha)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,fa(n)}const me=(r,e)=>Array.from(r.querySelectorAll("[data-opid]")??[]).reduce((o,s)=>{const i=s.getAttribute("data-opid");return i?{...o,[i]:s.value}:o},{}),_a=r=>{try{return Hs.parse(r)}catch(e){throw console.error("Error parsing event payload:",r,e),e}};var he;(function(r){r.Call="call",r.Reply="reply",r.Syn="syn",r.SynAck="synAck",r.Ack="ack"})(he||(he={}));var Ze;(function(r){r.Fulfilled="fulfilled",r.Rejected="rejected"})(Ze||(Ze={}));var At;(function(r){r.ConnectionDestroyed="ConnectionDestroyed",r.ConnectionTimeout="ConnectionTimeout",r.NoIframeSrc="NoIframeSrc"})(At||(At={}));var Er;(function(r){r.DataCloneError="DataCloneError"})(Er||(Er={}));var Me;(function(r){r.Message="message"})(Me||(Me={}));const ga=(r,e)=>{const t=[];let n=!1;return{destroy(o){n||(n=!0,e(`${r}: Destroying connection`),t.forEach(s=>{s(o)}))},onDestroy(o){n?o():t.push(o)}}},va=r=>(...e)=>{r&&console.log("[Penpal]",...e)},wa={"http:":"80","https:":"443"},ba=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,Ea=["file:","data:"],ka=r=>{if(r&&Ea.find(c=>r.startsWith(c)))return"null";const e=document.location,t=ba.exec(r);let n,o,s;t?(n=t[1]?t[1]:e.protocol,o=t[2],s=t[4]):(n=e.protocol,o=e.hostname,s=e.port);const i=s&&s!==wa[n]?`:${s}`:"";return`${n}//${o}${i}`},ln=({name:r,message:e,stack:t})=>({name:r,message:e,stack:t}),Ca=r=>{const e=new Error;return Object.keys(r).forEach(t=>e[t]=r[t]),e},Sa=(r,e,t)=>{const{localName:n,local:o,remote:s,originForSending:i,originForReceiving:c}=r;let l=!1;const u=d=>{if(d.source!==s||d.data.penpal!==he.Call)return;if(c!=="*"&&d.origin!==c){t(`${n} received message from origin ${d.origin} which did not match expected origin ${c}`);return}const p=d.data,{methodName:_,args:f,id:h}=p;t(`${n}: Received ${_}() call`);const w=x=>S=>{if(t(`${n}: Sending ${_}() reply`),l){t(`${n}: Unable to send ${_}() reply due to destroyed connection`);return}const T={penpal:he.Reply,id:h,resolution:x,returnValue:S};x===Ze.Rejected&&S instanceof Error&&(T.returnValue=ln(S),T.returnValueIsError=!0);try{s.postMessage(T,i)}catch(A){if(A.name===Er.DataCloneError){const O={penpal:he.Reply,id:h,resolution:Ze.Rejected,returnValue:ln(A),returnValueIsError:!0};s.postMessage(O,i)}throw A}};new Promise(x=>x(e[_].apply(e,f))).then(w(Ze.Fulfilled),w(Ze.Rejected))};return o.addEventListener(Me.Message,u),()=>{l=!0,o.removeEventListener(Me.Message,u)}};let Pa=0;const Aa=()=>++Pa,un=".",dn=r=>r?r.split(un):[],xa=r=>r.join(un),Ia=(r,e)=>{const t=dn(e||"");return t.push(r),xa(t)},Ta=(r,e,t)=>{const n=dn(e);return n.reduce((o,s,i)=>(typeof o[s]>"u"&&(o[s]={}),i===n.length-1&&(o[s]=t),o[s]),r),r},pn=(r,e)=>{const t={};return Object.keys(r).forEach(n=>{const o=r[n],s=Ia(n,e);typeof o=="object"&&Object.assign(t,pn(o,s)),typeof o=="function"&&(t[s]=o)}),t},Ra=r=>{const e={};for(const t in r)Ta(e,t,r[t]);return e},Oa=(r,e,t,n,o)=>{const{localName:s,local:i,remote:c,originForSending:l,originForReceiving:u}=e;let d=!1;o(`${s}: Connecting call sender`);const p=f=>(...h)=>{o(`${s}: Sending ${f}() call`);let w;try{c.closed&&(w=!0)}catch{w=!0}if(w&&n(),d){const x=new Error(`Unable to send ${f}() call due to destroyed connection`);throw x.code=At.ConnectionDestroyed,x}return new Promise((x,S)=>{const T=Aa(),A=F=>{if(F.source!==c||F.data.penpal!==he.Reply||F.data.id!==T)return;if(u!=="*"&&F.origin!==u){o(`${s} received message from origin ${F.origin} which did not match expected origin ${u}`);return}const Y=F.data;o(`${s}: Received ${f}() reply`),i.removeEventListener(Me.Message,A);let we=Y.returnValue;Y.returnValueIsError&&(we=Ca(we)),(Y.resolution===Ze.Fulfilled?x:S)(we)};i.addEventListener(Me.Message,A);const O={penpal:he.Call,id:T,methodName:f,args:h};c.postMessage(O,l)})},_=t.reduce((f,h)=>(f[h]=p(h),f),{});return Object.assign(r,Ra(_)),()=>{d=!0}},Na=(r,e,t,n,o)=>{const{destroy:s,onDestroy:i}=n;let c,l;const u={};return d=>{if(e!=="*"&&d.origin!==e){o(`Parent: Handshake - Received ACK message from origin ${d.origin} which did not match expected origin ${e}`);return}o("Parent: Handshake - Received ACK");const p={localName:"Parent",local:window,remote:d.source,originForSending:t,originForReceiving:e};c&&c(),c=Sa(p,r,o),i(c),l&&l.forEach(f=>{delete u[f]}),l=d.data.methodNames;const _=Oa(u,p,l,s,o);return i(_),u}},Ma=(r,e,t,n)=>o=>{if(!o.source)return;if(t!=="*"&&o.origin!==t){r(`Parent: Handshake - Received SYN message from origin ${o.origin} which did not match expected origin ${t}`);return}r("Parent: Handshake - Received SYN, responding with SYN-ACK");const s={penpal:he.SynAck,methodNames:Object.keys(e)};o.source.postMessage(s,n)},Da=6e4,ja=(r,e)=>{const{destroy:t,onDestroy:n}=e,o=setInterval(()=>{r.isConnected||(clearInterval(o),t())},Da);n(()=>{clearInterval(o)})},La=(r,e)=>{let t;return r!==void 0&&(t=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${r}ms`);n.code=At.ConnectionTimeout,e(n)},r)),()=>{clearTimeout(t)}},Fa=r=>{if(!r.src&&!r.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=At.NoIframeSrc,e}},fn=r=>{let{iframe:e,methods:t={},childOrigin:n,timeout:o,debug:s=!1}=r;const i=va(s),c=ga("Parent",i),{onDestroy:l,destroy:u}=c;n||(Fa(e),n=ka(e.src));const d=n==="null"?"*":n,p=pn(t),_=Ma(i,p,n,d),f=Na(p,n,d,c,i);return{promise:new Promise((w,x)=>{const S=La(o,u),T=A=>{if(!(A.source!==e.contentWindow||!A.data)){if(A.data.penpal===he.Syn){_(A);return}if(A.data.penpal===he.Ack){const O=f(A);O&&(S(),w(O));return}}};window.addEventListener(Me.Message,T),i("Parent: Awaiting handshake"),ja(e,c),l(A=>{window.removeEventListener(Me.Message,T),A&&x(A)})}),destroy(){u()}}},Ua=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}},$a=(r,e)=>!!r&&e,C=r=>a.nullable(r.optional());a.string().trim().min(1,{message:"Cannot be blank"});const Za=a.object({cde_response_type:a.literal("error"),message:a.string(),headers:a.record(a.string(),a.string()).optional()});a.enum(["usd","brl"]);const mn=a.object({name:a.string(),amount_atom_off:C(a.number()),percent_off:C(a.number()),currency:C(a.string()),duration:a.string(),duration_in_months:C(a.number())}),hn=a.object({amount_subtotal_atom:a.number().int(),amount_total_atom:a.number().int(),currency:a.string(),description:C(a.string()),price_id:a.string(),billing_interval:C(a.string()),billing_interval_count:C(a.number().int()),quantity:a.number().int()}),Va=a.record(a.string(),a.any()),za=a.object({name:a.string(),settings:C(Va)}),Qe=a.object({provider:a.string(),processor_name:C(a.string()),metadata:C(a.record(a.string(),a.any()))}),Ga=a.object({quantity:a.number()}),Ba=a.object({id:C(a.string()),billing_interval:C(a.string()),billing_interval_count:C(a.number().int()),subscription_items:a.array(Ga),trial_start:C(a.string()),trial_end:C(a.string())}),yn=a.object({amount_atom:a.number()}),qa=a.object({amount_atom:a.number(),amount_atom_considering_discount_applied:a.number(),currency:a.string(),discount_amount_atoms:a.array(yn),subscription_item_id:a.string()}),Ya=a.object({coupon:mn}),Wa=a.object({currency:a.string(),discounts:a.array(Ya),hosted_invoice_url:C(a.string()),lines:a.array(qa),remaining_amount_atom:a.number(),tax_amount_atom:a.number(),total_amount_atom:a.number(),total_discount_amount_atoms:a.array(yn)}),_n=a.object({created:a.array(Ba),invoices:a.array(Wa),processors_used:C(a.array(a.string()))}),gn=a.object({preview:_n,preview_post_trial:C(_n),coupons:a.array(mn)}),vn=a.object({status:a.literal("open"),locale:C(a.string()),token:a.string(),email:C(a.string()),line_items:a.array(hn),amount_subtotal_atom:a.number().int(),amount_total_atom:a.number().int(),brand:za,subs_preview:C(gn),methods_available:a.array(Qe)}),wn=a.discriminatedUnion("mode",[a.object({mode:a.literal("setup"),currency:a.nullable(a.undefined())}).extend(vn.shape),a.object({mode:a.enum(["payment","subscription"]),currency:a.string()}).extend(vn.shape)]),Ka=a.object({status:a.literal("complete")}),Ha=a.object({status:a.literal("expired")});a.union([wn,Ka,Ha]),a.object({logo:a.string(),icon:a.string(),primary_color:a.string(),secondary_color:a.string()}),a.object({secure_token:a.string(),pm_id:a.string()}),a.object({secure_token:a.string(),payment_input:a.any(),customer_first_name:a.string().optional(),customer_last_name:a.string().optional(),customer_email:a.string(),customer_zip_code:a.string(),customer_country:a.string(),line_items:a.array(hn),total_amount_atom:a.number().int(),cancel_at_end:a.boolean(),checkout_payment_method:Qe,promotion_code:a.string().optional(),do_not_use_legacy_cc_flow:a.boolean().optional(),use_confirmed_pm_id:C(a.string())});const bn=a.object({payment_method_id:a.string()});a.object({id:a.string(),return_url:a.string()});const Ja=a.object({type:a.string(),loc:a.array(a.string()),msg:a.string(),url:a.string()});a.array(Ja);const Xa=a.object({new_customer_email:a.string().optional(),new_customer_address:a.record(a.string(),a.any()).optional(),new_customer_first_name:a.string().optional(),new_customer_last_name:a.string().optional()}),Qa=a.object({price_id:a.string(),quantity:a.number().int()}),ei=a.object({line_items:a.array(Qa),promotion_code:a.string().optional(),displayed_total_amount_atom:a.number().int()}),ti=a.object({processor_specific_metadata:C(a.record(a.string(),a.any()))});a.object({payment_provider:a.string(),checkout_payment_method:Qe,existing_cc_pm_id:a.string().optional(),their_existing_pm_id:a.string().optional(),use_pay_first_flow:a.boolean().optional(),pay_first_flow_cart_info:ei.optional()}).extend(Xa.shape).extend(ti.shape);const En=a.object({required_user_actions:a.array(a.record(a.string(),a.any())),checkout_attempt_id:C(a.string())});a.object({fields:Gs,checkoutPaymentMethod:Qe}),a.object({session_id:a.string(),non_cde_form_fields:Pt,checkout_payment_method:Qe,extra_metadata:a.record(a.string(),a.any())});const ri=a.object({required_user_actions:a.array(a.record(a.string(),a.any())),cc_pm_id:a.string()});a.record(a.any()),a.object({first_name:C(a.string()),last_name:C(a.string()),line1:C(a.string()),line2:C(a.string()),line3:C(a.string()),city:C(a.string()),state:C(a.string()),country:C(a.string()),zip_code:C(a.string()),email:C(a.string()),billing_email:C(a.string()),phone_number:C(a.string()),update_processor_customer:C(a.boolean())}),a.object({id:a.string(),email:C(a.string()),first_name:C(a.string()),last_name:C(a.string()),phone_number:C(a.string()),billing_email:C(a.string()),address:C(a.record(a.string(),a.any()))}),a.object({message:a.string()});const ni=a.object({error_code:a.string()});a.object({checkout_payment_method:Qe,processor_specific_metadata:a.record(a.any()).optional()});const oi=a.object({next_action_metadata:C(a.record(a.any()))}),si=r=>r.reduce((e,t)=>e+t,0);function ai(r,e){var t=Object.setPrototypeOf;t?t(r,e):r.__proto__=e}function ii(r,e){e===void 0&&(e=r.constructor);var t=Error.captureStackTrace;t&&t(r,e)}var ci=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(o,s){o.__proto__=s}||function(o,s){for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(o[i]=s[i])},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)}}(),li=function(r){ci(e,r);function e(t,n){var o=this.constructor,s=r.call(this,t,n)||this;return Object.defineProperty(s,"name",{value:o.name,enumerable:!1,configurable:!0}),ai(s,o.prototype),ii(s),s}return e}(Error);class kn extends li{constructor(e){const t=`${e.message}`;super(t),this.response=e}get originalErrorMessage(){return this.response.message}}const H=async(r,e,t)=>{const n=await r.send(e);if(di(n))throw new kn(n);if(!ui(n,t)){const o=t.safeParse(n);throw o.success?new Error("Invalid state"):(console.error("OJS queryApi got a schema error. Expected schema:",t,"Actual:",n),o.error)}return n},ui=(r,e)=>e.safeParse(r).success,di=r=>Za.safeParse(r).success,pi=async(r,e)=>await H(r,{type:"get_checkout_preview",payload:e},gn),z=async r=>await H(r,{type:"get_prefill",payload:{}},wn),et=async(r,e)=>await H(r,{type:"v2_start_payment_flow",payload:e},En),fi=async(r,e)=>await H(r,{type:"start_payment_flow_for_cc",payload:e},ri),mi=async(r,e)=>await H(r,{type:"start_payment_flow_for_pr",payload:e},En),se=async(r,e)=>await H(r,{type:"confirm_payment_flow",payload:e},na),hi=async(r,e)=>await H(r,{type:"finalize_setup_payment_method",payload:e},bn),yi=async(r,e)=>await H(r,{type:"check_if_popup_window_verified",payload:e},ra),_i=async(r,e,t)=>{const n=await pi(r,{secure_token:e,promotion_code:t}),o=new Set(n.preview.invoices.map(c=>c.currency));if(o.size!==1)throw new Error(`Expected exactly one currency, got ${o.size}`);const s=o.values().next().value??"usd",i=si(n.preview.invoices.map(c=>c.remaining_amount_atom));return{currency:s,amountAtom:i}},tt=async(r,e,t,n)=>{if(t)return{amountAtom:0,currency:"usd"};{n=n||void 0;const o=await _i(r,e,n);return{amountAtom:o.amountAtom,currency:o.currency}}},gi=async(r,e)=>{if(r.size===0)throw new Error("No CDE connections found");return await Promise.all(Array.from(r.values()).map(n=>H(n,{type:"tokenize_card",payload:e},Qs)))},Cn=async(r,e)=>{try{return await H(r,{type:"checkout_card_elements",payload:e},gr)}catch(t){throw console.error("[cde-client] Error during checkoutCardElements:",t,JSON.stringify(t)),t}},vi=async(r,e)=>await H(r,{type:"setup_payment_method",payload:e},bn),kr=async(r,e)=>await H(r,{type:"checkout",payload:e},gr),Sn=1e3,wi=async(r,e)=>{console.log(e);const n=await fn({iframe:r,debug:!0,timeout:Sn,childOrigin:"*"}).promise,o=await H(n,{type:"ping-3ds-status"},ea);return console.log("🟢 CDE connection successful! Stopping polling... Result:",o),o},Cr=async(r,e)=>await H(r,{type:"prepare_payment_flow",payload:e},oi),Pn=async(r,e)=>{try{return(await H(r,{type:"get_standardized_error_code",payload:{message:e}},ni)).error_code}catch(t){return console.error("[cde-client] Error during getStandardizedErrorCode:",fe(t)),"PAYMENT_FAILED_GENERIC"}};function Wt(r){throw new Error(`Unhandled case: ${r}`)}const Sr=10,An=(r=0)=>e=>`\x1B[${e+r}m`,xn=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,In=(r=0)=>(e,t,n)=>`\x1B[${38+r};2;${e};${t};${n}m`,N={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(N.modifier);const bi=Object.keys(N.color),Ei=Object.keys(N.bgColor);[...bi,...Ei];function ki(){const r=new Map;for(const[e,t]of Object.entries(N)){for(const[n,o]of Object.entries(t))N[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},t[n]=N[n],r.set(o[0],o[1]);Object.defineProperty(N,e,{value:t,enumerable:!1})}return Object.defineProperty(N,"codes",{value:r,enumerable:!1}),N.color.close="\x1B[39m",N.bgColor.close="\x1B[49m",N.color.ansi=An(),N.color.ansi256=xn(),N.color.ansi16m=In(),N.bgColor.ansi=An(Sr),N.bgColor.ansi256=xn(Sr),N.bgColor.ansi16m=In(Sr),Object.defineProperties(N,{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(s=>s+s).join(""));const o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>N.rgbToAnsi256(...N.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,o;if(e>=232)t=((e-232)*10+8)/255,n=t,o=t;else{e-=16;const c=e%36;t=Math.floor(e/36)/5,n=Math.floor(c/6)/5,o=c%6/5}const s=Math.max(t,n,o)*2;if(s===0)return 30;let i=30+(Math.round(o)<<2|Math.round(n)<<1|Math.round(t));return s===2&&(i+=60),i},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>N.ansi256ToAnsi(N.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>N.ansi256ToAnsi(N.hexToAnsi256(e)),enumerable:!1}}),N}const ye=ki(),Kt=(()=>{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})(),Tn=Kt!==0&&{level:Kt,hasBasic:!0,has256:Kt>=2,has16m:Kt>=3},Ci={stdout:Tn,stderr:Tn};function Si(r,e,t){let n=r.indexOf(e);if(n===-1)return r;const o=e.length;let s=0,i="";do i+=r.slice(s,n)+e+t,s=n+o,n=r.indexOf(e,s);while(n!==-1);return i+=r.slice(s),i}function Pi(r,e,t,n){let o=0,s="";do{const i=r[n-1]==="\r";s+=r.slice(o,i?n-1:n)+e+(i?`\r
7
7
  `:`
8
8
  `)+t,o=n+1,n=r.indexOf(`
9
9
  `,o)}while(n!==-1);return s+=r.slice(o),s}const{stdout:Rn,stderr:On}=Ci,Pr=Symbol("GENERATOR"),rt=Symbol("STYLER"),xt=Symbol("IS_EMPTY"),Nn=["ansi","ansi","ansi256","ansi16m"],nt=Object.create(null),Ai=(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=Rn?Rn.level:0;r.level=e.level===void 0?t:e.level},xi=r=>{const e=(...t)=>t.join(" ");return Ai(e,r),Object.setPrototypeOf(e,It.prototype),e};function It(r){return xi(r)}Object.setPrototypeOf(It.prototype,Function.prototype);for(const[r,e]of Object.entries(ye))nt[r]={get(){const t=Ht(this,xr(e.open,e.close,this[rt]),this[xt]);return Object.defineProperty(this,r,{value:t}),t}};nt.visible={get(){const r=Ht(this,this[rt],!0);return Object.defineProperty(this,"visible",{value:r}),r}};const Ar=(r,e,t,...n)=>r==="rgb"?e==="ansi16m"?ye[t].ansi16m(...n):e==="ansi256"?ye[t].ansi256(ye.rgbToAnsi256(...n)):ye[t].ansi(ye.rgbToAnsi(...n)):r==="hex"?Ar("rgb",e,t,...ye.hexToRgb(...n)):ye[t][r](...n),Ii=["rgb","hex","ansi256"];for(const r of Ii){nt[r]={get(){const{level:t}=this;return function(...n){const o=xr(Ar(r,Nn[t],"color",...n),ye.color.close,this[rt]);return Ht(this,o,this[xt])}}};const e="bg"+r[0].toUpperCase()+r.slice(1);nt[e]={get(){const{level:t}=this;return function(...n){const o=xr(Ar(r,Nn[t],"bgColor",...n),ye.bgColor.close,this[rt]);return Ht(this,o,this[xt])}}}}const Ti=Object.defineProperties(()=>{},{...nt,level:{enumerable:!0,get(){return this[Pr].level},set(r){this[Pr].level=r}}}),xr=(r,e,t)=>{let n,o;return t===void 0?(n=r,o=e):(n=t.openAll+r,o=e+t.closeAll),{open:r,close:e,openAll:n,closeAll:o,parent:t}},Ht=(r,e,t)=>{const n=(...o)=>Ri(n,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(n,Ti),n[Pr]=r,n[rt]=e,n[xt]=t,n},Ri=(r,e)=>{if(r.level<=0||!e)return r[xt]?"":e;let t=r[rt];if(t===void 0)return e;const{openAll:n,closeAll:o}=t;if(e.includes("\x1B"))for(;t!==void 0;)e=Si(e,t.close,t.open),t=t.parent;const s=e.indexOf(`
10
- `);return s!==-1&&(e=Pi(e,o,n,s)),n+e+o};Object.defineProperties(It.prototype,nt);const Jt=It();It({level:On?On.level:0});const Se=r=>async e=>{var t,n;try{(n=(t=e.formCallbacks.get).onCheckoutStarted)==null||n.call(t);const o=await r(e);if(o.mode==="setup")e.formCallbacks.get.onSetupPaymentMethodSuccess(o.result.payment_method_id);else if(o.mode==="checkout")e.formCallbacks.get.onCheckoutSuccess(o.result.invoice_urls,o.result.subscription_ids,o.result.customer_id,o.result.processors_used??[]);else throw new Error(`Unhandled mode: ${o}`)}catch(o){const s=fe(o),i=await Pn(e.context.anyCdeConnection,s);e.formCallbacks.get.onCheckoutError(s,i)}},Ve=r=>async e=>{try{return await r(e)}catch(t){const{err__:n}=L("init-error-catcher"),o=fe(t),s=await Pn(e.context.anyCdeConnection,o);return n(s,o,t),{isAvailable:!1,reason:o,errorCode:s}}},L=r=>{const e=(...n)=>{window.console.log(`${Jt.green.bold("ojs/")}${Jt.bold.gray(`${r}`)} `,...n)},t=(...n)=>{window.console.warn(`${Jt.red.bold("ojs/")}${Jt.bold.gray(`${r}`)} `,...n)};return{log:e,err:t,log__:e,err__:t}},{log__:nu,err__:Oi}=L("common"),Tt=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}},ae=(r,e)=>{const t=r.find(n=>e.safeParse(n).success);if(!t)throw Oi("No CPMs found for model. All models:",r),new Error("No CPMs found for model");return e.parse(t)},Ni=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}),Xt=async r=>{const{log__:e}=L(r.logPrefix),t=await z(r.anyCdeConnection),n=Tt(r.confirmResult);if(t.mode==="setup")return e("Setting up payment method..."),{mode:"setup",result:await mi(r.anyCdeConnection,{secure_token:t.token,pm_id:n.payment_method_id})};{e("Doing checkout...");const o={secure_token:t.token,payment_input:{provider_type:r.checkoutPaymentMethod.provider},customer_email:r.requiredFormFields[y.EMAIL],customer_zip_code:r.requiredFormFields[y.ZIP_CODE],customer_country:r.requiredFormFields[y.COUNTRY],promotion_code:r.requiredFormFields[y.PROMOTION_CODE],line_items:t.line_items,total_amount_atom:t.amount_total_atom,cancel_at_end:!1,checkout_payment_method:r.checkoutPaymentMethod,use_confirmed_pm_id:n.payment_method_id};return{mode:"checkout",result:await kr(r.anyCdeConnection,o)}}},{log__:Mn,err__:Dn}=L("common-cc"),De=(r,e,t)=>{if(t){Mn(`Received default field values: ${JSON.stringify(t)}`);for(const[o,s]of Object.entries(t))r[o]||(r[o]=s)}const n=Pt.safeParse(r);if(!n.success){const o=n.error.format(),s=sn(o);for(const[i,c]of Object.entries(s))e(i,c,i);throw Dn("Got validation errors in non-CDE form fields",s),new Error("Got validation errors in non-CDE form fields")}return n.data},Mi=(r,e)=>{for(const t of r)if(t.success===!1)throw t.errors.forEach(n=>{const o=nn.safeParse(n.elementType);if(!o.success)Dn(`Unknown field name in onValidationError: ${n.elementType}. Error object:`,n);else{const s=o.data;e(s,n.errors)}}),Mn(`Error tokenizing card: got validation errors: ${JSON.stringify(t.errors)}`),new Error("Got validation errors while tokenizing card")},jn="ojs-stripe-link-btn",{log__:G,err__:Di}=L("stripe-link"),ji=a.object({provider:a.literal("stripe_link"),processor_name:a.literal("stripe"),metadata:a.object({stripe_pk:a.string()})}),Li=a.array(a.object({our_existing_pm_id:a.string()})).length(1),Fi=Ve(async({context:r,formCallbacks:e})=>{const t=r.customInitParams.stripeLink;G("Checking if there are any CPMs for Stripe Link...");const n=ae(r.checkoutPaymentMethods,ji);G("Starting stripe link flow...");const o=r.anyCdeConnection,s=await z(o),i=s.mode==="setup";G("Creating stripe elements...");const c=await tt(o,s.token,i,void 0),{elements:l,stripe:u}=await ia(n.metadata.stripe_pk,{mode:"setup",currency:c.currency,setup_future_usage:"off_session",paymentMethodCreation:"manual"});G("Creating express checkout...");const d=l.create("expressCheckout",{buttonHeight:t==null?void 0:t.buttonHeight,paymentMethods:{amazonPay:"never",applePay:"never",googlePay:"never",paypal:"never"}}),p=()=>{d.mount(`#${jn}`)},_=()=>{d.unmount()};return t!=null&&t.doNotMountOnInit?G("NOT mounting stripe link button (doNotMountOnInit is true)"):(G("Mounting stripe link button..."),p()),d.on("click",async f=>{if(G("Stripe Link button clicked"),t!=null&&t.overrideLinkSubmit&&!await t.overrideLinkSubmit()){G("Stripe Link submit aborted by overrideLinkSubmit");return}f.resolve()}),d.on("confirm",async f=>{G("Stripe Link window confirmed",f);const h=await u.createPaymentMethod({elements:l,params:{billing_details:f.billingDetails}});h.error?(Di("error",h.error),e.get.onCheckoutError(h.error.message??"Stripe Link unknown error")):(G("paymentMethod",h.paymentMethod),Z.stripeLink.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:he(r.formDiv),formCallbacks:e,customParams:{stripePM:h.paymentMethod},initResult:{isAvailable:!0}}))}),{isAvailable:!0,controller:{mountButton:p,dismountButton:_,waitForButtonToMount:async()=>await Zi(jn)}}}),Ui=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{G("Running Stripe Link flow...");const s=r.anyCdeConnection;G("Merging PM fields with form fields...");const i=$i(t,o.stripePM),c=De(i,n.get.onValidationError);G("Starting payment flow...");const l=await et(s,{payment_provider:e.provider,checkout_payment_method:e,their_existing_pm_id:o.stripePM.id,new_customer_email:c[y.EMAIL],new_customer_first_name:c[y.FIRST_NAME],new_customer_last_name:c[y.LAST_NAME],new_customer_address:{zip_code:c[y.ZIP_CODE],country:c[y.COUNTRY]}});G("Start payment flow response",l);const d=Li.parse(l.required_user_actions)[0].our_existing_pm_id,p=await z(s);if(p.mode==="setup"){G("Doing payment setup...");const _=await se(s,{secure_token:p.token,existing_cc_pm_id:d});return{mode:"setup",result:Tt(_)}}else{G("Doing checkout...");const _={secure_token:p.token,payment_input:{provider_type:e.provider},customer_email:c[y.EMAIL],customer_zip_code:c[y.ZIP_CODE],customer_country:c[y.COUNTRY],promotion_code:c[y.PROMOTION_CODE],line_items:p.line_items,total_amount_atom:p.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await kr(s,_)}}}),$i=(r,e)=>{var i,c,l,u,d;const t={...r},[n,...o]=((c=(i=e.billing_details.name)==null?void 0:i.trim())==null?void 0:c.split(/\s+/))??[],s=o.join(" ")||void 0;return t[y.FIRST_NAME]=t[y.FIRST_NAME]||n||"_OP_UNKNOWN",t[y.LAST_NAME]=t[y.LAST_NAME]||s||"_OP_UNKNOWN",t[y.EMAIL]=t[y.EMAIL]||((l=e.link)==null?void 0:l.email)||e.billing_details.email||"op_unfilled@getopenpay.com",t[y.ZIP_CODE]=t[y.ZIP_CODE]||((u=e.billing_details.address)==null?void 0:u.postal_code)||"00000",t[y.COUNTRY]=t[y.COUNTRY]||((d=e.billing_details.address)==null?void 0:d.country)||"US",G("Final form inputs:",t),t},Zi=r=>new Promise(e=>{const t=()=>{const n=document.getElementById(r);n?e(n):requestAnimationFrame(t)};t()}),Vi="@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,#adyen-container,#adyen-container>*{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}",Ln=r=>{const e=document.createElement("template");e.innerHTML=`
10
+ `);return s!==-1&&(e=Pi(e,o,n,s)),n+e+o};Object.defineProperties(It.prototype,nt);const Jt=It();It({level:On?On.level:0});const Se=r=>async e=>{var t,n;try{(n=(t=e.formCallbacks.get).onCheckoutStarted)==null||n.call(t);const o=await r(e);if(o.mode==="setup")e.formCallbacks.get.onSetupPaymentMethodSuccess(o.result.payment_method_id);else if(o.mode==="checkout")e.formCallbacks.get.onCheckoutSuccess(o.result.invoice_urls,o.result.subscription_ids,o.result.customer_id,o.result.processors_used??[]);else throw new Error(`Unhandled mode: ${o}`)}catch(o){const s=fe(o),i=await Pn(e.context.anyCdeConnection,s);e.formCallbacks.get.onCheckoutError(s,i)}},Ve=r=>async e=>{try{return await r(e)}catch(t){const{err__:n}=L("init-error-catcher"),o=fe(t),s=await Pn(e.context.anyCdeConnection,o);return n(s,o,t),{isAvailable:!1,reason:o,errorCode:s}}},L=r=>{const e=(...n)=>{window.console.log(`${Jt.green.bold("ojs/")}${Jt.bold.gray(`${r}`)} `,...n)},t=(...n)=>{window.console.warn(`${Jt.red.bold("ojs/")}${Jt.bold.gray(`${r}`)} `,...n)};return{log:e,err:t,log__:e,err__:t}},{log__:nu,err__:Oi}=L("common"),Tt=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}},ae=(r,e)=>{const t=r.find(n=>e.safeParse(n).success);if(!t)throw Oi("No CPMs found for model. All models:",r),new Error("No CPMs found for model");return e.parse(t)},Ni=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}),Xt=async r=>{const{log__:e}=L(r.logPrefix),t=await z(r.anyCdeConnection),n=Tt(r.confirmResult);if(t.mode==="setup")return e("Setting up payment method..."),{mode:"setup",result:await hi(r.anyCdeConnection,{secure_token:t.token,pm_id:n.payment_method_id})};{e("Doing checkout...");const o={secure_token:t.token,payment_input:{provider_type:r.checkoutPaymentMethod.provider},customer_email:r.requiredFormFields[m.EMAIL],customer_zip_code:r.requiredFormFields[m.ZIP_CODE],customer_country:r.requiredFormFields[m.COUNTRY],promotion_code:r.requiredFormFields[m.PROMOTION_CODE],line_items:t.line_items,total_amount_atom:t.amount_total_atom,cancel_at_end:!1,checkout_payment_method:r.checkoutPaymentMethod,use_confirmed_pm_id:n.payment_method_id};return{mode:"checkout",result:await kr(r.anyCdeConnection,o)}}},{log__:Mn,err__:Dn}=L("common-cc"),De=(r,e,t)=>{if(t){Mn(`Received default field values: ${JSON.stringify(t)}`);for(const[o,s]of Object.entries(t))r[o]||(r[o]=s)}const n=Pt.safeParse(r);if(!n.success){const o=n.error.format(),s=sn(o);for(const[i,c]of Object.entries(s))e(i,c,i);throw Dn("Got validation errors in non-CDE form fields",s),new Error("Got validation errors in non-CDE form fields")}return n.data},Mi=(r,e)=>{for(const t of r)if(t.success===!1)throw t.errors.forEach(n=>{const o=nn.safeParse(n.elementType);if(!o.success)Dn(`Unknown field name in onValidationError: ${n.elementType}. Error object:`,n);else{const s=o.data;e(s,n.errors)}}),Mn(`Error tokenizing card: got validation errors: ${JSON.stringify(t.errors)}`),new Error("Got validation errors while tokenizing card")},jn="ojs-stripe-link-btn",{log__:G,err__:Di}=L("stripe-link"),ji=a.object({provider:a.literal("stripe_link"),processor_name:a.literal("stripe"),metadata:a.object({stripe_pk:a.string()})}),Li=a.array(a.object({our_existing_pm_id:a.string()})).length(1),Fi=Ve(async({context:r,formCallbacks:e})=>{const t=r.customInitParams.stripeLink;G("Checking if there are any CPMs for Stripe Link...");const n=ae(r.checkoutPaymentMethods,ji);G("Starting stripe link flow...");const o=r.anyCdeConnection,s=await z(o),i=s.mode==="setup";G("Creating stripe elements...");const c=await tt(o,s.token,i,void 0),{elements:l,stripe:u}=await ia(n.metadata.stripe_pk,{mode:"setup",currency:c.currency,setup_future_usage:"off_session",paymentMethodCreation:"manual"});G("Creating express checkout...");const d=l.create("expressCheckout",{buttonHeight:t==null?void 0:t.buttonHeight,paymentMethods:{amazonPay:"never",applePay:"never",googlePay:"never",paypal:"never"}}),p=()=>{d.mount(`#${jn}`)},_=()=>{d.unmount()};return t!=null&&t.doNotMountOnInit?G("NOT mounting stripe link button (doNotMountOnInit is true)"):(G("Mounting stripe link button..."),p()),d.on("click",async f=>{if(G("Stripe Link button clicked"),t!=null&&t.overrideLinkSubmit&&!await t.overrideLinkSubmit()){G("Stripe Link submit aborted by overrideLinkSubmit");return}f.resolve()}),d.on("confirm",async f=>{G("Stripe Link window confirmed",f);const h=await u.createPaymentMethod({elements:l,params:{billing_details:f.billingDetails}});h.error?(Di("error",h.error),e.get.onCheckoutError(h.error.message??"Stripe Link unknown error")):(G("paymentMethod",h.paymentMethod),Z.stripeLink.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:me(r.formDiv),formCallbacks:e,customParams:{stripePM:h.paymentMethod},initResult:{isAvailable:!0}}))}),{isAvailable:!0,controller:{mountButton:p,dismountButton:_,waitForButtonToMount:async()=>await Zi(jn)}}}),Ui=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{G("Running Stripe Link flow...");const s=r.anyCdeConnection;G("Merging PM fields with form fields...");const i=$i(t,o.stripePM),c=De(i,n.get.onValidationError);G("Starting payment flow...");const l=await et(s,{payment_provider:e.provider,checkout_payment_method:e,their_existing_pm_id:o.stripePM.id,new_customer_email:c[m.EMAIL],new_customer_first_name:c[m.FIRST_NAME],new_customer_last_name:c[m.LAST_NAME],new_customer_address:{zip_code:c[m.ZIP_CODE],country:c[m.COUNTRY]}});G("Start payment flow response",l);const d=Li.parse(l.required_user_actions)[0].our_existing_pm_id,p=await z(s);if(p.mode==="setup"){G("Doing payment setup...");const _=await se(s,{secure_token:p.token,existing_cc_pm_id:d});return{mode:"setup",result:Tt(_)}}else{G("Doing checkout...");const _={secure_token:p.token,payment_input:{provider_type:e.provider},customer_email:c[m.EMAIL],customer_zip_code:c[m.ZIP_CODE],customer_country:c[m.COUNTRY],promotion_code:c[m.PROMOTION_CODE],line_items:p.line_items,total_amount_atom:p.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await kr(s,_)}}}),$i=(r,e)=>{var l,u,d,p,_;const t={...r},[n,...o]=((u=(l=e.billing_details.name)==null?void 0:l.trim())==null?void 0:u.split(/\s+/))??[],s=o.join(" ")||void 0;t[m.EMAIL]=t[m.EMAIL]||((d=e.link)==null?void 0:d.email)||e.billing_details.email||"op_unfilled@getopenpay.com",t[m.ZIP_CODE]=t[m.ZIP_CODE]||((p=e.billing_details.address)==null?void 0:p.postal_code)||"00000",t[m.COUNTRY]=t[m.COUNTRY]||((_=e.billing_details.address)==null?void 0:_.country)||"US";const i=t[m.FIRST_NAME]||n||"",c=t[m.LAST_NAME]||s||"";return i||c?(t[m.FIRST_NAME]=i,t[m.LAST_NAME]=c):(t[m.FIRST_NAME]="_OP_UNKNOWN",t[m.LAST_NAME]=""),G("Final form inputs:",t),t},Zi=r=>new Promise(e=>{const t=()=>{const n=document.getElementById(r);n?e(n):requestAnimationFrame(t)};t()}),Vi="@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,#adyen-container,#adyen-container>*{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}",Ln=r=>{const e=document.createElement("template");e.innerHTML=`
11
11
  <style>
12
12
  ${Vi}
13
13
  </style>
@@ -19,7 +19,7 @@ ${r.message}`),r.message)}else return _r(r.message);if(typeof r=="object")try{re
19
19
  </div>
20
20
  `;const t=document.createElement("div"),n=t.attachShadow({mode:"open"});n.appendChild(e.content.cloneNode(!0));const o=n.querySelector("#three-ds-iframe"),s=n.querySelector(".cancel-button");return document.body.appendChild(t),{host:t,iframe:o,cancelButton:s}};function zi(r,e,t){const n=async()=>{try{const s=await wi(r,t);s&&(clearInterval(o),e(s))}catch{}};n();const o=setInterval(n,Sn);return o}function Gi({elements:r,pollingInterval:e,resolve:t}){const n=()=>{clearInterval(e),r.host.remove(),t({status:$.CANCELLED})};return r.cancelButton.addEventListener("click",n),()=>{r.cancelButton.removeEventListener("click",n)}}async function Qt(r){const{url:e,baseUrl:t}=r,n=Ln(e);return new Promise(o=>{const s=l=>{setTimeout(()=>{n.host.remove()},1e3),o(l),c==null||c()},i=zi(n.iframe,s,new URL(t).origin),c=Gi({elements:n,pollingInterval:i,resolve:o})})}const Fn=async r=>{const e=await Qt(r);if(e.status===$.CANCELLED)throw new Error("3DS verification cancelled");if(e.status===$.FAILURE)throw new Error("3DS verification failed");return e.status!==$.SUCCESS&&Wt(e.status),{href:e.href}},Bi=(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},qi=async(r,e,t,n)=>{const{err__:o}=L("popup-verify");return new Promise((s,i)=>{const c=Bi(r,n),l=setInterval(async()=>{try{const u=await yi(e,t);if(u.present)clearInterval(l),c.close(),s({href:u.href});else if(c.closed)throw new Error(`${r} payment cancelled`)}catch(u){o(fe(u)),clearInterval(l),i(fe(u))}},1e3)})},{log__:Yi,err__:Un}=L("pockyt-cc"),Wi=a.object({"op-pockyt-3ds-url":a.string(),"op-pockyt-txn-no":a.string(),"op-pockyt-ref-no":a.string()}),Ki=r=>{const e=Wi.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 Un(n),new Error(t)}return e.data},$n=r=>{try{const e=new URL(r??"").searchParams.get("vaultId");if(!e)throw new Error("No vault ID found in 3DS verification result");return Yi(`3DS verification success. [Vault ID: ${e}]`),e}catch(e){const t="Error verifying 3DS verification result.";throw Un(t,`Resulting URL: ${r}.
21
21
  Error: ${fe(e)}`),new Error(t)}},Hi=(r,e)=>new URL(r).searchParams.get(e),Ji=r=>(r==null?void 0:r["op-pockyt-3ds-url"])!==void 0,Xi=async(r,e)=>{const t=Ki(e),n=await Fn({url:t["op-pockyt-3ds-url"],baseUrl:r});return{existing_cc:{vault_id:$n(n.href??""),transaction_no:t["op-pockyt-txn-no"],reference_no:t["op-pockyt-ref-no"]}}},{log__:Qi,err__:Ir}=L("airwallex-cc"),ec=a.object({"op-airwallex-3ds-url":a.string(),"op-airwallex-initial-intent-id":a.string(),"op-airwallex-consent-id":a.string()}),tc=r=>{const e=ec.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 Ir(n),new Error(t)}return e.data},rc=r=>(r==null?void 0:r["op-airwallex-3ds-url"])!==void 0,nc=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 Qi(`Airwallex 3DS verification success. [Intent ID: ${e}]`),e}catch(e){const t="Error verifying Airwallex 3DS verification result.";throw Ir(t,`Resulting URL: ${r}.
22
- Error: ${fe(e)}`),new Error(t)}},oc=async(r,e)=>{const t=tc(e),n=await Fn({url:t["op-airwallex-3ds-url"],baseUrl:r}),o=nc(n.href??""),s=t["op-airwallex-initial-intent-id"];if(s!==o){const c="Unable to process your credit card. Please contact support for assistance.",l=`Intent ID from callback (${o}) does not match the initial intent ID (${s}).`;throw Ir(l),new Error(c)}return{existing_cc:{initial_intent_id:o,consent_id:t["op-airwallex-consent-id"]}}},Zn=a.object({provider:a.literal("apple_pay"),processor_name:a.literal("airwallex"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string()})}),Vn=a.object({provider:a.literal("google_pay"),processor_name:a.literal("airwallex"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string(),google_pay_merchant_id:a.string().nullish()})}),sc=a.enum(["test","live","live-us","live-in","live-apse","live-au"]),ac=a.enum(["ar","bg-BG","ca-ES","cs-CZ","da-DK","de-DE","el-GR","en-US","es-ES","et-EE","fi-FI","fr-FR","hr-HR","hu-HU","is-IS","it-IT","ja-JP","ko-KR","lt-LT","lv-LV","nl-NL","no-NO","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sk-SK","sl-SI","sv-SE","zh-CN","zh-TW"]),{log__:ot,err__:Rt}=L("adyen-cc"),ic=a.object({"op-account-id":a.string(),"op-adyen-client-key":a.string(),"op-adyen-environment":sc,"op-adyen-action":a.string()}),zn="Unable to process your credit card. Please contact support for assistance.",cc=r=>{const e=ic.safeParse(r);if(!e.success)throw Rt(`Adyen 3DS is required but headers are malformed. Got: ${JSON.stringify(r)}`),new Error(zn);return e.data},lc=r=>JSON.parse(r),Gn=()=>"AdyenWeb"in window&&"AdyenCheckout"in window.AdyenWeb,uc=async()=>{ot("Waiting for Adyen SDK to load...");for(let r=0;r<10;r++)Gn()||await vr(500);if(!Gn())throw Rt("Adyen SDK not loaded properly"),new Error(zn);return ot("Adyen SDK loaded successfully"),window.AdyenWeb.AdyenCheckout},dc=r=>{const{headers:e,locale:t,countryCode:n,component:o,host:s,cancelButton:i}=r,c=lc(e["op-adyen-action"]);return ot(`Running Adyen 3DS flow for action type: ${c.type}`),new Promise(l=>{const u=()=>{ot("Cleaning up Adyen 3DS flow"),i.removeEventListener("click",_),s.remove()},d=h=>{Rt("Authentication failed. Result:",h),l({status:$.FAILURE,cleanup:u})},p=h=>{Rt("Adyen error:",h),l({status:$.FAILURE,cleanup:u})},_=()=>{l({status:$.CANCELLED,cleanup:u})};i.addEventListener("click",_);const f=(h,w,x)=>{s.remove(),l({status:$.SUCCESS,additionalDetails:h,cleanup:u})};uc().then(h=>h({clientKey:e["op-adyen-client-key"],environment:e["op-adyen-environment"],locale:t,countryCode:n,onAdditionalDetails:f,onPaymentFailed:d,onError:p})).then(h=>{h.createFromAction(c,{challengeWindowSize:"03"}).mount(o)})})},pc=r=>{const e=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language,t=r??e,n=ac.safeParse(t);return n.success?(ot(`Resolved locale: ${n.data}`),n.data):(Rt(`Resolved invalid locale: ${t}. Defaulting to en-US.`),"en-US")},fc=r=>(r==null?void 0:r["op-adyen-action"])!==void 0,hc=async(r,e,t)=>{const n=cc(e),o=document.createElement("div");o.id="adyen-container";const{host:s,iframe:i,cancelButton:c}=Ln("http://example.com");i.replaceWith(o);const l=await dc({headers:n,locale:pc(t),countryCode:r,component:o,host:s,cancelButton:c});if(l.cleanup(),l.status===$.FAILURE)throw new Error("3DS verification failed");if(l.status===$.CANCELLED)throw new Error("3DS verification cancelled");if(l.status===$.SUCCESS){if(!l.additionalDetails)throw new Error("3DS verification succeeded but no additional details were returned");return ot("3DS verification succeeded"),{existing_cc:{additional_details:l.additionalDetails.data}}}else Wt(l.status)},{log__:M,err__:Bn}=L("common-cc"),{log__:qn}=L("stripe-cc");a.array(a.object({our_existing_pm_id:a.string()})).length(1);const mc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{var u;M("├ Running common CC flow...",{checkoutPaymentMethod:e});const s=r.anyCdeConnection,i=await z(s);M(`├ Validating non-CDE form fields [Mode: ${i.mode}]`);const c=De(t,n.get.onValidationError),l={session_id:r.elementsSessionId,checkout_payment_method:e,non_cde_form_fields:c,extra_metadata:{origin:window.location.origin}};try{M(`├ Tokenizing card info in CDE [Session: ${r.elementsSessionId}]`);const d=await gi(o.currentCdeConnections,{session_id:r.elementsSessionId});if(Mi(d,n.get.onValidationError),i.mode==="setup"){M(`├ Setting up payment method in CDE [Token: ${i.token}]`);const p=await vi(s,l);return M(`╰ Setup completed successfully [PM ID: ${p.payment_method_id}]`),{mode:"setup",result:p}}else{M(`├ Initial checkout flow. Checking out card info in CDE [Session: ${r.elementsSessionId}]`);const p=await Cn(s,l);return M("╰ Checkout completed successfully."),{mode:"checkout",result:p}}}catch(d){if(d instanceof kn&&d.originalErrorMessage.includes("3DS_REQUIRED")){M("├ Card requires 3DS, starting non-legacy payment flow"),M("Received 3DS error response headers:",d.response.headers);const p=Ji(d.response.headers);if(p){M("├ Pockyt 3DS case detected. Going through Pockyt 3DS flow.");const S=await Xi(r.baseUrl,d.response.headers);l.extra_metadata.pockyt=S}if(rc(d.response.headers)){M("├ Airwallex 3DS case detected. Going through Airwallex 3DS flow.");const S=await oc(r.baseUrl,d.response.headers);l.extra_metadata.airwallex=S}if(fc(d.response.headers)){M("├ Adyen 3DS case detected. Going through Adyen 3DS flow.");const S=await hc(t[y.COUNTRY],d.response.headers,i.locale);l.extra_metadata.adyen=S}const h=await fi(s,l);M("├ Payment flow result:",h);const w=((u=d.response.headers)==null?void 0:u["op-should-use-new-flow"])!=="true";p?M("├ Pre-start 3DS is successful, other 3DS flows will be skipped."):w?(M("├ Using stripe 3DS flow"),await wc(h)):(M("├ Using common 3DS flow"),await vc(h,r.baseUrl));const x=h.cc_pm_id;if(i.mode==="setup"){M(`├ Confirming payment flow [cc_pm_id: ${x}]`);const S=await se(s,{secure_token:i.token,existing_cc_pm_id:x});M("├ Confirm payment flow result received Result:",S);const T=Tt(S);return M(`╰ Setup completed successfully [PM ID: ${T.payment_method_id}]`),{mode:"setup",result:T}}else{M(`├ Checking out after 3DS flow [Flow: ${w?"legacy":"new"}]`);const S=await Cn(s,{...l,existing_cc_pm_id:x,do_not_use_legacy_cc_flow:w});return M("╰ Checkout completed successfully."),{mode:"checkout",result:S}}}throw Bn("╰ Error checking out card info in CDE"),Bn(d),d}}),yc=r=>{const e=r.required_user_actions.find(t=>t.type==="stripe_3ds");if(!e)throw new Error("No stripe 3DS action found");return oa.parse(e)},_c=["airwallex_payment_consent","adyen"],gc=r=>{const e=r.required_user_actions.find(t=>_c.includes(t.type));if(!e)throw new Error("No common 3DS action found");return ta.parse(e)},vc=async(r,e)=>{const t=gc(r);if(t.redirect_url==="3DS_COMPLETE"){M("├ 3DS flow completed successfully");return}M(`├ Using common 3DS flow [URL: ${t.redirect_url}]`);const{status:n}=await Qt({url:t.redirect_url,baseUrl:e});if(M(`╰ 3DS verification completed [Status: ${n}]`),n===$.CANCELLED)throw new Error("3DS verification cancelled");if(n===$.FAILURE)throw new Error("3DS verification failed")},wc=async r=>{const e=yc(r);qn(`├ Using stripe 3DS flow [Client Secret: ${e.client_secret.substring(0,8)}...]`),await da(e),qn("╰ Stripe 3DS flow completed successfully")},ie=a.enum(["stripe","airwallex","authorize_net"]);ie.Enum.stripe;const{log__:H,err__:bc}=L("stripe-pr"),Ec=a.object({provider:a.union([a.literal("apple_pay"),a.literal("google_pay")]),processor_name:a.literal("stripe"),metadata:a.object({stripe_pk:a.string()})}),kc=Ve(async({context:r,formCallbacks:e})=>{H("Checking if there are any CPMs for Stripe PR...");const t=ae(r.checkoutPaymentMethods,Ec);H("Initializing Stripe PR flow...");const n=r.anyCdeConnection,o=await z(n),s=o.mode==="setup";H("Getting initial preview amount");const i=await tt(n,o.token,s,void 0),c=await ca(t.metadata.stripe_pk,i.amountAtom,i.currency,s);H("Checking if can make payment");const l=await c.canMakePayment();if(l===null)return bc("canMakePayment returned null"),{isAvailable:!1,reason:"canMakePayment returned null"};H("Stripe PR flow initialized successfully. Can make payment",l);const u=(d,p)=>Z.stripePR.run({context:r,checkoutPaymentMethod:Mt(r.checkoutPaymentMethods,d),nonCdeFormInputs:he(r.formDiv),formCallbacks:e,customParams:{provider:d,overridePaymentRequest:p==null?void 0:p.overridePaymentRequest},initResult:{processor:ie.Enum.stripe,pr:c,isAvailable:!0,availableProviders:{applePay:l.applePay,googlePay:l.googlePay},startFlow:u}});return{processor:ie.Enum.stripe,isAvailable:!0,pr:c,availableProviders:{applePay:l.applePay,googlePay:l.googlePay},startFlow:u}}),Cc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o,initResult:s})=>{if(H("Running Stripe PR flow..."),o.provider!==e.provider)throw new Error(`Provider mismatch. Expected ${o.provider}, got ${e.provider}`);const i=r.anyCdeConnection,c=s.pr;if(o!=null&&o.overridePaymentRequest){const h=o.overridePaymentRequest;H("Overriding PR amount with",h),Pc(c,h.amount,h.pending,h.applePayPaymentRequest)}H("Showing PR dialog..."),c.show();const l=await la(c);H("Stripe PM added event:",l),H("Merging PM fields with form fields...");const u=Sc(t,l),d=De(u,n.get.onValidationError);H("PR dialog finished. Starting payment flow...",d);const p=await hi(i,{fields:d,checkoutPaymentMethod:e}),_=Ac(p);H("Confirming PR with Stripe..."),await ua(_,l);const f=await z(i);if(f.mode==="setup"){H("Confirming payment flow for setup...");const h=await se(i,{secure_token:f.token});return{mode:"setup",result:Tt(h)}}else{H("Performing checkout...");const h={secure_token:f.token,payment_input:{provider_type:e.provider},customer_first_name:d[y.FIRST_NAME],customer_last_name:d[y.LAST_NAME],customer_email:d[y.EMAIL],customer_zip_code:d[y.ZIP_CODE],customer_country:d[y.COUNTRY],promotion_code:d[y.PROMOTION_CODE],line_items:f.line_items,total_amount_atom:f.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await kr(i,h)}}}),Sc=(r,e)=>{var l,u,d,p;const t={...r},[n,...o]=((u=(l=e.payerName)==null?void 0:l.trim())==null?void 0:u.split(/\s+/))??[],s=o.join(" ")||void 0,i=(p=(d=e.paymentMethod)==null?void 0:d.billing_details)==null?void 0:p.address,c=e.shippingAddress;return t[y.FIRST_NAME]=t[y.FIRST_NAME]||n||"_OP_UNKNOWN",t[y.LAST_NAME]=t[y.LAST_NAME]||s||"_OP_UNKNOWN",t[y.EMAIL]=t[y.EMAIL]||e.payerEmail||"op_unfilled@getopenpay.com",t[y.ZIP_CODE]=t[y.ZIP_CODE]||(i==null?void 0:i.postal_code)||(c==null?void 0:c.postalCode)||"00000",t[y.COUNTRY]=t[y.COUNTRY]||(i==null?void 0:i.country)||(c==null?void 0:c.country)||"US",H("Final form inputs:",t),t},Pc=(r,e,t,n)=>{r.update({total:{amount:e.amountAtom,label:"Total",pending:t},currency:e.currency,applePay:n})},Ac=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 sa.parse(r.required_user_actions[0])},{log__:_e,err__:Yn}=L("pockyt-paypal"),xc=a.object({processor_name:a.literal("pockyt"),provider:a.literal("paypal")});a.array(a.object({paypal_iframe_url:a.string(),verify_token:a.string()})).length(1);const Ic=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{var Y,we;_e("Running Pockyt Paypal flow...");const s=r.anyCdeConnection,i=await z(s);_e("Verifying CPM...");const c=xc.parse(e);_e("├ Validating non-CDE form fields");const l=o==null?void 0:o.settings,u=De(t,n.get.onValidationError,l==null?void 0:l.defaultFieldValues),d=Ni(u);_e(`Starting payment flow... Mode: ${i.mode}`);const p=br(),_=i.mode!=="setup",f={payment_provider:c.provider,checkout_payment_method:c,use_pay_first_flow:_,pay_first_flow_cart_info:_?{line_items:i.line_items,displayed_total_amount_atom:i.amount_total_atom}:void 0,processor_specific_metadata:{use_paypal_redirect_flow:!!((Y=o==null?void 0:o.settings)!=null&&Y.useRedirectFlow),frontend_token_for_redirect_flow:p},...d},h=new URL("/app/pre-action/start/",r.baseUrl).toString(),w=btoa(JSON.stringify(f)),x=new URLSearchParams({st:i.token,r:w}),S=`${h}?${x.toString()}`;if((we=o==null?void 0:o.settings)!=null&&we.useRedirectFlow)throw _e("Starting redirect mode for PayPal..."),window.location.href=S,await vr(20*1e3),new Error("Paypal flow timed out, please try again with another payment method.");_e("Starting popup mode for PayPal..."),_e("Opening paypal iframe...");const T=await qi("PayPal",s,p,S);_e("Paypal flow result",T);const A=$n(T.href),O=Hi(T.href,"catt");if(!O)throw Yn("Checkout attempt ID not found in redirect URL:",T.href),new Error("Checkout attempt ID not found in redirect URL");_e(`Confirming payment flow using vault ID ${A}`);const F=await se(s,{secure_token:i.token,their_pm_id:A,checkout_attempt_id:_?O:void 0});if(_e("Confirm payment flow result",F),i.mode==="setup")return{mode:"setup",result:{payment_method_id:F.payment_methods[0].id}};if(!F.pay_first_success_response)throw Yn("Checkout failed, no pay-first success response:",F),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:F.pay_first_success_response}}),er=({gateway:r,gatewayMerchantId:e,merchantName:t,merchantId:n,initialPreview:o,overridePaymentRequest:s,prefill:i})=>{var p,_;const c=((p=s==null?void 0:s.amount)==null?void 0:p.amountAtom)??(o==null?void 0:o.amountAtom)??0,l=Math.max(c/100,0),u=(((_=s==null?void 0:s.amount)==null?void 0:_.currency)??(i==null?void 0:i.currency)??o.currency).toUpperCase(),d={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:s!=null&&s.pending?"ESTIMATED":"FINAL",totalPrice:l.toFixed(2)}};return s!=null&&s.googlePayPaymentRequest?{...d,...s.googlePayPaymentRequest}:d},Wn=()=>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)});let Tr=null;const Kn=r=>r===Le||r===window.location.origin?"PRODUCTION":"TEST",tr=(r,e)=>{const t=Kn(r);return Tr===null&&(Tr=new window.google.payments.api.PaymentsClient({environment:t,merchantInfo:e.merchantInfo})),Tr},Tc=r=>{const e=r.required_user_actions.find(t=>t.type==="airwallex_payment_consent");return e?on.parse(e):null},Hn=(r,e)=>{var o,s,i,c;const t={...r},n=(s=(o=e.paymentMethodData)==null?void 0:o.info)==null?void 0:s.billingAddress;if(n){const[l,...u]=((c=(i=n.name)==null?void 0:i.trim())==null?void 0:c.split(/\s+/))??[],d=u.join(" ")||void 0;t[y.EMAIL]=t[y.EMAIL]||e.email||"op_unfilled@getopenpay.com",t[y.COUNTRY]=t[y.COUNTRY]||n.countryCode||"US",t[y.ADDRESS]=t[y.ADDRESS]||n.address1||"",t[y.CITY]=t[y.CITY]||n.locality||"",t[y.ZIP_CODE]=t[y.ZIP_CODE]||n.postalCode||"00000",t[y.STATE]=t[y.STATE]||n.administrativeArea||"",t[y.FIRST_NAME]=t[y.FIRST_NAME]||l||"_OP_UNKNOWN",t[y.LAST_NAME]=t[y.LAST_NAME]||d||"_OP_UNKNOWN"}return t},{log__:ce,err__:st}=L("awx-google-pay"),Rc=Ve(async({context:r,formCallbacks:e})=>{var p,_;const t={processor:ie.Enum.airwallex,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=ae(r.checkoutPaymentMethods,Vn);if(!n)return t;ce("Google Pay CPM",n);const o=n.metadata;if(!o.processor_account_id)return st("No gateway merchant ID found in processor account"),t;if(ce("Loading Google Pay SDK..."),await Wn(),!((_=(p=window.google)==null?void 0:p.payments)!=null&&_.api))return st("Google Pay SDK not loaded properly"),t;if(Kn(r.baseUrl)==="PRODUCTION"&&!o.google_pay_merchant_id)return st("Google Pay merchant ID is required for production environment"),t;ce("Google Pay SDK loaded",window.google.payments);try{const f=er({gateway:"airwallex",gatewayMerchantId:o.processor_account_id,merchantName:o.processor_account_name,merchantId:o.google_pay_merchant_id??"",initialPreview:{amountAtom:0,currency:"USD"}}),{result:h}=await tr(r.baseUrl,f).isReadyToPay(f);if(!h)return ce("Google Pay is not available for this user"),t}catch(f){return st("Error checking Google Pay availability",f),t}const i=r.anyCdeConnection,c=await z(i),l=c.mode==="setup",u=await tt(i,c.token,l,void 0),d=async f=>{try{Z.airwallexGooglePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:he(r.formDiv),formCallbacks:e,initResult:void 0,customParams:{...f,initialPreview:u}})}catch(h){st("Google Pay payment error",h),e.get.onCheckoutError((h==null?void 0:h.message)??"Unknown error")}};return{processor:ie.Enum.airwallex,isAvailable:!0,isLoading:!1,startFlow:d}}),Oc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{var p,_,f,h,w,x,S;ce("Starting Google Pay flow...");const s=ae(r.checkoutPaymentMethods,Vn),{initialPreview:i,overridePaymentRequest:c}=o,l=s.metadata;if(!l.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const u=er({gateway:"airwallex",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:l.google_pay_merchant_id??"",initialPreview:i,overridePaymentRequest:c}),d=tr(r.baseUrl,u);try{const T=await d.loadPaymentData(u);ce("Google Pay Payment data",T);const A=r.anyCdeConnection,O=await z(A),F=Hn(t,T),Y=De(F,n.get.onValidationError,o==null?void 0:o.defaultFieldValues),we=(_=(p=T.paymentMethodData)==null?void 0:p.tokenizationData)==null?void 0:_.token;if(!we)throw new Error("No payment token received from Google Pay");const Jl=await et(A,{payment_provider:e.provider,checkout_payment_method:e,new_customer_email:Y[y.EMAIL],new_customer_first_name:Y[y.FIRST_NAME],new_customer_last_name:Y[y.LAST_NAME],new_customer_address:{zip_code:Y[y.ZIP_CODE],country:Y[y.COUNTRY]}}),ur=Tc(Jl);ce("Start flow next actions",ur);let Be=await se(A,{secure_token:O.token,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:ur==null?void 0:ur.consent_id,airwallex_payment_method_data:{type:"googlepay",googlepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:we}}}});ce("[1st] Confirm payment flow response",Be);let Zr=(h=(f=Be.payment_methods)==null?void 0:f[0])==null?void 0:h.id;const qe=(w=Be.required_user_actions)==null?void 0:w.find(jt=>jt.type==="airwallex_payment_consent");if(qe&&qe.redirect_url){ce("3DS Required, starting verification...",qe);const{status:jt}=await Qt({url:qe.redirect_url,baseUrl:r.baseUrl});if(ce(`╰ 3DS verification completed [Status: ${jt}]`),jt===$.CANCELLED)throw new Error("3DS verification cancelled");if(jt===$.FAILURE)throw new Error("3DS verification failed")}if(qe&&!Zr&&(Be=await se(A,{secure_token:O.token,their_pm_id:qe.their_pm_id,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:qe.consent_id}}),ce("[2nd] Confirm payment flow response",Be),Zr=(S=(x=Be.payment_methods)==null?void 0:x[0])==null?void 0:S.id),!Zr)throw new Error("No PM ID found");return Xt({logPrefix:"awx-googlepay",anyCdeConnection:A,checkoutPaymentMethod:e,requiredFormFields:Y,confirmResult:Be,usePayFirstFlow:!1})}catch(T){throw st("Google Pay payment error",T),new Error((T==null?void 0:T.message)??"Unknown error")}}),Jn=()=>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)}),Xn=(r,e)=>{const t=e.token.paymentMethod.billingContact,n=e.billingContact,o=e.shippingContact,s={...r};return(t||n||o)&&(s[y.EMAIL]=s[y.EMAIL]||(t==null?void 0:t.emailAddress)||(n==null?void 0:n.emailAddress)||(o==null?void 0:o.emailAddress)||"op_unfilled@email.com",s[y.COUNTRY]=s[y.COUNTRY]||(t==null?void 0:t.countryCode)||(n==null?void 0:n.countryCode)||(o==null?void 0:o.countryCode)||"US",s[y.ZIP_CODE]=s[y.ZIP_CODE]||(t==null?void 0:t.postalCode)||(n==null?void 0:n.postalCode)||(o==null?void 0:o.postalCode)||"00000",s[y.FIRST_NAME]=s[y.FIRST_NAME]||(t==null?void 0:t.givenName)||(n==null?void 0:n.givenName)||(o==null?void 0:o.givenName)||"_OP_UNKNOWN",s[y.LAST_NAME]=s[y.LAST_NAME]||(t==null?void 0:t.familyName)||(n==null?void 0:n.familyName)||(o==null?void 0:o.familyName)||"_OP_UNKNOWN"),s};a.object({data:a.object({messageHeaders:a.record(a.string(),a.any()),errors:a.array(a.any()),messageType:a.string(),messageBody:a.record(a.string(),a.any())}),origin:a.literal("https://applepay.cdn-apple.com")});const Qn=({total:r,prefill:e})=>{var n;if(e.mode==="setup")return{paymentDescription:"Setup recurring payment",regularBilling:{amount:r.amount,label:"Setup recurring payment",paymentTiming:"recurring",type:"final"},managementURL:new URL(`/pay/${e.token}`,Le).toString()};const t=(n=e.line_items)==null?void 0:n[0];if(t)return{paymentDescription:(t==null?void 0:t.description)??"",regularBilling:{amount:r.amount,label:(t==null?void 0:t.description)??"",recurringPaymentIntervalUnit:t==null?void 0:t.billing_interval,recurringPaymentIntervalCount:(t==null?void 0:t.billing_interval_count)??void 0,paymentTiming:"recurring",type:"final"},managementURL:`https://cde.getopenpay.com/pay/${e.token}`}},eo=({overridePaymentRequest:r,initialPreview:e,prefill:t,defaultLabel:n="Total"})=>{var c,l;const o=(((c=r==null?void 0:r.amount)==null?void 0:c.currency)??(t==null?void 0:t.currency)??e.currency).toUpperCase(),i=((((l=r==null?void 0:r.amount)==null?void 0:l.amountAtom)??(e==null?void 0:e.amountAtom)??0)/100).toFixed(2);return{currencyCode:o,total:{label:(r==null?void 0:r.label)??n??"Total",type:r!=null&&r.pending?"pending":"final",amount:i}}},{log__:rr}=L("awx-apple-pay");async function Nc(r,e){try{const n=(await Cr(e.connection,{checkout_payment_method:e.checkoutPaymentMethod,processor_specific_metadata:{airwallex_payment_session:{validation_url:r.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).next_action_metadata,o=n==null?void 0:n.apple_pay_session;if(!o)throw new Error("No session data received from payment flow");e.session.completeMerchantValidation(o)}catch(t){throw e.session.abort(),t}}async function Mc(r,e){if(!r.redirect_url)throw new Error("No redirect URL found");rr("3DS Required, starting verification...",r);const{status:t}=await Qt({url:r.redirect_url,baseUrl:e.baseUrl});if(rr(`╰ 3DS verification completed [Status: ${t}]`),t===$.CANCELLED)throw new Error("3DS verification cancelled");if(t===$.FAILURE)throw new Error("3DS verification failed");const n=await se(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 rr("[2nd] Confirm payment flow response",n),n}async function Dc(r,e){var t,n,o,s,i;try{const c=r.payment,l=Xn(e.nonCdeFormInputs,c),u=De(l,e.formCallbacks.get.onValidationError,e.defaultFieldValues),_=(await et(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:u[y.EMAIL],new_customer_first_name:u[y.FIRST_NAME],new_customer_last_name:u[y.LAST_NAME],new_customer_address:{zip_code:u[y.ZIP_CODE],country:u[y.COUNTRY]}})).required_user_actions[0].consent_id;if(!_)throw new Error("No consent ID received from payment flow");let f=await se(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,airwallex_consent_id:_,airwallex_payment_method_data:{type:"applepay",applepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:JSON.stringify(c.token)}}}});rr("[1st] Confirm payment flow response",f);let h=(n=(t=f.payment_methods)==null?void 0:t[0])==null?void 0:n.id;const w=(o=f.required_user_actions)==null?void 0:o.find(S=>S.type==="airwallex_payment_consent");if(w!=null&&w.redirect_url&&w.consent_id&&w.their_pm_id&&(f=await Mc(w,e),h=(i=(s=f.payment_methods)==null?void 0:s[0])==null?void 0:i.id),!h)throw new Error("No PM ID found");const x={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(x),Xt({logPrefix:"awx-applepay",anyCdeConnection:e.connection,checkoutPaymentMethod:e.checkoutPaymentMethod,requiredFormFields:u,confirmResult:f,usePayFirstFlow:!1})}catch(c){const l={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(l),c}}const{log__:at,err__:Rr}=L("awx-apple-pay"),jc=Ve(async({context:r,formCallbacks:e})=>{const t={processor:ie.Enum.airwallex,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=ae(r.checkoutPaymentMethods,Zn);if(!n)return t;at("Loading Apple Pay SDK...");try{await Jn(),at("Apple Pay SDK loaded successfully")}catch(p){return Rr("Failed to load Apple Pay SDK",p),t}if(!window.ApplePaySession||!ApplePaySession.canMakePayments())return at("Apple Pay is not available on this device/browser"),t;if(at("Apple Pay Loaded"),!await ApplePaySession.canMakePayments())return at("No active cards available for Apple Pay"),t;if(!n.metadata.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const i=r.anyCdeConnection,c=await z(i),l=c.mode==="setup",u=await tt(i,c.token,l,void 0),d=async p=>{try{await Z.airwallexApplePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:he(r.formDiv),formCallbacks:e,customParams:{...p,initialPreview:u},initResult:void 0})}catch(_){Rr("Apple Pay payment error",_),e.get.onCheckoutError((_==null?void 0:_.message)??"Unknown error")}};return{processor:ie.Enum.airwallex,isAvailable:!0,isLoading:!1,startFlow:d}}),Lc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,customParams:n,formCallbacks:o})=>{var x;const s=ae(r.checkoutPaymentMethods,Zn),{overridePaymentRequest:i,initialPreview:c}=n,l=r.anyCdeConnection,u=await z(l),d=u.mode==="setup",{currencyCode:p,total:_}=eo({overridePaymentRequest:i,initialPreview:c,defaultLabel:(x=s==null?void 0:s.metadata)==null?void 0:x.processor_account_name}),f={countryCode:"US",currencyCode:p,requiredBillingContactFields:["email","postalAddress","name"],requiredShippingContactFields:["email"],supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit","supportsEMV"],total:_,recurringPaymentRequest:Qn({total:_,prefill:u}),...(i==null?void 0:i.applePayPaymentRequest)??{}},h=new ApplePaySession(3,f),w={session:h,connection:r.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:t,processorAccount:s.metadata,prefill:u,isSetupMode:d,baseUrl:r.baseUrl,formCallbacks:o,defaultFieldValues:n==null?void 0:n.defaultFieldValues};return new Promise((S,T)=>{const A=()=>{at("Payment cancelled by user"),T(new Error("Payment cancelled by user"))};h.oncancel=A,h.onvalidatemerchant=async O=>{try{await Nc(O,w)}catch(F){T(F)}},h.onpaymentmethodselected=()=>{const O={newTotal:{..._}};h.completePaymentMethodSelection(O)},h.onpaymentauthorized=async O=>{try{const F=await Dc(O,w);S(F)}catch(F){T(F)}},h.begin()}).catch(S=>{throw Rr("Apple Pay payment error",S),S})}),Fc=1,Uc=a.object({processor_name:a.literal("loop"),provider:a.literal("crypto"),metadata:a.object({merchant_id:a.string(),entity_id:a.string(),api_token:a.string(),supported_currencies:a.array(a.string()),environment:a.string()})}),{log__:X,err__:to}=L("loop-crypto"),$c=a.object({loopFirstName:U,loopLastName:U,loopEmail:U,[y.PROMOTION_CODE]:j}),Zc=(r,e,t)=>{const n=$c.safeParse(r);if(!n.success){const o=n.error.format(),s=sn(o);for(const[i,c]of Object.entries(s))e(i,c,i);throw to("Got validation errors in non-CDE form fields",s),new Error("Got validation errors in non-CDE form fields")}return n.data},Vc=Ve(async({context:r})=>{X("Checking if there are any CPMs for Loop Crypto...");const e=ae(r.checkoutPaymentMethods,Uc);X(`checkoutPaymentMethod: ${JSON.stringify(e)}`),X("Starting Loop Crypto flow...");const t=await z(r.anyCdeConnection),n=await Cr(r.anyCdeConnection,{checkout_payment_method:e});if(t.mode!=="setup"&&!e.metadata.supported_currencies.includes(t.currency))throw Error(`Currency ${t.currency} not enabled for Loop. Enabled currencies: ${e.metadata.supported_currencies}`);if(!n||!n.next_action_metadata)throw Error("Failed to fetch necessary setup data for Loop");const o=n.next_action_metadata;let s;t.mode==="setup"?s=Fc:s=t.amount_total_atom*o.token_price;const i=s,c=o.authorization_amount,l=br(),u={paymentUsdAmount:i,suggestedAuthorizationUsdAmount:c,customerRefId:l},d={apiKey:e.metadata.api_token,entityId:e.metadata.entity_id,merchantId:e.metadata.merchant_id,environment:e.metadata.environment};return{isAvailable:!0,widgetProps:u,initLoopConnectProps:d}}),zc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{X("Running Loop flow..."),X("context",r),X("checkoutPaymentMethod",e),X("nonCdeFormInputs",t),X("flowCallbacks",n),X("customParams",o);const s=Zc(t,n.get.onValidationError),i=r.anyCdeConnection,c=await z(r.anyCdeConnection),l=c.mode!=="setup",u=await et(r.anyCdeConnection,{checkout_payment_method:e,payment_provider:e.provider,new_customer_email:s.loopEmail,new_customer_first_name:s.loopFirstName,new_customer_last_name:s.loopLastName,use_pay_first_flow:l,pay_first_flow_cart_info:l?{line_items:c.line_items,displayed_total_amount_atom:c.amount_total_atom}:void 0});if(!o)throw Error("Checkout failed. Failed to properly submit form data.");const d=await se(i,{secure_token:c.token,their_pm_id:o.success?o.payin.paymentMethod.paymentMethodId:void 0,checkout_attempt_id:c.mode!=="setup"?u.checkout_attempt_id:void 0,processor_specific_metadata:{loop_customer:o.success?o.customer:void 0,loop_payin:o.success?o.payin:void 0,loop_failure_details:o.success?void 0:o.failureDetails,loop_success:o.success}});if(X(`Confirm result: ${d}`),c.mode==="setup"){X("Doing payment setup..."),X("├ Confirm payment flow result received Result:",d);const p=Tt(d);return X(`╰ Setup completed successfully [PM ID: ${p.payment_method_id}]`),{mode:"setup",result:p}}else{if(X("Doing checkout..."),!d.pay_first_success_response)throw to("Checkout failed, no pay-first success response:",d),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:d.pay_first_success_response}}});async function Gc(r,e){try{const n=(await Cr(e.connection,{checkout_payment_method:e.checkoutPaymentMethod,processor_specific_metadata:{apple_payment_session:{validation_url:r.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).next_action_metadata,o=n==null?void 0:n.apple_pay_session;if(!o)throw new Error("No session data received from payment flow");e.session.completeMerchantValidation(o)}catch(t){throw e.session.abort(),t}}async function Bc(r,e){var t,n;try{const o=r.payment,s=Xn(e.nonCdeFormInputs,o),i=De(s,e.formCallbacks.get.onValidationError);await et(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:i[y.EMAIL],new_customer_first_name:i[y.FIRST_NAME],new_customer_last_name:i[y.LAST_NAME],new_customer_address:{zip_code:i[y.ZIP_CODE],country:i[y.COUNTRY]}});const c={dataDescriptor:"COMMON.APPLE.INAPP.PAYMENT",dataValue:window.btoa(JSON.stringify(o.token.paymentData))},l=await se(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,mobile_wallet_payment_data:c}});if(!((n=(t=l.payment_methods)==null?void 0:t[0])==null?void 0:n.id))throw new Error("No PM ID found");const d={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(d),Xt({logPrefix:"authnet-applepay",anyCdeConnection:e.connection,checkoutPaymentMethod:e.checkoutPaymentMethod,requiredFormFields:i,confirmResult:l,usePayFirstFlow:!1})}catch(o){const s={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(s),o}}const ro=a.object({provider:a.literal("apple_pay"),processor_name:a.literal("authorize_net"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string()})}),no=a.object({provider:a.literal("google_pay"),processor_name:a.literal("authorize_net"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string(),google_pay_merchant_id:a.string().nullish()})}),{log__:Ot,err__:Or}=L("authnet-applepay"),qc=Ve(async({context:r,formCallbacks:e})=>{const t={processor:ie.Enum.authorize_net,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=ae(r.checkoutPaymentMethods,ro);if(!n)return t;Ot("Loading Apple Pay SDK...");try{await Jn(),Ot("Apple Pay SDK loaded successfully")}catch(p){return Or("Failed to load Apple Pay SDK",p),t}if(!window.ApplePaySession||!ApplePaySession.canMakePayments())return Ot("Apple Pay is not available on this device/browser"),t;if(!await ApplePaySession.canMakePayments())return Ot("No active cards available for Apple Pay"),t;if(!n.metadata.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const i=r.anyCdeConnection,c=await z(i),l=c.mode==="setup",u=await tt(i,c.token,l,void 0),d=async p=>{try{await Z.authorizeNetApplePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:he(r.formDiv),formCallbacks:e,customParams:{...p,initialPreview:u},initResult:void 0})}catch(_){Or("Apple Pay payment error",_),e.get.onCheckoutError((_==null?void 0:_.message)??"Unknown error")}};return{processor:ie.Enum.authorize_net,isAvailable:!0,isLoading:!1,startFlow:d}}),Yc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,customParams:n,formCallbacks:o})=>{var x;const{initialPreview:s,overridePaymentRequest:i}=n,c=ae(r.checkoutPaymentMethods,ro),{currencyCode:l,total:u}=eo({overridePaymentRequest:i,initialPreview:s,defaultLabel:(x=c==null?void 0:c.metadata)==null?void 0:x.processor_account_name}),d=r.anyCdeConnection,p=await z(d),_=p.mode==="setup",f={countryCode:"US",currencyCode:l,total:u,requiredBillingContactFields:["email","postalAddress","name"],requiredShippingContactFields:["email"],supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit"],recurringPaymentRequest:Qn({total:u,prefill:p}),...(i==null?void 0:i.applePayPaymentRequest)??{}},h=new ApplePaySession(3,f),w={session:h,connection:r.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:t,processorAccount:e.metadata,prefill:p,isSetupMode:_,baseUrl:r.baseUrl,formCallbacks:o};return new Promise((S,T)=>{h.oncancel=()=>{Ot("Payment cancelled by user"),T(new Error("Payment cancelled by user"))},h.onvalidatemerchant=async A=>{try{await Gc(A,w)}catch(O){T(O)}},h.onpaymentmethodselected=()=>{const A={newTotal:f.total};h.completePaymentMethodSelection(A)},h.onpaymentauthorized=async A=>{try{const O=await Bc(A,w);S(O)}catch(O){T(O)}},h.begin()}).catch(S=>{throw Or("Apple Pay payment error",S),S})}),{log__:ze,err__:Nt}=L("authnet-googlepay"),Wc=Ve(async({context:r,formCallbacks:e})=>{var d,p;ze("Initializing Authnet GooglePay flow");const t={processor:ie.Enum.authorize_net,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=ae(r.checkoutPaymentMethods,no);if(!n)return t;ze("Google Pay CPM",n);const o=n.metadata;if(!o.processor_account_id)return Nt("No gateway merchant ID found in processor account"),t;if(ze("Loading Google Pay SDK..."),await Wn(),!((p=(d=window.google)==null?void 0:d.payments)!=null&&p.api))return Nt("Google Pay SDK not loaded properly"),t;ze("Google Pay SDK loaded",window.google.payments);try{const _=er({gateway:"authorizenet",gatewayMerchantId:o.processor_account_id,merchantName:o.processor_account_name,merchantId:o.google_pay_merchant_id??"",initialPreview:{amountAtom:0,currency:"USD"}}),{result:f}=await tr(r.baseUrl,_).isReadyToPay(_);if(!f)return ze("Google Pay is not available for this user"),t}catch(_){return Nt("Error checking Google Pay availability",_),t}const s=r.anyCdeConnection,i=await z(s),c=i.mode==="setup",l=await tt(s,i.token,c,void 0),u=async _=>{try{Z.authorizeNetGooglePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:he(r.formDiv),formCallbacks:e,initResult:void 0,customParams:{..._,initialPreview:l}})}catch(f){Nt("Google Pay payment error",f),e.get.onCheckoutError((f==null?void 0:f.message)??"Unknown error")}};return{processor:ie.Enum.authorize_net,isAvailable:!0,isLoading:!1,startFlow:u}}),Kc=Se(async({context:r,nonCdeFormInputs:e,checkoutPaymentMethod:t,formCallbacks:n,customParams:o})=>{var p,_,f,h;const{initialPreview:s,overridePaymentRequest:i}=o,l=ae(r.checkoutPaymentMethods,no).metadata,u=er({gateway:"authorizenet",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:l.google_pay_merchant_id??"",initialPreview:s,overridePaymentRequest:i}),d=tr(r.baseUrl,u);try{const w=await d.loadPaymentData(u);ze("Google Pay Payment data",w);const x=r.anyCdeConnection,S=await z(x),T=Hn(e,w),A=De(T,n.get.onValidationError),O=(_=(p=w.paymentMethodData)==null?void 0:p.tokenizationData)==null?void 0:_.token;if(!O)throw new Error("No payment token received from Google Pay");const F=await et(x,{payment_provider:t.provider,checkout_payment_method:t,new_customer_email:A[y.EMAIL],new_customer_first_name:A[y.FIRST_NAME],new_customer_last_name:A[y.LAST_NAME],new_customer_address:{zip_code:A[y.ZIP_CODE],country:A[y.COUNTRY]}});ze("Start payment flow response",F);const Y=await se(x,{secure_token:S.token,processor_specific_metadata:{payment_provider:t.provider,mobile_wallet_payment_data:{dataDescriptor:"COMMON.GOOGLE.INAPP.PAYMENT",dataValue:window.btoa(O)}}});if(!((h=(f=Y.payment_methods)==null?void 0:f[0])==null?void 0:h.id))throw new Error("No PM ID found");return Xt({logPrefix:"authnet-googlepay",anyCdeConnection:x,checkoutPaymentMethod:t,requiredFormFields:A,confirmResult:Y,usePayFirstFlow:!1})}catch(w){throw Nt("Google Pay payment error",w),new Error((w==null?void 0:w.message)??"Unknown error")}}),Mt=(r,e,t)=>{const n=r.filter(o=>{const s=t===void 0?!0:o.processor_name===t,i=o.provider===e;return s&&i});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]},Z={commonCC:{init:async()=>{},run:mc},stripePR:{init:kc,run:Cc},stripeLink:{init:Fi,run:Ui},pockytPaypal:{run:Ic},airwallexGooglePay:{init:Rc,run:Oc},airwallexApplePay:{init:jc,run:Lc},loopCrypto:{init:Vc,run:zc},authorizeNetApplePay:{init:qc,run:Yc},authorizeNetGooglePay:{init:Wc,run:Kc}};var Nr=function(r,e){return Nr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])},Nr(r,e)};function je(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Nr(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function Hc(r,e,t,n){function o(s){return s instanceof t?s:new t(function(i){i(s)})}return new(t||(t=Promise))(function(s,i){function c(d){try{u(n.next(d))}catch(p){i(p)}}function l(d){try{u(n.throw(d))}catch(p){i(p)}}function u(d){d.done?s(d.value):o(d.value).then(c,l)}u((n=n.apply(r,e||[])).next())})}function oo(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,o,s,i=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(u){return function(d){return l([u,d])}}function l(u){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(t=0)),t;)try{if(n=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,o=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){t.label=u[1];break}if(u[0]===6&&t.label<s[1]){t.label=s[1],s=u;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(u);break}s[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(r,t)}catch(d){u=[6,d],o=0}finally{n=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function it(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 nr(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),o,s=[],i;try{for(;(e===void 0||e-- >0)&&!(o=n.next()).done;)s.push(o.value)}catch(c){i={error:c}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(i)throw i.error}}return s}function or(r,e,t){if(t||arguments.length===2)for(var n=0,o=e.length,s;n<o;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return r.concat(s||Array.prototype.slice.call(e))}function ct(r){return this instanceof ct?(this.v=r,this):new ct(r)}function Jc(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),o,s=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),c("next"),c("throw"),c("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,p)}}function c(f,h){n[f]&&(o[f]=function(w){return new Promise(function(x,S){s.push([f,w,x,S])>1||l(f,w)})},h&&(o[f]=h(o[f])))}function l(f,h){try{u(n[f](h))}catch(w){_(s[0][3],w)}}function u(f){f.value instanceof ct?Promise.resolve(f.value.v).then(d,p):_(s[0][2],f)}function d(f){l("next",f)}function p(f){l("throw",f)}function _(f,h){f(h),s.shift(),s.length&&l(s[0][0],s[0][1])}}function Xc(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 it=="function"?it(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(s){t[s]=r[s]&&function(i){return new Promise(function(c,l){i=r[s](i),o(c,l,i.done,i.value)})}}function o(s,i,c,l){Promise.resolve(l).then(function(u){s({value:u,done:c})},i)}}typeof SuppressedError=="function"&&SuppressedError;function B(r){return typeof r=="function"}function sr(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 Mr=sr(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
22
+ Error: ${fe(e)}`),new Error(t)}},oc=async(r,e)=>{const t=tc(e),n=await Fn({url:t["op-airwallex-3ds-url"],baseUrl:r}),o=nc(n.href??""),s=t["op-airwallex-initial-intent-id"];if(s!==o){const c="Unable to process your credit card. Please contact support for assistance.",l=`Intent ID from callback (${o}) does not match the initial intent ID (${s}).`;throw Ir(l),new Error(c)}return{existing_cc:{initial_intent_id:o,consent_id:t["op-airwallex-consent-id"]}}},Zn=a.object({provider:a.literal("apple_pay"),processor_name:a.literal("airwallex"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string()})}),Vn=a.object({provider:a.literal("google_pay"),processor_name:a.literal("airwallex"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string(),google_pay_merchant_id:a.string().nullish()})}),sc=a.enum(["test","live","live-us","live-in","live-apse","live-au"]),ac=a.enum(["ar","bg-BG","ca-ES","cs-CZ","da-DK","de-DE","el-GR","en-US","es-ES","et-EE","fi-FI","fr-FR","hr-HR","hu-HU","is-IS","it-IT","ja-JP","ko-KR","lt-LT","lv-LV","nl-NL","no-NO","pl-PL","pt-BR","pt-PT","ro-RO","ru-RU","sk-SK","sl-SI","sv-SE","zh-CN","zh-TW"]),{log__:ot,err__:Rt}=L("adyen-cc"),ic=a.object({"op-account-id":a.string(),"op-adyen-client-key":a.string(),"op-adyen-environment":sc,"op-adyen-action":a.string()}),zn="Unable to process your credit card. Please contact support for assistance.",cc=r=>{const e=ic.safeParse(r);if(!e.success)throw Rt(`Adyen 3DS is required but headers are malformed. Got: ${JSON.stringify(r)}`),new Error(zn);return e.data},lc=r=>JSON.parse(r),Gn=()=>"AdyenWeb"in window&&"AdyenCheckout"in window.AdyenWeb,uc=async()=>{ot("Waiting for Adyen SDK to load...");for(let r=0;r<10;r++)Gn()||await vr(500);if(!Gn())throw Rt("Adyen SDK not loaded properly"),new Error(zn);return ot("Adyen SDK loaded successfully"),window.AdyenWeb.AdyenCheckout},dc=r=>{const{headers:e,locale:t,countryCode:n,component:o,host:s,cancelButton:i}=r,c=lc(e["op-adyen-action"]);return ot(`Running Adyen 3DS flow for action type: ${c.type}`),new Promise(l=>{const u=()=>{ot("Cleaning up Adyen 3DS flow"),i.removeEventListener("click",_),s.remove()},d=h=>{Rt("Authentication failed. Result:",h),l({status:$.FAILURE,cleanup:u})},p=h=>{Rt("Adyen error:",h),l({status:$.FAILURE,cleanup:u})},_=()=>{l({status:$.CANCELLED,cleanup:u})};i.addEventListener("click",_);const f=(h,w,x)=>{s.remove(),l({status:$.SUCCESS,additionalDetails:h,cleanup:u})};uc().then(h=>h({clientKey:e["op-adyen-client-key"],environment:e["op-adyen-environment"],locale:t,countryCode:n,onAdditionalDetails:f,onPaymentFailed:d,onError:p})).then(h=>{h.createFromAction(c,{challengeWindowSize:"03"}).mount(o)})})},pc=r=>{const e=navigator.languages&&navigator.languages.length?navigator.languages[0]:navigator.language,t=r??e,n=ac.safeParse(t);return n.success?(ot(`Resolved locale: ${n.data}`),n.data):(Rt(`Resolved invalid locale: ${t}. Defaulting to en-US.`),"en-US")},fc=r=>(r==null?void 0:r["op-adyen-action"])!==void 0,mc=async(r,e,t)=>{const n=cc(e),o=document.createElement("div");o.id="adyen-container";const{host:s,iframe:i,cancelButton:c}=Ln("http://example.com");i.replaceWith(o);const l=await dc({headers:n,locale:pc(t),countryCode:r,component:o,host:s,cancelButton:c});if(l.cleanup(),l.status===$.FAILURE)throw new Error("3DS verification failed");if(l.status===$.CANCELLED)throw new Error("3DS verification cancelled");if(l.status===$.SUCCESS){if(!l.additionalDetails)throw new Error("3DS verification succeeded but no additional details were returned");return ot("3DS verification succeeded"),{existing_cc:{additional_details:l.additionalDetails.data}}}else Wt(l.status)},{log__:M,err__:Bn}=L("common-cc"),{log__:qn}=L("stripe-cc");a.array(a.object({our_existing_pm_id:a.string()})).length(1);const hc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{var u;M("├ Running common CC flow...",{checkoutPaymentMethod:e});const s=r.anyCdeConnection,i=await z(s);M(`├ Validating non-CDE form fields [Mode: ${i.mode}]`);const c=De(t,n.get.onValidationError),l={session_id:r.elementsSessionId,checkout_payment_method:e,non_cde_form_fields:c,extra_metadata:{origin:window.location.origin}};try{M(`├ Tokenizing card info in CDE [Session: ${r.elementsSessionId}]`);const d=await gi(o.currentCdeConnections,{session_id:r.elementsSessionId});if(Mi(d,n.get.onValidationError),i.mode==="setup"){M(`├ Setting up payment method in CDE [Token: ${i.token}]`);const p=await vi(s,l);return M(`╰ Setup completed successfully [PM ID: ${p.payment_method_id}]`),{mode:"setup",result:p}}else{M(`├ Initial checkout flow. Checking out card info in CDE [Session: ${r.elementsSessionId}]`);const p=await Cn(s,l);return M("╰ Checkout completed successfully."),{mode:"checkout",result:p}}}catch(d){if(d instanceof kn&&d.originalErrorMessage.includes("3DS_REQUIRED")){M("├ Card requires 3DS, starting non-legacy payment flow"),M("Received 3DS error response headers:",d.response.headers);const p=Ji(d.response.headers);if(p){M("├ Pockyt 3DS case detected. Going through Pockyt 3DS flow.");const S=await Xi(r.baseUrl,d.response.headers);l.extra_metadata.pockyt=S}if(rc(d.response.headers)){M("├ Airwallex 3DS case detected. Going through Airwallex 3DS flow.");const S=await oc(r.baseUrl,d.response.headers);l.extra_metadata.airwallex=S}if(fc(d.response.headers)){M("├ Adyen 3DS case detected. Going through Adyen 3DS flow.");const S=await mc(t[m.COUNTRY],d.response.headers,i.locale);l.extra_metadata.adyen=S}const h=await fi(s,l);M("├ Payment flow result:",h);const w=((u=d.response.headers)==null?void 0:u["op-should-use-new-flow"])!=="true";p?M("├ Pre-start 3DS is successful, other 3DS flows will be skipped."):w?(M("├ Using stripe 3DS flow"),await wc(h)):(M("├ Using common 3DS flow"),await vc(h,r.baseUrl));const x=h.cc_pm_id;if(i.mode==="setup"){M(`├ Confirming payment flow [cc_pm_id: ${x}]`);const S=await se(s,{secure_token:i.token,existing_cc_pm_id:x});M("├ Confirm payment flow result received Result:",S);const T=Tt(S);return M(`╰ Setup completed successfully [PM ID: ${T.payment_method_id}]`),{mode:"setup",result:T}}else{M(`├ Checking out after 3DS flow [Flow: ${w?"legacy":"new"}]`);const S=await Cn(s,{...l,existing_cc_pm_id:x,do_not_use_legacy_cc_flow:w});return M("╰ Checkout completed successfully."),{mode:"checkout",result:S}}}throw Bn("╰ Error checking out card info in CDE"),Bn(d),d}}),yc=r=>{const e=r.required_user_actions.find(t=>t.type==="stripe_3ds");if(!e)throw new Error("No stripe 3DS action found");return oa.parse(e)},_c=["airwallex_payment_consent","adyen"],gc=r=>{const e=r.required_user_actions.find(t=>_c.includes(t.type));if(!e)throw new Error("No common 3DS action found");return ta.parse(e)},vc=async(r,e)=>{const t=gc(r);if(t.redirect_url==="3DS_COMPLETE"){M("├ 3DS flow completed successfully");return}M(`├ Using common 3DS flow [URL: ${t.redirect_url}]`);const{status:n}=await Qt({url:t.redirect_url,baseUrl:e});if(M(`╰ 3DS verification completed [Status: ${n}]`),n===$.CANCELLED)throw new Error("3DS verification cancelled");if(n===$.FAILURE)throw new Error("3DS verification failed")},wc=async r=>{const e=yc(r);qn(`├ Using stripe 3DS flow [Client Secret: ${e.client_secret.substring(0,8)}...]`),await da(e),qn("╰ Stripe 3DS flow completed successfully")},ie=a.enum(["stripe","airwallex","authorize_net"]);ie.Enum.stripe;const{log__:J,err__:bc}=L("stripe-pr"),Ec=a.object({provider:a.union([a.literal("apple_pay"),a.literal("google_pay")]),processor_name:a.literal("stripe"),metadata:a.object({stripe_pk:a.string()})}),kc=Ve(async({context:r,formCallbacks:e})=>{J("Checking if there are any CPMs for Stripe PR...");const t=ae(r.checkoutPaymentMethods,Ec);J("Initializing Stripe PR flow...");const n=r.anyCdeConnection,o=await z(n),s=o.mode==="setup";J("Getting initial preview amount");const i=await tt(n,o.token,s,void 0),c=await ca(t.metadata.stripe_pk,i.amountAtom,i.currency,s);J("Checking if can make payment");const l=await c.canMakePayment();if(l===null)return bc("canMakePayment returned null"),{isAvailable:!1,reason:"canMakePayment returned null"};J("Stripe PR flow initialized successfully. Can make payment",l);const u=(d,p)=>Z.stripePR.run({context:r,checkoutPaymentMethod:Mt(r.checkoutPaymentMethods,d),nonCdeFormInputs:me(r.formDiv),formCallbacks:e,customParams:{provider:d,overridePaymentRequest:p==null?void 0:p.overridePaymentRequest},initResult:{processor:ie.Enum.stripe,pr:c,isAvailable:!0,availableProviders:{applePay:l.applePay,googlePay:l.googlePay},startFlow:u}});return{processor:ie.Enum.stripe,isAvailable:!0,pr:c,availableProviders:{applePay:l.applePay,googlePay:l.googlePay},startFlow:u}}),Cc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o,initResult:s})=>{if(J("Running Stripe PR flow..."),o.provider!==e.provider)throw new Error(`Provider mismatch. Expected ${o.provider}, got ${e.provider}`);const i=r.anyCdeConnection,c=s.pr;if(o!=null&&o.overridePaymentRequest){const h=o.overridePaymentRequest;J("Overriding PR amount with",h),Pc(c,h.amount,h.pending,h.applePayPaymentRequest)}J("Showing PR dialog..."),c.show();const l=await la(c);J("Stripe PM added event:",l),J("Merging PM fields with form fields...");const u=Sc(t,l),d=De(u,n.get.onValidationError);J("PR dialog finished. Starting payment flow...",d);const p=await mi(i,{fields:d,checkoutPaymentMethod:e}),_=Ac(p);J("Confirming PR with Stripe..."),await ua(_,l);const f=await z(i);if(f.mode==="setup"){J("Confirming payment flow for setup...");const h=await se(i,{secure_token:f.token});return{mode:"setup",result:Tt(h)}}else{J("Performing checkout...");const h={secure_token:f.token,payment_input:{provider_type:e.provider},customer_first_name:d[m.FIRST_NAME],customer_last_name:d[m.LAST_NAME],customer_email:d[m.EMAIL],customer_zip_code:d[m.ZIP_CODE],customer_country:d[m.COUNTRY],promotion_code:d[m.PROMOTION_CODE],line_items:f.line_items,total_amount_atom:f.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e};return{mode:"checkout",result:await kr(i,h)}}}),Sc=(r,e)=>{var d,p,_,f;const t={...r},[n,...o]=((p=(d=e.payerName)==null?void 0:d.trim())==null?void 0:p.split(/\s+/))??[],s=o.join(" ")||void 0,i=(f=(_=e.paymentMethod)==null?void 0:_.billing_details)==null?void 0:f.address,c=e.shippingAddress;t[m.EMAIL]=t[m.EMAIL]||e.payerEmail||"op_unfilled@getopenpay.com",t[m.ZIP_CODE]=t[m.ZIP_CODE]||(i==null?void 0:i.postal_code)||(c==null?void 0:c.postalCode)||"00000",t[m.COUNTRY]=t[m.COUNTRY]||(i==null?void 0:i.country)||(c==null?void 0:c.country)||"US";const l=t[m.FIRST_NAME]||n||"",u=t[m.LAST_NAME]||s||"";return l||u?(t[m.FIRST_NAME]=l,t[m.LAST_NAME]=u):(t[m.FIRST_NAME]="_OP_UNKNOWN",t[m.LAST_NAME]=""),J("Final form inputs:",t),t},Pc=(r,e,t,n)=>{r.update({total:{amount:e.amountAtom,label:"Total",pending:t},currency:e.currency,applePay:n})},Ac=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 sa.parse(r.required_user_actions[0])},{log__:_e,err__:Yn}=L("pockyt-paypal"),xc=a.object({processor_name:a.literal("pockyt"),provider:a.literal("paypal")});a.array(a.object({paypal_iframe_url:a.string(),verify_token:a.string()})).length(1);const Ic=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{var Y,we;_e("Running Pockyt Paypal flow...");const s=r.anyCdeConnection,i=await z(s);_e("Verifying CPM...");const c=xc.parse(e);_e("├ Validating non-CDE form fields");const l=o==null?void 0:o.settings,u=De(t,n.get.onValidationError,l==null?void 0:l.defaultFieldValues),d=Ni(u);_e(`Starting payment flow... Mode: ${i.mode}`);const p=br(),_=i.mode!=="setup",f={payment_provider:c.provider,checkout_payment_method:c,use_pay_first_flow:_,pay_first_flow_cart_info:_?{line_items:i.line_items,displayed_total_amount_atom:i.amount_total_atom}:void 0,processor_specific_metadata:{use_paypal_redirect_flow:!!((Y=o==null?void 0:o.settings)!=null&&Y.useRedirectFlow),frontend_token_for_redirect_flow:p},...d},h=new URL("/app/pre-action/start/",r.baseUrl).toString(),w=btoa(JSON.stringify(f)),x=new URLSearchParams({st:i.token,r:w}),S=`${h}?${x.toString()}`;if((we=o==null?void 0:o.settings)!=null&&we.useRedirectFlow)throw _e("Starting redirect mode for PayPal..."),window.location.href=S,await vr(20*1e3),new Error("Paypal flow timed out, please try again with another payment method.");_e("Starting popup mode for PayPal..."),_e("Opening paypal iframe...");const T=await qi("PayPal",s,p,S);_e("Paypal flow result",T);const A=$n(T.href),O=Hi(T.href,"catt");if(!O)throw Yn("Checkout attempt ID not found in redirect URL:",T.href),new Error("Checkout attempt ID not found in redirect URL");_e(`Confirming payment flow using vault ID ${A}`);const F=await se(s,{secure_token:i.token,their_pm_id:A,checkout_attempt_id:_?O:void 0});if(_e("Confirm payment flow result",F),i.mode==="setup")return{mode:"setup",result:{payment_method_id:F.payment_methods[0].id}};if(!F.pay_first_success_response)throw Yn("Checkout failed, no pay-first success response:",F),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:F.pay_first_success_response}}),er=({gateway:r,gatewayMerchantId:e,merchantName:t,merchantId:n,initialPreview:o,overridePaymentRequest:s,prefill:i})=>{var p,_;const c=((p=s==null?void 0:s.amount)==null?void 0:p.amountAtom)??(o==null?void 0:o.amountAtom)??0,l=Math.max(c/100,0),u=(((_=s==null?void 0:s.amount)==null?void 0:_.currency)??(i==null?void 0:i.currency)??o.currency).toUpperCase(),d={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:s!=null&&s.pending?"ESTIMATED":"FINAL",totalPrice:l.toFixed(2)}};return s!=null&&s.googlePayPaymentRequest?{...d,...s.googlePayPaymentRequest}:d},Wn=()=>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)});let Tr=null;const Kn=r=>r===Le||r===window.location.origin?"PRODUCTION":"TEST",tr=(r,e)=>{const t=Kn(r);return Tr===null&&(Tr=new window.google.payments.api.PaymentsClient({environment:t,merchantInfo:e.merchantInfo})),Tr},Tc=r=>{const e=r.required_user_actions.find(t=>t.type==="airwallex_payment_consent");return e?on.parse(e):null},Hn=(r,e)=>{var o,s,i,c;const t={...r},n=(s=(o=e.paymentMethodData)==null?void 0:o.info)==null?void 0:s.billingAddress;if(n){const[l,...u]=((c=(i=n.name)==null?void 0:i.trim())==null?void 0:c.split(/\s+/))??[],d=u.join(" ")||void 0;t[m.EMAIL]=t[m.EMAIL]||e.email||"op_unfilled@getopenpay.com",t[m.COUNTRY]=t[m.COUNTRY]||n.countryCode||"US",t[m.ADDRESS]=t[m.ADDRESS]||n.address1||"",t[m.CITY]=t[m.CITY]||n.locality||"",t[m.ZIP_CODE]=t[m.ZIP_CODE]||n.postalCode||"00000",t[m.STATE]=t[m.STATE]||n.administrativeArea||"";const p=t[m.FIRST_NAME]||l||"",_=t[m.LAST_NAME]||d||"";p||_?(t[m.FIRST_NAME]=p,t[m.LAST_NAME]=_):(t[m.FIRST_NAME]="_OP_UNKNOWN",t[m.LAST_NAME]="")}return t},{log__:ce,err__:st}=L("awx-google-pay"),Rc=Ve(async({context:r,formCallbacks:e})=>{var p,_;const t={processor:ie.Enum.airwallex,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=ae(r.checkoutPaymentMethods,Vn);if(!n)return t;ce("Google Pay CPM",n);const o=n.metadata;if(!o.processor_account_id)return st("No gateway merchant ID found in processor account"),t;if(ce("Loading Google Pay SDK..."),await Wn(),!((_=(p=window.google)==null?void 0:p.payments)!=null&&_.api))return st("Google Pay SDK not loaded properly"),t;if(Kn(r.baseUrl)==="PRODUCTION"&&!o.google_pay_merchant_id)return st("Google Pay merchant ID is required for production environment"),t;ce("Google Pay SDK loaded",window.google.payments);try{const f=er({gateway:"airwallex",gatewayMerchantId:o.processor_account_id,merchantName:o.processor_account_name,merchantId:o.google_pay_merchant_id??"",initialPreview:{amountAtom:0,currency:"USD"}}),{result:h}=await tr(r.baseUrl,f).isReadyToPay(f);if(!h)return ce("Google Pay is not available for this user"),t}catch(f){return st("Error checking Google Pay availability",f),t}const i=r.anyCdeConnection,c=await z(i),l=c.mode==="setup",u=await tt(i,c.token,l,void 0),d=async f=>{try{Z.airwallexGooglePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:me(r.formDiv),formCallbacks:e,initResult:void 0,customParams:{...f,initialPreview:u}})}catch(h){st("Google Pay payment error",h),e.get.onCheckoutError((h==null?void 0:h.message)??"Unknown error")}};return{processor:ie.Enum.airwallex,isAvailable:!0,isLoading:!1,startFlow:d}}),Oc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{var p,_,f,h,w,x,S;ce("Starting Google Pay flow...");const s=ae(r.checkoutPaymentMethods,Vn),{initialPreview:i,overridePaymentRequest:c}=o,l=s.metadata;if(!l.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const u=er({gateway:"airwallex",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:l.google_pay_merchant_id??"",initialPreview:i,overridePaymentRequest:c}),d=tr(r.baseUrl,u);try{const T=await d.loadPaymentData(u);ce("Google Pay Payment data",T);const A=r.anyCdeConnection,O=await z(A),F=Hn(t,T),Y=De(F,n.get.onValidationError,o==null?void 0:o.defaultFieldValues),we=(_=(p=T.paymentMethodData)==null?void 0:p.tokenizationData)==null?void 0:_.token;if(!we)throw new Error("No payment token received from Google Pay");const Jl=await et(A,{payment_provider:e.provider,checkout_payment_method:e,new_customer_email:Y[m.EMAIL],new_customer_first_name:Y[m.FIRST_NAME],new_customer_last_name:Y[m.LAST_NAME],new_customer_address:{zip_code:Y[m.ZIP_CODE],country:Y[m.COUNTRY]}}),ur=Tc(Jl);ce("Start flow next actions",ur);let Be=await se(A,{secure_token:O.token,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:ur==null?void 0:ur.consent_id,airwallex_payment_method_data:{type:"googlepay",googlepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:we}}}});ce("[1st] Confirm payment flow response",Be);let Zr=(h=(f=Be.payment_methods)==null?void 0:f[0])==null?void 0:h.id;const qe=(w=Be.required_user_actions)==null?void 0:w.find(jt=>jt.type==="airwallex_payment_consent");if(qe&&qe.redirect_url){ce("3DS Required, starting verification...",qe);const{status:jt}=await Qt({url:qe.redirect_url,baseUrl:r.baseUrl});if(ce(`╰ 3DS verification completed [Status: ${jt}]`),jt===$.CANCELLED)throw new Error("3DS verification cancelled");if(jt===$.FAILURE)throw new Error("3DS verification failed")}if(qe&&!Zr&&(Be=await se(A,{secure_token:O.token,their_pm_id:qe.their_pm_id,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:qe.consent_id}}),ce("[2nd] Confirm payment flow response",Be),Zr=(S=(x=Be.payment_methods)==null?void 0:x[0])==null?void 0:S.id),!Zr)throw new Error("No PM ID found");return Xt({logPrefix:"awx-googlepay",anyCdeConnection:A,checkoutPaymentMethod:e,requiredFormFields:Y,confirmResult:Be,usePayFirstFlow:!1})}catch(T){throw st("Google Pay payment error",T),new Error((T==null?void 0:T.message)??"Unknown error")}}),Jn=()=>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)}),Xn=(r,e)=>{const t=e.token.paymentMethod.billingContact,n=e.billingContact,o=e.shippingContact,s={...r};if(t||n||o){s[m.EMAIL]=s[m.EMAIL]||(t==null?void 0:t.emailAddress)||(n==null?void 0:n.emailAddress)||(o==null?void 0:o.emailAddress)||"op_unfilled@email.com",s[m.COUNTRY]=s[m.COUNTRY]||(t==null?void 0:t.countryCode)||(n==null?void 0:n.countryCode)||(o==null?void 0:o.countryCode)||"US",s[m.ZIP_CODE]=s[m.ZIP_CODE]||(t==null?void 0:t.postalCode)||(n==null?void 0:n.postalCode)||(o==null?void 0:o.postalCode)||"00000";const i=s[m.FIRST_NAME]||(t==null?void 0:t.givenName)||(n==null?void 0:n.givenName)||(o==null?void 0:o.givenName)||"",c=s[m.LAST_NAME]||(t==null?void 0:t.familyName)||(n==null?void 0:n.familyName)||(o==null?void 0:o.familyName)||"";i||c?(s[m.FIRST_NAME]=i,s[m.LAST_NAME]=c):(s[m.FIRST_NAME]="_OP_UNKNOWN",s[m.LAST_NAME]="")}return s};a.object({data:a.object({messageHeaders:a.record(a.string(),a.any()),errors:a.array(a.any()),messageType:a.string(),messageBody:a.record(a.string(),a.any())}),origin:a.literal("https://applepay.cdn-apple.com")});const Qn=({total:r,prefill:e})=>{var n;if(e.mode==="setup")return{paymentDescription:"Setup recurring payment",regularBilling:{amount:r.amount,label:"Setup recurring payment",paymentTiming:"recurring",type:"final"},managementURL:new URL(`/pay/${e.token}`,Le).toString()};const t=(n=e.line_items)==null?void 0:n[0];if(t)return{paymentDescription:(t==null?void 0:t.description)??"",regularBilling:{amount:r.amount,label:(t==null?void 0:t.description)??"",recurringPaymentIntervalUnit:t==null?void 0:t.billing_interval,recurringPaymentIntervalCount:(t==null?void 0:t.billing_interval_count)??void 0,paymentTiming:"recurring",type:"final"},managementURL:`https://cde.getopenpay.com/pay/${e.token}`}},eo=({overridePaymentRequest:r,initialPreview:e,prefill:t,defaultLabel:n="Total"})=>{var c,l;const o=(((c=r==null?void 0:r.amount)==null?void 0:c.currency)??(t==null?void 0:t.currency)??e.currency).toUpperCase(),i=((((l=r==null?void 0:r.amount)==null?void 0:l.amountAtom)??(e==null?void 0:e.amountAtom)??0)/100).toFixed(2);return{currencyCode:o,total:{label:(r==null?void 0:r.label)??n??"Total",type:r!=null&&r.pending?"pending":"final",amount:i}}},{log__:rr}=L("awx-apple-pay");async function Nc(r,e){try{const n=(await Cr(e.connection,{checkout_payment_method:e.checkoutPaymentMethod,processor_specific_metadata:{airwallex_payment_session:{validation_url:r.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).next_action_metadata,o=n==null?void 0:n.apple_pay_session;if(!o)throw new Error("No session data received from payment flow");e.session.completeMerchantValidation(o)}catch(t){throw e.session.abort(),t}}async function Mc(r,e){if(!r.redirect_url)throw new Error("No redirect URL found");rr("3DS Required, starting verification...",r);const{status:t}=await Qt({url:r.redirect_url,baseUrl:e.baseUrl});if(rr(`╰ 3DS verification completed [Status: ${t}]`),t===$.CANCELLED)throw new Error("3DS verification cancelled");if(t===$.FAILURE)throw new Error("3DS verification failed");const n=await se(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 rr("[2nd] Confirm payment flow response",n),n}async function Dc(r,e){var t,n,o,s,i;try{const c=r.payment,l=Xn(e.nonCdeFormInputs,c),u=De(l,e.formCallbacks.get.onValidationError,e.defaultFieldValues),_=(await et(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:u[m.EMAIL],new_customer_first_name:u[m.FIRST_NAME],new_customer_last_name:u[m.LAST_NAME],new_customer_address:{zip_code:u[m.ZIP_CODE],country:u[m.COUNTRY]}})).required_user_actions[0].consent_id;if(!_)throw new Error("No consent ID received from payment flow");let f=await se(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,airwallex_consent_id:_,airwallex_payment_method_data:{type:"applepay",applepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:JSON.stringify(c.token)}}}});rr("[1st] Confirm payment flow response",f);let h=(n=(t=f.payment_methods)==null?void 0:t[0])==null?void 0:n.id;const w=(o=f.required_user_actions)==null?void 0:o.find(S=>S.type==="airwallex_payment_consent");if(w!=null&&w.redirect_url&&w.consent_id&&w.their_pm_id&&(f=await Mc(w,e),h=(i=(s=f.payment_methods)==null?void 0:s[0])==null?void 0:i.id),!h)throw new Error("No PM ID found");const x={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(x),Xt({logPrefix:"awx-applepay",anyCdeConnection:e.connection,checkoutPaymentMethod:e.checkoutPaymentMethod,requiredFormFields:u,confirmResult:f,usePayFirstFlow:!1})}catch(c){const l={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(l),c}}const{log__:at,err__:Rr}=L("awx-apple-pay"),jc=Ve(async({context:r,formCallbacks:e})=>{const t={processor:ie.Enum.airwallex,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=ae(r.checkoutPaymentMethods,Zn);if(!n)return t;at("Loading Apple Pay SDK...");try{await Jn(),at("Apple Pay SDK loaded successfully")}catch(p){return Rr("Failed to load Apple Pay SDK",p),t}if(!window.ApplePaySession||!ApplePaySession.canMakePayments())return at("Apple Pay is not available on this device/browser"),t;if(at("Apple Pay Loaded"),!await ApplePaySession.canMakePayments())return at("No active cards available for Apple Pay"),t;if(!n.metadata.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const i=r.anyCdeConnection,c=await z(i),l=c.mode==="setup",u=await tt(i,c.token,l,void 0),d=async p=>{try{await Z.airwallexApplePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:me(r.formDiv),formCallbacks:e,customParams:{...p,initialPreview:u},initResult:void 0})}catch(_){Rr("Apple Pay payment error",_),e.get.onCheckoutError((_==null?void 0:_.message)??"Unknown error")}};return{processor:ie.Enum.airwallex,isAvailable:!0,isLoading:!1,startFlow:d}}),Lc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,customParams:n,formCallbacks:o})=>{var x;const s=ae(r.checkoutPaymentMethods,Zn),{overridePaymentRequest:i,initialPreview:c}=n,l=r.anyCdeConnection,u=await z(l),d=u.mode==="setup",{currencyCode:p,total:_}=eo({overridePaymentRequest:i,initialPreview:c,defaultLabel:(x=s==null?void 0:s.metadata)==null?void 0:x.processor_account_name}),f={countryCode:"US",currencyCode:p,requiredBillingContactFields:["email","postalAddress","name"],requiredShippingContactFields:["email"],supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit","supportsEMV"],total:_,recurringPaymentRequest:Qn({total:_,prefill:u}),...(i==null?void 0:i.applePayPaymentRequest)??{}},h=new ApplePaySession(3,f),w={session:h,connection:r.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:t,processorAccount:s.metadata,prefill:u,isSetupMode:d,baseUrl:r.baseUrl,formCallbacks:o,defaultFieldValues:n==null?void 0:n.defaultFieldValues};return new Promise((S,T)=>{const A=()=>{at("Payment cancelled by user"),T(new Error("Payment cancelled by user"))};h.oncancel=A,h.onvalidatemerchant=async O=>{try{await Nc(O,w)}catch(F){T(F)}},h.onpaymentmethodselected=()=>{const O={newTotal:{..._}};h.completePaymentMethodSelection(O)},h.onpaymentauthorized=async O=>{try{const F=await Dc(O,w);S(F)}catch(F){T(F)}},h.begin()}).catch(S=>{throw Rr("Apple Pay payment error",S),S})}),Fc=1,Uc=a.object({processor_name:a.literal("loop"),provider:a.literal("crypto"),metadata:a.object({merchant_id:a.string(),entity_id:a.string(),api_token:a.string(),supported_currencies:a.array(a.string()),environment:a.string()})}),{log__:X,err__:to}=L("loop-crypto"),$c=a.object({loopFirstName:U,loopLastName:U,loopEmail:U,[m.PROMOTION_CODE]:j}),Zc=(r,e,t)=>{const n=$c.safeParse(r);if(!n.success){const o=n.error.format(),s=sn(o);for(const[i,c]of Object.entries(s))e(i,c,i);throw to("Got validation errors in non-CDE form fields",s),new Error("Got validation errors in non-CDE form fields")}return n.data},Vc=Ve(async({context:r})=>{X("Checking if there are any CPMs for Loop Crypto...");const e=ae(r.checkoutPaymentMethods,Uc);X(`checkoutPaymentMethod: ${JSON.stringify(e)}`),X("Starting Loop Crypto flow...");const t=await z(r.anyCdeConnection),n=await Cr(r.anyCdeConnection,{checkout_payment_method:e});if(t.mode!=="setup"&&!e.metadata.supported_currencies.includes(t.currency))throw Error(`Currency ${t.currency} not enabled for Loop. Enabled currencies: ${e.metadata.supported_currencies}`);if(!n||!n.next_action_metadata)throw Error("Failed to fetch necessary setup data for Loop");const o=n.next_action_metadata;let s;t.mode==="setup"?s=Fc:s=t.amount_total_atom*o.token_price;const i=s,c=o.authorization_amount,l=br(),u={paymentUsdAmount:i,suggestedAuthorizationUsdAmount:c,customerRefId:l},d={apiKey:e.metadata.api_token,entityId:e.metadata.entity_id,merchantId:e.metadata.merchant_id,environment:e.metadata.environment};return{isAvailable:!0,widgetProps:u,initLoopConnectProps:d}}),zc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{X("Running Loop flow..."),X("context",r),X("checkoutPaymentMethod",e),X("nonCdeFormInputs",t),X("flowCallbacks",n),X("customParams",o);const s=Zc(t,n.get.onValidationError),i=r.anyCdeConnection,c=await z(r.anyCdeConnection),l=c.mode!=="setup",u=await et(r.anyCdeConnection,{checkout_payment_method:e,payment_provider:e.provider,new_customer_email:s.loopEmail,new_customer_first_name:s.loopFirstName,new_customer_last_name:s.loopLastName,use_pay_first_flow:l,pay_first_flow_cart_info:l?{line_items:c.line_items,displayed_total_amount_atom:c.amount_total_atom}:void 0});if(!o)throw Error("Checkout failed. Failed to properly submit form data.");const d=await se(i,{secure_token:c.token,their_pm_id:o.success?o.payin.paymentMethod.paymentMethodId:void 0,checkout_attempt_id:c.mode!=="setup"?u.checkout_attempt_id:void 0,processor_specific_metadata:{loop_customer:o.success?o.customer:void 0,loop_payin:o.success?o.payin:void 0,loop_failure_details:o.success?void 0:o.failureDetails,loop_success:o.success}});if(X(`Confirm result: ${d}`),c.mode==="setup"){X("Doing payment setup..."),X("├ Confirm payment flow result received Result:",d);const p=Tt(d);return X(`╰ Setup completed successfully [PM ID: ${p.payment_method_id}]`),{mode:"setup",result:p}}else{if(X("Doing checkout..."),!d.pay_first_success_response)throw to("Checkout failed, no pay-first success response:",d),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:d.pay_first_success_response}}});async function Gc(r,e){try{const n=(await Cr(e.connection,{checkout_payment_method:e.checkoutPaymentMethod,processor_specific_metadata:{apple_payment_session:{validation_url:r.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).next_action_metadata,o=n==null?void 0:n.apple_pay_session;if(!o)throw new Error("No session data received from payment flow");e.session.completeMerchantValidation(o)}catch(t){throw e.session.abort(),t}}async function Bc(r,e){var t,n;try{const o=r.payment,s=Xn(e.nonCdeFormInputs,o),i=De(s,e.formCallbacks.get.onValidationError);await et(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:i[m.EMAIL],new_customer_first_name:i[m.FIRST_NAME],new_customer_last_name:i[m.LAST_NAME],new_customer_address:{zip_code:i[m.ZIP_CODE],country:i[m.COUNTRY]}});const c={dataDescriptor:"COMMON.APPLE.INAPP.PAYMENT",dataValue:window.btoa(JSON.stringify(o.token.paymentData))},l=await se(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,mobile_wallet_payment_data:c}});if(!((n=(t=l.payment_methods)==null?void 0:t[0])==null?void 0:n.id))throw new Error("No PM ID found");const d={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(d),Xt({logPrefix:"authnet-applepay",anyCdeConnection:e.connection,checkoutPaymentMethod:e.checkoutPaymentMethod,requiredFormFields:i,confirmResult:l,usePayFirstFlow:!1})}catch(o){const s={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(s),o}}const ro=a.object({provider:a.literal("apple_pay"),processor_name:a.literal("authorize_net"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string()})}),no=a.object({provider:a.literal("google_pay"),processor_name:a.literal("authorize_net"),metadata:a.object({processor_account_id:a.string(),processor_account_name:a.string(),google_pay_merchant_id:a.string().nullish()})}),{log__:Ot,err__:Or}=L("authnet-applepay"),qc=Ve(async({context:r,formCallbacks:e})=>{const t={processor:ie.Enum.authorize_net,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=ae(r.checkoutPaymentMethods,ro);if(!n)return t;Ot("Loading Apple Pay SDK...");try{await Jn(),Ot("Apple Pay SDK loaded successfully")}catch(p){return Or("Failed to load Apple Pay SDK",p),t}if(!window.ApplePaySession||!ApplePaySession.canMakePayments())return Ot("Apple Pay is not available on this device/browser"),t;if(!await ApplePaySession.canMakePayments())return Ot("No active cards available for Apple Pay"),t;if(!n.metadata.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const i=r.anyCdeConnection,c=await z(i),l=c.mode==="setup",u=await tt(i,c.token,l,void 0),d=async p=>{try{await Z.authorizeNetApplePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:me(r.formDiv),formCallbacks:e,customParams:{...p,initialPreview:u},initResult:void 0})}catch(_){Or("Apple Pay payment error",_),e.get.onCheckoutError((_==null?void 0:_.message)??"Unknown error")}};return{processor:ie.Enum.authorize_net,isAvailable:!0,isLoading:!1,startFlow:d}}),Yc=Se(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,customParams:n,formCallbacks:o})=>{var x;const{initialPreview:s,overridePaymentRequest:i}=n,c=ae(r.checkoutPaymentMethods,ro),{currencyCode:l,total:u}=eo({overridePaymentRequest:i,initialPreview:s,defaultLabel:(x=c==null?void 0:c.metadata)==null?void 0:x.processor_account_name}),d=r.anyCdeConnection,p=await z(d),_=p.mode==="setup",f={countryCode:"US",currencyCode:l,total:u,requiredBillingContactFields:["email","postalAddress","name"],requiredShippingContactFields:["email"],supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit"],recurringPaymentRequest:Qn({total:u,prefill:p}),...(i==null?void 0:i.applePayPaymentRequest)??{}},h=new ApplePaySession(3,f),w={session:h,connection:r.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:t,processorAccount:e.metadata,prefill:p,isSetupMode:_,baseUrl:r.baseUrl,formCallbacks:o};return new Promise((S,T)=>{h.oncancel=()=>{Ot("Payment cancelled by user"),T(new Error("Payment cancelled by user"))},h.onvalidatemerchant=async A=>{try{await Gc(A,w)}catch(O){T(O)}},h.onpaymentmethodselected=()=>{const A={newTotal:f.total};h.completePaymentMethodSelection(A)},h.onpaymentauthorized=async A=>{try{const O=await Bc(A,w);S(O)}catch(O){T(O)}},h.begin()}).catch(S=>{throw Or("Apple Pay payment error",S),S})}),{log__:ze,err__:Nt}=L("authnet-googlepay"),Wc=Ve(async({context:r,formCallbacks:e})=>{var d,p;ze("Initializing Authnet GooglePay flow");const t={processor:ie.Enum.authorize_net,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=ae(r.checkoutPaymentMethods,no);if(!n)return t;ze("Google Pay CPM",n);const o=n.metadata;if(!o.processor_account_id)return Nt("No gateway merchant ID found in processor account"),t;if(ze("Loading Google Pay SDK..."),await Wn(),!((p=(d=window.google)==null?void 0:d.payments)!=null&&p.api))return Nt("Google Pay SDK not loaded properly"),t;ze("Google Pay SDK loaded",window.google.payments);try{const _=er({gateway:"authorizenet",gatewayMerchantId:o.processor_account_id,merchantName:o.processor_account_name,merchantId:o.google_pay_merchant_id??"",initialPreview:{amountAtom:0,currency:"USD"}}),{result:f}=await tr(r.baseUrl,_).isReadyToPay(_);if(!f)return ze("Google Pay is not available for this user"),t}catch(_){return Nt("Error checking Google Pay availability",_),t}const s=r.anyCdeConnection,i=await z(s),c=i.mode==="setup",l=await tt(s,i.token,c,void 0),u=async _=>{try{Z.authorizeNetGooglePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:me(r.formDiv),formCallbacks:e,initResult:void 0,customParams:{..._,initialPreview:l}})}catch(f){Nt("Google Pay payment error",f),e.get.onCheckoutError((f==null?void 0:f.message)??"Unknown error")}};return{processor:ie.Enum.authorize_net,isAvailable:!0,isLoading:!1,startFlow:u}}),Kc=Se(async({context:r,nonCdeFormInputs:e,checkoutPaymentMethod:t,formCallbacks:n,customParams:o})=>{var p,_,f,h;const{initialPreview:s,overridePaymentRequest:i}=o,l=ae(r.checkoutPaymentMethods,no).metadata,u=er({gateway:"authorizenet",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:l.google_pay_merchant_id??"",initialPreview:s,overridePaymentRequest:i}),d=tr(r.baseUrl,u);try{const w=await d.loadPaymentData(u);ze("Google Pay Payment data",w);const x=r.anyCdeConnection,S=await z(x),T=Hn(e,w),A=De(T,n.get.onValidationError),O=(_=(p=w.paymentMethodData)==null?void 0:p.tokenizationData)==null?void 0:_.token;if(!O)throw new Error("No payment token received from Google Pay");const F=await et(x,{payment_provider:t.provider,checkout_payment_method:t,new_customer_email:A[m.EMAIL],new_customer_first_name:A[m.FIRST_NAME],new_customer_last_name:A[m.LAST_NAME],new_customer_address:{zip_code:A[m.ZIP_CODE],country:A[m.COUNTRY]}});ze("Start payment flow response",F);const Y=await se(x,{secure_token:S.token,processor_specific_metadata:{payment_provider:t.provider,mobile_wallet_payment_data:{dataDescriptor:"COMMON.GOOGLE.INAPP.PAYMENT",dataValue:window.btoa(O)}}});if(!((h=(f=Y.payment_methods)==null?void 0:f[0])==null?void 0:h.id))throw new Error("No PM ID found");return Xt({logPrefix:"authnet-googlepay",anyCdeConnection:x,checkoutPaymentMethod:t,requiredFormFields:A,confirmResult:Y,usePayFirstFlow:!1})}catch(w){throw Nt("Google Pay payment error",w),new Error((w==null?void 0:w.message)??"Unknown error")}}),Mt=(r,e,t)=>{const n=r.filter(o=>{const s=t===void 0?!0:o.processor_name===t,i=o.provider===e;return s&&i});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]},Z={commonCC:{init:async()=>{},run:hc},stripePR:{init:kc,run:Cc},stripeLink:{init:Fi,run:Ui},pockytPaypal:{run:Ic},airwallexGooglePay:{init:Rc,run:Oc},airwallexApplePay:{init:jc,run:Lc},loopCrypto:{init:Vc,run:zc},authorizeNetApplePay:{init:qc,run:Yc},authorizeNetGooglePay:{init:Wc,run:Kc}};var Nr=function(r,e){return Nr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])},Nr(r,e)};function je(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Nr(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function Hc(r,e,t,n){function o(s){return s instanceof t?s:new t(function(i){i(s)})}return new(t||(t=Promise))(function(s,i){function c(d){try{u(n.next(d))}catch(p){i(p)}}function l(d){try{u(n.throw(d))}catch(p){i(p)}}function u(d){d.done?s(d.value):o(d.value).then(c,l)}u((n=n.apply(r,e||[])).next())})}function oo(r,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,o,s,i=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),typeof Symbol=="function"&&(i[Symbol.iterator]=function(){return this}),i;function c(u){return function(d){return l([u,d])}}function l(u){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,u[0]&&(t=0)),t;)try{if(n=1,o&&(s=u[0]&2?o.return:u[0]?o.throw||((s=o.return)&&s.call(o),0):o.next)&&!(s=s.call(o,u[1])).done)return s;switch(o=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,o=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){t.label=u[1];break}if(u[0]===6&&t.label<s[1]){t.label=s[1],s=u;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(u);break}s[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(r,t)}catch(d){u=[6,d],o=0}finally{n=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function it(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 nr(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),o,s=[],i;try{for(;(e===void 0||e-- >0)&&!(o=n.next()).done;)s.push(o.value)}catch(c){i={error:c}}finally{try{o&&!o.done&&(t=n.return)&&t.call(n)}finally{if(i)throw i.error}}return s}function or(r,e,t){if(t||arguments.length===2)for(var n=0,o=e.length,s;n<o;n++)(s||!(n in e))&&(s||(s=Array.prototype.slice.call(e,0,n)),s[n]=e[n]);return r.concat(s||Array.prototype.slice.call(e))}function ct(r){return this instanceof ct?(this.v=r,this):new ct(r)}function Jc(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),o,s=[];return o=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),c("next"),c("throw"),c("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,p)}}function c(f,h){n[f]&&(o[f]=function(w){return new Promise(function(x,S){s.push([f,w,x,S])>1||l(f,w)})},h&&(o[f]=h(o[f])))}function l(f,h){try{u(n[f](h))}catch(w){_(s[0][3],w)}}function u(f){f.value instanceof ct?Promise.resolve(f.value.v).then(d,p):_(s[0][2],f)}function d(f){l("next",f)}function p(f){l("throw",f)}function _(f,h){f(h),s.shift(),s.length&&l(s[0][0],s[0][1])}}function Xc(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 it=="function"?it(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(s){t[s]=r[s]&&function(i){return new Promise(function(c,l){i=r[s](i),o(c,l,i.done,i.value)})}}function o(s,i,c,l){Promise.resolve(l).then(function(u){s({value:u,done:c})},i)}}typeof SuppressedError=="function"&&SuppressedError;function B(r){return typeof r=="function"}function sr(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 Mr=sr(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
24
24
  `+t.map(function(n,o){return o+1+") "+n.toString()}).join(`
25
- `):"",this.name="UnsubscriptionError",this.errors=t}});function ar(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1)}}var Dt=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,o,s;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var c=it(i),l=c.next();!l.done;l=c.next()){var u=l.value;u.remove(this)}}catch(w){e={error:w}}finally{try{l&&!l.done&&(t=c.return)&&t.call(c)}finally{if(e)throw e.error}}else i.remove(this);var d=this.initialTeardown;if(B(d))try{d()}catch(w){s=w instanceof Mr?w.errors:[w]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var _=it(p),f=_.next();!f.done;f=_.next()){var h=f.value;try{io(h)}catch(w){s=s??[],w instanceof Mr?s=or(or([],nr(s)),nr(w.errors)):s.push(w)}}}catch(w){n={error:w}}finally{try{f&&!f.done&&(o=_.return)&&o.call(_)}finally{if(n)throw n.error}}}if(s)throw new Mr(s)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)io(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)&&ar(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&ar(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=function(){var e=new r;return e.closed=!0,e}(),r}(),so=Dt.EMPTY;function ao(r){return r instanceof Dt||r&&"closed"in r&&B(r.remove)&&B(r.add)&&B(r.unsubscribe)}function io(r){B(r)?r():r.unsubscribe()}var co={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},lo={setTimeout:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setTimeout.apply(void 0,or([r,e],nr(t)))},clearTimeout:function(r){var e=lo.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(r)},delegate:void 0};function uo(r){lo.setTimeout(function(){throw r})}function po(){}function ir(r){r()}var Dr=function(r){je(e,r);function e(t){var n=r.call(this)||this;return n.isStopped=!1,t?(n.destination=t,ao(t)&&t.add(n)):n.destination=rl,n}return e.create=function(t,n,o){return new Lr(t,n,o)},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}(Dt),Qc=Function.prototype.bind;function jr(r,e){return Qc.call(r,e)}var el=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){cr(n)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(n){cr(n)}else cr(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){cr(t)}},r}(),Lr=function(r){je(e,r);function e(t,n,o){var s=r.call(this)||this,i;if(B(t)||!t)i={next:t??void 0,error:n??void 0,complete:o??void 0};else{var c;s&&co.useDeprecatedNextContext?(c=Object.create(t),c.unsubscribe=function(){return s.unsubscribe()},i={next:t.next&&jr(t.next,c),error:t.error&&jr(t.error,c),complete:t.complete&&jr(t.complete,c)}):i=t}return s.destination=new el(i),s}return e}(Dr);function cr(r){uo(r)}function tl(r){throw r}var rl={closed:!0,next:po,error:tl,complete:po},Fr=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function nl(r){return r}function ol(r){return r.length===0?nl:r.length===1?r[0]:function(t){return r.reduce(function(n,o){return o(n)},t)}}var Pe=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 o=this,s=al(e)?e:new Lr(e,t,n);return ir(function(){var i=o,c=i.operator,l=i.source;s.add(c?c.call(s,l):l?o._subscribe(s):o._trySubscribe(s))}),s},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=fo(t),new t(function(o,s){var i=new Lr({next:function(c){try{e(c)}catch(l){s(l),i.unsubscribe()}},error:s,complete:o});n.subscribe(i)})},r.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[Fr]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return ol(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=fo(e),new e(function(n,o){var s;t.subscribe(function(i){return s=i},function(i){return o(i)},function(){return n(s)})})},r.create=function(e){return new r(e)},r}();function fo(r){var e;return(e=r??co.Promise)!==null&&e!==void 0?e:Promise}function sl(r){return r&&B(r.next)&&B(r.error)&&B(r.complete)}function al(r){return r&&r instanceof Dr||sl(r)&&ao(r)}function il(r){return B(r==null?void 0:r.lift)}function cl(r){return function(e){if(il(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 ll(r,e,t,n,o){return new ul(r,e,t,n,o)}var ul=function(r){je(e,r);function e(t,n,o,s,i,c){var l=r.call(this,t)||this;return l.onFinalize=i,l.shouldUnsubscribe=c,l._next=n?function(u){try{n(u)}catch(d){t.error(d)}}:r.prototype._next,l._error=s?function(u){try{s(u)}catch(d){t.error(d)}finally{this.unsubscribe()}}:r.prototype._error,l._complete=o?function(){try{o()}catch(u){t.error(u)}finally{this.unsubscribe()}}:r.prototype._complete,l}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}(Dr),dl=sr(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),ho=function(r){je(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 mo(this,this);return n.operator=t,n},e.prototype._throwIfClosed=function(){if(this.closed)throw new dl},e.prototype.next=function(t){var n=this;ir(function(){var o,s;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var i=it(n.currentObservers),c=i.next();!c.done;c=i.next()){var l=c.value;l.next(t)}}catch(u){o={error:u}}finally{try{c&&!c.done&&(s=i.return)&&s.call(i)}finally{if(o)throw o.error}}}})},e.prototype.error=function(t){var n=this;ir(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=t;for(var o=n.observers;o.length;)o.shift().error(t)}})},e.prototype.complete=function(){var t=this;ir(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,o=this,s=o.hasError,i=o.isStopped,c=o.observers;return s||i?so:(this.currentObservers=null,c.push(t),new Dt(function(){n.currentObservers=null,ar(c,t)}))},e.prototype._checkFinalizedStatuses=function(t){var n=this,o=n.hasError,s=n.thrownError,i=n.isStopped;o?t.error(s):i&&t.complete()},e.prototype.asObservable=function(){var t=new Pe;return t.source=this,t},e.create=function(t,n){return new mo(t,n)},e}(Pe),mo=function(r){je(e,r);function e(t,n){var o=r.call(this)||this;return o.destination=t,o.source=n,o}return e.prototype.next=function(t){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,t)},e.prototype.error=function(t){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.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,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(t))!==null&&o!==void 0?o:so},e}(ho),pl={now:function(){return Date.now()},delegate:void 0},fl=function(r){je(e,r);function e(t,n){return r.call(this)||this}return e.prototype.schedule=function(t,n){return this},e}(Dt),yo={setInterval:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setInterval.apply(void 0,or([r,e],nr(t)))},clearInterval:function(r){return clearInterval(r)},delegate:void 0},hl=function(r){je(e,r);function e(t,n){var o=r.call(this,t,n)||this;return o.scheduler=t,o.work=n,o.pending=!1,o}return e.prototype.schedule=function(t,n){var o;if(n===void 0&&(n=0),this.closed)return this;this.state=t;var s=this.id,i=this.scheduler;return s!=null&&(this.id=this.recycleAsyncId(i,s,n)),this.pending=!0,this.delay=n,this.id=(o=this.id)!==null&&o!==void 0?o:this.requestAsyncId(i,this.id,n),this},e.prototype.requestAsyncId=function(t,n,o){return o===void 0&&(o=0),yo.setInterval(t.flush.bind(t,this),o)},e.prototype.recycleAsyncId=function(t,n,o){if(o===void 0&&(o=0),o!=null&&this.delay===o&&this.pending===!1)return n;n!=null&&yo.clearInterval(n)},e.prototype.execute=function(t,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var o=this._execute(t,n);if(o)return o;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,n){var o=!1,s;try{this.work(t)}catch(i){o=!0,s=i||new Error("Scheduled action threw falsy error")}if(o)return this.unsubscribe(),s},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,n=t.id,o=t.scheduler,s=o.actions;this.work=this.state=this.scheduler=null,this.pending=!1,ar(s,this),n!=null&&(this.id=this.recycleAsyncId(o,n,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e}(fl),_o=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=pl.now,r}(),ml=function(r){je(e,r);function e(t,n){n===void 0&&(n=_o.now);var o=r.call(this,t,n)||this;return o.actions=[],o._active=!1,o}return e.prototype.flush=function(t){var n=this.actions;if(this._active){n.push(t);return}var o;this._active=!0;do if(o=t.execute(t.state,t.delay))break;while(t=n.shift());if(this._active=!1,o){for(;t=n.shift();)t.unsubscribe();throw o}},e}(_o),yl=new ml(hl),_l=function(r){return r&&typeof r.length=="number"&&typeof r!="function"};function gl(r){return B(r==null?void 0:r.then)}function vl(r){return B(r[Fr])}function wl(r){return Symbol.asyncIterator&&B(r==null?void 0:r[Symbol.asyncIterator])}function bl(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 El(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var kl=El();function Cl(r){return B(r==null?void 0:r[kl])}function Sl(r){return Jc(this,arguments,function(){var t,n,o,s;return oo(this,function(i){switch(i.label){case 0:t=r.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,ct(t.read())];case 3:return n=i.sent(),o=n.value,s=n.done,s?[4,ct(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,ct(o)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Pl(r){return B(r==null?void 0:r.getReader)}function Al(r){if(r instanceof Pe)return r;if(r!=null){if(vl(r))return xl(r);if(_l(r))return Il(r);if(gl(r))return Tl(r);if(wl(r))return go(r);if(Cl(r))return Rl(r);if(Pl(r))return Ol(r)}throw bl(r)}function xl(r){return new Pe(function(e){var t=r[Fr]();if(B(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Il(r){return new Pe(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function Tl(r){return new Pe(function(e){r.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,uo)})}function Rl(r){return new Pe(function(e){var t,n;try{for(var o=it(r),s=o.next();!s.done;s=o.next()){var i=s.value;if(e.next(i),e.closed)return}}catch(c){t={error:c}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}e.complete()})}function go(r){return new Pe(function(e){Nl(r,e).catch(function(t){return e.error(t)})})}function Ol(r){return go(Sl(r))}function Nl(r,e){var t,n,o,s;return Hc(this,void 0,void 0,function(){var i,c;return oo(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),t=Xc(r),l.label=1;case 1:return[4,t.next()];case 2:if(n=l.sent(),!!n.done)return[3,4];if(i=n.value,e.next(i),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=l.sent(),o={error:c},[3,11];case 6:return l.trys.push([6,,9,10]),n&&!n.done&&(s=t.return)?[4,s.call(t)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function Ml(r,e,t,n,o){n===void 0&&(n=0),o===void 0&&(o=!1);var s=e.schedule(function(){t(),o?r.add(this.schedule(null,n)):this.unsubscribe()},n);if(r.add(s),!o)return s}function Dl(r,e){var t=B(r)?r:function(){return r},n=function(o){return o.error(t())};return new Pe(n)}var jl=sr(function(r){return function(){r(this),this.name="EmptyError",this.message="no elements in sequence"}});function Ll(r,e){return new Promise(function(t,n){var o=!1,s;r.subscribe({next:function(i){s=i,o=!0},error:n,complete:function(){o?t(s):n(new jl)}})})}function Fl(r){return r instanceof Date&&!isNaN(r)}var Ul=sr(function(r){return function(t){t===void 0&&(t=null),r(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function $l(r,e){var t=Fl(r)?{first:r}:typeof r=="number"?{each:r}:r,n=t.first,o=t.each,s=t.with,i=s===void 0?Zl:s,c=t.scheduler,l=c===void 0?yl:c,u=t.meta,d=u===void 0?null:u;if(n==null&&o==null)throw new TypeError("No timeout provided.");return cl(function(p,_){var f,h,w=null,x=0,S=function(T){h=Ml(_,l,function(){try{f.unsubscribe(),Al(i({meta:d,lastValue:w,seen:x})).subscribe(_)}catch(A){_.error(A)}},T)};f=p.subscribe(ll(_,function(T){h==null||h.unsubscribe(),x++,_.next(w=T),o>0&&S(o)},void 0,void 0,function(){h!=null&&h.closed||h==null||h.unsubscribe(),w=null})),!x&&S(n!=null?typeof n=="number"?n:+n-l.now():o)})}function Zl(r){throw new Ul(r)}class lr{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"&&Wt(this._current);const t={first:e.timeoutSec*1e3,with:()=>Dl(()=>new Error(e.timeoutErrMsg))};return Ll(this._subject.pipe($l(t)))},this._current={status:"initial",isSuccess:!1},this._subject=new ho}get current(){return this._current}}const{log__:Vl,err__:zl}=L("init-flows"),Ge=(r,e)=>{const t=new lr;return{publisher:t,initialize:async n=>{try{if(t.current.isSuccess)throw new Error("This flow has already been initialized.");const o=await e(n);Vl(`✔ ${r} flow initialized successfully. Result:`,o),t.set(o)}catch(o){zl(`𝙭 ${r} flow initialization failed. Error:`,fe(o),"Details:",o),t.throw(o,fe(o))}}}},Gl=async(r,e,t)=>{await Promise.all(Object.values(r).map(n=>n.initialize({context:e,formCallbacks:t})))},Bl=()=>({stripePR:Ge("Stripe PR",Z.stripePR.init),stripeLink:Ge("Stripe Link",Z.stripeLink.init),airwallexGooglePay:Ge("Airwallex GooglePay",Z.airwallexGooglePay.init),airwallexApplePay:Ge("Airwallex ApplePay",Z.airwallexApplePay.init),loop:Ge("Loop",Z.loopCrypto.init),authorizeNetGooglePay:Ge("Authnet GooglePay",Z.authorizeNetGooglePay.init),authorizeNetApplePay:Ge("Authnet ApplePay",Z.authorizeNetApplePay.init)}),{err__:ql}=L("form-callbacks"),le=a.function().optional(),vo=a.object({onFocus:le,onBlur:le,onChange:le,onLoad:le,onLoadError:le,onValidationError:le,onCheckoutStarted:le,onCheckoutSuccess:le,onSetupPaymentMethodSuccess:le,onCheckoutError:le,onPaymentRequestLoad:le}),ve=class ve{constructor(){this.setCallbacks=e=>{this._callbacks=ve.createEmptyCallbacks(),Object.entries(e).forEach(([t,n])=>{const o=xs(t,n??ve.NOOP,ql);this._callbacks[t]=o})},this._callbacks=ve.createEmptyCallbacks()}get get(){return{...this._callbacks}}};ve.NOOP=()=>{},ve.createEmptyCallbacks=()=>{const e={};return Object.keys(vo.keyof().enum).forEach(t=>{e[t]=ve.NOOP}),e},ve.fromObject=e=>{const t=new ve;return t.setCallbacks(vo.parse(e)),t};let Ur=ve;class Yl{constructor(e,t,n,o){this.handleMessage=s=>{if(!s.source){console.warn("[OJS] No source found");return}if(wo(s.origin)!==wo(this.baseUrl)||typeof s.data=="object"&&s.data.penpal||typeof s.data=="object"&&s.data.source&&s.data.source==="react-devtools-bridge")return;let i=null;try{i=_a(JSON.parse(s.data))}catch{return}if(!this.validateEvent(i))return;const{elementId:l,payload:u}=i,d=u.type;switch(d){case"LAYOUT":this.internalCallbacks.setFormHeight(u.height?`${u.height}px`:"100%");break;case"FOCUS":this.formCallbacks.get.onFocus(l,u.elementType);break;case"BLUR":this.formCallbacks.get.onBlur(l,u.elementType);break;case"CHANGE":this.formCallbacks.get.onChange(l,u.elementType,u.errors);break;case"LOADED":this.eventTargets[l]=s.source,this.internalCallbacks.onCdeLoaded(u);break;case"LOAD_ERROR":this.internalCallbacks.onCdeLoadError(u.message);break;case"VALIDATION_ERROR":this.formCallbacks.get.onValidationError(u.elementType,u.errors,l);break;default:console.warn("[form] Unhandled event type:",d)}},this.validateEvent=s=>s.formId!==this.formId||!s.elementId?(console.log("[OJS] formId",this.formId,s.formId),console.warn("[form] Ignoring unknown event:",s),!1):this.nonces.has(s.nonce)?(console.warn("[form] Ignoring duplicate event:",s),!1):(this.nonces.add(s.nonce),!0),this.eventTargets={},this.nonces=new Set,this.formId=e,this.baseUrl=t,this.formCallbacks=n,this.internalCallbacks=o}}const wo=r=>new URL(r).origin;async function Wl(r,e){const n=await fn({iframe:r,debug:!1,childOrigin:e}).promise,o=await Ua(n);if(!$a(n,o))throw new Error("Got invalid CDE connection object");return n}class Kl{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 Hl=(r,e,t)=>{const{stripePR:n}=r;n.publisher.subscribe(o=>{if(o.isSuccess){const s=o.loadedValue,i=s.isAvailable&&s.availableProviders.applePay,c=s.isAvailable&&s.availableProviders.googlePay,l={apple_pay:{isLoading:!1,isAvailable:i,startFlow:async u=>{i&&bo("apple_pay",s,e,t,u)}},google_pay:{isLoading:!1,isAvailable:c,startFlow:async u=>{c&&bo("google_pay",s,e,t,u)}}};t.get.onPaymentRequestLoad(l)}})},bo=(r,e,t,n,o)=>Z.stripePR.run({context:t,checkoutPaymentMethod:Mt(t.checkoutPaymentMethods,r),nonCdeFormInputs:he(t.formDiv),formCallbacks:n,customParams:{provider:r,overridePaymentRequest:o==null?void 0:o.overridePaymentRequest},initResult:e}),Eo="The secure form failed to load properly. Please check your internet connection, or try again later.",{log__:ge,err__:Ae}=L("op-form"),xe=class xe{constructor(e){this.cdeLoadEvent=new lr,this.anyCdeConn=new lr,this.context=new lr,this.initFlows=Bl(),this.startFormInit=async()=>{try{const t=this.createElement(Ce.CDE_BRIDGE);t.node.id="__op_internal_cde_bridge",t.node.ariaHidden="true",Object.assign(t.node.style,{border:"none",margin:"0px",padding:"0px",width:"1px",height:"1px",overflow:"hidden",visibility:"hidden",position:"fixed",pointerEvents:"none",userSelect:"none"}),t.mount("body"),ge("CDE bridge element mounted"),ge("Initializing OpenPay form:"),ge("├ Waiting for CDE load event...");const n=await this.cdeLoadEvent.waitForLoad({timeoutSec:120,timeoutErrMsg:Eo});ge("├ CDE load event received"),ge("├ Waiting for CDE connection...");const o=await this.anyCdeConn.waitForLoad({timeoutSec:120,timeoutErrMsg:Eo});ge("├ CDE connection received"),ge("├ Creating OJS context, setting up handlers...");const s=xe.buildOjsFlowContext(this.config,n,o,this.getFormDiv());this.context.set(s),Hl(this.initFlows,s,this.formCallbacks),ge("├ Starting OJS init flows..."),await Gl(this.initFlows,s,this.formCallbacks),this.formCallbacks.get.onLoad(n.totalAmountAtoms,n.currency),ge("╰ Done initializing OJS flows.")}catch(t){const n=fe(t);Ae("╰ 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.type===Ce.CDE_BRIDGE||(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 o=Ts.parse(t),s=document.createElement("iframe"),i=this.buildQueryString(n);s.name=`${o}-element`;const c=new URL(`/app/v1/${s.name}/`,this.config.baseUrl);return c.search=i.toString(),s.src=c.href,s.style.border="none",s.style.width="100%",this.registerIframe(o,s)},this.registerIframe=(t,n)=>{const o={type:t,node:n,mount:s=>{var i;return(i=document.querySelector(s))==null?void 0:i.appendChild(n)}};return this.connectToElement({type:o.type,node:o.node}),this.registeredElements||(this.registeredElements={[Ce.CARD]:void 0,[Ce.CARD_NUMBER]:void 0,[Ce.CARD_EXPIRY]:void 0,[Ce.CARD_CVC]:void 0,[Ce.CDE_BRIDGE]:void 0}),this.registeredElements[t]=o,o},this.buildQueryString=t=>{const n=new URLSearchParams;return n.append("referer",this.referrer),n.append("formId",this.formId),t.styles&&n.append("styles",pa(t.styles)),n.append("secureToken",this.config.checkoutSecureToken),n},this.connectToElement=t=>{Wl(t.node).then(n=>{this.connectionManager.addConnection(t.type,n),this.anyCdeConn.current.isSuccess||this.anyCdeConn.set(n)}).catch(n=>Ae("[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){Ae("Please wait for the form to finish loading before submitting.");return}Z.commonCC.run({context:t,checkoutPaymentMethod:Mt(t.checkoutPaymentMethods,"credit_card"),nonCdeFormInputs:he(t.formDiv),formCallbacks:this.formCallbacks,customParams:{currentCdeConnections:this.connectionManager.getAllConnections()},initResult:void 0})},this.getAvailablePaymentMethods=()=>{if(!this.context.getValueIfLoadedElse(null)){Ae("Please wait for the form to finish loading before getting available payment methods.");return}const n={airwallexGooglePay:ee.airwallexGooglePay,airwallexApplePay:ee.airwallexApplePay,authorizeNetGooglePay:ee.authorizenetGooglePay,authorizeNetApplePay:ee.authorizenetApplePay};return Object.entries(this.initFlows).map(([o,s])=>({name:n[o]??o,...s.publisher.getValueIfLoadedElse(null)}))},this.generalSubmit=(t,n)=>{const o=this.context.getValueIfLoadedElse(null);if(!o){Ae("Please wait for the form to finish loading before submitting.");return}switch(t){case ee.pockytPaypal:return Z.pockytPaypal.run({context:o,checkoutPaymentMethod:Mt(o.checkoutPaymentMethods,"paypal","pockyt"),nonCdeFormInputs:he(o.formDiv),formCallbacks:this.formCallbacks,customParams:{settings:n},initResult:void 0});case ee.airwallexGooglePay:{const s=this.initFlows.airwallexGooglePay.publisher.getValueIfLoadedElse(null);if(!s){Ae("airwallex-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case ee.airwallexApplePay:{const s=this.initFlows.airwallexApplePay.publisher.getValueIfLoadedElse(null);if(!s){Ae("airwallex-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case ee.authorizenetGooglePay:{const s=this.initFlows.authorizeNetGooglePay.publisher.getValueIfLoadedElse(null);if(!s){Ae("authorize-net-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case ee.authorizenetApplePay:{const s=this.initFlows.authorizeNetApplePay.publisher.getValueIfLoadedElse(null);if(!s){Ae("authorize-net-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case ee.loopCrypto:return Z.loopCrypto.run({context:o,checkoutPaymentMethod:Mt(o.checkoutPaymentMethods,"crypto","loop"),nonCdeFormInputs:he(o.formDiv),formCallbacks:this.formCallbacks,customParams:n,initResult:void 0});default:Wt(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)},xe.assignAsSingleton(this),this.ojsVersion="0.2.21",this.ojsReleaseVersion="0.2.21",this.baseUrl=e.baseUrl??"https://cde.getopenpay.com",this.config={...e,baseUrl:this.baseUrl},this.formCallbacks=Ur.fromObject(e),this.registeredElements=null,this.formId=`opjs-form-${br()}`,this.referrer=window.location.origin,this.formTarget=e.formTarget??"body",this.formProperties={height:"1px"},this.connectionManager=new Kl,this.eventHandler=new Yl(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}};xe.ojsFlows=Z,xe.assignAsSingleton=e=>{if(xe.getInstance())throw new Error("OpenPay instance already exists. Only one instance is allowed.");window.ojs=e},xe.getInstance=()=>window.ojs??null,xe.buildOjsFlowContext=(e,t,n,o)=>({checkoutSecureToken:e.checkoutSecureToken,baseUrl:new URL(e.baseUrl??Le).origin,formDiv:o,elementsSessionId:t.sessionId,checkoutPaymentMethods:t.checkoutPaymentMethods,anyCdeConnection:n,customInitParams:e.customInitParams??{}});let $r=xe;be.FieldName=y,be.OpenPayForm=$r,be.SubmitMethod=Is,be.SubmitMethods=ee,Object.defineProperty(be,Symbol.toStringTag,{value:"Module"})});
25
+ `):"",this.name="UnsubscriptionError",this.errors=t}});function ar(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1)}}var Dt=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,o,s;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var c=it(i),l=c.next();!l.done;l=c.next()){var u=l.value;u.remove(this)}}catch(w){e={error:w}}finally{try{l&&!l.done&&(t=c.return)&&t.call(c)}finally{if(e)throw e.error}}else i.remove(this);var d=this.initialTeardown;if(B(d))try{d()}catch(w){s=w instanceof Mr?w.errors:[w]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var _=it(p),f=_.next();!f.done;f=_.next()){var h=f.value;try{io(h)}catch(w){s=s??[],w instanceof Mr?s=or(or([],nr(s)),nr(w.errors)):s.push(w)}}}catch(w){n={error:w}}finally{try{f&&!f.done&&(o=_.return)&&o.call(_)}finally{if(n)throw n.error}}}if(s)throw new Mr(s)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)io(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)&&ar(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&ar(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=function(){var e=new r;return e.closed=!0,e}(),r}(),so=Dt.EMPTY;function ao(r){return r instanceof Dt||r&&"closed"in r&&B(r.remove)&&B(r.add)&&B(r.unsubscribe)}function io(r){B(r)?r():r.unsubscribe()}var co={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},lo={setTimeout:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setTimeout.apply(void 0,or([r,e],nr(t)))},clearTimeout:function(r){var e=lo.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(r)},delegate:void 0};function uo(r){lo.setTimeout(function(){throw r})}function po(){}function ir(r){r()}var Dr=function(r){je(e,r);function e(t){var n=r.call(this)||this;return n.isStopped=!1,t?(n.destination=t,ao(t)&&t.add(n)):n.destination=rl,n}return e.create=function(t,n,o){return new Lr(t,n,o)},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}(Dt),Qc=Function.prototype.bind;function jr(r,e){return Qc.call(r,e)}var el=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){cr(n)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(n){cr(n)}else cr(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){cr(t)}},r}(),Lr=function(r){je(e,r);function e(t,n,o){var s=r.call(this)||this,i;if(B(t)||!t)i={next:t??void 0,error:n??void 0,complete:o??void 0};else{var c;s&&co.useDeprecatedNextContext?(c=Object.create(t),c.unsubscribe=function(){return s.unsubscribe()},i={next:t.next&&jr(t.next,c),error:t.error&&jr(t.error,c),complete:t.complete&&jr(t.complete,c)}):i=t}return s.destination=new el(i),s}return e}(Dr);function cr(r){uo(r)}function tl(r){throw r}var rl={closed:!0,next:po,error:tl,complete:po},Fr=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function nl(r){return r}function ol(r){return r.length===0?nl:r.length===1?r[0]:function(t){return r.reduce(function(n,o){return o(n)},t)}}var Pe=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 o=this,s=al(e)?e:new Lr(e,t,n);return ir(function(){var i=o,c=i.operator,l=i.source;s.add(c?c.call(s,l):l?o._subscribe(s):o._trySubscribe(s))}),s},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=fo(t),new t(function(o,s){var i=new Lr({next:function(c){try{e(c)}catch(l){s(l),i.unsubscribe()}},error:s,complete:o});n.subscribe(i)})},r.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[Fr]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return ol(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=fo(e),new e(function(n,o){var s;t.subscribe(function(i){return s=i},function(i){return o(i)},function(){return n(s)})})},r.create=function(e){return new r(e)},r}();function fo(r){var e;return(e=r??co.Promise)!==null&&e!==void 0?e:Promise}function sl(r){return r&&B(r.next)&&B(r.error)&&B(r.complete)}function al(r){return r&&r instanceof Dr||sl(r)&&ao(r)}function il(r){return B(r==null?void 0:r.lift)}function cl(r){return function(e){if(il(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 ll(r,e,t,n,o){return new ul(r,e,t,n,o)}var ul=function(r){je(e,r);function e(t,n,o,s,i,c){var l=r.call(this,t)||this;return l.onFinalize=i,l.shouldUnsubscribe=c,l._next=n?function(u){try{n(u)}catch(d){t.error(d)}}:r.prototype._next,l._error=s?function(u){try{s(u)}catch(d){t.error(d)}finally{this.unsubscribe()}}:r.prototype._error,l._complete=o?function(){try{o()}catch(u){t.error(u)}finally{this.unsubscribe()}}:r.prototype._complete,l}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}(Dr),dl=sr(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),mo=function(r){je(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 ho(this,this);return n.operator=t,n},e.prototype._throwIfClosed=function(){if(this.closed)throw new dl},e.prototype.next=function(t){var n=this;ir(function(){var o,s;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var i=it(n.currentObservers),c=i.next();!c.done;c=i.next()){var l=c.value;l.next(t)}}catch(u){o={error:u}}finally{try{c&&!c.done&&(s=i.return)&&s.call(i)}finally{if(o)throw o.error}}}})},e.prototype.error=function(t){var n=this;ir(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=t;for(var o=n.observers;o.length;)o.shift().error(t)}})},e.prototype.complete=function(){var t=this;ir(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,o=this,s=o.hasError,i=o.isStopped,c=o.observers;return s||i?so:(this.currentObservers=null,c.push(t),new Dt(function(){n.currentObservers=null,ar(c,t)}))},e.prototype._checkFinalizedStatuses=function(t){var n=this,o=n.hasError,s=n.thrownError,i=n.isStopped;o?t.error(s):i&&t.complete()},e.prototype.asObservable=function(){var t=new Pe;return t.source=this,t},e.create=function(t,n){return new ho(t,n)},e}(Pe),ho=function(r){je(e,r);function e(t,n){var o=r.call(this)||this;return o.destination=t,o.source=n,o}return e.prototype.next=function(t){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.next)===null||o===void 0||o.call(n,t)},e.prototype.error=function(t){var n,o;(o=(n=this.destination)===null||n===void 0?void 0:n.error)===null||o===void 0||o.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,o;return(o=(n=this.source)===null||n===void 0?void 0:n.subscribe(t))!==null&&o!==void 0?o:so},e}(mo),pl={now:function(){return Date.now()},delegate:void 0},fl=function(r){je(e,r);function e(t,n){return r.call(this)||this}return e.prototype.schedule=function(t,n){return this},e}(Dt),yo={setInterval:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setInterval.apply(void 0,or([r,e],nr(t)))},clearInterval:function(r){return clearInterval(r)},delegate:void 0},ml=function(r){je(e,r);function e(t,n){var o=r.call(this,t,n)||this;return o.scheduler=t,o.work=n,o.pending=!1,o}return e.prototype.schedule=function(t,n){var o;if(n===void 0&&(n=0),this.closed)return this;this.state=t;var s=this.id,i=this.scheduler;return s!=null&&(this.id=this.recycleAsyncId(i,s,n)),this.pending=!0,this.delay=n,this.id=(o=this.id)!==null&&o!==void 0?o:this.requestAsyncId(i,this.id,n),this},e.prototype.requestAsyncId=function(t,n,o){return o===void 0&&(o=0),yo.setInterval(t.flush.bind(t,this),o)},e.prototype.recycleAsyncId=function(t,n,o){if(o===void 0&&(o=0),o!=null&&this.delay===o&&this.pending===!1)return n;n!=null&&yo.clearInterval(n)},e.prototype.execute=function(t,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var o=this._execute(t,n);if(o)return o;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,n){var o=!1,s;try{this.work(t)}catch(i){o=!0,s=i||new Error("Scheduled action threw falsy error")}if(o)return this.unsubscribe(),s},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,n=t.id,o=t.scheduler,s=o.actions;this.work=this.state=this.scheduler=null,this.pending=!1,ar(s,this),n!=null&&(this.id=this.recycleAsyncId(o,n,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e}(fl),_o=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=pl.now,r}(),hl=function(r){je(e,r);function e(t,n){n===void 0&&(n=_o.now);var o=r.call(this,t,n)||this;return o.actions=[],o._active=!1,o}return e.prototype.flush=function(t){var n=this.actions;if(this._active){n.push(t);return}var o;this._active=!0;do if(o=t.execute(t.state,t.delay))break;while(t=n.shift());if(this._active=!1,o){for(;t=n.shift();)t.unsubscribe();throw o}},e}(_o),yl=new hl(ml),_l=function(r){return r&&typeof r.length=="number"&&typeof r!="function"};function gl(r){return B(r==null?void 0:r.then)}function vl(r){return B(r[Fr])}function wl(r){return Symbol.asyncIterator&&B(r==null?void 0:r[Symbol.asyncIterator])}function bl(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 El(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var kl=El();function Cl(r){return B(r==null?void 0:r[kl])}function Sl(r){return Jc(this,arguments,function(){var t,n,o,s;return oo(this,function(i){switch(i.label){case 0:t=r.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,ct(t.read())];case 3:return n=i.sent(),o=n.value,s=n.done,s?[4,ct(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,ct(o)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Pl(r){return B(r==null?void 0:r.getReader)}function Al(r){if(r instanceof Pe)return r;if(r!=null){if(vl(r))return xl(r);if(_l(r))return Il(r);if(gl(r))return Tl(r);if(wl(r))return go(r);if(Cl(r))return Rl(r);if(Pl(r))return Ol(r)}throw bl(r)}function xl(r){return new Pe(function(e){var t=r[Fr]();if(B(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Il(r){return new Pe(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function Tl(r){return new Pe(function(e){r.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,uo)})}function Rl(r){return new Pe(function(e){var t,n;try{for(var o=it(r),s=o.next();!s.done;s=o.next()){var i=s.value;if(e.next(i),e.closed)return}}catch(c){t={error:c}}finally{try{s&&!s.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}e.complete()})}function go(r){return new Pe(function(e){Nl(r,e).catch(function(t){return e.error(t)})})}function Ol(r){return go(Sl(r))}function Nl(r,e){var t,n,o,s;return Hc(this,void 0,void 0,function(){var i,c;return oo(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),t=Xc(r),l.label=1;case 1:return[4,t.next()];case 2:if(n=l.sent(),!!n.done)return[3,4];if(i=n.value,e.next(i),e.closed)return[2];l.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=l.sent(),o={error:c},[3,11];case 6:return l.trys.push([6,,9,10]),n&&!n.done&&(s=t.return)?[4,s.call(t)]:[3,8];case 7:l.sent(),l.label=8;case 8:return[3,10];case 9:if(o)throw o.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function Ml(r,e,t,n,o){n===void 0&&(n=0),o===void 0&&(o=!1);var s=e.schedule(function(){t(),o?r.add(this.schedule(null,n)):this.unsubscribe()},n);if(r.add(s),!o)return s}function Dl(r,e){var t=B(r)?r:function(){return r},n=function(o){return o.error(t())};return new Pe(n)}var jl=sr(function(r){return function(){r(this),this.name="EmptyError",this.message="no elements in sequence"}});function Ll(r,e){return new Promise(function(t,n){var o=!1,s;r.subscribe({next:function(i){s=i,o=!0},error:n,complete:function(){o?t(s):n(new jl)}})})}function Fl(r){return r instanceof Date&&!isNaN(r)}var Ul=sr(function(r){return function(t){t===void 0&&(t=null),r(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function $l(r,e){var t=Fl(r)?{first:r}:typeof r=="number"?{each:r}:r,n=t.first,o=t.each,s=t.with,i=s===void 0?Zl:s,c=t.scheduler,l=c===void 0?yl:c,u=t.meta,d=u===void 0?null:u;if(n==null&&o==null)throw new TypeError("No timeout provided.");return cl(function(p,_){var f,h,w=null,x=0,S=function(T){h=Ml(_,l,function(){try{f.unsubscribe(),Al(i({meta:d,lastValue:w,seen:x})).subscribe(_)}catch(A){_.error(A)}},T)};f=p.subscribe(ll(_,function(T){h==null||h.unsubscribe(),x++,_.next(w=T),o>0&&S(o)},void 0,void 0,function(){h!=null&&h.closed||h==null||h.unsubscribe(),w=null})),!x&&S(n!=null?typeof n=="number"?n:+n-l.now():o)})}function Zl(r){throw new Ul(r)}class lr{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"&&Wt(this._current);const t={first:e.timeoutSec*1e3,with:()=>Dl(()=>new Error(e.timeoutErrMsg))};return Ll(this._subject.pipe($l(t)))},this._current={status:"initial",isSuccess:!1},this._subject=new mo}get current(){return this._current}}const{log__:Vl,err__:zl}=L("init-flows"),Ge=(r,e)=>{const t=new lr;return{publisher:t,initialize:async n=>{try{if(t.current.isSuccess)throw new Error("This flow has already been initialized.");const o=await e(n);Vl(`✔ ${r} flow initialized successfully. Result:`,o),t.set(o)}catch(o){zl(`𝙭 ${r} flow initialization failed. Error:`,fe(o),"Details:",o),t.throw(o,fe(o))}}}},Gl=async(r,e,t)=>{await Promise.all(Object.values(r).map(n=>n.initialize({context:e,formCallbacks:t})))},Bl=()=>({stripePR:Ge("Stripe PR",Z.stripePR.init),stripeLink:Ge("Stripe Link",Z.stripeLink.init),airwallexGooglePay:Ge("Airwallex GooglePay",Z.airwallexGooglePay.init),airwallexApplePay:Ge("Airwallex ApplePay",Z.airwallexApplePay.init),loop:Ge("Loop",Z.loopCrypto.init),authorizeNetGooglePay:Ge("Authnet GooglePay",Z.authorizeNetGooglePay.init),authorizeNetApplePay:Ge("Authnet ApplePay",Z.authorizeNetApplePay.init)}),{err__:ql}=L("form-callbacks"),le=a.function().optional(),vo=a.object({onFocus:le,onBlur:le,onChange:le,onLoad:le,onLoadError:le,onValidationError:le,onCheckoutStarted:le,onCheckoutSuccess:le,onSetupPaymentMethodSuccess:le,onCheckoutError:le,onPaymentRequestLoad:le}),ve=class ve{constructor(){this.setCallbacks=e=>{this._callbacks=ve.createEmptyCallbacks(),Object.entries(e).forEach(([t,n])=>{const o=xs(t,n??ve.NOOP,ql);this._callbacks[t]=o})},this._callbacks=ve.createEmptyCallbacks()}get get(){return{...this._callbacks}}};ve.NOOP=()=>{},ve.createEmptyCallbacks=()=>{const e={};return Object.keys(vo.keyof().enum).forEach(t=>{e[t]=ve.NOOP}),e},ve.fromObject=e=>{const t=new ve;return t.setCallbacks(vo.parse(e)),t};let Ur=ve;class Yl{constructor(e,t,n,o){this.handleMessage=s=>{if(!s.source){console.warn("[OJS] No source found");return}if(wo(s.origin)!==wo(this.baseUrl)||typeof s.data=="object"&&s.data.penpal||typeof s.data=="object"&&s.data.source&&s.data.source==="react-devtools-bridge")return;let i=null;try{i=_a(JSON.parse(s.data))}catch{return}if(!this.validateEvent(i))return;const{elementId:l,payload:u}=i,d=u.type;switch(d){case"LAYOUT":this.internalCallbacks.setFormHeight(u.height?`${u.height}px`:"100%");break;case"FOCUS":this.formCallbacks.get.onFocus(l,u.elementType);break;case"BLUR":this.formCallbacks.get.onBlur(l,u.elementType);break;case"CHANGE":this.formCallbacks.get.onChange(l,u.elementType,u.errors);break;case"LOADED":this.eventTargets[l]=s.source,this.internalCallbacks.onCdeLoaded(u);break;case"LOAD_ERROR":this.internalCallbacks.onCdeLoadError(u.message);break;case"VALIDATION_ERROR":this.formCallbacks.get.onValidationError(u.elementType,u.errors,l);break;default:console.warn("[form] Unhandled event type:",d)}},this.validateEvent=s=>s.formId!==this.formId||!s.elementId?(console.log("[OJS] formId",this.formId,s.formId),console.warn("[form] Ignoring unknown event:",s),!1):this.nonces.has(s.nonce)?(console.warn("[form] Ignoring duplicate event:",s),!1):(this.nonces.add(s.nonce),!0),this.eventTargets={},this.nonces=new Set,this.formId=e,this.baseUrl=t,this.formCallbacks=n,this.internalCallbacks=o}}const wo=r=>new URL(r).origin;async function Wl(r,e){const n=await fn({iframe:r,debug:!1,childOrigin:e}).promise,o=await Ua(n);if(!$a(n,o))throw new Error("Got invalid CDE connection object");return n}class Kl{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 Hl=(r,e,t)=>{const{stripePR:n}=r;n.publisher.subscribe(o=>{if(o.isSuccess){const s=o.loadedValue,i=s.isAvailable&&s.availableProviders.applePay,c=s.isAvailable&&s.availableProviders.googlePay,l={apple_pay:{isLoading:!1,isAvailable:i,startFlow:async u=>{i&&bo("apple_pay",s,e,t,u)}},google_pay:{isLoading:!1,isAvailable:c,startFlow:async u=>{c&&bo("google_pay",s,e,t,u)}}};t.get.onPaymentRequestLoad(l)}})},bo=(r,e,t,n,o)=>Z.stripePR.run({context:t,checkoutPaymentMethod:Mt(t.checkoutPaymentMethods,r),nonCdeFormInputs:me(t.formDiv),formCallbacks:n,customParams:{provider:r,overridePaymentRequest:o==null?void 0:o.overridePaymentRequest},initResult:e}),Eo="The secure form failed to load properly. Please check your internet connection, or try again later.",{log__:ge,err__:Ae}=L("op-form"),xe=class xe{constructor(e){this.cdeLoadEvent=new lr,this.anyCdeConn=new lr,this.context=new lr,this.initFlows=Bl(),this.startFormInit=async()=>{try{const t=this.createElement(Ce.CDE_BRIDGE);t.node.id="__op_internal_cde_bridge",t.node.ariaHidden="true",Object.assign(t.node.style,{border:"none",margin:"0px",padding:"0px",width:"1px",height:"1px",overflow:"hidden",visibility:"hidden",position:"fixed",pointerEvents:"none",userSelect:"none"}),t.mount("body"),ge("CDE bridge element mounted"),this.connectToElement(t),ge("Initializing OpenPay form:"),ge("├ Waiting for CDE load event...");const n=await this.cdeLoadEvent.waitForLoad({timeoutSec:120,timeoutErrMsg:Eo});ge("├ CDE load event received"),ge("├ Waiting for CDE connection...");const o=await this.anyCdeConn.waitForLoad({timeoutSec:120,timeoutErrMsg:Eo});ge("├ CDE connection received"),ge("├ Creating OJS context, setting up handlers...");const s=xe.buildOjsFlowContext(this.config,n,o,this.getFormDiv());this.context.set(s),Hl(this.initFlows,s,this.formCallbacks),ge("├ Starting OJS init flows..."),await Gl(this.initFlows,s,this.formCallbacks),this.formCallbacks.get.onLoad(n.totalAmountAtoms,n.currency),ge("╰ Done initializing OJS flows.")}catch(t){const n=fe(t);Ae("╰ 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.type===Ce.CDE_BRIDGE||(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 o=Ts.parse(t),s=document.createElement("iframe"),i=this.buildQueryString(n);s.name=`${o}-element`;const c=new URL(`/app/v1/${s.name}/`,this.config.baseUrl);return c.search=i.toString(),s.src=c.href,s.style.border="none",s.style.width="100%",this.registerIframe(o,s)},this.registerIframe=(t,n)=>{const o={type:t,node:n,mount:s=>{var i;return(i=document.querySelector(s))==null?void 0:i.appendChild(n)}};return this.registeredElements||(this.registeredElements={[Ce.CARD]:void 0,[Ce.CARD_NUMBER]:void 0,[Ce.CARD_EXPIRY]:void 0,[Ce.CARD_CVC]:void 0,[Ce.CDE_BRIDGE]:void 0}),this.registeredElements[t]=o,o},this.buildQueryString=t=>{const n=new URLSearchParams;return n.append("referer",this.referrer),n.append("formId",this.formId),t.styles&&n.append("styles",pa(t.styles)),n.append("secureToken",this.config.checkoutSecureToken),n},this.connectToElement=t=>{Wl(t.node).then(n=>{this.connectionManager.addConnection(t.type,n),this.anyCdeConn.current.isSuccess||this.anyCdeConn.set(n)}).catch(n=>Ae("[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){Ae("Please wait for the form to finish loading before submitting.");return}Z.commonCC.run({context:t,checkoutPaymentMethod:Mt(t.checkoutPaymentMethods,"credit_card"),nonCdeFormInputs:me(t.formDiv),formCallbacks:this.formCallbacks,customParams:{currentCdeConnections:this.connectionManager.getAllConnections()},initResult:void 0})},this.getAvailablePaymentMethods=()=>{if(!this.context.getValueIfLoadedElse(null)){Ae("Please wait for the form to finish loading before getting available payment methods.");return}const n={airwallexGooglePay:ee.airwallexGooglePay,airwallexApplePay:ee.airwallexApplePay,authorizeNetGooglePay:ee.authorizenetGooglePay,authorizeNetApplePay:ee.authorizenetApplePay};return Object.entries(this.initFlows).map(([o,s])=>({name:n[o]??o,...s.publisher.getValueIfLoadedElse(null)}))},this.generalSubmit=(t,n)=>{const o=this.context.getValueIfLoadedElse(null);if(!o){Ae("Please wait for the form to finish loading before submitting.");return}switch(t){case ee.pockytPaypal:return Z.pockytPaypal.run({context:o,checkoutPaymentMethod:Mt(o.checkoutPaymentMethods,"paypal","pockyt"),nonCdeFormInputs:me(o.formDiv),formCallbacks:this.formCallbacks,customParams:{settings:n},initResult:void 0});case ee.airwallexGooglePay:{const s=this.initFlows.airwallexGooglePay.publisher.getValueIfLoadedElse(null);if(!s){Ae("airwallex-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case ee.airwallexApplePay:{const s=this.initFlows.airwallexApplePay.publisher.getValueIfLoadedElse(null);if(!s){Ae("airwallex-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case ee.authorizenetGooglePay:{const s=this.initFlows.authorizeNetGooglePay.publisher.getValueIfLoadedElse(null);if(!s){Ae("authorize-net-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case ee.authorizenetApplePay:{const s=this.initFlows.authorizeNetApplePay.publisher.getValueIfLoadedElse(null);if(!s){Ae("authorize-net-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case ee.loopCrypto:return Z.loopCrypto.run({context:o,checkoutPaymentMethod:Mt(o.checkoutPaymentMethods,"crypto","loop"),nonCdeFormInputs:me(o.formDiv),formCallbacks:this.formCallbacks,customParams:n,initResult:void 0});default:Wt(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)},xe.assignAsSingleton(this),this.ojsVersion="0.2.22",this.ojsReleaseVersion="0.2.22",this.baseUrl=e.baseUrl??"https://cde.getopenpay.com",this.config={...e,baseUrl:this.baseUrl},this.formCallbacks=Ur.fromObject(e),this.registeredElements=null,this.formId=`opjs-form-${br()}`,this.referrer=window.location.origin,this.formTarget=e.formTarget??"body",this.formProperties={height:"1px"},this.connectionManager=new Kl,this.eventHandler=new Yl(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}};xe.ojsFlows=Z,xe.assignAsSingleton=e=>{if(xe.getInstance())throw new Error("OpenPay instance already exists. Only one instance is allowed.");window.ojs=e},xe.getInstance=()=>window.ojs??null,xe.buildOjsFlowContext=(e,t,n,o)=>({checkoutSecureToken:e.checkoutSecureToken,baseUrl:new URL(e.baseUrl??Le).origin,formDiv:o,elementsSessionId:t.sessionId,checkoutPaymentMethods:t.checkoutPaymentMethods,anyCdeConnection:n,customInitParams:e.customInitParams??{}});let $r=xe;be.FieldName=m,be.OpenPayForm=$r,be.SubmitMethod=Is,be.SubmitMethods=ee,Object.defineProperty(be,Symbol.toStringTag,{value:"Module"})});