@getopenpay/openpay-js 0.2.9 → 0.2.11-alpha.5523a0e
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.d.ts +104 -43
- package/dist/index.es.js +1983 -1548
- package/dist/index.umd.js +15 -15
- package/package.json +1 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
(function(Oe,Fe){typeof exports=="object"&&typeof module<"u"?Fe(exports):typeof define=="function"&&define.amd?define(["exports"],Fe):(Oe=typeof globalThis<"u"?globalThis:Oe||self,Fe(Oe.OpenPay={}))})(this,function(Oe){"use strict";const Fe="https://cde.getopenpay.com";var P;(function(r){r.assertEqual=s=>s;function e(s){}r.assertIs=e;function t(s){throw new Error}r.assertNever=t,r.arrayToEnum=s=>{const o={};for(const a of s)o[a]=a;return o},r.getValidEnumValues=s=>{const o=r.objectKeys(s).filter(c=>typeof s[s[c]]!="number"),a={};for(const c of o)a[c]=s[c];return r.objectValues(a)},r.objectValues=s=>r.objectKeys(s).map(function(o){return s[o]}),r.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{const o=[];for(const a in s)Object.prototype.hasOwnProperty.call(s,a)&&o.push(a);return o},r.find=(s,o)=>{for(const a of s)if(o(a))return a},r.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&isFinite(s)&&Math.floor(s)===s;function n(s,o=" | "){return s.map(a=>typeof a=="string"?`'${a}'`:a).join(o)}r.joinValues=n,r.jsonStringifyReplacer=(s,o)=>typeof o=="bigint"?o.toString():o})(P||(P={}));var Qt;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(Qt||(Qt={}));const _=P.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),ke=r=>{switch(typeof r){case"undefined":return _.undefined;case"string":return _.string;case"number":return isNaN(r)?_.nan:_.number;case"boolean":return _.boolean;case"function":return _.function;case"bigint":return _.bigint;case"symbol":return _.symbol;case"object":return Array.isArray(r)?_.array:r===null?_.null:r.then&&typeof r.then=="function"&&r.catch&&typeof r.catch=="function"?_.promise:typeof Map<"u"&&r instanceof Map?_.map:typeof Set<"u"&&r instanceof Set?_.set:typeof Date<"u"&&r instanceof Date?_.date:_.object;default:return _.unknown}},p=P.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"]),Wn=r=>JSON.stringify(r,null,2).replace(/"([^"]+)":/g,"$1:");class Y extends Error{constructor(e){super(),this.issues=[],this.addIssue=n=>{this.issues=[...this.issues,n]},this.addIssues=(n=[])=>{this.issues=[...this.issues,...n]};const t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}get errors(){return this.issues}format(e){const t=e||function(o){return o.message},n={_errors:[]},s=o=>{for(const a of o.issues)if(a.code==="invalid_union")a.unionErrors.map(s);else if(a.code==="invalid_return_type")s(a.returnTypeError);else if(a.code==="invalid_arguments")s(a.argumentsError);else if(a.path.length===0)n._errors.push(t(a));else{let c=n,u=0;for(;u<a.path.length;){const l=a.path[u];u===a.path.length-1?(c[l]=c[l]||{_errors:[]},c[l]._errors.push(t(a))):c[l]=c[l]||{_errors:[]},c=c[l],u++}}};return s(this),n}static assert(e){if(!(e instanceof Y))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,P.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=t=>t.message){const t={},n=[];for(const s of this.issues)s.path.length>0?(t[s.path[0]]=t[s.path[0]]||[],t[s.path[0]].push(e(s))):n.push(e(s));return{formErrors:n,fieldErrors:t}}get formErrors(){return this.flatten()}}Y.create=r=>new Y(r);const Ue=(r,e)=>{let t;switch(r.code){case p.invalid_type:r.received===_.undefined?t="Required":t=`Expected ${r.expected}, received ${r.received}`;break;case p.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(r.expected,P.jsonStringifyReplacer)}`;break;case p.unrecognized_keys:t=`Unrecognized key(s) in object: ${P.joinValues(r.keys,", ")}`;break;case p.invalid_union:t="Invalid input";break;case p.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${P.joinValues(r.options)}`;break;case p.invalid_enum_value:t=`Invalid enum value. Expected ${P.joinValues(r.options)}, received '${r.received}'`;break;case p.invalid_arguments:t="Invalid function arguments";break;case p.invalid_return_type:t="Invalid function return type";break;case p.invalid_date:t="Invalid date";break;case p.invalid_string:typeof r.validation=="object"?"includes"in r.validation?(t=`Invalid input: must include "${r.validation.includes}"`,typeof r.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${r.validation.position}`)):"startsWith"in r.validation?t=`Invalid input: must start with "${r.validation.startsWith}"`:"endsWith"in r.validation?t=`Invalid input: must end with "${r.validation.endsWith}"`:P.assertNever(r.validation):r.validation!=="regex"?t=`Invalid ${r.validation}`:t="Invalid";break;case p.too_small:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at least":"more than"} ${r.minimum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at least":"over"} ${r.minimum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${r.minimum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly equal to ":r.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(r.minimum))}`:t="Invalid input";break;case p.too_big:r.type==="array"?t=`Array must contain ${r.exact?"exactly":r.inclusive?"at most":"less than"} ${r.maximum} element(s)`:r.type==="string"?t=`String must contain ${r.exact?"exactly":r.inclusive?"at most":"under"} ${r.maximum} character(s)`:r.type==="number"?t=`Number must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="bigint"?t=`BigInt must be ${r.exact?"exactly":r.inclusive?"less than or equal to":"less than"} ${r.maximum}`:r.type==="date"?t=`Date must be ${r.exact?"exactly":r.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(r.maximum))}`:t="Invalid input";break;case p.custom:t="Invalid input";break;case p.invalid_intersection_types:t="Intersection results could not be merged";break;case p.not_multiple_of:t=`Number must be a multiple of ${r.multipleOf}`;break;case p.not_finite:t="Number must be finite";break;default:t=e.defaultError,P.assertNever(r)}return{message:t}};let xr=Ue;function Hn(r){xr=r}function St(){return xr}const Ct=r=>{const{data:e,path:t,errorMaps:n,issueData:s}=r,o=[...t,...s.path||[]],a={...s,path:o};if(s.message!==void 0)return{...s,path:o,message:s.message};let c="";const u=n.filter(l=>!!l).slice().reverse();for(const l of u)c=l(a,{data:e,defaultError:c}).message;return{...s,path:o,message:c}},Kn=[];function y(r,e){const t=St(),n=Ct({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===Ue?void 0:Ue].filter(s=>!!s)});r.common.issues.push(n)}class Z{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const s of t){if(s.status==="aborted")return E;s.status==="dirty"&&e.dirty(),n.push(s.value)}return{status:e.value,value:n}}static async mergeObjectAsync(e,t){const n=[];for(const s of t){const o=await s.key,a=await s.value;n.push({key:o,value:a})}return Z.mergeObjectSync(e,n)}static mergeObjectSync(e,t){const n={};for(const s of t){const{key:o,value:a}=s;if(o.status==="aborted"||a.status==="aborted")return E;o.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),o.value!=="__proto__"&&(typeof a.value<"u"||s.alwaysSet)&&(n[o.value]=a.value)}return{status:e.value,value:n}}}const E=Object.freeze({status:"aborted"}),$e=r=>({status:"dirty",value:r}),z=r=>({status:"valid",value:r}),Xt=r=>r.status==="aborted",er=r=>r.status==="dirty",tt=r=>r.status==="valid",rt=r=>typeof Promise<"u"&&r instanceof Promise;function xt(r,e,t,n){if(typeof e=="function"?r!==e||!n:!e.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e.get(r)}function Ar(r,e,t,n,s){if(typeof e=="function"?r!==e||!s:!e.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return e.set(r,t),t}typeof SuppressedError=="function"&&SuppressedError;var v;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(v||(v={}));var nt,st;class ie{constructor(e,t,n,s){this._cachedPath=[],this.parent=e,this.data=t,this._path=n,this._key=s}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}const Pr=(r,e)=>{if(tt(e))return{success:!0,data:e.value};if(!r.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;const t=new Y(r.common.issues);return this._error=t,this._error}}};function S(r){if(!r)return{};const{errorMap:e,invalid_type_error:t,required_error:n,description:s}=r;if(e&&(t||n))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(a,c)=>{var u,l;const{message:d}=r;return a.code==="invalid_enum_value"?{message:d??c.defaultError}:typeof c.data>"u"?{message:(u=d??n)!==null&&u!==void 0?u:c.defaultError}:a.code!=="invalid_type"?{message:c.defaultError}:{message:(l=d??t)!==null&&l!==void 0?l:c.defaultError}},description:s}}class x{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return ke(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:ke(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Z,ctx:{common:e.parent.common,data:e.data,parsedType:ke(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(rt(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){const t=this._parse(e);return Promise.resolve(t)}parse(e,t){const n=this.safeParse(e,t);if(n.success)return n.data;throw n.error}safeParse(e,t){var n;const s={common:{issues:[],async:(n=t==null?void 0:t.async)!==null&&n!==void 0?n:!1,contextualErrorMap:t==null?void 0:t.errorMap},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ke(e)},o=this._parseSync({data:e,path:s.path,parent:s});return Pr(s,o)}async parseAsync(e,t){const n=await this.safeParseAsync(e,t);if(n.success)return n.data;throw n.error}async safeParseAsync(e,t){const n={common:{issues:[],contextualErrorMap:t==null?void 0:t.errorMap,async:!0},path:(t==null?void 0:t.path)||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:ke(e)},s=this._parse({data:e,path:n.path,parent:n}),o=await(rt(s)?s:Promise.resolve(s));return Pr(n,o)}refine(e,t){const n=s=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(s):t;return this._refinement((s,o)=>{const a=e(s),c=()=>o.addIssue({code:p.custom,...n(s)});return typeof Promise<"u"&&a instanceof Promise?a.then(u=>u?!0:(c(),!1)):a?!0:(c(),!1)})}refinement(e,t){return this._refinement((n,s)=>e(n)?!0:(s.addIssue(typeof t=="function"?t(n,s):t),!1))}_refinement(e){return new X({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ce.create(this,this._def)}nullable(){return xe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Q.create(this,this._def)}promise(){return Be.create(this,this._def)}or(e){return ct.create([this,e],this._def)}and(e){return lt.create(this,e,this._def)}transform(e){return new X({...S(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new ht({...S(this._def),innerType:this,defaultValue:t,typeName:k.ZodDefault})}brand(){return new nr({typeName:k.ZodBranded,type:this,...S(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new mt({...S(this._def),innerType:this,catchValue:t,typeName:k.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return yt.create(this,e)}readonly(){return _t.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const Jn=/^c[^\s-]{8,}$/i,Qn=/^[0-9a-z]+$/,Xn=/^[0-9A-HJKMNP-TV-Z]{26}$/,es=/^[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,ts=/^[a-z0-9_-]{21}$/i,rs=/^[-+]?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)?)??$/,ns=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,ss="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let tr;const os=/^(?:(?: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])$/,is=/^(([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})))$/,as=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Tr="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",cs=new RegExp(`^${Tr}$`);function Ir(r){let e="([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d";return r.precision?e=`${e}\\.\\d{${r.precision}}`:r.precision==null&&(e=`${e}(\\.\\d+)?`),e}function ls(r){return new RegExp(`^${Ir(r)}$`)}function Or(r){let e=`${Tr}T${Ir(r)}`;const t=[];return t.push(r.local?"Z?":"Z"),r.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function us(r,e){return!!((e==="v4"||!e)&&os.test(r)||(e==="v6"||!e)&&is.test(r))}class J extends x{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==_.string){const o=this._getOrReturnCtx(e);return y(o,{code:p.invalid_type,expected:_.string,received:o.parsedType}),E}const n=new Z;let s;for(const o of this._def.checks)if(o.kind==="min")e.data.length<o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="max")e.data.length>o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!1,message:o.message}),n.dirty());else if(o.kind==="length"){const a=e.data.length>o.value,c=e.data.length<o.value;(a||c)&&(s=this._getOrReturnCtx(e,s),a?y(s,{code:p.too_big,maximum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}):c&&y(s,{code:p.too_small,minimum:o.value,type:"string",inclusive:!0,exact:!0,message:o.message}),n.dirty())}else if(o.kind==="email")ns.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"email",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="emoji")tr||(tr=new RegExp(ss,"u")),tr.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"emoji",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="uuid")es.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"uuid",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="nanoid")ts.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"nanoid",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid")Jn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"cuid",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="cuid2")Qn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"cuid2",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="ulid")Xn.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"ulid",code:p.invalid_string,message:o.message}),n.dirty());else if(o.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),y(s,{validation:"url",code:p.invalid_string,message:o.message}),n.dirty()}else o.kind==="regex"?(o.regex.lastIndex=0,o.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"regex",code:p.invalid_string,message:o.message}),n.dirty())):o.kind==="trim"?e.data=e.data.trim():o.kind==="includes"?e.data.includes(o.value,o.position)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:{includes:o.value,position:o.position},message:o.message}),n.dirty()):o.kind==="toLowerCase"?e.data=e.data.toLowerCase():o.kind==="toUpperCase"?e.data=e.data.toUpperCase():o.kind==="startsWith"?e.data.startsWith(o.value)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:{startsWith:o.value},message:o.message}),n.dirty()):o.kind==="endsWith"?e.data.endsWith(o.value)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:{endsWith:o.value},message:o.message}),n.dirty()):o.kind==="datetime"?Or(o).test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:"datetime",message:o.message}),n.dirty()):o.kind==="date"?cs.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:"date",message:o.message}),n.dirty()):o.kind==="time"?ls(o).test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{code:p.invalid_string,validation:"time",message:o.message}),n.dirty()):o.kind==="duration"?rs.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"duration",code:p.invalid_string,message:o.message}),n.dirty()):o.kind==="ip"?us(e.data,o.version)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"ip",code:p.invalid_string,message:o.message}),n.dirty()):o.kind==="base64"?as.test(e.data)||(s=this._getOrReturnCtx(e,s),y(s,{validation:"base64",code:p.invalid_string,message:o.message}),n.dirty()):P.assertNever(o);return{status:n.value,value:e.data}}_regex(e,t,n){return this.refinement(s=>e.test(s),{validation:t,code:p.invalid_string,...v.errToObj(n)})}_addCheck(e){return new J({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...v.errToObj(e)})}url(e){return this._addCheck({kind:"url",...v.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...v.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...v.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...v.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...v.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...v.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...v.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...v.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...v.errToObj(e)})}datetime(e){var t,n;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,offset:(t=e==null?void 0:e.offset)!==null&&t!==void 0?t:!1,local:(n=e==null?void 0:e.local)!==null&&n!==void 0?n:!1,...v.errToObj(e==null?void 0:e.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof(e==null?void 0:e.precision)>"u"?null:e==null?void 0:e.precision,...v.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...v.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...v.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...v.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...v.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...v.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...v.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...v.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...v.errToObj(t)})}nonempty(e){return this.min(1,v.errToObj(e))}trim(){return new J({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new J({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new J({...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}}J.create=r=>{var e;return new J({checks:[],typeName:k.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...S(r)})};function ds(r,e){const t=(r.toString().split(".")[1]||"").length,n=(e.toString().split(".")[1]||"").length,s=t>n?t:n,o=parseInt(r.toFixed(s).replace(".","")),a=parseInt(e.toFixed(s).replace(".",""));return o%a/Math.pow(10,s)}class Ee extends x{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==_.number){const o=this._getOrReturnCtx(e);return y(o,{code:p.invalid_type,expected:_.number,received:o.parsedType}),E}let n;const s=new Z;for(const o of this._def.checks)o.kind==="int"?P.isInteger(e.data)||(n=this._getOrReturnCtx(e,n),y(n,{code:p.invalid_type,expected:"integer",received:"float",message:o.message}),s.dirty()):o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.too_small,minimum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.too_big,maximum:o.value,type:"number",inclusive:o.inclusive,exact:!1,message:o.message}),s.dirty()):o.kind==="multipleOf"?ds(e.data,o.value)!==0&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):o.kind==="finite"?Number.isFinite(e.data)||(n=this._getOrReturnCtx(e,n),y(n,{code:p.not_finite,message:o.message}),s.dirty()):P.assertNever(o);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,v.toString(t))}gt(e,t){return this.setLimit("min",e,!1,v.toString(t))}lte(e,t){return this.setLimit("max",e,!0,v.toString(t))}lt(e,t){return this.setLimit("max",e,!1,v.toString(t))}setLimit(e,t,n,s){return new Ee({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:v.toString(s)}]})}_addCheck(e){return new Ee({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:v.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:v.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:v.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:v.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:v.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:v.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:v.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:v.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:v.toString(e)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&P.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)}}Ee.create=r=>new Ee({checks:[],typeName:k.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...S(r)});class Se extends x{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==_.bigint){const o=this._getOrReturnCtx(e);return y(o,{code:p.invalid_type,expected:_.bigint,received:o.parsedType}),E}let n;const s=new Z;for(const o of this._def.checks)o.kind==="min"?(o.inclusive?e.data<o.value:e.data<=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.too_small,type:"bigint",minimum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="max"?(o.inclusive?e.data>o.value:e.data>=o.value)&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.too_big,type:"bigint",maximum:o.value,inclusive:o.inclusive,message:o.message}),s.dirty()):o.kind==="multipleOf"?e.data%o.value!==BigInt(0)&&(n=this._getOrReturnCtx(e,n),y(n,{code:p.not_multiple_of,multipleOf:o.value,message:o.message}),s.dirty()):P.assertNever(o);return{status:s.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,v.toString(t))}gt(e,t){return this.setLimit("min",e,!1,v.toString(t))}lte(e,t){return this.setLimit("max",e,!0,v.toString(t))}lt(e,t){return this.setLimit("max",e,!1,v.toString(t))}setLimit(e,t,n,s){return new Se({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:v.toString(s)}]})}_addCheck(e){return new Se({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:v.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:v.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:v.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:v.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:v.toString(t)})}get minValue(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e}}Se.create=r=>{var e;return new Se({checks:[],typeName:k.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...S(r)})};class ot extends x{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==_.boolean){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.boolean,received:n.parsedType}),E}return z(e.data)}}ot.create=r=>new ot({typeName:k.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...S(r)});class Re extends x{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==_.date){const o=this._getOrReturnCtx(e);return y(o,{code:p.invalid_type,expected:_.date,received:o.parsedType}),E}if(isNaN(e.data.getTime())){const o=this._getOrReturnCtx(e);return y(o,{code:p.invalid_date}),E}const n=new Z;let s;for(const o of this._def.checks)o.kind==="min"?e.data.getTime()<o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:p.too_small,message:o.message,inclusive:!0,exact:!1,minimum:o.value,type:"date"}),n.dirty()):o.kind==="max"?e.data.getTime()>o.value&&(s=this._getOrReturnCtx(e,s),y(s,{code:p.too_big,message:o.message,inclusive:!0,exact:!1,maximum:o.value,type:"date"}),n.dirty()):P.assertNever(o);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new Re({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:v.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:v.toString(t)})}get minDate(){let e=null;for(const t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(const t of this._def.checks)t.kind==="max"&&(e===null||t.value<e)&&(e=t.value);return e!=null?new Date(e):null}}Re.create=r=>new Re({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:k.ZodDate,...S(r)});class At extends x{_parse(e){if(this._getType(e)!==_.symbol){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.symbol,received:n.parsedType}),E}return z(e.data)}}At.create=r=>new At({typeName:k.ZodSymbol,...S(r)});class it extends x{_parse(e){if(this._getType(e)!==_.undefined){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.undefined,received:n.parsedType}),E}return z(e.data)}}it.create=r=>new it({typeName:k.ZodUndefined,...S(r)});class at extends x{_parse(e){if(this._getType(e)!==_.null){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.null,received:n.parsedType}),E}return z(e.data)}}at.create=r=>new at({typeName:k.ZodNull,...S(r)});class Ze extends x{constructor(){super(...arguments),this._any=!0}_parse(e){return z(e.data)}}Ze.create=r=>new Ze({typeName:k.ZodAny,...S(r)});class Ne extends x{constructor(){super(...arguments),this._unknown=!0}_parse(e){return z(e.data)}}Ne.create=r=>new Ne({typeName:k.ZodUnknown,...S(r)});class he extends x{_parse(e){const t=this._getOrReturnCtx(e);return y(t,{code:p.invalid_type,expected:_.never,received:t.parsedType}),E}}he.create=r=>new he({typeName:k.ZodNever,...S(r)});class Pt extends x{_parse(e){if(this._getType(e)!==_.undefined){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.void,received:n.parsedType}),E}return z(e.data)}}Pt.create=r=>new Pt({typeName:k.ZodVoid,...S(r)});class Q extends x{_parse(e){const{ctx:t,status:n}=this._processInputParams(e),s=this._def;if(t.parsedType!==_.array)return y(t,{code:p.invalid_type,expected:_.array,received:t.parsedType}),E;if(s.exactLength!==null){const a=t.data.length>s.exactLength.value,c=t.data.length<s.exactLength.value;(a||c)&&(y(t,{code:a?p.too_big:p.too_small,minimum:c?s.exactLength.value:void 0,maximum:a?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),n.dirty())}if(s.minLength!==null&&t.data.length<s.minLength.value&&(y(t,{code:p.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),n.dirty()),s.maxLength!==null&&t.data.length>s.maxLength.value&&(y(t,{code:p.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),n.dirty()),t.common.async)return Promise.all([...t.data].map((a,c)=>s.type._parseAsync(new ie(t,a,t.path,c)))).then(a=>Z.mergeArray(n,a));const o=[...t.data].map((a,c)=>s.type._parseSync(new ie(t,a,t.path,c)));return Z.mergeArray(n,o)}get element(){return this._def.type}min(e,t){return new Q({...this._def,minLength:{value:e,message:v.toString(t)}})}max(e,t){return new Q({...this._def,maxLength:{value:e,message:v.toString(t)}})}length(e,t){return new Q({...this._def,exactLength:{value:e,message:v.toString(t)}})}nonempty(e){return this.min(1,e)}}Q.create=(r,e)=>new Q({type:r,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...S(e)});function Ve(r){if(r instanceof M){const e={};for(const t in r.shape){const n=r.shape[t];e[t]=ce.create(Ve(n))}return new M({...r._def,shape:()=>e})}else return r instanceof Q?new Q({...r._def,type:Ve(r.element)}):r instanceof ce?ce.create(Ve(r.unwrap())):r instanceof xe?xe.create(Ve(r.unwrap())):r instanceof ae?ae.create(r.items.map(e=>Ve(e))):r}class M extends x{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=P.objectKeys(e);return this._cached={shape:e,keys:t}}_parse(e){if(this._getType(e)!==_.object){const l=this._getOrReturnCtx(e);return y(l,{code:p.invalid_type,expected:_.object,received:l.parsedType}),E}const{status:n,ctx:s}=this._processInputParams(e),{shape:o,keys:a}=this._getCached(),c=[];if(!(this._def.catchall instanceof he&&this._def.unknownKeys==="strip"))for(const l in s.data)a.includes(l)||c.push(l);const u=[];for(const l of a){const d=o[l],h=s.data[l];u.push({key:{status:"valid",value:l},value:d._parse(new ie(s,h,s.path,l)),alwaysSet:l in s.data})}if(this._def.catchall instanceof he){const l=this._def.unknownKeys;if(l==="passthrough")for(const d of c)u.push({key:{status:"valid",value:d},value:{status:"valid",value:s.data[d]}});else if(l==="strict")c.length>0&&(y(s,{code:p.unrecognized_keys,keys:c}),n.dirty());else if(l!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{const l=this._def.catchall;for(const d of c){const h=s.data[d];u.push({key:{status:"valid",value:d},value:l._parse(new ie(s,h,s.path,d)),alwaysSet:d in s.data})}}return s.common.async?Promise.resolve().then(async()=>{const l=[];for(const d of u){const h=await d.key,w=await d.value;l.push({key:h,value:w,alwaysSet:d.alwaysSet})}return l}).then(l=>Z.mergeObjectSync(n,l)):Z.mergeObjectSync(n,u)}get shape(){return this._def.shape()}strict(e){return v.errToObj,new M({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,n)=>{var s,o,a,c;const u=(a=(o=(s=this._def).errorMap)===null||o===void 0?void 0:o.call(s,t,n).message)!==null&&a!==void 0?a:n.defaultError;return t.code==="unrecognized_keys"?{message:(c=v.errToObj(e).message)!==null&&c!==void 0?c:u}:{message:u}}}:{}})}strip(){return new M({...this._def,unknownKeys:"strip"})}passthrough(){return new M({...this._def,unknownKeys:"passthrough"})}extend(e){return new M({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new M({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new M({...this._def,catchall:e})}pick(e){const t={};return P.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new M({...this._def,shape:()=>t})}omit(e){const t={};return P.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new M({...this._def,shape:()=>t})}deepPartial(){return Ve(this)}partial(e){const t={};return P.objectKeys(this.shape).forEach(n=>{const s=this.shape[n];e&&!e[n]?t[n]=s:t[n]=s.optional()}),new M({...this._def,shape:()=>t})}required(e){const t={};return P.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let o=this.shape[n];for(;o instanceof ce;)o=o._def.innerType;t[n]=o}}),new M({...this._def,shape:()=>t})}keyof(){return Rr(P.objectKeys(this.shape))}}M.create=(r,e)=>new M({shape:()=>r,unknownKeys:"strip",catchall:he.create(),typeName:k.ZodObject,...S(e)}),M.strictCreate=(r,e)=>new M({shape:()=>r,unknownKeys:"strict",catchall:he.create(),typeName:k.ZodObject,...S(e)}),M.lazycreate=(r,e)=>new M({shape:r,unknownKeys:"strip",catchall:he.create(),typeName:k.ZodObject,...S(e)});class ct extends x{_parse(e){const{ctx:t}=this._processInputParams(e),n=this._def.options;function s(o){for(const c of o)if(c.result.status==="valid")return c.result;for(const c of o)if(c.result.status==="dirty")return t.common.issues.push(...c.ctx.common.issues),c.result;const a=o.map(c=>new Y(c.ctx.common.issues));return y(t,{code:p.invalid_union,unionErrors:a}),E}if(t.common.async)return Promise.all(n.map(async o=>{const a={...t,common:{...t.common,issues:[]},parent:null};return{result:await o._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(s);{let o;const a=[];for(const u of n){const l={...t,common:{...t.common,issues:[]},parent:null},d=u._parseSync({data:t.data,path:t.path,parent:l});if(d.status==="valid")return d;d.status==="dirty"&&!o&&(o={result:d,ctx:l}),l.common.issues.length&&a.push(l.common.issues)}if(o)return t.common.issues.push(...o.ctx.common.issues),o.result;const c=a.map(u=>new Y(u));return y(t,{code:p.invalid_union,unionErrors:c}),E}}get options(){return this._def.options}}ct.create=(r,e)=>new ct({options:r,typeName:k.ZodUnion,...S(e)});const me=r=>r instanceof dt?me(r.schema):r instanceof X?me(r.innerType()):r instanceof pt?[r.value]:r instanceof Ce?r.options:r instanceof ft?P.objectValues(r.enum):r instanceof ht?me(r._def.innerType):r instanceof it?[void 0]:r instanceof at?[null]:r instanceof ce?[void 0,...me(r.unwrap())]:r instanceof xe?[null,...me(r.unwrap())]:r instanceof nr||r instanceof _t?me(r.unwrap()):r instanceof mt?me(r._def.innerType):[];class Tt extends x{_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.object)return y(t,{code:p.invalid_type,expected:_.object,received:t.parsedType}),E;const n=this.discriminator,s=t.data[n],o=this.optionsMap.get(s);return o?t.common.async?o._parseAsync({data:t.data,path:t.path,parent:t}):o._parseSync({data:t.data,path:t.path,parent:t}):(y(t,{code:p.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[n]}),E)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const s=new Map;for(const o of t){const a=me(o.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(const c of a){if(s.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);s.set(c,o)}}return new Tt({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:s,...S(n)})}}function rr(r,e){const t=ke(r),n=ke(e);if(r===e)return{valid:!0,data:r};if(t===_.object&&n===_.object){const s=P.objectKeys(e),o=P.objectKeys(r).filter(c=>s.indexOf(c)!==-1),a={...r,...e};for(const c of o){const u=rr(r[c],e[c]);if(!u.valid)return{valid:!1};a[c]=u.data}return{valid:!0,data:a}}else if(t===_.array&&n===_.array){if(r.length!==e.length)return{valid:!1};const s=[];for(let o=0;o<r.length;o++){const a=r[o],c=e[o],u=rr(a,c);if(!u.valid)return{valid:!1};s.push(u.data)}return{valid:!0,data:s}}else return t===_.date&&n===_.date&&+r==+e?{valid:!0,data:r}:{valid:!1}}class lt extends x{_parse(e){const{status:t,ctx:n}=this._processInputParams(e),s=(o,a)=>{if(Xt(o)||Xt(a))return E;const c=rr(o.value,a.value);return c.valid?((er(o)||er(a))&&t.dirty(),{status:t.value,value:c.data}):(y(n,{code:p.invalid_intersection_types}),E)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([o,a])=>s(o,a)):s(this._def.left._parseSync({data:n.data,path:n.path,parent:n}),this._def.right._parseSync({data:n.data,path:n.path,parent:n}))}}lt.create=(r,e,t)=>new lt({left:r,right:e,typeName:k.ZodIntersection,...S(t)});class ae extends x{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.array)return y(n,{code:p.invalid_type,expected:_.array,received:n.parsedType}),E;if(n.data.length<this._def.items.length)return y(n,{code:p.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),E;!this._def.rest&&n.data.length>this._def.items.length&&(y(n,{code:p.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());const o=[...n.data].map((a,c)=>{const u=this._def.items[c]||this._def.rest;return u?u._parse(new ie(n,a,n.path,c)):null}).filter(a=>!!a);return n.common.async?Promise.all(o).then(a=>Z.mergeArray(t,a)):Z.mergeArray(t,o)}get items(){return this._def.items}rest(e){return new ae({...this._def,rest:e})}}ae.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new ae({items:r,typeName:k.ZodTuple,rest:null,...S(e)})};class ut extends x{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.object)return y(n,{code:p.invalid_type,expected:_.object,received:n.parsedType}),E;const s=[],o=this._def.keyType,a=this._def.valueType;for(const c in n.data)s.push({key:o._parse(new ie(n,c,n.path,c)),value:a._parse(new ie(n,n.data[c],n.path,c)),alwaysSet:c in n.data});return n.common.async?Z.mergeObjectAsync(t,s):Z.mergeObjectSync(t,s)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof x?new ut({keyType:e,valueType:t,typeName:k.ZodRecord,...S(n)}):new ut({keyType:J.create(),valueType:e,typeName:k.ZodRecord,...S(t)})}}class It extends x{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.map)return y(n,{code:p.invalid_type,expected:_.map,received:n.parsedType}),E;const s=this._def.keyType,o=this._def.valueType,a=[...n.data.entries()].map(([c,u],l)=>({key:s._parse(new ie(n,c,n.path,[l,"key"])),value:o._parse(new ie(n,u,n.path,[l,"value"]))}));if(n.common.async){const c=new Map;return Promise.resolve().then(async()=>{for(const u of a){const l=await u.key,d=await u.value;if(l.status==="aborted"||d.status==="aborted")return E;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(l.value,d.value)}return{status:t.value,value:c}})}else{const c=new Map;for(const u of a){const l=u.key,d=u.value;if(l.status==="aborted"||d.status==="aborted")return E;(l.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(l.value,d.value)}return{status:t.value,value:c}}}}It.create=(r,e,t)=>new It({valueType:e,keyType:r,typeName:k.ZodMap,...S(t)});class Me extends x{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==_.set)return y(n,{code:p.invalid_type,expected:_.set,received:n.parsedType}),E;const s=this._def;s.minSize!==null&&n.data.size<s.minSize.value&&(y(n,{code:p.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),t.dirty()),s.maxSize!==null&&n.data.size>s.maxSize.value&&(y(n,{code:p.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),t.dirty());const o=this._def.valueType;function a(u){const l=new Set;for(const d of u){if(d.status==="aborted")return E;d.status==="dirty"&&t.dirty(),l.add(d.value)}return{status:t.value,value:l}}const c=[...n.data.values()].map((u,l)=>o._parse(new ie(n,u,n.path,l)));return n.common.async?Promise.all(c).then(u=>a(u)):a(c)}min(e,t){return new Me({...this._def,minSize:{value:e,message:v.toString(t)}})}max(e,t){return new Me({...this._def,maxSize:{value:e,message:v.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Me.create=(r,e)=>new Me({valueType:r,minSize:null,maxSize:null,typeName:k.ZodSet,...S(e)});class ze extends x{constructor(){super(...arguments),this.validate=this.implement}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.function)return y(t,{code:p.invalid_type,expected:_.function,received:t.parsedType}),E;function n(c,u){return Ct({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,St(),Ue].filter(l=>!!l),issueData:{code:p.invalid_arguments,argumentsError:u}})}function s(c,u){return Ct({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,St(),Ue].filter(l=>!!l),issueData:{code:p.invalid_return_type,returnTypeError:u}})}const o={errorMap:t.common.contextualErrorMap},a=t.data;if(this._def.returns instanceof Be){const c=this;return z(async function(...u){const l=new Y([]),d=await c._def.args.parseAsync(u,o).catch(m=>{throw l.addIssue(n(u,m)),l}),h=await Reflect.apply(a,this,d);return await c._def.returns._def.type.parseAsync(h,o).catch(m=>{throw l.addIssue(s(h,m)),l})})}else{const c=this;return z(function(...u){const l=c._def.args.safeParse(u,o);if(!l.success)throw new Y([n(u,l.error)]);const d=Reflect.apply(a,this,l.data),h=c._def.returns.safeParse(d,o);if(!h.success)throw new Y([s(d,h.error)]);return h.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new ze({...this._def,args:ae.create(e).rest(Ne.create())})}returns(e){return new ze({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new ze({args:e||ae.create([]).rest(Ne.create()),returns:t||Ne.create(),typeName:k.ZodFunction,...S(n)})}}class dt extends x{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}dt.create=(r,e)=>new dt({getter:r,typeName:k.ZodLazy,...S(e)});class pt extends x{_parse(e){if(e.data!==this._def.value){const t=this._getOrReturnCtx(e);return y(t,{received:t.data,code:p.invalid_literal,expected:this._def.value}),E}return{status:"valid",value:e.data}}get value(){return this._def.value}}pt.create=(r,e)=>new pt({value:r,typeName:k.ZodLiteral,...S(e)});function Rr(r,e){return new Ce({values:r,typeName:k.ZodEnum,...S(e)})}class Ce extends x{constructor(){super(...arguments),nt.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),n=this._def.values;return y(t,{expected:P.joinValues(n),received:t.parsedType,code:p.invalid_type}),E}if(xt(this,nt)||Ar(this,nt,new Set(this._def.values)),!xt(this,nt).has(e.data)){const t=this._getOrReturnCtx(e),n=this._def.values;return y(t,{received:t.data,code:p.invalid_enum_value,options:n}),E}return z(e.data)}get options(){return this._def.values}get enum(){const e={};for(const t of this._def.values)e[t]=t;return e}get Values(){const e={};for(const t of this._def.values)e[t]=t;return e}get Enum(){const e={};for(const t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return Ce.create(e,{...this._def,...t})}exclude(e,t=this._def){return Ce.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}}nt=new WeakMap,Ce.create=Rr;class ft extends x{constructor(){super(...arguments),st.set(this,void 0)}_parse(e){const t=P.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==_.string&&n.parsedType!==_.number){const s=P.objectValues(t);return y(n,{expected:P.joinValues(s),received:n.parsedType,code:p.invalid_type}),E}if(xt(this,st)||Ar(this,st,new Set(P.getValidEnumValues(this._def.values))),!xt(this,st).has(e.data)){const s=P.objectValues(t);return y(n,{received:n.data,code:p.invalid_enum_value,options:s}),E}return z(e.data)}get enum(){return this._def.values}}st=new WeakMap,ft.create=(r,e)=>new ft({values:r,typeName:k.ZodNativeEnum,...S(e)});class Be extends x{unwrap(){return this._def.type}_parse(e){const{ctx:t}=this._processInputParams(e);if(t.parsedType!==_.promise&&t.common.async===!1)return y(t,{code:p.invalid_type,expected:_.promise,received:t.parsedType}),E;const n=t.parsedType===_.promise?t.data:Promise.resolve(t.data);return z(n.then(s=>this._def.type.parseAsync(s,{path:t.path,errorMap:t.common.contextualErrorMap})))}}Be.create=(r,e)=>new Be({type:r,typeName:k.ZodPromise,...S(e)});class X extends x{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),s=this._def.effect||null,o={addIssue:a=>{y(n,a),a.fatal?t.abort():t.dirty()},get path(){return n.path}};if(o.addIssue=o.addIssue.bind(o),s.type==="preprocess"){const a=s.transform(n.data,o);if(n.common.async)return Promise.resolve(a).then(async c=>{if(t.value==="aborted")return E;const u=await this._def.schema._parseAsync({data:c,path:n.path,parent:n});return u.status==="aborted"?E:u.status==="dirty"||t.value==="dirty"?$e(u.value):u});{if(t.value==="aborted")return E;const c=this._def.schema._parseSync({data:a,path:n.path,parent:n});return c.status==="aborted"?E:c.status==="dirty"||t.value==="dirty"?$e(c.value):c}}if(s.type==="refinement"){const a=c=>{const u=s.refinement(c,o);if(n.common.async)return Promise.resolve(u);if(u instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c};if(n.common.async===!1){const c=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});return c.status==="aborted"?E:(c.status==="dirty"&&t.dirty(),a(c.value),{status:t.value,value:c.value})}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(c=>c.status==="aborted"?E:(c.status==="dirty"&&t.dirty(),a(c.value).then(()=>({status:t.value,value:c.value}))))}if(s.type==="transform")if(n.common.async===!1){const a=this._def.schema._parseSync({data:n.data,path:n.path,parent:n});if(!tt(a))return a;const c=s.transform(a.value,o);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:c}}else return this._def.schema._parseAsync({data:n.data,path:n.path,parent:n}).then(a=>tt(a)?Promise.resolve(s.transform(a.value,o)).then(c=>({status:t.value,value:c})):a);P.assertNever(s)}}X.create=(r,e,t)=>new X({schema:r,typeName:k.ZodEffects,effect:e,...S(t)}),X.createWithPreprocess=(r,e,t)=>new X({schema:e,effect:{type:"preprocess",transform:r},typeName:k.ZodEffects,...S(t)});class ce extends x{_parse(e){return this._getType(e)===_.undefined?z(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ce.create=(r,e)=>new ce({innerType:r,typeName:k.ZodOptional,...S(e)});class xe extends x{_parse(e){return this._getType(e)===_.null?z(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}xe.create=(r,e)=>new xe({innerType:r,typeName:k.ZodNullable,...S(e)});class ht extends x{_parse(e){const{ctx:t}=this._processInputParams(e);let n=t.data;return t.parsedType===_.undefined&&(n=this._def.defaultValue()),this._def.innerType._parse({data:n,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}ht.create=(r,e)=>new ht({innerType:r,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...S(e)});class mt extends x{_parse(e){const{ctx:t}=this._processInputParams(e),n={...t,common:{...t.common,issues:[]}},s=this._def.innerType._parse({data:n.data,path:n.path,parent:{...n}});return rt(s)?s.then(o=>({status:"valid",value:o.status==="valid"?o.value:this._def.catchValue({get error(){return new Y(n.common.issues)},input:n.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new Y(n.common.issues)},input:n.data})}}removeCatch(){return this._def.innerType}}mt.create=(r,e)=>new mt({innerType:r,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...S(e)});class Ot extends x{_parse(e){if(this._getType(e)!==_.nan){const n=this._getOrReturnCtx(e);return y(n,{code:p.invalid_type,expected:_.nan,received:n.parsedType}),E}return{status:"valid",value:e.data}}}Ot.create=r=>new Ot({typeName:k.ZodNaN,...S(r)});const ps=Symbol("zod_brand");class nr extends x{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class yt extends x{_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.common.async)return(async()=>{const o=await this._def.in._parseAsync({data:n.data,path:n.path,parent:n});return o.status==="aborted"?E:o.status==="dirty"?(t.dirty(),$e(o.value)):this._def.out._parseAsync({data:o.value,path:n.path,parent:n})})();{const s=this._def.in._parseSync({data:n.data,path:n.path,parent:n});return s.status==="aborted"?E:s.status==="dirty"?(t.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:n.path,parent:n})}}static create(e,t){return new yt({in:e,out:t,typeName:k.ZodPipeline})}}class _t extends x{_parse(e){const t=this._def.innerType._parse(e),n=s=>(tt(s)&&(s.value=Object.freeze(s.value)),s);return rt(t)?t.then(s=>n(s)):n(t)}unwrap(){return this._def.innerType}}_t.create=(r,e)=>new _t({innerType:r,typeName:k.ZodReadonly,...S(e)});function Nr(r,e={},t){return r?Ze.create().superRefine((n,s)=>{var o,a;if(!r(n)){const c=typeof e=="function"?e(n):typeof e=="string"?{message:e}:e,u=(a=(o=c.fatal)!==null&&o!==void 0?o:t)!==null&&a!==void 0?a:!0,l=typeof c=="string"?{message:c}:c;s.addIssue({code:"custom",...l,fatal:u})}}):Ze.create()}const fs={object:M.lazycreate};var k;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(k||(k={}));const hs=(r,e={message:`Input not instance of ${r.name}`})=>Nr(t=>t instanceof r,e),Mr=J.create,jr=Ee.create,ms=Ot.create,ys=Se.create,Dr=ot.create,_s=Re.create,gs=At.create,vs=it.create,ws=at.create,bs=Ze.create,ks=Ne.create,Es=he.create,Ss=Pt.create,Cs=Q.create,xs=M.create,As=M.strictCreate,Ps=ct.create,Ts=Tt.create,Is=lt.create,Os=ae.create,Rs=ut.create,Ns=It.create,Ms=Me.create,js=ze.create,Ds=dt.create,Ls=pt.create,Fs=Ce.create,Us=ft.create,$s=Be.create,Lr=X.create,Zs=ce.create,Vs=xe.create,zs=X.createWithPreprocess,Bs=yt.create;var i=Object.freeze({__proto__:null,defaultErrorMap:Ue,setErrorMap:Hn,getErrorMap:St,makeIssue:Ct,EMPTY_PATH:Kn,addIssueToContext:y,ParseStatus:Z,INVALID:E,DIRTY:$e,OK:z,isAborted:Xt,isDirty:er,isValid:tt,isAsync:rt,get util(){return P},get objectUtil(){return Qt},ZodParsedType:_,getParsedType:ke,ZodType:x,datetimeRegex:Or,ZodString:J,ZodNumber:Ee,ZodBigInt:Se,ZodBoolean:ot,ZodDate:Re,ZodSymbol:At,ZodUndefined:it,ZodNull:at,ZodAny:Ze,ZodUnknown:Ne,ZodNever:he,ZodVoid:Pt,ZodArray:Q,ZodObject:M,ZodUnion:ct,ZodDiscriminatedUnion:Tt,ZodIntersection:lt,ZodTuple:ae,ZodRecord:ut,ZodMap:It,ZodSet:Me,ZodFunction:ze,ZodLazy:dt,ZodLiteral:pt,ZodEnum:Ce,ZodNativeEnum:ft,ZodPromise:Be,ZodEffects:X,ZodTransformer:X,ZodOptional:ce,ZodNullable:xe,ZodDefault:ht,ZodCatch:mt,ZodNaN:Ot,BRAND:ps,ZodBranded:nr,ZodPipeline:yt,ZodReadonly:_t,custom:Nr,Schema:x,ZodSchema:x,late:fs,get ZodFirstPartyTypeKind(){return k},coerce:{string:r=>J.create({...r,coerce:!0}),number:r=>Ee.create({...r,coerce:!0}),boolean:r=>ot.create({...r,coerce:!0}),bigint:r=>Se.create({...r,coerce:!0}),date:r=>Re.create({...r,coerce:!0})},any:bs,array:Cs,bigint:ys,boolean:Dr,date:_s,discriminatedUnion:Ts,effect:Lr,enum:Fs,function:js,instanceof:hs,intersection:Is,lazy:Ds,literal:Ls,map:Ns,nan:ms,nativeEnum:Us,never:Es,null:ws,nullable:Vs,number:jr,object:xs,oboolean:()=>Dr().optional(),onumber:()=>jr().optional(),optional:Zs,ostring:()=>Mr().optional(),pipeline:Bs,preprocess:zs,promise:$s,record:Rs,set:Ms,strictObject:As,string:Mr,symbol:gs,transformer:Lr,tuple:Os,undefined:vs,union:Ps,unknown:ks,void:Ss,NEVER:E,ZodIssueCode:p,quotelessJson:Wn,ZodError:Y});const qs=i.object({type:i.string(),loc:i.array(i.string()),msg:i.string(),url:i.string()}),Gs=i.array(qs),Ys=i.object({code:i.string(),message:i.string(),path:i.array(i.string())}),Ws=i.array(Ys),Hs={"failed to fetch":"Connection error: please double check if you are connected to the internet, then try again"},sr=r=>{const e=r.toLowerCase().trim();return Hs[e]??r},Ks=r=>{try{return typeof JSON.parse(r)=="object"}catch{return!1}},Js=r=>r.length===1?sr(r[0].msg):`Please fix the following errors:
|
|
2
|
-
${r.map(t=>`• ${
|
|
3
|
-
`)}`,
|
|
1
|
+
(function(_e,De){typeof exports=="object"&&typeof module<"u"?De(exports):typeof define=="function"&&define.amd?define(["exports"],De):(_e=typeof globalThis<"u"?globalThis:_e||self,De(_e.OpenPay={}))})(this,function(_e){"use strict";const De="https://cde.getopenpay.com";var T;(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})(T||(T={}));var ir;(function(r){r.mergeShapes=(e,t)=>({...e,...t})})(ir||(ir={}));const v=T.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Pe=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=T.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"]),ho=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,T.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 ze=(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,T.jsonStringifyReplacer)}`;break;case m.unrecognized_keys:t=`Unrecognized key(s) in object: ${T.joinValues(r.keys,", ")}`;break;case m.invalid_union:t="Invalid input";break;case m.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${T.joinValues(r.options)}`;break;case m.invalid_enum_value:t=`Invalid enum value. Expected ${T.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}"`:T.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,T.assertNever(r)}return{message:t}};let jr=ze;function mo(r){jr=r}function Ot(){return jr}const Nt=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}},yo=[];function g(r,e){const t=Ot(),n=Nt({issueData:e,data:r.data,path:r.path,errorMaps:[r.common.contextualErrorMap,r.schemaErrorMap,t,t===ze?void 0:ze].filter(o=>!!o)});r.common.issues.push(n)}class z{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){const n=[];for(const o of t){if(o.status==="aborted")return E;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 z.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 E;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 E=Object.freeze({status:"aborted"}),Ge=r=>({status:"dirty",value:r}),Y=r=>({status:"valid",value:r}),cr=r=>r.status==="aborted",lr=r=>r.status==="dirty",st=r=>r.status==="valid",at=r=>typeof Promise<"u"&&r instanceof Promise;function Mt(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 Lr(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 w;(function(r){r.errToObj=e=>typeof e=="string"?{message:e}:e||{},r.toString=e=>typeof e=="string"?e:e==null?void 0:e.message})(w||(w={}));var it,ct;class ce{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 Fr=(r,e)=>{if(st(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 x{constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this)}get description(){return this._def.description}_getType(e){return Pe(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Pe(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new z,ctx:{common:e.parent.common,data:e.data,parsedType:Pe(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){const t=this._parse(e);if(at(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:Pe(e)},s=this._parseSync({data:e,path:o.path,parent:o});return Fr(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:Pe(e)},o=this._parse({data:e,path:n.path,parent:n}),s=await(at(o)?o:Promise.resolve(o));return Fr(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 re({schema:this,typeName:k.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}optional(){return ue.create(this,this._def)}nullable(){return Te.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return te.create(this,this._def)}promise(){return We.create(this,this._def)}or(e){return pt.create([this,e],this._def)}and(e){return ft.create(this,e,this._def)}transform(e){return new re({...P(this._def),schema:this,typeName:k.ZodEffects,effect:{type:"transform",transform:e}})}default(e){const t=typeof e=="function"?e:()=>e;return new gt({...P(this._def),innerType:this,defaultValue:t,typeName:k.ZodDefault})}brand(){return new pr({typeName:k.ZodBranded,type:this,...P(this._def)})}catch(e){const t=typeof e=="function"?e:()=>e;return new vt({...P(this._def),innerType:this,catchValue:t,typeName:k.ZodCatch})}describe(e){const t=this.constructor;return new t({...this._def,description:e})}pipe(e){return wt.create(this,e)}readonly(){return bt.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}const _o=/^c[^\s-]{8,}$/i,go=/^[0-9a-z]+$/,vo=/^[0-9A-HJKMNP-TV-Z]{26}$/,wo=/^[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,bo=/^[a-z0-9_-]{21}$/i,ko=/^[-+]?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)?)??$/,Eo=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Co="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$";let ur;const So=/^(?:(?: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])$/,Po=/^(([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})))$/,Ao=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Ur="((\\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])))",xo=new RegExp(`^${Ur}$`);function $r(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 Io(r){return new RegExp(`^${$r(r)}$`)}function Zr(r){let e=`${Ur}T${$r(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 To(r,e){return!!((e==="v4"||!e)&&So.test(r)||(e==="v6"||!e)&&Po.test(r))}class ee extends x{_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}),E}const n=new z;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")Eo.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")ur||(ur=new RegExp(Co,"u")),ur.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")wo.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")bo.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")_o.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")go.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")vo.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"?Zr(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"?xo.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{code:m.invalid_string,validation:"date",message:s.message}),n.dirty()):s.kind==="time"?Io(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"?ko.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"duration",code:m.invalid_string,message:s.message}),n.dirty()):s.kind==="ip"?To(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"?Ao.test(e.data)||(o=this._getOrReturnCtx(e,o),g(o,{validation:"base64",code:m.invalid_string,message:s.message}),n.dirty()):T.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,...w.errToObj(n)})}_addCheck(e){return new ee({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...w.errToObj(e)})}url(e){return this._addCheck({kind:"url",...w.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...w.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...w.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...w.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...w.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...w.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...w.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...w.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...w.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,...w.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,...w.errToObj(e==null?void 0:e.message)})}duration(e){return this._addCheck({kind:"duration",...w.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...w.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t==null?void 0:t.position,...w.errToObj(t==null?void 0:t.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...w.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...w.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...w.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...w.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...w.errToObj(t)})}nonempty(e){return this.min(1,w.errToObj(e))}trim(){return new ee({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new ee({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new ee({...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}}ee.create=r=>{var e;return new ee({checks:[],typeName:k.ZodString,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...P(r)})};function Ro(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 Ae extends x{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==v.number){const s=this._getOrReturnCtx(e);return g(s,{code:m.invalid_type,expected:v.number,received:s.parsedType}),E}let n;const o=new z;for(const s of this._def.checks)s.kind==="int"?T.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"?Ro(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()):T.assertNever(s);return{status:o.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,w.toString(t))}gt(e,t){return this.setLimit("min",e,!1,w.toString(t))}lte(e,t){return this.setLimit("max",e,!0,w.toString(t))}lt(e,t){return this.setLimit("max",e,!1,w.toString(t))}setLimit(e,t,n,o){return new Ae({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:w.toString(o)}]})}_addCheck(e){return new Ae({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:w.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:w.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:w.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:w.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:w.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:w.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:w.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:w.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:w.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"&&T.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)}}Ae.create=r=>new Ae({checks:[],typeName:k.ZodNumber,coerce:(r==null?void 0:r.coerce)||!1,...P(r)});class xe extends x{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce&&(e.data=BigInt(e.data)),this._getType(e)!==v.bigint){const s=this._getOrReturnCtx(e);return g(s,{code:m.invalid_type,expected:v.bigint,received:s.parsedType}),E}let n;const o=new z;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()):T.assertNever(s);return{status:o.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,w.toString(t))}gt(e,t){return this.setLimit("min",e,!1,w.toString(t))}lte(e,t){return this.setLimit("max",e,!0,w.toString(t))}lt(e,t){return this.setLimit("max",e,!1,w.toString(t))}setLimit(e,t,n,o){return new xe({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:n,message:w.toString(o)}]})}_addCheck(e){return new xe({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:w.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:w.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:w.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:w.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:w.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}}xe.create=r=>{var e;return new xe({checks:[],typeName:k.ZodBigInt,coerce:(e=r==null?void 0:r.coerce)!==null&&e!==void 0?e:!1,...P(r)})};class lt extends x{_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}),E}return Y(e.data)}}lt.create=r=>new lt({typeName:k.ZodBoolean,coerce:(r==null?void 0:r.coerce)||!1,...P(r)});class je extends x{_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}),E}if(isNaN(e.data.getTime())){const s=this._getOrReturnCtx(e);return g(s,{code:m.invalid_date}),E}const n=new z;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()):T.assertNever(s);return{status:n.value,value:new Date(e.data.getTime())}}_addCheck(e){return new je({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:w.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:w.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}}je.create=r=>new je({checks:[],coerce:(r==null?void 0:r.coerce)||!1,typeName:k.ZodDate,...P(r)});class Dt extends x{_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}),E}return Y(e.data)}}Dt.create=r=>new Dt({typeName:k.ZodSymbol,...P(r)});class ut extends x{_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}),E}return Y(e.data)}}ut.create=r=>new ut({typeName:k.ZodUndefined,...P(r)});class dt extends x{_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}),E}return Y(e.data)}}dt.create=r=>new dt({typeName:k.ZodNull,...P(r)});class Be extends x{constructor(){super(...arguments),this._any=!0}_parse(e){return Y(e.data)}}Be.create=r=>new Be({typeName:k.ZodAny,...P(r)});class Le extends x{constructor(){super(...arguments),this._unknown=!0}_parse(e){return Y(e.data)}}Le.create=r=>new Le({typeName:k.ZodUnknown,...P(r)});class ge extends x{_parse(e){const t=this._getOrReturnCtx(e);return g(t,{code:m.invalid_type,expected:v.never,received:t.parsedType}),E}}ge.create=r=>new ge({typeName:k.ZodNever,...P(r)});class jt extends x{_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}),E}return Y(e.data)}}jt.create=r=>new jt({typeName:k.ZodVoid,...P(r)});class te extends x{_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}),E;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 ce(t,i,t.path,c)))).then(i=>z.mergeArray(n,i));const s=[...t.data].map((i,c)=>o.type._parseSync(new ce(t,i,t.path,c)));return z.mergeArray(n,s)}get element(){return this._def.type}min(e,t){return new te({...this._def,minLength:{value:e,message:w.toString(t)}})}max(e,t){return new te({...this._def,maxLength:{value:e,message:w.toString(t)}})}length(e,t){return new te({...this._def,exactLength:{value:e,message:w.toString(t)}})}nonempty(e){return this.min(1,e)}}te.create=(r,e)=>new te({type:r,minLength:null,maxLength:null,exactLength:null,typeName:k.ZodArray,...P(e)});function qe(r){if(r instanceof M){const e={};for(const t in r.shape){const n=r.shape[t];e[t]=ue.create(qe(n))}return new M({...r._def,shape:()=>e})}else return r instanceof te?new te({...r._def,type:qe(r.element)}):r instanceof ue?ue.create(qe(r.unwrap())):r instanceof Te?Te.create(qe(r.unwrap())):r instanceof le?le.create(r.items.map(e=>qe(e))):r}class M extends x{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;const e=this._def.shape(),t=T.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}),E}const{status:n,ctx:o}=this._processInputParams(e),{shape:s,keys:i}=this._getCached(),c=[];if(!(this._def.catchall instanceof ge&&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 ce(o,p,o.path,u)),alwaysSet:u in o.data})}if(this._def.catchall instanceof ge){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 ce(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=>z.mergeObjectSync(n,u)):z.mergeObjectSync(n,l)}get shape(){return this._def.shape()}strict(e){return w.errToObj,new M({...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=w.errToObj(e).message)!==null&&c!==void 0?c:l}:{message:l}}}:{}})}strip(){return new M({...this._def,unknownKeys:"strip"})}passthrough(){return new M({...this._def,unknownKeys:"passthrough"})}extend(e){return new M({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new M({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:k.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new M({...this._def,catchall:e})}pick(e){const t={};return T.objectKeys(e).forEach(n=>{e[n]&&this.shape[n]&&(t[n]=this.shape[n])}),new M({...this._def,shape:()=>t})}omit(e){const t={};return T.objectKeys(this.shape).forEach(n=>{e[n]||(t[n]=this.shape[n])}),new M({...this._def,shape:()=>t})}deepPartial(){return qe(this)}partial(e){const t={};return T.objectKeys(this.shape).forEach(n=>{const o=this.shape[n];e&&!e[n]?t[n]=o:t[n]=o.optional()}),new M({...this._def,shape:()=>t})}required(e){const t={};return T.objectKeys(this.shape).forEach(n=>{if(e&&!e[n])t[n]=this.shape[n];else{let s=this.shape[n];for(;s instanceof ue;)s=s._def.innerType;t[n]=s}}),new M({...this._def,shape:()=>t})}keyof(){return Vr(T.objectKeys(this.shape))}}M.create=(r,e)=>new M({shape:()=>r,unknownKeys:"strip",catchall:ge.create(),typeName:k.ZodObject,...P(e)}),M.strictCreate=(r,e)=>new M({shape:()=>r,unknownKeys:"strict",catchall:ge.create(),typeName:k.ZodObject,...P(e)}),M.lazycreate=(r,e)=>new M({shape:r,unknownKeys:"strip",catchall:ge.create(),typeName:k.ZodObject,...P(e)});class pt extends x{_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}),E}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}),E}}get options(){return this._def.options}}pt.create=(r,e)=>new pt({options:r,typeName:k.ZodUnion,...P(e)});const ve=r=>r instanceof mt?ve(r.schema):r instanceof re?ve(r.innerType()):r instanceof yt?[r.value]:r instanceof Ie?r.options:r instanceof _t?T.objectValues(r.enum):r instanceof gt?ve(r._def.innerType):r instanceof ut?[void 0]:r instanceof dt?[null]:r instanceof ue?[void 0,...ve(r.unwrap())]:r instanceof Te?[null,...ve(r.unwrap())]:r instanceof pr||r instanceof bt?ve(r.unwrap()):r instanceof vt?ve(r._def.innerType):[];class Lt extends x{_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}),E;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]}),E)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,n){const o=new Map;for(const s of t){const i=ve(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 Lt({typeName:k.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:o,...P(n)})}}function dr(r,e){const t=Pe(r),n=Pe(e);if(r===e)return{valid:!0,data:r};if(t===v.object&&n===v.object){const o=T.objectKeys(e),s=T.objectKeys(r).filter(c=>o.indexOf(c)!==-1),i={...r,...e};for(const c of s){const l=dr(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=dr(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 ft extends x{_parse(e){const{status:t,ctx:n}=this._processInputParams(e),o=(s,i)=>{if(cr(s)||cr(i))return E;const c=dr(s.value,i.value);return c.valid?((lr(s)||lr(i))&&t.dirty(),{status:t.value,value:c.data}):(g(n,{code:m.invalid_intersection_types}),E)};return n.common.async?Promise.all([this._def.left._parseAsync({data:n.data,path:n.path,parent:n}),this._def.right._parseAsync({data:n.data,path:n.path,parent:n})]).then(([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}))}}ft.create=(r,e,t)=>new ft({left:r,right:e,typeName:k.ZodIntersection,...P(t)});class le extends x{_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}),E;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"}),E;!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 ce(n,i,n.path,c)):null}).filter(i=>!!i);return n.common.async?Promise.all(s).then(i=>z.mergeArray(t,i)):z.mergeArray(t,s)}get items(){return this._def.items}rest(e){return new le({...this._def,rest:e})}}le.create=(r,e)=>{if(!Array.isArray(r))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new le({items:r,typeName:k.ZodTuple,rest:null,...P(e)})};class ht extends x{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.object)return g(n,{code:m.invalid_type,expected:v.object,received:n.parsedType}),E;const o=[],s=this._def.keyType,i=this._def.valueType;for(const c in n.data)o.push({key:s._parse(new ce(n,c,n.path,c)),value:i._parse(new ce(n,n.data[c],n.path,c)),alwaysSet:c in n.data});return n.common.async?z.mergeObjectAsync(t,o):z.mergeObjectSync(t,o)}get element(){return this._def.valueType}static create(e,t,n){return t instanceof x?new ht({keyType:e,valueType:t,typeName:k.ZodRecord,...P(n)}):new ht({keyType:ee.create(),valueType:e,typeName:k.ZodRecord,...P(t)})}}class Ft extends x{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){const{status:t,ctx:n}=this._processInputParams(e);if(n.parsedType!==v.map)return g(n,{code:m.invalid_type,expected:v.map,received:n.parsedType}),E;const o=this._def.keyType,s=this._def.valueType,i=[...n.data.entries()].map(([c,l],u)=>({key:o._parse(new ce(n,c,n.path,[u,"key"])),value:s._parse(new ce(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 E;(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 E;(u.status==="dirty"||d.status==="dirty")&&t.dirty(),c.set(u.value,d.value)}return{status:t.value,value:c}}}}Ft.create=(r,e,t)=>new Ft({valueType:e,keyType:r,typeName:k.ZodMap,...P(t)});class Fe extends x{_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}),E;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 E;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 ce(n,l,n.path,u)));return n.common.async?Promise.all(c).then(l=>i(l)):i(c)}min(e,t){return new Fe({...this._def,minSize:{value:e,message:w.toString(t)}})}max(e,t){return new Fe({...this._def,maxSize:{value:e,message:w.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}Fe.create=(r,e)=>new Fe({valueType:r,minSize:null,maxSize:null,typeName:k.ZodSet,...P(e)});class Ye extends x{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}),E;function n(c,l){return Nt({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Ot(),ze].filter(u=>!!u),issueData:{code:m.invalid_arguments,argumentsError:l}})}function o(c,l){return Nt({data:c,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Ot(),ze].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 We){const c=this;return Y(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 Y(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 Ye({...this._def,args:le.create(e).rest(Le.create())})}returns(e){return new Ye({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,n){return new Ye({args:e||le.create([]).rest(Le.create()),returns:t||Le.create(),typeName:k.ZodFunction,...P(n)})}}class mt extends x{get schema(){return this._def.getter()}_parse(e){const{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}mt.create=(r,e)=>new mt({getter:r,typeName:k.ZodLazy,...P(e)});class yt extends x{_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}),E}return{status:"valid",value:e.data}}get value(){return this._def.value}}yt.create=(r,e)=>new yt({value:r,typeName:k.ZodLiteral,...P(e)});function Vr(r,e){return new Ie({values:r,typeName:k.ZodEnum,...P(e)})}class Ie extends x{constructor(){super(...arguments),it.set(this,void 0)}_parse(e){if(typeof e.data!="string"){const t=this._getOrReturnCtx(e),n=this._def.values;return g(t,{expected:T.joinValues(n),received:t.parsedType,code:m.invalid_type}),E}if(Mt(this,it)||Lr(this,it,new Set(this._def.values)),!Mt(this,it).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}),E}return Y(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 Ie.create(e,{...this._def,...t})}exclude(e,t=this._def){return Ie.create(this.options.filter(n=>!e.includes(n)),{...this._def,...t})}}it=new WeakMap,Ie.create=Vr;class _t extends x{constructor(){super(...arguments),ct.set(this,void 0)}_parse(e){const t=T.getValidEnumValues(this._def.values),n=this._getOrReturnCtx(e);if(n.parsedType!==v.string&&n.parsedType!==v.number){const o=T.objectValues(t);return g(n,{expected:T.joinValues(o),received:n.parsedType,code:m.invalid_type}),E}if(Mt(this,ct)||Lr(this,ct,new Set(T.getValidEnumValues(this._def.values))),!Mt(this,ct).has(e.data)){const o=T.objectValues(t);return g(n,{received:n.data,code:m.invalid_enum_value,options:o}),E}return Y(e.data)}get enum(){return this._def.values}}ct=new WeakMap,_t.create=(r,e)=>new _t({values:r,typeName:k.ZodNativeEnum,...P(e)});class We extends x{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}),E;const n=t.parsedType===v.promise?t.data:Promise.resolve(t.data);return Y(n.then(o=>this._def.type.parseAsync(o,{path:t.path,errorMap:t.common.contextualErrorMap})))}}We.create=(r,e)=>new We({type:r,typeName:k.ZodPromise,...P(e)});class re extends x{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===k.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){const{status:t,ctx:n}=this._processInputParams(e),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 E;const l=await this._def.schema._parseAsync({data:c,path:n.path,parent:n});return l.status==="aborted"?E:l.status==="dirty"||t.value==="dirty"?Ge(l.value):l});{if(t.value==="aborted")return E;const c=this._def.schema._parseSync({data:i,path:n.path,parent:n});return c.status==="aborted"?E:c.status==="dirty"||t.value==="dirty"?Ge(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"?E:(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"?E:(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(!st(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=>st(i)?Promise.resolve(o.transform(i.value,s)).then(c=>({status:t.value,value:c})):i);T.assertNever(o)}}re.create=(r,e,t)=>new re({schema:r,typeName:k.ZodEffects,effect:e,...P(t)}),re.createWithPreprocess=(r,e,t)=>new re({schema:e,effect:{type:"preprocess",transform:r},typeName:k.ZodEffects,...P(t)});class ue extends x{_parse(e){return this._getType(e)===v.undefined?Y(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}ue.create=(r,e)=>new ue({innerType:r,typeName:k.ZodOptional,...P(e)});class Te extends x{_parse(e){return this._getType(e)===v.null?Y(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}Te.create=(r,e)=>new Te({innerType:r,typeName:k.ZodNullable,...P(e)});class gt extends x{_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}}gt.create=(r,e)=>new gt({innerType:r,typeName:k.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...P(e)});class vt extends x{_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 at(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}}vt.create=(r,e)=>new vt({innerType:r,typeName:k.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...P(e)});class Ut extends x{_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}),E}return{status:"valid",value:e.data}}}Ut.create=r=>new Ut({typeName:k.ZodNaN,...P(r)});const Oo=Symbol("zod_brand");class pr extends x{_parse(e){const{ctx:t}=this._processInputParams(e),n=t.data;return this._def.type._parse({data:n,path:t.path,parent:t})}unwrap(){return this._def.type}}class wt extends x{_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"?E:s.status==="dirty"?(t.dirty(),Ge(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"?E: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 wt({in:e,out:t,typeName:k.ZodPipeline})}}class bt extends x{_parse(e){const t=this._def.innerType._parse(e),n=o=>(st(o)&&(o.value=Object.freeze(o.value)),o);return at(t)?t.then(o=>n(o)):n(t)}unwrap(){return this._def.innerType}}bt.create=(r,e)=>new bt({innerType:r,typeName:k.ZodReadonly,...P(e)});function zr(r,e={},t){return r?Be.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})}}):Be.create()}const No={object:M.lazycreate};var k;(function(r){r.ZodString="ZodString",r.ZodNumber="ZodNumber",r.ZodNaN="ZodNaN",r.ZodBigInt="ZodBigInt",r.ZodBoolean="ZodBoolean",r.ZodDate="ZodDate",r.ZodSymbol="ZodSymbol",r.ZodUndefined="ZodUndefined",r.ZodNull="ZodNull",r.ZodAny="ZodAny",r.ZodUnknown="ZodUnknown",r.ZodNever="ZodNever",r.ZodVoid="ZodVoid",r.ZodArray="ZodArray",r.ZodObject="ZodObject",r.ZodUnion="ZodUnion",r.ZodDiscriminatedUnion="ZodDiscriminatedUnion",r.ZodIntersection="ZodIntersection",r.ZodTuple="ZodTuple",r.ZodRecord="ZodRecord",r.ZodMap="ZodMap",r.ZodSet="ZodSet",r.ZodFunction="ZodFunction",r.ZodLazy="ZodLazy",r.ZodLiteral="ZodLiteral",r.ZodEnum="ZodEnum",r.ZodEffects="ZodEffects",r.ZodNativeEnum="ZodNativeEnum",r.ZodOptional="ZodOptional",r.ZodNullable="ZodNullable",r.ZodDefault="ZodDefault",r.ZodCatch="ZodCatch",r.ZodPromise="ZodPromise",r.ZodBranded="ZodBranded",r.ZodPipeline="ZodPipeline",r.ZodReadonly="ZodReadonly"})(k||(k={}));const Mo=(r,e={message:`Input not instance of ${r.name}`})=>zr(t=>t instanceof r,e),Gr=ee.create,Br=Ae.create,Do=Ut.create,jo=xe.create,qr=lt.create,Lo=je.create,Fo=Dt.create,Uo=ut.create,$o=dt.create,Zo=Be.create,Vo=Le.create,zo=ge.create,Go=jt.create,Bo=te.create,qo=M.create,Yo=M.strictCreate,Wo=pt.create,Ko=Lt.create,Ho=ft.create,Jo=le.create,Qo=ht.create,Xo=Ft.create,es=Fe.create,ts=Ye.create,rs=mt.create,ns=yt.create,os=Ie.create,ss=_t.create,as=We.create,Yr=re.create,is=ue.create,cs=Te.create,ls=re.createWithPreprocess,us=wt.create;var a=Object.freeze({__proto__:null,defaultErrorMap:ze,setErrorMap:mo,getErrorMap:Ot,makeIssue:Nt,EMPTY_PATH:yo,addIssueToContext:g,ParseStatus:z,INVALID:E,DIRTY:Ge,OK:Y,isAborted:cr,isDirty:lr,isValid:st,isAsync:at,get util(){return T},get objectUtil(){return ir},ZodParsedType:v,getParsedType:Pe,ZodType:x,datetimeRegex:Zr,ZodString:ee,ZodNumber:Ae,ZodBigInt:xe,ZodBoolean:lt,ZodDate:je,ZodSymbol:Dt,ZodUndefined:ut,ZodNull:dt,ZodAny:Be,ZodUnknown:Le,ZodNever:ge,ZodVoid:jt,ZodArray:te,ZodObject:M,ZodUnion:pt,ZodDiscriminatedUnion:Lt,ZodIntersection:ft,ZodTuple:le,ZodRecord:ht,ZodMap:Ft,ZodSet:Fe,ZodFunction:Ye,ZodLazy:mt,ZodLiteral:yt,ZodEnum:Ie,ZodNativeEnum:_t,ZodPromise:We,ZodEffects:re,ZodTransformer:re,ZodOptional:ue,ZodNullable:Te,ZodDefault:gt,ZodCatch:vt,ZodNaN:Ut,BRAND:Oo,ZodBranded:pr,ZodPipeline:wt,ZodReadonly:bt,custom:zr,Schema:x,ZodSchema:x,late:No,get ZodFirstPartyTypeKind(){return k},coerce:{string:r=>ee.create({...r,coerce:!0}),number:r=>Ae.create({...r,coerce:!0}),boolean:r=>lt.create({...r,coerce:!0}),bigint:r=>xe.create({...r,coerce:!0}),date:r=>je.create({...r,coerce:!0})},any:Zo,array:Bo,bigint:jo,boolean:qr,date:Lo,discriminatedUnion:Ko,effect:Yr,enum:os,function:ts,instanceof:Mo,intersection:Ho,lazy:rs,literal:ns,map:Xo,nan:Do,nativeEnum:ss,never:zo,null:$o,nullable:cs,number:Br,object:qo,oboolean:()=>qr().optional(),onumber:()=>Br().optional(),optional:is,ostring:()=>Gr().optional(),pipeline:us,preprocess:ls,promise:as,record:Qo,set:es,strictObject:Yo,string:Gr,symbol:Fo,transformer:Yr,tuple:Jo,undefined:Uo,union:Wo,unknown:Vo,void:Go,NEVER:E,ZodIssueCode:m,quotelessJson:ho,ZodError:Q});const ds=a.object({type:a.string(),loc:a.array(a.string()),msg:a.string(),url:a.string()}),ps=a.array(ds),fs=a.object({code:a.string(),message:a.string(),path:a.array(a.string())}),hs=a.array(fs),ms={"failed to fetch":"Connection error: please double check if you are connected to the internet, then try again"},fr=r=>{const e=r.toLowerCase().trim();return ms[e]??r},ys=r=>{try{return typeof JSON.parse(r)=="object"}catch{return!1}},_s=r=>r.length===1?fr(r[0].msg):`Please fix the following errors:
|
|
2
|
+
${r.map(t=>`• ${fr(t.msg)}`).join(`
|
|
3
|
+
`)}`,gs=r=>`Encountered the following errors:
|
|
4
4
|
${r.map(t=>`- ${t.path.join("/")}: ${t.message}`).join(`
|
|
5
|
-
`)}`,
|
|
6
|
-
${r.message}`),r.message)}else return sr(r.message);if(typeof r=="object")try{return JSON.stringify(r)}catch(e){return e+""}else return r+""},Xs=(r,e,t)=>(...n)=>{try{return e(...n)}catch(s){t(`[form] Error running callback (${r}):`,s);return}},V=i.string().trim().min(1,{message:"Cannot be blank"}),D=i.string().trim().optional(),G=r=>i.nullable(r.optional());var f=(r=>(r.FIRST_NAME="firstName",r.LAST_NAME="lastName",r.EMAIL="email",r.ZIP_CODE="zipCode",r.CITY="city",r.STATE="state",r.COUNTRY="country",r.ADDRESS="address",r.PHONE="phone",r.PROMOTION_CODE="promotionCode",r))(f||{});const Fr=i.nativeEnum(f);var Ur=(r=>(r.CARD_NUMBER="cardNumber",r.CARD_EXPIRY="cardExpiry",r.CARD_CVC="cardCvc",r))(Ur||{});const $r=i.nativeEnum(Ur),Zr=i.union([Fr,$r]);var qe=(r=>(r.CARD="card",r.CARD_NUMBER="card-number",r.CARD_EXPIRY="card-expiry",r.CARD_CVC="card-cvc",r))(qe||{});const eo=i.nativeEnum(qe),Rt=i.object({provider:i.string(),processor_name:G(i.string()),metadata:G(i.record(i.string(),i.any()))}),to=i.object({id:i.string()});i.object({cardNumber:D,expiry:D,cvc:D}),i.object({backgroundColor:D,color:D,fontFamily:D,fontSize:D,fontWeight:D,margin:D,padding:D,letterSpacing:D,lineHeight:D,hideIcon:D});const ee=i.enum(["LAYOUT","LOADED","BLUR","FOCUS","CHANGE","TOKENIZE_STARTED","CHECKOUT_STARTED","PAYMENT_FLOW_STARTED","TOKENIZE_SUCCESS","CHECKOUT_SUCCESS","LOAD_ERROR","VALIDATION_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR","SETUP_PAYMENT_METHOD_SUCCESS","TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),ro=ee.extract(["TOKENIZE_STARTED","CHECKOUT_STARTED"]),no=i.object({type:ro}),so=ee.extract(["BLUR","FOCUS","CHANGE"]),oo=i.object({type:so,elementType:$r,errors:i.array(i.string()).optional()}),io=ee.extract(["LOAD_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR"]),ao=i.object({type:io,message:V,headers:i.record(i.string(),i.string()).optional()}),co=ee.extract(["VALIDATION_ERROR"]),lo=i.object({type:co,elementType:Zr,errors:i.array(i.string())}),uo=i.object({type:i.literal(ee.enum.LAYOUT),height:V}),po=i.object({type:i.literal(ee.enum.LOADED),sessionId:V,totalAmountAtoms:i.number(),currency:D,checkoutPaymentMethods:i.array(Rt)}),fo=i.object({type:i.literal(ee.enum.PAYMENT_FLOW_STARTED),nextActionMetadata:i.record(i.string(),i.any()),paymentFlowMetadata:i.any().optional(),startPFMetadata:i.optional(i.record(i.string(),i.any()))}),ho=i.object({type:i.literal(ee.enum.SETUP_PAYMENT_METHOD_SUCCESS),paymentMethodId:i.string()}),gt=i.object({firstName:V,lastName:V,email:V,zipCode:V,country:V,promotionCode:D}),mo=i.object({firstName:D,lastName:D,email:V,zipCode:V,country:V,promotionCode:D,address:D,city:D,state:D}),yo=ee.extract(["TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),_o=i.object({type:yo,sessionId:V,checkoutPaymentMethod:Rt,paymentFlowMetadata:i.any().optional(),doNotUseLegacyCCFlow:i.boolean().optional(),existingCCPMId:D}).extend(gt.shape),go=i.object({type:i.literal(ee.enum.TOKENIZE_SUCCESS),isReadyForCheckout:i.boolean()}),vo=i.object({type:i.literal(ee.enum.CHECKOUT_SUCCESS),invoiceUrls:i.array(i.string()),subscriptionIds:i.array(i.string()),customerId:i.string()}),wo=i.discriminatedUnion("type",[no,oo,ao,lo,uo,po,_o,go,vo,fo,ho]),bo=i.object({payload:wo,nonce:V,formId:V,elementId:V});i.object({amountAtom:i.number(),currency:V}),i.enum(["apple_pay","google_pay"]),i.object({secure_token:i.string(),promotion_code:i.string().optional()}),i.object({secure_token:i.string(),existing_cc_pm_id:G(i.string()),their_pm_id:G(i.string()),checkout_attempt_id:G(i.string()),processor_specific_metadata:G(i.record(i.string(),i.any()))});const or=i.object({invoice_urls:i.array(i.string()),subscription_ids:i.array(i.string()),customer_id:i.string()}),ko=i.object({elementType:i.string(),errors:i.array(i.string())});i.object({session_id:i.string()});const Eo=i.object({success:i.literal(!1),error_type:i.literal("validation_error"),errors:i.array(ko)}),So=i.discriminatedUnion("success",[i.object({success:i.literal(!0)}),Eo]);i.object({session_id:i.string(),checkout_payment_method:Rt,non_cde_form_fields:gt,do_not_use_legacy_cc_flow:i.boolean().optional(),existing_cc_pm_id:G(i.string())}),i.object({session_id:i.string(),checkout_payment_method:Rt,non_cde_form_fields:gt,extra_metadata:i.record(i.string(),i.any()).optional()});var te=(r=>(r.SUCCESS="success",r.FAILURE="failure",r.CANCELLED="cancelled",r))(te||{});const Co=i.object({status:i.enum(["success","failure","cancelled"]),href:i.string().optional().nullable()});i.object({href:i.string().optional().nullable()});const xo=i.object({type:i.string(),redirect_url:i.string(),initial_intent_id:i.string(),consent_id:i.string(),their_pm_id:i.string().optional()}),Vr=i.object({type:i.string(),redirect_url:G(i.string()),initial_intent_id:G(i.string()),consent_id:G(i.string()),their_pm_id:G(i.string()),payment_session:G(i.record(i.string(),i.any()))}),Ao=i.discriminatedUnion("present",[i.object({present:i.literal(!0),href:i.string()}),i.object({present:i.literal(!1)})]),Po=i.object({payment_methods:i.array(to),pay_first_success_response:G(or),required_user_actions:G(i.array(Vr))}),To=r=>{const e={};return Object.entries(r).forEach(([t,n])=>{try{const s=Fr.parse(t);Array.isArray(n)?e[s]=n:Array.isArray(n._errors)&&(e[s]=n._errors)}catch{return}}),e},Io=i.object({stripe_pk:i.string(),client_secret:i.string(),stripe_pm_id:i.string()}),Oo=i.object({type:i.string(),client_secret:i.string(),stripe_pk:i.string()}),Ro={usd:"usd",brl:"brl"},Nt=async r=>{for(let t=0;t<10;t++)Br()||await zr(500);if(!Br())throw console.log("Stripe JS not found."),new Error("Stripe JS not found.");return new Stripe(r)},No=async(r,e)=>{const t=await Nt(r);return{elements:t.elements(e),stripe:t}},Mo=async(r,e,t,n,s)=>{const o=await Nt(r),a=Ro[t.toLowerCase().trim()];return o.paymentRequest({country:"US",currency:a,total:{label:"Total",amount:e,pending:n},requestPayerName:!0,requestPayerEmail:!0,disableWallets:[]})},zr=r=>new Promise(e=>{setTimeout(e,r)}),Br=()=>"Stripe"in window,jo=async r=>new Promise((e,t)=>{try{r.on("paymentmethod",async n=>{console.log("paymentmethod EVT:: ",n),e(n)}),r.on("token",async n=>{console.log("token EVT:: ",n)}),r.on("cancel",()=>{t(new Error("Payment cancelled, please click Submit again to pay"))})}catch(n){t(n)}}),Do=async(r,e)=>{if(!r.stripe_pk||!r.client_secret)throw new Error(`Invalid next action metadata format: ${JSON.stringify(r)}`);const n=await(await Nt(r.stripe_pk)).confirmCardSetup(r.client_secret,{payment_method:e.paymentMethod.id});if(n.error)throw e.complete("fail"),new Error(`Payment failed: ${n.error.message??"unknown"}`);return e.complete("success"),n},Lo=async r=>{var s,o,a,c;const t=await(await Nt(r.stripe_pk)).confirmCardSetup(r.client_secret,{payment_method:r.stripe_pm_id}),n=(s=t.setupIntent)==null?void 0:s.status;if(n==="succeeded")console.log("[3DS] CONFIRMING PM:",r.stripe_pm_id),console.log("[3DS] Setup intent created:",t.setupIntent);else throw n==="canceled"?new Error("Payment cancelled, please click Submit again to pay"):new Error(`${((o=t.error)==null?void 0:o.message)??((c=(a=t.setupIntent)==null?void 0:a.last_setup_error)==null?void 0:c.message)??"Payment failed, please click submit again to pay."}`)},Fo=r=>JSON.stringify(r);for(var L=[],ir=0;ir<256;++ir)L.push((ir+256).toString(16).slice(1));function Uo(r,e=0){return(L[r[e+0]]+L[r[e+1]]+L[r[e+2]]+L[r[e+3]]+"-"+L[r[e+4]]+L[r[e+5]]+"-"+L[r[e+6]]+L[r[e+7]]+"-"+L[r[e+8]]+L[r[e+9]]+"-"+L[r[e+10]]+L[r[e+11]]+L[r[e+12]]+L[r[e+13]]+L[r[e+14]]+L[r[e+15]]).toLowerCase()}var Mt,$o=new Uint8Array(16);function Zo(){if(!Mt&&(Mt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Mt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Mt($o)}var Vo=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const qr={randomUUID:Vo};function zo(r,e,t){if(qr.randomUUID&&!e&&!r)return qr.randomUUID();r=r||{};var n=r.random||(r.rng||Zo)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,Uo(n)}const Ge=(r,e)=>Array.from(r.querySelectorAll("[data-opid]")??[]).reduce((s,o)=>{const a=o.getAttribute("data-opid");return a?{...s,[a]:o.value}:s},{}),Bo=r=>{try{return bo.parse(r)}catch(e){throw console.error("Error parsing event payload:",r,e),e}};var le;(function(r){r.Call="call",r.Reply="reply",r.Syn="syn",r.SynAck="synAck",r.Ack="ack"})(le||(le={}));var je;(function(r){r.Fulfilled="fulfilled",r.Rejected="rejected"})(je||(je={}));var vt;(function(r){r.ConnectionDestroyed="ConnectionDestroyed",r.ConnectionTimeout="ConnectionTimeout",r.NoIframeSrc="NoIframeSrc"})(vt||(vt={}));var ar;(function(r){r.DataCloneError="DataCloneError"})(ar||(ar={}));var Ae;(function(r){r.Message="message"})(Ae||(Ae={}));const qo=(r,e)=>{const t=[];let n=!1;return{destroy(s){n||(n=!0,e(`${r}: Destroying connection`),t.forEach(o=>{o(s)}))},onDestroy(s){n?s():t.push(s)}}},Go=r=>(...e)=>{r&&console.log("[Penpal]",...e)},Yo={"http:":"80","https:":"443"},Wo=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,Ho=["file:","data:"],Ko=r=>{if(r&&Ho.find(c=>r.startsWith(c)))return"null";const e=document.location,t=Wo.exec(r);let n,s,o;t?(n=t[1]?t[1]:e.protocol,s=t[2],o=t[4]):(n=e.protocol,s=e.hostname,o=e.port);const a=o&&o!==Yo[n]?`:${o}`:"";return`${n}//${s}${a}`},Gr=({name:r,message:e,stack:t})=>({name:r,message:e,stack:t}),Jo=r=>{const e=new Error;return Object.keys(r).forEach(t=>e[t]=r[t]),e},Qo=(r,e,t)=>{const{localName:n,local:s,remote:o,originForSending:a,originForReceiving:c}=r;let u=!1;const l=d=>{if(d.source!==o||d.data.penpal!==le.Call)return;if(c!=="*"&&d.origin!==c){t(`${n} received message from origin ${d.origin} which did not match expected origin ${c}`);return}const h=d.data,{methodName:w,args:m,id:g}=h;t(`${n}: Received ${w}() call`);const b=A=>I=>{if(t(`${n}: Sending ${w}() reply`),u){t(`${n}: Unable to send ${w}() reply due to destroyed connection`);return}const T={penpal:le.Reply,id:g,resolution:A,returnValue:I};A===je.Rejected&&I instanceof Error&&(T.returnValue=Gr(I),T.returnValueIsError=!0);try{o.postMessage(T,a)}catch(O){if(O.name===ar.DataCloneError){const R={penpal:le.Reply,id:g,resolution:je.Rejected,returnValue:Gr(O),returnValueIsError:!0};o.postMessage(R,a)}throw O}};new Promise(A=>A(e[w].apply(e,m))).then(b(je.Fulfilled),b(je.Rejected))};return s.addEventListener(Ae.Message,l),()=>{u=!0,s.removeEventListener(Ae.Message,l)}};let Xo=0;const ei=()=>++Xo,Yr=".",Wr=r=>r?r.split(Yr):[],ti=r=>r.join(Yr),ri=(r,e)=>{const t=Wr(e||"");return t.push(r),ti(t)},ni=(r,e,t)=>{const n=Wr(e);return n.reduce((s,o,a)=>(typeof s[o]>"u"&&(s[o]={}),a===n.length-1&&(s[o]=t),s[o]),r),r},Hr=(r,e)=>{const t={};return Object.keys(r).forEach(n=>{const s=r[n],o=ri(n,e);typeof s=="object"&&Object.assign(t,Hr(s,o)),typeof s=="function"&&(t[o]=s)}),t},si=r=>{const e={};for(const t in r)ni(e,t,r[t]);return e},oi=(r,e,t,n,s)=>{const{localName:o,local:a,remote:c,originForSending:u,originForReceiving:l}=e;let d=!1;s(`${o}: Connecting call sender`);const h=m=>(...g)=>{s(`${o}: Sending ${m}() call`);let b;try{c.closed&&(b=!0)}catch{b=!0}if(b&&n(),d){const A=new Error(`Unable to send ${m}() call due to destroyed connection`);throw A.code=vt.ConnectionDestroyed,A}return new Promise((A,I)=>{const T=ei(),O=q=>{if(q.source!==c||q.data.penpal!==le.Reply||q.data.id!==T)return;if(l!=="*"&&q.origin!==l){s(`${o} received message from origin ${q.origin} which did not match expected origin ${l}`);return}const pe=q.data;s(`${o}: Received ${m}() reply`),a.removeEventListener(Ae.Message,O);let K=pe.returnValue;pe.returnValueIsError&&(K=Jo(K)),(pe.resolution===je.Fulfilled?A:I)(K)};a.addEventListener(Ae.Message,O);const R={penpal:le.Call,id:T,methodName:m,args:g};c.postMessage(R,u)})},w=t.reduce((m,g)=>(m[g]=h(g),m),{});return Object.assign(r,si(w)),()=>{d=!0}},ii=(r,e,t,n,s)=>{const{destroy:o,onDestroy:a}=n;let c,u;const l={};return d=>{if(e!=="*"&&d.origin!==e){s(`Parent: Handshake - Received ACK message from origin ${d.origin} which did not match expected origin ${e}`);return}s("Parent: Handshake - Received ACK");const h={localName:"Parent",local:window,remote:d.source,originForSending:t,originForReceiving:e};c&&c(),c=Qo(h,r,s),a(c),u&&u.forEach(m=>{delete l[m]}),u=d.data.methodNames;const w=oi(l,h,u,o,s);return a(w),l}},ai=(r,e,t,n)=>s=>{if(!s.source)return;if(t!=="*"&&s.origin!==t){r(`Parent: Handshake - Received SYN message from origin ${s.origin} which did not match expected origin ${t}`);return}r("Parent: Handshake - Received SYN, responding with SYN-ACK");const o={penpal:le.SynAck,methodNames:Object.keys(e)};s.source.postMessage(o,n)},ci=6e4,li=(r,e)=>{const{destroy:t,onDestroy:n}=e,s=setInterval(()=>{r.isConnected||(clearInterval(s),t())},ci);n(()=>{clearInterval(s)})},ui=(r,e)=>{let t;return r!==void 0&&(t=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${r}ms`);n.code=vt.ConnectionTimeout,e(n)},r)),()=>{clearTimeout(t)}},di=r=>{if(!r.src&&!r.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=vt.NoIframeSrc,e}},Kr=r=>{let{iframe:e,methods:t={},childOrigin:n,timeout:s,debug:o=!1}=r;const a=Go(o),c=qo("Parent",a),{onDestroy:u,destroy:l}=c;n||(di(e),n=Ko(e.src));const d=n==="null"?"*":n,h=Hr(t),w=ai(a,h,n,d),m=ii(h,n,d,c,a);return{promise:new Promise((b,A)=>{const I=ui(s,l),T=O=>{if(!(O.source!==e.contentWindow||!O.data)){if(O.data.penpal===le.Syn){w(O);return}if(O.data.penpal===le.Ack){const R=m(O);R&&(I(),b(R));return}}};window.addEventListener(Ae.Message,T),a("Parent: Awaiting handshake"),li(e,c),u(O=>{window.removeEventListener(Ae.Message,T),O&&A(O)})}),destroy(){l()}}},pi=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}},fi=(r,e)=>!!r&&e,C=r=>i.nullable(r.optional());i.string().trim().min(1,{message:"Cannot be blank"});const hi=i.object({cde_response_type:i.literal("error"),message:i.string(),headers:i.record(i.string(),i.string()).optional()});i.enum(["usd","brl"]);const Jr=i.object({name:i.string(),amount_atom_off:C(i.number()),percent_off:C(i.number()),currency:C(i.string()),duration:i.string(),duration_in_months:C(i.number())}),Qr=i.object({amount_subtotal_atom:i.number().int(),amount_total_atom:i.number().int(),currency:i.string(),description:C(i.string()),price_id:i.string(),billing_interval:C(i.string()),billing_interval_count:C(i.number().int()),quantity:i.number().int()}),mi=i.record(i.string(),i.any()),yi=i.object({name:i.string(),settings:C(mi)}),wt=i.object({provider:i.string(),processor_name:C(i.string()),metadata:C(i.record(i.string(),i.any()))}),_i=i.object({quantity:i.number()}),gi=i.object({id:C(i.string()),billing_interval:C(i.string()),billing_interval_count:C(i.number().int()),subscription_items:i.array(_i),trial_start:C(i.string()),trial_end:C(i.string())}),Xr=i.object({amount_atom:i.number()}),vi=i.object({amount_atom:i.number(),amount_atom_considering_discount_applied:i.number(),currency:i.string(),discount_amount_atoms:i.array(Xr),subscription_item_id:i.string()}),wi=i.object({coupon:Jr}),bi=i.object({currency:i.string(),discounts:i.array(wi),hosted_invoice_url:C(i.string()),lines:i.array(vi),remaining_amount_atom:i.number(),tax_amount_atom:i.number(),total_amount_atom:i.number(),total_discount_amount_atoms:i.array(Xr)}),en=i.object({created:i.array(gi),invoices:i.array(bi)}),tn=i.object({preview:en,preview_post_trial:C(en),coupons:i.array(Jr)}),rn=i.object({status:i.literal("open"),token:i.string(),email:C(i.string()),line_items:i.array(Qr),amount_subtotal_atom:i.number().int(),amount_total_atom:i.number().int(),brand:yi,subs_preview:C(tn),methods_available:i.array(wt)}),nn=i.discriminatedUnion("mode",[i.object({mode:i.literal("setup"),currency:i.nullable(i.undefined())}).extend(rn.shape),i.object({mode:i.enum(["payment","subscription"]),currency:i.string()}).extend(rn.shape)]),ki=i.object({status:i.literal("complete")}),Ei=i.object({status:i.literal("expired")});i.union([nn,ki,Ei]),i.object({logo:i.string(),icon:i.string(),primary_color:i.string(),secondary_color:i.string()}),i.object({secure_token:i.string(),pm_id:i.string()}),i.object({secure_token:i.string(),payment_input:i.any(),customer_first_name:i.string().optional(),customer_last_name:i.string().optional(),customer_email:i.string(),customer_zip_code:i.string(),customer_country:i.string(),line_items:i.array(Qr),total_amount_atom:i.number().int(),cancel_at_end:i.boolean(),checkout_payment_method:wt,promotion_code:i.string().optional(),do_not_use_legacy_cc_flow:i.boolean().optional(),use_confirmed_pm_id:C(i.string())});const Si=i.object({payment_method_id:i.string()});i.object({id:i.string(),return_url:i.string()});const Ci=i.object({type:i.string(),loc:i.array(i.string()),msg:i.string(),url:i.string()});i.array(Ci);const xi=i.object({new_customer_email:i.string().optional(),new_customer_address:i.record(i.string(),i.any()).optional(),new_customer_first_name:i.string().optional(),new_customer_last_name:i.string().optional()}),Ai=i.object({price_id:i.string(),quantity:i.number().int()}),Pi=i.object({line_items:i.array(Ai),promotion_code:i.string().optional(),displayed_total_amount_atom:i.number().int()}),Ti=i.object({processor_specific_metadata:C(i.record(i.string(),i.any()))});i.object({payment_provider:i.string(),checkout_payment_method:wt,existing_cc_pm_id:i.string().optional(),their_existing_pm_id:i.string().optional(),use_pay_first_flow:i.boolean().optional(),pay_first_flow_cart_info:Pi.optional()}).extend(xi.shape).extend(Ti.shape);const sn=i.object({required_user_actions:i.array(i.record(i.string(),i.any())),checkout_attempt_id:C(i.string())});i.object({fields:mo,checkoutPaymentMethod:wt}),i.object({session_id:i.string(),non_cde_form_fields:gt,checkout_payment_method:wt,extra_metadata:i.record(i.string(),i.any())});const Ii=i.object({required_user_actions:i.array(i.record(i.string(),i.any())),cc_pm_id:i.string()});i.record(i.any()),i.object({first_name:C(i.string()),last_name:C(i.string()),line1:C(i.string()),line2:C(i.string()),line3:C(i.string()),city:C(i.string()),state:C(i.string()),country:C(i.string()),zip_code:C(i.string()),email:C(i.string()),billing_email:C(i.string()),phone_number:C(i.string()),update_processor_customer:C(i.boolean())});const Oi=i.object({id:i.string(),email:C(i.string()),first_name:C(i.string()),last_name:C(i.string()),phone_number:C(i.string()),billing_email:C(i.string()),address:C(i.record(i.string(),i.any()))}),Ri=r=>r.reduce((e,t)=>e+t,0);function Ni(r,e){var t=Object.setPrototypeOf;t?t(r,e):r.__proto__=e}function Mi(r,e){e===void 0&&(e=r.constructor);var t=Error.captureStackTrace;t&&t(r,e)}var ji=function(){var r=function(t,n){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,o){s.__proto__=o}||function(s,o){for(var a in o)Object.prototype.hasOwnProperty.call(o,a)&&(s[a]=o[a])},r(t,n)};return function(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");r(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}}(),Di=function(r){ji(e,r);function e(t,n){var s=this.constructor,o=r.call(this,t,n)||this;return Object.defineProperty(o,"name",{value:s.name,enumerable:!1,configurable:!0}),Ni(o,s.prototype),Mi(o),o}return e}(Error);class on extends Di{constructor(e){const t=`${e.message}`;super(t),this.response=e}get originalErrorMessage(){return this.response.message}}const W=async(r,e,t)=>{const n=await r.send(e);if(Fi(n))throw new on(n);if(!Li(n,t)){const s=t.safeParse(n);throw s.success?new Error("Invalid state"):(console.error("OJS queryApi got a schema error. Expected schema:",t,"Actual:",n),s.error)}return n},Li=(r,e)=>e.safeParse(r).success,Fi=r=>hi.safeParse(r).success,Ui=async(r,e)=>await W(r,{type:"get_checkout_preview",payload:e},tn),Pe=async r=>await W(r,{type:"get_prefill",payload:{}},nn),jt=async(r,e)=>await W(r,{type:"v2_start_payment_flow",payload:e},sn),$i=async(r,e)=>await W(r,{type:"start_payment_flow_for_cc",payload:e},Ii),Zi=async(r,e)=>await W(r,{type:"start_payment_flow_for_pr",payload:e},sn),Te=async(r,e)=>await W(r,{type:"confirm_payment_flow",payload:e},Po),Vi=async(r,e)=>await W(r,{type:"check_if_popup_window_verified",payload:e},Ao),zi=async(r,e,t)=>{const n=await Ui(r,{secure_token:e,promotion_code:t}),s=new Set(n.preview.invoices.map(c=>c.currency));if(s.size!==1)throw new Error(`Expected exactly one currency, got ${s.size}`);const o=s.values().next().value??"usd",a=Ri(n.preview.invoices.map(c=>c.remaining_amount_atom));return{currency:o,amountAtom:a}},Dt=async(r,e,t,n)=>{if(t)return{amountAtom:0,currency:"usd"};{n=n||void 0;const s=await zi(r,e,n);return{amountAtom:s.amountAtom,currency:s.currency}}},Bi=async(r,e)=>{if(r.size===0)throw new Error("No CDE connections found");return await Promise.all(Array.from(r.values()).map(n=>W(n,{type:"tokenize_card",payload:e},So)))},an=async(r,e)=>{try{return await W(r,{type:"checkout_card_elements",payload:e},or)}catch(t){throw console.error("[cde-client] Error during checkoutCardElements:",t,JSON.stringify(t)),t}},qi=async(r,e)=>await W(r,{type:"setup_payment_method",payload:e},Si),Lt=async(r,e)=>await W(r,{type:"checkout",payload:e},or),cn=1e3,Gi=async(r,e)=>{console.log(e);const n=await Kr({iframe:r,debug:!0,timeout:cn,childOrigin:"*"}).promise,s=await W(n,{type:"ping-3ds-status"},Co);return console.log("🟢 CDE connection successful! Stopping polling... Result:",s),s},Yi=async(r,e)=>await W(r,{type:"update_checkout_customer",payload:e},Oi);function cr(r){throw new Error(`Unhandled case: ${r}`)}const lr=10,ln=(r=0)=>e=>`\x1B[${e+r}m`,un=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,dn=(r=0)=>(e,t,n)=>`\x1B[${38+r};2;${e};${t};${n}m`,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 Wi=Object.keys(N.color),Hi=Object.keys(N.bgColor);[...Wi,...Hi];function Ki(){const r=new Map;for(const[e,t]of Object.entries(N)){for(const[n,s]of Object.entries(t))N[n]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},t[n]=N[n],r.set(s[0],s[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=ln(),N.color.ansi256=un(),N.color.ansi16m=dn(),N.bgColor.ansi=ln(lr),N.bgColor.ansi256=un(lr),N.bgColor.ansi16m=dn(lr),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(o=>o+o).join(""));const s=Number.parseInt(n,16);return[s>>16&255,s>>8&255,s&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,s;if(e>=232)t=((e-232)*10+8)/255,n=t,s=t;else{e-=16;const c=e%36;t=Math.floor(e/36)/5,n=Math.floor(c/6)/5,s=c%6/5}const o=Math.max(t,n,s)*2;if(o===0)return 30;let a=30+(Math.round(s)<<2|Math.round(n)<<1|Math.round(t));return o===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(e,t,n)=>N.ansi256ToAnsi(N.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>N.ansi256ToAnsi(N.hexToAnsi256(e)),enumerable:!1}}),N}const ue=Ki(),Ft=(()=>{if(navigator.userAgentData){const r=navigator.userAgentData.brands.find(({brand:e})=>e==="Chromium");if(r&&r.version>93)return 3}return/\b(Chrome|Chromium)\//.test(navigator.userAgent)?1:0})(),pn=Ft!==0&&{level:Ft,hasBasic:!0,has256:Ft>=2,has16m:Ft>=3},Ji={stdout:pn,stderr:pn};function Qi(r,e,t){let n=r.indexOf(e);if(n===-1)return r;const s=e.length;let o=0,a="";do a+=r.slice(o,n)+e+t,o=n+s,n=r.indexOf(e,o);while(n!==-1);return a+=r.slice(o),a}function Xi(r,e,t,n){let s=0,o="";do{const a=r[n-1]==="\r";o+=r.slice(s,a?n-1:n)+e+(a?`\r
|
|
5
|
+
`)}`,we=r=>{if(r instanceof Error)if(ys(r.message)){const e=JSON.parse(r.message);return ps.safeParse(e).success?_s(e):hs.safeParse(e).success?gs(e):(console.warn(`Encountered unknown stringified JSON object:
|
|
6
|
+
${r.message}`),r.message)}else return fr(r.message);if(typeof r=="object")try{return JSON.stringify(r)}catch(e){return e+""}else return r+""},vs=(r,e,t)=>(...n)=>{try{return e(...n)}catch(o){t(`[form] Error running callback (${r}):`,o);return}};var X=(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))(X||{});const ws=a.nativeEnum(X),G=a.string().trim().min(1,{message:"Cannot be blank"}),j=a.string().trim().optional(),H=r=>a.nullable(r.optional());var h=(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))(h||{});const Wr=a.nativeEnum(h);var Kr=(r=>(r.CARD_NUMBER="cardNumber",r.CARD_EXPIRY="cardExpiry",r.CARD_CVC="cardCvc",r))(Kr||{});const Hr=a.nativeEnum(Kr),Jr=a.union([Wr,Hr]);var Ke=(r=>(r.CARD="card",r.CARD_NUMBER="card-number",r.CARD_EXPIRY="card-expiry",r.CARD_CVC="card-cvc",r))(Ke||{});const bs=a.nativeEnum(Ke),$t=a.object({provider:a.string(),processor_name:H(a.string()),metadata:H(a.record(a.string(),a.any()))}),ks=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 ne=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"]),Es=ne.extract(["TOKENIZE_STARTED","CHECKOUT_STARTED"]),Cs=a.object({type:Es}),Ss=ne.extract(["BLUR","FOCUS","CHANGE"]),Ps=a.object({type:Ss,elementType:Hr,errors:a.array(a.string()).optional()}),As=ne.extract(["LOAD_ERROR","TOKENIZE_ERROR","CHECKOUT_ERROR"]),xs=a.object({type:As,message:G,headers:a.record(a.string(),a.string()).optional()}),Is=ne.extract(["VALIDATION_ERROR"]),Ts=a.object({type:Is,elementType:Jr,errors:a.array(a.string())}),Rs=a.object({type:a.literal(ne.enum.LAYOUT),height:G}),Os=a.object({type:a.literal(ne.enum.LOADED),sessionId:G,totalAmountAtoms:a.number(),currency:j,checkoutPaymentMethods:a.array($t)}),Ns=a.object({type:a.literal(ne.enum.PAYMENT_FLOW_STARTED),nextActionMetadata:a.record(a.string(),a.any()),paymentFlowMetadata:a.any().optional(),startPFMetadata:a.optional(a.record(a.string(),a.any()))}),Ms=a.object({type:a.literal(ne.enum.SETUP_PAYMENT_METHOD_SUCCESS),paymentMethodId:a.string()}),kt=a.object({firstName:G,lastName:G,email:G,zipCode:G,country:G,promotionCode:j}),Ds=a.object({firstName:j,lastName:j,email:G,zipCode:G,country:G,promotionCode:j,address:j,city:j,state:j}),js=ne.extract(["TOKENIZE","CHECKOUT","START_PAYMENT_FLOW"]),Ls=a.object({type:js,sessionId:G,checkoutPaymentMethod:$t,paymentFlowMetadata:a.any().optional(),doNotUseLegacyCCFlow:a.boolean().optional(),existingCCPMId:j}).extend(kt.shape),Fs=a.object({type:a.literal(ne.enum.TOKENIZE_SUCCESS),isReadyForCheckout:a.boolean()}),Us=a.object({type:a.literal(ne.enum.CHECKOUT_SUCCESS),invoiceUrls:a.array(a.string()),subscriptionIds:a.array(a.string()),customerId:a.string()}),$s=a.discriminatedUnion("type",[Cs,Ps,xs,Ts,Rs,Os,Ls,Fs,Us,Ns,Ms]),Zs=a.object({payload:$s,nonce:G,formId:G,elementId:G});a.object({amountAtom:a.number(),currency:G}),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:H(a.string()),their_pm_id:H(a.string()),checkout_attempt_id:H(a.string()),processor_specific_metadata:H(a.record(a.string(),a.any()))});const hr=a.object({invoice_urls:a.array(a.string()),subscription_ids:a.array(a.string()),customer_id:a.string()}),Vs=a.object({elementType:a.string(),errors:a.array(a.string())});a.object({session_id:a.string()});const zs=a.object({success:a.literal(!1),error_type:a.literal("validation_error"),errors:a.array(Vs)}),Gs=a.discriminatedUnion("success",[a.object({success:a.literal(!0)}),zs]);a.object({session_id:a.string(),checkout_payment_method:$t,non_cde_form_fields:kt,do_not_use_legacy_cc_flow:a.boolean().optional(),existing_cc_pm_id:H(a.string())}),a.object({session_id:a.string(),checkout_payment_method:$t,non_cde_form_fields:kt,extra_metadata:a.record(a.string(),a.any()).optional()});var oe=(r=>(r.SUCCESS="success",r.FAILURE="failure",r.CANCELLED="cancelled",r))(oe||{});const Bs=a.object({status:a.enum(["success","failure","cancelled"]),href:a.string().optional().nullable()});a.object({href:a.string().optional().nullable()});const qs=a.object({type:a.string(),redirect_url:a.string(),initial_intent_id:a.string(),consent_id:a.string(),their_pm_id:a.string().optional()}),Qr=a.object({type:a.string(),redirect_url:H(a.string()),initial_intent_id:H(a.string()),consent_id:H(a.string()),their_pm_id:H(a.string()),payment_session:H(a.record(a.string(),a.any()))}),Ys=a.discriminatedUnion("present",[a.object({present:a.literal(!0),href:a.string()}),a.object({present:a.literal(!1)})]),Ws=a.object({payment_methods:a.array(ks),pay_first_success_response:H(hr),required_user_actions:H(a.array(Qr))}),Ks=r=>{const e={};return Object.entries(r).forEach(([t,n])=>{try{const o=Wr.parse(t);Array.isArray(n)?e[o]=n:Array.isArray(n._errors)&&(e[o]=n._errors)}catch{return}}),e},Hs=a.object({stripe_pk:a.string(),client_secret:a.string(),stripe_pm_id:a.string()}),Js=a.object({type:a.string(),client_secret:a.string(),stripe_pk:a.string()}),Qs={usd:"usd",brl:"brl"},Zt=async r=>{for(let t=0;t<10;t++)en()||await Xr(500);if(!en())throw console.log("Stripe JS not found."),new Error("Stripe JS not found.");return new Stripe(r)},Xs=async(r,e)=>{const t=await Zt(r);return{elements:t.elements(e),stripe:t}},ea=async(r,e,t,n,o)=>{const s=await Zt(r),i=Qs[t.toLowerCase().trim()];return s.paymentRequest({country:"US",currency:i,total:{label:"Total",amount:e,pending:n},requestPayerName:!0,requestPayerEmail:!0,disableWallets:[]})},Xr=r=>new Promise(e=>{setTimeout(e,r)}),en=()=>"Stripe"in window,ta=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)}}),ra=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 Zt(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},na=async r=>{var o,s,i,c;const t=await(await Zt(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."}`)},oa=r=>JSON.stringify(r);for(var $=[],mr=0;mr<256;++mr)$.push((mr+256).toString(16).slice(1));function sa(r,e=0){return($[r[e+0]]+$[r[e+1]]+$[r[e+2]]+$[r[e+3]]+"-"+$[r[e+4]]+$[r[e+5]]+"-"+$[r[e+6]]+$[r[e+7]]+"-"+$[r[e+8]]+$[r[e+9]]+"-"+$[r[e+10]]+$[r[e+11]]+$[r[e+12]]+$[r[e+13]]+$[r[e+14]]+$[r[e+15]]).toLowerCase()}var Vt,aa=new Uint8Array(16);function ia(){if(!Vt&&(Vt=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!Vt))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return Vt(aa)}var ca=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const tn={randomUUID:ca};function rn(r,e,t){if(tn.randomUUID&&!e&&!r)return tn.randomUUID();r=r||{};var n=r.random||(r.rng||ia)();return n[6]=n[6]&15|64,n[8]=n[8]&63|128,sa(n)}const be=(r,e)=>Array.from(r.querySelectorAll("[data-opid]")??[]).reduce((o,s)=>{const i=s.getAttribute("data-opid");return i?{...o,[i]:s.value}:o},{}),la=r=>{try{return Zs.parse(r)}catch(e){throw console.error("Error parsing event payload:",r,e),e}};var de;(function(r){r.Call="call",r.Reply="reply",r.Syn="syn",r.SynAck="synAck",r.Ack="ack"})(de||(de={}));var Ue;(function(r){r.Fulfilled="fulfilled",r.Rejected="rejected"})(Ue||(Ue={}));var Et;(function(r){r.ConnectionDestroyed="ConnectionDestroyed",r.ConnectionTimeout="ConnectionTimeout",r.NoIframeSrc="NoIframeSrc"})(Et||(Et={}));var yr;(function(r){r.DataCloneError="DataCloneError"})(yr||(yr={}));var Re;(function(r){r.Message="message"})(Re||(Re={}));const ua=(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)}}},da=r=>(...e)=>{r&&console.log("[Penpal]",...e)},pa={"http:":"80","https:":"443"},fa=/^(https?:)?\/\/([^/:]+)?(:(\d+))?/,ha=["file:","data:"],ma=r=>{if(r&&ha.find(c=>r.startsWith(c)))return"null";const e=document.location,t=fa.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!==pa[n]?`:${s}`:"";return`${n}//${o}${i}`},nn=({name:r,message:e,stack:t})=>({name:r,message:e,stack:t}),ya=r=>{const e=new Error;return Object.keys(r).forEach(t=>e[t]=r[t]),e},_a=(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!==de.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:y}=p;t(`${n}: Received ${_}() call`);const b=S=>R=>{if(t(`${n}: Sending ${_}() reply`),l){t(`${n}: Unable to send ${_}() reply due to destroyed connection`);return}const I={penpal:de.Reply,id:y,resolution:S,returnValue:R};S===Ue.Rejected&&R instanceof Error&&(I.returnValue=nn(R),I.returnValueIsError=!0);try{s.postMessage(I,i)}catch(C){if(C.name===yr.DataCloneError){const N={penpal:de.Reply,id:y,resolution:Ue.Rejected,returnValue:nn(C),returnValueIsError:!0};s.postMessage(N,i)}throw C}};new Promise(S=>S(e[_].apply(e,f))).then(b(Ue.Fulfilled),b(Ue.Rejected))};return o.addEventListener(Re.Message,u),()=>{l=!0,o.removeEventListener(Re.Message,u)}};let ga=0;const va=()=>++ga,on=".",sn=r=>r?r.split(on):[],wa=r=>r.join(on),ba=(r,e)=>{const t=sn(e||"");return t.push(r),wa(t)},ka=(r,e,t)=>{const n=sn(e);return n.reduce((o,s,i)=>(typeof o[s]>"u"&&(o[s]={}),i===n.length-1&&(o[s]=t),o[s]),r),r},an=(r,e)=>{const t={};return Object.keys(r).forEach(n=>{const o=r[n],s=ba(n,e);typeof o=="object"&&Object.assign(t,an(o,s)),typeof o=="function"&&(t[s]=o)}),t},Ea=r=>{const e={};for(const t in r)ka(e,t,r[t]);return e},Ca=(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=>(...y)=>{o(`${s}: Sending ${f}() call`);let b;try{c.closed&&(b=!0)}catch{b=!0}if(b&&n(),d){const S=new Error(`Unable to send ${f}() call due to destroyed connection`);throw S.code=Et.ConnectionDestroyed,S}return new Promise((S,R)=>{const I=va(),C=U=>{if(U.source!==c||U.data.penpal!==de.Reply||U.data.id!==I)return;if(u!=="*"&&U.origin!==u){o(`${s} received message from origin ${U.origin} which did not match expected origin ${u}`);return}const L=U.data;o(`${s}: Received ${f}() reply`),i.removeEventListener(Re.Message,C);let q=L.returnValue;L.returnValueIsError&&(q=ya(q)),(L.resolution===Ue.Fulfilled?S:R)(q)};i.addEventListener(Re.Message,C);const N={penpal:de.Call,id:I,methodName:f,args:y};c.postMessage(N,l)})},_=t.reduce((f,y)=>(f[y]=p(y),f),{});return Object.assign(r,Ea(_)),()=>{d=!0}},Sa=(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=_a(p,r,o),i(c),l&&l.forEach(f=>{delete u[f]}),l=d.data.methodNames;const _=Ca(u,p,l,s,o);return i(_),u}},Pa=(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:de.SynAck,methodNames:Object.keys(e)};o.source.postMessage(s,n)},Aa=6e4,xa=(r,e)=>{const{destroy:t,onDestroy:n}=e,o=setInterval(()=>{r.isConnected||(clearInterval(o),t())},Aa);n(()=>{clearInterval(o)})},Ia=(r,e)=>{let t;return r!==void 0&&(t=window.setTimeout(()=>{const n=new Error(`Connection timed out after ${r}ms`);n.code=Et.ConnectionTimeout,e(n)},r)),()=>{clearTimeout(t)}},Ta=r=>{if(!r.src&&!r.srcdoc){const e=new Error("Iframe must have src or srcdoc property defined.");throw e.code=Et.NoIframeSrc,e}},cn=r=>{let{iframe:e,methods:t={},childOrigin:n,timeout:o,debug:s=!1}=r;const i=da(s),c=ua("Parent",i),{onDestroy:l,destroy:u}=c;n||(Ta(e),n=ma(e.src));const d=n==="null"?"*":n,p=an(t),_=Pa(i,p,n,d),f=Sa(p,n,d,c,i);return{promise:new Promise((b,S)=>{const R=Ia(o,u),I=C=>{if(!(C.source!==e.contentWindow||!C.data)){if(C.data.penpal===de.Syn){_(C);return}if(C.data.penpal===de.Ack){const N=f(C);N&&(R(),b(N));return}}};window.addEventListener(Re.Message,I),i("Parent: Awaiting handshake"),xa(e,c),l(C=>{window.removeEventListener(Re.Message,I),C&&S(C)})}),destroy(){u()}}},Ra=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}},Oa=(r,e)=>!!r&&e,A=r=>a.nullable(r.optional());a.string().trim().min(1,{message:"Cannot be blank"});const Na=a.object({cde_response_type:a.literal("error"),message:a.string(),headers:a.record(a.string(),a.string()).optional()});a.enum(["usd","brl"]);const ln=a.object({name:a.string(),amount_atom_off:A(a.number()),percent_off:A(a.number()),currency:A(a.string()),duration:a.string(),duration_in_months:A(a.number())}),un=a.object({amount_subtotal_atom:a.number().int(),amount_total_atom:a.number().int(),currency:a.string(),description:A(a.string()),price_id:a.string(),billing_interval:A(a.string()),billing_interval_count:A(a.number().int()),quantity:a.number().int()}),Ma=a.record(a.string(),a.any()),Da=a.object({name:a.string(),settings:A(Ma)}),Ct=a.object({provider:a.string(),processor_name:A(a.string()),metadata:A(a.record(a.string(),a.any()))}),ja=a.object({quantity:a.number()}),La=a.object({id:A(a.string()),billing_interval:A(a.string()),billing_interval_count:A(a.number().int()),subscription_items:a.array(ja),trial_start:A(a.string()),trial_end:A(a.string())}),dn=a.object({amount_atom:a.number()}),Fa=a.object({amount_atom:a.number(),amount_atom_considering_discount_applied:a.number(),currency:a.string(),discount_amount_atoms:a.array(dn),subscription_item_id:a.string()}),Ua=a.object({coupon:ln}),$a=a.object({currency:a.string(),discounts:a.array(Ua),hosted_invoice_url:A(a.string()),lines:a.array(Fa),remaining_amount_atom:a.number(),tax_amount_atom:a.number(),total_amount_atom:a.number(),total_discount_amount_atoms:a.array(dn)}),pn=a.object({created:a.array(La),invoices:a.array($a)}),fn=a.object({preview:pn,preview_post_trial:A(pn),coupons:a.array(ln)}),hn=a.object({status:a.literal("open"),token:a.string(),email:A(a.string()),line_items:a.array(un),amount_subtotal_atom:a.number().int(),amount_total_atom:a.number().int(),brand:Da,subs_preview:A(fn),methods_available:a.array(Ct)}),mn=a.discriminatedUnion("mode",[a.object({mode:a.literal("setup"),currency:a.nullable(a.undefined())}).extend(hn.shape),a.object({mode:a.enum(["payment","subscription"]),currency:a.string()}).extend(hn.shape)]),Za=a.object({status:a.literal("complete")}),Va=a.object({status:a.literal("expired")});a.union([mn,Za,Va]),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(un),total_amount_atom:a.number().int(),cancel_at_end:a.boolean(),checkout_payment_method:Ct,promotion_code:a.string().optional(),do_not_use_legacy_cc_flow:a.boolean().optional(),use_confirmed_pm_id:A(a.string())});const yn=a.object({payment_method_id:a.string()});a.object({id:a.string(),return_url:a.string()});const za=a.object({type:a.string(),loc:a.array(a.string()),msg:a.string(),url:a.string()});a.array(za);const Ga=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()}),Ba=a.object({price_id:a.string(),quantity:a.number().int()}),qa=a.object({line_items:a.array(Ba),promotion_code:a.string().optional(),displayed_total_amount_atom:a.number().int()}),Ya=a.object({processor_specific_metadata:A(a.record(a.string(),a.any()))});a.object({payment_provider:a.string(),checkout_payment_method:Ct,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:qa.optional()}).extend(Ga.shape).extend(Ya.shape);const _n=a.object({required_user_actions:a.array(a.record(a.string(),a.any())),checkout_attempt_id:A(a.string())});a.object({fields:Ds,checkoutPaymentMethod:Ct}),a.object({session_id:a.string(),non_cde_form_fields:kt,checkout_payment_method:Ct,extra_metadata:a.record(a.string(),a.any())});const Wa=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:A(a.string()),last_name:A(a.string()),line1:A(a.string()),line2:A(a.string()),line3:A(a.string()),city:A(a.string()),state:A(a.string()),country:A(a.string()),zip_code:A(a.string()),email:A(a.string()),billing_email:A(a.string()),phone_number:A(a.string()),update_processor_customer:A(a.boolean())});const Ka=a.object({id:a.string(),email:A(a.string()),first_name:A(a.string()),last_name:A(a.string()),phone_number:A(a.string()),billing_email:A(a.string()),address:A(a.record(a.string(),a.any()))}),Ha=r=>r.reduce((e,t)=>e+t,0);function Ja(r,e){var t=Object.setPrototypeOf;t?t(r,e):r.__proto__=e}function Qa(r,e){e===void 0&&(e=r.constructor);var t=Error.captureStackTrace;t&&t(r,e)}var Xa=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)}}(),ei=function(r){Xa(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}),Ja(s,o.prototype),Qa(s),s}return e}(Error);class gn extends ei{constructor(e){const t=`${e.message}`;super(t),this.response=e}get originalErrorMessage(){return this.response.message}}const J=async(r,e,t)=>{const n=await r.send(e);if(ri(n))throw new gn(n);if(!ti(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},ti=(r,e)=>e.safeParse(r).success,ri=r=>Na.safeParse(r).success,ni=async(r,e)=>await J(r,{type:"get_checkout_preview",payload:e},fn),W=async r=>await J(r,{type:"get_prefill",payload:{}},mn),St=async(r,e)=>await J(r,{type:"v2_start_payment_flow",payload:e},_n),oi=async(r,e)=>await J(r,{type:"start_payment_flow_for_cc",payload:e},Wa),si=async(r,e)=>await J(r,{type:"start_payment_flow_for_pr",payload:e},_n),pe=async(r,e)=>await J(r,{type:"confirm_payment_flow",payload:e},Ws),ai=async(r,e)=>await J(r,{type:"finalize_setup_payment_method",payload:e},yn),ii=async(r,e)=>await J(r,{type:"check_if_popup_window_verified",payload:e},Ys),ci=async(r,e,t)=>{const n=await ni(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=Ha(n.preview.invoices.map(c=>c.remaining_amount_atom));return{currency:s,amountAtom:i}},He=async(r,e,t,n)=>{if(t)return{amountAtom:0,currency:"usd"};{n=n||void 0;const o=await ci(r,e,n);return{amountAtom:o.amountAtom,currency:o.currency}}},li=async(r,e)=>{if(r.size===0)throw new Error("No CDE connections found");return await Promise.all(Array.from(r.values()).map(n=>J(n,{type:"tokenize_card",payload:e},Gs)))},vn=async(r,e)=>{try{return await J(r,{type:"checkout_card_elements",payload:e},hr)}catch(t){throw console.error("[cde-client] Error during checkoutCardElements:",t,JSON.stringify(t)),t}},ui=async(r,e)=>await J(r,{type:"setup_payment_method",payload:e},yn),_r=async(r,e)=>await J(r,{type:"checkout",payload:e},hr),wn=1e3,di=async(r,e)=>{console.log(e);const n=await cn({iframe:r,debug:!0,timeout:wn,childOrigin:"*"}).promise,o=await J(n,{type:"ping-3ds-status"},Bs);return console.log("🟢 CDE connection successful! Stopping polling... Result:",o),o},bn=async(r,e)=>await J(r,{type:"update_checkout_customer",payload:e},Ka);function gr(r){throw new Error(`Unhandled case: ${r}`)}const vr=10,kn=(r=0)=>e=>`\x1B[${e+r}m`,En=(r=0)=>e=>`\x1B[${38+r};5;${e}m`,Cn=(r=0)=>(e,t,n)=>`\x1B[${38+r};2;${e};${t};${n}m`,O={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(O.modifier);const pi=Object.keys(O.color),fi=Object.keys(O.bgColor);[...pi,...fi];function hi(){const r=new Map;for(const[e,t]of Object.entries(O)){for(const[n,o]of Object.entries(t))O[n]={open:`\x1B[${o[0]}m`,close:`\x1B[${o[1]}m`},t[n]=O[n],r.set(o[0],o[1]);Object.defineProperty(O,e,{value:t,enumerable:!1})}return Object.defineProperty(O,"codes",{value:r,enumerable:!1}),O.color.close="\x1B[39m",O.bgColor.close="\x1B[49m",O.color.ansi=kn(),O.color.ansi256=En(),O.color.ansi16m=Cn(),O.bgColor.ansi=kn(vr),O.bgColor.ansi256=En(vr),O.bgColor.ansi16m=Cn(vr),Object.defineProperties(O,{rgbToAnsi256:{value(e,t,n){return e===t&&t===n?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(e){const t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[n]=t;n.length===3&&(n=[...n].map(s=>s+s).join(""));const o=Number.parseInt(n,16);return[o>>16&255,o>>8&255,o&255]},enumerable:!1},hexToAnsi256:{value:e=>O.rgbToAnsi256(...O.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,n,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)=>O.ansi256ToAnsi(O.rgbToAnsi256(e,t,n)),enumerable:!1},hexToAnsi:{value:e=>O.ansi256ToAnsi(O.hexToAnsi256(e)),enumerable:!1}}),O}const fe=hi(),zt=(()=>{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})(),Sn=zt!==0&&{level:zt,hasBasic:!0,has256:zt>=2,has16m:zt>=3},mi={stdout:Sn,stderr:Sn};function yi(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 _i(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
|
-
`)+t,
|
|
9
|
-
`,
|
|
10
|
-
`);return
|
|
8
|
+
`)+t,o=n+1,n=r.indexOf(`
|
|
9
|
+
`,o)}while(n!==-1);return s+=r.slice(o),s}const{stdout:Pn,stderr:An}=mi,wr=Symbol("GENERATOR"),Je=Symbol("STYLER"),Pt=Symbol("IS_EMPTY"),xn=["ansi","ansi","ansi256","ansi16m"],Qe=Object.create(null),gi=(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=Pn?Pn.level:0;r.level=e.level===void 0?t:e.level},vi=r=>{const e=(...t)=>t.join(" ");return gi(e,r),Object.setPrototypeOf(e,At.prototype),e};function At(r){return vi(r)}Object.setPrototypeOf(At.prototype,Function.prototype);for(const[r,e]of Object.entries(fe))Qe[r]={get(){const t=Gt(this,kr(e.open,e.close,this[Je]),this[Pt]);return Object.defineProperty(this,r,{value:t}),t}};Qe.visible={get(){const r=Gt(this,this[Je],!0);return Object.defineProperty(this,"visible",{value:r}),r}};const br=(r,e,t,...n)=>r==="rgb"?e==="ansi16m"?fe[t].ansi16m(...n):e==="ansi256"?fe[t].ansi256(fe.rgbToAnsi256(...n)):fe[t].ansi(fe.rgbToAnsi(...n)):r==="hex"?br("rgb",e,t,...fe.hexToRgb(...n)):fe[t][r](...n),wi=["rgb","hex","ansi256"];for(const r of wi){Qe[r]={get(){const{level:t}=this;return function(...n){const o=kr(br(r,xn[t],"color",...n),fe.color.close,this[Je]);return Gt(this,o,this[Pt])}}};const e="bg"+r[0].toUpperCase()+r.slice(1);Qe[e]={get(){const{level:t}=this;return function(...n){const o=kr(br(r,xn[t],"bgColor",...n),fe.bgColor.close,this[Je]);return Gt(this,o,this[Pt])}}}}const bi=Object.defineProperties(()=>{},{...Qe,level:{enumerable:!0,get(){return this[wr].level},set(r){this[wr].level=r}}}),kr=(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}},Gt=(r,e,t)=>{const n=(...o)=>ki(n,o.length===1?""+o[0]:o.join(" "));return Object.setPrototypeOf(n,bi),n[wr]=r,n[Je]=e,n[Pt]=t,n},ki=(r,e)=>{if(r.level<=0||!e)return r[Pt]?"":e;let t=r[Je];if(t===void 0)return e;const{openAll:n,closeAll:o}=t;if(e.includes("\x1B"))for(;t!==void 0;)e=yi(e,t.close,t.open),t=t.parent;const s=e.indexOf(`
|
|
10
|
+
`);return s!==-1&&(e=_i(e,o,n,s)),n+e+o};Object.defineProperties(At.prototype,Qe);const Bt=At();At({level:An?An.level:0});const Oe=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);else throw new Error(`Unhandled mode: ${o}`)}catch(o){e.formCallbacks.get.onCheckoutError(we(o))}},Xe=r=>async e=>{try{return await r(e)}catch(t){const{err__:n}=F("init-error-catcher");return n(t),{isAvailable:!1,reason:we(t)}}},F=r=>{const e=(...n)=>{window.console.log(`${Bt.green.bold("ojs/")}${Bt.bold.gray(`${r}`)} `,...n)},t=(...n)=>{window.console.warn(`${Bt.red.bold("ojs/")}${Bt.bold.gray(`${r}`)} `,...n)};return{log:e,err:t,log__:e,err__:t}},{log__:Dl,err__:Ei}=F("common"),qt=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}},he=(r,e)=>{const t=r.find(n=>e.safeParse(n).success);if(!t)throw Ei("No CPMs found for model. All models:",r),new Error("No CPMs found for model");return e.parse(t)},Ci=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}),Yt=async r=>{const{log__:e}=F(r.logPrefix),t=await W(r.anyCdeConnection),n=qt(r.confirmResult);if(t.mode==="setup")return e("Setting up payment method..."),{mode:"setup",result:await ai(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[h.EMAIL],customer_zip_code:r.requiredFormFields[h.ZIP_CODE],customer_country:r.requiredFormFields[h.COUNTRY],promotion_code:r.requiredFormFields[h.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 _r(r.anyCdeConnection,o)}}},{log__:In,err__:Tn}=F("common-cc"),Ne=(r,e,t)=>{if(t){In(`Received default field values: ${JSON.stringify(t)}`);for(const[o,s]of Object.entries(t))r[o]||(r[o]=s)}const n=kt.safeParse(r);if(!n.success){const o=n.error.format(),s=Ks(o);for(const[i,c]of Object.entries(s))e(i,c,i);throw Tn("Got validation errors in non-CDE form fields",s),new Error("Got validation errors in non-CDE form fields")}return n.data},Si=(r,e)=>{for(const t of r)if(t.success===!1)throw t.errors.forEach(n=>{const o=Jr.safeParse(n.elementType);if(!o.success)Tn(`Unknown field name in onValidationError: ${n.elementType}. Error object:`,n);else{const s=o.data;e(s,n.errors)}}),In(`Error tokenizing card: got validation errors: ${JSON.stringify(t.errors)}`),new Error("Got validation errors while tokenizing card")},Rn="ojs-stripe-link-btn",{log__:Z,err__:Pi}=F("stripe-link"),Ai=a.object({provider:a.literal("stripe_link"),processor_name:a.literal("stripe"),metadata:a.object({stripe_pk:a.string()})}),xi=a.array(a.object({our_existing_pm_id:a.string()})).length(1),Ii=Xe(async({context:r,formCallbacks:e})=>{const t=r.customInitParams.stripeLink;Z("Checking if there are any CPMs for Stripe Link...");const n=he(r.checkoutPaymentMethods,Ai);Z("Starting stripe link flow...");const o=r.anyCdeConnection,s=await W(o),i=s.mode==="setup";Z("Creating stripe elements...");const c=await He(o,s.token,i,void 0),{elements:l,stripe:u}=await Xs(n.metadata.stripe_pk,{mode:"setup",currency:c.currency,setup_future_usage:"off_session",paymentMethodCreation:"manual"});Z("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(`#${Rn}`)},_=()=>{d.unmount()};return t!=null&&t.doNotMountOnInit?Z("NOT mounting stripe link button (doNotMountOnInit is true)"):(Z("Mounting stripe link button..."),p()),d.on("click",async f=>{if(Z("Stripe Link button clicked"),t!=null&&t.overrideLinkSubmit&&!await t.overrideLinkSubmit()){Z("Stripe Link submit aborted by overrideLinkSubmit");return}f.resolve()}),d.on("confirm",async f=>{Z("Stripe Link window confirmed",f);const y=await u.createPaymentMethod({elements:l,params:{billing_details:f.billingDetails}});y.error?(Pi("error",y.error),e.get.onCheckoutError(y.error.message??"Stripe Link unknown error")):(Z("paymentMethod",y.paymentMethod),B.stripeLink.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:be(r.formDiv),formCallbacks:e,customParams:{stripePM:y.paymentMethod},initResult:{isAvailable:!0}}))}),{isAvailable:!0,controller:{mountButton:p,dismountButton:_,waitForButtonToMount:async()=>await Oi(Rn)}}}),Ti=Oe(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{Z("Running Stripe Link flow...");const s=r.anyCdeConnection;Z("Merging PM fields with form fields...");const i=Ri(t,o.stripePM),c=Ne(i,n.get.onValidationError);Z("Starting payment flow...");const l=await St(s,{payment_provider:e.provider,checkout_payment_method:e,their_existing_pm_id:o.stripePM.id,new_customer_email:c[h.EMAIL],new_customer_first_name:c[h.FIRST_NAME],new_customer_last_name:c[h.LAST_NAME],new_customer_address:{zip_code:c[h.ZIP_CODE],country:c[h.COUNTRY]}});Z("Start payment flow response",l);const d=xi.parse(l.required_user_actions)[0].our_existing_pm_id,p=await W(s);if(p.mode==="setup"){Z("Doing payment setup...");const _=await pe(s,{secure_token:p.token,existing_cc_pm_id:d});return{mode:"setup",result:qt(_)}}else{Z("Doing checkout...");const _={secure_token:p.token,payment_input:{provider_type:e.provider},customer_email:c[h.EMAIL],customer_zip_code:c[h.ZIP_CODE],customer_country:c[h.COUNTRY],promotion_code:c[h.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 _r(s,_)}}}),Ri=(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[h.FIRST_NAME]=t[h.FIRST_NAME]||n||"_OP_UNKNOWN",t[h.LAST_NAME]=t[h.LAST_NAME]||s||"_OP_UNKNOWN",t[h.EMAIL]=t[h.EMAIL]||((l=e.link)==null?void 0:l.email)||e.billing_details.email||"op_unfilled@getopenpay.com",t[h.ZIP_CODE]=t[h.ZIP_CODE]||((u=e.billing_details.address)==null?void 0:u.postal_code)||"00000",t[h.COUNTRY]=t[h.COUNTRY]||((d=e.billing_details.address)==null?void 0:d.country)||"US",Z("Final form inputs:",t),t},Oi=r=>new Promise(e=>{const t=()=>{const n=document.getElementById(r);n?e(n):requestAnimationFrame(t)};t()}),Ni="@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2147483648!important;display:flex;justify-content:center;align-items:center;background-color:#00000080}.container{max-width:500px;max-height:600px;width:100%;height:100%;background-color:#fff;position:relative;animation:fadeIn .3s ease-out}.frame{max-width:500px;max-height:600px;width:100%;height:100%;border:none}.cancel-button{position:absolute;background:transparent;border:none;font-size:1rem;color:#fff;cursor:pointer;top:-1.5rem;padding:0;right:0}",Mi=r=>{const e=document.createElement("template");e.innerHTML=`
|
|
11
11
|
<style>
|
|
12
|
-
${
|
|
12
|
+
${Ni}
|
|
13
13
|
</style>
|
|
14
14
|
<div class="overlay">
|
|
15
15
|
<div class="container">
|
|
@@ -17,9 +17,9 @@ ${r.message}`),r.message)}else return sr(r.message);if(typeof r=="object")try{re
|
|
|
17
17
|
<iframe src="${r}" class="frame" id="three-ds-iframe" title="3D Secure verification" allow="payment"></iframe>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
|
-
`;const t=document.createElement("div"),n=t.attachShadow({mode:"open"});n.appendChild(e.content.cloneNode(!0));const
|
|
21
|
-
Error: ${
|
|
22
|
-
Error: ${
|
|
23
|
-
Details: got ${r.required_user_actions.length} required user actions`);return Oo.parse(r.required_user_actions[0])},{log__:re,err__:Sn}=F("pockyt-paypal"),Ba=i.object({processor_name:i.literal("pockyt"),provider:i.literal("paypal")}),qa=i.array(i.object({paypal_iframe_url:i.string(),verify_token:i.string()})).length(1),Ga=He(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s})=>{var T,O;re("Running Pockyt Paypal flow...");const o=r.anyCdeConnection,a=await Pe(o);re("Verifying CPM...");const c=Ba.parse(e);re("├ Validating non-CDE form fields");const u=s==null?void 0:s.settings,l=Je(t,n.get.onValidationError,u==null?void 0:u.defaultFieldValues),d=ia(l);re(`Starting payment flow... Mode: ${a.mode}`);const h=a.mode!=="setup",w={payment_provider:c.provider,checkout_payment_method:c,use_pay_first_flow:h,pay_first_flow_cart_info:h?{line_items:a.line_items,displayed_total_amount_atom:a.amount_total_atom}:void 0,processor_specific_metadata:{use_paypal_redirect_flow:!!((T=s==null?void 0:s.settings)!=null&&T.useRedirectFlow)},...d};if((O=s==null?void 0:s.settings)!=null&&O.useRedirectFlow){re("Starting redirect mode for PayPal...");const R=r.baseUrl,q=new URL("/app/pre-action/start/",R).toString(),pe=btoa(JSON.stringify(w)),K=`${q}?st=${a.token}&r=${pe}`;throw window.location.href=K,await zr(20*1e3),new Error("Paypal flow timed out, please try again with another payment method.")}re("Starting popup mode for PayPal...");const m=await jt(o,w);if(re("Start payment flow response",m),!m.checkout_attempt_id)throw Sn("Checkout attempt ID not found in response:",m),new Error("An error occurred during checkout, please try again with another payment method.");const g=qa.parse(m.required_user_actions)[0];re("Opening paypal iframe...");const b=await wa("PayPal",o,g.verify_token,g.paypal_iframe_url);re("Paypal flow result",b);const A=bn(b.href);re(`Confirming payment flow using vault ID ${A}`);const I=await Te(o,{secure_token:a.token,their_pm_id:A,checkout_attempt_id:h?m.checkout_attempt_id:void 0});if(re("Confirm payment flow result",I),a.mode==="setup")return{mode:"setup",result:{payment_method_id:I.payment_methods[0].id}};if(!I.pay_first_success_response)throw Sn("Checkout failed, no pay-first success response:",I),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:I.pay_first_success_response}}),Cn=({gateway:r,gatewayMerchantId:e,merchantName:t,merchantId:n,initialPreview:s,overridePaymentRequest:o})=>{var d,h;const a=((d=o==null?void 0:o.amount)==null?void 0:d.amountAtom)??(s==null?void 0:s.amountAtom)??0,c=Math.max(a/100,0),u=(((h=o==null?void 0:o.amount)==null?void 0:h.currency)??(s==null?void 0:s.currency)??"USD").toUpperCase(),l={apiVersion:2,apiVersionMinor:0,allowedPaymentMethods:[{type:"CARD",parameters:{allowedAuthMethods:["PAN_ONLY","CRYPTOGRAM_3DS"],allowedCardNetworks:["AMEX","DISCOVER","INTERAC","JCB","MASTERCARD","VISA"],billingAddressRequired:!0,billingAddressParameters:{format:"FULL"},allowCreditCards:!0,allowPrepaidCards:!0},tokenizationSpecification:{type:"PAYMENT_GATEWAY",parameters:{gateway:r,gatewayMerchantId:e}}}],emailRequired:!0,merchantInfo:{merchantId:n??"",merchantName:t},transactionInfo:{countryCode:"US",currencyCode:u,totalPriceStatus:o!=null&&o.pending?"ESTIMATED":"FINAL",totalPrice:c.toFixed(2)}};return o!=null&&o.googlePayPaymentRequest?{...l,...o.googlePayPaymentRequest}:l},Ya=()=>new Promise((r,e)=>{const t=document.createElement("script");t.src="https://pay.google.com/gp/p/js/pay.js",t.async=!0,t.onload=()=>r(),t.onerror=()=>e(new Error("Failed to load Google Pay SDK")),document.body.appendChild(t)}),Wa=r=>{const e=r.required_user_actions.find(t=>t.type==="airwallex_payment_consent");return e?Vr.parse(e):null},Ha=(r,e)=>{var s,o,a,c;const t={...r},n=(o=(s=e.paymentMethodData)==null?void 0:s.info)==null?void 0:o.billingAddress;if(n){const[u,...l]=((c=(a=n.name)==null?void 0:a.trim())==null?void 0:c.split(/\s+/))??[],d=l.join(" ")||void 0;t[f.EMAIL]=t[f.EMAIL]||e.email||"op_unfilled@getopenpay.com",t[f.COUNTRY]=t[f.COUNTRY]||n.countryCode||"US",t[f.ADDRESS]=t[f.ADDRESS]||n.address1||"",t[f.CITY]=t[f.CITY]||n.locality||"",t[f.ZIP_CODE]=t[f.ZIP_CODE]||n.postalCode||"00000",t[f.STATE]=t[f.STATE]||n.administrativeArea||"",t[f.FIRST_NAME]=t[f.FIRST_NAME]||u||"_OP_UNKNOWN",t[f.LAST_NAME]=t[f.LAST_NAME]||d||"_OP_UNKNOWN"}return t},{log__:H,err__:Qe}=F("awx-google-pay");let mr=null;const xn=r=>r===Fe||r===window.location.origin?"PRODUCTION":"TEST",An=(r,e)=>{const t=xn(r);return mr===null&&(mr=new window.google.payments.api.PaymentsClient({environment:t,merchantInfo:e.merchantInfo})),mr},Pn=i.object({provider:i.literal("google_pay"),processor_name:i.literal("airwallex"),metadata:i.object({processor_account_id:i.string(),processor_account_name:i.string(),google_pay_merchant_id:i.string().nullish()})}),Ka=Zt(async({context:r,formCallbacks:e})=>{var a,c;const t=Ke(r.checkoutPaymentMethods,Pn);if(!t)return{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};H("Google Pay CPM",t);const n=t.metadata;if(!n.processor_account_id)return Qe("No gateway merchant ID found in processor account"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};if(H("Loading Google Pay SDK..."),await Ya(),!((c=(a=window.google)==null?void 0:a.payments)!=null&&c.api))return Qe("Google Pay SDK not loaded properly"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};if(xn(r.baseUrl)==="PRODUCTION"&&!n.google_pay_merchant_id)return Qe("Google Pay merchant ID is required for production environment"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};H("Google Pay SDK loaded",window.google.payments);try{const u=Cn({gateway:"airwallex",gatewayMerchantId:n.processor_account_id,merchantName:n.processor_account_name,merchantId:n.google_pay_merchant_id??"",initialPreview:void 0}),{result:l}=await An(r.baseUrl,u).isReadyToPay(u);if(!l)return H("Google Pay is not available for this user"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}}}catch(u){return Qe("Error checking Google Pay availability",u),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}}}return{isAvailable:!0,isLoading:!1,startFlow:async u=>{try{ne.airwallexGooglePay.run({context:r,checkoutPaymentMethod:t,nonCdeFormInputs:Ge(r.formDiv),formCallbacks:e,initResult:void 0,customParams:u??{}})}catch(l){Qe("Google Pay payment error",l),e.get.onCheckoutError((l==null?void 0:l.message)??"Unknown error")}}}}),Ja=He(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:s})=>{var h,w,m,g,b,A,I;H("Starting Google Pay flow...");const o=Ke(r.checkoutPaymentMethods,Pn),a=r.anyCdeConnection,c=await Pe(a),u=o.metadata;if(!u.processor_account_id)throw new Error("No gateway merchant ID found in processor account");const l=Cn({gateway:"airwallex",gatewayMerchantId:u.processor_account_id,merchantName:u.processor_account_name,merchantId:u.google_pay_merchant_id??"",initialPreview:await Dt(a,c.token,c.mode==="setup",void 0),overridePaymentRequest:s==null?void 0:s.overridePaymentRequest}),d=An(r.baseUrl,l);try{const T=await d.loadPaymentData(l);H("Google Pay Payment data",T);const O=Ha(t,T),R=Je(O,n.get.onValidationError,s==null?void 0:s.defaultFieldValues),q=(w=(h=T.paymentMethodData)==null?void 0:h.tokenizationData)==null?void 0:w.token;if(!q)throw new Error("No payment token received from Google Pay");const pe=await jt(a,{payment_provider:e.provider,checkout_payment_method:e,new_customer_email:R[f.EMAIL],new_customer_first_name:R[f.FIRST_NAME],new_customer_last_name:R[f.LAST_NAME],new_customer_address:{postal_code:R[f.ZIP_CODE],country_code:R[f.COUNTRY]}}),K=Wa(pe);H("Start flow next actions",K);const be=await Te(a,{secure_token:c.token,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:K==null?void 0:K.consent_id,airwallex_payment_method_data:{type:"googlepay",googlepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:q}}}});H("[1st] Confirm payment flow response",be);let oe=(g=(m=be.payment_methods)==null?void 0:m[0])==null?void 0:g.id;const Le=(b=be.required_user_actions)==null?void 0:b.find(fe=>fe.type==="airwallex_payment_consent");if(Le&&Le.redirect_url){H("3DS Required, starting verification...",Le);const{status:fe}=await Vt({url:Le.redirect_url,baseUrl:r.baseUrl});if(H(`╰ 3DS verification completed [Status: ${fe}]`),fe===te.CANCELLED)throw new Error("3DS verification cancelled");if(fe===te.FAILURE)throw new Error("3DS verification failed")}if(Le&&!oe){const fe=await Te(a,{secure_token:c.token,their_pm_id:Le.their_pm_id,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:Le.consent_id}});H("[2nd] Confirm payment flow response",fe),oe=(I=(A=fe.payment_methods)==null?void 0:A[0])==null?void 0:I.id}if(!oe)throw new Error("No PM ID found");if(c.mode==="setup")return{mode:"setup",result:{payment_method_id:oe}};{H("Starting one-time payment flow...");const fe={secure_token:c.token,payment_input:{provider_type:e.provider},do_not_use_legacy_cc_flow:!0,use_confirmed_pm_id:oe,line_items:c.line_items,total_amount_atom:c.amount_total_atom,cancel_at_end:!1,checkout_payment_method:e,customer_email:R[f.EMAIL],customer_zip_code:R[f.ZIP_CODE],customer_country:R[f.COUNTRY],promotion_code:R[f.PROMOTION_CODE],customer_first_name:R[f.FIRST_NAME],customer_last_name:R[f.LAST_NAME]};return{mode:"checkout",result:await Lt(a,fe)}}}catch(T){throw Qe("Google Pay payment error",T),new Error((T==null?void 0:T.message)??"Unknown error")}}),Qa=()=>new Promise((r,e)=>{const t=document.createElement("script");t.src="https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js",t.crossOrigin="anonymous",t.async=!0,t.onload=()=>r(),t.onerror=()=>e(new Error("Failed to load Apple Pay SDK")),document.body.appendChild(t)}),Xa=(r,e)=>{const t=e.token.paymentMethod.billingContact,n=e.billingContact,s=e.shippingContact,o={...r};return(t||n||s)&&(o[f.EMAIL]=o[f.EMAIL]||(t==null?void 0:t.emailAddress)||(n==null?void 0:n.emailAddress)||(s==null?void 0:s.emailAddress)||"op_unfilled@email.com",o[f.COUNTRY]=o[f.COUNTRY]||(t==null?void 0:t.countryCode)||(n==null?void 0:n.countryCode)||(s==null?void 0:s.countryCode)||"US",o[f.ZIP_CODE]=o[f.ZIP_CODE]||(t==null?void 0:t.postalCode)||(n==null?void 0:n.postalCode)||(s==null?void 0:s.postalCode)||"00000",o[f.FIRST_NAME]=o[f.FIRST_NAME]||(t==null?void 0:t.givenName)||(n==null?void 0:n.givenName)||(s==null?void 0:s.givenName)||"_OP_UNKNOWN",o[f.LAST_NAME]=o[f.LAST_NAME]||(t==null?void 0:t.familyName)||(n==null?void 0:n.familyName)||(s==null?void 0:s.familyName)||"_OP_UNKNOWN"),o},ec=i.object({data:i.object({messageHeaders:i.record(i.string(),i.any()),errors:i.array(i.any()),messageType:i.string(),messageBody:i.record(i.string(),i.any())}),origin:i.literal("https://applepay.cdn-apple.com")}),tc=r=>ec.safeParse(r).data,rc=r=>{const e=new AbortController;return window.addEventListener("message",t=>{var s;const n=tc(t);((s=n==null?void 0:n.data)==null?void 0:s.messageType)==="windowclosing"&&(r(),e.abort())},{signal:e.signal}),{cleanupCancelListener:()=>e.abort()}},{log__:zt}=F("awx-apple-pay");async function nc(r,e){try{const n=(await jt(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:e.nonCdeFormInputs[f.EMAIL],new_customer_first_name:e.nonCdeFormInputs[f.FIRST_NAME],new_customer_last_name:e.nonCdeFormInputs[f.LAST_NAME],processor_specific_metadata:{airwallex_payment_session:{validation_url:r.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).required_user_actions[0],s=n.payment_session,o=n.consent_id;if(!s)throw new Error("No session data received from payment flow");if(!o)throw new Error("No consent ID received from payment flow");return e.session.completeMerchantValidation(s),o}catch(t){throw e.session.abort(),t}}async function sc(r,e){var s,o;if(!r.redirect_url)throw new Error("No redirect URL found");zt("3DS Required, starting verification...",r);const{status:t}=await Vt({url:r.redirect_url,baseUrl:e.baseUrl});if(zt(`╰ 3DS verification completed [Status: ${t}]`),t===te.CANCELLED)throw new Error("3DS verification cancelled");if(t===te.FAILURE)throw new Error("3DS verification failed");const n=await Te(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{their_pm_id:r.their_pm_id,airwallex_consent_id:r.consent_id,payment_provider:e.checkoutPaymentMethod.provider}});return zt("[2nd] Confirm payment flow response",n),(o=(s=n.payment_methods)==null?void 0:s[0])==null?void 0:o.id}async function oc(r,e,t){return{mode:"checkout",result:await Lt(t.connection,{secure_token:t.prefill.token,payment_input:{provider_type:t.checkoutPaymentMethod.provider},do_not_use_legacy_cc_flow:!0,use_confirmed_pm_id:r,line_items:t.prefill.line_items,total_amount_atom:t.prefill.amount_total_atom,cancel_at_end:!1,checkout_payment_method:t.checkoutPaymentMethod,customer_email:e[f.EMAIL],customer_zip_code:e[f.ZIP_CODE],customer_country:e[f.COUNTRY],promotion_code:e[f.PROMOTION_CODE]})}}async function ic(r,e,t){var n,s,o;try{const a=r.payment,c=Xa(e.nonCdeFormInputs,a),u=Je(c,e.formCallbacks.get.onValidationError,e.defaultFieldValues);await Yi(e.connection,{email:u[f.EMAIL],first_name:u[f.FIRST_NAME],last_name:u[f.LAST_NAME],zip_code:u[f.ZIP_CODE],country:u[f.COUNTRY],update_processor_customer:!0});const l=await Te(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,airwallex_consent_id:t,airwallex_payment_method_data:{type:"applepay",applepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:JSON.stringify(a.token)}}}});zt("[1st] Confirm payment flow response",l);let d=(s=(n=l.payment_methods)==null?void 0:n[0])==null?void 0:s.id;const h=(o=l.required_user_actions)==null?void 0:o.find(m=>m.type==="airwallex_payment_consent");if(h!=null&&h.redirect_url&&h.consent_id&&h.their_pm_id&&(d=await sc(h,e)),!d)throw new Error("No PM ID found");const w={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(w),e.isSetupMode?{mode:"setup",result:{payment_method_id:d}}:await oc(d,u,e)}catch(a){const c={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(c),a}}const{log__:_e,err__:yr}=F("awx-apple-pay"),Tn=i.object({provider:i.literal("apple_pay"),processor_name:i.literal("airwallex"),metadata:i.object({processor_account_id:i.string(),processor_account_name:i.string()})}),ac=Zt(async({context:r,formCallbacks:e})=>{const t=Ke(r.checkoutPaymentMethods,Tn);if(!t)return{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};_e("Loading Apple Pay SDK...");try{await Qa(),_e("Apple Pay SDK loaded successfully")}catch(d){return yr("Failed to load Apple Pay SDK",d),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}}}if(!window.ApplePaySession||!ApplePaySession.canMakePayments())return _e("Apple Pay is not available on this device/browser"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};if(_e("Apple Pay Loaded"),!await ApplePaySession.canMakePayments())return _e("No active cards available for Apple Pay"),{isAvailable:!1,isLoading:!1,startFlow:async()=>{}};const s=r.anyCdeConnection,o=await Pe(s),a=o.mode==="setup",c=await Dt(s,o.token,a,void 0),u=t.metadata;if(_e("processorAccount",u),!u.processor_account_id)throw new Error("No gateway merchant ID found in processor account");return{isAvailable:!0,isLoading:!1,startFlow:async d=>{var h;try{await ne.airwallexApplePay.run({context:r,checkoutPaymentMethod:t,nonCdeFormInputs:Ge(r.formDiv),formCallbacks:e,customParams:{isSetupMode:a,prefill:o,initialPreview:((h=d==null?void 0:d.overridePaymentRequest)==null?void 0:h.amount)??c,overridePaymentRequest:d==null?void 0:d.overridePaymentRequest},initResult:void 0})}catch(w){yr("Apple Pay payment error",w),e.get.onCheckoutError((w==null?void 0:w.message)??"Unknown error")}}}}),cc=He(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,customParams:n,formCallbacks:s})=>{var T,O;const o=Ke(r.checkoutPaymentMethods,Tn),{initialPreview:a,isSetupMode:c,prefill:u,overridePaymentRequest:l}=n,d=(((T=l==null?void 0:l.amount)==null?void 0:T.currency)??a.currency??"USD").toUpperCase(),w=((((O=l==null?void 0:l.amount)==null?void 0:O.amountAtom)??a.amountAtom??0)/100).toFixed(2),m={label:(l==null?void 0:l.label)??"Total",type:l!=null&&l.pending?"pending":"final",amount:w},g={countryCode:"US",currencyCode:d,requiredBillingContactFields:["email","postalAddress","name"],requiredShippingContactFields:["email"],supportedNetworks:["visa","masterCard","amex","discover"],merchantCapabilities:["supports3DS","supportsCredit","supportsDebit","supportsEMV"],total:m,...(l==null?void 0:l.applePayPaymentRequest)??{}};_e("Payment Request",g);const b=new ApplePaySession(3,g);_e("ApplePaySession",b);const A={session:b,connection:r.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:t,processorAccount:o.metadata,prefill:u,isSetupMode:c,baseUrl:r.baseUrl,formCallbacks:s,defaultFieldValues:n==null?void 0:n.defaultFieldValues};let I;return new Promise((R,q)=>{const pe=()=>{_e("Payment cancelled by user"),q(new Error("Payment cancelled by user"))},{cleanupCancelListener:K}=rc(pe);b.oncancel=pe,b.onvalidatemerchant=async be=>{try{I=await nc(be,A)}catch(oe){q(oe)}},b.onpaymentmethodselected=()=>{const be={newTotal:{...m}};b.completePaymentMethodSelection(be)},b.onpaymentauthorized=async be=>{try{const oe=await ic(be,A,I);K(),R(oe)}catch(oe){q(oe)}},b.begin()}).catch(R=>{throw yr("Apple Pay payment error",R),R})}),_r=(r,e,t)=>{const n=r.filter(s=>{const o=t===void 0?!0:s.processor_name===t,a=s.provider===e;return o&&a});if(n.length===0)throw console.error("CPMs list",r),new Error(`No CPMs found with provider '${e}' and processor '${t}'`);if(n.length!==1)throw console.error("CPMs list",r),new Error(`More than one CPM found with provider '${e}' and processor '${t}'`);return n[0]},ne={commonCC:{init:async()=>{},run:Ra},stripePR:{init:Ua,run:$a},stripeLink:{init:da,run:pa},pockytPaypal:{run:Ga},airwallexGooglePay:{init:Ka,run:Ja},airwallexApplePay:{init:ac,run:cc}};var gr=function(r,e){return gr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,n){t.__proto__=n}||function(t,n){for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(t[s]=n[s])},gr(r,e)};function Ie(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");gr(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function lc(r,e,t,n){function s(o){return o instanceof t?o:new t(function(a){a(o)})}return new(t||(t=Promise))(function(o,a){function c(d){try{l(n.next(d))}catch(h){a(h)}}function u(d){try{l(n.throw(d))}catch(h){a(h)}}function l(d){d.done?o(d.value):s(d.value).then(c,u)}l((n=n.apply(r,e||[])).next())})}function In(r,e){var t={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]},n,s,o,a=Object.create((typeof Iterator=="function"?Iterator:Object).prototype);return a.next=c(0),a.throw=c(1),a.return=c(2),typeof Symbol=="function"&&(a[Symbol.iterator]=function(){return this}),a;function c(l){return function(d){return u([l,d])}}function u(l){if(n)throw new TypeError("Generator is already executing.");for(;a&&(a=0,l[0]&&(t=0)),t;)try{if(n=1,s&&(o=l[0]&2?s.return:l[0]?s.throw||((o=s.return)&&o.call(s),0):s.next)&&!(o=o.call(s,l[1])).done)return o;switch(s=0,o&&(l=[l[0]&2,o.value]),l[0]){case 0:case 1:o=l;break;case 4:return t.label++,{value:l[1],done:!1};case 5:t.label++,s=l[1],l=[0];continue;case 7:l=t.ops.pop(),t.trys.pop();continue;default:if(o=t.trys,!(o=o.length>0&&o[o.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!o||l[1]>o[0]&&l[1]<o[3])){t.label=l[1];break}if(l[0]===6&&t.label<o[1]){t.label=o[1],o=l;break}if(o&&t.label<o[2]){t.label=o[2],t.ops.push(l);break}o[2]&&t.ops.pop(),t.trys.pop();continue}l=e.call(r,t)}catch(d){l=[6,d],s=0}finally{n=o=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}function Xe(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Bt(r,e){var t=typeof Symbol=="function"&&r[Symbol.iterator];if(!t)return r;var n=t.call(r),s,o=[],a;try{for(;(e===void 0||e-- >0)&&!(s=n.next()).done;)o.push(s.value)}catch(c){a={error:c}}finally{try{s&&!s.done&&(t=n.return)&&t.call(n)}finally{if(a)throw a.error}}return o}function qt(r,e,t){if(t||arguments.length===2)for(var n=0,s=e.length,o;n<s;n++)(o||!(n in e))&&(o||(o=Array.prototype.slice.call(e,0,n)),o[n]=e[n]);return r.concat(o||Array.prototype.slice.call(e))}function et(r){return this instanceof et?(this.v=r,this):new et(r)}function uc(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),s,o=[];return s=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),c("next"),c("throw"),c("return",a),s[Symbol.asyncIterator]=function(){return this},s;function a(m){return function(g){return Promise.resolve(g).then(m,h)}}function c(m,g){n[m]&&(s[m]=function(b){return new Promise(function(A,I){o.push([m,b,A,I])>1||u(m,b)})},g&&(s[m]=g(s[m])))}function u(m,g){try{l(n[m](g))}catch(b){w(o[0][3],b)}}function l(m){m.value instanceof et?Promise.resolve(m.value.v).then(d,h):w(o[0][2],m)}function d(m){u("next",m)}function h(m){u("throw",m)}function w(m,g){m(g),o.shift(),o.length&&u(o[0][0],o[0][1])}}function dc(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof Xe=="function"?Xe(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(o){t[o]=r[o]&&function(a){return new Promise(function(c,u){a=r[o](a),s(c,u,a.done,a.value)})}}function s(o,a,c,u){Promise.resolve(u).then(function(l){o({value:l,done:c})},a)}}typeof SuppressedError=="function"&&SuppressedError;function $(r){return typeof r=="function"}function Gt(r){var e=function(n){Error.call(n),n.stack=new Error().stack},t=r(e);return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var vr=Gt(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
|
|
24
|
-
`+t.map(function(n,
|
|
25
|
-
`):"",this.name="UnsubscriptionError",this.errors=t}});function Yt(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1)}}var Et=function(){function r(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}return r.prototype.unsubscribe=function(){var e,t,n,s,o;if(!this.closed){this.closed=!0;var a=this._parentage;if(a)if(this._parentage=null,Array.isArray(a))try{for(var c=Xe(a),u=c.next();!u.done;u=c.next()){var l=u.value;l.remove(this)}}catch(b){e={error:b}}finally{try{u&&!u.done&&(t=c.return)&&t.call(c)}finally{if(e)throw e.error}}else a.remove(this);var d=this.initialTeardown;if($(d))try{d()}catch(b){o=b instanceof vr?b.errors:[b]}var h=this._finalizers;if(h){this._finalizers=null;try{for(var w=Xe(h),m=w.next();!m.done;m=w.next()){var g=m.value;try{Nn(g)}catch(b){o=o??[],b instanceof vr?o=qt(qt([],Bt(o)),Bt(b.errors)):o.push(b)}}}catch(b){n={error:b}}finally{try{m&&!m.done&&(s=w.return)&&s.call(w)}finally{if(n)throw n.error}}}if(o)throw new vr(o)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)Nn(e);else{if(e instanceof r){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(e)}},r.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},r.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},r.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&Yt(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&Yt(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=function(){var e=new r;return e.closed=!0,e}(),r}(),On=Et.EMPTY;function Rn(r){return r instanceof Et||r&&"closed"in r&&$(r.remove)&&$(r.add)&&$(r.unsubscribe)}function Nn(r){$(r)?r():r.unsubscribe()}var Mn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},jn={setTimeout:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setTimeout.apply(void 0,qt([r,e],Bt(t)))},clearTimeout:function(r){var e=jn.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(r)},delegate:void 0};function Dn(r){jn.setTimeout(function(){throw r})}function Ln(){}function Wt(r){r()}var wr=function(r){Ie(e,r);function e(t){var n=r.call(this)||this;return n.isStopped=!1,t?(n.destination=t,Rn(t)&&t.add(n)):n.destination=mc,n}return e.create=function(t,n,s){return new kr(t,n,s)},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,r.prototype.unsubscribe.call(this),this.destination=null)},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){try{this.destination.error(t)}finally{this.unsubscribe()}},e.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},e}(Et),pc=Function.prototype.bind;function br(r,e){return pc.call(r,e)}var fc=function(){function r(e){this.partialObserver=e}return r.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(n){Ht(n)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(n){Ht(n)}else Ht(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){Ht(t)}},r}(),kr=function(r){Ie(e,r);function e(t,n,s){var o=r.call(this)||this,a;if($(t)||!t)a={next:t??void 0,error:n??void 0,complete:s??void 0};else{var c;o&&Mn.useDeprecatedNextContext?(c=Object.create(t),c.unsubscribe=function(){return o.unsubscribe()},a={next:t.next&&br(t.next,c),error:t.error&&br(t.error,c),complete:t.complete&&br(t.complete,c)}):a=t}return o.destination=new fc(a),o}return e}(wr);function Ht(r){Dn(r)}function hc(r){throw r}var mc={closed:!0,next:Ln,error:hc,complete:Ln},Er=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function yc(r){return r}function _c(r){return r.length===0?yc:r.length===1?r[0]:function(t){return r.reduce(function(n,s){return s(n)},t)}}var ge=function(){function r(e){e&&(this._subscribe=e)}return r.prototype.lift=function(e){var t=new r;return t.source=this,t.operator=e,t},r.prototype.subscribe=function(e,t,n){var s=this,o=vc(e)?e:new kr(e,t,n);return Wt(function(){var a=s,c=a.operator,u=a.source;o.add(c?c.call(o,u):u?s._subscribe(o):s._trySubscribe(o))}),o},r.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},r.prototype.forEach=function(e,t){var n=this;return t=Fn(t),new t(function(s,o){var a=new kr({next:function(c){try{e(c)}catch(u){o(u),a.unsubscribe()}},error:o,complete:s});n.subscribe(a)})},r.prototype._subscribe=function(e){var t;return(t=this.source)===null||t===void 0?void 0:t.subscribe(e)},r.prototype[Er]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return _c(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=Fn(e),new e(function(n,s){var o;t.subscribe(function(a){return o=a},function(a){return s(a)},function(){return n(o)})})},r.create=function(e){return new r(e)},r}();function Fn(r){var e;return(e=r??Mn.Promise)!==null&&e!==void 0?e:Promise}function gc(r){return r&&$(r.next)&&$(r.error)&&$(r.complete)}function vc(r){return r&&r instanceof wr||gc(r)&&Rn(r)}function wc(r){return $(r==null?void 0:r.lift)}function bc(r){return function(e){if(wc(e))return e.lift(function(t){try{return r(t,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function kc(r,e,t,n,s){return new Ec(r,e,t,n,s)}var Ec=function(r){Ie(e,r);function e(t,n,s,o,a,c){var u=r.call(this,t)||this;return u.onFinalize=a,u.shouldUnsubscribe=c,u._next=n?function(l){try{n(l)}catch(d){t.error(d)}}:r.prototype._next,u._error=o?function(l){try{o(l)}catch(d){t.error(d)}finally{this.unsubscribe()}}:r.prototype._error,u._complete=s?function(){try{s()}catch(l){t.error(l)}finally{this.unsubscribe()}}:r.prototype._complete,u}return e.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;r.prototype.unsubscribe.call(this),!n&&((t=this.onFinalize)===null||t===void 0||t.call(this))}},e}(wr),Sc=Gt(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),Un=function(r){Ie(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 $n(this,this);return n.operator=t,n},e.prototype._throwIfClosed=function(){if(this.closed)throw new Sc},e.prototype.next=function(t){var n=this;Wt(function(){var s,o;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var a=Xe(n.currentObservers),c=a.next();!c.done;c=a.next()){var u=c.value;u.next(t)}}catch(l){s={error:l}}finally{try{c&&!c.done&&(o=a.return)&&o.call(a)}finally{if(s)throw s.error}}}})},e.prototype.error=function(t){var n=this;Wt(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=t;for(var s=n.observers;s.length;)s.shift().error(t)}})},e.prototype.complete=function(){var t=this;Wt(function(){if(t._throwIfClosed(),!t.isStopped){t.isStopped=!0;for(var n=t.observers;n.length;)n.shift().complete()}})},e.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(e.prototype,"observed",{get:function(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(t){return this._throwIfClosed(),r.prototype._trySubscribe.call(this,t)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var n=this,s=this,o=s.hasError,a=s.isStopped,c=s.observers;return o||a?On:(this.currentObservers=null,c.push(t),new Et(function(){n.currentObservers=null,Yt(c,t)}))},e.prototype._checkFinalizedStatuses=function(t){var n=this,s=n.hasError,o=n.thrownError,a=n.isStopped;s?t.error(o):a&&t.complete()},e.prototype.asObservable=function(){var t=new ge;return t.source=this,t},e.create=function(t,n){return new $n(t,n)},e}(ge),$n=function(r){Ie(e,r);function e(t,n){var s=r.call(this)||this;return s.destination=t,s.source=n,s}return e.prototype.next=function(t){var n,s;(s=(n=this.destination)===null||n===void 0?void 0:n.next)===null||s===void 0||s.call(n,t)},e.prototype.error=function(t){var n,s;(s=(n=this.destination)===null||n===void 0?void 0:n.error)===null||s===void 0||s.call(n,t)},e.prototype.complete=function(){var t,n;(n=(t=this.destination)===null||t===void 0?void 0:t.complete)===null||n===void 0||n.call(t)},e.prototype._subscribe=function(t){var n,s;return(s=(n=this.source)===null||n===void 0?void 0:n.subscribe(t))!==null&&s!==void 0?s:On},e}(Un),Cc={now:function(){return Date.now()},delegate:void 0},xc=function(r){Ie(e,r);function e(t,n){return r.call(this)||this}return e.prototype.schedule=function(t,n){return this},e}(Et),Zn={setInterval:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setInterval.apply(void 0,qt([r,e],Bt(t)))},clearInterval:function(r){return clearInterval(r)},delegate:void 0},Ac=function(r){Ie(e,r);function e(t,n){var s=r.call(this,t,n)||this;return s.scheduler=t,s.work=n,s.pending=!1,s}return e.prototype.schedule=function(t,n){var s;if(n===void 0&&(n=0),this.closed)return this;this.state=t;var o=this.id,a=this.scheduler;return o!=null&&(this.id=this.recycleAsyncId(a,o,n)),this.pending=!0,this.delay=n,this.id=(s=this.id)!==null&&s!==void 0?s:this.requestAsyncId(a,this.id,n),this},e.prototype.requestAsyncId=function(t,n,s){return s===void 0&&(s=0),Zn.setInterval(t.flush.bind(t,this),s)},e.prototype.recycleAsyncId=function(t,n,s){if(s===void 0&&(s=0),s!=null&&this.delay===s&&this.pending===!1)return n;n!=null&&Zn.clearInterval(n)},e.prototype.execute=function(t,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var s=this._execute(t,n);if(s)return s;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},e.prototype._execute=function(t,n){var s=!1,o;try{this.work(t)}catch(a){s=!0,o=a||new Error("Scheduled action threw falsy error")}if(s)return this.unsubscribe(),o},e.prototype.unsubscribe=function(){if(!this.closed){var t=this,n=t.id,s=t.scheduler,o=s.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Yt(o,this),n!=null&&(this.id=this.recycleAsyncId(s,n,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e}(xc),Vn=function(){function r(e,t){t===void 0&&(t=r.now),this.schedulerActionCtor=e,this.now=t}return r.prototype.schedule=function(e,t,n){return t===void 0&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},r.now=Cc.now,r}(),Pc=function(r){Ie(e,r);function e(t,n){n===void 0&&(n=Vn.now);var s=r.call(this,t,n)||this;return s.actions=[],s._active=!1,s}return e.prototype.flush=function(t){var n=this.actions;if(this._active){n.push(t);return}var s;this._active=!0;do if(s=t.execute(t.state,t.delay))break;while(t=n.shift());if(this._active=!1,s){for(;t=n.shift();)t.unsubscribe();throw s}},e}(Vn),Tc=new Pc(Ac),Ic=function(r){return r&&typeof r.length=="number"&&typeof r!="function"};function Oc(r){return $(r==null?void 0:r.then)}function Rc(r){return $(r[Er])}function Nc(r){return Symbol.asyncIterator&&$(r==null?void 0:r[Symbol.asyncIterator])}function Mc(r){return new TypeError("You provided "+(r!==null&&typeof r=="object"?"an invalid object":"'"+r+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}function jc(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var Dc=jc();function Lc(r){return $(r==null?void 0:r[Dc])}function Fc(r){return uc(this,arguments,function(){var t,n,s,o;return In(this,function(a){switch(a.label){case 0:t=r.getReader(),a.label=1;case 1:a.trys.push([1,,9,10]),a.label=2;case 2:return[4,et(t.read())];case 3:return n=a.sent(),s=n.value,o=n.done,o?[4,et(void 0)]:[3,5];case 4:return[2,a.sent()];case 5:return[4,et(s)];case 6:return[4,a.sent()];case 7:return a.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Uc(r){return $(r==null?void 0:r.getReader)}function $c(r){if(r instanceof ge)return r;if(r!=null){if(Rc(r))return Zc(r);if(Ic(r))return Vc(r);if(Oc(r))return zc(r);if(Nc(r))return zn(r);if(Lc(r))return Bc(r);if(Uc(r))return qc(r)}throw Mc(r)}function Zc(r){return new ge(function(e){var t=r[Er]();if($(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function Vc(r){return new ge(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function zc(r){return new ge(function(e){r.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,Dn)})}function Bc(r){return new ge(function(e){var t,n;try{for(var s=Xe(r),o=s.next();!o.done;o=s.next()){var a=o.value;if(e.next(a),e.closed)return}}catch(c){t={error:c}}finally{try{o&&!o.done&&(n=s.return)&&n.call(s)}finally{if(t)throw t.error}}e.complete()})}function zn(r){return new ge(function(e){Gc(r,e).catch(function(t){return e.error(t)})})}function qc(r){return zn(Fc(r))}function Gc(r,e){var t,n,s,o;return lc(this,void 0,void 0,function(){var a,c;return In(this,function(u){switch(u.label){case 0:u.trys.push([0,5,6,11]),t=dc(r),u.label=1;case 1:return[4,t.next()];case 2:if(n=u.sent(),!!n.done)return[3,4];if(a=n.value,e.next(a),e.closed)return[2];u.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return c=u.sent(),s={error:c},[3,11];case 6:return u.trys.push([6,,9,10]),n&&!n.done&&(o=t.return)?[4,o.call(t)]:[3,8];case 7:u.sent(),u.label=8;case 8:return[3,10];case 9:if(s)throw s.error;return[7];case 10:return[7];case 11:return e.complete(),[2]}})})}function Yc(r,e,t,n,s){n===void 0&&(n=0),s===void 0&&(s=!1);var o=e.schedule(function(){t(),s?r.add(this.schedule(null,n)):this.unsubscribe()},n);if(r.add(o),!s)return o}function Wc(r,e){var t=$(r)?r:function(){return r},n=function(s){return s.error(t())};return new ge(n)}var Hc=Gt(function(r){return function(){r(this),this.name="EmptyError",this.message="no elements in sequence"}});function Kc(r,e){return new Promise(function(t,n){var s=!1,o;r.subscribe({next:function(a){o=a,s=!0},error:n,complete:function(){s?t(o):n(new Hc)}})})}function Jc(r){return r instanceof Date&&!isNaN(r)}var Qc=Gt(function(r){return function(t){t===void 0&&(t=null),r(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function Xc(r,e){var t=Jc(r)?{first:r}:typeof r=="number"?{each:r}:r,n=t.first,s=t.each,o=t.with,a=o===void 0?el:o,c=t.scheduler,u=c===void 0?Tc:c,l=t.meta,d=l===void 0?null:l;if(n==null&&s==null)throw new TypeError("No timeout provided.");return bc(function(h,w){var m,g,b=null,A=0,I=function(T){g=Yc(w,u,function(){try{m.unsubscribe(),$c(a({meta:d,lastValue:b,seen:A})).subscribe(w)}catch(O){w.error(O)}},T)};m=h.subscribe(kc(w,function(T){g==null||g.unsubscribe(),A++,w.next(b=T),s>0&&I(s)},void 0,void 0,function(){g!=null&&g.closed||g==null||g.unsubscribe(),b=null})),!A&&I(n!=null?typeof n=="number"?n:+n-u.now():s)})}function el(r){throw new Qc(r)}class Kt{constructor(){this.set=e=>{if(this._current.status==="success")throw new Error("LoadedOnce is already in success state");this._current={status:"success",isSuccess:!0,loadedValue:e},this._subject.next(e),this._subject.complete()},this.throw=(e,t)=>{if(this._current.status==="success")throw new Error("LoadedOnce is already in success state");this._current={status:"error",isSuccess:!1,error:e,errMsg:t},this._subject.error(e)},this.getValueIfLoadedElse=e=>this._current.status==="success"?this._current.loadedValue:e,this.subscribe=e=>{if(this._current.status==="success"){e(this._current);return}this._current.status==="error"&&e(this._current);const t=this._subject.subscribe({next:()=>{if(this._current.status!=="success")throw new Error("Invalid state (next): please make sure to update _current before the subject");e(this._current),t.unsubscribe()},error:()=>{if(this._current.status!=="error")throw new Error("Invalid state (error): please make sure to update _current before the subject");e(this._current)}})},this.waitForLoad=e=>{if(this._current.status==="success")return Promise.resolve(this._current.loadedValue);if(this._current.status==="error")return Promise.reject(this._current.error);this._current.status!=="initial"&&cr(this._current);const t={first:e.timeoutSec*1e3,with:()=>Wc(()=>new Error(e.timeoutErrMsg))};return Kc(this._subject.pipe(Xc(t)))},this._current={status:"initial",isSuccess:!1},this._subject=new Un}get current(){return this._current}}const{log__:tl,err__:rl}=F("init-flows"),Jt=(r,e)=>{const t=new Kt;return{publisher:t,initialize:async n=>{try{if(t.current.isSuccess)throw new Error("This flow has already been initialized.");const s=await e(n);tl(`✔ ${r} flow initialized successfully. Result:`,s),t.set(s)}catch(s){rl(`𝙭 ${r} flow initialization failed. Error:`,ye(s),"Details:",s),t.throw(s,ye(s))}}}},nl=async(r,e,t)=>{await Promise.all(Object.values(r).map(n=>n.initialize({context:e,formCallbacks:t})))},sl=()=>({stripePR:Jt("Stripe PR",ne.stripePR.init),stripeLink:Jt("Stripe Link",ne.stripeLink.init),airwallexGooglePay:Jt("Airwallex GPay",ne.airwallexGooglePay.init),airwallexApplePay:Jt("Airwallex ApplePay",ne.airwallexApplePay.init)}),{err__:ol}=F("form-callbacks"),se=i.function().optional(),Bn=i.object({onFocus:se,onBlur:se,onChange:se,onLoad:se,onLoadError:se,onValidationError:se,onCheckoutStarted:se,onCheckoutSuccess:se,onSetupPaymentMethodSuccess:se,onCheckoutError:se,onPaymentRequestLoad:se}),de=class de{constructor(){this.setCallbacks=e=>{this._callbacks=de.createEmptyCallbacks(),Object.entries(e).forEach(([t,n])=>{const s=Xs(t,n??de.NOOP,ol);this._callbacks[t]=s})},this._callbacks=de.createEmptyCallbacks()}get get(){return{...this._callbacks}}};de.NOOP=()=>{},de.createEmptyCallbacks=()=>{const e={};return Object.keys(Bn.keyof().enum).forEach(t=>{e[t]=de.NOOP}),e},de.fromObject=e=>{const t=new de;return t.setCallbacks(Bn.parse(e)),t};let Sr=de;class il{constructor(e,t,n,s){this.handleMessage=o=>{if(!o.source)throw new Error("No source found");if(qn(o.origin)!==qn(this.baseUrl)||typeof o.data=="object"&&o.data.penpal)return;let a=null;try{a=Bo(JSON.parse(o.data))}catch(h){console.warn("[OJS] Unknown event. Ignoring:",h);return}if(!this.validateEvent(a))return;const{elementId:u,payload:l}=a,d=l.type;switch(d){case"LAYOUT":this.internalCallbacks.setFormHeight(l.height?`${l.height}px`:"100%");break;case"FOCUS":this.formCallbacks.get.onFocus(u,l.elementType);break;case"BLUR":this.formCallbacks.get.onBlur(u,l.elementType);break;case"CHANGE":this.formCallbacks.get.onChange(u,l.elementType,l.errors);break;case"LOADED":this.eventTargets[u]=o.source,this.internalCallbacks.onCdeLoaded(l);break;case"LOAD_ERROR":this.internalCallbacks.onCdeLoadError(l.message);break;case"VALIDATION_ERROR":this.formCallbacks.get.onValidationError(l.elementType,l.errors,u);break;default:console.warn("[form] Unhandled event type:",d)}},this.validateEvent=o=>o.formId!==this.formId||!o.elementId?(console.log("[OJS] formId",this.formId,o.formId),console.warn("[form] Ignoring unknown event:",o),!1):this.nonces.has(o.nonce)?(console.warn("[form] Ignoring duplicate event:",o),!1):(this.nonces.add(o.nonce),!0),this.eventTargets={},this.nonces=new Set,this.formId=e,this.baseUrl=t,this.formCallbacks=n,this.internalCallbacks=s}}const qn=r=>new URL(r).origin;async function al(r,e){const n=await Kr({iframe:r,debug:!1,childOrigin:e}).promise,s=await pi(n);if(!fi(n,s))throw new Error("Got invalid CDE connection object");return n}class cl{constructor(){this.connections=new Map}addConnection(e,t){this.connections.set(e,t)}getConnection(){const e=this.connections.values().next().value;if(!e)throw new Error("Connection not found");return e}getAllConnections(){return this.connections}}const ll=(r,e,t)=>{const{stripePR:n}=r;n.publisher.subscribe(s=>{if(s.isSuccess){const o=s.loadedValue,a=o.isAvailable&&o.availableProviders.applePay,c=o.isAvailable&&o.availableProviders.googlePay,u={apple_pay:{isLoading:!1,isAvailable:a,startFlow:async l=>{a&&Gn("apple_pay",o,e,t,l)}},google_pay:{isLoading:!1,isAvailable:c,startFlow:async l=>{c&&Gn("google_pay",o,e,t,l)}}};t.get.onPaymentRequestLoad(u)}})},Gn=(r,e,t,n,s)=>ne.stripePR.run({context:t,checkoutPaymentMethod:_r(t.checkoutPaymentMethods,r),nonCdeFormInputs:Ge(t.formDiv),formCallbacks:n,customParams:{provider:r,overridePaymentRequest:s==null?void 0:s.overridePaymentRequest},initResult:e}),Yn="The secure form failed to load properly. Please check your internet connection, or try again later.",{log__:ve,err__:De}=F("op-form"),we=class we{constructor(e){this.cdeLoadEvent=new Kt,this.anyCdeConn=new Kt,this.context=new Kt,this.initFlows=sl(),this.startFormInit=async()=>{try{ve("Initializing OpenPay form:"),ve("├ Waiting for CDE load event...");const t=await this.cdeLoadEvent.waitForLoad({timeoutSec:120,timeoutErrMsg:Yn});ve("├ CDE load event received"),ve("├ Waiting for CDE connection...");const n=await this.anyCdeConn.waitForLoad({timeoutSec:120,timeoutErrMsg:Yn});ve("├ CDE connection received"),ve("├ Creating OJS context, setting up handlers...");const s=we.buildOjsFlowContext(this.config,t,n,this.getFormDiv());this.context.set(s),ll(this.initFlows,s,this.formCallbacks),ve("├ Starting OJS init flows..."),await nl(this.initFlows,s,this.formCallbacks),this.formCallbacks.get.onLoad(t.totalAmountAtoms,t.currency),ve("╰ Done initializing OJS flows.")}catch(t){const n=ye(t);De("╰ Error initializing OP form:",n),this.formCallbacks.get.onLoadError(n)}},this.setFormHeight=t=>{this.formProperties.height=t,this.registeredElements&&Object.values(this.registeredElements).forEach(n=>{n&&(n.node.style.height=t)})},this.onCdeLoaded=t=>{this.cdeLoadEvent.current.isSuccess||this.cdeLoadEvent.set(t)},this.onCdeLoadError=t=>{this.cdeLoadEvent.current.isSuccess||this.cdeLoadEvent.throw(new Error(t),t)},this.createElement=(t,n={})=>{if(!this.config)throw new Error("OpenPay form not initialized");const s=eo.parse(t),o=document.createElement("iframe"),a=this.buildQueryString(n);o.name=`${s}-element`;const c=new URL(`/app/v1/${o.name}/`,this.config.baseUrl);return c.search=a.toString(),o.src=c.href,o.style.border="none",o.style.width="100%",this.registerIframe(s,o)},this.registerIframe=(t,n)=>{const s={type:t,node:n,mount:o=>{var a;return(a=document.querySelector(o))==null?void 0:a.appendChild(n)}};return this.connectToElement({type:s.type,node:s.node}),this.registeredElements||(this.registeredElements={[qe.CARD]:void 0,[qe.CARD_NUMBER]:void 0,[qe.CARD_EXPIRY]:void 0,[qe.CARD_CVC]:void 0}),this.registeredElements[t]=s,s},this.buildQueryString=t=>{const n=new URLSearchParams;return n.append("referer",this.referrer),n.append("formId",this.formId),t.styles&&n.append("styles",Fo(t.styles)),n.append("secureToken",this.config.checkoutSecureToken),n},this.connectToElement=t=>{al(t.node).then(n=>{this.connectionManager.addConnection(t.type,n),this.anyCdeConn.current.isSuccess||this.anyCdeConn.set(n)}).catch(n=>De("[FORM] Error connecting to CDE iframe",n))},this.getFormDiv=()=>document.querySelector(this.formTarget)??document.body,this.submitCard=()=>{const t=this.context.getValueIfLoadedElse(null);if(!t){De("Please wait for the form to finish loading before submitting.");return}ne.commonCC.run({context:t,checkoutPaymentMethod:_r(t.checkoutPaymentMethods,"credit_card"),nonCdeFormInputs:Ge(t.formDiv),formCallbacks:this.formCallbacks,customParams:{currentCdeConnections:this.connectionManager.getAllConnections()},initResult:void 0})},this.getAvailablePaymentMethods=()=>{if(!this.context.getValueIfLoadedElse(null)){De("Please wait for the form to finish loading before getting available payment methods.");return}return Object.entries(this.initFlows).map(([n,s])=>({name:n,...s.publisher.getValueIfLoadedElse(null)}))},this.generalSubmit=(t,n)=>{const s=this.context.getValueIfLoadedElse(null);if(!s){De("Please wait for the form to finish loading before submitting.");return}switch(t){case"pockyt-paypal":return ne.pockytPaypal.run({context:s,checkoutPaymentMethod:_r(s.checkoutPaymentMethods,"paypal","pockyt"),nonCdeFormInputs:Ge(s.formDiv),formCallbacks:this.formCallbacks,customParams:{settings:n},initResult:void 0});case"airwallex-google-pay":return this.initFlows.airwallexGooglePay.publisher.subscribe(o=>{o.isSuccess&&o.loadedValue.isAvailable?o.loadedValue.startFlow(n):De("airwallex-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'")});case"airwallex-apple-pay":return this.initFlows.airwallexApplePay.publisher.subscribe(o=>{o.isSuccess&&o.loadedValue.isAvailable?o.loadedValue.startFlow(n):De("airwallex-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'")});default:cr(t)}},this.submit=this.submitCard,this.destroy=()=>{ve("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)},we.assignAsSingleton(this),this.ojsVersion="0.2.9",this.ojsReleaseVersion="0.2.9",this.baseUrl=e.baseUrl??"https://cde.getopenpay.com",this.config={...e,baseUrl:this.baseUrl},this.formCallbacks=Sr.fromObject(e),this.registeredElements=null,this.formId=`opjs-form-${zo()}`,this.referrer=window.location.origin,this.formTarget=e.formTarget??"body",this.formProperties={height:"1px"},this.connectionManager=new cl,this.eventHandler=new il(this.formId,this.baseUrl,this.formCallbacks,{setFormHeight:this.setFormHeight,onCdeLoaded:this.onCdeLoaded,onCdeLoadError:this.onCdeLoadError}),window.addEventListener("message",this.eventHandler.handleMessage.bind(this.eventHandler)),this.startFormInit()}get checkoutSecureToken(){return this.config.checkoutSecureToken}};we.ojsFlows=ne,we.assignAsSingleton=e=>{if(we.getInstance())throw new Error("OpenPay instance already exists. Only one instance is allowed.");window.ojs=e},we.getInstance=()=>window.ojs??null,we.buildOjsFlowContext=(e,t,n,s)=>({checkoutSecureToken:e.checkoutSecureToken,baseUrl:new URL(e.baseUrl??Fe).origin,formDiv:s,elementsSessionId:t.sessionId,checkoutPaymentMethods:t.checkoutPaymentMethods,anyCdeConnection:n,customInitParams:e.customInitParams??{}});let Cr=we;Oe.FieldName=f,Oe.OpenPayForm=Cr,Object.defineProperty(Oe,Symbol.toStringTag,{value:"Module"})});
|
|
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 Di(r,e,t){const n=async()=>{try{const s=await di(r,t);s&&(clearInterval(o),e(s))}catch{}};n();const o=setInterval(n,wn);return o}function ji({elements:r,pollingInterval:e,resolve:t}){const n=()=>{clearInterval(e),r.host.remove(),t({status:oe.CANCELLED})};return r.cancelButton.addEventListener("click",n),()=>{r.cancelButton.removeEventListener("click",n)}}async function Wt(r){const{url:e,baseUrl:t}=r,n=Mi(e);return new Promise(o=>{const s=l=>{setTimeout(()=>{n.host.remove()},1e3),o(l),c==null||c()},i=Di(n.iframe,s,new URL(t).origin),c=ji({elements:n,pollingInterval:i,resolve:o})})}const On=async r=>{const e=await Wt(r);if(e.status===oe.CANCELLED)throw new Error("3DS verification cancelled");if(e.status===oe.FAILURE)throw new Error("3DS verification failed");return e.status!==oe.SUCCESS&&gr(e.status),{href:e.href}},Li=(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},Fi=async(r,e,t,n)=>{const{err__:o}=F("popup-verify");return new Promise((s,i)=>{const c=Li(r,n),l=setInterval(async()=>{try{const u=await ii(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(we(u)),clearInterval(l),i(we(u))}},1e3)})},{log__:Ui,err__:Nn}=F("pockyt-cc"),$i=a.object({"op-pockyt-3ds-url":a.string(),"op-pockyt-txn-no":a.string(),"op-pockyt-ref-no":a.string()}),Zi=r=>{const e=$i.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 Nn(n),new Error(t)}return e.data},Mn=r=>{try{const e=new URL(r??"").searchParams.get("vaultId");if(!e)throw new Error("No vault ID found in 3DS verification result");return Ui(`3DS verification success. [Vault ID: ${e}]`),e}catch(e){const t="Error verifying 3DS verification result.";throw Nn(t,`Resulting URL: ${r}.
|
|
21
|
+
Error: ${we(e)}`),new Error(t)}},Vi=(r,e)=>new URL(r).searchParams.get(e),zi=r=>(r==null?void 0:r["op-pockyt-3ds-url"])!==void 0,Gi=async(r,e)=>{const t=Zi(e),n=await On({url:t["op-pockyt-3ds-url"],baseUrl:r});return{existing_cc:{vault_id:Mn(n.href??""),transaction_no:t["op-pockyt-txn-no"],reference_no:t["op-pockyt-ref-no"]}}},{log__:Bi,err__:Er}=F("airwallex-cc"),qi=a.object({"op-airwallex-3ds-url":a.string(),"op-airwallex-initial-intent-id":a.string(),"op-airwallex-consent-id":a.string()}),Yi=r=>{const e=qi.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 Er(n),new Error(t)}return e.data},Wi=r=>(r==null?void 0:r["op-airwallex-3ds-url"])!==void 0,Ki=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 Bi(`Airwallex 3DS verification success. [Intent ID: ${e}]`),e}catch(e){const t="Error verifying Airwallex 3DS verification result.";throw Er(t,`Resulting URL: ${r}.
|
|
22
|
+
Error: ${we(e)}`),new Error(t)}},Hi=async(r,e)=>{const t=Yi(e),n=await On({url:t["op-airwallex-3ds-url"],baseUrl:r}),o=Ki(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 Er(l),new Error(c)}return{existing_cc:{initial_intent_id:o,consent_id:t["op-airwallex-consent-id"]}}},Dn=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()})}),jn=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()})}),{log__:D,err__:Ln}=F("common-cc"),{log__:Fn}=F("stripe-cc");a.array(a.object({our_existing_pm_id:a.string()})).length(1);const Ji=Oe(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{var u;D("├ Running common CC flow...",{checkoutPaymentMethod:e});const s=r.anyCdeConnection,i=await W(s);D(`├ Validating non-CDE form fields [Mode: ${i.mode}]`);const c=Ne(t,n.get.onValidationError),l={session_id:r.elementsSessionId,checkout_payment_method:e,non_cde_form_fields:c,extra_metadata:{}};try{D(`├ Tokenizing card info in CDE [Session: ${r.elementsSessionId}]`);const d=await li(o.currentCdeConnections,{session_id:r.elementsSessionId});if(Si(d,n.get.onValidationError),i.mode==="setup"){D(`├ Setting up payment method in CDE [Token: ${i.token}]`);const p=await ui(s,l);return D(`╰ Setup completed successfully [PM ID: ${p.payment_method_id}]`),{mode:"setup",result:p}}else{D(`├ Initial checkout flow. Checking out card info in CDE [Session: ${r.elementsSessionId}]`);const p=await vn(s,l);return D("╰ Checkout completed successfully."),{mode:"checkout",result:p}}}catch(d){if(d instanceof gn&&d.originalErrorMessage.includes("3DS_REQUIRED")){D("├ Card requires 3DS, starting non-legacy payment flow"),D("Received 3DS error response headers:",d.response.headers);const p=zi(d.response.headers);if(p){D("├ Pockyt 3DS case detected. Going through Pockyt 3DS flow.");const S=await Gi(r.baseUrl,d.response.headers);l.extra_metadata.pockyt=S}if(Wi(d.response.headers)){D("├ Airwallex 3DS case detected. Going through Airwallex 3DS flow.");const S=await Hi(r.baseUrl,d.response.headers);l.extra_metadata.airwallex=S}const f=await oi(s,l);D("├ Payment flow result:",f);const y=((u=d.response.headers)==null?void 0:u["op-should-use-new-flow"])!=="true";p?D("├ Pre-start 3DS is successful, other 3DS flows will be skipped."):y?(D("├ Using stripe 3DS flow"),await tc(f)):(D("├ Using common 3DS flow"),await ec(f,r.baseUrl));const b=f.cc_pm_id;if(i.mode==="setup"){D(`├ Confirming payment flow [cc_pm_id: ${b}]`);const S=await pe(s,{secure_token:i.token,existing_cc_pm_id:b});D("├ Confirm payment flow result received Result:",S);const R=qt(S);return D(`╰ Setup completed successfully [PM ID: ${R.payment_method_id}]`),{mode:"setup",result:R}}else{D(`├ Checking out after 3DS flow [Flow: ${y?"legacy":"new"}]`);const S=await vn(s,{...l,existing_cc_pm_id:b,do_not_use_legacy_cc_flow:y});return D("╰ Checkout completed successfully."),{mode:"checkout",result:S}}}throw Ln("╰ Error checking out card info in CDE"),Ln(d),d}}),Qi=r=>{const e=r.required_user_actions.find(t=>t.type==="stripe_3ds");if(!e)throw new Error("No stripe 3DS action found");return Hs.parse(e)},Xi=r=>{const e=r.required_user_actions.find(t=>t.type==="airwallex_payment_consent");if(!e)throw new Error("No common 3DS action found");return qs.parse(e)},ec=async(r,e)=>{const t=Xi(r);if(t.type==="airwallex_payment_consent"&&t.redirect_url==="3DS_COMPLETE"){D("├ Airwallex 3DS flow completed successfully");return}D(`├ Using common 3DS flow [URL: ${t.redirect_url}]`);const{status:n}=await Wt({url:t.redirect_url,baseUrl:e});if(D(`╰ 3DS verification completed [Status: ${n}]`),n===oe.CANCELLED)throw new Error("3DS verification cancelled");if(n===oe.FAILURE)throw new Error("3DS verification failed")},tc=async r=>{const e=Qi(r);Fn(`├ Using stripe 3DS flow [Client Secret: ${e.client_secret.substring(0,8)}...]`),await na(e),Fn("╰ Stripe 3DS flow completed successfully")},se=a.enum(["stripe","airwallex","authorize_net"]);se.Enum.stripe;const{log__:K,err__:rc}=F("stripe-pr"),nc=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()})}),oc=Xe(async({context:r,formCallbacks:e})=>{K("Checking if there are any CPMs for Stripe PR...");const t=he(r.checkoutPaymentMethods,nc);K("Initializing Stripe PR flow...");const n=r.anyCdeConnection,o=await W(n),s=o.mode==="setup";K("Getting initial preview amount");const i=await He(n,o.token,s,void 0),c=await ea(t.metadata.stripe_pk,i.amountAtom,i.currency,s);K("Checking if can make payment");const l=await c.canMakePayment();if(l===null)return rc("canMakePayment returned null"),{isAvailable:!1,reason:"canMakePayment returned null"};K("Stripe PR flow initialized successfully. Can make payment",l);const u=(d,p)=>B.stripePR.run({context:r,checkoutPaymentMethod:Qt(r.checkoutPaymentMethods,d),nonCdeFormInputs:be(r.formDiv),formCallbacks:e,customParams:{provider:d,overridePaymentRequest:p==null?void 0:p.overridePaymentRequest},initResult:{processor:se.Enum.stripe,pr:c,isAvailable:!0,availableProviders:{applePay:l.applePay,googlePay:l.googlePay},startFlow:u}});return{processor:se.Enum.stripe,isAvailable:!0,pr:c,availableProviders:{applePay:l.applePay,googlePay:l.googlePay},startFlow:u}}),sc=Oe(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o,initResult:s})=>{if(K("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 y=o.overridePaymentRequest;K("Overriding PR amount with",y),ic(c,y.amount,y.pending,y.applePayPaymentRequest)}K("Showing PR dialog..."),c.show();const l=await ta(c);K("Stripe PM added event:",l),K("Merging PM fields with form fields...");const u=ac(t,l),d=Ne(u,n.get.onValidationError);K("PR dialog finished. Starting payment flow...",d);const p=await si(i,{fields:d,checkoutPaymentMethod:e}),_=cc(p);K("Confirming PR with Stripe..."),await ra(_,l);const f=await W(i);if(f.mode==="setup"){K("Confirming payment flow for setup...");const y=await pe(i,{secure_token:f.token});return{mode:"setup",result:qt(y)}}else{K("Performing checkout...");const y={secure_token:f.token,payment_input:{provider_type:e.provider},customer_first_name:d[h.FIRST_NAME],customer_last_name:d[h.LAST_NAME],customer_email:d[h.EMAIL],customer_zip_code:d[h.ZIP_CODE],customer_country:d[h.COUNTRY],promotion_code:d[h.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 _r(i,y)}}}),ac=(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[h.FIRST_NAME]=t[h.FIRST_NAME]||n||"_OP_UNKNOWN",t[h.LAST_NAME]=t[h.LAST_NAME]||s||"_OP_UNKNOWN",t[h.EMAIL]=t[h.EMAIL]||e.payerEmail||"op_unfilled@getopenpay.com",t[h.ZIP_CODE]=t[h.ZIP_CODE]||(i==null?void 0:i.postal_code)||(c==null?void 0:c.postalCode)||"00000",t[h.COUNTRY]=t[h.COUNTRY]||(i==null?void 0:i.country)||(c==null?void 0:c.country)||"US",K("Final form inputs:",t),t},ic=(r,e,t,n)=>{r.update({total:{amount:e.amountAtom,label:"Total",pending:t},currency:e.currency,applePay:n})},cc=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 Js.parse(r.required_user_actions[0])},{log__:me,err__:Un}=F("pockyt-paypal"),lc=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 uc=Oe(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{var L,q;me("Running Pockyt Paypal flow...");const s=r.anyCdeConnection,i=await W(s);me("Verifying CPM...");const c=lc.parse(e);me("├ Validating non-CDE form fields");const l=o==null?void 0:o.settings,u=Ne(t,n.get.onValidationError,l==null?void 0:l.defaultFieldValues),d=Ci(u);me(`Starting payment flow... Mode: ${i.mode}`);const p=rn(),_=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:!!((L=o==null?void 0:o.settings)!=null&&L.useRedirectFlow),frontend_token_for_redirect_flow:p},...d},y=new URL("/app/pre-action/start/",r.baseUrl).toString(),b=btoa(JSON.stringify(f)),S=new URLSearchParams({st:i.token,r:b}),R=`${y}?${S.toString()}`;if((q=o==null?void 0:o.settings)!=null&&q.useRedirectFlow)throw me("Starting redirect mode for PayPal..."),window.location.href=R,await Xr(20*1e3),new Error("Paypal flow timed out, please try again with another payment method.");me("Starting popup mode for PayPal..."),me("Opening paypal iframe...");const I=await Fi("PayPal",s,p,R);me("Paypal flow result",I);const C=Mn(I.href),N=Vi(I.href,"catt");if(!N)throw Un("Checkout attempt ID not found in redirect URL:",I.href),new Error("Checkout attempt ID not found in redirect URL");me(`Confirming payment flow using vault ID ${C}`);const U=await pe(s,{secure_token:i.token,their_pm_id:C,checkout_attempt_id:_?N:void 0});if(me("Confirm payment flow result",U),i.mode==="setup")return{mode:"setup",result:{payment_method_id:U.payment_methods[0].id}};if(!U.pay_first_success_response)throw Un("Checkout failed, no pay-first success response:",U),new Error("Checkout failed, please try again with another payment method.");return{mode:"checkout",result:U.pay_first_success_response}}),Kt=({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},$n=()=>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 Cr=null;const Zn=r=>r===De||r===window.location.origin?"PRODUCTION":"TEST",Ht=(r,e)=>{const t=Zn(r);return Cr===null&&(Cr=new window.google.payments.api.PaymentsClient({environment:t,merchantInfo:e.merchantInfo})),Cr},dc=r=>{const e=r.required_user_actions.find(t=>t.type==="airwallex_payment_consent");return e?Qr.parse(e):null},Vn=(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[h.EMAIL]=t[h.EMAIL]||e.email||"op_unfilled@getopenpay.com",t[h.COUNTRY]=t[h.COUNTRY]||n.countryCode||"US",t[h.ADDRESS]=t[h.ADDRESS]||n.address1||"",t[h.CITY]=t[h.CITY]||n.locality||"",t[h.ZIP_CODE]=t[h.ZIP_CODE]||n.postalCode||"00000",t[h.STATE]=t[h.STATE]||n.administrativeArea||"",t[h.FIRST_NAME]=t[h.FIRST_NAME]||l||"_OP_UNKNOWN",t[h.LAST_NAME]=t[h.LAST_NAME]||d||"_OP_UNKNOWN"}return t},{log__:ae,err__:et}=F("awx-google-pay"),pc=Xe(async({context:r,formCallbacks:e})=>{var p,_;const t={processor:se.Enum.airwallex,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=he(r.checkoutPaymentMethods,jn);if(!n)return t;ae("Google Pay CPM",n);const o=n.metadata;if(!o.processor_account_id)return et("No gateway merchant ID found in processor account"),t;if(ae("Loading Google Pay SDK..."),await $n(),!((_=(p=window.google)==null?void 0:p.payments)!=null&&_.api))return et("Google Pay SDK not loaded properly"),t;if(Zn(r.baseUrl)==="PRODUCTION"&&!o.google_pay_merchant_id)return et("Google Pay merchant ID is required for production environment"),t;ae("Google Pay SDK loaded",window.google.payments);try{const f=Kt({gateway:"airwallex",gatewayMerchantId:o.processor_account_id,merchantName:o.processor_account_name,merchantId:o.google_pay_merchant_id??"",initialPreview:{amountAtom:0,currency:"USD"}}),{result:y}=await Ht(r.baseUrl,f).isReadyToPay(f);if(!y)return ae("Google Pay is not available for this user"),t}catch(f){return et("Error checking Google Pay availability",f),t}const i=r.anyCdeConnection,c=await W(i),l=c.mode==="setup",u=await He(i,c.token,l,void 0),d=async f=>{try{B.airwallexGooglePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:be(r.formDiv),formCallbacks:e,initResult:void 0,customParams:{...f,initialPreview:u}})}catch(y){et("Google Pay payment error",y),e.get.onCheckoutError((y==null?void 0:y.message)??"Unknown error")}};return{processor:se.Enum.airwallex,isAvailable:!0,isLoading:!1,startFlow:d}}),fc=Oe(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,formCallbacks:n,customParams:o})=>{var p,_,f,y,b,S,R;ae("Starting Google Pay flow...");const s=he(r.checkoutPaymentMethods,jn),{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=Kt({gateway:"airwallex",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:l.google_pay_merchant_id??"",initialPreview:i,overridePaymentRequest:c}),d=Ht(r.baseUrl,u);try{const I=await d.loadPaymentData(u);ae("Google Pay Payment data",I);const C=r.anyCdeConnection,N=await W(C),U=Vn(t,I),L=Ne(U,n.get.onValidationError,o==null?void 0:o.defaultFieldValues),q=(_=(p=I.paymentMethodData)==null?void 0:p.tokenizationData)==null?void 0:_.token;if(!q)throw new Error("No payment token received from Google Pay");const Il=await St(C,{payment_provider:e.provider,checkout_payment_method:e,new_customer_email:L[h.EMAIL],new_customer_first_name:L[h.FIRST_NAME],new_customer_last_name:L[h.LAST_NAME],new_customer_address:{postal_code:L[h.ZIP_CODE],country_code:L[h.COUNTRY]}}),ar=dc(Il);ae("Start flow next actions",ar);let Ze=await pe(C,{secure_token:N.token,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:ar==null?void 0:ar.consent_id,airwallex_payment_method_data:{type:"googlepay",googlepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:q}}}});ae("[1st] Confirm payment flow response",Ze);let Dr=(y=(f=Ze.payment_methods)==null?void 0:f[0])==null?void 0:y.id;const Ve=(b=Ze.required_user_actions)==null?void 0:b.find(Rt=>Rt.type==="airwallex_payment_consent");if(Ve&&Ve.redirect_url){ae("3DS Required, starting verification...",Ve);const{status:Rt}=await Wt({url:Ve.redirect_url,baseUrl:r.baseUrl});if(ae(`╰ 3DS verification completed [Status: ${Rt}]`),Rt===oe.CANCELLED)throw new Error("3DS verification cancelled");if(Rt===oe.FAILURE)throw new Error("3DS verification failed")}if(Ve&&!Dr&&(Ze=await pe(C,{secure_token:N.token,their_pm_id:Ve.their_pm_id,processor_specific_metadata:{payment_provider:e.provider,airwallex_consent_id:Ve.consent_id}}),ae("[2nd] Confirm payment flow response",Ze),Dr=(R=(S=Ze.payment_methods)==null?void 0:S[0])==null?void 0:R.id),!Dr)throw new Error("No PM ID found");return Yt({logPrefix:"awx-googlepay",anyCdeConnection:C,checkoutPaymentMethod:e,requiredFormFields:L,confirmResult:Ze,usePayFirstFlow:!1})}catch(I){throw et("Google Pay payment error",I),new Error((I==null?void 0:I.message)??"Unknown error")}}),zn=()=>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)}),Gn=(r,e)=>{const t=e.token.paymentMethod.billingContact,n=e.billingContact,o=e.shippingContact,s={...r};return(t||n||o)&&(s[h.EMAIL]=s[h.EMAIL]||(t==null?void 0:t.emailAddress)||(n==null?void 0:n.emailAddress)||(o==null?void 0:o.emailAddress)||"op_unfilled@email.com",s[h.COUNTRY]=s[h.COUNTRY]||(t==null?void 0:t.countryCode)||(n==null?void 0:n.countryCode)||(o==null?void 0:o.countryCode)||"US",s[h.ZIP_CODE]=s[h.ZIP_CODE]||(t==null?void 0:t.postalCode)||(n==null?void 0:n.postalCode)||(o==null?void 0:o.postalCode)||"00000",s[h.FIRST_NAME]=s[h.FIRST_NAME]||(t==null?void 0:t.givenName)||(n==null?void 0:n.givenName)||(o==null?void 0:o.givenName)||"_OP_UNKNOWN",s[h.LAST_NAME]=s[h.LAST_NAME]||(t==null?void 0:t.familyName)||(n==null?void 0:n.familyName)||(o==null?void 0:o.familyName)||"_OP_UNKNOWN"),s},hc=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")}),mc=r=>hc.safeParse(r).data,yc=r=>{const e=new AbortController;return window.addEventListener("message",t=>{var o;const n=mc(t);((o=n==null?void 0:n.data)==null?void 0:o.messageType)==="windowclosing"&&(r(),e.abort())},{signal:e.signal}),{cleanupCancelListener:()=>e.abort()}},Bn=({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}`,De).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}`}},qn=({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__:Jt}=F("awx-apple-pay");async function _c(r,e){try{const n=(await St(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:e.nonCdeFormInputs[h.EMAIL],new_customer_first_name:e.nonCdeFormInputs[h.FIRST_NAME],new_customer_last_name:e.nonCdeFormInputs[h.LAST_NAME],processor_specific_metadata:{airwallex_payment_session:{validation_url:r.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).required_user_actions[0],o=n.payment_session,s=n.consent_id;if(!o)throw new Error("No session data received from payment flow");if(!s)throw new Error("No consent ID received from payment flow");return e.session.completeMerchantValidation(o),s}catch(t){throw e.session.abort(),t}}async function gc(r,e){if(!r.redirect_url)throw new Error("No redirect URL found");Jt("3DS Required, starting verification...",r);const{status:t}=await Wt({url:r.redirect_url,baseUrl:e.baseUrl});if(Jt(`╰ 3DS verification completed [Status: ${t}]`),t===oe.CANCELLED)throw new Error("3DS verification cancelled");if(t===oe.FAILURE)throw new Error("3DS verification failed");const n=await pe(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{their_pm_id:r.their_pm_id,airwallex_consent_id:r.consent_id,payment_provider:e.checkoutPaymentMethod.provider}});return Jt("[2nd] Confirm payment flow response",n),n}async function vc(r,e,t){var n,o,s,i,c;try{const l=r.payment,u=Gn(e.nonCdeFormInputs,l),d=Ne(u,e.formCallbacks.get.onValidationError,e.defaultFieldValues);await bn(e.connection,{email:d[h.EMAIL],first_name:d[h.FIRST_NAME],last_name:d[h.LAST_NAME],zip_code:d[h.ZIP_CODE],country:d[h.COUNTRY],update_processor_customer:!0});let p=await pe(e.connection,{secure_token:e.prefill.token,processor_specific_metadata:{payment_provider:e.checkoutPaymentMethod.provider,airwallex_consent_id:t,airwallex_payment_method_data:{type:"applepay",applepay:{payment_data_type:"encrypted_payment_token",encrypted_payment_token:JSON.stringify(l.token)}}}});Jt("[1st] Confirm payment flow response",p);let _=(o=(n=p.payment_methods)==null?void 0:n[0])==null?void 0:o.id;const f=(s=p.required_user_actions)==null?void 0:s.find(b=>b.type==="airwallex_payment_consent");if(f!=null&&f.redirect_url&&f.consent_id&&f.their_pm_id&&(p=await gc(f,e),_=(c=(i=p.payment_methods)==null?void 0:i[0])==null?void 0:c.id),!_)throw new Error("No PM ID found");const y={status:ApplePaySession.STATUS_SUCCESS};return e.session.completePayment(y),Yt({logPrefix:"awx-applepay",anyCdeConnection:e.connection,checkoutPaymentMethod:e.checkoutPaymentMethod,requiredFormFields:d,confirmResult:p,usePayFirstFlow:!1})}catch(l){const u={status:ApplePaySession.STATUS_FAILURE};throw e.session.completePayment(u),l}}const{log__:tt,err__:Sr}=F("awx-apple-pay"),wc=Xe(async({context:r,formCallbacks:e})=>{const t={processor:se.Enum.airwallex,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=he(r.checkoutPaymentMethods,Dn);if(!n)return t;tt("Loading Apple Pay SDK...");try{await zn(),tt("Apple Pay SDK loaded successfully")}catch(p){return Sr("Failed to load Apple Pay SDK",p),t}if(!window.ApplePaySession||!ApplePaySession.canMakePayments())return tt("Apple Pay is not available on this device/browser"),t;if(tt("Apple Pay Loaded"),!await ApplePaySession.canMakePayments())return tt("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 W(i),l=c.mode==="setup",u=await He(i,c.token,l,void 0),d=async p=>{try{await B.airwallexApplePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:be(r.formDiv),formCallbacks:e,customParams:{...p,initialPreview:u},initResult:void 0})}catch(_){Sr("Apple Pay payment error",_),e.get.onCheckoutError((_==null?void 0:_.message)??"Unknown error")}};return{processor:se.Enum.airwallex,isAvailable:!0,isLoading:!1,startFlow:d}}),bc=Oe(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,customParams:n,formCallbacks:o})=>{var R;const s=he(r.checkoutPaymentMethods,Dn),{overridePaymentRequest:i,initialPreview:c}=n,l=r.anyCdeConnection,u=await W(l),d=u.mode==="setup",{currencyCode:p,total:_}=qn({overridePaymentRequest:i,initialPreview:c,defaultLabel:(R=s==null?void 0:s.metadata)==null?void 0:R.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:Bn({total:_,prefill:u}),...(i==null?void 0:i.applePayPaymentRequest)??{}},y=new ApplePaySession(3,f),b={session:y,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};let S;return new Promise((I,C)=>{const N=()=>{tt("Payment cancelled by user"),C(new Error("Payment cancelled by user"))},{cleanupCancelListener:U}=yc(N);y.oncancel=N,y.onvalidatemerchant=async L=>{try{S=await _c(L,b)}catch(q){C(q)}},y.onpaymentmethodselected=()=>{const L={newTotal:{..._}};y.completePaymentMethodSelection(L)},y.onpaymentauthorized=async L=>{try{const q=await vc(L,b,S);U(),I(q)}catch(q){C(q)}},y.begin()}).catch(I=>{throw Sr("Apple Pay payment error",I),I})});async function kc(r,e){try{const o=(await St(e.connection,{payment_provider:e.checkoutPaymentMethod.provider,checkout_payment_method:e.checkoutPaymentMethod,new_customer_email:e.nonCdeFormInputs[h.EMAIL],new_customer_first_name:e.nonCdeFormInputs[h.FIRST_NAME],new_customer_last_name:e.nonCdeFormInputs[h.LAST_NAME],processor_specific_metadata:{apple_payment_session:{validation_url:r.validationURL,initiative_context:window.location.hostname,their_account_id:e.processorAccount.processor_account_id}}})).required_user_actions[0].payment_session;if(!o)throw new Error("No merchant session received from payment flow");e.session.completeMerchantValidation(o)}catch(t){throw e.session.abort(),t}}async function Ec(r,e){var t,n;try{const o=r.payment,s=Gn(e.nonCdeFormInputs,o),i=Ne(s,e.formCallbacks.get.onValidationError);await bn(e.connection,{email:i[h.EMAIL],first_name:i[h.FIRST_NAME],last_name:i[h.LAST_NAME],zip_code:i[h.ZIP_CODE],country:i[h.COUNTRY],update_processor_customer:!0});const c={dataDescriptor:"COMMON.APPLE.INAPP.PAYMENT",dataValue:window.btoa(JSON.stringify(o.token.paymentData))},l=await pe(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),Yt({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 Yn=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()})}),Wn=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__:xt,err__:Pr}=F("authnet-applepay"),Cc=Xe(async({context:r,formCallbacks:e})=>{const t={processor:se.Enum.authorize_net,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=he(r.checkoutPaymentMethods,Yn);if(!n)return t;xt("Loading Apple Pay SDK...");try{await zn(),xt("Apple Pay SDK loaded successfully")}catch(p){return Pr("Failed to load Apple Pay SDK",p),t}if(!window.ApplePaySession||!ApplePaySession.canMakePayments())return xt("Apple Pay is not available on this device/browser"),t;if(!await ApplePaySession.canMakePayments())return xt("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 W(i),l=c.mode==="setup",u=await He(i,c.token,l,void 0),d=async p=>{try{await B.authorizeNetApplePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:be(r.formDiv),formCallbacks:e,customParams:{...p,initialPreview:u},initResult:void 0})}catch(_){Pr("Apple Pay payment error",_),e.get.onCheckoutError((_==null?void 0:_.message)??"Unknown error")}};return{processor:se.Enum.authorize_net,isAvailable:!0,isLoading:!1,startFlow:d}}),Sc=Oe(async({context:r,checkoutPaymentMethod:e,nonCdeFormInputs:t,customParams:n,formCallbacks:o})=>{var S;const{initialPreview:s,overridePaymentRequest:i}=n,c=he(r.checkoutPaymentMethods,Yn),{currencyCode:l,total:u}=qn({overridePaymentRequest:i,initialPreview:s,defaultLabel:(S=c==null?void 0:c.metadata)==null?void 0:S.processor_account_name}),d=r.anyCdeConnection,p=await W(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:Bn({total:u,prefill:p}),...(i==null?void 0:i.applePayPaymentRequest)??{}},y=new ApplePaySession(3,f),b={session:y,connection:r.anyCdeConnection,checkoutPaymentMethod:e,nonCdeFormInputs:t,processorAccount:e.metadata,prefill:p,isSetupMode:_,baseUrl:r.baseUrl,formCallbacks:o};return new Promise((R,I)=>{y.oncancel=()=>{xt("Payment cancelled by user"),I(new Error("Payment cancelled by user"))},y.onvalidatemerchant=async C=>{try{await kc(C,b)}catch(N){I(N)}},y.onpaymentmethodselected=()=>{const C={newTotal:f.total};y.completePaymentMethodSelection(C)},y.onpaymentauthorized=async C=>{try{const N=await Ec(C,b);R(N)}catch(N){I(N)}},y.begin()}).catch(R=>{throw Pr("Apple Pay payment error",R),R})}),{log__:$e,err__:It}=F("authnet-googlepay"),Pc=Xe(async({context:r,formCallbacks:e})=>{var d,p;$e("Initializing Authnet GooglePay flow");const t={processor:se.Enum.authorize_net,isAvailable:!1,isLoading:!1,startFlow:async()=>{}},n=he(r.checkoutPaymentMethods,Wn);if(!n)return t;$e("Google Pay CPM",n);const o=n.metadata;if(!o.processor_account_id)return It("No gateway merchant ID found in processor account"),t;if($e("Loading Google Pay SDK..."),await $n(),!((p=(d=window.google)==null?void 0:d.payments)!=null&&p.api))return It("Google Pay SDK not loaded properly"),t;$e("Google Pay SDK loaded",window.google.payments);try{const _=Kt({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 Ht(r.baseUrl,_).isReadyToPay(_);if(!f)return $e("Google Pay is not available for this user"),t}catch(_){return It("Error checking Google Pay availability",_),t}const s=r.anyCdeConnection,i=await W(s),c=i.mode==="setup",l=await He(s,i.token,c,void 0),u=async _=>{try{B.authorizeNetGooglePay.run({context:r,checkoutPaymentMethod:n,nonCdeFormInputs:be(r.formDiv),formCallbacks:e,initResult:void 0,customParams:{..._,initialPreview:l}})}catch(f){It("Google Pay payment error",f),e.get.onCheckoutError((f==null?void 0:f.message)??"Unknown error")}};return{processor:se.Enum.authorize_net,isAvailable:!0,isLoading:!1,startFlow:u}}),Ac=Oe(async({context:r,nonCdeFormInputs:e,checkoutPaymentMethod:t,formCallbacks:n,customParams:o})=>{var p,_,f,y;const{initialPreview:s,overridePaymentRequest:i}=o,l=he(r.checkoutPaymentMethods,Wn).metadata,u=Kt({gateway:"authorizenet",gatewayMerchantId:l.processor_account_id,merchantName:l.processor_account_name,merchantId:l.google_pay_merchant_id??"",initialPreview:s,overridePaymentRequest:i}),d=Ht(r.baseUrl,u);try{const b=await d.loadPaymentData(u);$e("Google Pay Payment data",b);const S=r.anyCdeConnection,R=await W(S),I=Vn(e,b),C=Ne(I,n.get.onValidationError),N=(_=(p=b.paymentMethodData)==null?void 0:p.tokenizationData)==null?void 0:_.token;if(!N)throw new Error("No payment token received from Google Pay");const U=await St(S,{payment_provider:t.provider,checkout_payment_method:t,new_customer_email:C[h.EMAIL],new_customer_first_name:C[h.FIRST_NAME],new_customer_last_name:C[h.LAST_NAME],new_customer_address:{postal_code:C[h.ZIP_CODE],country_code:C[h.COUNTRY]}});$e("Start payment flow response",U);const L=await pe(S,{secure_token:R.token,processor_specific_metadata:{payment_provider:t.provider,mobile_wallet_payment_data:{dataDescriptor:"COMMON.GOOGLE.INAPP.PAYMENT",dataValue:window.btoa(N)}}});if(!((y=(f=L.payment_methods)==null?void 0:f[0])==null?void 0:y.id))throw new Error("No PM ID found");return Yt({logPrefix:"authnet-googlepay",anyCdeConnection:S,checkoutPaymentMethod:t,requiredFormFields:C,confirmResult:L,usePayFirstFlow:!1})}catch(b){throw It("Google Pay payment error",b),new Error((b==null?void 0:b.message)??"Unknown error")}}),Qt=(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]},B={commonCC:{init:async()=>{},run:Ji},stripePR:{init:oc,run:sc},stripeLink:{init:Ii,run:Ti},pockytPaypal:{run:uc},airwallexGooglePay:{init:pc,run:fc},airwallexApplePay:{init:wc,run:bc},authorizeNetApplePay:{init:Cc,run:Sc},authorizeNetGooglePay:{init:Pc,run:Ac}};var Ar=function(r,e){return Ar=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])},Ar(r,e)};function Me(r,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");Ar(r,e);function t(){this.constructor=r}r.prototype=e===null?Object.create(e):(t.prototype=e.prototype,new t)}function xc(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 Kn(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 rt(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 Xt(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 er(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 nt(r){return this instanceof nt?(this.v=r,this):new nt(r)}function Ic(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(y){return Promise.resolve(y).then(f,p)}}function c(f,y){n[f]&&(o[f]=function(b){return new Promise(function(S,R){s.push([f,b,S,R])>1||l(f,b)})},y&&(o[f]=y(o[f])))}function l(f,y){try{u(n[f](y))}catch(b){_(s[0][3],b)}}function u(f){f.value instanceof nt?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,y){f(y),s.shift(),s.length&&l(s[0][0],s[0][1])}}function Tc(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 rt=="function"?rt(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 V(r){return typeof r=="function"}function tr(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 xr=tr(function(r){return function(t){r(this),this.message=t?t.length+` errors occurred during unsubscription:
|
|
24
|
+
`+t.map(function(n,o){return o+1+") "+n.toString()}).join(`
|
|
25
|
+
`):"",this.name="UnsubscriptionError",this.errors=t}});function rr(r,e){if(r){var t=r.indexOf(e);0<=t&&r.splice(t,1)}}var Tt=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=rt(i),l=c.next();!l.done;l=c.next()){var u=l.value;u.remove(this)}}catch(b){e={error:b}}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(V(d))try{d()}catch(b){s=b instanceof xr?b.errors:[b]}var p=this._finalizers;if(p){this._finalizers=null;try{for(var _=rt(p),f=_.next();!f.done;f=_.next()){var y=f.value;try{Qn(y)}catch(b){s=s??[],b instanceof xr?s=er(er([],Xt(s)),Xt(b.errors)):s.push(b)}}}catch(b){n={error:b}}finally{try{f&&!f.done&&(o=_.return)&&o.call(_)}finally{if(n)throw n.error}}}if(s)throw new xr(s)}},r.prototype.add=function(e){var t;if(e&&e!==this)if(this.closed)Qn(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)&&rr(t,e)},r.prototype.remove=function(e){var t=this._finalizers;t&&rr(t,e),e instanceof r&&e._removeParent(this)},r.EMPTY=function(){var e=new r;return e.closed=!0,e}(),r}(),Hn=Tt.EMPTY;function Jn(r){return r instanceof Tt||r&&"closed"in r&&V(r.remove)&&V(r.add)&&V(r.unsubscribe)}function Qn(r){V(r)?r():r.unsubscribe()}var Xn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},eo={setTimeout:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setTimeout.apply(void 0,er([r,e],Xt(t)))},clearTimeout:function(r){var e=eo.delegate;return((e==null?void 0:e.clearTimeout)||clearTimeout)(r)},delegate:void 0};function to(r){eo.setTimeout(function(){throw r})}function ro(){}function nr(r){r()}var Ir=function(r){Me(e,r);function e(t){var n=r.call(this)||this;return n.isStopped=!1,t?(n.destination=t,Jn(t)&&t.add(n)):n.destination=Mc,n}return e.create=function(t,n,o){return new Rr(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}(Tt),Rc=Function.prototype.bind;function Tr(r,e){return Rc.call(r,e)}var Oc=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){or(n)}},r.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(n){or(n)}else or(e)},r.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(t){or(t)}},r}(),Rr=function(r){Me(e,r);function e(t,n,o){var s=r.call(this)||this,i;if(V(t)||!t)i={next:t??void 0,error:n??void 0,complete:o??void 0};else{var c;s&&Xn.useDeprecatedNextContext?(c=Object.create(t),c.unsubscribe=function(){return s.unsubscribe()},i={next:t.next&&Tr(t.next,c),error:t.error&&Tr(t.error,c),complete:t.complete&&Tr(t.complete,c)}):i=t}return s.destination=new Oc(i),s}return e}(Ir);function or(r){to(r)}function Nc(r){throw r}var Mc={closed:!0,next:ro,error:Nc,complete:ro},Or=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}();function Dc(r){return r}function jc(r){return r.length===0?Dc:r.length===1?r[0]:function(t){return r.reduce(function(n,o){return o(n)},t)}}var ke=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=Fc(e)?e:new Rr(e,t,n);return nr(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=no(t),new t(function(o,s){var i=new Rr({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[Or]=function(){return this},r.prototype.pipe=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return jc(e)(this)},r.prototype.toPromise=function(e){var t=this;return e=no(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 no(r){var e;return(e=r??Xn.Promise)!==null&&e!==void 0?e:Promise}function Lc(r){return r&&V(r.next)&&V(r.error)&&V(r.complete)}function Fc(r){return r&&r instanceof Ir||Lc(r)&&Jn(r)}function Uc(r){return V(r==null?void 0:r.lift)}function $c(r){return function(e){if(Uc(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 Zc(r,e,t,n,o){return new Vc(r,e,t,n,o)}var Vc=function(r){Me(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}(Ir),zc=tr(function(r){return function(){r(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),oo=function(r){Me(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 so(this,this);return n.operator=t,n},e.prototype._throwIfClosed=function(){if(this.closed)throw new zc},e.prototype.next=function(t){var n=this;nr(function(){var o,s;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var i=rt(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;nr(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;nr(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?Hn:(this.currentObservers=null,c.push(t),new Tt(function(){n.currentObservers=null,rr(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 ke;return t.source=this,t},e.create=function(t,n){return new so(t,n)},e}(ke),so=function(r){Me(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:Hn},e}(oo),Gc={now:function(){return Date.now()},delegate:void 0},Bc=function(r){Me(e,r);function e(t,n){return r.call(this)||this}return e.prototype.schedule=function(t,n){return this},e}(Tt),ao={setInterval:function(r,e){for(var t=[],n=2;n<arguments.length;n++)t[n-2]=arguments[n];return setInterval.apply(void 0,er([r,e],Xt(t)))},clearInterval:function(r){return clearInterval(r)},delegate:void 0},qc=function(r){Me(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),ao.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&&ao.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,rr(s,this),n!=null&&(this.id=this.recycleAsyncId(o,n,null)),this.delay=null,r.prototype.unsubscribe.call(this)}},e}(Bc),io=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=Gc.now,r}(),Yc=function(r){Me(e,r);function e(t,n){n===void 0&&(n=io.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}(io),Wc=new Yc(qc),Kc=function(r){return r&&typeof r.length=="number"&&typeof r!="function"};function Hc(r){return V(r==null?void 0:r.then)}function Jc(r){return V(r[Or])}function Qc(r){return Symbol.asyncIterator&&V(r==null?void 0:r[Symbol.asyncIterator])}function Xc(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 tl=el();function rl(r){return V(r==null?void 0:r[tl])}function nl(r){return Ic(this,arguments,function(){var t,n,o,s;return Kn(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,nt(t.read())];case 3:return n=i.sent(),o=n.value,s=n.done,s?[4,nt(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,nt(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 ol(r){return V(r==null?void 0:r.getReader)}function sl(r){if(r instanceof ke)return r;if(r!=null){if(Jc(r))return al(r);if(Kc(r))return il(r);if(Hc(r))return cl(r);if(Qc(r))return co(r);if(rl(r))return ll(r);if(ol(r))return ul(r)}throw Xc(r)}function al(r){return new ke(function(e){var t=r[Or]();if(V(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function il(r){return new ke(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()})}function cl(r){return new ke(function(e){r.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,to)})}function ll(r){return new ke(function(e){var t,n;try{for(var o=rt(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 co(r){return new ke(function(e){dl(r,e).catch(function(t){return e.error(t)})})}function ul(r){return co(nl(r))}function dl(r,e){var t,n,o,s;return xc(this,void 0,void 0,function(){var i,c;return Kn(this,function(l){switch(l.label){case 0:l.trys.push([0,5,6,11]),t=Tc(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 pl(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 fl(r,e){var t=V(r)?r:function(){return r},n=function(o){return o.error(t())};return new ke(n)}var hl=tr(function(r){return function(){r(this),this.name="EmptyError",this.message="no elements in sequence"}});function ml(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 hl)}})})}function yl(r){return r instanceof Date&&!isNaN(r)}var _l=tr(function(r){return function(t){t===void 0&&(t=null),r(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function gl(r,e){var t=yl(r)?{first:r}:typeof r=="number"?{each:r}:r,n=t.first,o=t.each,s=t.with,i=s===void 0?vl:s,c=t.scheduler,l=c===void 0?Wc:c,u=t.meta,d=u===void 0?null:u;if(n==null&&o==null)throw new TypeError("No timeout provided.");return $c(function(p,_){var f,y,b=null,S=0,R=function(I){y=pl(_,l,function(){try{f.unsubscribe(),sl(i({meta:d,lastValue:b,seen:S})).subscribe(_)}catch(C){_.error(C)}},I)};f=p.subscribe(Zc(_,function(I){y==null||y.unsubscribe(),S++,_.next(b=I),o>0&&R(o)},void 0,void 0,function(){y!=null&&y.closed||y==null||y.unsubscribe(),b=null})),!S&&R(n!=null?typeof n=="number"?n:+n-l.now():o)})}function vl(r){throw new _l(r)}class sr{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"&&gr(this._current);const t={first:e.timeoutSec*1e3,with:()=>fl(()=>new Error(e.timeoutErrMsg))};return ml(this._subject.pipe(gl(t)))},this._current={status:"initial",isSuccess:!1},this._subject=new oo}get current(){return this._current}}const{log__:wl,err__:bl}=F("init-flows"),ot=(r,e)=>{const t=new sr;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);wl(`✔ ${r} flow initialized successfully. Result:`,o),t.set(o)}catch(o){bl(`𝙭 ${r} flow initialization failed. Error:`,we(o),"Details:",o),t.throw(o,we(o))}}}},kl=async(r,e,t)=>{await Promise.all(Object.values(r).map(n=>n.initialize({context:e,formCallbacks:t})))},El=()=>({stripePR:ot("Stripe PR",B.stripePR.init),stripeLink:ot("Stripe Link",B.stripeLink.init),airwallexGooglePay:ot("Airwallex GooglePay",B.airwallexGooglePay.init),airwallexApplePay:ot("Airwallex ApplePay",B.airwallexApplePay.init),authorizeNetGooglePay:ot("Authnet GooglePay",B.authorizeNetGooglePay.init),authorizeNetApplePay:ot("Authnet ApplePay",B.authorizeNetApplePay.init)}),{err__:Cl}=F("form-callbacks"),ie=a.function().optional(),lo=a.object({onFocus:ie,onBlur:ie,onChange:ie,onLoad:ie,onLoadError:ie,onValidationError:ie,onCheckoutStarted:ie,onCheckoutSuccess:ie,onSetupPaymentMethodSuccess:ie,onCheckoutError:ie,onPaymentRequestLoad:ie}),ye=class ye{constructor(){this.setCallbacks=e=>{this._callbacks=ye.createEmptyCallbacks(),Object.entries(e).forEach(([t,n])=>{const o=vs(t,n??ye.NOOP,Cl);this._callbacks[t]=o})},this._callbacks=ye.createEmptyCallbacks()}get get(){return{...this._callbacks}}};ye.NOOP=()=>{},ye.createEmptyCallbacks=()=>{const e={};return Object.keys(lo.keyof().enum).forEach(t=>{e[t]=ye.NOOP}),e},ye.fromObject=e=>{const t=new ye;return t.setCallbacks(lo.parse(e)),t};let Nr=ye;class Sl{constructor(e,t,n,o){this.handleMessage=s=>{if(!s.source)throw new Error("No source found");if(uo(s.origin)!==uo(this.baseUrl)||typeof s.data=="object"&&s.data.penpal)return;let i=null;try{i=la(JSON.parse(s.data))}catch(p){console.warn("[OJS] Unknown event. Ignoring:",p);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 uo=r=>new URL(r).origin;async function Pl(r,e){const n=await cn({iframe:r,debug:!1,childOrigin:e}).promise,o=await Ra(n);if(!Oa(n,o))throw new Error("Got invalid CDE connection object");return n}class Al{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 xl=(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&&po("apple_pay",s,e,t,u)}},google_pay:{isLoading:!1,isAvailable:c,startFlow:async u=>{c&&po("google_pay",s,e,t,u)}}};t.get.onPaymentRequestLoad(l)}})},po=(r,e,t,n,o)=>B.stripePR.run({context:t,checkoutPaymentMethod:Qt(t.checkoutPaymentMethods,r),nonCdeFormInputs:be(t.formDiv),formCallbacks:n,customParams:{provider:r,overridePaymentRequest:o==null?void 0:o.overridePaymentRequest},initResult:e}),fo="The secure form failed to load properly. Please check your internet connection, or try again later.",{log__:Ee,err__:Ce}=F("op-form"),Se=class Se{constructor(e){this.cdeLoadEvent=new sr,this.anyCdeConn=new sr,this.context=new sr,this.initFlows=El(),this.startFormInit=async()=>{try{Ee("Initializing OpenPay form:"),Ee("├ Waiting for CDE load event...");const t=await this.cdeLoadEvent.waitForLoad({timeoutSec:120,timeoutErrMsg:fo});Ee("├ CDE load event received"),Ee("├ Waiting for CDE connection...");const n=await this.anyCdeConn.waitForLoad({timeoutSec:120,timeoutErrMsg:fo});Ee("├ CDE connection received"),Ee("├ Creating OJS context, setting up handlers...");const o=Se.buildOjsFlowContext(this.config,t,n,this.getFormDiv());this.context.set(o),xl(this.initFlows,o,this.formCallbacks),Ee("├ Starting OJS init flows..."),await kl(this.initFlows,o,this.formCallbacks),this.formCallbacks.get.onLoad(t.totalAmountAtoms,t.currency),Ee("╰ Done initializing OJS flows.")}catch(t){const n=we(t);Ce("╰ Error initializing OP form:",n),this.formCallbacks.get.onLoadError(n)}},this.setFormHeight=t=>{this.formProperties.height=t,this.registeredElements&&Object.values(this.registeredElements).forEach(n=>{n&&(n.node.style.height=t)})},this.onCdeLoaded=t=>{this.cdeLoadEvent.current.isSuccess||this.cdeLoadEvent.set(t)},this.onCdeLoadError=t=>{this.cdeLoadEvent.current.isSuccess||this.cdeLoadEvent.throw(new Error(t),t)},this.createElement=(t,n={})=>{if(!this.config)throw new Error("OpenPay form not initialized");const o=bs.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={[Ke.CARD]:void 0,[Ke.CARD_NUMBER]:void 0,[Ke.CARD_EXPIRY]:void 0,[Ke.CARD_CVC]: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",oa(t.styles)),n.append("secureToken",this.config.checkoutSecureToken),n},this.connectToElement=t=>{Pl(t.node).then(n=>{this.connectionManager.addConnection(t.type,n),this.anyCdeConn.current.isSuccess||this.anyCdeConn.set(n)}).catch(n=>Ce("[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){Ce("Please wait for the form to finish loading before submitting.");return}B.commonCC.run({context:t,checkoutPaymentMethod:Qt(t.checkoutPaymentMethods,"credit_card"),nonCdeFormInputs:be(t.formDiv),formCallbacks:this.formCallbacks,customParams:{currentCdeConnections:this.connectionManager.getAllConnections()},initResult:void 0})},this.getAvailablePaymentMethods=()=>{if(!this.context.getValueIfLoadedElse(null)){Ce("Please wait for the form to finish loading before getting available payment methods.");return}const n={airwallexGooglePay:X.airwallexGooglePay,airwallexApplePay:X.airwallexApplePay,authorizeNetGooglePay:X.authorizenetGooglePay,authorizeNetApplePay:X.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){Ce("Please wait for the form to finish loading before submitting.");return}switch(t){case X.pockytPaypal:return B.pockytPaypal.run({context:o,checkoutPaymentMethod:Qt(o.checkoutPaymentMethods,"paypal","pockyt"),nonCdeFormInputs:be(o.formDiv),formCallbacks:this.formCallbacks,customParams:{settings:n},initResult:void 0});case X.airwallexGooglePay:{const s=this.initFlows.airwallexGooglePay.publisher.getValueIfLoadedElse(null);if(!s){Ce("airwallex-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case X.airwallexApplePay:{const s=this.initFlows.airwallexApplePay.publisher.getValueIfLoadedElse(null);if(!s){Ce("airwallex-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case X.authorizenetGooglePay:{const s=this.initFlows.authorizeNetGooglePay.publisher.getValueIfLoadedElse(null);if(!s){Ce("authorize-net-google-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}case X.authorizenetApplePay:{const s=this.initFlows.authorizeNetApplePay.publisher.getValueIfLoadedElse(null);if(!s){Ce("authorize-net-apple-pay is not available. Please check the availability using 'getAvailablePaymentMethods()'");return}return s.startFlow(n)}default:gr(t)}},this.submit=this.submitCard,this.destroy=()=>{Ee("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)},Se.assignAsSingleton(this),this.ojsVersion="0.2.11",this.ojsReleaseVersion="0.2.11-alpha.5523a0e",this.baseUrl=e.baseUrl??"https://cde.getopenpay.com",this.config={...e,baseUrl:this.baseUrl},this.formCallbacks=Nr.fromObject(e),this.registeredElements=null,this.formId=`opjs-form-${rn()}`,this.referrer=window.location.origin,this.formTarget=e.formTarget??"body",this.formProperties={height:"1px"},this.connectionManager=new Al,this.eventHandler=new Sl(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}};Se.ojsFlows=B,Se.assignAsSingleton=e=>{if(Se.getInstance())throw new Error("OpenPay instance already exists. Only one instance is allowed.");window.ojs=e},Se.getInstance=()=>window.ojs??null,Se.buildOjsFlowContext=(e,t,n,o)=>({checkoutSecureToken:e.checkoutSecureToken,baseUrl:new URL(e.baseUrl??De).origin,formDiv:o,elementsSessionId:t.sessionId,checkoutPaymentMethods:t.checkoutPaymentMethods,anyCdeConnection:n,customInitParams:e.customInitParams??{}});let Mr=Se;_e.FieldName=h,_e.OpenPayForm=Mr,_e.SubmitMethod=ws,_e.SubmitMethods=X,Object.defineProperty(_e,Symbol.toStringTag,{value:"Module"})});
|