@capgo/cli 7.68.0 → 7.68.1

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.js CHANGED
@@ -134,7 +134,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
134
134
  || ${$} === "boolean" || ${J} === null`).assign(G,P0._`[${J}]`)}}}function CW0({gen:D,parentData:Y,parentDataProperty:X},Q){D.if(P0._`${Y} !== undefined`,()=>D.assign(P0._`${Y}[${X}]`,Q))}function hz(D,Y,X,Q=R7.Correct){let J=Q===R7.Correct?P0.operators.EQ:P0.operators.NEQ,W;switch(D){case"null":return P0._`${Y} ${J} null`;case"array":W=P0._`Array.isArray(${Y})`;break;case"object":W=P0._`${Y} && typeof ${Y} == "object" && !Array.isArray(${Y})`;break;case"integer":W=$(P0._`!(${Y} % 1) && !isNaN(${Y})`);break;case"number":W=$();break;default:return P0._`typeof ${Y} ${J} ${D}`}return Q===R7.Correct?W:(0,P0.not)(W);function $(G=P0.nil){return(0,P0.and)(P0._`typeof ${Y} == "number"`,G,X?P0._`isFinite(${Y})`:P0.nil)}}Db.checkDataType=hz;function gz(D,Y,X,Q){if(D.length===1)return hz(D[0],Y,X,Q);let J,W=(0,sk.toHash)(D);if(W.array&&W.object){let $=P0._`typeof ${Y} != "object"`;J=W.null?$:P0._`!${Y} || ${$}`,delete W.null,delete W.array,delete W.object}else J=P0.nil;if(W.number)delete W.integer;for(let $ in W)J=(0,P0.and)(J,hz($,Y,X,Q));return J}Db.checkDataTypes=gz;var xW0={message:({schema:D})=>`must be ${D}`,params:({schema:D,schemaValue:Y})=>typeof D=="string"?P0._`{type: ${D}}`:P0._`{type: ${Y}}`};function uz(D){let Y=_W0(D);(0,jW0.reportError)(Y,xW0)}Db.reportTypeError=uz;function _W0(D){let{gen:Y,data:X,schema:Q}=D,J=(0,sk.schemaRefOrVal)(D,Q,"type");return{gen:Y,keyword:"type",data:X,schema:Q.type,schemaCode:J,schemaValue:J,parentSchema:Q,params:{},it:D}}});var Wb=T((Qb)=>{Object.defineProperty(Qb,"__esModule",{value:!0});Qb.assignDefaults=void 0;var j7=C0(),gW0=p0();function uW0(D,Y){let{properties:X,items:Q}=D.schema;if(Y==="object"&&X)for(let J in X)Xb(D,J,X[J].default);else if(Y==="array"&&Array.isArray(Q))Q.forEach((J,W)=>Xb(D,W,J.default))}Qb.assignDefaults=uW0;function Xb(D,Y,X){let{gen:Q,compositeRule:J,data:W,opts:$}=D;if(X===void 0)return;let G=j7._`${W}${(0,j7.getProperty)(Y)}`;if(J){(0,gW0.checkStrictMode)(D,`default is ignored for: ${G}`);return}let B=j7._`${G} === undefined`;if($.useDefaults==="empty")B=j7._`${B} || ${G} === null || ${G} === ""`;Q.if(B,j7._`${G} = ${(0,j7.stringify)(X)}`)}});var O6=T((Bb)=>{Object.defineProperty(Bb,"__esModule",{value:!0});Bb.validateUnion=Bb.validateArray=Bb.usePattern=Bb.callValidateCode=Bb.schemaProperties=Bb.allSchemaProperties=Bb.noPropertyInData=Bb.propertyInData=Bb.isOwnProperty=Bb.hasPropFunc=Bb.reportMissingProp=Bb.checkMissingProp=Bb.checkReportMissingProp=void 0;var U1=C0(),mz=p0(),ZD=P9(),mW0=p0();function cW0(D,Y){let{gen:X,data:Q,it:J}=D;X.if(lz(X,Q,Y,J.opts.ownProperties),()=>{D.setParams({missingProperty:U1._`${Y}`},!0),D.error()})}Bb.checkReportMissingProp=cW0;function lW0({gen:D,data:Y,it:{opts:X}},Q,J){return(0,U1.or)(...Q.map((W)=>(0,U1.and)(lz(D,Y,W,X.ownProperties),U1._`${J} = ${W}`)))}Bb.checkMissingProp=lW0;function dW0(D,Y){D.setParams({missingProperty:Y},!0),D.error()}Bb.reportMissingProp=dW0;function $b(D){return D.scopeValue("func",{ref:Object.prototype.hasOwnProperty,code:U1._`Object.prototype.hasOwnProperty`})}Bb.hasPropFunc=$b;function cz(D,Y,X){return U1._`${$b(D)}.call(${Y}, ${X})`}Bb.isOwnProperty=cz;function pW0(D,Y,X,Q){let J=U1._`${Y}${(0,U1.getProperty)(X)} !== undefined`;return Q?U1._`${J} && ${cz(D,Y,X)}`:J}Bb.propertyInData=pW0;function lz(D,Y,X,Q){let J=U1._`${Y}${(0,U1.getProperty)(X)} === undefined`;return Q?(0,U1.or)(J,(0,U1.not)(cz(D,Y,X))):J}Bb.noPropertyInData=lz;function Gb(D){return D?Object.keys(D).filter((Y)=>Y!=="__proto__"):[]}Bb.allSchemaProperties=Gb;function nW0(D,Y){return Gb(Y).filter((X)=>!(0,mz.alwaysValidSchema)(D,Y[X]))}Bb.schemaProperties=nW0;function iW0({schemaCode:D,data:Y,it:{gen:X,topSchemaRef:Q,schemaPath:J,errorPath:W},it:$},G,B,H){let F=H?U1._`${D}, ${Y}, ${Q}${J}`:Y,K=[[ZD.default.instancePath,(0,U1.strConcat)(ZD.default.instancePath,W)],[ZD.default.parentData,$.parentData],[ZD.default.parentDataProperty,$.parentDataProperty],[ZD.default.rootData,ZD.default.rootData]];if($.opts.dynamicRef)K.push([ZD.default.dynamicAnchors,ZD.default.dynamicAnchors]);let U=U1._`${F}, ${X.object(...K)}`;return B!==U1.nil?U1._`${G}.call(${B}, ${U})`:U1._`${G}(${U})`}Bb.callValidateCode=iW0;var rW0=U1._`new RegExp`;function aW0({gen:D,it:{opts:Y}},X){let Q=Y.unicodeRegExp?"u":"",{regExp:J}=Y.code,W=J(X,Q);return D.scopeValue("pattern",{key:W.toString(),ref:W,code:U1._`${J.code==="new RegExp"?rW0:(0,mW0.useFunc)(D,J)}(${X}, ${Q})`})}Bb.usePattern=aW0;function oW0(D){let{gen:Y,data:X,keyword:Q,it:J}=D,W=Y.name("valid");if(J.allErrors){let G=Y.let("valid",!0);return $(()=>Y.assign(G,!1)),G}return Y.var(W,!0),$(()=>Y.break()),W;function $(G){let B=Y.const("len",U1._`${X}.length`);Y.forRange("i",0,B,(H)=>{D.subschema({keyword:Q,dataProp:H,dataPropType:mz.Type.Num},W),Y.if((0,U1.not)(W),G)})}}Bb.validateArray=oW0;function sW0(D){let{gen:Y,schema:X,keyword:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(X.some((B)=>(0,mz.alwaysValidSchema)(J,B))&&!J.opts.unevaluated)return;let $=Y.let("valid",!1),G=Y.name("_valid");Y.block(()=>X.forEach((B,H)=>{let F=D.subschema({keyword:Q,schemaProp:H,compositeRule:!0},G);if(Y.assign($,U1._`${$} || ${G}`),!D.mergeValidEvaluated(F,G))Y.if((0,U1.not)($))})),D.result($,()=>D.reset(),()=>D.error(!0))}Bb.validateUnion=sW0});var Ub=T((Kb)=>{Object.defineProperty(Kb,"__esModule",{value:!0});Kb.validateKeywordUsage=Kb.validSchemaType=Kb.funcKeywordCode=Kb.macroKeywordCode=void 0;var y8=C0(),S5=P9(),F$0=O6(),q$0=iY();function K$0(D,Y){let{gen:X,keyword:Q,schema:J,parentSchema:W,it:$}=D,G=Y.macro.call($.self,J,W,$),B=qb(X,Q,G);if($.opts.validateSchema!==!1)$.self.validateSchema(G,!0);let H=X.name("valid");D.subschema({schema:G,schemaPath:y8.nil,errSchemaPath:`${$.errSchemaPath}/${Q}`,topSchemaRef:B,compositeRule:!0},H),D.pass(H,()=>D.error(!0))}Kb.macroKeywordCode=K$0;function z$0(D,Y){var X;let{gen:Q,keyword:J,schema:W,parentSchema:$,$data:G,it:B}=D;V$0(B,Y);let H=!G&&Y.compile?Y.compile.call(B.self,W,$,B):Y.validate,F=qb(Q,J,H),K=Q.let("valid");D.block$data(K,U),D.ok((X=Y.valid)!==null&&X!==void 0?X:K);function U(){if(Y.errors===!1){if(w(),Y.modifying)Fb(D);M(()=>D.error())}else{let O=Y.async?z():V();if(Y.modifying)Fb(D);M(()=>U$0(D,O))}}function z(){let O=Q.let("ruleErrs",null);return Q.try(()=>w(y8._`await `),(Z)=>Q.assign(K,!1).if(y8._`${Z} instanceof ${B.ValidationError}`,()=>Q.assign(O,y8._`${Z}.errors`),()=>Q.throw(Z))),O}function V(){let O=y8._`${F}.errors`;return Q.assign(O,null),w(y8.nil),O}function w(O=Y.async?y8._`await `:y8.nil){let Z=B.opts.passContext?S5.default.this:S5.default.self,L=!(("compile"in Y)&&!G||Y.schema===!1);Q.assign(K,y8._`${O}${(0,F$0.callValidateCode)(D,F,Z,L)}`,Y.modifying)}function M(O){var Z;Q.if((0,y8.not)((Z=Y.valid)!==null&&Z!==void 0?Z:K),O)}}Kb.funcKeywordCode=z$0;function Fb(D){let{gen:Y,data:X,it:Q}=D;Y.if(Q.parentData,()=>Y.assign(X,y8._`${Q.parentData}[${Q.parentDataProperty}]`))}function U$0(D,Y){let{gen:X}=D;X.if(y8._`Array.isArray(${Y})`,()=>{X.assign(S5.default.vErrors,y8._`${S5.default.vErrors} === null ? ${Y} : ${S5.default.vErrors}.concat(${Y})`).assign(S5.default.errors,y8._`${S5.default.vErrors}.length`),(0,q$0.extendErrors)(D)},()=>D.error())}function V$0({schemaEnv:D},Y){if(Y.async&&!D.$async)throw Error("async keyword in sync schema")}function qb(D,Y,X){if(X===void 0)throw Error(`keyword "${Y}" failed to compile`);return D.scopeValue("keyword",typeof X=="function"?{ref:X}:{ref:X,code:(0,y8.stringify)(X)})}function w$0(D,Y,X=!1){return!Y.length||Y.some((Q)=>Q==="array"?Array.isArray(D):Q==="object"?D&&typeof D=="object"&&!Array.isArray(D):typeof D==Q||X&&typeof D>"u")}Kb.validSchemaType=w$0;function M$0({schema:D,opts:Y,self:X,errSchemaPath:Q},J,W){if(Array.isArray(J.keyword)?!J.keyword.includes(W):J.keyword!==W)throw Error("ajv implementation error");let $=J.dependencies;if($===null||$===void 0?void 0:$.some((G)=>!Object.prototype.hasOwnProperty.call(D,G)))throw Error(`parent schema must have dependencies of ${W}: ${$.join(",")}`);if(J.validateSchema){if(!J.validateSchema(D[W])){let B=`keyword "${W}" value is invalid at path "${Q}": `+X.errorsText(J.validateSchema.errors);if(Y.validateSchema==="log")X.logger.error(B);else throw Error(B)}}}Kb.validateKeywordUsage=M$0});var Lb=T((wb)=>{Object.defineProperty(wb,"__esModule",{value:!0});wb.extendSubschemaMode=wb.extendSubschemaData=wb.getSubschema=void 0;var J9=C0(),Vb=p0();function Z$0(D,{keyword:Y,schemaProp:X,schema:Q,schemaPath:J,errSchemaPath:W,topSchemaRef:$}){if(Y!==void 0&&Q!==void 0)throw Error('both "keyword" and "schema" passed, only one allowed');if(Y!==void 0){let G=D.schema[Y];return X===void 0?{schema:G,schemaPath:J9._`${D.schemaPath}${(0,J9.getProperty)(Y)}`,errSchemaPath:`${D.errSchemaPath}/${Y}`}:{schema:G[X],schemaPath:J9._`${D.schemaPath}${(0,J9.getProperty)(Y)}${(0,J9.getProperty)(X)}`,errSchemaPath:`${D.errSchemaPath}/${Y}/${(0,Vb.escapeFragment)(X)}`}}if(Q!==void 0){if(J===void 0||W===void 0||$===void 0)throw Error('"schemaPath", "errSchemaPath" and "topSchemaRef" are required with "schema"');return{schema:Q,schemaPath:J,topSchemaRef:$,errSchemaPath:W}}throw Error('either "keyword" or "schema" must be passed')}wb.getSubschema=Z$0;function A$0(D,Y,{dataProp:X,dataPropType:Q,data:J,dataTypes:W,propertyName:$}){if(J!==void 0&&X!==void 0)throw Error('both "data" and "dataProp" passed, only one allowed');let{gen:G}=Y;if(X!==void 0){let{errorPath:H,dataPathArr:F,opts:K}=Y,U=G.let("data",J9._`${Y.data}${(0,J9.getProperty)(X)}`,!0);B(U),D.errorPath=J9.str`${H}${(0,Vb.getErrorPath)(X,Q,K.jsPropertySyntax)}`,D.parentDataProperty=J9._`${X}`,D.dataPathArr=[...F,D.parentDataProperty]}if(J!==void 0){let H=J instanceof J9.Name?J:G.let("data",J,!0);if(B(H),$!==void 0)D.propertyName=$}if(W)D.dataTypes=W;function B(H){D.data=H,D.dataLevel=Y.dataLevel+1,D.dataTypes=[],Y.definedProperties=new Set,D.parentData=Y.data,D.dataNames=[...Y.dataNames,H]}}wb.extendSubschemaData=A$0;function E$0(D,{jtdDiscriminator:Y,jtdMetadata:X,compositeRule:Q,createErrors:J,allErrors:W}){if(Q!==void 0)D.compositeRule=Q;if(J!==void 0)D.createErrors=J;if(W!==void 0)D.allErrors=W;D.jtdDiscriminator=Y,D.jtdMetadata=X}wb.extendSubschemaMode=E$0});var dz=T((HI0,Ob)=>{Ob.exports=function D(Y,X){if(Y===X)return!0;if(Y&&X&&typeof Y=="object"&&typeof X=="object"){if(Y.constructor!==X.constructor)return!1;var Q,J,W;if(Array.isArray(Y)){if(Q=Y.length,Q!=X.length)return!1;for(J=Q;J--!==0;)if(!D(Y[J],X[J]))return!1;return!0}if(Y.constructor===RegExp)return Y.source===X.source&&Y.flags===X.flags;if(Y.valueOf!==Object.prototype.valueOf)return Y.valueOf()===X.valueOf();if(Y.toString!==Object.prototype.toString)return Y.toString()===X.toString();if(W=Object.keys(Y),Q=W.length,Q!==Object.keys(X).length)return!1;for(J=Q;J--!==0;)if(!Object.prototype.hasOwnProperty.call(X,W[J]))return!1;for(J=Q;J--!==0;){var $=W[J];if(!D(Y[$],X[$]))return!1}return!0}return Y!==Y&&X!==X}});var Zb=T((FI0,Nb)=>{var AD=Nb.exports=function(D,Y,X){if(typeof Y=="function")X=Y,Y={};X=Y.cb||X;var Q=typeof X=="function"?X:X.pre||function(){},J=X.post||function(){};$$(Y,Q,J,D,"",D)};AD.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0,if:!0,then:!0,else:!0};AD.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};AD.propsKeywords={$defs:!0,definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};AD.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function $$(D,Y,X,Q,J,W,$,G,B,H){if(Q&&typeof Q=="object"&&!Array.isArray(Q)){Y(Q,J,W,$,G,B,H);for(var F in Q){var K=Q[F];if(Array.isArray(K)){if(F in AD.arrayKeywords)for(var U=0;U<K.length;U++)$$(D,Y,X,K[U],J+"/"+F+"/"+U,W,J,F,Q,U)}else if(F in AD.propsKeywords){if(K&&typeof K=="object")for(var z in K)$$(D,Y,X,K[z],J+"/"+F+"/"+T$0(z),W,J,F,Q,z)}else if(F in AD.keywords||D.allKeys&&!(F in AD.skipKeywords))$$(D,Y,X,K,J+"/"+F,W,J,F,Q)}X(Q,J,W,$,G,B,H)}}function T$0(D){return D.replace(/~/g,"~0").replace(/\//g,"~1")}});var aY=T((jb)=>{Object.defineProperty(jb,"__esModule",{value:!0});jb.getSchemaRefs=jb.resolveUrl=jb.normalizeId=jb._getFullPath=jb.getFullPath=jb.inlineRef=void 0;var S$0=p0(),P$0=dz(),I$0=Zb(),C$0=new Set(["type","format","pattern","maxLength","minLength","maxProperties","minProperties","maxItems","minItems","maximum","minimum","uniqueItems","multipleOf","required","enum","const"]);function x$0(D,Y=!0){if(typeof D=="boolean")return!0;if(Y===!0)return!pz(D);if(!Y)return!1;return Ab(D)<=Y}jb.inlineRef=x$0;var _$0=new Set(["$ref","$recursiveRef","$recursiveAnchor","$dynamicRef","$dynamicAnchor"]);function pz(D){for(let Y in D){if(_$0.has(Y))return!0;let X=D[Y];if(Array.isArray(X)&&X.some(pz))return!0;if(typeof X=="object"&&pz(X))return!0}return!1}function Ab(D){let Y=0;for(let X in D){if(X==="$ref")return 1/0;if(Y++,C$0.has(X))continue;if(typeof D[X]=="object")(0,S$0.eachItem)(D[X],(Q)=>Y+=Ab(Q));if(Y===1/0)return 1/0}return Y}function Eb(D,Y="",X){if(X!==!1)Y=T7(Y);let Q=D.parse(Y);return Rb(D,Q)}jb.getFullPath=Eb;function Rb(D,Y){return D.serialize(Y).split("#")[0]+"#"}jb._getFullPath=Rb;var k$0=/#\/?$/;function T7(D){return D?D.replace(k$0,""):""}jb.normalizeId=T7;function b$0(D,Y,X){return X=T7(X),D.resolve(Y,X)}jb.resolveUrl=b$0;var v$0=/^[a-z_][-a-z0-9._]*$/i;function y$0(D,Y){if(typeof D=="boolean")return{};let{schemaId:X,uriResolver:Q}=this.opts,J=T7(D[X]||Y),W={"":J},$=Eb(Q,J,!1),G={},B=new Set;return I$0(D,{allKeys:!0},(K,U,z,V)=>{if(V===void 0)return;let w=$+U,M=W[V];if(typeof K[X]=="string")M=O.call(this,K[X]);Z.call(this,K.$anchor),Z.call(this,K.$dynamicAnchor),W[U]=M;function O(L){let E=this.opts.uriResolver.resolve;if(L=T7(M?E(M,L):L),B.has(L))throw F(L);B.add(L);let j=this.refs[L];if(typeof j=="string")j=this.refs[j];if(typeof j=="object")H(K,j.schema,L);else if(L!==T7(w))if(L[0]==="#")H(K,G[L],L),G[L]=K;else this.refs[L]=w;return L}function Z(L){if(typeof L=="string"){if(!v$0.test(L))throw Error(`invalid anchor "${L}"`);O.call(this,`#${L}`)}}}),G;function H(K,U,z){if(U!==void 0&&!P$0(K,U))throw F(z)}function F(K){return Error(`reference "${K}" resolves to more than one schema`)}}jb.getSchemaRefs=y$0});var tY=T((mb)=>{Object.defineProperty(mb,"__esModule",{value:!0});mb.getData=mb.KeywordCxt=mb.validateFunctionCode=void 0;var xb=dk(),Sb=rY(),iz=fz(),G$=rY(),c$0=Wb(),sY=Ub(),nz=Lb(),z0=C0(),A0=P9(),l$0=aY(),I9=p0(),oY=iY();function d$0(D){if(bb(D)){if(vb(D),kb(D)){i$0(D);return}}_b(D,()=>(0,xb.topBoolOrEmptySchema)(D))}mb.validateFunctionCode=d$0;function _b({gen:D,validateName:Y,schema:X,schemaEnv:Q,opts:J},W){if(J.code.es5)D.func(Y,z0._`${A0.default.data}, ${A0.default.valCxt}`,Q.$async,()=>{D.code(z0._`"use strict"; ${Pb(X,J)}`),n$0(D,J),D.code(W)});else D.func(Y,z0._`${A0.default.data}, ${p$0(J)}`,Q.$async,()=>D.code(Pb(X,J)).code(W))}function p$0(D){return z0._`{${A0.default.instancePath}="", ${A0.default.parentData}, ${A0.default.parentDataProperty}, ${A0.default.rootData}=${A0.default.data}${D.dynamicRef?z0._`, ${A0.default.dynamicAnchors}={}`:z0.nil}}={}`}function n$0(D,Y){D.if(A0.default.valCxt,()=>{if(D.var(A0.default.instancePath,z0._`${A0.default.valCxt}.${A0.default.instancePath}`),D.var(A0.default.parentData,z0._`${A0.default.valCxt}.${A0.default.parentData}`),D.var(A0.default.parentDataProperty,z0._`${A0.default.valCxt}.${A0.default.parentDataProperty}`),D.var(A0.default.rootData,z0._`${A0.default.valCxt}.${A0.default.rootData}`),Y.dynamicRef)D.var(A0.default.dynamicAnchors,z0._`${A0.default.valCxt}.${A0.default.dynamicAnchors}`)},()=>{if(D.var(A0.default.instancePath,z0._`""`),D.var(A0.default.parentData,z0._`undefined`),D.var(A0.default.parentDataProperty,z0._`undefined`),D.var(A0.default.rootData,A0.default.data),Y.dynamicRef)D.var(A0.default.dynamicAnchors,z0._`{}`)})}function i$0(D){let{schema:Y,opts:X,gen:Q}=D;_b(D,()=>{if(X.$comment&&Y.$comment)fb(D);if(t$0(D),Q.let(A0.default.vErrors,null),Q.let(A0.default.errors,0),X.unevaluated)r$0(D);yb(D),YG0(D)});return}function r$0(D){let{gen:Y,validateName:X}=D;D.evaluated=Y.const("evaluated",z0._`${X}.evaluated`),Y.if(z0._`${D.evaluated}.dynamicProps`,()=>Y.assign(z0._`${D.evaluated}.props`,z0._`undefined`)),Y.if(z0._`${D.evaluated}.dynamicItems`,()=>Y.assign(z0._`${D.evaluated}.items`,z0._`undefined`))}function Pb(D,Y){let X=typeof D=="object"&&D[Y.schemaId];return X&&(Y.code.source||Y.code.process)?z0._`/*# sourceURL=${X} */`:z0.nil}function a$0(D,Y){if(bb(D)){if(vb(D),kb(D)){o$0(D,Y);return}}(0,xb.boolOrEmptySchema)(D,Y)}function kb({schema:D,self:Y}){if(typeof D=="boolean")return!D;for(let X in D)if(Y.RULES.all[X])return!0;return!1}function bb(D){return typeof D.schema!="boolean"}function o$0(D,Y){let{schema:X,gen:Q,opts:J}=D;if(J.$comment&&X.$comment)fb(D);e$0(D),DG0(D);let W=Q.const("_errs",A0.default.errors);yb(D,W),Q.var(Y,z0._`${W} === ${A0.default.errors}`)}function vb(D){(0,I9.checkUnknownRules)(D),s$0(D)}function yb(D,Y){if(D.opts.jtd)return Ib(D,[],!1,Y);let X=(0,Sb.getSchemaTypes)(D.schema),Q=(0,Sb.coerceAndCheckDataType)(D,X);Ib(D,X,!Q,Y)}function s$0(D){let{schema:Y,errSchemaPath:X,opts:Q,self:J}=D;if(Y.$ref&&Q.ignoreKeywordsWithRef&&(0,I9.schemaHasRulesButRef)(Y,J.RULES))J.logger.warn(`$ref: keywords ignored in schema at path "${X}"`)}function t$0(D){let{schema:Y,opts:X}=D;if(Y.default!==void 0&&X.useDefaults&&X.strictSchema)(0,I9.checkStrictMode)(D,"default is ignored in the schema root")}function e$0(D){let Y=D.schema[D.opts.schemaId];if(Y)D.baseId=(0,l$0.resolveUrl)(D.opts.uriResolver,D.baseId,Y)}function DG0(D){if(D.schema.$async&&!D.schemaEnv.$async)throw Error("async schema in sync schema")}function fb({gen:D,schemaEnv:Y,schema:X,errSchemaPath:Q,opts:J}){let W=X.$comment;if(J.$comment===!0)D.code(z0._`${A0.default.self}.logger.log(${W})`);else if(typeof J.$comment=="function"){let $=z0.str`${Q}/$comment`,G=D.scopeValue("root",{ref:Y.root});D.code(z0._`${A0.default.self}.opts.$comment(${W}, ${$}, ${G}.schema)`)}}function YG0(D){let{gen:Y,schemaEnv:X,validateName:Q,ValidationError:J,opts:W}=D;if(X.$async)Y.if(z0._`${A0.default.errors} === 0`,()=>Y.return(A0.default.data),()=>Y.throw(z0._`new ${J}(${A0.default.vErrors})`));else{if(Y.assign(z0._`${Q}.errors`,A0.default.vErrors),W.unevaluated)XG0(D);Y.return(z0._`${A0.default.errors} === 0`)}}function XG0({gen:D,evaluated:Y,props:X,items:Q}){if(X instanceof z0.Name)D.assign(z0._`${Y}.props`,X);if(Q instanceof z0.Name)D.assign(z0._`${Y}.items`,Q)}function Ib(D,Y,X,Q){let{gen:J,schema:W,data:$,allErrors:G,opts:B,self:H}=D,{RULES:F}=H;if(W.$ref&&(B.ignoreKeywordsWithRef||!(0,I9.schemaHasRulesButRef)(W,F))){J.block(()=>gb(D,"$ref",F.all.$ref.definition));return}if(!B.jtd)QG0(D,Y);J.block(()=>{for(let U of F.rules)K(U);K(F.post)});function K(U){if(!(0,iz.shouldUseGroup)(W,U))return;if(U.type){if(J.if((0,G$.checkDataType)(U.type,$,B.strictNumbers)),Cb(D,U),Y.length===1&&Y[0]===U.type&&X)J.else(),(0,G$.reportTypeError)(D);J.endIf()}else Cb(D,U);if(!G)J.if(z0._`${A0.default.errors} === ${Q||0}`)}}function Cb(D,Y){let{gen:X,schema:Q,opts:{useDefaults:J}}=D;if(J)(0,c$0.assignDefaults)(D,Y.type);X.block(()=>{for(let W of Y.rules)if((0,iz.shouldUseRule)(Q,W))gb(D,W.keyword,W.definition,Y.type)})}function QG0(D,Y){if(D.schemaEnv.meta||!D.opts.strictTypes)return;if(JG0(D,Y),!D.opts.allowUnionTypes)WG0(D,Y);$G0(D,D.dataTypes)}function JG0(D,Y){if(!Y.length)return;if(!D.dataTypes.length){D.dataTypes=Y;return}Y.forEach((X)=>{if(!hb(D.dataTypes,X))rz(D,`type "${X}" not allowed by context "${D.dataTypes.join(",")}"`)}),BG0(D,Y)}function WG0(D,Y){if(Y.length>1&&!(Y.length===2&&Y.includes("null")))rz(D,"use allowUnionTypes to allow union type keyword")}function $G0(D,Y){let X=D.self.RULES.all;for(let Q in X){let J=X[Q];if(typeof J=="object"&&(0,iz.shouldUseRule)(D.schema,J)){let{type:W}=J.definition;if(W.length&&!W.some(($)=>GG0(Y,$)))rz(D,`missing type "${W.join(",")}" for keyword "${Q}"`)}}}function GG0(D,Y){return D.includes(Y)||Y==="number"&&D.includes("integer")}function hb(D,Y){return D.includes(Y)||Y==="integer"&&D.includes("number")}function BG0(D,Y){let X=[];for(let Q of D.dataTypes)if(hb(Y,Q))X.push(Q);else if(Y.includes("integer")&&Q==="number")X.push("integer");D.dataTypes=X}function rz(D,Y){let X=D.schemaEnv.baseId+D.errSchemaPath;Y+=` at "${X}" (strictTypes)`,(0,I9.checkStrictMode)(D,Y,D.opts.strictTypes)}class az{constructor(D,Y,X){if((0,sY.validateKeywordUsage)(D,Y,X),this.gen=D.gen,this.allErrors=D.allErrors,this.keyword=X,this.data=D.data,this.schema=D.schema[X],this.$data=Y.$data&&D.opts.$data&&this.schema&&this.schema.$data,this.schemaValue=(0,I9.schemaRefOrVal)(D,this.schema,X,this.$data),this.schemaType=Y.schemaType,this.parentSchema=D.schema,this.params={},this.it=D,this.def=Y,this.$data)this.schemaCode=D.gen.const("vSchema",ub(this.$data,D));else if(this.schemaCode=this.schemaValue,!(0,sY.validSchemaType)(this.schema,Y.schemaType,Y.allowUndefined))throw Error(`${X} value must be ${JSON.stringify(Y.schemaType)}`);if("code"in Y?Y.trackErrors:Y.errors!==!1)this.errsCount=D.gen.const("_errs",A0.default.errors)}result(D,Y,X){this.failResult((0,z0.not)(D),Y,X)}failResult(D,Y,X){if(this.gen.if(D),X)X();else this.error();if(Y){if(this.gen.else(),Y(),this.allErrors)this.gen.endIf()}else if(this.allErrors)this.gen.endIf();else this.gen.else()}pass(D,Y){this.failResult((0,z0.not)(D),void 0,Y)}fail(D){if(D===void 0){if(this.error(),!this.allErrors)this.gen.if(!1);return}if(this.gen.if(D),this.error(),this.allErrors)this.gen.endIf();else this.gen.else()}fail$data(D){if(!this.$data)return this.fail(D);let{schemaCode:Y}=this;this.fail(z0._`${Y} !== undefined && (${(0,z0.or)(this.invalid$data(),D)})`)}error(D,Y,X){if(Y){this.setParams(Y),this._error(D,X),this.setParams({});return}this._error(D,X)}_error(D,Y){(D?oY.reportExtraError:oY.reportError)(this,this.def.error,Y)}$dataError(){(0,oY.reportError)(this,this.def.$dataError||oY.keyword$DataError)}reset(){if(this.errsCount===void 0)throw Error('add "trackErrors" to keyword definition');(0,oY.resetErrorsCount)(this.gen,this.errsCount)}ok(D){if(!this.allErrors)this.gen.if(D)}setParams(D,Y){if(Y)Object.assign(this.params,D);else this.params=D}block$data(D,Y,X=z0.nil){this.gen.block(()=>{this.check$data(D,X),Y()})}check$data(D=z0.nil,Y=z0.nil){if(!this.$data)return;let{gen:X,schemaCode:Q,schemaType:J,def:W}=this;if(X.if((0,z0.or)(z0._`${Q} === undefined`,Y)),D!==z0.nil)X.assign(D,!0);if(J.length||W.validateSchema){if(X.elseIf(this.invalid$data()),this.$dataError(),D!==z0.nil)X.assign(D,!1)}X.else()}invalid$data(){let{gen:D,schemaCode:Y,schemaType:X,def:Q,it:J}=this;return(0,z0.or)(W(),$());function W(){if(X.length){if(!(Y instanceof z0.Name))throw Error("ajv implementation error");let G=Array.isArray(X)?X:[X];return z0._`${(0,G$.checkDataTypes)(G,Y,J.opts.strictNumbers,G$.DataType.Wrong)}`}return z0.nil}function $(){if(Q.validateSchema){let G=D.scopeValue("validate$data",{ref:Q.validateSchema});return z0._`!${G}(${Y})`}return z0.nil}}subschema(D,Y){let X=(0,nz.getSubschema)(this.it,D);(0,nz.extendSubschemaData)(X,this.it,D),(0,nz.extendSubschemaMode)(X,D);let Q={...this.it,...X,items:void 0,props:void 0};return a$0(Q,Y),Q}mergeEvaluated(D,Y){let{it:X,gen:Q}=this;if(!X.opts.unevaluated)return;if(X.props!==!0&&D.props!==void 0)X.props=I9.mergeEvaluated.props(Q,D.props,X.props,Y);if(X.items!==!0&&D.items!==void 0)X.items=I9.mergeEvaluated.items(Q,D.items,X.items,Y)}mergeValidEvaluated(D,Y){let{it:X,gen:Q}=this;if(X.opts.unevaluated&&(X.props!==!0||X.items!==!0))return Q.if(Y,()=>this.mergeEvaluated(D,z0.Name)),!0}}mb.KeywordCxt=az;function gb(D,Y,X,Q){let J=new az(D,X,Y);if("code"in X)X.code(J,Q);else if(J.$data&&X.validate)(0,sY.funcKeywordCode)(J,X);else if("macro"in X)(0,sY.macroKeywordCode)(J,X);else if(X.compile||X.validate)(0,sY.funcKeywordCode)(J,X)}var HG0=/^\/(?:[^~]|~0|~1)*$/,FG0=/^([0-9]+)(#|\/(?:[^~]|~0|~1)*)?$/;function ub(D,{dataLevel:Y,dataNames:X,dataPathArr:Q}){let J,W;if(D==="")return A0.default.rootData;if(D[0]==="/"){if(!HG0.test(D))throw Error(`Invalid JSON-pointer: ${D}`);J=D,W=A0.default.rootData}else{let H=FG0.exec(D);if(!H)throw Error(`Invalid JSON-pointer: ${D}`);let F=+H[1];if(J=H[2],J==="#"){if(F>=Y)throw Error(B("property/index",F));return Q[Y-F]}if(F>Y)throw Error(B("data",F));if(W=X[Y-F],!J)return W}let $=W,G=J.split("/");for(let H of G)if(H)W=z0._`${W}${(0,z0.getProperty)((0,I9.unescapeJsonPointer)(H))}`,$=z0._`${$} && ${W}`;return $;function B(H,F){return`Cannot access ${H} ${F} levels up, current level is ${Y}`}}mb.getData=ub});var B$=T((db)=>{Object.defineProperty(db,"__esModule",{value:!0});class lb extends Error{constructor(D){super("validation failed");this.errors=D,this.ajv=this.validation=!0}}db.default=lb});var eY=T((nb)=>{Object.defineProperty(nb,"__esModule",{value:!0});var oz=aY();class pb extends Error{constructor(D,Y,X,Q){super(Q||`can't resolve reference ${X} from id ${Y}`);this.missingRef=(0,oz.resolveUrl)(D,Y,X),this.missingSchema=(0,oz.normalizeId)((0,oz.getFullPath)(D,this.missingRef))}}nb.default=pb});var F$=T((ab)=>{Object.defineProperty(ab,"__esModule",{value:!0});ab.resolveSchema=ab.getCompilingSchema=ab.resolveRef=ab.compileSchema=ab.SchemaEnv=void 0;var h6=C0(),VG0=B$(),P5=P9(),g6=aY(),ib=p0(),wG0=tY();class DX{constructor(D){var Y;this.refs={},this.dynamicAnchors={};let X;if(typeof D.schema=="object")X=D.schema;this.schema=D.schema,this.schemaId=D.schemaId,this.root=D.root||this,this.baseId=(Y=D.baseId)!==null&&Y!==void 0?Y:(0,g6.normalizeId)(X===null||X===void 0?void 0:X[D.schemaId||"$id"]),this.schemaPath=D.schemaPath,this.localRefs=D.localRefs,this.meta=D.meta,this.$async=X===null||X===void 0?void 0:X.$async,this.refs={}}}ab.SchemaEnv=DX;function tz(D){let Y=rb.call(this,D);if(Y)return Y;let X=(0,g6.getFullPath)(this.opts.uriResolver,D.root.baseId),{es5:Q,lines:J}=this.opts.code,{ownProperties:W}=this.opts,$=new h6.CodeGen(this.scope,{es5:Q,lines:J,ownProperties:W}),G;if(D.$async)G=$.scopeValue("Error",{ref:VG0.default,code:h6._`require("ajv/dist/runtime/validation_error").default`});let B=$.scopeName("validate");D.validateName=B;let H={gen:$,allErrors:this.opts.allErrors,data:P5.default.data,parentData:P5.default.parentData,parentDataProperty:P5.default.parentDataProperty,dataNames:[P5.default.data],dataPathArr:[h6.nil],dataLevel:0,dataTypes:[],definedProperties:new Set,topSchemaRef:$.scopeValue("schema",this.opts.code.source===!0?{ref:D.schema,code:(0,h6.stringify)(D.schema)}:{ref:D.schema}),validateName:B,ValidationError:G,schema:D.schema,schemaEnv:D,rootId:X,baseId:D.baseId||X,schemaPath:h6.nil,errSchemaPath:D.schemaPath||(this.opts.jtd?"":"#"),errorPath:h6._`""`,opts:this.opts,self:this},F;try{this._compilations.add(D),(0,wG0.validateFunctionCode)(H),$.optimize(this.opts.code.optimize);let K=$.toString();if(F=`${$.scopeRefs(P5.default.scope)}return ${K}`,this.opts.code.process)F=this.opts.code.process(F,D);let z=Function(`${P5.default.self}`,`${P5.default.scope}`,F)(this,this.scope.get());if(this.scope.value(B,{ref:z}),z.errors=null,z.schema=D.schema,z.schemaEnv=D,D.$async)z.$async=!0;if(this.opts.code.source===!0)z.source={validateName:B,validateCode:K,scopeValues:$._values};if(this.opts.unevaluated){let{props:V,items:w}=H;if(z.evaluated={props:V instanceof h6.Name?void 0:V,items:w instanceof h6.Name?void 0:w,dynamicProps:V instanceof h6.Name,dynamicItems:w instanceof h6.Name},z.source)z.source.evaluated=(0,h6.stringify)(z.evaluated)}return D.validate=z,D}catch(K){if(delete D.validate,delete D.validateName,F)this.logger.error("Error compiling schema, function code:",F);throw K}finally{this._compilations.delete(D)}}ab.compileSchema=tz;function MG0(D,Y,X){var Q;X=(0,g6.resolveUrl)(this.opts.uriResolver,Y,X);let J=D.refs[X];if(J)return J;let W=NG0.call(this,D,X);if(W===void 0){let $=(Q=D.localRefs)===null||Q===void 0?void 0:Q[X],{schemaId:G}=this.opts;if($)W=new DX({schema:$,schemaId:G,root:D,baseId:Y})}if(W===void 0)return;return D.refs[X]=LG0.call(this,W)}ab.resolveRef=MG0;function LG0(D){if((0,g6.inlineRef)(D.schema,this.opts.inlineRefs))return D.schema;return D.validate?D:tz.call(this,D)}function rb(D){for(let Y of this._compilations)if(OG0(Y,D))return Y}ab.getCompilingSchema=rb;function OG0(D,Y){return D.schema===Y.schema&&D.root===Y.root&&D.baseId===Y.baseId}function NG0(D,Y){let X;while(typeof(X=this.refs[Y])=="string")Y=X;return X||this.schemas[Y]||H$.call(this,D,Y)}function H$(D,Y){let X=this.opts.uriResolver.parse(Y),Q=(0,g6._getFullPath)(this.opts.uriResolver,X),J=(0,g6.getFullPath)(this.opts.uriResolver,D.baseId,void 0);if(Object.keys(D.schema).length>0&&Q===J)return sz.call(this,X,D);let W=(0,g6.normalizeId)(Q),$=this.refs[W]||this.schemas[W];if(typeof $=="string"){let G=H$.call(this,D,$);if(typeof(G===null||G===void 0?void 0:G.schema)!=="object")return;return sz.call(this,X,G)}if(typeof($===null||$===void 0?void 0:$.schema)!=="object")return;if(!$.validate)tz.call(this,$);if(W===(0,g6.normalizeId)(Y)){let{schema:G}=$,{schemaId:B}=this.opts,H=G[B];if(H)J=(0,g6.resolveUrl)(this.opts.uriResolver,J,H);return new DX({schema:G,schemaId:B,root:D,baseId:J})}return sz.call(this,X,$)}ab.resolveSchema=H$;var ZG0=new Set(["properties","patternProperties","enum","dependencies","definitions"]);function sz(D,{baseId:Y,schema:X,root:Q}){var J;if(((J=D.fragment)===null||J===void 0?void 0:J[0])!=="/")return;for(let G of D.fragment.slice(1).split("/")){if(typeof X==="boolean")return;let B=X[(0,ib.unescapeFragment)(G)];if(B===void 0)return;X=B;let H=typeof X==="object"&&X[this.opts.schemaId];if(!ZG0.has(G)&&H)Y=(0,g6.resolveUrl)(this.opts.uriResolver,Y,H)}let W;if(typeof X!="boolean"&&X.$ref&&!(0,ib.schemaHasRulesButRef)(X,this.RULES)){let G=(0,g6.resolveUrl)(this.opts.uriResolver,Y,X.$ref);W=H$.call(this,Q,G)}let{schemaId:$}=this.opts;if(W=W||new DX({schema:X,schemaId:$,root:Q,baseId:Y}),W.schema!==W.root.schema)return W;return}});var sb=T((wI0,TG0)=>{TG0.exports={$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON AnySchema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var DU=T((MI0,Yv)=>{var SG0=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu),eb=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);function ez(D){let Y="",X=0,Q=0;for(Q=0;Q<D.length;Q++){if(X=D[Q].charCodeAt(0),X===48)continue;if(!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=D[Q];break}for(Q+=1;Q<D.length;Q++){if(X=D[Q].charCodeAt(0),!(X>=48&&X<=57||X>=65&&X<=70||X>=97&&X<=102))return"";Y+=D[Q]}return Y}var PG0=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function tb(D){return D.length=0,!0}function IG0(D,Y,X){if(D.length){let Q=ez(D);if(Q!=="")Y.push(Q);else return X.error=!0,!1;D.length=0}return!0}function CG0(D){let Y=0,X={error:!1,address:"",zone:""},Q=[],J=[],W=!1,$=!1,G=IG0;for(let B=0;B<D.length;B++){let H=D[B];if(H==="["||H==="]")continue;if(H===":"){if(W===!0)$=!0;if(!G(J,Q,X))break;if(++Y>7){X.error=!0;break}if(B>0&&D[B-1]===":")W=!0;Q.push(":");continue}else if(H==="%"){if(!G(J,Q,X))break;G=tb}else{J.push(H);continue}}if(J.length)if(G===tb)X.zone=J.join("");else if($)Q.push(J.join(""));else Q.push(ez(J));return X.address=Q.join(""),X}function Dv(D){if(xG0(D,":")<2)return{host:D,isIPV6:!1};let Y=CG0(D);if(!Y.error){let{address:X,address:Q}=Y;if(Y.zone)X+="%"+Y.zone,Q+="%25"+Y.zone;return{host:X,isIPV6:!0,escapedHost:Q}}else return{host:D,isIPV6:!1}}function xG0(D,Y){let X=0;for(let Q=0;Q<D.length;Q++)if(D[Q]===Y)X++;return X}function _G0(D){let Y=D,X=[],Q=-1,J=0;while(J=Y.length){if(J===1)if(Y===".")break;else if(Y==="/"){X.push("/");break}else{X.push(Y);break}else if(J===2){if(Y[0]==="."){if(Y[1]===".")break;else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."||Y[1]==="/"){X.push("/");break}}}else if(J===3){if(Y==="/.."){if(X.length!==0)X.pop();X.push("/");break}}if(Y[0]==="."){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(3);continue}}else if(Y[1]==="/"){Y=Y.slice(2);continue}}else if(Y[0]==="/"){if(Y[1]==="."){if(Y[2]==="/"){Y=Y.slice(2);continue}else if(Y[2]==="."){if(Y[3]==="/"){if(Y=Y.slice(3),X.length!==0)X.pop();continue}}}}if((Q=Y.indexOf("/",1))===-1){X.push(Y);break}else X.push(Y.slice(0,Q)),Y=Y.slice(Q)}return X.join("")}function kG0(D,Y){let X=Y!==!0?escape:unescape;if(D.scheme!==void 0)D.scheme=X(D.scheme);if(D.userinfo!==void 0)D.userinfo=X(D.userinfo);if(D.host!==void 0)D.host=X(D.host);if(D.path!==void 0)D.path=X(D.path);if(D.query!==void 0)D.query=X(D.query);if(D.fragment!==void 0)D.fragment=X(D.fragment);return D}function bG0(D){let Y=[];if(D.userinfo!==void 0)Y.push(D.userinfo),Y.push("@");if(D.host!==void 0){let X=unescape(D.host);if(!eb(X)){let Q=Dv(X);if(Q.isIPV6===!0)X=`[${Q.escapedHost}]`;else X=D.host}Y.push(X)}if(typeof D.port==="number"||typeof D.port==="string")Y.push(":"),Y.push(String(D.port));return Y.length?Y.join(""):void 0}Yv.exports={nonSimpleDomain:PG0,recomposeAuthority:bG0,normalizeComponentEncoding:kG0,removeDotSegments:_G0,isIPv4:eb,isUUID:SG0,normalizeIPv6:Dv,stringArrayToHexStripped:ez}});var $v=T((LI0,Wv)=>{var{isUUID:vG0}=DU(),yG0=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu,fG0=["http","https","ws","wss","urn","urn:uuid"];function hG0(D){return fG0.indexOf(D)!==-1}function YU(D){if(D.secure===!0)return!0;else if(D.secure===!1)return!1;else if(D.scheme)return D.scheme.length===3&&(D.scheme[0]==="w"||D.scheme[0]==="W")&&(D.scheme[1]==="s"||D.scheme[1]==="S")&&(D.scheme[2]==="s"||D.scheme[2]==="S");else return!1}function Xv(D){if(!D.host)D.error=D.error||"HTTP URIs must have a host.";return D}function Qv(D){let Y=String(D.scheme).toLowerCase()==="https";if(D.port===(Y?443:80)||D.port==="")D.port=void 0;if(!D.path)D.path="/";return D}function gG0(D){return D.secure=YU(D),D.resourceName=(D.path||"/")+(D.query?"?"+D.query:""),D.path=void 0,D.query=void 0,D}function uG0(D){if(D.port===(YU(D)?443:80)||D.port==="")D.port=void 0;if(typeof D.secure==="boolean")D.scheme=D.secure?"wss":"ws",D.secure=void 0;if(D.resourceName){let[Y,X]=D.resourceName.split("?");D.path=Y&&Y!=="/"?Y:void 0,D.query=X,D.resourceName=void 0}return D.fragment=void 0,D}function mG0(D,Y){if(!D.path)return D.error="URN can not be parsed",D;let X=D.path.match(yG0);if(X){let Q=Y.scheme||D.scheme||"urn";D.nid=X[1].toLowerCase(),D.nss=X[2];let J=`${Q}:${Y.nid||D.nid}`,W=XU(J);if(D.path=void 0,W)D=W.parse(D,Y)}else D.error=D.error||"URN can not be parsed.";return D}function cG0(D,Y){if(D.nid===void 0)throw Error("URN without nid cannot be serialized");let X=Y.scheme||D.scheme||"urn",Q=D.nid.toLowerCase(),J=`${X}:${Y.nid||Q}`,W=XU(J);if(W)D=W.serialize(D,Y);let $=D,G=D.nss;return $.path=`${Q||Y.nid}:${G}`,Y.skipEscape=!0,$}function lG0(D,Y){let X=D;if(X.uuid=X.nss,X.nss=void 0,!Y.tolerant&&(!X.uuid||!vG0(X.uuid)))X.error=X.error||"UUID is not valid.";return X}function dG0(D){let Y=D;return Y.nss=(D.uuid||"").toLowerCase(),Y}var Jv={scheme:"http",domainHost:!0,parse:Xv,serialize:Qv},pG0={scheme:"https",domainHost:Jv.domainHost,parse:Xv,serialize:Qv},q$={scheme:"ws",domainHost:!0,parse:gG0,serialize:uG0},nG0={scheme:"wss",domainHost:q$.domainHost,parse:q$.parse,serialize:q$.serialize},iG0={scheme:"urn",parse:mG0,serialize:cG0,skipNormalize:!0},rG0={scheme:"urn:uuid",parse:lG0,serialize:dG0,skipNormalize:!0},K$={http:Jv,https:pG0,ws:q$,wss:nG0,urn:iG0,"urn:uuid":rG0};Object.setPrototypeOf(K$,null);function XU(D){return D&&(K$[D]||K$[D.toLowerCase()])||void 0}Wv.exports={wsIsSecure:YU,SCHEMES:K$,isValidSchemeName:hG0,getSchemeHandler:XU}});var Hv=T((OI0,U$)=>{var{normalizeIPv6:aG0,removeDotSegments:YX,recomposeAuthority:oG0,normalizeComponentEncoding:z$,isIPv4:sG0,nonSimpleDomain:tG0}=DU(),{SCHEMES:eG0,getSchemeHandler:Gv}=$v();function DB0(D,Y){if(typeof D==="string")D=W9(C9(D,Y),Y);else if(typeof D==="object")D=C9(W9(D,Y),Y);return D}function YB0(D,Y,X){let Q=X?Object.assign({scheme:"null"},X):{scheme:"null"},J=Bv(C9(D,Q),C9(Y,Q),Q,!0);return Q.skipEscape=!0,W9(J,Q)}function Bv(D,Y,X,Q){let J={};if(!Q)D=C9(W9(D,X),X),Y=C9(W9(Y,X),X);if(X=X||{},!X.tolerant&&Y.scheme)J.scheme=Y.scheme,J.userinfo=Y.userinfo,J.host=Y.host,J.port=Y.port,J.path=YX(Y.path||""),J.query=Y.query;else{if(Y.userinfo!==void 0||Y.host!==void 0||Y.port!==void 0)J.userinfo=Y.userinfo,J.host=Y.host,J.port=Y.port,J.path=YX(Y.path||""),J.query=Y.query;else{if(!Y.path)if(J.path=D.path,Y.query!==void 0)J.query=Y.query;else J.query=D.query;else{if(Y.path[0]==="/")J.path=YX(Y.path);else{if((D.userinfo!==void 0||D.host!==void 0||D.port!==void 0)&&!D.path)J.path="/"+Y.path;else if(!D.path)J.path=Y.path;else J.path=D.path.slice(0,D.path.lastIndexOf("/")+1)+Y.path;J.path=YX(J.path)}J.query=Y.query}J.userinfo=D.userinfo,J.host=D.host,J.port=D.port}J.scheme=D.scheme}return J.fragment=Y.fragment,J}function XB0(D,Y,X){if(typeof D==="string")D=unescape(D),D=W9(z$(C9(D,X),!0),{...X,skipEscape:!0});else if(typeof D==="object")D=W9(z$(D,!0),{...X,skipEscape:!0});if(typeof Y==="string")Y=unescape(Y),Y=W9(z$(C9(Y,X),!0),{...X,skipEscape:!0});else if(typeof Y==="object")Y=W9(z$(Y,!0),{...X,skipEscape:!0});return D.toLowerCase()===Y.toLowerCase()}function W9(D,Y){let X={host:D.host,scheme:D.scheme,userinfo:D.userinfo,port:D.port,path:D.path,query:D.query,nid:D.nid,nss:D.nss,uuid:D.uuid,fragment:D.fragment,reference:D.reference,resourceName:D.resourceName,secure:D.secure,error:""},Q=Object.assign({},Y),J=[],W=Gv(Q.scheme||X.scheme);if(W&&W.serialize)W.serialize(X,Q);if(X.path!==void 0)if(!Q.skipEscape){if(X.path=escape(X.path),X.scheme!==void 0)X.path=X.path.split("%3A").join(":")}else X.path=unescape(X.path);if(Q.reference!=="suffix"&&X.scheme)J.push(X.scheme,":");let $=oG0(X);if($!==void 0){if(Q.reference!=="suffix")J.push("//");if(J.push($),X.path&&X.path[0]!=="/")J.push("/")}if(X.path!==void 0){let G=X.path;if(!Q.absolutePath&&(!W||!W.absolutePath))G=YX(G);if($===void 0&&G[0]==="/"&&G[1]==="/")G="/%2F"+G.slice(2);J.push(G)}if(X.query!==void 0)J.push("?",X.query);if(X.fragment!==void 0)J.push("#",X.fragment);return J.join("")}var QB0=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function C9(D,Y){let X=Object.assign({},Y),Q={scheme:void 0,userinfo:void 0,host:"",port:void 0,path:"",query:void 0,fragment:void 0},J=!1;if(X.reference==="suffix")if(X.scheme)D=X.scheme+":"+D;else D="//"+D;let W=D.match(QB0);if(W){if(Q.scheme=W[1],Q.userinfo=W[3],Q.host=W[4],Q.port=parseInt(W[5],10),Q.path=W[6]||"",Q.query=W[7],Q.fragment=W[8],isNaN(Q.port))Q.port=W[5];if(Q.host)if(sG0(Q.host)===!1){let B=aG0(Q.host);Q.host=B.host.toLowerCase(),J=B.isIPV6}else J=!0;if(Q.scheme===void 0&&Q.userinfo===void 0&&Q.host===void 0&&Q.port===void 0&&Q.query===void 0&&!Q.path)Q.reference="same-document";else if(Q.scheme===void 0)Q.reference="relative";else if(Q.fragment===void 0)Q.reference="absolute";else Q.reference="uri";if(X.reference&&X.reference!=="suffix"&&X.reference!==Q.reference)Q.error=Q.error||"URI is not a "+X.reference+" reference.";let $=Gv(X.scheme||Q.scheme);if(!X.unicodeSupport&&(!$||!$.unicodeSupport)){if(Q.host&&(X.domainHost||$&&$.domainHost)&&J===!1&&tG0(Q.host))try{Q.host=URL.domainToASCII(Q.host.toLowerCase())}catch(G){Q.error=Q.error||"Host's domain name can not be converted to ASCII: "+G}}if(!$||$&&!$.skipNormalize){if(D.indexOf("%")!==-1){if(Q.scheme!==void 0)Q.scheme=unescape(Q.scheme);if(Q.host!==void 0)Q.host=unescape(Q.host)}if(Q.path)Q.path=escape(unescape(Q.path));if(Q.fragment)Q.fragment=encodeURI(decodeURIComponent(Q.fragment))}if($&&$.parse)$.parse(Q,X)}else Q.error=Q.error||"URI can not be parsed.";return Q}var QU={SCHEMES:eG0,normalize:DB0,resolve:YB0,resolveComponent:Bv,equal:XB0,serialize:W9,parse:C9};U$.exports=QU;U$.exports.default=QU;U$.exports.fastUri=QU});var Kv=T((qv)=>{Object.defineProperty(qv,"__esModule",{value:!0});var Fv=Hv();Fv.code='require("ajv/dist/runtime/uri").default';qv.default=Fv});var Nv=T((x9)=>{Object.defineProperty(x9,"__esModule",{value:!0});x9.CodeGen=x9.Name=x9.nil=x9.stringify=x9.str=x9._=x9.KeywordCxt=void 0;var WB0=tY();Object.defineProperty(x9,"KeywordCxt",{enumerable:!0,get:function(){return WB0.KeywordCxt}});var S7=C0();Object.defineProperty(x9,"_",{enumerable:!0,get:function(){return S7._}});Object.defineProperty(x9,"str",{enumerable:!0,get:function(){return S7.str}});Object.defineProperty(x9,"stringify",{enumerable:!0,get:function(){return S7.stringify}});Object.defineProperty(x9,"nil",{enumerable:!0,get:function(){return S7.nil}});Object.defineProperty(x9,"Name",{enumerable:!0,get:function(){return S7.Name}});Object.defineProperty(x9,"CodeGen",{enumerable:!0,get:function(){return S7.CodeGen}});var $B0=B$(),Mv=eY(),GB0=yz(),XX=F$(),BB0=C0(),QX=aY(),V$=rY(),WU=p0(),zv=sb(),HB0=Kv(),Lv=(D,Y)=>new RegExp(D,Y);Lv.code="new RegExp";var FB0=["removeAdditional","useDefaults","coerceTypes"],qB0=new Set(["validate","serialize","parse","wrapper","root","schema","keyword","pattern","formats","validate$data","func","obj","Error"]),KB0={errorDataPath:"",format:"`validateFormats: false` can be used instead.",nullable:'"nullable" keyword is supported by default.',jsonPointers:"Deprecated jsPropertySyntax can be used instead.",extendRefs:"Deprecated ignoreKeywordsWithRef can be used instead.",missingRefs:"Pass empty schema with $id that should be ignored to ajv.addSchema.",processCode:"Use option `code: {process: (code, schemaEnv: object) => string}`",sourceCode:"Use option `code: {source: true}`",strictDefaults:"It is default now, see option `strict`.",strictKeywords:"It is default now, see option `strict`.",uniqueItems:'"uniqueItems" keyword is always validated.',unknownFormats:"Disable strict mode or pass `true` to `ajv.addFormat` (or `formats` option).",cache:"Map is used as cache, schema object as key.",serialize:"Map is used as cache, schema object as key.",ajvErrors:"It is default now."},zB0={ignoreKeywordsWithRef:"",jsPropertySyntax:"",unicode:'"minLength"/"maxLength" account for unicode characters by default.'},Uv=200;function UB0(D){var Y,X,Q,J,W,$,G,B,H,F,K,U,z,V,w,M,O,Z,L,E,j,I,x,y,C;let m=D.strict,S=(Y=D.code)===null||Y===void 0?void 0:Y.optimize,p=S===!0||S===void 0?1:S||0,u=(Q=(X=D.code)===null||X===void 0?void 0:X.regExp)!==null&&Q!==void 0?Q:Lv,W0=(J=D.uriResolver)!==null&&J!==void 0?J:HB0.default;return{strictSchema:($=(W=D.strictSchema)!==null&&W!==void 0?W:m)!==null&&$!==void 0?$:!0,strictNumbers:(B=(G=D.strictNumbers)!==null&&G!==void 0?G:m)!==null&&B!==void 0?B:!0,strictTypes:(F=(H=D.strictTypes)!==null&&H!==void 0?H:m)!==null&&F!==void 0?F:"log",strictTuples:(U=(K=D.strictTuples)!==null&&K!==void 0?K:m)!==null&&U!==void 0?U:"log",strictRequired:(V=(z=D.strictRequired)!==null&&z!==void 0?z:m)!==null&&V!==void 0?V:!1,code:D.code?{...D.code,optimize:p,regExp:u}:{optimize:p,regExp:u},loopRequired:(w=D.loopRequired)!==null&&w!==void 0?w:Uv,loopEnum:(M=D.loopEnum)!==null&&M!==void 0?M:Uv,meta:(O=D.meta)!==null&&O!==void 0?O:!0,messages:(Z=D.messages)!==null&&Z!==void 0?Z:!0,inlineRefs:(L=D.inlineRefs)!==null&&L!==void 0?L:!0,schemaId:(E=D.schemaId)!==null&&E!==void 0?E:"$id",addUsedSchema:(j=D.addUsedSchema)!==null&&j!==void 0?j:!0,validateSchema:(I=D.validateSchema)!==null&&I!==void 0?I:!0,validateFormats:(x=D.validateFormats)!==null&&x!==void 0?x:!0,unicodeRegExp:(y=D.unicodeRegExp)!==null&&y!==void 0?y:!0,int32range:(C=D.int32range)!==null&&C!==void 0?C:!0,uriResolver:W0}}class w${constructor(D={}){this.schemas={},this.refs={},this.formats={},this._compilations=new Set,this._loading={},this._cache=new Map,D=this.opts={...D,...UB0(D)};let{es5:Y,lines:X}=this.opts.code;this.scope=new BB0.ValueScope({scope:{},prefixes:qB0,es5:Y,lines:X}),this.logger=NB0(D.logger);let Q=D.validateFormats;if(D.validateFormats=!1,this.RULES=(0,GB0.getRules)(),Vv.call(this,KB0,D,"NOT SUPPORTED"),Vv.call(this,zB0,D,"DEPRECATED","warn"),this._metaOpts=LB0.call(this),D.formats)wB0.call(this);if(this._addVocabularies(),this._addDefaultMetaSchema(),D.keywords)MB0.call(this,D.keywords);if(typeof D.meta=="object")this.addMetaSchema(D.meta);VB0.call(this),D.validateFormats=Q}_addVocabularies(){this.addKeyword("$async")}_addDefaultMetaSchema(){let{$data:D,meta:Y,schemaId:X}=this.opts,Q=zv;if(X==="id")Q={...zv},Q.id=Q.$id,delete Q.$id;if(Y&&D)this.addMetaSchema(Q,Q[X],!1)}defaultMeta(){let{meta:D,schemaId:Y}=this.opts;return this.opts.defaultMeta=typeof D=="object"?D[Y]||D:void 0}validate(D,Y){let X;if(typeof D=="string"){if(X=this.getSchema(D),!X)throw Error(`no schema with key or ref "${D}"`)}else X=this.compile(D);let Q=X(Y);if(!("$async"in X))this.errors=X.errors;return Q}compile(D,Y){let X=this._addSchema(D,Y);return X.validate||this._compileSchemaEnv(X)}compileAsync(D,Y){if(typeof this.opts.loadSchema!="function")throw Error("options.loadSchema should be a function");let{loadSchema:X}=this.opts;return Q.call(this,D,Y);async function Q(H,F){await J.call(this,H.$schema);let K=this._addSchema(H,F);return K.validate||W.call(this,K)}async function J(H){if(H&&!this.getSchema(H))await Q.call(this,{$ref:H},!0)}async function W(H){try{return this._compileSchemaEnv(H)}catch(F){if(!(F instanceof Mv.default))throw F;return $.call(this,F),await G.call(this,F.missingSchema),W.call(this,H)}}function $({missingSchema:H,missingRef:F}){if(this.refs[H])throw Error(`AnySchema ${H} is loaded but ${F} cannot be resolved`)}async function G(H){let F=await B.call(this,H);if(!this.refs[H])await J.call(this,F.$schema);if(!this.refs[H])this.addSchema(F,H,Y)}async function B(H){let F=this._loading[H];if(F)return F;try{return await(this._loading[H]=X(H))}finally{delete this._loading[H]}}}addSchema(D,Y,X,Q=this.opts.validateSchema){if(Array.isArray(D)){for(let W of D)this.addSchema(W,void 0,X,Q);return this}let J;if(typeof D==="object"){let{schemaId:W}=this.opts;if(J=D[W],J!==void 0&&typeof J!="string")throw Error(`schema ${W} must be string`)}return Y=(0,QX.normalizeId)(Y||J),this._checkUnique(Y),this.schemas[Y]=this._addSchema(D,X,Y,Q,!0),this}addMetaSchema(D,Y,X=this.opts.validateSchema){return this.addSchema(D,Y,!0,X),this}validateSchema(D,Y){if(typeof D=="boolean")return!0;let X;if(X=D.$schema,X!==void 0&&typeof X!="string")throw Error("$schema must be a string");if(X=X||this.opts.defaultMeta||this.defaultMeta(),!X)return this.logger.warn("meta-schema not available"),this.errors=null,!0;let Q=this.validate(X,D);if(!Q&&Y){let J="schema is invalid: "+this.errorsText();if(this.opts.validateSchema==="log")this.logger.error(J);else throw Error(J)}return Q}getSchema(D){let Y;while(typeof(Y=wv.call(this,D))=="string")D=Y;if(Y===void 0){let{schemaId:X}=this.opts,Q=new XX.SchemaEnv({schema:{},schemaId:X});if(Y=XX.resolveSchema.call(this,Q,D),!Y)return;this.refs[D]=Y}return Y.validate||this._compileSchemaEnv(Y)}removeSchema(D){if(D instanceof RegExp)return this._removeAllSchemas(this.schemas,D),this._removeAllSchemas(this.refs,D),this;switch(typeof D){case"undefined":return this._removeAllSchemas(this.schemas),this._removeAllSchemas(this.refs),this._cache.clear(),this;case"string":{let Y=wv.call(this,D);if(typeof Y=="object")this._cache.delete(Y.schema);return delete this.schemas[D],delete this.refs[D],this}case"object":{let Y=D;this._cache.delete(Y);let X=D[this.opts.schemaId];if(X)X=(0,QX.normalizeId)(X),delete this.schemas[X],delete this.refs[X];return this}default:throw Error("ajv.removeSchema: invalid parameter")}}addVocabulary(D){for(let Y of D)this.addKeyword(Y);return this}addKeyword(D,Y){let X;if(typeof D=="string"){if(X=D,typeof Y=="object")this.logger.warn("these parameters are deprecated, see docs for addKeyword"),Y.keyword=X}else if(typeof D=="object"&&Y===void 0){if(Y=D,X=Y.keyword,Array.isArray(X)&&!X.length)throw Error("addKeywords: keyword must be string or non-empty array")}else throw Error("invalid addKeywords parameters");if(AB0.call(this,X,Y),!Y)return(0,WU.eachItem)(X,(J)=>JU.call(this,J)),this;RB0.call(this,Y);let Q={...Y,type:(0,V$.getJSONTypes)(Y.type),schemaType:(0,V$.getJSONTypes)(Y.schemaType)};return(0,WU.eachItem)(X,Q.type.length===0?(J)=>JU.call(this,J,Q):(J)=>Q.type.forEach((W)=>JU.call(this,J,Q,W))),this}getKeyword(D){let Y=this.RULES.all[D];return typeof Y=="object"?Y.definition:!!Y}removeKeyword(D){let{RULES:Y}=this;delete Y.keywords[D],delete Y.all[D];for(let X of Y.rules){let Q=X.rules.findIndex((J)=>J.keyword===D);if(Q>=0)X.rules.splice(Q,1)}return this}addFormat(D,Y){if(typeof Y=="string")Y=new RegExp(Y);return this.formats[D]=Y,this}errorsText(D=this.errors,{separator:Y=", ",dataVar:X="data"}={}){if(!D||D.length===0)return"No errors";return D.map((Q)=>`${X}${Q.instancePath} ${Q.message}`).reduce((Q,J)=>Q+Y+J)}$dataMetaSchema(D,Y){let X=this.RULES.all;D=JSON.parse(JSON.stringify(D));for(let Q of Y){let J=Q.split("/").slice(1),W=D;for(let $ of J)W=W[$];for(let $ in X){let G=X[$];if(typeof G!="object")continue;let{$data:B}=G.definition,H=W[$];if(B&&H)W[$]=Ov(H)}}return D}_removeAllSchemas(D,Y){for(let X in D){let Q=D[X];if(!Y||Y.test(X)){if(typeof Q=="string")delete D[X];else if(Q&&!Q.meta)this._cache.delete(Q.schema),delete D[X]}}}_addSchema(D,Y,X,Q=this.opts.validateSchema,J=this.opts.addUsedSchema){let W,{schemaId:$}=this.opts;if(typeof D=="object")W=D[$];else if(this.opts.jtd)throw Error("schema must be object");else if(typeof D!="boolean")throw Error("schema must be object or boolean");let G=this._cache.get(D);if(G!==void 0)return G;X=(0,QX.normalizeId)(W||X);let B=QX.getSchemaRefs.call(this,D,X);if(G=new XX.SchemaEnv({schema:D,schemaId:$,meta:Y,baseId:X,localRefs:B}),this._cache.set(G.schema,G),J&&!X.startsWith("#")){if(X)this._checkUnique(X);this.refs[X]=G}if(Q)this.validateSchema(D,!0);return G}_checkUnique(D){if(this.schemas[D]||this.refs[D])throw Error(`schema with key or id "${D}" already exists`)}_compileSchemaEnv(D){if(D.meta)this._compileMetaSchema(D);else XX.compileSchema.call(this,D);if(!D.validate)throw Error("ajv implementation error");return D.validate}_compileMetaSchema(D){let Y=this.opts;this.opts=this._metaOpts;try{XX.compileSchema.call(this,D)}finally{this.opts=Y}}}w$.ValidationError=$B0.default;w$.MissingRefError=Mv.default;x9.default=w$;function Vv(D,Y,X,Q="error"){for(let J in D){let W=J;if(W in Y)this.logger[Q](`${X}: option ${J}. ${D[W]}`)}}function wv(D){return D=(0,QX.normalizeId)(D),this.schemas[D]||this.refs[D]}function VB0(){let D=this.opts.schemas;if(!D)return;if(Array.isArray(D))this.addSchema(D);else for(let Y in D)this.addSchema(D[Y],Y)}function wB0(){for(let D in this.opts.formats){let Y=this.opts.formats[D];if(Y)this.addFormat(D,Y)}}function MB0(D){if(Array.isArray(D)){this.addVocabulary(D);return}this.logger.warn("keywords option as map is deprecated, pass array");for(let Y in D){let X=D[Y];if(!X.keyword)X.keyword=Y;this.addKeyword(X)}}function LB0(){let D={...this.opts};for(let Y of FB0)delete D[Y];return D}var OB0={log(){},warn(){},error(){}};function NB0(D){if(D===!1)return OB0;if(D===void 0)return console;if(D.log&&D.warn&&D.error)return D;throw Error("logger must implement log, warn and error methods")}var ZB0=/^[a-z_$][a-z0-9_$:-]*$/i;function AB0(D,Y){let{RULES:X}=this;if((0,WU.eachItem)(D,(Q)=>{if(X.keywords[Q])throw Error(`Keyword ${Q} is already defined`);if(!ZB0.test(Q))throw Error(`Keyword ${Q} has invalid name`)}),!Y)return;if(Y.$data&&!(("code"in Y)||("validate"in Y)))throw Error('$data keyword must have "code" or "validate" function')}function JU(D,Y,X){var Q;let J=Y===null||Y===void 0?void 0:Y.post;if(X&&J)throw Error('keyword with "post" flag cannot have "type"');let{RULES:W}=this,$=J?W.post:W.rules.find(({type:B})=>B===X);if(!$)$={type:X,rules:[]},W.rules.push($);if(W.keywords[D]=!0,!Y)return;let G={keyword:D,definition:{...Y,type:(0,V$.getJSONTypes)(Y.type),schemaType:(0,V$.getJSONTypes)(Y.schemaType)}};if(Y.before)EB0.call(this,$,G,Y.before);else $.rules.push(G);W.all[D]=G,(Q=Y.implements)===null||Q===void 0||Q.forEach((B)=>this.addKeyword(B))}function EB0(D,Y,X){let Q=D.rules.findIndex((J)=>J.keyword===X);if(Q>=0)D.rules.splice(Q,0,Y);else D.rules.push(Y),this.logger.warn(`rule ${X} is not defined`)}function RB0(D){let{metaSchema:Y}=D;if(Y===void 0)return;if(D.$data&&this.opts.$data)Y=Ov(Y);D.validateSchema=this.compile(Y,!0)}var jB0={$ref:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#"};function Ov(D){return{anyOf:[D,jB0]}}});var Av=T((Zv)=>{Object.defineProperty(Zv,"__esModule",{value:!0});var PB0={keyword:"id",code(){throw Error('NOT SUPPORTED: keyword "id", use "$id" for schema ID')}};Zv.default=PB0});var Pv=T((Tv)=>{Object.defineProperty(Tv,"__esModule",{value:!0});Tv.callRef=Tv.getValidate=void 0;var CB0=eY(),Ev=O6(),i8=C0(),P7=P9(),Rv=F$(),M$=p0(),xB0={keyword:"$ref",schemaType:"string",code(D){let{gen:Y,schema:X,it:Q}=D,{baseId:J,schemaEnv:W,validateName:$,opts:G,self:B}=Q,{root:H}=W;if((X==="#"||X==="#/")&&J===H.baseId)return K();let F=Rv.resolveRef.call(B,H,J,X);if(F===void 0)throw new CB0.default(Q.opts.uriResolver,J,X);if(F instanceof Rv.SchemaEnv)return U(F);return z(F);function K(){if(W===H)return L$(D,$,W,W.$async);let V=Y.scopeValue("root",{ref:H});return L$(D,i8._`${V}.validate`,H,H.$async)}function U(V){let w=jv(D,V);L$(D,w,V,V.$async)}function z(V){let w=Y.scopeValue("schema",G.code.source===!0?{ref:V,code:(0,i8.stringify)(V)}:{ref:V}),M=Y.name("valid"),O=D.subschema({schema:V,dataTypes:[],schemaPath:i8.nil,topSchemaRef:w,errSchemaPath:X},M);D.mergeEvaluated(O),D.ok(M)}}};function jv(D,Y){let{gen:X}=D;return Y.validate?X.scopeValue("validate",{ref:Y.validate}):i8._`${X.scopeValue("wrapper",{ref:Y})}.validate`}Tv.getValidate=jv;function L$(D,Y,X,Q){let{gen:J,it:W}=D,{allErrors:$,schemaEnv:G,opts:B}=W,H=B.passContext?P7.default.this:i8.nil;if(Q)F();else K();function F(){if(!G.$async)throw Error("async schema referenced by sync schema");let V=J.let("valid");J.try(()=>{if(J.code(i8._`await ${(0,Ev.callValidateCode)(D,Y,H)}`),z(Y),!$)J.assign(V,!0)},(w)=>{if(J.if(i8._`!(${w} instanceof ${W.ValidationError})`,()=>J.throw(w)),U(w),!$)J.assign(V,!1)}),D.ok(V)}function K(){D.result((0,Ev.callValidateCode)(D,Y,H),()=>z(Y),()=>U(Y))}function U(V){let w=i8._`${V}.errors`;J.assign(P7.default.vErrors,i8._`${P7.default.vErrors} === null ? ${w} : ${P7.default.vErrors}.concat(${w})`),J.assign(P7.default.errors,i8._`${P7.default.vErrors}.length`)}function z(V){var w;if(!W.opts.unevaluated)return;let M=(w=X===null||X===void 0?void 0:X.validate)===null||w===void 0?void 0:w.evaluated;if(W.props!==!0)if(M&&!M.dynamicProps){if(M.props!==void 0)W.props=M$.mergeEvaluated.props(J,M.props,W.props)}else{let O=J.var("props",i8._`${V}.evaluated.props`);W.props=M$.mergeEvaluated.props(J,O,W.props,i8.Name)}if(W.items!==!0)if(M&&!M.dynamicItems){if(M.items!==void 0)W.items=M$.mergeEvaluated.items(J,M.items,W.items)}else{let O=J.var("items",i8._`${V}.evaluated.items`);W.items=M$.mergeEvaluated.items(J,O,W.items,i8.Name)}}}Tv.callRef=L$;Tv.default=xB0});var Cv=T((Iv)=>{Object.defineProperty(Iv,"__esModule",{value:!0});var bB0=Av(),vB0=Pv(),yB0=["$schema","$id","$defs","$vocabulary",{keyword:"$comment"},"definitions",bB0.default,vB0.default];Iv.default=yB0});var _v=T((xv)=>{Object.defineProperty(xv,"__esModule",{value:!0});var O$=C0(),ED=O$.operators,N$={maximum:{okStr:"<=",ok:ED.LTE,fail:ED.GT},minimum:{okStr:">=",ok:ED.GTE,fail:ED.LT},exclusiveMaximum:{okStr:"<",ok:ED.LT,fail:ED.GTE},exclusiveMinimum:{okStr:">",ok:ED.GT,fail:ED.LTE}},hB0={message:({keyword:D,schemaCode:Y})=>O$.str`must be ${N$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>O$._`{comparison: ${N$[D].okStr}, limit: ${Y}}`},gB0={keyword:Object.keys(N$),type:"number",schemaType:"number",$data:!0,error:hB0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D;D.fail$data(O$._`${X} ${N$[Y].fail} ${Q} || isNaN(${X})`)}};xv.default=gB0});var bv=T((kv)=>{Object.defineProperty(kv,"__esModule",{value:!0});var JX=C0(),mB0={message:({schemaCode:D})=>JX.str`must be multiple of ${D}`,params:({schemaCode:D})=>JX._`{multipleOf: ${D}}`},cB0={keyword:"multipleOf",type:"number",schemaType:"number",$data:!0,error:mB0,code(D){let{gen:Y,data:X,schemaCode:Q,it:J}=D,W=J.opts.multipleOfPrecision,$=Y.let("res"),G=W?JX._`Math.abs(Math.round(${$}) - ${$}) > 1e-${W}`:JX._`${$} !== parseInt(${$})`;D.fail$data(JX._`(${Q} === 0 || (${$} = ${X}/${Q}, ${G}))`)}};kv.default=cB0});var fv=T((yv)=>{Object.defineProperty(yv,"__esModule",{value:!0});function vv(D){let Y=D.length,X=0,Q=0,J;while(Q<Y)if(X++,J=D.charCodeAt(Q++),J>=55296&&J<=56319&&Q<Y){if(J=D.charCodeAt(Q),(J&64512)===56320)Q++}return X}yv.default=vv;vv.code='require("ajv/dist/runtime/ucs2length").default'});var gv=T((hv)=>{Object.defineProperty(hv,"__esModule",{value:!0});var I5=C0(),pB0=p0(),nB0=fv(),iB0={message({keyword:D,schemaCode:Y}){let X=D==="maxLength"?"more":"fewer";return I5.str`must NOT have ${X} than ${Y} characters`},params:({schemaCode:D})=>I5._`{limit: ${D}}`},rB0={keyword:["maxLength","minLength"],type:"string",schemaType:"number",$data:!0,error:iB0,code(D){let{keyword:Y,data:X,schemaCode:Q,it:J}=D,W=Y==="maxLength"?I5.operators.GT:I5.operators.LT,$=J.opts.unicode===!1?I5._`${X}.length`:I5._`${(0,pB0.useFunc)(D.gen,nB0.default)}(${X})`;D.fail$data(I5._`${$} ${W} ${Q}`)}};hv.default=rB0});var mv=T((uv)=>{Object.defineProperty(uv,"__esModule",{value:!0});var oB0=O6(),Z$=C0(),sB0={message:({schemaCode:D})=>Z$.str`must match pattern "${D}"`,params:({schemaCode:D})=>Z$._`{pattern: ${D}}`},tB0={keyword:"pattern",type:"string",schemaType:"string",$data:!0,error:sB0,code(D){let{data:Y,$data:X,schema:Q,schemaCode:J,it:W}=D,$=W.opts.unicodeRegExp?"u":"",G=X?Z$._`(new RegExp(${J}, ${$}))`:(0,oB0.usePattern)(D,Q);D.fail$data(Z$._`!${G}.test(${Y})`)}};uv.default=tB0});var lv=T((cv)=>{Object.defineProperty(cv,"__esModule",{value:!0});var WX=C0(),DH0={message({keyword:D,schemaCode:Y}){let X=D==="maxProperties"?"more":"fewer";return WX.str`must NOT have ${X} than ${Y} properties`},params:({schemaCode:D})=>WX._`{limit: ${D}}`},YH0={keyword:["maxProperties","minProperties"],type:"object",schemaType:"number",$data:!0,error:DH0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D,J=Y==="maxProperties"?WX.operators.GT:WX.operators.LT;D.fail$data(WX._`Object.keys(${X}).length ${J} ${Q}`)}};cv.default=YH0});var pv=T((dv)=>{Object.defineProperty(dv,"__esModule",{value:!0});var $X=O6(),GX=C0(),QH0=p0(),JH0={message:({params:{missingProperty:D}})=>GX.str`must have required property '${D}'`,params:({params:{missingProperty:D}})=>GX._`{missingProperty: ${D}}`},WH0={keyword:"required",type:"object",schemaType:"array",$data:!0,error:JH0,code(D){let{gen:Y,schema:X,schemaCode:Q,data:J,$data:W,it:$}=D,{opts:G}=$;if(!W&&X.length===0)return;let B=X.length>=G.loopRequired;if($.allErrors)H();else F();if(G.strictRequired){let z=D.parentSchema.properties,{definedProperties:V}=D.it;for(let w of X)if((z===null||z===void 0?void 0:z[w])===void 0&&!V.has(w)){let M=$.schemaEnv.baseId+$.errSchemaPath,O=`required property "${w}" is not defined at "${M}" (strictRequired)`;(0,QH0.checkStrictMode)($,O,$.opts.strictRequired)}}function H(){if(B||W)D.block$data(GX.nil,K);else for(let z of X)(0,$X.checkReportMissingProp)(D,z)}function F(){let z=Y.let("missing");if(B||W){let V=Y.let("valid",!0);D.block$data(V,()=>U(z,V)),D.ok(V)}else Y.if((0,$X.checkMissingProp)(D,X,z)),(0,$X.reportMissingProp)(D,z),Y.else()}function K(){Y.forOf("prop",Q,(z)=>{D.setParams({missingProperty:z}),Y.if((0,$X.noPropertyInData)(Y,J,z,G.ownProperties),()=>D.error())})}function U(z,V){D.setParams({missingProperty:z}),Y.forOf(z,Q,()=>{Y.assign(V,(0,$X.propertyInData)(Y,J,z,G.ownProperties)),Y.if((0,GX.not)(V),()=>{D.error(),Y.break()})},GX.nil)}}};dv.default=WH0});var iv=T((nv)=>{Object.defineProperty(nv,"__esModule",{value:!0});var BX=C0(),GH0={message({keyword:D,schemaCode:Y}){let X=D==="maxItems"?"more":"fewer";return BX.str`must NOT have ${X} than ${Y} items`},params:({schemaCode:D})=>BX._`{limit: ${D}}`},BH0={keyword:["maxItems","minItems"],type:"array",schemaType:"number",$data:!0,error:GH0,code(D){let{keyword:Y,data:X,schemaCode:Q}=D,J=Y==="maxItems"?BX.operators.GT:BX.operators.LT;D.fail$data(BX._`${X}.length ${J} ${Q}`)}};nv.default=BH0});var A$=T((av)=>{Object.defineProperty(av,"__esModule",{value:!0});var rv=dz();rv.code='require("ajv/dist/runtime/equal").default';av.default=rv});var sv=T((ov)=>{Object.defineProperty(ov,"__esModule",{value:!0});var $U=rY(),K8=C0(),qH0=p0(),KH0=A$(),zH0={message:({params:{i:D,j:Y}})=>K8.str`must NOT have duplicate items (items ## ${Y} and ${D} are identical)`,params:({params:{i:D,j:Y}})=>K8._`{i: ${D}, j: ${Y}}`},UH0={keyword:"uniqueItems",type:"array",schemaType:"boolean",$data:!0,error:zH0,code(D){let{gen:Y,data:X,$data:Q,schema:J,parentSchema:W,schemaCode:$,it:G}=D;if(!Q&&!J)return;let B=Y.let("valid"),H=W.items?(0,$U.getSchemaTypes)(W.items):[];D.block$data(B,F,K8._`${$} === false`),D.ok(B);function F(){let V=Y.let("i",K8._`${X}.length`),w=Y.let("j");D.setParams({i:V,j:w}),Y.assign(B,!0),Y.if(K8._`${V} > 1`,()=>(K()?U:z)(V,w))}function K(){return H.length>0&&!H.some((V)=>V==="object"||V==="array")}function U(V,w){let M=Y.name("item"),O=(0,$U.checkDataTypes)(H,M,G.opts.strictNumbers,$U.DataType.Wrong),Z=Y.const("indices",K8._`{}`);Y.for(K8._`;${V}--;`,()=>{if(Y.let(M,K8._`${X}[${V}]`),Y.if(O,K8._`continue`),H.length>1)Y.if(K8._`typeof ${M} == "string"`,K8._`${M} += "_"`);Y.if(K8._`typeof ${Z}[${M}] == "number"`,()=>{Y.assign(w,K8._`${Z}[${M}]`),D.error(),Y.assign(B,!1).break()}).code(K8._`${Z}[${M}] = ${V}`)})}function z(V,w){let M=(0,qH0.useFunc)(Y,KH0.default),O=Y.name("outer");Y.label(O).for(K8._`;${V}--;`,()=>Y.for(K8._`${w} = ${V}; ${w}--;`,()=>Y.if(K8._`${M}(${X}[${V}], ${X}[${w}])`,()=>{D.error(),Y.assign(B,!1).break(O)})))}}};ov.default=UH0});var ev=T((tv)=>{Object.defineProperty(tv,"__esModule",{value:!0});var GU=C0(),wH0=p0(),MH0=A$(),LH0={message:"must be equal to constant",params:({schemaCode:D})=>GU._`{allowedValue: ${D}}`},OH0={keyword:"const",$data:!0,error:LH0,code(D){let{gen:Y,data:X,$data:Q,schemaCode:J,schema:W}=D;if(Q||W&&typeof W=="object")D.fail$data(GU._`!${(0,wH0.useFunc)(Y,MH0.default)}(${X}, ${J})`);else D.fail(GU._`${W} !== ${X}`)}};tv.default=OH0});var Yy=T((Dy)=>{Object.defineProperty(Dy,"__esModule",{value:!0});var HX=C0(),ZH0=p0(),AH0=A$(),EH0={message:"must be equal to one of the allowed values",params:({schemaCode:D})=>HX._`{allowedValues: ${D}}`},RH0={keyword:"enum",schemaType:"array",$data:!0,error:EH0,code(D){let{gen:Y,data:X,$data:Q,schema:J,schemaCode:W,it:$}=D;if(!Q&&J.length===0)throw Error("enum must have non-empty array");let G=J.length>=$.opts.loopEnum,B,H=()=>B!==null&&B!==void 0?B:B=(0,ZH0.useFunc)(Y,AH0.default),F;if(G||Q)F=Y.let("valid"),D.block$data(F,K);else{if(!Array.isArray(J))throw Error("ajv implementation error");let z=Y.const("vSchema",W);F=(0,HX.or)(...J.map((V,w)=>U(z,w)))}D.pass(F);function K(){Y.assign(F,!1),Y.forOf("v",W,(z)=>Y.if(HX._`${H()}(${X}, ${z})`,()=>Y.assign(F,!0).break()))}function U(z,V){let w=J[V];return typeof w==="object"&&w!==null?HX._`${H()}(${X}, ${z}[${V}])`:HX._`${X} === ${w}`}}};Dy.default=RH0});var Qy=T((Xy)=>{Object.defineProperty(Xy,"__esModule",{value:!0});var TH0=_v(),SH0=bv(),PH0=gv(),IH0=mv(),CH0=lv(),xH0=pv(),_H0=iv(),kH0=sv(),bH0=ev(),vH0=Yy(),yH0=[TH0.default,SH0.default,PH0.default,IH0.default,CH0.default,xH0.default,_H0.default,kH0.default,{keyword:"type",schemaType:["string","array"]},{keyword:"nullable",schemaType:"boolean"},bH0.default,vH0.default];Xy.default=yH0});var HU=T((Wy)=>{Object.defineProperty(Wy,"__esModule",{value:!0});Wy.validateAdditionalItems=void 0;var C5=C0(),BU=p0(),hH0={message:({params:{len:D}})=>C5.str`must NOT have more than ${D} items`,params:({params:{len:D}})=>C5._`{limit: ${D}}`},gH0={keyword:"additionalItems",type:"array",schemaType:["boolean","object"],before:"uniqueItems",error:hH0,code(D){let{parentSchema:Y,it:X}=D,{items:Q}=Y;if(!Array.isArray(Q)){(0,BU.checkStrictMode)(X,'"additionalItems" is ignored when "items" is not an array of schemas');return}Jy(D,Q)}};function Jy(D,Y){let{gen:X,schema:Q,data:J,keyword:W,it:$}=D;$.items=!0;let G=X.const("len",C5._`${J}.length`);if(Q===!1)D.setParams({len:Y.length}),D.pass(C5._`${G} <= ${Y.length}`);else if(typeof Q=="object"&&!(0,BU.alwaysValidSchema)($,Q)){let H=X.var("valid",C5._`${G} <= ${Y.length}`);X.if((0,C5.not)(H),()=>B(H)),D.ok(H)}function B(H){X.forRange("i",Y.length,G,(F)=>{if(D.subschema({keyword:W,dataProp:F,dataPropType:BU.Type.Num},H),!$.allErrors)X.if((0,C5.not)(H),()=>X.break())})}}Wy.validateAdditionalItems=Jy;Wy.default=gH0});var FU=T((Hy)=>{Object.defineProperty(Hy,"__esModule",{value:!0});Hy.validateTuple=void 0;var Gy=C0(),E$=p0(),mH0=O6(),cH0={keyword:"items",type:"array",schemaType:["object","array","boolean"],before:"uniqueItems",code(D){let{schema:Y,it:X}=D;if(Array.isArray(Y))return By(D,"additionalItems",Y);if(X.items=!0,(0,E$.alwaysValidSchema)(X,Y))return;D.ok((0,mH0.validateArray)(D))}};function By(D,Y,X=D.schema){let{gen:Q,parentSchema:J,data:W,keyword:$,it:G}=D;if(F(J),G.opts.unevaluated&&X.length&&G.items!==!0)G.items=E$.mergeEvaluated.items(Q,X.length,G.items);let B=Q.name("valid"),H=Q.const("len",Gy._`${W}.length`);X.forEach((K,U)=>{if((0,E$.alwaysValidSchema)(G,K))return;Q.if(Gy._`${H} > ${U}`,()=>D.subschema({keyword:$,schemaProp:U,dataProp:U},B)),D.ok(B)});function F(K){let{opts:U,errSchemaPath:z}=G,V=X.length,w=V===K.minItems&&(V===K.maxItems||K[Y]===!1);if(U.strictTuples&&!w){let M=`"${$}" is ${V}-tuple, but minItems or maxItems/${Y} are not specified or different at path "${z}"`;(0,E$.checkStrictMode)(G,M,U.strictTuples)}}}Hy.validateTuple=By;Hy.default=cH0});var Ky=T((qy)=>{Object.defineProperty(qy,"__esModule",{value:!0});var dH0=FU(),pH0={keyword:"prefixItems",type:"array",schemaType:["array"],before:"uniqueItems",code:(D)=>(0,dH0.validateTuple)(D,"items")};qy.default=pH0});var Vy=T((Uy)=>{Object.defineProperty(Uy,"__esModule",{value:!0});var zy=C0(),iH0=p0(),rH0=O6(),aH0=HU(),oH0={message:({params:{len:D}})=>zy.str`must NOT have more than ${D} items`,params:({params:{len:D}})=>zy._`{limit: ${D}}`},sH0={keyword:"items",type:"array",schemaType:["object","boolean"],before:"uniqueItems",error:oH0,code(D){let{schema:Y,parentSchema:X,it:Q}=D,{prefixItems:J}=X;if(Q.items=!0,(0,iH0.alwaysValidSchema)(Q,Y))return;if(J)(0,aH0.validateAdditionalItems)(D,J);else D.ok((0,rH0.validateArray)(D))}};Uy.default=sH0});var My=T((wy)=>{Object.defineProperty(wy,"__esModule",{value:!0});var N6=C0(),R$=p0(),eH0={message:({params:{min:D,max:Y}})=>Y===void 0?N6.str`must contain at least ${D} valid item(s)`:N6.str`must contain at least ${D} and no more than ${Y} valid item(s)`,params:({params:{min:D,max:Y}})=>Y===void 0?N6._`{minContains: ${D}}`:N6._`{minContains: ${D}, maxContains: ${Y}}`},D20={keyword:"contains",type:"array",schemaType:["object","boolean"],before:"uniqueItems",trackErrors:!0,error:eH0,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D,$,G,{minContains:B,maxContains:H}=Q;if(W.opts.next)$=B===void 0?1:B,G=H;else $=1;let F=Y.const("len",N6._`${J}.length`);if(D.setParams({min:$,max:G}),G===void 0&&$===0){(0,R$.checkStrictMode)(W,'"minContains" == 0 without "maxContains": "contains" keyword ignored');return}if(G!==void 0&&$>G){(0,R$.checkStrictMode)(W,'"minContains" > "maxContains" is always invalid'),D.fail();return}if((0,R$.alwaysValidSchema)(W,X)){let w=N6._`${F} >= ${$}`;if(G!==void 0)w=N6._`${w} && ${F} <= ${G}`;D.pass(w);return}W.items=!0;let K=Y.name("valid");if(G===void 0&&$===1)z(K,()=>Y.if(K,()=>Y.break()));else if($===0){if(Y.let(K,!0),G!==void 0)Y.if(N6._`${J}.length > 0`,U)}else Y.let(K,!1),U();D.result(K,()=>D.reset());function U(){let w=Y.name("_valid"),M=Y.let("count",0);z(w,()=>Y.if(w,()=>V(M)))}function z(w,M){Y.forRange("i",0,F,(O)=>{D.subschema({keyword:"contains",dataProp:O,dataPropType:R$.Type.Num,compositeRule:!0},w),M()})}function V(w){if(Y.code(N6._`${w}++`),G===void 0)Y.if(N6._`${w} >= ${$}`,()=>Y.assign(K,!0).break());else if(Y.if(N6._`${w} > ${G}`,()=>Y.assign(K,!1).break()),$===1)Y.assign(K,!0);else Y.if(N6._`${w} >= ${$}`,()=>Y.assign(K,!0))}}};wy.default=D20});var Ey=T((Ny)=>{Object.defineProperty(Ny,"__esModule",{value:!0});Ny.validateSchemaDeps=Ny.validatePropertyDeps=Ny.error=void 0;var qU=C0(),X20=p0(),FX=O6();Ny.error={message:({params:{property:D,depsCount:Y,deps:X}})=>{let Q=Y===1?"property":"properties";return qU.str`must have ${Q} ${X} when property ${D} is present`},params:({params:{property:D,depsCount:Y,deps:X,missingProperty:Q}})=>qU._`{property: ${D},
135
135
  missingProperty: ${Q},
136
136
  depsCount: ${Y},
137
- deps: ${X}}`};var Q20={keyword:"dependencies",type:"object",schemaType:"object",error:Ny.error,code(D){let[Y,X]=J20(D);Ly(D,Y),Oy(D,X)}};function J20({schema:D}){let Y={},X={};for(let Q in D){if(Q==="__proto__")continue;let J=Array.isArray(D[Q])?Y:X;J[Q]=D[Q]}return[Y,X]}function Ly(D,Y=D.schema){let{gen:X,data:Q,it:J}=D;if(Object.keys(Y).length===0)return;let W=X.let("missing");for(let $ in Y){let G=Y[$];if(G.length===0)continue;let B=(0,FX.propertyInData)(X,Q,$,J.opts.ownProperties);if(D.setParams({property:$,depsCount:G.length,deps:G.join(", ")}),J.allErrors)X.if(B,()=>{for(let H of G)(0,FX.checkReportMissingProp)(D,H)});else X.if(qU._`${B} && (${(0,FX.checkMissingProp)(D,G,W)})`),(0,FX.reportMissingProp)(D,W),X.else()}}Ny.validatePropertyDeps=Ly;function Oy(D,Y=D.schema){let{gen:X,data:Q,keyword:J,it:W}=D,$=X.name("valid");for(let G in Y){if((0,X20.alwaysValidSchema)(W,Y[G]))continue;X.if((0,FX.propertyInData)(X,Q,G,W.opts.ownProperties),()=>{let B=D.subschema({keyword:J,schemaProp:G},$);D.mergeValidEvaluated(B,$)},()=>X.var($,!0)),D.ok($)}}Ny.validateSchemaDeps=Oy;Ny.default=Q20});var Ty=T((jy)=>{Object.defineProperty(jy,"__esModule",{value:!0});var Ry=C0(),G20=p0(),B20={message:"property name must be valid",params:({params:D})=>Ry._`{propertyName: ${D.propertyName}}`},H20={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:B20,code(D){let{gen:Y,schema:X,data:Q,it:J}=D;if((0,G20.alwaysValidSchema)(J,X))return;let W=Y.name("valid");Y.forIn("key",Q,($)=>{D.setParams({propertyName:$}),D.subschema({keyword:"propertyNames",data:$,dataTypes:["string"],propertyName:$,compositeRule:!0},W),Y.if((0,Ry.not)(W),()=>{if(D.error(!0),!J.allErrors)Y.break()})}),D.ok(W)}};jy.default=H20});var KU=T((Sy)=>{Object.defineProperty(Sy,"__esModule",{value:!0});var j$=O6(),u6=C0(),q20=P9(),T$=p0(),K20={message:"must NOT have additional properties",params:({params:D})=>u6._`{additionalProperty: ${D.additionalProperty}}`},z20={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:K20,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,errsCount:W,it:$}=D;if(!W)throw Error("ajv implementation error");let{allErrors:G,opts:B}=$;if($.props=!0,B.removeAdditional!=="all"&&(0,T$.alwaysValidSchema)($,X))return;let H=(0,j$.allSchemaProperties)(Q.properties),F=(0,j$.allSchemaProperties)(Q.patternProperties);K(),D.ok(u6._`${W} === ${q20.default.errors}`);function K(){Y.forIn("key",J,(M)=>{if(!H.length&&!F.length)V(M);else Y.if(U(M),()=>V(M))})}function U(M){let O;if(H.length>8){let Z=(0,T$.schemaRefOrVal)($,Q.properties,"properties");O=(0,j$.isOwnProperty)(Y,Z,M)}else if(H.length)O=(0,u6.or)(...H.map((Z)=>u6._`${M} === ${Z}`));else O=u6.nil;if(F.length)O=(0,u6.or)(O,...F.map((Z)=>u6._`${(0,j$.usePattern)(D,Z)}.test(${M})`));return(0,u6.not)(O)}function z(M){Y.code(u6._`delete ${J}[${M}]`)}function V(M){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){z(M);return}if(X===!1){if(D.setParams({additionalProperty:M}),D.error(),!G)Y.break();return}if(typeof X=="object"&&!(0,T$.alwaysValidSchema)($,X)){let O=Y.name("valid");if(B.removeAdditional==="failing")w(M,O,!1),Y.if((0,u6.not)(O),()=>{D.reset(),z(M)});else if(w(M,O),!G)Y.if((0,u6.not)(O),()=>Y.break())}}function w(M,O,Z){let L={keyword:"additionalProperties",dataProp:M,dataPropType:T$.Type.Str};if(Z===!1)Object.assign(L,{compositeRule:!0,createErrors:!1,allErrors:!1});D.subschema(L,O)}}};Sy.default=z20});var xy=T((Cy)=>{Object.defineProperty(Cy,"__esModule",{value:!0});var V20=tY(),Py=O6(),zU=p0(),Iy=KU(),w20={keyword:"properties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D;if(W.opts.removeAdditional==="all"&&Q.additionalProperties===void 0)Iy.default.code(new V20.KeywordCxt(W,Iy.default,"additionalProperties"));let $=(0,Py.allSchemaProperties)(X);for(let K of $)W.definedProperties.add(K);if(W.opts.unevaluated&&$.length&&W.props!==!0)W.props=zU.mergeEvaluated.props(Y,(0,zU.toHash)($),W.props);let G=$.filter((K)=>!(0,zU.alwaysValidSchema)(W,X[K]));if(G.length===0)return;let B=Y.name("valid");for(let K of G){if(H(K))F(K);else{if(Y.if((0,Py.propertyInData)(Y,J,K,W.opts.ownProperties)),F(K),!W.allErrors)Y.else().var(B,!0);Y.endIf()}D.it.definedProperties.add(K),D.ok(B)}function H(K){return W.opts.useDefaults&&!W.compositeRule&&X[K].default!==void 0}function F(K){D.subschema({keyword:"properties",schemaProp:K,dataProp:K},B)}}};Cy.default=w20});var yy=T((vy)=>{Object.defineProperty(vy,"__esModule",{value:!0});var _y=O6(),S$=C0(),ky=p0(),by=p0(),L20={keyword:"patternProperties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,data:Q,parentSchema:J,it:W}=D,{opts:$}=W,G=(0,_y.allSchemaProperties)(X),B=G.filter((w)=>(0,ky.alwaysValidSchema)(W,X[w]));if(G.length===0||B.length===G.length&&(!W.opts.unevaluated||W.props===!0))return;let H=$.strictSchema&&!$.allowMatchingProperties&&J.properties,F=Y.name("valid");if(W.props!==!0&&!(W.props instanceof S$.Name))W.props=(0,by.evaluatedPropsToName)(Y,W.props);let{props:K}=W;U();function U(){for(let w of G){if(H)z(w);if(W.allErrors)V(w);else Y.var(F,!0),V(w),Y.if(F)}}function z(w){for(let M in H)if(new RegExp(w).test(M))(0,ky.checkStrictMode)(W,`property ${M} matches pattern ${w} (use allowMatchingProperties)`)}function V(w){Y.forIn("key",Q,(M)=>{Y.if(S$._`${(0,_y.usePattern)(D,w)}.test(${M})`,()=>{let O=B.includes(w);if(!O)D.subschema({keyword:"patternProperties",schemaProp:w,dataProp:M,dataPropType:by.Type.Str},F);if(W.opts.unevaluated&&K!==!0)Y.assign(S$._`${K}[${M}]`,!0);else if(!O&&!W.allErrors)Y.if((0,S$.not)(F),()=>Y.break())})})}}};vy.default=L20});var hy=T((fy)=>{Object.defineProperty(fy,"__esModule",{value:!0});var N20=p0(),Z20={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(D){let{gen:Y,schema:X,it:Q}=D;if((0,N20.alwaysValidSchema)(Q,X)){D.fail();return}let J=Y.name("valid");D.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},J),D.failResult(J,()=>D.reset(),()=>D.error())},error:{message:"must NOT be valid"}};fy.default=Z20});var uy=T((gy)=>{Object.defineProperty(gy,"__esModule",{value:!0});var E20=O6(),R20={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:E20.validateUnion,error:{message:"must match a schema in anyOf"}};gy.default=R20});var cy=T((my)=>{Object.defineProperty(my,"__esModule",{value:!0});var P$=C0(),T20=p0(),S20={message:"must match exactly one schema in oneOf",params:({params:D})=>P$._`{passingSchemas: ${D.passing}}`},P20={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:S20,code(D){let{gen:Y,schema:X,parentSchema:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(J.opts.discriminator&&Q.discriminator)return;let W=X,$=Y.let("valid",!1),G=Y.let("passing",null),B=Y.name("_valid");D.setParams({passing:G}),Y.block(H),D.result($,()=>D.reset(),()=>D.error(!0));function H(){W.forEach((F,K)=>{let U;if((0,T20.alwaysValidSchema)(J,F))Y.var(B,!0);else U=D.subschema({keyword:"oneOf",schemaProp:K,compositeRule:!0},B);if(K>0)Y.if(P$._`${B} && ${$}`).assign($,!1).assign(G,P$._`[${G}, ${K}]`).else();Y.if(B,()=>{if(Y.assign($,!0),Y.assign(G,K),U)D.mergeEvaluated(U,P$.Name)})})}}};my.default=P20});var dy=T((ly)=>{Object.defineProperty(ly,"__esModule",{value:!0});var C20=p0(),x20={keyword:"allOf",schemaType:"array",code(D){let{gen:Y,schema:X,it:Q}=D;if(!Array.isArray(X))throw Error("ajv implementation error");let J=Y.name("valid");X.forEach((W,$)=>{if((0,C20.alwaysValidSchema)(Q,W))return;let G=D.subschema({keyword:"allOf",schemaProp:$},J);D.ok(J),D.mergeEvaluated(G)})}};ly.default=x20});var ry=T((iy)=>{Object.defineProperty(iy,"__esModule",{value:!0});var I$=C0(),ny=p0(),k20={message:({params:D})=>I$.str`must match "${D.ifClause}" schema`,params:({params:D})=>I$._`{failingKeyword: ${D.ifClause}}`},b20={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:k20,code(D){let{gen:Y,parentSchema:X,it:Q}=D;if(X.then===void 0&&X.else===void 0)(0,ny.checkStrictMode)(Q,'"if" without "then" and "else" is ignored');let J=py(Q,"then"),W=py(Q,"else");if(!J&&!W)return;let $=Y.let("valid",!0),G=Y.name("_valid");if(B(),D.reset(),J&&W){let F=Y.let("ifClause");D.setParams({ifClause:F}),Y.if(G,H("then",F),H("else",F))}else if(J)Y.if(G,H("then"));else Y.if((0,I$.not)(G),H("else"));D.pass($,()=>D.error(!0));function B(){let F=D.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},G);D.mergeEvaluated(F)}function H(F,K){return()=>{let U=D.subschema({keyword:F},G);if(Y.assign($,G),D.mergeValidEvaluated(U,$),K)Y.assign(K,I$._`${F}`);else D.setParams({ifClause:F})}}}};function py(D,Y){let X=D.schema[Y];return X!==void 0&&!(0,ny.alwaysValidSchema)(D,X)}iy.default=b20});var oy=T((ay)=>{Object.defineProperty(ay,"__esModule",{value:!0});var y20=p0(),f20={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:D,parentSchema:Y,it:X}){if(Y.if===void 0)(0,y20.checkStrictMode)(X,`"${D}" without "if" is ignored`)}};ay.default=f20});var ty=T((sy)=>{Object.defineProperty(sy,"__esModule",{value:!0});var g20=HU(),u20=Ky(),m20=FU(),c20=Vy(),l20=My(),d20=Ey(),p20=Ty(),n20=KU(),i20=xy(),r20=yy(),a20=hy(),o20=uy(),s20=cy(),t20=dy(),e20=ry(),DF0=oy();function YF0(D=!1){let Y=[a20.default,o20.default,s20.default,t20.default,e20.default,DF0.default,p20.default,n20.default,d20.default,i20.default,r20.default];if(D)Y.push(u20.default,c20.default);else Y.push(g20.default,m20.default);return Y.push(l20.default),Y}sy.default=YF0});var Df=T((ey)=>{Object.defineProperty(ey,"__esModule",{value:!0});var u1=C0(),QF0={message:({schemaCode:D})=>u1.str`must match format "${D}"`,params:({schemaCode:D})=>u1._`{format: ${D}}`},JF0={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:QF0,code(D,Y){let{gen:X,data:Q,$data:J,schema:W,schemaCode:$,it:G}=D,{opts:B,errSchemaPath:H,schemaEnv:F,self:K}=G;if(!B.validateFormats)return;if(J)U();else z();function U(){let V=X.scopeValue("formats",{ref:K.formats,code:B.code.formats}),w=X.const("fDef",u1._`${V}[${$}]`),M=X.let("fType"),O=X.let("format");X.if(u1._`typeof ${w} == "object" && !(${w} instanceof RegExp)`,()=>X.assign(M,u1._`${w}.type || "string"`).assign(O,u1._`${w}.validate`),()=>X.assign(M,u1._`"string"`).assign(O,w)),D.fail$data((0,u1.or)(Z(),L()));function Z(){if(B.strictSchema===!1)return u1.nil;return u1._`${$} && !${O}`}function L(){let E=F.$async?u1._`(${w}.async ? await ${O}(${Q}) : ${O}(${Q}))`:u1._`${O}(${Q})`,j=u1._`(typeof ${O} == "function" ? ${E} : ${O}.test(${Q}))`;return u1._`${O} && ${O} !== true && ${M} === ${Y} && !${j}`}}function z(){let V=K.formats[W];if(!V){Z();return}if(V===!0)return;let[w,M,O]=L(V);if(w===Y)D.pass(E());function Z(){if(B.strictSchema===!1){K.logger.warn(j());return}throw Error(j());function j(){return`unknown format "${W}" ignored in schema at path "${H}"`}}function L(j){let I=j instanceof RegExp?(0,u1.regexpCode)(j):B.code.formats?u1._`${B.code.formats}${(0,u1.getProperty)(W)}`:void 0,x=X.scopeValue("formats",{key:W,ref:j,code:I});if(typeof j=="object"&&!(j instanceof RegExp))return[j.type||"string",j.validate,u1._`${x}.validate`];return["string",j,x]}function E(){if(typeof V=="object"&&!(V instanceof RegExp)&&V.async){if(!F.$async)throw Error("async format in sync schema");return u1._`await ${O}(${Q})`}return typeof M=="function"?u1._`${O}(${Q})`:u1._`${O}.test(${Q})`}}}};ey.default=JF0});var Xf=T((Yf)=>{Object.defineProperty(Yf,"__esModule",{value:!0});var $F0=Df(),GF0=[$F0.default];Yf.default=GF0});var Wf=T((Qf)=>{Object.defineProperty(Qf,"__esModule",{value:!0});Qf.contentVocabulary=Qf.metadataVocabulary=void 0;Qf.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Qf.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Bf=T((Gf)=>{Object.defineProperty(Gf,"__esModule",{value:!0});var FF0=Cv(),qF0=Qy(),KF0=ty(),zF0=Xf(),$f=Wf(),UF0=[FF0.default,qF0.default,(0,KF0.default)(),zF0.default,$f.metadataVocabulary,$f.contentVocabulary];Gf.default=UF0});var Kf=T((Ff)=>{Object.defineProperty(Ff,"__esModule",{value:!0});Ff.DiscrError=void 0;var Hf;(function(D){D.Tag="tag",D.Mapping="mapping"})(Hf||(Ff.DiscrError=Hf={}))});var Vf=T((Uf)=>{Object.defineProperty(Uf,"__esModule",{value:!0});var I7=C0(),UU=Kf(),zf=F$(),wF0=eY(),MF0=p0(),LF0={message:({params:{discrError:D,tagName:Y}})=>D===UU.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:D,tag:Y,tagName:X}})=>I7._`{error: ${D}, tag: ${X}, tagValue: ${Y}}`},OF0={keyword:"discriminator",type:"object",schemaType:"object",error:LF0,code(D){let{gen:Y,data:X,schema:Q,parentSchema:J,it:W}=D,{oneOf:$}=J;if(!W.opts.discriminator)throw Error("discriminator: requires discriminator option");let G=Q.propertyName;if(typeof G!="string")throw Error("discriminator: requires propertyName");if(Q.mapping)throw Error("discriminator: mapping is not supported");if(!$)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),H=Y.const("tag",I7._`${X}${(0,I7.getProperty)(G)}`);Y.if(I7._`typeof ${H} == "string"`,()=>F(),()=>D.error(!1,{discrError:UU.DiscrError.Tag,tag:H,tagName:G})),D.ok(B);function F(){let z=U();Y.if(!1);for(let V in z)Y.elseIf(I7._`${H} === ${V}`),Y.assign(B,K(z[V]));Y.else(),D.error(!1,{discrError:UU.DiscrError.Mapping,tag:H,tagName:G}),Y.endIf()}function K(z){let V=Y.name("valid"),w=D.subschema({keyword:"oneOf",schemaProp:z},V);return D.mergeEvaluated(w,I7.Name),V}function U(){var z;let V={},w=O(J),M=!0;for(let E=0;E<$.length;E++){let j=$[E];if((j===null||j===void 0?void 0:j.$ref)&&!(0,MF0.schemaHasRulesButRef)(j,W.self.RULES)){let x=j.$ref;if(j=zf.resolveRef.call(W.self,W.schemaEnv.root,W.baseId,x),j instanceof zf.SchemaEnv)j=j.schema;if(j===void 0)throw new wF0.default(W.opts.uriResolver,W.baseId,x)}let I=(z=j===null||j===void 0?void 0:j.properties)===null||z===void 0?void 0:z[G];if(typeof I!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${G}"`);M=M&&(w||O(j)),Z(I,E)}if(!M)throw Error(`discriminator: "${G}" must be required`);return V;function O({required:E}){return Array.isArray(E)&&E.includes(G)}function Z(E,j){if(E.const)L(E.const,j);else if(E.enum)for(let I of E.enum)L(I,j);else throw Error(`discriminator: "properties/${G}" must have "const" or "enum"`)}function L(E,j){if(typeof E!="string"||E in V)throw Error(`discriminator: "${G}" values must be unique strings`);V[E]=j}}}};Uf.default=OF0});var wf=T((zC0,ZF0)=>{ZF0.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var wU=T((r8,VU)=>{Object.defineProperty(r8,"__esModule",{value:!0});r8.MissingRefError=r8.ValidationError=r8.CodeGen=r8.Name=r8.nil=r8.stringify=r8.str=r8._=r8.KeywordCxt=r8.Ajv=void 0;var AF0=Nv(),EF0=Bf(),RF0=Vf(),Mf=wf(),jF0=["/properties"],C$="http://json-schema.org/draft-07/schema";class qX extends AF0.default{_addVocabularies(){if(super._addVocabularies(),EF0.default.forEach((D)=>this.addVocabulary(D)),this.opts.discriminator)this.addKeyword(RF0.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let D=this.opts.$data?this.$dataMetaSchema(Mf,jF0):Mf;this.addMetaSchema(D,C$,!1),this.refs["http://json-schema.org/schema"]=C$}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(C$)?C$:void 0)}}r8.Ajv=qX;VU.exports=r8=qX;VU.exports.Ajv=qX;Object.defineProperty(r8,"__esModule",{value:!0});r8.default=qX;var TF0=tY();Object.defineProperty(r8,"KeywordCxt",{enumerable:!0,get:function(){return TF0.KeywordCxt}});var C7=C0();Object.defineProperty(r8,"_",{enumerable:!0,get:function(){return C7._}});Object.defineProperty(r8,"str",{enumerable:!0,get:function(){return C7.str}});Object.defineProperty(r8,"stringify",{enumerable:!0,get:function(){return C7.stringify}});Object.defineProperty(r8,"nil",{enumerable:!0,get:function(){return C7.nil}});Object.defineProperty(r8,"Name",{enumerable:!0,get:function(){return C7.Name}});Object.defineProperty(r8,"CodeGen",{enumerable:!0,get:function(){return C7.CodeGen}});var SF0=B$();Object.defineProperty(r8,"ValidationError",{enumerable:!0,get:function(){return SF0.default}});var PF0=eY();Object.defineProperty(r8,"MissingRefError",{enumerable:!0,get:function(){return PF0.default}})});var Sf=T((jf)=>{Object.defineProperty(jf,"__esModule",{value:!0});jf.formatNames=jf.fastFormats=jf.fullFormats=void 0;function $9(D,Y){return{validate:D,compare:Y}}jf.fullFormats={date:$9(Zf,NU),time:$9(LU(!0),ZU),"date-time":$9(Lf(!0),Ef),"iso-time":$9(LU(),Af),"iso-date-time":$9(Lf(),Rf),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:yF0,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:lF0,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:fF0,int32:{type:"number",validate:uF0},int64:{type:"number",validate:mF0},float:{type:"number",validate:Nf},double:{type:"number",validate:Nf},password:!0,binary:!0};jf.fastFormats={...jf.fullFormats,date:$9(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,NU),time:$9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ZU),"date-time":$9(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ef),"iso-time":$9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Af),"iso-date-time":$9(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Rf),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};jf.formatNames=Object.keys(jf.fullFormats);function xF0(D){return D%4===0&&(D%100!==0||D%400===0)}var _F0=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,kF0=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Zf(D){let Y=_F0.exec(D);if(!Y)return!1;let X=+Y[1],Q=+Y[2],J=+Y[3];return Q>=1&&Q<=12&&J>=1&&J<=(Q===2&&xF0(X)?29:kF0[Q])}function NU(D,Y){if(!(D&&Y))return;if(D>Y)return 1;if(D<Y)return-1;return 0}var MU=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function LU(D){return function(X){let Q=MU.exec(X);if(!Q)return!1;let J=+Q[1],W=+Q[2],$=+Q[3],G=Q[4],B=Q[5]==="-"?-1:1,H=+(Q[6]||0),F=+(Q[7]||0);if(H>23||F>59||D&&!G)return!1;if(J<=23&&W<=59&&$<60)return!0;let K=W-F*B,U=J-H*B-(K<0?1:0);return(U===23||U===-1)&&(K===59||K===-1)&&$<61}}function ZU(D,Y){if(!(D&&Y))return;let X=new Date("2020-01-01T"+D).valueOf(),Q=new Date("2020-01-01T"+Y).valueOf();if(!(X&&Q))return;return X-Q}function Af(D,Y){if(!(D&&Y))return;let X=MU.exec(D),Q=MU.exec(Y);if(!(X&&Q))return;if(D=X[1]+X[2]+X[3],Y=Q[1]+Q[2]+Q[3],D>Y)return 1;if(D<Y)return-1;return 0}var OU=/t|\s/i;function Lf(D){let Y=LU(D);return function(Q){let J=Q.split(OU);return J.length===2&&Zf(J[0])&&Y(J[1])}}function Ef(D,Y){if(!(D&&Y))return;let X=new Date(D).valueOf(),Q=new Date(Y).valueOf();if(!(X&&Q))return;return X-Q}function Rf(D,Y){if(!(D&&Y))return;let[X,Q]=D.split(OU),[J,W]=Y.split(OU),$=NU(X,J);if($===void 0)return;return $||ZU(Q,W)}var bF0=/\/|:/,vF0=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function yF0(D){return bF0.test(D)&&vF0.test(D)}var Of=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function fF0(D){return Of.lastIndex=0,Of.test(D)}var hF0=-2147483648,gF0=2147483647;function uF0(D){return Number.isInteger(D)&&D<=gF0&&D>=hF0}function mF0(D){return Number.isInteger(D)}function Nf(){return!0}var cF0=/[^\\]\\Z/;function lF0(D){if(cF0.test(D))return!1;try{return new RegExp(D),!0}catch(Y){return!1}}});var If=T((Pf)=>{Object.defineProperty(Pf,"__esModule",{value:!0});Pf.formatLimitDefinition=void 0;var pF0=wU(),m6=C0(),RD=m6.operators,x$={formatMaximum:{okStr:"<=",ok:RD.LTE,fail:RD.GT},formatMinimum:{okStr:">=",ok:RD.GTE,fail:RD.LT},formatExclusiveMaximum:{okStr:"<",ok:RD.LT,fail:RD.GTE},formatExclusiveMinimum:{okStr:">",ok:RD.GT,fail:RD.LTE}},nF0={message:({keyword:D,schemaCode:Y})=>m6.str`should be ${x$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>m6._`{comparison: ${x$[D].okStr}, limit: ${Y}}`};Pf.formatLimitDefinition={keyword:Object.keys(x$),type:"string",schemaType:"string",$data:!0,error:nF0,code(D){let{gen:Y,data:X,schemaCode:Q,keyword:J,it:W}=D,{opts:$,self:G}=W;if(!$.validateFormats)return;let B=new pF0.KeywordCxt(W,G.RULES.all.format.definition,"format");if(B.$data)H();else F();function H(){let U=Y.scopeValue("formats",{ref:G.formats,code:$.code.formats}),z=Y.const("fmt",m6._`${U}[${B.schemaCode}]`);D.fail$data((0,m6.or)(m6._`typeof ${z} != "object"`,m6._`${z} instanceof RegExp`,m6._`typeof ${z}.compare != "function"`,K(z)))}function F(){let U=B.schema,z=G.formats[U];if(!z||z===!0)return;if(typeof z!="object"||z instanceof RegExp||typeof z.compare!="function")throw Error(`"${J}": format "${U}" does not define "compare" function`);let V=Y.scopeValue("formats",{key:U,ref:z,code:$.code.formats?m6._`${$.code.formats}${(0,m6.getProperty)(U)}`:void 0});D.fail$data(K(V))}function K(U){return m6._`${U}.compare(${X}, ${Q}) ${x$[J].fail} 0`}},dependencies:["format"]};var iF0=(D)=>{return D.addKeyword(Pf.formatLimitDefinition),D};Pf.default=iF0});var kf=T((KX,_f)=>{Object.defineProperty(KX,"__esModule",{value:!0});var x7=Sf(),aF0=If(),RU=C0(),Cf=new RU.Name("fullFormats"),oF0=new RU.Name("fastFormats"),jU=(D,Y={keywords:!0})=>{if(Array.isArray(Y))return xf(D,Y,x7.fullFormats,Cf),D;let[X,Q]=Y.mode==="fast"?[x7.fastFormats,oF0]:[x7.fullFormats,Cf],J=Y.formats||x7.formatNames;if(xf(D,J,X,Q),Y.keywords)(0,aF0.default)(D);return D};jU.get=(D,Y="full")=>{let Q=(Y==="fast"?x7.fastFormats:x7.fullFormats)[D];if(!Q)throw Error(`Unknown format "${D}"`);return Q};function xf(D,Y,X,Q){var J,W;(J=(W=D.opts.code).formats)!==null&&J!==void 0||(W.formats=RU._`require("ajv-formats/dist/formats").${Q}`);for(let $ of Y)D.addFormat($,X[$])}_f.exports=KX=jU;Object.defineProperty(KX,"__esModule",{value:!0});KX.default=jU});import{exit as lU}from"node:process";var FV=y1(HV(),1),{program:c1,createCommand:Oq0,createArgument:Nq0,createOption:Zq0,CommanderError:Aq0,InvalidArgumentError:Eq0,InvalidOptionArgumentError:Rq0,Command:jq0,Argument:Tq0,Option:Sq0,Help:Pq0}=FV.default;var f8={name:"@capgo/cli",version:"7.68.0",type:"module",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};import{existsSync as $S,readFileSync as GS}from"node:fs";var z8=y1(r$(),1),v7=y1(o$(),1);import{stdin as EV,stdout as RV}from"node:process";import*as k9 from"node:readline";import UV from"node:readline";import{Writable as oh}from"node:stream";function sh({onlyFirst:D=!1}={}){let Y=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(Y,D?void 0:"g")}var th=sh();function jV(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(th,"")}function TV(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var SV={exports:{}};(function(D){var Y={};D.exports=Y,Y.eastAsianWidth=function(Q){var J=Q.charCodeAt(0),W=Q.length==2?Q.charCodeAt(1):0,$=J;return 55296<=J&&J<=56319&&56320<=W&&W<=57343&&(J&=1023,W&=1023,$=J<<10|W,$+=65536),$==12288||65281<=$&&$<=65376||65504<=$&&$<=65510?"F":$==8361||65377<=$&&$<=65470||65474<=$&&$<=65479||65482<=$&&$<=65487||65490<=$&&$<=65495||65498<=$&&$<=65500||65512<=$&&$<=65518?"H":4352<=$&&$<=4447||4515<=$&&$<=4519||4602<=$&&$<=4607||9001<=$&&$<=9002||11904<=$&&$<=11929||11931<=$&&$<=12019||12032<=$&&$<=12245||12272<=$&&$<=12283||12289<=$&&$<=12350||12353<=$&&$<=12438||12441<=$&&$<=12543||12549<=$&&$<=12589||12593<=$&&$<=12686||12688<=$&&$<=12730||12736<=$&&$<=12771||12784<=$&&$<=12830||12832<=$&&$<=12871||12880<=$&&$<=13054||13056<=$&&$<=19903||19968<=$&&$<=42124||42128<=$&&$<=42182||43360<=$&&$<=43388||44032<=$&&$<=55203||55216<=$&&$<=55238||55243<=$&&$<=55291||63744<=$&&$<=64255||65040<=$&&$<=65049||65072<=$&&$<=65106||65108<=$&&$<=65126||65128<=$&&$<=65131||110592<=$&&$<=110593||127488<=$&&$<=127490||127504<=$&&$<=127546||127552<=$&&$<=127560||127568<=$&&$<=127569||131072<=$&&$<=194367||177984<=$&&$<=196605||196608<=$&&$<=262141?"W":32<=$&&$<=126||162<=$&&$<=163||165<=$&&$<=166||$==172||$==175||10214<=$&&$<=10221||10629<=$&&$<=10630?"Na":$==161||$==164||167<=$&&$<=168||$==170||173<=$&&$<=174||176<=$&&$<=180||182<=$&&$<=186||188<=$&&$<=191||$==198||$==208||215<=$&&$<=216||222<=$&&$<=225||$==230||232<=$&&$<=234||236<=$&&$<=237||$==240||242<=$&&$<=243||247<=$&&$<=250||$==252||$==254||$==257||$==273||$==275||$==283||294<=$&&$<=295||$==299||305<=$&&$<=307||$==312||319<=$&&$<=322||$==324||328<=$&&$<=331||$==333||338<=$&&$<=339||358<=$&&$<=359||$==363||$==462||$==464||$==466||$==468||$==470||$==472||$==474||$==476||$==593||$==609||$==708||$==711||713<=$&&$<=715||$==717||$==720||728<=$&&$<=731||$==733||$==735||768<=$&&$<=879||913<=$&&$<=929||931<=$&&$<=937||945<=$&&$<=961||963<=$&&$<=969||$==1025||1040<=$&&$<=1103||$==1105||$==8208||8211<=$&&$<=8214||8216<=$&&$<=8217||8220<=$&&$<=8221||8224<=$&&$<=8226||8228<=$&&$<=8231||$==8240||8242<=$&&$<=8243||$==8245||$==8251||$==8254||$==8308||$==8319||8321<=$&&$<=8324||$==8364||$==8451||$==8453||$==8457||$==8467||$==8470||8481<=$&&$<=8482||$==8486||$==8491||8531<=$&&$<=8532||8539<=$&&$<=8542||8544<=$&&$<=8555||8560<=$&&$<=8569||$==8585||8592<=$&&$<=8601||8632<=$&&$<=8633||$==8658||$==8660||$==8679||$==8704||8706<=$&&$<=8707||8711<=$&&$<=8712||$==8715||$==8719||$==8721||$==8725||$==8730||8733<=$&&$<=8736||$==8739||$==8741||8743<=$&&$<=8748||$==8750||8756<=$&&$<=8759||8764<=$&&$<=8765||$==8776||$==8780||$==8786||8800<=$&&$<=8801||8804<=$&&$<=8807||8810<=$&&$<=8811||8814<=$&&$<=8815||8834<=$&&$<=8835||8838<=$&&$<=8839||$==8853||$==8857||$==8869||$==8895||$==8978||9312<=$&&$<=9449||9451<=$&&$<=9547||9552<=$&&$<=9587||9600<=$&&$<=9615||9618<=$&&$<=9621||9632<=$&&$<=9633||9635<=$&&$<=9641||9650<=$&&$<=9651||9654<=$&&$<=9655||9660<=$&&$<=9661||9664<=$&&$<=9665||9670<=$&&$<=9672||$==9675||9678<=$&&$<=9681||9698<=$&&$<=9701||$==9711||9733<=$&&$<=9734||$==9737||9742<=$&&$<=9743||9748<=$&&$<=9749||$==9756||$==9758||$==9792||$==9794||9824<=$&&$<=9825||9827<=$&&$<=9829||9831<=$&&$<=9834||9836<=$&&$<=9837||$==9839||9886<=$&&$<=9887||9918<=$&&$<=9919||9924<=$&&$<=9933||9935<=$&&$<=9953||$==9955||9960<=$&&$<=9983||$==10045||$==10071||10102<=$&&$<=10111||11093<=$&&$<=11097||12872<=$&&$<=12879||57344<=$&&$<=63743||65024<=$&&$<=65039||$==65533||127232<=$&&$<=127242||127248<=$&&$<=127277||127280<=$&&$<=127337||127344<=$&&$<=127386||917760<=$&&$<=917999||983040<=$&&$<=1048573||1048576<=$&&$<=1114109?"A":"N"},Y.characterLength=function(Q){var J=this.eastAsianWidth(Q);return J=="F"||J=="W"||J=="A"?2:1};function X(Q){return Q.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}Y.length=function(Q){for(var J=X(Q),W=0,$=0;$<J.length;$++)W=W+this.characterLength(J[$]);return W},Y.slice=function(Q,J,W){textLen=Y.length(Q),J=J||0,W=W||1,J<0&&(J=textLen+J),W<0&&(W=textLen+W);for(var $="",G=0,B=X(Q),H=0;H<B.length;H++){var F=B[H],K=Y.length(F);if(G>=J-(K==2?1:0))if(G+K<=W)$+=F;else break;G+=K}return $}})(SV);var eh=SV.exports,Dg=TV(eh),Yg=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Xg=TV(Yg);function y7(D,Y={}){if(typeof D!="string"||D.length===0||(Y={ambiguousIsNarrow:!0,...Y},D=jV(D),D.length===0))return 0;D=D.replace(Xg()," ");let X=Y.ambiguousIsNarrow?1:2,Q=0;for(let J of D){let W=J.codePointAt(0);if(W<=31||W>=127&&W<=159||W>=768&&W<=879)continue;switch(Dg.eastAsianWidth(J)){case"F":case"W":Q+=2;break;case"A":Q+=X;break;default:Q+=1}}return Q}var s$=10,VV=(D=0)=>(Y)=>`\x1B[${Y+D}m`,wV=(D=0)=>(Y)=>`\x1B[${38+D};5;${Y}m`,MV=(D=0)=>(Y,X,Q)=>`\x1B[${38+D};2;${Y};${X};${Q}m`,V1={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(V1.modifier);var Qg=Object.keys(V1.color),Jg=Object.keys(V1.bgColor);[...Qg,...Jg];function Wg(){let D=new Map;for(let[Y,X]of Object.entries(V1)){for(let[Q,J]of Object.entries(X))V1[Q]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},X[Q]=V1[Q],D.set(J[0],J[1]);Object.defineProperty(V1,Y,{value:X,enumerable:!1})}return Object.defineProperty(V1,"codes",{value:D,enumerable:!1}),V1.color.close="\x1B[39m",V1.bgColor.close="\x1B[49m",V1.color.ansi=VV(),V1.color.ansi256=wV(),V1.color.ansi16m=MV(),V1.bgColor.ansi=VV(s$),V1.bgColor.ansi256=wV(s$),V1.bgColor.ansi16m=MV(s$),Object.defineProperties(V1,{rgbToAnsi256:{value:(Y,X,Q)=>Y===X&&X===Q?Y<8?16:Y>248?231:Math.round((Y-8)/247*24)+232:16+36*Math.round(Y/255*5)+6*Math.round(X/255*5)+Math.round(Q/255*5),enumerable:!1},hexToRgb:{value:(Y)=>{let X=/[a-f\d]{6}|[a-f\d]{3}/i.exec(Y.toString(16));if(!X)return[0,0,0];let[Q]=X;Q.length===3&&(Q=[...Q].map((W)=>W+W).join(""));let J=Number.parseInt(Q,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(Y)=>V1.rgbToAnsi256(...V1.hexToRgb(Y)),enumerable:!1},ansi256ToAnsi:{value:(Y)=>{if(Y<8)return 30+Y;if(Y<16)return 90+(Y-8);let X,Q,J;if(Y>=232)X=((Y-232)*10+8)/255,Q=X,J=X;else{Y-=16;let G=Y%36;X=Math.floor(Y/36)/5,Q=Math.floor(G/6)/5,J=G%6/5}let W=Math.max(X,Q,J)*2;if(W===0)return 30;let $=30+(Math.round(J)<<2|Math.round(Q)<<1|Math.round(X));return W===2&&($+=60),$},enumerable:!1},rgbToAnsi:{value:(Y,X,Q)=>V1.ansi256ToAnsi(V1.rgbToAnsi256(Y,X,Q)),enumerable:!1},hexToAnsi:{value:(Y)=>V1.ansi256ToAnsi(V1.hexToAnsi256(Y)),enumerable:!1}}),V1}var $g=Wg(),EX=new Set(["\x1B","›"]),Gg=39,DG="\x07",PV="[",Bg="]",IV="m",YG=`${Bg}8;;`,LV=(D)=>`${EX.values().next().value}${PV}${D}${IV}`,OV=(D)=>`${EX.values().next().value}${YG}${D}${DG}`,Hg=(D)=>D.split(" ").map((Y)=>y7(Y)),t$=(D,Y,X)=>{let Q=[...Y],J=!1,W=!1,$=y7(jV(D[D.length-1]));for(let[G,B]of Q.entries()){let H=y7(B);if($+H<=X?D[D.length-1]+=B:(D.push(B),$=0),EX.has(B)&&(J=!0,W=Q.slice(G+1).join("").startsWith(YG)),J){W?B===DG&&(J=!1,W=!1):B===IV&&(J=!1);continue}$+=H,$===X&&G<Q.length-1&&(D.push(""),$=0)}!$&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},Fg=(D)=>{let Y=D.split(" "),X=Y.length;for(;X>0&&!(y7(Y[X-1])>0);)X--;return X===Y.length?D:Y.slice(0,X).join(" ")+Y.slice(X).join("")},qg=(D,Y,X={})=>{if(X.trim!==!1&&D.trim()==="")return"";let Q="",J,W,$=Hg(D),G=[""];for(let[H,F]of D.split(" ").entries()){X.trim!==!1&&(G[G.length-1]=G[G.length-1].trimStart());let K=y7(G[G.length-1]);if(H!==0&&(K>=Y&&(X.wordWrap===!1||X.trim===!1)&&(G.push(""),K=0),(K>0||X.trim===!1)&&(G[G.length-1]+=" ",K++)),X.hard&&$[H]>Y){let U=Y-K,z=1+Math.floor(($[H]-U-1)/Y);Math.floor(($[H]-1)/Y)<z&&G.push(""),t$(G,F,Y);continue}if(K+$[H]>Y&&K>0&&$[H]>0){if(X.wordWrap===!1&&K<Y){t$(G,F,Y);continue}G.push("")}if(K+$[H]>Y&&X.wordWrap===!1){t$(G,F,Y);continue}G[G.length-1]+=F}X.trim!==!1&&(G=G.map((H)=>Fg(H)));let B=[...G.join(`
137
+ deps: ${X}}`};var Q20={keyword:"dependencies",type:"object",schemaType:"object",error:Ny.error,code(D){let[Y,X]=J20(D);Ly(D,Y),Oy(D,X)}};function J20({schema:D}){let Y={},X={};for(let Q in D){if(Q==="__proto__")continue;let J=Array.isArray(D[Q])?Y:X;J[Q]=D[Q]}return[Y,X]}function Ly(D,Y=D.schema){let{gen:X,data:Q,it:J}=D;if(Object.keys(Y).length===0)return;let W=X.let("missing");for(let $ in Y){let G=Y[$];if(G.length===0)continue;let B=(0,FX.propertyInData)(X,Q,$,J.opts.ownProperties);if(D.setParams({property:$,depsCount:G.length,deps:G.join(", ")}),J.allErrors)X.if(B,()=>{for(let H of G)(0,FX.checkReportMissingProp)(D,H)});else X.if(qU._`${B} && (${(0,FX.checkMissingProp)(D,G,W)})`),(0,FX.reportMissingProp)(D,W),X.else()}}Ny.validatePropertyDeps=Ly;function Oy(D,Y=D.schema){let{gen:X,data:Q,keyword:J,it:W}=D,$=X.name("valid");for(let G in Y){if((0,X20.alwaysValidSchema)(W,Y[G]))continue;X.if((0,FX.propertyInData)(X,Q,G,W.opts.ownProperties),()=>{let B=D.subschema({keyword:J,schemaProp:G},$);D.mergeValidEvaluated(B,$)},()=>X.var($,!0)),D.ok($)}}Ny.validateSchemaDeps=Oy;Ny.default=Q20});var Ty=T((jy)=>{Object.defineProperty(jy,"__esModule",{value:!0});var Ry=C0(),G20=p0(),B20={message:"property name must be valid",params:({params:D})=>Ry._`{propertyName: ${D.propertyName}}`},H20={keyword:"propertyNames",type:"object",schemaType:["object","boolean"],error:B20,code(D){let{gen:Y,schema:X,data:Q,it:J}=D;if((0,G20.alwaysValidSchema)(J,X))return;let W=Y.name("valid");Y.forIn("key",Q,($)=>{D.setParams({propertyName:$}),D.subschema({keyword:"propertyNames",data:$,dataTypes:["string"],propertyName:$,compositeRule:!0},W),Y.if((0,Ry.not)(W),()=>{if(D.error(!0),!J.allErrors)Y.break()})}),D.ok(W)}};jy.default=H20});var KU=T((Sy)=>{Object.defineProperty(Sy,"__esModule",{value:!0});var j$=O6(),u6=C0(),q20=P9(),T$=p0(),K20={message:"must NOT have additional properties",params:({params:D})=>u6._`{additionalProperty: ${D.additionalProperty}}`},z20={keyword:"additionalProperties",type:["object"],schemaType:["boolean","object"],allowUndefined:!0,trackErrors:!0,error:K20,code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,errsCount:W,it:$}=D;if(!W)throw Error("ajv implementation error");let{allErrors:G,opts:B}=$;if($.props=!0,B.removeAdditional!=="all"&&(0,T$.alwaysValidSchema)($,X))return;let H=(0,j$.allSchemaProperties)(Q.properties),F=(0,j$.allSchemaProperties)(Q.patternProperties);K(),D.ok(u6._`${W} === ${q20.default.errors}`);function K(){Y.forIn("key",J,(M)=>{if(!H.length&&!F.length)V(M);else Y.if(U(M),()=>V(M))})}function U(M){let O;if(H.length>8){let Z=(0,T$.schemaRefOrVal)($,Q.properties,"properties");O=(0,j$.isOwnProperty)(Y,Z,M)}else if(H.length)O=(0,u6.or)(...H.map((Z)=>u6._`${M} === ${Z}`));else O=u6.nil;if(F.length)O=(0,u6.or)(O,...F.map((Z)=>u6._`${(0,j$.usePattern)(D,Z)}.test(${M})`));return(0,u6.not)(O)}function z(M){Y.code(u6._`delete ${J}[${M}]`)}function V(M){if(B.removeAdditional==="all"||B.removeAdditional&&X===!1){z(M);return}if(X===!1){if(D.setParams({additionalProperty:M}),D.error(),!G)Y.break();return}if(typeof X=="object"&&!(0,T$.alwaysValidSchema)($,X)){let O=Y.name("valid");if(B.removeAdditional==="failing")w(M,O,!1),Y.if((0,u6.not)(O),()=>{D.reset(),z(M)});else if(w(M,O),!G)Y.if((0,u6.not)(O),()=>Y.break())}}function w(M,O,Z){let L={keyword:"additionalProperties",dataProp:M,dataPropType:T$.Type.Str};if(Z===!1)Object.assign(L,{compositeRule:!0,createErrors:!1,allErrors:!1});D.subschema(L,O)}}};Sy.default=z20});var xy=T((Cy)=>{Object.defineProperty(Cy,"__esModule",{value:!0});var V20=tY(),Py=O6(),zU=p0(),Iy=KU(),w20={keyword:"properties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,parentSchema:Q,data:J,it:W}=D;if(W.opts.removeAdditional==="all"&&Q.additionalProperties===void 0)Iy.default.code(new V20.KeywordCxt(W,Iy.default,"additionalProperties"));let $=(0,Py.allSchemaProperties)(X);for(let K of $)W.definedProperties.add(K);if(W.opts.unevaluated&&$.length&&W.props!==!0)W.props=zU.mergeEvaluated.props(Y,(0,zU.toHash)($),W.props);let G=$.filter((K)=>!(0,zU.alwaysValidSchema)(W,X[K]));if(G.length===0)return;let B=Y.name("valid");for(let K of G){if(H(K))F(K);else{if(Y.if((0,Py.propertyInData)(Y,J,K,W.opts.ownProperties)),F(K),!W.allErrors)Y.else().var(B,!0);Y.endIf()}D.it.definedProperties.add(K),D.ok(B)}function H(K){return W.opts.useDefaults&&!W.compositeRule&&X[K].default!==void 0}function F(K){D.subschema({keyword:"properties",schemaProp:K,dataProp:K},B)}}};Cy.default=w20});var yy=T((vy)=>{Object.defineProperty(vy,"__esModule",{value:!0});var _y=O6(),S$=C0(),ky=p0(),by=p0(),L20={keyword:"patternProperties",type:"object",schemaType:"object",code(D){let{gen:Y,schema:X,data:Q,parentSchema:J,it:W}=D,{opts:$}=W,G=(0,_y.allSchemaProperties)(X),B=G.filter((w)=>(0,ky.alwaysValidSchema)(W,X[w]));if(G.length===0||B.length===G.length&&(!W.opts.unevaluated||W.props===!0))return;let H=$.strictSchema&&!$.allowMatchingProperties&&J.properties,F=Y.name("valid");if(W.props!==!0&&!(W.props instanceof S$.Name))W.props=(0,by.evaluatedPropsToName)(Y,W.props);let{props:K}=W;U();function U(){for(let w of G){if(H)z(w);if(W.allErrors)V(w);else Y.var(F,!0),V(w),Y.if(F)}}function z(w){for(let M in H)if(new RegExp(w).test(M))(0,ky.checkStrictMode)(W,`property ${M} matches pattern ${w} (use allowMatchingProperties)`)}function V(w){Y.forIn("key",Q,(M)=>{Y.if(S$._`${(0,_y.usePattern)(D,w)}.test(${M})`,()=>{let O=B.includes(w);if(!O)D.subschema({keyword:"patternProperties",schemaProp:w,dataProp:M,dataPropType:by.Type.Str},F);if(W.opts.unevaluated&&K!==!0)Y.assign(S$._`${K}[${M}]`,!0);else if(!O&&!W.allErrors)Y.if((0,S$.not)(F),()=>Y.break())})})}}};vy.default=L20});var hy=T((fy)=>{Object.defineProperty(fy,"__esModule",{value:!0});var N20=p0(),Z20={keyword:"not",schemaType:["object","boolean"],trackErrors:!0,code(D){let{gen:Y,schema:X,it:Q}=D;if((0,N20.alwaysValidSchema)(Q,X)){D.fail();return}let J=Y.name("valid");D.subschema({keyword:"not",compositeRule:!0,createErrors:!1,allErrors:!1},J),D.failResult(J,()=>D.reset(),()=>D.error())},error:{message:"must NOT be valid"}};fy.default=Z20});var uy=T((gy)=>{Object.defineProperty(gy,"__esModule",{value:!0});var E20=O6(),R20={keyword:"anyOf",schemaType:"array",trackErrors:!0,code:E20.validateUnion,error:{message:"must match a schema in anyOf"}};gy.default=R20});var cy=T((my)=>{Object.defineProperty(my,"__esModule",{value:!0});var P$=C0(),T20=p0(),S20={message:"must match exactly one schema in oneOf",params:({params:D})=>P$._`{passingSchemas: ${D.passing}}`},P20={keyword:"oneOf",schemaType:"array",trackErrors:!0,error:S20,code(D){let{gen:Y,schema:X,parentSchema:Q,it:J}=D;if(!Array.isArray(X))throw Error("ajv implementation error");if(J.opts.discriminator&&Q.discriminator)return;let W=X,$=Y.let("valid",!1),G=Y.let("passing",null),B=Y.name("_valid");D.setParams({passing:G}),Y.block(H),D.result($,()=>D.reset(),()=>D.error(!0));function H(){W.forEach((F,K)=>{let U;if((0,T20.alwaysValidSchema)(J,F))Y.var(B,!0);else U=D.subschema({keyword:"oneOf",schemaProp:K,compositeRule:!0},B);if(K>0)Y.if(P$._`${B} && ${$}`).assign($,!1).assign(G,P$._`[${G}, ${K}]`).else();Y.if(B,()=>{if(Y.assign($,!0),Y.assign(G,K),U)D.mergeEvaluated(U,P$.Name)})})}}};my.default=P20});var dy=T((ly)=>{Object.defineProperty(ly,"__esModule",{value:!0});var C20=p0(),x20={keyword:"allOf",schemaType:"array",code(D){let{gen:Y,schema:X,it:Q}=D;if(!Array.isArray(X))throw Error("ajv implementation error");let J=Y.name("valid");X.forEach((W,$)=>{if((0,C20.alwaysValidSchema)(Q,W))return;let G=D.subschema({keyword:"allOf",schemaProp:$},J);D.ok(J),D.mergeEvaluated(G)})}};ly.default=x20});var ry=T((iy)=>{Object.defineProperty(iy,"__esModule",{value:!0});var I$=C0(),ny=p0(),k20={message:({params:D})=>I$.str`must match "${D.ifClause}" schema`,params:({params:D})=>I$._`{failingKeyword: ${D.ifClause}}`},b20={keyword:"if",schemaType:["object","boolean"],trackErrors:!0,error:k20,code(D){let{gen:Y,parentSchema:X,it:Q}=D;if(X.then===void 0&&X.else===void 0)(0,ny.checkStrictMode)(Q,'"if" without "then" and "else" is ignored');let J=py(Q,"then"),W=py(Q,"else");if(!J&&!W)return;let $=Y.let("valid",!0),G=Y.name("_valid");if(B(),D.reset(),J&&W){let F=Y.let("ifClause");D.setParams({ifClause:F}),Y.if(G,H("then",F),H("else",F))}else if(J)Y.if(G,H("then"));else Y.if((0,I$.not)(G),H("else"));D.pass($,()=>D.error(!0));function B(){let F=D.subschema({keyword:"if",compositeRule:!0,createErrors:!1,allErrors:!1},G);D.mergeEvaluated(F)}function H(F,K){return()=>{let U=D.subschema({keyword:F},G);if(Y.assign($,G),D.mergeValidEvaluated(U,$),K)Y.assign(K,I$._`${F}`);else D.setParams({ifClause:F})}}}};function py(D,Y){let X=D.schema[Y];return X!==void 0&&!(0,ny.alwaysValidSchema)(D,X)}iy.default=b20});var oy=T((ay)=>{Object.defineProperty(ay,"__esModule",{value:!0});var y20=p0(),f20={keyword:["then","else"],schemaType:["object","boolean"],code({keyword:D,parentSchema:Y,it:X}){if(Y.if===void 0)(0,y20.checkStrictMode)(X,`"${D}" without "if" is ignored`)}};ay.default=f20});var ty=T((sy)=>{Object.defineProperty(sy,"__esModule",{value:!0});var g20=HU(),u20=Ky(),m20=FU(),c20=Vy(),l20=My(),d20=Ey(),p20=Ty(),n20=KU(),i20=xy(),r20=yy(),a20=hy(),o20=uy(),s20=cy(),t20=dy(),e20=ry(),DF0=oy();function YF0(D=!1){let Y=[a20.default,o20.default,s20.default,t20.default,e20.default,DF0.default,p20.default,n20.default,d20.default,i20.default,r20.default];if(D)Y.push(u20.default,c20.default);else Y.push(g20.default,m20.default);return Y.push(l20.default),Y}sy.default=YF0});var Df=T((ey)=>{Object.defineProperty(ey,"__esModule",{value:!0});var u1=C0(),QF0={message:({schemaCode:D})=>u1.str`must match format "${D}"`,params:({schemaCode:D})=>u1._`{format: ${D}}`},JF0={keyword:"format",type:["number","string"],schemaType:"string",$data:!0,error:QF0,code(D,Y){let{gen:X,data:Q,$data:J,schema:W,schemaCode:$,it:G}=D,{opts:B,errSchemaPath:H,schemaEnv:F,self:K}=G;if(!B.validateFormats)return;if(J)U();else z();function U(){let V=X.scopeValue("formats",{ref:K.formats,code:B.code.formats}),w=X.const("fDef",u1._`${V}[${$}]`),M=X.let("fType"),O=X.let("format");X.if(u1._`typeof ${w} == "object" && !(${w} instanceof RegExp)`,()=>X.assign(M,u1._`${w}.type || "string"`).assign(O,u1._`${w}.validate`),()=>X.assign(M,u1._`"string"`).assign(O,w)),D.fail$data((0,u1.or)(Z(),L()));function Z(){if(B.strictSchema===!1)return u1.nil;return u1._`${$} && !${O}`}function L(){let E=F.$async?u1._`(${w}.async ? await ${O}(${Q}) : ${O}(${Q}))`:u1._`${O}(${Q})`,j=u1._`(typeof ${O} == "function" ? ${E} : ${O}.test(${Q}))`;return u1._`${O} && ${O} !== true && ${M} === ${Y} && !${j}`}}function z(){let V=K.formats[W];if(!V){Z();return}if(V===!0)return;let[w,M,O]=L(V);if(w===Y)D.pass(E());function Z(){if(B.strictSchema===!1){K.logger.warn(j());return}throw Error(j());function j(){return`unknown format "${W}" ignored in schema at path "${H}"`}}function L(j){let I=j instanceof RegExp?(0,u1.regexpCode)(j):B.code.formats?u1._`${B.code.formats}${(0,u1.getProperty)(W)}`:void 0,x=X.scopeValue("formats",{key:W,ref:j,code:I});if(typeof j=="object"&&!(j instanceof RegExp))return[j.type||"string",j.validate,u1._`${x}.validate`];return["string",j,x]}function E(){if(typeof V=="object"&&!(V instanceof RegExp)&&V.async){if(!F.$async)throw Error("async format in sync schema");return u1._`await ${O}(${Q})`}return typeof M=="function"?u1._`${O}(${Q})`:u1._`${O}.test(${Q})`}}}};ey.default=JF0});var Xf=T((Yf)=>{Object.defineProperty(Yf,"__esModule",{value:!0});var $F0=Df(),GF0=[$F0.default];Yf.default=GF0});var Wf=T((Qf)=>{Object.defineProperty(Qf,"__esModule",{value:!0});Qf.contentVocabulary=Qf.metadataVocabulary=void 0;Qf.metadataVocabulary=["title","description","default","deprecated","readOnly","writeOnly","examples"];Qf.contentVocabulary=["contentMediaType","contentEncoding","contentSchema"]});var Bf=T((Gf)=>{Object.defineProperty(Gf,"__esModule",{value:!0});var FF0=Cv(),qF0=Qy(),KF0=ty(),zF0=Xf(),$f=Wf(),UF0=[FF0.default,qF0.default,(0,KF0.default)(),zF0.default,$f.metadataVocabulary,$f.contentVocabulary];Gf.default=UF0});var Kf=T((Ff)=>{Object.defineProperty(Ff,"__esModule",{value:!0});Ff.DiscrError=void 0;var Hf;(function(D){D.Tag="tag",D.Mapping="mapping"})(Hf||(Ff.DiscrError=Hf={}))});var Vf=T((Uf)=>{Object.defineProperty(Uf,"__esModule",{value:!0});var I7=C0(),UU=Kf(),zf=F$(),wF0=eY(),MF0=p0(),LF0={message:({params:{discrError:D,tagName:Y}})=>D===UU.DiscrError.Tag?`tag "${Y}" must be string`:`value of tag "${Y}" must be in oneOf`,params:({params:{discrError:D,tag:Y,tagName:X}})=>I7._`{error: ${D}, tag: ${X}, tagValue: ${Y}}`},OF0={keyword:"discriminator",type:"object",schemaType:"object",error:LF0,code(D){let{gen:Y,data:X,schema:Q,parentSchema:J,it:W}=D,{oneOf:$}=J;if(!W.opts.discriminator)throw Error("discriminator: requires discriminator option");let G=Q.propertyName;if(typeof G!="string")throw Error("discriminator: requires propertyName");if(Q.mapping)throw Error("discriminator: mapping is not supported");if(!$)throw Error("discriminator: requires oneOf keyword");let B=Y.let("valid",!1),H=Y.const("tag",I7._`${X}${(0,I7.getProperty)(G)}`);Y.if(I7._`typeof ${H} == "string"`,()=>F(),()=>D.error(!1,{discrError:UU.DiscrError.Tag,tag:H,tagName:G})),D.ok(B);function F(){let z=U();Y.if(!1);for(let V in z)Y.elseIf(I7._`${H} === ${V}`),Y.assign(B,K(z[V]));Y.else(),D.error(!1,{discrError:UU.DiscrError.Mapping,tag:H,tagName:G}),Y.endIf()}function K(z){let V=Y.name("valid"),w=D.subschema({keyword:"oneOf",schemaProp:z},V);return D.mergeEvaluated(w,I7.Name),V}function U(){var z;let V={},w=O(J),M=!0;for(let E=0;E<$.length;E++){let j=$[E];if((j===null||j===void 0?void 0:j.$ref)&&!(0,MF0.schemaHasRulesButRef)(j,W.self.RULES)){let x=j.$ref;if(j=zf.resolveRef.call(W.self,W.schemaEnv.root,W.baseId,x),j instanceof zf.SchemaEnv)j=j.schema;if(j===void 0)throw new wF0.default(W.opts.uriResolver,W.baseId,x)}let I=(z=j===null||j===void 0?void 0:j.properties)===null||z===void 0?void 0:z[G];if(typeof I!="object")throw Error(`discriminator: oneOf subschemas (or referenced schemas) must have "properties/${G}"`);M=M&&(w||O(j)),Z(I,E)}if(!M)throw Error(`discriminator: "${G}" must be required`);return V;function O({required:E}){return Array.isArray(E)&&E.includes(G)}function Z(E,j){if(E.const)L(E.const,j);else if(E.enum)for(let I of E.enum)L(I,j);else throw Error(`discriminator: "properties/${G}" must have "const" or "enum"`)}function L(E,j){if(typeof E!="string"||E in V)throw Error(`discriminator: "${G}" values must be unique strings`);V[E]=j}}}};Uf.default=OF0});var wf=T((zC0,ZF0)=>{ZF0.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var wU=T((r8,VU)=>{Object.defineProperty(r8,"__esModule",{value:!0});r8.MissingRefError=r8.ValidationError=r8.CodeGen=r8.Name=r8.nil=r8.stringify=r8.str=r8._=r8.KeywordCxt=r8.Ajv=void 0;var AF0=Nv(),EF0=Bf(),RF0=Vf(),Mf=wf(),jF0=["/properties"],C$="http://json-schema.org/draft-07/schema";class qX extends AF0.default{_addVocabularies(){if(super._addVocabularies(),EF0.default.forEach((D)=>this.addVocabulary(D)),this.opts.discriminator)this.addKeyword(RF0.default)}_addDefaultMetaSchema(){if(super._addDefaultMetaSchema(),!this.opts.meta)return;let D=this.opts.$data?this.$dataMetaSchema(Mf,jF0):Mf;this.addMetaSchema(D,C$,!1),this.refs["http://json-schema.org/schema"]=C$}defaultMeta(){return this.opts.defaultMeta=super.defaultMeta()||(this.getSchema(C$)?C$:void 0)}}r8.Ajv=qX;VU.exports=r8=qX;VU.exports.Ajv=qX;Object.defineProperty(r8,"__esModule",{value:!0});r8.default=qX;var TF0=tY();Object.defineProperty(r8,"KeywordCxt",{enumerable:!0,get:function(){return TF0.KeywordCxt}});var C7=C0();Object.defineProperty(r8,"_",{enumerable:!0,get:function(){return C7._}});Object.defineProperty(r8,"str",{enumerable:!0,get:function(){return C7.str}});Object.defineProperty(r8,"stringify",{enumerable:!0,get:function(){return C7.stringify}});Object.defineProperty(r8,"nil",{enumerable:!0,get:function(){return C7.nil}});Object.defineProperty(r8,"Name",{enumerable:!0,get:function(){return C7.Name}});Object.defineProperty(r8,"CodeGen",{enumerable:!0,get:function(){return C7.CodeGen}});var SF0=B$();Object.defineProperty(r8,"ValidationError",{enumerable:!0,get:function(){return SF0.default}});var PF0=eY();Object.defineProperty(r8,"MissingRefError",{enumerable:!0,get:function(){return PF0.default}})});var Sf=T((jf)=>{Object.defineProperty(jf,"__esModule",{value:!0});jf.formatNames=jf.fastFormats=jf.fullFormats=void 0;function $9(D,Y){return{validate:D,compare:Y}}jf.fullFormats={date:$9(Zf,NU),time:$9(LU(!0),ZU),"date-time":$9(Lf(!0),Ef),"iso-time":$9(LU(),Af),"iso-date-time":$9(Lf(),Rf),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:yF0,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:lF0,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:fF0,int32:{type:"number",validate:uF0},int64:{type:"number",validate:mF0},float:{type:"number",validate:Nf},double:{type:"number",validate:Nf},password:!0,binary:!0};jf.fastFormats={...jf.fullFormats,date:$9(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,NU),time:$9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,ZU),"date-time":$9(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ef),"iso-time":$9(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Af),"iso-date-time":$9(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Rf),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};jf.formatNames=Object.keys(jf.fullFormats);function xF0(D){return D%4===0&&(D%100!==0||D%400===0)}var _F0=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,kF0=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Zf(D){let Y=_F0.exec(D);if(!Y)return!1;let X=+Y[1],Q=+Y[2],J=+Y[3];return Q>=1&&Q<=12&&J>=1&&J<=(Q===2&&xF0(X)?29:kF0[Q])}function NU(D,Y){if(!(D&&Y))return;if(D>Y)return 1;if(D<Y)return-1;return 0}var MU=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function LU(D){return function(X){let Q=MU.exec(X);if(!Q)return!1;let J=+Q[1],W=+Q[2],$=+Q[3],G=Q[4],B=Q[5]==="-"?-1:1,H=+(Q[6]||0),F=+(Q[7]||0);if(H>23||F>59||D&&!G)return!1;if(J<=23&&W<=59&&$<60)return!0;let K=W-F*B,U=J-H*B-(K<0?1:0);return(U===23||U===-1)&&(K===59||K===-1)&&$<61}}function ZU(D,Y){if(!(D&&Y))return;let X=new Date("2020-01-01T"+D).valueOf(),Q=new Date("2020-01-01T"+Y).valueOf();if(!(X&&Q))return;return X-Q}function Af(D,Y){if(!(D&&Y))return;let X=MU.exec(D),Q=MU.exec(Y);if(!(X&&Q))return;if(D=X[1]+X[2]+X[3],Y=Q[1]+Q[2]+Q[3],D>Y)return 1;if(D<Y)return-1;return 0}var OU=/t|\s/i;function Lf(D){let Y=LU(D);return function(Q){let J=Q.split(OU);return J.length===2&&Zf(J[0])&&Y(J[1])}}function Ef(D,Y){if(!(D&&Y))return;let X=new Date(D).valueOf(),Q=new Date(Y).valueOf();if(!(X&&Q))return;return X-Q}function Rf(D,Y){if(!(D&&Y))return;let[X,Q]=D.split(OU),[J,W]=Y.split(OU),$=NU(X,J);if($===void 0)return;return $||ZU(Q,W)}var bF0=/\/|:/,vF0=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function yF0(D){return bF0.test(D)&&vF0.test(D)}var Of=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function fF0(D){return Of.lastIndex=0,Of.test(D)}var hF0=-2147483648,gF0=2147483647;function uF0(D){return Number.isInteger(D)&&D<=gF0&&D>=hF0}function mF0(D){return Number.isInteger(D)}function Nf(){return!0}var cF0=/[^\\]\\Z/;function lF0(D){if(cF0.test(D))return!1;try{return new RegExp(D),!0}catch(Y){return!1}}});var If=T((Pf)=>{Object.defineProperty(Pf,"__esModule",{value:!0});Pf.formatLimitDefinition=void 0;var pF0=wU(),m6=C0(),RD=m6.operators,x$={formatMaximum:{okStr:"<=",ok:RD.LTE,fail:RD.GT},formatMinimum:{okStr:">=",ok:RD.GTE,fail:RD.LT},formatExclusiveMaximum:{okStr:"<",ok:RD.LT,fail:RD.GTE},formatExclusiveMinimum:{okStr:">",ok:RD.GT,fail:RD.LTE}},nF0={message:({keyword:D,schemaCode:Y})=>m6.str`should be ${x$[D].okStr} ${Y}`,params:({keyword:D,schemaCode:Y})=>m6._`{comparison: ${x$[D].okStr}, limit: ${Y}}`};Pf.formatLimitDefinition={keyword:Object.keys(x$),type:"string",schemaType:"string",$data:!0,error:nF0,code(D){let{gen:Y,data:X,schemaCode:Q,keyword:J,it:W}=D,{opts:$,self:G}=W;if(!$.validateFormats)return;let B=new pF0.KeywordCxt(W,G.RULES.all.format.definition,"format");if(B.$data)H();else F();function H(){let U=Y.scopeValue("formats",{ref:G.formats,code:$.code.formats}),z=Y.const("fmt",m6._`${U}[${B.schemaCode}]`);D.fail$data((0,m6.or)(m6._`typeof ${z} != "object"`,m6._`${z} instanceof RegExp`,m6._`typeof ${z}.compare != "function"`,K(z)))}function F(){let U=B.schema,z=G.formats[U];if(!z||z===!0)return;if(typeof z!="object"||z instanceof RegExp||typeof z.compare!="function")throw Error(`"${J}": format "${U}" does not define "compare" function`);let V=Y.scopeValue("formats",{key:U,ref:z,code:$.code.formats?m6._`${$.code.formats}${(0,m6.getProperty)(U)}`:void 0});D.fail$data(K(V))}function K(U){return m6._`${U}.compare(${X}, ${Q}) ${x$[J].fail} 0`}},dependencies:["format"]};var iF0=(D)=>{return D.addKeyword(Pf.formatLimitDefinition),D};Pf.default=iF0});var kf=T((KX,_f)=>{Object.defineProperty(KX,"__esModule",{value:!0});var x7=Sf(),aF0=If(),RU=C0(),Cf=new RU.Name("fullFormats"),oF0=new RU.Name("fastFormats"),jU=(D,Y={keywords:!0})=>{if(Array.isArray(Y))return xf(D,Y,x7.fullFormats,Cf),D;let[X,Q]=Y.mode==="fast"?[x7.fastFormats,oF0]:[x7.fullFormats,Cf],J=Y.formats||x7.formatNames;if(xf(D,J,X,Q),Y.keywords)(0,aF0.default)(D);return D};jU.get=(D,Y="full")=>{let Q=(Y==="fast"?x7.fastFormats:x7.fullFormats)[D];if(!Q)throw Error(`Unknown format "${D}"`);return Q};function xf(D,Y,X,Q){var J,W;(J=(W=D.opts.code).formats)!==null&&J!==void 0||(W.formats=RU._`require("ajv-formats/dist/formats").${Q}`);for(let $ of Y)D.addFormat($,X[$])}_f.exports=KX=jU;Object.defineProperty(KX,"__esModule",{value:!0});KX.default=jU});import{exit as lU}from"node:process";var FV=y1(HV(),1),{program:c1,createCommand:Oq0,createArgument:Nq0,createOption:Zq0,CommanderError:Aq0,InvalidArgumentError:Eq0,InvalidOptionArgumentError:Rq0,Command:jq0,Argument:Tq0,Option:Sq0,Help:Pq0}=FV.default;var f8={name:"@capgo/cli",version:"7.68.1",type:"module",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};import{existsSync as $S,readFileSync as GS}from"node:fs";var z8=y1(r$(),1),v7=y1(o$(),1);import{stdin as EV,stdout as RV}from"node:process";import*as k9 from"node:readline";import UV from"node:readline";import{Writable as oh}from"node:stream";function sh({onlyFirst:D=!1}={}){let Y=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(Y,D?void 0:"g")}var th=sh();function jV(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(th,"")}function TV(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var SV={exports:{}};(function(D){var Y={};D.exports=Y,Y.eastAsianWidth=function(Q){var J=Q.charCodeAt(0),W=Q.length==2?Q.charCodeAt(1):0,$=J;return 55296<=J&&J<=56319&&56320<=W&&W<=57343&&(J&=1023,W&=1023,$=J<<10|W,$+=65536),$==12288||65281<=$&&$<=65376||65504<=$&&$<=65510?"F":$==8361||65377<=$&&$<=65470||65474<=$&&$<=65479||65482<=$&&$<=65487||65490<=$&&$<=65495||65498<=$&&$<=65500||65512<=$&&$<=65518?"H":4352<=$&&$<=4447||4515<=$&&$<=4519||4602<=$&&$<=4607||9001<=$&&$<=9002||11904<=$&&$<=11929||11931<=$&&$<=12019||12032<=$&&$<=12245||12272<=$&&$<=12283||12289<=$&&$<=12350||12353<=$&&$<=12438||12441<=$&&$<=12543||12549<=$&&$<=12589||12593<=$&&$<=12686||12688<=$&&$<=12730||12736<=$&&$<=12771||12784<=$&&$<=12830||12832<=$&&$<=12871||12880<=$&&$<=13054||13056<=$&&$<=19903||19968<=$&&$<=42124||42128<=$&&$<=42182||43360<=$&&$<=43388||44032<=$&&$<=55203||55216<=$&&$<=55238||55243<=$&&$<=55291||63744<=$&&$<=64255||65040<=$&&$<=65049||65072<=$&&$<=65106||65108<=$&&$<=65126||65128<=$&&$<=65131||110592<=$&&$<=110593||127488<=$&&$<=127490||127504<=$&&$<=127546||127552<=$&&$<=127560||127568<=$&&$<=127569||131072<=$&&$<=194367||177984<=$&&$<=196605||196608<=$&&$<=262141?"W":32<=$&&$<=126||162<=$&&$<=163||165<=$&&$<=166||$==172||$==175||10214<=$&&$<=10221||10629<=$&&$<=10630?"Na":$==161||$==164||167<=$&&$<=168||$==170||173<=$&&$<=174||176<=$&&$<=180||182<=$&&$<=186||188<=$&&$<=191||$==198||$==208||215<=$&&$<=216||222<=$&&$<=225||$==230||232<=$&&$<=234||236<=$&&$<=237||$==240||242<=$&&$<=243||247<=$&&$<=250||$==252||$==254||$==257||$==273||$==275||$==283||294<=$&&$<=295||$==299||305<=$&&$<=307||$==312||319<=$&&$<=322||$==324||328<=$&&$<=331||$==333||338<=$&&$<=339||358<=$&&$<=359||$==363||$==462||$==464||$==466||$==468||$==470||$==472||$==474||$==476||$==593||$==609||$==708||$==711||713<=$&&$<=715||$==717||$==720||728<=$&&$<=731||$==733||$==735||768<=$&&$<=879||913<=$&&$<=929||931<=$&&$<=937||945<=$&&$<=961||963<=$&&$<=969||$==1025||1040<=$&&$<=1103||$==1105||$==8208||8211<=$&&$<=8214||8216<=$&&$<=8217||8220<=$&&$<=8221||8224<=$&&$<=8226||8228<=$&&$<=8231||$==8240||8242<=$&&$<=8243||$==8245||$==8251||$==8254||$==8308||$==8319||8321<=$&&$<=8324||$==8364||$==8451||$==8453||$==8457||$==8467||$==8470||8481<=$&&$<=8482||$==8486||$==8491||8531<=$&&$<=8532||8539<=$&&$<=8542||8544<=$&&$<=8555||8560<=$&&$<=8569||$==8585||8592<=$&&$<=8601||8632<=$&&$<=8633||$==8658||$==8660||$==8679||$==8704||8706<=$&&$<=8707||8711<=$&&$<=8712||$==8715||$==8719||$==8721||$==8725||$==8730||8733<=$&&$<=8736||$==8739||$==8741||8743<=$&&$<=8748||$==8750||8756<=$&&$<=8759||8764<=$&&$<=8765||$==8776||$==8780||$==8786||8800<=$&&$<=8801||8804<=$&&$<=8807||8810<=$&&$<=8811||8814<=$&&$<=8815||8834<=$&&$<=8835||8838<=$&&$<=8839||$==8853||$==8857||$==8869||$==8895||$==8978||9312<=$&&$<=9449||9451<=$&&$<=9547||9552<=$&&$<=9587||9600<=$&&$<=9615||9618<=$&&$<=9621||9632<=$&&$<=9633||9635<=$&&$<=9641||9650<=$&&$<=9651||9654<=$&&$<=9655||9660<=$&&$<=9661||9664<=$&&$<=9665||9670<=$&&$<=9672||$==9675||9678<=$&&$<=9681||9698<=$&&$<=9701||$==9711||9733<=$&&$<=9734||$==9737||9742<=$&&$<=9743||9748<=$&&$<=9749||$==9756||$==9758||$==9792||$==9794||9824<=$&&$<=9825||9827<=$&&$<=9829||9831<=$&&$<=9834||9836<=$&&$<=9837||$==9839||9886<=$&&$<=9887||9918<=$&&$<=9919||9924<=$&&$<=9933||9935<=$&&$<=9953||$==9955||9960<=$&&$<=9983||$==10045||$==10071||10102<=$&&$<=10111||11093<=$&&$<=11097||12872<=$&&$<=12879||57344<=$&&$<=63743||65024<=$&&$<=65039||$==65533||127232<=$&&$<=127242||127248<=$&&$<=127277||127280<=$&&$<=127337||127344<=$&&$<=127386||917760<=$&&$<=917999||983040<=$&&$<=1048573||1048576<=$&&$<=1114109?"A":"N"},Y.characterLength=function(Q){var J=this.eastAsianWidth(Q);return J=="F"||J=="W"||J=="A"?2:1};function X(Q){return Q.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}Y.length=function(Q){for(var J=X(Q),W=0,$=0;$<J.length;$++)W=W+this.characterLength(J[$]);return W},Y.slice=function(Q,J,W){textLen=Y.length(Q),J=J||0,W=W||1,J<0&&(J=textLen+J),W<0&&(W=textLen+W);for(var $="",G=0,B=X(Q),H=0;H<B.length;H++){var F=B[H],K=Y.length(F);if(G>=J-(K==2?1:0))if(G+K<=W)$+=F;else break;G+=K}return $}})(SV);var eh=SV.exports,Dg=TV(eh),Yg=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},Xg=TV(Yg);function y7(D,Y={}){if(typeof D!="string"||D.length===0||(Y={ambiguousIsNarrow:!0,...Y},D=jV(D),D.length===0))return 0;D=D.replace(Xg()," ");let X=Y.ambiguousIsNarrow?1:2,Q=0;for(let J of D){let W=J.codePointAt(0);if(W<=31||W>=127&&W<=159||W>=768&&W<=879)continue;switch(Dg.eastAsianWidth(J)){case"F":case"W":Q+=2;break;case"A":Q+=X;break;default:Q+=1}}return Q}var s$=10,VV=(D=0)=>(Y)=>`\x1B[${Y+D}m`,wV=(D=0)=>(Y)=>`\x1B[${38+D};5;${Y}m`,MV=(D=0)=>(Y,X,Q)=>`\x1B[${38+D};2;${Y};${X};${Q}m`,V1={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(V1.modifier);var Qg=Object.keys(V1.color),Jg=Object.keys(V1.bgColor);[...Qg,...Jg];function Wg(){let D=new Map;for(let[Y,X]of Object.entries(V1)){for(let[Q,J]of Object.entries(X))V1[Q]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},X[Q]=V1[Q],D.set(J[0],J[1]);Object.defineProperty(V1,Y,{value:X,enumerable:!1})}return Object.defineProperty(V1,"codes",{value:D,enumerable:!1}),V1.color.close="\x1B[39m",V1.bgColor.close="\x1B[49m",V1.color.ansi=VV(),V1.color.ansi256=wV(),V1.color.ansi16m=MV(),V1.bgColor.ansi=VV(s$),V1.bgColor.ansi256=wV(s$),V1.bgColor.ansi16m=MV(s$),Object.defineProperties(V1,{rgbToAnsi256:{value:(Y,X,Q)=>Y===X&&X===Q?Y<8?16:Y>248?231:Math.round((Y-8)/247*24)+232:16+36*Math.round(Y/255*5)+6*Math.round(X/255*5)+Math.round(Q/255*5),enumerable:!1},hexToRgb:{value:(Y)=>{let X=/[a-f\d]{6}|[a-f\d]{3}/i.exec(Y.toString(16));if(!X)return[0,0,0];let[Q]=X;Q.length===3&&(Q=[...Q].map((W)=>W+W).join(""));let J=Number.parseInt(Q,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(Y)=>V1.rgbToAnsi256(...V1.hexToRgb(Y)),enumerable:!1},ansi256ToAnsi:{value:(Y)=>{if(Y<8)return 30+Y;if(Y<16)return 90+(Y-8);let X,Q,J;if(Y>=232)X=((Y-232)*10+8)/255,Q=X,J=X;else{Y-=16;let G=Y%36;X=Math.floor(Y/36)/5,Q=Math.floor(G/6)/5,J=G%6/5}let W=Math.max(X,Q,J)*2;if(W===0)return 30;let $=30+(Math.round(J)<<2|Math.round(Q)<<1|Math.round(X));return W===2&&($+=60),$},enumerable:!1},rgbToAnsi:{value:(Y,X,Q)=>V1.ansi256ToAnsi(V1.rgbToAnsi256(Y,X,Q)),enumerable:!1},hexToAnsi:{value:(Y)=>V1.ansi256ToAnsi(V1.hexToAnsi256(Y)),enumerable:!1}}),V1}var $g=Wg(),EX=new Set(["\x1B","›"]),Gg=39,DG="\x07",PV="[",Bg="]",IV="m",YG=`${Bg}8;;`,LV=(D)=>`${EX.values().next().value}${PV}${D}${IV}`,OV=(D)=>`${EX.values().next().value}${YG}${D}${DG}`,Hg=(D)=>D.split(" ").map((Y)=>y7(Y)),t$=(D,Y,X)=>{let Q=[...Y],J=!1,W=!1,$=y7(jV(D[D.length-1]));for(let[G,B]of Q.entries()){let H=y7(B);if($+H<=X?D[D.length-1]+=B:(D.push(B),$=0),EX.has(B)&&(J=!0,W=Q.slice(G+1).join("").startsWith(YG)),J){W?B===DG&&(J=!1,W=!1):B===IV&&(J=!1);continue}$+=H,$===X&&G<Q.length-1&&(D.push(""),$=0)}!$&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},Fg=(D)=>{let Y=D.split(" "),X=Y.length;for(;X>0&&!(y7(Y[X-1])>0);)X--;return X===Y.length?D:Y.slice(0,X).join(" ")+Y.slice(X).join("")},qg=(D,Y,X={})=>{if(X.trim!==!1&&D.trim()==="")return"";let Q="",J,W,$=Hg(D),G=[""];for(let[H,F]of D.split(" ").entries()){X.trim!==!1&&(G[G.length-1]=G[G.length-1].trimStart());let K=y7(G[G.length-1]);if(H!==0&&(K>=Y&&(X.wordWrap===!1||X.trim===!1)&&(G.push(""),K=0),(K>0||X.trim===!1)&&(G[G.length-1]+=" ",K++)),X.hard&&$[H]>Y){let U=Y-K,z=1+Math.floor(($[H]-U-1)/Y);Math.floor(($[H]-1)/Y)<z&&G.push(""),t$(G,F,Y);continue}if(K+$[H]>Y&&K>0&&$[H]>0){if(X.wordWrap===!1&&K<Y){t$(G,F,Y);continue}G.push("")}if(K+$[H]>Y&&X.wordWrap===!1){t$(G,F,Y);continue}G[G.length-1]+=F}X.trim!==!1&&(G=G.map((H)=>Fg(H)));let B=[...G.join(`
138
138
  `)];for(let[H,F]of B.entries()){if(Q+=F,EX.has(F)){let{groups:U}=new RegExp(`(?:\\${PV}(?<code>\\d+)m|\\${YG}(?<uri>.*)${DG})`).exec(B.slice(H).join(""))||{groups:{}};if(U.code!==void 0){let z=Number.parseFloat(U.code);J=z===Gg?void 0:z}else U.uri!==void 0&&(W=U.uri.length===0?void 0:U.uri)}let K=$g.codes.get(Number(J));B[H+1]===`
139
139
  `?(W&&(Q+=OV("")),J&&K&&(Q+=LV(K))):F===`
140
140
  `&&(J&&K&&(Q+=LV(J)),W&&(Q+=OV(W)))}return Q};function NV(D,Y,X){return String(D).normalize().replace(/\r\n/g,`
@@ -253,7 +253,7 @@ Global: ${r3()}`),q.info(`Local: ${i3()}`),q.info(`
253
253
  `)}catch(Y){q.error(`Failed to update credentials: ${Y instanceof Error?Y.message:String(Y)}`),S1(1)}}import{existsSync as k2,readdirSync as D90,readFileSync as Y90,statSync as X90}from"node:fs";import{mkdir as Q90,readFile as b2,rm as J90,stat as W90,writeFile as $90}from"node:fs/promises";import{tmpdir as G90}from"node:os";import{basename as PS,join as c4,resolve as B90}from"node:path";import{cwd as H90,exit as F90}from"node:process";var CS=y1(yG(),1),TJ=y1(bQ(),1);async function q90(D,Y,X,Q,J,W=!1){if(J)return null;let $=null,G=!1,B=`${D}/build/logs/${Y}?app_id=${encodeURIComponent(X)}`;q.info(`Connecting to log stream: ${B}`);try{let H=await fetch(B,{headers:{authorization:Q}});if(q.info(`Log stream response: ${H.status}`),!H.ok){let V=await H.text().catch(()=>"unknown error");return q.warn(`Could not stream logs (${H.status}): ${V}`),null}let F=H.body?.getReader();if(!F)return q.warn("No response body for log stream"),null;q.info("Reading log stream...");let K=new TextDecoder,U="",z=(V)=>{if(!V.trim())return;let w=V.match(/^(?:Build|Job already) (succeeded|failed|expired|released|cancelled)$/i);if(w){$=w[1].toLowerCase();return}if($)return;if(!G)G=!0,q.info("");q.info(V)};while(!0){let{done:V,value:w}=await F.read();if(V)break;U+=K.decode(w,{stream:!0});let M=U.split(`
254
254
  `);U=M.pop()||"";for(let O of M)if(O.startsWith("data: ")){let Z=O.slice(6);z(Z)}}if(U.startsWith("data: ")){let V=U.slice(6);z(V)}return $}catch(H){if(!J)q.warn(`Log streaming interrupted${H instanceof Error?`: ${H.message}`:""}`);return null}}async function K90(D,Y,X,Q,J,W){let G=0;while(G<120)try{let B=await fetch(`${D}/build/status?job_id=${encodeURIComponent(Y)}&app_id=${encodeURIComponent(X)}&platform=${Q}`,{headers:{authorization:J}});if(!B.ok){if(!W)q.warn(`Status check failed: ${B.status}`);await new Promise((F)=>setTimeout(F,5000)),G++;continue}let H=await B.json();if(H.status==="succeeded"||H.status==="failed")return H.status;await new Promise((F)=>setTimeout(F,5000)),G++}catch(B){if(!W)q.warn(`Status check error: ${B}`);await new Promise((H)=>setTimeout(H,5000)),G++}if(!W)q.warn("Build status polling timed out");return"timeout"}async function z90(D,Y){let X=new Set,Q=!1;if(Y==="ios"){let J=c4(D,"ios/App/CapApp-SPM/Package.swift");if(k2(J)){Q=!0;let $=(await b2(J,"utf-8")).matchAll(/\.package\s*\([^)]*path:\s*["'](?:\.\.\/)*node_modules\/([^"']+)["']\s*\)/g);for(let G of $)X.add(G[1])}else{let W=c4(D,"ios/App/Podfile");if(k2(W)){let G=(await b2(W,"utf-8")).matchAll(/pod\s+['"][^'"]+['"],\s*:path\s*=>\s*['"]\.\.\/\.\.\/node_modules\/([^'"]+)['"]/g);for(let B of G)X.add(B[1])}}}else if(Y==="android"){let J=c4(D,"android/capacitor.settings.gradle");if(k2(J)){let $=(await b2(J,"utf-8")).matchAll(/new\s+File\s*\(\s*['"]\.\.\/node_modules\/([^'"]+)['"]\s*\)/g);for(let G of $){let H=G[1].replace(/\/android$/,"");X.add(H)}}}return{packages:X,usesSPM:Q}}function IS(D,Y,X){let Q=D.replace(/\\/g,"/");if(Q.startsWith(`${Y}/`))return!0;if(Q==="package.json"||Q==="package-lock.json"||Q.startsWith("capacitor.config."))return!0;if(Q.startsWith("resources/"))return!0;if(Y==="ios"&&Q.startsWith("node_modules/@capacitor/ios/"))return!0;if(Y==="android"&&Q.startsWith("node_modules/@capacitor/android/"))return!0;for(let J of X.packages){let W=`node_modules/${J}/`;if(Y==="android"){if(Q.startsWith(`${W}android/`))return!0}else if(Y==="ios"){if(Q.startsWith(`${W}ios/`))return!0;if(X.usesSPM){if(Q===`${W}Package.swift`)return!0}else if(Q.startsWith(W)&&Q.endsWith(".podspec"))return!0}}return!1}function a3(D,Y,X,Q,J){let W=D90(Y);for(let $ of W){let G=c4(Y,$),B=X?`${X}/${$}`:$,H=X90(G);if(H.isDirectory()){if($===".git"||$==="dist"||$==="build"||$===".angular"||$===".vite"||$===".gradle"||$===".idea"||$===".swiftpm")continue;if($===Q){a3(D,G,B,Q,J);continue}if($==="node_modules"){a3(D,G,B,Q,J);continue}if($==="resources"){a3(D,G,B,Q,J);continue}let F=B.replace(/\\/g,"/");if(IS(B,Q,J)||Array.from(J.packages).some((U)=>{return`node_modules/${U}/`.startsWith(`${F}/`)||F.startsWith(`node_modules/${U}`)}))a3(D,G,B,Q,J)}else if(H.isFile()){if($===".DS_Store"||$.endsWith(".log"))continue;if(IS(B,Q,J))D.addLocalFile(G,X||void 0)}}}async function U90(D,Y,X){let Q=await z90(D,X),J=new CS.default;a3(J,D,"",X,Q),await $90(Y,J.toBuffer())}async function v2(D,Y,X=!1){let Q=Date.now(),J=Y.verbose??!1;try{Y.apikey=Y.apikey||X0(X);let W=await U0();if(D=D||W?.config.appId,!D)throw Error("Missing argument, you need to provide a appId, or be in a capacitor project");if(!Y.platform)throw Error("Missing required argument: --platform <ios|android>");if(Y.platform!=="ios"&&Y.platform!=="android")throw Error(`Invalid platform "${Y.platform}". Must be "ios" or "android"`);let $=B90(Y.path||H90()),G=Y.supaHost||"https://api.capgo.app",B=await w0(Y.apikey,Y.supaHost,Y.supaAnon);await Z0(B,Y.apikey,["write","all"]);let H=await r1(B,D);if(!X)q.info(`Requesting native build for ${D}`),q.info(`Platform: ${Y.platform}`),q.info(`Project: ${$}`),q.info(`
255
255
  \uD83D\uDD12 Security: Credentials are never stored on Capgo servers`),q.info(" They are used only during build and deleted after"),q.info(` Builds sent directly to app stores - Capgo keeps nothing
256
- `);if(J)q.info(`API host: ${G}`);let F={};if(Y.buildCertificateBase64)F.BUILD_CERTIFICATE_BASE64=Y.buildCertificateBase64;if(Y.buildProvisionProfileBase64)F.BUILD_PROVISION_PROFILE_BASE64=Y.buildProvisionProfileBase64;if(Y.buildProvisionProfileBase64Prod)F.BUILD_PROVISION_PROFILE_BASE64_PROD=Y.buildProvisionProfileBase64Prod;if(Y.p12Password)F.P12_PASSWORD=Y.p12Password;if(Y.appleKeyId)F.APPLE_KEY_ID=Y.appleKeyId;if(Y.appleIssuerId)F.APPLE_ISSUER_ID=Y.appleIssuerId;if(Y.appleKeyContent)F.APPLE_KEY_CONTENT=Y.appleKeyContent;if(Y.appleProfileName)F.APPLE_PROFILE_NAME=Y.appleProfileName;if(Y.appStoreConnectTeamId)F.APP_STORE_CONNECT_TEAM_ID=Y.appStoreConnectTeamId;if(Y.androidKeystoreFile)F.ANDROID_KEYSTORE_FILE=Y.androidKeystoreFile;if(Y.keystoreKeyAlias)F.KEYSTORE_KEY_ALIAS=Y.keystoreKeyAlias;let K=!!Y.keystoreKeyPassword,U=!!Y.keystoreStorePassword;if(K&&!U)F.KEYSTORE_KEY_PASSWORD=Y.keystoreKeyPassword,F.KEYSTORE_STORE_PASSWORD=Y.keystoreKeyPassword;else if(!K&&U)F.KEYSTORE_KEY_PASSWORD=Y.keystoreStorePassword,F.KEYSTORE_STORE_PASSWORD=Y.keystoreStorePassword;else if(K&&U)F.KEYSTORE_KEY_PASSWORD=Y.keystoreKeyPassword,F.KEYSTORE_STORE_PASSWORD=Y.keystoreStorePassword;if(Y.playConfigJson)F.PLAY_CONFIG_JSON=Y.playConfigJson;let z=await ES(D,Y.platform,Object.keys(F).length>0?F:void 0),V={app_id:D,platform:Y.platform};if(!z){if(!X)q.error("❌ No credentials found for this app and platform"),q.error(""),q.error("You must provide credentials via:"),q.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),q.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),q.error(" 3. Saved credentials file:"),q.error(` npx @capgo/cli build credentials save --appId ${D} --platform ${Y.platform}`),q.error(""),q.error("Documentation:"),q.error(" https://capgo.app/docs/cli/cloud-build/credentials/");throw Error("No credentials found. Please provide credentials before building.")}let w=[];if(Y.platform==="ios"){if(!z.BUILD_CERTIFICATE_BASE64)w.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)");if(!z.P12_PASSWORD&&!X)q.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),q.warn(" If your certificate requires a password, provide it with --p12-password");if(!z.BUILD_PROVISION_PROFILE_BASE64)w.push("BUILD_PROVISION_PROFILE_BASE64 (or --build-provision-profile-base64)");if(!z.APPLE_KEY_ID)w.push("APPLE_KEY_ID (or --apple-key-id)");if(!z.APPLE_ISSUER_ID)w.push("APPLE_ISSUER_ID (or --apple-issuer-id)");if(!z.APPLE_KEY_CONTENT)w.push("APPLE_KEY_CONTENT (or --apple-key-content)");if(!z.APP_STORE_CONNECT_TEAM_ID)w.push("APP_STORE_CONNECT_TEAM_ID (or --apple-team-id)")}else if(Y.platform==="android"){if(!z.ANDROID_KEYSTORE_FILE)w.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)");if(!z.KEYSTORE_KEY_ALIAS)w.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)");if(!z.KEYSTORE_KEY_PASSWORD&&!z.KEYSTORE_STORE_PASSWORD)w.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)");if(!z.PLAY_CONFIG_JSON&&!X)q.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(w.length>0){if(!X){q.error(`❌ Missing required credentials for ${Y.platform}:`),q.error("");for(let E of w)q.error(` • ${E}`);q.error(""),q.error("Provide credentials via:"),q.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),q.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),q.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),q.error(""),q.error("Documentation:"),q.error(` https://capgo.app/docs/cli/cloud-build/${Y.platform}/`)}throw Error(`Missing required credentials for ${Y.platform}: ${w.join(", ")}`)}if(V.credentials=z,!X)q.info("✓ Using credentials (merged from CLI args, env vars, and saved file)");if(J){let E=Object.keys(z).filter((j)=>z[j]);q.info(`Credentials provided: ${E.join(", ")}`)}if(!X)q.info("Requesting build from Capgo...");let M=await fetch(`${G}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Y.apikey},body:JSON.stringify(V)});if(!M.ok){let E=await M.text();throw Error(`Failed to request build: ${M.status} - ${E}`)}let O=await M.json();if(!X)q.success(`Build job created: ${O.job_id}`),q.info(`Status: ${O.status}`);if(J)q.info(`Upload URL: ${O.upload_url}`),q.info(`Upload expires: ${O.upload_expires_at}`);await I0(Y.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:H,tags:{"app-id":D,platform:Y.platform},notify:!1}).catch();let Z=c4(G90(),`capgo-build-${Date.now()}`);await Q90(Z,{recursive:!0});let L=c4(Z,`${PS($)}.zip`);try{if(!X)q.info(`Zipping ${Y.platform} project from ${$}...`);await U90($,L,Y.platform);let j=((await W90(L)).size/1024/1024).toFixed(2);if(!X)q.success(`Created zip: ${L} (${j} MB)`);if(!X)q.info("Uploading to builder...");if(J)q.info(`Upload endpoint: ${O.upload_url}`),q.info(`File size: ${j} MB`),q.info(`Job ID: ${O.job_id}`);let I=Y90(L),x=d0();if(!X)x.start("Uploading bundle");if(await new Promise((u,W0)=>{let _=new TJ.Upload(I,{endpoint:O.upload_url,chunkSize:5242880,metadata:{filename:PS(L),filetype:"application/zip"},headers:{authorization:Y.apikey},onBeforeRequest(N){if(J){q.info(`[TUS] ${N.getMethod()} ${N.getURL()}`);let A=N.getHeader("authorization");q.info(`[TUS] Authorization header present: ${!!A}`)}},onAfterResponse(N,A){if(J){q.info(`[TUS] Response status: ${A.getStatus()}`);let R=A.getHeader("upload-offset"),P=A.getHeader("tus-resumable");q.info(`[TUS] Upload-Offset: ${R}, Tus-Resumable: ${P}`)}},onError(N){if(!X)x.stop("Upload failed"),q.error(`Upload error: ${N.message}`);if(N instanceof TJ.DetailedError){let A=N.originalResponse?.getBody(),R=N.originalResponse?.getStatus(),P=N.originalRequest?.getURL();if(J)q.error(`[TUS] Request URL: ${P}`),q.error(`[TUS] Response status: ${R}`),q.error(`[TUS] Response body: ${A}`);let v="Unknown error";try{let k=JSON.parse(A||'{"error": "unknown error"}');v=k.status||k.error||k.message||"unknown error"}catch{v=A||N.message}W0(Error(`TUS upload failed: ${v}`))}else W0(Error(`TUS upload failed: ${N.message||N.toString()}`))},onProgress(N,A){let R=(N/A*100).toFixed(2);if(!X)x.message(`Uploading ${R}%`)},onSuccess(){if(!X)x.stop("Upload complete!");if(J)q.success("TUS upload completed successfully");u()}});if(J)q.info("[TUS] Starting upload...");_.start()}),!X)q.info("Starting build job...");let y=await fetch(`${G}/build/start/${O.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Y.apikey},body:JSON.stringify({app_id:D})});if(!y.ok){let u=await y.text();throw Error(`Failed to start build: ${y.status} - ${u}`)}let C=await y.json();if(!X)q.success("Build started!"),q.info("Streaming build logs...");let m,S=await q90(G,O.job_id,D,Y.apikey,X,J);if(S)m=S;else m=await K90(G,O.job_id,D,Y.platform,Y.apikey,X);if(!X)if(m==="succeeded")q.success("Build completed successfully!");else if(m==="failed")q.error("Build failed");else q.warn(`Build finished with status: ${m}`);let p=((Date.now()-Q)/1000).toFixed(2);return await I0(Y.apikey,{channel:"native-builder",event:m==="succeeded"?"Build succeeded":"Build failed",icon:m==="succeeded"?"✅":"❌",user_id:H,tags:{"app-id":D,platform:Y.platform,status:m||"unknown",time:p},notify:!1}).catch(),{success:m==="succeeded",jobId:O.job_id,uploadUrl:O.upload_url,status:m||C.status||O.status}}finally{await J90(Z,{recursive:!0,force:!0})}}catch(W){let $=W instanceof Error?W.message:String(W);if(!X)q.error($);return{success:!1,error:$}}}async function xS(D,Y){if(!(await v2(D,Y,!1)).success)F90(1)}async function _S(D,Y,X,Q={}){let{silent:J=!1,autoUnlink:W=!1}=Q,{data:$,error:G}=await D.from("channels").select().eq("app_id",Y).eq("version",X.id);if(G){if(!J)q.error(`Cannot check Version ${Y}@${X.name}: ${c(G)}`);throw Error(`Cannot check version ${Y}@${X.name}: ${c(G)}`)}if(!$?.length)return;if(J)throw Error(`Version ${Y}@${X.name} is used in ${$.length} channel(s)`);F0(`❌ Version ${Y}@${X.name} is used in ${$.length} channel${$.length>1?"s":""}`);let B=W;if(!W)B=await j0({message:"unlink it?"})===!0;if(!B)throw q.error("Unlink it first"),Error(`Version ${Y}@${X.name} is still linked to channel(s)`);for(let H of $){let F=d0();F.start(`Unlinking channel ${H.name}`);let K=await y2(D,Y,{silent:J});if(!K)throw F.stop(`Cannot find unknown version for ${Y}`),Error(`Cannot find unknown version for ${Y}`);let{error:U}=await D.from("channels").update({version:K.id}).eq("id",H.id);if(U)throw F.stop(`Cannot update channel ${H.name} ${c(U)}`),Error(`Cannot update channel ${H.name}: ${c(U)}`);F.stop(`✅ Channel ${H.name} unlinked`)}e(`Version unlinked from ${$.length} channel${$.length>1?"s":""}`)}async function y2(D,Y,X={}){let{silent:Q=!1}=X,{data:J,error:W}=await D.from("app_versions").select("id").eq("app_id",Y).eq("name","unknown").single();if(!W)return J;try{let $=await r1(D,Y),{data:G,error:B}=await D.from("app_versions").insert({owner_org:$,deleted:!0,name:"unknown",app_id:Y}).select("id").single();if(B){if(!Q)q.error(`Cannot find or create unknown version for ${Y}. Find error: ${c(W)}, Create error: ${c(B)}`);throw Error(`Cannot find or create unknown version for app ${Y}: ${c(B)}`)}return G}catch($){if(!Q)q.error(`Cannot find or create unknown version for ${Y}. Find error: ${c(W)}, Create error: ${c($)}`);throw Error(`Cannot retrieve or create unknown version for app ${Y}: ${c($)}`)}}function kS(D,Y){return D.from("channels").insert(Y).select().single()}function bS(D,Y,X,Q){return D.from("channels").delete().eq("name",Y).eq("app_id",X).single()}function vS(D,Y,X){return D.from("channels").select().eq("app_id",Y).eq("name",X).single()}function yS(D,Y,X){return D.from("channel_devices").delete().eq("app_id",Y).eq("channel_id",X)}function fS(D,Y,X){return D.from("channels").select(`
256
+ `);if(J)q.info(`API host: ${G}`);let F={};if(Y.buildCertificateBase64)F.BUILD_CERTIFICATE_BASE64=Y.buildCertificateBase64;if(Y.buildProvisionProfileBase64)F.BUILD_PROVISION_PROFILE_BASE64=Y.buildProvisionProfileBase64;if(Y.buildProvisionProfileBase64Prod)F.BUILD_PROVISION_PROFILE_BASE64_PROD=Y.buildProvisionProfileBase64Prod;if(Y.p12Password)F.P12_PASSWORD=Y.p12Password;if(Y.appleKeyId)F.APPLE_KEY_ID=Y.appleKeyId;if(Y.appleIssuerId)F.APPLE_ISSUER_ID=Y.appleIssuerId;if(Y.appleKeyContent)F.APPLE_KEY_CONTENT=Y.appleKeyContent;if(Y.appleProfileName)F.APPLE_PROFILE_NAME=Y.appleProfileName;if(Y.appStoreConnectTeamId)F.APP_STORE_CONNECT_TEAM_ID=Y.appStoreConnectTeamId;if(Y.androidKeystoreFile)F.ANDROID_KEYSTORE_FILE=Y.androidKeystoreFile;if(Y.keystoreKeyAlias)F.KEYSTORE_KEY_ALIAS=Y.keystoreKeyAlias;let K=!!Y.keystoreKeyPassword,U=!!Y.keystoreStorePassword;if(K&&!U)F.KEYSTORE_KEY_PASSWORD=Y.keystoreKeyPassword,F.KEYSTORE_STORE_PASSWORD=Y.keystoreKeyPassword;else if(!K&&U)F.KEYSTORE_KEY_PASSWORD=Y.keystoreStorePassword,F.KEYSTORE_STORE_PASSWORD=Y.keystoreStorePassword;else if(K&&U)F.KEYSTORE_KEY_PASSWORD=Y.keystoreKeyPassword,F.KEYSTORE_STORE_PASSWORD=Y.keystoreStorePassword;if(Y.playConfigJson)F.PLAY_CONFIG_JSON=Y.playConfigJson;let z=await ES(D,Y.platform,Object.keys(F).length>0?F:void 0),V={app_id:D,platform:Y.platform,build_mode:Y.buildMode};if(!z){if(!X)q.error("❌ No credentials found for this app and platform"),q.error(""),q.error("You must provide credentials via:"),q.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),q.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),q.error(" 3. Saved credentials file:"),q.error(` npx @capgo/cli build credentials save --appId ${D} --platform ${Y.platform}`),q.error(""),q.error("Documentation:"),q.error(" https://capgo.app/docs/cli/cloud-build/credentials/");throw Error("No credentials found. Please provide credentials before building.")}let w=[];if(Y.platform==="ios"){if(!z.BUILD_CERTIFICATE_BASE64)w.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)");if(!z.P12_PASSWORD&&!X)q.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),q.warn(" If your certificate requires a password, provide it with --p12-password");if(!z.BUILD_PROVISION_PROFILE_BASE64)w.push("BUILD_PROVISION_PROFILE_BASE64 (or --build-provision-profile-base64)");if(!z.APPLE_KEY_ID)w.push("APPLE_KEY_ID (or --apple-key-id)");if(!z.APPLE_ISSUER_ID)w.push("APPLE_ISSUER_ID (or --apple-issuer-id)");if(!z.APPLE_KEY_CONTENT)w.push("APPLE_KEY_CONTENT (or --apple-key-content)");if(!z.APP_STORE_CONNECT_TEAM_ID)w.push("APP_STORE_CONNECT_TEAM_ID (or --apple-team-id)")}else if(Y.platform==="android"){if(!z.ANDROID_KEYSTORE_FILE)w.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)");if(!z.KEYSTORE_KEY_ALIAS)w.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)");if(!z.KEYSTORE_KEY_PASSWORD&&!z.KEYSTORE_STORE_PASSWORD)w.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)");if(!z.PLAY_CONFIG_JSON&&!X)q.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(w.length>0){if(!X){q.error(`❌ Missing required credentials for ${Y.platform}:`),q.error("");for(let E of w)q.error(` • ${E}`);q.error(""),q.error("Provide credentials via:"),q.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),q.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),q.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),q.error(""),q.error("Documentation:"),q.error(` https://capgo.app/docs/cli/cloud-build/${Y.platform}/`)}throw Error(`Missing required credentials for ${Y.platform}: ${w.join(", ")}`)}if(V.credentials=z,!X)q.info("✓ Using credentials (merged from CLI args, env vars, and saved file)");if(J){let E=Object.keys(z).filter((j)=>z[j]);q.info(`Credentials provided: ${E.join(", ")}`)}if(!X)q.info("Requesting build from Capgo...");let M=await fetch(`${G}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Y.apikey},body:JSON.stringify(V)});if(!M.ok){let E=await M.text();throw Error(`Failed to request build: ${M.status} - ${E}`)}let O=await M.json();if(!X)q.success(`Build job created: ${O.job_id}`),q.info(`Status: ${O.status}`);if(J)q.info(`Upload URL: ${O.upload_url}`),q.info(`Upload expires: ${O.upload_expires_at}`);await I0(Y.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:H,tags:{"app-id":D,platform:Y.platform},notify:!1}).catch();let Z=c4(G90(),`capgo-build-${Date.now()}`);await Q90(Z,{recursive:!0});let L=c4(Z,`${PS($)}.zip`);try{if(!X)q.info(`Zipping ${Y.platform} project from ${$}...`);await U90($,L,Y.platform);let j=((await W90(L)).size/1024/1024).toFixed(2);if(!X)q.success(`Created zip: ${L} (${j} MB)`);if(!X)q.info("Uploading to builder...");if(J)q.info(`Upload endpoint: ${O.upload_url}`),q.info(`File size: ${j} MB`),q.info(`Job ID: ${O.job_id}`);let I=Y90(L),x=d0();if(!X)x.start("Uploading bundle");if(await new Promise((u,W0)=>{let _=new TJ.Upload(I,{endpoint:O.upload_url,chunkSize:5242880,metadata:{filename:PS(L),filetype:"application/zip"},headers:{authorization:Y.apikey},onBeforeRequest(N){if(J){q.info(`[TUS] ${N.getMethod()} ${N.getURL()}`);let A=N.getHeader("authorization");q.info(`[TUS] Authorization header present: ${!!A}`)}},onAfterResponse(N,A){if(J){q.info(`[TUS] Response status: ${A.getStatus()}`);let R=A.getHeader("upload-offset"),P=A.getHeader("tus-resumable");q.info(`[TUS] Upload-Offset: ${R}, Tus-Resumable: ${P}`)}},onError(N){if(!X)x.stop("Upload failed"),q.error(`Upload error: ${N.message}`);if(N instanceof TJ.DetailedError){let A=N.originalResponse?.getBody(),R=N.originalResponse?.getStatus(),P=N.originalRequest?.getURL();if(J)q.error(`[TUS] Request URL: ${P}`),q.error(`[TUS] Response status: ${R}`),q.error(`[TUS] Response body: ${A}`);let v="Unknown error";try{let k=JSON.parse(A||'{"error": "unknown error"}');v=k.status||k.error||k.message||"unknown error"}catch{v=A||N.message}W0(Error(`TUS upload failed: ${v}`))}else W0(Error(`TUS upload failed: ${N.message||N.toString()}`))},onProgress(N,A){let R=(N/A*100).toFixed(2);if(!X)x.message(`Uploading ${R}%`)},onSuccess(){if(!X)x.stop("Upload complete!");if(J)q.success("TUS upload completed successfully");u()}});if(J)q.info("[TUS] Starting upload...");_.start()}),!X)q.info("Starting build job...");let y=await fetch(`${G}/build/start/${O.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:Y.apikey},body:JSON.stringify({app_id:D})});if(!y.ok){let u=await y.text();throw Error(`Failed to start build: ${y.status} - ${u}`)}let C=await y.json();if(!X)q.success("Build started!"),q.info("Streaming build logs...");let m,S=await q90(G,O.job_id,D,Y.apikey,X,J);if(S)m=S;else m=await K90(G,O.job_id,D,Y.platform,Y.apikey,X);if(!X)if(m==="succeeded")q.success("Build completed successfully!");else if(m==="failed")q.error("Build failed");else q.warn(`Build finished with status: ${m}`);let p=((Date.now()-Q)/1000).toFixed(2);return await I0(Y.apikey,{channel:"native-builder",event:m==="succeeded"?"Build succeeded":"Build failed",icon:m==="succeeded"?"✅":"❌",user_id:H,tags:{"app-id":D,platform:Y.platform,status:m||"unknown",time:p},notify:!1}).catch(),{success:m==="succeeded",jobId:O.job_id,uploadUrl:O.upload_url,status:m||C.status||O.status}}finally{await J90(Z,{recursive:!0,force:!0})}}catch(W){let $=W instanceof Error?W.message:String(W);if(!X)q.error($);return{success:!1,error:$}}}async function xS(D,Y){if(!(await v2(D,Y,!1)).success)F90(1)}async function _S(D,Y,X,Q={}){let{silent:J=!1,autoUnlink:W=!1}=Q,{data:$,error:G}=await D.from("channels").select().eq("app_id",Y).eq("version",X.id);if(G){if(!J)q.error(`Cannot check Version ${Y}@${X.name}: ${c(G)}`);throw Error(`Cannot check version ${Y}@${X.name}: ${c(G)}`)}if(!$?.length)return;if(J)throw Error(`Version ${Y}@${X.name} is used in ${$.length} channel(s)`);F0(`❌ Version ${Y}@${X.name} is used in ${$.length} channel${$.length>1?"s":""}`);let B=W;if(!W)B=await j0({message:"unlink it?"})===!0;if(!B)throw q.error("Unlink it first"),Error(`Version ${Y}@${X.name} is still linked to channel(s)`);for(let H of $){let F=d0();F.start(`Unlinking channel ${H.name}`);let K=await y2(D,Y,{silent:J});if(!K)throw F.stop(`Cannot find unknown version for ${Y}`),Error(`Cannot find unknown version for ${Y}`);let{error:U}=await D.from("channels").update({version:K.id}).eq("id",H.id);if(U)throw F.stop(`Cannot update channel ${H.name} ${c(U)}`),Error(`Cannot update channel ${H.name}: ${c(U)}`);F.stop(`✅ Channel ${H.name} unlinked`)}e(`Version unlinked from ${$.length} channel${$.length>1?"s":""}`)}async function y2(D,Y,X={}){let{silent:Q=!1}=X,{data:J,error:W}=await D.from("app_versions").select("id").eq("app_id",Y).eq("name","unknown").single();if(!W)return J;try{let $=await r1(D,Y),{data:G,error:B}=await D.from("app_versions").insert({owner_org:$,deleted:!0,name:"unknown",app_id:Y}).select("id").single();if(B){if(!Q)q.error(`Cannot find or create unknown version for ${Y}. Find error: ${c(W)}, Create error: ${c(B)}`);throw Error(`Cannot find or create unknown version for app ${Y}: ${c(B)}`)}return G}catch($){if(!Q)q.error(`Cannot find or create unknown version for ${Y}. Find error: ${c(W)}, Create error: ${c($)}`);throw Error(`Cannot retrieve or create unknown version for app ${Y}: ${c($)}`)}}function kS(D,Y){return D.from("channels").insert(Y).select().single()}function bS(D,Y,X,Q){return D.from("channels").delete().eq("name",Y).eq("app_id",X).single()}function vS(D,Y,X){return D.from("channels").select().eq("app_id",Y).eq("name",X).single()}function yS(D,Y,X){return D.from("channel_devices").delete().eq("app_id",Y).eq("channel_id",X)}function fS(D,Y,X){return D.from("channels").select(`
257
257
  id,
258
258
  version (id, name)
259
259
  `).eq("app_id",Y).eq("name",X).single().throwOnError().then(({data:Q})=>Q?.version)}function hS(D,Y=!1){if(Y)return;let X=new G1;X.theme=G1.roundTheme,X.headers=["Name","Version","Public","iOS","Android","Auto Update","Native Auto Update","Device Self Set","Progressive Deploy","Secondary Version","Secondary Version Percentage","AB Testing","AB Testing Version","AB Testing Percentage","Emulator","Device","Dev","Prod"],X.rows=[];for(let Q of D.toReversed())X.rows.push([Q.name,Q.version?.name,Q.public?"✅":"❌",Q.ios?"✅":"❌",Q.android?"✅":"❌",Q.disable_auto_update,Q.disable_auto_update_under_native?"❌":"✅",Q.allow_device_self_set?"✅":"❌",Q.allow_emulator?"✅":"❌",Q.allow_device?"✅":"❌",Q.allow_dev?"✅":"❌",Q.allow_prod?"✅":"❌"]);q.success("Channels"),q.success(X.toString())}async function gS(D,Y,X=!1){let{data:Q,error:J}=await D.from("channels").select(`
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
- "version": "7.68.0",
3
+ "version": "7.68.1",
4
4
  "type": "module",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",
package/dist/src/sdk.js CHANGED
@@ -311,7 +311,7 @@ ${t.default.gray(F9)} ${D}
311
311
  `)}}var jy=require("node:child_process"),V0=require("node:fs"),$J=require("node:os"),W0=L0(require("node:path")),b8=require("node:process"),s6=L0(NX(),1);var Z1=require("fs"),Y4=(D=".",X="unknown")=>{let Y=`${D}/bun.lockb`,Z=`${D}/bun.lock`,J=`${D}/pnpm-lock.yaml`,Q=`${D}/shrinkwrap.yaml`,w=`${D}/yarn.lock`,F=`${D}/package-lock.json`,$=`${D}/npm-shrinkwrap.json`;if(Z1.existsSync(Y)||Z1.existsSync(Z))return"bun";if(Z1.existsSync(J)||Z1.existsSync(Q))return"pnpm";if(Z1.existsSync(w))return"yarn";if(Z1.existsSync(F)||Z1.existsSync($))return"npm";return X},RX=(D=Y4(),X=!1)=>{switch(D){case"bun":return X?"bun install":"install";case"pnpm":return X?"pnpm install":"install";case"yarn":return X?"yarn install":"install";case"npm":return X?"npm install":"install";case"unknown":return X?"unknown unknown":"unknown";default:return X?"npm install":"install"}},hG=(D=".",X="npx")=>{let Y=`${D}/bun.lockb`,Z=`${D}/bun.lock`,J=`${D}/pnpm-lock.yaml`,Q=`${D}/shrinkwrap.yaml`,w=`${D}/yarn.lock`,F=`${D}/package-lock.json`,$=`${D}/npm-shrinkwrap.json`;if(Z1.existsSync(Y)||Z1.existsSync(Z))return"bunx";if(Z1.existsSync(J)||Z1.existsSync(Q))return"pnpm exec";if(Z1.existsSync(w))return"yarn dlx";if(Z1.existsSync(F)||Z1.existsSync($))return"npx";return X};function AX(D,X){if(isNaN(D)||isNaN(X))throw Error("Cannot compare against non-numbers");return D===X?0:D<X?-1:1}function bG(D=[],X=[]){if(D.length&&!X.length)return-1;if(!D.length&&X.length)return 1;return 0}function BQ(D=[],X=[]){let Y=Math.max(D.length,X.length);for(let Z=0;Z<Y;Z++){let J=D[Z],Q=X[Z];if(J===void 0&&Q===void 0)return 0;if(Q===void 0)return 1;if(J===void 0)return-1;if(typeof J==="string"&&typeof Q==="number")return 1;if(typeof J==="number"&&typeof Q==="string")return-1;if(J<Q)return-1;if(J>Q)return 1}return 0}var R5="0|[1-9]\\d*",L_="\\d*[a-zA-Z-][a-zA-Z0-9-]*",U_=`(?<major>${R5})\\.(?<minor>${R5})\\.(?<patch>${R5})`,_G=`(?:${R5}|${L_})`,gG=`(?:-(?<prerelease>${_G}(?:\\.${_G})*))`,vG="[0-9A-Za-z-]+",mG=`(?:\\+(?<buildmetadata>${vG}(?:\\.${vG})*))`,dG=`v?${U_}${gG}?${mG}?`,cG=new RegExp(`^${dG}$`),lG="(?:<|>)?=?",N_="x|X|\\*",$Q=`${R5}|${N_}`,EX=`[v=\\s]*(?<major>${$Q})(?:\\.(?<minor>${$Q})(?:\\.(?<patch>${$Q})${gG}?${mG}?)?)?`,nG=new RegExp(`^(?<operator>~>?|\\^|${lG})\\s*${EX}$`),iG=new RegExp(`^(?<operator>${lG})\\s*(${dG})$|^$`);function qQ(D){return typeof D==="number"&&!Number.isNaN(D)&&(!Number.isFinite(D)||0<=D&&D<=Number.MAX_SAFE_INTEGER)}var GQ=256;var R_=new RegExp(`^${R5}$`);function J1(D){return D.split(".").filter(Boolean).map((X)=>{if(R_.test(X)){let Y=Number(X);if(qQ(Y))return Y}return X})}function Y8(D){return D.split(".").filter(Boolean)}function A6(D,X){let Y=Number(D);if(!qQ(Y))throw TypeError(X);return Y}function d8(D){return Number.isNaN(D.major)&&Number.isNaN(D.minor)&&Number.isNaN(D.patch)&&(D.prerelease===void 0||D.prerelease.length===0)&&(D.build===void 0||D.build.length===0)}function Q1(D,X){if(D===X)return 0;return AX(D.major,X.major)||AX(D.minor,X.minor)||AX(D.patch,X.patch)||bG(D.prerelease,X.prerelease)||BQ(D.prerelease,X.prerelease)}function OQ(D){return D.toFixed(0)}function Z8(D){let X=OQ(D.major),Y=OQ(D.minor),Z=OQ(D.patch),J=D.prerelease?.join(".")??"",Q=D.build?.join(".")??"";return[[`${X}.${Y}.${Z}`,J].filter(($)=>$).join("-"),Q].filter(($)=>$).join("+")}function A_(D,X){if(d8(X))return!0;let Y=Q1(D,X);switch(X.operator){case"=":case void 0:return Y===0;case"!=":return Y!==0;case">":return Y>0;case"<":return Y<0;case">=":return Y>=0;case"<=":return Y<=0}}function CX(D,X){for(let Y of X)if(!A_(D,Y))return!1;if(D.prerelease&&D.prerelease.length>0){for(let Y of X){if(d8(Y))continue;let{major:Z,minor:J,patch:Q,prerelease:w}=Y;if(w&&w.length>0){if(D.major===Z&&D.minor===J&&D.patch===Q)return!0}}return!1}return!0}function Z4(D,X){return X.some((Y)=>CX(D,Y))}function E_(D=[]){let X=[...D],Y=X.length;while(Y>=0){let Z=X[Y];if(typeof Z==="number"){X[Y]=Z+1;break}Y-=1}if(Y===-1)X.push(0);return X}function J4(D=[],X){let Y=E_(D);if(!X)return Y;let Z=J1(X);if(Z.every((J)=>typeof J==="string")){if(Z.every((J,Q)=>J===Y[Q])&&typeof Y[Z.length]==="number")return Y;Z=[...Z,0]}return Z}function Q4(D,X,Y={}){let Z=Y.build!==void 0?Y8(Y.build):D.build??[];switch(X){case"premajor":return{major:D.major+1,minor:0,patch:0,prerelease:J4(D.prerelease,Y.prerelease),build:Z};case"preminor":return{major:D.major,minor:D.minor+1,patch:0,prerelease:J4(D.prerelease,Y.prerelease),build:Z};case"prepatch":return{major:D.major,minor:D.minor,patch:D.patch+1,prerelease:J4(D.prerelease,Y.prerelease),build:Z};case"prerelease":{let Q=(D.prerelease??[]).length===0?D.patch+1:D.patch;return{major:D.major,minor:D.minor,patch:Q,prerelease:J4(D.prerelease,Y.prerelease),build:Z}}case"major":return{major:(D.prerelease??[]).length===0||D.minor!==0||D.patch!==0?D.major+1:D.major,minor:0,patch:0,prerelease:[],build:Z};case"minor":{let Q=(D.prerelease??[]).length===0||D.patch!==0?D.minor+1:D.minor;return{major:D.major,minor:Q,patch:0,prerelease:[],build:Z}}case"patch":{let Q=(D.prerelease??[]).length===0?D.patch+1:D.patch;return{major:D.major,minor:D.minor,patch:Q,prerelease:[],build:Z}}case"pre":return{major:D.major,minor:D.minor,patch:D.patch,prerelease:J4(D.prerelease,Y.prerelease),build:Z};default:throw TypeError(`Cannot increment version: invalid argument ${X}`)}}var jX={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},A5={operator:void 0,...jX};function WQ(D,X){return Q1(D,X)>0}function $9(D,X){return Q1(D,X)<0}function C_(D){let Y=D.match(iG)?.groups;if(!Y)return null;let{operator:Z,prerelease:J,buildmetadata:Q}=Y,w=Y.major?{major:A6(Y.major,`Cannot parse comparator ${D}: invalid major version`),minor:A6(Y.minor,`Cannot parse comparator ${D}: invalid minor version`),patch:A6(Y.patch,`Cannot parse comparator ${D}: invalid patch version`),prerelease:J?J1(J):[],build:Q?Y8(Q):[]}:jX;return{operator:Z||void 0,...w}}function a0(D){return!D||D.toLowerCase()==="x"||D==="*"}function j_(D){if(a0(D.major))return;if(a0(D.minor))return{operator:">=",major:+D.major,minor:0,patch:0,prerelease:[],build:[]};if(a0(D.patch))return{operator:">=",major:+D.major,minor:+D.minor,patch:0,prerelease:[],build:[]};return{operator:">=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:D.prerelease?J1(D.prerelease):[],build:[]}}function I_(D){if(a0(D.major))return;if(a0(D.minor))return{operator:"<",major:+D.major+1,minor:0,patch:0,prerelease:[],build:[]};if(a0(D.patch))return{operator:"<",major:+D.major,minor:+D.minor+1,patch:0,prerelease:[],build:[]};if(D.prerelease)return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:J1(D.prerelease),build:[]};return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:[],build:[]}}function T_(D){let X=D.match(new RegExp(`^${EX}`)),Y=X?.groups;if(!Y)return null;let Z=X[0].length,J=D.slice(Z).match(/^\s+-\s+/);if(!J)return null;let Q=J[0].length,F=D.slice(Z+Q).match(new RegExp(`^${EX}\\s*$`))?.groups;if(!F)return null;let $=j_(Y),B=I_(F);return[$,B].filter(Boolean)}function P_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[A5];if(Y)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Z){if(J===0)return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J,minor:Q+1,patch:0}];return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J+1,minor:0,patch:0}]}let F=J1(D.prerelease??"");if(J===0){if(Q===0)return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q,patch:w+1}];return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q+1,patch:0}]}return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J+1,minor:0,patch:0}]}function S_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[A5];if(Y)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Z)return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J,minor:Q+1,patch:0}];let F=J1(D.prerelease??"");return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q+1,patch:0}]}function x_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[{operator:"<",major:0,minor:0,patch:0}];if(Y){if(Z)return[{operator:"<",major:J,minor:0,patch:0}];return[{operator:"<",major:J,minor:0,patch:0}]}if(Z)return[{operator:"<",major:J,minor:Q,patch:0}];let F=J1(D.prerelease??""),$=Y8(D.build??"");return[{operator:"<",major:J,minor:Q,patch:w,prerelease:F,build:$}]}function f_(D){let X=a0(D.minor),Y=a0(D.patch),Z=+D.major,J=+D.minor,Q=+D.patch;if(X){if(Y)return[{operator:"<",major:Z+1,minor:0,patch:0}];return[{operator:"<",major:Z,minor:J+1,patch:0}]}if(Y)return[{operator:"<",major:Z,minor:J+1,patch:0}];let w=J1(D.prerelease??""),F=Y8(D.build??"");return[{operator:"<=",major:Z,minor:J,patch:Q,prerelease:w,build:F}]}function y_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[{operator:"<",major:0,minor:0,patch:0}];if(Y)return[{operator:">=",major:J+1,minor:0,patch:0}];if(Z)return[{operator:">=",major:J,minor:Q+1,patch:0}];let F=J1(D.prerelease??""),$=Y8(D.build??"");return[{operator:">",major:J,minor:Q,patch:w,prerelease:F,build:$}]}function k_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[A5];if(Y){if(Z)return[{operator:">=",major:J,minor:0,patch:0}];return[{operator:">=",major:J,minor:0,patch:0}]}if(Z)return[{operator:">=",major:J,minor:Q,patch:0}];let F=J1(D.prerelease??""),$=Y8(D.build??"");return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F,build:$}]}function u_(D){let X=a0(D.major),Y=a0(D.minor),Z=a0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[A5];if(Y)return[{operator:">=",major:J,minor:0,patch:0},{operator:"<",major:J+1,minor:0,patch:0}];if(Z)return[{operator:">=",major:J,minor:Q,patch:0},{operator:"<",major:J,minor:Q+1,patch:0}];let F=J1(D.prerelease??""),$=Y8(D.build??"");return[{operator:void 0,major:J,minor:Q,patch:w,prerelease:F,build:$}]}function h_(D){let X=D.match(nG)?.groups;if(!X)return C_(D);switch(X.operator){case"^":return P_(X);case"~":case"~>":return S_(X);case"<":return x_(X);case"<=":return f_(X);case">":return y_(X);case">=":return k_(X);case"=":case"":return u_(X);default:throw Error(`Cannot parse version range: '${X.operator}' is not a valid operator`)}}function __(D){return D.split(/\s+/).flatMap(h_)}function IX(D){let X=D.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map((Y)=>T_(Y)||__(Y));if(X.some((Y)=>Y.includes(null)))throw TypeError(`Cannot parse version range: range "${D}" is invalid`);return X}function GD(D){if(typeof D!=="string")throw TypeError(`Cannot parse version as version must be a string: received ${typeof D}`);if(D.length>GQ)throw TypeError(`Cannot parse version as version length is too long: length is ${D.length}, max length is ${GQ}`);D=D.trim();let X=D.match(cG)?.groups;if(!X)throw TypeError(`Cannot parse version: ${D}`);let Y=A6(X.major,`Cannot parse version ${D}: invalid major version`),Z=A6(X.minor,`Cannot parse version ${D}: invalid minor version`),J=A6(X.patch,`Cannot parse version ${D}: invalid patch version`),Q=X.prerelease?J1(X.prerelease):[],w=X.buildmetadata?Y8(X.buildmetadata):[];return{major:Y,minor:Z,patch:J,prerelease:Q,build:w}}function pG(D,X){let Y=D.operator,Z=X.operator;if(Y===void 0){if(d8(D))return!0;return Z4(D,[[X]])}if(Z===void 0){if(d8(X))return!0;return Z4(X,[[D]])}let J=Q1(D,X);return(Y===">="||Y===">")&&(Z===">="||Z===">")||(Y==="<="||Y==="<")&&(Z==="<="||Z==="<")||J===0&&((Y===">="||Y==="<=")&&(Z===">="||Z==="<="))||J===-1&&(Y===">="||Y===">")&&(Z==="<="||Z==="<")||J===1&&(Y==="<="||Y==="<")&&(Z===">="||Z===">")}function v_(D){return D.every((X)=>{return X.some((Y)=>b_(Y))})}function b_(D){for(let X=0;X<D.length-1;X++){let Y=D[X];for(let Z of D.slice(X+1))if(!pG(Y,Z))return!1}return!0}function aG(D,X){return v_([D,X])&&D.some((Y)=>{return X.some((Z)=>{return Y.every((J)=>{return Z.every((Q)=>pG(J,Q))})})})}function tG(D){try{return GD(D),!0}catch{return!1}}function rG(D,X){return Q1(D,X)>=0}var Z0={};s7(Z0,{createClient:()=>$w,SupabaseClient:()=>FK,PostgrestError:()=>$4,FunctionsRelayError:()=>oD.FunctionsRelayError,FunctionsHttpError:()=>oD.FunctionsHttpError,FunctionsFetchError:()=>oD.FunctionsFetchError,FunctionsError:()=>oD.FunctionsError,FunctionRegion:()=>oD.FunctionRegion});var oD=L0(fO(),1);var kO={};s7(kO,{default:()=>l_,PostgrestTransformBuilder:()=>MQ,PostgrestQueryBuilder:()=>VQ,PostgrestFilterBuilder:()=>E6,PostgrestError:()=>$4,PostgrestClient:()=>yX,PostgrestBuilder:()=>zQ});var $4=class extends Error{constructor(D){super(D.message);this.name="PostgrestError",this.details=D.details,this.hint=D.hint,this.code=D.code}},zQ=class{constructor(D){var X,Y;if(this.shouldThrowOnError=!1,this.method=D.method,this.url=D.url,this.headers=new Headers(D.headers),this.schema=D.schema,this.body=D.body,this.shouldThrowOnError=(X=D.shouldThrowOnError)!==null&&X!==void 0?X:!1,this.signal=D.signal,this.isMaybeSingle=(Y=D.isMaybeSingle)!==null&&Y!==void 0?Y:!1,D.fetch)this.fetch=D.fetch;else this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(D,X){return this.headers=new Headers(this.headers),this.headers.set(D,X),this}then(D,X){var Y=this;if(this.schema===void 0);else if(["GET","HEAD"].includes(this.method))this.headers.set("Accept-Profile",this.schema);else this.headers.set("Content-Profile",this.schema);if(this.method!=="GET"&&this.method!=="HEAD")this.headers.set("Content-Type","application/json");let Z=this.fetch,J=Z(this.url.toString(),{method:this.method,headers:this.headers,body:JSON.stringify(this.body),signal:this.signal}).then(async(Q)=>{let w=null,F=null,$=null,B=Q.status,q=Q.statusText;if(Q.ok){var G,W;if(Y.method!=="HEAD"){var O;let N=await Q.text();if(N==="");else if(Y.headers.get("Accept")==="text/csv")F=N;else if(Y.headers.get("Accept")&&((O=Y.headers.get("Accept"))===null||O===void 0?void 0:O.includes("application/vnd.pgrst.plan+text")))F=N;else F=JSON.parse(N)}let M=(G=Y.headers.get("Prefer"))===null||G===void 0?void 0:G.match(/count=(exact|planned|estimated)/),U=(W=Q.headers.get("content-range"))===null||W===void 0?void 0:W.split("/");if(M&&U&&U.length>1)$=parseInt(U[1]);if(Y.isMaybeSingle&&Y.method==="GET"&&Array.isArray(F))if(F.length>1)w={code:"PGRST116",details:`Results contain ${F.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},F=null,$=null,B=406,q="Not Acceptable";else if(F.length===1)F=F[0];else F=null}else{var K;let M=await Q.text();try{if(w=JSON.parse(M),Array.isArray(w)&&Q.status===404)F=[],w=null,B=200,q="OK"}catch(U){if(Q.status===404&&M==="")B=204,q="No Content";else w={message:M}}if(w&&Y.isMaybeSingle&&(w===null||w===void 0||(K=w.details)===null||K===void 0?void 0:K.includes("0 rows")))w=null,B=200,q="OK";if(w&&Y.shouldThrowOnError)throw new $4(w)}return{error:w,data:F,count:$,status:B,statusText:q}});if(!this.shouldThrowOnError)J=J.catch((Q)=>{var w;let F="",$=Q===null||Q===void 0?void 0:Q.cause;if($){var B,q,G,W;let K=(B=$===null||$===void 0?void 0:$.message)!==null&&B!==void 0?B:"",M=(q=$===null||$===void 0?void 0:$.code)!==null&&q!==void 0?q:"";if(F=`${(G=Q===null||Q===void 0?void 0:Q.name)!==null&&G!==void 0?G:"FetchError"}: ${Q===null||Q===void 0?void 0:Q.message}`,F+=`
312
312
 
313
313
  Caused by: ${(W=$===null||$===void 0?void 0:$.name)!==null&&W!==void 0?W:"Error"}: ${K}`,M)F+=` (${M})`;if($===null||$===void 0?void 0:$.stack)F+=`
314
- ${$.stack}`}else{var O;F=(O=Q===null||Q===void 0?void 0:Q.stack)!==null&&O!==void 0?O:""}return{error:{message:`${(w=Q===null||Q===void 0?void 0:Q.name)!==null&&w!==void 0?w:"FetchError"}: ${Q===null||Q===void 0?void 0:Q.message}`,details:F,hint:"",code:""},data:null,count:null,status:0,statusText:""}});return J.then(D,X)}returns(){return this}overrideTypes(){return this}},MQ=class extends zQ{select(D){let X=!1,Y=(D!==null&&D!==void 0?D:"*").split("").map((Z)=>{if(/\s/.test(Z)&&!X)return"";if(Z==='"')X=!X;return Z}).join("");return this.url.searchParams.set("select",Y),this.headers.append("Prefer","return=representation"),this}order(D,{ascending:X=!0,nullsFirst:Y,foreignTable:Z,referencedTable:J=Z}={}){let Q=J?`${J}.order`:"order",w=this.url.searchParams.get(Q);return this.url.searchParams.set(Q,`${w?`${w},`:""}${D}.${X?"asc":"desc"}${Y===void 0?"":Y?".nullsfirst":".nullslast"}`),this}limit(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=typeof Y>"u"?"limit":`${Y}.limit`;return this.url.searchParams.set(Z,`${D}`),this}range(D,X,{foreignTable:Y,referencedTable:Z=Y}={}){let J=typeof Z>"u"?"offset":`${Z}.offset`,Q=typeof Z>"u"?"limit":`${Z}.limit`;return this.url.searchParams.set(J,`${D}`),this.url.searchParams.set(Q,`${X-D+1}`),this}abortSignal(D){return this.signal=D,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){if(this.method==="GET")this.headers.set("Accept","application/json");else this.headers.set("Accept","application/vnd.pgrst.object+json");return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:D=!1,verbose:X=!1,settings:Y=!1,buffers:Z=!1,wal:J=!1,format:Q="text"}={}){var w;let F=[D?"analyze":null,X?"verbose":null,Y?"settings":null,Z?"buffers":null,J?"wal":null].filter(Boolean).join("|"),$=(w=this.headers.get("Accept"))!==null&&w!==void 0?w:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${Q}; for="${$}"; options=${F};`),Q==="json")return this;else return this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(D){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${D}`),this}},yO=new RegExp("[,()]"),E6=class extends MQ{eq(D,X){return this.url.searchParams.append(D,`eq.${X}`),this}neq(D,X){return this.url.searchParams.append(D,`neq.${X}`),this}gt(D,X){return this.url.searchParams.append(D,`gt.${X}`),this}gte(D,X){return this.url.searchParams.append(D,`gte.${X}`),this}lt(D,X){return this.url.searchParams.append(D,`lt.${X}`),this}lte(D,X){return this.url.searchParams.append(D,`lte.${X}`),this}like(D,X){return this.url.searchParams.append(D,`like.${X}`),this}likeAllOf(D,X){return this.url.searchParams.append(D,`like(all).{${X.join(",")}}`),this}likeAnyOf(D,X){return this.url.searchParams.append(D,`like(any).{${X.join(",")}}`),this}ilike(D,X){return this.url.searchParams.append(D,`ilike.${X}`),this}ilikeAllOf(D,X){return this.url.searchParams.append(D,`ilike(all).{${X.join(",")}}`),this}ilikeAnyOf(D,X){return this.url.searchParams.append(D,`ilike(any).{${X.join(",")}}`),this}regexMatch(D,X){return this.url.searchParams.append(D,`match.${X}`),this}regexIMatch(D,X){return this.url.searchParams.append(D,`imatch.${X}`),this}is(D,X){return this.url.searchParams.append(D,`is.${X}`),this}isDistinct(D,X){return this.url.searchParams.append(D,`isdistinct.${X}`),this}in(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&yO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`in.(${Y})`),this}notIn(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&yO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`not.in.(${Y})`),this}contains(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cs.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cs.{${X.join(",")}}`);else this.url.searchParams.append(D,`cs.${JSON.stringify(X)}`);return this}containedBy(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cd.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cd.{${X.join(",")}}`);else this.url.searchParams.append(D,`cd.${JSON.stringify(X)}`);return this}rangeGt(D,X){return this.url.searchParams.append(D,`sr.${X}`),this}rangeGte(D,X){return this.url.searchParams.append(D,`nxl.${X}`),this}rangeLt(D,X){return this.url.searchParams.append(D,`sl.${X}`),this}rangeLte(D,X){return this.url.searchParams.append(D,`nxr.${X}`),this}rangeAdjacent(D,X){return this.url.searchParams.append(D,`adj.${X}`),this}overlaps(D,X){if(typeof X==="string")this.url.searchParams.append(D,`ov.${X}`);else this.url.searchParams.append(D,`ov.{${X.join(",")}}`);return this}textSearch(D,X,{config:Y,type:Z}={}){let J="";if(Z==="plain")J="pl";else if(Z==="phrase")J="ph";else if(Z==="websearch")J="w";let Q=Y===void 0?"":`(${Y})`;return this.url.searchParams.append(D,`${J}fts${Q}.${X}`),this}match(D){return Object.entries(D).forEach(([X,Y])=>{this.url.searchParams.append(X,`eq.${Y}`)}),this}not(D,X,Y){return this.url.searchParams.append(D,`not.${X}.${Y}`),this}or(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=Y?`${Y}.or`:"or";return this.url.searchParams.append(Z,`(${D})`),this}filter(D,X,Y){return this.url.searchParams.append(D,`${X}.${Y}`),this}},VQ=class{constructor(D,{headers:X={},schema:Y,fetch:Z}){this.url=D,this.headers=new Headers(X),this.schema=Y,this.fetch=Z}select(D,X){let{head:Y=!1,count:Z}=X!==null&&X!==void 0?X:{},J=Y?"HEAD":"GET",Q=!1,w=(D!==null&&D!==void 0?D:"*").split("").map((F)=>{if(/\s/.test(F)&&!Q)return"";if(F==='"')Q=!Q;return F}).join("");if(this.url.searchParams.set("select",w),Z)this.headers.append("Prefer",`count=${Z}`);return new E6({method:J,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(D,{count:X,defaultToNull:Y=!0}={}){var Z;let J="POST";if(X)this.headers.append("Prefer",`count=${X}`);if(!Y)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let Q=D.reduce((w,F)=>w.concat(Object.keys(F)),[]);if(Q.length>0){let w=[...new Set(Q)].map((F)=>`"${F}"`);this.url.searchParams.set("columns",w.join(","))}}return new E6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Z=this.fetch)!==null&&Z!==void 0?Z:fetch})}upsert(D,{onConflict:X,ignoreDuplicates:Y=!1,count:Z,defaultToNull:J=!0}={}){var Q;let w="POST";if(this.headers.append("Prefer",`resolution=${Y?"ignore":"merge"}-duplicates`),X!==void 0)this.url.searchParams.set("on_conflict",X);if(Z)this.headers.append("Prefer",`count=${Z}`);if(!J)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let F=D.reduce(($,B)=>$.concat(Object.keys(B)),[]);if(F.length>0){let $=[...new Set(F)].map((B)=>`"${B}"`);this.url.searchParams.set("columns",$.join(","))}}return new E6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Q=this.fetch)!==null&&Q!==void 0?Q:fetch})}update(D,{count:X}={}){var Y;let Z="PATCH";if(X)this.headers.append("Prefer",`count=${X}`);return new E6({method:"PATCH",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Y=this.fetch)!==null&&Y!==void 0?Y:fetch})}delete({count:D}={}){var X;let Y="DELETE";if(D)this.headers.append("Prefer",`count=${D}`);return new E6({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:(X=this.fetch)!==null&&X!==void 0?X:fetch})}},yX=class D{constructor(X,{headers:Y={},schema:Z,fetch:J}={}){this.url=X,this.headers=new Headers(Y),this.schemaName=Z,this.fetch=J}from(X){if(!X||typeof X!=="string"||X.trim()==="")throw Error("Invalid relation name: relation must be a non-empty string.");return new VQ(new URL(`${this.url}/${X}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(X){return new D(this.url,{headers:this.headers,schema:X,fetch:this.fetch})}rpc(X,Y={},{head:Z=!1,get:J=!1,count:Q}={}){var w;let F,$=new URL(`${this.url}/rpc/${X}`),B;if(Z||J)F=Z?"HEAD":"GET",Object.entries(Y).filter(([G,W])=>W!==void 0).map(([G,W])=>[G,Array.isArray(W)?`{${W.join(",")}}`:`${W}`]).forEach(([G,W])=>{$.searchParams.append(G,W)});else F="POST",B=Y;let q=new Headers(this.headers);if(Q)q.set("Prefer",`count=${Q}`);return new E6({method:F,url:$,headers:q,schema:this.schemaName,body:B,fetch:(w=this.fetch)!==null&&w!==void 0?w:fetch})}},l_={PostgrestClient:yX,PostgrestQueryBuilder:VQ,PostgrestFilterBuilder:E6,PostgrestTransformBuilder:MQ,PostgrestBuilder:zQ,PostgrestError:$4};var QK=L0(xQ(),1);var zW={};s7(zW,{validateVectorDimension:()=>hv,resolveResponse:()=>kv,resolveFetch:()=>lX,normalizeToFloat32:()=>uv,isStorageVectorsError:()=>A1,isStorageError:()=>wD,isPlainObject:()=>BW,VectorIndexScope:()=>HW,VectorIndexApi:()=>qW,VectorDataApi:()=>GW,VectorBucketScope:()=>KW,VectorBucketApi:()=>OW,StorageVectorsUnknownError:()=>$W,StorageVectorsErrorCode:()=>yv,StorageVectorsError:()=>vQ,StorageVectorsClient:()=>WW,StorageVectorsApiError:()=>dX,StorageUnknownError:()=>cX,StorageError:()=>M4,StorageClient:()=>bQ,StorageApiError:()=>ZW,StorageAnalyticsClient:()=>FW});var K4=class extends Error{constructor(D,X){super(D);this.name="IcebergError",this.status=X.status,this.icebergType=X.icebergType,this.icebergCode=X.icebergCode,this.details=X.details,this.isCommitStateUnknown=X.icebergType==="CommitStateUnknownException"||[500,502,504].includes(X.status)&&X.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Kv(D,X,Y){let Z=new URL(X,D);if(Y){for(let[J,Q]of Object.entries(Y))if(Q!==void 0)Z.searchParams.set(J,Q)}return Z.toString()}async function Hv(D){if(!D||D.type==="none")return{};if(D.type==="bearer")return{Authorization:`Bearer ${D.token}`};if(D.type==="header")return{[D.name]:D.value};if(D.type==="custom")return await D.getHeaders();return{}}function zv(D){let X=D.fetchImpl??globalThis.fetch;return{async request({method:Y,path:Z,query:J,body:Q,headers:w}){let F=Kv(D.baseUrl,Z,J),$=await Hv(D.auth),B=await X(F,{method:Y,headers:{...Q?{"Content-Type":"application/json"}:{},...$,...w},body:Q?JSON.stringify(Q):void 0}),q=await B.text(),G=(B.headers.get("content-type")||"").includes("application/json"),W=G&&q?JSON.parse(q):q;if(!B.ok){let O=G?W:void 0,K=O?.error;throw new K4(K?.message??`Request failed with status ${B.status}`,{status:B.status,icebergType:K?.type,icebergCode:K?.code,details:O})}return{status:B.status,headers:B.headers,data:W}}}}function mX(D){return D.join("\x1F")}var Mv=class{constructor(D,X=""){this.client=D,this.prefix=X}async listNamespaces(D){let X=D?{parent:mX(D.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:X})).data.namespaces.map((Z)=>({namespace:Z}))}async createNamespace(D,X){let Y={namespace:D.namespace,properties:X?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:Y})).data}async dropNamespace(D){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${mX(D.namespace)}`})}async loadNamespaceMetadata(D){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${mX(D.namespace)}`})).data.properties}}async namespaceExists(D){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${mX(D.namespace)}`}),!0}catch(X){if(X instanceof K4&&X.status===404)return!1;throw X}}async createNamespaceIfNotExists(D,X){try{return await this.createNamespace(D,X)}catch(Y){if(Y instanceof K4&&Y.status===409)return;throw Y}}};function I5(D){return D.join("\x1F")}var Vv=class{constructor(D,X="",Y){this.client=D,this.prefix=X,this.accessDelegation=Y}async listTables(D){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`})).data.identifiers}async createTable(D,X){let Y={};if(this.accessDelegation)Y["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`,body:X,headers:Y})).data.metadata}async updateTable(D,X){let Y=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,body:X});return{"metadata-location":Y.data["metadata-location"],metadata:Y.data.metadata}}async dropTable(D,X){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,query:{purgeRequested:String(X?.purge??!1)}})}async loadTable(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X})).data.metadata}async tableExists(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X}),!0}catch(Y){if(Y instanceof K4&&Y.status===404)return!1;throw Y}}async createTableIfNotExists(D,X){try{return await this.createTable(D,X)}catch(Y){if(Y instanceof K4&&Y.status===409)return await this.loadTable({namespace:D.namespace,name:X.name});throw Y}}},eO=class{constructor(D){let X="v1";if(D.catalogName)X+=`/${D.catalogName}`;let Y=D.baseUrl.endsWith("/")?D.baseUrl:`${D.baseUrl}/`;this.client=zv({baseUrl:Y,auth:D.auth,fetchImpl:D.fetch}),this.accessDelegation=D.accessDelegation?.join(","),this.namespaceOps=new Mv(this.client,X),this.tableOps=new Vv(this.client,X,this.accessDelegation)}async listNamespaces(D){return this.namespaceOps.listNamespaces(D)}async createNamespace(D,X){return this.namespaceOps.createNamespace(D,X)}async dropNamespace(D){await this.namespaceOps.dropNamespace(D)}async loadNamespaceMetadata(D){return this.namespaceOps.loadNamespaceMetadata(D)}async listTables(D){return this.tableOps.listTables(D)}async createTable(D,X){return this.tableOps.createTable(D,X)}async updateTable(D,X){return this.tableOps.updateTable(D,X)}async dropTable(D,X){await this.tableOps.dropTable(D,X)}async loadTable(D){return this.tableOps.loadTable(D)}async namespaceExists(D){return this.namespaceOps.namespaceExists(D)}async tableExists(D){return this.tableOps.tableExists(D)}async createNamespaceIfNotExists(D,X){return this.namespaceOps.createNamespaceIfNotExists(D,X)}async createTableIfNotExists(D,X){return this.tableOps.createTableIfNotExists(D,X)}};var M4=class extends Error{constructor(D){super(D);this.__isStorageError=!0,this.name="StorageError"}};function wD(D){return typeof D==="object"&&D!==null&&"__isStorageError"in D}var ZW=class extends M4{constructor(D,X,Y){super(D);this.name="StorageApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},cX=class extends M4{constructor(D,X){super(D);this.name="StorageUnknownError",this.originalError=X}},uQ=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Lv=()=>{return Response},yQ=(D)=>{if(Array.isArray(D))return D.map((Y)=>yQ(Y));else if(typeof D==="function"||D!==Object(D))return D;let X={};return Object.entries(D).forEach(([Y,Z])=>{let J=Y.replace(/([-_][a-z])/gi,(Q)=>Q.toUpperCase().replace(/[-_]/g,""));X[J]=yQ(Z)}),X},Uv=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},Nv=(D)=>{if(!D||typeof D!=="string")return!1;if(D.length===0||D.length>100)return!1;if(D.trim()!==D)return!1;if(D.includes("/")||D.includes("\\"))return!1;return/^[\w!.\*'() &$@=;:+,?-]+$/.test(D)};function H4(D){return H4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},H4(D)}function Rv(D,X){if(H4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(H4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Av(D){var X=Rv(D,"string");return H4(X)=="symbol"?X:X+""}function Ev(D,X,Y){return(X=Av(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function DW(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function G0(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?DW(Object(Y),!0).forEach(function(Z){Ev(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):DW(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var fQ=(D)=>{var X;return D.msg||D.message||D.error_description||(typeof D.error==="string"?D.error:(X=D.error)===null||X===void 0?void 0:X.message)||JSON.stringify(D)},Cv=async(D,X,Y)=>{if(D instanceof await Lv()&&!(Y===null||Y===void 0?void 0:Y.noResolveJson))D.json().then((Z)=>{let J=D.status||500,Q=(Z===null||Z===void 0?void 0:Z.statusCode)||J+"";X(new ZW(fQ(Z),J,Q))}).catch((Z)=>{X(new cX(fQ(Z),Z))});else X(new cX(fQ(D),D))},jv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(Uv(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;if(X===null||X===void 0?void 0:X.duplex)J.duplex=X.duplex;return G0(G0({},J),Y)};async function V4(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,jv(X,Z,J,Q)).then(($)=>{if(!$.ok)throw $;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return $;return $.json()}).then(($)=>w($)).catch(($)=>Cv($,F,Z))})}async function z4(D,X,Y,Z){return V4(D,"GET",X,Y,Z)}async function Q8(D,X,Y,Z,J){return V4(D,"POST",X,Z,J,Y)}async function kQ(D,X,Y,Z,J){return V4(D,"PUT",X,Z,J,Y)}async function Iv(D,X,Y,Z){return V4(D,"HEAD",X,G0(G0({},Y),{},{noResolveJson:!0}),Z)}async function hQ(D,X,Y,Z,J){return V4(D,"DELETE",X,Z,J,Y)}var Tv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X}then(D,X){return this.execute().then(D,X)}async execute(){var D=this;try{return{data:(await D.downloadFn()).body,error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(wD(X))return{data:null,error:X};throw X}}},JW;JW=Symbol.toStringTag;var Pv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X,this[JW]="BlobDownloadBuilder",this.promise=null}asStream(){return new Tv(this.downloadFn,this.shouldThrowOnError)}then(D,X){return this.getPromise().then(D,X)}catch(D){return this.getPromise().catch(D)}finally(D){return this.getPromise().finally(D)}getPromise(){if(!this.promise)this.promise=this.execute();return this.promise}async execute(){var D=this;try{return{data:await(await D.downloadFn()).blob(),error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(wD(X))return{data:null,error:X};throw X}}},Sv={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},XW={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},xv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1,this.url=D,this.headers=X,this.bucketId=Y,this.fetch=uQ(Z)}throwOnError(){return this.shouldThrowOnError=!0,this}async uploadOrUpdate(D,X,Y,Z){var J=this;try{let Q,w=G0(G0({},XW),Z),F=G0(G0({},J.headers),D==="POST"&&{"x-upsert":String(w.upsert)}),$=w.metadata;if(typeof Blob<"u"&&Y instanceof Blob){if(Q=new FormData,Q.append("cacheControl",w.cacheControl),$)Q.append("metadata",J.encodeMetadata($));Q.append("",Y)}else if(typeof FormData<"u"&&Y instanceof FormData){if(Q=Y,!Q.has("cacheControl"))Q.append("cacheControl",w.cacheControl);if($&&!Q.has("metadata"))Q.append("metadata",J.encodeMetadata($))}else{if(Q=Y,F["cache-control"]=`max-age=${w.cacheControl}`,F["content-type"]=w.contentType,$)F["x-metadata"]=J.toBase64(J.encodeMetadata($));if((typeof ReadableStream<"u"&&Q instanceof ReadableStream||Q&&typeof Q==="object"&&("pipe"in Q)&&typeof Q.pipe==="function")&&!w.duplex)w.duplex="half"}if(Z===null||Z===void 0?void 0:Z.headers)F=G0(G0({},F),Z.headers);let B=J._removeEmptyFolders(X),q=J._getFinalPath(B),G=await(D=="PUT"?kQ:Q8)(J.fetch,`${J.url}/object/${q}`,Q,G0({headers:F},(w===null||w===void 0?void 0:w.duplex)?{duplex:w.duplex}:{}));return{data:{path:B,id:G.Id,fullPath:G.Key},error:null}}catch(Q){if(J.shouldThrowOnError)throw Q;if(wD(Q))return{data:null,error:Q};throw Q}}async upload(D,X,Y){return this.uploadOrUpdate("POST",D,X,Y)}async uploadToSignedUrl(D,X,Y,Z){var J=this;let Q=J._removeEmptyFolders(D),w=J._getFinalPath(Q),F=new URL(J.url+`/object/upload/sign/${w}`);F.searchParams.set("token",X);try{let $,B=G0({upsert:XW.upsert},Z),q=G0(G0({},J.headers),{"x-upsert":String(B.upsert)});if(typeof Blob<"u"&&Y instanceof Blob)$=new FormData,$.append("cacheControl",B.cacheControl),$.append("",Y);else if(typeof FormData<"u"&&Y instanceof FormData)$=Y,$.append("cacheControl",B.cacheControl);else $=Y,q["cache-control"]=`max-age=${B.cacheControl}`,q["content-type"]=B.contentType;return{data:{path:Q,fullPath:(await kQ(J.fetch,F.toString(),$,{headers:q})).Key},error:null}}catch($){if(J.shouldThrowOnError)throw $;if(wD($))return{data:null,error:$};throw $}}async createSignedUploadUrl(D,X){var Y=this;try{let Z=Y._getFinalPath(D),J=G0({},Y.headers);if(X===null||X===void 0?void 0:X.upsert)J["x-upsert"]="true";let Q=await Q8(Y.fetch,`${Y.url}/object/upload/sign/${Z}`,{},{headers:J}),w=new URL(Y.url+Q.url),F=w.searchParams.get("token");if(!F)throw new M4("No token returned by API");return{data:{signedUrl:w.toString(),path:D,token:F},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async update(D,X,Y){return this.uploadOrUpdate("PUT",D,X,Y)}async move(D,X,Y){var Z=this;try{return{data:await Q8(Z.fetch,`${Z.url}/object/move`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers}),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async copy(D,X,Y){var Z=this;try{return{data:{path:(await Q8(Z.fetch,`${Z.url}/object/copy`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers})).Key},error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async createSignedUrl(D,X,Y){var Z=this;try{let J=Z._getFinalPath(D),Q=await Q8(Z.fetch,`${Z.url}/object/sign/${J}`,G0({expiresIn:X},(Y===null||Y===void 0?void 0:Y.transform)?{transform:Y.transform}:{}),{headers:Z.headers}),w=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return Q={signedUrl:encodeURI(`${Z.url}${Q.signedURL}${w}`)},{data:Q,error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async createSignedUrls(D,X,Y){var Z=this;try{let J=await Q8(Z.fetch,`${Z.url}/object/sign/${Z.bucketId}`,{expiresIn:X,paths:D},{headers:Z.headers}),Q=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return{data:J.map((w)=>G0(G0({},w),{},{signedUrl:w.signedURL?encodeURI(`${Z.url}${w.signedURL}${Q}`):null})),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}download(D,X){let Y=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image/authenticated":"object",Z=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{}),J=Z?`?${Z}`:"",Q=this._getFinalPath(D);return new Pv(()=>z4(this.fetch,`${this.url}/${Y}/${Q}${J}`,{headers:this.headers,noResolveJson:!0}),this.shouldThrowOnError)}async info(D){var X=this;let Y=X._getFinalPath(D);try{return{data:yQ(await z4(X.fetch,`${X.url}/object/info/${Y}`,{headers:X.headers})),error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async exists(D){var X=this;let Y=X._getFinalPath(D);try{return await Iv(X.fetch,`${X.url}/object/${Y}`,{headers:X.headers}),{data:!0,error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(wD(Z)&&Z instanceof cX){let J=Z.originalError;if([400,404].includes(J===null||J===void 0?void 0:J.status))return{data:!1,error:Z}}throw Z}}getPublicUrl(D,X){let Y=this._getFinalPath(D),Z=[],J=(X===null||X===void 0?void 0:X.download)?`download=${X.download===!0?"":X.download}`:"";if(J!=="")Z.push(J);let Q=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image":"object",w=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{});if(w!=="")Z.push(w);let F=Z.join("&");if(F!=="")F=`?${F}`;return{data:{publicUrl:encodeURI(`${this.url}/${Q}/public/${Y}${F}`)}}}async remove(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/object/${X.bucketId}`,{prefixes:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async list(D,X,Y){var Z=this;try{let J=G0(G0(G0({},Sv),X),{},{prefix:D||""});return{data:await Q8(Z.fetch,`${Z.url}/object/list/${Z.bucketId}`,J,{headers:Z.headers},Y),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async listV2(D,X){var Y=this;try{let Z=G0({},D);return{data:await Q8(Y.fetch,`${Y.url}/object/list-v2/${Y.bucketId}`,Z,{headers:Y.headers},X),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}encodeMetadata(D){return JSON.stringify(D)}toBase64(D){if(typeof Buffer<"u")return Buffer.from(D).toString("base64");return btoa(D)}_getFinalPath(D){return`${this.bucketId}/${D.replace(/^\/+/,"")}`}_removeEmptyFolders(D){return D.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(D){let X=[];if(D.width)X.push(`width=${D.width}`);if(D.height)X.push(`height=${D.height}`);if(D.resize)X.push(`resize=${D.resize}`);if(D.format)X.push(`format=${D.format}`);if(D.quality)X.push(`quality=${D.quality}`);return X.join("&")}},QW="2.89.0",wW={"X-Client-Info":`storage-js/${QW}`},fv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1;let J=new URL(D);if(Z===null||Z===void 0?void 0:Z.useNewHostname){if(/supabase\.(co|in|red)$/.test(J.hostname)&&!J.hostname.includes("storage.supabase."))J.hostname=J.hostname.replace("supabase.","storage.supabase.")}this.url=J.href.replace(/\/$/,""),this.headers=G0(G0({},wW),X),this.fetch=uQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async listBuckets(D){var X=this;try{let Y=X.listBucketOptionsToQueryString(D);return{data:await z4(X.fetch,`${X.url}/bucket${Y}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await z4(X.fetch,`${X.url}/bucket/${D}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async createBucket(D,X={public:!1}){var Y=this;try{return{data:await Q8(Y.fetch,`${Y.url}/bucket`,{id:D,name:D,type:X.type,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async updateBucket(D,X){var Y=this;try{return{data:await kQ(Y.fetch,`${Y.url}/bucket/${D}`,{id:D,name:D,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async emptyBucket(D){var X=this;try{return{data:await Q8(X.fetch,`${X.url}/bucket/${D}/empty`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}listBucketOptionsToQueryString(D){let X={};if(D){if("limit"in D)X.limit=String(D.limit);if("offset"in D)X.offset=String(D.offset);if(D.search)X.search=D.search;if(D.sortColumn)X.sortColumn=D.sortColumn;if(D.sortOrder)X.sortOrder=D.sortOrder}return Object.keys(X).length>0?"?"+new URLSearchParams(X).toString():""}},FW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},wW),X),this.fetch=uQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await Q8(X.fetch,`${X.url}/bucket`,{name:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async listBuckets(D){var X=this;try{let Y=new URLSearchParams;if((D===null||D===void 0?void 0:D.limit)!==void 0)Y.set("limit",D.limit.toString());if((D===null||D===void 0?void 0:D.offset)!==void 0)Y.set("offset",D.offset.toString());if(D===null||D===void 0?void 0:D.sortColumn)Y.set("sortColumn",D.sortColumn);if(D===null||D===void 0?void 0:D.sortOrder)Y.set("sortOrder",D.sortOrder);if(D===null||D===void 0?void 0:D.search)Y.set("search",D.search);let Z=Y.toString(),J=Z?`${X.url}/bucket?${Z}`:`${X.url}/bucket`;return{data:await z4(X.fetch,J,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}from(D){var X=this;if(!Nv(D))throw new M4("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");let Y=new eO({baseUrl:this.url,catalogName:D,auth:{type:"custom",getHeaders:async()=>X.headers},fetch:this.fetch}),Z=this.shouldThrowOnError;return new Proxy(Y,{get(J,Q){let w=J[Q];if(typeof w!=="function")return w;return async(...F)=>{try{return{data:await w.apply(J,F),error:null}}catch($){if(Z)throw $;return{data:null,error:$}}}}})}},_Q={"X-Client-Info":`storage-js/${QW}`,"Content-Type":"application/json"},vQ=class extends Error{constructor(D){super(D);this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}};function A1(D){return typeof D==="object"&&D!==null&&"__isStorageVectorsError"in D}var dX=class extends vQ{constructor(D,X,Y){super(D);this.name="StorageVectorsApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},$W=class extends vQ{constructor(D,X){super(D);this.name="StorageVectorsUnknownError",this.originalError=X}},yv=function(D){return D.InternalError="InternalError",D.S3VectorConflictException="S3VectorConflictException",D.S3VectorNotFoundException="S3VectorNotFoundException",D.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",D.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",D.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded",D}({}),lX=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},kv=()=>{return Response},BW=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},uv=(D)=>{return Array.from(new Float32Array(D))},hv=(D,X)=>{if(X!==void 0&&D.float32.length!==X)throw Error(`Vector dimension mismatch: expected ${X}, got ${D.float32.length}`)},YW=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),_v=async(D,X,Y)=>{if(D&&typeof D==="object"&&"status"in D&&"ok"in D&&typeof D.status==="number"&&!(Y===null||Y===void 0?void 0:Y.noResolveJson)){let Z=D.status||500,J=D;if(typeof J.json==="function")J.json().then((Q)=>{let w=(Q===null||Q===void 0?void 0:Q.statusCode)||(Q===null||Q===void 0?void 0:Q.code)||Z+"";X(new dX(YW(Q),Z,w))}).catch(()=>{let Q=Z+"";X(new dX(J.statusText||`HTTP ${Z} error`,Z,Q))});else{let Q=Z+"";X(new dX(J.statusText||`HTTP ${Z} error`,Z,Q))}}else X(new $W(YW(D),D))},vv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(BW(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;return G0(G0({},J),Y)};async function bv(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,vv(X,Z,J,Q)).then(($)=>{if(!$.ok)throw $;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return $;let B=$.headers.get("content-type");if(!B||!B.includes("application/json"))return{};return $.json()}).then(($)=>w($)).catch(($)=>_v($,F,Z))})}async function k1(D,X,Y,Z,J){return bv(D,"POST",X,Z,J,Y)}var qW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createIndex(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/CreateIndex`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async getIndex(D,X){var Y=this;try{return{data:await k1(Y.fetch,`${Y.url}/GetIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(A1(Z))return{data:null,error:Z};throw Z}}async listIndexes(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/ListIndexes`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async deleteIndex(D,X){var Y=this;try{return{data:await k1(Y.fetch,`${Y.url}/DeleteIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers})||{},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(A1(Z))return{data:null,error:Z};throw Z}}},GW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async putVectors(D){var X=this;try{if(D.vectors.length<1||D.vectors.length>500)throw Error("Vector batch size must be between 1 and 500 items");return{data:await k1(X.fetch,`${X.url}/PutVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async getVectors(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/GetVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async listVectors(D){var X=this;try{if(D.segmentCount!==void 0){if(D.segmentCount<1||D.segmentCount>16)throw Error("segmentCount must be between 1 and 16");if(D.segmentIndex!==void 0){if(D.segmentIndex<0||D.segmentIndex>=D.segmentCount)throw Error(`segmentIndex must be between 0 and ${D.segmentCount-1}`)}}return{data:await k1(X.fetch,`${X.url}/ListVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async queryVectors(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/QueryVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async deleteVectors(D){var X=this;try{if(D.keys.length<1||D.keys.length>500)throw Error("Keys batch size must be between 1 and 500 items");return{data:await k1(X.fetch,`${X.url}/DeleteVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}},OW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/CreateVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/GetVectorBucket`,{vectorBucketName:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async listBuckets(D={}){var X=this;try{return{data:await k1(X.fetch,`${X.url}/ListVectorBuckets`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/DeleteVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}},WW=class extends OW{constructor(D,X={}){super(D,X.headers||{},X.fetch)}from(D){return new KW(this.url,this.headers,D,this.fetch)}async createBucket(D){var X=()=>super.createBucket,Y=this;return X().call(Y,D)}async getBucket(D){var X=()=>super.getBucket,Y=this;return X().call(Y,D)}async listBuckets(D={}){var X=()=>super.listBuckets,Y=this;return X().call(Y,D)}async deleteBucket(D){var X=()=>super.deleteBucket,Y=this;return X().call(Y,D)}},KW=class extends qW{constructor(D,X,Y,Z){super(D,X,Z);this.vectorBucketName=Y}async createIndex(D){var X=()=>super.createIndex,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async listIndexes(D={}){var X=()=>super.listIndexes,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async getIndex(D){var X=()=>super.getIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}async deleteIndex(D){var X=()=>super.deleteIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}index(D){return new HW(this.url,this.headers,this.vectorBucketName,D,this.fetch)}},HW=class extends GW{constructor(D,X,Y,Z,J){super(D,X,J);this.vectorBucketName=Y,this.indexName=Z}async putVectors(D){var X=()=>super.putVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async getVectors(D){var X=()=>super.getVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async listVectors(D={}){var X=()=>super.listVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async queryVectors(D){var X=()=>super.queryVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async deleteVectors(D){var X=()=>super.deleteVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}},bQ=class extends fv{constructor(D,X={},Y,Z){super(D,X,Y,Z)}from(D){return new xv(this.url,this.headers,D,this.fetch)}get vectors(){return new WW(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new FW(this.url+"/iceberg",this.headers,this.fetch)}};var wK=L0(Fw(),1);J0(Z0,L0(xQ(),1),module.exports);J0(Z0,L0(Fw(),1),module.exports);var Kg="2.89.0",A4="";if(typeof Deno<"u")A4="deno";else if(typeof document<"u")A4="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")A4="react-native";else A4="node";var Hg={"X-Client-Info":`supabase-js-${A4}/${Kg}`},zg={headers:Hg},Mg={schema:"public"},Vg={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Lg={};function E4(D){return E4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},E4(D)}function Ug(D,X){if(E4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(E4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Ng(D){var X=Ug(D,"string");return E4(X)=="symbol"?X:X+""}function Rg(D,X,Y){return(X=Ng(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function JK(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function UD(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?JK(Object(Y),!0).forEach(function(Z){Rg(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):JK(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var Ag=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Eg=()=>{return Headers},Cg=(D,X,Y)=>{let Z=Ag(Y),J=Eg();return async(Q,w)=>{var F;let $=(F=await X())!==null&&F!==void 0?F:D,B=new J(w===null||w===void 0?void 0:w.headers);if(!B.has("apikey"))B.set("apikey",D);if(!B.has("Authorization"))B.set("Authorization",`Bearer ${$}`);return Z(Q,UD(UD({},w),{},{headers:B}))}};function jg(D){return D.endsWith("/")?D:D+"/"}function Ig(D,X){var Y,Z;let{db:J,auth:Q,realtime:w,global:F}=D,{db:$,auth:B,realtime:q,global:G}=X,W={db:UD(UD({},$),J),auth:UD(UD({},B),Q),realtime:UD(UD({},q),w),storage:{},global:UD(UD(UD({},G),F),{},{headers:UD(UD({},(Y=G===null||G===void 0?void 0:G.headers)!==null&&Y!==void 0?Y:{}),(Z=F===null||F===void 0?void 0:F.headers)!==null&&Z!==void 0?Z:{})}),accessToken:async()=>""};if(D.accessToken)W.accessToken=D.accessToken;else delete W.accessToken;return W}function Tg(D){let X=D===null||D===void 0?void 0:D.trim();if(!X)throw Error("supabaseUrl is required.");if(!X.match(/^https?:\/\//i))throw Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(jg(X))}catch(Y){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var Pg=class extends wK.AuthClient{constructor(D){super(D)}},FK=class{constructor(D,X,Y){var Z,J;this.supabaseUrl=D,this.supabaseKey=X;let Q=Tg(D);if(!X)throw Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",Q),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",Q),this.storageUrl=new URL("storage/v1",Q),this.functionsUrl=new URL("functions/v1",Q);let w=`sb-${Q.hostname.split(".")[0]}-auth-token`,F={db:Mg,realtime:Lg,auth:UD(UD({},Vg),{},{storageKey:w}),global:zg},$=Ig(Y!==null&&Y!==void 0?Y:{},F);if(this.storageKey=(Z=$.auth.storageKey)!==null&&Z!==void 0?Z:"",this.headers=(J=$.global.headers)!==null&&J!==void 0?J:{},!$.accessToken){var B;this.auth=this._initSupabaseAuthClient((B=$.auth)!==null&&B!==void 0?B:{},this.headers,$.global.fetch)}else this.accessToken=$.accessToken,this.auth=new Proxy({},{get:(q,G)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(G)} is not possible`)}});if(this.fetch=Cg(X,this._getAccessToken.bind(this),$.global.fetch),this.realtime=this._initRealtimeClient(UD({headers:this.headers,accessToken:this._getAccessToken.bind(this)},$.realtime)),this.accessToken)this.accessToken().then((q)=>this.realtime.setAuth(q)).catch((q)=>console.warn("Failed to set initial Realtime auth token:",q));if(this.rest=new yX(new URL("rest/v1",Q).href,{headers:this.headers,schema:$.db.schema,fetch:this.fetch}),this.storage=new bQ(this.storageUrl.href,this.headers,this.fetch,Y===null||Y===void 0?void 0:Y.storage),!$.accessToken)this._listenForAuthEvents()}get functions(){return new oD.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(D){return this.rest.from(D)}schema(D){return this.rest.schema(D)}rpc(D,X={},Y={head:!1,get:!1,count:void 0}){return this.rest.rpc(D,X,Y)}channel(D,X={config:{}}){return this.realtime.channel(D,X)}getChannels(){return this.realtime.getChannels()}removeChannel(D){return this.realtime.removeChannel(D)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var D=this,X,Y;if(D.accessToken)return await D.accessToken();let{data:Z}=await D.auth.getSession();return(X=(Y=Z.session)===null||Y===void 0?void 0:Y.access_token)!==null&&X!==void 0?X:D.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,storageKey:Q,flowType:w,lock:F,debug:$,throwOnError:B},q,G){let W={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Pg({url:this.authUrl.href,headers:UD(UD({},W),q),storageKey:Q,autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,flowType:w,lock:F,debug:$,throwOnError:B,fetch:G,hasCustomAuthorizationHeader:Object.keys(this.headers).some((O)=>O.toLowerCase()==="authorization")})}_initRealtimeClient(D){return new QK.RealtimeClient(this.realtimeUrl.href,UD(UD({},D),{},{params:UD(UD({},{apikey:this.supabaseKey}),D===null||D===void 0?void 0:D.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((D,X)=>{this._handleTokenChanged(D,"CLIENT",X===null||X===void 0?void 0:X.access_token)})}_handleTokenChanged(D,X,Y){if((D==="TOKEN_REFRESHED"||D==="SIGNED_IN")&&this.changedAccessToken!==Y)this.changedAccessToken=Y,this.realtime.setAuth(Y);else if(D==="SIGNED_OUT"){if(this.realtime.setAuth(),X=="STORAGE")this.auth.signOut();this.changedAccessToken=void 0}}},$w=(D,X,Y)=>{return new FK(D,X,Y)};function Sg(){if(typeof window<"u")return!1;if(typeof process>"u")return!1;let D=process.version;if(D===void 0||D===null)return!1;let X=D.match(/^v(\d+)\./);if(!X)return!1;return parseInt(X[1],10)<=18}if(Sg())console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");var Pq=L0(Kw(),1),Iy=L0(HH(),1),BJ=L0($Z(),1);var t8={name:"@capgo/cli",version:"7.68.0",type:"module",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};async function BZ(D){try{let Y=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,Z=await fetch(Y,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!Z.ok)return null;return(await Z.json())["dist-tags"]?.latest||null}catch{return null}}async function s0(){let D=await BZ("@capgo/cli")??"",X=D?.split(".")[0];if(D!==t8.version)H.warning(`\uD83D\uDEA8 You are using @capgo/cli@${t8.version} it's not the latest version.
314
+ ${$.stack}`}else{var O;F=(O=Q===null||Q===void 0?void 0:Q.stack)!==null&&O!==void 0?O:""}return{error:{message:`${(w=Q===null||Q===void 0?void 0:Q.name)!==null&&w!==void 0?w:"FetchError"}: ${Q===null||Q===void 0?void 0:Q.message}`,details:F,hint:"",code:""},data:null,count:null,status:0,statusText:""}});return J.then(D,X)}returns(){return this}overrideTypes(){return this}},MQ=class extends zQ{select(D){let X=!1,Y=(D!==null&&D!==void 0?D:"*").split("").map((Z)=>{if(/\s/.test(Z)&&!X)return"";if(Z==='"')X=!X;return Z}).join("");return this.url.searchParams.set("select",Y),this.headers.append("Prefer","return=representation"),this}order(D,{ascending:X=!0,nullsFirst:Y,foreignTable:Z,referencedTable:J=Z}={}){let Q=J?`${J}.order`:"order",w=this.url.searchParams.get(Q);return this.url.searchParams.set(Q,`${w?`${w},`:""}${D}.${X?"asc":"desc"}${Y===void 0?"":Y?".nullsfirst":".nullslast"}`),this}limit(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=typeof Y>"u"?"limit":`${Y}.limit`;return this.url.searchParams.set(Z,`${D}`),this}range(D,X,{foreignTable:Y,referencedTable:Z=Y}={}){let J=typeof Z>"u"?"offset":`${Z}.offset`,Q=typeof Z>"u"?"limit":`${Z}.limit`;return this.url.searchParams.set(J,`${D}`),this.url.searchParams.set(Q,`${X-D+1}`),this}abortSignal(D){return this.signal=D,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){if(this.method==="GET")this.headers.set("Accept","application/json");else this.headers.set("Accept","application/vnd.pgrst.object+json");return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:D=!1,verbose:X=!1,settings:Y=!1,buffers:Z=!1,wal:J=!1,format:Q="text"}={}){var w;let F=[D?"analyze":null,X?"verbose":null,Y?"settings":null,Z?"buffers":null,J?"wal":null].filter(Boolean).join("|"),$=(w=this.headers.get("Accept"))!==null&&w!==void 0?w:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${Q}; for="${$}"; options=${F};`),Q==="json")return this;else return this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(D){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${D}`),this}},yO=new RegExp("[,()]"),E6=class extends MQ{eq(D,X){return this.url.searchParams.append(D,`eq.${X}`),this}neq(D,X){return this.url.searchParams.append(D,`neq.${X}`),this}gt(D,X){return this.url.searchParams.append(D,`gt.${X}`),this}gte(D,X){return this.url.searchParams.append(D,`gte.${X}`),this}lt(D,X){return this.url.searchParams.append(D,`lt.${X}`),this}lte(D,X){return this.url.searchParams.append(D,`lte.${X}`),this}like(D,X){return this.url.searchParams.append(D,`like.${X}`),this}likeAllOf(D,X){return this.url.searchParams.append(D,`like(all).{${X.join(",")}}`),this}likeAnyOf(D,X){return this.url.searchParams.append(D,`like(any).{${X.join(",")}}`),this}ilike(D,X){return this.url.searchParams.append(D,`ilike.${X}`),this}ilikeAllOf(D,X){return this.url.searchParams.append(D,`ilike(all).{${X.join(",")}}`),this}ilikeAnyOf(D,X){return this.url.searchParams.append(D,`ilike(any).{${X.join(",")}}`),this}regexMatch(D,X){return this.url.searchParams.append(D,`match.${X}`),this}regexIMatch(D,X){return this.url.searchParams.append(D,`imatch.${X}`),this}is(D,X){return this.url.searchParams.append(D,`is.${X}`),this}isDistinct(D,X){return this.url.searchParams.append(D,`isdistinct.${X}`),this}in(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&yO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`in.(${Y})`),this}notIn(D,X){let Y=Array.from(new Set(X)).map((Z)=>{if(typeof Z==="string"&&yO.test(Z))return`"${Z}"`;else return`${Z}`}).join(",");return this.url.searchParams.append(D,`not.in.(${Y})`),this}contains(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cs.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cs.{${X.join(",")}}`);else this.url.searchParams.append(D,`cs.${JSON.stringify(X)}`);return this}containedBy(D,X){if(typeof X==="string")this.url.searchParams.append(D,`cd.${X}`);else if(Array.isArray(X))this.url.searchParams.append(D,`cd.{${X.join(",")}}`);else this.url.searchParams.append(D,`cd.${JSON.stringify(X)}`);return this}rangeGt(D,X){return this.url.searchParams.append(D,`sr.${X}`),this}rangeGte(D,X){return this.url.searchParams.append(D,`nxl.${X}`),this}rangeLt(D,X){return this.url.searchParams.append(D,`sl.${X}`),this}rangeLte(D,X){return this.url.searchParams.append(D,`nxr.${X}`),this}rangeAdjacent(D,X){return this.url.searchParams.append(D,`adj.${X}`),this}overlaps(D,X){if(typeof X==="string")this.url.searchParams.append(D,`ov.${X}`);else this.url.searchParams.append(D,`ov.{${X.join(",")}}`);return this}textSearch(D,X,{config:Y,type:Z}={}){let J="";if(Z==="plain")J="pl";else if(Z==="phrase")J="ph";else if(Z==="websearch")J="w";let Q=Y===void 0?"":`(${Y})`;return this.url.searchParams.append(D,`${J}fts${Q}.${X}`),this}match(D){return Object.entries(D).forEach(([X,Y])=>{this.url.searchParams.append(X,`eq.${Y}`)}),this}not(D,X,Y){return this.url.searchParams.append(D,`not.${X}.${Y}`),this}or(D,{foreignTable:X,referencedTable:Y=X}={}){let Z=Y?`${Y}.or`:"or";return this.url.searchParams.append(Z,`(${D})`),this}filter(D,X,Y){return this.url.searchParams.append(D,`${X}.${Y}`),this}},VQ=class{constructor(D,{headers:X={},schema:Y,fetch:Z}){this.url=D,this.headers=new Headers(X),this.schema=Y,this.fetch=Z}select(D,X){let{head:Y=!1,count:Z}=X!==null&&X!==void 0?X:{},J=Y?"HEAD":"GET",Q=!1,w=(D!==null&&D!==void 0?D:"*").split("").map((F)=>{if(/\s/.test(F)&&!Q)return"";if(F==='"')Q=!Q;return F}).join("");if(this.url.searchParams.set("select",w),Z)this.headers.append("Prefer",`count=${Z}`);return new E6({method:J,url:this.url,headers:this.headers,schema:this.schema,fetch:this.fetch})}insert(D,{count:X,defaultToNull:Y=!0}={}){var Z;let J="POST";if(X)this.headers.append("Prefer",`count=${X}`);if(!Y)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let Q=D.reduce((w,F)=>w.concat(Object.keys(F)),[]);if(Q.length>0){let w=[...new Set(Q)].map((F)=>`"${F}"`);this.url.searchParams.set("columns",w.join(","))}}return new E6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Z=this.fetch)!==null&&Z!==void 0?Z:fetch})}upsert(D,{onConflict:X,ignoreDuplicates:Y=!1,count:Z,defaultToNull:J=!0}={}){var Q;let w="POST";if(this.headers.append("Prefer",`resolution=${Y?"ignore":"merge"}-duplicates`),X!==void 0)this.url.searchParams.set("on_conflict",X);if(Z)this.headers.append("Prefer",`count=${Z}`);if(!J)this.headers.append("Prefer","missing=default");if(Array.isArray(D)){let F=D.reduce(($,B)=>$.concat(Object.keys(B)),[]);if(F.length>0){let $=[...new Set(F)].map((B)=>`"${B}"`);this.url.searchParams.set("columns",$.join(","))}}return new E6({method:"POST",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Q=this.fetch)!==null&&Q!==void 0?Q:fetch})}update(D,{count:X}={}){var Y;let Z="PATCH";if(X)this.headers.append("Prefer",`count=${X}`);return new E6({method:"PATCH",url:this.url,headers:this.headers,schema:this.schema,body:D,fetch:(Y=this.fetch)!==null&&Y!==void 0?Y:fetch})}delete({count:D}={}){var X;let Y="DELETE";if(D)this.headers.append("Prefer",`count=${D}`);return new E6({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:(X=this.fetch)!==null&&X!==void 0?X:fetch})}},yX=class D{constructor(X,{headers:Y={},schema:Z,fetch:J}={}){this.url=X,this.headers=new Headers(Y),this.schemaName=Z,this.fetch=J}from(X){if(!X||typeof X!=="string"||X.trim()==="")throw Error("Invalid relation name: relation must be a non-empty string.");return new VQ(new URL(`${this.url}/${X}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch})}schema(X){return new D(this.url,{headers:this.headers,schema:X,fetch:this.fetch})}rpc(X,Y={},{head:Z=!1,get:J=!1,count:Q}={}){var w;let F,$=new URL(`${this.url}/rpc/${X}`),B;if(Z||J)F=Z?"HEAD":"GET",Object.entries(Y).filter(([G,W])=>W!==void 0).map(([G,W])=>[G,Array.isArray(W)?`{${W.join(",")}}`:`${W}`]).forEach(([G,W])=>{$.searchParams.append(G,W)});else F="POST",B=Y;let q=new Headers(this.headers);if(Q)q.set("Prefer",`count=${Q}`);return new E6({method:F,url:$,headers:q,schema:this.schemaName,body:B,fetch:(w=this.fetch)!==null&&w!==void 0?w:fetch})}},l_={PostgrestClient:yX,PostgrestQueryBuilder:VQ,PostgrestFilterBuilder:E6,PostgrestTransformBuilder:MQ,PostgrestBuilder:zQ,PostgrestError:$4};var QK=L0(xQ(),1);var zW={};s7(zW,{validateVectorDimension:()=>hv,resolveResponse:()=>kv,resolveFetch:()=>lX,normalizeToFloat32:()=>uv,isStorageVectorsError:()=>A1,isStorageError:()=>wD,isPlainObject:()=>BW,VectorIndexScope:()=>HW,VectorIndexApi:()=>qW,VectorDataApi:()=>GW,VectorBucketScope:()=>KW,VectorBucketApi:()=>OW,StorageVectorsUnknownError:()=>$W,StorageVectorsErrorCode:()=>yv,StorageVectorsError:()=>vQ,StorageVectorsClient:()=>WW,StorageVectorsApiError:()=>dX,StorageUnknownError:()=>cX,StorageError:()=>M4,StorageClient:()=>bQ,StorageApiError:()=>ZW,StorageAnalyticsClient:()=>FW});var K4=class extends Error{constructor(D,X){super(D);this.name="IcebergError",this.status=X.status,this.icebergType=X.icebergType,this.icebergCode=X.icebergCode,this.details=X.details,this.isCommitStateUnknown=X.icebergType==="CommitStateUnknownException"||[500,502,504].includes(X.status)&&X.icebergType?.includes("CommitState")===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function Kv(D,X,Y){let Z=new URL(X,D);if(Y){for(let[J,Q]of Object.entries(Y))if(Q!==void 0)Z.searchParams.set(J,Q)}return Z.toString()}async function Hv(D){if(!D||D.type==="none")return{};if(D.type==="bearer")return{Authorization:`Bearer ${D.token}`};if(D.type==="header")return{[D.name]:D.value};if(D.type==="custom")return await D.getHeaders();return{}}function zv(D){let X=D.fetchImpl??globalThis.fetch;return{async request({method:Y,path:Z,query:J,body:Q,headers:w}){let F=Kv(D.baseUrl,Z,J),$=await Hv(D.auth),B=await X(F,{method:Y,headers:{...Q?{"Content-Type":"application/json"}:{},...$,...w},body:Q?JSON.stringify(Q):void 0}),q=await B.text(),G=(B.headers.get("content-type")||"").includes("application/json"),W=G&&q?JSON.parse(q):q;if(!B.ok){let O=G?W:void 0,K=O?.error;throw new K4(K?.message??`Request failed with status ${B.status}`,{status:B.status,icebergType:K?.type,icebergCode:K?.code,details:O})}return{status:B.status,headers:B.headers,data:W}}}}function mX(D){return D.join("\x1F")}var Mv=class{constructor(D,X=""){this.client=D,this.prefix=X}async listNamespaces(D){let X=D?{parent:mX(D.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:X})).data.namespaces.map((Z)=>({namespace:Z}))}async createNamespace(D,X){let Y={namespace:D.namespace,properties:X?.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:Y})).data}async dropNamespace(D){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${mX(D.namespace)}`})}async loadNamespaceMetadata(D){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${mX(D.namespace)}`})).data.properties}}async namespaceExists(D){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${mX(D.namespace)}`}),!0}catch(X){if(X instanceof K4&&X.status===404)return!1;throw X}}async createNamespaceIfNotExists(D,X){try{return await this.createNamespace(D,X)}catch(Y){if(Y instanceof K4&&Y.status===409)return;throw Y}}};function I5(D){return D.join("\x1F")}var Vv=class{constructor(D,X="",Y){this.client=D,this.prefix=X,this.accessDelegation=Y}async listTables(D){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`})).data.identifiers}async createTable(D,X){let Y={};if(this.accessDelegation)Y["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables`,body:X,headers:Y})).data.metadata}async updateTable(D,X){let Y=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,body:X});return{"metadata-location":Y.data["metadata-location"],metadata:Y.data.metadata}}async dropTable(D,X){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,query:{purgeRequested:String(X?.purge??!1)}})}async loadTable(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X})).data.metadata}async tableExists(D){let X={};if(this.accessDelegation)X["X-Iceberg-Access-Delegation"]=this.accessDelegation;try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${I5(D.namespace)}/tables/${D.name}`,headers:X}),!0}catch(Y){if(Y instanceof K4&&Y.status===404)return!1;throw Y}}async createTableIfNotExists(D,X){try{return await this.createTable(D,X)}catch(Y){if(Y instanceof K4&&Y.status===409)return await this.loadTable({namespace:D.namespace,name:X.name});throw Y}}},eO=class{constructor(D){let X="v1";if(D.catalogName)X+=`/${D.catalogName}`;let Y=D.baseUrl.endsWith("/")?D.baseUrl:`${D.baseUrl}/`;this.client=zv({baseUrl:Y,auth:D.auth,fetchImpl:D.fetch}),this.accessDelegation=D.accessDelegation?.join(","),this.namespaceOps=new Mv(this.client,X),this.tableOps=new Vv(this.client,X,this.accessDelegation)}async listNamespaces(D){return this.namespaceOps.listNamespaces(D)}async createNamespace(D,X){return this.namespaceOps.createNamespace(D,X)}async dropNamespace(D){await this.namespaceOps.dropNamespace(D)}async loadNamespaceMetadata(D){return this.namespaceOps.loadNamespaceMetadata(D)}async listTables(D){return this.tableOps.listTables(D)}async createTable(D,X){return this.tableOps.createTable(D,X)}async updateTable(D,X){return this.tableOps.updateTable(D,X)}async dropTable(D,X){await this.tableOps.dropTable(D,X)}async loadTable(D){return this.tableOps.loadTable(D)}async namespaceExists(D){return this.namespaceOps.namespaceExists(D)}async tableExists(D){return this.tableOps.tableExists(D)}async createNamespaceIfNotExists(D,X){return this.namespaceOps.createNamespaceIfNotExists(D,X)}async createTableIfNotExists(D,X){return this.tableOps.createTableIfNotExists(D,X)}};var M4=class extends Error{constructor(D){super(D);this.__isStorageError=!0,this.name="StorageError"}};function wD(D){return typeof D==="object"&&D!==null&&"__isStorageError"in D}var ZW=class extends M4{constructor(D,X,Y){super(D);this.name="StorageApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},cX=class extends M4{constructor(D,X){super(D);this.name="StorageUnknownError",this.originalError=X}},uQ=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Lv=()=>{return Response},yQ=(D)=>{if(Array.isArray(D))return D.map((Y)=>yQ(Y));else if(typeof D==="function"||D!==Object(D))return D;let X={};return Object.entries(D).forEach(([Y,Z])=>{let J=Y.replace(/([-_][a-z])/gi,(Q)=>Q.toUpperCase().replace(/[-_]/g,""));X[J]=yQ(Z)}),X},Uv=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},Nv=(D)=>{if(!D||typeof D!=="string")return!1;if(D.length===0||D.length>100)return!1;if(D.trim()!==D)return!1;if(D.includes("/")||D.includes("\\"))return!1;return/^[\w!.\*'() &$@=;:+,?-]+$/.test(D)};function H4(D){return H4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},H4(D)}function Rv(D,X){if(H4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(H4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Av(D){var X=Rv(D,"string");return H4(X)=="symbol"?X:X+""}function Ev(D,X,Y){return(X=Av(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function DW(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function G0(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?DW(Object(Y),!0).forEach(function(Z){Ev(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):DW(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var fQ=(D)=>{var X;return D.msg||D.message||D.error_description||(typeof D.error==="string"?D.error:(X=D.error)===null||X===void 0?void 0:X.message)||JSON.stringify(D)},Cv=async(D,X,Y)=>{if(D instanceof await Lv()&&!(Y===null||Y===void 0?void 0:Y.noResolveJson))D.json().then((Z)=>{let J=D.status||500,Q=(Z===null||Z===void 0?void 0:Z.statusCode)||J+"";X(new ZW(fQ(Z),J,Q))}).catch((Z)=>{X(new cX(fQ(Z),Z))});else X(new cX(fQ(D),D))},jv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(Uv(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;if(X===null||X===void 0?void 0:X.duplex)J.duplex=X.duplex;return G0(G0({},J),Y)};async function V4(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,jv(X,Z,J,Q)).then(($)=>{if(!$.ok)throw $;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return $;return $.json()}).then(($)=>w($)).catch(($)=>Cv($,F,Z))})}async function z4(D,X,Y,Z){return V4(D,"GET",X,Y,Z)}async function Q8(D,X,Y,Z,J){return V4(D,"POST",X,Z,J,Y)}async function kQ(D,X,Y,Z,J){return V4(D,"PUT",X,Z,J,Y)}async function Iv(D,X,Y,Z){return V4(D,"HEAD",X,G0(G0({},Y),{},{noResolveJson:!0}),Z)}async function hQ(D,X,Y,Z,J){return V4(D,"DELETE",X,Z,J,Y)}var Tv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X}then(D,X){return this.execute().then(D,X)}async execute(){var D=this;try{return{data:(await D.downloadFn()).body,error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(wD(X))return{data:null,error:X};throw X}}},JW;JW=Symbol.toStringTag;var Pv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X,this[JW]="BlobDownloadBuilder",this.promise=null}asStream(){return new Tv(this.downloadFn,this.shouldThrowOnError)}then(D,X){return this.getPromise().then(D,X)}catch(D){return this.getPromise().catch(D)}finally(D){return this.getPromise().finally(D)}getPromise(){if(!this.promise)this.promise=this.execute();return this.promise}async execute(){var D=this;try{return{data:await(await D.downloadFn()).blob(),error:null}}catch(X){if(D.shouldThrowOnError)throw X;if(wD(X))return{data:null,error:X};throw X}}},Sv={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},XW={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},xv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1,this.url=D,this.headers=X,this.bucketId=Y,this.fetch=uQ(Z)}throwOnError(){return this.shouldThrowOnError=!0,this}async uploadOrUpdate(D,X,Y,Z){var J=this;try{let Q,w=G0(G0({},XW),Z),F=G0(G0({},J.headers),D==="POST"&&{"x-upsert":String(w.upsert)}),$=w.metadata;if(typeof Blob<"u"&&Y instanceof Blob){if(Q=new FormData,Q.append("cacheControl",w.cacheControl),$)Q.append("metadata",J.encodeMetadata($));Q.append("",Y)}else if(typeof FormData<"u"&&Y instanceof FormData){if(Q=Y,!Q.has("cacheControl"))Q.append("cacheControl",w.cacheControl);if($&&!Q.has("metadata"))Q.append("metadata",J.encodeMetadata($))}else{if(Q=Y,F["cache-control"]=`max-age=${w.cacheControl}`,F["content-type"]=w.contentType,$)F["x-metadata"]=J.toBase64(J.encodeMetadata($));if((typeof ReadableStream<"u"&&Q instanceof ReadableStream||Q&&typeof Q==="object"&&("pipe"in Q)&&typeof Q.pipe==="function")&&!w.duplex)w.duplex="half"}if(Z===null||Z===void 0?void 0:Z.headers)F=G0(G0({},F),Z.headers);let B=J._removeEmptyFolders(X),q=J._getFinalPath(B),G=await(D=="PUT"?kQ:Q8)(J.fetch,`${J.url}/object/${q}`,Q,G0({headers:F},(w===null||w===void 0?void 0:w.duplex)?{duplex:w.duplex}:{}));return{data:{path:B,id:G.Id,fullPath:G.Key},error:null}}catch(Q){if(J.shouldThrowOnError)throw Q;if(wD(Q))return{data:null,error:Q};throw Q}}async upload(D,X,Y){return this.uploadOrUpdate("POST",D,X,Y)}async uploadToSignedUrl(D,X,Y,Z){var J=this;let Q=J._removeEmptyFolders(D),w=J._getFinalPath(Q),F=new URL(J.url+`/object/upload/sign/${w}`);F.searchParams.set("token",X);try{let $,B=G0({upsert:XW.upsert},Z),q=G0(G0({},J.headers),{"x-upsert":String(B.upsert)});if(typeof Blob<"u"&&Y instanceof Blob)$=new FormData,$.append("cacheControl",B.cacheControl),$.append("",Y);else if(typeof FormData<"u"&&Y instanceof FormData)$=Y,$.append("cacheControl",B.cacheControl);else $=Y,q["cache-control"]=`max-age=${B.cacheControl}`,q["content-type"]=B.contentType;return{data:{path:Q,fullPath:(await kQ(J.fetch,F.toString(),$,{headers:q})).Key},error:null}}catch($){if(J.shouldThrowOnError)throw $;if(wD($))return{data:null,error:$};throw $}}async createSignedUploadUrl(D,X){var Y=this;try{let Z=Y._getFinalPath(D),J=G0({},Y.headers);if(X===null||X===void 0?void 0:X.upsert)J["x-upsert"]="true";let Q=await Q8(Y.fetch,`${Y.url}/object/upload/sign/${Z}`,{},{headers:J}),w=new URL(Y.url+Q.url),F=w.searchParams.get("token");if(!F)throw new M4("No token returned by API");return{data:{signedUrl:w.toString(),path:D,token:F},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async update(D,X,Y){return this.uploadOrUpdate("PUT",D,X,Y)}async move(D,X,Y){var Z=this;try{return{data:await Q8(Z.fetch,`${Z.url}/object/move`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers}),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async copy(D,X,Y){var Z=this;try{return{data:{path:(await Q8(Z.fetch,`${Z.url}/object/copy`,{bucketId:Z.bucketId,sourceKey:D,destinationKey:X,destinationBucket:Y===null||Y===void 0?void 0:Y.destinationBucket},{headers:Z.headers})).Key},error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async createSignedUrl(D,X,Y){var Z=this;try{let J=Z._getFinalPath(D),Q=await Q8(Z.fetch,`${Z.url}/object/sign/${J}`,G0({expiresIn:X},(Y===null||Y===void 0?void 0:Y.transform)?{transform:Y.transform}:{}),{headers:Z.headers}),w=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return Q={signedUrl:encodeURI(`${Z.url}${Q.signedURL}${w}`)},{data:Q,error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async createSignedUrls(D,X,Y){var Z=this;try{let J=await Q8(Z.fetch,`${Z.url}/object/sign/${Z.bucketId}`,{expiresIn:X,paths:D},{headers:Z.headers}),Q=(Y===null||Y===void 0?void 0:Y.download)?`&download=${Y.download===!0?"":Y.download}`:"";return{data:J.map((w)=>G0(G0({},w),{},{signedUrl:w.signedURL?encodeURI(`${Z.url}${w.signedURL}${Q}`):null})),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}download(D,X){let Y=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image/authenticated":"object",Z=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{}),J=Z?`?${Z}`:"",Q=this._getFinalPath(D);return new Pv(()=>z4(this.fetch,`${this.url}/${Y}/${Q}${J}`,{headers:this.headers,noResolveJson:!0}),this.shouldThrowOnError)}async info(D){var X=this;let Y=X._getFinalPath(D);try{return{data:yQ(await z4(X.fetch,`${X.url}/object/info/${Y}`,{headers:X.headers})),error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async exists(D){var X=this;let Y=X._getFinalPath(D);try{return await Iv(X.fetch,`${X.url}/object/${Y}`,{headers:X.headers}),{data:!0,error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(wD(Z)&&Z instanceof cX){let J=Z.originalError;if([400,404].includes(J===null||J===void 0?void 0:J.status))return{data:!1,error:Z}}throw Z}}getPublicUrl(D,X){let Y=this._getFinalPath(D),Z=[],J=(X===null||X===void 0?void 0:X.download)?`download=${X.download===!0?"":X.download}`:"";if(J!=="")Z.push(J);let Q=typeof(X===null||X===void 0?void 0:X.transform)<"u"?"render/image":"object",w=this.transformOptsToQueryString((X===null||X===void 0?void 0:X.transform)||{});if(w!=="")Z.push(w);let F=Z.join("&");if(F!=="")F=`?${F}`;return{data:{publicUrl:encodeURI(`${this.url}/${Q}/public/${Y}${F}`)}}}async remove(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/object/${X.bucketId}`,{prefixes:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async list(D,X,Y){var Z=this;try{let J=G0(G0(G0({},Sv),X),{},{prefix:D||""});return{data:await Q8(Z.fetch,`${Z.url}/object/list/${Z.bucketId}`,J,{headers:Z.headers},Y),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(wD(J))return{data:null,error:J};throw J}}async listV2(D,X){var Y=this;try{let Z=G0({},D);return{data:await Q8(Y.fetch,`${Y.url}/object/list-v2/${Y.bucketId}`,Z,{headers:Y.headers},X),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}encodeMetadata(D){return JSON.stringify(D)}toBase64(D){if(typeof Buffer<"u")return Buffer.from(D).toString("base64");return btoa(D)}_getFinalPath(D){return`${this.bucketId}/${D.replace(/^\/+/,"")}`}_removeEmptyFolders(D){return D.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}transformOptsToQueryString(D){let X=[];if(D.width)X.push(`width=${D.width}`);if(D.height)X.push(`height=${D.height}`);if(D.resize)X.push(`resize=${D.resize}`);if(D.format)X.push(`format=${D.format}`);if(D.quality)X.push(`quality=${D.quality}`);return X.join("&")}},QW="2.89.0",wW={"X-Client-Info":`storage-js/${QW}`},fv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1;let J=new URL(D);if(Z===null||Z===void 0?void 0:Z.useNewHostname){if(/supabase\.(co|in|red)$/.test(J.hostname)&&!J.hostname.includes("storage.supabase."))J.hostname=J.hostname.replace("supabase.","storage.supabase.")}this.url=J.href.replace(/\/$/,""),this.headers=G0(G0({},wW),X),this.fetch=uQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async listBuckets(D){var X=this;try{let Y=X.listBucketOptionsToQueryString(D);return{data:await z4(X.fetch,`${X.url}/bucket${Y}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await z4(X.fetch,`${X.url}/bucket/${D}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async createBucket(D,X={public:!1}){var Y=this;try{return{data:await Q8(Y.fetch,`${Y.url}/bucket`,{id:D,name:D,type:X.type,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async updateBucket(D,X){var Y=this;try{return{data:await kQ(Y.fetch,`${Y.url}/bucket/${D}`,{id:D,name:D,public:X.public,file_size_limit:X.fileSizeLimit,allowed_mime_types:X.allowedMimeTypes},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(wD(Z))return{data:null,error:Z};throw Z}}async emptyBucket(D){var X=this;try{return{data:await Q8(X.fetch,`${X.url}/bucket/${D}/empty`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}listBucketOptionsToQueryString(D){let X={};if(D){if("limit"in D)X.limit=String(D.limit);if("offset"in D)X.offset=String(D.offset);if(D.search)X.search=D.search;if(D.sortColumn)X.sortColumn=D.sortColumn;if(D.sortOrder)X.sortOrder=D.sortOrder}return Object.keys(X).length>0?"?"+new URLSearchParams(X).toString():""}},FW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},wW),X),this.fetch=uQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await Q8(X.fetch,`${X.url}/bucket`,{name:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async listBuckets(D){var X=this;try{let Y=new URLSearchParams;if((D===null||D===void 0?void 0:D.limit)!==void 0)Y.set("limit",D.limit.toString());if((D===null||D===void 0?void 0:D.offset)!==void 0)Y.set("offset",D.offset.toString());if(D===null||D===void 0?void 0:D.sortColumn)Y.set("sortColumn",D.sortColumn);if(D===null||D===void 0?void 0:D.sortOrder)Y.set("sortOrder",D.sortOrder);if(D===null||D===void 0?void 0:D.search)Y.set("search",D.search);let Z=Y.toString(),J=Z?`${X.url}/bucket?${Z}`:`${X.url}/bucket`;return{data:await z4(X.fetch,J,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await hQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(wD(Y))return{data:null,error:Y};throw Y}}from(D){var X=this;if(!Nv(D))throw new M4("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");let Y=new eO({baseUrl:this.url,catalogName:D,auth:{type:"custom",getHeaders:async()=>X.headers},fetch:this.fetch}),Z=this.shouldThrowOnError;return new Proxy(Y,{get(J,Q){let w=J[Q];if(typeof w!=="function")return w;return async(...F)=>{try{return{data:await w.apply(J,F),error:null}}catch($){if(Z)throw $;return{data:null,error:$}}}}})}},_Q={"X-Client-Info":`storage-js/${QW}`,"Content-Type":"application/json"},vQ=class extends Error{constructor(D){super(D);this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}};function A1(D){return typeof D==="object"&&D!==null&&"__isStorageVectorsError"in D}var dX=class extends vQ{constructor(D,X,Y){super(D);this.name="StorageVectorsApiError",this.status=X,this.statusCode=Y}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}},$W=class extends vQ{constructor(D,X){super(D);this.name="StorageVectorsUnknownError",this.originalError=X}},yv=function(D){return D.InternalError="InternalError",D.S3VectorConflictException="S3VectorConflictException",D.S3VectorNotFoundException="S3VectorNotFoundException",D.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",D.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",D.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded",D}({}),lX=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},kv=()=>{return Response},BW=(D)=>{if(typeof D!=="object"||D===null)return!1;let X=Object.getPrototypeOf(D);return(X===null||X===Object.prototype||Object.getPrototypeOf(X)===null)&&!(Symbol.toStringTag in D)&&!(Symbol.iterator in D)},uv=(D)=>{return Array.from(new Float32Array(D))},hv=(D,X)=>{if(X!==void 0&&D.float32.length!==X)throw Error(`Vector dimension mismatch: expected ${X}, got ${D.float32.length}`)},YW=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),_v=async(D,X,Y)=>{if(D&&typeof D==="object"&&"status"in D&&"ok"in D&&typeof D.status==="number"&&!(Y===null||Y===void 0?void 0:Y.noResolveJson)){let Z=D.status||500,J=D;if(typeof J.json==="function")J.json().then((Q)=>{let w=(Q===null||Q===void 0?void 0:Q.statusCode)||(Q===null||Q===void 0?void 0:Q.code)||Z+"";X(new dX(YW(Q),Z,w))}).catch(()=>{let Q=Z+"";X(new dX(J.statusText||`HTTP ${Z} error`,Z,Q))});else{let Q=Z+"";X(new dX(J.statusText||`HTTP ${Z} error`,Z,Q))}}else X(new $W(YW(D),D))},vv=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET"||!Z)return J;if(BW(Z))J.headers=G0({"Content-Type":"application/json"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z);else J.body=Z;return G0(G0({},J),Y)};async function bv(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,vv(X,Z,J,Q)).then(($)=>{if(!$.ok)throw $;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return $;let B=$.headers.get("content-type");if(!B||!B.includes("application/json"))return{};return $.json()}).then(($)=>w($)).catch(($)=>_v($,F,Z))})}async function k1(D,X,Y,Z,J){return bv(D,"POST",X,Z,J,Y)}var qW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createIndex(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/CreateIndex`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async getIndex(D,X){var Y=this;try{return{data:await k1(Y.fetch,`${Y.url}/GetIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(A1(Z))return{data:null,error:Z};throw Z}}async listIndexes(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/ListIndexes`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async deleteIndex(D,X){var Y=this;try{return{data:await k1(Y.fetch,`${Y.url}/DeleteIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers})||{},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(A1(Z))return{data:null,error:Z};throw Z}}},GW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async putVectors(D){var X=this;try{if(D.vectors.length<1||D.vectors.length>500)throw Error("Vector batch size must be between 1 and 500 items");return{data:await k1(X.fetch,`${X.url}/PutVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async getVectors(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/GetVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async listVectors(D){var X=this;try{if(D.segmentCount!==void 0){if(D.segmentCount<1||D.segmentCount>16)throw Error("segmentCount must be between 1 and 16");if(D.segmentIndex!==void 0){if(D.segmentIndex<0||D.segmentIndex>=D.segmentCount)throw Error(`segmentIndex must be between 0 and ${D.segmentCount-1}`)}}return{data:await k1(X.fetch,`${X.url}/ListVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async queryVectors(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/QueryVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async deleteVectors(D){var X=this;try{if(D.keys.length<1||D.keys.length>500)throw Error("Keys batch size must be between 1 and 500 items");return{data:await k1(X.fetch,`${X.url}/DeleteVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}},OW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},_Q),X),this.fetch=lX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/CreateVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/GetVectorBucket`,{vectorBucketName:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async listBuckets(D={}){var X=this;try{return{data:await k1(X.fetch,`${X.url}/ListVectorBuckets`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await k1(X.fetch,`${X.url}/DeleteVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(A1(Y))return{data:null,error:Y};throw Y}}},WW=class extends OW{constructor(D,X={}){super(D,X.headers||{},X.fetch)}from(D){return new KW(this.url,this.headers,D,this.fetch)}async createBucket(D){var X=()=>super.createBucket,Y=this;return X().call(Y,D)}async getBucket(D){var X=()=>super.getBucket,Y=this;return X().call(Y,D)}async listBuckets(D={}){var X=()=>super.listBuckets,Y=this;return X().call(Y,D)}async deleteBucket(D){var X=()=>super.deleteBucket,Y=this;return X().call(Y,D)}},KW=class extends qW{constructor(D,X,Y,Z){super(D,X,Z);this.vectorBucketName=Y}async createIndex(D){var X=()=>super.createIndex,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async listIndexes(D={}){var X=()=>super.listIndexes,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName}))}async getIndex(D){var X=()=>super.getIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}async deleteIndex(D){var X=()=>super.deleteIndex,Y=this;return X().call(Y,Y.vectorBucketName,D)}index(D){return new HW(this.url,this.headers,this.vectorBucketName,D,this.fetch)}},HW=class extends GW{constructor(D,X,Y,Z,J){super(D,X,J);this.vectorBucketName=Y,this.indexName=Z}async putVectors(D){var X=()=>super.putVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async getVectors(D){var X=()=>super.getVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async listVectors(D={}){var X=()=>super.listVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async queryVectors(D){var X=()=>super.queryVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}async deleteVectors(D){var X=()=>super.deleteVectors,Y=this;return X().call(Y,G0(G0({},D),{},{vectorBucketName:Y.vectorBucketName,indexName:Y.indexName}))}},bQ=class extends fv{constructor(D,X={},Y,Z){super(D,X,Y,Z)}from(D){return new xv(this.url,this.headers,D,this.fetch)}get vectors(){return new WW(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new FW(this.url+"/iceberg",this.headers,this.fetch)}};var wK=L0(Fw(),1);J0(Z0,L0(xQ(),1),module.exports);J0(Z0,L0(Fw(),1),module.exports);var Kg="2.89.0",A4="";if(typeof Deno<"u")A4="deno";else if(typeof document<"u")A4="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")A4="react-native";else A4="node";var Hg={"X-Client-Info":`supabase-js-${A4}/${Kg}`},zg={headers:Hg},Mg={schema:"public"},Vg={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Lg={};function E4(D){return E4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(X){return typeof X}:function(X){return X&&typeof Symbol=="function"&&X.constructor===Symbol&&X!==Symbol.prototype?"symbol":typeof X},E4(D)}function Ug(D,X){if(E4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(E4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Ng(D){var X=Ug(D,"string");return E4(X)=="symbol"?X:X+""}function Rg(D,X,Y){return(X=Ng(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function JK(D,X){var Y=Object.keys(D);if(Object.getOwnPropertySymbols){var Z=Object.getOwnPropertySymbols(D);X&&(Z=Z.filter(function(J){return Object.getOwnPropertyDescriptor(D,J).enumerable})),Y.push.apply(Y,Z)}return Y}function UD(D){for(var X=1;X<arguments.length;X++){var Y=arguments[X]!=null?arguments[X]:{};X%2?JK(Object(Y),!0).forEach(function(Z){Rg(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):JK(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var Ag=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Eg=()=>{return Headers},Cg=(D,X,Y)=>{let Z=Ag(Y),J=Eg();return async(Q,w)=>{var F;let $=(F=await X())!==null&&F!==void 0?F:D,B=new J(w===null||w===void 0?void 0:w.headers);if(!B.has("apikey"))B.set("apikey",D);if(!B.has("Authorization"))B.set("Authorization",`Bearer ${$}`);return Z(Q,UD(UD({},w),{},{headers:B}))}};function jg(D){return D.endsWith("/")?D:D+"/"}function Ig(D,X){var Y,Z;let{db:J,auth:Q,realtime:w,global:F}=D,{db:$,auth:B,realtime:q,global:G}=X,W={db:UD(UD({},$),J),auth:UD(UD({},B),Q),realtime:UD(UD({},q),w),storage:{},global:UD(UD(UD({},G),F),{},{headers:UD(UD({},(Y=G===null||G===void 0?void 0:G.headers)!==null&&Y!==void 0?Y:{}),(Z=F===null||F===void 0?void 0:F.headers)!==null&&Z!==void 0?Z:{})}),accessToken:async()=>""};if(D.accessToken)W.accessToken=D.accessToken;else delete W.accessToken;return W}function Tg(D){let X=D===null||D===void 0?void 0:D.trim();if(!X)throw Error("supabaseUrl is required.");if(!X.match(/^https?:\/\//i))throw Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(jg(X))}catch(Y){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var Pg=class extends wK.AuthClient{constructor(D){super(D)}},FK=class{constructor(D,X,Y){var Z,J;this.supabaseUrl=D,this.supabaseKey=X;let Q=Tg(D);if(!X)throw Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",Q),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",Q),this.storageUrl=new URL("storage/v1",Q),this.functionsUrl=new URL("functions/v1",Q);let w=`sb-${Q.hostname.split(".")[0]}-auth-token`,F={db:Mg,realtime:Lg,auth:UD(UD({},Vg),{},{storageKey:w}),global:zg},$=Ig(Y!==null&&Y!==void 0?Y:{},F);if(this.storageKey=(Z=$.auth.storageKey)!==null&&Z!==void 0?Z:"",this.headers=(J=$.global.headers)!==null&&J!==void 0?J:{},!$.accessToken){var B;this.auth=this._initSupabaseAuthClient((B=$.auth)!==null&&B!==void 0?B:{},this.headers,$.global.fetch)}else this.accessToken=$.accessToken,this.auth=new Proxy({},{get:(q,G)=>{throw Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(G)} is not possible`)}});if(this.fetch=Cg(X,this._getAccessToken.bind(this),$.global.fetch),this.realtime=this._initRealtimeClient(UD({headers:this.headers,accessToken:this._getAccessToken.bind(this)},$.realtime)),this.accessToken)this.accessToken().then((q)=>this.realtime.setAuth(q)).catch((q)=>console.warn("Failed to set initial Realtime auth token:",q));if(this.rest=new yX(new URL("rest/v1",Q).href,{headers:this.headers,schema:$.db.schema,fetch:this.fetch}),this.storage=new bQ(this.storageUrl.href,this.headers,this.fetch,Y===null||Y===void 0?void 0:Y.storage),!$.accessToken)this._listenForAuthEvents()}get functions(){return new oD.FunctionsClient(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(D){return this.rest.from(D)}schema(D){return this.rest.schema(D)}rpc(D,X={},Y={head:!1,get:!1,count:void 0}){return this.rest.rpc(D,X,Y)}channel(D,X={config:{}}){return this.realtime.channel(D,X)}getChannels(){return this.realtime.getChannels()}removeChannel(D){return this.realtime.removeChannel(D)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var D=this,X,Y;if(D.accessToken)return await D.accessToken();let{data:Z}=await D.auth.getSession();return(X=(Y=Z.session)===null||Y===void 0?void 0:Y.access_token)!==null&&X!==void 0?X:D.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,storageKey:Q,flowType:w,lock:F,debug:$,throwOnError:B},q,G){let W={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Pg({url:this.authUrl.href,headers:UD(UD({},W),q),storageKey:Q,autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,flowType:w,lock:F,debug:$,throwOnError:B,fetch:G,hasCustomAuthorizationHeader:Object.keys(this.headers).some((O)=>O.toLowerCase()==="authorization")})}_initRealtimeClient(D){return new QK.RealtimeClient(this.realtimeUrl.href,UD(UD({},D),{},{params:UD(UD({},{apikey:this.supabaseKey}),D===null||D===void 0?void 0:D.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((D,X)=>{this._handleTokenChanged(D,"CLIENT",X===null||X===void 0?void 0:X.access_token)})}_handleTokenChanged(D,X,Y){if((D==="TOKEN_REFRESHED"||D==="SIGNED_IN")&&this.changedAccessToken!==Y)this.changedAccessToken=Y,this.realtime.setAuth(Y);else if(D==="SIGNED_OUT"){if(this.realtime.setAuth(),X=="STORAGE")this.auth.signOut();this.changedAccessToken=void 0}}},$w=(D,X,Y)=>{return new FK(D,X,Y)};function Sg(){if(typeof window<"u")return!1;if(typeof process>"u")return!1;let D=process.version;if(D===void 0||D===null)return!1;let X=D.match(/^v(\d+)\./);if(!X)return!1;return parseInt(X[1],10)<=18}if(Sg())console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");var Pq=L0(Kw(),1),Iy=L0(HH(),1),BJ=L0($Z(),1);var t8={name:"@capgo/cli",version:"7.68.1",type:"module",description:"A CLI to upload to capgo servers",author:"Martin martin@capgo.app",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLI#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli","sdk"],exports:{".":{import:"./dist/index.js",require:"./dist/index.js"},"./sdk":{types:"./dist/src/sdk.d.ts",import:"./dist/src/sdk.js",require:"./dist/src/sdk.js"}},main:"dist/index.js",types:"dist/src/index.d.ts",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=20.0.0"},scripts:{build:"tsc && bun build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",typecheck:"tsc --noEmit",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js","generate-docs":"node dist/index.js generate-docs README.md","test:bundle":"bun test/test-bundle.mjs","test:functional":"bun test/test-functional.mjs","test:semver":"bun test/test-semver-validation.mjs","test:version-edge-cases":"bun test/test-version-validation.mjs","test:regex":"bun test/test-regex-validation.mjs","test:upload":"bun test/test-upload-validation.mjs","test:credentials":"bun test/test-credentials.mjs","test:credentials-validation":"bun test/test-credentials-validation.mjs","test:version-detection":"node test/test-get-installed-version.mjs","test:version-detection:setup":"./test/fixtures/setup-test-projects.sh",test:"bun run test:bundle && bun run test:functional && bun run test:semver && bun run test:version-edge-cases && bun run test:regex && bun run test:upload && bun run test:credentials && bun run test:credentials-validation && bun run test:version-detection"},devDependencies:{"@antfu/eslint-config":"^6.1.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client@0.9.4","@capacitor/cli":"^8.0.0","@capgo/find-package-manager":"^0.0.18","@clack/prompts":"^0.11.0","@modelcontextprotocol/sdk":"^1.0.0","@sauber/table":"npm:@jsr/sauber__table","@std/semver":"npm:@jsr/std__semver@1.0.6","@supabase/supabase-js":"^2.79.0","@types/adm-zip":"^0.5.7","@types/node":"^24","@types/prettyjson":"^0.0.33","@types/tmp":"^0.2.6","@vercel/ncc":"^0.38.4","adm-zip":"^0.5.16","ci-info":"^4.3.1",commander:"^14.0.2",eslint:"^9.38.0","git-format-staged":"3.1.3",husky:"^9.1.7","is-wsl":"^3.1.0",micromatch:"^4.0.8",open:"^11.0.0",prettyjson:"^1.2.5",tmp:"^0.2.5","tus-js-client":"^4.3.1",typescript:"^5.9.3",zod:"^3.24.0"}};async function BZ(D){try{let Y=`https://registry.npmjs.org/${encodeURIComponent(D.toLowerCase())}`,Z=await fetch(Y,{headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"}});if(!Z.ok)return null;return(await Z.json())["dist-tags"]?.latest||null}catch{return null}}async function s0(){let D=await BZ("@capgo/cli")??"",X=D?.split(".")[0];if(D!==t8.version)H.warning(`\uD83D\uDEA8 You are using @capgo/cli@${t8.version} it's not the latest version.
315
315
  Please use @capgo/cli@${D}" or @capgo/cli@${X} to keep up to date with the latest features and bug fixes.`)}async function RV(D,X,Y,Z,J,Q="✅"){await A0(Y,{channel:D,event:Z,icon:Q,user_id:X,...J?{tags:{"app-id":J}}:{},notify:!1})}var SF=require("node:buffer"),AV=require("node:crypto"),Qa=(()=>{let D=[];for(let X=0;X<256;X++){let Y=X;for(let Z=0;Z<8;Z++)Y=Y&1?3988292384^Y>>>1:Y>>>1;D[X]=Y}return D})();function wa(D){let X=4294967295;for(let Y=0;Y<D.length;Y++){let Z=D[Y];X=Qa[(X^Z)&255]^X>>>8}return X=X^4294967295,(X>>>0).toString(16).padStart(8,"0")}async function r8(D,X="sha256"){let Y=SF.Buffer.isBuffer(D)?D:SF.Buffer.from(D);if(X==="crc32")return wa(Y);let Z=AV.createHash(X);return Z.update(Y),Z.digest("hex")}var p3=L0(yf(),1);async function kf(){let D=await p3.loadConfig();return{config:D.app.extConfig,path:D.app.extConfigFilePath}}async function Qq(D,X,Y=!1){let Z=await p3.loadConfig(),{extConfig:J}=Z.app;if(J){if(!J.plugins)J.plugins={extConfig:{},[D]:{}};if(!J.plugins[D])J.plugins[D]={};if(!Y)J.plugins[D]=X.config.plugins?.[D];else J=X.config;p3.writeConfig(J,Z.app.extConfigFilePath)}}async function u7(D,X=!1){await Qq("CapacitorUpdater",D,X)}var h7={ORG_REQUIRES_EXPIRING_KEY:"org_requires_expiring_key",EXPIRATION_REQUIRED:"expiration_required",EXPIRATION_EXCEEDS_MAX:"expiration_exceeds_max"},a3={[h7.ORG_REQUIRES_EXPIRING_KEY]:`This organization requires API keys with expiration dates.
316
316
 
317
317
  Please generate a new API key with an expiration:
@@ -379,7 +379,7 @@ PS: You can ignore this check with "--ignore-checksum-check"`),Error("Cannot upl
379
379
  `).eq("app_id",X).order("created_at",{ascending:!1});if(J){if(!Y)H.error(`App ${X} not found in database`);throw Error(`App ${X} not found in database: ${p(J)}`)}return Z}async function hq(D,X,Y,Z={}){let{silent:J=!1}=Z,{error:Q}=await D.from("app_versions").update({deleted:!0}).eq("app_id",X).eq("deleted",!1).eq("name",Y);if(Q){let w=`App version ${X}@${Y} not found in database`;if(!J)H.error(w);throw Error(`${w}: ${p(Q)}`)}}async function VJ(D,X,Y,Z={}){let{silent:J=!1,autoUnlink:Q=!1}=Z,w=await u40(D,X,Y,{silent:J});await ty(D,X,w,{silent:J,autoUnlink:Q}),await hq(D,X,Y,{silent:J})}function Zk(D,X=!1){if(X)return;if(!D.length)throw Error("No bundle found");let Y=new MD;Y.theme=MD.roundTheme,Y.headers=["Version","Created","Keep"],Y.rows=[];for(let Z of D.toReversed())Y.rows.push([Z.name,c7(Z.created_at),Z.keep??""]);H.success("Bundles"),H.success(Y.toString())}async function LJ(D,X,Y={}){let{silent:Z=!1}=Y,{data:J,error:Q}=await D.from("app_versions").select().eq("app_id",X).eq("deleted",!1).order("created_at",{ascending:!1});if(Q){let w=`App ${X} not found in database`;if(!Z)H.error(w);throw Error(`${w}: ${p(Q)}`)}return J??[]}async function Jk(D,X,Y={}){let{silent:Z=!1}=Y,{data:J,error:Q}=await D.from("channels").select("version").eq("app_id",X);if(Q){let w=`App ${X} not found in database`;if(!Z)H.error(w);throw Error(`${w}: ${p(Q)}`)}return(J??[]).map((w)=>w.version)}async function u40(D,X,Y,Z={}){let{silent:J=!1}=Z,{data:Q,error:w}=await D.from("app_versions").select().eq("app_id",X).eq("name",Y).eq("deleted",!1).single();if(!Q||w){let F=`App version ${X}@${Y} doesn't exist`;if(!J)H.error(F);throw Error(`${F}${w?`: ${p(w)}`:""}`)}return Q}var l7=require("node:fs");async function Qk(D,X){let{data:Y}=await D.rpc("exist_app_v2",{appid:X}).single();return!!Y}async function _D(D,X,Y=!1){let{data:Z,error:J}=await D.rpc("reject_access_due_to_2fa_for_app",{app_id:X});if(J){if(!Y)H.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Z){if(Y)throw Error("2FA required for this organization");fq()}}async function CD(D,X,Y,Z,J=!1,Q=!1){let w=$5();if(!Q)await _D(D,Y,J);let F=await yy(D,X,Y);if(!F.okay)switch(F.error){case"INVALID_APIKEY":{if(!J)H.error("Invalid apikey, such apikey does not exists!");throw Error("Invalid apikey, such apikey does not exists!")}case"NO_APP":{let q=`App ${Y} does not exist, run first \`${w.runner} @capgo/cli app add ${Y}\` to create it`;if(!J)H.error(q);throw Error(q)}case"NO_ORG":{if(!J)H.error("Could not find organization, please contact support to resolve this!");throw Error("Could not find organization, please contact support to resolve this!")}}let $=F.data;if(Z>$){let q=`Insuficcent permissions for app ${Y}. Current permission: ${M1[F.data]}, required for this action: ${M1[Z]}.`;if(!J)H.error(q);throw Error(q)}return F.data}var o1="assets/icon.png";var h40=/^[a-z0-9]+(\.[\w-]+)+$/i;function _40(D,X,Y){if(!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(D.includes("--")){if(!Y)H.error('The app id includes illegal symbols. You cannot use "--" in the app id');throw Error("App id includes illegal symbols")}if(!h40.test(D)){if(!Y)H.error(`Invalid app ID format: "${D}"`),H.info("App ID must be in reverse domain notation (e.g., com.example.app)"),H.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),H.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app");throw Error("Invalid app ID format")}}async function v40(D,X,Y){if(!await Qk(D,X))return;if(X==="io.ionic.starter"){if(!Y)H.error(`This appId ${X} cannot be used it's reserved, please change it in your capacitor config.`);throw Error("Reserved appId, please change it in capacitor config")}if(!Y)H.error(`App ${X} already exist`);throw Error(`App ${X} already exists`)}async function wk(D,X,Y,Z=!1){if(!Z)B0("Adding");await s0(),X.apikey=X.apikey||Q0();let J=await K0(),Q=b0(D,J?.config);_40(Q,X,Z);let w=await H0(X.apikey,X.supaHost,X.supaAnon),F=await N0(w,X.apikey,["write","all"]);if(await v40(w,Q,Z),!Y)Y=await zJ(w,["admin","super_admin"]);let $=Y.gid,{name:B,icon:q}=X;if(B=B||J.config?.appName||"Unknown",q=q||"resources/icon.png",!q||!B){if(!Z)H.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project");throw Error("Missing app name or icon path")}if(!Z)H.info(`Adding ${Q} to Capgo`);let G=null,W=null;if(q&&l7.existsSync(q)){if(G=l7.readFileSync(q),W=D9(q)||"image/png",!Z)H.warn(`Found app icon ${q}`)}else if(l7.existsSync(o1)){if(G=l7.readFileSync(o1),W=D9(o1)||"image/png",!Z)H.warn(`Found app icon ${o1}`)}else if(!Z)H.warn(`Cannot find app icon in any of the following locations: ${q}, ${o1}`);let O="icon",K="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(G&&W){let{error:U}=await w.storage.from(`images/org/${$}/${Q}`).upload(O,G,{contentType:W});if(U){if(!Z)console.error(U);if(!Z)H.error(`Could not add app ${p(U)}`);throw Error(`Could not add app ${p(U)}`)}let{data:N}=await w.storage.from(`images/org/${$}/${Q}`).getPublicUrl(O);K=N?.publicUrl||K}let{error:M}=await w.from("apps").insert({icon_url:K,owner_org:$,user_id:F,name:B,app_id:Q});if(M){if(!Z)H.error(`Could not add app ${p(M)}`);throw Error(`Could not add app ${p(M)}`)}if(!Z)H.success(`App ${Q} added to Capgo`),H.info("This app is accessible to all members of your organization based on their permissions"),H.info(`Next step: upload a bundle with "npx @capgo/cli bundle upload ${Q}"`),q0("Done ✅");return{appId:Q,organizationUid:$,userId:F,name:B,signedURL:K}}async function Fk(D,X,Y=!1,Z=!1){if(!Y)B0("Deleting");X.apikey=X.apikey||Q0();let J=await K0(),Q=b0(D,J?.config);if(!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Q){if(!Y)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let w=await H0(X.apikey,X.supaHost,X.supaAnon),F=await N0(w,X.apikey,["write","all"]);await CD(w,X.apikey,Q,5,Y);let{data:$,error:B}=await w.from("apps").select("owner_org ( created_by, id )").eq("app_id",Q).single(),q=$;if(!Z&&!B&&(q?.owner_org.created_by??"")!==F)if(!Y){H.warn("Deleting the app is not recommended for users that are not the organization owner"),H.warn("You are invited as a super_admin but your are not the owner"),H.warn("It's strongly recommended that you do not continue!");let M=await H8({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(c0(M)||M==="no")throw H.error("Canceled deleting the app, exiting"),Error("App deletion cancelled")}else throw Error("Cannot delete app: you are not the organization owner");else if(B&&!Y)H.warn(`Cannot get the app owner ${p(B)}`);let{error:G}=await w.storage.from("images").remove([`org/${q?.owner_org.id}/${Q}/icon`]);if(G&&!Y)H.error("Could not delete app logo");let{error:W}=await w.storage.from(`apps/${Q}/${F}`).remove(["versions"]);if(W&&!Y)H.error("Could not delete app version");let{error:O}=await w.from("apps").delete().eq("app_id",Q);if(O){if(!Y)H.error("Could not delete app");throw Error(`Could not delete app: ${p(O)}`)}let K=await F1(w,Q);if(await A0(X.apikey,{channel:"app",event:"App Deleted",icon:"\uD83D\uDDD1️",user_id:K,tags:{"app-id":Q},notify:!1}).catch(()=>{}),!Y)H.success("App deleted in Capgo"),q0("Done ✅");return!0}var UJ=require("node:os"),Bk=require("node:process");async function $k(D){let X={},Y=Object.keys(D);return(await Promise.all(Y.map((J)=>BZ(J)))).forEach((J,Q)=>{if(J)X[Y[Q]]=J}),X}async function b40(){let D=await OJ(),X={"@capgo/cli":t8.version};for(let[Y,Z]of D)if(Y.startsWith("@capgo/")||Y.startsWith("@capawesome/")||Y.startsWith("capacitor"))X[Y]=Z;return X}async function qk(D,X=!1){if(!X)H.warn(" \uD83D\uDC8A Capgo Doctor \uD83D\uDC8A");let Y=await K0(),Z=o6("",D.packageJson),J=Y?.config?.plugins?.CapacitorUpdater?.version||Z,Q=Y?.config?.appName||"",w=b0("",Y?.config),F=Y?.config?.webDir||"";if(!X)H.info(` App Name: ${Q}`),H.info(` App ID: ${w}`),H.info(` App Version: ${J}`),H.info(` Web Dir: ${F}`),H.info(` OS: ${UJ.platform()} ${UJ.version()}`),H.info(` Node: ${Bk.version}`),H.info(" Installed Dependencies:");let $=await b40();if(Object.keys($).length===0){if(!X)H.warning("\x1B[31m%s\x1B[0m \uD83D\uDEA8 No dependencies found");throw Error("No dependencies found")}if(!X)for(let q of Object.keys($))H.info(` ${q}: ${$[q]}`);let B={};if(!X){let q=xD();q.start("Running: Loading latest dependencies"),B=await $k($),q.stop("Latest Dependencies:");for(let G of Object.keys(B))H.info(` ${G}: ${B[G]}`)}else B=await $k($);if(JSON.stringify($)!==JSON.stringify(B)){if(!X)H.warn("\x1B[31m\uD83D\uDEA8 Some dependencies are not up to date\x1B[0m");throw Error("Some dependencies are not up to date")}if(!X)H.success("\x1B[32m✅ All dependencies are up to date\x1B[0m");return{appName:Q,appId:w,appVersion:J,webDir:F,installedDependencies:$,latestDependencies:B}}function g40(D){let X=new MD;X.headers=["Name","id","Created"],X.rows=[];for(let Y of D.toReversed())X.rows.push([Y.name??"",Y.app_id,c7(Y.created_at)]);H.success("Apps"),H.success(X.toString())}async function m40(D,X){let{data:Y,error:Z}=await D.from("apps").select().order("created_at",{ascending:!1});if(Z){if(!X)H.error("Apps not found");throw Error("Apps not found")}return Y??[]}async function Gk(D,X=!1){if(!X)B0("List apps in Capgo");await s0(),D.apikey=D.apikey||Q0();let Y=await H0(D.apikey,D.supaHost,D.supaAnon);if(await N0(Y,D.apikey,["write","all","read","upload"]),!X)H.info("Getting active bundle in Capgo");let Z=await m40(Y,X);if(!Z.length){if(!X)H.error("No apps found");throw Error("No apps found")}if(!X)H.info(`Active app in Capgo: ${Z.length}`),g40(Z),q0("Done ✅");return Z}var Ok=require("node:crypto"),n7=require("node:fs");async function Wk(D,X,Y=!1){if(!Y)B0("Set app");X.apikey=X.apikey||Q0();let Z=await K0();if(D=b0(D,Z?.config),!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await H0(X.apikey,X.supaHost,X.supaAnon),w=(await zJ(J,["admin","super_admin"])).gid,F=await N0(J,X.apikey,["write","all"]);await CD(J,X.apikey,D,4,Y);let{name:$,icon:B,retention:q,exposeMetadata:G}=X;if(q&&Number.isNaN(Number(q))){if(!Y)H.error("retention value must be a number");throw Error("Retention value must be a number")}else if(q&&q<0){if(!Y)H.error("retention value cannot be less than 0");throw Error("Retention value cannot be less than 0")}else if(q&&q>=63113904){if(!Y)H.error("retention value cannot be greater than 63113904 seconds (2 years)");throw Error("Retention value cannot be greater than 63113904 seconds (2 years)")}let W,O,K=`icon_${Ok.randomUUID()}`,M="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(B&&n7.existsSync(B)){if(W=n7.readFileSync(B),O=D9(B)||"image/png",!Y)H.warn(`Found app icon ${B}`)}else if(n7.existsSync(o1)){if(W=n7.readFileSync(o1),O=D9(o1)||"image/png",!Y)H.warn(`Found app icon ${o1}`)}else if(!Y)H.warn(`Cannot find app icon in any of the following locations: ${B}, ${o1}`);if(W&&O){let{error:N}=await J.storage.from(`images/org/${w}/${D}`).upload(K,W,{contentType:O});if(N){if(!Y)H.error(`Could not set app ${p(N)}`);throw Error(`Could not set app: ${p(N)}`)}let{data:A}=await J.storage.from(`images/org/${w}/${D}`).getPublicUrl(K);M=A?.publicUrl||M}let{error:U}=await J.from("apps").update({icon_url:M,name:$,retention:!q?void 0:q*24*60*60,expose_metadata:G}).eq("app_id",D).eq("user_id",F);if(U){if(!Y)H.error(`Could not set app ${p(U)}`);throw Error(`Could not set app: ${p(U)}`)}if(!Y)q0("Done ✅");return!0}async function Kk(D,X,Y=!1){if(!Y)B0("Set a specific setting in capacitor config");if(X.bool&&X.string){if(!Y)H.error("Bool and string CANNOT be set at the same time");throw Error("Bool and string cannot both be provided")}if(!X.bool&&!X.string){if(!Y)H.error("You MUST provide either bool or string as the value");throw Error("Either bool or string value is required")}if(X.bool&&X.bool!=="true"&&X.bool!=="false"){if(!Y)H.error("Invalid bool");throw Error("Invalid bool value; expected true or false")}try{let Z=await K0(),J=Z.config,Q=D.split(".");if(Q.length===0){if(!Y)H.error("Invalid path");throw Error("Invalid config path")}for(let F of Q.slice(0,-1)){if(!Object.prototype.hasOwnProperty.call(J,F))J[F]={};J=J[F]}let w=X.bool?X.bool==="true":X.string;if(J[Q.at(-1)]=w,await u7(Z,!0),!Y)H.success(`Set "${D}" to "${w}"`)}catch(Z){if(!Y)H.error(`Cannot set config in capacitor settings ${p(Z)}`);throw Error(`Cannot set capacitor config: ${p(Z)}`)}if(!Y)q0("Done ✅")}var g8=require("node:fs"),e1=require("node:fs/promises"),Vk=require("node:os"),D8=require("node:path"),vq=require("node:process");var Lk=L0(Kw(),1),AJ=L0($Z(),1);var NJ=require("node:fs/promises"),Hk=require("node:os"),RJ=require("node:path"),P0=require("node:process"),d40=RJ.join(Hk.homedir(),".capgo-credentials"),c40=RJ.join(d40,"credentials.json"),l40=".capgo-credentials.json";function n40(D){return D?RJ.join(P0.cwd(),l40):c40}async function _q(D){try{let X=n40(D),Y=await NJ.readFile(X,"utf-8");return JSON.parse(Y)}catch{return{}}}async function i40(D,X){if(X!==void 0){let J=await _q(X);if(!D){let Q=Object.keys(J);if(Q.length===0)return null;return J[Q[0]]||null}return J[D]||null}let Y=await _q(!0),Z=await _q(!1);if(!D){let J=Object.keys(Y);if(J.length>0)return Y[J[0]]||null;let Q=Object.keys(Z);if(Q.length===0)return null;return Z[Q[0]]||null}return Y[D]||Z[D]||null}function p40(){let D={};if(P0.env.BUILD_CERTIFICATE_BASE64)D.BUILD_CERTIFICATE_BASE64=P0.env.BUILD_CERTIFICATE_BASE64;if(P0.env.BUILD_PROVISION_PROFILE_BASE64)D.BUILD_PROVISION_PROFILE_BASE64=P0.env.BUILD_PROVISION_PROFILE_BASE64;if(P0.env.BUILD_PROVISION_PROFILE_BASE64_PROD)D.BUILD_PROVISION_PROFILE_BASE64_PROD=P0.env.BUILD_PROVISION_PROFILE_BASE64_PROD;if(P0.env.P12_PASSWORD)D.P12_PASSWORD=P0.env.P12_PASSWORD;if(P0.env.APPLE_KEY_ID)D.APPLE_KEY_ID=P0.env.APPLE_KEY_ID;if(P0.env.APPLE_ISSUER_ID)D.APPLE_ISSUER_ID=P0.env.APPLE_ISSUER_ID;if(P0.env.APPLE_KEY_CONTENT)D.APPLE_KEY_CONTENT=P0.env.APPLE_KEY_CONTENT;if(P0.env.APPLE_PROFILE_NAME)D.APPLE_PROFILE_NAME=P0.env.APPLE_PROFILE_NAME;if(P0.env.APP_STORE_CONNECT_TEAM_ID)D.APP_STORE_CONNECT_TEAM_ID=P0.env.APP_STORE_CONNECT_TEAM_ID;if(P0.env.ANDROID_KEYSTORE_FILE)D.ANDROID_KEYSTORE_FILE=P0.env.ANDROID_KEYSTORE_FILE;if(P0.env.KEYSTORE_KEY_ALIAS)D.KEYSTORE_KEY_ALIAS=P0.env.KEYSTORE_KEY_ALIAS;if(P0.env.KEYSTORE_KEY_PASSWORD)D.KEYSTORE_KEY_PASSWORD=P0.env.KEYSTORE_KEY_PASSWORD;if(P0.env.KEYSTORE_STORE_PASSWORD)D.KEYSTORE_STORE_PASSWORD=P0.env.KEYSTORE_STORE_PASSWORD;if(P0.env.PLAY_CONFIG_JSON)D.PLAY_CONFIG_JSON=P0.env.PLAY_CONFIG_JSON;return D}async function zk(D,X,Y){let Z=await i40(D),J=p40(),Q={...Z?.[X]||{}};if(Object.assign(Q,J),Y)Object.assign(Q,Y);if(X==="android"){let w=!!Q.KEYSTORE_KEY_PASSWORD,F=!!Q.KEYSTORE_STORE_PASSWORD;if(w&&!F)Q.KEYSTORE_STORE_PASSWORD=Q.KEYSTORE_KEY_PASSWORD;else if(!w&&F)Q.KEYSTORE_KEY_PASSWORD=Q.KEYSTORE_STORE_PASSWORD}return Object.keys(Q).length>0?Q:void 0}async function a40(D,X,Y,Z,J,Q=!1){if(J)return null;let w=null,F=!1,$=`${D}/build/logs/${X}?app_id=${encodeURIComponent(Y)}`;H.info(`Connecting to log stream: ${$}`);try{let B=await fetch($,{headers:{authorization:Z}});if(H.info(`Log stream response: ${B.status}`),!B.ok){let K=await B.text().catch(()=>"unknown error");return H.warn(`Could not stream logs (${B.status}): ${K}`),null}let q=B.body?.getReader();if(!q)return H.warn("No response body for log stream"),null;H.info("Reading log stream...");let G=new TextDecoder,W="",O=(K)=>{if(!K.trim())return;let M=K.match(/^(?:Build|Job already) (succeeded|failed|expired|released|cancelled)$/i);if(M){w=M[1].toLowerCase();return}if(w)return;if(!F)F=!0,H.info("");H.info(K)};while(!0){let{done:K,value:M}=await q.read();if(K)break;W+=G.decode(M,{stream:!0});let U=W.split(`
380
380
  `);W=U.pop()||"";for(let N of U)if(N.startsWith("data: ")){let A=N.slice(6);O(A)}}if(W.startsWith("data: ")){let K=W.slice(6);O(K)}return w}catch(B){if(!J)H.warn(`Log streaming interrupted${B instanceof Error?`: ${B.message}`:""}`);return null}}async function t40(D,X,Y,Z,J,Q){let F=0;while(F<120)try{let $=await fetch(`${D}/build/status?job_id=${encodeURIComponent(X)}&app_id=${encodeURIComponent(Y)}&platform=${Z}`,{headers:{authorization:J}});if(!$.ok){if(!Q)H.warn(`Status check failed: ${$.status}`);await new Promise((q)=>setTimeout(q,5000)),F++;continue}let B=await $.json();if(B.status==="succeeded"||B.status==="failed")return B.status;await new Promise((q)=>setTimeout(q,5000)),F++}catch($){if(!Q)H.warn(`Status check error: ${$}`);await new Promise((B)=>setTimeout(B,5000)),F++}if(!Q)H.warn("Build status polling timed out");return"timeout"}async function r40(D,X){let Y=new Set,Z=!1;if(X==="ios"){let J=D8.join(D,"ios/App/CapApp-SPM/Package.swift");if(g8.existsSync(J)){Z=!0;let w=(await e1.readFile(J,"utf-8")).matchAll(/\.package\s*\([^)]*path:\s*["'](?:\.\.\/)*node_modules\/([^"']+)["']\s*\)/g);for(let F of w)Y.add(F[1])}else{let Q=D8.join(D,"ios/App/Podfile");if(g8.existsSync(Q)){let F=(await e1.readFile(Q,"utf-8")).matchAll(/pod\s+['"][^'"]+['"],\s*:path\s*=>\s*['"]\.\.\/\.\.\/node_modules\/([^'"]+)['"]/g);for(let $ of F)Y.add($[1])}}}else if(X==="android"){let J=D8.join(D,"android/capacitor.settings.gradle");if(g8.existsSync(J)){let w=(await e1.readFile(J,"utf-8")).matchAll(/new\s+File\s*\(\s*['"]\.\.\/node_modules\/([^'"]+)['"]\s*\)/g);for(let F of w){let B=F[1].replace(/\/android$/,"");Y.add(B)}}}return{packages:Y,usesSPM:Z}}function Mk(D,X,Y){let Z=D.replace(/\\/g,"/");if(Z.startsWith(`${X}/`))return!0;if(Z==="package.json"||Z==="package-lock.json"||Z.startsWith("capacitor.config."))return!0;if(Z.startsWith("resources/"))return!0;if(X==="ios"&&Z.startsWith("node_modules/@capacitor/ios/"))return!0;if(X==="android"&&Z.startsWith("node_modules/@capacitor/android/"))return!0;for(let J of Y.packages){let Q=`node_modules/${J}/`;if(X==="android"){if(Z.startsWith(`${Q}android/`))return!0}else if(X==="ios"){if(Z.startsWith(`${Q}ios/`))return!0;if(Y.usesSPM){if(Z===`${Q}Package.swift`)return!0}else if(Z.startsWith(Q)&&Z.endsWith(".podspec"))return!0}}return!1}function e3(D,X,Y,Z,J){let Q=g8.readdirSync(X);for(let w of Q){let F=D8.join(X,w),$=Y?`${Y}/${w}`:w,B=g8.statSync(F);if(B.isDirectory()){if(w===".git"||w==="dist"||w==="build"||w===".angular"||w===".vite"||w===".gradle"||w===".idea"||w===".swiftpm")continue;if(w===Z){e3(D,F,$,Z,J);continue}if(w==="node_modules"){e3(D,F,$,Z,J);continue}if(w==="resources"){e3(D,F,$,Z,J);continue}let q=$.replace(/\\/g,"/");if(Mk($,Z,J)||Array.from(J.packages).some((W)=>{return`node_modules/${W}/`.startsWith(`${q}/`)||q.startsWith(`node_modules/${W}`)}))e3(D,F,$,Z,J)}else if(B.isFile()){if(w===".DS_Store"||w.endsWith(".log"))continue;if(Mk($,Z,J))D.addLocalFile(F,Y||void 0)}}}async function s40(D,X,Y){let Z=await r40(D,Y),J=new Lk.default;e3(J,D,"",Y,Z),await e1.writeFile(X,J.toBuffer())}async function Uk(D,X,Y=!1){let Z=Date.now(),J=X.verbose??!1;try{X.apikey=X.apikey||Q0(Y);let Q=await K0();if(D=D||Q?.config.appId,!D)throw Error("Missing argument, you need to provide a appId, or be in a capacitor project");if(!X.platform)throw Error("Missing required argument: --platform <ios|android>");if(X.platform!=="ios"&&X.platform!=="android")throw Error(`Invalid platform "${X.platform}". Must be "ios" or "android"`);let w=D8.resolve(X.path||vq.cwd()),F=X.supaHost||"https://api.capgo.app",$=await H0(X.apikey,X.supaHost,X.supaAnon);await N0($,X.apikey,["write","all"]);let B=await F1($,D);if(!Y)H.info(`Requesting native build for ${D}`),H.info(`Platform: ${X.platform}`),H.info(`Project: ${w}`),H.info(`
381
381
  \uD83D\uDD12 Security: Credentials are never stored on Capgo servers`),H.info(" They are used only during build and deleted after"),H.info(` Builds sent directly to app stores - Capgo keeps nothing
382
- `);if(J)H.info(`API host: ${F}`);let q={};if(X.buildCertificateBase64)q.BUILD_CERTIFICATE_BASE64=X.buildCertificateBase64;if(X.buildProvisionProfileBase64)q.BUILD_PROVISION_PROFILE_BASE64=X.buildProvisionProfileBase64;if(X.buildProvisionProfileBase64Prod)q.BUILD_PROVISION_PROFILE_BASE64_PROD=X.buildProvisionProfileBase64Prod;if(X.p12Password)q.P12_PASSWORD=X.p12Password;if(X.appleKeyId)q.APPLE_KEY_ID=X.appleKeyId;if(X.appleIssuerId)q.APPLE_ISSUER_ID=X.appleIssuerId;if(X.appleKeyContent)q.APPLE_KEY_CONTENT=X.appleKeyContent;if(X.appleProfileName)q.APPLE_PROFILE_NAME=X.appleProfileName;if(X.appStoreConnectTeamId)q.APP_STORE_CONNECT_TEAM_ID=X.appStoreConnectTeamId;if(X.androidKeystoreFile)q.ANDROID_KEYSTORE_FILE=X.androidKeystoreFile;if(X.keystoreKeyAlias)q.KEYSTORE_KEY_ALIAS=X.keystoreKeyAlias;let G=!!X.keystoreKeyPassword,W=!!X.keystoreStorePassword;if(G&&!W)q.KEYSTORE_KEY_PASSWORD=X.keystoreKeyPassword,q.KEYSTORE_STORE_PASSWORD=X.keystoreKeyPassword;else if(!G&&W)q.KEYSTORE_KEY_PASSWORD=X.keystoreStorePassword,q.KEYSTORE_STORE_PASSWORD=X.keystoreStorePassword;else if(G&&W)q.KEYSTORE_KEY_PASSWORD=X.keystoreKeyPassword,q.KEYSTORE_STORE_PASSWORD=X.keystoreStorePassword;if(X.playConfigJson)q.PLAY_CONFIG_JSON=X.playConfigJson;let O=await zk(D,X.platform,Object.keys(q).length>0?q:void 0),K={app_id:D,platform:X.platform};if(!O){if(!Y)H.error("❌ No credentials found for this app and platform"),H.error(""),H.error("You must provide credentials via:"),H.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),H.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),H.error(" 3. Saved credentials file:"),H.error(` npx @capgo/cli build credentials save --appId ${D} --platform ${X.platform}`),H.error(""),H.error("Documentation:"),H.error(" https://capgo.app/docs/cli/cloud-build/credentials/");throw Error("No credentials found. Please provide credentials before building.")}let M=[];if(X.platform==="ios"){if(!O.BUILD_CERTIFICATE_BASE64)M.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)");if(!O.P12_PASSWORD&&!Y)H.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),H.warn(" If your certificate requires a password, provide it with --p12-password");if(!O.BUILD_PROVISION_PROFILE_BASE64)M.push("BUILD_PROVISION_PROFILE_BASE64 (or --build-provision-profile-base64)");if(!O.APPLE_KEY_ID)M.push("APPLE_KEY_ID (or --apple-key-id)");if(!O.APPLE_ISSUER_ID)M.push("APPLE_ISSUER_ID (or --apple-issuer-id)");if(!O.APPLE_KEY_CONTENT)M.push("APPLE_KEY_CONTENT (or --apple-key-content)");if(!O.APP_STORE_CONNECT_TEAM_ID)M.push("APP_STORE_CONNECT_TEAM_ID (or --apple-team-id)")}else if(X.platform==="android"){if(!O.ANDROID_KEYSTORE_FILE)M.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)");if(!O.KEYSTORE_KEY_ALIAS)M.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)");if(!O.KEYSTORE_KEY_PASSWORD&&!O.KEYSTORE_STORE_PASSWORD)M.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)");if(!O.PLAY_CONFIG_JSON&&!Y)H.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(M.length>0){if(!Y){H.error(`❌ Missing required credentials for ${X.platform}:`),H.error("");for(let L of M)H.error(` • ${L}`);H.error(""),H.error("Provide credentials via:"),H.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),H.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),H.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),H.error(""),H.error("Documentation:"),H.error(` https://capgo.app/docs/cli/cloud-build/${X.platform}/`)}throw Error(`Missing required credentials for ${X.platform}: ${M.join(", ")}`)}if(K.credentials=O,!Y)H.info("✓ Using credentials (merged from CLI args, env vars, and saved file)");if(J){let L=Object.keys(O).filter((V)=>O[V]);H.info(`Credentials provided: ${L.join(", ")}`)}if(!Y)H.info("Requesting build from Capgo...");let U=await fetch(`${F}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:X.apikey},body:JSON.stringify(K)});if(!U.ok){let L=await U.text();throw Error(`Failed to request build: ${U.status} - ${L}`)}let N=await U.json();if(!Y)H.success(`Build job created: ${N.job_id}`),H.info(`Status: ${N.status}`);if(J)H.info(`Upload URL: ${N.upload_url}`),H.info(`Upload expires: ${N.upload_expires_at}`);await A0(X.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:B,tags:{"app-id":D,platform:X.platform},notify:!1}).catch();let A=D8.join(Vk.tmpdir(),`capgo-build-${Date.now()}`);await e1.mkdir(A,{recursive:!0});let z=D8.join(A,`${D8.basename(w)}.zip`);try{if(!Y)H.info(`Zipping ${X.platform} project from ${w}...`);await s40(w,z,X.platform);let V=((await e1.stat(z)).size/1024/1024).toFixed(2);if(!Y)H.success(`Created zip: ${z} (${V} MB)`);if(!Y)H.info("Uploading to builder...");if(J)H.info(`Upload endpoint: ${N.upload_url}`),H.info(`File size: ${V} MB`),H.info(`Job ID: ${N.job_id}`);let C=g8.readFileSync(z),y=xD();if(!Y)y.start("Uploading bundle");if(await new Promise((v,n)=>{let h=new AJ.Upload(C,{endpoint:N.upload_url,chunkSize:5242880,metadata:{filename:D8.basename(z),filetype:"application/zip"},headers:{authorization:X.apikey},onBeforeRequest(R){if(J){H.info(`[TUS] ${R.getMethod()} ${R.getURL()}`);let P=R.getHeader("authorization");H.info(`[TUS] Authorization header present: ${!!P}`)}},onAfterResponse(R,P){if(J){H.info(`[TUS] Response status: ${P.getStatus()}`);let x=P.getHeader("upload-offset"),_=P.getHeader("tus-resumable");H.info(`[TUS] Upload-Offset: ${x}, Tus-Resumable: ${_}`)}},onError(R){if(!Y)y.stop("Upload failed"),H.error(`Upload error: ${R.message}`);if(R instanceof AJ.DetailedError){let P=R.originalResponse?.getBody(),x=R.originalResponse?.getStatus(),_=R.originalRequest?.getURL();if(J)H.error(`[TUS] Request URL: ${_}`),H.error(`[TUS] Response status: ${x}`),H.error(`[TUS] Response body: ${P}`);let g="Unknown error";try{let m=JSON.parse(P||'{"error": "unknown error"}');g=m.status||m.error||m.message||"unknown error"}catch{g=P||R.message}n(Error(`TUS upload failed: ${g}`))}else n(Error(`TUS upload failed: ${R.message||R.toString()}`))},onProgress(R,P){let x=(R/P*100).toFixed(2);if(!Y)y.message(`Uploading ${x}%`)},onSuccess(){if(!Y)y.stop("Upload complete!");if(J)H.success("TUS upload completed successfully");v()}});if(J)H.info("[TUS] Starting upload...");h.start()}),!Y)H.info("Starting build job...");let E=await fetch(`${F}/build/start/${N.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:X.apikey},body:JSON.stringify({app_id:D})});if(!E.ok){let v=await E.text();throw Error(`Failed to start build: ${E.status} - ${v}`)}let k=await E.json();if(!Y)H.success("Build started!"),H.info("Streaming build logs...");let f,S=await a40(F,N.job_id,D,X.apikey,Y,J);if(S)f=S;else f=await t40(F,N.job_id,D,X.platform,X.apikey,Y);if(!Y)if(f==="succeeded")H.success("Build completed successfully!");else if(f==="failed")H.error("Build failed");else H.warn(`Build finished with status: ${f}`);let b=((Date.now()-Z)/1000).toFixed(2);return await A0(X.apikey,{channel:"native-builder",event:f==="succeeded"?"Build succeeded":"Build failed",icon:f==="succeeded"?"✅":"❌",user_id:B,tags:{"app-id":D,platform:X.platform,status:f||"unknown",time:b},notify:!1}).catch(),{success:f==="succeeded",jobId:N.job_id,uploadUrl:N.upload_url,status:f||k.status||N.status}}finally{await e1.rm(A,{recursive:!0,force:!0})}}catch(Q){let w=Q instanceof Error?Q.message:String(Q);if(!Y)H.error(w);return{success:!1,error:w}}}async function o40(D,X,Y,Z){for await(let J of D){if(!Z)H.warn(`Removing ${J.name} created on ${c7(J.created_at)}`);await VJ(X,Y,J.name)}}function e40(D,X,Y){let Z=[];for(let J of D??[]){let Q=GD(J.name);if(WQ(Q,X)&&$9(Q,Y))Z.push(J)}return Z}async function Nk(D,X,Y=!1){if(!Y)B0("Cleanup versions in Capgo");await s0(),X.apikey=X.apikey||Q0();let{bundle:Z,keep:J=4}=X,Q=X.force||!1,w=X.ignoreChannel||!1,F=await K0();if(D=b0(D,F?.config),!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to delete your app");throw Error("Missing API key")}if(!D){if(!Y)H.error("Missing argument, you need to provide a appid, or be in a capacitor project");throw Error("Missing appId")}let $=await H0(X.apikey,X.supaHost,X.supaAnon);if(await _D($,D,Y),await N0($,X.apikey,["write","all"]),await CD($,X.apikey,D,3,Y,!0),!Y)H.info("Querying all available versions in Capgo");let B=await LJ($,D),q=await Jk($,D);if(!Y)H.info(`Total active versions in Capgo: ${B?.length??0}`);if(!B?.length){if(!Y)H.error("No versions found, aborting cleanup");throw Error("No versions found")}if(Z){let O=GD(Z),K=Q4(O,"major");if(!Y)H.info(`Querying available versions in Capgo between ${Z8(O)} and ${Z8(K)}`);if(B=e40(B,O,K),!Y)H.info(`Active versions in Capgo between ${Z8(O)} and ${Z8(K)}: ${B?.length??0}`)}let G=[],W=0;for(let O of B){let K=q.find((M)=>M===O.id);if(W<J||K&&!w)O.keep=K?"✅ (Linked to channel)":"✅",W+=1;else O.keep="❌",G.push(O)}if(!G.length){if(!Y)H.warn("Nothing to be removed, aborting removal...");return{removed:0,kept:W}}if(!Y)Zk(B);if(!Q)if(!Y){let O=await rD({message:"Do you want to continue removing the versions specified?"});if(c0(O)||!O)throw H.warn("Not confirmed, aborting removal..."),Error("Cleanup cancelled by user")}else throw Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");if(!Y)H.success("You have confirmed removal, removing versions now");if(await o40(G,$,D,Y),!Y)q0("Done ✅");return{removed:G.length,kept:W}}async function Rk(D,X,Y=!1){if(!Y)B0("Check compatibility");let Z={...X,apikey:X.apikey||Q0()},J=await K0(),Q=b0(D,J?.config),w=Z.channel;if(!w){if(!Y)H.error("Missing argument, you need to provide a channel");throw Error("Missing channel")}if(!Z.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Q){if(!Y)H.error("Missing argument, you need to provide an appId, or be in a capacitor project");throw Error("Missing appId")}let F=await H0(Z.apikey,Z.supaHost,Z.supaAnon);await _D(F,Q,Y),await N0(F,Z.apikey,["write","all","read","upload"]),await CD(F,Z.apikey,Q,1,Y,!0);let $=await MJ(F,Q,w,Z.packageJson,Z.nodeModules),B=$.finalCompatibility.some((q)=>!Y9(q));if(!Y){let q=new MD;q.headers=["Package","Local","Remote","Status","Details"],q.theme=MD.roundTheme,q.rows=[];let G=Z.text?"OK":"✅",W=Z.text?"FAIL":"❌";for(let O of $.finalCompatibility){let{name:K,localVersion:M,remoteVersion:U}=O,N=B5(O),A=N.compatible?G:W;q.rows.push([K,M||"-",U||"-",A,N.message])}if(H.success("Compatibility Check Results"),H.info(q.toString()),B){let O=$.finalCompatibility.filter((K)=>!Y9(K)).length;H.warn(`
382
+ `);if(J)H.info(`API host: ${F}`);let q={};if(X.buildCertificateBase64)q.BUILD_CERTIFICATE_BASE64=X.buildCertificateBase64;if(X.buildProvisionProfileBase64)q.BUILD_PROVISION_PROFILE_BASE64=X.buildProvisionProfileBase64;if(X.buildProvisionProfileBase64Prod)q.BUILD_PROVISION_PROFILE_BASE64_PROD=X.buildProvisionProfileBase64Prod;if(X.p12Password)q.P12_PASSWORD=X.p12Password;if(X.appleKeyId)q.APPLE_KEY_ID=X.appleKeyId;if(X.appleIssuerId)q.APPLE_ISSUER_ID=X.appleIssuerId;if(X.appleKeyContent)q.APPLE_KEY_CONTENT=X.appleKeyContent;if(X.appleProfileName)q.APPLE_PROFILE_NAME=X.appleProfileName;if(X.appStoreConnectTeamId)q.APP_STORE_CONNECT_TEAM_ID=X.appStoreConnectTeamId;if(X.androidKeystoreFile)q.ANDROID_KEYSTORE_FILE=X.androidKeystoreFile;if(X.keystoreKeyAlias)q.KEYSTORE_KEY_ALIAS=X.keystoreKeyAlias;let G=!!X.keystoreKeyPassword,W=!!X.keystoreStorePassword;if(G&&!W)q.KEYSTORE_KEY_PASSWORD=X.keystoreKeyPassword,q.KEYSTORE_STORE_PASSWORD=X.keystoreKeyPassword;else if(!G&&W)q.KEYSTORE_KEY_PASSWORD=X.keystoreStorePassword,q.KEYSTORE_STORE_PASSWORD=X.keystoreStorePassword;else if(G&&W)q.KEYSTORE_KEY_PASSWORD=X.keystoreKeyPassword,q.KEYSTORE_STORE_PASSWORD=X.keystoreStorePassword;if(X.playConfigJson)q.PLAY_CONFIG_JSON=X.playConfigJson;let O=await zk(D,X.platform,Object.keys(q).length>0?q:void 0),K={app_id:D,platform:X.platform,build_mode:X.buildMode};if(!O){if(!Y)H.error("❌ No credentials found for this app and platform"),H.error(""),H.error("You must provide credentials via:"),H.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),H.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),H.error(" 3. Saved credentials file:"),H.error(` npx @capgo/cli build credentials save --appId ${D} --platform ${X.platform}`),H.error(""),H.error("Documentation:"),H.error(" https://capgo.app/docs/cli/cloud-build/credentials/");throw Error("No credentials found. Please provide credentials before building.")}let M=[];if(X.platform==="ios"){if(!O.BUILD_CERTIFICATE_BASE64)M.push("BUILD_CERTIFICATE_BASE64 (or --build-certificate-base64)");if(!O.P12_PASSWORD&&!Y)H.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),H.warn(" If your certificate requires a password, provide it with --p12-password");if(!O.BUILD_PROVISION_PROFILE_BASE64)M.push("BUILD_PROVISION_PROFILE_BASE64 (or --build-provision-profile-base64)");if(!O.APPLE_KEY_ID)M.push("APPLE_KEY_ID (or --apple-key-id)");if(!O.APPLE_ISSUER_ID)M.push("APPLE_ISSUER_ID (or --apple-issuer-id)");if(!O.APPLE_KEY_CONTENT)M.push("APPLE_KEY_CONTENT (or --apple-key-content)");if(!O.APP_STORE_CONNECT_TEAM_ID)M.push("APP_STORE_CONNECT_TEAM_ID (or --apple-team-id)")}else if(X.platform==="android"){if(!O.ANDROID_KEYSTORE_FILE)M.push("ANDROID_KEYSTORE_FILE (or --android-keystore-file)");if(!O.KEYSTORE_KEY_ALIAS)M.push("KEYSTORE_KEY_ALIAS (or --keystore-key-alias)");if(!O.KEYSTORE_KEY_PASSWORD&&!O.KEYSTORE_STORE_PASSWORD)M.push("KEYSTORE_KEY_PASSWORD or KEYSTORE_STORE_PASSWORD (at least one password required)");if(!O.PLAY_CONFIG_JSON&&!Y)H.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(M.length>0){if(!Y){H.error(`❌ Missing required credentials for ${X.platform}:`),H.error("");for(let L of M)H.error(` • ${L}`);H.error(""),H.error("Provide credentials via:"),H.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),H.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),H.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),H.error(""),H.error("Documentation:"),H.error(` https://capgo.app/docs/cli/cloud-build/${X.platform}/`)}throw Error(`Missing required credentials for ${X.platform}: ${M.join(", ")}`)}if(K.credentials=O,!Y)H.info("✓ Using credentials (merged from CLI args, env vars, and saved file)");if(J){let L=Object.keys(O).filter((V)=>O[V]);H.info(`Credentials provided: ${L.join(", ")}`)}if(!Y)H.info("Requesting build from Capgo...");let U=await fetch(`${F}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:X.apikey},body:JSON.stringify(K)});if(!U.ok){let L=await U.text();throw Error(`Failed to request build: ${U.status} - ${L}`)}let N=await U.json();if(!Y)H.success(`Build job created: ${N.job_id}`),H.info(`Status: ${N.status}`);if(J)H.info(`Upload URL: ${N.upload_url}`),H.info(`Upload expires: ${N.upload_expires_at}`);await A0(X.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:B,tags:{"app-id":D,platform:X.platform},notify:!1}).catch();let A=D8.join(Vk.tmpdir(),`capgo-build-${Date.now()}`);await e1.mkdir(A,{recursive:!0});let z=D8.join(A,`${D8.basename(w)}.zip`);try{if(!Y)H.info(`Zipping ${X.platform} project from ${w}...`);await s40(w,z,X.platform);let V=((await e1.stat(z)).size/1024/1024).toFixed(2);if(!Y)H.success(`Created zip: ${z} (${V} MB)`);if(!Y)H.info("Uploading to builder...");if(J)H.info(`Upload endpoint: ${N.upload_url}`),H.info(`File size: ${V} MB`),H.info(`Job ID: ${N.job_id}`);let C=g8.readFileSync(z),y=xD();if(!Y)y.start("Uploading bundle");if(await new Promise((v,n)=>{let h=new AJ.Upload(C,{endpoint:N.upload_url,chunkSize:5242880,metadata:{filename:D8.basename(z),filetype:"application/zip"},headers:{authorization:X.apikey},onBeforeRequest(R){if(J){H.info(`[TUS] ${R.getMethod()} ${R.getURL()}`);let P=R.getHeader("authorization");H.info(`[TUS] Authorization header present: ${!!P}`)}},onAfterResponse(R,P){if(J){H.info(`[TUS] Response status: ${P.getStatus()}`);let x=P.getHeader("upload-offset"),_=P.getHeader("tus-resumable");H.info(`[TUS] Upload-Offset: ${x}, Tus-Resumable: ${_}`)}},onError(R){if(!Y)y.stop("Upload failed"),H.error(`Upload error: ${R.message}`);if(R instanceof AJ.DetailedError){let P=R.originalResponse?.getBody(),x=R.originalResponse?.getStatus(),_=R.originalRequest?.getURL();if(J)H.error(`[TUS] Request URL: ${_}`),H.error(`[TUS] Response status: ${x}`),H.error(`[TUS] Response body: ${P}`);let g="Unknown error";try{let m=JSON.parse(P||'{"error": "unknown error"}');g=m.status||m.error||m.message||"unknown error"}catch{g=P||R.message}n(Error(`TUS upload failed: ${g}`))}else n(Error(`TUS upload failed: ${R.message||R.toString()}`))},onProgress(R,P){let x=(R/P*100).toFixed(2);if(!Y)y.message(`Uploading ${x}%`)},onSuccess(){if(!Y)y.stop("Upload complete!");if(J)H.success("TUS upload completed successfully");v()}});if(J)H.info("[TUS] Starting upload...");h.start()}),!Y)H.info("Starting build job...");let E=await fetch(`${F}/build/start/${N.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:X.apikey},body:JSON.stringify({app_id:D})});if(!E.ok){let v=await E.text();throw Error(`Failed to start build: ${E.status} - ${v}`)}let k=await E.json();if(!Y)H.success("Build started!"),H.info("Streaming build logs...");let f,S=await a40(F,N.job_id,D,X.apikey,Y,J);if(S)f=S;else f=await t40(F,N.job_id,D,X.platform,X.apikey,Y);if(!Y)if(f==="succeeded")H.success("Build completed successfully!");else if(f==="failed")H.error("Build failed");else H.warn(`Build finished with status: ${f}`);let b=((Date.now()-Z)/1000).toFixed(2);return await A0(X.apikey,{channel:"native-builder",event:f==="succeeded"?"Build succeeded":"Build failed",icon:f==="succeeded"?"✅":"❌",user_id:B,tags:{"app-id":D,platform:X.platform,status:f||"unknown",time:b},notify:!1}).catch(),{success:f==="succeeded",jobId:N.job_id,uploadUrl:N.upload_url,status:f||k.status||N.status}}finally{await e1.rm(A,{recursive:!0,force:!0})}}catch(Q){let w=Q instanceof Error?Q.message:String(Q);if(!Y)H.error(w);return{success:!1,error:w}}}async function o40(D,X,Y,Z){for await(let J of D){if(!Z)H.warn(`Removing ${J.name} created on ${c7(J.created_at)}`);await VJ(X,Y,J.name)}}function e40(D,X,Y){let Z=[];for(let J of D??[]){let Q=GD(J.name);if(WQ(Q,X)&&$9(Q,Y))Z.push(J)}return Z}async function Nk(D,X,Y=!1){if(!Y)B0("Cleanup versions in Capgo");await s0(),X.apikey=X.apikey||Q0();let{bundle:Z,keep:J=4}=X,Q=X.force||!1,w=X.ignoreChannel||!1,F=await K0();if(D=b0(D,F?.config),!X.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to delete your app");throw Error("Missing API key")}if(!D){if(!Y)H.error("Missing argument, you need to provide a appid, or be in a capacitor project");throw Error("Missing appId")}let $=await H0(X.apikey,X.supaHost,X.supaAnon);if(await _D($,D,Y),await N0($,X.apikey,["write","all"]),await CD($,X.apikey,D,3,Y,!0),!Y)H.info("Querying all available versions in Capgo");let B=await LJ($,D),q=await Jk($,D);if(!Y)H.info(`Total active versions in Capgo: ${B?.length??0}`);if(!B?.length){if(!Y)H.error("No versions found, aborting cleanup");throw Error("No versions found")}if(Z){let O=GD(Z),K=Q4(O,"major");if(!Y)H.info(`Querying available versions in Capgo between ${Z8(O)} and ${Z8(K)}`);if(B=e40(B,O,K),!Y)H.info(`Active versions in Capgo between ${Z8(O)} and ${Z8(K)}: ${B?.length??0}`)}let G=[],W=0;for(let O of B){let K=q.find((M)=>M===O.id);if(W<J||K&&!w)O.keep=K?"✅ (Linked to channel)":"✅",W+=1;else O.keep="❌",G.push(O)}if(!G.length){if(!Y)H.warn("Nothing to be removed, aborting removal...");return{removed:0,kept:W}}if(!Y)Zk(B);if(!Q)if(!Y){let O=await rD({message:"Do you want to continue removing the versions specified?"});if(c0(O)||!O)throw H.warn("Not confirmed, aborting removal..."),Error("Cleanup cancelled by user")}else throw Error("Cleanup requires force=true in SDK mode to prevent accidental deletions");if(!Y)H.success("You have confirmed removal, removing versions now");if(await o40(G,$,D,Y),!Y)q0("Done ✅");return{removed:G.length,kept:W}}async function Rk(D,X,Y=!1){if(!Y)B0("Check compatibility");let Z={...X,apikey:X.apikey||Q0()},J=await K0(),Q=b0(D,J?.config),w=Z.channel;if(!w){if(!Y)H.error("Missing argument, you need to provide a channel");throw Error("Missing channel")}if(!Z.apikey){if(!Y)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Q){if(!Y)H.error("Missing argument, you need to provide an appId, or be in a capacitor project");throw Error("Missing appId")}let F=await H0(Z.apikey,Z.supaHost,Z.supaAnon);await _D(F,Q,Y),await N0(F,Z.apikey,["write","all","read","upload"]),await CD(F,Z.apikey,Q,1,Y,!0);let $=await MJ(F,Q,w,Z.packageJson,Z.nodeModules),B=$.finalCompatibility.some((q)=>!Y9(q));if(!Y){let q=new MD;q.headers=["Package","Local","Remote","Status","Details"],q.theme=MD.roundTheme,q.rows=[];let G=Z.text?"OK":"✅",W=Z.text?"FAIL":"❌";for(let O of $.finalCompatibility){let{name:K,localVersion:M,remoteVersion:U}=O,N=B5(O),A=N.compatible?G:W;q.rows.push([K,M||"-",U||"-",A,N.message])}if(H.success("Compatibility Check Results"),H.info(q.toString()),B){let O=$.finalCompatibility.filter((K)=>!Y9(K)).length;H.warn(`
383
383
  ${O} package(s) are incompatible with channel "${w}"`),H.warn("An app store update may be required for these changes to take effect.")}else H.success(`
384
384
  All packages are compatible with channel "${w}"`)}return{finalCompatibility:$.finalCompatibility,hasIncompatible:B}}var z6=require("node:fs");var K6=require("node:buffer"),lD=require("node:crypto"),Ek="aes-128-cbc",H6="base64",Ak="hex",DX=lD.constants.RSA_PKCS1_PADDING;function EJ(D){let X=lD.randomBytes(16),Y=lD.randomBytes(16),Z=X.toString(H6),J=lD.privateEncrypt({key:D,padding:DX},Y).toString(H6);return{sessionKey:Y,ivSessionKey:`${Z}:${J}`}}function i7(D,X,Y){let[Z]=Y.split(":"),J=K6.Buffer.from(Z,H6),Q=lD.createCipheriv(Ek,X,J);return Q.setAutoPadding(!0),K6.Buffer.concat([Q.update(D),Q.final()])}function Ck(D,X,Y){let[Z,J]=X.split(":"),Q=lD.publicDecrypt({key:Y,padding:DX},K6.Buffer.from(J,H6)),w=K6.Buffer.from(Z,H6),F=lD.createDecipheriv(Ek,Q,w);return F.setAutoPadding(!0),K6.Buffer.concat([F.update(D),F.final()])}function p7(D,X){return lD.privateEncrypt({key:X,padding:DX},K6.Buffer.from(D,H6)).toString(H6)}function CJ(D,X){return lD.privateEncrypt({key:X,padding:DX},K6.Buffer.from(D,Ak)).toString(Ak)}function jk(D,X){return lD.publicDecrypt({key:X,padding:DX},K6.Buffer.from(D,H6)).toString(H6)}function Ik(){let{publicKey:D,privateKey:X}=lD.generateKeyPairSync("rsa",{modulusLength:2048});return{publicKey:D.export({type:"pkcs1",format:"pem"}),privateKey:X.export({type:"pkcs1",format:"pem"})}}function Tk(D){if(!D)return"";return D.replace(/-----BEGIN RSA PUBLIC KEY-----/g,"").replace(/-----END RSA PUBLIC KEY-----/g,"").replace(/\n/g,"").replace(/\r/g,"").replace(/ /g,"").substring(0,20)}function D30(D,X){let Y=D.key||W6,Z=X.config.plugins?.CapacitorUpdater?.publicKey;if(z6.existsSync(Y))Z=z6.readFileSync(Y,"utf8");else if(!Z&&D.keyData)Z=D.keyData;return{publicKey:Z,fallbackKeyPath:Y}}async function Pk(D,X,Y,Z=!1){if(!Z)B0("Decrypt zip file");try{if(await s0(),!z6.existsSync(D)){let G=`Zip not found at the path ${D}`;if(!Z)H.error(G);throw Error(G)}let J=await K0();if(!Y.key&&!z6.existsSync(W6)&&!J.config.plugins?.CapacitorUpdater?.publicKey){let G=`Public Key not found at the path ${W6} or in ${J.path}`;if(!Z)H.error(G);throw Error(G)}let{publicKey:Q,fallbackKeyPath:w}=D30(Y,J);if(!Q){let G=`Cannot find public key ${w} or as keyData option or in ${J.path}`;if(!Z)H.error(G);throw Error(G)}let F=z6.readFileSync(D),$=Ck(F,X,Y.keyData??Q),B=`${D}_decrypted.zip`;if(z6.writeFileSync(B,$),!Z)H.info(`Decrypted zip file at ${B}`);let q;if(Y.checksum){let G=await r8($,"sha256"),W=jk(Y.checksum,Y.keyData??Q);if(q=G===W,!q){let O=`Checksum does not match ${G} !== ${W}`;if(!Z)H.error(O);throw Error(O)}if(!Z)H.info("Checksum matches")}if(!Z)q0("✅ done");return{outputPath:B,checksumMatches:q}}catch(J){if(!Z)H.error(`Error decrypting zip file ${p(J)}`);throw J instanceof Error?J:Error(String(J))}}async function Sk(D,X,Y,Z=!1){if(!Z)B0("Delete bundle");Y.apikey=Y.apikey||Q0();let J=await K0();if(X=b0(X,J?.config),!Y.apikey){if(!Z)H.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)H.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(!D){if(!Z)H.error("Missing argument, you need to provide a bundleId, or be in a capacitor project");throw Error("Missing bundleId")}let Q=await H0(Y.apikey,Y.supaHost,Y.supaAnon);if(await _D(Q,X,Z),await N0(Q,Y.apikey,["write","all"]),await CD(Q,Y.apikey,X,3,Z,!0),!Z)H.info(`Deleting bundle ${X}@${D} from Capgo`),H.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever");if(await VJ(Q,X,D),!Z)H.success(`Bundle ${X}@${D} deleted in Capgo`),q0("Done");return!0}var M6=require("node:fs");function XX(D){console.error(p(D))}async function xk(D,X,Y,Z=!1){let{json:J}=Y,Q=!J&&!Z;if(Q)B0("Encryption"),await s0();try{let w=await K0(),F=!!w.config.plugins?.CapacitorUpdater?.privateKey,$=!!w.config.plugins?.CapacitorUpdater?.publicKey;if(F&&Q)H.warning("There is still a privateKey in the config");if(!M6.existsSync(D)){let N=`Zip not found at the path ${D}`;if(!Z)if(J)XX({error:"zip_not_found"});else H.error(`Error: ${N}`);throw Error(N)}if(!$){if(!Z)if(J)XX({error:"missing_public_key"});else H.warning("Warning: Missing Public Key in config");throw Error("Missing public key in config")}let B=Y.key||_1,q=Y.keyData||"";if(!M6.existsSync(B)&&!q){if(!Z)if(J)XX({error:"missing_key"});else H.warning(`Cannot find a private key at ${B} or as a keyData option`),H.error("Error: Missing key");throw Error("Missing private key")}else if(M6.existsSync(B))q=M6.readFileSync(B,"utf8");if(q&&!q.startsWith("-----BEGIN RSA PRIVATE KEY-----")){if(!Z)if(J)XX({error:"invalid_private_key"});else H.error("The private key provided is not a valid RSA Private key");throw Error("Invalid private key format")}let G=M6.readFileSync(D),{sessionKey:W,ivSessionKey:O}=EJ(q),K=i7(G,W,O),M=p7(X,q),U=`${D}_encrypted.zip`;if(M6.writeFileSync(U,K),!Z)if(J)console.log(JSON.stringify({checksum:M,filename:U,ivSessionKey:O},null,2));else H.success(`Encoded Checksum: ${M}`),H.success(`ivSessionKey: ${O}`),H.success(`Encrypted zip saved at ${U}`),q0("Done ✅");return{checksum:M,filename:U,ivSessionKey:O}}catch(w){if(!Z)if(Y.json)XX(w);else H.error(`Error encrypting zip file ${p(w)}`);throw w instanceof Error?w:Error(String(w))}}var Jh=require("node:crypto"),L5=require("node:fs"),bJ=require("node:process");class bq extends TransformStream{outChunkSize;constructor(D){let X=new Uint8Array(D),Y=0;super({transform(Z,J){let Q=0;while(Q<Z.length){let w=D-Y,F=Math.min(w,Z.length-Q);if(X.set(Z.subarray(Q,Q+F),Y),Q+=F,Y+=F,Y===D)J.enqueue(X),X=new Uint8Array(D),Y=0}},flush(Z){if(Y>0)Z.enqueue(X.subarray(0,Y))}}),this.outChunkSize=D}}function Z9(D){return D=D.trim(),D=D.replace(/<!--[\s\S]*?-->/g,""),X();function X(){return{declaration:Y(),root:Z()}}function Y(){if(!$(/^<\?xml\s*/))return;let W={attributes:{}};while(!(B()||q("?>"))){let O=Q();if(!O)return W;W.attributes[O.name]=O.value}return $(/\?>\s*/),W}function Z(){let G=$(/^<([\w-:.]+)\s*/);if(!G)return;let W={name:G[1],attributes:{},children:[]};while(!(B()||q(">")||q("?>")||q("/>"))){let K=Q();if(!K)return W;W.attributes[K.name]=K.value}if($(/^\s*\/>\s*/))return W;$(/\??>\s*/),W.content=J();let O;while(O=Z())W.children.push(O);return $(/^<\/[\w-:.]+>\s*/),W}function J(){let G=$(/^([^<]*)/);if(G)return F(G[1]);return""}function Q(){let G=$(/([\w:-]+)\s*=\s*("[^"]*"|'[^']*'|\w+)\s*/);if(!G)return;return{name:G[1],value:F(w(G[2]))}}function w(G){return G.replace(/^['"]|['"]$/g,"")}function F(G){return G.replaceAll("&lt;","<").replaceAll("&gt;",">").replaceAll("&amp;","&")}function $(G){let W=D.match(G);if(!W)return;return D=D.slice(W[0].length),W}function B(){return D.length===0}function q(G){return D.startsWith(G)}}class V6 extends Error{}class V1 extends V6{}class jJ extends V6{}class gq extends V6{bucketName;constructor(D){super(`Invalid bucket name: ${D}`),this.bucketName=D}}class L6 extends V6{objectName;constructor(D){super(`Invalid object name: ${D}`),this.objectName=D}}class q5 extends V6{constructor(){super("accessKey is required")}}class YX extends V6{constructor(){super("secretKey is required")}}class IJ extends V6{constructor(){super("expirySeconds cannot be less than 1 second or more than 7 days")}}class J9 extends V6{statusCode;code;key;bucketName;resource;region;constructor(D,X,Y,Z={}){super(Y),this.statusCode=D,this.code=X,this.key=Z.key,this.bucketName=Z.bucketName,this.resource=Z.resource,this.region=Z.region}}async function fk(D){try{let Y=Z9(await D.text()).root;if(Y?.name!=="Error")throw Error("Invalid root, expected <Error>");let Z=Y.children.find((B)=>B.name==="Code")?.content??"UnknownErrorCode",J=Y.children.find((B)=>B.name==="Message")?.content??"The error message could not be determined.",Q=Y.children.find((B)=>B.name==="Key")?.content,w=Y.children.find((B)=>B.name==="BucketName")?.content,F=Y.children.find((B)=>B.name==="Resource")?.content,$=Y.children.find((B)=>B.name==="Region")?.content;return new J9(D.status,Z,J,{key:Q,bucketName:w,resource:F,region:$})}catch{return new J9(D.status,"UnrecognizedError",`Error: Unexpected response code ${D.status} ${D.statusText}. Unable to parse response as XML.`)}}function yk(D){if(typeof D!=="number"||isNaN(D))return!1;return D>=1&&D<=65535}function kk(D){if(typeof D!=="string")return!1;if(D.length<3||D.length>63)return!1;if(D.includes(".."))return!1;if(D.match(/[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/))return!1;if(D.match(/^[a-z0-9][a-z0-9.-]+[a-z0-9]$/))return!0;return!1}function Q9(D){if(!X30(D))return!1;if(D.length===0)return!1;return!0}function X30(D){if(typeof D!=="string")return!1;if(D.length>1024)return!1;return!0}function ZX(D){return Array.from(D).map((X)=>X.toString(16).padStart(2,"0")).join("")}function G5(D=""){let X={'"':"","&quot;":"","&#34;":"","&QUOT;":"","&#x00022":""};return D.replace(/^("|&quot;|&#34;)|("|&quot;|&#34;)$/g,(Y)=>X[Y])}function dq(D){return D.get("x-amz-version-id")??null}function O5(D){let X=D.toISOString();return X.slice(0,4)+X.slice(5,7)+X.slice(8,13)+X.slice(14,16)+X.slice(17,19)+"Z"}function cq(D){return O5(D).slice(0,8)}function lq(D,X){return`${cq(X)}/${D}/s3/aws4_request`}async function TJ(D){if(!(D instanceof Uint8Array))D=new TextEncoder().encode(D);return ZX(new Uint8Array(await crypto.subtle.digest("SHA-256",D)))}var Y30=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"];class nq extends WritableStream{getResult;constructor({client:D,bucketName:X,objectName:Y,partSize:Z,metadata:J}){let Q,w=1,F,$=[],B,q=[];super({start(){},async write(G,W){let K=w++;try{if(K==1&&G.length<Z){let N=await D.makeRequest({method:"PUT",headers:new Headers({...J,"Content-Length":String(G.length)}),bucketName:X,objectName:Y,payload:G});Q={etag:G5(N.headers.get("etag")??void 0),versionId:dq(N.headers)};return}if(K===1)F=(await Z30({client:D,bucketName:X,objectName:Y,metadata:J})).uploadId;let M={"Content-Length":String(G.length)};for(let N of Y30){let A=J[N];if(A)M[N]=A}let U=D.makeRequest({method:"PUT",query:{partNumber:K.toString(),uploadId:F},headers:new Headers(M),bucketName:X,objectName:Y,payload:G}).then((N)=>{let A=N.headers.get("etag")??"";if(A)A=A.replace(/^"/,"").replace(/"$/,"");return $.push({part:K,etag:A}),N});q.push(U.catch((N)=>{if(!B)B=N}))}catch(M){throw M}},async close(){if(Q);else if(F){if(await Promise.all(q),B)throw B;$.sort((G,W)=>G.part>W.part?1:-1),Q=await J30({client:D,bucketName:X,objectName:Y,uploadId:F,etags:$})}else throw Error("Stream was closed without uploading any data.")}});this.getResult=()=>{if(Q===void 0)throw Error("Result is not ready. await the stream first.");return Q}}}async function Z30(D){let Y=new Headers(D.metadata),Z="uploads",Q=await(await D.client.makeRequest({method:"POST",bucketName:D.bucketName,objectName:D.objectName,query:"uploads",headers:Y,returnBody:!0})).text(),w=Z9(Q).root;if(!w||w.name!=="InitiateMultipartUploadResult")throw Error(`Unexpected response: ${Q}`);let F=w.children.find(($)=>$.name==="UploadId")?.content;if(!F)throw Error(`Unable to get UploadId from response: ${Q}`);return{uploadId:F}}async function J30({client:D,bucketName:X,objectName:Y,uploadId:Z,etags:J}){let Q=`
385
385
  <CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@capgo/cli",
3
- "version": "7.68.0",
3
+ "version": "7.68.1",
4
4
  "type": "module",
5
5
  "description": "A CLI to upload to capgo servers",
6
6
  "author": "Martin martin@capgo.app",