@capgo/cli 7.71.9 → 7.71.11
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 +62 -62
- package/dist/package.json +1 -1
- package/dist/src/sdk.js +41 -41
- package/dist/src/utils.d.ts +3 -1
- package/package.json +1 -1
package/dist/src/sdk.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var Sh=Object.create;var{getPrototypeOf:xh,defineProperty:F9,getOwnPropertyNames:WX,getOwnPropertyDescriptor:fh}=Object,HX=Object.prototype.hasOwnProperty,J0=(D,X,Y)=>{for(let Z of WX(X))if(!HX.call(D,Z)&&Z!=="default")F9(D,Z,{get:()=>X[Z],enumerable:!0});if(Y){for(let Z of WX(X))if(!HX.call(Y,Z)&&Z!=="default")F9(Y,Z,{get:()=>X[Z],enumerable:!0});return Y}},N0=(D,X,Y)=>{Y=D!=null?Sh(xh(D)):{};let Z=X||!D||!D.__esModule?F9(Y,"default",{value:D,enumerable:!0}):Y;for(let J of WX(D))if(!HX.call(Z,J))F9(Z,J,{get:()=>D[J],enumerable:!0});return Z},zG=new WeakMap,yh=(D)=>{var X=zG.get(D),Y;if(X)return X;if(X=F9({},"__esModule",{value:!0}),D&&typeof D==="object"||typeof D==="function")WX(D).map((Z)=>!HX.call(X,Z)&&F9(X,Z,{get:()=>D[Z],enumerable:!(Y=fh(D,Z))||Y.enumerable}));return zG.set(D,X),X},T=(D,X)=>()=>(X||D((X={exports:{}}).exports,X),X.exports);var D4=(D,X)=>{for(var Y in X)F9(D,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(Z)=>X[Y]=()=>Z})};var m1=(D,X)=>()=>(D&&(X=D(D=0)),X);var XD=T((LY0,MG)=>{var nJ={to(D,X){if(!X)return`\x1B[${D+1}G`;return`\x1B[${X+1};${D+1}H`},move(D,X){let Y="";if(D<0)Y+=`\x1B[${-D}D`;else if(D>0)Y+=`\x1B[${D}C`;if(X<0)Y+=`\x1B[${-X}A`;else if(X>0)Y+=`\x1B[${X}B`;return Y},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},kh={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},uh={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let X="";for(let Y=0;Y<D;Y++)X+=this.line+(Y<D-1?nJ.up():"");if(D)X+=nJ.left;return X}};MG.exports={cursor:nJ,scroll:kh,erase:uh,beep:"\x07"}});var pJ=T((VY0,iJ)=>{var zX=process||{},LG=zX.argv||[],KX=zX.env||{},hh=!(!!KX.NO_COLOR||LG.includes("--no-color"))&&(!!KX.FORCE_COLOR||LG.includes("--color")||zX.platform==="win32"||(zX.stdout||{}).isTTY&&KX.TERM!=="dumb"||!!KX.CI),_h=(D,X,Y=D)=>(Z)=>{let J=""+Z,Q=J.indexOf(X,D.length);return~Q?D+vh(J,X,Y,Q)+X:D+J+X},vh=(D,X,Y,Z)=>{let J="",Q=0;do J+=D.substring(Q,Z)+Y,Q=Z+X.length,Z=D.indexOf(X,Q);while(~Z);return J+D.substring(Q)},VG=(D=hh)=>{let X=D?_h:()=>String;return{isColorSupported:D,reset:X("\x1B[0m","\x1B[0m"),bold:X("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:X("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:X("\x1B[3m","\x1B[23m"),underline:X("\x1B[4m","\x1B[24m"),inverse:X("\x1B[7m","\x1B[27m"),hidden:X("\x1B[8m","\x1B[28m"),strikethrough:X("\x1B[9m","\x1B[29m"),black:X("\x1B[30m","\x1B[39m"),red:X("\x1B[31m","\x1B[39m"),green:X("\x1B[32m","\x1B[39m"),yellow:X("\x1B[33m","\x1B[39m"),blue:X("\x1B[34m","\x1B[39m"),magenta:X("\x1B[35m","\x1B[39m"),cyan:X("\x1B[36m","\x1B[39m"),white:X("\x1B[37m","\x1B[39m"),gray:X("\x1B[90m","\x1B[39m"),bgBlack:X("\x1B[40m","\x1B[49m"),bgRed:X("\x1B[41m","\x1B[49m"),bgGreen:X("\x1B[42m","\x1B[49m"),bgYellow:X("\x1B[43m","\x1B[49m"),bgBlue:X("\x1B[44m","\x1B[49m"),bgMagenta:X("\x1B[45m","\x1B[49m"),bgCyan:X("\x1B[46m","\x1B[49m"),bgWhite:X("\x1B[47m","\x1B[49m"),blackBright:X("\x1B[90m","\x1B[39m"),redBright:X("\x1B[91m","\x1B[39m"),greenBright:X("\x1B[92m","\x1B[39m"),yellowBright:X("\x1B[93m","\x1B[39m"),blueBright:X("\x1B[94m","\x1B[39m"),magentaBright:X("\x1B[95m","\x1B[39m"),cyanBright:X("\x1B[96m","\x1B[39m"),whiteBright:X("\x1B[97m","\x1B[39m"),bgBlackBright:X("\x1B[100m","\x1B[49m"),bgRedBright:X("\x1B[101m","\x1B[49m"),bgGreenBright:X("\x1B[102m","\x1B[49m"),bgYellowBright:X("\x1B[103m","\x1B[49m"),bgBlueBright:X("\x1B[104m","\x1B[49m"),bgMagentaBright:X("\x1B[105m","\x1B[49m"),bgCyanBright:X("\x1B[106m","\x1B[49m"),bgWhiteBright:X("\x1B[107m","\x1B[49m")}};iJ.exports=VG();iJ.exports.createColors=VG});var AX=T((R1)=>{Object.defineProperty(R1,"__esModule",{value:!0});R1.isNXMonorepo=R1.isMonorepo=R1.findPackageRelativePathInMonorepo=R1.findPackagePath=R1.findNXMonorepoRoot=R1.findMonorepoRoot=void 0;var J4=require("node:fs"),A6=require("node:path");function RX(D){let X=(0,A6.join)(D,"package.json"),Y=(0,A6.join)(D,"pnpm-workspace.yaml");if((0,J4.existsSync)(Y)||(0,J4.existsSync)(X)&&JSON.parse((0,J4.readFileSync)(X,"utf-8")).workspaces)return D;let Z=(0,A6.dirname)(D);if(Z===D)throw Error("Monorepo root not found");return RX(Z)}R1.findMonorepoRoot=RX;function qQ(D){let X=(0,A6.join)(D,"nx.json");if((0,J4.existsSync)(X))return D;let Y=(0,A6.dirname)(D);if(Y===D)throw Error("Monorepo root not found");return qQ(Y)}R1.findNXMonorepoRoot=qQ;function $Q(D,X,Y){let Z=(0,A6.join)(X,"node_modules",D);if((0,J4.existsSync)(Z))return Z;if(X===Y)return null;let J=(0,A6.dirname)(X);return $Q(D,J,Y)}R1.findPackagePath=$Q;function V_(D,X){let Y=RX(X),Z=$Q(D,X,Y);if(Z)return(0,A6.relative)(X,Z);return null}R1.findPackageRelativePathInMonorepo=V_;function U_(D){try{return RX(D),!0}catch(X){return!1}}R1.isMonorepo=U_;function N_(D){try{return qQ(D),!0}catch(X){return!1}}R1.isNXMonorepo=N_});var h0=T((I20,fX)=>{var DO,XO,YO,ZO,JO,QO,wO,FO,BO,qO,$O,GO,OO,SX,MQ,WO,HO,KO,C5,zO,MO,LO,VO,UO,NO,RO,AO,EO,xX,CO,jO,TO;(function(D){var X=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd)define("tslib",["exports"],function(Z){D(Y(X,Y(Z)))});else if(typeof fX==="object"&&typeof fX.exports==="object")D(Y(X,Y(fX.exports)));else D(Y(X));function Y(Z,J){if(Z!==X)if(typeof Object.create==="function")Object.defineProperty(Z,"__esModule",{value:!0});else Z.__esModule=!0;return function(Q,w){return Z[Q]=J?J(Q,w):w}}})(function(D){var X=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Q,w){Q.__proto__=w}||function(Q,w){for(var F in w)if(Object.prototype.hasOwnProperty.call(w,F))Q[F]=w[F]};DO=function(Q,w){if(typeof w!=="function"&&w!==null)throw TypeError("Class extends value "+String(w)+" is not a constructor or null");X(Q,w);function F(){this.constructor=Q}Q.prototype=w===null?Object.create(w):(F.prototype=w.prototype,new F)},XO=Object.assign||function(Q){for(var w,F=1,B=arguments.length;F<B;F++){w=arguments[F];for(var q in w)if(Object.prototype.hasOwnProperty.call(w,q))Q[q]=w[q]}return Q},YO=function(Q,w){var F={};for(var B in Q)if(Object.prototype.hasOwnProperty.call(Q,B)&&w.indexOf(B)<0)F[B]=Q[B];if(Q!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var q=0,B=Object.getOwnPropertySymbols(Q);q<B.length;q++)if(w.indexOf(B[q])<0&&Object.prototype.propertyIsEnumerable.call(Q,B[q]))F[B[q]]=Q[B[q]]}return F},ZO=function(Q,w,F,B){var q=arguments.length,$=q<3?w:B===null?B=Object.getOwnPropertyDescriptor(w,F):B,G;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")$=Reflect.decorate(Q,w,F,B);else for(var W=Q.length-1;W>=0;W--)if(G=Q[W])$=(q<3?G($):q>3?G(w,F,$):G(w,F))||$;return q>3&&$&&Object.defineProperty(w,F,$),$},JO=function(Q,w){return function(F,B){w(F,B,Q)}},QO=function(Q,w,F,B,q,$){function G(C){if(C!==void 0&&typeof C!=="function")throw TypeError("Function expected");return C}var W=B.kind,O=W==="getter"?"get":W==="setter"?"set":"value",H=!w&&Q?B.static?Q:Q.prototype:null,M=w||(H?Object.getOwnPropertyDescriptor(H,B.name):{}),U,N=!1;for(var R=F.length-1;R>=0;R--){var z={};for(var V in B)z[V]=V==="access"?{}:B[V];for(var V in B.access)z.access[V]=B.access[V];z.addInitializer=function(C){if(N)throw TypeError("Cannot add initializers after decoration has completed");$.push(G(C||null))};var L=(0,F[R])(W==="accessor"?{get:M.get,set:M.set}:M[O],z);if(W==="accessor"){if(L===void 0)continue;if(L===null||typeof L!=="object")throw TypeError("Object expected");if(U=G(L.get))M.get=U;if(U=G(L.set))M.set=U;if(U=G(L.init))q.unshift(U)}else if(U=G(L))if(W==="field")q.unshift(U);else M[O]=U}if(H)Object.defineProperty(H,B.name,M);N=!0},wO=function(Q,w,F){var B=arguments.length>2;for(var q=0;q<w.length;q++)F=B?w[q].call(Q,F):w[q].call(Q);return B?F:void 0},FO=function(Q){return typeof Q==="symbol"?Q:"".concat(Q)},BO=function(Q,w,F){if(typeof w==="symbol")w=w.description?"[".concat(w.description,"]"):"";return Object.defineProperty(Q,"name",{configurable:!0,value:F?"".concat(F," ",w):w})},qO=function(Q,w){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(Q,w)},$O=function(Q,w,F,B){function q($){return $ instanceof F?$:new F(function(G){G($)})}return new(F||(F=Promise))(function($,G){function W(M){try{H(B.next(M))}catch(U){G(U)}}function O(M){try{H(B.throw(M))}catch(U){G(U)}}function H(M){M.done?$(M.value):q(M.value).then(W,O)}H((B=B.apply(Q,w||[])).next())})},GO=function(Q,w){var F={label:0,sent:function(){if($[0]&1)throw $[1];return $[1]},trys:[],ops:[]},B,q,$,G=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return G.next=W(0),G.throw=W(1),G.return=W(2),typeof Symbol==="function"&&(G[Symbol.iterator]=function(){return this}),G;function W(H){return function(M){return O([H,M])}}function O(H){if(B)throw TypeError("Generator is already executing.");while(G&&(G=0,H[0]&&(F=0)),F)try{if(B=1,q&&($=H[0]&2?q.return:H[0]?q.throw||(($=q.return)&&$.call(q),0):q.next)&&!($=$.call(q,H[1])).done)return $;if(q=0,$)H=[H[0]&2,$.value];switch(H[0]){case 0:case 1:$=H;break;case 4:return F.label++,{value:H[1],done:!1};case 5:F.label++,q=H[1],H=[0];continue;case 7:H=F.ops.pop(),F.trys.pop();continue;default:if(($=F.trys,!($=$.length>0&&$[$.length-1]))&&(H[0]===6||H[0]===2)){F=0;continue}if(H[0]===3&&(!$||H[1]>$[0]&&H[1]<$[3])){F.label=H[1];break}if(H[0]===6&&F.label<$[1]){F.label=$[1],$=H;break}if($&&F.label<$[2]){F.label=$[2],F.ops.push(H);break}if($[2])F.ops.pop();F.trys.pop();continue}H=w.call(Q,F)}catch(M){H=[6,M],q=0}finally{B=$=0}if(H[0]&5)throw H[1];return{value:H[0]?H[1]:void 0,done:!0}}},OO=function(Q,w){for(var F in Q)if(F!=="default"&&!Object.prototype.hasOwnProperty.call(w,F))xX(w,Q,F)},xX=Object.create?function(Q,w,F,B){if(B===void 0)B=F;var q=Object.getOwnPropertyDescriptor(w,F);if(!q||("get"in q?!w.__esModule:q.writable||q.configurable))q={enumerable:!0,get:function(){return w[F]}};Object.defineProperty(Q,B,q)}:function(Q,w,F,B){if(B===void 0)B=F;Q[B]=w[F]},SX=function(Q){var w=typeof Symbol==="function"&&Symbol.iterator,F=w&&Q[w],B=0;if(F)return F.call(Q);if(Q&&typeof Q.length==="number")return{next:function(){if(Q&&B>=Q.length)Q=void 0;return{value:Q&&Q[B++],done:!Q}}};throw TypeError(w?"Object is not iterable.":"Symbol.iterator is not defined.")},MQ=function(Q,w){var F=typeof Symbol==="function"&&Q[Symbol.iterator];if(!F)return Q;var B=F.call(Q),q,$=[],G;try{while((w===void 0||w-- >0)&&!(q=B.next()).done)$.push(q.value)}catch(W){G={error:W}}finally{try{if(q&&!q.done&&(F=B.return))F.call(B)}finally{if(G)throw G.error}}return $},WO=function(){for(var Q=[],w=0;w<arguments.length;w++)Q=Q.concat(MQ(arguments[w]));return Q},HO=function(){for(var Q=0,w=0,F=arguments.length;w<F;w++)Q+=arguments[w].length;for(var B=Array(Q),q=0,w=0;w<F;w++)for(var $=arguments[w],G=0,W=$.length;G<W;G++,q++)B[q]=$[G];return B},KO=function(Q,w,F){if(F||arguments.length===2){for(var B=0,q=w.length,$;B<q;B++)if($||!(B in w)){if(!$)$=Array.prototype.slice.call(w,0,B);$[B]=w[B]}}return Q.concat($||Array.prototype.slice.call(w))},C5=function(Q){return this instanceof C5?(this.v=Q,this):new C5(Q)},zO=function(Q,w,F){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var B=F.apply(Q,w||[]),q,$=[];return q=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),W("next"),W("throw"),W("return",G),q[Symbol.asyncIterator]=function(){return this},q;function G(R){return function(z){return Promise.resolve(z).then(R,U)}}function W(R,z){if(B[R]){if(q[R]=function(V){return new Promise(function(L,C){$.push([R,V,L,C])>1||O(R,V)})},z)q[R]=z(q[R])}}function O(R,z){try{H(B[R](z))}catch(V){N($[0][3],V)}}function H(R){R.value instanceof C5?Promise.resolve(R.value.v).then(M,U):N($[0][2],R)}function M(R){O("next",R)}function U(R){O("throw",R)}function N(R,z){if(R(z),$.shift(),$.length)O($[0][0],$[0][1])}},MO=function(Q){var w,F;return w={},B("next"),B("throw",function(q){throw q}),B("return"),w[Symbol.iterator]=function(){return this},w;function B(q,$){w[q]=Q[q]?function(G){return(F=!F)?{value:C5(Q[q](G)),done:!1}:$?$(G):G}:$}},LO=function(Q){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var w=Q[Symbol.asyncIterator],F;return w?w.call(Q):(Q=typeof SX==="function"?SX(Q):Q[Symbol.iterator](),F={},B("next"),B("throw"),B("return"),F[Symbol.asyncIterator]=function(){return this},F);function B($){F[$]=Q[$]&&function(G){return new Promise(function(W,O){G=Q[$](G),q(W,O,G.done,G.value)})}}function q($,G,W,O){Promise.resolve(O).then(function(H){$({value:H,done:W})},G)}},VO=function(Q,w){if(Object.defineProperty)Object.defineProperty(Q,"raw",{value:w});else Q.raw=w;return Q};var Y=Object.create?function(Q,w){Object.defineProperty(Q,"default",{enumerable:!0,value:w})}:function(Q,w){Q.default=w},Z=function(Q){return Z=Object.getOwnPropertyNames||function(w){var F=[];for(var B in w)if(Object.prototype.hasOwnProperty.call(w,B))F[F.length]=B;return F},Z(Q)};UO=function(Q){if(Q&&Q.__esModule)return Q;var w={};if(Q!=null){for(var F=Z(Q),B=0;B<F.length;B++)if(F[B]!=="default")xX(w,Q,F[B])}return Y(w,Q),w},NO=function(Q){return Q&&Q.__esModule?Q:{default:Q}},RO=function(Q,w,F,B){if(F==="a"&&!B)throw TypeError("Private accessor was defined without a getter");if(typeof w==="function"?Q!==w||!B:!w.has(Q))throw TypeError("Cannot read private member from an object whose class did not declare it");return F==="m"?B:F==="a"?B.call(Q):B?B.value:w.get(Q)},AO=function(Q,w,F,B,q){if(B==="m")throw TypeError("Private method is not writable");if(B==="a"&&!q)throw TypeError("Private accessor was defined without a setter");if(typeof w==="function"?Q!==w||!q:!w.has(Q))throw TypeError("Cannot write private member to an object whose class did not declare it");return B==="a"?q.call(Q,F):q?q.value=F:w.set(Q,F),F},EO=function(Q,w){if(w===null||typeof w!=="object"&&typeof w!=="function")throw TypeError("Cannot use 'in' operator on non-object");return typeof Q==="function"?w===Q:Q.has(w)},CO=function(Q,w,F){if(w!==null&&w!==void 0){if(typeof w!=="object"&&typeof w!=="function")throw TypeError("Object expected.");var B,q;if(F){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");B=w[Symbol.asyncDispose]}if(B===void 0){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");if(B=w[Symbol.dispose],F)q=B}if(typeof B!=="function")throw TypeError("Object not disposable.");if(q)B=function(){try{q.call(this)}catch($){return Promise.reject($)}};Q.stack.push({value:w,dispose:B,async:F})}else if(F)Q.stack.push({async:!0});return w};var J=typeof SuppressedError==="function"?SuppressedError:function(Q,w,F){var B=Error(F);return B.name="SuppressedError",B.error=Q,B.suppressed=w,B};jO=function(Q){function w($){Q.error=Q.hasError?new J($,Q.error,"An error was suppressed during disposal."):$,Q.hasError=!0}var F,B=0;function q(){while(F=Q.stack.pop())try{if(!F.async&&B===1)return B=0,Q.stack.push(F),Promise.resolve().then(q);if(F.dispose){var $=F.dispose.call(F.value);if(F.async)return B|=2,Promise.resolve($).then(q,function(G){return w(G),q()})}else B|=1}catch(G){w(G)}if(B===1)return Q.hasError?Promise.reject(Q.error):Promise.resolve();if(Q.hasError)throw Q.error}return q()},TO=function(Q,w){if(typeof Q==="string"&&/^\.\.?\//.test(Q))return Q.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(F,B,q,$,G){return B?w?".jsx":".js":q&&(!$||!G)?F:q+$+"."+G.toLowerCase()+"js"});return Q},D("__extends",DO),D("__assign",XO),D("__rest",YO),D("__decorate",ZO),D("__param",JO),D("__esDecorate",QO),D("__runInitializers",wO),D("__propKey",FO),D("__setFunctionName",BO),D("__metadata",qO),D("__awaiter",$O),D("__generator",GO),D("__exportStar",OO),D("__createBinding",xX),D("__values",SX),D("__read",MQ),D("__spread",WO),D("__spreadArrays",HO),D("__spreadArray",KO),D("__await",C5),D("__asyncGenerator",zO),D("__asyncDelegator",MO),D("__asyncValues",LO),D("__makeTemplateObject",VO),D("__importStar",UO),D("__importDefault",NO),D("__classPrivateFieldGet",RO),D("__classPrivateFieldSet",AO),D("__classPrivateFieldIn",EO),D("__addDisposableResource",CO),D("__disposeResources",jO),D("__rewriteRelativeImportExtension",TO)})});var IO=T((yX)=>{Object.defineProperty(yX,"__esModule",{value:!0});yX.resolveFetch=void 0;var c_=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)};yX.resolveFetch=c_});var LQ=T((c1)=>{Object.defineProperty(c1,"__esModule",{value:!0});c1.FunctionRegion=c1.FunctionsHttpError=c1.FunctionsRelayError=c1.FunctionsFetchError=c1.FunctionsError=void 0;class q4 extends Error{constructor(D,X="FunctionsError",Y){super(D);this.name=X,this.context=Y}}c1.FunctionsError=q4;class SO extends q4{constructor(D){super("Failed to send a request to the Edge Function","FunctionsFetchError",D)}}c1.FunctionsFetchError=SO;class xO extends q4{constructor(D){super("Relay Error invoking the Edge Function","FunctionsRelayError",D)}}c1.FunctionsRelayError=xO;class fO extends q4{constructor(D){super("Edge Function returned a non-2xx status code","FunctionsHttpError",D)}}c1.FunctionsHttpError=fO;var PO;(function(D){D.Any="any",D.ApNortheast1="ap-northeast-1",D.ApNortheast2="ap-northeast-2",D.ApSouth1="ap-south-1",D.ApSoutheast1="ap-southeast-1",D.ApSoutheast2="ap-southeast-2",D.CaCentral1="ca-central-1",D.EuCentral1="eu-central-1",D.EuWest1="eu-west-1",D.EuWest2="eu-west-2",D.EuWest3="eu-west-3",D.SaEast1="sa-east-1",D.UsEast1="us-east-1",D.UsWest1="us-west-1",D.UsWest2="us-west-2"})(PO||(c1.FunctionRegion=PO={}))});var kO=T((kX)=>{Object.defineProperty(kX,"__esModule",{value:!0});kX.FunctionsClient=void 0;var l_=h0(),n_=IO(),j5=LQ();class yO{constructor(D,{headers:X={},customFetch:Y,region:Z=j5.FunctionRegion.Any}={}){this.url=D,this.headers=X,this.region=Z,this.fetch=(0,n_.resolveFetch)(Y)}setAuth(D){this.headers.Authorization=`Bearer ${D}`}invoke(D){return l_.__awaiter(this,arguments,void 0,function*(X,Y={}){var Z;let J,Q;try{let{headers:w,method:F,body:B,signal:q,timeout:$}=Y,G={},{region:W}=Y;if(!W)W=this.region;let O=new URL(`${this.url}/${X}`);if(W&&W!=="any")G["x-region"]=W,O.searchParams.set("forceFunctionRegion",W);let H;if(B&&(w&&!Object.prototype.hasOwnProperty.call(w,"Content-Type")||!w))if(typeof Blob<"u"&&B instanceof Blob||B instanceof ArrayBuffer)G["Content-Type"]="application/octet-stream",H=B;else if(typeof B==="string")G["Content-Type"]="text/plain",H=B;else if(typeof FormData<"u"&&B instanceof FormData)H=B;else G["Content-Type"]="application/json",H=JSON.stringify(B);else H=B;let M=q;if($)if(Q=new AbortController,J=setTimeout(()=>Q.abort(),$),q)M=Q.signal,q.addEventListener("abort",()=>Q.abort());else M=Q.signal;let U=yield this.fetch(O.toString(),{method:F||"POST",headers:Object.assign(Object.assign(Object.assign({},G),this.headers),w),body:H,signal:M}).catch((V)=>{throw new j5.FunctionsFetchError(V)}),N=U.headers.get("x-relay-error");if(N&&N==="true")throw new j5.FunctionsRelayError(U);if(!U.ok)throw new j5.FunctionsHttpError(U);let R=((Z=U.headers.get("Content-Type"))!==null&&Z!==void 0?Z:"text/plain").split(";")[0].trim(),z;if(R==="application/json")z=yield U.json();else if(R==="application/octet-stream"||R==="application/pdf")z=yield U.blob();else if(R==="text/event-stream")z=U;else if(R==="multipart/form-data")z=yield U.formData();else z=yield U.text();return{data:z,error:null,response:U}}catch(w){return{data:null,error:w,response:w instanceof j5.FunctionsHttpError||w instanceof j5.FunctionsRelayError?w.context:void 0}}finally{if(J)clearTimeout(J)}})}}kX.FunctionsClient=yO});var uO=T((A1)=>{Object.defineProperty(A1,"__esModule",{value:!0});A1.FunctionRegion=A1.FunctionsRelayError=A1.FunctionsHttpError=A1.FunctionsFetchError=A1.FunctionsError=A1.FunctionsClient=void 0;var i_=kO();Object.defineProperty(A1,"FunctionsClient",{enumerable:!0,get:function(){return i_.FunctionsClient}});var $4=LQ();Object.defineProperty(A1,"FunctionsError",{enumerable:!0,get:function(){return $4.FunctionsError}});Object.defineProperty(A1,"FunctionsFetchError",{enumerable:!0,get:function(){return $4.FunctionsFetchError}});Object.defineProperty(A1,"FunctionsHttpError",{enumerable:!0,get:function(){return $4.FunctionsHttpError}});Object.defineProperty(A1,"FunctionsRelayError",{enumerable:!0,get:function(){return $4.FunctionsRelayError}});Object.defineProperty(A1,"FunctionRegion",{enumerable:!0,get:function(){return $4.FunctionRegion}})});var AQ=T((O4)=>{Object.defineProperty(O4,"__esModule",{value:!0});O4.WebSocketFactory=void 0;class RQ{constructor(){}static detectEnvironment(){var D;if(typeof WebSocket<"u")return{type:"native",constructor:WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};if(typeof global<"u"&&typeof global.WebSocket<"u")return{type:"native",constructor:global.WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&globalThis.EdgeRuntime||typeof navigator<"u"&&((D=navigator.userAgent)===null||D===void 0?void 0:D.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};if(typeof process<"u"){let X=process.versions;if(X&&X.node){let Y=X.node,Z=parseInt(Y.replace(/^v/,"").split(".")[0]);if(Z>=22){if(typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};return{type:"unsupported",error:`Node.js ${Z} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}}return{type:"unsupported",error:`Node.js ${Z} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
|
|
1
|
+
var Sh=Object.create;var{getPrototypeOf:xh,defineProperty:F9,getOwnPropertyNames:WX,getOwnPropertyDescriptor:fh}=Object,HX=Object.prototype.hasOwnProperty,J0=(D,X,Y)=>{for(let Z of WX(X))if(!HX.call(D,Z)&&Z!=="default")F9(D,Z,{get:()=>X[Z],enumerable:!0});if(Y){for(let Z of WX(X))if(!HX.call(Y,Z)&&Z!=="default")F9(Y,Z,{get:()=>X[Z],enumerable:!0});return Y}},R0=(D,X,Y)=>{Y=D!=null?Sh(xh(D)):{};let Z=X||!D||!D.__esModule?F9(Y,"default",{value:D,enumerable:!0}):Y;for(let J of WX(D))if(!HX.call(Z,J))F9(Z,J,{get:()=>D[J],enumerable:!0});return Z},zG=new WeakMap,yh=(D)=>{var X=zG.get(D),Y;if(X)return X;if(X=F9({},"__esModule",{value:!0}),D&&typeof D==="object"||typeof D==="function")WX(D).map((Z)=>!HX.call(X,Z)&&F9(X,Z,{get:()=>D[Z],enumerable:!(Y=fh(D,Z))||Y.enumerable}));return zG.set(D,X),X},T=(D,X)=>()=>(X||D((X={exports:{}}).exports,X),X.exports);var D4=(D,X)=>{for(var Y in X)F9(D,Y,{get:X[Y],enumerable:!0,configurable:!0,set:(Z)=>X[Y]=()=>Z})};var m1=(D,X)=>()=>(D&&(X=D(D=0)),X);var XD=T((LY0,MG)=>{var nJ={to(D,X){if(!X)return`\x1B[${D+1}G`;return`\x1B[${X+1};${D+1}H`},move(D,X){let Y="";if(D<0)Y+=`\x1B[${-D}D`;else if(D>0)Y+=`\x1B[${D}C`;if(X<0)Y+=`\x1B[${-X}A`;else if(X>0)Y+=`\x1B[${X}B`;return Y},up:(D=1)=>`\x1B[${D}A`,down:(D=1)=>`\x1B[${D}B`,forward:(D=1)=>`\x1B[${D}C`,backward:(D=1)=>`\x1B[${D}D`,nextLine:(D=1)=>"\x1B[E".repeat(D),prevLine:(D=1)=>"\x1B[F".repeat(D),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},kh={up:(D=1)=>"\x1B[S".repeat(D),down:(D=1)=>"\x1B[T".repeat(D)},uh={screen:"\x1B[2J",up:(D=1)=>"\x1B[1J".repeat(D),down:(D=1)=>"\x1B[J".repeat(D),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(D){let X="";for(let Y=0;Y<D;Y++)X+=this.line+(Y<D-1?nJ.up():"");if(D)X+=nJ.left;return X}};MG.exports={cursor:nJ,scroll:kh,erase:uh,beep:"\x07"}});var pJ=T((VY0,iJ)=>{var zX=process||{},LG=zX.argv||[],KX=zX.env||{},hh=!(!!KX.NO_COLOR||LG.includes("--no-color"))&&(!!KX.FORCE_COLOR||LG.includes("--color")||zX.platform==="win32"||(zX.stdout||{}).isTTY&&KX.TERM!=="dumb"||!!KX.CI),_h=(D,X,Y=D)=>(Z)=>{let J=""+Z,Q=J.indexOf(X,D.length);return~Q?D+vh(J,X,Y,Q)+X:D+J+X},vh=(D,X,Y,Z)=>{let J="",Q=0;do J+=D.substring(Q,Z)+Y,Q=Z+X.length,Z=D.indexOf(X,Q);while(~Z);return J+D.substring(Q)},VG=(D=hh)=>{let X=D?_h:()=>String;return{isColorSupported:D,reset:X("\x1B[0m","\x1B[0m"),bold:X("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:X("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:X("\x1B[3m","\x1B[23m"),underline:X("\x1B[4m","\x1B[24m"),inverse:X("\x1B[7m","\x1B[27m"),hidden:X("\x1B[8m","\x1B[28m"),strikethrough:X("\x1B[9m","\x1B[29m"),black:X("\x1B[30m","\x1B[39m"),red:X("\x1B[31m","\x1B[39m"),green:X("\x1B[32m","\x1B[39m"),yellow:X("\x1B[33m","\x1B[39m"),blue:X("\x1B[34m","\x1B[39m"),magenta:X("\x1B[35m","\x1B[39m"),cyan:X("\x1B[36m","\x1B[39m"),white:X("\x1B[37m","\x1B[39m"),gray:X("\x1B[90m","\x1B[39m"),bgBlack:X("\x1B[40m","\x1B[49m"),bgRed:X("\x1B[41m","\x1B[49m"),bgGreen:X("\x1B[42m","\x1B[49m"),bgYellow:X("\x1B[43m","\x1B[49m"),bgBlue:X("\x1B[44m","\x1B[49m"),bgMagenta:X("\x1B[45m","\x1B[49m"),bgCyan:X("\x1B[46m","\x1B[49m"),bgWhite:X("\x1B[47m","\x1B[49m"),blackBright:X("\x1B[90m","\x1B[39m"),redBright:X("\x1B[91m","\x1B[39m"),greenBright:X("\x1B[92m","\x1B[39m"),yellowBright:X("\x1B[93m","\x1B[39m"),blueBright:X("\x1B[94m","\x1B[39m"),magentaBright:X("\x1B[95m","\x1B[39m"),cyanBright:X("\x1B[96m","\x1B[39m"),whiteBright:X("\x1B[97m","\x1B[39m"),bgBlackBright:X("\x1B[100m","\x1B[49m"),bgRedBright:X("\x1B[101m","\x1B[49m"),bgGreenBright:X("\x1B[102m","\x1B[49m"),bgYellowBright:X("\x1B[103m","\x1B[49m"),bgBlueBright:X("\x1B[104m","\x1B[49m"),bgMagentaBright:X("\x1B[105m","\x1B[49m"),bgCyanBright:X("\x1B[106m","\x1B[49m"),bgWhiteBright:X("\x1B[107m","\x1B[49m")}};iJ.exports=VG();iJ.exports.createColors=VG});var AX=T((R1)=>{Object.defineProperty(R1,"__esModule",{value:!0});R1.isNXMonorepo=R1.isMonorepo=R1.findPackageRelativePathInMonorepo=R1.findPackagePath=R1.findNXMonorepoRoot=R1.findMonorepoRoot=void 0;var J4=require("node:fs"),A6=require("node:path");function RX(D){let X=(0,A6.join)(D,"package.json"),Y=(0,A6.join)(D,"pnpm-workspace.yaml");if((0,J4.existsSync)(Y)||(0,J4.existsSync)(X)&&JSON.parse((0,J4.readFileSync)(X,"utf-8")).workspaces)return D;let Z=(0,A6.dirname)(D);if(Z===D)throw Error("Monorepo root not found");return RX(Z)}R1.findMonorepoRoot=RX;function qQ(D){let X=(0,A6.join)(D,"nx.json");if((0,J4.existsSync)(X))return D;let Y=(0,A6.dirname)(D);if(Y===D)throw Error("Monorepo root not found");return qQ(Y)}R1.findNXMonorepoRoot=qQ;function $Q(D,X,Y){let Z=(0,A6.join)(X,"node_modules",D);if((0,J4.existsSync)(Z))return Z;if(X===Y)return null;let J=(0,A6.dirname)(X);return $Q(D,J,Y)}R1.findPackagePath=$Q;function V_(D,X){let Y=RX(X),Z=$Q(D,X,Y);if(Z)return(0,A6.relative)(X,Z);return null}R1.findPackageRelativePathInMonorepo=V_;function U_(D){try{return RX(D),!0}catch(X){return!1}}R1.isMonorepo=U_;function N_(D){try{return qQ(D),!0}catch(X){return!1}}R1.isNXMonorepo=N_});var h0=T((I20,fX)=>{var DO,XO,YO,ZO,JO,QO,wO,FO,BO,qO,$O,GO,OO,SX,MQ,WO,HO,KO,C5,zO,MO,LO,VO,UO,NO,RO,AO,EO,xX,CO,jO,TO;(function(D){var X=typeof global==="object"?global:typeof self==="object"?self:typeof this==="object"?this:{};if(typeof define==="function"&&define.amd)define("tslib",["exports"],function(Z){D(Y(X,Y(Z)))});else if(typeof fX==="object"&&typeof fX.exports==="object")D(Y(X,Y(fX.exports)));else D(Y(X));function Y(Z,J){if(Z!==X)if(typeof Object.create==="function")Object.defineProperty(Z,"__esModule",{value:!0});else Z.__esModule=!0;return function(Q,w){return Z[Q]=J?J(Q,w):w}}})(function(D){var X=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(Q,w){Q.__proto__=w}||function(Q,w){for(var F in w)if(Object.prototype.hasOwnProperty.call(w,F))Q[F]=w[F]};DO=function(Q,w){if(typeof w!=="function"&&w!==null)throw TypeError("Class extends value "+String(w)+" is not a constructor or null");X(Q,w);function F(){this.constructor=Q}Q.prototype=w===null?Object.create(w):(F.prototype=w.prototype,new F)},XO=Object.assign||function(Q){for(var w,F=1,B=arguments.length;F<B;F++){w=arguments[F];for(var q in w)if(Object.prototype.hasOwnProperty.call(w,q))Q[q]=w[q]}return Q},YO=function(Q,w){var F={};for(var B in Q)if(Object.prototype.hasOwnProperty.call(Q,B)&&w.indexOf(B)<0)F[B]=Q[B];if(Q!=null&&typeof Object.getOwnPropertySymbols==="function"){for(var q=0,B=Object.getOwnPropertySymbols(Q);q<B.length;q++)if(w.indexOf(B[q])<0&&Object.prototype.propertyIsEnumerable.call(Q,B[q]))F[B[q]]=Q[B[q]]}return F},ZO=function(Q,w,F,B){var q=arguments.length,$=q<3?w:B===null?B=Object.getOwnPropertyDescriptor(w,F):B,G;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")$=Reflect.decorate(Q,w,F,B);else for(var W=Q.length-1;W>=0;W--)if(G=Q[W])$=(q<3?G($):q>3?G(w,F,$):G(w,F))||$;return q>3&&$&&Object.defineProperty(w,F,$),$},JO=function(Q,w){return function(F,B){w(F,B,Q)}},QO=function(Q,w,F,B,q,$){function G(C){if(C!==void 0&&typeof C!=="function")throw TypeError("Function expected");return C}var W=B.kind,O=W==="getter"?"get":W==="setter"?"set":"value",H=!w&&Q?B.static?Q:Q.prototype:null,M=w||(H?Object.getOwnPropertyDescriptor(H,B.name):{}),U,N=!1;for(var R=F.length-1;R>=0;R--){var z={};for(var V in B)z[V]=V==="access"?{}:B[V];for(var V in B.access)z.access[V]=B.access[V];z.addInitializer=function(C){if(N)throw TypeError("Cannot add initializers after decoration has completed");$.push(G(C||null))};var L=(0,F[R])(W==="accessor"?{get:M.get,set:M.set}:M[O],z);if(W==="accessor"){if(L===void 0)continue;if(L===null||typeof L!=="object")throw TypeError("Object expected");if(U=G(L.get))M.get=U;if(U=G(L.set))M.set=U;if(U=G(L.init))q.unshift(U)}else if(U=G(L))if(W==="field")q.unshift(U);else M[O]=U}if(H)Object.defineProperty(H,B.name,M);N=!0},wO=function(Q,w,F){var B=arguments.length>2;for(var q=0;q<w.length;q++)F=B?w[q].call(Q,F):w[q].call(Q);return B?F:void 0},FO=function(Q){return typeof Q==="symbol"?Q:"".concat(Q)},BO=function(Q,w,F){if(typeof w==="symbol")w=w.description?"[".concat(w.description,"]"):"";return Object.defineProperty(Q,"name",{configurable:!0,value:F?"".concat(F," ",w):w})},qO=function(Q,w){if(typeof Reflect==="object"&&typeof Reflect.metadata==="function")return Reflect.metadata(Q,w)},$O=function(Q,w,F,B){function q($){return $ instanceof F?$:new F(function(G){G($)})}return new(F||(F=Promise))(function($,G){function W(M){try{H(B.next(M))}catch(U){G(U)}}function O(M){try{H(B.throw(M))}catch(U){G(U)}}function H(M){M.done?$(M.value):q(M.value).then(W,O)}H((B=B.apply(Q,w||[])).next())})},GO=function(Q,w){var F={label:0,sent:function(){if($[0]&1)throw $[1];return $[1]},trys:[],ops:[]},B,q,$,G=Object.create((typeof Iterator==="function"?Iterator:Object).prototype);return G.next=W(0),G.throw=W(1),G.return=W(2),typeof Symbol==="function"&&(G[Symbol.iterator]=function(){return this}),G;function W(H){return function(M){return O([H,M])}}function O(H){if(B)throw TypeError("Generator is already executing.");while(G&&(G=0,H[0]&&(F=0)),F)try{if(B=1,q&&($=H[0]&2?q.return:H[0]?q.throw||(($=q.return)&&$.call(q),0):q.next)&&!($=$.call(q,H[1])).done)return $;if(q=0,$)H=[H[0]&2,$.value];switch(H[0]){case 0:case 1:$=H;break;case 4:return F.label++,{value:H[1],done:!1};case 5:F.label++,q=H[1],H=[0];continue;case 7:H=F.ops.pop(),F.trys.pop();continue;default:if(($=F.trys,!($=$.length>0&&$[$.length-1]))&&(H[0]===6||H[0]===2)){F=0;continue}if(H[0]===3&&(!$||H[1]>$[0]&&H[1]<$[3])){F.label=H[1];break}if(H[0]===6&&F.label<$[1]){F.label=$[1],$=H;break}if($&&F.label<$[2]){F.label=$[2],F.ops.push(H);break}if($[2])F.ops.pop();F.trys.pop();continue}H=w.call(Q,F)}catch(M){H=[6,M],q=0}finally{B=$=0}if(H[0]&5)throw H[1];return{value:H[0]?H[1]:void 0,done:!0}}},OO=function(Q,w){for(var F in Q)if(F!=="default"&&!Object.prototype.hasOwnProperty.call(w,F))xX(w,Q,F)},xX=Object.create?function(Q,w,F,B){if(B===void 0)B=F;var q=Object.getOwnPropertyDescriptor(w,F);if(!q||("get"in q?!w.__esModule:q.writable||q.configurable))q={enumerable:!0,get:function(){return w[F]}};Object.defineProperty(Q,B,q)}:function(Q,w,F,B){if(B===void 0)B=F;Q[B]=w[F]},SX=function(Q){var w=typeof Symbol==="function"&&Symbol.iterator,F=w&&Q[w],B=0;if(F)return F.call(Q);if(Q&&typeof Q.length==="number")return{next:function(){if(Q&&B>=Q.length)Q=void 0;return{value:Q&&Q[B++],done:!Q}}};throw TypeError(w?"Object is not iterable.":"Symbol.iterator is not defined.")},MQ=function(Q,w){var F=typeof Symbol==="function"&&Q[Symbol.iterator];if(!F)return Q;var B=F.call(Q),q,$=[],G;try{while((w===void 0||w-- >0)&&!(q=B.next()).done)$.push(q.value)}catch(W){G={error:W}}finally{try{if(q&&!q.done&&(F=B.return))F.call(B)}finally{if(G)throw G.error}}return $},WO=function(){for(var Q=[],w=0;w<arguments.length;w++)Q=Q.concat(MQ(arguments[w]));return Q},HO=function(){for(var Q=0,w=0,F=arguments.length;w<F;w++)Q+=arguments[w].length;for(var B=Array(Q),q=0,w=0;w<F;w++)for(var $=arguments[w],G=0,W=$.length;G<W;G++,q++)B[q]=$[G];return B},KO=function(Q,w,F){if(F||arguments.length===2){for(var B=0,q=w.length,$;B<q;B++)if($||!(B in w)){if(!$)$=Array.prototype.slice.call(w,0,B);$[B]=w[B]}}return Q.concat($||Array.prototype.slice.call(w))},C5=function(Q){return this instanceof C5?(this.v=Q,this):new C5(Q)},zO=function(Q,w,F){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var B=F.apply(Q,w||[]),q,$=[];return q=Object.create((typeof AsyncIterator==="function"?AsyncIterator:Object).prototype),W("next"),W("throw"),W("return",G),q[Symbol.asyncIterator]=function(){return this},q;function G(R){return function(z){return Promise.resolve(z).then(R,U)}}function W(R,z){if(B[R]){if(q[R]=function(V){return new Promise(function(L,C){$.push([R,V,L,C])>1||O(R,V)})},z)q[R]=z(q[R])}}function O(R,z){try{H(B[R](z))}catch(V){N($[0][3],V)}}function H(R){R.value instanceof C5?Promise.resolve(R.value.v).then(M,U):N($[0][2],R)}function M(R){O("next",R)}function U(R){O("throw",R)}function N(R,z){if(R(z),$.shift(),$.length)O($[0][0],$[0][1])}},MO=function(Q){var w,F;return w={},B("next"),B("throw",function(q){throw q}),B("return"),w[Symbol.iterator]=function(){return this},w;function B(q,$){w[q]=Q[q]?function(G){return(F=!F)?{value:C5(Q[q](G)),done:!1}:$?$(G):G}:$}},LO=function(Q){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var w=Q[Symbol.asyncIterator],F;return w?w.call(Q):(Q=typeof SX==="function"?SX(Q):Q[Symbol.iterator](),F={},B("next"),B("throw"),B("return"),F[Symbol.asyncIterator]=function(){return this},F);function B($){F[$]=Q[$]&&function(G){return new Promise(function(W,O){G=Q[$](G),q(W,O,G.done,G.value)})}}function q($,G,W,O){Promise.resolve(O).then(function(H){$({value:H,done:W})},G)}},VO=function(Q,w){if(Object.defineProperty)Object.defineProperty(Q,"raw",{value:w});else Q.raw=w;return Q};var Y=Object.create?function(Q,w){Object.defineProperty(Q,"default",{enumerable:!0,value:w})}:function(Q,w){Q.default=w},Z=function(Q){return Z=Object.getOwnPropertyNames||function(w){var F=[];for(var B in w)if(Object.prototype.hasOwnProperty.call(w,B))F[F.length]=B;return F},Z(Q)};UO=function(Q){if(Q&&Q.__esModule)return Q;var w={};if(Q!=null){for(var F=Z(Q),B=0;B<F.length;B++)if(F[B]!=="default")xX(w,Q,F[B])}return Y(w,Q),w},NO=function(Q){return Q&&Q.__esModule?Q:{default:Q}},RO=function(Q,w,F,B){if(F==="a"&&!B)throw TypeError("Private accessor was defined without a getter");if(typeof w==="function"?Q!==w||!B:!w.has(Q))throw TypeError("Cannot read private member from an object whose class did not declare it");return F==="m"?B:F==="a"?B.call(Q):B?B.value:w.get(Q)},AO=function(Q,w,F,B,q){if(B==="m")throw TypeError("Private method is not writable");if(B==="a"&&!q)throw TypeError("Private accessor was defined without a setter");if(typeof w==="function"?Q!==w||!q:!w.has(Q))throw TypeError("Cannot write private member to an object whose class did not declare it");return B==="a"?q.call(Q,F):q?q.value=F:w.set(Q,F),F},EO=function(Q,w){if(w===null||typeof w!=="object"&&typeof w!=="function")throw TypeError("Cannot use 'in' operator on non-object");return typeof Q==="function"?w===Q:Q.has(w)},CO=function(Q,w,F){if(w!==null&&w!==void 0){if(typeof w!=="object"&&typeof w!=="function")throw TypeError("Object expected.");var B,q;if(F){if(!Symbol.asyncDispose)throw TypeError("Symbol.asyncDispose is not defined.");B=w[Symbol.asyncDispose]}if(B===void 0){if(!Symbol.dispose)throw TypeError("Symbol.dispose is not defined.");if(B=w[Symbol.dispose],F)q=B}if(typeof B!=="function")throw TypeError("Object not disposable.");if(q)B=function(){try{q.call(this)}catch($){return Promise.reject($)}};Q.stack.push({value:w,dispose:B,async:F})}else if(F)Q.stack.push({async:!0});return w};var J=typeof SuppressedError==="function"?SuppressedError:function(Q,w,F){var B=Error(F);return B.name="SuppressedError",B.error=Q,B.suppressed=w,B};jO=function(Q){function w($){Q.error=Q.hasError?new J($,Q.error,"An error was suppressed during disposal."):$,Q.hasError=!0}var F,B=0;function q(){while(F=Q.stack.pop())try{if(!F.async&&B===1)return B=0,Q.stack.push(F),Promise.resolve().then(q);if(F.dispose){var $=F.dispose.call(F.value);if(F.async)return B|=2,Promise.resolve($).then(q,function(G){return w(G),q()})}else B|=1}catch(G){w(G)}if(B===1)return Q.hasError?Promise.reject(Q.error):Promise.resolve();if(Q.hasError)throw Q.error}return q()},TO=function(Q,w){if(typeof Q==="string"&&/^\.\.?\//.test(Q))return Q.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(F,B,q,$,G){return B?w?".jsx":".js":q&&(!$||!G)?F:q+$+"."+G.toLowerCase()+"js"});return Q},D("__extends",DO),D("__assign",XO),D("__rest",YO),D("__decorate",ZO),D("__param",JO),D("__esDecorate",QO),D("__runInitializers",wO),D("__propKey",FO),D("__setFunctionName",BO),D("__metadata",qO),D("__awaiter",$O),D("__generator",GO),D("__exportStar",OO),D("__createBinding",xX),D("__values",SX),D("__read",MQ),D("__spread",WO),D("__spreadArrays",HO),D("__spreadArray",KO),D("__await",C5),D("__asyncGenerator",zO),D("__asyncDelegator",MO),D("__asyncValues",LO),D("__makeTemplateObject",VO),D("__importStar",UO),D("__importDefault",NO),D("__classPrivateFieldGet",RO),D("__classPrivateFieldSet",AO),D("__classPrivateFieldIn",EO),D("__addDisposableResource",CO),D("__disposeResources",jO),D("__rewriteRelativeImportExtension",TO)})});var IO=T((yX)=>{Object.defineProperty(yX,"__esModule",{value:!0});yX.resolveFetch=void 0;var c_=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)};yX.resolveFetch=c_});var LQ=T((c1)=>{Object.defineProperty(c1,"__esModule",{value:!0});c1.FunctionRegion=c1.FunctionsHttpError=c1.FunctionsRelayError=c1.FunctionsFetchError=c1.FunctionsError=void 0;class q4 extends Error{constructor(D,X="FunctionsError",Y){super(D);this.name=X,this.context=Y}}c1.FunctionsError=q4;class SO extends q4{constructor(D){super("Failed to send a request to the Edge Function","FunctionsFetchError",D)}}c1.FunctionsFetchError=SO;class xO extends q4{constructor(D){super("Relay Error invoking the Edge Function","FunctionsRelayError",D)}}c1.FunctionsRelayError=xO;class fO extends q4{constructor(D){super("Edge Function returned a non-2xx status code","FunctionsHttpError",D)}}c1.FunctionsHttpError=fO;var PO;(function(D){D.Any="any",D.ApNortheast1="ap-northeast-1",D.ApNortheast2="ap-northeast-2",D.ApSouth1="ap-south-1",D.ApSoutheast1="ap-southeast-1",D.ApSoutheast2="ap-southeast-2",D.CaCentral1="ca-central-1",D.EuCentral1="eu-central-1",D.EuWest1="eu-west-1",D.EuWest2="eu-west-2",D.EuWest3="eu-west-3",D.SaEast1="sa-east-1",D.UsEast1="us-east-1",D.UsWest1="us-west-1",D.UsWest2="us-west-2"})(PO||(c1.FunctionRegion=PO={}))});var kO=T((kX)=>{Object.defineProperty(kX,"__esModule",{value:!0});kX.FunctionsClient=void 0;var l_=h0(),n_=IO(),j5=LQ();class yO{constructor(D,{headers:X={},customFetch:Y,region:Z=j5.FunctionRegion.Any}={}){this.url=D,this.headers=X,this.region=Z,this.fetch=(0,n_.resolveFetch)(Y)}setAuth(D){this.headers.Authorization=`Bearer ${D}`}invoke(D){return l_.__awaiter(this,arguments,void 0,function*(X,Y={}){var Z;let J,Q;try{let{headers:w,method:F,body:B,signal:q,timeout:$}=Y,G={},{region:W}=Y;if(!W)W=this.region;let O=new URL(`${this.url}/${X}`);if(W&&W!=="any")G["x-region"]=W,O.searchParams.set("forceFunctionRegion",W);let H;if(B&&(w&&!Object.prototype.hasOwnProperty.call(w,"Content-Type")||!w))if(typeof Blob<"u"&&B instanceof Blob||B instanceof ArrayBuffer)G["Content-Type"]="application/octet-stream",H=B;else if(typeof B==="string")G["Content-Type"]="text/plain",H=B;else if(typeof FormData<"u"&&B instanceof FormData)H=B;else G["Content-Type"]="application/json",H=JSON.stringify(B);else H=B;let M=q;if($)if(Q=new AbortController,J=setTimeout(()=>Q.abort(),$),q)M=Q.signal,q.addEventListener("abort",()=>Q.abort());else M=Q.signal;let U=yield this.fetch(O.toString(),{method:F||"POST",headers:Object.assign(Object.assign(Object.assign({},G),this.headers),w),body:H,signal:M}).catch((V)=>{throw new j5.FunctionsFetchError(V)}),N=U.headers.get("x-relay-error");if(N&&N==="true")throw new j5.FunctionsRelayError(U);if(!U.ok)throw new j5.FunctionsHttpError(U);let R=((Z=U.headers.get("Content-Type"))!==null&&Z!==void 0?Z:"text/plain").split(";")[0].trim(),z;if(R==="application/json")z=yield U.json();else if(R==="application/octet-stream"||R==="application/pdf")z=yield U.blob();else if(R==="text/event-stream")z=U;else if(R==="multipart/form-data")z=yield U.formData();else z=yield U.text();return{data:z,error:null,response:U}}catch(w){return{data:null,error:w,response:w instanceof j5.FunctionsHttpError||w instanceof j5.FunctionsRelayError?w.context:void 0}}finally{if(J)clearTimeout(J)}})}}kX.FunctionsClient=yO});var uO=T((A1)=>{Object.defineProperty(A1,"__esModule",{value:!0});A1.FunctionRegion=A1.FunctionsRelayError=A1.FunctionsHttpError=A1.FunctionsFetchError=A1.FunctionsError=A1.FunctionsClient=void 0;var i_=kO();Object.defineProperty(A1,"FunctionsClient",{enumerable:!0,get:function(){return i_.FunctionsClient}});var $4=LQ();Object.defineProperty(A1,"FunctionsError",{enumerable:!0,get:function(){return $4.FunctionsError}});Object.defineProperty(A1,"FunctionsFetchError",{enumerable:!0,get:function(){return $4.FunctionsFetchError}});Object.defineProperty(A1,"FunctionsHttpError",{enumerable:!0,get:function(){return $4.FunctionsHttpError}});Object.defineProperty(A1,"FunctionsRelayError",{enumerable:!0,get:function(){return $4.FunctionsRelayError}});Object.defineProperty(A1,"FunctionRegion",{enumerable:!0,get:function(){return $4.FunctionRegion}})});var AQ=T((O4)=>{Object.defineProperty(O4,"__esModule",{value:!0});O4.WebSocketFactory=void 0;class RQ{constructor(){}static detectEnvironment(){var D;if(typeof WebSocket<"u")return{type:"native",constructor:WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};if(typeof global<"u"&&typeof global.WebSocket<"u")return{type:"native",constructor:global.WebSocket};if(typeof globalThis<"u"&&typeof globalThis.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&globalThis.EdgeRuntime||typeof navigator<"u"&&((D=navigator.userAgent)===null||D===void 0?void 0:D.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};if(typeof process<"u"){let X=process.versions;if(X&&X.node){let Y=X.node,Z=parseInt(Y.replace(/^v/,"").split(".")[0]);if(Z>=22){if(typeof globalThis.WebSocket<"u")return{type:"native",constructor:globalThis.WebSocket};return{type:"unsupported",error:`Node.js ${Z} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}}return{type:"unsupported",error:`Node.js ${Z} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
|
|
2
2
|
import ws from "ws"
|
|
3
3
|
new RealtimeClient(url, { transport: ws })`}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){let D=this.detectEnvironment();if(D.constructor)return D.constructor;let X=D.error||"WebSocket not supported in this environment.";if(D.workaround)X+=`
|
|
4
4
|
|
|
@@ -21,7 +21,7 @@ Option 2: Install and provide the "ws" package:
|
|
|
21
21
|
...options,
|
|
22
22
|
transport: ws
|
|
23
23
|
})`);throw Error(`WebSocket not available: ${X}`)}this._setupConnectionHandlers()}endpointURL(){return this._appendParams(this.endPoint,Object.assign({},this.params,{vsn:this.vsn}))}disconnect(D,X){if(this.isDisconnecting())return;if(this._setConnectionState("disconnecting",!0),this.conn){let Y=setTimeout(()=>{this._setConnectionState("disconnected")},100);if(this.conn.onclose=()=>{clearTimeout(Y),this._setConnectionState("disconnected")},typeof this.conn.close==="function")if(D)this.conn.close(D,X!==null&&X!==void 0?X:"");else this.conn.close();this._teardownConnection()}else this._setConnectionState("disconnected")}getChannels(){return this.channels}async removeChannel(D){let X=await D.unsubscribe();if(this.channels.length===0)this.disconnect();return X}async removeAllChannels(){let D=await Promise.all(this.channels.map((X)=>X.unsubscribe()));return this.channels=[],this.disconnect(),D}log(D,X,Y){this.logger(D,X,Y)}connectionState(){switch(this.conn&&this.conn.readyState){case LD.SOCKET_STATES.connecting:return LD.CONNECTION_STATE.Connecting;case LD.SOCKET_STATES.open:return LD.CONNECTION_STATE.Open;case LD.SOCKET_STATES.closing:return LD.CONNECTION_STATE.Closing;default:return LD.CONNECTION_STATE.Closed}}isConnected(){return this.connectionState()===LD.CONNECTION_STATE.Open}isConnecting(){return this._connectionState==="connecting"}isDisconnecting(){return this._connectionState==="disconnecting"}channel(D,X={config:{}}){let Y=`realtime:${D}`,Z=this.getChannels().find((J)=>J.topic===Y);if(!Z){let J=new Gv.default(`realtime:${D}`,X,this);return this.channels.push(J),J}else return Z}push(D){let{topic:X,event:Y,payload:Z,ref:J}=D,Q=()=>{this.encode(D,(w)=>{var F;(F=this.conn)===null||F===void 0||F.send(w)})};if(this.log("push",`${X} ${Y} (${J})`,Z),this.isConnected())Q();else this.sendBuffer.push(Q)}async setAuth(D=null){this._authPromise=this._performAuth(D);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){var D;if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(X){this.log("error","error in heartbeat callback",X)}return}if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(X){this.log("error","error in heartbeat callback",X)}this._wasManualDisconnect=!1,(D=this.conn)===null||D===void 0||D.close(LD.WS_CLOSE_NORMAL,"heartbeat timeout"),setTimeout(()=>{var X;if(!this.isConnected())(X=this.reconnectTimer)===null||X===void 0||X.scheduleTimeout()},gX.HEARTBEAT_TIMEOUT_FALLBACK);return}this.pendingHeartbeatRef=this._makeRef(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(X){this.log("error","error in heartbeat callback",X)}this._setAuthSafely("heartbeat")}onHeartbeat(D){this.heartbeatCallback=D}flushSendBuffer(){if(this.isConnected()&&this.sendBuffer.length>0)this.sendBuffer.forEach((D)=>D()),this.sendBuffer=[]}_makeRef(){let D=this.ref+1;if(D===this.ref)this.ref=0;else this.ref=D;return this.ref.toString()}_leaveOpenTopic(D){let X=this.channels.find((Y)=>Y.topic===D&&(Y._isJoined()||Y._isJoining()));if(X)this.log("transport",`leaving duplicate topic "${D}"`),X.unsubscribe()}_remove(D){this.channels=this.channels.filter((X)=>X.topic!==D.topic)}_onConnMessage(D){this.decode(D.data,(X)=>{if(X.topic==="phoenix"&&X.event==="phx_reply")try{this.heartbeatCallback(X.payload.status==="ok"?"ok":"error")}catch(B){this.log("error","error in heartbeat callback",B)}if(X.ref&&X.ref===this.pendingHeartbeatRef)this.pendingHeartbeatRef=null;let{topic:Y,event:Z,payload:J,ref:Q}=X,w=Q?`(${Q})`:"",F=J.status||"";this.log("receive",`${F} ${Y} ${Z} ${w}`.trim(),J),this.channels.filter((B)=>B._isMember(Y)).forEach((B)=>B._trigger(Z,J,Q)),this._triggerStateCallbacks("message",X)})}_clearTimer(D){var X;if(D==="heartbeat"&&this.heartbeatTimer)clearInterval(this.heartbeatTimer),this.heartbeatTimer=void 0;else if(D==="reconnect")(X=this.reconnectTimer)===null||X===void 0||X.reset()}_clearAllTimers(){this._clearTimer("heartbeat"),this._clearTimer("reconnect")}_setupConnectionHandlers(){if(!this.conn)return;if("binaryType"in this.conn)this.conn.binaryType="arraybuffer";if(this.conn.onopen=()=>this._onConnOpen(),this.conn.onerror=(D)=>this._onConnError(D),this.conn.onmessage=(D)=>this._onConnMessage(D),this.conn.onclose=(D)=>this._onConnClose(D),this.conn.readyState===LD.SOCKET_STATES.open)this._onConnOpen()}_teardownConnection(){if(this.conn){if(this.conn.readyState===LD.SOCKET_STATES.open||this.conn.readyState===LD.SOCKET_STATES.connecting)try{this.conn.close()}catch(D){this.log("error","Error closing connection",D)}this.conn.onopen=null,this.conn.onerror=null,this.conn.onmessage=null,this.conn.onclose=null,this.conn=null}this._clearAllTimers(),this._terminateWorker(),this.channels.forEach((D)=>D.teardown())}_onConnOpen(){if(this._setConnectionState("connected"),this.log("transport",`connected to ${this.endpointURL()}`),(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).then(()=>{this.flushSendBuffer()}).catch((X)=>{this.log("error","error waiting for auth on connect",X),this.flushSendBuffer()}),this._clearTimer("reconnect"),!this.worker)this._startHeartbeat();else if(!this.workerRef)this._startWorkerHeartbeat();this._triggerStateCallbacks("open")}_startHeartbeat(){this.heartbeatTimer&&clearInterval(this.heartbeatTimer),this.heartbeatTimer=setInterval(()=>this.sendHeartbeat(),this.heartbeatIntervalMs)}_startWorkerHeartbeat(){if(this.workerUrl)this.log("worker",`starting worker for from ${this.workerUrl}`);else this.log("worker","starting default worker");let D=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(D),this.workerRef.onerror=(X)=>{this.log("worker","worker error",X.message),this._terminateWorker()},this.workerRef.onmessage=(X)=>{if(X.data.event==="keepAlive")this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){if(this.workerRef)this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0}_onConnClose(D){var X;if(this._setConnectionState("disconnected"),this.log("transport","close",D),this._triggerChanError(),this._clearTimer("heartbeat"),!this._wasManualDisconnect)(X=this.reconnectTimer)===null||X===void 0||X.scheduleTimeout();this._triggerStateCallbacks("close",D)}_onConnError(D){this._setConnectionState("disconnected"),this.log("transport",`${D}`),this._triggerChanError(),this._triggerStateCallbacks("error",D)}_triggerChanError(){this.channels.forEach((D)=>D._trigger(LD.CHANNEL_EVENTS.error))}_appendParams(D,X){if(Object.keys(X).length===0)return D;let Y=D.match(/\?/)?"&":"?",Z=new URLSearchParams(X);return`${D}${Y}${Z}`}_workerObjectUrl(D){let X;if(D)X=D;else{let Y=new Blob([Hv],{type:"application/javascript"});X=URL.createObjectURL(Y)}return X}_setConnectionState(D,X=!1){if(this._connectionState=D,D==="connecting")this._wasManualDisconnect=!1;else if(D==="disconnecting")this._wasManualDisconnect=X}async _performAuth(D=null){let X,Y=!1;if(D)X=D,Y=!0;else if(this.accessToken)try{X=await this.accessToken()}catch(Z){this.log("error","Error fetching access token from callback",Z),X=this.accessTokenValue}else X=this.accessTokenValue;if(Y)this._manuallySetToken=!0;else if(this.accessToken)this._manuallySetToken=!1;if(this.accessTokenValue!=X)this.accessTokenValue=X,this.channels.forEach((Z)=>{let J={access_token:X,version:LD.DEFAULT_VERSION};if(X&&Z.updateJoinPayload(J),Z.joinedOnce&&Z._isJoined())Z._push(LD.CHANNEL_EVENTS.access_token,{access_token:X})})}async _waitForAuthIfNeeded(){if(this._authPromise)await this._authPromise}_setAuthSafely(D="general"){if(!this._isManualToken())this.setAuth().catch((X)=>{this.log("error",`Error setting auth in ${D}`,X)})}_triggerStateCallbacks(D,X){try{this.stateChangeCallbacks[D].forEach((Y)=>{try{Y(X)}catch(Z){this.log("error",`error in ${D} callback`,Z)}})}catch(Y){this.log("error",`error triggering ${D} callbacks`,Y)}}_setupReconnectionTimer(){this.reconnectTimer=new qv.default(async()=>{setTimeout(async()=>{if(await this._waitForAuthIfNeeded(),!this.isConnected())this.connect()},gX.RECONNECT_DELAY)},this.reconnectAfterMs)}_initializeOptions(D){var X,Y,Z,J,Q,w,F,B,q,$,G,W;if(this.transport=(X=D===null||D===void 0?void 0:D.transport)!==null&&X!==void 0?X:null,this.timeout=(Y=D===null||D===void 0?void 0:D.timeout)!==null&&Y!==void 0?Y:LD.DEFAULT_TIMEOUT,this.heartbeatIntervalMs=(Z=D===null||D===void 0?void 0:D.heartbeatIntervalMs)!==null&&Z!==void 0?Z:gX.HEARTBEAT_INTERVAL,this.worker=(J=D===null||D===void 0?void 0:D.worker)!==null&&J!==void 0?J:!1,this.accessToken=(Q=D===null||D===void 0?void 0:D.accessToken)!==null&&Q!==void 0?Q:null,this.heartbeatCallback=(w=D===null||D===void 0?void 0:D.heartbeatCallback)!==null&&w!==void 0?w:fQ,this.vsn=(F=D===null||D===void 0?void 0:D.vsn)!==null&&F!==void 0?F:LD.DEFAULT_VSN,D===null||D===void 0?void 0:D.params)this.params=D.params;if(D===null||D===void 0?void 0:D.logger)this.logger=D.logger;if((D===null||D===void 0?void 0:D.logLevel)||(D===null||D===void 0?void 0:D.log_level))this.logLevel=D.logLevel||D.log_level,this.params=Object.assign(Object.assign({},this.params),{log_level:this.logLevel});switch(this.reconnectAfterMs=(B=D===null||D===void 0?void 0:D.reconnectAfterMs)!==null&&B!==void 0?B:(O)=>{return Ov[O-1]||Wv},this.vsn){case LD.VSN_1_0_0:this.encode=(q=D===null||D===void 0?void 0:D.encode)!==null&&q!==void 0?q:(O,H)=>{return H(JSON.stringify(O))},this.decode=($=D===null||D===void 0?void 0:D.decode)!==null&&$!==void 0?$:(O,H)=>{return H(JSON.parse(O))};break;case LD.VSN_2_0_0:this.encode=(G=D===null||D===void 0?void 0:D.encode)!==null&&G!==void 0?G:this.serializer.encode.bind(this.serializer),this.decode=(W=D===null||D===void 0?void 0:D.decode)!==null&&W!==void 0?W:this.serializer.decode.bind(this.serializer);break;default:throw Error(`Unsupported serializer version: ${this.vsn}`)}if(this.worker){if(typeof window<"u"&&!window.Worker)throw Error("Web Worker is not supported");this.workerUrl=D===null||D===void 0?void 0:D.workerUrl}}}yQ.default=eO});var kQ=T((fD)=>{Object.defineProperty(fD,"__esModule",{value:!0});fD.WebSocketFactory=fD.REALTIME_CHANNEL_STATES=fD.REALTIME_SUBSCRIBE_STATES=fD.REALTIME_PRESENCE_LISTEN_EVENTS=fD.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT=fD.REALTIME_LISTEN_TYPES=fD.RealtimeClient=fD.RealtimeChannel=fD.RealtimePresence=void 0;var dX=h0(),Kv=dX.__importDefault(DW());fD.RealtimeClient=Kv.default;var z4=dX.__importStar(xQ());fD.RealtimeChannel=z4.default;Object.defineProperty(fD,"REALTIME_LISTEN_TYPES",{enumerable:!0,get:function(){return z4.REALTIME_LISTEN_TYPES}});Object.defineProperty(fD,"REALTIME_POSTGRES_CHANGES_LISTEN_EVENT",{enumerable:!0,get:function(){return z4.REALTIME_POSTGRES_CHANGES_LISTEN_EVENT}});Object.defineProperty(fD,"REALTIME_SUBSCRIBE_STATES",{enumerable:!0,get:function(){return z4.REALTIME_SUBSCRIBE_STATES}});Object.defineProperty(fD,"REALTIME_CHANNEL_STATES",{enumerable:!0,get:function(){return z4.REALTIME_CHANNEL_STATES}});var XW=dX.__importStar(PQ());fD.RealtimePresence=XW.default;Object.defineProperty(fD,"REALTIME_PRESENCE_LISTEN_EVENTS",{enumerable:!0,get:function(){return XW.REALTIME_PRESENCE_LISTEN_EVENTS}});var zv=dX.__importDefault(AQ());fD.WebSocketFactory=zv.default});var cQ=T((pX)=>{Object.defineProperty(pX,"__esModule",{value:!0});pX.version=void 0;pX.version="2.89.0"});var aX=T((l0)=>{Object.defineProperty(l0,"__esModule",{value:!0});l0.JWKS_TTL=l0.BASE64URL_REGEX=l0.API_VERSIONS=l0.API_VERSION_HEADER_NAME=l0.NETWORK_FAILURE=l0.DEFAULT_HEADERS=l0.AUDIENCE=l0.STORAGE_KEY=l0.GOTRUE_URL=l0.EXPIRY_MARGIN_MS=l0.AUTO_REFRESH_TICK_THRESHOLD=l0.AUTO_REFRESH_TICK_DURATION_MS=void 0;var cv=cQ();l0.AUTO_REFRESH_TICK_DURATION_MS=30000;l0.AUTO_REFRESH_TICK_THRESHOLD=3;l0.EXPIRY_MARGIN_MS=l0.AUTO_REFRESH_TICK_THRESHOLD*l0.AUTO_REFRESH_TICK_DURATION_MS;l0.GOTRUE_URL="http://localhost:9999";l0.STORAGE_KEY="supabase.auth.token";l0.AUDIENCE="";l0.DEFAULT_HEADERS={"X-Client-Info":`gotrue-js/${cv.version}`};l0.NETWORK_FAILURE={MAX_RETRIES:10,RETRY_INTERVAL:2};l0.API_VERSION_HEADER_NAME="X-Supabase-Api-Version";l0.API_VERSIONS={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}};l0.BASE64URL_REGEX=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i;l0.JWKS_TTL=600000});var G9=T((j0)=>{Object.defineProperty(j0,"__esModule",{value:!0});j0.AuthInvalidJwtError=j0.AuthWeakPasswordError=j0.AuthRetryableFetchError=j0.AuthPKCECodeVerifierMissingError=j0.AuthPKCEGrantCodeExchangeError=j0.AuthImplicitGrantRedirectError=j0.AuthInvalidCredentialsError=j0.AuthInvalidTokenResponseError=j0.AuthSessionMissingError=j0.CustomAuthError=j0.AuthUnknownError=j0.AuthApiError=j0.AuthError=void 0;j0.isAuthError=$9;j0.isAuthApiError=lv;j0.isAuthSessionMissingError=nv;j0.isAuthImplicitGrantRedirectError=iv;j0.isAuthPKCECodeVerifierMissingError=pv;j0.isAuthRetryableFetchError=av;j0.isAuthWeakPasswordError=tv;class R4 extends Error{constructor(D,X,Y){super(D);this.__isAuthError=!0,this.name="AuthError",this.status=X,this.code=Y}}j0.AuthError=R4;function $9(D){return typeof D==="object"&&D!==null&&"__isAuthError"in D}class UW extends R4{constructor(D,X,Y){super(D,X,Y);this.name="AuthApiError",this.status=X,this.code=Y}}j0.AuthApiError=UW;function lv(D){return $9(D)&&D.name==="AuthApiError"}class NW extends R4{constructor(D,X){super(D);this.name="AuthUnknownError",this.originalError=X}}j0.AuthUnknownError=NW;class B8 extends R4{constructor(D,X,Y,Z){super(D,Y,Z);this.name=X,this.status=Y}}j0.CustomAuthError=B8;class RW extends B8{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}j0.AuthSessionMissingError=RW;function nv(D){return $9(D)&&D.name==="AuthSessionMissingError"}class AW extends B8{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}j0.AuthInvalidTokenResponseError=AW;class EW extends B8{constructor(D){super(D,"AuthInvalidCredentialsError",400,void 0)}}j0.AuthInvalidCredentialsError=EW;class CW extends B8{constructor(D,X=null){super(D,"AuthImplicitGrantRedirectError",500,void 0);this.details=null,this.details=X}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}j0.AuthImplicitGrantRedirectError=CW;function iv(D){return $9(D)&&D.name==="AuthImplicitGrantRedirectError"}class jW extends B8{constructor(D,X=null){super(D,"AuthPKCEGrantCodeExchangeError",500,void 0);this.details=null,this.details=X}toJSON(){return{name:this.name,message:this.message,status:this.status,details:this.details}}}j0.AuthPKCEGrantCodeExchangeError=jW;class TW extends B8{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}j0.AuthPKCECodeVerifierMissingError=TW;function pv(D){return $9(D)&&D.name==="AuthPKCECodeVerifierMissingError"}class IW extends B8{constructor(D,X){super(D,"AuthRetryableFetchError",X,void 0)}}j0.AuthRetryableFetchError=IW;function av(D){return $9(D)&&D.name==="AuthRetryableFetchError"}class PW extends B8{constructor(D,X,Y){super(D,"AuthWeakPasswordError",X,"weak_password");this.reasons=Y}}j0.AuthWeakPasswordError=PW;function tv(D){return $9(D)&&D.name==="AuthWeakPasswordError"}class SW extends B8{constructor(D){super(D,"AuthInvalidJwtError",400,"invalid_jwt")}}j0.AuthInvalidJwtError=SW});var rX=T((l1)=>{Object.defineProperty(l1,"__esModule",{value:!0});l1.byteToBase64URL=A4;l1.byteFromBase64URL=lQ;l1.stringToBase64URL=sv;l1.stringFromBase64URL=ov;l1.codepointToUTF8=fW;l1.stringToUTF8=nQ;l1.stringFromUTF8=yW;l1.base64UrlToUint8Array=ev;l1.stringToUint8Array=Db;l1.bytesToBase64URL=Xb;var tX="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),xW=`
|
|
24
|
-
\r=`.split(""),rv=(()=>{let D=Array(128);for(let X=0;X<D.length;X+=1)D[X]=-1;for(let X=0;X<xW.length;X+=1)D[xW[X].charCodeAt(0)]=-2;for(let X=0;X<tX.length;X+=1)D[tX[X].charCodeAt(0)]=X;return D})();function A4(D,X,Y){if(D!==null){X.queue=X.queue<<8|D,X.queuedBits+=8;while(X.queuedBits>=6){let Z=X.queue>>X.queuedBits-6&63;Y(tX[Z]),X.queuedBits-=6}}else if(X.queuedBits>0){X.queue=X.queue<<6-X.queuedBits,X.queuedBits=6;while(X.queuedBits>=6){let Z=X.queue>>X.queuedBits-6&63;Y(tX[Z]),X.queuedBits-=6}}}function lQ(D,X,Y){let Z=rv[D];if(Z>-1){X.queue=X.queue<<6|Z,X.queuedBits+=6;while(X.queuedBits>=8)Y(X.queue>>X.queuedBits-8&255),X.queuedBits-=8}else if(Z===-2)return;else throw Error(`Invalid Base64-URL character "${String.fromCharCode(D)}"`)}function sv(D){let X=[],Y=(J)=>{X.push(J)},Z={queue:0,queuedBits:0};return nQ(D,(J)=>{A4(J,Z,Y)}),A4(null,Z,Y),X.join("")}function ov(D){let X=[],Y=(w)=>{X.push(String.fromCodePoint(w))},Z={utf8seq:0,codepoint:0},J={queue:0,queuedBits:0},Q=(w)=>{yW(w,Z,Y)};for(let w=0;w<D.length;w+=1)lQ(D.charCodeAt(w),J,Q);return X.join("")}function fW(D,X){if(D<=127){X(D);return}else if(D<=2047){X(192|D>>6),X(128|D&63);return}else if(D<=65535){X(224|D>>12),X(128|D>>6&63),X(128|D&63);return}else if(D<=1114111){X(240|D>>18),X(128|D>>12&63),X(128|D>>6&63),X(128|D&63);return}throw Error(`Unrecognized Unicode codepoint: ${D.toString(16)}`)}function nQ(D,X){for(let Y=0;Y<D.length;Y+=1){let Z=D.charCodeAt(Y);if(Z>55295&&Z<=56319){let J=(Z-55296)*1024&65535;Z=(D.charCodeAt(Y+1)-56320&65535|J)+65536,Y+=1}fW(Z,X)}}function yW(D,X,Y){if(X.utf8seq===0){if(D<=127){Y(D);return}for(let Z=1;Z<6;Z+=1)if((D>>7-Z&1)===0){X.utf8seq=Z;break}if(X.utf8seq===2)X.codepoint=D&31;else if(X.utf8seq===3)X.codepoint=D&15;else if(X.utf8seq===4)X.codepoint=D&7;else throw Error("Invalid UTF-8 sequence");X.utf8seq-=1}else if(X.utf8seq>0){if(D<=127)throw Error("Invalid UTF-8 sequence");if(X.codepoint=X.codepoint<<6|D&63,X.utf8seq-=1,X.utf8seq===0)Y(X.codepoint)}}function ev(D){let X=[],Y={queue:0,queuedBits:0},Z=(J)=>{X.push(J)};for(let J=0;J<D.length;J+=1)lQ(D.charCodeAt(J),Y,Z);return new Uint8Array(X)}function Db(D){let X=[];return nQ(D,(Y)=>X.push(Y)),new Uint8Array(X)}function Xb(D){let X=[],Y={queue:0,queuedBits:0},Z=(J)=>{X.push(J)};return D.forEach((J)=>A4(J,Y,Z)),A4(null,Y,Z),X.join("")}});var P5=T((C0)=>{Object.defineProperty(C0,"__esModule",{value:!0});C0.Deferred=C0.removeItemAsync=C0.getItemAsync=C0.setItemAsync=C0.looksLikeFetchResponse=C0.resolveFetch=C0.supportsLocalStorage=C0.isBrowser=void 0;C0.expiresAt=Yb;C0.generateCallbackId=Zb;C0.parseParametersFromURL=wb;C0.decodeJWT=Ob;C0.sleep=Wb;C0.retryable=Hb;C0.generatePKCEVerifier=hW;C0.generatePKCEChallenge=_W;C0.getCodeChallengeAndMethod=Mb;C0.parseResponseAPIVersion=Vb;C0.validateExp=Ub;C0.getAlgorithm=Nb;C0.validateUUID=Ab;C0.userNotAvailableProxy=Eb;C0.insecureUserWarningProxy=Cb;C0.deepClone=jb;var uW=aX(),kW=G9(),iQ=rX();function Yb(D){return Math.round(Date.now()/1000)+D}function Zb(){return Symbol("auth-callback")}var Jb=()=>typeof window<"u"&&typeof document<"u";C0.isBrowser=Jb;var O9={tested:!1,writable:!1},Qb=()=>{if(!(0,C0.isBrowser)())return!1;try{if(typeof globalThis.localStorage!=="object")return!1}catch(X){return!1}if(O9.tested)return O9.writable;let D=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(D,D),globalThis.localStorage.removeItem(D),O9.tested=!0,O9.writable=!0}catch(X){O9.tested=!0,O9.writable=!1}return O9.writable};C0.supportsLocalStorage=Qb;function wb(D){let X={},Y=new URL(D);if(Y.hash&&Y.hash[0]==="#")try{new URLSearchParams(Y.hash.substring(1)).forEach((J,Q)=>{X[Q]=J})}catch(Z){}return Y.searchParams.forEach((Z,J)=>{X[J]=Z}),X}var Fb=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)};C0.resolveFetch=Fb;var Bb=(D)=>{return typeof D==="object"&&D!==null&&"status"in D&&"ok"in D&&"json"in D&&typeof D.json==="function"};C0.looksLikeFetchResponse=Bb;var qb=async(D,X,Y)=>{await D.setItem(X,JSON.stringify(Y))};C0.setItemAsync=qb;var $b=async(D,X)=>{let Y=await D.getItem(X);if(!Y)return null;try{return JSON.parse(Y)}catch(Z){return Y}};C0.getItemAsync=$b;var Gb=async(D,X)=>{await D.removeItem(X)};C0.removeItemAsync=Gb;class sX{constructor(){this.promise=new sX.promiseConstructor((D,X)=>{this.resolve=D,this.reject=X})}}C0.Deferred=sX;sX.promiseConstructor=Promise;function Ob(D){let X=D.split(".");if(X.length!==3)throw new kW.AuthInvalidJwtError("Invalid JWT structure");for(let Z=0;Z<X.length;Z++)if(!uW.BASE64URL_REGEX.test(X[Z]))throw new kW.AuthInvalidJwtError("JWT not in base64url format");return{header:JSON.parse((0,iQ.stringFromBase64URL)(X[0])),payload:JSON.parse((0,iQ.stringFromBase64URL)(X[1])),signature:(0,iQ.base64UrlToUint8Array)(X[2]),raw:{header:X[0],payload:X[1]}}}async function Wb(D){return await new Promise((X)=>{setTimeout(()=>X(null),D)})}function Hb(D,X){return new Promise((Z,J)=>{(async()=>{for(let Q=0;Q<1/0;Q++)try{let w=await D(Q);if(!X(Q,null,w)){Z(w);return}}catch(w){if(!X(Q,w)){J(w);return}}})()})}function Kb(D){return("0"+D.toString(16)).substr(-2)}function hW(){let X=new Uint32Array(56);if(typeof crypto>"u"){let J="";for(let Q=0;Q<56;Q++)J+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~".charAt(Math.floor(Math.random()*66));return J}return crypto.getRandomValues(X),Array.from(X,Kb).join("")}async function zb(D){let Y=new TextEncoder().encode(D),Z=await crypto.subtle.digest("SHA-256",Y),J=new Uint8Array(Z);return Array.from(J).map((Q)=>String.fromCharCode(Q)).join("")}async function _W(D){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),D;let Y=await zb(D);return btoa(Y).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Mb(D,X,Y=!1){let Z=hW(),J=Z;if(Y)J+="/PASSWORD_RECOVERY";await(0,C0.setItemAsync)(D,`${X}-code-verifier`,J);let Q=await _W(Z);return[Q,Z===Q?"plain":"s256"]}var Lb=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function Vb(D){let X=D.headers.get(uW.API_VERSION_HEADER_NAME);if(!X)return null;if(!X.match(Lb))return null;try{return new Date(`${X}T00:00:00.0Z`)}catch(Y){return null}}function Ub(D){if(!D)throw Error("Missing exp claim");let X=Math.floor(Date.now()/1000);if(D<=X)throw Error("JWT has expired")}function Nb(D){switch(D){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw Error("Invalid alg claim")}}var Rb=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Ab(D){if(!Rb.test(D))throw Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function Eb(){return new Proxy({},{get:(X,Y)=>{if(Y==="__isUserNotAvailableProxy")return!0;if(typeof Y==="symbol"){let Z=Y.toString();if(Z==="Symbol(Symbol.toPrimitive)"||Z==="Symbol(Symbol.toStringTag)"||Z==="Symbol(util.inspect.custom)")return}throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${Y}" property of the session object is not supported. Please use getUser() instead.`)},set:(X,Y)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${Y}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(X,Y)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${Y}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function Cb(D,X){return new Proxy(D,{get:(Y,Z,J)=>{if(Z==="__isInsecureUserWarningProxy")return!0;if(typeof Z==="symbol"){let Q=Z.toString();if(Q==="Symbol(Symbol.toPrimitive)"||Q==="Symbol(Symbol.toStringTag)"||Q==="Symbol(util.inspect.custom)"||Q==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(Y,Z,J)}if(!X.value&&typeof Z==="string")console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),X.value=!0;return Reflect.get(Y,Z,J)}})}function jb(D){return JSON.parse(JSON.stringify(D))}});var tQ=T((L8)=>{Object.defineProperty(L8,"__esModule",{value:!0});L8.handleError=aQ;L8._request=Sb;L8._sessionResponse=vW;L8._sessionResponsePassword=fb;L8._userResponse=yb;L8._ssoResponse=kb;L8._generateLinkResponse=ub;L8._noResolveJsonResponse=hb;var Tb=h0(),oX=aX(),pQ=P5(),j6=G9(),W9=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),Ib=[502,503,504];async function aQ(D){var X;if(!(0,pQ.looksLikeFetchResponse)(D))throw new j6.AuthRetryableFetchError(W9(D),0);if(Ib.includes(D.status))throw new j6.AuthRetryableFetchError(W9(D),D.status);let Y;try{Y=await D.json()}catch(Q){throw new j6.AuthUnknownError(W9(Q),Q)}let Z=void 0,J=(0,pQ.parseResponseAPIVersion)(D);if(J&&J.getTime()>=oX.API_VERSIONS["2024-01-01"].timestamp&&typeof Y==="object"&&Y&&typeof Y.code==="string")Z=Y.code;else if(typeof Y==="object"&&Y&&typeof Y.error_code==="string")Z=Y.error_code;if(!Z){if(typeof Y==="object"&&Y&&typeof Y.weak_password==="object"&&Y.weak_password&&Array.isArray(Y.weak_password.reasons)&&Y.weak_password.reasons.length&&Y.weak_password.reasons.reduce((Q,w)=>Q&&typeof w==="string",!0))throw new j6.AuthWeakPasswordError(W9(Y),D.status,Y.weak_password.reasons)}else if(Z==="weak_password")throw new j6.AuthWeakPasswordError(W9(Y),D.status,((X=Y.weak_password)===null||X===void 0?void 0:X.reasons)||[]);else if(Z==="session_not_found")throw new j6.AuthSessionMissingError;throw new j6.AuthApiError(W9(Y),D.status||500,Z)}var Pb=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET")return J;return J.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z),Object.assign(Object.assign({},J),Y)};async function Sb(D,X,Y,Z){var J;let Q=Object.assign({},Z===null||Z===void 0?void 0:Z.headers);if(!Q[oX.API_VERSION_HEADER_NAME])Q[oX.API_VERSION_HEADER_NAME]=oX.API_VERSIONS["2024-01-01"].name;if(Z===null||Z===void 0?void 0:Z.jwt)Q.Authorization=`Bearer ${Z.jwt}`;let w=(J=Z===null||Z===void 0?void 0:Z.query)!==null&&J!==void 0?J:{};if(Z===null||Z===void 0?void 0:Z.redirectTo)w.redirect_to=Z.redirectTo;let F=Object.keys(w).length?"?"+new URLSearchParams(w).toString():"",B=await xb(D,X,Y+F,{headers:Q,noResolveJson:Z===null||Z===void 0?void 0:Z.noResolveJson},{},Z===null||Z===void 0?void 0:Z.body);return(Z===null||Z===void 0?void 0:Z.xform)?Z===null||Z===void 0?void 0:Z.xform(B):{data:Object.assign({},B),error:null}}async function xb(D,X,Y,Z,J,Q){let w=Pb(X,Z,J,Q),F;try{F=await D(Y,Object.assign({},w))}catch(B){throw console.error(B),new j6.AuthRetryableFetchError(W9(B),0)}if(!F.ok)await aQ(F);if(Z===null||Z===void 0?void 0:Z.noResolveJson)return F;try{return await F.json()}catch(B){await aQ(B)}}function vW(D){var X;let Y=null;if(_b(D)){if(Y=Object.assign({},D),!D.expires_at)Y.expires_at=(0,pQ.expiresAt)(D.expires_in)}let Z=(X=D.user)!==null&&X!==void 0?X:D;return{data:{session:Y,user:Z},error:null}}function fb(D){let X=vW(D);if(!X.error&&D.weak_password&&typeof D.weak_password==="object"&&Array.isArray(D.weak_password.reasons)&&D.weak_password.reasons.length&&D.weak_password.message&&typeof D.weak_password.message==="string"&&D.weak_password.reasons.reduce((Y,Z)=>Y&&typeof Z==="string",!0))X.data.weak_password=D.weak_password;return X}function yb(D){var X;return{data:{user:(X=D.user)!==null&&X!==void 0?X:D},error:null}}function kb(D){return{data:D,error:null}}function ub(D){let{action_link:X,email_otp:Y,hashed_token:Z,redirect_to:J,verification_type:Q}=D,w=Tb.__rest(D,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),F={action_link:X,email_otp:Y,hashed_token:Z,redirect_to:J,verification_type:Q},B=Object.assign({},w);return{data:{properties:F,user:B},error:null}}function hb(D){return D}function _b(D){return D.access_token&&D.refresh_token&&D.expires_in}});var rQ=T((eX)=>{Object.defineProperty(eX,"__esModule",{value:!0});eX.SIGN_OUT_SCOPES=void 0;eX.SIGN_OUT_SCOPES=["global","local","others"]});var DY=T((oQ)=>{Object.defineProperty(oQ,"__esModule",{value:!0});var vb=h0(),BD=tQ(),H9=P5(),sQ=rQ(),oD=G9();class bW{constructor({url:D="",headers:X={},fetch:Y}){this.url=D,this.headers=X,this.fetch=(0,H9.resolveFetch)(Y),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)}}async signOut(D,X=sQ.SIGN_OUT_SCOPES[0]){if(sQ.SIGN_OUT_SCOPES.indexOf(X)<0)throw Error(`@supabase/auth-js: Parameter scope must be one of ${sQ.SIGN_OUT_SCOPES.join(", ")}`);try{return await(0,BD._request)(this.fetch,"POST",`${this.url}/logout?scope=${X}`,{headers:this.headers,jwt:D,noResolveJson:!0}),{data:null,error:null}}catch(Y){if((0,oD.isAuthError)(Y))return{data:null,error:Y};throw Y}}async inviteUserByEmail(D,X={}){try{return await(0,BD._request)(this.fetch,"POST",`${this.url}/invite`,{body:{email:D,data:X.data},headers:this.headers,redirectTo:X.redirectTo,xform:BD._userResponse})}catch(Y){if((0,oD.isAuthError)(Y))return{data:{user:null},error:Y};throw Y}}async generateLink(D){try{let{options:X}=D,Y=vb.__rest(D,["options"]),Z=Object.assign(Object.assign({},Y),X);if("newEmail"in Y)Z.new_email=Y===null||Y===void 0?void 0:Y.newEmail,delete Z.newEmail;return await(0,BD._request)(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:Z,headers:this.headers,xform:BD._generateLinkResponse,redirectTo:X===null||X===void 0?void 0:X.redirectTo})}catch(X){if((0,oD.isAuthError)(X))return{data:{properties:null,user:null},error:X};throw X}}async createUser(D){try{return await(0,BD._request)(this.fetch,"POST",`${this.url}/admin/users`,{body:D,headers:this.headers,xform:BD._userResponse})}catch(X){if((0,oD.isAuthError)(X))return{data:{user:null},error:X};throw X}}async listUsers(D){var X,Y,Z,J,Q,w,F;try{let B={nextPage:null,lastPage:0,total:0},q=await(0,BD._request)(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(Y=(X=D===null||D===void 0?void 0:D.page)===null||X===void 0?void 0:X.toString())!==null&&Y!==void 0?Y:"",per_page:(J=(Z=D===null||D===void 0?void 0:D.perPage)===null||Z===void 0?void 0:Z.toString())!==null&&J!==void 0?J:""},xform:BD._noResolveJsonResponse});if(q.error)throw q.error;let $=await q.json(),G=(Q=q.headers.get("x-total-count"))!==null&&Q!==void 0?Q:0,W=(F=(w=q.headers.get("link"))===null||w===void 0?void 0:w.split(","))!==null&&F!==void 0?F:[];if(W.length>0)W.forEach((O)=>{let H=parseInt(O.split(";")[0].split("=")[1].substring(0,1)),M=JSON.parse(O.split(";")[1].split("=")[1]);B[`${M}Page`]=H}),B.total=parseInt(G);return{data:Object.assign(Object.assign({},$),B),error:null}}catch(B){if((0,oD.isAuthError)(B))return{data:{users:[]},error:B};throw B}}async getUserById(D){(0,H9.validateUUID)(D);try{return await(0,BD._request)(this.fetch,"GET",`${this.url}/admin/users/${D}`,{headers:this.headers,xform:BD._userResponse})}catch(X){if((0,oD.isAuthError)(X))return{data:{user:null},error:X};throw X}}async updateUserById(D,X){(0,H9.validateUUID)(D);try{return await(0,BD._request)(this.fetch,"PUT",`${this.url}/admin/users/${D}`,{body:X,headers:this.headers,xform:BD._userResponse})}catch(Y){if((0,oD.isAuthError)(Y))return{data:{user:null},error:Y};throw Y}}async deleteUser(D,X=!1){(0,H9.validateUUID)(D);try{return await(0,BD._request)(this.fetch,"DELETE",`${this.url}/admin/users/${D}`,{headers:this.headers,body:{should_soft_delete:X},xform:BD._userResponse})}catch(Y){if((0,oD.isAuthError)(Y))return{data:{user:null},error:Y};throw Y}}async _listFactors(D){(0,H9.validateUUID)(D.userId);try{let{data:X,error:Y}=await(0,BD._request)(this.fetch,"GET",`${this.url}/admin/users/${D.userId}/factors`,{headers:this.headers,xform:(Z)=>{return{data:{factors:Z},error:null}}});return{data:X,error:Y}}catch(X){if((0,oD.isAuthError)(X))return{data:null,error:X};throw X}}async _deleteFactor(D){(0,H9.validateUUID)(D.userId),(0,H9.validateUUID)(D.id);try{return{data:await(0,BD._request)(this.fetch,"DELETE",`${this.url}/admin/users/${D.userId}/factors/${D.id}`,{headers:this.headers}),error:null}}catch(X){if((0,oD.isAuthError)(X))return{data:null,error:X};throw X}}async _listOAuthClients(D){var X,Y,Z,J,Q,w,F;try{let B={nextPage:null,lastPage:0,total:0},q=await(0,BD._request)(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(Y=(X=D===null||D===void 0?void 0:D.page)===null||X===void 0?void 0:X.toString())!==null&&Y!==void 0?Y:"",per_page:(J=(Z=D===null||D===void 0?void 0:D.perPage)===null||Z===void 0?void 0:Z.toString())!==null&&J!==void 0?J:""},xform:BD._noResolveJsonResponse});if(q.error)throw q.error;let $=await q.json(),G=(Q=q.headers.get("x-total-count"))!==null&&Q!==void 0?Q:0,W=(F=(w=q.headers.get("link"))===null||w===void 0?void 0:w.split(","))!==null&&F!==void 0?F:[];if(W.length>0)W.forEach((O)=>{let H=parseInt(O.split(";")[0].split("=")[1].substring(0,1)),M=JSON.parse(O.split(";")[1].split("=")[1]);B[`${M}Page`]=H}),B.total=parseInt(G);return{data:Object.assign(Object.assign({},$),B),error:null}}catch(B){if((0,oD.isAuthError)(B))return{data:{clients:[]},error:B};throw B}}async _createOAuthClient(D){try{return await(0,BD._request)(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:D,headers:this.headers,xform:(X)=>{return{data:X,error:null}}})}catch(X){if((0,oD.isAuthError)(X))return{data:null,error:X};throw X}}async _getOAuthClient(D){try{return await(0,BD._request)(this.fetch,"GET",`${this.url}/admin/oauth/clients/${D}`,{headers:this.headers,xform:(X)=>{return{data:X,error:null}}})}catch(X){if((0,oD.isAuthError)(X))return{data:null,error:X};throw X}}async _updateOAuthClient(D,X){try{return await(0,BD._request)(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${D}`,{body:X,headers:this.headers,xform:(Y)=>{return{data:Y,error:null}}})}catch(Y){if((0,oD.isAuthError)(Y))return{data:null,error:Y};throw Y}}async _deleteOAuthClient(D){try{return await(0,BD._request)(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${D}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(X){if((0,oD.isAuthError)(X))return{data:null,error:X};throw X}}async _regenerateOAuthClientSecret(D){try{return await(0,BD._request)(this.fetch,"POST",`${this.url}/admin/oauth/clients/${D}/regenerate_secret`,{headers:this.headers,xform:(X)=>{return{data:X,error:null}}})}catch(X){if((0,oD.isAuthError)(X))return{data:null,error:X};throw X}}}oQ.default=bW});var gW=T((eQ)=>{Object.defineProperty(eQ,"__esModule",{value:!0});eQ.memoryLocalStorageAdapter=bb;function bb(D={}){return{getItem:(X)=>{return D[X]||null},setItem:(X,Y)=>{D[X]=Y},removeItem:(X)=>{delete D[X]}}}});var Yw=T((bD)=>{Object.defineProperty(bD,"__esModule",{value:!0});bD.ProcessLockAcquireTimeoutError=bD.NavigatorLockAcquireTimeoutError=bD.LockAcquireTimeoutError=bD.internals=void 0;bD.navigatorLock=mb;bD.processLock=db;var gb=P5();bD.internals={debug:!!(globalThis&&(0,gb.supportsLocalStorage)()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class XY extends Error{constructor(D){super(D);this.isAcquireTimeout=!0}}bD.LockAcquireTimeoutError=XY;class Dw extends XY{}bD.NavigatorLockAcquireTimeoutError=Dw;class Xw extends XY{}bD.ProcessLockAcquireTimeoutError=Xw;async function mb(D,X,Y){if(bD.internals.debug)console.log("@supabase/gotrue-js: navigatorLock: acquire lock",D,X);let Z=new globalThis.AbortController;if(X>0)setTimeout(()=>{if(Z.abort(),bD.internals.debug)console.log("@supabase/gotrue-js: navigatorLock acquire timed out",D)},X);return await Promise.resolve().then(()=>globalThis.navigator.locks.request(D,X===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:Z.signal},async(J)=>{if(J){if(bD.internals.debug)console.log("@supabase/gotrue-js: navigatorLock: acquired",D,J.name);try{return await Y()}finally{if(bD.internals.debug)console.log("@supabase/gotrue-js: navigatorLock: released",D,J.name)}}else if(X===0){if(bD.internals.debug)console.log("@supabase/gotrue-js: navigatorLock: not immediately available",D);throw new Dw(`Acquiring an exclusive Navigator LockManager lock "${D}" immediately failed`)}else{if(bD.internals.debug)try{let Q=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(Q,null," "))}catch(Q){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",Q)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await Y()}}))}var mW={};async function db(D,X,Y){var Z;let J=(Z=mW[D])!==null&&Z!==void 0?Z:Promise.resolve(),Q=Promise.race([J.catch(()=>{return null}),X>=0?new Promise((w,F)=>{setTimeout(()=>{F(new Xw(`Acquiring process lock with name "${D}" timed out`))},X)}):null].filter((w)=>w)).catch((w)=>{if(w&&w.isAcquireTimeout)throw w;return null}).then(async()=>{return await Y()});return mW[D]=Q.catch(async(w)=>{if(w&&w.isAcquireTimeout)return await J,null;throw w}),await Q}});var dW=T((Zw)=>{Object.defineProperty(Zw,"__esModule",{value:!0});Zw.polyfillGlobalThis=cb;function cb(){if(typeof globalThis==="object")return;try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch(D){if(typeof self<"u")self.globalThis=self}}});var lW=T((S5)=>{Object.defineProperty(S5,"__esModule",{value:!0});S5.getAddress=cW;S5.fromHex=lb;S5.toHex=nb;S5.createSiweMessage=ib;function cW(D){if(!/^0x[a-fA-F0-9]{40}$/.test(D))throw Error(`@supabase/auth-js: Address "${D}" is invalid.`);return D.toLowerCase()}function lb(D){return parseInt(D,16)}function nb(D){let X=new TextEncoder().encode(D);return"0x"+Array.from(X,(Z)=>Z.toString(16).padStart(2,"0")).join("")}function ib(D){var X;let{chainId:Y,domain:Z,expirationTime:J,issuedAt:Q=new Date,nonce:w,notBefore:F,requestId:B,resources:q,scheme:$,uri:G,version:W}=D;{if(!Number.isInteger(Y))throw Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${Y}`);if(!Z)throw Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(w&&w.length<8)throw Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${w}`);if(!G)throw Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(W!=="1")throw Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${W}`);if((X=D.statement)===null||X===void 0?void 0:X.includes(`
|
|
24
|
+
\r=`.split(""),rv=(()=>{let D=Array(128);for(let X=0;X<D.length;X+=1)D[X]=-1;for(let X=0;X<xW.length;X+=1)D[xW[X].charCodeAt(0)]=-2;for(let X=0;X<tX.length;X+=1)D[tX[X].charCodeAt(0)]=X;return D})();function A4(D,X,Y){if(D!==null){X.queue=X.queue<<8|D,X.queuedBits+=8;while(X.queuedBits>=6){let Z=X.queue>>X.queuedBits-6&63;Y(tX[Z]),X.queuedBits-=6}}else if(X.queuedBits>0){X.queue=X.queue<<6-X.queuedBits,X.queuedBits=6;while(X.queuedBits>=6){let Z=X.queue>>X.queuedBits-6&63;Y(tX[Z]),X.queuedBits-=6}}}function lQ(D,X,Y){let Z=rv[D];if(Z>-1){X.queue=X.queue<<6|Z,X.queuedBits+=6;while(X.queuedBits>=8)Y(X.queue>>X.queuedBits-8&255),X.queuedBits-=8}else if(Z===-2)return;else throw Error(`Invalid Base64-URL character "${String.fromCharCode(D)}"`)}function sv(D){let X=[],Y=(J)=>{X.push(J)},Z={queue:0,queuedBits:0};return nQ(D,(J)=>{A4(J,Z,Y)}),A4(null,Z,Y),X.join("")}function ov(D){let X=[],Y=(w)=>{X.push(String.fromCodePoint(w))},Z={utf8seq:0,codepoint:0},J={queue:0,queuedBits:0},Q=(w)=>{yW(w,Z,Y)};for(let w=0;w<D.length;w+=1)lQ(D.charCodeAt(w),J,Q);return X.join("")}function fW(D,X){if(D<=127){X(D);return}else if(D<=2047){X(192|D>>6),X(128|D&63);return}else if(D<=65535){X(224|D>>12),X(128|D>>6&63),X(128|D&63);return}else if(D<=1114111){X(240|D>>18),X(128|D>>12&63),X(128|D>>6&63),X(128|D&63);return}throw Error(`Unrecognized Unicode codepoint: ${D.toString(16)}`)}function nQ(D,X){for(let Y=0;Y<D.length;Y+=1){let Z=D.charCodeAt(Y);if(Z>55295&&Z<=56319){let J=(Z-55296)*1024&65535;Z=(D.charCodeAt(Y+1)-56320&65535|J)+65536,Y+=1}fW(Z,X)}}function yW(D,X,Y){if(X.utf8seq===0){if(D<=127){Y(D);return}for(let Z=1;Z<6;Z+=1)if((D>>7-Z&1)===0){X.utf8seq=Z;break}if(X.utf8seq===2)X.codepoint=D&31;else if(X.utf8seq===3)X.codepoint=D&15;else if(X.utf8seq===4)X.codepoint=D&7;else throw Error("Invalid UTF-8 sequence");X.utf8seq-=1}else if(X.utf8seq>0){if(D<=127)throw Error("Invalid UTF-8 sequence");if(X.codepoint=X.codepoint<<6|D&63,X.utf8seq-=1,X.utf8seq===0)Y(X.codepoint)}}function ev(D){let X=[],Y={queue:0,queuedBits:0},Z=(J)=>{X.push(J)};for(let J=0;J<D.length;J+=1)lQ(D.charCodeAt(J),Y,Z);return new Uint8Array(X)}function Db(D){let X=[];return nQ(D,(Y)=>X.push(Y)),new Uint8Array(X)}function Xb(D){let X=[],Y={queue:0,queuedBits:0},Z=(J)=>{X.push(J)};return D.forEach((J)=>A4(J,Y,Z)),A4(null,Y,Z),X.join("")}});var P5=T((C0)=>{Object.defineProperty(C0,"__esModule",{value:!0});C0.Deferred=C0.removeItemAsync=C0.getItemAsync=C0.setItemAsync=C0.looksLikeFetchResponse=C0.resolveFetch=C0.supportsLocalStorage=C0.isBrowser=void 0;C0.expiresAt=Yb;C0.generateCallbackId=Zb;C0.parseParametersFromURL=wb;C0.decodeJWT=Ob;C0.sleep=Wb;C0.retryable=Hb;C0.generatePKCEVerifier=hW;C0.generatePKCEChallenge=_W;C0.getCodeChallengeAndMethod=Mb;C0.parseResponseAPIVersion=Vb;C0.validateExp=Ub;C0.getAlgorithm=Nb;C0.validateUUID=Ab;C0.userNotAvailableProxy=Eb;C0.insecureUserWarningProxy=Cb;C0.deepClone=jb;var uW=aX(),kW=G9(),iQ=rX();function Yb(D){return Math.round(Date.now()/1000)+D}function Zb(){return Symbol("auth-callback")}var Jb=()=>typeof window<"u"&&typeof document<"u";C0.isBrowser=Jb;var O9={tested:!1,writable:!1},Qb=()=>{if(!(0,C0.isBrowser)())return!1;try{if(typeof globalThis.localStorage!=="object")return!1}catch(X){return!1}if(O9.tested)return O9.writable;let D=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(D,D),globalThis.localStorage.removeItem(D),O9.tested=!0,O9.writable=!0}catch(X){O9.tested=!0,O9.writable=!1}return O9.writable};C0.supportsLocalStorage=Qb;function wb(D){let X={},Y=new URL(D);if(Y.hash&&Y.hash[0]==="#")try{new URLSearchParams(Y.hash.substring(1)).forEach((J,Q)=>{X[Q]=J})}catch(Z){}return Y.searchParams.forEach((Z,J)=>{X[J]=Z}),X}var Fb=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)};C0.resolveFetch=Fb;var Bb=(D)=>{return typeof D==="object"&&D!==null&&"status"in D&&"ok"in D&&"json"in D&&typeof D.json==="function"};C0.looksLikeFetchResponse=Bb;var qb=async(D,X,Y)=>{await D.setItem(X,JSON.stringify(Y))};C0.setItemAsync=qb;var $b=async(D,X)=>{let Y=await D.getItem(X);if(!Y)return null;try{return JSON.parse(Y)}catch(Z){return Y}};C0.getItemAsync=$b;var Gb=async(D,X)=>{await D.removeItem(X)};C0.removeItemAsync=Gb;class sX{constructor(){this.promise=new sX.promiseConstructor((D,X)=>{this.resolve=D,this.reject=X})}}C0.Deferred=sX;sX.promiseConstructor=Promise;function Ob(D){let X=D.split(".");if(X.length!==3)throw new kW.AuthInvalidJwtError("Invalid JWT structure");for(let Z=0;Z<X.length;Z++)if(!uW.BASE64URL_REGEX.test(X[Z]))throw new kW.AuthInvalidJwtError("JWT not in base64url format");return{header:JSON.parse((0,iQ.stringFromBase64URL)(X[0])),payload:JSON.parse((0,iQ.stringFromBase64URL)(X[1])),signature:(0,iQ.base64UrlToUint8Array)(X[2]),raw:{header:X[0],payload:X[1]}}}async function Wb(D){return await new Promise((X)=>{setTimeout(()=>X(null),D)})}function Hb(D,X){return new Promise((Z,J)=>{(async()=>{for(let Q=0;Q<1/0;Q++)try{let w=await D(Q);if(!X(Q,null,w)){Z(w);return}}catch(w){if(!X(Q,w)){J(w);return}}})()})}function Kb(D){return("0"+D.toString(16)).substr(-2)}function hW(){let X=new Uint32Array(56);if(typeof crypto>"u"){let J="";for(let Q=0;Q<56;Q++)J+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~".charAt(Math.floor(Math.random()*66));return J}return crypto.getRandomValues(X),Array.from(X,Kb).join("")}async function zb(D){let Y=new TextEncoder().encode(D),Z=await crypto.subtle.digest("SHA-256",Y),J=new Uint8Array(Z);return Array.from(J).map((Q)=>String.fromCharCode(Q)).join("")}async function _W(D){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),D;let Y=await zb(D);return btoa(Y).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function Mb(D,X,Y=!1){let Z=hW(),J=Z;if(Y)J+="/PASSWORD_RECOVERY";await(0,C0.setItemAsync)(D,`${X}-code-verifier`,J);let Q=await _W(Z);return[Q,Z===Q?"plain":"s256"]}var Lb=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function Vb(D){let X=D.headers.get(uW.API_VERSION_HEADER_NAME);if(!X)return null;if(!X.match(Lb))return null;try{return new Date(`${X}T00:00:00.0Z`)}catch(Y){return null}}function Ub(D){if(!D)throw Error("Missing exp claim");let X=Math.floor(Date.now()/1000);if(D<=X)throw Error("JWT has expired")}function Nb(D){switch(D){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw Error("Invalid alg claim")}}var Rb=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Ab(D){if(!Rb.test(D))throw Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function Eb(){return new Proxy({},{get:(X,Y)=>{if(Y==="__isUserNotAvailableProxy")return!0;if(typeof Y==="symbol"){let Z=Y.toString();if(Z==="Symbol(Symbol.toPrimitive)"||Z==="Symbol(Symbol.toStringTag)"||Z==="Symbol(util.inspect.custom)")return}throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${Y}" property of the session object is not supported. Please use getUser() instead.`)},set:(X,Y)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${Y}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(X,Y)=>{throw Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${Y}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function Cb(D,X){return new Proxy(D,{get:(Y,Z,J)=>{if(Z==="__isInsecureUserWarningProxy")return!0;if(typeof Z==="symbol"){let Q=Z.toString();if(Q==="Symbol(Symbol.toPrimitive)"||Q==="Symbol(Symbol.toStringTag)"||Q==="Symbol(util.inspect.custom)"||Q==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(Y,Z,J)}if(!X.value&&typeof Z==="string")console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),X.value=!0;return Reflect.get(Y,Z,J)}})}function jb(D){return JSON.parse(JSON.stringify(D))}});var tQ=T((L8)=>{Object.defineProperty(L8,"__esModule",{value:!0});L8.handleError=aQ;L8._request=Sb;L8._sessionResponse=vW;L8._sessionResponsePassword=fb;L8._userResponse=yb;L8._ssoResponse=kb;L8._generateLinkResponse=ub;L8._noResolveJsonResponse=hb;var Tb=h0(),oX=aX(),pQ=P5(),j6=G9(),W9=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),Ib=[502,503,504];async function aQ(D){var X;if(!(0,pQ.looksLikeFetchResponse)(D))throw new j6.AuthRetryableFetchError(W9(D),0);if(Ib.includes(D.status))throw new j6.AuthRetryableFetchError(W9(D),D.status);let Y;try{Y=await D.json()}catch(Q){throw new j6.AuthUnknownError(W9(Q),Q)}let Z=void 0,J=(0,pQ.parseResponseAPIVersion)(D);if(J&&J.getTime()>=oX.API_VERSIONS["2024-01-01"].timestamp&&typeof Y==="object"&&Y&&typeof Y.code==="string")Z=Y.code;else if(typeof Y==="object"&&Y&&typeof Y.error_code==="string")Z=Y.error_code;if(!Z){if(typeof Y==="object"&&Y&&typeof Y.weak_password==="object"&&Y.weak_password&&Array.isArray(Y.weak_password.reasons)&&Y.weak_password.reasons.length&&Y.weak_password.reasons.reduce((Q,w)=>Q&&typeof w==="string",!0))throw new j6.AuthWeakPasswordError(W9(Y),D.status,Y.weak_password.reasons)}else if(Z==="weak_password")throw new j6.AuthWeakPasswordError(W9(Y),D.status,((X=Y.weak_password)===null||X===void 0?void 0:X.reasons)||[]);else if(Z==="session_not_found")throw new j6.AuthSessionMissingError;throw new j6.AuthApiError(W9(Y),D.status||500,Z)}var Pb=(D,X,Y,Z)=>{let J={method:D,headers:(X===null||X===void 0?void 0:X.headers)||{}};if(D==="GET")return J;return J.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},X===null||X===void 0?void 0:X.headers),J.body=JSON.stringify(Z),Object.assign(Object.assign({},J),Y)};async function Sb(D,X,Y,Z){var J;let Q=Object.assign({},Z===null||Z===void 0?void 0:Z.headers);if(!Q[oX.API_VERSION_HEADER_NAME])Q[oX.API_VERSION_HEADER_NAME]=oX.API_VERSIONS["2024-01-01"].name;if(Z===null||Z===void 0?void 0:Z.jwt)Q.Authorization=`Bearer ${Z.jwt}`;let w=(J=Z===null||Z===void 0?void 0:Z.query)!==null&&J!==void 0?J:{};if(Z===null||Z===void 0?void 0:Z.redirectTo)w.redirect_to=Z.redirectTo;let F=Object.keys(w).length?"?"+new URLSearchParams(w).toString():"",B=await xb(D,X,Y+F,{headers:Q,noResolveJson:Z===null||Z===void 0?void 0:Z.noResolveJson},{},Z===null||Z===void 0?void 0:Z.body);return(Z===null||Z===void 0?void 0:Z.xform)?Z===null||Z===void 0?void 0:Z.xform(B):{data:Object.assign({},B),error:null}}async function xb(D,X,Y,Z,J,Q){let w=Pb(X,Z,J,Q),F;try{F=await D(Y,Object.assign({},w))}catch(B){throw console.error(B),new j6.AuthRetryableFetchError(W9(B),0)}if(!F.ok)await aQ(F);if(Z===null||Z===void 0?void 0:Z.noResolveJson)return F;try{return await F.json()}catch(B){await aQ(B)}}function vW(D){var X;let Y=null;if(_b(D)){if(Y=Object.assign({},D),!D.expires_at)Y.expires_at=(0,pQ.expiresAt)(D.expires_in)}let Z=(X=D.user)!==null&&X!==void 0?X:D;return{data:{session:Y,user:Z},error:null}}function fb(D){let X=vW(D);if(!X.error&&D.weak_password&&typeof D.weak_password==="object"&&Array.isArray(D.weak_password.reasons)&&D.weak_password.reasons.length&&D.weak_password.message&&typeof D.weak_password.message==="string"&&D.weak_password.reasons.reduce((Y,Z)=>Y&&typeof Z==="string",!0))X.data.weak_password=D.weak_password;return X}function yb(D){var X;return{data:{user:(X=D.user)!==null&&X!==void 0?X:D},error:null}}function kb(D){return{data:D,error:null}}function ub(D){let{action_link:X,email_otp:Y,hashed_token:Z,redirect_to:J,verification_type:Q}=D,w=Tb.__rest(D,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),F={action_link:X,email_otp:Y,hashed_token:Z,redirect_to:J,verification_type:Q},B=Object.assign({},w);return{data:{properties:F,user:B},error:null}}function hb(D){return D}function _b(D){return D.access_token&&D.refresh_token&&D.expires_in}});var rQ=T((eX)=>{Object.defineProperty(eX,"__esModule",{value:!0});eX.SIGN_OUT_SCOPES=void 0;eX.SIGN_OUT_SCOPES=["global","local","others"]});var DY=T((oQ)=>{Object.defineProperty(oQ,"__esModule",{value:!0});var vb=h0(),BD=tQ(),H9=P5(),sQ=rQ(),eD=G9();class bW{constructor({url:D="",headers:X={},fetch:Y}){this.url=D,this.headers=X,this.fetch=(0,H9.resolveFetch)(Y),this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)}}async signOut(D,X=sQ.SIGN_OUT_SCOPES[0]){if(sQ.SIGN_OUT_SCOPES.indexOf(X)<0)throw Error(`@supabase/auth-js: Parameter scope must be one of ${sQ.SIGN_OUT_SCOPES.join(", ")}`);try{return await(0,BD._request)(this.fetch,"POST",`${this.url}/logout?scope=${X}`,{headers:this.headers,jwt:D,noResolveJson:!0}),{data:null,error:null}}catch(Y){if((0,eD.isAuthError)(Y))return{data:null,error:Y};throw Y}}async inviteUserByEmail(D,X={}){try{return await(0,BD._request)(this.fetch,"POST",`${this.url}/invite`,{body:{email:D,data:X.data},headers:this.headers,redirectTo:X.redirectTo,xform:BD._userResponse})}catch(Y){if((0,eD.isAuthError)(Y))return{data:{user:null},error:Y};throw Y}}async generateLink(D){try{let{options:X}=D,Y=vb.__rest(D,["options"]),Z=Object.assign(Object.assign({},Y),X);if("newEmail"in Y)Z.new_email=Y===null||Y===void 0?void 0:Y.newEmail,delete Z.newEmail;return await(0,BD._request)(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:Z,headers:this.headers,xform:BD._generateLinkResponse,redirectTo:X===null||X===void 0?void 0:X.redirectTo})}catch(X){if((0,eD.isAuthError)(X))return{data:{properties:null,user:null},error:X};throw X}}async createUser(D){try{return await(0,BD._request)(this.fetch,"POST",`${this.url}/admin/users`,{body:D,headers:this.headers,xform:BD._userResponse})}catch(X){if((0,eD.isAuthError)(X))return{data:{user:null},error:X};throw X}}async listUsers(D){var X,Y,Z,J,Q,w,F;try{let B={nextPage:null,lastPage:0,total:0},q=await(0,BD._request)(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(Y=(X=D===null||D===void 0?void 0:D.page)===null||X===void 0?void 0:X.toString())!==null&&Y!==void 0?Y:"",per_page:(J=(Z=D===null||D===void 0?void 0:D.perPage)===null||Z===void 0?void 0:Z.toString())!==null&&J!==void 0?J:""},xform:BD._noResolveJsonResponse});if(q.error)throw q.error;let $=await q.json(),G=(Q=q.headers.get("x-total-count"))!==null&&Q!==void 0?Q:0,W=(F=(w=q.headers.get("link"))===null||w===void 0?void 0:w.split(","))!==null&&F!==void 0?F:[];if(W.length>0)W.forEach((O)=>{let H=parseInt(O.split(";")[0].split("=")[1].substring(0,1)),M=JSON.parse(O.split(";")[1].split("=")[1]);B[`${M}Page`]=H}),B.total=parseInt(G);return{data:Object.assign(Object.assign({},$),B),error:null}}catch(B){if((0,eD.isAuthError)(B))return{data:{users:[]},error:B};throw B}}async getUserById(D){(0,H9.validateUUID)(D);try{return await(0,BD._request)(this.fetch,"GET",`${this.url}/admin/users/${D}`,{headers:this.headers,xform:BD._userResponse})}catch(X){if((0,eD.isAuthError)(X))return{data:{user:null},error:X};throw X}}async updateUserById(D,X){(0,H9.validateUUID)(D);try{return await(0,BD._request)(this.fetch,"PUT",`${this.url}/admin/users/${D}`,{body:X,headers:this.headers,xform:BD._userResponse})}catch(Y){if((0,eD.isAuthError)(Y))return{data:{user:null},error:Y};throw Y}}async deleteUser(D,X=!1){(0,H9.validateUUID)(D);try{return await(0,BD._request)(this.fetch,"DELETE",`${this.url}/admin/users/${D}`,{headers:this.headers,body:{should_soft_delete:X},xform:BD._userResponse})}catch(Y){if((0,eD.isAuthError)(Y))return{data:{user:null},error:Y};throw Y}}async _listFactors(D){(0,H9.validateUUID)(D.userId);try{let{data:X,error:Y}=await(0,BD._request)(this.fetch,"GET",`${this.url}/admin/users/${D.userId}/factors`,{headers:this.headers,xform:(Z)=>{return{data:{factors:Z},error:null}}});return{data:X,error:Y}}catch(X){if((0,eD.isAuthError)(X))return{data:null,error:X};throw X}}async _deleteFactor(D){(0,H9.validateUUID)(D.userId),(0,H9.validateUUID)(D.id);try{return{data:await(0,BD._request)(this.fetch,"DELETE",`${this.url}/admin/users/${D.userId}/factors/${D.id}`,{headers:this.headers}),error:null}}catch(X){if((0,eD.isAuthError)(X))return{data:null,error:X};throw X}}async _listOAuthClients(D){var X,Y,Z,J,Q,w,F;try{let B={nextPage:null,lastPage:0,total:0},q=await(0,BD._request)(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(Y=(X=D===null||D===void 0?void 0:D.page)===null||X===void 0?void 0:X.toString())!==null&&Y!==void 0?Y:"",per_page:(J=(Z=D===null||D===void 0?void 0:D.perPage)===null||Z===void 0?void 0:Z.toString())!==null&&J!==void 0?J:""},xform:BD._noResolveJsonResponse});if(q.error)throw q.error;let $=await q.json(),G=(Q=q.headers.get("x-total-count"))!==null&&Q!==void 0?Q:0,W=(F=(w=q.headers.get("link"))===null||w===void 0?void 0:w.split(","))!==null&&F!==void 0?F:[];if(W.length>0)W.forEach((O)=>{let H=parseInt(O.split(";")[0].split("=")[1].substring(0,1)),M=JSON.parse(O.split(";")[1].split("=")[1]);B[`${M}Page`]=H}),B.total=parseInt(G);return{data:Object.assign(Object.assign({},$),B),error:null}}catch(B){if((0,eD.isAuthError)(B))return{data:{clients:[]},error:B};throw B}}async _createOAuthClient(D){try{return await(0,BD._request)(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:D,headers:this.headers,xform:(X)=>{return{data:X,error:null}}})}catch(X){if((0,eD.isAuthError)(X))return{data:null,error:X};throw X}}async _getOAuthClient(D){try{return await(0,BD._request)(this.fetch,"GET",`${this.url}/admin/oauth/clients/${D}`,{headers:this.headers,xform:(X)=>{return{data:X,error:null}}})}catch(X){if((0,eD.isAuthError)(X))return{data:null,error:X};throw X}}async _updateOAuthClient(D,X){try{return await(0,BD._request)(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${D}`,{body:X,headers:this.headers,xform:(Y)=>{return{data:Y,error:null}}})}catch(Y){if((0,eD.isAuthError)(Y))return{data:null,error:Y};throw Y}}async _deleteOAuthClient(D){try{return await(0,BD._request)(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${D}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(X){if((0,eD.isAuthError)(X))return{data:null,error:X};throw X}}async _regenerateOAuthClientSecret(D){try{return await(0,BD._request)(this.fetch,"POST",`${this.url}/admin/oauth/clients/${D}/regenerate_secret`,{headers:this.headers,xform:(X)=>{return{data:X,error:null}}})}catch(X){if((0,eD.isAuthError)(X))return{data:null,error:X};throw X}}}oQ.default=bW});var gW=T((eQ)=>{Object.defineProperty(eQ,"__esModule",{value:!0});eQ.memoryLocalStorageAdapter=bb;function bb(D={}){return{getItem:(X)=>{return D[X]||null},setItem:(X,Y)=>{D[X]=Y},removeItem:(X)=>{delete D[X]}}}});var Yw=T((bD)=>{Object.defineProperty(bD,"__esModule",{value:!0});bD.ProcessLockAcquireTimeoutError=bD.NavigatorLockAcquireTimeoutError=bD.LockAcquireTimeoutError=bD.internals=void 0;bD.navigatorLock=mb;bD.processLock=db;var gb=P5();bD.internals={debug:!!(globalThis&&(0,gb.supportsLocalStorage)()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class XY extends Error{constructor(D){super(D);this.isAcquireTimeout=!0}}bD.LockAcquireTimeoutError=XY;class Dw extends XY{}bD.NavigatorLockAcquireTimeoutError=Dw;class Xw extends XY{}bD.ProcessLockAcquireTimeoutError=Xw;async function mb(D,X,Y){if(bD.internals.debug)console.log("@supabase/gotrue-js: navigatorLock: acquire lock",D,X);let Z=new globalThis.AbortController;if(X>0)setTimeout(()=>{if(Z.abort(),bD.internals.debug)console.log("@supabase/gotrue-js: navigatorLock acquire timed out",D)},X);return await Promise.resolve().then(()=>globalThis.navigator.locks.request(D,X===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:Z.signal},async(J)=>{if(J){if(bD.internals.debug)console.log("@supabase/gotrue-js: navigatorLock: acquired",D,J.name);try{return await Y()}finally{if(bD.internals.debug)console.log("@supabase/gotrue-js: navigatorLock: released",D,J.name)}}else if(X===0){if(bD.internals.debug)console.log("@supabase/gotrue-js: navigatorLock: not immediately available",D);throw new Dw(`Acquiring an exclusive Navigator LockManager lock "${D}" immediately failed`)}else{if(bD.internals.debug)try{let Q=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(Q,null," "))}catch(Q){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",Q)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),await Y()}}))}var mW={};async function db(D,X,Y){var Z;let J=(Z=mW[D])!==null&&Z!==void 0?Z:Promise.resolve(),Q=Promise.race([J.catch(()=>{return null}),X>=0?new Promise((w,F)=>{setTimeout(()=>{F(new Xw(`Acquiring process lock with name "${D}" timed out`))},X)}):null].filter((w)=>w)).catch((w)=>{if(w&&w.isAcquireTimeout)throw w;return null}).then(async()=>{return await Y()});return mW[D]=Q.catch(async(w)=>{if(w&&w.isAcquireTimeout)return await J,null;throw w}),await Q}});var dW=T((Zw)=>{Object.defineProperty(Zw,"__esModule",{value:!0});Zw.polyfillGlobalThis=cb;function cb(){if(typeof globalThis==="object")return;try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch(D){if(typeof self<"u")self.globalThis=self}}});var lW=T((S5)=>{Object.defineProperty(S5,"__esModule",{value:!0});S5.getAddress=cW;S5.fromHex=lb;S5.toHex=nb;S5.createSiweMessage=ib;function cW(D){if(!/^0x[a-fA-F0-9]{40}$/.test(D))throw Error(`@supabase/auth-js: Address "${D}" is invalid.`);return D.toLowerCase()}function lb(D){return parseInt(D,16)}function nb(D){let X=new TextEncoder().encode(D);return"0x"+Array.from(X,(Z)=>Z.toString(16).padStart(2,"0")).join("")}function ib(D){var X;let{chainId:Y,domain:Z,expirationTime:J,issuedAt:Q=new Date,nonce:w,notBefore:F,requestId:B,resources:q,scheme:$,uri:G,version:W}=D;{if(!Number.isInteger(Y))throw Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${Y}`);if(!Z)throw Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(w&&w.length<8)throw Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${w}`);if(!G)throw Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(W!=="1")throw Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${W}`);if((X=D.statement)===null||X===void 0?void 0:X.includes(`
|
|
25
25
|
`))throw Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${D.statement}`)}let O=cW(D.address),H=$?`${$}://${Z}`:Z,M=D.statement?`${D.statement}
|
|
26
26
|
`:"",U=`${H} wants you to sign in with your Ethereum account:
|
|
27
27
|
${O}
|
|
@@ -37,7 +37,7 @@ Request ID: ${B}`;if(q){let R=`
|
|
|
37
37
|
Resources:`;for(let z of q){if(!z||typeof z!=="string")throw Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${z}`);R+=`
|
|
38
38
|
- ${z}`}N+=R}return`${U}
|
|
39
39
|
${N}`}});var pW=T((p8)=>{Object.defineProperty(p8,"__esModule",{value:!0});p8.WebAuthnUnknownError=p8.WebAuthnError=void 0;p8.isWebAuthnError=pb;p8.identifyRegistrationError=ab;p8.identifyAuthenticationError=tb;var nW=Jw();class VD extends Error{constructor({message:D,code:X,cause:Y,name:Z}){var J;super(D,{cause:Y});this.__isWebAuthnError=!0,this.name=(J=Z!==null&&Z!==void 0?Z:Y instanceof Error?Y.name:void 0)!==null&&J!==void 0?J:"Unknown Error",this.code=X}}p8.WebAuthnError=VD;class iW extends VD{constructor(D,X){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:X,message:D});this.name="WebAuthnUnknownError",this.originalError=X}}p8.WebAuthnUnknownError=iW;function pb(D){return typeof D==="object"&&D!==null&&"__isWebAuthnError"in D}function ab({error:D,options:X}){var Y,Z,J;let{publicKey:Q}=X;if(!Q)throw Error("options was missing required publicKey property");if(D.name==="AbortError"){if(X.signal instanceof AbortSignal)return new VD({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:D})}else if(D.name==="ConstraintError"){if(((Y=Q.authenticatorSelection)===null||Y===void 0?void 0:Y.requireResidentKey)===!0)return new VD({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:D});else if(X.mediation==="conditional"&&((Z=Q.authenticatorSelection)===null||Z===void 0?void 0:Z.userVerification)==="required")return new VD({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:D});else if(((J=Q.authenticatorSelection)===null||J===void 0?void 0:J.userVerification)==="required")return new VD({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:D})}else if(D.name==="InvalidStateError")return new VD({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:D});else if(D.name==="NotAllowedError")return new VD({message:D.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:D});else if(D.name==="NotSupportedError"){if(Q.pubKeyCredParams.filter((F)=>F.type==="public-key").length===0)return new VD({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:D});return new VD({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:D})}else if(D.name==="SecurityError"){let w=window.location.hostname;if(!(0,nW.isValidDomain)(w))return new VD({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:D});else if(Q.rp.id!==w)return new VD({message:`The RP ID "${Q.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:D})}else if(D.name==="TypeError"){if(Q.user.id.byteLength<1||Q.user.id.byteLength>64)return new VD({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:D})}else if(D.name==="UnknownError")return new VD({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:D});return new VD({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:D})}function tb({error:D,options:X}){let{publicKey:Y}=X;if(!Y)throw Error("options was missing required publicKey property");if(D.name==="AbortError"){if(X.signal instanceof AbortSignal)return new VD({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:D})}else if(D.name==="NotAllowedError")return new VD({message:D.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:D});else if(D.name==="SecurityError"){let Z=window.location.hostname;if(!(0,nW.isValidDomain)(Z))return new VD({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:D});else if(Y.rpId!==Z)return new VD({message:`The RP ID "${Y.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:D})}else if(D.name==="UnknownError")return new VD({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:D});return new VD({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:D})}});var Jw=T((I0)=>{Object.defineProperty(I0,"__esModule",{value:!0});I0.WebAuthnApi=I0.DEFAULT_REQUEST_OPTIONS=I0.DEFAULT_CREATION_OPTIONS=I0.webAuthnAbortService=I0.WebAuthnAbortService=I0.identifyAuthenticationError=I0.identifyRegistrationError=I0.isWebAuthnError=I0.WebAuthnError=void 0;I0.deserializeCredentialCreationOptions=sb;I0.deserializeCredentialRequestOptions=ob;I0.serializeCredentialCreationResponse=eb;I0.serializeCredentialRequestResponse=Dg;I0.isValidDomain=Xg;I0.createCredential=rW;I0.getCredential=sW;I0.mergeCredentialCreationOptions=oW;I0.mergeCredentialRequestOptions=eW;var tW=h0(),q8=rX(),V8=G9(),rb=P5(),U8=pW();Object.defineProperty(I0,"identifyAuthenticationError",{enumerable:!0,get:function(){return U8.identifyAuthenticationError}});Object.defineProperty(I0,"identifyRegistrationError",{enumerable:!0,get:function(){return U8.identifyRegistrationError}});Object.defineProperty(I0,"isWebAuthnError",{enumerable:!0,get:function(){return U8.isWebAuthnError}});Object.defineProperty(I0,"WebAuthnError",{enumerable:!0,get:function(){return U8.WebAuthnError}});class Qw{createNewAbortSignal(){if(this.controller){let X=Error("Cancelling existing WebAuthn API call for new one");X.name="AbortError",this.controller.abort(X)}let D=new AbortController;return this.controller=D,D.signal}cancelCeremony(){if(this.controller){let D=Error("Manually cancelling existing WebAuthn API call");D.name="AbortError",this.controller.abort(D),this.controller=void 0}}}I0.WebAuthnAbortService=Qw;I0.webAuthnAbortService=new Qw;function sb(D){if(!D)throw Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON==="function")return PublicKeyCredential.parseCreationOptionsFromJSON(D);let{challenge:X,user:Y,excludeCredentials:Z}=D,J=tW.__rest(D,["challenge","user","excludeCredentials"]),Q=(0,q8.base64UrlToUint8Array)(X).buffer,w=Object.assign(Object.assign({},Y),{id:(0,q8.base64UrlToUint8Array)(Y.id).buffer}),F=Object.assign(Object.assign({},J),{challenge:Q,user:w});if(Z&&Z.length>0){F.excludeCredentials=Array(Z.length);for(let B=0;B<Z.length;B++){let q=Z[B];F.excludeCredentials[B]=Object.assign(Object.assign({},q),{id:(0,q8.base64UrlToUint8Array)(q.id).buffer,type:q.type||"public-key",transports:q.transports})}}return F}function ob(D){if(!D)throw Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON==="function")return PublicKeyCredential.parseRequestOptionsFromJSON(D);let{challenge:X,allowCredentials:Y}=D,Z=tW.__rest(D,["challenge","allowCredentials"]),J=(0,q8.base64UrlToUint8Array)(X).buffer,Q=Object.assign(Object.assign({},Z),{challenge:J});if(Y&&Y.length>0){Q.allowCredentials=Array(Y.length);for(let w=0;w<Y.length;w++){let F=Y[w];Q.allowCredentials[w]=Object.assign(Object.assign({},F),{id:(0,q8.base64UrlToUint8Array)(F.id).buffer,type:F.type||"public-key",transports:F.transports})}}return Q}function eb(D){var X;if("toJSON"in D&&typeof D.toJSON==="function")return D.toJSON();let Y=D;return{id:D.id,rawId:D.id,response:{attestationObject:(0,q8.bytesToBase64URL)(new Uint8Array(D.response.attestationObject)),clientDataJSON:(0,q8.bytesToBase64URL)(new Uint8Array(D.response.clientDataJSON))},type:"public-key",clientExtensionResults:D.getClientExtensionResults(),authenticatorAttachment:(X=Y.authenticatorAttachment)!==null&&X!==void 0?X:void 0}}function Dg(D){var X;if("toJSON"in D&&typeof D.toJSON==="function")return D.toJSON();let Y=D,Z=D.getClientExtensionResults(),J=D.response;return{id:D.id,rawId:D.id,response:{authenticatorData:(0,q8.bytesToBase64URL)(new Uint8Array(J.authenticatorData)),clientDataJSON:(0,q8.bytesToBase64URL)(new Uint8Array(J.clientDataJSON)),signature:(0,q8.bytesToBase64URL)(new Uint8Array(J.signature)),userHandle:J.userHandle?(0,q8.bytesToBase64URL)(new Uint8Array(J.userHandle)):void 0},type:"public-key",clientExtensionResults:Z,authenticatorAttachment:(X=Y.authenticatorAttachment)!==null&&X!==void 0?X:void 0}}function Xg(D){return D==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(D)}function aW(){var D,X;return!!((0,rb.isBrowser)()&&("PublicKeyCredential"in window)&&window.PublicKeyCredential&&("credentials"in navigator)&&typeof((D=navigator===null||navigator===void 0?void 0:navigator.credentials)===null||D===void 0?void 0:D.create)==="function"&&typeof((X=navigator===null||navigator===void 0?void 0:navigator.credentials)===null||X===void 0?void 0:X.get)==="function")}async function rW(D){try{let X=await navigator.credentials.create(D);if(!X)return{data:null,error:new U8.WebAuthnUnknownError("Empty credential response",X)};if(!(X instanceof PublicKeyCredential))return{data:null,error:new U8.WebAuthnUnknownError("Browser returned unexpected credential type",X)};return{data:X,error:null}}catch(X){return{data:null,error:(0,U8.identifyRegistrationError)({error:X,options:D})}}}async function sW(D){try{let X=await navigator.credentials.get(D);if(!X)return{data:null,error:new U8.WebAuthnUnknownError("Empty credential response",X)};if(!(X instanceof PublicKeyCredential))return{data:null,error:new U8.WebAuthnUnknownError("Browser returned unexpected credential type",X)};return{data:X,error:null}}catch(X){return{data:null,error:(0,U8.identifyAuthenticationError)({error:X,options:D})}}}I0.DEFAULT_CREATION_OPTIONS={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"};I0.DEFAULT_REQUEST_OPTIONS={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function YY(...D){let X=(J)=>J!==null&&typeof J==="object"&&!Array.isArray(J),Y=(J)=>J instanceof ArrayBuffer||ArrayBuffer.isView(J),Z={};for(let J of D){if(!J)continue;for(let Q in J){let w=J[Q];if(w===void 0)continue;if(Array.isArray(w))Z[Q]=w;else if(Y(w))Z[Q]=w;else if(X(w)){let F=Z[Q];if(X(F))Z[Q]=YY(F,w);else Z[Q]=YY(w)}else Z[Q]=w}}return Z}function oW(D,X){return YY(I0.DEFAULT_CREATION_OPTIONS,D,X||{})}function eW(D,X){return YY(I0.DEFAULT_REQUEST_OPTIONS,D,X||{})}class DH{constructor(D){this.client=D,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(D){return this.client.mfa.enroll(Object.assign(Object.assign({},D),{factorType:"webauthn"}))}async _challenge({factorId:D,webauthn:X,friendlyName:Y,signal:Z},J){try{let{data:Q,error:w}=await this.client.mfa.challenge({factorId:D,webauthn:X});if(!Q)return{data:null,error:w};let F=Z!==null&&Z!==void 0?Z:I0.webAuthnAbortService.createNewAbortSignal();if(Q.webauthn.type==="create"){let{user:B}=Q.webauthn.credential_options.publicKey;if(!B.name)B.name=`${B.id}:${Y}`;if(!B.displayName)B.displayName=B.name}switch(Q.webauthn.type){case"create":{let B=oW(Q.webauthn.credential_options.publicKey,J===null||J===void 0?void 0:J.create),{data:q,error:$}=await rW({publicKey:B,signal:F});if(q)return{data:{factorId:D,challengeId:Q.id,webauthn:{type:Q.webauthn.type,credential_response:q}},error:null};return{data:null,error:$}}case"request":{let B=eW(Q.webauthn.credential_options.publicKey,J===null||J===void 0?void 0:J.request),{data:q,error:$}=await sW(Object.assign(Object.assign({},Q.webauthn.credential_options),{publicKey:B,signal:F}));if(q)return{data:{factorId:D,challengeId:Q.id,webauthn:{type:Q.webauthn.type,credential_response:q}},error:null};return{data:null,error:$}}}}catch(Q){if((0,V8.isAuthError)(Q))return{data:null,error:Q};return{data:null,error:new V8.AuthUnknownError("Unexpected error in challenge",Q)}}}async _verify({challengeId:D,factorId:X,webauthn:Y}){return this.client.mfa.verify({factorId:X,challengeId:D,webauthn:Y})}async _authenticate({factorId:D,webauthn:{rpId:X=typeof window<"u"?window.location.hostname:void 0,rpOrigins:Y=typeof window<"u"?[window.location.origin]:void 0,signal:Z}={}},J){if(!X)return{data:null,error:new V8.AuthError("rpId is required for WebAuthn authentication")};try{if(!aW())return{data:null,error:new V8.AuthUnknownError("Browser does not support WebAuthn",null)};let{data:Q,error:w}=await this.challenge({factorId:D,webauthn:{rpId:X,rpOrigins:Y},signal:Z},{request:J});if(!Q)return{data:null,error:w};let{webauthn:F}=Q;return this._verify({factorId:D,challengeId:Q.challengeId,webauthn:{type:F.type,rpId:X,rpOrigins:Y,credential_response:F.credential_response}})}catch(Q){if((0,V8.isAuthError)(Q))return{data:null,error:Q};return{data:null,error:new V8.AuthUnknownError("Unexpected error in authenticate",Q)}}}async _register({friendlyName:D,webauthn:{rpId:X=typeof window<"u"?window.location.hostname:void 0,rpOrigins:Y=typeof window<"u"?[window.location.origin]:void 0,signal:Z}={}},J){if(!X)return{data:null,error:new V8.AuthError("rpId is required for WebAuthn registration")};try{if(!aW())return{data:null,error:new V8.AuthUnknownError("Browser does not support WebAuthn",null)};let{data:Q,error:w}=await this._enroll({friendlyName:D});if(!Q)return await this.client.mfa.listFactors().then((q)=>{var $;return($=q.data)===null||$===void 0?void 0:$.all.find((G)=>G.factor_type==="webauthn"&&G.friendly_name===D&&G.status!=="unverified")}).then((q)=>q?this.client.mfa.unenroll({factorId:q===null||q===void 0?void 0:q.id}):void 0),{data:null,error:w};let{data:F,error:B}=await this._challenge({factorId:Q.id,friendlyName:Q.friendly_name,webauthn:{rpId:X,rpOrigins:Y},signal:Z},{create:J});if(!F)return{data:null,error:B};return this._verify({factorId:Q.id,challengeId:F.challengeId,webauthn:{rpId:X,rpOrigins:Y,type:F.webauthn.type,credential_response:F.webauthn.credential_response}})}catch(Q){if((0,V8.isAuthError)(Q))return{data:null,error:Q};return{data:null,error:new V8.AuthUnknownError("Unexpected error in register",Q)}}}}I0.WebAuthnApi=DH});var Fw=T((ww)=>{Object.defineProperty(ww,"__esModule",{value:!0});var Yg=h0(),Zg=Yg.__importDefault(DY()),C1=aX(),r=G9(),O0=tQ(),e=P5(),XH=gW(),YH=Yw(),Jg=dW(),Qg=cQ(),ZH=rX(),ZY=lW(),E4=Jw();(0,Jg.polyfillGlobalThis)();var wg={url:C1.GOTRUE_URL,storageKey:C1.STORAGE_KEY,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:C1.DEFAULT_HEADERS,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1};async function JH(D,X,Y){return await Y()}var x5={};class C4{get jwks(){var D,X;return(X=(D=x5[this.storageKey])===null||D===void 0?void 0:D.jwks)!==null&&X!==void 0?X:{keys:[]}}set jwks(D){x5[this.storageKey]=Object.assign(Object.assign({},x5[this.storageKey]),{jwks:D})}get jwks_cached_at(){var D,X;return(X=(D=x5[this.storageKey])===null||D===void 0?void 0:D.cachedAt)!==null&&X!==void 0?X:Number.MIN_SAFE_INTEGER}set jwks_cached_at(D){x5[this.storageKey]=Object.assign(Object.assign({},x5[this.storageKey]),{cachedAt:D})}constructor(D){var X,Y,Z;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;let J=Object.assign(Object.assign({},wg),D);if(this.storageKey=J.storageKey,this.instanceID=(X=C4.nextInstanceID[this.storageKey])!==null&&X!==void 0?X:0,C4.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!J.debug,typeof J.debug==="function")this.logger=J.debug;if(this.instanceID>0&&(0,e.isBrowser)()){let Q=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;if(console.warn(Q),this.logDebugMessages)console.trace(Q)}if(this.persistSession=J.persistSession,this.autoRefreshToken=J.autoRefreshToken,this.admin=new Zg.default({url:J.url,headers:J.headers,fetch:J.fetch}),this.url=J.url,this.headers=J.headers,this.fetch=(0,e.resolveFetch)(J.fetch),this.lock=J.lock||JH,this.detectSessionInUrl=J.detectSessionInUrl,this.flowType=J.flowType,this.hasCustomAuthorizationHeader=J.hasCustomAuthorizationHeader,this.throwOnError=J.throwOnError,J.lock)this.lock=J.lock;else if(this.persistSession&&(0,e.isBrowser)()&&((Y=globalThis===null||globalThis===void 0?void 0:globalThis.navigator)===null||Y===void 0?void 0:Y.locks))this.lock=YH.navigatorLock;else this.lock=JH;if(!this.jwks)this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER;if(this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new E4.WebAuthnApi(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.persistSession){if(J.storage)this.storage=J.storage;else if((0,e.supportsLocalStorage)())this.storage=globalThis.localStorage;else this.memoryStorage={},this.storage=(0,XH.memoryLocalStorageAdapter)(this.memoryStorage);if(J.userStorage)this.userStorage=J.userStorage}else this.memoryStorage={},this.storage=(0,XH.memoryLocalStorageAdapter)(this.memoryStorage);if((0,e.isBrowser)()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(Q){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",Q)}(Z=this.broadcastChannel)===null||Z===void 0||Z.addEventListener("message",async(Q)=>{this._debug("received broadcast notification from other tab or client",Q),await this._notifyAllSubscribers(Q.data.event,Q.data.session,!1)})}this.initialize()}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(D){if(this.throwOnError&&D&&D.error)throw D.error;return D}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Qg.version}) ${new Date().toISOString()}`}_debug(...D){if(this.logDebugMessages)this.logger(this._logPrefix(),...D);return this}async initialize(){if(this.initializePromise)return await this.initializePromise;return this.initializePromise=(async()=>{return await this._acquireLock(-1,async()=>{return await this._initialize()})})(),await this.initializePromise}async _initialize(){var D;try{let X={},Y="none";if((0,e.isBrowser)()){if(X=(0,e.parseParametersFromURL)(window.location.href),this._isImplicitGrantCallback(X))Y="implicit";else if(await this._isPKCECallback(X))Y="pkce"}if((0,e.isBrowser)()&&this.detectSessionInUrl&&Y!=="none"){let{data:Z,error:J}=await this._getSessionFromURL(X,Y);if(J){if(this._debug("#_initialize()","error detecting session from URL",J),(0,r.isAuthImplicitGrantRedirectError)(J)){let F=(D=J.details)===null||D===void 0?void 0:D.code;if(F==="identity_already_exists"||F==="identity_not_found"||F==="single_identity_not_deletable")return{error:J}}return await this._removeSession(),{error:J}}let{session:Q,redirectType:w}=Z;return this._debug("#_initialize()","detected session in URL",Q,"redirect type",w),await this._saveSession(Q),setTimeout(async()=>{if(w==="recovery")await this._notifyAllSubscribers("PASSWORD_RECOVERY",Q);else await this._notifyAllSubscribers("SIGNED_IN",Q)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(X){if((0,r.isAuthError)(X))return this._returnResult({error:X});return this._returnResult({error:new r.AuthUnknownError("Unexpected error during initialization",X)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(D){var X,Y,Z;try{let J=await(0,O0._request)(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(Y=(X=D===null||D===void 0?void 0:D.options)===null||X===void 0?void 0:X.data)!==null&&Y!==void 0?Y:{},gotrue_meta_security:{captcha_token:(Z=D===null||D===void 0?void 0:D.options)===null||Z===void 0?void 0:Z.captchaToken}},xform:O0._sessionResponse}),{data:Q,error:w}=J;if(w||!Q)return this._returnResult({data:{user:null,session:null},error:w});let{session:F,user:B}=Q;if(Q.session)await this._saveSession(Q.session),await this._notifyAllSubscribers("SIGNED_IN",F);return this._returnResult({data:{user:B,session:F},error:null})}catch(J){if((0,r.isAuthError)(J))return this._returnResult({data:{user:null,session:null},error:J});throw J}}async signUp(D){var X,Y,Z;try{let J;if("email"in D){let{email:q,password:$,options:G}=D,W=null,O=null;if(this.flowType==="pkce")[W,O]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey);J=await(0,O0._request)(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:G===null||G===void 0?void 0:G.emailRedirectTo,body:{email:q,password:$,data:(X=G===null||G===void 0?void 0:G.data)!==null&&X!==void 0?X:{},gotrue_meta_security:{captcha_token:G===null||G===void 0?void 0:G.captchaToken},code_challenge:W,code_challenge_method:O},xform:O0._sessionResponse})}else if("phone"in D){let{phone:q,password:$,options:G}=D;J=await(0,O0._request)(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:q,password:$,data:(Y=G===null||G===void 0?void 0:G.data)!==null&&Y!==void 0?Y:{},channel:(Z=G===null||G===void 0?void 0:G.channel)!==null&&Z!==void 0?Z:"sms",gotrue_meta_security:{captcha_token:G===null||G===void 0?void 0:G.captchaToken}},xform:O0._sessionResponse})}else throw new r.AuthInvalidCredentialsError("You must provide either an email or phone number and a password");let{data:Q,error:w}=J;if(w||!Q)return await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:w});let{session:F,user:B}=Q;if(Q.session)await this._saveSession(Q.session),await this._notifyAllSubscribers("SIGNED_IN",F);return this._returnResult({data:{user:B,session:F},error:null})}catch(J){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(J))return this._returnResult({data:{user:null,session:null},error:J});throw J}}async signInWithPassword(D){try{let X;if("email"in D){let{email:J,password:Q,options:w}=D;X=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:J,password:Q,gotrue_meta_security:{captcha_token:w===null||w===void 0?void 0:w.captchaToken}},xform:O0._sessionResponsePassword})}else if("phone"in D){let{phone:J,password:Q,options:w}=D;X=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:J,password:Q,gotrue_meta_security:{captcha_token:w===null||w===void 0?void 0:w.captchaToken}},xform:O0._sessionResponsePassword})}else throw new r.AuthInvalidCredentialsError("You must provide either an email or phone number and a password");let{data:Y,error:Z}=X;if(Z)return this._returnResult({data:{user:null,session:null},error:Z});else if(!Y||!Y.session||!Y.user){let J=new r.AuthInvalidTokenResponseError;return this._returnResult({data:{user:null,session:null},error:J})}if(Y.session)await this._saveSession(Y.session),await this._notifyAllSubscribers("SIGNED_IN",Y.session);return this._returnResult({data:Object.assign({user:Y.user,session:Y.session},Y.weak_password?{weakPassword:Y.weak_password}:null),error:Z})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:{user:null,session:null},error:X});throw X}}async signInWithOAuth(D){var X,Y,Z,J;return await this._handleProviderSignIn(D.provider,{redirectTo:(X=D.options)===null||X===void 0?void 0:X.redirectTo,scopes:(Y=D.options)===null||Y===void 0?void 0:Y.scopes,queryParams:(Z=D.options)===null||Z===void 0?void 0:Z.queryParams,skipBrowserRedirect:(J=D.options)===null||J===void 0?void 0:J.skipBrowserRedirect})}async exchangeCodeForSession(D){return await this.initializePromise,this._acquireLock(-1,async()=>{return this._exchangeCodeForSession(D)})}async signInWithWeb3(D){let{chain:X}=D;switch(X){case"ethereum":return await this.signInWithEthereum(D);case"solana":return await this.signInWithSolana(D);default:throw Error(`@supabase/auth-js: Unsupported chain "${X}"`)}}async signInWithEthereum(D){var X,Y,Z,J,Q,w,F,B,q,$,G;let W,O;if("message"in D)W=D.message,O=D.signature;else{let{chain:H,wallet:M,statement:U,options:N}=D,R;if(!(0,e.isBrowser)()){if(typeof M!=="object"||!(N===null||N===void 0?void 0:N.url))throw Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");R=M}else if(typeof M==="object")R=M;else{let A=window;if("ethereum"in A&&typeof A.ethereum==="object"&&"request"in A.ethereum&&typeof A.ethereum.request==="function")R=A.ethereum;else throw Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}let z=new URL((X=N===null||N===void 0?void 0:N.url)!==null&&X!==void 0?X:window.location.href),V=await R.request({method:"eth_requestAccounts"}).then((A)=>A).catch(()=>{throw Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!V||V.length===0)throw Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");let L=(0,ZY.getAddress)(V[0]),C=(Y=N===null||N===void 0?void 0:N.signInWithEthereum)===null||Y===void 0?void 0:Y.chainId;if(!C){let A=await R.request({method:"eth_chainId"});C=(0,ZY.fromHex)(A)}let y={domain:z.host,address:L,statement:U,uri:z.href,version:"1",chainId:C,nonce:(Z=N===null||N===void 0?void 0:N.signInWithEthereum)===null||Z===void 0?void 0:Z.nonce,issuedAt:(Q=(J=N===null||N===void 0?void 0:N.signInWithEthereum)===null||J===void 0?void 0:J.issuedAt)!==null&&Q!==void 0?Q:new Date,expirationTime:(w=N===null||N===void 0?void 0:N.signInWithEthereum)===null||w===void 0?void 0:w.expirationTime,notBefore:(F=N===null||N===void 0?void 0:N.signInWithEthereum)===null||F===void 0?void 0:F.notBefore,requestId:(B=N===null||N===void 0?void 0:N.signInWithEthereum)===null||B===void 0?void 0:B.requestId,resources:(q=N===null||N===void 0?void 0:N.signInWithEthereum)===null||q===void 0?void 0:q.resources};W=(0,ZY.createSiweMessage)(y),O=await R.request({method:"personal_sign",params:[(0,ZY.toHex)(W),L]})}try{let{data:H,error:M}=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:W,signature:O},(($=D.options)===null||$===void 0?void 0:$.captchaToken)?{gotrue_meta_security:{captcha_token:(G=D.options)===null||G===void 0?void 0:G.captchaToken}}:null),xform:O0._sessionResponse});if(M)throw M;if(!H||!H.session||!H.user){let U=new r.AuthInvalidTokenResponseError;return this._returnResult({data:{user:null,session:null},error:U})}if(H.session)await this._saveSession(H.session),await this._notifyAllSubscribers("SIGNED_IN",H.session);return this._returnResult({data:Object.assign({},H),error:M})}catch(H){if((0,r.isAuthError)(H))return this._returnResult({data:{user:null,session:null},error:H});throw H}}async signInWithSolana(D){var X,Y,Z,J,Q,w,F,B,q,$,G,W;let O,H;if("message"in D)O=D.message,H=D.signature;else{let{chain:M,wallet:U,statement:N,options:R}=D,z;if(!(0,e.isBrowser)()){if(typeof U!=="object"||!(R===null||R===void 0?void 0:R.url))throw Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");z=U}else if(typeof U==="object")z=U;else{let L=window;if("solana"in L&&typeof L.solana==="object"&&(("signIn"in L.solana)&&typeof L.solana.signIn==="function"||("signMessage"in L.solana)&&typeof L.solana.signMessage==="function"))z=L.solana;else throw Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}let V=new URL((X=R===null||R===void 0?void 0:R.url)!==null&&X!==void 0?X:window.location.href);if("signIn"in z&&z.signIn){let L=await z.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},R===null||R===void 0?void 0:R.signInWithSolana),{version:"1",domain:V.host,uri:V.href}),N?{statement:N}:null)),C;if(Array.isArray(L)&&L[0]&&typeof L[0]==="object")C=L[0];else if(L&&typeof L==="object"&&"signedMessage"in L&&"signature"in L)C=L;else throw Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in C&&"signature"in C&&(typeof C.signedMessage==="string"||C.signedMessage instanceof Uint8Array)&&C.signature instanceof Uint8Array)O=typeof C.signedMessage==="string"?C.signedMessage:new TextDecoder().decode(C.signedMessage),H=C.signature;else throw Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in z)||typeof z.signMessage!=="function"||!("publicKey"in z)||typeof z!=="object"||!z.publicKey||!("toBase58"in z.publicKey)||typeof z.publicKey.toBase58!=="function")throw Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");O=[`${V.host} wants you to sign in with your Solana account:`,z.publicKey.toBase58(),...N?["",N,""]:[""],"Version: 1",`URI: ${V.href}`,`Issued At: ${(Z=(Y=R===null||R===void 0?void 0:R.signInWithSolana)===null||Y===void 0?void 0:Y.issuedAt)!==null&&Z!==void 0?Z:new Date().toISOString()}`,...((J=R===null||R===void 0?void 0:R.signInWithSolana)===null||J===void 0?void 0:J.notBefore)?[`Not Before: ${R.signInWithSolana.notBefore}`]:[],...((Q=R===null||R===void 0?void 0:R.signInWithSolana)===null||Q===void 0?void 0:Q.expirationTime)?[`Expiration Time: ${R.signInWithSolana.expirationTime}`]:[],...((w=R===null||R===void 0?void 0:R.signInWithSolana)===null||w===void 0?void 0:w.chainId)?[`Chain ID: ${R.signInWithSolana.chainId}`]:[],...((F=R===null||R===void 0?void 0:R.signInWithSolana)===null||F===void 0?void 0:F.nonce)?[`Nonce: ${R.signInWithSolana.nonce}`]:[],...((B=R===null||R===void 0?void 0:R.signInWithSolana)===null||B===void 0?void 0:B.requestId)?[`Request ID: ${R.signInWithSolana.requestId}`]:[],...(($=(q=R===null||R===void 0?void 0:R.signInWithSolana)===null||q===void 0?void 0:q.resources)===null||$===void 0?void 0:$.length)?["Resources",...R.signInWithSolana.resources.map((C)=>`- ${C}`)]:[]].join(`
|
|
40
|
-
`);let L=await z.signMessage(new TextEncoder().encode(O),"utf8");if(!L||!(L instanceof Uint8Array))throw Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");H=L}}try{let{data:M,error:U}=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:O,signature:(0,ZH.bytesToBase64URL)(H)},((G=D.options)===null||G===void 0?void 0:G.captchaToken)?{gotrue_meta_security:{captcha_token:(W=D.options)===null||W===void 0?void 0:W.captchaToken}}:null),xform:O0._sessionResponse});if(U)throw U;if(!M||!M.session||!M.user){let N=new r.AuthInvalidTokenResponseError;return this._returnResult({data:{user:null,session:null},error:N})}if(M.session)await this._saveSession(M.session),await this._notifyAllSubscribers("SIGNED_IN",M.session);return this._returnResult({data:Object.assign({},M),error:U})}catch(M){if((0,r.isAuthError)(M))return this._returnResult({data:{user:null,session:null},error:M});throw M}}async _exchangeCodeForSession(D){let X=await(0,e.getItemAsync)(this.storage,`${this.storageKey}-code-verifier`),[Y,Z]=(X!==null&&X!==void 0?X:"").split("/");try{if(!Y&&this.flowType==="pkce")throw new r.AuthPKCECodeVerifierMissingError;let{data:J,error:Q}=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:D,code_verifier:Y},xform:O0._sessionResponse});if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),Q)throw Q;if(!J||!J.session||!J.user){let w=new r.AuthInvalidTokenResponseError;return this._returnResult({data:{user:null,session:null,redirectType:null},error:w})}if(J.session)await this._saveSession(J.session),await this._notifyAllSubscribers("SIGNED_IN",J.session);return this._returnResult({data:Object.assign(Object.assign({},J),{redirectType:Z!==null&&Z!==void 0?Z:null}),error:Q})}catch(J){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(J))return this._returnResult({data:{user:null,session:null,redirectType:null},error:J});throw J}}async signInWithIdToken(D){try{let{options:X,provider:Y,token:Z,access_token:J,nonce:Q}=D,w=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:Y,id_token:Z,access_token:J,nonce:Q,gotrue_meta_security:{captcha_token:X===null||X===void 0?void 0:X.captchaToken}},xform:O0._sessionResponse}),{data:F,error:B}=w;if(B)return this._returnResult({data:{user:null,session:null},error:B});else if(!F||!F.session||!F.user){let q=new r.AuthInvalidTokenResponseError;return this._returnResult({data:{user:null,session:null},error:q})}if(F.session)await this._saveSession(F.session),await this._notifyAllSubscribers("SIGNED_IN",F.session);return this._returnResult({data:F,error:B})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:{user:null,session:null},error:X});throw X}}async signInWithOtp(D){var X,Y,Z,J,Q;try{if("email"in D){let{email:w,options:F}=D,B=null,q=null;if(this.flowType==="pkce")[B,q]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey);let{error:$}=await(0,O0._request)(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:w,data:(X=F===null||F===void 0?void 0:F.data)!==null&&X!==void 0?X:{},create_user:(Y=F===null||F===void 0?void 0:F.shouldCreateUser)!==null&&Y!==void 0?Y:!0,gotrue_meta_security:{captcha_token:F===null||F===void 0?void 0:F.captchaToken},code_challenge:B,code_challenge_method:q},redirectTo:F===null||F===void 0?void 0:F.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:$})}if("phone"in D){let{phone:w,options:F}=D,{data:B,error:q}=await(0,O0._request)(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:w,data:(Z=F===null||F===void 0?void 0:F.data)!==null&&Z!==void 0?Z:{},create_user:(J=F===null||F===void 0?void 0:F.shouldCreateUser)!==null&&J!==void 0?J:!0,gotrue_meta_security:{captcha_token:F===null||F===void 0?void 0:F.captchaToken},channel:(Q=F===null||F===void 0?void 0:F.channel)!==null&&Q!==void 0?Q:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:B===null||B===void 0?void 0:B.message_id},error:q})}throw new r.AuthInvalidCredentialsError("You must provide either an email or phone number.")}catch(w){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(w))return this._returnResult({data:{user:null,session:null},error:w});throw w}}async verifyOtp(D){var X,Y;try{let Z=void 0,J=void 0;if("options"in D)Z=(X=D.options)===null||X===void 0?void 0:X.redirectTo,J=(Y=D.options)===null||Y===void 0?void 0:Y.captchaToken;let{data:Q,error:w}=await(0,O0._request)(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},D),{gotrue_meta_security:{captcha_token:J}}),redirectTo:Z,xform:O0._sessionResponse});if(w)throw w;if(!Q)throw Error("An error occurred on token verification.");let{session:F,user:B}=Q;if(F===null||F===void 0?void 0:F.access_token)await this._saveSession(F),await this._notifyAllSubscribers(D.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",F);return this._returnResult({data:{user:B,session:F},error:null})}catch(Z){if((0,r.isAuthError)(Z))return this._returnResult({data:{user:null,session:null},error:Z});throw Z}}async signInWithSSO(D){var X,Y,Z,J,Q;try{let w=null,F=null;if(this.flowType==="pkce")[w,F]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey);let B=await(0,O0._request)(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in D?{provider_id:D.providerId}:null),"domain"in D?{domain:D.domain}:null),{redirect_to:(Y=(X=D.options)===null||X===void 0?void 0:X.redirectTo)!==null&&Y!==void 0?Y:void 0}),((Z=D===null||D===void 0?void 0:D.options)===null||Z===void 0?void 0:Z.captchaToken)?{gotrue_meta_security:{captcha_token:D.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:w,code_challenge_method:F}),headers:this.headers,xform:O0._ssoResponse});if(((J=B.data)===null||J===void 0?void 0:J.url)&&(0,e.isBrowser)()&&!((Q=D.options)===null||Q===void 0?void 0:Q.skipBrowserRedirect))window.location.assign(B.data.url);return this._returnResult(B)}catch(w){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(w))return this._returnResult({data:null,error:w});throw w}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._reauthenticate()})}async _reauthenticate(){try{return await this._useSession(async(D)=>{let{data:{session:X},error:Y}=D;if(Y)throw Y;if(!X)throw new r.AuthSessionMissingError;let{error:Z}=await(0,O0._request)(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:X.access_token});return this._returnResult({data:{user:null,session:null},error:Z})})}catch(D){if((0,r.isAuthError)(D))return this._returnResult({data:{user:null,session:null},error:D});throw D}}async resend(D){try{let X=`${this.url}/resend`;if("email"in D){let{email:Y,type:Z,options:J}=D,{error:Q}=await(0,O0._request)(this.fetch,"POST",X,{headers:this.headers,body:{email:Y,type:Z,gotrue_meta_security:{captcha_token:J===null||J===void 0?void 0:J.captchaToken}},redirectTo:J===null||J===void 0?void 0:J.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:Q})}else if("phone"in D){let{phone:Y,type:Z,options:J}=D,{data:Q,error:w}=await(0,O0._request)(this.fetch,"POST",X,{headers:this.headers,body:{phone:Y,type:Z,gotrue_meta_security:{captcha_token:J===null||J===void 0?void 0:J.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:Q===null||Q===void 0?void 0:Q.message_id},error:w})}throw new r.AuthInvalidCredentialsError("You must provide either an email or phone number and a type")}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:{user:null,session:null},error:X});throw X}}async getSession(){return await this.initializePromise,await this._acquireLock(-1,async()=>{return this._useSession(async(X)=>{return X})})}async _acquireLock(D,X){this._debug("#_acquireLock","begin",D);try{if(this.lockAcquired){let Y=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),Z=(async()=>{return await Y,await X()})();return this.pendingInLock.push((async()=>{try{await Z}catch(J){}})()),Z}return await this.lock(`lock:${this.storageKey}`,D,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;let Y=X();this.pendingInLock.push((async()=>{try{await Y}catch(Z){}})()),await Y;while(this.pendingInLock.length){let Z=[...this.pendingInLock];await Promise.all(Z),this.pendingInLock.splice(0,Z.length)}return await Y}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(D){this._debug("#_useSession","begin");try{let X=await this.__loadSession();return await D(X)}finally{this._debug("#_useSession","end")}}async __loadSession(){if(this._debug("#__loadSession()","begin"),!this.lockAcquired)this._debug("#__loadSession()","used outside of an acquired lock!",Error().stack);try{let D=null,X=await(0,e.getItemAsync)(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",X),X!==null)if(this._isValidSession(X))D=X;else this._debug("#getSession()","session from storage is not valid"),await this._removeSession();if(!D)return{data:{session:null},error:null};let Y=D.expires_at?D.expires_at*1000-Date.now()<C1.EXPIRY_MARGIN_MS:!1;if(this._debug("#__loadSession()",`session has${Y?"":" not"} expired`,"expires_at",D.expires_at),!Y){if(this.userStorage){let Q=await(0,e.getItemAsync)(this.userStorage,this.storageKey+"-user");if(Q===null||Q===void 0?void 0:Q.user)D.user=Q.user;else D.user=(0,e.userNotAvailableProxy)()}if(this.storage.isServer&&D.user&&!D.user.__isUserNotAvailableProxy){let Q={value:this.suppressGetSessionWarning};if(D.user=(0,e.insecureUserWarningProxy)(D.user,Q),Q.value)this.suppressGetSessionWarning=!0}return{data:{session:D},error:null}}let{data:Z,error:J}=await this._callRefreshToken(D.refresh_token);if(J)return this._returnResult({data:{session:null},error:J});return this._returnResult({data:{session:Z},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(D){if(D)return await this._getUser(D);await this.initializePromise;let X=await this._acquireLock(-1,async()=>{return await this._getUser()});if(X.data.user)this.suppressGetSessionWarning=!0;return X}async _getUser(D){try{if(D)return await(0,O0._request)(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:D,xform:O0._userResponse});return await this._useSession(async(X)=>{var Y,Z,J;let{data:Q,error:w}=X;if(w)throw w;if(!((Y=Q.session)===null||Y===void 0?void 0:Y.access_token)&&!this.hasCustomAuthorizationHeader)return{data:{user:null},error:new r.AuthSessionMissingError};return await(0,O0._request)(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(J=(Z=Q.session)===null||Z===void 0?void 0:Z.access_token)!==null&&J!==void 0?J:void 0,xform:O0._userResponse})})}catch(X){if((0,r.isAuthError)(X)){if((0,r.isAuthSessionMissingError)(X))await this._removeSession(),await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`);return this._returnResult({data:{user:null},error:X})}throw X}}async updateUser(D,X={}){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._updateUser(D,X)})}async _updateUser(D,X={}){try{return await this._useSession(async(Y)=>{let{data:Z,error:J}=Y;if(J)throw J;if(!Z.session)throw new r.AuthSessionMissingError;let Q=Z.session,w=null,F=null;if(this.flowType==="pkce"&&D.email!=null)[w,F]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey);let{data:B,error:q}=await(0,O0._request)(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:X===null||X===void 0?void 0:X.emailRedirectTo,body:Object.assign(Object.assign({},D),{code_challenge:w,code_challenge_method:F}),jwt:Q.access_token,xform:O0._userResponse});if(q)throw q;return Q.user=B.user,await this._saveSession(Q),await this._notifyAllSubscribers("USER_UPDATED",Q),this._returnResult({data:{user:Q.user},error:null})})}catch(Y){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(Y))return this._returnResult({data:{user:null},error:Y});throw Y}}async setSession(D){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._setSession(D)})}async _setSession(D){try{if(!D.access_token||!D.refresh_token)throw new r.AuthSessionMissingError;let X=Date.now()/1000,Y=X,Z=!0,J=null,{payload:Q}=(0,e.decodeJWT)(D.access_token);if(Q.exp)Y=Q.exp,Z=Y<=X;if(Z){let{data:w,error:F}=await this._callRefreshToken(D.refresh_token);if(F)return this._returnResult({data:{user:null,session:null},error:F});if(!w)return{data:{user:null,session:null},error:null};J=w}else{let{data:w,error:F}=await this._getUser(D.access_token);if(F)throw F;J={access_token:D.access_token,refresh_token:D.refresh_token,user:w.user,token_type:"bearer",expires_in:Y-X,expires_at:Y},await this._saveSession(J),await this._notifyAllSubscribers("SIGNED_IN",J)}return this._returnResult({data:{user:J.user,session:J},error:null})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:{session:null,user:null},error:X});throw X}}async refreshSession(D){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._refreshSession(D)})}async _refreshSession(D){try{return await this._useSession(async(X)=>{var Y;if(!D){let{data:Q,error:w}=X;if(w)throw w;D=(Y=Q.session)!==null&&Y!==void 0?Y:void 0}if(!(D===null||D===void 0?void 0:D.refresh_token))throw new r.AuthSessionMissingError;let{data:Z,error:J}=await this._callRefreshToken(D.refresh_token);if(J)return this._returnResult({data:{user:null,session:null},error:J});if(!Z)return this._returnResult({data:{user:null,session:null},error:null});return this._returnResult({data:{user:Z.user,session:Z},error:null})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:{user:null,session:null},error:X});throw X}}async _getSessionFromURL(D,X){try{if(!(0,e.isBrowser)())throw new r.AuthImplicitGrantRedirectError("No browser detected.");if(D.error||D.error_description||D.error_code)throw new r.AuthImplicitGrantRedirectError(D.error_description||"Error in URL with unspecified error_description",{error:D.error||"unspecified_error",code:D.error_code||"unspecified_code"});switch(X){case"implicit":if(this.flowType==="pkce")throw new r.AuthPKCEGrantCodeExchangeError("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new r.AuthImplicitGrantRedirectError("Not a valid implicit grant flow url.");break;default:}if(X==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!D.code)throw new r.AuthPKCEGrantCodeExchangeError("No code detected.");let{data:N,error:R}=await this._exchangeCodeForSession(D.code);if(R)throw R;let z=new URL(window.location.href);return z.searchParams.delete("code"),window.history.replaceState(window.history.state,"",z.toString()),{data:{session:N.session,redirectType:null},error:null}}let{provider_token:Y,provider_refresh_token:Z,access_token:J,refresh_token:Q,expires_in:w,expires_at:F,token_type:B}=D;if(!J||!w||!Q||!B)throw new r.AuthImplicitGrantRedirectError("No session defined in URL");let q=Math.round(Date.now()/1000),$=parseInt(w),G=q+$;if(F)G=parseInt(F);let W=G-q;if(W*1000<=C1.AUTO_REFRESH_TICK_DURATION_MS)console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${W}s, should have been closer to ${$}s`);let O=G-$;if(q-O>=120)console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",O,G,q);else if(q-O<0)console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",O,G,q);let{data:H,error:M}=await this._getUser(J);if(M)throw M;let U={provider_token:Y,provider_refresh_token:Z,access_token:J,expires_in:$,expires_at:G,refresh_token:Q,token_type:B,user:H.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:U,redirectType:D.type},error:null})}catch(Y){if((0,r.isAuthError)(Y))return this._returnResult({data:{session:null,redirectType:null},error:Y});throw Y}}_isImplicitGrantCallback(D){if(typeof this.detectSessionInUrl==="function")return this.detectSessionInUrl(new URL(window.location.href),D);return Boolean(D.access_token||D.error_description)}async _isPKCECallback(D){let X=await(0,e.getItemAsync)(this.storage,`${this.storageKey}-code-verifier`);return!!(D.code&&X)}async signOut(D={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._signOut(D)})}async _signOut({scope:D}={scope:"global"}){return await this._useSession(async(X)=>{var Y;let{data:Z,error:J}=X;if(J)return this._returnResult({error:J});let Q=(Y=Z.session)===null||Y===void 0?void 0:Y.access_token;if(Q){let{error:w}=await this.admin.signOut(Q,D);if(w){if(!((0,r.isAuthApiError)(w)&&(w.status===404||w.status===401||w.status===403)))return this._returnResult({error:w})}}if(D!=="others")await this._removeSession(),await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`);return this._returnResult({error:null})})}onAuthStateChange(D){let X=(0,e.generateCallbackId)(),Y={id:X,callback:D,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",X),this.stateChangeEmitters.delete(X)}};return this._debug("#onAuthStateChange()","registered callback with id",X),this.stateChangeEmitters.set(X,Y),(async()=>{await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(X)})})(),{data:{subscription:Y}}}async _emitInitialSession(D){return await this._useSession(async(X)=>{var Y,Z;try{let{data:{session:J},error:Q}=X;if(Q)throw Q;await((Y=this.stateChangeEmitters.get(D))===null||Y===void 0?void 0:Y.callback("INITIAL_SESSION",J)),this._debug("INITIAL_SESSION","callback id",D,"session",J)}catch(J){await((Z=this.stateChangeEmitters.get(D))===null||Z===void 0?void 0:Z.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",D,"error",J),console.error(J)}})}async resetPasswordForEmail(D,X={}){let Y=null,Z=null;if(this.flowType==="pkce")[Y,Z]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey,!0);try{return await(0,O0._request)(this.fetch,"POST",`${this.url}/recover`,{body:{email:D,code_challenge:Y,code_challenge_method:Z,gotrue_meta_security:{captcha_token:X.captchaToken}},headers:this.headers,redirectTo:X.redirectTo})}catch(J){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(J))return this._returnResult({data:null,error:J});throw J}}async getUserIdentities(){var D;try{let{data:X,error:Y}=await this.getUser();if(Y)throw Y;return this._returnResult({data:{identities:(D=X.user.identities)!==null&&D!==void 0?D:[]},error:null})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async linkIdentity(D){if("token"in D)return this.linkIdentityIdToken(D);return this.linkIdentityOAuth(D)}async linkIdentityOAuth(D){var X;try{let{data:Y,error:Z}=await this._useSession(async(J)=>{var Q,w,F,B,q;let{data:$,error:G}=J;if(G)throw G;let W=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,D.provider,{redirectTo:(Q=D.options)===null||Q===void 0?void 0:Q.redirectTo,scopes:(w=D.options)===null||w===void 0?void 0:w.scopes,queryParams:(F=D.options)===null||F===void 0?void 0:F.queryParams,skipBrowserRedirect:!0});return await(0,O0._request)(this.fetch,"GET",W,{headers:this.headers,jwt:(q=(B=$.session)===null||B===void 0?void 0:B.access_token)!==null&&q!==void 0?q:void 0})});if(Z)throw Z;if((0,e.isBrowser)()&&!((X=D.options)===null||X===void 0?void 0:X.skipBrowserRedirect))window.location.assign(Y===null||Y===void 0?void 0:Y.url);return this._returnResult({data:{provider:D.provider,url:Y===null||Y===void 0?void 0:Y.url},error:null})}catch(Y){if((0,r.isAuthError)(Y))return this._returnResult({data:{provider:D.provider,url:null},error:Y});throw Y}}async linkIdentityIdToken(D){return await this._useSession(async(X)=>{var Y;try{let{error:Z,data:{session:J}}=X;if(Z)throw Z;let{options:Q,provider:w,token:F,access_token:B,nonce:q}=D,$=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(Y=J===null||J===void 0?void 0:J.access_token)!==null&&Y!==void 0?Y:void 0,body:{provider:w,id_token:F,access_token:B,nonce:q,link_identity:!0,gotrue_meta_security:{captcha_token:Q===null||Q===void 0?void 0:Q.captchaToken}},xform:O0._sessionResponse}),{data:G,error:W}=$;if(W)return this._returnResult({data:{user:null,session:null},error:W});else if(!G||!G.session||!G.user)return this._returnResult({data:{user:null,session:null},error:new r.AuthInvalidTokenResponseError});if(G.session)await this._saveSession(G.session),await this._notifyAllSubscribers("USER_UPDATED",G.session);return this._returnResult({data:G,error:W})}catch(Z){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(Z))return this._returnResult({data:{user:null,session:null},error:Z});throw Z}})}async unlinkIdentity(D){try{return await this._useSession(async(X)=>{var Y,Z;let{data:J,error:Q}=X;if(Q)throw Q;return await(0,O0._request)(this.fetch,"DELETE",`${this.url}/user/identities/${D.identity_id}`,{headers:this.headers,jwt:(Z=(Y=J.session)===null||Y===void 0?void 0:Y.access_token)!==null&&Z!==void 0?Z:void 0})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async _refreshAccessToken(D){let X=`#_refreshAccessToken(${D.substring(0,5)}...)`;this._debug(X,"begin");try{let Y=Date.now();return await(0,e.retryable)(async(Z)=>{if(Z>0)await(0,e.sleep)(200*Math.pow(2,Z-1));return this._debug(X,"refreshing attempt",Z),await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:D},headers:this.headers,xform:O0._sessionResponse})},(Z,J)=>{let Q=200*Math.pow(2,Z);return J&&(0,r.isAuthRetryableFetchError)(J)&&Date.now()+Q-Y<C1.AUTO_REFRESH_TICK_DURATION_MS})}catch(Y){if(this._debug(X,"error",Y),(0,r.isAuthError)(Y))return this._returnResult({data:{session:null,user:null},error:Y});throw Y}finally{this._debug(X,"end")}}_isValidSession(D){return typeof D==="object"&&D!==null&&"access_token"in D&&"refresh_token"in D&&"expires_at"in D}async _handleProviderSignIn(D,X){let Y=await this._getUrlForProvider(`${this.url}/authorize`,D,{redirectTo:X.redirectTo,scopes:X.scopes,queryParams:X.queryParams});if(this._debug("#_handleProviderSignIn()","provider",D,"options",X,"url",Y),(0,e.isBrowser)()&&!X.skipBrowserRedirect)window.location.assign(Y);return{data:{provider:D,url:Y},error:null}}async _recoverAndRefresh(){var D,X;let Y="#_recoverAndRefresh()";this._debug("#_recoverAndRefresh()","begin");try{let Z=await(0,e.getItemAsync)(this.storage,this.storageKey);if(Z&&this.userStorage){let Q=await(0,e.getItemAsync)(this.userStorage,this.storageKey+"-user");if(!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!Q)Q={user:Z.user},await(0,e.setItemAsync)(this.userStorage,this.storageKey+"-user",Q);Z.user=(D=Q===null||Q===void 0?void 0:Q.user)!==null&&D!==void 0?D:(0,e.userNotAvailableProxy)()}else if(Z&&!Z.user){if(!Z.user){let Q=await(0,e.getItemAsync)(this.storage,this.storageKey+"-user");if(Q&&(Q===null||Q===void 0?void 0:Q.user))Z.user=Q.user,await(0,e.removeItemAsync)(this.storage,this.storageKey+"-user"),await(0,e.setItemAsync)(this.storage,this.storageKey,Z);else Z.user=(0,e.userNotAvailableProxy)()}}if(this._debug("#_recoverAndRefresh()","session from storage",Z),!this._isValidSession(Z)){if(this._debug("#_recoverAndRefresh()","session is not valid"),Z!==null)await this._removeSession();return}let J=((X=Z.expires_at)!==null&&X!==void 0?X:1/0)*1000-Date.now()<C1.EXPIRY_MARGIN_MS;if(this._debug("#_recoverAndRefresh()",`session has${J?"":" not"} expired with margin of ${C1.EXPIRY_MARGIN_MS}s`),J){if(this.autoRefreshToken&&Z.refresh_token){let{error:Q}=await this._callRefreshToken(Z.refresh_token);if(Q){if(console.error(Q),!(0,r.isAuthRetryableFetchError)(Q))this._debug("#_recoverAndRefresh()","refresh failed with a non-retryable error, removing the session",Q),await this._removeSession()}}}else if(Z.user&&Z.user.__isUserNotAvailableProxy===!0)try{let{data:Q,error:w}=await this._getUser(Z.access_token);if(!w&&(Q===null||Q===void 0?void 0:Q.user))Z.user=Q.user,await this._saveSession(Z),await this._notifyAllSubscribers("SIGNED_IN",Z);else this._debug("#_recoverAndRefresh()","could not get user data, skipping SIGNED_IN notification")}catch(Q){console.error("Error getting user data:",Q),this._debug("#_recoverAndRefresh()","error getting user data, skipping SIGNED_IN notification",Q)}else await this._notifyAllSubscribers("SIGNED_IN",Z)}catch(Z){this._debug("#_recoverAndRefresh()","error",Z),console.error(Z);return}finally{this._debug("#_recoverAndRefresh()","end")}}async _callRefreshToken(D){var X,Y;if(!D)throw new r.AuthSessionMissingError;if(this.refreshingDeferred)return this.refreshingDeferred.promise;let Z=`#_callRefreshToken(${D.substring(0,5)}...)`;this._debug(Z,"begin");try{this.refreshingDeferred=new e.Deferred;let{data:J,error:Q}=await this._refreshAccessToken(D);if(Q)throw Q;if(!J.session)throw new r.AuthSessionMissingError;await this._saveSession(J.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",J.session);let w={data:J.session,error:null};return this.refreshingDeferred.resolve(w),w}catch(J){if(this._debug(Z,"error",J),(0,r.isAuthError)(J)){let Q={data:null,error:J};if(!(0,r.isAuthRetryableFetchError)(J))await this._removeSession();return(X=this.refreshingDeferred)===null||X===void 0||X.resolve(Q),Q}throw(Y=this.refreshingDeferred)===null||Y===void 0||Y.reject(J),J}finally{this.refreshingDeferred=null,this._debug(Z,"end")}}async _notifyAllSubscribers(D,X,Y=!0){let Z=`#_notifyAllSubscribers(${D})`;this._debug(Z,"begin",X,`broadcast = ${Y}`);try{if(this.broadcastChannel&&Y)this.broadcastChannel.postMessage({event:D,session:X});let J=[],Q=Array.from(this.stateChangeEmitters.values()).map(async(w)=>{try{await w.callback(D,X)}catch(F){J.push(F)}});if(await Promise.all(Q),J.length>0){for(let w=0;w<J.length;w+=1)console.error(J[w]);throw J[0]}}finally{this._debug(Z,"end")}}async _saveSession(D){this._debug("#_saveSession()",D),this.suppressGetSessionWarning=!0,await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`);let X=Object.assign({},D),Y=X.user&&X.user.__isUserNotAvailableProxy===!0;if(this.userStorage){if(!Y&&X.user)await(0,e.setItemAsync)(this.userStorage,this.storageKey+"-user",{user:X.user});let Z=Object.assign({},X);delete Z.user;let J=(0,e.deepClone)(Z);await(0,e.setItemAsync)(this.storage,this.storageKey,J)}else{let Z=(0,e.deepClone)(X);await(0,e.setItemAsync)(this.storage,this.storageKey,Z)}}async _removeSession(){if(this._debug("#_removeSession()"),this.suppressGetSessionWarning=!1,await(0,e.removeItemAsync)(this.storage,this.storageKey),await(0,e.removeItemAsync)(this.storage,this.storageKey+"-code-verifier"),await(0,e.removeItemAsync)(this.storage,this.storageKey+"-user"),this.userStorage)await(0,e.removeItemAsync)(this.userStorage,this.storageKey+"-user");await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");let D=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{if(D&&(0,e.isBrowser)()&&(window===null||window===void 0?void 0:window.removeEventListener))window.removeEventListener("visibilitychange",D)}catch(X){console.error("removing visibilitychange callback failed",X)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");let D=setInterval(()=>this._autoRefreshTokenTick(),C1.AUTO_REFRESH_TICK_DURATION_MS);if(this.autoRefreshTicker=D,D&&typeof D==="object"&&typeof D.unref==="function")D.unref();else if(typeof Deno<"u"&&typeof Deno.unrefTimer==="function")Deno.unrefTimer(D);setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");let D=this.autoRefreshTicker;if(this.autoRefreshTicker=null,D)clearInterval(D)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{let D=Date.now();try{return await this._useSession(async(X)=>{let{data:{session:Y}}=X;if(!Y||!Y.refresh_token||!Y.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}let Z=Math.floor((Y.expires_at*1000-D)/C1.AUTO_REFRESH_TICK_DURATION_MS);if(this._debug("#_autoRefreshTokenTick()",`access token expires in ${Z} ticks, a tick lasts ${C1.AUTO_REFRESH_TICK_DURATION_MS}ms, refresh threshold is ${C1.AUTO_REFRESH_TICK_THRESHOLD} ticks`),Z<=C1.AUTO_REFRESH_TICK_THRESHOLD)await this._callRefreshToken(Y.refresh_token)})}catch(X){console.error("Auto refresh tick failed with error. This is likely a transient error.",X)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(D){if(D.isAcquireTimeout||D instanceof YH.LockAcquireTimeoutError)this._debug("auto refresh token tick lock not available");else throw D}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!(0,e.isBrowser)()||!(window===null||window===void 0?void 0:window.addEventListener)){if(this.autoRefreshToken)this.startAutoRefresh();return!1}try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),window===null||window===void 0||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(D){console.error("_handleVisibilityChange",D)}}async _onVisibilityChanged(D){let X=`#_onVisibilityChanged(${D})`;if(this._debug(X,"visibilityState",document.visibilityState),document.visibilityState==="visible"){if(this.autoRefreshToken)this._startAutoRefresh();if(!D)await this.initializePromise,await this._acquireLock(-1,async()=>{if(document.visibilityState!=="visible"){this._debug(X,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()})}else if(document.visibilityState==="hidden"){if(this.autoRefreshToken)this._stopAutoRefresh()}}async _getUrlForProvider(D,X,Y){let Z=[`provider=${encodeURIComponent(X)}`];if(Y===null||Y===void 0?void 0:Y.redirectTo)Z.push(`redirect_to=${encodeURIComponent(Y.redirectTo)}`);if(Y===null||Y===void 0?void 0:Y.scopes)Z.push(`scopes=${encodeURIComponent(Y.scopes)}`);if(this.flowType==="pkce"){let[J,Q]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey),w=new URLSearchParams({code_challenge:`${encodeURIComponent(J)}`,code_challenge_method:`${encodeURIComponent(Q)}`});Z.push(w.toString())}if(Y===null||Y===void 0?void 0:Y.queryParams){let J=new URLSearchParams(Y.queryParams);Z.push(J.toString())}if(Y===null||Y===void 0?void 0:Y.skipBrowserRedirect)Z.push(`skip_http_redirect=${Y.skipBrowserRedirect}`);return`${D}?${Z.join("&")}`}async _unenroll(D){try{return await this._useSession(async(X)=>{var Y;let{data:Z,error:J}=X;if(J)return this._returnResult({data:null,error:J});return await(0,O0._request)(this.fetch,"DELETE",`${this.url}/factors/${D.factorId}`,{headers:this.headers,jwt:(Y=Z===null||Z===void 0?void 0:Z.session)===null||Y===void 0?void 0:Y.access_token})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async _enroll(D){try{return await this._useSession(async(X)=>{var Y,Z;let{data:J,error:Q}=X;if(Q)return this._returnResult({data:null,error:Q});let w=Object.assign({friendly_name:D.friendlyName,factor_type:D.factorType},D.factorType==="phone"?{phone:D.phone}:D.factorType==="totp"?{issuer:D.issuer}:{}),{data:F,error:B}=await(0,O0._request)(this.fetch,"POST",`${this.url}/factors`,{body:w,headers:this.headers,jwt:(Y=J===null||J===void 0?void 0:J.session)===null||Y===void 0?void 0:Y.access_token});if(B)return this._returnResult({data:null,error:B});if(D.factorType==="totp"&&F.type==="totp"&&((Z=F===null||F===void 0?void 0:F.totp)===null||Z===void 0?void 0:Z.qr_code))F.totp.qr_code=`data:image/svg+xml;utf-8,${F.totp.qr_code}`;return this._returnResult({data:F,error:null})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async _verify(D){return this._acquireLock(-1,async()=>{try{return await this._useSession(async(X)=>{var Y;let{data:Z,error:J}=X;if(J)return this._returnResult({data:null,error:J});let Q=Object.assign({challenge_id:D.challengeId},"webauthn"in D?{webauthn:Object.assign(Object.assign({},D.webauthn),{credential_response:D.webauthn.type==="create"?(0,E4.serializeCredentialCreationResponse)(D.webauthn.credential_response):(0,E4.serializeCredentialRequestResponse)(D.webauthn.credential_response)})}:{code:D.code}),{data:w,error:F}=await(0,O0._request)(this.fetch,"POST",`${this.url}/factors/${D.factorId}/verify`,{body:Q,headers:this.headers,jwt:(Y=Z===null||Z===void 0?void 0:Z.session)===null||Y===void 0?void 0:Y.access_token});if(F)return this._returnResult({data:null,error:F});return await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1000)+w.expires_in},w)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",w),this._returnResult({data:w,error:F})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}})}async _challenge(D){return this._acquireLock(-1,async()=>{try{return await this._useSession(async(X)=>{var Y;let{data:Z,error:J}=X;if(J)return this._returnResult({data:null,error:J});let Q=await(0,O0._request)(this.fetch,"POST",`${this.url}/factors/${D.factorId}/challenge`,{body:D,headers:this.headers,jwt:(Y=Z===null||Z===void 0?void 0:Z.session)===null||Y===void 0?void 0:Y.access_token});if(Q.error)return Q;let{data:w}=Q;if(w.type!=="webauthn")return{data:w,error:null};switch(w.webauthn.type){case"create":return{data:Object.assign(Object.assign({},w),{webauthn:Object.assign(Object.assign({},w.webauthn),{credential_options:Object.assign(Object.assign({},w.webauthn.credential_options),{publicKey:(0,E4.deserializeCredentialCreationOptions)(w.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},w),{webauthn:Object.assign(Object.assign({},w.webauthn),{credential_options:Object.assign(Object.assign({},w.webauthn.credential_options),{publicKey:(0,E4.deserializeCredentialRequestOptions)(w.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}})}async _challengeAndVerify(D){let{data:X,error:Y}=await this._challenge({factorId:D.factorId});if(Y)return this._returnResult({data:null,error:Y});return await this._verify({factorId:D.factorId,challengeId:X.id,code:D.code})}async _listFactors(){var D;let{data:{user:X},error:Y}=await this.getUser();if(Y)return{data:null,error:Y};let Z={all:[],phone:[],totp:[],webauthn:[]};for(let J of(D=X===null||X===void 0?void 0:X.factors)!==null&&D!==void 0?D:[])if(Z.all.push(J),J.status==="verified")Z[J.factor_type].push(J);return{data:Z,error:null}}async _getAuthenticatorAssuranceLevel(){var D,X;let{data:{session:Y},error:Z}=await this.getSession();if(Z)return this._returnResult({data:null,error:Z});if(!Y)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};let{payload:J}=(0,e.decodeJWT)(Y.access_token),Q=null;if(J.aal)Q=J.aal;let w=Q;if(((X=(D=Y.user.factors)===null||D===void 0?void 0:D.filter((q)=>q.status==="verified"))!==null&&X!==void 0?X:[]).length>0)w="aal2";let B=J.amr||[];return{data:{currentLevel:Q,nextLevel:w,currentAuthenticationMethods:B},error:null}}async _getAuthorizationDetails(D){try{return await this._useSession(async(X)=>{let{data:{session:Y},error:Z}=X;if(Z)return this._returnResult({data:null,error:Z});if(!Y)return this._returnResult({data:null,error:new r.AuthSessionMissingError});return await(0,O0._request)(this.fetch,"GET",`${this.url}/oauth/authorizations/${D}`,{headers:this.headers,jwt:Y.access_token,xform:(J)=>({data:J,error:null})})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async _approveAuthorization(D,X){try{return await this._useSession(async(Y)=>{let{data:{session:Z},error:J}=Y;if(J)return this._returnResult({data:null,error:J});if(!Z)return this._returnResult({data:null,error:new r.AuthSessionMissingError});let Q=await(0,O0._request)(this.fetch,"POST",`${this.url}/oauth/authorizations/${D}/consent`,{headers:this.headers,jwt:Z.access_token,body:{action:"approve"},xform:(w)=>({data:w,error:null})});if(Q.data&&Q.data.redirect_url){if((0,e.isBrowser)()&&!(X===null||X===void 0?void 0:X.skipBrowserRedirect))window.location.assign(Q.data.redirect_url)}return Q})}catch(Y){if((0,r.isAuthError)(Y))return this._returnResult({data:null,error:Y});throw Y}}async _denyAuthorization(D,X){try{return await this._useSession(async(Y)=>{let{data:{session:Z},error:J}=Y;if(J)return this._returnResult({data:null,error:J});if(!Z)return this._returnResult({data:null,error:new r.AuthSessionMissingError});let Q=await(0,O0._request)(this.fetch,"POST",`${this.url}/oauth/authorizations/${D}/consent`,{headers:this.headers,jwt:Z.access_token,body:{action:"deny"},xform:(w)=>({data:w,error:null})});if(Q.data&&Q.data.redirect_url){if((0,e.isBrowser)()&&!(X===null||X===void 0?void 0:X.skipBrowserRedirect))window.location.assign(Q.data.redirect_url)}return Q})}catch(Y){if((0,r.isAuthError)(Y))return this._returnResult({data:null,error:Y});throw Y}}async _listOAuthGrants(){try{return await this._useSession(async(D)=>{let{data:{session:X},error:Y}=D;if(Y)return this._returnResult({data:null,error:Y});if(!X)return this._returnResult({data:null,error:new r.AuthSessionMissingError});return await(0,O0._request)(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:X.access_token,xform:(Z)=>({data:Z,error:null})})})}catch(D){if((0,r.isAuthError)(D))return this._returnResult({data:null,error:D});throw D}}async _revokeOAuthGrant(D){try{return await this._useSession(async(X)=>{let{data:{session:Y},error:Z}=X;if(Z)return this._returnResult({data:null,error:Z});if(!Y)return this._returnResult({data:null,error:new r.AuthSessionMissingError});return await(0,O0._request)(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:Y.access_token,query:{client_id:D.clientId},noResolveJson:!0}),{data:{},error:null}})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async fetchJwk(D,X={keys:[]}){let Y=X.keys.find((w)=>w.kid===D);if(Y)return Y;let Z=Date.now();if(Y=this.jwks.keys.find((w)=>w.kid===D),Y&&this.jwks_cached_at+C1.JWKS_TTL>Z)return Y;let{data:J,error:Q}=await(0,O0._request)(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(Q)throw Q;if(!J.keys||J.keys.length===0)return null;if(this.jwks=J,this.jwks_cached_at=Z,Y=J.keys.find((w)=>w.kid===D),!Y)return null;return Y}async getClaims(D,X={}){try{let Y=D;if(!Y){let{data:W,error:O}=await this.getSession();if(O||!W.session)return this._returnResult({data:null,error:O});Y=W.session.access_token}let{header:Z,payload:J,signature:Q,raw:{header:w,payload:F}}=(0,e.decodeJWT)(Y);if(!(X===null||X===void 0?void 0:X.allowExpired))(0,e.validateExp)(J.exp);let B=!Z.alg||Z.alg.startsWith("HS")||!Z.kid||!(("crypto"in globalThis)&&("subtle"in globalThis.crypto))?null:await this.fetchJwk(Z.kid,(X===null||X===void 0?void 0:X.keys)?{keys:X.keys}:X===null||X===void 0?void 0:X.jwks);if(!B){let{error:W}=await this.getUser(Y);if(W)throw W;return{data:{claims:J,header:Z,signature:Q},error:null}}let q=(0,e.getAlgorithm)(Z.alg),$=await crypto.subtle.importKey("jwk",B,q,!0,["verify"]);if(!await crypto.subtle.verify(q,$,Q,(0,ZH.stringToUint8Array)(`${w}.${F}`)))throw new r.AuthInvalidJwtError("Invalid JWT signature");return{data:{claims:J,header:Z,signature:Q},error:null}}catch(Y){if((0,r.isAuthError)(Y))return this._returnResult({data:null,error:Y});throw Y}}}C4.nextInstanceID={};ww.default=C4});var QH=T((Bw)=>{Object.defineProperty(Bw,"__esModule",{value:!0});var Fg=h0(),Bg=Fg.__importDefault(DY()),qg=Bg.default;Bw.default=qg});var wH=T((qw)=>{Object.defineProperty(qw,"__esModule",{value:!0});var $g=h0(),Gg=$g.__importDefault(Fw()),Og=Gg.default;qw.default=Og});var $w=T((yD)=>{Object.defineProperty(yD,"__esModule",{value:!0});yD.processLock=yD.lockInternals=yD.NavigatorLockAcquireTimeoutError=yD.navigatorLock=yD.AuthClient=yD.AuthAdminApi=yD.GoTrueClient=yD.GoTrueAdminApi=void 0;var f5=h0(),Wg=f5.__importDefault(DY());yD.GoTrueAdminApi=Wg.default;var Hg=f5.__importDefault(Fw());yD.GoTrueClient=Hg.default;var Kg=f5.__importDefault(QH());yD.AuthAdminApi=Kg.default;var zg=f5.__importDefault(wH());yD.AuthClient=zg.default;f5.__exportStar(rQ(),yD);f5.__exportStar(G9(),yD);var JY=Yw();Object.defineProperty(yD,"navigatorLock",{enumerable:!0,get:function(){return JY.navigatorLock}});Object.defineProperty(yD,"NavigatorLockAcquireTimeoutError",{enumerable:!0,get:function(){return JY.NavigatorLockAcquireTimeoutError}});Object.defineProperty(yD,"lockInternals",{enumerable:!0,get:function(){return JY.internals}});Object.defineProperty(yD,"processLock",{enumerable:!0,get:function(){return JY.processLock}})});var Ow=T((cJ0,GH)=>{GH.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var QY=T((WH)=>{var OH={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function kg(D){return function(...X){if(X.length)D=D.replace(/\{(\d)\}/g,(Y,Z)=>X[Z]||"");return Error("ADM-ZIP: "+D)}}for(let D of Object.keys(OH))WH[D]=kg(OH[D])});var LH=T((nJ0,MH)=>{var ug=require("fs"),uD=require("path"),HH=Ow(),hg=QY(),_g=typeof process==="object"&&process.platform==="win32",KH=(D)=>typeof D==="object"&&D!==null,zH=new Uint32Array(256).map((D,X)=>{for(let Y=0;Y<8;Y++)if((X&1)!==0)X=3988292384^X>>>1;else X>>>=1;return X>>>0});function ND(D){if(this.sep=uD.sep,this.fs=ug,KH(D)){if(KH(D.fs)&&typeof D.fs.statSync==="function")this.fs=D.fs}}MH.exports=ND;ND.prototype.makeDir=function(D){let X=this;function Y(Z){let J=Z.split(X.sep)[0];Z.split(X.sep).forEach(function(Q){if(!Q||Q.substr(-1,1)===":")return;J+=X.sep+Q;var w;try{w=X.fs.statSync(J)}catch(F){X.fs.mkdirSync(J)}if(w&&w.isFile())throw hg.FILE_IN_THE_WAY(`"${J}"`)})}Y(D)};ND.prototype.writeFileTo=function(D,X,Y,Z){let J=this;if(J.fs.existsSync(D)){if(!Y)return!1;var Q=J.fs.statSync(D);if(Q.isDirectory())return!1}var w=uD.dirname(D);if(!J.fs.existsSync(w))J.makeDir(w);var F;try{F=J.fs.openSync(D,"w",438)}catch(B){J.fs.chmodSync(D,438),F=J.fs.openSync(D,"w",438)}if(F)try{J.fs.writeSync(F,X,0,X.length,0)}finally{J.fs.closeSync(F)}return J.fs.chmodSync(D,Z||438),!0};ND.prototype.writeFileToAsync=function(D,X,Y,Z,J){if(typeof Z==="function")J=Z,Z=void 0;let Q=this;Q.fs.exists(D,function(w){if(w&&!Y)return J(!1);Q.fs.stat(D,function(F,B){if(w&&B.isDirectory())return J(!1);var q=uD.dirname(D);Q.fs.exists(q,function($){if(!$)Q.makeDir(q);Q.fs.open(D,"w",438,function(G,W){if(G)Q.fs.chmod(D,438,function(){Q.fs.open(D,"w",438,function(O,H){Q.fs.write(H,X,0,X.length,0,function(){Q.fs.close(H,function(){Q.fs.chmod(D,Z||438,function(){J(!0)})})})})});else if(W)Q.fs.write(W,X,0,X.length,0,function(){Q.fs.close(W,function(){Q.fs.chmod(D,Z||438,function(){J(!0)})})});else Q.fs.chmod(D,Z||438,function(){J(!0)})})})})})};ND.prototype.findFiles=function(D){let X=this;function Y(Z,J,Q){if(typeof J==="boolean")Q=J,J=void 0;let w=[];return X.fs.readdirSync(Z).forEach(function(F){let B=uD.join(Z,F),q=X.fs.statSync(B);if(!J||J.test(B))w.push(uD.normalize(B)+(q.isDirectory()?X.sep:""));if(q.isDirectory()&&Q)w=w.concat(Y(B,J,Q))}),w}return Y(D,void 0,!0)};ND.prototype.findFilesAsync=function(D,X){let Y=this,Z=[];Y.fs.readdir(D,function(J,Q){if(J)return X(J);let w=Q.length;if(!w)return X(null,Z);Q.forEach(function(F){F=uD.join(D,F),Y.fs.stat(F,function(B,q){if(B)return X(B);if(q){if(Z.push(uD.normalize(F)+(q.isDirectory()?Y.sep:"")),q.isDirectory())Y.findFilesAsync(F,function($,G){if($)return X($);if(Z=Z.concat(G),!--w)X(null,Z)});else if(!--w)X(null,Z)}})})})};ND.prototype.getAttributes=function(){};ND.prototype.setAttributes=function(){};ND.crc32update=function(D,X){return zH[(D^X)&255]^D>>>8};ND.crc32=function(D){if(typeof D==="string")D=Buffer.from(D,"utf8");let X=D.length,Y=-1;for(let Z=0;Z<X;)Y=ND.crc32update(Y,D[Z++]);return~Y>>>0};ND.methodToString=function(D){switch(D){case HH.STORED:return"STORED ("+D+")";case HH.DEFLATED:return"DEFLATED ("+D+")";default:return"UNSUPPORTED ("+D+")"}};ND.canonical=function(D){if(!D)return"";let X=uD.posix.normalize("/"+D.split("\\").join("/"));return uD.join(".",X)};ND.zipnamefix=function(D){if(!D)return"";let X=uD.posix.normalize("/"+D.split("\\").join("/"));return uD.posix.join(".",X)};ND.findLast=function(D,X){if(!Array.isArray(D))throw TypeError("arr is not array");let Y=D.length>>>0;for(let Z=Y-1;Z>=0;Z--)if(X(D[Z],Z,D))return D[Z];return};ND.sanitize=function(D,X){D=uD.resolve(uD.normalize(D));var Y=X.split("/");for(var Z=0,J=Y.length;Z<J;Z++){var Q=uD.normalize(uD.join(D,Y.slice(Z,J).join(uD.sep)));if(Q.indexOf(D)===0)return Q}return uD.normalize(uD.join(D,uD.basename(X)))};ND.toBuffer=function(X,Y){if(Buffer.isBuffer(X))return X;else if(X instanceof Uint8Array)return Buffer.from(X);else return typeof X==="string"?Y(X):Buffer.alloc(0)};ND.readBigUInt64LE=function(D,X){var Y=Buffer.from(D.slice(X,X+8));return Y.swap64(),parseInt(`0x${Y.toString("hex")}`)};ND.fromDOS2Date=function(D){return new Date((D>>25&127)+1980,Math.max((D>>21&15)-1,0),Math.max(D>>16&31,1),D>>11&31,D>>5&63,(D&31)<<1)};ND.fromDate2DOS=function(D){let X=0,Y=0;if(D.getFullYear()>1979)X=(D.getFullYear()-1980&127)<<9|D.getMonth()+1<<5|D.getDate(),Y=D.getHours()<<11|D.getMinutes()<<5|D.getSeconds()>>1;return X<<16|Y};ND.isWin=_g;ND.crcTable=zH});var UH=T((iJ0,VH)=>{var vg=require("path");VH.exports=function(D,{fs:X}){var Y=D||"",Z=Q(),J=null;function Q(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}if(Y&&X.existsSync(Y))J=X.statSync(Y),Z.directory=J.isDirectory(),Z.mtime=J.mtime,Z.atime=J.atime,Z.executable=(73&J.mode)!==0,Z.readonly=(128&J.mode)===0,Z.hidden=vg.basename(Y)[0]===".";else console.warn("Invalid path: "+Y);return{get directory(){return Z.directory},get readOnly(){return Z.readonly},get hidden(){return Z.hidden},get mtime(){return Z.mtime},get atime(){return Z.atime},get executable(){return Z.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:Y,isDirectory:Z.directory,isReadOnly:Z.readonly,isHidden:Z.hidden,isExecutable:Z.executable,mTime:Z.mtime,aTime:Z.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var RH=T((pJ0,NH)=>{NH.exports={efs:!0,encode:(D)=>Buffer.from(D,"utf8"),decode:(D)=>D.toString("utf8")}});var k5=T((aJ0,y5)=>{y5.exports=LH();y5.exports.Constants=Ow();y5.exports.Errors=QY();y5.exports.FileAttr=UH();y5.exports.decoder=RH()});var EH=T((tJ0,AH)=>{var T6=k5(),s=T6.Constants;AH.exports=function(){var D=20,X=10,Y=0,Z=0,J=0,Q=0,w=0,F=0,B=0,q=0,$=0,G=0,W=0,O=0,H=0;D|=T6.isWin?2560:768,Y|=s.FLG_EFS;let M={extraLen:0},U=(z)=>Math.max(0,z)>>>0,N=(z)=>Math.max(0,z)&65535,R=(z)=>Math.max(0,z)&255;return J=T6.fromDate2DOS(new Date),{get made(){return D},set made(z){D=z},get version(){return X},set version(z){X=z},get flags(){return Y},set flags(z){Y=z},get flags_efs(){return(Y&s.FLG_EFS)>0},set flags_efs(z){if(z)Y|=s.FLG_EFS;else Y&=~s.FLG_EFS},get flags_desc(){return(Y&s.FLG_DESC)>0},set flags_desc(z){if(z)Y|=s.FLG_DESC;else Y&=~s.FLG_DESC},get method(){return Z},set method(z){switch(z){case s.STORED:this.version=10;case s.DEFLATED:default:this.version=20}Z=z},get time(){return T6.fromDOS2Date(this.timeval)},set time(z){this.timeval=T6.fromDate2DOS(z)},get timeval(){return J},set timeval(z){J=U(z)},get timeHighByte(){return R(J>>>8)},get crc(){return Q},set crc(z){Q=U(z)},get compressedSize(){return w},set compressedSize(z){w=U(z)},get size(){return F},set size(z){F=U(z)},get fileNameLength(){return B},set fileNameLength(z){B=z},get extraLength(){return q},set extraLength(z){q=z},get extraLocalLength(){return M.extraLen},set extraLocalLength(z){M.extraLen=z},get commentLength(){return $},set commentLength(z){$=z},get diskNumStart(){return G},set diskNumStart(z){G=U(z)},get inAttr(){return W},set inAttr(z){W=U(z)},get attr(){return O},set attr(z){O=U(z)},get fileAttr(){return(O||0)>>16&4095},get offset(){return H},set offset(z){H=U(z)},get encrypted(){return(Y&s.FLG_ENC)===s.FLG_ENC},get centralHeaderSize(){return s.CENHDR+B+q+$},get realDataOffset(){return H+s.LOCHDR+M.fnameLen+M.extraLen},get localHeader(){return M},loadLocalHeaderFromBinary:function(z){var V=z.slice(H,H+s.LOCHDR);if(V.readUInt32LE(0)!==s.LOCSIG)throw T6.Errors.INVALID_LOC();M.version=V.readUInt16LE(s.LOCVER),M.flags=V.readUInt16LE(s.LOCFLG),M.method=V.readUInt16LE(s.LOCHOW),M.time=V.readUInt32LE(s.LOCTIM),M.crc=V.readUInt32LE(s.LOCCRC),M.compressedSize=V.readUInt32LE(s.LOCSIZ),M.size=V.readUInt32LE(s.LOCLEN),M.fnameLen=V.readUInt16LE(s.LOCNAM),M.extraLen=V.readUInt16LE(s.LOCEXT);let L=H+s.LOCHDR+M.fnameLen,C=L+M.extraLen;return z.slice(L,C)},loadFromBinary:function(z){if(z.length!==s.CENHDR||z.readUInt32LE(0)!==s.CENSIG)throw T6.Errors.INVALID_CEN();D=z.readUInt16LE(s.CENVEM),X=z.readUInt16LE(s.CENVER),Y=z.readUInt16LE(s.CENFLG),Z=z.readUInt16LE(s.CENHOW),J=z.readUInt32LE(s.CENTIM),Q=z.readUInt32LE(s.CENCRC),w=z.readUInt32LE(s.CENSIZ),F=z.readUInt32LE(s.CENLEN),B=z.readUInt16LE(s.CENNAM),q=z.readUInt16LE(s.CENEXT),$=z.readUInt16LE(s.CENCOM),G=z.readUInt16LE(s.CENDSK),W=z.readUInt16LE(s.CENATT),O=z.readUInt32LE(s.CENATX),H=z.readUInt32LE(s.CENOFF)},localHeaderToBinary:function(){var z=Buffer.alloc(s.LOCHDR);return z.writeUInt32LE(s.LOCSIG,0),z.writeUInt16LE(X,s.LOCVER),z.writeUInt16LE(Y,s.LOCFLG),z.writeUInt16LE(Z,s.LOCHOW),z.writeUInt32LE(J,s.LOCTIM),z.writeUInt32LE(Q,s.LOCCRC),z.writeUInt32LE(w,s.LOCSIZ),z.writeUInt32LE(F,s.LOCLEN),z.writeUInt16LE(B,s.LOCNAM),z.writeUInt16LE(M.extraLen,s.LOCEXT),z},centralHeaderToBinary:function(){var z=Buffer.alloc(s.CENHDR+B+q+$);return z.writeUInt32LE(s.CENSIG,0),z.writeUInt16LE(D,s.CENVEM),z.writeUInt16LE(X,s.CENVER),z.writeUInt16LE(Y,s.CENFLG),z.writeUInt16LE(Z,s.CENHOW),z.writeUInt32LE(J,s.CENTIM),z.writeUInt32LE(Q,s.CENCRC),z.writeUInt32LE(w,s.CENSIZ),z.writeUInt32LE(F,s.CENLEN),z.writeUInt16LE(B,s.CENNAM),z.writeUInt16LE(q,s.CENEXT),z.writeUInt16LE($,s.CENCOM),z.writeUInt16LE(G,s.CENDSK),z.writeUInt16LE(W,s.CENATT),z.writeUInt32LE(O,s.CENATX),z.writeUInt32LE(H,s.CENOFF),z},toJSON:function(){let z=function(V){return V+" bytes"};return{made:D,version:X,flags:Y,method:T6.methodToString(Z),time:this.time,crc:"0x"+Q.toString(16).toUpperCase(),compressedSize:z(w),size:z(F),fileNameLength:z(B),extraLength:z(q),commentLength:z($),diskNumStart:G,inAttr:W,attr:O,offset:H,centralHeaderSize:z(s.CENHDR+B+q+$)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var jH=T((rJ0,CH)=>{var u5=k5(),OD=u5.Constants;CH.exports=function(){var D=0,X=0,Y=0,Z=0,J=0;return{get diskEntries(){return D},set diskEntries(Q){D=X=Q},get totalEntries(){return X},set totalEntries(Q){X=D=Q},get size(){return Y},set size(Q){Y=Q},get offset(){return Z},set offset(Q){Z=Q},get commentLength(){return J},set commentLength(Q){J=Q},get mainHeaderSize(){return OD.ENDHDR+J},loadFromBinary:function(Q){if((Q.length!==OD.ENDHDR||Q.readUInt32LE(0)!==OD.ENDSIG)&&(Q.length<OD.ZIP64HDR||Q.readUInt32LE(0)!==OD.ZIP64SIG))throw u5.Errors.INVALID_END();if(Q.readUInt32LE(0)===OD.ENDSIG)D=Q.readUInt16LE(OD.ENDSUB),X=Q.readUInt16LE(OD.ENDTOT),Y=Q.readUInt32LE(OD.ENDSIZ),Z=Q.readUInt32LE(OD.ENDOFF),J=Q.readUInt16LE(OD.ENDCOM);else D=u5.readBigUInt64LE(Q,OD.ZIP64SUB),X=u5.readBigUInt64LE(Q,OD.ZIP64TOT),Y=u5.readBigUInt64LE(Q,OD.ZIP64SIZE),Z=u5.readBigUInt64LE(Q,OD.ZIP64OFF),J=0},toBinary:function(){var Q=Buffer.alloc(OD.ENDHDR+J);return Q.writeUInt32LE(OD.ENDSIG,0),Q.writeUInt32LE(0,4),Q.writeUInt16LE(D,OD.ENDSUB),Q.writeUInt16LE(X,OD.ENDTOT),Q.writeUInt32LE(Y,OD.ENDSIZ),Q.writeUInt32LE(Z,OD.ENDOFF),Q.writeUInt16LE(J,OD.ENDCOM),Q.fill(" ",OD.ENDHDR),Q},toJSON:function(){let Q=function(w,F){let B=w.toString(16).toUpperCase();while(B.length<F)B="0"+B;return"0x"+B};return{diskEntries:D,totalEntries:X,size:Y+" bytes",offset:Q(Z,4),commentLength:J}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var Hw=T((Ww)=>{Ww.EntryHeader=EH();Ww.MainHeader=jH()});var IH=T((oJ0,TH)=>{TH.exports=function(D){var X=require("zlib"),Y={chunkSize:(parseInt(D.length/1024)+1)*1024};return{deflate:function(){return X.deflateRawSync(D,Y)},deflateAsync:function(Z){var J=X.createDeflateRaw(Y),Q=[],w=0;J.on("data",function(F){Q.push(F),w+=F.length}),J.on("end",function(){var F=Buffer.alloc(w),B=0;F.fill(0);for(var q=0;q<Q.length;q++){var $=Q[q];$.copy(F,B),B+=$.length}Z&&Z(F)}),J.end(D)}}}});var SH=T((eJ0,PH)=>{var bg=+(process.versions?process.versions.node:"").split(".")[0]||0;PH.exports=function(D,X){var Y=require("zlib");let Z=bg>=15&&X>0?{maxOutputLength:X}:{};return{inflate:function(){return Y.inflateRawSync(D,Z)},inflateAsync:function(J){var Q=Y.createInflateRaw(Z),w=[],F=0;Q.on("data",function(B){w.push(B),F+=B.length}),Q.on("end",function(){var B=Buffer.alloc(F),q=0;B.fill(0);for(var $=0;$<w.length;$++){var G=w[$];G.copy(B,q),q+=G.length}J&&J(B)}),Q.end(D)}}}});var uH=T((DQ0,kH)=>{var{randomFillSync:xH}=require("crypto"),gg=QY(),mg=new Uint32Array(256).map((D,X)=>{for(let Y=0;Y<8;Y++)if((X&1)!==0)X=X>>>1^3988292384;else X>>>=1;return X>>>0}),yH=(D,X)=>Math.imul(D,X)>>>0,fH=(D,X)=>{return mg[(D^X)&255]^D>>>8},I4=()=>{if(typeof xH==="function")return xH(Buffer.alloc(12));else return I4.node()};I4.node=()=>{let D=Buffer.alloc(12),X=D.length;for(let Y=0;Y<X;Y++)D[Y]=Math.random()*256&255;return D};var wY={genSalt:I4};function FY(D){let X=Buffer.isBuffer(D)?D:Buffer.from(D);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let Y=0;Y<X.length;Y++)this.updateKeys(X[Y])}FY.prototype.updateKeys=function(D){let X=this.keys;return X[0]=fH(X[0],D),X[1]+=X[0]&255,X[1]=yH(X[1],134775813)+1,X[2]=fH(X[2],X[1]>>>24),D};FY.prototype.next=function(){let D=(this.keys[2]|2)>>>0;return yH(D,D^1)>>8&255};function dg(D){let X=new FY(D);return function(Y){let Z=Buffer.alloc(Y.length),J=0;for(let Q of Y)Z[J++]=X.updateKeys(Q^X.next());return Z}}function cg(D){let X=new FY(D);return function(Y,Z,J=0){if(!Z)Z=Buffer.alloc(Y.length);for(let Q of Y){let w=X.next();Z[J++]=Q^w,X.updateKeys(Q)}return Z}}function lg(D,X,Y){if(!D||!Buffer.isBuffer(D)||D.length<12)return Buffer.alloc(0);let Z=dg(Y),J=Z(D.slice(0,12)),Q=(X.flags&8)===8?X.timeHighByte:X.crc>>>24;if(J[11]!==Q)throw gg.WRONG_PASSWORD();return Z(D.slice(12))}function ng(D){if(Buffer.isBuffer(D)&&D.length>=12)wY.genSalt=function(){return D.slice(0,12)};else if(D==="node")wY.genSalt=I4.node;else wY.genSalt=I4}function ig(D,X,Y,Z=!1){if(D==null)D=Buffer.alloc(0);if(!Buffer.isBuffer(D))D=Buffer.from(D.toString());let J=cg(Y),Q=wY.genSalt();if(Q[11]=X.crc>>>24&255,Z)Q[10]=X.crc>>>16&255;let w=Buffer.alloc(D.length+12);return J(Q,w),J(D,w,12)}kH.exports={decrypt:lg,encrypt:ig,_salter:ng}});var hH=T((BY)=>{BY.Deflater=IH();BY.Inflater=SH();BY.ZipCrypto=uH()});var zw=T((YQ0,_H)=>{var v0=k5(),pg=Hw(),RD=v0.Constants,Kw=hH();_H.exports=function(D,X){var Y=new pg.EntryHeader,Z=Buffer.alloc(0),J=Buffer.alloc(0),Q=!1,w=null,F=Buffer.alloc(0),B=Buffer.alloc(0),q=!0;let $=D,G=typeof $.decoder==="object"?$.decoder:v0.decoder;q=G.hasOwnProperty("efs")?G.efs:!1;function W(){if(!X||!(X instanceof Uint8Array))return Buffer.alloc(0);return B=Y.loadLocalHeaderFromBinary(X),X.slice(Y.realDataOffset,Y.realDataOffset+Y.compressedSize)}function O(z){if(!Y.flags_desc){if(v0.crc32(z)!==Y.localHeader.crc)return!1}else{let V={},L=Y.realDataOffset+Y.compressedSize;if(X.readUInt32LE(L)==RD.LOCSIG||X.readUInt32LE(L)==RD.CENSIG)throw v0.Errors.DESCRIPTOR_NOT_EXIST();if(X.readUInt32LE(L)==RD.EXTSIG)V.crc=X.readUInt32LE(L+RD.EXTCRC),V.compressedSize=X.readUInt32LE(L+RD.EXTSIZ),V.size=X.readUInt32LE(L+RD.EXTLEN);else if(X.readUInt16LE(L+12)===19280)V.crc=X.readUInt32LE(L+RD.EXTCRC-4),V.compressedSize=X.readUInt32LE(L+RD.EXTSIZ-4),V.size=X.readUInt32LE(L+RD.EXTLEN-4);else throw v0.Errors.DESCRIPTOR_UNKNOWN();if(V.compressedSize!==Y.compressedSize||V.size!==Y.size||V.crc!==Y.crc)throw v0.Errors.DESCRIPTOR_FAULTY();if(v0.crc32(z)!==V.crc)return!1}return!0}function H(z,V,L){if(typeof V>"u"&&typeof z==="string")L=z,z=void 0;if(Q){if(z&&V)V(Buffer.alloc(0),v0.Errors.DIRECTORY_CONTENT_ERROR());return Buffer.alloc(0)}var C=W();if(C.length===0){if(z&&V)V(C);return C}if(Y.encrypted){if(typeof L!=="string"&&!Buffer.isBuffer(L))throw v0.Errors.INVALID_PASS_PARAM();C=Kw.ZipCrypto.decrypt(C,Y,L)}var y=Buffer.alloc(Y.size);switch(Y.method){case v0.Constants.STORED:if(C.copy(y),!O(y)){if(z&&V)V(y,v0.Errors.BAD_CRC());throw v0.Errors.BAD_CRC()}else{if(z&&V)V(y);return y}case v0.Constants.DEFLATED:var A=new Kw.Inflater(C,Y.size);if(!z){if(A.inflate(y).copy(y,0),!O(y))throw v0.Errors.BAD_CRC(`"${G.decode(Z)}"`);return y}else A.inflateAsync(function(k){if(k.copy(k,0),V)if(!O(k))V(k,v0.Errors.BAD_CRC());else V(k)});break;default:if(z&&V)V(Buffer.alloc(0),v0.Errors.UNKNOWN_METHOD());throw v0.Errors.UNKNOWN_METHOD()}}function M(z,V){if((!w||!w.length)&&Buffer.isBuffer(X)){if(z&&V)V(W());return W()}if(w.length&&!Q){var L;switch(Y.method){case v0.Constants.STORED:if(Y.compressedSize=Y.size,L=Buffer.alloc(w.length),w.copy(L),z&&V)V(L);return L;default:case v0.Constants.DEFLATED:var C=new Kw.Deflater(w);if(!z){var y=C.deflate();return Y.compressedSize=y.length,y}else C.deflateAsync(function(A){L=Buffer.alloc(A.length),Y.compressedSize=A.length,A.copy(L),V&&V(L)});C=null;break}}else if(z&&V)V(Buffer.alloc(0));else return Buffer.alloc(0)}function U(z,V){return(z.readUInt32LE(V+4)<<4)+z.readUInt32LE(V)}function N(z){try{var V=0,L,C,y;while(V+4<z.length)if(L=z.readUInt16LE(V),V+=2,C=z.readUInt16LE(V),V+=2,y=z.slice(V,V+C),V+=C,RD.ID_ZIP64===L)R(y)}catch(A){throw v0.Errors.EXTRA_FIELD_PARSE_ERROR()}}function R(z){var V,L,C,y;if(z.length>=RD.EF_ZIP64_SCOMP){if(V=U(z,RD.EF_ZIP64_SUNCOMP),Y.size===RD.EF_ZIP64_OR_32)Y.size=V}if(z.length>=RD.EF_ZIP64_RHO){if(L=U(z,RD.EF_ZIP64_SCOMP),Y.compressedSize===RD.EF_ZIP64_OR_32)Y.compressedSize=L}if(z.length>=RD.EF_ZIP64_DSN){if(C=U(z,RD.EF_ZIP64_RHO),Y.offset===RD.EF_ZIP64_OR_32)Y.offset=C}if(z.length>=RD.EF_ZIP64_DSN+4){if(y=z.readUInt32LE(RD.EF_ZIP64_DSN),Y.diskNumStart===RD.EF_ZIP64_OR_16)Y.diskNumStart=y}}return{get entryName(){return G.decode(Z)},get rawEntryName(){return Z},set entryName(z){Z=v0.toBuffer(z,G.encode);var V=Z[Z.length-1];Q=V===47||V===92,Y.fileNameLength=Z.length},get efs(){if(typeof q==="function")return q(this.entryName);else return q},get extra(){return F},set extra(z){F=z,Y.extraLength=z.length,N(z)},get comment(){return G.decode(J)},set comment(z){if(J=v0.toBuffer(z,G.encode),Y.commentLength=J.length,J.length>65535)throw v0.Errors.COMMENT_TOO_LONG()},get name(){var z=G.decode(Z);return Q?z.substr(z.length-1).split("/").pop():z.split("/").pop()},get isDirectory(){return Q},getCompressedData:function(){return M(!1,null)},getCompressedDataAsync:function(z){M(!0,z)},setData:function(z){if(w=v0.toBuffer(z,v0.decoder.encode),!Q&&w.length)Y.size=w.length,Y.method=v0.Constants.DEFLATED,Y.crc=v0.crc32(z),Y.changed=!0;else Y.method=v0.Constants.STORED},getData:function(z){if(Y.changed)return w;else return H(!1,null,z)},getDataAsync:function(z,V){if(Y.changed)z(w);else H(!0,z,V)},set attr(z){Y.attr=z},get attr(){return Y.attr},set header(z){Y.loadFromBinary(z)},get header(){return Y},packCentralHeader:function(){Y.flags_efs=this.efs,Y.extraLength=F.length;var z=Y.centralHeaderToBinary(),V=v0.Constants.CENHDR;return Z.copy(z,V),V+=Z.length,F.copy(z,V),V+=Y.extraLength,J.copy(z,V),z},packLocalHeader:function(){let z=0;Y.flags_efs=this.efs,Y.extraLocalLength=B.length;let V=Y.localHeaderToBinary(),L=Buffer.alloc(V.length+Z.length+Y.extraLocalLength);return V.copy(L,z),z+=V.length,Z.copy(L,z),z+=Z.length,B.copy(L,z),z+=B.length,L},toJSON:function(){let z=function(V){return"<"+(V&&V.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:Y.toJSON(),compressedData:z(X),data:z(w)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var gH=T((ZQ0,bH)=>{var vH=zw(),ag=Hw(),nD=k5();bH.exports=function(D,X){var Y=[],Z={},J=Buffer.alloc(0),Q=new ag.MainHeader,w=!1,F=null;let B=new Set,q=X,{noSort:$,decoder:G}=q;if(D)H(q.readEntries);else w=!0;function W(){let U=new Set;for(let N of Object.keys(Z)){let R=N.split("/");if(R.pop(),!R.length)continue;for(let z=0;z<R.length;z++){let V=R.slice(0,z+1).join("/")+"/";U.add(V)}}for(let N of U)if(!(N in Z)){let R=new vH(q);R.entryName=N,R.attr=16,R.temporary=!0,Y.push(R),Z[R.entryName]=R,B.add(R)}}function O(){if(w=!0,Z={},Q.diskEntries>(D.length-Q.offset)/nD.Constants.CENHDR)throw nD.Errors.DISK_ENTRY_TOO_LARGE();Y=Array(Q.diskEntries);var U=Q.offset;for(var N=0;N<Y.length;N++){var R=U,z=new vH(q,D);if(z.header=D.slice(R,R+=nD.Constants.CENHDR),z.entryName=D.slice(R,R+=z.header.fileNameLength),z.header.extraLength)z.extra=D.slice(R,R+=z.header.extraLength);if(z.header.commentLength)z.comment=D.slice(R,R+z.header.commentLength);U+=z.header.centralHeaderSize,Y[N]=z,Z[z.entryName]=z}B.clear(),W()}function H(U){var N=D.length-nD.Constants.ENDHDR,R=Math.max(0,N-65535),z=R,V=D.length,L=-1,C=0;if(typeof q.trailingSpace==="boolean"?q.trailingSpace:!1)R=0;for(N;N>=z;N--){if(D[N]!==80)continue;if(D.readUInt32LE(N)===nD.Constants.ENDSIG){L=N,C=N,V=N+nD.Constants.ENDHDR,z=N-nD.Constants.END64HDR;continue}if(D.readUInt32LE(N)===nD.Constants.END64SIG){z=R;continue}if(D.readUInt32LE(N)===nD.Constants.ZIP64SIG){L=N,V=N+nD.readBigUInt64LE(D,N+nD.Constants.ZIP64SIZE)+nD.Constants.ZIP64LEAD;break}}if(L==-1)throw nD.Errors.INVALID_FORMAT();if(Q.loadFromBinary(D.slice(L,V)),Q.commentLength)J=D.slice(C+nD.Constants.ENDHDR);if(U)O()}function M(){if(Y.length>1&&!$)Y.sort((U,N)=>U.entryName.toLowerCase().localeCompare(N.entryName.toLowerCase()))}return{get entries(){if(!w)O();return Y.filter((U)=>!B.has(U))},get comment(){return G.decode(J)},set comment(U){J=nD.toBuffer(U,G.encode),Q.commentLength=J.length},getEntryCount:function(){if(!w)return Q.diskEntries;return Y.length},forEach:function(U){this.entries.forEach(U)},getEntry:function(U){if(!w)O();return Z[U]||null},setEntry:function(U){if(!w)O();Y.push(U),Z[U.entryName]=U,Q.totalEntries=Y.length},deleteFile:function(U,N=!0){if(!w)O();let R=Z[U];this.getEntryChildren(R,N).map((V)=>V.entryName).forEach(this.deleteEntry)},deleteEntry:function(U){if(!w)O();let N=Z[U],R=Y.indexOf(N);if(R>=0)Y.splice(R,1),delete Z[U],Q.totalEntries=Y.length},getEntryChildren:function(U,N=!0){if(!w)O();if(typeof U==="object")if(U.isDirectory&&N){let R=[],z=U.entryName;for(let V of Y)if(V.entryName.startsWith(z))R.push(V);return R}else return[U];return[]},getChildCount:function(U){if(U&&U.isDirectory){let N=this.getEntryChildren(U);return N.includes(U)?N.length-1:N.length}return 0},compressToBuffer:function(){if(!w)O();M();let U=[],N=[],R=0,z=0;Q.size=0,Q.offset=0;let V=0;for(let y of this.entries){let A=y.getCompressedData();y.header.offset=z;let k=y.packLocalHeader(),f=k.length+A.length;z+=f,U.push(k),U.push(A);let S=y.packCentralHeader();N.push(S),Q.size+=S.length,R+=f+S.length,V++}R+=Q.mainHeaderSize,Q.offset=z,Q.totalEntries=V,z=0;let L=Buffer.alloc(R);for(let y of U)y.copy(L,z),z+=y.length;for(let y of N)y.copy(L,z),z+=y.length;let C=Q.toBinary();if(J)J.copy(C,nD.Constants.ENDHDR);return C.copy(L,z),D=L,w=!1,L},toAsyncBuffer:function(U,N,R,z){try{if(!w)O();M();let V=[],L=[],C=0,y=0,A=0;Q.size=0,Q.offset=0;let k=function(f){if(f.length>0){let S=f.shift(),v=S.entryName+S.extra.toString();if(R)R(v);S.getCompressedDataAsync(function(b){if(z)z(v);S.header.offset=y;let n=S.packLocalHeader(),h=n.length+b.length;y+=h,V.push(n),V.push(b);let E=S.packCentralHeader();L.push(E),Q.size+=E.length,C+=h+E.length,A++,k(f)})}else{C+=Q.mainHeaderSize,Q.offset=y,Q.totalEntries=A,y=0;let S=Buffer.alloc(C);V.forEach(function(b){b.copy(S,y),y+=b.length}),L.forEach(function(b){b.copy(S,y),y+=b.length});let v=Q.toBinary();if(J)J.copy(v,nD.Constants.ENDHDR);v.copy(S,y),D=S,w=!1,U(S)}};k(Array.from(this.entries))}catch(V){N(V)}}}}});var Mw=T((JQ0,dH)=>{var WD=k5(),AD=require("path"),tg=zw(),rg=gH(),K9=(...D)=>WD.findLast(D,(X)=>typeof X==="boolean"),mH=(...D)=>WD.findLast(D,(X)=>typeof X==="string"),sg=(...D)=>WD.findLast(D,(X)=>typeof X==="function"),og={noSort:!1,readEntries:!1,method:WD.Constants.NONE,fs:null};dH.exports=function(D,X){let Y=null,Z=Object.assign(Object.create(null),og);if(D&&typeof D==="object"){if(!(D instanceof Uint8Array)){if(Object.assign(Z,D),D=Z.input?Z.input:void 0,Z.input)delete Z.input}if(Buffer.isBuffer(D))Y=D,Z.method=WD.Constants.BUFFER,D=void 0}Object.assign(Z,X);let J=new WD(Z);if(typeof Z.decoder!=="object"||typeof Z.decoder.encode!=="function"||typeof Z.decoder.decode!=="function")Z.decoder=WD.decoder;if(D&&typeof D==="string")if(J.fs.existsSync(D))Z.method=WD.Constants.FILE,Z.filename=D,Y=J.fs.readFileSync(D);else throw WD.Errors.INVALID_FILENAME();let Q=new rg(Y,Z),{canonical:w,sanitize:F,zipnamefix:B}=WD;function q(O){if(O&&Q){var H;if(typeof O==="string")H=Q.getEntry(AD.posix.normalize(O));if(typeof O==="object"&&typeof O.entryName<"u"&&typeof O.header<"u")H=Q.getEntry(O.entryName);if(H)return H}return null}function $(O){let{join:H,normalize:M,sep:U}=AD.posix;return H(".",M(U+O.split("\\").join(U)+U))}function G(O){if(O instanceof RegExp)return function(H){return function(M){return H.test(M)}}(O);else if(typeof O!=="function")return()=>!0;return O}let W=(O,H)=>{let M=H.slice(-1);return M=M===J.sep?J.sep:"",AD.relative(O,H)+M};return{readFile:function(O,H){var M=q(O);return M&&M.getData(H)||null},childCount:function(O){let H=q(O);if(H)return Q.getChildCount(H)},readFileAsync:function(O,H){var M=q(O);if(M)M.getDataAsync(H);else H(null,"getEntry failed for:"+O)},readAsText:function(O,H){var M=q(O);if(M){var U=M.getData();if(U&&U.length)return U.toString(H||"utf8")}return""},readAsTextAsync:function(O,H,M){var U=q(O);if(U)U.getDataAsync(function(N,R){if(R){H(N,R);return}if(N&&N.length)H(N.toString(M||"utf8"));else H("")});else H("")},deleteFile:function(O,H=!0){var M=q(O);if(M)Q.deleteFile(M.entryName,H)},deleteEntry:function(O){var H=q(O);if(H)Q.deleteEntry(H.entryName)},addZipComment:function(O){Q.comment=O},getZipComment:function(){return Q.comment||""},addZipEntryComment:function(O,H){var M=q(O);if(M)M.comment=H},getZipEntryComment:function(O){var H=q(O);if(H)return H.comment||"";return""},updateFile:function(O,H){var M=q(O);if(M)M.setData(H)},addLocalFile:function(O,H,M,U){if(J.fs.existsSync(O)){H=H?$(H):"";let N=AD.win32.basename(AD.win32.normalize(O));H+=M?M:N;let R=J.fs.statSync(O),z=R.isFile()?J.fs.readFileSync(O):Buffer.alloc(0);if(R.isDirectory())H+=J.sep;this.addFile(H,z,U,R)}else throw WD.Errors.FILE_NOT_FOUND(O)},addLocalFileAsync:function(O,H){O=typeof O==="object"?O:{localPath:O};let M=AD.resolve(O.localPath),{comment:U}=O,{zipPath:N,zipName:R}=O,z=this;J.fs.stat(M,function(V,L){if(V)return H(V,!1);N=N?$(N):"";let C=AD.win32.basename(AD.win32.normalize(M));if(N+=R?R:C,L.isFile())J.fs.readFile(M,function(y,A){if(y)return H(y,!1);return z.addFile(N,A,U,L),setImmediate(H,void 0,!0)});else if(L.isDirectory())return N+=J.sep,z.addFile(N,Buffer.alloc(0),U,L),setImmediate(H,void 0,!0)})},addLocalFolder:function(O,H,M){if(M=G(M),H=H?$(H):"",O=AD.normalize(O),J.fs.existsSync(O)){let U=J.findFiles(O),N=this;if(U.length)for(let R of U){let z=AD.join(H,W(O,R));if(M(z))N.addLocalFile(R,AD.dirname(z))}}else throw WD.Errors.FILE_NOT_FOUND(O)},addLocalFolderAsync:function(O,H,M,U){U=G(U),M=M?$(M):"",O=AD.normalize(O);var N=this;J.fs.open(O,"r",function(R){if(R&&R.code==="ENOENT")H(void 0,WD.Errors.FILE_NOT_FOUND(O));else if(R)H(void 0,R);else{var z=J.findFiles(O),V=-1,L=function(){if(V+=1,V<z.length){var C=z[V],y=W(O,C).split("\\").join("/");if(y=y.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),U(y))J.fs.stat(C,function(A,k){if(A)H(void 0,A);if(k.isFile())J.fs.readFile(C,function(f,S){if(f)H(void 0,f);else N.addFile(M+y,S,"",k),L()});else N.addFile(M+y+"/",Buffer.alloc(0),"",k),L()});else process.nextTick(()=>{L()})}else H(!0,void 0)};L()}})},addLocalFolderAsync2:function(O,H){let M=this;O=typeof O==="object"?O:{localPath:O},localPath=AD.resolve($(O.localPath));let{zipPath:U,filter:N,namefix:R}=O;if(N instanceof RegExp)N=function(L){return function(C){return L.test(C)}}(N);else if(typeof N!=="function")N=function(){return!0};if(U=U?$(U):"",R=="latin1")R=(L)=>L.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"");if(typeof R!=="function")R=(L)=>L;let z=(L)=>AD.join(U,R(W(localPath,L))),V=(L)=>AD.win32.basename(AD.win32.normalize(R(L)));J.fs.open(localPath,"r",function(L){if(L&&L.code==="ENOENT")H(void 0,WD.Errors.FILE_NOT_FOUND(localPath));else if(L)H(void 0,L);else J.findFilesAsync(localPath,function(C,y){if(C)return H(C);if(y=y.filter((A)=>N(z(A))),!y.length)H(void 0,!1);setImmediate(y.reverse().reduce(function(A,k){return function(f,S){if(f||S===!1)return setImmediate(A,f,!1);M.addLocalFileAsync({localPath:k,zipPath:AD.dirname(z(k)),zipName:V(k)},A)}},H))})})},addLocalFolderPromise:function(O,H){return new Promise((M,U)=>{this.addLocalFolderAsync2(Object.assign({localPath:O},H),(N,R)=>{if(N)U(N);if(R)M(this)})})},addFile:function(O,H,M,U){O=B(O);let N=q(O),R=N!=null;if(!R)N=new tg(Z),N.entryName=O;N.comment=M||"";let z=typeof U==="object"&&U instanceof J.fs.Stats;if(z)N.header.time=U.mtime;var V=N.isDirectory?16:0;let L=N.isDirectory?16384:32768;if(z)L|=4095&U.mode;else if(typeof U==="number")L|=4095&U;else L|=N.isDirectory?493:420;if(V=(V|L<<16)>>>0,N.attr=V,N.setData(H),!R)Q.setEntry(N);return N},getEntries:function(O){return Q.password=O,Q?Q.entries:[]},getEntry:function(O){return q(O)},getEntryCount:function(){return Q.getEntryCount()},forEach:function(O){return Q.forEach(O)},extractEntryTo:function(O,H,M,U,N,R){U=K9(!1,U),N=K9(!1,N),M=K9(!0,M),R=mH(N,R);var z=q(O);if(!z)throw WD.Errors.NO_ENTRY();var V=w(z.entryName),L=F(H,R&&!z.isDirectory?R:M?V:AD.basename(V));if(z.isDirectory){var C=Q.getEntryChildren(z);return C.forEach(function(k){if(k.isDirectory)return;var f=k.getData();if(!f)throw WD.Errors.CANT_EXTRACT_FILE();var S=w(k.entryName),v=F(H,M?S:AD.basename(S));let b=N?k.header.fileAttr:void 0;J.writeFileTo(v,f,U,b)}),!0}var y=z.getData(Q.password);if(!y)throw WD.Errors.CANT_EXTRACT_FILE();if(J.fs.existsSync(L)&&!U)throw WD.Errors.CANT_OVERRIDE();let A=N?O.header.fileAttr:void 0;return J.writeFileTo(L,y,U,A),!0},test:function(O){if(!Q)return!1;for(var H in Q.entries)try{if(H.isDirectory)continue;var M=Q.entries[H].getData(O);if(!M)return!1}catch(U){return!1}return!0},extractAllTo:function(O,H,M,U){if(M=K9(!1,M),U=mH(M,U),H=K9(!1,H),!Q)throw WD.Errors.NO_ZIP();Q.entries.forEach(function(N){var R=F(O,w(N.entryName));if(N.isDirectory){J.makeDir(R);return}var z=N.getData(U);if(!z)throw WD.Errors.CANT_EXTRACT_FILE();let V=M?N.header.fileAttr:void 0;J.writeFileTo(R,z,H,V);try{J.fs.utimesSync(R,N.header.time,N.header.time)}catch(L){throw WD.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(O,H,M,U){if(U=sg(H,M,U),M=K9(!1,M),H=K9(!1,H),!U)return new Promise((L,C)=>{this.extractAllToAsync(O,H,M,function(y){if(y)C(y);else L(this)})});if(!Q){U(WD.Errors.NO_ZIP());return}O=AD.resolve(O);let N=(L)=>F(O,AD.normalize(w(L.entryName))),R=(L,C)=>Error(L+': "'+C+'"'),z=[],V=[];Q.entries.forEach((L)=>{if(L.isDirectory)z.push(L);else V.push(L)});for(let L of z){let C=N(L),y=M?L.header.fileAttr:void 0;try{if(J.makeDir(C),y)J.fs.chmodSync(C,y);J.fs.utimesSync(C,L.header.time,L.header.time)}catch(A){U(R("Unable to create folder",C))}}V.reverse().reduce(function(L,C){return function(y){if(y)L(y);else{let A=AD.normalize(w(C.entryName)),k=F(O,A);C.getDataAsync(function(f,S){if(S)L(S);else if(!f)L(WD.Errors.CANT_EXTRACT_FILE());else{let v=M?C.header.fileAttr:void 0;J.writeFileToAsync(k,f,H,v,function(b){if(!b)L(R("Unable to write file",k));J.fs.utimes(k,C.header.time,C.header.time,function(n){if(n)L(R("Unable to set times",k));else L()})})}})}}},U)()},writeZip:function(O,H){if(arguments.length===1){if(typeof O==="function")H=O,O=""}if(!O&&Z.filename)O=Z.filename;if(!O)return;var M=Q.compressToBuffer();if(M){var U=J.writeFileTo(O,M,!0);if(typeof H==="function")H(!U?Error("failed"):null,"")}},writeZipPromise:function(O,H){let{overwrite:M,perm:U}=Object.assign({overwrite:!0},H);return new Promise((N,R)=>{if(!O&&Z.filename)O=Z.filename;if(!O)R("ADM-ZIP: ZIP File Name Missing");this.toBufferPromise().then((z)=>{let V=(L)=>L?N(L):R("ADM-ZIP: Wasn't able to write zip file");J.writeFileToAsync(O,z,M,U,V)},R)})},toBufferPromise:function(){return new Promise((O,H)=>{Q.toAsyncBuffer(O,H)})},toBuffer:function(O,H,M,U){if(typeof O==="function")return Q.toAsyncBuffer(O,H,M,U),null;return Q.compressToBuffer()}}}});var iH=T((QQ0,nH)=>{var lH={};nH.exports=lH;var cH={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(cH).forEach(function(D){var X=cH[D],Y=lH[D]=[];Y.open="\x1B["+X[0]+"m",Y.close="\x1B["+X[1]+"m"})});var aH=T((wQ0,pH)=>{pH.exports=function(D,X){X=X||process.argv;var Y=X.indexOf("--"),Z=/^-{1,2}/.test(D)?"":"--",J=X.indexOf(Z+D);return J!==-1&&(Y===-1?!0:J<Y)}});var rH=T((FQ0,tH)=>{var eg=require("os"),$8=aH(),F1=process.env,h5=void 0;if($8("no-color")||$8("no-colors")||$8("color=false"))h5=!1;else if($8("color")||$8("colors")||$8("color=true")||$8("color=always"))h5=!0;if("FORCE_COLOR"in F1)h5=F1.FORCE_COLOR.length===0||parseInt(F1.FORCE_COLOR,10)!==0;function Dm(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function Xm(D){if(h5===!1)return 0;if($8("color=16m")||$8("color=full")||$8("color=truecolor"))return 3;if($8("color=256"))return 2;if(D&&!D.isTTY&&h5!==!0)return 0;var X=h5?1:0;if(process.platform==="win32"){var Y=eg.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(Y[0])>=10&&Number(Y[2])>=10586)return Number(Y[2])>=14931?3:2;return 1}if("CI"in F1){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(J){return J in F1})||F1.CI_NAME==="codeship")return 1;return X}if("TEAMCITY_VERSION"in F1)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(F1.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in F1){var Z=parseInt((F1.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(F1.TERM_PROGRAM){case"iTerm.app":return Z>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(F1.TERM))return 2;if(/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(F1.TERM))return 1;if("COLORTERM"in F1)return 1;if(F1.TERM==="dumb")return X;return X}function Lw(D){var X=Xm(D);return Dm(X)}tH.exports={supportsColor:Lw,stdout:Lw(process.stdout),stderr:Lw(process.stderr)}});var oH=T((BQ0,sH)=>{sH.exports=function(X,Y){var Z="";X=X||"Run the trap, drop the bass",X=X.split("");var J={a:["@","Ą","Ⱥ","Ʌ","Δ","Λ","Д"],b:["ß","Ɓ","Ƀ","ɮ","β","฿"],c:["©","Ȼ","Ͼ"],d:["Ð","Ɗ","Ԁ","ԁ","Ԃ","ԃ"],e:["Ë","ĕ","Ǝ","ɘ","Σ","ξ","Ҽ","੬"],f:["Ӻ"],g:["ɢ"],h:["Ħ","ƕ","Ң","Һ","Ӈ","Ԋ"],i:["༏"],j:["Ĵ"],k:["ĸ","Ҡ","Ӄ","Ԟ"],l:["Ĺ"],m:["ʍ","Ӎ","ӎ","Ԡ","ԡ","൩"],n:["Ñ","ŋ","Ɲ","Ͷ","Π","Ҋ"],o:["Ø","õ","ø","Ǿ","ʘ","Ѻ","ם","","๏"],p:["Ƿ","Ҏ"],q:["্"],r:["®","Ʀ","Ȑ","Ɍ","ʀ","Я"],s:["§","Ϟ","ϟ","Ϩ"],t:["Ł","Ŧ","ͳ"],u:["Ʊ","Ս"],v:["ט"],w:["Ш","Ѡ","Ѽ","൰"],x:["Ҳ","Ӿ","Ӽ","ӽ"],y:["¥","Ұ","Ӌ"],z:["Ƶ","ɀ"]};return X.forEach(function(Q){Q=Q.toLowerCase();var w=J[Q]||[" "],F=Math.floor(Math.random()*w.length);if(typeof J[Q]<"u")Z+=J[Q][F];else Z+=Q}),Z}});var DK=T((qQ0,eH)=>{eH.exports=function(X,Y){X=X||" he is here ";var Z={up:["̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈","͊","͋","͌","̃","̂","̌","͐","̀","́","̋","̏","̒","̓","̔","̽","̉","ͣ","ͤ","ͥ","ͦ","ͧ","ͨ","ͩ","ͪ","ͫ","ͬ","ͭ","ͮ","ͯ","̾","͛","͆","̚"],down:["̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","̩","̪","̫","̬","̭","̮","̯","̰","̱","̲","̳","̹","̺","̻","̼","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖","͙","͚","̣"],mid:["̕","̛","̀","́","͘","̡","̢","̧","̨","̴","̵","̶","͜","͝","͞","͟","͠","͢","̸","̷","͡"," ҉"]},J=[].concat(Z.up,Z.down,Z.mid);function Q(B){var q=Math.floor(Math.random()*B);return q}function w(B){var q=!1;return J.filter(function($){q=$===B}),q}function F(B,q){var $="",G,W;q=q||{},q.up=typeof q.up<"u"?q.up:!0,q.mid=typeof q.mid<"u"?q.mid:!0,q.down=typeof q.down<"u"?q.down:!0,q.size=typeof q.size<"u"?q.size:"maxi",B=B.split("");for(W in B){if(w(W))continue;switch($=$+B[W],G={up:0,down:0,mid:0},q.size){case"mini":G.up=Q(8),G.mid=Q(2),G.down=Q(8);break;case"maxi":G.up=Q(16)+3,G.mid=Q(4)+1,G.down=Q(64)+3;break;default:G.up=Q(8)+1,G.mid=Q(6)/2,G.down=Q(8)+1;break}var O=["up","mid","down"];for(var H in O){var M=O[H];for(var U=0;U<=G[M];U++)if(q[M])$=$+Z[M][Q(Z[M].length)]}}return $}return F(X,Y)}});var YK=T(($Q0,XK)=>{XK.exports=function(D){return function(X,Y,Z){if(X===" ")return X;switch(Y%3){case 0:return D.red(X);case 1:return D.white(X);case 2:return D.blue(X)}}}});var JK=T((GQ0,ZK)=>{ZK.exports=function(D){return function(X,Y,Z){return Y%2===0?X:D.inverse(X)}}});var wK=T((OQ0,QK)=>{QK.exports=function(D){var X=["red","yellow","green","blue","magenta"];return function(Y,Z,J){if(Y===" ")return Y;else return D[X[Z++%X.length]](Y)}}});var BK=T((WQ0,FK)=>{FK.exports=function(D){var X=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(Y,Z,J){return Y===" "?Y:D[X[Math.round(Math.random()*(X.length-2))]](Y)}}});var WK=T((KQ0,OK)=>{var E0={};OK.exports=E0;E0.themes={};var Ym=require("util"),z9=E0.styles=iH(),qK=Object.defineProperties,Zm=new RegExp(/[\r\n]+/g);E0.supportsColor=rH().supportsColor;if(typeof E0.enabled>"u")E0.enabled=E0.supportsColor()!==!1;E0.enable=function(){E0.enabled=!0};E0.disable=function(){E0.enabled=!1};E0.stripColors=E0.strip=function(D){return(""+D).replace(/\x1B\[\d+m/g,"")};var HQ0=E0.stylize=function(X,Y){if(!E0.enabled)return X+"";var Z=z9[Y];if(!Z&&Y in E0)return E0[Y](X);return Z.open+X+Z.close},Jm=/[|\\{}()[\]^$+*?.]/g,Qm=function(D){if(typeof D!=="string")throw TypeError("Expected a string");return D.replace(Jm,"\\$&")};function $K(D){var X=function Y(){return Fm.apply(Y,arguments)};return X._styles=D,X.__proto__=wm,X}var GK=function(){var D={};return z9.grey=z9.gray,Object.keys(z9).forEach(function(X){z9[X].closeRe=new RegExp(Qm(z9[X].close),"g"),D[X]={get:function(){return $K(this._styles.concat(X))}}}),D}(),wm=qK(function(){},GK);function Fm(){var D=Array.prototype.slice.call(arguments),X=D.map(function(w){if(w!=null&&w.constructor===String)return w;else return Ym.inspect(w)}).join(" ");if(!E0.enabled||!X)return X;var Y=X.indexOf(`
|
|
40
|
+
`);let L=await z.signMessage(new TextEncoder().encode(O),"utf8");if(!L||!(L instanceof Uint8Array))throw Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");H=L}}try{let{data:M,error:U}=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:O,signature:(0,ZH.bytesToBase64URL)(H)},((G=D.options)===null||G===void 0?void 0:G.captchaToken)?{gotrue_meta_security:{captcha_token:(W=D.options)===null||W===void 0?void 0:W.captchaToken}}:null),xform:O0._sessionResponse});if(U)throw U;if(!M||!M.session||!M.user){let N=new r.AuthInvalidTokenResponseError;return this._returnResult({data:{user:null,session:null},error:N})}if(M.session)await this._saveSession(M.session),await this._notifyAllSubscribers("SIGNED_IN",M.session);return this._returnResult({data:Object.assign({},M),error:U})}catch(M){if((0,r.isAuthError)(M))return this._returnResult({data:{user:null,session:null},error:M});throw M}}async _exchangeCodeForSession(D){let X=await(0,e.getItemAsync)(this.storage,`${this.storageKey}-code-verifier`),[Y,Z]=(X!==null&&X!==void 0?X:"").split("/");try{if(!Y&&this.flowType==="pkce")throw new r.AuthPKCECodeVerifierMissingError;let{data:J,error:Q}=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:D,code_verifier:Y},xform:O0._sessionResponse});if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),Q)throw Q;if(!J||!J.session||!J.user){let w=new r.AuthInvalidTokenResponseError;return this._returnResult({data:{user:null,session:null,redirectType:null},error:w})}if(J.session)await this._saveSession(J.session),await this._notifyAllSubscribers("SIGNED_IN",J.session);return this._returnResult({data:Object.assign(Object.assign({},J),{redirectType:Z!==null&&Z!==void 0?Z:null}),error:Q})}catch(J){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(J))return this._returnResult({data:{user:null,session:null,redirectType:null},error:J});throw J}}async signInWithIdToken(D){try{let{options:X,provider:Y,token:Z,access_token:J,nonce:Q}=D,w=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:Y,id_token:Z,access_token:J,nonce:Q,gotrue_meta_security:{captcha_token:X===null||X===void 0?void 0:X.captchaToken}},xform:O0._sessionResponse}),{data:F,error:B}=w;if(B)return this._returnResult({data:{user:null,session:null},error:B});else if(!F||!F.session||!F.user){let q=new r.AuthInvalidTokenResponseError;return this._returnResult({data:{user:null,session:null},error:q})}if(F.session)await this._saveSession(F.session),await this._notifyAllSubscribers("SIGNED_IN",F.session);return this._returnResult({data:F,error:B})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:{user:null,session:null},error:X});throw X}}async signInWithOtp(D){var X,Y,Z,J,Q;try{if("email"in D){let{email:w,options:F}=D,B=null,q=null;if(this.flowType==="pkce")[B,q]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey);let{error:$}=await(0,O0._request)(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:w,data:(X=F===null||F===void 0?void 0:F.data)!==null&&X!==void 0?X:{},create_user:(Y=F===null||F===void 0?void 0:F.shouldCreateUser)!==null&&Y!==void 0?Y:!0,gotrue_meta_security:{captcha_token:F===null||F===void 0?void 0:F.captchaToken},code_challenge:B,code_challenge_method:q},redirectTo:F===null||F===void 0?void 0:F.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:$})}if("phone"in D){let{phone:w,options:F}=D,{data:B,error:q}=await(0,O0._request)(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:w,data:(Z=F===null||F===void 0?void 0:F.data)!==null&&Z!==void 0?Z:{},create_user:(J=F===null||F===void 0?void 0:F.shouldCreateUser)!==null&&J!==void 0?J:!0,gotrue_meta_security:{captcha_token:F===null||F===void 0?void 0:F.captchaToken},channel:(Q=F===null||F===void 0?void 0:F.channel)!==null&&Q!==void 0?Q:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:B===null||B===void 0?void 0:B.message_id},error:q})}throw new r.AuthInvalidCredentialsError("You must provide either an email or phone number.")}catch(w){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(w))return this._returnResult({data:{user:null,session:null},error:w});throw w}}async verifyOtp(D){var X,Y;try{let Z=void 0,J=void 0;if("options"in D)Z=(X=D.options)===null||X===void 0?void 0:X.redirectTo,J=(Y=D.options)===null||Y===void 0?void 0:Y.captchaToken;let{data:Q,error:w}=await(0,O0._request)(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},D),{gotrue_meta_security:{captcha_token:J}}),redirectTo:Z,xform:O0._sessionResponse});if(w)throw w;if(!Q)throw Error("An error occurred on token verification.");let{session:F,user:B}=Q;if(F===null||F===void 0?void 0:F.access_token)await this._saveSession(F),await this._notifyAllSubscribers(D.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",F);return this._returnResult({data:{user:B,session:F},error:null})}catch(Z){if((0,r.isAuthError)(Z))return this._returnResult({data:{user:null,session:null},error:Z});throw Z}}async signInWithSSO(D){var X,Y,Z,J,Q;try{let w=null,F=null;if(this.flowType==="pkce")[w,F]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey);let B=await(0,O0._request)(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in D?{provider_id:D.providerId}:null),"domain"in D?{domain:D.domain}:null),{redirect_to:(Y=(X=D.options)===null||X===void 0?void 0:X.redirectTo)!==null&&Y!==void 0?Y:void 0}),((Z=D===null||D===void 0?void 0:D.options)===null||Z===void 0?void 0:Z.captchaToken)?{gotrue_meta_security:{captcha_token:D.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:w,code_challenge_method:F}),headers:this.headers,xform:O0._ssoResponse});if(((J=B.data)===null||J===void 0?void 0:J.url)&&(0,e.isBrowser)()&&!((Q=D.options)===null||Q===void 0?void 0:Q.skipBrowserRedirect))window.location.assign(B.data.url);return this._returnResult(B)}catch(w){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(w))return this._returnResult({data:null,error:w});throw w}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._reauthenticate()})}async _reauthenticate(){try{return await this._useSession(async(D)=>{let{data:{session:X},error:Y}=D;if(Y)throw Y;if(!X)throw new r.AuthSessionMissingError;let{error:Z}=await(0,O0._request)(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:X.access_token});return this._returnResult({data:{user:null,session:null},error:Z})})}catch(D){if((0,r.isAuthError)(D))return this._returnResult({data:{user:null,session:null},error:D});throw D}}async resend(D){try{let X=`${this.url}/resend`;if("email"in D){let{email:Y,type:Z,options:J}=D,{error:Q}=await(0,O0._request)(this.fetch,"POST",X,{headers:this.headers,body:{email:Y,type:Z,gotrue_meta_security:{captcha_token:J===null||J===void 0?void 0:J.captchaToken}},redirectTo:J===null||J===void 0?void 0:J.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:Q})}else if("phone"in D){let{phone:Y,type:Z,options:J}=D,{data:Q,error:w}=await(0,O0._request)(this.fetch,"POST",X,{headers:this.headers,body:{phone:Y,type:Z,gotrue_meta_security:{captcha_token:J===null||J===void 0?void 0:J.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:Q===null||Q===void 0?void 0:Q.message_id},error:w})}throw new r.AuthInvalidCredentialsError("You must provide either an email or phone number and a type")}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:{user:null,session:null},error:X});throw X}}async getSession(){return await this.initializePromise,await this._acquireLock(-1,async()=>{return this._useSession(async(X)=>{return X})})}async _acquireLock(D,X){this._debug("#_acquireLock","begin",D);try{if(this.lockAcquired){let Y=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),Z=(async()=>{return await Y,await X()})();return this.pendingInLock.push((async()=>{try{await Z}catch(J){}})()),Z}return await this.lock(`lock:${this.storageKey}`,D,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;let Y=X();this.pendingInLock.push((async()=>{try{await Y}catch(Z){}})()),await Y;while(this.pendingInLock.length){let Z=[...this.pendingInLock];await Promise.all(Z),this.pendingInLock.splice(0,Z.length)}return await Y}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(D){this._debug("#_useSession","begin");try{let X=await this.__loadSession();return await D(X)}finally{this._debug("#_useSession","end")}}async __loadSession(){if(this._debug("#__loadSession()","begin"),!this.lockAcquired)this._debug("#__loadSession()","used outside of an acquired lock!",Error().stack);try{let D=null,X=await(0,e.getItemAsync)(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",X),X!==null)if(this._isValidSession(X))D=X;else this._debug("#getSession()","session from storage is not valid"),await this._removeSession();if(!D)return{data:{session:null},error:null};let Y=D.expires_at?D.expires_at*1000-Date.now()<C1.EXPIRY_MARGIN_MS:!1;if(this._debug("#__loadSession()",`session has${Y?"":" not"} expired`,"expires_at",D.expires_at),!Y){if(this.userStorage){let Q=await(0,e.getItemAsync)(this.userStorage,this.storageKey+"-user");if(Q===null||Q===void 0?void 0:Q.user)D.user=Q.user;else D.user=(0,e.userNotAvailableProxy)()}if(this.storage.isServer&&D.user&&!D.user.__isUserNotAvailableProxy){let Q={value:this.suppressGetSessionWarning};if(D.user=(0,e.insecureUserWarningProxy)(D.user,Q),Q.value)this.suppressGetSessionWarning=!0}return{data:{session:D},error:null}}let{data:Z,error:J}=await this._callRefreshToken(D.refresh_token);if(J)return this._returnResult({data:{session:null},error:J});return this._returnResult({data:{session:Z},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(D){if(D)return await this._getUser(D);await this.initializePromise;let X=await this._acquireLock(-1,async()=>{return await this._getUser()});if(X.data.user)this.suppressGetSessionWarning=!0;return X}async _getUser(D){try{if(D)return await(0,O0._request)(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:D,xform:O0._userResponse});return await this._useSession(async(X)=>{var Y,Z,J;let{data:Q,error:w}=X;if(w)throw w;if(!((Y=Q.session)===null||Y===void 0?void 0:Y.access_token)&&!this.hasCustomAuthorizationHeader)return{data:{user:null},error:new r.AuthSessionMissingError};return await(0,O0._request)(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(J=(Z=Q.session)===null||Z===void 0?void 0:Z.access_token)!==null&&J!==void 0?J:void 0,xform:O0._userResponse})})}catch(X){if((0,r.isAuthError)(X)){if((0,r.isAuthSessionMissingError)(X))await this._removeSession(),await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`);return this._returnResult({data:{user:null},error:X})}throw X}}async updateUser(D,X={}){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._updateUser(D,X)})}async _updateUser(D,X={}){try{return await this._useSession(async(Y)=>{let{data:Z,error:J}=Y;if(J)throw J;if(!Z.session)throw new r.AuthSessionMissingError;let Q=Z.session,w=null,F=null;if(this.flowType==="pkce"&&D.email!=null)[w,F]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey);let{data:B,error:q}=await(0,O0._request)(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:X===null||X===void 0?void 0:X.emailRedirectTo,body:Object.assign(Object.assign({},D),{code_challenge:w,code_challenge_method:F}),jwt:Q.access_token,xform:O0._userResponse});if(q)throw q;return Q.user=B.user,await this._saveSession(Q),await this._notifyAllSubscribers("USER_UPDATED",Q),this._returnResult({data:{user:Q.user},error:null})})}catch(Y){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(Y))return this._returnResult({data:{user:null},error:Y});throw Y}}async setSession(D){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._setSession(D)})}async _setSession(D){try{if(!D.access_token||!D.refresh_token)throw new r.AuthSessionMissingError;let X=Date.now()/1000,Y=X,Z=!0,J=null,{payload:Q}=(0,e.decodeJWT)(D.access_token);if(Q.exp)Y=Q.exp,Z=Y<=X;if(Z){let{data:w,error:F}=await this._callRefreshToken(D.refresh_token);if(F)return this._returnResult({data:{user:null,session:null},error:F});if(!w)return{data:{user:null,session:null},error:null};J=w}else{let{data:w,error:F}=await this._getUser(D.access_token);if(F)throw F;J={access_token:D.access_token,refresh_token:D.refresh_token,user:w.user,token_type:"bearer",expires_in:Y-X,expires_at:Y},await this._saveSession(J),await this._notifyAllSubscribers("SIGNED_IN",J)}return this._returnResult({data:{user:J.user,session:J},error:null})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:{session:null,user:null},error:X});throw X}}async refreshSession(D){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._refreshSession(D)})}async _refreshSession(D){try{return await this._useSession(async(X)=>{var Y;if(!D){let{data:Q,error:w}=X;if(w)throw w;D=(Y=Q.session)!==null&&Y!==void 0?Y:void 0}if(!(D===null||D===void 0?void 0:D.refresh_token))throw new r.AuthSessionMissingError;let{data:Z,error:J}=await this._callRefreshToken(D.refresh_token);if(J)return this._returnResult({data:{user:null,session:null},error:J});if(!Z)return this._returnResult({data:{user:null,session:null},error:null});return this._returnResult({data:{user:Z.user,session:Z},error:null})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:{user:null,session:null},error:X});throw X}}async _getSessionFromURL(D,X){try{if(!(0,e.isBrowser)())throw new r.AuthImplicitGrantRedirectError("No browser detected.");if(D.error||D.error_description||D.error_code)throw new r.AuthImplicitGrantRedirectError(D.error_description||"Error in URL with unspecified error_description",{error:D.error||"unspecified_error",code:D.error_code||"unspecified_code"});switch(X){case"implicit":if(this.flowType==="pkce")throw new r.AuthPKCEGrantCodeExchangeError("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new r.AuthImplicitGrantRedirectError("Not a valid implicit grant flow url.");break;default:}if(X==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!D.code)throw new r.AuthPKCEGrantCodeExchangeError("No code detected.");let{data:N,error:R}=await this._exchangeCodeForSession(D.code);if(R)throw R;let z=new URL(window.location.href);return z.searchParams.delete("code"),window.history.replaceState(window.history.state,"",z.toString()),{data:{session:N.session,redirectType:null},error:null}}let{provider_token:Y,provider_refresh_token:Z,access_token:J,refresh_token:Q,expires_in:w,expires_at:F,token_type:B}=D;if(!J||!w||!Q||!B)throw new r.AuthImplicitGrantRedirectError("No session defined in URL");let q=Math.round(Date.now()/1000),$=parseInt(w),G=q+$;if(F)G=parseInt(F);let W=G-q;if(W*1000<=C1.AUTO_REFRESH_TICK_DURATION_MS)console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${W}s, should have been closer to ${$}s`);let O=G-$;if(q-O>=120)console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",O,G,q);else if(q-O<0)console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",O,G,q);let{data:H,error:M}=await this._getUser(J);if(M)throw M;let U={provider_token:Y,provider_refresh_token:Z,access_token:J,expires_in:$,expires_at:G,refresh_token:Q,token_type:B,user:H.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:U,redirectType:D.type},error:null})}catch(Y){if((0,r.isAuthError)(Y))return this._returnResult({data:{session:null,redirectType:null},error:Y});throw Y}}_isImplicitGrantCallback(D){if(typeof this.detectSessionInUrl==="function")return this.detectSessionInUrl(new URL(window.location.href),D);return Boolean(D.access_token||D.error_description)}async _isPKCECallback(D){let X=await(0,e.getItemAsync)(this.storage,`${this.storageKey}-code-verifier`);return!!(D.code&&X)}async signOut(D={scope:"global"}){return await this.initializePromise,await this._acquireLock(-1,async()=>{return await this._signOut(D)})}async _signOut({scope:D}={scope:"global"}){return await this._useSession(async(X)=>{var Y;let{data:Z,error:J}=X;if(J)return this._returnResult({error:J});let Q=(Y=Z.session)===null||Y===void 0?void 0:Y.access_token;if(Q){let{error:w}=await this.admin.signOut(Q,D);if(w){if(!((0,r.isAuthApiError)(w)&&(w.status===404||w.status===401||w.status===403)))return this._returnResult({error:w})}}if(D!=="others")await this._removeSession(),await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`);return this._returnResult({error:null})})}onAuthStateChange(D){let X=(0,e.generateCallbackId)(),Y={id:X,callback:D,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",X),this.stateChangeEmitters.delete(X)}};return this._debug("#onAuthStateChange()","registered callback with id",X),this.stateChangeEmitters.set(X,Y),(async()=>{await this.initializePromise,await this._acquireLock(-1,async()=>{this._emitInitialSession(X)})})(),{data:{subscription:Y}}}async _emitInitialSession(D){return await this._useSession(async(X)=>{var Y,Z;try{let{data:{session:J},error:Q}=X;if(Q)throw Q;await((Y=this.stateChangeEmitters.get(D))===null||Y===void 0?void 0:Y.callback("INITIAL_SESSION",J)),this._debug("INITIAL_SESSION","callback id",D,"session",J)}catch(J){await((Z=this.stateChangeEmitters.get(D))===null||Z===void 0?void 0:Z.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",D,"error",J),console.error(J)}})}async resetPasswordForEmail(D,X={}){let Y=null,Z=null;if(this.flowType==="pkce")[Y,Z]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey,!0);try{return await(0,O0._request)(this.fetch,"POST",`${this.url}/recover`,{body:{email:D,code_challenge:Y,code_challenge_method:Z,gotrue_meta_security:{captcha_token:X.captchaToken}},headers:this.headers,redirectTo:X.redirectTo})}catch(J){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(J))return this._returnResult({data:null,error:J});throw J}}async getUserIdentities(){var D;try{let{data:X,error:Y}=await this.getUser();if(Y)throw Y;return this._returnResult({data:{identities:(D=X.user.identities)!==null&&D!==void 0?D:[]},error:null})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async linkIdentity(D){if("token"in D)return this.linkIdentityIdToken(D);return this.linkIdentityOAuth(D)}async linkIdentityOAuth(D){var X;try{let{data:Y,error:Z}=await this._useSession(async(J)=>{var Q,w,F,B,q;let{data:$,error:G}=J;if(G)throw G;let W=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,D.provider,{redirectTo:(Q=D.options)===null||Q===void 0?void 0:Q.redirectTo,scopes:(w=D.options)===null||w===void 0?void 0:w.scopes,queryParams:(F=D.options)===null||F===void 0?void 0:F.queryParams,skipBrowserRedirect:!0});return await(0,O0._request)(this.fetch,"GET",W,{headers:this.headers,jwt:(q=(B=$.session)===null||B===void 0?void 0:B.access_token)!==null&&q!==void 0?q:void 0})});if(Z)throw Z;if((0,e.isBrowser)()&&!((X=D.options)===null||X===void 0?void 0:X.skipBrowserRedirect))window.location.assign(Y===null||Y===void 0?void 0:Y.url);return this._returnResult({data:{provider:D.provider,url:Y===null||Y===void 0?void 0:Y.url},error:null})}catch(Y){if((0,r.isAuthError)(Y))return this._returnResult({data:{provider:D.provider,url:null},error:Y});throw Y}}async linkIdentityIdToken(D){return await this._useSession(async(X)=>{var Y;try{let{error:Z,data:{session:J}}=X;if(Z)throw Z;let{options:Q,provider:w,token:F,access_token:B,nonce:q}=D,$=await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(Y=J===null||J===void 0?void 0:J.access_token)!==null&&Y!==void 0?Y:void 0,body:{provider:w,id_token:F,access_token:B,nonce:q,link_identity:!0,gotrue_meta_security:{captcha_token:Q===null||Q===void 0?void 0:Q.captchaToken}},xform:O0._sessionResponse}),{data:G,error:W}=$;if(W)return this._returnResult({data:{user:null,session:null},error:W});else if(!G||!G.session||!G.user)return this._returnResult({data:{user:null,session:null},error:new r.AuthInvalidTokenResponseError});if(G.session)await this._saveSession(G.session),await this._notifyAllSubscribers("USER_UPDATED",G.session);return this._returnResult({data:G,error:W})}catch(Z){if(await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`),(0,r.isAuthError)(Z))return this._returnResult({data:{user:null,session:null},error:Z});throw Z}})}async unlinkIdentity(D){try{return await this._useSession(async(X)=>{var Y,Z;let{data:J,error:Q}=X;if(Q)throw Q;return await(0,O0._request)(this.fetch,"DELETE",`${this.url}/user/identities/${D.identity_id}`,{headers:this.headers,jwt:(Z=(Y=J.session)===null||Y===void 0?void 0:Y.access_token)!==null&&Z!==void 0?Z:void 0})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async _refreshAccessToken(D){let X=`#_refreshAccessToken(${D.substring(0,5)}...)`;this._debug(X,"begin");try{let Y=Date.now();return await(0,e.retryable)(async(Z)=>{if(Z>0)await(0,e.sleep)(200*Math.pow(2,Z-1));return this._debug(X,"refreshing attempt",Z),await(0,O0._request)(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:D},headers:this.headers,xform:O0._sessionResponse})},(Z,J)=>{let Q=200*Math.pow(2,Z);return J&&(0,r.isAuthRetryableFetchError)(J)&&Date.now()+Q-Y<C1.AUTO_REFRESH_TICK_DURATION_MS})}catch(Y){if(this._debug(X,"error",Y),(0,r.isAuthError)(Y))return this._returnResult({data:{session:null,user:null},error:Y});throw Y}finally{this._debug(X,"end")}}_isValidSession(D){return typeof D==="object"&&D!==null&&"access_token"in D&&"refresh_token"in D&&"expires_at"in D}async _handleProviderSignIn(D,X){let Y=await this._getUrlForProvider(`${this.url}/authorize`,D,{redirectTo:X.redirectTo,scopes:X.scopes,queryParams:X.queryParams});if(this._debug("#_handleProviderSignIn()","provider",D,"options",X,"url",Y),(0,e.isBrowser)()&&!X.skipBrowserRedirect)window.location.assign(Y);return{data:{provider:D,url:Y},error:null}}async _recoverAndRefresh(){var D,X;let Y="#_recoverAndRefresh()";this._debug("#_recoverAndRefresh()","begin");try{let Z=await(0,e.getItemAsync)(this.storage,this.storageKey);if(Z&&this.userStorage){let Q=await(0,e.getItemAsync)(this.userStorage,this.storageKey+"-user");if(!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!Q)Q={user:Z.user},await(0,e.setItemAsync)(this.userStorage,this.storageKey+"-user",Q);Z.user=(D=Q===null||Q===void 0?void 0:Q.user)!==null&&D!==void 0?D:(0,e.userNotAvailableProxy)()}else if(Z&&!Z.user){if(!Z.user){let Q=await(0,e.getItemAsync)(this.storage,this.storageKey+"-user");if(Q&&(Q===null||Q===void 0?void 0:Q.user))Z.user=Q.user,await(0,e.removeItemAsync)(this.storage,this.storageKey+"-user"),await(0,e.setItemAsync)(this.storage,this.storageKey,Z);else Z.user=(0,e.userNotAvailableProxy)()}}if(this._debug("#_recoverAndRefresh()","session from storage",Z),!this._isValidSession(Z)){if(this._debug("#_recoverAndRefresh()","session is not valid"),Z!==null)await this._removeSession();return}let J=((X=Z.expires_at)!==null&&X!==void 0?X:1/0)*1000-Date.now()<C1.EXPIRY_MARGIN_MS;if(this._debug("#_recoverAndRefresh()",`session has${J?"":" not"} expired with margin of ${C1.EXPIRY_MARGIN_MS}s`),J){if(this.autoRefreshToken&&Z.refresh_token){let{error:Q}=await this._callRefreshToken(Z.refresh_token);if(Q){if(console.error(Q),!(0,r.isAuthRetryableFetchError)(Q))this._debug("#_recoverAndRefresh()","refresh failed with a non-retryable error, removing the session",Q),await this._removeSession()}}}else if(Z.user&&Z.user.__isUserNotAvailableProxy===!0)try{let{data:Q,error:w}=await this._getUser(Z.access_token);if(!w&&(Q===null||Q===void 0?void 0:Q.user))Z.user=Q.user,await this._saveSession(Z),await this._notifyAllSubscribers("SIGNED_IN",Z);else this._debug("#_recoverAndRefresh()","could not get user data, skipping SIGNED_IN notification")}catch(Q){console.error("Error getting user data:",Q),this._debug("#_recoverAndRefresh()","error getting user data, skipping SIGNED_IN notification",Q)}else await this._notifyAllSubscribers("SIGNED_IN",Z)}catch(Z){this._debug("#_recoverAndRefresh()","error",Z),console.error(Z);return}finally{this._debug("#_recoverAndRefresh()","end")}}async _callRefreshToken(D){var X,Y;if(!D)throw new r.AuthSessionMissingError;if(this.refreshingDeferred)return this.refreshingDeferred.promise;let Z=`#_callRefreshToken(${D.substring(0,5)}...)`;this._debug(Z,"begin");try{this.refreshingDeferred=new e.Deferred;let{data:J,error:Q}=await this._refreshAccessToken(D);if(Q)throw Q;if(!J.session)throw new r.AuthSessionMissingError;await this._saveSession(J.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",J.session);let w={data:J.session,error:null};return this.refreshingDeferred.resolve(w),w}catch(J){if(this._debug(Z,"error",J),(0,r.isAuthError)(J)){let Q={data:null,error:J};if(!(0,r.isAuthRetryableFetchError)(J))await this._removeSession();return(X=this.refreshingDeferred)===null||X===void 0||X.resolve(Q),Q}throw(Y=this.refreshingDeferred)===null||Y===void 0||Y.reject(J),J}finally{this.refreshingDeferred=null,this._debug(Z,"end")}}async _notifyAllSubscribers(D,X,Y=!0){let Z=`#_notifyAllSubscribers(${D})`;this._debug(Z,"begin",X,`broadcast = ${Y}`);try{if(this.broadcastChannel&&Y)this.broadcastChannel.postMessage({event:D,session:X});let J=[],Q=Array.from(this.stateChangeEmitters.values()).map(async(w)=>{try{await w.callback(D,X)}catch(F){J.push(F)}});if(await Promise.all(Q),J.length>0){for(let w=0;w<J.length;w+=1)console.error(J[w]);throw J[0]}}finally{this._debug(Z,"end")}}async _saveSession(D){this._debug("#_saveSession()",D),this.suppressGetSessionWarning=!0,await(0,e.removeItemAsync)(this.storage,`${this.storageKey}-code-verifier`);let X=Object.assign({},D),Y=X.user&&X.user.__isUserNotAvailableProxy===!0;if(this.userStorage){if(!Y&&X.user)await(0,e.setItemAsync)(this.userStorage,this.storageKey+"-user",{user:X.user});let Z=Object.assign({},X);delete Z.user;let J=(0,e.deepClone)(Z);await(0,e.setItemAsync)(this.storage,this.storageKey,J)}else{let Z=(0,e.deepClone)(X);await(0,e.setItemAsync)(this.storage,this.storageKey,Z)}}async _removeSession(){if(this._debug("#_removeSession()"),this.suppressGetSessionWarning=!1,await(0,e.removeItemAsync)(this.storage,this.storageKey),await(0,e.removeItemAsync)(this.storage,this.storageKey+"-code-verifier"),await(0,e.removeItemAsync)(this.storage,this.storageKey+"-user"),this.userStorage)await(0,e.removeItemAsync)(this.userStorage,this.storageKey+"-user");await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");let D=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{if(D&&(0,e.isBrowser)()&&(window===null||window===void 0?void 0:window.removeEventListener))window.removeEventListener("visibilitychange",D)}catch(X){console.error("removing visibilitychange callback failed",X)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");let D=setInterval(()=>this._autoRefreshTokenTick(),C1.AUTO_REFRESH_TICK_DURATION_MS);if(this.autoRefreshTicker=D,D&&typeof D==="object"&&typeof D.unref==="function")D.unref();else if(typeof Deno<"u"&&typeof Deno.unrefTimer==="function")Deno.unrefTimer(D);setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");let D=this.autoRefreshTicker;if(this.autoRefreshTicker=null,D)clearInterval(D)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{let D=Date.now();try{return await this._useSession(async(X)=>{let{data:{session:Y}}=X;if(!Y||!Y.refresh_token||!Y.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}let Z=Math.floor((Y.expires_at*1000-D)/C1.AUTO_REFRESH_TICK_DURATION_MS);if(this._debug("#_autoRefreshTokenTick()",`access token expires in ${Z} ticks, a tick lasts ${C1.AUTO_REFRESH_TICK_DURATION_MS}ms, refresh threshold is ${C1.AUTO_REFRESH_TICK_THRESHOLD} ticks`),Z<=C1.AUTO_REFRESH_TICK_THRESHOLD)await this._callRefreshToken(Y.refresh_token)})}catch(X){console.error("Auto refresh tick failed with error. This is likely a transient error.",X)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(D){if(D.isAcquireTimeout||D instanceof YH.LockAcquireTimeoutError)this._debug("auto refresh token tick lock not available");else throw D}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!(0,e.isBrowser)()||!(window===null||window===void 0?void 0:window.addEventListener)){if(this.autoRefreshToken)this.startAutoRefresh();return!1}try{this.visibilityChangedCallback=async()=>await this._onVisibilityChanged(!1),window===null||window===void 0||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(D){console.error("_handleVisibilityChange",D)}}async _onVisibilityChanged(D){let X=`#_onVisibilityChanged(${D})`;if(this._debug(X,"visibilityState",document.visibilityState),document.visibilityState==="visible"){if(this.autoRefreshToken)this._startAutoRefresh();if(!D)await this.initializePromise,await this._acquireLock(-1,async()=>{if(document.visibilityState!=="visible"){this._debug(X,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()})}else if(document.visibilityState==="hidden"){if(this.autoRefreshToken)this._stopAutoRefresh()}}async _getUrlForProvider(D,X,Y){let Z=[`provider=${encodeURIComponent(X)}`];if(Y===null||Y===void 0?void 0:Y.redirectTo)Z.push(`redirect_to=${encodeURIComponent(Y.redirectTo)}`);if(Y===null||Y===void 0?void 0:Y.scopes)Z.push(`scopes=${encodeURIComponent(Y.scopes)}`);if(this.flowType==="pkce"){let[J,Q]=await(0,e.getCodeChallengeAndMethod)(this.storage,this.storageKey),w=new URLSearchParams({code_challenge:`${encodeURIComponent(J)}`,code_challenge_method:`${encodeURIComponent(Q)}`});Z.push(w.toString())}if(Y===null||Y===void 0?void 0:Y.queryParams){let J=new URLSearchParams(Y.queryParams);Z.push(J.toString())}if(Y===null||Y===void 0?void 0:Y.skipBrowserRedirect)Z.push(`skip_http_redirect=${Y.skipBrowserRedirect}`);return`${D}?${Z.join("&")}`}async _unenroll(D){try{return await this._useSession(async(X)=>{var Y;let{data:Z,error:J}=X;if(J)return this._returnResult({data:null,error:J});return await(0,O0._request)(this.fetch,"DELETE",`${this.url}/factors/${D.factorId}`,{headers:this.headers,jwt:(Y=Z===null||Z===void 0?void 0:Z.session)===null||Y===void 0?void 0:Y.access_token})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async _enroll(D){try{return await this._useSession(async(X)=>{var Y,Z;let{data:J,error:Q}=X;if(Q)return this._returnResult({data:null,error:Q});let w=Object.assign({friendly_name:D.friendlyName,factor_type:D.factorType},D.factorType==="phone"?{phone:D.phone}:D.factorType==="totp"?{issuer:D.issuer}:{}),{data:F,error:B}=await(0,O0._request)(this.fetch,"POST",`${this.url}/factors`,{body:w,headers:this.headers,jwt:(Y=J===null||J===void 0?void 0:J.session)===null||Y===void 0?void 0:Y.access_token});if(B)return this._returnResult({data:null,error:B});if(D.factorType==="totp"&&F.type==="totp"&&((Z=F===null||F===void 0?void 0:F.totp)===null||Z===void 0?void 0:Z.qr_code))F.totp.qr_code=`data:image/svg+xml;utf-8,${F.totp.qr_code}`;return this._returnResult({data:F,error:null})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async _verify(D){return this._acquireLock(-1,async()=>{try{return await this._useSession(async(X)=>{var Y;let{data:Z,error:J}=X;if(J)return this._returnResult({data:null,error:J});let Q=Object.assign({challenge_id:D.challengeId},"webauthn"in D?{webauthn:Object.assign(Object.assign({},D.webauthn),{credential_response:D.webauthn.type==="create"?(0,E4.serializeCredentialCreationResponse)(D.webauthn.credential_response):(0,E4.serializeCredentialRequestResponse)(D.webauthn.credential_response)})}:{code:D.code}),{data:w,error:F}=await(0,O0._request)(this.fetch,"POST",`${this.url}/factors/${D.factorId}/verify`,{body:Q,headers:this.headers,jwt:(Y=Z===null||Z===void 0?void 0:Z.session)===null||Y===void 0?void 0:Y.access_token});if(F)return this._returnResult({data:null,error:F});return await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1000)+w.expires_in},w)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",w),this._returnResult({data:w,error:F})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}})}async _challenge(D){return this._acquireLock(-1,async()=>{try{return await this._useSession(async(X)=>{var Y;let{data:Z,error:J}=X;if(J)return this._returnResult({data:null,error:J});let Q=await(0,O0._request)(this.fetch,"POST",`${this.url}/factors/${D.factorId}/challenge`,{body:D,headers:this.headers,jwt:(Y=Z===null||Z===void 0?void 0:Z.session)===null||Y===void 0?void 0:Y.access_token});if(Q.error)return Q;let{data:w}=Q;if(w.type!=="webauthn")return{data:w,error:null};switch(w.webauthn.type){case"create":return{data:Object.assign(Object.assign({},w),{webauthn:Object.assign(Object.assign({},w.webauthn),{credential_options:Object.assign(Object.assign({},w.webauthn.credential_options),{publicKey:(0,E4.deserializeCredentialCreationOptions)(w.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},w),{webauthn:Object.assign(Object.assign({},w.webauthn),{credential_options:Object.assign(Object.assign({},w.webauthn.credential_options),{publicKey:(0,E4.deserializeCredentialRequestOptions)(w.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}})}async _challengeAndVerify(D){let{data:X,error:Y}=await this._challenge({factorId:D.factorId});if(Y)return this._returnResult({data:null,error:Y});return await this._verify({factorId:D.factorId,challengeId:X.id,code:D.code})}async _listFactors(){var D;let{data:{user:X},error:Y}=await this.getUser();if(Y)return{data:null,error:Y};let Z={all:[],phone:[],totp:[],webauthn:[]};for(let J of(D=X===null||X===void 0?void 0:X.factors)!==null&&D!==void 0?D:[])if(Z.all.push(J),J.status==="verified")Z[J.factor_type].push(J);return{data:Z,error:null}}async _getAuthenticatorAssuranceLevel(){var D,X;let{data:{session:Y},error:Z}=await this.getSession();if(Z)return this._returnResult({data:null,error:Z});if(!Y)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};let{payload:J}=(0,e.decodeJWT)(Y.access_token),Q=null;if(J.aal)Q=J.aal;let w=Q;if(((X=(D=Y.user.factors)===null||D===void 0?void 0:D.filter((q)=>q.status==="verified"))!==null&&X!==void 0?X:[]).length>0)w="aal2";let B=J.amr||[];return{data:{currentLevel:Q,nextLevel:w,currentAuthenticationMethods:B},error:null}}async _getAuthorizationDetails(D){try{return await this._useSession(async(X)=>{let{data:{session:Y},error:Z}=X;if(Z)return this._returnResult({data:null,error:Z});if(!Y)return this._returnResult({data:null,error:new r.AuthSessionMissingError});return await(0,O0._request)(this.fetch,"GET",`${this.url}/oauth/authorizations/${D}`,{headers:this.headers,jwt:Y.access_token,xform:(J)=>({data:J,error:null})})})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async _approveAuthorization(D,X){try{return await this._useSession(async(Y)=>{let{data:{session:Z},error:J}=Y;if(J)return this._returnResult({data:null,error:J});if(!Z)return this._returnResult({data:null,error:new r.AuthSessionMissingError});let Q=await(0,O0._request)(this.fetch,"POST",`${this.url}/oauth/authorizations/${D}/consent`,{headers:this.headers,jwt:Z.access_token,body:{action:"approve"},xform:(w)=>({data:w,error:null})});if(Q.data&&Q.data.redirect_url){if((0,e.isBrowser)()&&!(X===null||X===void 0?void 0:X.skipBrowserRedirect))window.location.assign(Q.data.redirect_url)}return Q})}catch(Y){if((0,r.isAuthError)(Y))return this._returnResult({data:null,error:Y});throw Y}}async _denyAuthorization(D,X){try{return await this._useSession(async(Y)=>{let{data:{session:Z},error:J}=Y;if(J)return this._returnResult({data:null,error:J});if(!Z)return this._returnResult({data:null,error:new r.AuthSessionMissingError});let Q=await(0,O0._request)(this.fetch,"POST",`${this.url}/oauth/authorizations/${D}/consent`,{headers:this.headers,jwt:Z.access_token,body:{action:"deny"},xform:(w)=>({data:w,error:null})});if(Q.data&&Q.data.redirect_url){if((0,e.isBrowser)()&&!(X===null||X===void 0?void 0:X.skipBrowserRedirect))window.location.assign(Q.data.redirect_url)}return Q})}catch(Y){if((0,r.isAuthError)(Y))return this._returnResult({data:null,error:Y});throw Y}}async _listOAuthGrants(){try{return await this._useSession(async(D)=>{let{data:{session:X},error:Y}=D;if(Y)return this._returnResult({data:null,error:Y});if(!X)return this._returnResult({data:null,error:new r.AuthSessionMissingError});return await(0,O0._request)(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:X.access_token,xform:(Z)=>({data:Z,error:null})})})}catch(D){if((0,r.isAuthError)(D))return this._returnResult({data:null,error:D});throw D}}async _revokeOAuthGrant(D){try{return await this._useSession(async(X)=>{let{data:{session:Y},error:Z}=X;if(Z)return this._returnResult({data:null,error:Z});if(!Y)return this._returnResult({data:null,error:new r.AuthSessionMissingError});return await(0,O0._request)(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:Y.access_token,query:{client_id:D.clientId},noResolveJson:!0}),{data:{},error:null}})}catch(X){if((0,r.isAuthError)(X))return this._returnResult({data:null,error:X});throw X}}async fetchJwk(D,X={keys:[]}){let Y=X.keys.find((w)=>w.kid===D);if(Y)return Y;let Z=Date.now();if(Y=this.jwks.keys.find((w)=>w.kid===D),Y&&this.jwks_cached_at+C1.JWKS_TTL>Z)return Y;let{data:J,error:Q}=await(0,O0._request)(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(Q)throw Q;if(!J.keys||J.keys.length===0)return null;if(this.jwks=J,this.jwks_cached_at=Z,Y=J.keys.find((w)=>w.kid===D),!Y)return null;return Y}async getClaims(D,X={}){try{let Y=D;if(!Y){let{data:W,error:O}=await this.getSession();if(O||!W.session)return this._returnResult({data:null,error:O});Y=W.session.access_token}let{header:Z,payload:J,signature:Q,raw:{header:w,payload:F}}=(0,e.decodeJWT)(Y);if(!(X===null||X===void 0?void 0:X.allowExpired))(0,e.validateExp)(J.exp);let B=!Z.alg||Z.alg.startsWith("HS")||!Z.kid||!(("crypto"in globalThis)&&("subtle"in globalThis.crypto))?null:await this.fetchJwk(Z.kid,(X===null||X===void 0?void 0:X.keys)?{keys:X.keys}:X===null||X===void 0?void 0:X.jwks);if(!B){let{error:W}=await this.getUser(Y);if(W)throw W;return{data:{claims:J,header:Z,signature:Q},error:null}}let q=(0,e.getAlgorithm)(Z.alg),$=await crypto.subtle.importKey("jwk",B,q,!0,["verify"]);if(!await crypto.subtle.verify(q,$,Q,(0,ZH.stringToUint8Array)(`${w}.${F}`)))throw new r.AuthInvalidJwtError("Invalid JWT signature");return{data:{claims:J,header:Z,signature:Q},error:null}}catch(Y){if((0,r.isAuthError)(Y))return this._returnResult({data:null,error:Y});throw Y}}}C4.nextInstanceID={};ww.default=C4});var QH=T((Bw)=>{Object.defineProperty(Bw,"__esModule",{value:!0});var Fg=h0(),Bg=Fg.__importDefault(DY()),qg=Bg.default;Bw.default=qg});var wH=T((qw)=>{Object.defineProperty(qw,"__esModule",{value:!0});var $g=h0(),Gg=$g.__importDefault(Fw()),Og=Gg.default;qw.default=Og});var $w=T((yD)=>{Object.defineProperty(yD,"__esModule",{value:!0});yD.processLock=yD.lockInternals=yD.NavigatorLockAcquireTimeoutError=yD.navigatorLock=yD.AuthClient=yD.AuthAdminApi=yD.GoTrueClient=yD.GoTrueAdminApi=void 0;var f5=h0(),Wg=f5.__importDefault(DY());yD.GoTrueAdminApi=Wg.default;var Hg=f5.__importDefault(Fw());yD.GoTrueClient=Hg.default;var Kg=f5.__importDefault(QH());yD.AuthAdminApi=Kg.default;var zg=f5.__importDefault(wH());yD.AuthClient=zg.default;f5.__exportStar(rQ(),yD);f5.__exportStar(G9(),yD);var JY=Yw();Object.defineProperty(yD,"navigatorLock",{enumerable:!0,get:function(){return JY.navigatorLock}});Object.defineProperty(yD,"NavigatorLockAcquireTimeoutError",{enumerable:!0,get:function(){return JY.NavigatorLockAcquireTimeoutError}});Object.defineProperty(yD,"lockInternals",{enumerable:!0,get:function(){return JY.internals}});Object.defineProperty(yD,"processLock",{enumerable:!0,get:function(){return JY.processLock}})});var Ow=T((cJ0,GH)=>{GH.exports={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24}});var QY=T((WH)=>{var OH={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function kg(D){return function(...X){if(X.length)D=D.replace(/\{(\d)\}/g,(Y,Z)=>X[Z]||"");return Error("ADM-ZIP: "+D)}}for(let D of Object.keys(OH))WH[D]=kg(OH[D])});var LH=T((nJ0,MH)=>{var ug=require("fs"),uD=require("path"),HH=Ow(),hg=QY(),_g=typeof process==="object"&&process.platform==="win32",KH=(D)=>typeof D==="object"&&D!==null,zH=new Uint32Array(256).map((D,X)=>{for(let Y=0;Y<8;Y++)if((X&1)!==0)X=3988292384^X>>>1;else X>>>=1;return X>>>0});function ND(D){if(this.sep=uD.sep,this.fs=ug,KH(D)){if(KH(D.fs)&&typeof D.fs.statSync==="function")this.fs=D.fs}}MH.exports=ND;ND.prototype.makeDir=function(D){let X=this;function Y(Z){let J=Z.split(X.sep)[0];Z.split(X.sep).forEach(function(Q){if(!Q||Q.substr(-1,1)===":")return;J+=X.sep+Q;var w;try{w=X.fs.statSync(J)}catch(F){X.fs.mkdirSync(J)}if(w&&w.isFile())throw hg.FILE_IN_THE_WAY(`"${J}"`)})}Y(D)};ND.prototype.writeFileTo=function(D,X,Y,Z){let J=this;if(J.fs.existsSync(D)){if(!Y)return!1;var Q=J.fs.statSync(D);if(Q.isDirectory())return!1}var w=uD.dirname(D);if(!J.fs.existsSync(w))J.makeDir(w);var F;try{F=J.fs.openSync(D,"w",438)}catch(B){J.fs.chmodSync(D,438),F=J.fs.openSync(D,"w",438)}if(F)try{J.fs.writeSync(F,X,0,X.length,0)}finally{J.fs.closeSync(F)}return J.fs.chmodSync(D,Z||438),!0};ND.prototype.writeFileToAsync=function(D,X,Y,Z,J){if(typeof Z==="function")J=Z,Z=void 0;let Q=this;Q.fs.exists(D,function(w){if(w&&!Y)return J(!1);Q.fs.stat(D,function(F,B){if(w&&B.isDirectory())return J(!1);var q=uD.dirname(D);Q.fs.exists(q,function($){if(!$)Q.makeDir(q);Q.fs.open(D,"w",438,function(G,W){if(G)Q.fs.chmod(D,438,function(){Q.fs.open(D,"w",438,function(O,H){Q.fs.write(H,X,0,X.length,0,function(){Q.fs.close(H,function(){Q.fs.chmod(D,Z||438,function(){J(!0)})})})})});else if(W)Q.fs.write(W,X,0,X.length,0,function(){Q.fs.close(W,function(){Q.fs.chmod(D,Z||438,function(){J(!0)})})});else Q.fs.chmod(D,Z||438,function(){J(!0)})})})})})};ND.prototype.findFiles=function(D){let X=this;function Y(Z,J,Q){if(typeof J==="boolean")Q=J,J=void 0;let w=[];return X.fs.readdirSync(Z).forEach(function(F){let B=uD.join(Z,F),q=X.fs.statSync(B);if(!J||J.test(B))w.push(uD.normalize(B)+(q.isDirectory()?X.sep:""));if(q.isDirectory()&&Q)w=w.concat(Y(B,J,Q))}),w}return Y(D,void 0,!0)};ND.prototype.findFilesAsync=function(D,X){let Y=this,Z=[];Y.fs.readdir(D,function(J,Q){if(J)return X(J);let w=Q.length;if(!w)return X(null,Z);Q.forEach(function(F){F=uD.join(D,F),Y.fs.stat(F,function(B,q){if(B)return X(B);if(q){if(Z.push(uD.normalize(F)+(q.isDirectory()?Y.sep:"")),q.isDirectory())Y.findFilesAsync(F,function($,G){if($)return X($);if(Z=Z.concat(G),!--w)X(null,Z)});else if(!--w)X(null,Z)}})})})};ND.prototype.getAttributes=function(){};ND.prototype.setAttributes=function(){};ND.crc32update=function(D,X){return zH[(D^X)&255]^D>>>8};ND.crc32=function(D){if(typeof D==="string")D=Buffer.from(D,"utf8");let X=D.length,Y=-1;for(let Z=0;Z<X;)Y=ND.crc32update(Y,D[Z++]);return~Y>>>0};ND.methodToString=function(D){switch(D){case HH.STORED:return"STORED ("+D+")";case HH.DEFLATED:return"DEFLATED ("+D+")";default:return"UNSUPPORTED ("+D+")"}};ND.canonical=function(D){if(!D)return"";let X=uD.posix.normalize("/"+D.split("\\").join("/"));return uD.join(".",X)};ND.zipnamefix=function(D){if(!D)return"";let X=uD.posix.normalize("/"+D.split("\\").join("/"));return uD.posix.join(".",X)};ND.findLast=function(D,X){if(!Array.isArray(D))throw TypeError("arr is not array");let Y=D.length>>>0;for(let Z=Y-1;Z>=0;Z--)if(X(D[Z],Z,D))return D[Z];return};ND.sanitize=function(D,X){D=uD.resolve(uD.normalize(D));var Y=X.split("/");for(var Z=0,J=Y.length;Z<J;Z++){var Q=uD.normalize(uD.join(D,Y.slice(Z,J).join(uD.sep)));if(Q.indexOf(D)===0)return Q}return uD.normalize(uD.join(D,uD.basename(X)))};ND.toBuffer=function(X,Y){if(Buffer.isBuffer(X))return X;else if(X instanceof Uint8Array)return Buffer.from(X);else return typeof X==="string"?Y(X):Buffer.alloc(0)};ND.readBigUInt64LE=function(D,X){var Y=Buffer.from(D.slice(X,X+8));return Y.swap64(),parseInt(`0x${Y.toString("hex")}`)};ND.fromDOS2Date=function(D){return new Date((D>>25&127)+1980,Math.max((D>>21&15)-1,0),Math.max(D>>16&31,1),D>>11&31,D>>5&63,(D&31)<<1)};ND.fromDate2DOS=function(D){let X=0,Y=0;if(D.getFullYear()>1979)X=(D.getFullYear()-1980&127)<<9|D.getMonth()+1<<5|D.getDate(),Y=D.getHours()<<11|D.getMinutes()<<5|D.getSeconds()>>1;return X<<16|Y};ND.isWin=_g;ND.crcTable=zH});var UH=T((iJ0,VH)=>{var vg=require("path");VH.exports=function(D,{fs:X}){var Y=D||"",Z=Q(),J=null;function Q(){return{directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0}}if(Y&&X.existsSync(Y))J=X.statSync(Y),Z.directory=J.isDirectory(),Z.mtime=J.mtime,Z.atime=J.atime,Z.executable=(73&J.mode)!==0,Z.readonly=(128&J.mode)===0,Z.hidden=vg.basename(Y)[0]===".";else console.warn("Invalid path: "+Y);return{get directory(){return Z.directory},get readOnly(){return Z.readonly},get hidden(){return Z.hidden},get mtime(){return Z.mtime},get atime(){return Z.atime},get executable(){return Z.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:Y,isDirectory:Z.directory,isReadOnly:Z.readonly,isHidden:Z.hidden,isExecutable:Z.executable,mTime:Z.mtime,aTime:Z.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var RH=T((pJ0,NH)=>{NH.exports={efs:!0,encode:(D)=>Buffer.from(D,"utf8"),decode:(D)=>D.toString("utf8")}});var k5=T((aJ0,y5)=>{y5.exports=LH();y5.exports.Constants=Ow();y5.exports.Errors=QY();y5.exports.FileAttr=UH();y5.exports.decoder=RH()});var EH=T((tJ0,AH)=>{var T6=k5(),s=T6.Constants;AH.exports=function(){var D=20,X=10,Y=0,Z=0,J=0,Q=0,w=0,F=0,B=0,q=0,$=0,G=0,W=0,O=0,H=0;D|=T6.isWin?2560:768,Y|=s.FLG_EFS;let M={extraLen:0},U=(z)=>Math.max(0,z)>>>0,N=(z)=>Math.max(0,z)&65535,R=(z)=>Math.max(0,z)&255;return J=T6.fromDate2DOS(new Date),{get made(){return D},set made(z){D=z},get version(){return X},set version(z){X=z},get flags(){return Y},set flags(z){Y=z},get flags_efs(){return(Y&s.FLG_EFS)>0},set flags_efs(z){if(z)Y|=s.FLG_EFS;else Y&=~s.FLG_EFS},get flags_desc(){return(Y&s.FLG_DESC)>0},set flags_desc(z){if(z)Y|=s.FLG_DESC;else Y&=~s.FLG_DESC},get method(){return Z},set method(z){switch(z){case s.STORED:this.version=10;case s.DEFLATED:default:this.version=20}Z=z},get time(){return T6.fromDOS2Date(this.timeval)},set time(z){this.timeval=T6.fromDate2DOS(z)},get timeval(){return J},set timeval(z){J=U(z)},get timeHighByte(){return R(J>>>8)},get crc(){return Q},set crc(z){Q=U(z)},get compressedSize(){return w},set compressedSize(z){w=U(z)},get size(){return F},set size(z){F=U(z)},get fileNameLength(){return B},set fileNameLength(z){B=z},get extraLength(){return q},set extraLength(z){q=z},get extraLocalLength(){return M.extraLen},set extraLocalLength(z){M.extraLen=z},get commentLength(){return $},set commentLength(z){$=z},get diskNumStart(){return G},set diskNumStart(z){G=U(z)},get inAttr(){return W},set inAttr(z){W=U(z)},get attr(){return O},set attr(z){O=U(z)},get fileAttr(){return(O||0)>>16&4095},get offset(){return H},set offset(z){H=U(z)},get encrypted(){return(Y&s.FLG_ENC)===s.FLG_ENC},get centralHeaderSize(){return s.CENHDR+B+q+$},get realDataOffset(){return H+s.LOCHDR+M.fnameLen+M.extraLen},get localHeader(){return M},loadLocalHeaderFromBinary:function(z){var V=z.slice(H,H+s.LOCHDR);if(V.readUInt32LE(0)!==s.LOCSIG)throw T6.Errors.INVALID_LOC();M.version=V.readUInt16LE(s.LOCVER),M.flags=V.readUInt16LE(s.LOCFLG),M.method=V.readUInt16LE(s.LOCHOW),M.time=V.readUInt32LE(s.LOCTIM),M.crc=V.readUInt32LE(s.LOCCRC),M.compressedSize=V.readUInt32LE(s.LOCSIZ),M.size=V.readUInt32LE(s.LOCLEN),M.fnameLen=V.readUInt16LE(s.LOCNAM),M.extraLen=V.readUInt16LE(s.LOCEXT);let L=H+s.LOCHDR+M.fnameLen,C=L+M.extraLen;return z.slice(L,C)},loadFromBinary:function(z){if(z.length!==s.CENHDR||z.readUInt32LE(0)!==s.CENSIG)throw T6.Errors.INVALID_CEN();D=z.readUInt16LE(s.CENVEM),X=z.readUInt16LE(s.CENVER),Y=z.readUInt16LE(s.CENFLG),Z=z.readUInt16LE(s.CENHOW),J=z.readUInt32LE(s.CENTIM),Q=z.readUInt32LE(s.CENCRC),w=z.readUInt32LE(s.CENSIZ),F=z.readUInt32LE(s.CENLEN),B=z.readUInt16LE(s.CENNAM),q=z.readUInt16LE(s.CENEXT),$=z.readUInt16LE(s.CENCOM),G=z.readUInt16LE(s.CENDSK),W=z.readUInt16LE(s.CENATT),O=z.readUInt32LE(s.CENATX),H=z.readUInt32LE(s.CENOFF)},localHeaderToBinary:function(){var z=Buffer.alloc(s.LOCHDR);return z.writeUInt32LE(s.LOCSIG,0),z.writeUInt16LE(X,s.LOCVER),z.writeUInt16LE(Y,s.LOCFLG),z.writeUInt16LE(Z,s.LOCHOW),z.writeUInt32LE(J,s.LOCTIM),z.writeUInt32LE(Q,s.LOCCRC),z.writeUInt32LE(w,s.LOCSIZ),z.writeUInt32LE(F,s.LOCLEN),z.writeUInt16LE(B,s.LOCNAM),z.writeUInt16LE(M.extraLen,s.LOCEXT),z},centralHeaderToBinary:function(){var z=Buffer.alloc(s.CENHDR+B+q+$);return z.writeUInt32LE(s.CENSIG,0),z.writeUInt16LE(D,s.CENVEM),z.writeUInt16LE(X,s.CENVER),z.writeUInt16LE(Y,s.CENFLG),z.writeUInt16LE(Z,s.CENHOW),z.writeUInt32LE(J,s.CENTIM),z.writeUInt32LE(Q,s.CENCRC),z.writeUInt32LE(w,s.CENSIZ),z.writeUInt32LE(F,s.CENLEN),z.writeUInt16LE(B,s.CENNAM),z.writeUInt16LE(q,s.CENEXT),z.writeUInt16LE($,s.CENCOM),z.writeUInt16LE(G,s.CENDSK),z.writeUInt16LE(W,s.CENATT),z.writeUInt32LE(O,s.CENATX),z.writeUInt32LE(H,s.CENOFF),z},toJSON:function(){let z=function(V){return V+" bytes"};return{made:D,version:X,flags:Y,method:T6.methodToString(Z),time:this.time,crc:"0x"+Q.toString(16).toUpperCase(),compressedSize:z(w),size:z(F),fileNameLength:z(B),extraLength:z(q),commentLength:z($),diskNumStart:G,inAttr:W,attr:O,offset:H,centralHeaderSize:z(s.CENHDR+B+q+$)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var jH=T((rJ0,CH)=>{var u5=k5(),OD=u5.Constants;CH.exports=function(){var D=0,X=0,Y=0,Z=0,J=0;return{get diskEntries(){return D},set diskEntries(Q){D=X=Q},get totalEntries(){return X},set totalEntries(Q){X=D=Q},get size(){return Y},set size(Q){Y=Q},get offset(){return Z},set offset(Q){Z=Q},get commentLength(){return J},set commentLength(Q){J=Q},get mainHeaderSize(){return OD.ENDHDR+J},loadFromBinary:function(Q){if((Q.length!==OD.ENDHDR||Q.readUInt32LE(0)!==OD.ENDSIG)&&(Q.length<OD.ZIP64HDR||Q.readUInt32LE(0)!==OD.ZIP64SIG))throw u5.Errors.INVALID_END();if(Q.readUInt32LE(0)===OD.ENDSIG)D=Q.readUInt16LE(OD.ENDSUB),X=Q.readUInt16LE(OD.ENDTOT),Y=Q.readUInt32LE(OD.ENDSIZ),Z=Q.readUInt32LE(OD.ENDOFF),J=Q.readUInt16LE(OD.ENDCOM);else D=u5.readBigUInt64LE(Q,OD.ZIP64SUB),X=u5.readBigUInt64LE(Q,OD.ZIP64TOT),Y=u5.readBigUInt64LE(Q,OD.ZIP64SIZE),Z=u5.readBigUInt64LE(Q,OD.ZIP64OFF),J=0},toBinary:function(){var Q=Buffer.alloc(OD.ENDHDR+J);return Q.writeUInt32LE(OD.ENDSIG,0),Q.writeUInt32LE(0,4),Q.writeUInt16LE(D,OD.ENDSUB),Q.writeUInt16LE(X,OD.ENDTOT),Q.writeUInt32LE(Y,OD.ENDSIZ),Q.writeUInt32LE(Z,OD.ENDOFF),Q.writeUInt16LE(J,OD.ENDCOM),Q.fill(" ",OD.ENDHDR),Q},toJSON:function(){let Q=function(w,F){let B=w.toString(16).toUpperCase();while(B.length<F)B="0"+B;return"0x"+B};return{diskEntries:D,totalEntries:X,size:Y+" bytes",offset:Q(Z,4),commentLength:J}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var Hw=T((Ww)=>{Ww.EntryHeader=EH();Ww.MainHeader=jH()});var IH=T((oJ0,TH)=>{TH.exports=function(D){var X=require("zlib"),Y={chunkSize:(parseInt(D.length/1024)+1)*1024};return{deflate:function(){return X.deflateRawSync(D,Y)},deflateAsync:function(Z){var J=X.createDeflateRaw(Y),Q=[],w=0;J.on("data",function(F){Q.push(F),w+=F.length}),J.on("end",function(){var F=Buffer.alloc(w),B=0;F.fill(0);for(var q=0;q<Q.length;q++){var $=Q[q];$.copy(F,B),B+=$.length}Z&&Z(F)}),J.end(D)}}}});var SH=T((eJ0,PH)=>{var bg=+(process.versions?process.versions.node:"").split(".")[0]||0;PH.exports=function(D,X){var Y=require("zlib");let Z=bg>=15&&X>0?{maxOutputLength:X}:{};return{inflate:function(){return Y.inflateRawSync(D,Z)},inflateAsync:function(J){var Q=Y.createInflateRaw(Z),w=[],F=0;Q.on("data",function(B){w.push(B),F+=B.length}),Q.on("end",function(){var B=Buffer.alloc(F),q=0;B.fill(0);for(var $=0;$<w.length;$++){var G=w[$];G.copy(B,q),q+=G.length}J&&J(B)}),Q.end(D)}}}});var uH=T((DQ0,kH)=>{var{randomFillSync:xH}=require("crypto"),gg=QY(),mg=new Uint32Array(256).map((D,X)=>{for(let Y=0;Y<8;Y++)if((X&1)!==0)X=X>>>1^3988292384;else X>>>=1;return X>>>0}),yH=(D,X)=>Math.imul(D,X)>>>0,fH=(D,X)=>{return mg[(D^X)&255]^D>>>8},I4=()=>{if(typeof xH==="function")return xH(Buffer.alloc(12));else return I4.node()};I4.node=()=>{let D=Buffer.alloc(12),X=D.length;for(let Y=0;Y<X;Y++)D[Y]=Math.random()*256&255;return D};var wY={genSalt:I4};function FY(D){let X=Buffer.isBuffer(D)?D:Buffer.from(D);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let Y=0;Y<X.length;Y++)this.updateKeys(X[Y])}FY.prototype.updateKeys=function(D){let X=this.keys;return X[0]=fH(X[0],D),X[1]+=X[0]&255,X[1]=yH(X[1],134775813)+1,X[2]=fH(X[2],X[1]>>>24),D};FY.prototype.next=function(){let D=(this.keys[2]|2)>>>0;return yH(D,D^1)>>8&255};function dg(D){let X=new FY(D);return function(Y){let Z=Buffer.alloc(Y.length),J=0;for(let Q of Y)Z[J++]=X.updateKeys(Q^X.next());return Z}}function cg(D){let X=new FY(D);return function(Y,Z,J=0){if(!Z)Z=Buffer.alloc(Y.length);for(let Q of Y){let w=X.next();Z[J++]=Q^w,X.updateKeys(Q)}return Z}}function lg(D,X,Y){if(!D||!Buffer.isBuffer(D)||D.length<12)return Buffer.alloc(0);let Z=dg(Y),J=Z(D.slice(0,12)),Q=(X.flags&8)===8?X.timeHighByte:X.crc>>>24;if(J[11]!==Q)throw gg.WRONG_PASSWORD();return Z(D.slice(12))}function ng(D){if(Buffer.isBuffer(D)&&D.length>=12)wY.genSalt=function(){return D.slice(0,12)};else if(D==="node")wY.genSalt=I4.node;else wY.genSalt=I4}function ig(D,X,Y,Z=!1){if(D==null)D=Buffer.alloc(0);if(!Buffer.isBuffer(D))D=Buffer.from(D.toString());let J=cg(Y),Q=wY.genSalt();if(Q[11]=X.crc>>>24&255,Z)Q[10]=X.crc>>>16&255;let w=Buffer.alloc(D.length+12);return J(Q,w),J(D,w,12)}kH.exports={decrypt:lg,encrypt:ig,_salter:ng}});var hH=T((BY)=>{BY.Deflater=IH();BY.Inflater=SH();BY.ZipCrypto=uH()});var zw=T((YQ0,_H)=>{var v0=k5(),pg=Hw(),RD=v0.Constants,Kw=hH();_H.exports=function(D,X){var Y=new pg.EntryHeader,Z=Buffer.alloc(0),J=Buffer.alloc(0),Q=!1,w=null,F=Buffer.alloc(0),B=Buffer.alloc(0),q=!0;let $=D,G=typeof $.decoder==="object"?$.decoder:v0.decoder;q=G.hasOwnProperty("efs")?G.efs:!1;function W(){if(!X||!(X instanceof Uint8Array))return Buffer.alloc(0);return B=Y.loadLocalHeaderFromBinary(X),X.slice(Y.realDataOffset,Y.realDataOffset+Y.compressedSize)}function O(z){if(!Y.flags_desc){if(v0.crc32(z)!==Y.localHeader.crc)return!1}else{let V={},L=Y.realDataOffset+Y.compressedSize;if(X.readUInt32LE(L)==RD.LOCSIG||X.readUInt32LE(L)==RD.CENSIG)throw v0.Errors.DESCRIPTOR_NOT_EXIST();if(X.readUInt32LE(L)==RD.EXTSIG)V.crc=X.readUInt32LE(L+RD.EXTCRC),V.compressedSize=X.readUInt32LE(L+RD.EXTSIZ),V.size=X.readUInt32LE(L+RD.EXTLEN);else if(X.readUInt16LE(L+12)===19280)V.crc=X.readUInt32LE(L+RD.EXTCRC-4),V.compressedSize=X.readUInt32LE(L+RD.EXTSIZ-4),V.size=X.readUInt32LE(L+RD.EXTLEN-4);else throw v0.Errors.DESCRIPTOR_UNKNOWN();if(V.compressedSize!==Y.compressedSize||V.size!==Y.size||V.crc!==Y.crc)throw v0.Errors.DESCRIPTOR_FAULTY();if(v0.crc32(z)!==V.crc)return!1}return!0}function H(z,V,L){if(typeof V>"u"&&typeof z==="string")L=z,z=void 0;if(Q){if(z&&V)V(Buffer.alloc(0),v0.Errors.DIRECTORY_CONTENT_ERROR());return Buffer.alloc(0)}var C=W();if(C.length===0){if(z&&V)V(C);return C}if(Y.encrypted){if(typeof L!=="string"&&!Buffer.isBuffer(L))throw v0.Errors.INVALID_PASS_PARAM();C=Kw.ZipCrypto.decrypt(C,Y,L)}var y=Buffer.alloc(Y.size);switch(Y.method){case v0.Constants.STORED:if(C.copy(y),!O(y)){if(z&&V)V(y,v0.Errors.BAD_CRC());throw v0.Errors.BAD_CRC()}else{if(z&&V)V(y);return y}case v0.Constants.DEFLATED:var A=new Kw.Inflater(C,Y.size);if(!z){if(A.inflate(y).copy(y,0),!O(y))throw v0.Errors.BAD_CRC(`"${G.decode(Z)}"`);return y}else A.inflateAsync(function(k){if(k.copy(k,0),V)if(!O(k))V(k,v0.Errors.BAD_CRC());else V(k)});break;default:if(z&&V)V(Buffer.alloc(0),v0.Errors.UNKNOWN_METHOD());throw v0.Errors.UNKNOWN_METHOD()}}function M(z,V){if((!w||!w.length)&&Buffer.isBuffer(X)){if(z&&V)V(W());return W()}if(w.length&&!Q){var L;switch(Y.method){case v0.Constants.STORED:if(Y.compressedSize=Y.size,L=Buffer.alloc(w.length),w.copy(L),z&&V)V(L);return L;default:case v0.Constants.DEFLATED:var C=new Kw.Deflater(w);if(!z){var y=C.deflate();return Y.compressedSize=y.length,y}else C.deflateAsync(function(A){L=Buffer.alloc(A.length),Y.compressedSize=A.length,A.copy(L),V&&V(L)});C=null;break}}else if(z&&V)V(Buffer.alloc(0));else return Buffer.alloc(0)}function U(z,V){return(z.readUInt32LE(V+4)<<4)+z.readUInt32LE(V)}function N(z){try{var V=0,L,C,y;while(V+4<z.length)if(L=z.readUInt16LE(V),V+=2,C=z.readUInt16LE(V),V+=2,y=z.slice(V,V+C),V+=C,RD.ID_ZIP64===L)R(y)}catch(A){throw v0.Errors.EXTRA_FIELD_PARSE_ERROR()}}function R(z){var V,L,C,y;if(z.length>=RD.EF_ZIP64_SCOMP){if(V=U(z,RD.EF_ZIP64_SUNCOMP),Y.size===RD.EF_ZIP64_OR_32)Y.size=V}if(z.length>=RD.EF_ZIP64_RHO){if(L=U(z,RD.EF_ZIP64_SCOMP),Y.compressedSize===RD.EF_ZIP64_OR_32)Y.compressedSize=L}if(z.length>=RD.EF_ZIP64_DSN){if(C=U(z,RD.EF_ZIP64_RHO),Y.offset===RD.EF_ZIP64_OR_32)Y.offset=C}if(z.length>=RD.EF_ZIP64_DSN+4){if(y=z.readUInt32LE(RD.EF_ZIP64_DSN),Y.diskNumStart===RD.EF_ZIP64_OR_16)Y.diskNumStart=y}}return{get entryName(){return G.decode(Z)},get rawEntryName(){return Z},set entryName(z){Z=v0.toBuffer(z,G.encode);var V=Z[Z.length-1];Q=V===47||V===92,Y.fileNameLength=Z.length},get efs(){if(typeof q==="function")return q(this.entryName);else return q},get extra(){return F},set extra(z){F=z,Y.extraLength=z.length,N(z)},get comment(){return G.decode(J)},set comment(z){if(J=v0.toBuffer(z,G.encode),Y.commentLength=J.length,J.length>65535)throw v0.Errors.COMMENT_TOO_LONG()},get name(){var z=G.decode(Z);return Q?z.substr(z.length-1).split("/").pop():z.split("/").pop()},get isDirectory(){return Q},getCompressedData:function(){return M(!1,null)},getCompressedDataAsync:function(z){M(!0,z)},setData:function(z){if(w=v0.toBuffer(z,v0.decoder.encode),!Q&&w.length)Y.size=w.length,Y.method=v0.Constants.DEFLATED,Y.crc=v0.crc32(z),Y.changed=!0;else Y.method=v0.Constants.STORED},getData:function(z){if(Y.changed)return w;else return H(!1,null,z)},getDataAsync:function(z,V){if(Y.changed)z(w);else H(!0,z,V)},set attr(z){Y.attr=z},get attr(){return Y.attr},set header(z){Y.loadFromBinary(z)},get header(){return Y},packCentralHeader:function(){Y.flags_efs=this.efs,Y.extraLength=F.length;var z=Y.centralHeaderToBinary(),V=v0.Constants.CENHDR;return Z.copy(z,V),V+=Z.length,F.copy(z,V),V+=Y.extraLength,J.copy(z,V),z},packLocalHeader:function(){let z=0;Y.flags_efs=this.efs,Y.extraLocalLength=B.length;let V=Y.localHeaderToBinary(),L=Buffer.alloc(V.length+Z.length+Y.extraLocalLength);return V.copy(L,z),z+=V.length,Z.copy(L,z),z+=Z.length,B.copy(L,z),z+=B.length,L},toJSON:function(){let z=function(V){return"<"+(V&&V.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:Y.toJSON(),compressedData:z(X),data:z(w)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}});var gH=T((ZQ0,bH)=>{var vH=zw(),ag=Hw(),nD=k5();bH.exports=function(D,X){var Y=[],Z={},J=Buffer.alloc(0),Q=new ag.MainHeader,w=!1,F=null;let B=new Set,q=X,{noSort:$,decoder:G}=q;if(D)H(q.readEntries);else w=!0;function W(){let U=new Set;for(let N of Object.keys(Z)){let R=N.split("/");if(R.pop(),!R.length)continue;for(let z=0;z<R.length;z++){let V=R.slice(0,z+1).join("/")+"/";U.add(V)}}for(let N of U)if(!(N in Z)){let R=new vH(q);R.entryName=N,R.attr=16,R.temporary=!0,Y.push(R),Z[R.entryName]=R,B.add(R)}}function O(){if(w=!0,Z={},Q.diskEntries>(D.length-Q.offset)/nD.Constants.CENHDR)throw nD.Errors.DISK_ENTRY_TOO_LARGE();Y=Array(Q.diskEntries);var U=Q.offset;for(var N=0;N<Y.length;N++){var R=U,z=new vH(q,D);if(z.header=D.slice(R,R+=nD.Constants.CENHDR),z.entryName=D.slice(R,R+=z.header.fileNameLength),z.header.extraLength)z.extra=D.slice(R,R+=z.header.extraLength);if(z.header.commentLength)z.comment=D.slice(R,R+z.header.commentLength);U+=z.header.centralHeaderSize,Y[N]=z,Z[z.entryName]=z}B.clear(),W()}function H(U){var N=D.length-nD.Constants.ENDHDR,R=Math.max(0,N-65535),z=R,V=D.length,L=-1,C=0;if(typeof q.trailingSpace==="boolean"?q.trailingSpace:!1)R=0;for(N;N>=z;N--){if(D[N]!==80)continue;if(D.readUInt32LE(N)===nD.Constants.ENDSIG){L=N,C=N,V=N+nD.Constants.ENDHDR,z=N-nD.Constants.END64HDR;continue}if(D.readUInt32LE(N)===nD.Constants.END64SIG){z=R;continue}if(D.readUInt32LE(N)===nD.Constants.ZIP64SIG){L=N,V=N+nD.readBigUInt64LE(D,N+nD.Constants.ZIP64SIZE)+nD.Constants.ZIP64LEAD;break}}if(L==-1)throw nD.Errors.INVALID_FORMAT();if(Q.loadFromBinary(D.slice(L,V)),Q.commentLength)J=D.slice(C+nD.Constants.ENDHDR);if(U)O()}function M(){if(Y.length>1&&!$)Y.sort((U,N)=>U.entryName.toLowerCase().localeCompare(N.entryName.toLowerCase()))}return{get entries(){if(!w)O();return Y.filter((U)=>!B.has(U))},get comment(){return G.decode(J)},set comment(U){J=nD.toBuffer(U,G.encode),Q.commentLength=J.length},getEntryCount:function(){if(!w)return Q.diskEntries;return Y.length},forEach:function(U){this.entries.forEach(U)},getEntry:function(U){if(!w)O();return Z[U]||null},setEntry:function(U){if(!w)O();Y.push(U),Z[U.entryName]=U,Q.totalEntries=Y.length},deleteFile:function(U,N=!0){if(!w)O();let R=Z[U];this.getEntryChildren(R,N).map((V)=>V.entryName).forEach(this.deleteEntry)},deleteEntry:function(U){if(!w)O();let N=Z[U],R=Y.indexOf(N);if(R>=0)Y.splice(R,1),delete Z[U],Q.totalEntries=Y.length},getEntryChildren:function(U,N=!0){if(!w)O();if(typeof U==="object")if(U.isDirectory&&N){let R=[],z=U.entryName;for(let V of Y)if(V.entryName.startsWith(z))R.push(V);return R}else return[U];return[]},getChildCount:function(U){if(U&&U.isDirectory){let N=this.getEntryChildren(U);return N.includes(U)?N.length-1:N.length}return 0},compressToBuffer:function(){if(!w)O();M();let U=[],N=[],R=0,z=0;Q.size=0,Q.offset=0;let V=0;for(let y of this.entries){let A=y.getCompressedData();y.header.offset=z;let k=y.packLocalHeader(),f=k.length+A.length;z+=f,U.push(k),U.push(A);let S=y.packCentralHeader();N.push(S),Q.size+=S.length,R+=f+S.length,V++}R+=Q.mainHeaderSize,Q.offset=z,Q.totalEntries=V,z=0;let L=Buffer.alloc(R);for(let y of U)y.copy(L,z),z+=y.length;for(let y of N)y.copy(L,z),z+=y.length;let C=Q.toBinary();if(J)J.copy(C,nD.Constants.ENDHDR);return C.copy(L,z),D=L,w=!1,L},toAsyncBuffer:function(U,N,R,z){try{if(!w)O();M();let V=[],L=[],C=0,y=0,A=0;Q.size=0,Q.offset=0;let k=function(f){if(f.length>0){let S=f.shift(),v=S.entryName+S.extra.toString();if(R)R(v);S.getCompressedDataAsync(function(b){if(z)z(v);S.header.offset=y;let n=S.packLocalHeader(),h=n.length+b.length;y+=h,V.push(n),V.push(b);let E=S.packCentralHeader();L.push(E),Q.size+=E.length,C+=h+E.length,A++,k(f)})}else{C+=Q.mainHeaderSize,Q.offset=y,Q.totalEntries=A,y=0;let S=Buffer.alloc(C);V.forEach(function(b){b.copy(S,y),y+=b.length}),L.forEach(function(b){b.copy(S,y),y+=b.length});let v=Q.toBinary();if(J)J.copy(v,nD.Constants.ENDHDR);v.copy(S,y),D=S,w=!1,U(S)}};k(Array.from(this.entries))}catch(V){N(V)}}}}});var Mw=T((JQ0,dH)=>{var WD=k5(),AD=require("path"),tg=zw(),rg=gH(),K9=(...D)=>WD.findLast(D,(X)=>typeof X==="boolean"),mH=(...D)=>WD.findLast(D,(X)=>typeof X==="string"),sg=(...D)=>WD.findLast(D,(X)=>typeof X==="function"),og={noSort:!1,readEntries:!1,method:WD.Constants.NONE,fs:null};dH.exports=function(D,X){let Y=null,Z=Object.assign(Object.create(null),og);if(D&&typeof D==="object"){if(!(D instanceof Uint8Array)){if(Object.assign(Z,D),D=Z.input?Z.input:void 0,Z.input)delete Z.input}if(Buffer.isBuffer(D))Y=D,Z.method=WD.Constants.BUFFER,D=void 0}Object.assign(Z,X);let J=new WD(Z);if(typeof Z.decoder!=="object"||typeof Z.decoder.encode!=="function"||typeof Z.decoder.decode!=="function")Z.decoder=WD.decoder;if(D&&typeof D==="string")if(J.fs.existsSync(D))Z.method=WD.Constants.FILE,Z.filename=D,Y=J.fs.readFileSync(D);else throw WD.Errors.INVALID_FILENAME();let Q=new rg(Y,Z),{canonical:w,sanitize:F,zipnamefix:B}=WD;function q(O){if(O&&Q){var H;if(typeof O==="string")H=Q.getEntry(AD.posix.normalize(O));if(typeof O==="object"&&typeof O.entryName<"u"&&typeof O.header<"u")H=Q.getEntry(O.entryName);if(H)return H}return null}function $(O){let{join:H,normalize:M,sep:U}=AD.posix;return H(".",M(U+O.split("\\").join(U)+U))}function G(O){if(O instanceof RegExp)return function(H){return function(M){return H.test(M)}}(O);else if(typeof O!=="function")return()=>!0;return O}let W=(O,H)=>{let M=H.slice(-1);return M=M===J.sep?J.sep:"",AD.relative(O,H)+M};return{readFile:function(O,H){var M=q(O);return M&&M.getData(H)||null},childCount:function(O){let H=q(O);if(H)return Q.getChildCount(H)},readFileAsync:function(O,H){var M=q(O);if(M)M.getDataAsync(H);else H(null,"getEntry failed for:"+O)},readAsText:function(O,H){var M=q(O);if(M){var U=M.getData();if(U&&U.length)return U.toString(H||"utf8")}return""},readAsTextAsync:function(O,H,M){var U=q(O);if(U)U.getDataAsync(function(N,R){if(R){H(N,R);return}if(N&&N.length)H(N.toString(M||"utf8"));else H("")});else H("")},deleteFile:function(O,H=!0){var M=q(O);if(M)Q.deleteFile(M.entryName,H)},deleteEntry:function(O){var H=q(O);if(H)Q.deleteEntry(H.entryName)},addZipComment:function(O){Q.comment=O},getZipComment:function(){return Q.comment||""},addZipEntryComment:function(O,H){var M=q(O);if(M)M.comment=H},getZipEntryComment:function(O){var H=q(O);if(H)return H.comment||"";return""},updateFile:function(O,H){var M=q(O);if(M)M.setData(H)},addLocalFile:function(O,H,M,U){if(J.fs.existsSync(O)){H=H?$(H):"";let N=AD.win32.basename(AD.win32.normalize(O));H+=M?M:N;let R=J.fs.statSync(O),z=R.isFile()?J.fs.readFileSync(O):Buffer.alloc(0);if(R.isDirectory())H+=J.sep;this.addFile(H,z,U,R)}else throw WD.Errors.FILE_NOT_FOUND(O)},addLocalFileAsync:function(O,H){O=typeof O==="object"?O:{localPath:O};let M=AD.resolve(O.localPath),{comment:U}=O,{zipPath:N,zipName:R}=O,z=this;J.fs.stat(M,function(V,L){if(V)return H(V,!1);N=N?$(N):"";let C=AD.win32.basename(AD.win32.normalize(M));if(N+=R?R:C,L.isFile())J.fs.readFile(M,function(y,A){if(y)return H(y,!1);return z.addFile(N,A,U,L),setImmediate(H,void 0,!0)});else if(L.isDirectory())return N+=J.sep,z.addFile(N,Buffer.alloc(0),U,L),setImmediate(H,void 0,!0)})},addLocalFolder:function(O,H,M){if(M=G(M),H=H?$(H):"",O=AD.normalize(O),J.fs.existsSync(O)){let U=J.findFiles(O),N=this;if(U.length)for(let R of U){let z=AD.join(H,W(O,R));if(M(z))N.addLocalFile(R,AD.dirname(z))}}else throw WD.Errors.FILE_NOT_FOUND(O)},addLocalFolderAsync:function(O,H,M,U){U=G(U),M=M?$(M):"",O=AD.normalize(O);var N=this;J.fs.open(O,"r",function(R){if(R&&R.code==="ENOENT")H(void 0,WD.Errors.FILE_NOT_FOUND(O));else if(R)H(void 0,R);else{var z=J.findFiles(O),V=-1,L=function(){if(V+=1,V<z.length){var C=z[V],y=W(O,C).split("\\").join("/");if(y=y.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),U(y))J.fs.stat(C,function(A,k){if(A)H(void 0,A);if(k.isFile())J.fs.readFile(C,function(f,S){if(f)H(void 0,f);else N.addFile(M+y,S,"",k),L()});else N.addFile(M+y+"/",Buffer.alloc(0),"",k),L()});else process.nextTick(()=>{L()})}else H(!0,void 0)};L()}})},addLocalFolderAsync2:function(O,H){let M=this;O=typeof O==="object"?O:{localPath:O},localPath=AD.resolve($(O.localPath));let{zipPath:U,filter:N,namefix:R}=O;if(N instanceof RegExp)N=function(L){return function(C){return L.test(C)}}(N);else if(typeof N!=="function")N=function(){return!0};if(U=U?$(U):"",R=="latin1")R=(L)=>L.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"");if(typeof R!=="function")R=(L)=>L;let z=(L)=>AD.join(U,R(W(localPath,L))),V=(L)=>AD.win32.basename(AD.win32.normalize(R(L)));J.fs.open(localPath,"r",function(L){if(L&&L.code==="ENOENT")H(void 0,WD.Errors.FILE_NOT_FOUND(localPath));else if(L)H(void 0,L);else J.findFilesAsync(localPath,function(C,y){if(C)return H(C);if(y=y.filter((A)=>N(z(A))),!y.length)H(void 0,!1);setImmediate(y.reverse().reduce(function(A,k){return function(f,S){if(f||S===!1)return setImmediate(A,f,!1);M.addLocalFileAsync({localPath:k,zipPath:AD.dirname(z(k)),zipName:V(k)},A)}},H))})})},addLocalFolderPromise:function(O,H){return new Promise((M,U)=>{this.addLocalFolderAsync2(Object.assign({localPath:O},H),(N,R)=>{if(N)U(N);if(R)M(this)})})},addFile:function(O,H,M,U){O=B(O);let N=q(O),R=N!=null;if(!R)N=new tg(Z),N.entryName=O;N.comment=M||"";let z=typeof U==="object"&&U instanceof J.fs.Stats;if(z)N.header.time=U.mtime;var V=N.isDirectory?16:0;let L=N.isDirectory?16384:32768;if(z)L|=4095&U.mode;else if(typeof U==="number")L|=4095&U;else L|=N.isDirectory?493:420;if(V=(V|L<<16)>>>0,N.attr=V,N.setData(H),!R)Q.setEntry(N);return N},getEntries:function(O){return Q.password=O,Q?Q.entries:[]},getEntry:function(O){return q(O)},getEntryCount:function(){return Q.getEntryCount()},forEach:function(O){return Q.forEach(O)},extractEntryTo:function(O,H,M,U,N,R){U=K9(!1,U),N=K9(!1,N),M=K9(!0,M),R=mH(N,R);var z=q(O);if(!z)throw WD.Errors.NO_ENTRY();var V=w(z.entryName),L=F(H,R&&!z.isDirectory?R:M?V:AD.basename(V));if(z.isDirectory){var C=Q.getEntryChildren(z);return C.forEach(function(k){if(k.isDirectory)return;var f=k.getData();if(!f)throw WD.Errors.CANT_EXTRACT_FILE();var S=w(k.entryName),v=F(H,M?S:AD.basename(S));let b=N?k.header.fileAttr:void 0;J.writeFileTo(v,f,U,b)}),!0}var y=z.getData(Q.password);if(!y)throw WD.Errors.CANT_EXTRACT_FILE();if(J.fs.existsSync(L)&&!U)throw WD.Errors.CANT_OVERRIDE();let A=N?O.header.fileAttr:void 0;return J.writeFileTo(L,y,U,A),!0},test:function(O){if(!Q)return!1;for(var H in Q.entries)try{if(H.isDirectory)continue;var M=Q.entries[H].getData(O);if(!M)return!1}catch(U){return!1}return!0},extractAllTo:function(O,H,M,U){if(M=K9(!1,M),U=mH(M,U),H=K9(!1,H),!Q)throw WD.Errors.NO_ZIP();Q.entries.forEach(function(N){var R=F(O,w(N.entryName));if(N.isDirectory){J.makeDir(R);return}var z=N.getData(U);if(!z)throw WD.Errors.CANT_EXTRACT_FILE();let V=M?N.header.fileAttr:void 0;J.writeFileTo(R,z,H,V);try{J.fs.utimesSync(R,N.header.time,N.header.time)}catch(L){throw WD.Errors.CANT_EXTRACT_FILE()}})},extractAllToAsync:function(O,H,M,U){if(U=sg(H,M,U),M=K9(!1,M),H=K9(!1,H),!U)return new Promise((L,C)=>{this.extractAllToAsync(O,H,M,function(y){if(y)C(y);else L(this)})});if(!Q){U(WD.Errors.NO_ZIP());return}O=AD.resolve(O);let N=(L)=>F(O,AD.normalize(w(L.entryName))),R=(L,C)=>Error(L+': "'+C+'"'),z=[],V=[];Q.entries.forEach((L)=>{if(L.isDirectory)z.push(L);else V.push(L)});for(let L of z){let C=N(L),y=M?L.header.fileAttr:void 0;try{if(J.makeDir(C),y)J.fs.chmodSync(C,y);J.fs.utimesSync(C,L.header.time,L.header.time)}catch(A){U(R("Unable to create folder",C))}}V.reverse().reduce(function(L,C){return function(y){if(y)L(y);else{let A=AD.normalize(w(C.entryName)),k=F(O,A);C.getDataAsync(function(f,S){if(S)L(S);else if(!f)L(WD.Errors.CANT_EXTRACT_FILE());else{let v=M?C.header.fileAttr:void 0;J.writeFileToAsync(k,f,H,v,function(b){if(!b)L(R("Unable to write file",k));J.fs.utimes(k,C.header.time,C.header.time,function(n){if(n)L(R("Unable to set times",k));else L()})})}})}}},U)()},writeZip:function(O,H){if(arguments.length===1){if(typeof O==="function")H=O,O=""}if(!O&&Z.filename)O=Z.filename;if(!O)return;var M=Q.compressToBuffer();if(M){var U=J.writeFileTo(O,M,!0);if(typeof H==="function")H(!U?Error("failed"):null,"")}},writeZipPromise:function(O,H){let{overwrite:M,perm:U}=Object.assign({overwrite:!0},H);return new Promise((N,R)=>{if(!O&&Z.filename)O=Z.filename;if(!O)R("ADM-ZIP: ZIP File Name Missing");this.toBufferPromise().then((z)=>{let V=(L)=>L?N(L):R("ADM-ZIP: Wasn't able to write zip file");J.writeFileToAsync(O,z,M,U,V)},R)})},toBufferPromise:function(){return new Promise((O,H)=>{Q.toAsyncBuffer(O,H)})},toBuffer:function(O,H,M,U){if(typeof O==="function")return Q.toAsyncBuffer(O,H,M,U),null;return Q.compressToBuffer()}}}});var iH=T((QQ0,nH)=>{var lH={};nH.exports=lH;var cH={reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],grey:[90,39],brightRed:[91,39],brightGreen:[92,39],brightYellow:[93,39],brightBlue:[94,39],brightMagenta:[95,39],brightCyan:[96,39],brightWhite:[97,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgGray:[100,49],bgGrey:[100,49],bgBrightRed:[101,49],bgBrightGreen:[102,49],bgBrightYellow:[103,49],bgBrightBlue:[104,49],bgBrightMagenta:[105,49],bgBrightCyan:[106,49],bgBrightWhite:[107,49],blackBG:[40,49],redBG:[41,49],greenBG:[42,49],yellowBG:[43,49],blueBG:[44,49],magentaBG:[45,49],cyanBG:[46,49],whiteBG:[47,49]};Object.keys(cH).forEach(function(D){var X=cH[D],Y=lH[D]=[];Y.open="\x1B["+X[0]+"m",Y.close="\x1B["+X[1]+"m"})});var aH=T((wQ0,pH)=>{pH.exports=function(D,X){X=X||process.argv;var Y=X.indexOf("--"),Z=/^-{1,2}/.test(D)?"":"--",J=X.indexOf(Z+D);return J!==-1&&(Y===-1?!0:J<Y)}});var rH=T((FQ0,tH)=>{var eg=require("os"),$8=aH(),B1=process.env,h5=void 0;if($8("no-color")||$8("no-colors")||$8("color=false"))h5=!1;else if($8("color")||$8("colors")||$8("color=true")||$8("color=always"))h5=!0;if("FORCE_COLOR"in B1)h5=B1.FORCE_COLOR.length===0||parseInt(B1.FORCE_COLOR,10)!==0;function Dm(D){if(D===0)return!1;return{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function Xm(D){if(h5===!1)return 0;if($8("color=16m")||$8("color=full")||$8("color=truecolor"))return 3;if($8("color=256"))return 2;if(D&&!D.isTTY&&h5!==!0)return 0;var X=h5?1:0;if(process.platform==="win32"){var Y=eg.release().split(".");if(Number(process.versions.node.split(".")[0])>=8&&Number(Y[0])>=10&&Number(Y[2])>=10586)return Number(Y[2])>=14931?3:2;return 1}if("CI"in B1){if(["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(function(J){return J in B1})||B1.CI_NAME==="codeship")return 1;return X}if("TEAMCITY_VERSION"in B1)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(B1.TEAMCITY_VERSION)?1:0;if("TERM_PROGRAM"in B1){var Z=parseInt((B1.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(B1.TERM_PROGRAM){case"iTerm.app":return Z>=3?3:2;case"Hyper":return 3;case"Apple_Terminal":return 2}}if(/-256(color)?$/i.test(B1.TERM))return 2;if(/^screen|^xterm|^vt100|^rxvt|color|ansi|cygwin|linux/i.test(B1.TERM))return 1;if("COLORTERM"in B1)return 1;if(B1.TERM==="dumb")return X;return X}function Lw(D){var X=Xm(D);return Dm(X)}tH.exports={supportsColor:Lw,stdout:Lw(process.stdout),stderr:Lw(process.stderr)}});var oH=T((BQ0,sH)=>{sH.exports=function(X,Y){var Z="";X=X||"Run the trap, drop the bass",X=X.split("");var J={a:["@","Ą","Ⱥ","Ʌ","Δ","Λ","Д"],b:["ß","Ɓ","Ƀ","ɮ","β","฿"],c:["©","Ȼ","Ͼ"],d:["Ð","Ɗ","Ԁ","ԁ","Ԃ","ԃ"],e:["Ë","ĕ","Ǝ","ɘ","Σ","ξ","Ҽ","੬"],f:["Ӻ"],g:["ɢ"],h:["Ħ","ƕ","Ң","Һ","Ӈ","Ԋ"],i:["༏"],j:["Ĵ"],k:["ĸ","Ҡ","Ӄ","Ԟ"],l:["Ĺ"],m:["ʍ","Ӎ","ӎ","Ԡ","ԡ","൩"],n:["Ñ","ŋ","Ɲ","Ͷ","Π","Ҋ"],o:["Ø","õ","ø","Ǿ","ʘ","Ѻ","ם","","๏"],p:["Ƿ","Ҏ"],q:["্"],r:["®","Ʀ","Ȑ","Ɍ","ʀ","Я"],s:["§","Ϟ","ϟ","Ϩ"],t:["Ł","Ŧ","ͳ"],u:["Ʊ","Ս"],v:["ט"],w:["Ш","Ѡ","Ѽ","൰"],x:["Ҳ","Ӿ","Ӽ","ӽ"],y:["¥","Ұ","Ӌ"],z:["Ƶ","ɀ"]};return X.forEach(function(Q){Q=Q.toLowerCase();var w=J[Q]||[" "],F=Math.floor(Math.random()*w.length);if(typeof J[Q]<"u")Z+=J[Q][F];else Z+=Q}),Z}});var DK=T((qQ0,eH)=>{eH.exports=function(X,Y){X=X||" he is here ";var Z={up:["̍","̎","̄","̅","̿","̑","̆","̐","͒","͗","͑","̇","̈","̊","͂","̓","̈","͊","͋","͌","̃","̂","̌","͐","̀","́","̋","̏","̒","̓","̔","̽","̉","ͣ","ͤ","ͥ","ͦ","ͧ","ͨ","ͩ","ͪ","ͫ","ͬ","ͭ","ͮ","ͯ","̾","͛","͆","̚"],down:["̖","̗","̘","̙","̜","̝","̞","̟","̠","̤","̥","̦","̩","̪","̫","̬","̭","̮","̯","̰","̱","̲","̳","̹","̺","̻","̼","ͅ","͇","͈","͉","͍","͎","͓","͔","͕","͖","͙","͚","̣"],mid:["̕","̛","̀","́","͘","̡","̢","̧","̨","̴","̵","̶","͜","͝","͞","͟","͠","͢","̸","̷","͡"," ҉"]},J=[].concat(Z.up,Z.down,Z.mid);function Q(B){var q=Math.floor(Math.random()*B);return q}function w(B){var q=!1;return J.filter(function($){q=$===B}),q}function F(B,q){var $="",G,W;q=q||{},q.up=typeof q.up<"u"?q.up:!0,q.mid=typeof q.mid<"u"?q.mid:!0,q.down=typeof q.down<"u"?q.down:!0,q.size=typeof q.size<"u"?q.size:"maxi",B=B.split("");for(W in B){if(w(W))continue;switch($=$+B[W],G={up:0,down:0,mid:0},q.size){case"mini":G.up=Q(8),G.mid=Q(2),G.down=Q(8);break;case"maxi":G.up=Q(16)+3,G.mid=Q(4)+1,G.down=Q(64)+3;break;default:G.up=Q(8)+1,G.mid=Q(6)/2,G.down=Q(8)+1;break}var O=["up","mid","down"];for(var H in O){var M=O[H];for(var U=0;U<=G[M];U++)if(q[M])$=$+Z[M][Q(Z[M].length)]}}return $}return F(X,Y)}});var YK=T(($Q0,XK)=>{XK.exports=function(D){return function(X,Y,Z){if(X===" ")return X;switch(Y%3){case 0:return D.red(X);case 1:return D.white(X);case 2:return D.blue(X)}}}});var JK=T((GQ0,ZK)=>{ZK.exports=function(D){return function(X,Y,Z){return Y%2===0?X:D.inverse(X)}}});var wK=T((OQ0,QK)=>{QK.exports=function(D){var X=["red","yellow","green","blue","magenta"];return function(Y,Z,J){if(Y===" ")return Y;else return D[X[Z++%X.length]](Y)}}});var BK=T((WQ0,FK)=>{FK.exports=function(D){var X=["underline","inverse","grey","yellow","red","green","blue","white","cyan","magenta","brightYellow","brightRed","brightGreen","brightBlue","brightWhite","brightCyan","brightMagenta"];return function(Y,Z,J){return Y===" "?Y:D[X[Math.round(Math.random()*(X.length-2))]](Y)}}});var WK=T((KQ0,OK)=>{var E0={};OK.exports=E0;E0.themes={};var Ym=require("util"),z9=E0.styles=iH(),qK=Object.defineProperties,Zm=new RegExp(/[\r\n]+/g);E0.supportsColor=rH().supportsColor;if(typeof E0.enabled>"u")E0.enabled=E0.supportsColor()!==!1;E0.enable=function(){E0.enabled=!0};E0.disable=function(){E0.enabled=!1};E0.stripColors=E0.strip=function(D){return(""+D).replace(/\x1B\[\d+m/g,"")};var HQ0=E0.stylize=function(X,Y){if(!E0.enabled)return X+"";var Z=z9[Y];if(!Z&&Y in E0)return E0[Y](X);return Z.open+X+Z.close},Jm=/[|\\{}()[\]^$+*?.]/g,Qm=function(D){if(typeof D!=="string")throw TypeError("Expected a string");return D.replace(Jm,"\\$&")};function $K(D){var X=function Y(){return Fm.apply(Y,arguments)};return X._styles=D,X.__proto__=wm,X}var GK=function(){var D={};return z9.grey=z9.gray,Object.keys(z9).forEach(function(X){z9[X].closeRe=new RegExp(Qm(z9[X].close),"g"),D[X]={get:function(){return $K(this._styles.concat(X))}}}),D}(),wm=qK(function(){},GK);function Fm(){var D=Array.prototype.slice.call(arguments),X=D.map(function(w){if(w!=null&&w.constructor===String)return w;else return Ym.inspect(w)}).join(" ");if(!E0.enabled||!X)return X;var Y=X.indexOf(`
|
|
41
41
|
`)!=-1,Z=this._styles,J=Z.length;while(J--){var Q=z9[Z[J]];if(X=Q.open+X.replace(Q.closeRe,Q.open)+Q.close,Y)X=X.replace(Zm,function(w){return Q.close+w+Q.open})}return X}E0.setTheme=function(D){if(typeof D==="string"){console.log("colors.setTheme now only accepts an object, not a string. If you are trying to set a theme from a file, it is now your (the caller's) responsibility to require the file. The old syntax looked like colors.setTheme(__dirname + '/../themes/generic-logging.js'); The new syntax looks like colors.setTheme(require(__dirname + '/../themes/generic-logging.js'));");return}for(var X in D)(function(Y){E0[Y]=function(Z){if(typeof D[Y]==="object"){var J=Z;for(var Q in D[Y])J=E0[D[Y][Q]](J);return J}return E0[D[Y]](Z)}})(X)};function Bm(){var D={};return Object.keys(GK).forEach(function(X){D[X]={get:function(){return $K([X])}}}),D}var qm=function(X,Y){var Z=Y.split("");return Z=Z.map(X),Z.join("")};E0.trap=oH();E0.zalgo=DK();E0.maps={};E0.maps.america=YK()(E0);E0.maps.zebra=JK()(E0);E0.maps.rainbow=wK()(E0);E0.maps.random=BK()(E0);for(Vw in E0.maps)(function(D){E0[D]=function(X){return qm(E0.maps[D],X)}})(Vw);var Vw;qK(E0,Bm())});var KK=T((zQ0,HK)=>{var $m=WK();HK.exports=$m});var zK=T((Uw)=>{Uw.indent=function(X){return Array(X+1).join(" ")};Uw.getMaxIndexLength=function(D){var X=0;return Object.getOwnPropertyNames(D).forEach(function(Y){if(D[Y]===void 0)return;X=Math.max(X,Y.length)}),X}});var MK=T((LQ0,Gm)=>{Gm.exports={author:"Rafael de Oleza <rafeca@gmail.com> (https://github.com/rafeca)",name:"prettyjson",description:"Package for formatting JSON data in a coloured YAML-style, perfect for CLI output",version:"1.2.5",homepage:"http://rafeca.com/prettyjson",keywords:["json","cli","formatting","colors"],repository:{type:"git",url:"https://github.com/rafeca/prettyjson.git"},bugs:{url:"https://github.com/rafeca/prettyjson/issues"},main:"./lib/prettyjson",files:["bin/prettyjson","lib/*.js"],license:"MIT",scripts:{test:"npm run jshint && mocha --reporter spec",testwin:"node ./node_modules/mocha/bin/mocha --reporter spec",jshint:"jshint lib/*.js test/*.js",coverage:"istanbul cover _mocha --report lcovonly -- -R spec",coveralls:"npm run coverage && cat ./coverage/lcov.info | coveralls && rm -rf ./coverage",changelog:"git log $(git describe --tags --abbrev=0)..HEAD --pretty='* %s' --first-parent"},bin:{prettyjson:"./bin/prettyjson"},dependencies:{colors:"1.4.0",minimist:"^1.2.0"},devDependencies:{coveralls:"^2.11.15",istanbul:"^0.4.5",jshint:"^2.9.4",mocha:"^3.1.2","mocha-lcov-reporter":"^1.2.0",should:"^11.1.1"}}});var LK=T((P4)=>{var N8=KK(),I6=zK(),Om=/[^\w\s\n\r\v\t\.,]/i;P4.version=MK().version;var Nw=function(D,X){return D!==void 0||X.renderUndefined},qY=function(D,X,Y){if(typeof D==="boolean"||typeof D==="number"||typeof D==="function"||D===null||D===void 0||D instanceof Date)return!0;if(typeof D==="string"&&D.indexOf(`
|
|
42
42
|
`)===-1)return!0;if(Y.inlineArrays&&!X){if(Array.isArray(D)&&qY(D[0],!0,Y))return!0}return!1},Wm=function(D,X){if(X.noColor)return D;if(typeof D==="string")return X.stringColor?N8[X.stringColor](D):D;var Y=D+"";if(D===!0)return N8.green(Y);if(D===!1)return N8.red(Y);if(D===null||D===void 0)return N8.grey(Y);if(typeof D==="number")if(D>=0)return N8[X.positiveNumberColor](Y);else return N8[X.negativeNumberColor](Y);if(typeof D==="function")return"function() {}";if(Array.isArray(D))return D.join(", ");return Y},Rw=function(D,X){if(D.multilineStringColor===null||D.noColor)return X;else return N8[D.multilineStringColor](X)},Hm=function(D,X,Y){var Z=D.split(`
|
|
43
43
|
`);return Z=Z.map(function(J){return I6.indent(X)+Rw(Y,J)}),Z.join(`
|
|
@@ -58,12 +58,12 @@ GFS4: `),console.error(D)};if(!HD[iD]){if(MF=global[iD]||[],tM(HD,MF),HD.close=f
|
|
|
58
58
|
`).join(`
|
|
59
59
|
`+Q),D.push(J+"m+"+KZ.exports.humanize(this.diff)+"\x1B[0m")}else D[0]=Ta()+X+" "+D[0]}function Ta(){if(mD.inspectOpts.hideDate)return"";return new Date().toISOString()+" "}function Ia(...D){return process.stderr.write(HZ.formatWithOptions(mD.inspectOpts,...D)+`
|
|
60
60
|
`)}function Pa(D){if(D)process.env.DEBUG=D;else delete process.env.DEBUG}function Sa(){return process.env.DEBUG}function xa(D){D.inspectOpts={};let X=Object.keys(mD.inspectOpts);for(let Y=0;Y<X.length;Y++)D.inspectOpts[X[Y]]=mD.inspectOpts[X[Y]]}KZ.exports=kF()(mD);var{formatters:hL}=KZ.exports;hL.o=function(D){return this.inspectOpts.colors=this.useColors,HZ.inspect(D,this.inspectOpts).split(`
|
|
61
|
-
`).map((X)=>X.trim()).join(" ")};hL.O=function(D){return this.inspectOpts.colors=this.useColors,HZ.inspect(D,this.inspectOpts)}});var zZ=T((Sw0,_F)=>{if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)_F.exports=SL();else _F.exports=_L()});var f0=T((vF)=>{vF.fromCallback=function(D){return Object.defineProperty(function(...X){if(typeof X[X.length-1]==="function")D.apply(this,X);else return new Promise((Y,Z)=>{X.push((J,Q)=>J!=null?Z(J):Y(Q)),D.apply(this,X)})},"name",{value:D.name})};vF.fromPromise=function(D){return Object.defineProperty(function(...X){let Y=X[X.length-1];if(typeof Y!=="function")return D.apply(this,X);else X.pop(),D.apply(this,X).then((Z)=>Y(null,Z),Y)},"name",{value:D.name})}});var $1=T((e8)=>{var vL=f0().fromCallback,q1=ED(),fa=["access","appendFile","chmod","chown","close","copyFile","cp","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","glob","lchmod","lchown","lutimes","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","statfs","symlink","truncate","unlink","utimes","writeFile"].filter((D)=>{return typeof q1[D]==="function"});Object.assign(e8,q1);fa.forEach((D)=>{e8[D]=vL(q1[D])});e8.exists=function(D,X){if(typeof X==="function")return q1.exists(D,X);return new Promise((Y)=>{return q1.exists(D,Y)})};e8.read=function(D,X,Y,Z,J,Q){if(typeof Q==="function")return q1.read(D,X,Y,Z,J,Q);return new Promise((w,F)=>{q1.read(D,X,Y,Z,J,(B,q,$)=>{if(B)return F(B);w({bytesRead:q,buffer:$})})})};e8.write=function(D,X,...Y){if(typeof Y[Y.length-1]==="function")return q1.write(D,X,...Y);return new Promise((Z,J)=>{q1.write(D,X,...Y,(Q,w,F)=>{if(Q)return J(Q);Z({bytesWritten:w,buffer:F})})})};e8.readv=function(D,X,...Y){if(typeof Y[Y.length-1]==="function")return q1.readv(D,X,...Y);return new Promise((Z,J)=>{q1.readv(D,X,...Y,(Q,w,F)=>{if(Q)return J(Q);Z({bytesRead:w,buffers:F})})})};e8.writev=function(D,X,...Y){if(typeof Y[Y.length-1]==="function")return q1.writev(D,X,...Y);return new Promise((Z,J)=>{q1.writev(D,X,...Y,(Q,w,F)=>{if(Q)return J(Q);Z({bytesWritten:w,buffers:F})})})};if(typeof q1.realpath.native==="function")e8.realpath.native=vL(q1.realpath.native);else process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var gL=T((yw0,bL)=>{var ya=require("path");bL.exports.checkPath=function(X){if(process.platform==="win32"){if(/[<>:"|?*]/.test(X.replace(ya.parse(X).root,""))){let Z=Error(`Path contains invalid characters: ${X}`);throw Z.code="EINVAL",Z}}}});var lL=T((kw0,bF)=>{var mL=$1(),{checkPath:dL}=gL(),cL=(D)=>{let X={mode:511};if(typeof D==="number")return D;return{...X,...D}.mode};bF.exports.makeDir=async(D,X)=>{return dL(D),mL.mkdir(D,{mode:cL(X),recursive:!0})};bF.exports.makeDirSync=(D,X)=>{return dL(D),mL.mkdirSync(D,{mode:cL(X),recursive:!0})}});var G8=T((uw0,nL)=>{var ka=f0().fromPromise,{makeDir:ua,makeDirSync:gF}=lL(),mF=ka(ua);nL.exports={mkdirs:mF,mkdirsSync:gF,mkdirp:mF,mkdirpSync:gF,ensureDir:mF,ensureDirSync:gF}});var u6=T((hw0,pL)=>{var ha=f0().fromPromise,iL=$1();function _a(D){return iL.access(D).then(()=>!0).catch(()=>!1)}pL.exports={pathExists:ha(_a),pathExistsSync:iL.existsSync}});var dF=T((_w0,aL)=>{var q7=$1(),va=f0().fromPromise;async function ba(D,X,Y){let Z=await q7.open(D,"r+"),J=null;try{await q7.futimes(Z,X,Y)}finally{try{await q7.close(Z)}catch(Q){J=Q}}if(J)throw J}function ga(D,X,Y){let Z=q7.openSync(D,"r+");return q7.futimesSync(Z,X,Y),q7.closeSync(Z)}aL.exports={utimesMillis:va(ba),utimesMillisSync:ga}});var c9=T((vw0,oL)=>{var $7=$1(),dD=require("path"),tL=f0().fromPromise;function ma(D,X,Y){let Z=Y.dereference?(J)=>$7.stat(J,{bigint:!0}):(J)=>$7.lstat(J,{bigint:!0});return Promise.all([Z(D),Z(X).catch((J)=>{if(J.code==="ENOENT")return null;throw J})]).then(([J,Q])=>({srcStat:J,destStat:Q}))}function da(D,X,Y){let Z,J=Y.dereference?(w)=>$7.statSync(w,{bigint:!0}):(w)=>$7.lstatSync(w,{bigint:!0}),Q=J(D);try{Z=J(X)}catch(w){if(w.code==="ENOENT")return{srcStat:Q,destStat:null};throw w}return{srcStat:Q,destStat:Z}}async function ca(D,X,Y,Z){let{srcStat:J,destStat:Q}=await ma(D,X,Z);if(Q){if(X3(J,Q)){let w=dD.basename(D),F=dD.basename(X);if(Y==="move"&&w!==F&&w.toLowerCase()===F.toLowerCase())return{srcStat:J,destStat:Q,isChangingCase:!0};throw Error("Source and destination must not be the same.")}if(J.isDirectory()&&!Q.isDirectory())throw Error(`Cannot overwrite non-directory '${X}' with directory '${D}'.`);if(!J.isDirectory()&&Q.isDirectory())throw Error(`Cannot overwrite directory '${X}' with non-directory '${D}'.`)}if(J.isDirectory()&&cF(D,X))throw Error(MZ(D,X,Y));return{srcStat:J,destStat:Q}}function la(D,X,Y,Z){let{srcStat:J,destStat:Q}=da(D,X,Z);if(Q){if(X3(J,Q)){let w=dD.basename(D),F=dD.basename(X);if(Y==="move"&&w!==F&&w.toLowerCase()===F.toLowerCase())return{srcStat:J,destStat:Q,isChangingCase:!0};throw Error("Source and destination must not be the same.")}if(J.isDirectory()&&!Q.isDirectory())throw Error(`Cannot overwrite non-directory '${X}' with directory '${D}'.`);if(!J.isDirectory()&&Q.isDirectory())throw Error(`Cannot overwrite directory '${X}' with non-directory '${D}'.`)}if(J.isDirectory()&&cF(D,X))throw Error(MZ(D,X,Y));return{srcStat:J,destStat:Q}}async function rL(D,X,Y,Z){let J=dD.resolve(dD.dirname(D)),Q=dD.resolve(dD.dirname(Y));if(Q===J||Q===dD.parse(Q).root)return;let w;try{w=await $7.stat(Q,{bigint:!0})}catch(F){if(F.code==="ENOENT")return;throw F}if(X3(X,w))throw Error(MZ(D,Y,Z));return rL(D,X,Q,Z)}function sL(D,X,Y,Z){let J=dD.resolve(dD.dirname(D)),Q=dD.resolve(dD.dirname(Y));if(Q===J||Q===dD.parse(Q).root)return;let w;try{w=$7.statSync(Q,{bigint:!0})}catch(F){if(F.code==="ENOENT")return;throw F}if(X3(X,w))throw Error(MZ(D,Y,Z));return sL(D,X,Q,Z)}function X3(D,X){return X.ino!==void 0&&X.dev!==void 0&&X.ino===D.ino&&X.dev===D.dev}function cF(D,X){let Y=dD.resolve(D).split(dD.sep).filter((J)=>J),Z=dD.resolve(X).split(dD.sep).filter((J)=>J);return Y.every((J,Q)=>Z[Q]===J)}function MZ(D,X,Y){return`Cannot ${Y} '${D}' to a subdirectory of itself, '${X}'.`}oL.exports={checkPaths:tL(ca),checkPathsSync:la,checkParentPaths:tL(rL),checkParentPathsSync:sL,isSrcSubdir:cF,areIdentical:X3}});var DV=T((bw0,eL)=>{async function na(D,X){let Y=[];for await(let Z of D)Y.push(X(Z).then(()=>null,(J)=>J??Error("unknown error")));await Promise.all(Y.map((Z)=>Z.then((J)=>{if(J!==null)throw J})))}eL.exports={asyncIteratorConcurrentProcess:na}});var QV=T((gw0,JV)=>{var
|
|
61
|
+
`).map((X)=>X.trim()).join(" ")};hL.O=function(D){return this.inspectOpts.colors=this.useColors,HZ.inspect(D,this.inspectOpts)}});var zZ=T((Sw0,_F)=>{if(typeof process>"u"||process.type==="renderer"||!1||process.__nwjs)_F.exports=SL();else _F.exports=_L()});var f0=T((vF)=>{vF.fromCallback=function(D){return Object.defineProperty(function(...X){if(typeof X[X.length-1]==="function")D.apply(this,X);else return new Promise((Y,Z)=>{X.push((J,Q)=>J!=null?Z(J):Y(Q)),D.apply(this,X)})},"name",{value:D.name})};vF.fromPromise=function(D){return Object.defineProperty(function(...X){let Y=X[X.length-1];if(typeof Y!=="function")return D.apply(this,X);else X.pop(),D.apply(this,X).then((Z)=>Y(null,Z),Y)},"name",{value:D.name})}});var $1=T((e8)=>{var vL=f0().fromCallback,q1=ED(),fa=["access","appendFile","chmod","chown","close","copyFile","cp","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","glob","lchmod","lchown","lutimes","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","statfs","symlink","truncate","unlink","utimes","writeFile"].filter((D)=>{return typeof q1[D]==="function"});Object.assign(e8,q1);fa.forEach((D)=>{e8[D]=vL(q1[D])});e8.exists=function(D,X){if(typeof X==="function")return q1.exists(D,X);return new Promise((Y)=>{return q1.exists(D,Y)})};e8.read=function(D,X,Y,Z,J,Q){if(typeof Q==="function")return q1.read(D,X,Y,Z,J,Q);return new Promise((w,F)=>{q1.read(D,X,Y,Z,J,(B,q,$)=>{if(B)return F(B);w({bytesRead:q,buffer:$})})})};e8.write=function(D,X,...Y){if(typeof Y[Y.length-1]==="function")return q1.write(D,X,...Y);return new Promise((Z,J)=>{q1.write(D,X,...Y,(Q,w,F)=>{if(Q)return J(Q);Z({bytesWritten:w,buffer:F})})})};e8.readv=function(D,X,...Y){if(typeof Y[Y.length-1]==="function")return q1.readv(D,X,...Y);return new Promise((Z,J)=>{q1.readv(D,X,...Y,(Q,w,F)=>{if(Q)return J(Q);Z({bytesRead:w,buffers:F})})})};e8.writev=function(D,X,...Y){if(typeof Y[Y.length-1]==="function")return q1.writev(D,X,...Y);return new Promise((Z,J)=>{q1.writev(D,X,...Y,(Q,w,F)=>{if(Q)return J(Q);Z({bytesWritten:w,buffers:F})})})};if(typeof q1.realpath.native==="function")e8.realpath.native=vL(q1.realpath.native);else process.emitWarning("fs.realpath.native is not a function. Is fs being monkey-patched?","Warning","fs-extra-WARN0003")});var gL=T((yw0,bL)=>{var ya=require("path");bL.exports.checkPath=function(X){if(process.platform==="win32"){if(/[<>:"|?*]/.test(X.replace(ya.parse(X).root,""))){let Z=Error(`Path contains invalid characters: ${X}`);throw Z.code="EINVAL",Z}}}});var lL=T((kw0,bF)=>{var mL=$1(),{checkPath:dL}=gL(),cL=(D)=>{let X={mode:511};if(typeof D==="number")return D;return{...X,...D}.mode};bF.exports.makeDir=async(D,X)=>{return dL(D),mL.mkdir(D,{mode:cL(X),recursive:!0})};bF.exports.makeDirSync=(D,X)=>{return dL(D),mL.mkdirSync(D,{mode:cL(X),recursive:!0})}});var G8=T((uw0,nL)=>{var ka=f0().fromPromise,{makeDir:ua,makeDirSync:gF}=lL(),mF=ka(ua);nL.exports={mkdirs:mF,mkdirsSync:gF,mkdirp:mF,mkdirpSync:gF,ensureDir:mF,ensureDirSync:gF}});var u6=T((hw0,pL)=>{var ha=f0().fromPromise,iL=$1();function _a(D){return iL.access(D).then(()=>!0).catch(()=>!1)}pL.exports={pathExists:ha(_a),pathExistsSync:iL.existsSync}});var dF=T((_w0,aL)=>{var q7=$1(),va=f0().fromPromise;async function ba(D,X,Y){let Z=await q7.open(D,"r+"),J=null;try{await q7.futimes(Z,X,Y)}finally{try{await q7.close(Z)}catch(Q){J=Q}}if(J)throw J}function ga(D,X,Y){let Z=q7.openSync(D,"r+");return q7.futimesSync(Z,X,Y),q7.closeSync(Z)}aL.exports={utimesMillis:va(ba),utimesMillisSync:ga}});var c9=T((vw0,oL)=>{var $7=$1(),dD=require("path"),tL=f0().fromPromise;function ma(D,X,Y){let Z=Y.dereference?(J)=>$7.stat(J,{bigint:!0}):(J)=>$7.lstat(J,{bigint:!0});return Promise.all([Z(D),Z(X).catch((J)=>{if(J.code==="ENOENT")return null;throw J})]).then(([J,Q])=>({srcStat:J,destStat:Q}))}function da(D,X,Y){let Z,J=Y.dereference?(w)=>$7.statSync(w,{bigint:!0}):(w)=>$7.lstatSync(w,{bigint:!0}),Q=J(D);try{Z=J(X)}catch(w){if(w.code==="ENOENT")return{srcStat:Q,destStat:null};throw w}return{srcStat:Q,destStat:Z}}async function ca(D,X,Y,Z){let{srcStat:J,destStat:Q}=await ma(D,X,Z);if(Q){if(X3(J,Q)){let w=dD.basename(D),F=dD.basename(X);if(Y==="move"&&w!==F&&w.toLowerCase()===F.toLowerCase())return{srcStat:J,destStat:Q,isChangingCase:!0};throw Error("Source and destination must not be the same.")}if(J.isDirectory()&&!Q.isDirectory())throw Error(`Cannot overwrite non-directory '${X}' with directory '${D}'.`);if(!J.isDirectory()&&Q.isDirectory())throw Error(`Cannot overwrite directory '${X}' with non-directory '${D}'.`)}if(J.isDirectory()&&cF(D,X))throw Error(MZ(D,X,Y));return{srcStat:J,destStat:Q}}function la(D,X,Y,Z){let{srcStat:J,destStat:Q}=da(D,X,Z);if(Q){if(X3(J,Q)){let w=dD.basename(D),F=dD.basename(X);if(Y==="move"&&w!==F&&w.toLowerCase()===F.toLowerCase())return{srcStat:J,destStat:Q,isChangingCase:!0};throw Error("Source and destination must not be the same.")}if(J.isDirectory()&&!Q.isDirectory())throw Error(`Cannot overwrite non-directory '${X}' with directory '${D}'.`);if(!J.isDirectory()&&Q.isDirectory())throw Error(`Cannot overwrite directory '${X}' with non-directory '${D}'.`)}if(J.isDirectory()&&cF(D,X))throw Error(MZ(D,X,Y));return{srcStat:J,destStat:Q}}async function rL(D,X,Y,Z){let J=dD.resolve(dD.dirname(D)),Q=dD.resolve(dD.dirname(Y));if(Q===J||Q===dD.parse(Q).root)return;let w;try{w=await $7.stat(Q,{bigint:!0})}catch(F){if(F.code==="ENOENT")return;throw F}if(X3(X,w))throw Error(MZ(D,Y,Z));return rL(D,X,Q,Z)}function sL(D,X,Y,Z){let J=dD.resolve(dD.dirname(D)),Q=dD.resolve(dD.dirname(Y));if(Q===J||Q===dD.parse(Q).root)return;let w;try{w=$7.statSync(Q,{bigint:!0})}catch(F){if(F.code==="ENOENT")return;throw F}if(X3(X,w))throw Error(MZ(D,Y,Z));return sL(D,X,Q,Z)}function X3(D,X){return X.ino!==void 0&&X.dev!==void 0&&X.ino===D.ino&&X.dev===D.dev}function cF(D,X){let Y=dD.resolve(D).split(dD.sep).filter((J)=>J),Z=dD.resolve(X).split(dD.sep).filter((J)=>J);return Y.every((J,Q)=>Z[Q]===J)}function MZ(D,X,Y){return`Cannot ${Y} '${D}' to a subdirectory of itself, '${X}'.`}oL.exports={checkPaths:tL(ca),checkPathsSync:la,checkParentPaths:tL(rL),checkParentPathsSync:sL,isSrcSubdir:cF,areIdentical:X3}});var DV=T((bw0,eL)=>{async function na(D,X){let Y=[];for await(let Z of D)Y.push(X(Z).then(()=>null,(J)=>J??Error("unknown error")));await Promise.all(Y.map((Z)=>Z.then((J)=>{if(J!==null)throw J})))}eL.exports={asyncIteratorConcurrentProcess:na}});var QV=T((gw0,JV)=>{var X1=$1(),Y3=require("path"),{mkdirs:ia}=G8(),{pathExists:pa}=u6(),{utimesMillis:aa}=dF(),Z3=c9(),{asyncIteratorConcurrentProcess:ta}=DV();async function ra(D,X,Y={}){if(typeof Y==="function")Y={filter:Y};if(Y.clobber="clobber"in Y?!!Y.clobber:!0,Y.overwrite="overwrite"in Y?!!Y.overwrite:Y.clobber,Y.preserveTimestamps&&process.arch==="ia32")process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
62
62
|
|
|
63
|
-
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001");let{srcStat:Z,destStat:J}=await Z3.checkPaths(D,X,"copy",Y);if(await Z3.checkParentPaths(D,Z,X,"copy"),!await YV(D,X,Y))return;let w=Y3.dirname(X);if(!await pa(w))await ia(w);await ZV(J,D,X,Y)}async function YV(D,X,Y){if(!Y.filter)return!0;return Y.filter(D,X)}async function ZV(D,X,Y,Z){let Q=await(Z.dereference?
|
|
63
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0001");let{srcStat:Z,destStat:J}=await Z3.checkPaths(D,X,"copy",Y);if(await Z3.checkParentPaths(D,Z,X,"copy"),!await YV(D,X,Y))return;let w=Y3.dirname(X);if(!await pa(w))await ia(w);await ZV(J,D,X,Y)}async function YV(D,X,Y){if(!Y.filter)return!0;return Y.filter(D,X)}async function ZV(D,X,Y,Z){let Q=await(Z.dereference?X1.stat:X1.lstat)(X);if(Q.isDirectory())return Dt(Q,D,X,Y,Z);if(Q.isFile()||Q.isCharacterDevice()||Q.isBlockDevice())return sa(Q,D,X,Y,Z);if(Q.isSymbolicLink())return Xt(D,X,Y,Z);if(Q.isSocket())throw Error(`Cannot copy a socket file: ${X}`);if(Q.isFIFO())throw Error(`Cannot copy a FIFO pipe: ${X}`);throw Error(`Unknown file: ${X}`)}async function sa(D,X,Y,Z,J){if(!X)return XV(D,Y,Z,J);if(J.overwrite)return await X1.unlink(Z),XV(D,Y,Z,J);if(J.errorOnExist)throw Error(`'${Z}' already exists`)}async function XV(D,X,Y,Z){if(await X1.copyFile(X,Y),Z.preserveTimestamps){if(oa(D.mode))await ea(Y,D.mode);let J=await X1.stat(X);await aa(Y,J.atime,J.mtime)}return X1.chmod(Y,D.mode)}function oa(D){return(D&128)===0}function ea(D,X){return X1.chmod(D,X|128)}async function Dt(D,X,Y,Z,J){if(!X)await X1.mkdir(Z);if(await ta(await X1.opendir(Y),async(Q)=>{let w=Y3.join(Y,Q.name),F=Y3.join(Z,Q.name);if(await YV(w,F,J)){let{destStat:q}=await Z3.checkPaths(w,F,"copy",J);await ZV(q,w,F,J)}}),!X)await X1.chmod(Z,D.mode)}async function Xt(D,X,Y,Z){let J=await X1.readlink(X);if(Z.dereference)J=Y3.resolve(process.cwd(),J);if(!D)return X1.symlink(J,Y);let Q=null;try{Q=await X1.readlink(Y)}catch(w){if(w.code==="EINVAL"||w.code==="UNKNOWN")return X1.symlink(J,Y);throw w}if(Z.dereference)Q=Y3.resolve(process.cwd(),Q);if(J!==Q){if(Z3.isSrcSubdir(J,Q))throw Error(`Cannot copy '${J}' to a subdirectory of itself, '${Q}'.`);if(Z3.isSrcSubdir(Q,J))throw Error(`Cannot overwrite '${Q}' with '${J}'.`)}return await X1.unlink(Y),X1.symlink(J,Y)}JV.exports=ra});var $V=T((mw0,qV)=>{var G1=ED(),J3=require("path"),Yt=G8().mkdirsSync,Zt=dF().utimesMillisSync,Q3=c9();function Jt(D,X,Y){if(typeof Y==="function")Y={filter:Y};if(Y=Y||{},Y.clobber="clobber"in Y?!!Y.clobber:!0,Y.overwrite="overwrite"in Y?!!Y.overwrite:Y.clobber,Y.preserveTimestamps&&process.arch==="ia32")process.emitWarning(`Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
64
64
|
|
|
65
65
|
see https://github.com/jprichardson/node-fs-extra/issues/269`,"Warning","fs-extra-WARN0002");let{srcStat:Z,destStat:J}=Q3.checkPathsSync(D,X,"copy",Y);if(Q3.checkParentPathsSync(D,Z,X,"copy"),Y.filter&&!Y.filter(D,X))return;let Q=J3.dirname(X);if(!G1.existsSync(Q))Yt(Q);return wV(J,D,X,Y)}function wV(D,X,Y,Z){let Q=(Z.dereference?G1.statSync:G1.lstatSync)(X);if(Q.isDirectory())return Gt(Q,D,X,Y,Z);else if(Q.isFile()||Q.isCharacterDevice()||Q.isBlockDevice())return Qt(Q,D,X,Y,Z);else if(Q.isSymbolicLink())return Ht(D,X,Y,Z);else if(Q.isSocket())throw Error(`Cannot copy a socket file: ${X}`);else if(Q.isFIFO())throw Error(`Cannot copy a FIFO pipe: ${X}`);throw Error(`Unknown file: ${X}`)}function Qt(D,X,Y,Z,J){if(!X)return FV(D,Y,Z,J);return wt(D,Y,Z,J)}function wt(D,X,Y,Z){if(Z.overwrite)return G1.unlinkSync(Y),FV(D,X,Y,Z);else if(Z.errorOnExist)throw Error(`'${Y}' already exists`)}function FV(D,X,Y,Z){if(G1.copyFileSync(X,Y),Z.preserveTimestamps)Ft(D.mode,X,Y);return lF(Y,D.mode)}function Ft(D,X,Y){if(Bt(D))qt(Y,D);return $t(X,Y)}function Bt(D){return(D&128)===0}function qt(D,X){return lF(D,X|128)}function lF(D,X){return G1.chmodSync(D,X)}function $t(D,X){let Y=G1.statSync(D);return Zt(X,Y.atime,Y.mtime)}function Gt(D,X,Y,Z,J){if(!X)return Ot(D.mode,Y,Z,J);return BV(Y,Z,J)}function Ot(D,X,Y,Z){return G1.mkdirSync(Y),BV(X,Y,Z),lF(Y,D)}function BV(D,X,Y){let Z=G1.opendirSync(D);try{let J;while((J=Z.readSync())!==null)Wt(J.name,D,X,Y)}finally{Z.closeSync()}}function Wt(D,X,Y,Z){let J=J3.join(X,D),Q=J3.join(Y,D);if(Z.filter&&!Z.filter(J,Q))return;let{destStat:w}=Q3.checkPathsSync(J,Q,"copy",Z);return wV(w,J,Q,Z)}function Ht(D,X,Y,Z){let J=G1.readlinkSync(X);if(Z.dereference)J=J3.resolve(process.cwd(),J);if(!D)return G1.symlinkSync(J,Y);else{let Q;try{Q=G1.readlinkSync(Y)}catch(w){if(w.code==="EINVAL"||w.code==="UNKNOWN")return G1.symlinkSync(J,Y);throw w}if(Z.dereference)Q=J3.resolve(process.cwd(),Q);if(J!==Q){if(Q3.isSrcSubdir(J,Q))throw Error(`Cannot copy '${J}' to a subdirectory of itself, '${Q}'.`);if(Q3.isSrcSubdir(Q,J))throw Error(`Cannot overwrite '${Q}' with '${J}'.`)}return Kt(J,Y)}}function Kt(D,X){return G1.unlinkSync(X),G1.symlinkSync(D,X)}qV.exports=Jt});var LZ=T((dw0,GV)=>{var zt=f0().fromPromise;GV.exports={copy:zt(QV()),copySync:$V()}});var w3=T((cw0,WV)=>{var OV=ED(),Mt=f0().fromCallback;function Lt(D,X){OV.rm(D,{recursive:!0,force:!0},X)}function Vt(D){OV.rmSync(D,{recursive:!0,force:!0})}WV.exports={remove:Mt(Lt),removeSync:Vt}});var NV=T((lw0,UV)=>{var Ut=f0().fromPromise,zV=$1(),MV=require("path"),LV=G8(),VV=w3(),HV=Ut(async function(X){let Y;try{Y=await zV.readdir(X)}catch{return LV.mkdirs(X)}return Promise.all(Y.map((Z)=>VV.remove(MV.join(X,Z))))});function KV(D){let X;try{X=zV.readdirSync(D)}catch{return LV.mkdirsSync(D)}X.forEach((Y)=>{Y=MV.join(D,Y),VV.removeSync(Y)})}UV.exports={emptyDirSync:KV,emptydirSync:KV,emptyDir:HV,emptydir:HV}});var CV=T((nw0,EV)=>{var Nt=f0().fromPromise,RV=require("path"),D6=$1(),AV=G8();async function Rt(D){let X;try{X=await D6.stat(D)}catch{}if(X&&X.isFile())return;let Y=RV.dirname(D),Z=null;try{Z=await D6.stat(Y)}catch(J){if(J.code==="ENOENT"){await AV.mkdirs(Y),await D6.writeFile(D,"");return}else throw J}if(Z.isDirectory())await D6.writeFile(D,"");else await D6.readdir(Y)}function At(D){let X;try{X=D6.statSync(D)}catch{}if(X&&X.isFile())return;let Y=RV.dirname(D);try{if(!D6.statSync(Y).isDirectory())D6.readdirSync(Y)}catch(Z){if(Z&&Z.code==="ENOENT")AV.mkdirsSync(Y);else throw Z}D6.writeFileSync(D,"")}EV.exports={createFile:Nt(Rt),createFileSync:At}});var SV=T((iw0,PV)=>{var Et=f0().fromPromise,jV=require("path"),h6=$1(),TV=G8(),{pathExists:Ct}=u6(),{areIdentical:IV}=c9();async function jt(D,X){let Y;try{Y=await h6.lstat(X)}catch{}let Z;try{Z=await h6.lstat(D)}catch(w){throw w.message=w.message.replace("lstat","ensureLink"),w}if(Y&&IV(Z,Y))return;let J=jV.dirname(X);if(!await Ct(J))await TV.mkdirs(J);await h6.link(D,X)}function Tt(D,X){let Y;try{Y=h6.lstatSync(X)}catch{}try{let Q=h6.lstatSync(D);if(Y&&IV(Q,Y))return}catch(Q){throw Q.message=Q.message.replace("lstat","ensureLink"),Q}let Z=jV.dirname(X);if(h6.existsSync(Z))return h6.linkSync(D,X);return TV.mkdirsSync(Z),h6.linkSync(D,X)}PV.exports={createLink:Et(jt),createLinkSync:Tt}});var fV=T((pw0,xV)=>{var _6=require("path"),F3=$1(),{pathExists:It}=u6(),Pt=f0().fromPromise;async function St(D,X){if(_6.isAbsolute(D)){try{await F3.lstat(D)}catch(Q){throw Q.message=Q.message.replace("lstat","ensureSymlink"),Q}return{toCwd:D,toDst:D}}let Y=_6.dirname(X),Z=_6.join(Y,D);if(await It(Z))return{toCwd:Z,toDst:D};try{await F3.lstat(D)}catch(Q){throw Q.message=Q.message.replace("lstat","ensureSymlink"),Q}return{toCwd:D,toDst:_6.relative(Y,D)}}function xt(D,X){if(_6.isAbsolute(D)){if(!F3.existsSync(D))throw Error("absolute srcpath does not exist");return{toCwd:D,toDst:D}}let Y=_6.dirname(X),Z=_6.join(Y,D);if(F3.existsSync(Z))return{toCwd:Z,toDst:D};if(!F3.existsSync(D))throw Error("relative srcpath does not exist");return{toCwd:D,toDst:_6.relative(Y,D)}}xV.exports={symlinkPaths:Pt(St),symlinkPathsSync:xt}});var uV=T((aw0,kV)=>{var yV=$1(),ft=f0().fromPromise;async function yt(D,X){if(X)return X;let Y;try{Y=await yV.lstat(D)}catch{return"file"}return Y&&Y.isDirectory()?"dir":"file"}function kt(D,X){if(X)return X;let Y;try{Y=yV.lstatSync(D)}catch{return"file"}return Y&&Y.isDirectory()?"dir":"file"}kV.exports={symlinkType:ft(yt),symlinkTypeSync:kt}});var bV=T((tw0,vV)=>{var ut=f0().fromPromise,hV=require("path"),j8=$1(),{mkdirs:ht,mkdirsSync:_t}=G8(),{symlinkPaths:vt,symlinkPathsSync:bt}=fV(),{symlinkType:gt,symlinkTypeSync:mt}=uV(),{pathExists:dt}=u6(),{areIdentical:_V}=c9();async function ct(D,X,Y){let Z;try{Z=await j8.lstat(X)}catch{}if(Z&&Z.isSymbolicLink()){let[F,B]=await Promise.all([j8.stat(D),j8.stat(X)]);if(_V(F,B))return}let J=await vt(D,X);D=J.toDst;let Q=await gt(J.toCwd,Y),w=hV.dirname(X);if(!await dt(w))await ht(w);return j8.symlink(D,X,Q)}function lt(D,X,Y){let Z;try{Z=j8.lstatSync(X)}catch{}if(Z&&Z.isSymbolicLink()){let F=j8.statSync(D),B=j8.statSync(X);if(_V(F,B))return}let J=bt(D,X);D=J.toDst,Y=mt(J.toCwd,Y);let Q=hV.dirname(X);if(j8.existsSync(Q))return j8.symlinkSync(D,X,Y);return _t(Q),j8.symlinkSync(D,X,Y)}vV.exports={createSymlink:ut(ct),createSymlinkSync:lt}});var pV=T((rw0,iV)=>{var{createFile:gV,createFileSync:mV}=CV(),{createLink:dV,createLinkSync:cV}=SV(),{createSymlink:lV,createSymlinkSync:nV}=bV();iV.exports={createFile:gV,createFileSync:mV,ensureFile:gV,ensureFileSync:mV,createLink:dV,createLinkSync:cV,ensureLink:dV,ensureLinkSync:cV,createSymlink:lV,createSymlinkSync:nV,ensureSymlink:lV,ensureSymlinkSync:nV}});var G7=T((sw0,aV)=>{function nt(D,{EOL:X=`
|
|
66
|
-
`,finalEOL:Y=!0,replacer:Z=null,spaces:J}={}){let Q=Y?X:"";return JSON.stringify(D,Z,J).replace(/\n/g,X)+Q}function it(D){if(Buffer.isBuffer(D))D=D.toString("utf8");return D.replace(/^\uFEFF/,"")}aV.exports={stringify:nt,stripBom:it}});var nF=T((ow0,sV)=>{var O7;try{O7=ED()}catch(D){O7=require("fs")}var VZ=f0(),{stringify:tV,stripBom:rV}=G7();async function pt(D,X={}){if(typeof X==="string")X={encoding:X};let Y=X.fs||O7,Z="throws"in X?X.throws:!0,J=await VZ.fromCallback(Y.readFile)(D,X);J=rV(J);let Q;try{Q=JSON.parse(J,X?X.reviver:null)}catch(w){if(Z)throw w.message=`${D}: ${w.message}`,w;else return null}return Q}var at=VZ.fromPromise(pt);function tt(D,X={}){if(typeof X==="string")X={encoding:X};let Y=X.fs||O7,Z="throws"in X?X.throws:!0;try{let J=Y.readFileSync(D,X);return J=rV(J),JSON.parse(J,X.reviver)}catch(J){if(Z)throw J.message=`${D}: ${J.message}`,J;else return null}}async function rt(D,X,Y={}){let Z=Y.fs||O7,J=tV(X,Y);await VZ.fromCallback(Z.writeFile)(D,J,Y)}var st=VZ.fromPromise(rt);function ot(D,X,Y={}){let Z=Y.fs||O7,J=tV(X,Y);return Z.writeFileSync(D,J,Y)}sV.exports={readFile:at,readFileSync:tt,writeFile:st,writeFileSync:ot}});var eV=T((ew0,oV)=>{var UZ=nF();oV.exports={readJson:UZ.readFile,readJsonSync:UZ.readFileSync,writeJson:UZ.writeFile,writeJsonSync:UZ.writeFileSync}});var NZ=T((DF0,YU)=>{var et=f0().fromPromise,iF=$1(),DU=require("path"),XU=G8(),Dr=u6().pathExists;async function Xr(D,X,Y="utf-8"){let Z=DU.dirname(D);if(!await Dr(Z))await XU.mkdirs(Z);return iF.writeFile(D,X,Y)}function Yr(D,...X){let Y=DU.dirname(D);if(!iF.existsSync(Y))XU.mkdirsSync(Y);iF.writeFileSync(D,...X)}YU.exports={outputFile:et(Xr),outputFileSync:Yr}});var JU=T((XF0,ZU)=>{var{stringify:Zr}=G7(),{outputFile:Jr}=NZ();async function Qr(D,X,Y={}){let Z=Zr(X,Y);await Jr(D,Z,Y)}ZU.exports=Qr});var wU=T((YF0,QU)=>{var{stringify:wr}=G7(),{outputFileSync:Fr}=NZ();function Br(D,X,Y){let Z=wr(X,Y);Fr(D,Z,Y)}QU.exports=Br});var BU=T((ZF0,FU)=>{var qr=f0().fromPromise,O1=eV();O1.outputJson=qr(JU());O1.outputJsonSync=wU();O1.outputJSON=O1.outputJson;O1.outputJSONSync=O1.outputJsonSync;O1.writeJSON=O1.writeJson;O1.writeJSONSync=O1.writeJsonSync;O1.readJSON=O1.readJson;O1.readJSONSync=O1.readJsonSync;FU.exports=O1});var WU=T((JF0,OU)=>{var $r=$1(),qU=require("path"),{copy:Gr}=LZ(),{remove:GU}=w3(),{mkdirp:Or}=G8(),{pathExists:Wr}=u6(),$U=c9();async function Hr(D,X,Y={}){let Z=Y.overwrite||Y.clobber||!1,{srcStat:J,isChangingCase:Q=!1}=await $U.checkPaths(D,X,"move",Y);await $U.checkParentPaths(D,J,X,"move");let w=qU.dirname(X);if(qU.parse(w).root!==w)await Or(w);return Kr(D,X,Z,Q)}async function Kr(D,X,Y,Z){if(!Z){if(Y)await GU(X);else if(await Wr(X))throw Error("dest already exists.")}try{await $r.rename(D,X)}catch(J){if(J.code!=="EXDEV")throw J;await zr(D,X,Y)}}async function zr(D,X,Y){return await Gr(D,X,{overwrite:Y,errorOnExist:!0,preserveTimestamps:!0}),GU(D)}OU.exports=Hr});var LU=T((QF0,MU)=>{var KU=ED(),aF=require("path"),Mr=LZ().copySync,zU=w3().removeSync,Lr=G8().mkdirpSync,HU=c9();function Vr(D,X,Y){Y=Y||{};let Z=Y.overwrite||Y.clobber||!1,{srcStat:J,isChangingCase:Q=!1}=HU.checkPathsSync(D,X,"move",Y);if(HU.checkParentPathsSync(D,J,X,"move"),!Ur(X))Lr(aF.dirname(X));return Nr(D,X,Z,Q)}function Ur(D){let X=aF.dirname(D);return aF.parse(X).root===X}function Nr(D,X,Y,Z){if(Z)return pF(D,X,Y);if(Y)return zU(X),pF(D,X,Y);if(KU.existsSync(X))throw Error("dest already exists.");return pF(D,X,Y)}function pF(D,X,Y){try{KU.renameSync(D,X)}catch(Z){if(Z.code!=="EXDEV")throw Z;return Rr(D,X,Y)}}function Rr(D,X,Y){return Mr(D,X,{overwrite:Y,errorOnExist:!0,preserveTimestamps:!0}),zU(D)}MU.exports=Vr});var UU=T((wF0,VU)=>{var Ar=f0().fromPromise;VU.exports={move:Ar(WU()),moveSync:LU()}});var W7=T((FF0,NU)=>{NU.exports={...$1(),...LZ(),...NV(),...pV(),...BU(),...G8(),...UU(),...NZ(),...u6(),...w3()}});var IU=T((BF0,TU)=>{var tF,AU,EU,CU,jU=!0;if(typeof process<"u")({FORCE_COLOR:tF,NODE_DISABLE_COLORS:AU,NO_COLOR:EU,TERM:CU}=process.env||{}),jU=process.stdout&&process.stdout.isTTY;var g0={enabled:!AU&&EU==null&&CU!=="dumb"&&(tF!=null&&tF!=="0"||jU),reset:e0(0,0),bold:e0(1,22),dim:e0(2,22),italic:e0(3,23),underline:e0(4,24),inverse:e0(7,27),hidden:e0(8,28),strikethrough:e0(9,29),black:e0(30,39),red:e0(31,39),green:e0(32,39),yellow:e0(33,39),blue:e0(34,39),magenta:e0(35,39),cyan:e0(36,39),white:e0(37,39),gray:e0(90,39),grey:e0(90,39),bgBlack:e0(40,49),bgRed:e0(41,49),bgGreen:e0(42,49),bgYellow:e0(43,49),bgBlue:e0(44,49),bgMagenta:e0(45,49),bgCyan:e0(46,49),bgWhite:e0(47,49)};function RU(D,X){let Y=0,Z,J="",Q="";for(;Y<D.length;Y++)if(Z=D[Y],J+=Z.open,Q+=Z.close,~X.indexOf(Z.close))X=X.replace(Z.rgx,Z.close+Z.open);return J+X+Q}function Er(D,X){let Y={has:D,keys:X};return Y.reset=g0.reset.bind(Y),Y.bold=g0.bold.bind(Y),Y.dim=g0.dim.bind(Y),Y.italic=g0.italic.bind(Y),Y.underline=g0.underline.bind(Y),Y.inverse=g0.inverse.bind(Y),Y.hidden=g0.hidden.bind(Y),Y.strikethrough=g0.strikethrough.bind(Y),Y.black=g0.black.bind(Y),Y.red=g0.red.bind(Y),Y.green=g0.green.bind(Y),Y.yellow=g0.yellow.bind(Y),Y.blue=g0.blue.bind(Y),Y.magenta=g0.magenta.bind(Y),Y.cyan=g0.cyan.bind(Y),Y.white=g0.white.bind(Y),Y.gray=g0.gray.bind(Y),Y.grey=g0.grey.bind(Y),Y.bgBlack=g0.bgBlack.bind(Y),Y.bgRed=g0.bgRed.bind(Y),Y.bgGreen=g0.bgGreen.bind(Y),Y.bgYellow=g0.bgYellow.bind(Y),Y.bgBlue=g0.bgBlue.bind(Y),Y.bgMagenta=g0.bgMagenta.bind(Y),Y.bgCyan=g0.bgCyan.bind(Y),Y.bgWhite=g0.bgWhite.bind(Y),Y}function e0(D,X){let Y={open:`\x1B[${D}m`,close:`\x1B[${X}m`,rgx:new RegExp(`\\x1b\\[${X}m`,"g")};return function(Z){if(this!==void 0&&this.has!==void 0)return!!~this.has.indexOf(D)||(this.has.push(D),this.keys.push(Y)),Z===void 0?this:g0.enabled?RU(this.keys,Z+""):Z+"";return Z===void 0?Er([D],[Y]):g0.enabled?RU([Y],Z+""):Z+""}}TU.exports=g0});var H7=T((ID)=>{Object.defineProperty(ID,"__esModule",{value:!0});ID.ancillary=ID.failure=ID.success=ID.input=ID.weak=ID.strong=void 0;var Cr=h0(),T8=Cr.__importDefault(IU());ID.strong=T8.default.bold;ID.weak=T8.default.dim;ID.input=T8.default.cyan;ID.success=T8.default.green;ID.failure=T8.default.red;ID.ancillary=T8.default.cyan;var jr={strong:ID.strong,weak:ID.weak,input:ID.input,success:ID.success,failure:ID.failure,ancillary:ID.ancillary,log:{DEBUG:T8.default.magenta,INFO:T8.default.cyan,WARN:T8.default.yellow,ERROR:T8.default.red}};ID.default=jr});var rF=T((RZ)=>{Object.defineProperty(RZ,"__esModule",{value:!0});RZ.EscapeCode=void 0;var O8="\x1B[";class pD{}RZ.EscapeCode=pD;pD.cursorLeft=()=>`${O8}G`;pD.cursorUp=(D=1)=>`${O8}${D}A`;pD.cursorDown=(D=1)=>`${O8}${D}B`;pD.cursorForward=(D=1)=>`${O8}${D}C`;pD.cursorBackward=(D=1)=>`${O8}${D}D`;pD.cursorHide=()=>`${O8}?25l`;pD.cursorShow=()=>`${O8}?25h`;pD.eraseLine=()=>`${O8}2K`;pD.eraseLines=(D)=>{let X="";for(let Y=0;Y<D;Y++)if(X+=pD.eraseLine(),Y<D-1)X+=pD.cursorUp();return`${X}${pD.cursorLeft()}`};pD.eraseUp=()=>`${O8}1J`;pD.eraseDown=()=>`${O8}J`;pD.eraseScreen=()=>`${O8}2J`});var SU=T((AZ)=>{Object.defineProperty(AZ,"__esModule",{value:!0});AZ.Cursor=void 0;var Tr=h0(),Ir=Tr.__importDefault(QZ()),PU=rF();class aD{static show(){if(aD.stream.isTTY)aD._isVisible=!0,aD.stream.write(PU.EscapeCode.cursorShow())}static hide(){if(aD.stream.isTTY){if(!aD._listenerAttached)(0,Ir.default)(()=>{aD.show()}),aD._listenerAttached=!0;aD._isVisible=!1,aD.stream.write(PU.EscapeCode.cursorHide())}}static toggle(){if(aD._isVisible)aD.hide();else aD.show()}}AZ.Cursor=aD;aD.stream=process.stderr;aD._isVisible=!0;aD._listenerAttached=!1});var oF=T((OF0,sF)=>{var xU=(D)=>{if(Number.isNaN(D))return!1;if(D>=4352&&(D<=4447||D===9001||D===9002||11904<=D&&D<=12871&&D!==12351||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))return!0;return!1};sF.exports=xU;sF.exports.default=xU});var yU=T((WF0,fU)=>{var Pr=(D)=>D&&D.exact?new RegExp(`^${"[\uD800-\uDBFF][\uDC00-\uDFFF]"}$`):new RegExp("[\uD800-\uDBFF][\uDC00-\uDFFF]","g");fU.exports=Pr});var uU=T((HF0,kU)=>{kU.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var eF=T((KF0,_U)=>{var B3=uU(),hU={};for(let D of Object.keys(B3))hU[B3[D]]=D;var F0={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};_U.exports=F0;for(let D of Object.keys(F0)){if(!("channels"in F0[D]))throw Error("missing channels property: "+D);if(!("labels"in F0[D]))throw Error("missing channel labels property: "+D);if(F0[D].labels.length!==F0[D].channels)throw Error("channel and label counts mismatch: "+D);let{channels:X,labels:Y}=F0[D];delete F0[D].channels,delete F0[D].labels,Object.defineProperty(F0[D],"channels",{value:X}),Object.defineProperty(F0[D],"labels",{value:Y})}F0.rgb.hsl=function(D){let X=D[0]/255,Y=D[1]/255,Z=D[2]/255,J=Math.min(X,Y,Z),Q=Math.max(X,Y,Z),w=Q-J,F,B;if(Q===J)F=0;else if(X===Q)F=(Y-Z)/w;else if(Y===Q)F=2+(Z-X)/w;else if(Z===Q)F=4+(X-Y)/w;if(F=Math.min(F*60,360),F<0)F+=360;let q=(J+Q)/2;if(Q===J)B=0;else if(q<=0.5)B=w/(Q+J);else B=w/(2-Q-J);return[F,B*100,q*100]};F0.rgb.hsv=function(D){let X,Y,Z,J,Q,w=D[0]/255,F=D[1]/255,B=D[2]/255,q=Math.max(w,F,B),$=q-Math.min(w,F,B),G=function(W){return(q-W)/6/$+0.5};if($===0)J=0,Q=0;else{if(Q=$/q,X=G(w),Y=G(F),Z=G(B),w===q)J=Z-Y;else if(F===q)J=0.3333333333333333+X-Z;else if(B===q)J=0.6666666666666666+Y-X;if(J<0)J+=1;else if(J>1)J-=1}return[J*360,Q*100,q*100]};F0.rgb.hwb=function(D){let X=D[0],Y=D[1],Z=D[2],J=F0.rgb.hsl(D)[0],Q=0.00392156862745098*Math.min(X,Math.min(Y,Z));return Z=1-0.00392156862745098*Math.max(X,Math.max(Y,Z)),[J,Q*100,Z*100]};F0.rgb.cmyk=function(D){let X=D[0]/255,Y=D[1]/255,Z=D[2]/255,J=Math.min(1-X,1-Y,1-Z),Q=(1-X-J)/(1-J)||0,w=(1-Y-J)/(1-J)||0,F=(1-Z-J)/(1-J)||0;return[Q*100,w*100,F*100,J*100]};function Sr(D,X){return(D[0]-X[0])**2+(D[1]-X[1])**2+(D[2]-X[2])**2}F0.rgb.keyword=function(D){let X=hU[D];if(X)return X;let Y=1/0,Z;for(let J of Object.keys(B3)){let Q=B3[J],w=Sr(D,Q);if(w<Y)Y=w,Z=J}return Z};F0.keyword.rgb=function(D){return B3[D]};F0.rgb.xyz=function(D){let X=D[0]/255,Y=D[1]/255,Z=D[2]/255;X=X>0.04045?((X+0.055)/1.055)**2.4:X/12.92,Y=Y>0.04045?((Y+0.055)/1.055)**2.4:Y/12.92,Z=Z>0.04045?((Z+0.055)/1.055)**2.4:Z/12.92;let J=X*0.4124+Y*0.3576+Z*0.1805,Q=X*0.2126+Y*0.7152+Z*0.0722,w=X*0.0193+Y*0.1192+Z*0.9505;return[J*100,Q*100,w*100]};F0.rgb.lab=function(D){let X=F0.rgb.xyz(D),Y=X[0],Z=X[1],J=X[2];Y/=95.047,Z/=100,J/=108.883,Y=Y>0.008856?Y**0.3333333333333333:7.787*Y+0.13793103448275862,Z=Z>0.008856?Z**0.3333333333333333:7.787*Z+0.13793103448275862,J=J>0.008856?J**0.3333333333333333:7.787*J+0.13793103448275862;let Q=116*Z-16,w=500*(Y-Z),F=200*(Z-J);return[Q,w,F]};F0.hsl.rgb=function(D){let X=D[0]/360,Y=D[1]/100,Z=D[2]/100,J,Q,w;if(Y===0)return w=Z*255,[w,w,w];if(Z<0.5)J=Z*(1+Y);else J=Z+Y-Z*Y;let F=2*Z-J,B=[0,0,0];for(let q=0;q<3;q++){if(Q=X+0.3333333333333333*-(q-1),Q<0)Q++;if(Q>1)Q--;if(6*Q<1)w=F+(J-F)*6*Q;else if(2*Q<1)w=J;else if(3*Q<2)w=F+(J-F)*(0.6666666666666666-Q)*6;else w=F;B[q]=w*255}return B};F0.hsl.hsv=function(D){let X=D[0],Y=D[1]/100,Z=D[2]/100,J=Y,Q=Math.max(Z,0.01);Z*=2,Y*=Z<=1?Z:2-Z,J*=Q<=1?Q:2-Q;let w=(Z+Y)/2,F=Z===0?2*J/(Q+J):2*Y/(Z+Y);return[X,F*100,w*100]};F0.hsv.rgb=function(D){let X=D[0]/60,Y=D[1]/100,Z=D[2]/100,J=Math.floor(X)%6,Q=X-Math.floor(X),w=255*Z*(1-Y),F=255*Z*(1-Y*Q),B=255*Z*(1-Y*(1-Q));switch(Z*=255,J){case 0:return[Z,B,w];case 1:return[F,Z,w];case 2:return[w,Z,B];case 3:return[w,F,Z];case 4:return[B,w,Z];case 5:return[Z,w,F]}};F0.hsv.hsl=function(D){let X=D[0],Y=D[1]/100,Z=D[2]/100,J=Math.max(Z,0.01),Q,w;w=(2-Y)*Z;let F=(2-Y)*J;return Q=Y*J,Q/=F<=1?F:2-F,Q=Q||0,w/=2,[X,Q*100,w*100]};F0.hwb.rgb=function(D){let X=D[0]/360,Y=D[1]/100,Z=D[2]/100,J=Y+Z,Q;if(J>1)Y/=J,Z/=J;let w=Math.floor(6*X),F=1-Z;if(Q=6*X-w,(w&1)!==0)Q=1-Q;let B=Y+Q*(F-Y),q,$,G;switch(w){default:case 6:case 0:q=F,$=B,G=Y;break;case 1:q=B,$=F,G=Y;break;case 2:q=Y,$=F,G=B;break;case 3:q=Y,$=B,G=F;break;case 4:q=B,$=Y,G=F;break;case 5:q=F,$=Y,G=B;break}return[q*255,$*255,G*255]};F0.cmyk.rgb=function(D){let X=D[0]/100,Y=D[1]/100,Z=D[2]/100,J=D[3]/100,Q=1-Math.min(1,X*(1-J)+J),w=1-Math.min(1,Y*(1-J)+J),F=1-Math.min(1,Z*(1-J)+J);return[Q*255,w*255,F*255]};F0.xyz.rgb=function(D){let X=D[0]/100,Y=D[1]/100,Z=D[2]/100,J,Q,w;return J=X*3.2406+Y*-1.5372+Z*-0.4986,Q=X*-0.9689+Y*1.8758+Z*0.0415,w=X*0.0557+Y*-0.204+Z*1.057,J=J>0.0031308?1.055*J**0.4166666666666667-0.055:J*12.92,Q=Q>0.0031308?1.055*Q**0.4166666666666667-0.055:Q*12.92,w=w>0.0031308?1.055*w**0.4166666666666667-0.055:w*12.92,J=Math.min(Math.max(0,J),1),Q=Math.min(Math.max(0,Q),1),w=Math.min(Math.max(0,w),1),[J*255,Q*255,w*255]};F0.xyz.lab=function(D){let X=D[0],Y=D[1],Z=D[2];X/=95.047,Y/=100,Z/=108.883,X=X>0.008856?X**0.3333333333333333:7.787*X+0.13793103448275862,Y=Y>0.008856?Y**0.3333333333333333:7.787*Y+0.13793103448275862,Z=Z>0.008856?Z**0.3333333333333333:7.787*Z+0.13793103448275862;let J=116*Y-16,Q=500*(X-Y),w=200*(Y-Z);return[J,Q,w]};F0.lab.xyz=function(D){let X=D[0],Y=D[1],Z=D[2],J,Q,w;Q=(X+16)/116,J=Y/500+Q,w=Q-Z/200;let F=Q**3,B=J**3,q=w**3;return Q=F>0.008856?F:(Q-0.13793103448275862)/7.787,J=B>0.008856?B:(J-0.13793103448275862)/7.787,w=q>0.008856?q:(w-0.13793103448275862)/7.787,J*=95.047,Q*=100,w*=108.883,[J,Q,w]};F0.lab.lch=function(D){let X=D[0],Y=D[1],Z=D[2],J;if(J=Math.atan2(Z,Y)*360/2/Math.PI,J<0)J+=360;let w=Math.sqrt(Y*Y+Z*Z);return[X,w,J]};F0.lch.lab=function(D){let X=D[0],Y=D[1],J=D[2]/360*2*Math.PI,Q=Y*Math.cos(J),w=Y*Math.sin(J);return[X,Q,w]};F0.rgb.ansi16=function(D,X=null){let[Y,Z,J]=D,Q=X===null?F0.rgb.hsv(D)[2]:X;if(Q=Math.round(Q/50),Q===0)return 30;let w=30+(Math.round(J/255)<<2|Math.round(Z/255)<<1|Math.round(Y/255));if(Q===2)w+=60;return w};F0.hsv.ansi16=function(D){return F0.rgb.ansi16(F0.hsv.rgb(D),D[2])};F0.rgb.ansi256=function(D){let X=D[0],Y=D[1],Z=D[2];if(X===Y&&Y===Z){if(X<8)return 16;if(X>248)return 231;return Math.round((X-8)/247*24)+232}return 16+36*Math.round(X/255*5)+6*Math.round(Y/255*5)+Math.round(Z/255*5)};F0.ansi16.rgb=function(D){let X=D%10;if(X===0||X===7){if(D>50)X+=3.5;return X=X/10.5*255,[X,X,X]}let Y=(~~(D>50)+1)*0.5,Z=(X&1)*Y*255,J=(X>>1&1)*Y*255,Q=(X>>2&1)*Y*255;return[Z,J,Q]};F0.ansi256.rgb=function(D){if(D>=232){let Q=(D-232)*10+8;return[Q,Q,Q]}D-=16;let X,Y=Math.floor(D/36)/5*255,Z=Math.floor((X=D%36)/6)/5*255,J=X%6/5*255;return[Y,Z,J]};F0.rgb.hex=function(D){let Y=(((Math.round(D[0])&255)<<16)+((Math.round(D[1])&255)<<8)+(Math.round(D[2])&255)).toString(16).toUpperCase();return"000000".substring(Y.length)+Y};F0.hex.rgb=function(D){let X=D.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!X)return[0,0,0];let Y=X[0];if(X[0].length===3)Y=Y.split("").map((F)=>{return F+F}).join("");let Z=parseInt(Y,16),J=Z>>16&255,Q=Z>>8&255,w=Z&255;return[J,Q,w]};F0.rgb.hcg=function(D){let X=D[0]/255,Y=D[1]/255,Z=D[2]/255,J=Math.max(Math.max(X,Y),Z),Q=Math.min(Math.min(X,Y),Z),w=J-Q,F,B;if(w<1)F=Q/(1-w);else F=0;if(w<=0)B=0;else if(J===X)B=(Y-Z)/w%6;else if(J===Y)B=2+(Z-X)/w;else B=4+(X-Y)/w;return B/=6,B%=1,[B*360,w*100,F*100]};F0.hsl.hcg=function(D){let X=D[1]/100,Y=D[2]/100,Z=Y<0.5?2*X*Y:2*X*(1-Y),J=0;if(Z<1)J=(Y-0.5*Z)/(1-Z);return[D[0],Z*100,J*100]};F0.hsv.hcg=function(D){let X=D[1]/100,Y=D[2]/100,Z=X*Y,J=0;if(Z<1)J=(Y-Z)/(1-Z);return[D[0],Z*100,J*100]};F0.hcg.rgb=function(D){let X=D[0]/360,Y=D[1]/100,Z=D[2]/100;if(Y===0)return[Z*255,Z*255,Z*255];let J=[0,0,0],Q=X%1*6,w=Q%1,F=1-w,B=0;switch(Math.floor(Q)){case 0:J[0]=1,J[1]=w,J[2]=0;break;case 1:J[0]=F,J[1]=1,J[2]=0;break;case 2:J[0]=0,J[1]=1,J[2]=w;break;case 3:J[0]=0,J[1]=F,J[2]=1;break;case 4:J[0]=w,J[1]=0,J[2]=1;break;default:J[0]=1,J[1]=0,J[2]=F}return B=(1-Y)*Z,[(Y*J[0]+B)*255,(Y*J[1]+B)*255,(Y*J[2]+B)*255]};F0.hcg.hsv=function(D){let X=D[1]/100,Y=D[2]/100,Z=X+Y*(1-X),J=0;if(Z>0)J=X/Z;return[D[0],J*100,Z*100]};F0.hcg.hsl=function(D){let X=D[1]/100,Z=D[2]/100*(1-X)+0.5*X,J=0;if(Z>0&&Z<0.5)J=X/(2*Z);else if(Z>=0.5&&Z<1)J=X/(2*(1-Z));return[D[0],J*100,Z*100]};F0.hcg.hwb=function(D){let X=D[1]/100,Y=D[2]/100,Z=X+Y*(1-X);return[D[0],(Z-X)*100,(1-Z)*100]};F0.hwb.hcg=function(D){let X=D[1]/100,Z=1-D[2]/100,J=Z-X,Q=0;if(J<1)Q=(Z-J)/(1-J);return[D[0],J*100,Q*100]};F0.apple.rgb=function(D){return[D[0]/65535*255,D[1]/65535*255,D[2]/65535*255]};F0.rgb.apple=function(D){return[D[0]/255*65535,D[1]/255*65535,D[2]/255*65535]};F0.gray.rgb=function(D){return[D[0]/100*255,D[0]/100*255,D[0]/100*255]};F0.gray.hsl=function(D){return[0,0,D[0]]};F0.gray.hsv=F0.gray.hsl;F0.gray.hwb=function(D){return[0,100,D[0]]};F0.gray.cmyk=function(D){return[0,0,0,D[0]]};F0.gray.lab=function(D){return[D[0],0,0]};F0.gray.hex=function(D){let X=Math.round(D[0]/100*255)&255,Z=((X<<16)+(X<<8)+X).toString(16).toUpperCase();return"000000".substring(Z.length)+Z};F0.rgb.gray=function(D){return[(D[0]+D[1]+D[2])/3/255*100]}});var bU=T((zF0,vU)=>{var EZ=eF();function xr(){let D={},X=Object.keys(EZ);for(let Y=X.length,Z=0;Z<Y;Z++)D[X[Z]]={distance:-1,parent:null};return D}function fr(D){let X=xr(),Y=[D];X[D].distance=0;while(Y.length){let Z=Y.pop(),J=Object.keys(EZ[Z]);for(let Q=J.length,w=0;w<Q;w++){let F=J[w],B=X[F];if(B.distance===-1)B.distance=X[Z].distance+1,B.parent=Z,Y.unshift(F)}}return X}function yr(D,X){return function(Y){return X(D(Y))}}function kr(D,X){let Y=[X[D].parent,D],Z=EZ[X[D].parent][D],J=X[D].parent;while(X[J].parent)Y.unshift(X[J].parent),Z=yr(EZ[X[J].parent][J],Z),J=X[J].parent;return Z.conversion=Y,Z}vU.exports=function(D){let X=fr(D),Y={},Z=Object.keys(X);for(let J=Z.length,Q=0;Q<J;Q++){let w=Z[Q];if(X[w].parent===null)continue;Y[w]=kr(w,X)}return Y}});var mU=T((MF0,gU)=>{var DB=eF(),ur=bU(),K7={},hr=Object.keys(DB);function _r(D){let X=function(...Y){let Z=Y[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)Y=Z;return D(Y)};if("conversion"in D)X.conversion=D.conversion;return X}function vr(D){let X=function(...Y){let Z=Y[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)Y=Z;let J=D(Y);if(typeof J==="object")for(let Q=J.length,w=0;w<Q;w++)J[w]=Math.round(J[w]);return J};if("conversion"in D)X.conversion=D.conversion;return X}hr.forEach((D)=>{K7[D]={},Object.defineProperty(K7[D],"channels",{value:DB[D].channels}),Object.defineProperty(K7[D],"labels",{value:DB[D].labels});let X=ur(D);Object.keys(X).forEach((Z)=>{let J=X[Z];K7[D][Z]=vr(J),K7[D][Z].raw=_r(J)})});gU.exports=K7});var YB=T((LF0,iU)=>{var dU=(D,X)=>(...Y)=>{return`\x1B[${D(...Y)+X}m`},cU=(D,X)=>(...Y)=>{let Z=D(...Y);return`\x1B[${38+X};5;${Z}m`},lU=(D,X)=>(...Y)=>{let Z=D(...Y);return`\x1B[${38+X};2;${Z[0]};${Z[1]};${Z[2]}m`},CZ=(D)=>D,nU=(D,X,Y)=>[D,X,Y],z7=(D,X,Y)=>{Object.defineProperty(D,X,{get:()=>{let Z=Y();return Object.defineProperty(D,X,{value:Z,enumerable:!0,configurable:!0}),Z},enumerable:!0,configurable:!0})},XB,M7=(D,X,Y,Z)=>{if(XB===void 0)XB=mU();let J=Z?10:0,Q={};for(let[w,F]of Object.entries(XB)){let B=w==="ansi16"?"ansi":w;if(w===X)Q[B]=D(Y,J);else if(typeof F==="object")Q[B]=D(F[X],J)}return Q};function br(){let D=new Map,X={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],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],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],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};X.color.gray=X.color.blackBright,X.bgColor.bgGray=X.bgColor.bgBlackBright,X.color.grey=X.color.blackBright,X.bgColor.bgGrey=X.bgColor.bgBlackBright;for(let[Y,Z]of Object.entries(X)){for(let[J,Q]of Object.entries(Z))X[J]={open:`\x1B[${Q[0]}m`,close:`\x1B[${Q[1]}m`},Z[J]=X[J],D.set(Q[0],Q[1]);Object.defineProperty(X,Y,{value:Z,enumerable:!1})}return Object.defineProperty(X,"codes",{value:D,enumerable:!1}),X.color.close="\x1B[39m",X.bgColor.close="\x1B[49m",z7(X.color,"ansi",()=>M7(dU,"ansi16",CZ,!1)),z7(X.color,"ansi256",()=>M7(cU,"ansi256",CZ,!1)),z7(X.color,"ansi16m",()=>M7(lU,"rgb",nU,!1)),z7(X.bgColor,"ansi",()=>M7(dU,"ansi16",CZ,!0)),z7(X.bgColor,"ansi256",()=>M7(cU,"ansi256",CZ,!0)),z7(X.bgColor,"ansi16m",()=>M7(lU,"rgb",nU,!0)),X}Object.defineProperty(iU,"exports",{enumerable:!0,get:br})});var sU=T((VF0,rU)=>{var gr=oF(),mr=yU(),pU=YB(),tU=["\x1B",""],jZ=(D)=>`${tU[0]}[${D}m`,aU=(D,X,Y)=>{let Z=[];D=[...D];for(let J of D){let Q=J;if(J.includes(";"))J=J.split(";")[0][0]+"0";let w=pU.codes.get(Number.parseInt(J,10));if(w){let F=D.indexOf(w.toString());if(F===-1)Z.push(jZ(X?w:Q));else D.splice(F,1)}else if(X){Z.push(jZ(0));break}else Z.push(jZ(Q))}if(X){if(Z=Z.filter((J,Q)=>Z.indexOf(J)===Q),Y!==void 0){let J=jZ(pU.codes.get(Number.parseInt(Y,10)));Z=Z.reduce((Q,w)=>w===J?[w,...Q]:[...Q,w],[])}}return Z.join("")};rU.exports=(D,X,Y)=>{let Z=[...D],J=[],Q=typeof Y==="number"?Y:Z.length,w=!1,F,B=0,q="";for(let[$,G]of Z.entries()){let W=!1;if(tU.includes(G)){let O=/\d[^m]*/.exec(D.slice($,$+18));if(F=O&&O.length>0?O[0]:void 0,B<Q){if(w=!0,F!==void 0)J.push(F)}}else if(w&&G==="m")w=!1,W=!0;if(!w&&!W)B++;if(!mr({exact:!0}).test(G)&&gr(G.codePointAt())){if(B++,typeof Y!=="number")Q++}if(B>X&&B<=Q)q+=G;else if(B===X&&!w&&F!==void 0)q=aU(J);else if(B>=Q){q+=aU(J,!0,F);break}}return q}});var eU=T((UF0,oU)=>{oU.exports=({onlyFirst:D=!1}={})=>{let X=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(X,D?void 0:"g")}});var TZ=T((NF0,DN)=>{var dr=eU();DN.exports=(D)=>typeof D==="string"?D.replace(dr(),""):D});var YN=T((RF0,XN)=>{XN.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\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\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])|\uD83C[\uDF3E\uDF73\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])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\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])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\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\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\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\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\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\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*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\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\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\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[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var JB=T((AF0,ZB)=>{var cr=TZ(),lr=oF(),nr=YN(),ZN=(D)=>{if(typeof D!=="string"||D.length===0)return 0;if(D=cr(D),D.length===0)return 0;D=D.replace(nr()," ");let X=0;for(let Y=0;Y<D.length;Y++){let Z=D.codePointAt(Y);if(Z<=31||Z>=127&&Z<=159)continue;if(Z>=768&&Z<=879)continue;if(Z>65535)Y++;X+=lr(Z)?2:1}return X};ZB.exports=ZN;ZB.exports.default=ZN});var FN=T((EF0,wN)=>{var q3=JB(),ir=TZ(),pr=YB(),IZ=new Set(["\x1B",""]),JN=(D)=>`${IZ.values().next().value}[${D}m`,QN=(D)=>`${IZ.values().next().value}]8;;${D}\x07`,ar=(D)=>D.split(" ").map((X)=>q3(X)),QB=(D,X,Y)=>{let Z=[...X],J=!1,Q=!1,w=q3(ir(D[D.length-1]));for(let[F,B]of Z.entries()){let q=q3(B);if(w+q<=Y)D[D.length-1]+=B;else D.push(B),w=0;if(IZ.has(B))J=!0,Q=Z.slice(F+1).join("").startsWith("]8;;");if(J){if(Q){if(B==="\x07")J=!1,Q=!1}else if(B==="m")J=!1;continue}if(w+=q,w===Y&&F<Z.length-1)D.push(""),w=0}if(!w&&D[D.length-1].length>0&&D.length>1)D[D.length-2]+=D.pop()},tr=(D)=>{let X=D.split(" "),Y=X.length;while(Y>0){if(q3(X[Y-1])>0)break;Y--}if(Y===X.length)return D;return X.slice(0,Y).join(" ")+X.slice(Y).join("")},rr=(D,X,Y={})=>{if(Y.trim!==!1&&D.trim()==="")return"";let Z="",J,Q,w=ar(D),F=[""];for(let[q,$]of D.split(" ").entries()){if(Y.trim!==!1)F[F.length-1]=F[F.length-1].trimStart();let G=q3(F[F.length-1]);if(q!==0){if(G>=X&&(Y.wordWrap===!1||Y.trim===!1))F.push(""),G=0;if(G>0||Y.trim===!1)F[F.length-1]+=" ",G++}if(Y.hard&&w[q]>X){let W=X-G,O=1+Math.floor((w[q]-W-1)/X);if(Math.floor((w[q]-1)/X)<O)F.push("");QB(F,$,X);continue}if(G+w[q]>X&&G>0&&w[q]>0){if(Y.wordWrap===!1&&G<X){QB(F,$,X);continue}F.push("")}if(G+w[q]>X&&Y.wordWrap===!1){QB(F,$,X);continue}F[F.length-1]+=$}if(Y.trim!==!1)F=F.map(tr);let B=[...F.join(`
|
|
66
|
+
`,finalEOL:Y=!0,replacer:Z=null,spaces:J}={}){let Q=Y?X:"";return JSON.stringify(D,Z,J).replace(/\n/g,X)+Q}function it(D){if(Buffer.isBuffer(D))D=D.toString("utf8");return D.replace(/^\uFEFF/,"")}aV.exports={stringify:nt,stripBom:it}});var nF=T((ow0,sV)=>{var O7;try{O7=ED()}catch(D){O7=require("fs")}var VZ=f0(),{stringify:tV,stripBom:rV}=G7();async function pt(D,X={}){if(typeof X==="string")X={encoding:X};let Y=X.fs||O7,Z="throws"in X?X.throws:!0,J=await VZ.fromCallback(Y.readFile)(D,X);J=rV(J);let Q;try{Q=JSON.parse(J,X?X.reviver:null)}catch(w){if(Z)throw w.message=`${D}: ${w.message}`,w;else return null}return Q}var at=VZ.fromPromise(pt);function tt(D,X={}){if(typeof X==="string")X={encoding:X};let Y=X.fs||O7,Z="throws"in X?X.throws:!0;try{let J=Y.readFileSync(D,X);return J=rV(J),JSON.parse(J,X.reviver)}catch(J){if(Z)throw J.message=`${D}: ${J.message}`,J;else return null}}async function rt(D,X,Y={}){let Z=Y.fs||O7,J=tV(X,Y);await VZ.fromCallback(Z.writeFile)(D,J,Y)}var st=VZ.fromPromise(rt);function ot(D,X,Y={}){let Z=Y.fs||O7,J=tV(X,Y);return Z.writeFileSync(D,J,Y)}sV.exports={readFile:at,readFileSync:tt,writeFile:st,writeFileSync:ot}});var eV=T((ew0,oV)=>{var UZ=nF();oV.exports={readJson:UZ.readFile,readJsonSync:UZ.readFileSync,writeJson:UZ.writeFile,writeJsonSync:UZ.writeFileSync}});var NZ=T((DF0,YU)=>{var et=f0().fromPromise,iF=$1(),DU=require("path"),XU=G8(),Dr=u6().pathExists;async function Xr(D,X,Y="utf-8"){let Z=DU.dirname(D);if(!await Dr(Z))await XU.mkdirs(Z);return iF.writeFile(D,X,Y)}function Yr(D,...X){let Y=DU.dirname(D);if(!iF.existsSync(Y))XU.mkdirsSync(Y);iF.writeFileSync(D,...X)}YU.exports={outputFile:et(Xr),outputFileSync:Yr}});var JU=T((XF0,ZU)=>{var{stringify:Zr}=G7(),{outputFile:Jr}=NZ();async function Qr(D,X,Y={}){let Z=Zr(X,Y);await Jr(D,Z,Y)}ZU.exports=Qr});var wU=T((YF0,QU)=>{var{stringify:wr}=G7(),{outputFileSync:Fr}=NZ();function Br(D,X,Y){let Z=wr(X,Y);Fr(D,Z,Y)}QU.exports=Br});var BU=T((ZF0,FU)=>{var qr=f0().fromPromise,O1=eV();O1.outputJson=qr(JU());O1.outputJsonSync=wU();O1.outputJSON=O1.outputJson;O1.outputJSONSync=O1.outputJsonSync;O1.writeJSON=O1.writeJson;O1.writeJSONSync=O1.writeJsonSync;O1.readJSON=O1.readJson;O1.readJSONSync=O1.readJsonSync;FU.exports=O1});var WU=T((JF0,OU)=>{var $r=$1(),qU=require("path"),{copy:Gr}=LZ(),{remove:GU}=w3(),{mkdirp:Or}=G8(),{pathExists:Wr}=u6(),$U=c9();async function Hr(D,X,Y={}){let Z=Y.overwrite||Y.clobber||!1,{srcStat:J,isChangingCase:Q=!1}=await $U.checkPaths(D,X,"move",Y);await $U.checkParentPaths(D,J,X,"move");let w=qU.dirname(X);if(qU.parse(w).root!==w)await Or(w);return Kr(D,X,Z,Q)}async function Kr(D,X,Y,Z){if(!Z){if(Y)await GU(X);else if(await Wr(X))throw Error("dest already exists.")}try{await $r.rename(D,X)}catch(J){if(J.code!=="EXDEV")throw J;await zr(D,X,Y)}}async function zr(D,X,Y){return await Gr(D,X,{overwrite:Y,errorOnExist:!0,preserveTimestamps:!0}),GU(D)}OU.exports=Hr});var LU=T((QF0,MU)=>{var KU=ED(),aF=require("path"),Mr=LZ().copySync,zU=w3().removeSync,Lr=G8().mkdirpSync,HU=c9();function Vr(D,X,Y){Y=Y||{};let Z=Y.overwrite||Y.clobber||!1,{srcStat:J,isChangingCase:Q=!1}=HU.checkPathsSync(D,X,"move",Y);if(HU.checkParentPathsSync(D,J,X,"move"),!Ur(X))Lr(aF.dirname(X));return Nr(D,X,Z,Q)}function Ur(D){let X=aF.dirname(D);return aF.parse(X).root===X}function Nr(D,X,Y,Z){if(Z)return pF(D,X,Y);if(Y)return zU(X),pF(D,X,Y);if(KU.existsSync(X))throw Error("dest already exists.");return pF(D,X,Y)}function pF(D,X,Y){try{KU.renameSync(D,X)}catch(Z){if(Z.code!=="EXDEV")throw Z;return Rr(D,X,Y)}}function Rr(D,X,Y){return Mr(D,X,{overwrite:Y,errorOnExist:!0,preserveTimestamps:!0}),zU(D)}MU.exports=Vr});var UU=T((wF0,VU)=>{var Ar=f0().fromPromise;VU.exports={move:Ar(WU()),moveSync:LU()}});var W7=T((FF0,NU)=>{NU.exports={...$1(),...LZ(),...NV(),...pV(),...BU(),...G8(),...UU(),...NZ(),...u6(),...w3()}});var IU=T((BF0,TU)=>{var tF,AU,EU,CU,jU=!0;if(typeof process<"u")({FORCE_COLOR:tF,NODE_DISABLE_COLORS:AU,NO_COLOR:EU,TERM:CU}=process.env||{}),jU=process.stdout&&process.stdout.isTTY;var g0={enabled:!AU&&EU==null&&CU!=="dumb"&&(tF!=null&&tF!=="0"||jU),reset:e0(0,0),bold:e0(1,22),dim:e0(2,22),italic:e0(3,23),underline:e0(4,24),inverse:e0(7,27),hidden:e0(8,28),strikethrough:e0(9,29),black:e0(30,39),red:e0(31,39),green:e0(32,39),yellow:e0(33,39),blue:e0(34,39),magenta:e0(35,39),cyan:e0(36,39),white:e0(37,39),gray:e0(90,39),grey:e0(90,39),bgBlack:e0(40,49),bgRed:e0(41,49),bgGreen:e0(42,49),bgYellow:e0(43,49),bgBlue:e0(44,49),bgMagenta:e0(45,49),bgCyan:e0(46,49),bgWhite:e0(47,49)};function RU(D,X){let Y=0,Z,J="",Q="";for(;Y<D.length;Y++)if(Z=D[Y],J+=Z.open,Q+=Z.close,~X.indexOf(Z.close))X=X.replace(Z.rgx,Z.close+Z.open);return J+X+Q}function Er(D,X){let Y={has:D,keys:X};return Y.reset=g0.reset.bind(Y),Y.bold=g0.bold.bind(Y),Y.dim=g0.dim.bind(Y),Y.italic=g0.italic.bind(Y),Y.underline=g0.underline.bind(Y),Y.inverse=g0.inverse.bind(Y),Y.hidden=g0.hidden.bind(Y),Y.strikethrough=g0.strikethrough.bind(Y),Y.black=g0.black.bind(Y),Y.red=g0.red.bind(Y),Y.green=g0.green.bind(Y),Y.yellow=g0.yellow.bind(Y),Y.blue=g0.blue.bind(Y),Y.magenta=g0.magenta.bind(Y),Y.cyan=g0.cyan.bind(Y),Y.white=g0.white.bind(Y),Y.gray=g0.gray.bind(Y),Y.grey=g0.grey.bind(Y),Y.bgBlack=g0.bgBlack.bind(Y),Y.bgRed=g0.bgRed.bind(Y),Y.bgGreen=g0.bgGreen.bind(Y),Y.bgYellow=g0.bgYellow.bind(Y),Y.bgBlue=g0.bgBlue.bind(Y),Y.bgMagenta=g0.bgMagenta.bind(Y),Y.bgCyan=g0.bgCyan.bind(Y),Y.bgWhite=g0.bgWhite.bind(Y),Y}function e0(D,X){let Y={open:`\x1B[${D}m`,close:`\x1B[${X}m`,rgx:new RegExp(`\\x1b\\[${X}m`,"g")};return function(Z){if(this!==void 0&&this.has!==void 0)return!!~this.has.indexOf(D)||(this.has.push(D),this.keys.push(Y)),Z===void 0?this:g0.enabled?RU(this.keys,Z+""):Z+"";return Z===void 0?Er([D],[Y]):g0.enabled?RU([Y],Z+""):Z+""}}TU.exports=g0});var H7=T((ID)=>{Object.defineProperty(ID,"__esModule",{value:!0});ID.ancillary=ID.failure=ID.success=ID.input=ID.weak=ID.strong=void 0;var Cr=h0(),T8=Cr.__importDefault(IU());ID.strong=T8.default.bold;ID.weak=T8.default.dim;ID.input=T8.default.cyan;ID.success=T8.default.green;ID.failure=T8.default.red;ID.ancillary=T8.default.cyan;var jr={strong:ID.strong,weak:ID.weak,input:ID.input,success:ID.success,failure:ID.failure,ancillary:ID.ancillary,log:{DEBUG:T8.default.magenta,INFO:T8.default.cyan,WARN:T8.default.yellow,ERROR:T8.default.red}};ID.default=jr});var rF=T((RZ)=>{Object.defineProperty(RZ,"__esModule",{value:!0});RZ.EscapeCode=void 0;var O8="\x1B[";class aD{}RZ.EscapeCode=aD;aD.cursorLeft=()=>`${O8}G`;aD.cursorUp=(D=1)=>`${O8}${D}A`;aD.cursorDown=(D=1)=>`${O8}${D}B`;aD.cursorForward=(D=1)=>`${O8}${D}C`;aD.cursorBackward=(D=1)=>`${O8}${D}D`;aD.cursorHide=()=>`${O8}?25l`;aD.cursorShow=()=>`${O8}?25h`;aD.eraseLine=()=>`${O8}2K`;aD.eraseLines=(D)=>{let X="";for(let Y=0;Y<D;Y++)if(X+=aD.eraseLine(),Y<D-1)X+=aD.cursorUp();return`${X}${aD.cursorLeft()}`};aD.eraseUp=()=>`${O8}1J`;aD.eraseDown=()=>`${O8}J`;aD.eraseScreen=()=>`${O8}2J`});var SU=T((AZ)=>{Object.defineProperty(AZ,"__esModule",{value:!0});AZ.Cursor=void 0;var Tr=h0(),Ir=Tr.__importDefault(QZ()),PU=rF();class tD{static show(){if(tD.stream.isTTY)tD._isVisible=!0,tD.stream.write(PU.EscapeCode.cursorShow())}static hide(){if(tD.stream.isTTY){if(!tD._listenerAttached)(0,Ir.default)(()=>{tD.show()}),tD._listenerAttached=!0;tD._isVisible=!1,tD.stream.write(PU.EscapeCode.cursorHide())}}static toggle(){if(tD._isVisible)tD.hide();else tD.show()}}AZ.Cursor=tD;tD.stream=process.stderr;tD._isVisible=!0;tD._listenerAttached=!1});var oF=T((OF0,sF)=>{var xU=(D)=>{if(Number.isNaN(D))return!1;if(D>=4352&&(D<=4447||D===9001||D===9002||11904<=D&&D<=12871&&D!==12351||12880<=D&&D<=19903||19968<=D&&D<=42182||43360<=D&&D<=43388||44032<=D&&D<=55203||63744<=D&&D<=64255||65040<=D&&D<=65049||65072<=D&&D<=65131||65281<=D&&D<=65376||65504<=D&&D<=65510||110592<=D&&D<=110593||127488<=D&&D<=127569||131072<=D&&D<=262141))return!0;return!1};sF.exports=xU;sF.exports.default=xU});var yU=T((WF0,fU)=>{var Pr=(D)=>D&&D.exact?new RegExp(`^${"[\uD800-\uDBFF][\uDC00-\uDFFF]"}$`):new RegExp("[\uD800-\uDBFF][\uDC00-\uDFFF]","g");fU.exports=Pr});var uU=T((HF0,kU)=>{kU.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var eF=T((KF0,_U)=>{var B3=uU(),hU={};for(let D of Object.keys(B3))hU[B3[D]]=D;var F0={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};_U.exports=F0;for(let D of Object.keys(F0)){if(!("channels"in F0[D]))throw Error("missing channels property: "+D);if(!("labels"in F0[D]))throw Error("missing channel labels property: "+D);if(F0[D].labels.length!==F0[D].channels)throw Error("channel and label counts mismatch: "+D);let{channels:X,labels:Y}=F0[D];delete F0[D].channels,delete F0[D].labels,Object.defineProperty(F0[D],"channels",{value:X}),Object.defineProperty(F0[D],"labels",{value:Y})}F0.rgb.hsl=function(D){let X=D[0]/255,Y=D[1]/255,Z=D[2]/255,J=Math.min(X,Y,Z),Q=Math.max(X,Y,Z),w=Q-J,F,B;if(Q===J)F=0;else if(X===Q)F=(Y-Z)/w;else if(Y===Q)F=2+(Z-X)/w;else if(Z===Q)F=4+(X-Y)/w;if(F=Math.min(F*60,360),F<0)F+=360;let q=(J+Q)/2;if(Q===J)B=0;else if(q<=0.5)B=w/(Q+J);else B=w/(2-Q-J);return[F,B*100,q*100]};F0.rgb.hsv=function(D){let X,Y,Z,J,Q,w=D[0]/255,F=D[1]/255,B=D[2]/255,q=Math.max(w,F,B),$=q-Math.min(w,F,B),G=function(W){return(q-W)/6/$+0.5};if($===0)J=0,Q=0;else{if(Q=$/q,X=G(w),Y=G(F),Z=G(B),w===q)J=Z-Y;else if(F===q)J=0.3333333333333333+X-Z;else if(B===q)J=0.6666666666666666+Y-X;if(J<0)J+=1;else if(J>1)J-=1}return[J*360,Q*100,q*100]};F0.rgb.hwb=function(D){let X=D[0],Y=D[1],Z=D[2],J=F0.rgb.hsl(D)[0],Q=0.00392156862745098*Math.min(X,Math.min(Y,Z));return Z=1-0.00392156862745098*Math.max(X,Math.max(Y,Z)),[J,Q*100,Z*100]};F0.rgb.cmyk=function(D){let X=D[0]/255,Y=D[1]/255,Z=D[2]/255,J=Math.min(1-X,1-Y,1-Z),Q=(1-X-J)/(1-J)||0,w=(1-Y-J)/(1-J)||0,F=(1-Z-J)/(1-J)||0;return[Q*100,w*100,F*100,J*100]};function Sr(D,X){return(D[0]-X[0])**2+(D[1]-X[1])**2+(D[2]-X[2])**2}F0.rgb.keyword=function(D){let X=hU[D];if(X)return X;let Y=1/0,Z;for(let J of Object.keys(B3)){let Q=B3[J],w=Sr(D,Q);if(w<Y)Y=w,Z=J}return Z};F0.keyword.rgb=function(D){return B3[D]};F0.rgb.xyz=function(D){let X=D[0]/255,Y=D[1]/255,Z=D[2]/255;X=X>0.04045?((X+0.055)/1.055)**2.4:X/12.92,Y=Y>0.04045?((Y+0.055)/1.055)**2.4:Y/12.92,Z=Z>0.04045?((Z+0.055)/1.055)**2.4:Z/12.92;let J=X*0.4124+Y*0.3576+Z*0.1805,Q=X*0.2126+Y*0.7152+Z*0.0722,w=X*0.0193+Y*0.1192+Z*0.9505;return[J*100,Q*100,w*100]};F0.rgb.lab=function(D){let X=F0.rgb.xyz(D),Y=X[0],Z=X[1],J=X[2];Y/=95.047,Z/=100,J/=108.883,Y=Y>0.008856?Y**0.3333333333333333:7.787*Y+0.13793103448275862,Z=Z>0.008856?Z**0.3333333333333333:7.787*Z+0.13793103448275862,J=J>0.008856?J**0.3333333333333333:7.787*J+0.13793103448275862;let Q=116*Z-16,w=500*(Y-Z),F=200*(Z-J);return[Q,w,F]};F0.hsl.rgb=function(D){let X=D[0]/360,Y=D[1]/100,Z=D[2]/100,J,Q,w;if(Y===0)return w=Z*255,[w,w,w];if(Z<0.5)J=Z*(1+Y);else J=Z+Y-Z*Y;let F=2*Z-J,B=[0,0,0];for(let q=0;q<3;q++){if(Q=X+0.3333333333333333*-(q-1),Q<0)Q++;if(Q>1)Q--;if(6*Q<1)w=F+(J-F)*6*Q;else if(2*Q<1)w=J;else if(3*Q<2)w=F+(J-F)*(0.6666666666666666-Q)*6;else w=F;B[q]=w*255}return B};F0.hsl.hsv=function(D){let X=D[0],Y=D[1]/100,Z=D[2]/100,J=Y,Q=Math.max(Z,0.01);Z*=2,Y*=Z<=1?Z:2-Z,J*=Q<=1?Q:2-Q;let w=(Z+Y)/2,F=Z===0?2*J/(Q+J):2*Y/(Z+Y);return[X,F*100,w*100]};F0.hsv.rgb=function(D){let X=D[0]/60,Y=D[1]/100,Z=D[2]/100,J=Math.floor(X)%6,Q=X-Math.floor(X),w=255*Z*(1-Y),F=255*Z*(1-Y*Q),B=255*Z*(1-Y*(1-Q));switch(Z*=255,J){case 0:return[Z,B,w];case 1:return[F,Z,w];case 2:return[w,Z,B];case 3:return[w,F,Z];case 4:return[B,w,Z];case 5:return[Z,w,F]}};F0.hsv.hsl=function(D){let X=D[0],Y=D[1]/100,Z=D[2]/100,J=Math.max(Z,0.01),Q,w;w=(2-Y)*Z;let F=(2-Y)*J;return Q=Y*J,Q/=F<=1?F:2-F,Q=Q||0,w/=2,[X,Q*100,w*100]};F0.hwb.rgb=function(D){let X=D[0]/360,Y=D[1]/100,Z=D[2]/100,J=Y+Z,Q;if(J>1)Y/=J,Z/=J;let w=Math.floor(6*X),F=1-Z;if(Q=6*X-w,(w&1)!==0)Q=1-Q;let B=Y+Q*(F-Y),q,$,G;switch(w){default:case 6:case 0:q=F,$=B,G=Y;break;case 1:q=B,$=F,G=Y;break;case 2:q=Y,$=F,G=B;break;case 3:q=Y,$=B,G=F;break;case 4:q=B,$=Y,G=F;break;case 5:q=F,$=Y,G=B;break}return[q*255,$*255,G*255]};F0.cmyk.rgb=function(D){let X=D[0]/100,Y=D[1]/100,Z=D[2]/100,J=D[3]/100,Q=1-Math.min(1,X*(1-J)+J),w=1-Math.min(1,Y*(1-J)+J),F=1-Math.min(1,Z*(1-J)+J);return[Q*255,w*255,F*255]};F0.xyz.rgb=function(D){let X=D[0]/100,Y=D[1]/100,Z=D[2]/100,J,Q,w;return J=X*3.2406+Y*-1.5372+Z*-0.4986,Q=X*-0.9689+Y*1.8758+Z*0.0415,w=X*0.0557+Y*-0.204+Z*1.057,J=J>0.0031308?1.055*J**0.4166666666666667-0.055:J*12.92,Q=Q>0.0031308?1.055*Q**0.4166666666666667-0.055:Q*12.92,w=w>0.0031308?1.055*w**0.4166666666666667-0.055:w*12.92,J=Math.min(Math.max(0,J),1),Q=Math.min(Math.max(0,Q),1),w=Math.min(Math.max(0,w),1),[J*255,Q*255,w*255]};F0.xyz.lab=function(D){let X=D[0],Y=D[1],Z=D[2];X/=95.047,Y/=100,Z/=108.883,X=X>0.008856?X**0.3333333333333333:7.787*X+0.13793103448275862,Y=Y>0.008856?Y**0.3333333333333333:7.787*Y+0.13793103448275862,Z=Z>0.008856?Z**0.3333333333333333:7.787*Z+0.13793103448275862;let J=116*Y-16,Q=500*(X-Y),w=200*(Y-Z);return[J,Q,w]};F0.lab.xyz=function(D){let X=D[0],Y=D[1],Z=D[2],J,Q,w;Q=(X+16)/116,J=Y/500+Q,w=Q-Z/200;let F=Q**3,B=J**3,q=w**3;return Q=F>0.008856?F:(Q-0.13793103448275862)/7.787,J=B>0.008856?B:(J-0.13793103448275862)/7.787,w=q>0.008856?q:(w-0.13793103448275862)/7.787,J*=95.047,Q*=100,w*=108.883,[J,Q,w]};F0.lab.lch=function(D){let X=D[0],Y=D[1],Z=D[2],J;if(J=Math.atan2(Z,Y)*360/2/Math.PI,J<0)J+=360;let w=Math.sqrt(Y*Y+Z*Z);return[X,w,J]};F0.lch.lab=function(D){let X=D[0],Y=D[1],J=D[2]/360*2*Math.PI,Q=Y*Math.cos(J),w=Y*Math.sin(J);return[X,Q,w]};F0.rgb.ansi16=function(D,X=null){let[Y,Z,J]=D,Q=X===null?F0.rgb.hsv(D)[2]:X;if(Q=Math.round(Q/50),Q===0)return 30;let w=30+(Math.round(J/255)<<2|Math.round(Z/255)<<1|Math.round(Y/255));if(Q===2)w+=60;return w};F0.hsv.ansi16=function(D){return F0.rgb.ansi16(F0.hsv.rgb(D),D[2])};F0.rgb.ansi256=function(D){let X=D[0],Y=D[1],Z=D[2];if(X===Y&&Y===Z){if(X<8)return 16;if(X>248)return 231;return Math.round((X-8)/247*24)+232}return 16+36*Math.round(X/255*5)+6*Math.round(Y/255*5)+Math.round(Z/255*5)};F0.ansi16.rgb=function(D){let X=D%10;if(X===0||X===7){if(D>50)X+=3.5;return X=X/10.5*255,[X,X,X]}let Y=(~~(D>50)+1)*0.5,Z=(X&1)*Y*255,J=(X>>1&1)*Y*255,Q=(X>>2&1)*Y*255;return[Z,J,Q]};F0.ansi256.rgb=function(D){if(D>=232){let Q=(D-232)*10+8;return[Q,Q,Q]}D-=16;let X,Y=Math.floor(D/36)/5*255,Z=Math.floor((X=D%36)/6)/5*255,J=X%6/5*255;return[Y,Z,J]};F0.rgb.hex=function(D){let Y=(((Math.round(D[0])&255)<<16)+((Math.round(D[1])&255)<<8)+(Math.round(D[2])&255)).toString(16).toUpperCase();return"000000".substring(Y.length)+Y};F0.hex.rgb=function(D){let X=D.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!X)return[0,0,0];let Y=X[0];if(X[0].length===3)Y=Y.split("").map((F)=>{return F+F}).join("");let Z=parseInt(Y,16),J=Z>>16&255,Q=Z>>8&255,w=Z&255;return[J,Q,w]};F0.rgb.hcg=function(D){let X=D[0]/255,Y=D[1]/255,Z=D[2]/255,J=Math.max(Math.max(X,Y),Z),Q=Math.min(Math.min(X,Y),Z),w=J-Q,F,B;if(w<1)F=Q/(1-w);else F=0;if(w<=0)B=0;else if(J===X)B=(Y-Z)/w%6;else if(J===Y)B=2+(Z-X)/w;else B=4+(X-Y)/w;return B/=6,B%=1,[B*360,w*100,F*100]};F0.hsl.hcg=function(D){let X=D[1]/100,Y=D[2]/100,Z=Y<0.5?2*X*Y:2*X*(1-Y),J=0;if(Z<1)J=(Y-0.5*Z)/(1-Z);return[D[0],Z*100,J*100]};F0.hsv.hcg=function(D){let X=D[1]/100,Y=D[2]/100,Z=X*Y,J=0;if(Z<1)J=(Y-Z)/(1-Z);return[D[0],Z*100,J*100]};F0.hcg.rgb=function(D){let X=D[0]/360,Y=D[1]/100,Z=D[2]/100;if(Y===0)return[Z*255,Z*255,Z*255];let J=[0,0,0],Q=X%1*6,w=Q%1,F=1-w,B=0;switch(Math.floor(Q)){case 0:J[0]=1,J[1]=w,J[2]=0;break;case 1:J[0]=F,J[1]=1,J[2]=0;break;case 2:J[0]=0,J[1]=1,J[2]=w;break;case 3:J[0]=0,J[1]=F,J[2]=1;break;case 4:J[0]=w,J[1]=0,J[2]=1;break;default:J[0]=1,J[1]=0,J[2]=F}return B=(1-Y)*Z,[(Y*J[0]+B)*255,(Y*J[1]+B)*255,(Y*J[2]+B)*255]};F0.hcg.hsv=function(D){let X=D[1]/100,Y=D[2]/100,Z=X+Y*(1-X),J=0;if(Z>0)J=X/Z;return[D[0],J*100,Z*100]};F0.hcg.hsl=function(D){let X=D[1]/100,Z=D[2]/100*(1-X)+0.5*X,J=0;if(Z>0&&Z<0.5)J=X/(2*Z);else if(Z>=0.5&&Z<1)J=X/(2*(1-Z));return[D[0],J*100,Z*100]};F0.hcg.hwb=function(D){let X=D[1]/100,Y=D[2]/100,Z=X+Y*(1-X);return[D[0],(Z-X)*100,(1-Z)*100]};F0.hwb.hcg=function(D){let X=D[1]/100,Z=1-D[2]/100,J=Z-X,Q=0;if(J<1)Q=(Z-J)/(1-J);return[D[0],J*100,Q*100]};F0.apple.rgb=function(D){return[D[0]/65535*255,D[1]/65535*255,D[2]/65535*255]};F0.rgb.apple=function(D){return[D[0]/255*65535,D[1]/255*65535,D[2]/255*65535]};F0.gray.rgb=function(D){return[D[0]/100*255,D[0]/100*255,D[0]/100*255]};F0.gray.hsl=function(D){return[0,0,D[0]]};F0.gray.hsv=F0.gray.hsl;F0.gray.hwb=function(D){return[0,100,D[0]]};F0.gray.cmyk=function(D){return[0,0,0,D[0]]};F0.gray.lab=function(D){return[D[0],0,0]};F0.gray.hex=function(D){let X=Math.round(D[0]/100*255)&255,Z=((X<<16)+(X<<8)+X).toString(16).toUpperCase();return"000000".substring(Z.length)+Z};F0.rgb.gray=function(D){return[(D[0]+D[1]+D[2])/3/255*100]}});var bU=T((zF0,vU)=>{var EZ=eF();function xr(){let D={},X=Object.keys(EZ);for(let Y=X.length,Z=0;Z<Y;Z++)D[X[Z]]={distance:-1,parent:null};return D}function fr(D){let X=xr(),Y=[D];X[D].distance=0;while(Y.length){let Z=Y.pop(),J=Object.keys(EZ[Z]);for(let Q=J.length,w=0;w<Q;w++){let F=J[w],B=X[F];if(B.distance===-1)B.distance=X[Z].distance+1,B.parent=Z,Y.unshift(F)}}return X}function yr(D,X){return function(Y){return X(D(Y))}}function kr(D,X){let Y=[X[D].parent,D],Z=EZ[X[D].parent][D],J=X[D].parent;while(X[J].parent)Y.unshift(X[J].parent),Z=yr(EZ[X[J].parent][J],Z),J=X[J].parent;return Z.conversion=Y,Z}vU.exports=function(D){let X=fr(D),Y={},Z=Object.keys(X);for(let J=Z.length,Q=0;Q<J;Q++){let w=Z[Q];if(X[w].parent===null)continue;Y[w]=kr(w,X)}return Y}});var mU=T((MF0,gU)=>{var DB=eF(),ur=bU(),K7={},hr=Object.keys(DB);function _r(D){let X=function(...Y){let Z=Y[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)Y=Z;return D(Y)};if("conversion"in D)X.conversion=D.conversion;return X}function vr(D){let X=function(...Y){let Z=Y[0];if(Z===void 0||Z===null)return Z;if(Z.length>1)Y=Z;let J=D(Y);if(typeof J==="object")for(let Q=J.length,w=0;w<Q;w++)J[w]=Math.round(J[w]);return J};if("conversion"in D)X.conversion=D.conversion;return X}hr.forEach((D)=>{K7[D]={},Object.defineProperty(K7[D],"channels",{value:DB[D].channels}),Object.defineProperty(K7[D],"labels",{value:DB[D].labels});let X=ur(D);Object.keys(X).forEach((Z)=>{let J=X[Z];K7[D][Z]=vr(J),K7[D][Z].raw=_r(J)})});gU.exports=K7});var YB=T((LF0,iU)=>{var dU=(D,X)=>(...Y)=>{return`\x1B[${D(...Y)+X}m`},cU=(D,X)=>(...Y)=>{let Z=D(...Y);return`\x1B[${38+X};5;${Z}m`},lU=(D,X)=>(...Y)=>{let Z=D(...Y);return`\x1B[${38+X};2;${Z[0]};${Z[1]};${Z[2]}m`},CZ=(D)=>D,nU=(D,X,Y)=>[D,X,Y],z7=(D,X,Y)=>{Object.defineProperty(D,X,{get:()=>{let Z=Y();return Object.defineProperty(D,X,{value:Z,enumerable:!0,configurable:!0}),Z},enumerable:!0,configurable:!0})},XB,M7=(D,X,Y,Z)=>{if(XB===void 0)XB=mU();let J=Z?10:0,Q={};for(let[w,F]of Object.entries(XB)){let B=w==="ansi16"?"ansi":w;if(w===X)Q[B]=D(Y,J);else if(typeof F==="object")Q[B]=D(F[X],J)}return Q};function br(){let D=new Map,X={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],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],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],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};X.color.gray=X.color.blackBright,X.bgColor.bgGray=X.bgColor.bgBlackBright,X.color.grey=X.color.blackBright,X.bgColor.bgGrey=X.bgColor.bgBlackBright;for(let[Y,Z]of Object.entries(X)){for(let[J,Q]of Object.entries(Z))X[J]={open:`\x1B[${Q[0]}m`,close:`\x1B[${Q[1]}m`},Z[J]=X[J],D.set(Q[0],Q[1]);Object.defineProperty(X,Y,{value:Z,enumerable:!1})}return Object.defineProperty(X,"codes",{value:D,enumerable:!1}),X.color.close="\x1B[39m",X.bgColor.close="\x1B[49m",z7(X.color,"ansi",()=>M7(dU,"ansi16",CZ,!1)),z7(X.color,"ansi256",()=>M7(cU,"ansi256",CZ,!1)),z7(X.color,"ansi16m",()=>M7(lU,"rgb",nU,!1)),z7(X.bgColor,"ansi",()=>M7(dU,"ansi16",CZ,!0)),z7(X.bgColor,"ansi256",()=>M7(cU,"ansi256",CZ,!0)),z7(X.bgColor,"ansi16m",()=>M7(lU,"rgb",nU,!0)),X}Object.defineProperty(iU,"exports",{enumerable:!0,get:br})});var sU=T((VF0,rU)=>{var gr=oF(),mr=yU(),pU=YB(),tU=["\x1B",""],jZ=(D)=>`${tU[0]}[${D}m`,aU=(D,X,Y)=>{let Z=[];D=[...D];for(let J of D){let Q=J;if(J.includes(";"))J=J.split(";")[0][0]+"0";let w=pU.codes.get(Number.parseInt(J,10));if(w){let F=D.indexOf(w.toString());if(F===-1)Z.push(jZ(X?w:Q));else D.splice(F,1)}else if(X){Z.push(jZ(0));break}else Z.push(jZ(Q))}if(X){if(Z=Z.filter((J,Q)=>Z.indexOf(J)===Q),Y!==void 0){let J=jZ(pU.codes.get(Number.parseInt(Y,10)));Z=Z.reduce((Q,w)=>w===J?[w,...Q]:[...Q,w],[])}}return Z.join("")};rU.exports=(D,X,Y)=>{let Z=[...D],J=[],Q=typeof Y==="number"?Y:Z.length,w=!1,F,B=0,q="";for(let[$,G]of Z.entries()){let W=!1;if(tU.includes(G)){let O=/\d[^m]*/.exec(D.slice($,$+18));if(F=O&&O.length>0?O[0]:void 0,B<Q){if(w=!0,F!==void 0)J.push(F)}}else if(w&&G==="m")w=!1,W=!0;if(!w&&!W)B++;if(!mr({exact:!0}).test(G)&&gr(G.codePointAt())){if(B++,typeof Y!=="number")Q++}if(B>X&&B<=Q)q+=G;else if(B===X&&!w&&F!==void 0)q=aU(J);else if(B>=Q){q+=aU(J,!0,F);break}}return q}});var eU=T((UF0,oU)=>{oU.exports=({onlyFirst:D=!1}={})=>{let X=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(X,D?void 0:"g")}});var TZ=T((NF0,DN)=>{var dr=eU();DN.exports=(D)=>typeof D==="string"?D.replace(dr(),""):D});var YN=T((RF0,XN)=>{XN.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\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\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])|\uD83C[\uDF3E\uDF73\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])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\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])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\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\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\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\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\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\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*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\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\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\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[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var JB=T((AF0,ZB)=>{var cr=TZ(),lr=oF(),nr=YN(),ZN=(D)=>{if(typeof D!=="string"||D.length===0)return 0;if(D=cr(D),D.length===0)return 0;D=D.replace(nr()," ");let X=0;for(let Y=0;Y<D.length;Y++){let Z=D.codePointAt(Y);if(Z<=31||Z>=127&&Z<=159)continue;if(Z>=768&&Z<=879)continue;if(Z>65535)Y++;X+=lr(Z)?2:1}return X};ZB.exports=ZN;ZB.exports.default=ZN});var FN=T((EF0,wN)=>{var q3=JB(),ir=TZ(),pr=YB(),IZ=new Set(["\x1B",""]),JN=(D)=>`${IZ.values().next().value}[${D}m`,QN=(D)=>`${IZ.values().next().value}]8;;${D}\x07`,ar=(D)=>D.split(" ").map((X)=>q3(X)),QB=(D,X,Y)=>{let Z=[...X],J=!1,Q=!1,w=q3(ir(D[D.length-1]));for(let[F,B]of Z.entries()){let q=q3(B);if(w+q<=Y)D[D.length-1]+=B;else D.push(B),w=0;if(IZ.has(B))J=!0,Q=Z.slice(F+1).join("").startsWith("]8;;");if(J){if(Q){if(B==="\x07")J=!1,Q=!1}else if(B==="m")J=!1;continue}if(w+=q,w===Y&&F<Z.length-1)D.push(""),w=0}if(!w&&D[D.length-1].length>0&&D.length>1)D[D.length-2]+=D.pop()},tr=(D)=>{let X=D.split(" "),Y=X.length;while(Y>0){if(q3(X[Y-1])>0)break;Y--}if(Y===X.length)return D;return X.slice(0,Y).join(" ")+X.slice(Y).join("")},rr=(D,X,Y={})=>{if(Y.trim!==!1&&D.trim()==="")return"";let Z="",J,Q,w=ar(D),F=[""];for(let[q,$]of D.split(" ").entries()){if(Y.trim!==!1)F[F.length-1]=F[F.length-1].trimStart();let G=q3(F[F.length-1]);if(q!==0){if(G>=X&&(Y.wordWrap===!1||Y.trim===!1))F.push(""),G=0;if(G>0||Y.trim===!1)F[F.length-1]+=" ",G++}if(Y.hard&&w[q]>X){let W=X-G,O=1+Math.floor((w[q]-W-1)/X);if(Math.floor((w[q]-1)/X)<O)F.push("");QB(F,$,X);continue}if(G+w[q]>X&&G>0&&w[q]>0){if(Y.wordWrap===!1&&G<X){QB(F,$,X);continue}F.push("")}if(G+w[q]>X&&Y.wordWrap===!1){QB(F,$,X);continue}F[F.length-1]+=$}if(Y.trim!==!1)F=F.map(tr);let B=[...F.join(`
|
|
67
67
|
`)];for(let[q,$]of B.entries()){if(Z+=$,IZ.has($)){let{groups:W}=new RegExp("(?:\\[(?<code>\\d+)m|\\]8;;(?<uri>.*)\x07)").exec(B.slice(q).join(""))||{groups:{}};if(W.code!==void 0){let O=Number.parseFloat(W.code);J=O===39?void 0:O}else if(W.uri!==void 0)Q=W.uri.length===0?void 0:W.uri}let G=pr.codes.get(Number(J));if(B[q+1]===`
|
|
68
68
|
`){if(Q)Z+=QN("");if(J&&G)Z+=JN(G)}else if($===`
|
|
69
69
|
`){if(J&&G)Z+=JN(J);if(Q)Z+=QN(Q)}}return Z};wN.exports=(D,X,Y)=>{return String(D).normalize().replace(/\r\n/g,`
|
|
@@ -188,19 +188,19 @@ Line: `+I.line+`
|
|
|
188
188
|
Column: `+I.column+`
|
|
189
189
|
Char: `+I.c;return j=Error(j),I.error=j,f(I,"onerror",j),I}function h(I){if(I.sawRoot&&!I.closedRoot)E(I,"Unclosed root tag");if(I.state!==A.BEGIN&&I.state!==A.BEGIN_WHITESPACE&&I.state!==A.TEXT)n(I,"Unexpected end");return v(I),I.c="",I.closed=!0,f(I,"onend"),Y.call(I,I.strict,I.opt),I}function E(I,j){if(typeof I!=="object"||!(I instanceof Y))throw Error("bad call to strictFail");if(I.strict)n(I,j)}function P(I){if(!I.strict)I.tagName=I.tagName[I.looseCase]();var j=I.tags[I.tags.length-1]||I,l=I.tag={name:I.tagName,attributes:{}};if(I.opt.xmlns)l.ns=j.ns;I.attribList.length=0,S(I,"onopentagstart",l)}function x(I,j){var l=I.indexOf(":"),u=l<0?["",I]:I.split(":"),w0=u[0],i=u[1];if(j&&I==="xmlns")w0="xmlns",i="";return{prefix:w0,local:i}}function _(I){if(!I.strict)I.attribName=I.attribName[I.looseCase]();if(I.attribList.indexOf(I.attribName)!==-1||I.tag.attributes.hasOwnProperty(I.attribName)){I.attribName=I.attribValue="";return}if(I.opt.xmlns){var j=x(I.attribName,!0),l=j.prefix,u=j.local;if(l==="xmlns")if(u==="xml"&&I.attribValue!==W)E(I,"xml: prefix must be bound to "+W+`
|
|
190
190
|
Actual: `+I.attribValue);else if(u==="xmlns"&&I.attribValue!==O)E(I,"xmlns: prefix must be bound to "+O+`
|
|
191
|
-
Actual: `+I.attribValue);else{var w0=I.tag,i=I.tags[I.tags.length-1]||I;if(w0.ns===i.ns)w0.ns=Object.create(i.ns);w0.ns[u]=I.attribValue}I.attribList.push([I.attribName,I.attribValue])}else I.tag.attributes[I.attribName]=I.attribValue,S(I,"onattribute",{name:I.attribName,value:I.attribValue});I.attribName=I.attribValue=""}function g(I,j){if(I.opt.xmlns){var l=I.tag,u=x(I.tagName);if(l.prefix=u.prefix,l.local=u.local,l.uri=l.ns[u.prefix]||"",l.prefix&&!l.uri)E(I,"Unbound namespace prefix: "+JSON.stringify(I.tagName)),l.uri=u.prefix;var w0=I.tags[I.tags.length-1]||I;if(l.ns&&w0.ns!==l.ns)Object.keys(l.ns).forEach(function(KG){S(I,"onopennamespace",{prefix:KG,uri:l.ns[KG]})});for(var i=0,B0=I.attribList.length;i<B0;i++){var
|
|
191
|
+
Actual: `+I.attribValue);else{var w0=I.tag,i=I.tags[I.tags.length-1]||I;if(w0.ns===i.ns)w0.ns=Object.create(i.ns);w0.ns[u]=I.attribValue}I.attribList.push([I.attribName,I.attribValue])}else I.tag.attributes[I.attribName]=I.attribValue,S(I,"onattribute",{name:I.attribName,value:I.attribValue});I.attribName=I.attribValue=""}function g(I,j){if(I.opt.xmlns){var l=I.tag,u=x(I.tagName);if(l.prefix=u.prefix,l.local=u.local,l.uri=l.ns[u.prefix]||"",l.prefix&&!l.uri)E(I,"Unbound namespace prefix: "+JSON.stringify(I.tagName)),l.uri=u.prefix;var w0=I.tags[I.tags.length-1]||I;if(l.ns&&w0.ns!==l.ns)Object.keys(l.ns).forEach(function(KG){S(I,"onopennamespace",{prefix:KG,uri:l.ns[KG]})});for(var i=0,B0=I.attribList.length;i<B0;i++){var A0=I.attribList[i],S0=A0[0],a0=A0[1],jD=x(S0,!0),N1=jD.prefix,Ph=jD.local,HG=N1===""?"":l.ns[N1]||"",lJ={name:S0,value:a0,prefix:N1,local:Ph,uri:HG};if(N1&&N1!=="xmlns"&&!HG)E(I,"Unbound namespace prefix: "+JSON.stringify(N1)),lJ.uri=N1;I.tag.attributes[S0]=lJ,S(I,"onattribute",lJ)}I.attribList.length=0}if(I.tag.isSelfClosing=!!j,I.sawRoot=!0,I.tags.push(I.tag),S(I,"onopentag",I.tag),!j){if(!I.noscript&&I.tagName.toLowerCase()==="script")I.state=A.SCRIPT;else I.state=A.TEXT;I.tag=null,I.tagName=""}I.attribName=I.attribValue="",I.attribList.length=0}function m(I){if(!I.tagName){E(I,"Weird empty close tag."),I.textNode+="</>",I.state=A.TEXT;return}if(I.script){if(I.tagName!=="script"){I.script+="</"+I.tagName+">",I.tagName="",I.state=A.SCRIPT;return}S(I,"onscript",I.script),I.script=""}var j=I.tags.length,l=I.tagName;if(!I.strict)l=l[I.looseCase]();var u=l;while(j--){var w0=I.tags[j];if(w0.name!==u)E(I,"Unexpected close tag");else break}if(j<0){E(I,"Unmatched closing tag: "+I.tagName),I.textNode+="</"+I.tagName+">",I.state=A.TEXT;return}I.tagName=l;var i=I.tags.length;while(i-- >j){var B0=I.tag=I.tags.pop();I.tagName=I.tag.name,S(I,"onclosetag",I.tagName);var A0={};for(var S0 in B0.ns)A0[S0]=B0.ns[S0];var a0=I.tags[I.tags.length-1]||I;if(I.opt.xmlns&&B0.ns!==a0.ns)Object.keys(B0.ns).forEach(function(jD){var N1=B0.ns[jD];S(I,"onclosenamespace",{prefix:jD,uri:N1})})}if(j===0)I.closedRoot=!0;I.tagName=I.attribValue=I.attribName="",I.attribList.length=0,I.state=A.TEXT}function a(I){var j=I.entity,l=j.toLowerCase(),u,w0="";if(I.ENTITIES[j])return I.ENTITIES[j];if(I.ENTITIES[l])return I.ENTITIES[l];if(j=l,j.charAt(0)==="#")if(j.charAt(1)==="x")j=j.slice(2),u=parseInt(j,16),w0=u.toString(16);else j=j.slice(1),u=parseInt(j,10),w0=u.toString(10);if(j=j.replace(/^0+/,""),isNaN(u)||w0.toLowerCase()!==j||u<0||u>1114111)return E(I,"Invalid character entity"),"&"+I.entity+";";return String.fromCodePoint(u)}function d(I,j){if(j==="<")I.state=A.OPEN_WAKA,I.startTagPosition=I.position;else if(!z(j))E(I,"Non-whitespace before first tag."),I.textNode=j,I.state=A.TEXT}function c(I,j){var l="";if(j<I.length)l=I.charAt(j);return l}function o(I){var j=this;if(this.error)throw this.error;if(j.closed)return n(j,"Cannot write after close. Assign an onready handler.");if(I===null)return h(j);if(typeof I==="object")I=I.toString();var l=0,u="";while(!0){if(u=c(I,l++),j.c=u,!u)break;if(j.trackPosition)if(j.position++,u===`
|
|
192
192
|
`)j.line++,j.column=0;else j.column++;switch(j.state){case A.BEGIN:if(j.state=A.BEGIN_WHITESPACE,u==="\uFEFF")continue;d(j,u);continue;case A.BEGIN_WHITESPACE:d(j,u);continue;case A.TEXT:if(j.sawRoot&&!j.closedRoot){var i=l-1;while(u&&u!=="<"&&u!=="&")if(u=c(I,l++),u&&j.trackPosition)if(j.position++,u===`
|
|
193
193
|
`)j.line++,j.column=0;else j.column++;j.textNode+=I.substring(i,l-1)}if(u==="<"&&!(j.sawRoot&&j.closedRoot&&!j.strict))j.state=A.OPEN_WAKA,j.startTagPosition=j.position;else{if(!z(u)&&(!j.sawRoot||j.closedRoot))E(j,"Text data outside of root node.");if(u==="&")j.state=A.TEXT_ENTITY;else j.textNode+=u}continue;case A.SCRIPT:if(u==="<")j.state=A.SCRIPT_ENDING;else j.script+=u;continue;case A.SCRIPT_ENDING:if(u==="/")j.state=A.CLOSE_TAG;else j.script+="<"+u,j.state=A.SCRIPT;continue;case A.OPEN_WAKA:if(u==="!")j.state=A.SGML_DECL,j.sgmlDecl="";else if(z(u));else if(C(M,u))j.state=A.OPEN_TAG,j.tagName=u;else if(u==="/")j.state=A.CLOSE_TAG,j.tagName="";else if(u==="?")j.state=A.PROC_INST,j.procInstName=j.procInstBody="";else{if(E(j,"Unencoded <"),j.startTagPosition+1<j.position){var w0=j.position-j.startTagPosition;u=Array(w0).join(" ")+u}j.textNode+="<"+u,j.state=A.TEXT}continue;case A.SGML_DECL:if(j.sgmlDecl+u==="--"){j.state=A.COMMENT,j.comment="",j.sgmlDecl="";continue}if(j.doctype&&j.doctype!==!0&&j.sgmlDecl)j.state=A.DOCTYPE_DTD,j.doctype+="<!"+j.sgmlDecl+u,j.sgmlDecl="";else if((j.sgmlDecl+u).toUpperCase()===$)S(j,"onopencdata"),j.state=A.CDATA,j.sgmlDecl="",j.cdata="";else if((j.sgmlDecl+u).toUpperCase()===G){if(j.state=A.DOCTYPE,j.doctype||j.sawRoot)E(j,"Inappropriately located doctype declaration");j.doctype="",j.sgmlDecl=""}else if(u===">")S(j,"onsgmldeclaration",j.sgmlDecl),j.sgmlDecl="",j.state=A.TEXT;else if(V(u))j.state=A.SGML_DECL_QUOTED,j.sgmlDecl+=u;else j.sgmlDecl+=u;continue;case A.SGML_DECL_QUOTED:if(u===j.q)j.state=A.SGML_DECL,j.q="";j.sgmlDecl+=u;continue;case A.DOCTYPE:if(u===">")j.state=A.TEXT,S(j,"ondoctype",j.doctype),j.doctype=!0;else if(j.doctype+=u,u==="[")j.state=A.DOCTYPE_DTD;else if(V(u))j.state=A.DOCTYPE_QUOTED,j.q=u;continue;case A.DOCTYPE_QUOTED:if(j.doctype+=u,u===j.q)j.q="",j.state=A.DOCTYPE;continue;case A.DOCTYPE_DTD:if(u==="]")j.doctype+=u,j.state=A.DOCTYPE;else if(u==="<")j.state=A.OPEN_WAKA,j.startTagPosition=j.position;else if(V(u))j.doctype+=u,j.state=A.DOCTYPE_DTD_QUOTED,j.q=u;else j.doctype+=u;continue;case A.DOCTYPE_DTD_QUOTED:if(j.doctype+=u,u===j.q)j.state=A.DOCTYPE_DTD,j.q="";continue;case A.COMMENT:if(u==="-")j.state=A.COMMENT_ENDING;else j.comment+=u;continue;case A.COMMENT_ENDING:if(u==="-"){if(j.state=A.COMMENT_ENDED,j.comment=b(j.opt,j.comment),j.comment)S(j,"oncomment",j.comment);j.comment=""}else j.comment+="-"+u,j.state=A.COMMENT;continue;case A.COMMENT_ENDED:if(u!==">")E(j,"Malformed comment"),j.comment+="--"+u,j.state=A.COMMENT;else if(j.doctype&&j.doctype!==!0)j.state=A.DOCTYPE_DTD;else j.state=A.TEXT;continue;case A.CDATA:var i=l-1;while(u&&u!=="]")if(u=c(I,l++),u&&j.trackPosition)if(j.position++,u===`
|
|
194
|
-
`)j.line++,j.column=0;else j.column++;if(j.cdata+=I.substring(i,l-1),u==="]")j.state=A.CDATA_ENDING;continue;case A.CDATA_ENDING:if(u==="]")j.state=A.CDATA_ENDING_2;else j.cdata+="]"+u,j.state=A.CDATA;continue;case A.CDATA_ENDING_2:if(u===">"){if(j.cdata)S(j,"oncdata",j.cdata);S(j,"onclosecdata"),j.cdata="",j.state=A.TEXT}else if(u==="]")j.cdata+="]";else j.cdata+="]]"+u,j.state=A.CDATA;continue;case A.PROC_INST:if(u==="?")j.state=A.PROC_INST_ENDING;else if(z(u))j.state=A.PROC_INST_BODY;else j.procInstName+=u;continue;case A.PROC_INST_BODY:if(!j.procInstBody&&z(u))continue;else if(u==="?")j.state=A.PROC_INST_ENDING;else j.procInstBody+=u;continue;case A.PROC_INST_ENDING:if(u===">")S(j,"onprocessinginstruction",{name:j.procInstName,body:j.procInstBody}),j.procInstName=j.procInstBody="",j.state=A.TEXT;else j.procInstBody+="?"+u,j.state=A.PROC_INST_BODY;continue;case A.OPEN_TAG:if(C(U,u))j.tagName+=u;else if(P(j),u===">")g(j);else if(u==="/")j.state=A.OPEN_TAG_SLASH;else{if(!z(u))E(j,"Invalid character in tag name");j.state=A.ATTRIB}continue;case A.OPEN_TAG_SLASH:if(u===">")g(j,!0),m(j);else E(j,"Forward-slash in opening tag not followed by >"),j.state=A.ATTRIB;continue;case A.ATTRIB:if(z(u))continue;else if(u===">")g(j);else if(u==="/")j.state=A.OPEN_TAG_SLASH;else if(C(M,u))j.attribName=u,j.attribValue="",j.state=A.ATTRIB_NAME;else E(j,"Invalid attribute name");continue;case A.ATTRIB_NAME:if(u==="=")j.state=A.ATTRIB_VALUE;else if(u===">")E(j,"Attribute without value"),j.attribValue=j.attribName,_(j),g(j);else if(z(u))j.state=A.ATTRIB_NAME_SAW_WHITE;else if(C(U,u))j.attribName+=u;else E(j,"Invalid attribute name");continue;case A.ATTRIB_NAME_SAW_WHITE:if(u==="=")j.state=A.ATTRIB_VALUE;else if(z(u))continue;else if(E(j,"Attribute without value"),j.tag.attributes[j.attribName]="",j.attribValue="",S(j,"onattribute",{name:j.attribName,value:""}),j.attribName="",u===">")g(j);else if(C(M,u))j.attribName=u,j.state=A.ATTRIB_NAME;else E(j,"Invalid attribute name"),j.state=A.ATTRIB;continue;case A.ATTRIB_VALUE:if(z(u))continue;else if(V(u))j.q=u,j.state=A.ATTRIB_VALUE_QUOTED;else{if(!j.opt.unquotedAttributeValues)n(j,"Unquoted attribute value");j.state=A.ATTRIB_VALUE_UNQUOTED,j.attribValue=u}continue;case A.ATTRIB_VALUE_QUOTED:if(u!==j.q){if(u==="&")j.state=A.ATTRIB_VALUE_ENTITY_Q;else j.attribValue+=u;continue}_(j),j.q="",j.state=A.ATTRIB_VALUE_CLOSED;continue;case A.ATTRIB_VALUE_CLOSED:if(z(u))j.state=A.ATTRIB;else if(u===">")g(j);else if(u==="/")j.state=A.OPEN_TAG_SLASH;else if(C(M,u))E(j,"No whitespace between attributes"),j.attribName=u,j.attribValue="",j.state=A.ATTRIB_NAME;else E(j,"Invalid attribute name");continue;case A.ATTRIB_VALUE_UNQUOTED:if(!L(u)){if(u==="&")j.state=A.ATTRIB_VALUE_ENTITY_U;else j.attribValue+=u;continue}if(_(j),u===">")g(j);else j.state=A.ATTRIB;continue;case A.CLOSE_TAG:if(!j.tagName)if(z(u))continue;else if(y(M,u))if(j.script)j.script+="</"+u,j.state=A.SCRIPT;else E(j,"Invalid tagname in closing tag.");else j.tagName=u;else if(u===">")m(j);else if(C(U,u))j.tagName+=u;else if(j.script)j.script+="</"+j.tagName,j.tagName="",j.state=A.SCRIPT;else{if(!z(u))E(j,"Invalid tagname in closing tag");j.state=A.CLOSE_TAG_SAW_WHITE}continue;case A.CLOSE_TAG_SAW_WHITE:if(z(u))continue;if(u===">")m(j);else E(j,"Invalid characters in closing tag");continue;case A.TEXT_ENTITY:case A.ATTRIB_VALUE_ENTITY_Q:case A.ATTRIB_VALUE_ENTITY_U:var B0,R0;switch(j.state){case A.TEXT_ENTITY:B0=A.TEXT,R0="textNode";break;case A.ATTRIB_VALUE_ENTITY_Q:B0=A.ATTRIB_VALUE_QUOTED,R0="attribValue";break;case A.ATTRIB_VALUE_ENTITY_U:B0=A.ATTRIB_VALUE_UNQUOTED,R0="attribValue";break}if(u===";"){var S0=a(j);if(j.opt.unparsedEntities&&!Object.values(D.XML_ENTITIES).includes(S0))j.entity="",j.state=B0,j.write(S0);else j[R0]+=S0,j.entity="",j.state=B0}else if(C(j.entity.length?R:N,u))j.entity+=u;else E(j,"Invalid character in entity name"),j[R0]+="&"+j.entity+u,j.entity="",j.state=B0;continue;default:throw Error(j,"Unknown state: "+j.state)}}if(j.position>=j.bufferCheckPosition)Z(j);return j}/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */if(!String.fromCodePoint)(function(){var I=String.fromCharCode,j=Math.floor,l=function(){var u=16384,w0=[],i,B0,R0=-1,S0=arguments.length;if(!S0)return"";var a0="";while(++R0<S0){var jD=Number(arguments[R0]);if(!isFinite(jD)||jD<0||jD>1114111||j(jD)!==jD)throw RangeError("Invalid code point: "+jD);if(jD<=65535)w0.push(jD);else jD-=65536,i=(jD>>10)+55296,B0=jD%1024+56320,w0.push(i,B0);if(R0+1===S0||w0.length>u)a0+=I.apply(null,w0),w0.length=0}return a0};if(Object.defineProperty)Object.defineProperty(String,"fromCodePoint",{value:l,configurable:!0,writable:!0});else String.fromCodePoint=l})()})(typeof L2>"u"?L2.sax={}:L2)});var wT=T((oB)=>{(function(){oB.stripBOM=function(D){if(D[0]==="\uFEFF")return D.substring(1);else return D}}).call(oB)});var eB=T((r9)=>{(function(){var D=new RegExp(/(?!xmlns)^.*:/);r9.normalize=function(X){return X.toLowerCase()},r9.firstCharLowerCase=function(X){return X.charAt(0).toLowerCase()+X.slice(1)},r9.stripPrefix=function(X){return X.replace(D,"")},r9.parseNumbers=function(X){if(!isNaN(X))X=X%1===0?parseInt(X,10):parseFloat(X);return X},r9.parseBooleans=function(X){if(/^(?:true|false)$/i.test(X))X=X.toLowerCase()==="true";return X}}).call(r9)});var FT=T((q6)=>{(function(){var D,X,Y,Z,J,Q,w,F,B,q=function(W,O){return function(){return W.apply(O,arguments)}},$=function(W,O){for(var H in O)if(G.call(O,H))W[H]=O[H];function M(){this.constructor=W}return M.prototype=O.prototype,W.prototype=new M,W.__super__=O.prototype,W},G={}.hasOwnProperty;F=QT(),Z=require("events"),D=wT(),w=eB(),B=require("timers").setImmediate,X=Z2().defaults,J=function(W){return typeof W==="object"&&W!=null&&Object.keys(W).length===0},Q=function(W,O,H){var M,U,N;for(M=0,U=W.length;M<U;M++)N=W[M],O=N(O,H);return O},Y=function(W,O,H){var M=Object.create(null);return M.value=H,M.writable=!0,M.enumerable=!0,M.configurable=!0,Object.defineProperty(W,O,M)},q6.Parser=function(W){$(O,W);function O(H){this.parseStringPromise=q(this.parseStringPromise,this),this.parseString=q(this.parseString,this),this.reset=q(this.reset,this),this.assignOrPush=q(this.assignOrPush,this),this.processAsync=q(this.processAsync,this);var M,U,N;if(!(this instanceof q6.Parser))return new q6.Parser(H);this.options={},U=X["0.2"];for(M in U){if(!G.call(U,M))continue;N=U[M],this.options[M]=N}for(M in H){if(!G.call(H,M))continue;N=H[M],this.options[M]=N}if(this.options.xmlns)this.options.xmlnskey=this.options.attrkey+"ns";if(this.options.normalizeTags){if(!this.options.tagNameProcessors)this.options.tagNameProcessors=[];this.options.tagNameProcessors.unshift(w.normalize)}this.reset()}return O.prototype.processAsync=function(){var H,M;try{if(this.remaining.length<=this.options.chunkSize)return H=this.remaining,this.remaining="",this.saxParser=this.saxParser.write(H),this.saxParser.close();else return H=this.remaining.substr(0,this.options.chunkSize),this.remaining=this.remaining.substr(this.options.chunkSize,this.remaining.length),this.saxParser=this.saxParser.write(H),B(this.processAsync)}catch(U){if(M=U,!this.saxParser.errThrown)return this.saxParser.errThrown=!0,this.emit(M)}},O.prototype.assignOrPush=function(H,M,U){if(!(M in H))if(!this.options.explicitArray)return Y(H,M,U);else return Y(H,M,[U]);else{if(!(H[M]instanceof Array))Y(H,M,[H[M]]);return H[M].push(U)}},O.prototype.reset=function(){var H,M,U,N;return this.removeAllListeners(),this.saxParser=F.parser(this.options.strict,{trim:!1,normalize:!1,xmlns:this.options.xmlns}),this.saxParser.errThrown=!1,this.saxParser.onerror=function(R){return function(z){if(R.saxParser.resume(),!R.saxParser.errThrown)return R.saxParser.errThrown=!0,R.emit("error",z)}}(this),this.saxParser.onend=function(R){return function(){if(!R.saxParser.ended)return R.saxParser.ended=!0,R.emit("end",R.resultObject)}}(this),this.saxParser.ended=!1,this.EXPLICIT_CHARKEY=this.options.explicitCharkey,this.resultObject=null,N=[],H=this.options.attrkey,M=this.options.charkey,this.saxParser.onopentag=function(R){return function(z){var V,L,C,y,A;if(C={},C[M]="",!R.options.ignoreAttrs){A=z.attributes;for(V in A){if(!G.call(A,V))continue;if(!(H in C)&&!R.options.mergeAttrs)C[H]={};if(L=R.options.attrValueProcessors?Q(R.options.attrValueProcessors,z.attributes[V],V):z.attributes[V],y=R.options.attrNameProcessors?Q(R.options.attrNameProcessors,V):V,R.options.mergeAttrs)R.assignOrPush(C,y,L);else Y(C[H],y,L)}}if(C["#name"]=R.options.tagNameProcessors?Q(R.options.tagNameProcessors,z.name):z.name,R.options.xmlns)C[R.options.xmlnskey]={uri:z.uri,local:z.local};return N.push(C)}}(this),this.saxParser.onclosetag=function(R){return function(){var z,V,L,C,y,A,k,f,S,v;if(A=N.pop(),y=A["#name"],!R.options.explicitChildren||!R.options.preserveChildrenOrder)delete A["#name"];if(A.cdata===!0)z=A.cdata,delete A.cdata;if(S=N[N.length-1],A[M].match(/^\s*$/)&&!z)V=A[M],delete A[M];else{if(R.options.trim)A[M]=A[M].trim();if(R.options.normalize)A[M]=A[M].replace(/\s{2,}/g," ").trim();if(A[M]=R.options.valueProcessors?Q(R.options.valueProcessors,A[M],y):A[M],Object.keys(A).length===1&&M in A&&!R.EXPLICIT_CHARKEY)A=A[M]}if(J(A))if(typeof R.options.emptyTag==="function")A=R.options.emptyTag();else A=R.options.emptyTag!==""?R.options.emptyTag:V;if(R.options.validator!=null)v="/"+function(){var b,n,h;h=[];for(b=0,n=N.length;b<n;b++)C=N[b],h.push(C["#name"]);return h}().concat(y).join("/"),function(){var b;try{return A=R.options.validator(v,S&&S[y],A)}catch(n){return b=n,R.emit("error",b)}}();if(R.options.explicitChildren&&!R.options.mergeAttrs&&typeof A==="object"){if(!R.options.preserveChildrenOrder){if(C={},R.options.attrkey in A)C[R.options.attrkey]=A[R.options.attrkey],delete A[R.options.attrkey];if(!R.options.charsAsChildren&&R.options.charkey in A)C[R.options.charkey]=A[R.options.charkey],delete A[R.options.charkey];if(Object.getOwnPropertyNames(A).length>0)C[R.options.childkey]=A;A=C}else if(S){S[R.options.childkey]=S[R.options.childkey]||[],k={};for(L in A){if(!G.call(A,L))continue;Y(k,L,A[L])}if(S[R.options.childkey].push(k),delete A["#name"],Object.keys(A).length===1&&M in A&&!R.EXPLICIT_CHARKEY)A=A[M]}}if(N.length>0)return R.assignOrPush(S,y,A);else{if(R.options.explicitRoot)f=A,A={},Y(A,y,f);return R.resultObject=A,R.saxParser.ended=!0,R.emit("end",R.resultObject)}}}(this),U=function(R){return function(z){var V,L;if(L=N[N.length-1],L){if(L[M]+=z,R.options.explicitChildren&&R.options.preserveChildrenOrder&&R.options.charsAsChildren&&(R.options.includeWhiteChars||z.replace(/\\n/g,"").trim()!=="")){if(L[R.options.childkey]=L[R.options.childkey]||[],V={"#name":"__text__"},V[M]=z,R.options.normalize)V[M]=V[M].replace(/\s{2,}/g," ").trim();L[R.options.childkey].push(V)}return L}}}(this),this.saxParser.ontext=U,this.saxParser.oncdata=function(R){return function(z){var V=U(z);if(V)return V.cdata=!0}}(this)},O.prototype.parseString=function(H,M){var U;if(M!=null&&typeof M==="function")this.on("end",function(N){return this.reset(),M(null,N)}),this.on("error",function(N){return this.reset(),M(N)});try{if(H=H.toString(),H.trim()==="")return this.emit("end",null),!0;if(H=D.stripBOM(H),this.options.async)return this.remaining=H,B(this.processAsync),this.saxParser;return this.saxParser.write(H).close()}catch(N){if(U=N,!(this.saxParser.errThrown||this.saxParser.ended))return this.emit("error",U),this.saxParser.errThrown=!0;else if(this.saxParser.ended)throw U}},O.prototype.parseStringPromise=function(H){return new Promise(function(M){return function(U,N){return M.parseString(H,function(R,z){if(R)return N(R);else return U(z)})}}(this))},O}(Z),q6.parseString=function(W,O,H){var M,U,N;if(H!=null){if(typeof H==="function")M=H;if(typeof O==="object")U=O}else{if(typeof O==="function")M=O;U={}}return N=new q6.Parser(U),N.parseString(W,M)},q6.parseStringPromise=function(W,O){var H,M;if(typeof O==="object")H=O;return M=new q6.Parser(H),M.parseStringPromise(W)}}).call(q6)});var BT=T(($6)=>{(function(){var D,X,Y,Z,J=function(w,F){for(var B in F)if(Q.call(F,B))w[B]=F[B];function q(){this.constructor=w}return q.prototype=F.prototype,w.prototype=new q,w.__super__=F.prototype,w},Q={}.hasOwnProperty;X=Z2(),D=JT(),Y=FT(),Z=eB(),$6.defaults=X.defaults,$6.processors=Z,$6.ValidationError=function(w){J(F,w);function F(B){this.message=B}return F}(Error),$6.Builder=D.Builder,$6.Parser=Y.Parser,$6.parseString=Y.parseString,$6.parseStringPromise=Y.parseStringPromise}).call($6)});var qT=T((v8)=>{Object.defineProperty(v8,"__esModule",{value:!0});v8.buildXmlElement=v8.writeXML=v8.parseXML=v8.readXML=void 0;var n00=h0(),i00=W7(),T3=n00.__importDefault(BT());async function p00(D){var X;try{let Y=await(0,i00.readFile)(D,{encoding:"utf-8"});try{return await T3.default.parseStringPromise(Y)}catch(Z){throw`Error parsing: ${D}, ${(X=Z.stack)!==null&&X!==void 0?X:Z}`}}catch(Y){throw`Unable to read: ${D}`}}v8.readXML=p00;function a00(D,X){let Y=X!==void 0?new T3.default.Parser({...X}):new T3.default.Parser,Z;return Y.parseString(D,(J,Q)=>{if(!J)Z=Q}),Z}v8.parseXML=a00;async function t00(D){return new Promise((X)=>{let Z=new T3.default.Builder({headless:!0,explicitRoot:!1,rootName:"deleteme"}).buildObject(D);Z=Z.replace("<deleteme>","").replace("</deleteme>",""),X(Z)})}v8.writeXML=t00;function r00(D,X){return new T3.default.Builder({headless:!0,explicitRoot:!1,rootName:X}).buildObject(D)}v8.buildXmlElement=r00});var HT=T((n0)=>{Object.defineProperty(n0,"__esModule",{value:!0});n0.getAllElements=n0.getFilePath=n0.getAssets=n0.getJSModules=n0.getPluginType=n0.getPlatformElement=n0.getPluginPlatform=n0.printPlugins=n0.fixName=n0.getDependencies=n0.resolvePlugin=n0.getPlugins=n0.getIncludedPluginPackages=void 0;var s00=h0(),o00=W7(),Dq=require("path"),C7=s00.__importDefault(H7()),e00=fZ(),DD0=W3(),$T=Y2(),XD0=qT();function GT(D,X){var Y,Z,J,Q;let{extConfig:w}=D.app;switch(X){case"android":return(Z=(Y=w.android)===null||Y===void 0?void 0:Y.includePlugins)!==null&&Z!==void 0?Z:w.includePlugins;case"ios":return(Q=(J=w.ios)===null||J===void 0?void 0:J.includePlugins)!==null&&Q!==void 0?Q:w.includePlugins}}n0.getIncludedPluginPackages=GT;async function YD0(D,X){var Y;let Z=(Y=GT(D,X))!==null&&Y!==void 0?Y:WT(D);return(await Promise.all(Z.map(async(Q)=>OT(D,Q)))).filter((Q)=>!!Q)}n0.getPlugins=YD0;async function OT(D,X){try{let Y=(0,$T.resolveNode)(D.app.rootDir,X,"package.json");if(!Y)(0,e00.fatal)(`Unable to find ${C7.default.strong(`node_modules/${X}`)}.
|
|
194
|
+
`)j.line++,j.column=0;else j.column++;if(j.cdata+=I.substring(i,l-1),u==="]")j.state=A.CDATA_ENDING;continue;case A.CDATA_ENDING:if(u==="]")j.state=A.CDATA_ENDING_2;else j.cdata+="]"+u,j.state=A.CDATA;continue;case A.CDATA_ENDING_2:if(u===">"){if(j.cdata)S(j,"oncdata",j.cdata);S(j,"onclosecdata"),j.cdata="",j.state=A.TEXT}else if(u==="]")j.cdata+="]";else j.cdata+="]]"+u,j.state=A.CDATA;continue;case A.PROC_INST:if(u==="?")j.state=A.PROC_INST_ENDING;else if(z(u))j.state=A.PROC_INST_BODY;else j.procInstName+=u;continue;case A.PROC_INST_BODY:if(!j.procInstBody&&z(u))continue;else if(u==="?")j.state=A.PROC_INST_ENDING;else j.procInstBody+=u;continue;case A.PROC_INST_ENDING:if(u===">")S(j,"onprocessinginstruction",{name:j.procInstName,body:j.procInstBody}),j.procInstName=j.procInstBody="",j.state=A.TEXT;else j.procInstBody+="?"+u,j.state=A.PROC_INST_BODY;continue;case A.OPEN_TAG:if(C(U,u))j.tagName+=u;else if(P(j),u===">")g(j);else if(u==="/")j.state=A.OPEN_TAG_SLASH;else{if(!z(u))E(j,"Invalid character in tag name");j.state=A.ATTRIB}continue;case A.OPEN_TAG_SLASH:if(u===">")g(j,!0),m(j);else E(j,"Forward-slash in opening tag not followed by >"),j.state=A.ATTRIB;continue;case A.ATTRIB:if(z(u))continue;else if(u===">")g(j);else if(u==="/")j.state=A.OPEN_TAG_SLASH;else if(C(M,u))j.attribName=u,j.attribValue="",j.state=A.ATTRIB_NAME;else E(j,"Invalid attribute name");continue;case A.ATTRIB_NAME:if(u==="=")j.state=A.ATTRIB_VALUE;else if(u===">")E(j,"Attribute without value"),j.attribValue=j.attribName,_(j),g(j);else if(z(u))j.state=A.ATTRIB_NAME_SAW_WHITE;else if(C(U,u))j.attribName+=u;else E(j,"Invalid attribute name");continue;case A.ATTRIB_NAME_SAW_WHITE:if(u==="=")j.state=A.ATTRIB_VALUE;else if(z(u))continue;else if(E(j,"Attribute without value"),j.tag.attributes[j.attribName]="",j.attribValue="",S(j,"onattribute",{name:j.attribName,value:""}),j.attribName="",u===">")g(j);else if(C(M,u))j.attribName=u,j.state=A.ATTRIB_NAME;else E(j,"Invalid attribute name"),j.state=A.ATTRIB;continue;case A.ATTRIB_VALUE:if(z(u))continue;else if(V(u))j.q=u,j.state=A.ATTRIB_VALUE_QUOTED;else{if(!j.opt.unquotedAttributeValues)n(j,"Unquoted attribute value");j.state=A.ATTRIB_VALUE_UNQUOTED,j.attribValue=u}continue;case A.ATTRIB_VALUE_QUOTED:if(u!==j.q){if(u==="&")j.state=A.ATTRIB_VALUE_ENTITY_Q;else j.attribValue+=u;continue}_(j),j.q="",j.state=A.ATTRIB_VALUE_CLOSED;continue;case A.ATTRIB_VALUE_CLOSED:if(z(u))j.state=A.ATTRIB;else if(u===">")g(j);else if(u==="/")j.state=A.OPEN_TAG_SLASH;else if(C(M,u))E(j,"No whitespace between attributes"),j.attribName=u,j.attribValue="",j.state=A.ATTRIB_NAME;else E(j,"Invalid attribute name");continue;case A.ATTRIB_VALUE_UNQUOTED:if(!L(u)){if(u==="&")j.state=A.ATTRIB_VALUE_ENTITY_U;else j.attribValue+=u;continue}if(_(j),u===">")g(j);else j.state=A.ATTRIB;continue;case A.CLOSE_TAG:if(!j.tagName)if(z(u))continue;else if(y(M,u))if(j.script)j.script+="</"+u,j.state=A.SCRIPT;else E(j,"Invalid tagname in closing tag.");else j.tagName=u;else if(u===">")m(j);else if(C(U,u))j.tagName+=u;else if(j.script)j.script+="</"+j.tagName,j.tagName="",j.state=A.SCRIPT;else{if(!z(u))E(j,"Invalid tagname in closing tag");j.state=A.CLOSE_TAG_SAW_WHITE}continue;case A.CLOSE_TAG_SAW_WHITE:if(z(u))continue;if(u===">")m(j);else E(j,"Invalid characters in closing tag");continue;case A.TEXT_ENTITY:case A.ATTRIB_VALUE_ENTITY_Q:case A.ATTRIB_VALUE_ENTITY_U:var B0,A0;switch(j.state){case A.TEXT_ENTITY:B0=A.TEXT,A0="textNode";break;case A.ATTRIB_VALUE_ENTITY_Q:B0=A.ATTRIB_VALUE_QUOTED,A0="attribValue";break;case A.ATTRIB_VALUE_ENTITY_U:B0=A.ATTRIB_VALUE_UNQUOTED,A0="attribValue";break}if(u===";"){var S0=a(j);if(j.opt.unparsedEntities&&!Object.values(D.XML_ENTITIES).includes(S0))j.entity="",j.state=B0,j.write(S0);else j[A0]+=S0,j.entity="",j.state=B0}else if(C(j.entity.length?R:N,u))j.entity+=u;else E(j,"Invalid character in entity name"),j[A0]+="&"+j.entity+u,j.entity="",j.state=B0;continue;default:throw Error(j,"Unknown state: "+j.state)}}if(j.position>=j.bufferCheckPosition)Z(j);return j}/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */if(!String.fromCodePoint)(function(){var I=String.fromCharCode,j=Math.floor,l=function(){var u=16384,w0=[],i,B0,A0=-1,S0=arguments.length;if(!S0)return"";var a0="";while(++A0<S0){var jD=Number(arguments[A0]);if(!isFinite(jD)||jD<0||jD>1114111||j(jD)!==jD)throw RangeError("Invalid code point: "+jD);if(jD<=65535)w0.push(jD);else jD-=65536,i=(jD>>10)+55296,B0=jD%1024+56320,w0.push(i,B0);if(A0+1===S0||w0.length>u)a0+=I.apply(null,w0),w0.length=0}return a0};if(Object.defineProperty)Object.defineProperty(String,"fromCodePoint",{value:l,configurable:!0,writable:!0});else String.fromCodePoint=l})()})(typeof L2>"u"?L2.sax={}:L2)});var wT=T((oB)=>{(function(){oB.stripBOM=function(D){if(D[0]==="\uFEFF")return D.substring(1);else return D}}).call(oB)});var eB=T((r9)=>{(function(){var D=new RegExp(/(?!xmlns)^.*:/);r9.normalize=function(X){return X.toLowerCase()},r9.firstCharLowerCase=function(X){return X.charAt(0).toLowerCase()+X.slice(1)},r9.stripPrefix=function(X){return X.replace(D,"")},r9.parseNumbers=function(X){if(!isNaN(X))X=X%1===0?parseInt(X,10):parseFloat(X);return X},r9.parseBooleans=function(X){if(/^(?:true|false)$/i.test(X))X=X.toLowerCase()==="true";return X}}).call(r9)});var FT=T((q6)=>{(function(){var D,X,Y,Z,J,Q,w,F,B,q=function(W,O){return function(){return W.apply(O,arguments)}},$=function(W,O){for(var H in O)if(G.call(O,H))W[H]=O[H];function M(){this.constructor=W}return M.prototype=O.prototype,W.prototype=new M,W.__super__=O.prototype,W},G={}.hasOwnProperty;F=QT(),Z=require("events"),D=wT(),w=eB(),B=require("timers").setImmediate,X=Z2().defaults,J=function(W){return typeof W==="object"&&W!=null&&Object.keys(W).length===0},Q=function(W,O,H){var M,U,N;for(M=0,U=W.length;M<U;M++)N=W[M],O=N(O,H);return O},Y=function(W,O,H){var M=Object.create(null);return M.value=H,M.writable=!0,M.enumerable=!0,M.configurable=!0,Object.defineProperty(W,O,M)},q6.Parser=function(W){$(O,W);function O(H){this.parseStringPromise=q(this.parseStringPromise,this),this.parseString=q(this.parseString,this),this.reset=q(this.reset,this),this.assignOrPush=q(this.assignOrPush,this),this.processAsync=q(this.processAsync,this);var M,U,N;if(!(this instanceof q6.Parser))return new q6.Parser(H);this.options={},U=X["0.2"];for(M in U){if(!G.call(U,M))continue;N=U[M],this.options[M]=N}for(M in H){if(!G.call(H,M))continue;N=H[M],this.options[M]=N}if(this.options.xmlns)this.options.xmlnskey=this.options.attrkey+"ns";if(this.options.normalizeTags){if(!this.options.tagNameProcessors)this.options.tagNameProcessors=[];this.options.tagNameProcessors.unshift(w.normalize)}this.reset()}return O.prototype.processAsync=function(){var H,M;try{if(this.remaining.length<=this.options.chunkSize)return H=this.remaining,this.remaining="",this.saxParser=this.saxParser.write(H),this.saxParser.close();else return H=this.remaining.substr(0,this.options.chunkSize),this.remaining=this.remaining.substr(this.options.chunkSize,this.remaining.length),this.saxParser=this.saxParser.write(H),B(this.processAsync)}catch(U){if(M=U,!this.saxParser.errThrown)return this.saxParser.errThrown=!0,this.emit(M)}},O.prototype.assignOrPush=function(H,M,U){if(!(M in H))if(!this.options.explicitArray)return Y(H,M,U);else return Y(H,M,[U]);else{if(!(H[M]instanceof Array))Y(H,M,[H[M]]);return H[M].push(U)}},O.prototype.reset=function(){var H,M,U,N;return this.removeAllListeners(),this.saxParser=F.parser(this.options.strict,{trim:!1,normalize:!1,xmlns:this.options.xmlns}),this.saxParser.errThrown=!1,this.saxParser.onerror=function(R){return function(z){if(R.saxParser.resume(),!R.saxParser.errThrown)return R.saxParser.errThrown=!0,R.emit("error",z)}}(this),this.saxParser.onend=function(R){return function(){if(!R.saxParser.ended)return R.saxParser.ended=!0,R.emit("end",R.resultObject)}}(this),this.saxParser.ended=!1,this.EXPLICIT_CHARKEY=this.options.explicitCharkey,this.resultObject=null,N=[],H=this.options.attrkey,M=this.options.charkey,this.saxParser.onopentag=function(R){return function(z){var V,L,C,y,A;if(C={},C[M]="",!R.options.ignoreAttrs){A=z.attributes;for(V in A){if(!G.call(A,V))continue;if(!(H in C)&&!R.options.mergeAttrs)C[H]={};if(L=R.options.attrValueProcessors?Q(R.options.attrValueProcessors,z.attributes[V],V):z.attributes[V],y=R.options.attrNameProcessors?Q(R.options.attrNameProcessors,V):V,R.options.mergeAttrs)R.assignOrPush(C,y,L);else Y(C[H],y,L)}}if(C["#name"]=R.options.tagNameProcessors?Q(R.options.tagNameProcessors,z.name):z.name,R.options.xmlns)C[R.options.xmlnskey]={uri:z.uri,local:z.local};return N.push(C)}}(this),this.saxParser.onclosetag=function(R){return function(){var z,V,L,C,y,A,k,f,S,v;if(A=N.pop(),y=A["#name"],!R.options.explicitChildren||!R.options.preserveChildrenOrder)delete A["#name"];if(A.cdata===!0)z=A.cdata,delete A.cdata;if(S=N[N.length-1],A[M].match(/^\s*$/)&&!z)V=A[M],delete A[M];else{if(R.options.trim)A[M]=A[M].trim();if(R.options.normalize)A[M]=A[M].replace(/\s{2,}/g," ").trim();if(A[M]=R.options.valueProcessors?Q(R.options.valueProcessors,A[M],y):A[M],Object.keys(A).length===1&&M in A&&!R.EXPLICIT_CHARKEY)A=A[M]}if(J(A))if(typeof R.options.emptyTag==="function")A=R.options.emptyTag();else A=R.options.emptyTag!==""?R.options.emptyTag:V;if(R.options.validator!=null)v="/"+function(){var b,n,h;h=[];for(b=0,n=N.length;b<n;b++)C=N[b],h.push(C["#name"]);return h}().concat(y).join("/"),function(){var b;try{return A=R.options.validator(v,S&&S[y],A)}catch(n){return b=n,R.emit("error",b)}}();if(R.options.explicitChildren&&!R.options.mergeAttrs&&typeof A==="object"){if(!R.options.preserveChildrenOrder){if(C={},R.options.attrkey in A)C[R.options.attrkey]=A[R.options.attrkey],delete A[R.options.attrkey];if(!R.options.charsAsChildren&&R.options.charkey in A)C[R.options.charkey]=A[R.options.charkey],delete A[R.options.charkey];if(Object.getOwnPropertyNames(A).length>0)C[R.options.childkey]=A;A=C}else if(S){S[R.options.childkey]=S[R.options.childkey]||[],k={};for(L in A){if(!G.call(A,L))continue;Y(k,L,A[L])}if(S[R.options.childkey].push(k),delete A["#name"],Object.keys(A).length===1&&M in A&&!R.EXPLICIT_CHARKEY)A=A[M]}}if(N.length>0)return R.assignOrPush(S,y,A);else{if(R.options.explicitRoot)f=A,A={},Y(A,y,f);return R.resultObject=A,R.saxParser.ended=!0,R.emit("end",R.resultObject)}}}(this),U=function(R){return function(z){var V,L;if(L=N[N.length-1],L){if(L[M]+=z,R.options.explicitChildren&&R.options.preserveChildrenOrder&&R.options.charsAsChildren&&(R.options.includeWhiteChars||z.replace(/\\n/g,"").trim()!=="")){if(L[R.options.childkey]=L[R.options.childkey]||[],V={"#name":"__text__"},V[M]=z,R.options.normalize)V[M]=V[M].replace(/\s{2,}/g," ").trim();L[R.options.childkey].push(V)}return L}}}(this),this.saxParser.ontext=U,this.saxParser.oncdata=function(R){return function(z){var V=U(z);if(V)return V.cdata=!0}}(this)},O.prototype.parseString=function(H,M){var U;if(M!=null&&typeof M==="function")this.on("end",function(N){return this.reset(),M(null,N)}),this.on("error",function(N){return this.reset(),M(N)});try{if(H=H.toString(),H.trim()==="")return this.emit("end",null),!0;if(H=D.stripBOM(H),this.options.async)return this.remaining=H,B(this.processAsync),this.saxParser;return this.saxParser.write(H).close()}catch(N){if(U=N,!(this.saxParser.errThrown||this.saxParser.ended))return this.emit("error",U),this.saxParser.errThrown=!0;else if(this.saxParser.ended)throw U}},O.prototype.parseStringPromise=function(H){return new Promise(function(M){return function(U,N){return M.parseString(H,function(R,z){if(R)return N(R);else return U(z)})}}(this))},O}(Z),q6.parseString=function(W,O,H){var M,U,N;if(H!=null){if(typeof H==="function")M=H;if(typeof O==="object")U=O}else{if(typeof O==="function")M=O;U={}}return N=new q6.Parser(U),N.parseString(W,M)},q6.parseStringPromise=function(W,O){var H,M;if(typeof O==="object")H=O;return M=new q6.Parser(H),M.parseStringPromise(W)}}).call(q6)});var BT=T(($6)=>{(function(){var D,X,Y,Z,J=function(w,F){for(var B in F)if(Q.call(F,B))w[B]=F[B];function q(){this.constructor=w}return q.prototype=F.prototype,w.prototype=new q,w.__super__=F.prototype,w},Q={}.hasOwnProperty;X=Z2(),D=JT(),Y=FT(),Z=eB(),$6.defaults=X.defaults,$6.processors=Z,$6.ValidationError=function(w){J(F,w);function F(B){this.message=B}return F}(Error),$6.Builder=D.Builder,$6.Parser=Y.Parser,$6.parseString=Y.parseString,$6.parseStringPromise=Y.parseStringPromise}).call($6)});var qT=T((v8)=>{Object.defineProperty(v8,"__esModule",{value:!0});v8.buildXmlElement=v8.writeXML=v8.parseXML=v8.readXML=void 0;var n00=h0(),i00=W7(),T3=n00.__importDefault(BT());async function p00(D){var X;try{let Y=await(0,i00.readFile)(D,{encoding:"utf-8"});try{return await T3.default.parseStringPromise(Y)}catch(Z){throw`Error parsing: ${D}, ${(X=Z.stack)!==null&&X!==void 0?X:Z}`}}catch(Y){throw`Unable to read: ${D}`}}v8.readXML=p00;function a00(D,X){let Y=X!==void 0?new T3.default.Parser({...X}):new T3.default.Parser,Z;return Y.parseString(D,(J,Q)=>{if(!J)Z=Q}),Z}v8.parseXML=a00;async function t00(D){return new Promise((X)=>{let Z=new T3.default.Builder({headless:!0,explicitRoot:!1,rootName:"deleteme"}).buildObject(D);Z=Z.replace("<deleteme>","").replace("</deleteme>",""),X(Z)})}v8.writeXML=t00;function r00(D,X){return new T3.default.Builder({headless:!0,explicitRoot:!1,rootName:X}).buildObject(D)}v8.buildXmlElement=r00});var HT=T((n0)=>{Object.defineProperty(n0,"__esModule",{value:!0});n0.getAllElements=n0.getFilePath=n0.getAssets=n0.getJSModules=n0.getPluginType=n0.getPlatformElement=n0.getPluginPlatform=n0.printPlugins=n0.fixName=n0.getDependencies=n0.resolvePlugin=n0.getPlugins=n0.getIncludedPluginPackages=void 0;var s00=h0(),o00=W7(),Dq=require("path"),C7=s00.__importDefault(H7()),e00=fZ(),DD0=W3(),$T=Y2(),XD0=qT();function GT(D,X){var Y,Z,J,Q;let{extConfig:w}=D.app;switch(X){case"android":return(Z=(Y=w.android)===null||Y===void 0?void 0:Y.includePlugins)!==null&&Z!==void 0?Z:w.includePlugins;case"ios":return(Q=(J=w.ios)===null||J===void 0?void 0:J.includePlugins)!==null&&Q!==void 0?Q:w.includePlugins}}n0.getIncludedPluginPackages=GT;async function YD0(D,X){var Y;let Z=(Y=GT(D,X))!==null&&Y!==void 0?Y:WT(D);return(await Promise.all(Z.map(async(Q)=>OT(D,Q)))).filter((Q)=>!!Q)}n0.getPlugins=YD0;async function OT(D,X){try{let Y=(0,$T.resolveNode)(D.app.rootDir,X,"package.json");if(!Y)(0,e00.fatal)(`Unable to find ${C7.default.strong(`node_modules/${X}`)}.
|
|
195
195
|
Are you sure ${C7.default.strong(X)} is installed?`);let Z=(0,Dq.dirname)(Y),J=await(0,o00.readJSON)(Y);if(!J)return null;if(J.capacitor)return{id:X,name:Xq(X),version:J.version,rootPath:Z,repository:J.repository,manifest:J.capacitor};let Q=(0,Dq.join)(Z,"plugin.xml"),w=await(0,XD0.readXML)(Q);return{id:X,name:Xq(X),version:J.version,rootPath:Z,repository:J.repository,xml:w.plugin}}catch(Y){}return null}n0.resolvePlugin=OT;function WT(D){var X,Y;return[...Object.keys((X=D.app.package.dependencies)!==null&&X!==void 0?X:{}),...Object.keys((Y=D.app.package.devDependencies)!==null&&Y!==void 0?Y:{})]}n0.getDependencies=WT;function Xq(D){return D=D.replace(/\//g,"_").replace(/-/g,"_").replace(/@/g,"").replace(/_\w/g,(X)=>X[1].toUpperCase()),D.charAt(0).toUpperCase()+D.slice(1)}n0.fixName=Xq;function ZD0(D,X,Y="capacitor"){if(D.length===0)return;let Z,J=D.length===1?"":"s";switch(Y){case"cordova":Z=`Found ${D.length} Cordova plugin${J} for ${C7.default.strong(X)}:
|
|
196
196
|
`;break;case"incompatible":Z=`Found ${D.length} incompatible Cordova plugin${J} for ${C7.default.strong(X)}, skipped install:
|
|
197
197
|
`;break;case"capacitor":Z=`Found ${D.length} Capacitor plugin${J} for ${C7.default.strong(X)}:
|
|
198
198
|
`;break}Z+=D.map((Q)=>`${Q.id}${C7.default.weak(`@${Q.version}`)}`).join(`
|
|
199
|
-
`),DD0.logger.info(Z)}n0.printPlugins=ZD0;function Yq(D,X){if(D.xml.platform)return D.xml.platform.filter(function(J){return J.$.name===X})[0];return[]}n0.getPluginPlatform=Yq;function JD0(D,X,Y){let Z=Yq(D,X);if(Z){let J=Z[Y];if(J)return J}return[]}n0.getPlatformElement=JD0;function QD0(D,X){var Y,Z,J,Q;switch(X){case"ios":return(Z=(Y=D.ios)===null||Y===void 0?void 0:Y.type)!==null&&Z!==void 0?Z:0;case"android":return(Q=(J=D.android)===null||J===void 0?void 0:J.type)!==null&&Q!==void 0?Q:0}return 0}n0.getPluginType=QD0;function wD0(D,X){return Zq(D,X,"js-module")}n0.getJSModules=wD0;function FD0(D,X){return Zq(D,X,"asset")}n0.getAssets=FD0;function BD0(D,X,Y){if(Y.startsWith("node_modules")){let Z=Y.split("/").slice(1);if(Z[0].startsWith("@"))Z=[Z[0]+"/"+Z[1],...Z.slice(2)];let J=(0,$T.resolveNode)(D.app.rootDir,...Z);if(!J)throw Error(`Can't resolve module ${Z[0]}`);return J}return(0,Dq.join)(X.rootPath,Y)}n0.getFilePath=BD0;function Zq(D,X,Y){let Z=[];if(D.xml[Y])Z=Z.concat(D.xml[Y]);let J=Yq(D,X);if(J===null||J===void 0?void 0:J[Y])Z=Z.concat(J[Y]);return Z}n0.getAllElements=Zq});var KT=T((cD)=>{Object.defineProperty(cD,"__esModule",{value:!0});cD.replace=cD.move=cD.splice=cD.reduce=cD.map=cD.filter=cD.concurrentFilter=cD.conform=void 0;function qD0(D){if(typeof D>"u")return[];if(!Array.isArray(D))return[D];return D}cD.conform=qD0;async function $D0(D,X){let Y=async(J)=>[J,await X(J)];return(await Promise.all(D.map(Y))).filter(([,J])=>J).map(([J])=>J)}cD.concurrentFilter=$D0;async function GD0(D,X){return Jq(D,async(Z,J,Q,w)=>{if(await X(J,Q,w))Z.push(J);return Z},[])}cD.filter=GD0;async function OD0(D,X){return Jq(D,async(Z,J,Q,w)=>{return Z.push(await X(J,Q,w)),Z},[])}cD.map=OD0;async function Jq(D,X,Y){let J=typeof Y>"u"?1:0;if(typeof Y>"u"){if(D.length===0)throw TypeError("Reduce of empty array with no initial value");Y=D[0]}let Q=Y;for(let w=J;w<D.length;w++)Q=await X(Q,D[w],w,D);return Q}cD.reduce=Jq;function V2(D,X,Y=D.length-X,...Z){let J=[...D];return J.splice(X,Y,...Z),J}cD.splice=V2;function WD0(D,X,Y){let Z=D[X];if(X<0||Y<0||X>=D.length||Y>=D.length)return[...D];return V2(V2(D,X,1),Y,0,Z)}cD.move=WD0;function HD0(D,X,Y){if(X<0||X>D.length)return[...D];return V2(D,X,1,Y)}cD.replace=HD0});var I3=T((i6)=>{var zT=f0().fromCallback,W1=ED(),KD0=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter((D)=>{return typeof W1[D]==="function"});Object.keys(W1).forEach((D)=>{if(D==="promises")return;i6[D]=W1[D]});KD0.forEach((D)=>{i6[D]=zT(W1[D])});i6.exists=function(D,X){if(typeof X==="function")return W1.exists(D,X);return new Promise((Y)=>{return W1.exists(D,Y)})};i6.read=function(D,X,Y,Z,J,Q){if(typeof Q==="function")return W1.read(D,X,Y,Z,J,Q);return new Promise((w,F)=>{W1.read(D,X,Y,Z,J,(B,q,$)=>{if(B)return F(B);w({bytesRead:q,buffer:$})})})};i6.write=function(D,X,...Y){if(typeof Y[Y.length-1]==="function")return W1.write(D,X,...Y);return new Promise((Z,J)=>{W1.write(D,X,...Y,(Q,w,F)=>{if(Q)return J(Q);Z({bytesWritten:w,buffer:F})})})};if(typeof W1.writev==="function")i6.writev=function(D,X,...Y){if(typeof Y[Y.length-1]==="function")return W1.writev(D,X,...Y);return new Promise((Z,J)=>{W1.writev(D,X,...Y,(Q,w,F)=>{if(Q)return J(Q);Z({bytesWritten:w,buffers:F})})})};if(typeof W1.realpath.native==="function")i6.realpath.native=zT(W1.realpath.native)});var Qq=T((qq0,MT)=>{MT.exports=(D)=>{let X=process.versions.node.split(".").map((Y)=>parseInt(Y,10));return D=D.split(".").map((Y)=>parseInt(Y,10)),X[0]>D[0]||X[0]===D[0]&&(X[1]>D[1]||X[1]===D[1]&&X[2]>=D[2])}});var RT=T(($q0,wq)=>{var j7=I3(),G6=require("path"),zD0=Qq(),LT=zD0("10.12.0"),VT=(D)=>{if(process.platform==="win32"){if(/[<>:"|?*]/.test(D.replace(G6.parse(D).root,""))){let Y=Error(`Path contains invalid characters: ${D}`);throw Y.code="EINVAL",Y}}},UT=(D)=>{let X={mode:511};if(typeof D==="number")D={mode:D};return{...X,...D}},NT=(D)=>{let X=Error(`operation not permitted, mkdir '${D}'`);return X.code="EPERM",X.errno=-4048,X.path=D,X.syscall="mkdir",X};wq.exports.makeDir=async(D,X)=>{if(VT(D),X=UT(X),LT){let Z=G6.resolve(D);return j7.mkdir(Z,{mode:X.mode,recursive:!0})}let Y=async(Z)=>{try{await j7.mkdir(Z,X.mode)}catch(J){if(J.code==="EPERM")throw J;if(J.code==="ENOENT"){if(G6.dirname(Z)===Z)throw NT(Z);if(J.message.includes("null bytes"))throw J;return await Y(G6.dirname(Z)),Y(Z)}try{if(!(await j7.stat(Z)).isDirectory())throw Error("The path is not a directory")}catch{throw J}}};return Y(G6.resolve(D))};wq.exports.makeDirSync=(D,X)=>{if(VT(D),X=UT(X),LT){let Z=G6.resolve(D);return j7.mkdirSync(Z,{mode:X.mode,recursive:!0})}let Y=(Z)=>{try{j7.mkdirSync(Z,X.mode)}catch(J){if(J.code==="EPERM")throw J;if(J.code==="ENOENT"){if(G6.dirname(Z)===Z)throw NT(Z);if(J.message.includes("null bytes"))throw J;return Y(G6.dirname(Z)),Y(Z)}try{if(!j7.statSync(Z).isDirectory())throw Error("The path is not a directory")}catch{throw J}}};return Y(G6.resolve(D))}});var K8=T((Gq0,AT)=>{var MD0=f0().fromPromise,{makeDir:LD0,makeDirSync:Fq}=RT(),Bq=MD0(LD0);AT.exports={mkdirs:Bq,mkdirsSync:Fq,mkdirp:Bq,mkdirpSync:Fq,ensureDir:Bq,ensureDirSync:Fq}});var qq=T((Oq0,ET)=>{var T7=ED();function VD0(D,X,Y,Z){T7.open(D,"r+",(J,Q)=>{if(J)return Z(J);T7.futimes(Q,X,Y,(w)=>{T7.close(Q,(F)=>{if(Z)Z(w||F)})})})}function UD0(D,X,Y){let Z=T7.openSync(D,"r+");return T7.futimesSync(Z,X,Y),T7.closeSync(Z)}ET.exports={utimesMillis:VD0,utimesMillisSync:UD0}});var P3=T((Wq0,IT)=>{var I7=I3(),x1=require("path"),ND0=require("util"),RD0=Qq(),U2=RD0("10.5.0"),CT=(D)=>U2?I7.stat(D,{bigint:!0}):I7.stat(D),$q=(D)=>U2?I7.statSync(D,{bigint:!0}):I7.statSync(D);function AD0(D,X){return Promise.all([CT(D),CT(X).catch((Y)=>{if(Y.code==="ENOENT")return null;throw Y})]).then(([Y,Z])=>({srcStat:Y,destStat:Z}))}function ED0(D,X){let Y,Z=$q(D);try{Y=$q(X)}catch(J){if(J.code==="ENOENT")return{srcStat:Z,destStat:null};throw J}return{srcStat:Z,destStat:Y}}function CD0(D,X,Y,Z){ND0.callbackify(AD0)(D,X,(J,Q)=>{if(J)return Z(J);let{srcStat:w,destStat:F}=Q;if(F&&N2(w,F))return Z(Error("Source and destination must not be the same."));if(w.isDirectory()&&Gq(D,X))return Z(Error(R2(D,X,Y)));return Z(null,{srcStat:w,destStat:F})})}function jD0(D,X,Y){let{srcStat:Z,destStat:J}=ED0(D,X);if(J&&N2(Z,J))throw Error("Source and destination must not be the same.");if(Z.isDirectory()&&Gq(D,X))throw Error(R2(D,X,Y));return{srcStat:Z,destStat:J}}function jT(D,X,Y,Z,J){let Q=x1.resolve(x1.dirname(D)),w=x1.resolve(x1.dirname(Y));if(w===Q||w===x1.parse(w).root)return J();let F=(B,q)=>{if(B){if(B.code==="ENOENT")return J();return J(B)}if(N2(X,q))return J(Error(R2(D,Y,Z)));return jT(D,X,w,Z,J)};if(U2)I7.stat(w,{bigint:!0},F);else I7.stat(w,F)}function TT(D,X,Y,Z){let J=x1.resolve(x1.dirname(D)),Q=x1.resolve(x1.dirname(Y));if(Q===J||Q===x1.parse(Q).root)return;let w;try{w=$q(Q)}catch(F){if(F.code==="ENOENT")return;throw F}if(N2(X,w))throw Error(R2(D,Y,Z));return TT(D,X,Q,Z)}function N2(D,X){if(X.ino&&X.dev&&X.ino===D.ino&&X.dev===D.dev){if(U2||X.ino<Number.MAX_SAFE_INTEGER)return!0;if(X.size===D.size&&X.mode===D.mode&&X.nlink===D.nlink&&X.atimeMs===D.atimeMs&&X.mtimeMs===D.mtimeMs&&X.ctimeMs===D.ctimeMs&&X.birthtimeMs===D.birthtimeMs)return!0}return!1}function Gq(D,X){let Y=x1.resolve(D).split(x1.sep).filter((J)=>J),Z=x1.resolve(X).split(x1.sep).filter((J)=>J);return Y.reduce((J,Q,w)=>J&&Z[w]===Q,!0)}function R2(D,X,Y){return`Cannot ${Y} '${D}' to a subdirectory of itself, '${X}'.`}IT.exports={checkPaths:CD0,checkPathsSync:jD0,checkParentPaths:jT,checkParentPathsSync:TT,isSrcSubdir:Gq}});var yT=T((Hq0,fT)=>{var
|
|
199
|
+
`),DD0.logger.info(Z)}n0.printPlugins=ZD0;function Yq(D,X){if(D.xml.platform)return D.xml.platform.filter(function(J){return J.$.name===X})[0];return[]}n0.getPluginPlatform=Yq;function JD0(D,X,Y){let Z=Yq(D,X);if(Z){let J=Z[Y];if(J)return J}return[]}n0.getPlatformElement=JD0;function QD0(D,X){var Y,Z,J,Q;switch(X){case"ios":return(Z=(Y=D.ios)===null||Y===void 0?void 0:Y.type)!==null&&Z!==void 0?Z:0;case"android":return(Q=(J=D.android)===null||J===void 0?void 0:J.type)!==null&&Q!==void 0?Q:0}return 0}n0.getPluginType=QD0;function wD0(D,X){return Zq(D,X,"js-module")}n0.getJSModules=wD0;function FD0(D,X){return Zq(D,X,"asset")}n0.getAssets=FD0;function BD0(D,X,Y){if(Y.startsWith("node_modules")){let Z=Y.split("/").slice(1);if(Z[0].startsWith("@"))Z=[Z[0]+"/"+Z[1],...Z.slice(2)];let J=(0,$T.resolveNode)(D.app.rootDir,...Z);if(!J)throw Error(`Can't resolve module ${Z[0]}`);return J}return(0,Dq.join)(X.rootPath,Y)}n0.getFilePath=BD0;function Zq(D,X,Y){let Z=[];if(D.xml[Y])Z=Z.concat(D.xml[Y]);let J=Yq(D,X);if(J===null||J===void 0?void 0:J[Y])Z=Z.concat(J[Y]);return Z}n0.getAllElements=Zq});var KT=T((cD)=>{Object.defineProperty(cD,"__esModule",{value:!0});cD.replace=cD.move=cD.splice=cD.reduce=cD.map=cD.filter=cD.concurrentFilter=cD.conform=void 0;function qD0(D){if(typeof D>"u")return[];if(!Array.isArray(D))return[D];return D}cD.conform=qD0;async function $D0(D,X){let Y=async(J)=>[J,await X(J)];return(await Promise.all(D.map(Y))).filter(([,J])=>J).map(([J])=>J)}cD.concurrentFilter=$D0;async function GD0(D,X){return Jq(D,async(Z,J,Q,w)=>{if(await X(J,Q,w))Z.push(J);return Z},[])}cD.filter=GD0;async function OD0(D,X){return Jq(D,async(Z,J,Q,w)=>{return Z.push(await X(J,Q,w)),Z},[])}cD.map=OD0;async function Jq(D,X,Y){let J=typeof Y>"u"?1:0;if(typeof Y>"u"){if(D.length===0)throw TypeError("Reduce of empty array with no initial value");Y=D[0]}let Q=Y;for(let w=J;w<D.length;w++)Q=await X(Q,D[w],w,D);return Q}cD.reduce=Jq;function V2(D,X,Y=D.length-X,...Z){let J=[...D];return J.splice(X,Y,...Z),J}cD.splice=V2;function WD0(D,X,Y){let Z=D[X];if(X<0||Y<0||X>=D.length||Y>=D.length)return[...D];return V2(V2(D,X,1),Y,0,Z)}cD.move=WD0;function HD0(D,X,Y){if(X<0||X>D.length)return[...D];return V2(D,X,1,Y)}cD.replace=HD0});var I3=T((i6)=>{var zT=f0().fromCallback,W1=ED(),KD0=["access","appendFile","chmod","chown","close","copyFile","fchmod","fchown","fdatasync","fstat","fsync","ftruncate","futimes","lchmod","lchown","link","lstat","mkdir","mkdtemp","open","opendir","readdir","readFile","readlink","realpath","rename","rm","rmdir","stat","symlink","truncate","unlink","utimes","writeFile"].filter((D)=>{return typeof W1[D]==="function"});Object.keys(W1).forEach((D)=>{if(D==="promises")return;i6[D]=W1[D]});KD0.forEach((D)=>{i6[D]=zT(W1[D])});i6.exists=function(D,X){if(typeof X==="function")return W1.exists(D,X);return new Promise((Y)=>{return W1.exists(D,Y)})};i6.read=function(D,X,Y,Z,J,Q){if(typeof Q==="function")return W1.read(D,X,Y,Z,J,Q);return new Promise((w,F)=>{W1.read(D,X,Y,Z,J,(B,q,$)=>{if(B)return F(B);w({bytesRead:q,buffer:$})})})};i6.write=function(D,X,...Y){if(typeof Y[Y.length-1]==="function")return W1.write(D,X,...Y);return new Promise((Z,J)=>{W1.write(D,X,...Y,(Q,w,F)=>{if(Q)return J(Q);Z({bytesWritten:w,buffer:F})})})};if(typeof W1.writev==="function")i6.writev=function(D,X,...Y){if(typeof Y[Y.length-1]==="function")return W1.writev(D,X,...Y);return new Promise((Z,J)=>{W1.writev(D,X,...Y,(Q,w,F)=>{if(Q)return J(Q);Z({bytesWritten:w,buffers:F})})})};if(typeof W1.realpath.native==="function")i6.realpath.native=zT(W1.realpath.native)});var Qq=T((qq0,MT)=>{MT.exports=(D)=>{let X=process.versions.node.split(".").map((Y)=>parseInt(Y,10));return D=D.split(".").map((Y)=>parseInt(Y,10)),X[0]>D[0]||X[0]===D[0]&&(X[1]>D[1]||X[1]===D[1]&&X[2]>=D[2])}});var RT=T(($q0,wq)=>{var j7=I3(),G6=require("path"),zD0=Qq(),LT=zD0("10.12.0"),VT=(D)=>{if(process.platform==="win32"){if(/[<>:"|?*]/.test(D.replace(G6.parse(D).root,""))){let Y=Error(`Path contains invalid characters: ${D}`);throw Y.code="EINVAL",Y}}},UT=(D)=>{let X={mode:511};if(typeof D==="number")D={mode:D};return{...X,...D}},NT=(D)=>{let X=Error(`operation not permitted, mkdir '${D}'`);return X.code="EPERM",X.errno=-4048,X.path=D,X.syscall="mkdir",X};wq.exports.makeDir=async(D,X)=>{if(VT(D),X=UT(X),LT){let Z=G6.resolve(D);return j7.mkdir(Z,{mode:X.mode,recursive:!0})}let Y=async(Z)=>{try{await j7.mkdir(Z,X.mode)}catch(J){if(J.code==="EPERM")throw J;if(J.code==="ENOENT"){if(G6.dirname(Z)===Z)throw NT(Z);if(J.message.includes("null bytes"))throw J;return await Y(G6.dirname(Z)),Y(Z)}try{if(!(await j7.stat(Z)).isDirectory())throw Error("The path is not a directory")}catch{throw J}}};return Y(G6.resolve(D))};wq.exports.makeDirSync=(D,X)=>{if(VT(D),X=UT(X),LT){let Z=G6.resolve(D);return j7.mkdirSync(Z,{mode:X.mode,recursive:!0})}let Y=(Z)=>{try{j7.mkdirSync(Z,X.mode)}catch(J){if(J.code==="EPERM")throw J;if(J.code==="ENOENT"){if(G6.dirname(Z)===Z)throw NT(Z);if(J.message.includes("null bytes"))throw J;return Y(G6.dirname(Z)),Y(Z)}try{if(!j7.statSync(Z).isDirectory())throw Error("The path is not a directory")}catch{throw J}}};return Y(G6.resolve(D))}});var K8=T((Gq0,AT)=>{var MD0=f0().fromPromise,{makeDir:LD0,makeDirSync:Fq}=RT(),Bq=MD0(LD0);AT.exports={mkdirs:Bq,mkdirsSync:Fq,mkdirp:Bq,mkdirpSync:Fq,ensureDir:Bq,ensureDirSync:Fq}});var qq=T((Oq0,ET)=>{var T7=ED();function VD0(D,X,Y,Z){T7.open(D,"r+",(J,Q)=>{if(J)return Z(J);T7.futimes(Q,X,Y,(w)=>{T7.close(Q,(F)=>{if(Z)Z(w||F)})})})}function UD0(D,X,Y){let Z=T7.openSync(D,"r+");return T7.futimesSync(Z,X,Y),T7.closeSync(Z)}ET.exports={utimesMillis:VD0,utimesMillisSync:UD0}});var P3=T((Wq0,IT)=>{var I7=I3(),x1=require("path"),ND0=require("util"),RD0=Qq(),U2=RD0("10.5.0"),CT=(D)=>U2?I7.stat(D,{bigint:!0}):I7.stat(D),$q=(D)=>U2?I7.statSync(D,{bigint:!0}):I7.statSync(D);function AD0(D,X){return Promise.all([CT(D),CT(X).catch((Y)=>{if(Y.code==="ENOENT")return null;throw Y})]).then(([Y,Z])=>({srcStat:Y,destStat:Z}))}function ED0(D,X){let Y,Z=$q(D);try{Y=$q(X)}catch(J){if(J.code==="ENOENT")return{srcStat:Z,destStat:null};throw J}return{srcStat:Z,destStat:Y}}function CD0(D,X,Y,Z){ND0.callbackify(AD0)(D,X,(J,Q)=>{if(J)return Z(J);let{srcStat:w,destStat:F}=Q;if(F&&N2(w,F))return Z(Error("Source and destination must not be the same."));if(w.isDirectory()&&Gq(D,X))return Z(Error(R2(D,X,Y)));return Z(null,{srcStat:w,destStat:F})})}function jD0(D,X,Y){let{srcStat:Z,destStat:J}=ED0(D,X);if(J&&N2(Z,J))throw Error("Source and destination must not be the same.");if(Z.isDirectory()&&Gq(D,X))throw Error(R2(D,X,Y));return{srcStat:Z,destStat:J}}function jT(D,X,Y,Z,J){let Q=x1.resolve(x1.dirname(D)),w=x1.resolve(x1.dirname(Y));if(w===Q||w===x1.parse(w).root)return J();let F=(B,q)=>{if(B){if(B.code==="ENOENT")return J();return J(B)}if(N2(X,q))return J(Error(R2(D,Y,Z)));return jT(D,X,w,Z,J)};if(U2)I7.stat(w,{bigint:!0},F);else I7.stat(w,F)}function TT(D,X,Y,Z){let J=x1.resolve(x1.dirname(D)),Q=x1.resolve(x1.dirname(Y));if(Q===J||Q===x1.parse(Q).root)return;let w;try{w=$q(Q)}catch(F){if(F.code==="ENOENT")return;throw F}if(N2(X,w))throw Error(R2(D,Y,Z));return TT(D,X,Q,Z)}function N2(D,X){if(X.ino&&X.dev&&X.ino===D.ino&&X.dev===D.dev){if(U2||X.ino<Number.MAX_SAFE_INTEGER)return!0;if(X.size===D.size&&X.mode===D.mode&&X.nlink===D.nlink&&X.atimeMs===D.atimeMs&&X.mtimeMs===D.mtimeMs&&X.ctimeMs===D.ctimeMs&&X.birthtimeMs===D.birthtimeMs)return!0}return!1}function Gq(D,X){let Y=x1.resolve(D).split(x1.sep).filter((J)=>J),Z=x1.resolve(X).split(x1.sep).filter((J)=>J);return Y.reduce((J,Q,w)=>J&&Z[w]===Q,!0)}function R2(D,X,Y){return`Cannot ${Y} '${D}' to a subdirectory of itself, '${X}'.`}IT.exports={checkPaths:CD0,checkPathsSync:jD0,checkParentPaths:jT,checkParentPathsSync:TT,isSrcSubdir:Gq}});var yT=T((Hq0,fT)=>{var Y1=ED(),S3=require("path"),TD0=K8().mkdirsSync,ID0=qq().utimesMillisSync,x3=P3();function PD0(D,X,Y){if(typeof Y==="function")Y={filter:Y};if(Y=Y||{},Y.clobber="clobber"in Y?!!Y.clobber:!0,Y.overwrite="overwrite"in Y?!!Y.overwrite:Y.clobber,Y.preserveTimestamps&&process.arch==="ia32")console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
200
200
|
|
|
201
|
-
see https://github.com/jprichardson/node-fs-extra/issues/269`);let{srcStat:Z,destStat:J}=x3.checkPathsSync(D,X,"copy");return x3.checkParentPathsSync(D,Z,X,"copy"),SD0(J,D,X,Y)}function SD0(D,X,Y,Z){if(Z.filter&&!Z.filter(X,Y))return;let J=S3.dirname(Y);if(!
|
|
201
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`);let{srcStat:Z,destStat:J}=x3.checkPathsSync(D,X,"copy");return x3.checkParentPathsSync(D,Z,X,"copy"),SD0(J,D,X,Y)}function SD0(D,X,Y,Z){if(Z.filter&&!Z.filter(X,Y))return;let J=S3.dirname(Y);if(!Y1.existsSync(J))TD0(J);return PT(D,X,Y,Z)}function PT(D,X,Y,Z){if(Z.filter&&!Z.filter(X,Y))return;return xD0(D,X,Y,Z)}function xD0(D,X,Y,Z){let Q=(Z.dereference?Y1.statSync:Y1.lstatSync)(X);if(Q.isDirectory())return vD0(Q,D,X,Y,Z);else if(Q.isFile()||Q.isCharacterDevice()||Q.isBlockDevice())return fD0(Q,D,X,Y,Z);else if(Q.isSymbolicLink())return mD0(D,X,Y,Z)}function fD0(D,X,Y,Z,J){if(!X)return ST(D,Y,Z,J);return yD0(D,Y,Z,J)}function yD0(D,X,Y,Z){if(Z.overwrite)return Y1.unlinkSync(Y),ST(D,X,Y,Z);else if(Z.errorOnExist)throw Error(`'${Y}' already exists`)}function ST(D,X,Y,Z){if(Y1.copyFileSync(X,Y),Z.preserveTimestamps)kD0(D.mode,X,Y);return Oq(Y,D.mode)}function kD0(D,X,Y){if(uD0(D))hD0(Y,D);return _D0(X,Y)}function uD0(D){return(D&128)===0}function hD0(D,X){return Oq(D,X|128)}function Oq(D,X){return Y1.chmodSync(D,X)}function _D0(D,X){let Y=Y1.statSync(D);return ID0(X,Y.atime,Y.mtime)}function vD0(D,X,Y,Z,J){if(!X)return bD0(D.mode,Y,Z,J);if(X&&!X.isDirectory())throw Error(`Cannot overwrite non-directory '${Z}' with directory '${Y}'.`);return xT(Y,Z,J)}function bD0(D,X,Y,Z){return Y1.mkdirSync(Y),xT(X,Y,Z),Oq(Y,D)}function xT(D,X,Y){Y1.readdirSync(D).forEach((Z)=>gD0(Z,D,X,Y))}function gD0(D,X,Y,Z){let J=S3.join(X,D),Q=S3.join(Y,D),{destStat:w}=x3.checkPathsSync(J,Q,"copy");return PT(w,J,Q,Z)}function mD0(D,X,Y,Z){let J=Y1.readlinkSync(X);if(Z.dereference)J=S3.resolve(process.cwd(),J);if(!D)return Y1.symlinkSync(J,Y);else{let Q;try{Q=Y1.readlinkSync(Y)}catch(w){if(w.code==="EINVAL"||w.code==="UNKNOWN")return Y1.symlinkSync(J,Y);throw w}if(Z.dereference)Q=S3.resolve(process.cwd(),Q);if(x3.isSrcSubdir(J,Q))throw Error(`Cannot copy '${J}' to a subdirectory of itself, '${Q}'.`);if(Y1.statSync(Y).isDirectory()&&x3.isSrcSubdir(Q,J))throw Error(`Cannot overwrite '${Q}' with '${J}'.`);return dD0(J,Y)}}function dD0(D,X){return Y1.unlinkSync(X),Y1.symlinkSync(D,X)}fT.exports=PD0});var Wq=T((Kq0,kT)=>{kT.exports={copySync:yT()}});var p6=T((zq0,hT)=>{var cD0=f0().fromPromise,uT=I3();function lD0(D){return uT.access(D).then(()=>!0).catch(()=>!1)}hT.exports={pathExists:cD0(lD0),pathExistsSync:uT.existsSync}});var nT=T((Mq0,lT)=>{var f1=ED(),f3=require("path"),nD0=K8().mkdirs,iD0=p6().pathExists,pD0=qq().utimesMillis,y3=P3();function aD0(D,X,Y,Z){if(typeof Y==="function"&&!Z)Z=Y,Y={};else if(typeof Y==="function")Y={filter:Y};if(Z=Z||function(){},Y=Y||{},Y.clobber="clobber"in Y?!!Y.clobber:!0,Y.overwrite="overwrite"in Y?!!Y.overwrite:Y.clobber,Y.preserveTimestamps&&process.arch==="ia32")console.warn(`fs-extra: Using the preserveTimestamps option in 32-bit node is not recommended;
|
|
202
202
|
|
|
203
|
-
see https://github.com/jprichardson/node-fs-extra/issues/269`);y3.checkPaths(D,X,"copy",(J,Q)=>{if(J)return Z(J);let{srcStat:w,destStat:F}=Q;y3.checkParentPaths(D,w,X,"copy",(B)=>{if(B)return Z(B);if(Y.filter)return gT(_T,F,D,X,Y,Z);return _T(F,D,X,Y,Z)})})}function _T(D,X,Y,Z,J){let Q=f3.dirname(Y);iD0(Q,(w,F)=>{if(w)return J(w);if(F)return Hq(D,X,Y,Z,J);nD0(Q,(B)=>{if(B)return J(B);return Hq(D,X,Y,Z,J)})})}function gT(D,X,Y,Z,J,Q){Promise.resolve(J.filter(Y,Z)).then((w)=>{if(w)return D(X,Y,Z,J,Q);return Q()},(w)=>Q(w))}function Hq(D,X,Y,Z,J){if(Z.filter)return gT(vT,D,X,Y,Z,J);return vT(D,X,Y,Z,J)}function vT(D,X,Y,Z,J){(Z.dereference?f1.stat:f1.lstat)(X,(w,F)=>{if(w)return J(w);if(F.isDirectory())return X10(F,D,X,Y,Z,J);else if(F.isFile()||F.isCharacterDevice()||F.isBlockDevice())return tD0(F,D,X,Y,Z,J);else if(F.isSymbolicLink())return J10(D,X,Y,Z,J)})}function tD0(D,X,Y,Z,J,Q){if(!X)return mT(D,Y,Z,J,Q);return rD0(D,Y,Z,J,Q)}function rD0(D,X,Y,Z,J){if(Z.overwrite)f1.unlink(Y,(Q)=>{if(Q)return J(Q);return mT(D,X,Y,Z,J)});else if(Z.errorOnExist)return J(Error(`'${Y}' already exists`));else return J()}function mT(D,X,Y,Z,J){f1.copyFile(X,Y,(Q)=>{if(Q)return J(Q);if(Z.preserveTimestamps)return sD0(D.mode,X,Y,J);return A2(Y,D.mode,J)})}function sD0(D,X,Y,Z){if(oD0(D))return eD0(Y,D,(J)=>{if(J)return Z(J);return bT(D,X,Y,Z)});return bT(D,X,Y,Z)}function oD0(D){return(D&128)===0}function eD0(D,X,Y){return A2(D,X|128,Y)}function bT(D,X,Y,Z){D10(X,Y,(J)=>{if(J)return Z(J);return A2(Y,D,Z)})}function A2(D,X,Y){return f1.chmod(D,X,Y)}function D10(D,X,Y){f1.stat(D,(Z,J)=>{if(Z)return Y(Z);return pD0(X,J.atime,J.mtime,Y)})}function X10(D,X,Y,Z,J,Q){if(!X)return Y10(D.mode,Y,Z,J,Q);if(X&&!X.isDirectory())return Q(Error(`Cannot overwrite non-directory '${Z}' with directory '${Y}'.`));return dT(Y,Z,J,Q)}function Y10(D,X,Y,Z,J){f1.mkdir(Y,(Q)=>{if(Q)return J(Q);dT(X,Y,Z,(w)=>{if(w)return J(w);return A2(Y,D,J)})})}function dT(D,X,Y,Z){f1.readdir(D,(J,Q)=>{if(J)return Z(J);return cT(Q,D,X,Y,Z)})}function cT(D,X,Y,Z,J){let Q=D.pop();if(!Q)return J();return Z10(D,Q,X,Y,Z,J)}function Z10(D,X,Y,Z,J,Q){let w=f3.join(Y,X),F=f3.join(Z,X);y3.checkPaths(w,F,"copy",(B,q)=>{if(B)return Q(B);let{destStat:$}=q;Hq($,w,F,J,(G)=>{if(G)return Q(G);return cT(D,Y,Z,J,Q)})})}function J10(D,X,Y,Z,J){f1.readlink(X,(Q,w)=>{if(Q)return J(Q);if(Z.dereference)w=f3.resolve(process.cwd(),w);if(!D)return f1.symlink(w,Y,J);else f1.readlink(Y,(F,B)=>{if(F){if(F.code==="EINVAL"||F.code==="UNKNOWN")return f1.symlink(w,Y,J);return J(F)}if(Z.dereference)B=f3.resolve(process.cwd(),B);if(y3.isSrcSubdir(w,B))return J(Error(`Cannot copy '${w}' to a subdirectory of itself, '${B}'.`));if(D.isDirectory()&&y3.isSrcSubdir(B,w))return J(Error(`Cannot overwrite '${B}' with '${w}'.`));return Q10(w,Y,J)})})}function Q10(D,X,Y){f1.unlink(X,(Z)=>{if(Z)return Y(Z);return f1.symlink(D,X,Y)})}lT.exports=aD0});var Kq=T((Lq0,iT)=>{var w10=f0().fromCallback;iT.exports={copy:w10(nT())}});var XI=T((Vq0,DI)=>{var pT=ED(),sT=require("path"),p0=require("assert"),k3=process.platform==="win32";function oT(D){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach((Y)=>{D[Y]=D[Y]||pT[Y],Y=Y+"Sync",D[Y]=D[Y]||pT[Y]}),D.maxBusyTries=D.maxBusyTries||3}function zq(D,X,Y){let Z=0;if(typeof X==="function")Y=X,X={};p0(D,"rimraf: missing path"),p0.strictEqual(typeof D,"string","rimraf: path should be a string"),p0.strictEqual(typeof Y,"function","rimraf: callback function required"),p0(X,"rimraf: invalid options argument provided"),p0.strictEqual(typeof X,"object","rimraf: options should be object"),oT(X),aT(D,X,function J(Q){if(Q){if((Q.code==="EBUSY"||Q.code==="ENOTEMPTY"||Q.code==="EPERM")&&Z<X.maxBusyTries){Z++;let w=Z*100;return setTimeout(()=>aT(D,X,J),w)}if(Q.code==="ENOENT")Q=null}Y(Q)})}function aT(D,X,Y){p0(D),p0(X),p0(typeof Y==="function"),X.lstat(D,(Z,J)=>{if(Z&&Z.code==="ENOENT")return Y(null);if(Z&&Z.code==="EPERM"&&k3)return tT(D,X,Z,Y);if(J&&J.isDirectory())return E2(D,X,Z,Y);X.unlink(D,(Q)=>{if(Q){if(Q.code==="ENOENT")return Y(null);if(Q.code==="EPERM")return k3?tT(D,X,Q,Y):E2(D,X,Q,Y);if(Q.code==="EISDIR")return E2(D,X,Q,Y)}return Y(Q)})})}function tT(D,X,Y,Z){p0(D),p0(X),p0(typeof Z==="function"),X.chmod(D,438,(J)=>{if(J)Z(J.code==="ENOENT"?null:Y);else X.stat(D,(Q,w)=>{if(Q)Z(Q.code==="ENOENT"?null:Y);else if(w.isDirectory())E2(D,X,Y,Z);else X.unlink(D,Z)})})}function rT(D,X,Y){let Z;p0(D),p0(X);try{X.chmodSync(D,438)}catch(J){if(J.code==="ENOENT")return;else throw Y}try{Z=X.statSync(D)}catch(J){if(J.code==="ENOENT")return;else throw Y}if(Z.isDirectory())C2(D,X,Y);else X.unlinkSync(D)}function E2(D,X,Y,Z){p0(D),p0(X),p0(typeof Z==="function"),X.rmdir(D,(J)=>{if(J&&(J.code==="ENOTEMPTY"||J.code==="EEXIST"||J.code==="EPERM"))F10(D,X,Z);else if(J&&J.code==="ENOTDIR")Z(Y);else Z(J)})}function F10(D,X,Y){p0(D),p0(X),p0(typeof Y==="function"),X.readdir(D,(Z,J)=>{if(Z)return Y(Z);let Q=J.length,w;if(Q===0)return X.rmdir(D,Y);J.forEach((F)=>{zq(sT.join(D,F),X,(B)=>{if(w)return;if(B)return Y(w=B);if(--Q===0)X.rmdir(D,Y)})})})}function eT(D,X){let Y;X=X||{},oT(X),p0(D,"rimraf: missing path"),p0.strictEqual(typeof D,"string","rimraf: path should be a string"),p0(X,"rimraf: missing options"),p0.strictEqual(typeof X,"object","rimraf: options should be object");try{Y=X.lstatSync(D)}catch(Z){if(Z.code==="ENOENT")return;if(Z.code==="EPERM"&&k3)rT(D,X,Z)}try{if(Y&&Y.isDirectory())C2(D,X,null);else X.unlinkSync(D)}catch(Z){if(Z.code==="ENOENT")return;else if(Z.code==="EPERM")return k3?rT(D,X,Z):C2(D,X,Z);else if(Z.code!=="EISDIR")throw Z;C2(D,X,Z)}}function C2(D,X,Y){p0(D),p0(X);try{X.rmdirSync(D)}catch(Z){if(Z.code==="ENOTDIR")throw Y;else if(Z.code==="ENOTEMPTY"||Z.code==="EEXIST"||Z.code==="EPERM")B10(D,X);else if(Z.code!=="ENOENT")throw Z}}function B10(D,X){if(p0(D),p0(X),X.readdirSync(D).forEach((Y)=>eT(sT.join(D,Y),X)),k3){let Y=Date.now();do try{return X.rmdirSync(D,X)}catch{}while(Date.now()-Y<500)}else return X.rmdirSync(D,X)}DI.exports=zq;zq.sync=eT});var u3=T((Uq0,ZI)=>{var q10=f0().fromCallback,YI=XI();ZI.exports={remove:q10(YI),removeSync:YI.sync}});var GI=T((Nq0,$I)=>{var $10=f0().fromCallback,wI=ED(),FI=require("path"),BI=K8(),qI=u3(),JI=$10(function(X,Y){Y=Y||function(){},wI.readdir(X,(Z,J)=>{if(Z)return BI.mkdirs(X,Y);J=J.map((w)=>FI.join(X,w)),Q();function Q(){let w=J.pop();if(!w)return Y();qI.remove(w,(F)=>{if(F)return Y(F);Q()})}})});function QI(D){let X;try{X=wI.readdirSync(D)}catch{return BI.mkdirsSync(D)}X.forEach((Y)=>{Y=FI.join(D,Y),qI.removeSync(Y)})}$I.exports={emptyDirSync:QI,emptydirSync:QI,emptyDir:JI,emptydir:JI}});var KI=T((Rq0,HI)=>{var G10=f0().fromCallback,OI=require("path"),a6=ED(),WI=K8();function O10(D,X){function Y(){a6.writeFile(D,"",(Z)=>{if(Z)return X(Z);X()})}a6.stat(D,(Z,J)=>{if(!Z&&J.isFile())return X();let Q=OI.dirname(D);a6.stat(Q,(w,F)=>{if(w){if(w.code==="ENOENT")return WI.mkdirs(Q,(B)=>{if(B)return X(B);Y()});return X(w)}if(F.isDirectory())Y();else a6.readdir(Q,(B)=>{if(B)return X(B)})})})}function W10(D){let X;try{X=a6.statSync(D)}catch{}if(X&&X.isFile())return;let Y=OI.dirname(D);try{if(!a6.statSync(Y).isDirectory())a6.readdirSync(Y)}catch(Z){if(Z&&Z.code==="ENOENT")WI.mkdirsSync(Y);else throw Z}a6.writeFileSync(D,"")}HI.exports={createFile:G10(O10),createFileSync:W10}});var UI=T((Aq0,VI)=>{var H10=f0().fromCallback,MI=require("path"),s9=ED(),LI=K8(),zI=p6().pathExists;function K10(D,X,Y){function Z(J,Q){s9.link(J,Q,(w)=>{if(w)return Y(w);Y(null)})}zI(X,(J,Q)=>{if(J)return Y(J);if(Q)return Y(null);s9.lstat(D,(w)=>{if(w)return w.message=w.message.replace("lstat","ensureLink"),Y(w);let F=MI.dirname(X);zI(F,(B,q)=>{if(B)return Y(B);if(q)return Z(D,X);LI.mkdirs(F,($)=>{if($)return Y($);Z(D,X)})})})})}function z10(D,X){if(s9.existsSync(X))return;try{s9.lstatSync(D)}catch(Q){throw Q.message=Q.message.replace("lstat","ensureLink"),Q}let Z=MI.dirname(X);if(s9.existsSync(Z))return s9.linkSync(D,X);return LI.mkdirsSync(Z),s9.linkSync(D,X)}VI.exports={createLink:H10(K10),createLinkSync:z10}});var RI=T((Eq0,NI)=>{var t6=require("path"),h3=ED(),M10=p6().pathExists;function L10(D,X,Y){if(t6.isAbsolute(D))return h3.lstat(D,(Z)=>{if(Z)return Z.message=Z.message.replace("lstat","ensureSymlink"),Y(Z);return Y(null,{toCwd:D,toDst:D})});else{let Z=t6.dirname(X),J=t6.join(Z,D);return M10(J,(Q,w)=>{if(Q)return Y(Q);if(w)return Y(null,{toCwd:J,toDst:D});else return h3.lstat(D,(F)=>{if(F)return F.message=F.message.replace("lstat","ensureSymlink"),Y(F);return Y(null,{toCwd:D,toDst:t6.relative(Z,D)})})})}}function V10(D,X){let Y;if(t6.isAbsolute(D)){if(Y=h3.existsSync(D),!Y)throw Error("absolute srcpath does not exist");return{toCwd:D,toDst:D}}else{let Z=t6.dirname(X),J=t6.join(Z,D);if(Y=h3.existsSync(J),Y)return{toCwd:J,toDst:D};else{if(Y=h3.existsSync(D),!Y)throw Error("relative srcpath does not exist");return{toCwd:D,toDst:t6.relative(Z,D)}}}}NI.exports={symlinkPaths:L10,symlinkPathsSync:V10}});var CI=T((Cq0,EI)=>{var AI=ED();function U10(D,X,Y){if(Y=typeof X==="function"?X:Y,X=typeof X==="function"?!1:X,X)return Y(null,X);AI.lstat(D,(Z,J)=>{if(Z)return Y(null,"file");X=J&&J.isDirectory()?"dir":"file",Y(null,X)})}function N10(D,X){let Y;if(X)return X;try{Y=AI.lstatSync(D)}catch{return"file"}return Y&&Y.isDirectory()?"dir":"file"}EI.exports={symlinkType:U10,symlinkTypeSync:N10}});var fI=T((jq0,xI)=>{var R10=f0().fromCallback,TI=require("path"),P7=ED(),II=K8(),A10=II.mkdirs,E10=II.mkdirsSync,PI=RI(),C10=PI.symlinkPaths,j10=PI.symlinkPathsSync,SI=CI(),T10=SI.symlinkType,I10=SI.symlinkTypeSync,jI=p6().pathExists;function P10(D,X,Y,Z){Z=typeof Y==="function"?Y:Z,Y=typeof Y==="function"?!1:Y,jI(X,(J,Q)=>{if(J)return Z(J);if(Q)return Z(null);C10(D,X,(w,F)=>{if(w)return Z(w);D=F.toDst,T10(F.toCwd,Y,(B,q)=>{if(B)return Z(B);let $=TI.dirname(X);jI($,(G,W)=>{if(G)return Z(G);if(W)return P7.symlink(D,X,q,Z);A10($,(O)=>{if(O)return Z(O);P7.symlink(D,X,q,Z)})})})})})}function S10(D,X,Y){if(P7.existsSync(X))return;let J=j10(D,X);D=J.toDst,Y=I10(J.toCwd,Y);let Q=TI.dirname(X);if(P7.existsSync(Q))return P7.symlinkSync(D,X,Y);return E10(Q),P7.symlinkSync(D,X,Y)}xI.exports={createSymlink:R10(P10),createSymlinkSync:S10}});var kI=T((Tq0,yI)=>{var j2=KI(),T2=UI(),I2=fI();yI.exports={createFile:j2.createFile,createFileSync:j2.createFileSync,ensureFile:j2.createFile,ensureFileSync:j2.createFileSync,createLink:T2.createLink,createLinkSync:T2.createLinkSync,ensureLink:T2.createLink,ensureLinkSync:T2.createLinkSync,createSymlink:I2.createSymlink,createSymlinkSync:I2.createSymlinkSync,ensureSymlink:I2.createSymlink,ensureSymlinkSync:I2.createSymlinkSync}});var hI=T((Iq0,uI)=>{var P2=nF();uI.exports={readJson:P2.readFile,readJsonSync:P2.readFileSync,writeJson:P2.writeFile,writeJsonSync:P2.writeFileSync}});var S2=T((Pq0,bI)=>{var x10=f0().fromCallback,_3=ED(),_I=require("path"),vI=K8(),f10=p6().pathExists;function y10(D,X,Y,Z){if(typeof Y==="function")Z=Y,Y="utf8";let J=_I.dirname(D);f10(J,(Q,w)=>{if(Q)return Z(Q);if(w)return _3.writeFile(D,X,Y,Z);vI.mkdirs(J,(F)=>{if(F)return Z(F);_3.writeFile(D,X,Y,Z)})})}function k10(D,...X){let Y=_I.dirname(D);if(_3.existsSync(Y))return _3.writeFileSync(D,...X);vI.mkdirsSync(Y),_3.writeFileSync(D,...X)}bI.exports={outputFile:x10(y10),outputFileSync:k10}});var mI=T((Sq0,gI)=>{var{stringify:u10}=G7(),{outputFile:h10}=S2();async function _10(D,X,Y={}){let Z=u10(X,Y);await h10(D,Z,Y)}gI.exports=_10});var cI=T((xq0,dI)=>{var{stringify:v10}=G7(),{outputFileSync:b10}=S2();function g10(D,X,Y){let Z=v10(X,Y);b10(D,Z,Y)}dI.exports=g10});var nI=T((fq0,lI)=>{var m10=f0().fromPromise,H1=hI();H1.outputJson=m10(mI());H1.outputJsonSync=cI();H1.outputJSON=H1.outputJson;H1.outputJSONSync=H1.outputJsonSync;H1.writeJSON=H1.writeJson;H1.writeJSONSync=H1.writeJsonSync;H1.readJSON=H1.readJson;H1.readJSONSync=H1.readJsonSync;lI.exports=H1});var sI=T((yq0,rI)=>{var aI=ED(),d10=require("path"),c10=Wq().copySync,tI=u3().removeSync,l10=K8().mkdirpSync,iI=P3();function n10(D,X,Y){Y=Y||{};let Z=Y.overwrite||Y.clobber||!1,{srcStat:J}=iI.checkPathsSync(D,X,"move");return iI.checkParentPathsSync(D,J,X,"move"),l10(d10.dirname(X)),i10(D,X,Z)}function i10(D,X,Y){if(Y)return tI(X),pI(D,X,Y);if(aI.existsSync(X))throw Error("dest already exists.");return pI(D,X,Y)}function pI(D,X,Y){try{aI.renameSync(D,X)}catch(Z){if(Z.code!=="EXDEV")throw Z;return p10(D,X,Y)}}function p10(D,X,Y){return c10(D,X,{overwrite:Y,errorOnExist:!0}),tI(D)}rI.exports=n10});var eI=T((kq0,oI)=>{oI.exports={moveSync:sI()}});var JP=T((uq0,ZP)=>{var a10=ED(),t10=require("path"),r10=Kq().copy,YP=u3().remove,s10=K8().mkdirp,o10=p6().pathExists,DP=P3();function e10(D,X,Y,Z){if(typeof Y==="function")Z=Y,Y={};let J=Y.overwrite||Y.clobber||!1;DP.checkPaths(D,X,"move",(Q,w)=>{if(Q)return Z(Q);let{srcStat:F}=w;DP.checkParentPaths(D,F,X,"move",(B)=>{if(B)return Z(B);s10(t10.dirname(X),(q)=>{if(q)return Z(q);return D80(D,X,J,Z)})})})}function D80(D,X,Y,Z){if(Y)return YP(X,(J)=>{if(J)return Z(J);return XP(D,X,Y,Z)});o10(X,(J,Q)=>{if(J)return Z(J);if(Q)return Z(Error("dest already exists."));return XP(D,X,Y,Z)})}function XP(D,X,Y,Z){a10.rename(D,X,(J)=>{if(!J)return Z();if(J.code!=="EXDEV")return Z(J);return X80(D,X,Y,Z)})}function X80(D,X,Y,Z){r10(D,X,{overwrite:Y,errorOnExist:!0},(Q)=>{if(Q)return Z(Q);return YP(D,Z)})}ZP.exports=e10});var wP=T((hq0,QP)=>{var Y80=f0().fromCallback;QP.exports={move:Y80(JP())}});var x2=T((_q0,Mq)=>{Mq.exports={...I3(),...Wq(),...Kq(),...GI(),...kI(),...nI(),...K8(),...eI(),...wP(),...S2(),...p6(),...u3()};var FP=require("fs");if(Object.getOwnPropertyDescriptor(FP,"promises"))Object.defineProperty(Mq.exports,"promises",{get(){return FP.promises}})});var Lq=T((S7)=>{Object.defineProperty(S7,"__esModule",{value:!0});S7.readdir=S7.stat=void 0;var BP=x2();async function Z80(D){try{return await BP.stat(D)}catch(X){}}S7.stat=Z80;async function J80(D){try{return await BP.readdir(D)}catch(X){return[]}}S7.readdir=J80});var HP=T((z0)=>{Object.defineProperty(z0,"__esModule",{value:!0});z0.walk=z0.Walker=z0.compilePaths=z0.tmpfilepath=z0.findBaseDirectory=z0.isExecutableFile=z0.pathExecutable=z0.pathWritable=z0.pathReadable=z0.pathExists=z0.pathAccessible=z0.writeStreamToFile=z0.cacheFileChecksum=z0.getFileChecksums=z0.getFileChecksum=z0.fileToString=z0.getFileTree=z0.readdirp=z0.readdirSafe=z0.statSafe=void 0;var Q80=h0(),t1=x2(),w80=require("os"),O6=require("path"),qP=require("stream"),$P=Lq();Q80.__exportStar(x2(),z0);var GP=Lq();Object.defineProperty(z0,"statSafe",{enumerable:!0,get:function(){return GP.stat}});Object.defineProperty(z0,"readdirSafe",{enumerable:!0,get:function(){return GP.readdir}});async function F80(D,{filter:X,onError:Y,walkerOptions:Z}={}){return new Promise((J,Q)=>{let w=[],F=Nq(D,Z);if(X)F=F.pipe(new qP.Transform({objectMode:!0,transform(B,q,$){if(!X||X(B))this.push(B);$()}}));F.on("error",(B)=>Y?Y(B):Q(B)).on("data",(B)=>w.push(B.path)).on("end",()=>J(w))})}z0.readdirp=F80;async function B80(D,{onError:X,onFileNode:Y=(Q)=>Q,onDirectoryNode:Z=(Q)=>Q,walkerOptions:J}={}){let Q=new Map([]),w=(B)=>{let q=O6.dirname(B.path),$=Q.get(q);if($&&$.type==="directory")return $;return Z({path:q,type:"directory",children:[]})},F=(B,q)=>{let $={path:B.path,parent:q};return B.stats.isDirectory()?Z({...$,type:"directory",children:[]}):Y({...$,type:"file"})};return new Promise((B,q)=>{D=O6.resolve(D),Nq(D,J).on("error",(G)=>X?X(G):q(G)).on("data",(G)=>{let W=w(G),O=F(G,W);W.children.push(O),Q.set(G.path,O),Q.set(W.path,W)}).on("end",()=>{let G=Q.get(D);if(!G)return q(Error("No root node found after walking directory structure."));delete G.parent,B(G)})})}z0.getFileTree=B80;async function q80(D){try{return await t1.readFile(D,{encoding:"utf8"})}catch(X){if(X.code==="ENOENT"||X.code==="ENOTDIR")return"";throw X}}z0.fileToString=q80;async function Vq(D){let X=await Promise.resolve().then(()=>require("crypto"));return new Promise((Y,Z)=>{let J=X.createHash("md5"),Q=t1.createReadStream(D);Q.on("error",(w)=>{Z(w)}),J.once("readable",()=>{let w=J.read().toString("hex");Y(w)}),Q.pipe(J)})}z0.getFileChecksum=Vq;async function $80(D){return Promise.all([Vq(D),(async()=>{try{return(await t1.readFile(`${D}.md5`,{encoding:"utf8"})).trim()}catch(X){if(X.code!=="ENOENT")throw X}})()])}z0.getFileChecksums=$80;async function G80(D,X){let Y=await Vq(D);await t1.writeFile(`${D}.md5`,Y,{encoding:"utf8"})}z0.cacheFileChecksum=G80;function O80(D,X){return new Promise((Y,Z)=>{let J=t1.createWriteStream(X);D.pipe(J),J.on("error",Z),J.on("finish",Y)})}z0.writeStreamToFile=O80;async function v3(D,X){try{await t1.access(D,X)}catch(Y){return!1}return!0}z0.pathAccessible=v3;async function W80(D){return v3(D,t1.constants.F_OK)}z0.pathExists=W80;async function H80(D){return v3(D,t1.constants.R_OK)}z0.pathReadable=H80;async function K80(D){return v3(D,t1.constants.W_OK)}z0.pathWritable=K80;async function OP(D){return v3(D,t1.constants.X_OK)}z0.pathExecutable=OP;async function z80(D){let[X,Y]=await Promise.all([$P.stat(D),OP(D)]);return!!X&&(X.isFile()||X.isSymbolicLink())&&Y}z0.isExecutableFile=z80;async function M80(D,X){if(!D||!X)return;for(let Y of WP(D))if((await $P.readdir(Y)).includes(X))return Y}z0.findBaseDirectory=M80;function L80(D){let X=Math.random().toString(16).substring(2,8);return O6.resolve(w80.tmpdir(),D?`${D}-${X}`:X)}z0.tmpfilepath=L80;function WP(D){if(D=O6.normalize(D),!O6.isAbsolute(D))throw Error(`${D} is not an absolute path`);let X=O6.parse(D);if(D===X.root)return[D];return D.slice(X.root.length).split(O6.sep).map((Y,Z,J)=>X.root+O6.join(...J.slice(0,J.length-Z))).concat(X.root)}z0.compilePaths=WP;class Uq extends qP.Readable{constructor(D,X={}){super({objectMode:!0});this.p=D,this.options=X,this.paths=[this.p]}_read(){let D=this.paths.shift(),{pathFilter:X}=this.options;if(!D){this.push(null);return}t1.lstat(D,(Y,Z)=>{if(Y){this.emit("error",Y);return}let J={path:D,stats:Z};if(Z.isDirectory())t1.readdir(D,(Q,w)=>{if(Q){this.emit("error",Q);return}let F=w.map((B)=>O6.join(D,B));if(X)F=F.filter((B)=>X(B.substring(this.p.length+1)));this.paths.push(...F),this.push(J)});else this.push(J)})}}z0.Walker=Uq;function Nq(D,X={}){return new Uq(D,X)}z0.walk=Nq});var zP=T((W6)=>{Object.defineProperty(W6,"__esModule",{value:!0});W6.AliasedMap=W6.CaseInsensitiveProxyHandler=W6.createCaseInsensitiveObject=void 0;function V80(){return new Proxy({},W6.CaseInsensitiveProxyHandler)}W6.createCaseInsensitiveObject=V80;W6.CaseInsensitiveProxyHandler={has:(D,X)=>{return f2(X)in D},get:(D,X)=>{return D[f2(X)]},set:(D,X,Y)=>{return D[f2(X)]=Y,!0},deleteProperty:(D,X)=>{return delete D[f2(X)]}};var f2=(D)=>typeof D==="string"?D.toLowerCase():D;class KP extends Map{getAliases(){let D=new Map;return[...this.entries()].filter(([,Y])=>typeof Y==="string"||typeof Y==="symbol").forEach(([Y,Z])=>{let J=D.get(Z)||[];J.push(Y),D.set(Z,J)}),D}resolveAlias(D){let X=this.get(D);if(typeof X!=="string"&&typeof X!=="symbol")return X;return this.resolveAlias(X)}keysWithoutAliases(){return[...this.entries()].filter((D)=>typeof D[1]!=="string"&&typeof D[1]!=="symbol").map(([D,X])=>D)}}W6.AliasedMap=KP});var RP=T((mq0,NP)=>{var UP=require("child_process"),MP=UP.spawn,U80=UP.exec;NP.exports=function(D,X,Y){if(typeof X==="function"&&Y===void 0)Y=X,X=void 0;if(D=parseInt(D),Number.isNaN(D))if(Y)return Y(Error("pid must be a number"));else throw Error("pid must be a number");var Z={},J={};switch(Z[D]=[],J[D]=1,process.platform){case"win32":U80("taskkill /pid "+D+" /T /F",Y);break;case"darwin":Rq(D,Z,J,function(Q){return MP("pgrep",["-P",Q])},function(){LP(Z,X,Y)});break;default:Rq(D,Z,J,function(Q){return MP("ps",["-o","pid","--no-headers","--ppid",Q])},function(){LP(Z,X,Y)});break}};function LP(D,X,Y){var Z={};try{Object.keys(D).forEach(function(J){if(D[J].forEach(function(Q){if(!Z[Q])VP(Q,X),Z[Q]=1}),!Z[J])VP(J,X),Z[J]=1})}catch(J){if(Y)return Y(J);else throw J}if(Y)return Y()}function VP(D,X){try{process.kill(parseInt(D,10),X)}catch(Y){if(Y.code!=="ESRCH")throw Y}}function Rq(D,X,Y,Z,J){var Q=Z(D),w="";Q.stdout.on("data",function(q){var q=q.toString("ascii");w+=q});var F=function(B){if(delete Y[D],B!=0){if(Object.keys(Y).length==0)J();return}w.match(/\d+/g).forEach(function(q){q=parseInt(q,10),X[D].push(q),X[q]=[],Y[q]=1,Rq(q,X,Y,Z,J)})};Q.on("close",F)}});var CP=T((ZD)=>{Object.defineProperty(ZD,"__esModule",{value:!0});ZD.processExit=ZD.offBeforeExit=ZD.onBeforeExit=ZD.onExit=ZD.sleepForever=ZD.sleepUntil=ZD.sleep=ZD.getPathParts=ZD.createProcessEnv=ZD.killProcessTree=ZD.ERROR_TIMEOUT_REACHED=void 0;var Aq=h0(),N80=zP(),R80=v6(),A80=zZ(),E80=Aq.__importStar(require("path")),C80=Aq.__importDefault(QZ()),j80=Aq.__importDefault(RP()),o9=(0,A80.debug)("ionic:utils-process");ZD.ERROR_TIMEOUT_REACHED=Error("TIMEOUT_REACHED");function T80(D,X="SIGTERM"){return new Promise((Y,Z)=>{(0,j80.default)(D,X,(J)=>{if(J)return o9("error while killing process tree for %d: %O",D,J),Z(J);Y()})})}ZD.killProcessTree=T80;function I80(...D){return Object.assign(R80.TERMINAL_INFO.windows?(0,N80.createCaseInsensitiveObject)():{},...D)}ZD.createProcessEnv=I80;function P80(D=process.env.PATH||""){return D.split(E80.delimiter)}ZD.getPathParts=P80;async function AP(D){return new Promise((X)=>{setTimeout(X,D)})}ZD.sleep=AP;async function S80(D,{interval:X=30,timeout:Y=1/0}){let Z=0;while(!D())if(await AP(X),Z+=X,Z>Y)throw ZD.ERROR_TIMEOUT_REACHED}ZD.sleepUntil=S80;async function x80(){return new Promise(()=>{setInterval(()=>{},1000)})}ZD.sleepForever=x80;function f80(D){(0,C80.default)(()=>{o9("onExit: process.exit/normal shutdown"),D()})}ZD.onExit=f80;var y2=new Set;function y80(D){y2.add(D)}ZD.onBeforeExit=y80;function k80(D){y2.delete(D)}ZD.offBeforeExit=k80;var u80=(D)=>{let X=!1;return async()=>{if(!X)await D(),X=!0}},b3=(D)=>u80(async()=>{if(o9("onBeforeExit handler: %O received",D),o9("onBeforeExit handler: running %O functions",y2.size),await Promise.all([...y2.values()].map(async(X)=>{try{await X()}catch(Y){o9("onBeforeExit handler: error from function: %O",Y)}})),D!=="process.exit")o9("onBeforeExit handler: killing self (exit code %O, signal %O)",process.exitCode?process.exitCode:0,D),process.removeListener(D,EP[D]),process.kill(process.pid,D)}),EP={SIGINT:b3("SIGINT"),SIGTERM:b3("SIGTERM"),SIGHUP:b3("SIGHUP"),SIGBREAK:b3("SIGBREAK")};for(let[D,X]of Object.entries(EP))process.on(D,X);var h80=b3("process.exit");async function _80(D=0){process.exitCode=D,await h80(),o9("processExit: exiting (exit code: %O)",process.exitCode),process.exit()}ZD.processExit=_80});var xP=T((b8)=>{Object.defineProperty(b8,"__esModule",{value:!0});b8.growBufferForAppendedData=b8.WritableStreamBuffer=b8.ReadableStreamBuffer=b8.NullStream=void 0;var Eq=require("stream"),v80=4,jP=32,TP=16;class IP extends Eq.Writable{_write(D,X,Y){Y()}}b8.NullStream=IP;class PP extends Eq.Readable{constructor(D){super(D);this._size=0,this._stopped=!1,this.buffer=Buffer.alloc(D&&D.allocSize?D.allocSize:jP),this.chunkSize=D&&D.chunkSize?D.chunkSize:v80,this.growSize=D&&D.growSize?D.growSize:TP}get size(){return this._size}get stopped(){return this._stopped}_read(){this._send()}feed(D,X="utf8"){if(this._stopped)throw Error("ReadableStreamBuffer is stopped. Can no longer feed.");let Y=typeof D==="string"?Buffer.byteLength(D):D.length;if(this.buffer=Cq(this.buffer,this._size,Math.ceil(Y/this.growSize)*this.growSize),typeof D==="string")this.buffer.write(D,this._size,Y,X);else this.buffer.copy(D,this._size,0);this._size+=Y}stop(){if(this._stopped)return;if(this._stopped=!0,this._size===0)this.push(null)}_send(){let D=Math.min(this.chunkSize,this._size),X=!1;if(D>0){let Y=Buffer.alloc(D);this.buffer.copy(Y,0,0,D),X=!this.push(Y),this.buffer.copy(this.buffer,0,D,this._size),this._size-=D}if(this._size===0&&this._stopped)this.push(null);if(!X)setTimeout(()=>this._send(),1)}}b8.ReadableStreamBuffer=PP;class SP extends Eq.Writable{constructor(D){super(D);this._size=0,this.buffer=Buffer.alloc(D&&D.allocSize?D.allocSize:jP),this.growSize=D&&D.growSize?D.growSize:TP}get size(){return this._size}_write(D,X,Y){this.buffer=Cq(this.buffer,this._size,Math.ceil(D.length/this.growSize)*this.growSize),D.copy(this.buffer,this._size,0),this._size+=D.length,Y()}consume(D){D=typeof D==="number"?D:this._size;let X=Buffer.alloc(D);return this.buffer.copy(X,0,0,X.length),this.buffer.copy(this.buffer,0,X.length),this._size-=X.length,X}}b8.WritableStreamBuffer=SP;function Cq(D,X,Y){if(D.length-X>=Y)return D;let Z=Buffer.alloc(D.length+Y);return D.copy(Z,0,0,X),Z}b8.growBufferForAppendedData=Cq});var hP=T((lq0,uP)=>{uP.exports=kP;kP.sync=g80;var fP=require("fs");function b80(D,X){var Y=X.pathExt!==void 0?X.pathExt:process.env.PATHEXT;if(!Y)return!0;if(Y=Y.split(";"),Y.indexOf("")!==-1)return!0;for(var Z=0;Z<Y.length;Z++){var J=Y[Z].toLowerCase();if(J&&D.substr(-J.length).toLowerCase()===J)return!0}return!1}function yP(D,X,Y){if(!D.isSymbolicLink()&&!D.isFile())return!1;return b80(X,Y)}function kP(D,X,Y){fP.stat(D,function(Z,J){Y(Z,Z?!1:yP(J,D,X))})}function g80(D,X){return yP(fP.statSync(D),D,X)}});var mP=T((nq0,gP)=>{gP.exports=vP;vP.sync=m80;var _P=require("fs");function vP(D,X,Y){_P.stat(D,function(Z,J){Y(Z,Z?!1:bP(J,X))})}function m80(D,X){return bP(_P.statSync(D),X)}function bP(D,X){return D.isFile()&&d80(D,X)}function d80(D,X){var{mode:Y,uid:Z,gid:J}=D,Q=X.uid!==void 0?X.uid:process.getuid&&process.getuid(),w=X.gid!==void 0?X.gid:process.getgid&&process.getgid(),F=parseInt("100",8),B=parseInt("010",8),q=parseInt("001",8),$=F|B,G=Y&q||Y&B&&J===w||Y&F&&Z===Q||Y&$&&Q===0;return G}});var cP=T((pq0,dP)=>{var iq0=require("fs"),k2;if(process.platform==="win32"||global.TESTING_WINDOWS)k2=hP();else k2=mP();dP.exports=jq;jq.sync=c80;function jq(D,X,Y){if(typeof X==="function")Y=X,X={};if(!Y){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(Z,J){jq(D,X||{},function(Q,w){if(Q)J(Q);else Z(w)})})}k2(D,X||{},function(Z,J){if(Z){if(Z.code==="EACCES"||X&&X.ignoreErrors)Z=null,J=!1}Y(Z,J)})}function c80(D,X){try{return k2.sync(D,X||{})}catch(Y){if(X&&X.ignoreErrors||Y.code==="EACCES")return!1;else throw Y}}});var rP=T((aq0,tP)=>{var x7=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",lP=require("path"),l80=x7?";":":",nP=cP(),iP=(D)=>Object.assign(Error(`not found: ${D}`),{code:"ENOENT"}),pP=(D,X)=>{let Y=X.colon||l80,Z=D.match(/\//)||x7&&D.match(/\\/)?[""]:[...x7?[process.cwd()]:[],...(X.path||process.env.PATH||"").split(Y)],J=x7?X.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",Q=x7?J.split(Y):[""];if(x7){if(D.indexOf(".")!==-1&&Q[0]!=="")Q.unshift("")}return{pathEnv:Z,pathExt:Q,pathExtExe:J}},aP=(D,X,Y)=>{if(typeof X==="function")Y=X,X={};if(!X)X={};let{pathEnv:Z,pathExt:J,pathExtExe:Q}=pP(D,X),w=[],F=(q)=>new Promise(($,G)=>{if(q===Z.length)return X.all&&w.length?$(w):G(iP(D));let W=Z[q],O=/^".*"$/.test(W)?W.slice(1,-1):W,H=lP.join(O,D),M=!O&&/^\.[\\\/]/.test(D)?D.slice(0,2)+H:H;$(B(M,q,0))}),B=(q,$,G)=>new Promise((W,O)=>{if(G===J.length)return W(F($+1));let H=J[G];nP(q+H,{pathExt:Q},(M,U)=>{if(!M&&U)if(X.all)w.push(q+H);else return W(q+H);return W(B(q,$,G+1))})});return Y?F(0).then((q)=>Y(null,q),Y):F(0)},n80=(D,X)=>{X=X||{};let{pathEnv:Y,pathExt:Z,pathExtExe:J}=pP(D,X),Q=[];for(let w=0;w<Y.length;w++){let F=Y[w],B=/^".*"$/.test(F)?F.slice(1,-1):F,q=lP.join(B,D),$=!B&&/^\.[\\\/]/.test(D)?D.slice(0,2)+q:q;for(let G=0;G<Z.length;G++){let W=$+Z[G];try{if(nP.sync(W,{pathExt:J}))if(X.all)Q.push(W);else return W}catch(O){}}}if(X.all&&Q.length)return Q;if(X.nothrow)return null;throw iP(D)};tP.exports=aP;aP.sync=n80});var oP=T((tq0,Tq)=>{var sP=(D={})=>{let X=D.env||process.env;if((D.platform||process.platform)!=="win32")return"PATH";return Object.keys(X).reverse().find((Z)=>Z.toUpperCase()==="PATH")||"Path"};Tq.exports=sP;Tq.exports.default=sP});var YS=T((rq0,XS)=>{var eP=require("path"),i80=rP(),p80=oP();function DS(D,X){let Y=D.options.env||process.env,Z=process.cwd(),J=D.options.cwd!=null,Q=J&&process.chdir!==void 0&&!process.chdir.disabled;if(Q)try{process.chdir(D.options.cwd)}catch(F){}let w;try{w=i80.sync(D.command,{path:Y[p80({env:Y})],pathExt:X?eP.delimiter:void 0})}catch(F){}finally{if(Q)process.chdir(Z)}if(w)w=eP.resolve(J?D.options.cwd:"",w);return w}function a80(D){return DS(D)||DS(D,!0)}XS.exports=a80});var ZS=T((sq0,Pq)=>{var Iq=/([()\][%!^"`<>&|;, *?])/g;function t80(D){return D=D.replace(Iq,"^$1"),D}function r80(D,X){if(D=`${D}`,D=D.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),D=D.replace(/(?=(\\+?)?)\1$/,"$1$1"),D=`"${D}"`,D=D.replace(Iq,"^$1"),X)D=D.replace(Iq,"^$1");return D}Pq.exports.command=t80;Pq.exports.argument=r80});var QS=T((oq0,JS)=>{JS.exports=/^#!(.*)/});var FS=T((eq0,wS)=>{var s80=QS();wS.exports=(D="")=>{let X=D.match(s80);if(!X)return null;let[Y,Z]=X[0].replace(/#! ?/,"").split(" "),J=Y.split("/").pop();if(J==="env")return Z;return Z?`${J} ${Z}`:J}});var qS=T((D$0,BS)=>{var Sq=require("fs"),o80=FS();function e80(D){let Y=Buffer.alloc(150),Z;try{Z=Sq.openSync(D,"r"),Sq.readSync(Z,Y,0,150,0),Sq.closeSync(Z)}catch(J){}return o80(Y.toString())}BS.exports=e80});var WS=T((X$0,OS)=>{var D60=require("path"),$S=YS(),GS=ZS(),X60=qS(),Y60=process.platform==="win32",Z60=/\.(?:com|exe)$/i,J60=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Q60(D){D.file=$S(D);let X=D.file&&X60(D.file);if(X)return D.args.unshift(D.file),D.command=X,$S(D);return D.file}function w60(D){if(!Y60)return D;let X=Q60(D),Y=!Z60.test(X);if(D.options.forceShell||Y){let Z=J60.test(X);D.command=D60.normalize(D.command),D.command=GS.command(D.command),D.args=D.args.map((Q)=>GS.argument(Q,Z));let J=[D.command].concat(D.args).join(" ");D.args=["/d","/s","/c",`"${J}"`],D.command=process.env.comspec||"cmd.exe",D.options.windowsVerbatimArguments=!0}return D}function F60(D,X,Y){if(X&&!Array.isArray(X))Y=X,X=null;X=X?X.slice(0):[],Y=Object.assign({},Y);let Z={command:D,args:X,options:Y,file:void 0,original:{command:D,args:X}};return Y.shell?Z:w60(Z)}OS.exports=F60});var zS=T((Y$0,KS)=>{var xq=process.platform==="win32";function fq(D,X){return Object.assign(Error(`${X} ${D.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${X} ${D.command}`,path:D.command,spawnargs:D.args})}function B60(D,X){if(!xq)return;let Y=D.emit;D.emit=function(Z,J){if(Z==="exit"){let Q=HS(J,X);if(Q)return Y.call(D,"error",Q)}return Y.apply(D,arguments)}}function HS(D,X){if(xq&&D===1&&!X.file)return fq(X.original,"spawn");return null}function q60(D,X){if(xq&&D===1&&!X.file)return fq(X.original,"spawnSync");return null}KS.exports={hookChildProcess:B60,verifyENOENT:HS,verifyENOENTSync:q60,notFoundError:fq}});var VS=T((Z$0,f7)=>{var MS=require("child_process"),yq=WS(),kq=zS();function LS(D,X,Y){let Z=yq(D,X,Y),J=MS.spawn(Z.command,Z.args,Z.options);return kq.hookChildProcess(J,Z),J}function $60(D,X,Y){let Z=yq(D,X,Y),J=MS.spawnSync(Z.command,Z.args,Z.options);return J.error=J.error||kq.verifyENOENTSync(J.status,Z),J}f7.exports=LS;f7.exports.spawn=LS;f7.exports.sync=$60;f7.exports._parse=yq;f7.exports._enoent=kq});var TS=T((y0)=>{Object.defineProperty(y0,"__esModule",{value:!0});y0.findExecutables=y0.which=y0.fork=y0.spawn=y0.Subprocess=y0.SubprocessError=y0.convertPATH=y0.expandTildePath=y0.TILDE_PATH_REGEX=y0.ERROR_SIGNAL_EXIT=y0.ERROR_NON_ZERO_EXIT=y0.ERROR_COMMAND_NOT_FOUND=void 0;var hq=h0(),US=KT(),G60=HP(),uq=CP(),u2=xP(),NS=v6(),O60=require("child_process"),W60=hq.__importDefault(VS()),H60=hq.__importStar(require("os")),e9=hq.__importStar(require("path"));y0.ERROR_COMMAND_NOT_FOUND="ERR_SUBPROCESS_COMMAND_NOT_FOUND";y0.ERROR_NON_ZERO_EXIT="ERR_SUBPROCESS_NON_ZERO_EXIT";y0.ERROR_SIGNAL_EXIT="ERR_SUBPROCESS_SIGNAL_EXIT";y0.TILDE_PATH_REGEX=/^~($|\/|\\)/;function RS(D){let X=H60.homedir();return D.replace(y0.TILDE_PATH_REGEX,`${X}$1`)}y0.expandTildePath=RS;function AS(D=process.env.PATH||""){return D.split(e9.delimiter).map(RS).join(e9.delimiter)}y0.convertPATH=AS;class y7 extends Error{constructor(){super(...arguments);this.name="SubprocessError"}}y0.SubprocessError=y7;class ES{constructor(D,X,Y={}){this.name=D,this.args=X;let Z=this.maskArg(D);if(Z!==D)this.name=Z,this.path=D;this._options=Y}get options(){let D=this._options;if(!D.env)D.env=process.env;let X=(0,uq.createProcessEnv)(D.env||{},{PATH:AS(typeof D.env.PATH==="string"?D.env.PATH:process.env.PATH)});return{...D,env:X}}async output(){this._options.stdio="pipe";let D=this.run(),X=new u2.WritableStreamBuffer,Y=new u2.WritableStreamBuffer,Z=new u2.WritableStreamBuffer;D.p.stdout?.pipe(X),D.p.stdout?.pipe(Z),D.p.stderr?.pipe(Y),D.p.stderr?.pipe(Z);try{await D}catch(J){throw X.end(),Y.end(),J.output=Z.consume().toString(),J}return Y.end(),Z.end(),X.consume().toString()}async combinedOutput(){this._options.stdio="pipe";let D=this.run(),X=new u2.WritableStreamBuffer;D.p.stdout?.pipe(X),D.p.stderr?.pipe(X);try{await D}catch(Y){throw Y.output=X.consume().toString(),Y}return X.consume().toString()}run(){let D=this.spawn(),X=new Promise((Y,Z)=>{D.on("error",(J)=>{let Q;if(J.code==="ENOENT")Q=new y7("Command not found.",{cause:J}),Q.code=y0.ERROR_COMMAND_NOT_FOUND;else Q=new y7("Command error.",{cause:J});Z(Q)}),D.on("close",(J,Q)=>{let w;if(J===0)return Y();else if(Q)w=new y7("Signal exit from subprocess."),w.code=y0.ERROR_SIGNAL_EXIT,w.signal=Q;else if(J)w=new y7("Non-zero exit from subprocess."),w.code=y0.ERROR_NON_ZERO_EXIT,w.exitCode=J;else return Y();Z(w)})});return Object.defineProperties(X,{p:{value:D}}),X}spawn(){return CS(this.path?this.path:this.name,this.args,this.options)}bashify({maskArgv0:D=!0,maskArgv1:X=!1,shiftArgv0:Y=!1}={}){let Z=[this.path?this.path:this.name,...this.args];if(Y)Z.shift();if(Z[0]&&D)Z[0]=this.maskArg(Z[0]);if(Z[1]&&X)Z[1]=this.maskArg(Z[1]);return Z.length>0?Z.map((J)=>this.bashifyArg(J)).join(" "):""}bashifyArg(D){return D.includes(" ")?`"${D.replace(/\"/g,"\\\"")}"`:D}maskArg(D){let X=D.lastIndexOf(e9.sep);return X>=0?D.substring(X+1):D}}y0.Subprocess=ES;function CS(D,X=[],Y){return(0,W60.default)(D,[...X],Y)}y0.spawn=CS;function K60(D,X=[],Y={}){return(0,O60.fork)(D,[...X],Y)}y0.fork=K60;var _q=NS.TERMINAL_INFO.windows?".COM;.EXE;.BAT;.CMD":void 0;async function z60(D,{PATH:X=process.env.PATH,PATHEXT:Y=process.env.PATHEXT||_q}={}){if(D.includes(e9.sep))return D;let Z=await jS(D,{PATH:X});if(!Z.length){let J=Error(`${D} cannot be found within PATH`);throw J.code="ENOENT",J}return Z[0]}y0.which=z60;async function M60(D,{PATH:X=process.env.PATH,PATHEXT:Y=process.env.PATHEXT||_q}={}){if(D.includes(e9.sep))return[D];return jS(D,{PATH:X})}y0.findExecutables=M60;async function jS(D,{PATH:X=process.env.PATH,PATHEXT:Y=process.env.PATHEXT||_q}={}){let Z=(0,uq.getPathParts)(X),J;if(NS.TERMINAL_INFO.windows){let Q=(0,uq.getPathParts)(Y).map((w)=>w.toLowerCase());J=Q.includes(e9.extname(D).toLowerCase())?[D]:Q.map((w)=>D+w)}else J=[D];return[].concat(...await(0,US.map)(J,async(Q)=>(0,US.concurrentFilter)(Z.map((w)=>e9.join(w,Q)),async(w)=>(0,G60.isExecutableFile)(w))))}});var h2=T((r6)=>{Object.defineProperty(r6,"__esModule",{value:!0});r6.isInstalled=r6.getCommandOutput=r6.runCommand=void 0;var vq=TS();async function IS(D,X,Y={}){let Z=new vq.Subprocess(D,X,Y);try{return await Z.output()}catch(J){if(J instanceof vq.SubprocessError)throw J.output?J.output:J.cause?`${J.message} ${J.cause.toString()}`:J.code?J.code:"Unknown error";throw J}}r6.runCommand=IS;async function L60(D,X,Y={}){try{return(await IS(D,X,Y)).trim()}catch(Z){return null}}r6.getCommandOutput=L60;async function V60(D){try{await(0,vq.which)(D)}catch(X){return!1}return!0}r6.isInstalled=V60});var g3=T((w$0,PS)=>{var U60=Number.MAX_SAFE_INTEGER||9007199254740991,N60=["major","premajor","minor","preminor","patch","prepatch","prerelease"];PS.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:U60,RELEASE_TYPES:N60,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var m3=T((F$0,SS)=>{var R60=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...D)=>console.error("SEMVER",...D):()=>{};SS.exports=R60});var k7=T((g8,xS)=>{var{MAX_SAFE_COMPONENT_LENGTH:bq,MAX_SAFE_BUILD_LENGTH:A60,MAX_LENGTH:E60}=g3(),C60=m3();g8=xS.exports={};var j60=g8.re=[],T60=g8.safeRe=[],D0=g8.src=[],I60=g8.safeSrc=[],X0=g8.t={},P60=0,gq="[a-zA-Z0-9-]",S60=[["\\s",1],["\\d",E60],[gq,A60]],x60=(D)=>{for(let[X,Y]of S60)D=D.split(`${X}*`).join(`${X}{0,${Y}}`).split(`${X}+`).join(`${X}{1,${Y}}`);return D},M0=(D,X,Y)=>{let Z=x60(X),J=P60++;C60(D,J,X),X0[D]=J,D0[J]=X,I60[J]=Z,j60[J]=new RegExp(X,Y?"g":void 0),T60[J]=new RegExp(Z,Y?"g":void 0)};M0("NUMERICIDENTIFIER","0|[1-9]\\d*");M0("NUMERICIDENTIFIERLOOSE","\\d+");M0("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${gq}*`);M0("MAINVERSION",`(${D0[X0.NUMERICIDENTIFIER]})\\.(${D0[X0.NUMERICIDENTIFIER]})\\.(${D0[X0.NUMERICIDENTIFIER]})`);M0("MAINVERSIONLOOSE",`(${D0[X0.NUMERICIDENTIFIERLOOSE]})\\.(${D0[X0.NUMERICIDENTIFIERLOOSE]})\\.(${D0[X0.NUMERICIDENTIFIERLOOSE]})`);M0("PRERELEASEIDENTIFIER",`(?:${D0[X0.NONNUMERICIDENTIFIER]}|${D0[X0.NUMERICIDENTIFIER]})`);M0("PRERELEASEIDENTIFIERLOOSE",`(?:${D0[X0.NONNUMERICIDENTIFIER]}|${D0[X0.NUMERICIDENTIFIERLOOSE]})`);M0("PRERELEASE",`(?:-(${D0[X0.PRERELEASEIDENTIFIER]}(?:\\.${D0[X0.PRERELEASEIDENTIFIER]})*))`);M0("PRERELEASELOOSE",`(?:-?(${D0[X0.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${D0[X0.PRERELEASEIDENTIFIERLOOSE]})*))`);M0("BUILDIDENTIFIER",`${gq}+`);M0("BUILD",`(?:\\+(${D0[X0.BUILDIDENTIFIER]}(?:\\.${D0[X0.BUILDIDENTIFIER]})*))`);M0("FULLPLAIN",`v?${D0[X0.MAINVERSION]}${D0[X0.PRERELEASE]}?${D0[X0.BUILD]}?`);M0("FULL",`^${D0[X0.FULLPLAIN]}$`);M0("LOOSEPLAIN",`[v=\\s]*${D0[X0.MAINVERSIONLOOSE]}${D0[X0.PRERELEASELOOSE]}?${D0[X0.BUILD]}?`);M0("LOOSE",`^${D0[X0.LOOSEPLAIN]}$`);M0("GTLT","((?:<|>)?=?)");M0("XRANGEIDENTIFIERLOOSE",`${D0[X0.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);M0("XRANGEIDENTIFIER",`${D0[X0.NUMERICIDENTIFIER]}|x|X|\\*`);M0("XRANGEPLAIN",`[v=\\s]*(${D0[X0.XRANGEIDENTIFIER]})(?:\\.(${D0[X0.XRANGEIDENTIFIER]})(?:\\.(${D0[X0.XRANGEIDENTIFIER]})(?:${D0[X0.PRERELEASE]})?${D0[X0.BUILD]}?)?)?`);M0("XRANGEPLAINLOOSE",`[v=\\s]*(${D0[X0.XRANGEIDENTIFIERLOOSE]})(?:\\.(${D0[X0.XRANGEIDENTIFIERLOOSE]})(?:\\.(${D0[X0.XRANGEIDENTIFIERLOOSE]})(?:${D0[X0.PRERELEASELOOSE]})?${D0[X0.BUILD]}?)?)?`);M0("XRANGE",`^${D0[X0.GTLT]}\\s*${D0[X0.XRANGEPLAIN]}$`);M0("XRANGELOOSE",`^${D0[X0.GTLT]}\\s*${D0[X0.XRANGEPLAINLOOSE]}$`);M0("COERCEPLAIN",`(^|[^\\d])(\\d{1,${bq}})(?:\\.(\\d{1,${bq}}))?(?:\\.(\\d{1,${bq}}))?`);M0("COERCE",`${D0[X0.COERCEPLAIN]}(?:$|[^\\d])`);M0("COERCEFULL",D0[X0.COERCEPLAIN]+`(?:${D0[X0.PRERELEASE]})?(?:${D0[X0.BUILD]})?(?:$|[^\\d])`);M0("COERCERTL",D0[X0.COERCE],!0);M0("COERCERTLFULL",D0[X0.COERCEFULL],!0);M0("LONETILDE","(?:~>?)");M0("TILDETRIM",`(\\s*)${D0[X0.LONETILDE]}\\s+`,!0);g8.tildeTrimReplace="$1~";M0("TILDE",`^${D0[X0.LONETILDE]}${D0[X0.XRANGEPLAIN]}$`);M0("TILDELOOSE",`^${D0[X0.LONETILDE]}${D0[X0.XRANGEPLAINLOOSE]}$`);M0("LONECARET","(?:\\^)");M0("CARETTRIM",`(\\s*)${D0[X0.LONECARET]}\\s+`,!0);g8.caretTrimReplace="$1^";M0("CARET",`^${D0[X0.LONECARET]}${D0[X0.XRANGEPLAIN]}$`);M0("CARETLOOSE",`^${D0[X0.LONECARET]}${D0[X0.XRANGEPLAINLOOSE]}$`);M0("COMPARATORLOOSE",`^${D0[X0.GTLT]}\\s*(${D0[X0.LOOSEPLAIN]})$|^$`);M0("COMPARATOR",`^${D0[X0.GTLT]}\\s*(${D0[X0.FULLPLAIN]})$|^$`);M0("COMPARATORTRIM",`(\\s*)${D0[X0.GTLT]}\\s*(${D0[X0.LOOSEPLAIN]}|${D0[X0.XRANGEPLAIN]})`,!0);g8.comparatorTrimReplace="$1$2$3";M0("HYPHENRANGE",`^\\s*(${D0[X0.XRANGEPLAIN]})\\s+-\\s+(${D0[X0.XRANGEPLAIN]})\\s*$`);M0("HYPHENRANGELOOSE",`^\\s*(${D0[X0.XRANGEPLAINLOOSE]})\\s+-\\s+(${D0[X0.XRANGEPLAINLOOSE]})\\s*$`);M0("STAR","(<|>)?=?\\s*\\*");M0("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");M0("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var _2=T((B$0,fS)=>{var f60=Object.freeze({loose:!0}),y60=Object.freeze({}),k60=(D)=>{if(!D)return y60;if(typeof D!=="object")return f60;return D};fS.exports=k60});var mq=T((q$0,uS)=>{var yS=/^[0-9]+$/,kS=(D,X)=>{if(typeof D==="number"&&typeof X==="number")return D===X?0:D<X?-1:1;let Y=yS.test(D),Z=yS.test(X);if(Y&&Z)D=+D,X=+X;return D===X?0:Y&&!Z?-1:Z&&!Y?1:D<X?-1:1},u60=(D,X)=>kS(X,D);uS.exports={compareIdentifiers:kS,rcompareIdentifiers:u60}});var Y1=T(($$0,_S)=>{var v2=m3(),{MAX_LENGTH:hS,MAX_SAFE_INTEGER:b2}=g3(),{safeRe:g2,t:m2}=k7(),h60=_2(),{compareIdentifiers:dq}=mq();class z8{constructor(D,X){if(X=h60(X),D instanceof z8)if(D.loose===!!X.loose&&D.includePrerelease===!!X.includePrerelease)return D;else D=D.version;else if(typeof D!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof D}".`);if(D.length>hS)throw TypeError(`version is longer than ${hS} characters`);v2("SemVer",D,X),this.options=X,this.loose=!!X.loose,this.includePrerelease=!!X.includePrerelease;let Y=D.trim().match(X.loose?g2[m2.LOOSE]:g2[m2.FULL]);if(!Y)throw TypeError(`Invalid Version: ${D}`);if(this.raw=D,this.major=+Y[1],this.minor=+Y[2],this.patch=+Y[3],this.major>b2||this.major<0)throw TypeError("Invalid major version");if(this.minor>b2||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>b2||this.patch<0)throw TypeError("Invalid patch version");if(!Y[4])this.prerelease=[];else this.prerelease=Y[4].split(".").map((Z)=>{if(/^[0-9]+$/.test(Z)){let J=+Z;if(J>=0&&J<b2)return J}return Z});this.build=Y[5]?Y[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(D){if(v2("SemVer.compare",this.version,this.options,D),!(D instanceof z8)){if(typeof D==="string"&&D===this.version)return 0;D=new z8(D,this.options)}if(D.version===this.version)return 0;return this.compareMain(D)||this.comparePre(D)}compareMain(D){if(!(D instanceof z8))D=new z8(D,this.options);if(this.major<D.major)return-1;if(this.major>D.major)return 1;if(this.minor<D.minor)return-1;if(this.minor>D.minor)return 1;if(this.patch<D.patch)return-1;if(this.patch>D.patch)return 1;return 0}comparePre(D){if(!(D instanceof z8))D=new z8(D,this.options);if(this.prerelease.length&&!D.prerelease.length)return-1;else if(!this.prerelease.length&&D.prerelease.length)return 1;else if(!this.prerelease.length&&!D.prerelease.length)return 0;let X=0;do{let Y=this.prerelease[X],Z=D.prerelease[X];if(v2("prerelease compare",X,Y,Z),Y===void 0&&Z===void 0)return 0;else if(Z===void 0)return 1;else if(Y===void 0)return-1;else if(Y===Z)continue;else return dq(Y,Z)}while(++X)}compareBuild(D){if(!(D instanceof z8))D=new z8(D,this.options);let X=0;do{let Y=this.build[X],Z=D.build[X];if(v2("build compare",X,Y,Z),Y===void 0&&Z===void 0)return 0;else if(Z===void 0)return 1;else if(Y===void 0)return-1;else if(Y===Z)continue;else return dq(Y,Z)}while(++X)}inc(D,X,Y){if(D.startsWith("pre")){if(!X&&Y===!1)throw Error("invalid increment argument: identifier is empty");if(X){let Z=`-${X}`.match(this.options.loose?g2[m2.PRERELEASELOOSE]:g2[m2.PRERELEASE]);if(!Z||Z[1]!==X)throw Error(`invalid identifier: ${X}`)}}switch(D){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",X,Y);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",X,Y);break;case"prepatch":this.prerelease.length=0,this.inc("patch",X,Y),this.inc("pre",X,Y);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",X,Y);this.inc("pre",X,Y);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let Z=Number(Y)?1:0;if(this.prerelease.length===0)this.prerelease=[Z];else{let J=this.prerelease.length;while(--J>=0)if(typeof this.prerelease[J]==="number")this.prerelease[J]++,J=-2;if(J===-1){if(X===this.prerelease.join(".")&&Y===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Z)}}if(X){let J=[X,Z];if(Y===!1)J=[X];if(dq(this.prerelease[0],X)===0){if(isNaN(this.prerelease[1]))this.prerelease=J}else this.prerelease=J}break}default:throw Error(`invalid increment argument: ${D}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}_S.exports=z8});var D5=T((G$0,bS)=>{var vS=Y1(),_60=(D,X,Y=!1)=>{if(D instanceof vS)return D;try{return new vS(D,X)}catch(Z){if(!Y)return null;throw Z}};bS.exports=_60});var mS=T((O$0,gS)=>{var v60=D5(),b60=(D,X)=>{let Y=v60(D,X);return Y?Y.version:null};gS.exports=b60});var cS=T((W$0,dS)=>{var g60=D5(),m60=(D,X)=>{let Y=g60(D.trim().replace(/^[=v]+/,""),X);return Y?Y.version:null};dS.exports=m60});var iS=T((H$0,nS)=>{var lS=Y1(),d60=(D,X,Y,Z,J)=>{if(typeof Y==="string")J=Z,Z=Y,Y=void 0;try{return new lS(D instanceof lS?D.version:D,Y).inc(X,Z,J).version}catch(Q){return null}};nS.exports=d60});var tS=T((K$0,aS)=>{var pS=D5(),c60=(D,X)=>{let Y=pS(D,null,!0),Z=pS(X,null,!0),J=Y.compare(Z);if(J===0)return null;let Q=J>0,w=Q?Y:Z,F=Q?Z:Y,B=!!w.prerelease.length;if(!!F.prerelease.length&&!B){if(!F.patch&&!F.minor)return"major";if(F.compareMain(w)===0){if(F.minor&&!F.patch)return"minor";return"patch"}}let $=B?"pre":"";if(Y.major!==Z.major)return $+"major";if(Y.minor!==Z.minor)return $+"minor";if(Y.patch!==Z.patch)return $+"patch";return"prerelease"};aS.exports=c60});var sS=T((z$0,rS)=>{var l60=Y1(),n60=(D,X)=>new l60(D,X).major;rS.exports=n60});var eS=T((M$0,oS)=>{var i60=Y1(),p60=(D,X)=>new i60(D,X).minor;oS.exports=p60});var Xx=T((L$0,Dx)=>{var a60=Y1(),t60=(D,X)=>new a60(D,X).patch;Dx.exports=t60});var Zx=T((V$0,Yx)=>{var r60=D5(),s60=(D,X)=>{let Y=r60(D,X);return Y&&Y.prerelease.length?Y.prerelease:null};Yx.exports=s60});var r1=T((U$0,Qx)=>{var Jx=Y1(),o60=(D,X,Y)=>new Jx(D,Y).compare(new Jx(X,Y));Qx.exports=o60});var Fx=T((N$0,wx)=>{var e60=r1(),D90=(D,X,Y)=>e60(X,D,Y);wx.exports=D90});var qx=T((R$0,Bx)=>{var X90=r1(),Y90=(D,X)=>X90(D,X,!0);Bx.exports=Y90});var d2=T((A$0,Gx)=>{var $x=Y1(),Z90=(D,X,Y)=>{let Z=new $x(D,Y),J=new $x(X,Y);return Z.compare(J)||Z.compareBuild(J)};Gx.exports=Z90});var Wx=T((E$0,Ox)=>{var J90=d2(),Q90=(D,X)=>D.sort((Y,Z)=>J90(Y,Z,X));Ox.exports=Q90});var Kx=T((C$0,Hx)=>{var w90=d2(),F90=(D,X)=>D.sort((Y,Z)=>w90(Z,Y,X));Hx.exports=F90});var d3=T((j$0,zx)=>{var B90=r1(),q90=(D,X,Y)=>B90(D,X,Y)>0;zx.exports=q90});var c2=T((T$0,Mx)=>{var $90=r1(),G90=(D,X,Y)=>$90(D,X,Y)<0;Mx.exports=G90});var cq=T((I$0,Lx)=>{var O90=r1(),W90=(D,X,Y)=>O90(D,X,Y)===0;Lx.exports=W90});var lq=T((P$0,Vx)=>{var H90=r1(),K90=(D,X,Y)=>H90(D,X,Y)!==0;Vx.exports=K90});var l2=T((S$0,Ux)=>{var z90=r1(),M90=(D,X,Y)=>z90(D,X,Y)>=0;Ux.exports=M90});var n2=T((x$0,Nx)=>{var L90=r1(),V90=(D,X,Y)=>L90(D,X,Y)<=0;Nx.exports=V90});var nq=T((f$0,Rx)=>{var U90=cq(),N90=lq(),R90=d3(),A90=l2(),E90=c2(),C90=n2(),j90=(D,X,Y,Z)=>{switch(X){case"===":if(typeof D==="object")D=D.version;if(typeof Y==="object")Y=Y.version;return D===Y;case"!==":if(typeof D==="object")D=D.version;if(typeof Y==="object")Y=Y.version;return D!==Y;case"":case"=":case"==":return U90(D,Y,Z);case"!=":return N90(D,Y,Z);case">":return R90(D,Y,Z);case">=":return A90(D,Y,Z);case"<":return E90(D,Y,Z);case"<=":return C90(D,Y,Z);default:throw TypeError(`Invalid operator: ${X}`)}};Rx.exports=j90});var Ex=T((y$0,Ax)=>{var T90=Y1(),I90=D5(),{safeRe:i2,t:p2}=k7(),P90=(D,X)=>{if(D instanceof T90)return D;if(typeof D==="number")D=String(D);if(typeof D!=="string")return null;X=X||{};let Y=null;if(!X.rtl)Y=D.match(X.includePrerelease?i2[p2.COERCEFULL]:i2[p2.COERCE]);else{let B=X.includePrerelease?i2[p2.COERCERTLFULL]:i2[p2.COERCERTL],q;while((q=B.exec(D))&&(!Y||Y.index+Y[0].length!==D.length)){if(!Y||q.index+q[0].length!==Y.index+Y[0].length)Y=q;B.lastIndex=q.index+q[1].length+q[2].length}B.lastIndex=-1}if(Y===null)return null;let Z=Y[2],J=Y[3]||"0",Q=Y[4]||"0",w=X.includePrerelease&&Y[5]?`-${Y[5]}`:"",F=X.includePrerelease&&Y[6]?`+${Y[6]}`:"";return I90(`${Z}.${J}.${Q}${w}${F}`,X)};Ax.exports=P90});var Tx=T((k$0,jx)=>{class Cx{constructor(){this.max=1000,this.map=new Map}get(D){let X=this.map.get(D);if(X===void 0)return;else return this.map.delete(D),this.map.set(D,X),X}delete(D){return this.map.delete(D)}set(D,X){if(!this.delete(D)&&X!==void 0){if(this.map.size>=this.max){let Z=this.map.keys().next().value;this.delete(Z)}this.map.set(D,X)}return this}}jx.exports=Cx});var s1=T((u$0,xx)=>{var S90=/\s+/g;class c3{constructor(D,X){if(X=f90(X),D instanceof c3)if(D.loose===!!X.loose&&D.includePrerelease===!!X.includePrerelease)return D;else return new c3(D.raw,X);if(D instanceof iq)return this.raw=D.value,this.set=[[D]],this.formatted=void 0,this;if(this.options=X,this.loose=!!X.loose,this.includePrerelease=!!X.includePrerelease,this.raw=D.trim().replace(S90," "),this.set=this.raw.split("||").map((Y)=>this.parseRange(Y.trim())).filter((Y)=>Y.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Y=this.set[0];if(this.set=this.set.filter((Z)=>!Px(Z[0])),this.set.length===0)this.set=[Y];else if(this.set.length>1){for(let Z of this.set)if(Z.length===1&&b90(Z[0])){this.set=[Z];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let D=0;D<this.set.length;D++){if(D>0)this.formatted+="||";let X=this.set[D];for(let Y=0;Y<X.length;Y++){if(Y>0)this.formatted+=" ";this.formatted+=X[Y].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(D){let Y=((this.options.includePrerelease&&_90)|(this.options.loose&&v90))+":"+D,Z=Ix.get(Y);if(Z)return Z;let J=this.options.loose,Q=J?K1[Z1.HYPHENRANGELOOSE]:K1[Z1.HYPHENRANGE];D=D.replace(Q,t90(this.options.includePrerelease)),JD("hyphen replace",D),D=D.replace(K1[Z1.COMPARATORTRIM],k90),JD("comparator trim",D),D=D.replace(K1[Z1.TILDETRIM],u90),JD("tilde trim",D),D=D.replace(K1[Z1.CARETTRIM],h90),JD("caret trim",D);let w=D.split(" ").map(($)=>g90($,this.options)).join(" ").split(/\s+/).map(($)=>a90($,this.options));if(J)w=w.filter(($)=>{return JD("loose invalid filter",$,this.options),!!$.match(K1[Z1.COMPARATORLOOSE])});JD("range list",w);let F=new Map,B=w.map(($)=>new iq($,this.options));for(let $ of B){if(Px($))return[$];F.set($.value,$)}if(F.size>1&&F.has(""))F.delete("");let q=[...F.values()];return Ix.set(Y,q),q}intersects(D,X){if(!(D instanceof c3))throw TypeError("a Range is required");return this.set.some((Y)=>{return Sx(Y,X)&&D.set.some((Z)=>{return Sx(Z,X)&&Y.every((J)=>{return Z.every((Q)=>{return J.intersects(Q,X)})})})})}test(D){if(!D)return!1;if(typeof D==="string")try{D=new y90(D,this.options)}catch(X){return!1}for(let X=0;X<this.set.length;X++)if(r90(this.set[X],D,this.options))return!0;return!1}}xx.exports=c3;var x90=Tx(),Ix=new x90,f90=_2(),iq=l3(),JD=m3(),y90=Y1(),{safeRe:K1,t:Z1,comparatorTrimReplace:k90,tildeTrimReplace:u90,caretTrimReplace:h90}=k7(),{FLAG_INCLUDE_PRERELEASE:_90,FLAG_LOOSE:v90}=g3(),Px=(D)=>D.value==="<0.0.0-0",b90=(D)=>D.value==="",Sx=(D,X)=>{let Y=!0,Z=D.slice(),J=Z.pop();while(Y&&Z.length)Y=Z.every((Q)=>{return J.intersects(Q,X)}),J=Z.pop();return Y},g90=(D,X)=>{return D=D.replace(K1[Z1.BUILD],""),JD("comp",D,X),D=c90(D,X),JD("caret",D),D=m90(D,X),JD("tildes",D),D=n90(D,X),JD("xrange",D),D=p90(D,X),JD("stars",D),D},z1=(D)=>!D||D.toLowerCase()==="x"||D==="*",m90=(D,X)=>{return D.trim().split(/\s+/).map((Y)=>d90(Y,X)).join(" ")},d90=(D,X)=>{let Y=X.loose?K1[Z1.TILDELOOSE]:K1[Z1.TILDE];return D.replace(Y,(Z,J,Q,w,F)=>{JD("tilde",D,Z,J,Q,w,F);let B;if(z1(J))B="";else if(z1(Q))B=`>=${J}.0.0 <${+J+1}.0.0-0`;else if(z1(w))B=`>=${J}.${Q}.0 <${J}.${+Q+1}.0-0`;else if(F)JD("replaceTilde pr",F),B=`>=${J}.${Q}.${w}-${F} <${J}.${+Q+1}.0-0`;else B=`>=${J}.${Q}.${w} <${J}.${+Q+1}.0-0`;return JD("tilde return",B),B})},c90=(D,X)=>{return D.trim().split(/\s+/).map((Y)=>l90(Y,X)).join(" ")},l90=(D,X)=>{JD("caret",D,X);let Y=X.loose?K1[Z1.CARETLOOSE]:K1[Z1.CARET],Z=X.includePrerelease?"-0":"";return D.replace(Y,(J,Q,w,F,B)=>{JD("caret",D,J,Q,w,F,B);let q;if(z1(Q))q="";else if(z1(w))q=`>=${Q}.0.0${Z} <${+Q+1}.0.0-0`;else if(z1(F))if(Q==="0")q=`>=${Q}.${w}.0${Z} <${Q}.${+w+1}.0-0`;else q=`>=${Q}.${w}.0${Z} <${+Q+1}.0.0-0`;else if(B)if(JD("replaceCaret pr",B),Q==="0")if(w==="0")q=`>=${Q}.${w}.${F}-${B} <${Q}.${w}.${+F+1}-0`;else q=`>=${Q}.${w}.${F}-${B} <${Q}.${+w+1}.0-0`;else q=`>=${Q}.${w}.${F}-${B} <${+Q+1}.0.0-0`;else if(JD("no pr"),Q==="0")if(w==="0")q=`>=${Q}.${w}.${F}${Z} <${Q}.${w}.${+F+1}-0`;else q=`>=${Q}.${w}.${F}${Z} <${Q}.${+w+1}.0-0`;else q=`>=${Q}.${w}.${F} <${+Q+1}.0.0-0`;return JD("caret return",q),q})},n90=(D,X)=>{return JD("replaceXRanges",D,X),D.split(/\s+/).map((Y)=>i90(Y,X)).join(" ")},i90=(D,X)=>{D=D.trim();let Y=X.loose?K1[Z1.XRANGELOOSE]:K1[Z1.XRANGE];return D.replace(Y,(Z,J,Q,w,F,B)=>{JD("xRange",D,Z,J,Q,w,F,B);let q=z1(Q),$=q||z1(w),G=$||z1(F),W=G;if(J==="="&&W)J="";if(B=X.includePrerelease?"-0":"",q)if(J===">"||J==="<")Z="<0.0.0-0";else Z="*";else if(J&&W){if($)w=0;if(F=0,J===">")if(J=">=",$)Q=+Q+1,w=0,F=0;else w=+w+1,F=0;else if(J==="<=")if(J="<",$)Q=+Q+1;else w=+w+1;if(J==="<")B="-0";Z=`${J+Q}.${w}.${F}${B}`}else if($)Z=`>=${Q}.0.0${B} <${+Q+1}.0.0-0`;else if(G)Z=`>=${Q}.${w}.0${B} <${Q}.${+w+1}.0-0`;return JD("xRange return",Z),Z})},p90=(D,X)=>{return JD("replaceStars",D,X),D.trim().replace(K1[Z1.STAR],"")},a90=(D,X)=>{return JD("replaceGTE0",D,X),D.trim().replace(K1[X.includePrerelease?Z1.GTE0PRE:Z1.GTE0],"")},t90=(D)=>(X,Y,Z,J,Q,w,F,B,q,$,G,W)=>{if(z1(Z))Y="";else if(z1(J))Y=`>=${Z}.0.0${D?"-0":""}`;else if(z1(Q))Y=`>=${Z}.${J}.0${D?"-0":""}`;else if(w)Y=`>=${Y}`;else Y=`>=${Y}${D?"-0":""}`;if(z1(q))B="";else if(z1($))B=`<${+q+1}.0.0-0`;else if(z1(G))B=`<${q}.${+$+1}.0-0`;else if(W)B=`<=${q}.${$}.${G}-${W}`;else if(D)B=`<${q}.${$}.${+G+1}-0`;else B=`<=${B}`;return`${Y} ${B}`.trim()},r90=(D,X,Y)=>{for(let Z=0;Z<D.length;Z++)if(!D[Z].test(X))return!1;if(X.prerelease.length&&!Y.includePrerelease){for(let Z=0;Z<D.length;Z++){if(JD(D[Z].semver),D[Z].semver===iq.ANY)continue;if(D[Z].semver.prerelease.length>0){let J=D[Z].semver;if(J.major===X.major&&J.minor===X.minor&&J.patch===X.patch)return!0}}return!1}return!0}});var l3=T((h$0,_x)=>{var n3=Symbol("SemVer ANY");class a2{static get ANY(){return n3}constructor(D,X){if(X=fx(X),D instanceof a2)if(D.loose===!!X.loose)return D;else D=D.value;if(D=D.trim().split(/\s+/).join(" "),aq("comparator",D,X),this.options=X,this.loose=!!X.loose,this.parse(D),this.semver===n3)this.value="";else this.value=this.operator+this.semver.version;aq("comp",this)}parse(D){let X=this.options.loose?yx[kx.COMPARATORLOOSE]:yx[kx.COMPARATOR],Y=D.match(X);if(!Y)throw TypeError(`Invalid comparator: ${D}`);if(this.operator=Y[1]!==void 0?Y[1]:"",this.operator==="=")this.operator="";if(!Y[2])this.semver=n3;else this.semver=new ux(Y[2],this.options.loose)}toString(){return this.value}test(D){if(aq("Comparator.test",D,this.options.loose),this.semver===n3||D===n3)return!0;if(typeof D==="string")try{D=new ux(D,this.options)}catch(X){return!1}return pq(D,this.operator,this.semver,this.options)}intersects(D,X){if(!(D instanceof a2))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new hx(D.value,X).test(this.value)}else if(D.operator===""){if(D.value==="")return!0;return new hx(this.value,X).test(D.semver)}if(X=fx(X),X.includePrerelease&&(this.value==="<0.0.0-0"||D.value==="<0.0.0-0"))return!1;if(!X.includePrerelease&&(this.value.startsWith("<0.0.0")||D.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&D.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&D.operator.startsWith("<"))return!0;if(this.semver.version===D.semver.version&&this.operator.includes("=")&&D.operator.includes("="))return!0;if(pq(this.semver,"<",D.semver,X)&&this.operator.startsWith(">")&&D.operator.startsWith("<"))return!0;if(pq(this.semver,">",D.semver,X)&&this.operator.startsWith("<")&&D.operator.startsWith(">"))return!0;return!1}}_x.exports=a2;var fx=_2(),{safeRe:yx,t:kx}=k7(),pq=nq(),aq=m3(),ux=Y1(),hx=s1()});var i3=T((_$0,vx)=>{var s90=s1(),o90=(D,X,Y)=>{try{X=new s90(X,Y)}catch(Z){return!1}return X.test(D)};vx.exports=o90});var gx=T((v$0,bx)=>{var e90=s1(),D50=(D,X)=>new e90(D,X).set.map((Y)=>Y.map((Z)=>Z.value).join(" ").trim().split(" "));bx.exports=D50});var dx=T((b$0,mx)=>{var X50=Y1(),Y50=s1(),Z50=(D,X,Y)=>{let Z=null,J=null,Q=null;try{Q=new Y50(X,Y)}catch(w){return null}return D.forEach((w)=>{if(Q.test(w)){if(!Z||J.compare(w)===-1)Z=w,J=new X50(Z,Y)}}),Z};mx.exports=Z50});var lx=T((g$0,cx)=>{var J50=Y1(),Q50=s1(),w50=(D,X,Y)=>{let Z=null,J=null,Q=null;try{Q=new Q50(X,Y)}catch(w){return null}return D.forEach((w)=>{if(Q.test(w)){if(!Z||J.compare(w)===1)Z=w,J=new J50(Z,Y)}}),Z};cx.exports=w50});var px=T((m$0,ix)=>{var tq=Y1(),F50=s1(),nx=d3(),B50=(D,X)=>{D=new F50(D,X);let Y=new tq("0.0.0");if(D.test(Y))return Y;if(Y=new tq("0.0.0-0"),D.test(Y))return Y;Y=null;for(let Z=0;Z<D.set.length;++Z){let J=D.set[Z],Q=null;if(J.forEach((w)=>{let F=new tq(w.semver.version);switch(w.operator){case">":if(F.prerelease.length===0)F.patch++;else F.prerelease.push(0);F.raw=F.format();case"":case">=":if(!Q||nx(F,Q))Q=F;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${w.operator}`)}}),Q&&(!Y||nx(Y,Q)))Y=Q}if(Y&&D.test(Y))return Y;return null};ix.exports=B50});var tx=T((d$0,ax)=>{var q50=s1(),$50=(D,X)=>{try{return new q50(D,X).range||"*"}catch(Y){return null}};ax.exports=$50});var t2=T((c$0,ex)=>{var G50=Y1(),ox=l3(),{ANY:O50}=ox,W50=s1(),H50=i3(),rx=d3(),sx=c2(),K50=n2(),z50=l2(),M50=(D,X,Y,Z)=>{D=new G50(D,Z),X=new W50(X,Z);let J,Q,w,F,B;switch(Y){case">":J=rx,Q=K50,w=sx,F=">",B=">=";break;case"<":J=sx,Q=z50,w=rx,F="<",B="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(H50(D,X,Z))return!1;for(let q=0;q<X.set.length;++q){let $=X.set[q],G=null,W=null;if($.forEach((O)=>{if(O.semver===O50)O=new ox(">=0.0.0");if(G=G||O,W=W||O,J(O.semver,G.semver,Z))G=O;else if(w(O.semver,W.semver,Z))W=O}),G.operator===F||G.operator===B)return!1;if((!W.operator||W.operator===F)&&Q(D,W.semver))return!1;else if(W.operator===B&&w(D,W.semver))return!1}return!0};ex.exports=M50});var Xf=T((l$0,Df)=>{var L50=t2(),V50=(D,X,Y)=>L50(D,X,">",Y);Df.exports=V50});var Zf=T((n$0,Yf)=>{var U50=t2(),N50=(D,X,Y)=>U50(D,X,"<",Y);Yf.exports=N50});var wf=T((i$0,Qf)=>{var Jf=s1(),R50=(D,X,Y)=>{return D=new Jf(D,Y),X=new Jf(X,Y),D.intersects(X,Y)};Qf.exports=R50});var Bf=T((p$0,Ff)=>{var A50=i3(),E50=r1();Ff.exports=(D,X,Y)=>{let Z=[],J=null,Q=null,w=D.sort(($,G)=>E50($,G,Y));for(let $ of w)if(A50($,X,Y)){if(Q=$,!J)J=$}else{if(Q)Z.push([J,Q]);Q=null,J=null}if(J)Z.push([J,null]);let F=[];for(let[$,G]of Z)if($===G)F.push($);else if(!G&&$===w[0])F.push("*");else if(!G)F.push(`>=${$}`);else if($===w[0])F.push(`<=${G}`);else F.push(`${$} - ${G}`);let B=F.join(" || "),q=typeof X.raw==="string"?X.raw:String(X);return B.length<q.length?B:X}});var Hf=T((a$0,Wf)=>{var qf=s1(),sq=l3(),{ANY:rq}=sq,p3=i3(),oq=r1(),C50=(D,X,Y={})=>{if(D===X)return!0;D=new qf(D,Y),X=new qf(X,Y);let Z=!1;D:for(let J of D.set){for(let Q of X.set){let w=T50(J,Q,Y);if(Z=Z||w!==null,w)continue D}if(Z)return!1}return!0},j50=[new sq(">=0.0.0-0")],$f=[new sq(">=0.0.0")],T50=(D,X,Y)=>{if(D===X)return!0;if(D.length===1&&D[0].semver===rq)if(X.length===1&&X[0].semver===rq)return!0;else if(Y.includePrerelease)D=j50;else D=$f;if(X.length===1&&X[0].semver===rq)if(Y.includePrerelease)return!0;else X=$f;let Z=new Set,J,Q;for(let O of D)if(O.operator===">"||O.operator===">=")J=Gf(J,O,Y);else if(O.operator==="<"||O.operator==="<=")Q=Of(Q,O,Y);else Z.add(O.semver);if(Z.size>1)return null;let w;if(J&&Q){if(w=oq(J.semver,Q.semver,Y),w>0)return null;else if(w===0&&(J.operator!==">="||Q.operator!=="<="))return null}for(let O of Z){if(J&&!p3(O,String(J),Y))return null;if(Q&&!p3(O,String(Q),Y))return null;for(let H of X)if(!p3(O,String(H),Y))return!1;return!0}let F,B,q,$,G=Q&&!Y.includePrerelease&&Q.semver.prerelease.length?Q.semver:!1,W=J&&!Y.includePrerelease&&J.semver.prerelease.length?J.semver:!1;if(G&&G.prerelease.length===1&&Q.operator==="<"&&G.prerelease[0]===0)G=!1;for(let O of X){if($=$||O.operator===">"||O.operator===">=",q=q||O.operator==="<"||O.operator==="<=",J){if(W){if(O.semver.prerelease&&O.semver.prerelease.length&&O.semver.major===W.major&&O.semver.minor===W.minor&&O.semver.patch===W.patch)W=!1}if(O.operator===">"||O.operator===">="){if(F=Gf(J,O,Y),F===O&&F!==J)return!1}else if(J.operator===">="&&!p3(J.semver,String(O),Y))return!1}if(Q){if(G){if(O.semver.prerelease&&O.semver.prerelease.length&&O.semver.major===G.major&&O.semver.minor===G.minor&&O.semver.patch===G.patch)G=!1}if(O.operator==="<"||O.operator==="<="){if(B=Of(Q,O,Y),B===O&&B!==Q)return!1}else if(Q.operator==="<="&&!p3(Q.semver,String(O),Y))return!1}if(!O.operator&&(Q||J)&&w!==0)return!1}if(J&&q&&!Q&&w!==0)return!1;if(Q&&$&&!J&&w!==0)return!1;if(W||G)return!1;return!0},Gf=(D,X,Y)=>{if(!D)return X;let Z=oq(D.semver,X.semver,Y);return Z>0?D:Z<0?X:X.operator===">"&&D.operator===">="?X:D},Of=(D,X,Y)=>{if(!D)return X;let Z=oq(D.semver,X.semver,Y);return Z<0?D:Z>0?X:X.operator==="<"&&D.operator==="<="?X:D};Wf.exports=C50});var Lf=T((t$0,Mf)=>{var eq=k7(),Kf=g3(),I50=Y1(),zf=mq(),P50=D5(),S50=mS(),x50=cS(),f50=iS(),y50=tS(),k50=sS(),u50=eS(),h50=Xx(),_50=Zx(),v50=r1(),b50=Fx(),g50=qx(),m50=d2(),d50=Wx(),c50=Kx(),l50=d3(),n50=c2(),i50=cq(),p50=lq(),a50=l2(),t50=n2(),r50=nq(),s50=Ex(),o50=l3(),e50=s1(),D70=i3(),X70=gx(),Y70=dx(),Z70=lx(),J70=px(),Q70=tx(),w70=t2(),F70=Xf(),B70=Zf(),q70=wf(),$70=Bf(),G70=Hf();Mf.exports={parse:P50,valid:S50,clean:x50,inc:f50,diff:y50,major:k50,minor:u50,patch:h50,prerelease:_50,compare:v50,rcompare:b50,compareLoose:g50,compareBuild:m50,sort:d50,rsort:c50,gt:l50,lt:n50,eq:i50,neq:p50,gte:a50,lte:t50,cmp:r50,coerce:s50,Comparator:o50,Range:e50,satisfies:D70,toComparators:X70,maxSatisfying:Y70,minSatisfying:Z70,minVersion:J70,validRange:Q70,outside:w70,gtr:F70,ltr:B70,intersects:q70,simplifyRange:$70,subset:G70,SemVer:I50,re:eq.re,src:eq.src,tokens:eq.t,SEMVER_SPEC_VERSION:Kf.SEMVER_SPEC_VERSION,RELEASE_TYPES:Kf.RELEASE_TYPES,compareIdentifiers:zf.compareIdentifiers,rcompareIdentifiers:zf.rcompareIdentifiers}});var Sf=T((Y0)=>{Object.defineProperty(Y0,"__esModule",{value:!0});Y0.parseApkNameFromFlavor=Y0.checkJDKMajorVersion=Y0.resolvePlatform=Y0.checkPlatformVersions=Y0.getAddedPlatforms=Y0.getPlatformTargetName=Y0.promptForPlatformTarget=Y0.promptForPlatform=Y0.isValidEnterprisePlatform=Y0.getKnownEnterprisePlatforms=Y0.isValidCommunityPlatform=Y0.getKnownCommunityPlatforms=Y0.isValidPlatform=Y0.getKnownPlatforms=Y0.selectPlatforms=Y0.getProjectPlatformDirectory=Y0.getCLIVersion=Y0.getCoreVersion=Y0.getCapacitorPackageVersion=Y0.requireCapacitorPackage=Y0.getCapacitorPackage=Y0.runTask=Y0.runPlatformHook=Y0.runHooks=Y0.wait=Y0.checkAppName=Y0.checkAppId=Y0.checkAppDir=Y0.checkAppConfig=Y0.checkCapacitorPlatform=Y0.checkPackage=Y0.checkWebDir=Y0.check=void 0;var t3=h0(),Vf=v6(),s6=W7(),X5=require("path"),d0=t3.__importDefault(H7()),Y5=fZ(),Nf=W3(),O70=HT(),Uf=AX(),a3=Y2(),W70=h2();async function H70(D){let Y=(await Promise.all(D.map((Z)=>Z()))).filter((Z)=>Z!=null);if(Y.length>0)throw Y.join(`
|
|
203
|
+
see https://github.com/jprichardson/node-fs-extra/issues/269`);y3.checkPaths(D,X,"copy",(J,Q)=>{if(J)return Z(J);let{srcStat:w,destStat:F}=Q;y3.checkParentPaths(D,w,X,"copy",(B)=>{if(B)return Z(B);if(Y.filter)return gT(_T,F,D,X,Y,Z);return _T(F,D,X,Y,Z)})})}function _T(D,X,Y,Z,J){let Q=f3.dirname(Y);iD0(Q,(w,F)=>{if(w)return J(w);if(F)return Hq(D,X,Y,Z,J);nD0(Q,(B)=>{if(B)return J(B);return Hq(D,X,Y,Z,J)})})}function gT(D,X,Y,Z,J,Q){Promise.resolve(J.filter(Y,Z)).then((w)=>{if(w)return D(X,Y,Z,J,Q);return Q()},(w)=>Q(w))}function Hq(D,X,Y,Z,J){if(Z.filter)return gT(vT,D,X,Y,Z,J);return vT(D,X,Y,Z,J)}function vT(D,X,Y,Z,J){(Z.dereference?f1.stat:f1.lstat)(X,(w,F)=>{if(w)return J(w);if(F.isDirectory())return X10(F,D,X,Y,Z,J);else if(F.isFile()||F.isCharacterDevice()||F.isBlockDevice())return tD0(F,D,X,Y,Z,J);else if(F.isSymbolicLink())return J10(D,X,Y,Z,J)})}function tD0(D,X,Y,Z,J,Q){if(!X)return mT(D,Y,Z,J,Q);return rD0(D,Y,Z,J,Q)}function rD0(D,X,Y,Z,J){if(Z.overwrite)f1.unlink(Y,(Q)=>{if(Q)return J(Q);return mT(D,X,Y,Z,J)});else if(Z.errorOnExist)return J(Error(`'${Y}' already exists`));else return J()}function mT(D,X,Y,Z,J){f1.copyFile(X,Y,(Q)=>{if(Q)return J(Q);if(Z.preserveTimestamps)return sD0(D.mode,X,Y,J);return A2(Y,D.mode,J)})}function sD0(D,X,Y,Z){if(oD0(D))return eD0(Y,D,(J)=>{if(J)return Z(J);return bT(D,X,Y,Z)});return bT(D,X,Y,Z)}function oD0(D){return(D&128)===0}function eD0(D,X,Y){return A2(D,X|128,Y)}function bT(D,X,Y,Z){D10(X,Y,(J)=>{if(J)return Z(J);return A2(Y,D,Z)})}function A2(D,X,Y){return f1.chmod(D,X,Y)}function D10(D,X,Y){f1.stat(D,(Z,J)=>{if(Z)return Y(Z);return pD0(X,J.atime,J.mtime,Y)})}function X10(D,X,Y,Z,J,Q){if(!X)return Y10(D.mode,Y,Z,J,Q);if(X&&!X.isDirectory())return Q(Error(`Cannot overwrite non-directory '${Z}' with directory '${Y}'.`));return dT(Y,Z,J,Q)}function Y10(D,X,Y,Z,J){f1.mkdir(Y,(Q)=>{if(Q)return J(Q);dT(X,Y,Z,(w)=>{if(w)return J(w);return A2(Y,D,J)})})}function dT(D,X,Y,Z){f1.readdir(D,(J,Q)=>{if(J)return Z(J);return cT(Q,D,X,Y,Z)})}function cT(D,X,Y,Z,J){let Q=D.pop();if(!Q)return J();return Z10(D,Q,X,Y,Z,J)}function Z10(D,X,Y,Z,J,Q){let w=f3.join(Y,X),F=f3.join(Z,X);y3.checkPaths(w,F,"copy",(B,q)=>{if(B)return Q(B);let{destStat:$}=q;Hq($,w,F,J,(G)=>{if(G)return Q(G);return cT(D,Y,Z,J,Q)})})}function J10(D,X,Y,Z,J){f1.readlink(X,(Q,w)=>{if(Q)return J(Q);if(Z.dereference)w=f3.resolve(process.cwd(),w);if(!D)return f1.symlink(w,Y,J);else f1.readlink(Y,(F,B)=>{if(F){if(F.code==="EINVAL"||F.code==="UNKNOWN")return f1.symlink(w,Y,J);return J(F)}if(Z.dereference)B=f3.resolve(process.cwd(),B);if(y3.isSrcSubdir(w,B))return J(Error(`Cannot copy '${w}' to a subdirectory of itself, '${B}'.`));if(D.isDirectory()&&y3.isSrcSubdir(B,w))return J(Error(`Cannot overwrite '${B}' with '${w}'.`));return Q10(w,Y,J)})})}function Q10(D,X,Y){f1.unlink(X,(Z)=>{if(Z)return Y(Z);return f1.symlink(D,X,Y)})}lT.exports=aD0});var Kq=T((Lq0,iT)=>{var w10=f0().fromCallback;iT.exports={copy:w10(nT())}});var XI=T((Vq0,DI)=>{var pT=ED(),sT=require("path"),p0=require("assert"),k3=process.platform==="win32";function oT(D){["unlink","chmod","stat","lstat","rmdir","readdir"].forEach((Y)=>{D[Y]=D[Y]||pT[Y],Y=Y+"Sync",D[Y]=D[Y]||pT[Y]}),D.maxBusyTries=D.maxBusyTries||3}function zq(D,X,Y){let Z=0;if(typeof X==="function")Y=X,X={};p0(D,"rimraf: missing path"),p0.strictEqual(typeof D,"string","rimraf: path should be a string"),p0.strictEqual(typeof Y,"function","rimraf: callback function required"),p0(X,"rimraf: invalid options argument provided"),p0.strictEqual(typeof X,"object","rimraf: options should be object"),oT(X),aT(D,X,function J(Q){if(Q){if((Q.code==="EBUSY"||Q.code==="ENOTEMPTY"||Q.code==="EPERM")&&Z<X.maxBusyTries){Z++;let w=Z*100;return setTimeout(()=>aT(D,X,J),w)}if(Q.code==="ENOENT")Q=null}Y(Q)})}function aT(D,X,Y){p0(D),p0(X),p0(typeof Y==="function"),X.lstat(D,(Z,J)=>{if(Z&&Z.code==="ENOENT")return Y(null);if(Z&&Z.code==="EPERM"&&k3)return tT(D,X,Z,Y);if(J&&J.isDirectory())return E2(D,X,Z,Y);X.unlink(D,(Q)=>{if(Q){if(Q.code==="ENOENT")return Y(null);if(Q.code==="EPERM")return k3?tT(D,X,Q,Y):E2(D,X,Q,Y);if(Q.code==="EISDIR")return E2(D,X,Q,Y)}return Y(Q)})})}function tT(D,X,Y,Z){p0(D),p0(X),p0(typeof Z==="function"),X.chmod(D,438,(J)=>{if(J)Z(J.code==="ENOENT"?null:Y);else X.stat(D,(Q,w)=>{if(Q)Z(Q.code==="ENOENT"?null:Y);else if(w.isDirectory())E2(D,X,Y,Z);else X.unlink(D,Z)})})}function rT(D,X,Y){let Z;p0(D),p0(X);try{X.chmodSync(D,438)}catch(J){if(J.code==="ENOENT")return;else throw Y}try{Z=X.statSync(D)}catch(J){if(J.code==="ENOENT")return;else throw Y}if(Z.isDirectory())C2(D,X,Y);else X.unlinkSync(D)}function E2(D,X,Y,Z){p0(D),p0(X),p0(typeof Z==="function"),X.rmdir(D,(J)=>{if(J&&(J.code==="ENOTEMPTY"||J.code==="EEXIST"||J.code==="EPERM"))F10(D,X,Z);else if(J&&J.code==="ENOTDIR")Z(Y);else Z(J)})}function F10(D,X,Y){p0(D),p0(X),p0(typeof Y==="function"),X.readdir(D,(Z,J)=>{if(Z)return Y(Z);let Q=J.length,w;if(Q===0)return X.rmdir(D,Y);J.forEach((F)=>{zq(sT.join(D,F),X,(B)=>{if(w)return;if(B)return Y(w=B);if(--Q===0)X.rmdir(D,Y)})})})}function eT(D,X){let Y;X=X||{},oT(X),p0(D,"rimraf: missing path"),p0.strictEqual(typeof D,"string","rimraf: path should be a string"),p0(X,"rimraf: missing options"),p0.strictEqual(typeof X,"object","rimraf: options should be object");try{Y=X.lstatSync(D)}catch(Z){if(Z.code==="ENOENT")return;if(Z.code==="EPERM"&&k3)rT(D,X,Z)}try{if(Y&&Y.isDirectory())C2(D,X,null);else X.unlinkSync(D)}catch(Z){if(Z.code==="ENOENT")return;else if(Z.code==="EPERM")return k3?rT(D,X,Z):C2(D,X,Z);else if(Z.code!=="EISDIR")throw Z;C2(D,X,Z)}}function C2(D,X,Y){p0(D),p0(X);try{X.rmdirSync(D)}catch(Z){if(Z.code==="ENOTDIR")throw Y;else if(Z.code==="ENOTEMPTY"||Z.code==="EEXIST"||Z.code==="EPERM")B10(D,X);else if(Z.code!=="ENOENT")throw Z}}function B10(D,X){if(p0(D),p0(X),X.readdirSync(D).forEach((Y)=>eT(sT.join(D,Y),X)),k3){let Y=Date.now();do try{return X.rmdirSync(D,X)}catch{}while(Date.now()-Y<500)}else return X.rmdirSync(D,X)}DI.exports=zq;zq.sync=eT});var u3=T((Uq0,ZI)=>{var q10=f0().fromCallback,YI=XI();ZI.exports={remove:q10(YI),removeSync:YI.sync}});var GI=T((Nq0,$I)=>{var $10=f0().fromCallback,wI=ED(),FI=require("path"),BI=K8(),qI=u3(),JI=$10(function(X,Y){Y=Y||function(){},wI.readdir(X,(Z,J)=>{if(Z)return BI.mkdirs(X,Y);J=J.map((w)=>FI.join(X,w)),Q();function Q(){let w=J.pop();if(!w)return Y();qI.remove(w,(F)=>{if(F)return Y(F);Q()})}})});function QI(D){let X;try{X=wI.readdirSync(D)}catch{return BI.mkdirsSync(D)}X.forEach((Y)=>{Y=FI.join(D,Y),qI.removeSync(Y)})}$I.exports={emptyDirSync:QI,emptydirSync:QI,emptyDir:JI,emptydir:JI}});var KI=T((Rq0,HI)=>{var G10=f0().fromCallback,OI=require("path"),a6=ED(),WI=K8();function O10(D,X){function Y(){a6.writeFile(D,"",(Z)=>{if(Z)return X(Z);X()})}a6.stat(D,(Z,J)=>{if(!Z&&J.isFile())return X();let Q=OI.dirname(D);a6.stat(Q,(w,F)=>{if(w){if(w.code==="ENOENT")return WI.mkdirs(Q,(B)=>{if(B)return X(B);Y()});return X(w)}if(F.isDirectory())Y();else a6.readdir(Q,(B)=>{if(B)return X(B)})})})}function W10(D){let X;try{X=a6.statSync(D)}catch{}if(X&&X.isFile())return;let Y=OI.dirname(D);try{if(!a6.statSync(Y).isDirectory())a6.readdirSync(Y)}catch(Z){if(Z&&Z.code==="ENOENT")WI.mkdirsSync(Y);else throw Z}a6.writeFileSync(D,"")}HI.exports={createFile:G10(O10),createFileSync:W10}});var UI=T((Aq0,VI)=>{var H10=f0().fromCallback,MI=require("path"),s9=ED(),LI=K8(),zI=p6().pathExists;function K10(D,X,Y){function Z(J,Q){s9.link(J,Q,(w)=>{if(w)return Y(w);Y(null)})}zI(X,(J,Q)=>{if(J)return Y(J);if(Q)return Y(null);s9.lstat(D,(w)=>{if(w)return w.message=w.message.replace("lstat","ensureLink"),Y(w);let F=MI.dirname(X);zI(F,(B,q)=>{if(B)return Y(B);if(q)return Z(D,X);LI.mkdirs(F,($)=>{if($)return Y($);Z(D,X)})})})})}function z10(D,X){if(s9.existsSync(X))return;try{s9.lstatSync(D)}catch(Q){throw Q.message=Q.message.replace("lstat","ensureLink"),Q}let Z=MI.dirname(X);if(s9.existsSync(Z))return s9.linkSync(D,X);return LI.mkdirsSync(Z),s9.linkSync(D,X)}VI.exports={createLink:H10(K10),createLinkSync:z10}});var RI=T((Eq0,NI)=>{var t6=require("path"),h3=ED(),M10=p6().pathExists;function L10(D,X,Y){if(t6.isAbsolute(D))return h3.lstat(D,(Z)=>{if(Z)return Z.message=Z.message.replace("lstat","ensureSymlink"),Y(Z);return Y(null,{toCwd:D,toDst:D})});else{let Z=t6.dirname(X),J=t6.join(Z,D);return M10(J,(Q,w)=>{if(Q)return Y(Q);if(w)return Y(null,{toCwd:J,toDst:D});else return h3.lstat(D,(F)=>{if(F)return F.message=F.message.replace("lstat","ensureSymlink"),Y(F);return Y(null,{toCwd:D,toDst:t6.relative(Z,D)})})})}}function V10(D,X){let Y;if(t6.isAbsolute(D)){if(Y=h3.existsSync(D),!Y)throw Error("absolute srcpath does not exist");return{toCwd:D,toDst:D}}else{let Z=t6.dirname(X),J=t6.join(Z,D);if(Y=h3.existsSync(J),Y)return{toCwd:J,toDst:D};else{if(Y=h3.existsSync(D),!Y)throw Error("relative srcpath does not exist");return{toCwd:D,toDst:t6.relative(Z,D)}}}}NI.exports={symlinkPaths:L10,symlinkPathsSync:V10}});var CI=T((Cq0,EI)=>{var AI=ED();function U10(D,X,Y){if(Y=typeof X==="function"?X:Y,X=typeof X==="function"?!1:X,X)return Y(null,X);AI.lstat(D,(Z,J)=>{if(Z)return Y(null,"file");X=J&&J.isDirectory()?"dir":"file",Y(null,X)})}function N10(D,X){let Y;if(X)return X;try{Y=AI.lstatSync(D)}catch{return"file"}return Y&&Y.isDirectory()?"dir":"file"}EI.exports={symlinkType:U10,symlinkTypeSync:N10}});var fI=T((jq0,xI)=>{var R10=f0().fromCallback,TI=require("path"),P7=ED(),II=K8(),A10=II.mkdirs,E10=II.mkdirsSync,PI=RI(),C10=PI.symlinkPaths,j10=PI.symlinkPathsSync,SI=CI(),T10=SI.symlinkType,I10=SI.symlinkTypeSync,jI=p6().pathExists;function P10(D,X,Y,Z){Z=typeof Y==="function"?Y:Z,Y=typeof Y==="function"?!1:Y,jI(X,(J,Q)=>{if(J)return Z(J);if(Q)return Z(null);C10(D,X,(w,F)=>{if(w)return Z(w);D=F.toDst,T10(F.toCwd,Y,(B,q)=>{if(B)return Z(B);let $=TI.dirname(X);jI($,(G,W)=>{if(G)return Z(G);if(W)return P7.symlink(D,X,q,Z);A10($,(O)=>{if(O)return Z(O);P7.symlink(D,X,q,Z)})})})})})}function S10(D,X,Y){if(P7.existsSync(X))return;let J=j10(D,X);D=J.toDst,Y=I10(J.toCwd,Y);let Q=TI.dirname(X);if(P7.existsSync(Q))return P7.symlinkSync(D,X,Y);return E10(Q),P7.symlinkSync(D,X,Y)}xI.exports={createSymlink:R10(P10),createSymlinkSync:S10}});var kI=T((Tq0,yI)=>{var j2=KI(),T2=UI(),I2=fI();yI.exports={createFile:j2.createFile,createFileSync:j2.createFileSync,ensureFile:j2.createFile,ensureFileSync:j2.createFileSync,createLink:T2.createLink,createLinkSync:T2.createLinkSync,ensureLink:T2.createLink,ensureLinkSync:T2.createLinkSync,createSymlink:I2.createSymlink,createSymlinkSync:I2.createSymlinkSync,ensureSymlink:I2.createSymlink,ensureSymlinkSync:I2.createSymlinkSync}});var hI=T((Iq0,uI)=>{var P2=nF();uI.exports={readJson:P2.readFile,readJsonSync:P2.readFileSync,writeJson:P2.writeFile,writeJsonSync:P2.writeFileSync}});var S2=T((Pq0,bI)=>{var x10=f0().fromCallback,_3=ED(),_I=require("path"),vI=K8(),f10=p6().pathExists;function y10(D,X,Y,Z){if(typeof Y==="function")Z=Y,Y="utf8";let J=_I.dirname(D);f10(J,(Q,w)=>{if(Q)return Z(Q);if(w)return _3.writeFile(D,X,Y,Z);vI.mkdirs(J,(F)=>{if(F)return Z(F);_3.writeFile(D,X,Y,Z)})})}function k10(D,...X){let Y=_I.dirname(D);if(_3.existsSync(Y))return _3.writeFileSync(D,...X);vI.mkdirsSync(Y),_3.writeFileSync(D,...X)}bI.exports={outputFile:x10(y10),outputFileSync:k10}});var mI=T((Sq0,gI)=>{var{stringify:u10}=G7(),{outputFile:h10}=S2();async function _10(D,X,Y={}){let Z=u10(X,Y);await h10(D,Z,Y)}gI.exports=_10});var cI=T((xq0,dI)=>{var{stringify:v10}=G7(),{outputFileSync:b10}=S2();function g10(D,X,Y){let Z=v10(X,Y);b10(D,Z,Y)}dI.exports=g10});var nI=T((fq0,lI)=>{var m10=f0().fromPromise,H1=hI();H1.outputJson=m10(mI());H1.outputJsonSync=cI();H1.outputJSON=H1.outputJson;H1.outputJSONSync=H1.outputJsonSync;H1.writeJSON=H1.writeJson;H1.writeJSONSync=H1.writeJsonSync;H1.readJSON=H1.readJson;H1.readJSONSync=H1.readJsonSync;lI.exports=H1});var sI=T((yq0,rI)=>{var aI=ED(),d10=require("path"),c10=Wq().copySync,tI=u3().removeSync,l10=K8().mkdirpSync,iI=P3();function n10(D,X,Y){Y=Y||{};let Z=Y.overwrite||Y.clobber||!1,{srcStat:J}=iI.checkPathsSync(D,X,"move");return iI.checkParentPathsSync(D,J,X,"move"),l10(d10.dirname(X)),i10(D,X,Z)}function i10(D,X,Y){if(Y)return tI(X),pI(D,X,Y);if(aI.existsSync(X))throw Error("dest already exists.");return pI(D,X,Y)}function pI(D,X,Y){try{aI.renameSync(D,X)}catch(Z){if(Z.code!=="EXDEV")throw Z;return p10(D,X,Y)}}function p10(D,X,Y){return c10(D,X,{overwrite:Y,errorOnExist:!0}),tI(D)}rI.exports=n10});var eI=T((kq0,oI)=>{oI.exports={moveSync:sI()}});var JP=T((uq0,ZP)=>{var a10=ED(),t10=require("path"),r10=Kq().copy,YP=u3().remove,s10=K8().mkdirp,o10=p6().pathExists,DP=P3();function e10(D,X,Y,Z){if(typeof Y==="function")Z=Y,Y={};let J=Y.overwrite||Y.clobber||!1;DP.checkPaths(D,X,"move",(Q,w)=>{if(Q)return Z(Q);let{srcStat:F}=w;DP.checkParentPaths(D,F,X,"move",(B)=>{if(B)return Z(B);s10(t10.dirname(X),(q)=>{if(q)return Z(q);return D80(D,X,J,Z)})})})}function D80(D,X,Y,Z){if(Y)return YP(X,(J)=>{if(J)return Z(J);return XP(D,X,Y,Z)});o10(X,(J,Q)=>{if(J)return Z(J);if(Q)return Z(Error("dest already exists."));return XP(D,X,Y,Z)})}function XP(D,X,Y,Z){a10.rename(D,X,(J)=>{if(!J)return Z();if(J.code!=="EXDEV")return Z(J);return X80(D,X,Y,Z)})}function X80(D,X,Y,Z){r10(D,X,{overwrite:Y,errorOnExist:!0},(Q)=>{if(Q)return Z(Q);return YP(D,Z)})}ZP.exports=e10});var wP=T((hq0,QP)=>{var Y80=f0().fromCallback;QP.exports={move:Y80(JP())}});var x2=T((_q0,Mq)=>{Mq.exports={...I3(),...Wq(),...Kq(),...GI(),...kI(),...nI(),...K8(),...eI(),...wP(),...S2(),...p6(),...u3()};var FP=require("fs");if(Object.getOwnPropertyDescriptor(FP,"promises"))Object.defineProperty(Mq.exports,"promises",{get(){return FP.promises}})});var Lq=T((S7)=>{Object.defineProperty(S7,"__esModule",{value:!0});S7.readdir=S7.stat=void 0;var BP=x2();async function Z80(D){try{return await BP.stat(D)}catch(X){}}S7.stat=Z80;async function J80(D){try{return await BP.readdir(D)}catch(X){return[]}}S7.readdir=J80});var HP=T((M0)=>{Object.defineProperty(M0,"__esModule",{value:!0});M0.walk=M0.Walker=M0.compilePaths=M0.tmpfilepath=M0.findBaseDirectory=M0.isExecutableFile=M0.pathExecutable=M0.pathWritable=M0.pathReadable=M0.pathExists=M0.pathAccessible=M0.writeStreamToFile=M0.cacheFileChecksum=M0.getFileChecksums=M0.getFileChecksum=M0.fileToString=M0.getFileTree=M0.readdirp=M0.readdirSafe=M0.statSafe=void 0;var Q80=h0(),t1=x2(),w80=require("os"),O6=require("path"),qP=require("stream"),$P=Lq();Q80.__exportStar(x2(),M0);var GP=Lq();Object.defineProperty(M0,"statSafe",{enumerable:!0,get:function(){return GP.stat}});Object.defineProperty(M0,"readdirSafe",{enumerable:!0,get:function(){return GP.readdir}});async function F80(D,{filter:X,onError:Y,walkerOptions:Z}={}){return new Promise((J,Q)=>{let w=[],F=Nq(D,Z);if(X)F=F.pipe(new qP.Transform({objectMode:!0,transform(B,q,$){if(!X||X(B))this.push(B);$()}}));F.on("error",(B)=>Y?Y(B):Q(B)).on("data",(B)=>w.push(B.path)).on("end",()=>J(w))})}M0.readdirp=F80;async function B80(D,{onError:X,onFileNode:Y=(Q)=>Q,onDirectoryNode:Z=(Q)=>Q,walkerOptions:J}={}){let Q=new Map([]),w=(B)=>{let q=O6.dirname(B.path),$=Q.get(q);if($&&$.type==="directory")return $;return Z({path:q,type:"directory",children:[]})},F=(B,q)=>{let $={path:B.path,parent:q};return B.stats.isDirectory()?Z({...$,type:"directory",children:[]}):Y({...$,type:"file"})};return new Promise((B,q)=>{D=O6.resolve(D),Nq(D,J).on("error",(G)=>X?X(G):q(G)).on("data",(G)=>{let W=w(G),O=F(G,W);W.children.push(O),Q.set(G.path,O),Q.set(W.path,W)}).on("end",()=>{let G=Q.get(D);if(!G)return q(Error("No root node found after walking directory structure."));delete G.parent,B(G)})})}M0.getFileTree=B80;async function q80(D){try{return await t1.readFile(D,{encoding:"utf8"})}catch(X){if(X.code==="ENOENT"||X.code==="ENOTDIR")return"";throw X}}M0.fileToString=q80;async function Vq(D){let X=await Promise.resolve().then(()=>require("crypto"));return new Promise((Y,Z)=>{let J=X.createHash("md5"),Q=t1.createReadStream(D);Q.on("error",(w)=>{Z(w)}),J.once("readable",()=>{let w=J.read().toString("hex");Y(w)}),Q.pipe(J)})}M0.getFileChecksum=Vq;async function $80(D){return Promise.all([Vq(D),(async()=>{try{return(await t1.readFile(`${D}.md5`,{encoding:"utf8"})).trim()}catch(X){if(X.code!=="ENOENT")throw X}})()])}M0.getFileChecksums=$80;async function G80(D,X){let Y=await Vq(D);await t1.writeFile(`${D}.md5`,Y,{encoding:"utf8"})}M0.cacheFileChecksum=G80;function O80(D,X){return new Promise((Y,Z)=>{let J=t1.createWriteStream(X);D.pipe(J),J.on("error",Z),J.on("finish",Y)})}M0.writeStreamToFile=O80;async function v3(D,X){try{await t1.access(D,X)}catch(Y){return!1}return!0}M0.pathAccessible=v3;async function W80(D){return v3(D,t1.constants.F_OK)}M0.pathExists=W80;async function H80(D){return v3(D,t1.constants.R_OK)}M0.pathReadable=H80;async function K80(D){return v3(D,t1.constants.W_OK)}M0.pathWritable=K80;async function OP(D){return v3(D,t1.constants.X_OK)}M0.pathExecutable=OP;async function z80(D){let[X,Y]=await Promise.all([$P.stat(D),OP(D)]);return!!X&&(X.isFile()||X.isSymbolicLink())&&Y}M0.isExecutableFile=z80;async function M80(D,X){if(!D||!X)return;for(let Y of WP(D))if((await $P.readdir(Y)).includes(X))return Y}M0.findBaseDirectory=M80;function L80(D){let X=Math.random().toString(16).substring(2,8);return O6.resolve(w80.tmpdir(),D?`${D}-${X}`:X)}M0.tmpfilepath=L80;function WP(D){if(D=O6.normalize(D),!O6.isAbsolute(D))throw Error(`${D} is not an absolute path`);let X=O6.parse(D);if(D===X.root)return[D];return D.slice(X.root.length).split(O6.sep).map((Y,Z,J)=>X.root+O6.join(...J.slice(0,J.length-Z))).concat(X.root)}M0.compilePaths=WP;class Uq extends qP.Readable{constructor(D,X={}){super({objectMode:!0});this.p=D,this.options=X,this.paths=[this.p]}_read(){let D=this.paths.shift(),{pathFilter:X}=this.options;if(!D){this.push(null);return}t1.lstat(D,(Y,Z)=>{if(Y){this.emit("error",Y);return}let J={path:D,stats:Z};if(Z.isDirectory())t1.readdir(D,(Q,w)=>{if(Q){this.emit("error",Q);return}let F=w.map((B)=>O6.join(D,B));if(X)F=F.filter((B)=>X(B.substring(this.p.length+1)));this.paths.push(...F),this.push(J)});else this.push(J)})}}M0.Walker=Uq;function Nq(D,X={}){return new Uq(D,X)}M0.walk=Nq});var zP=T((W6)=>{Object.defineProperty(W6,"__esModule",{value:!0});W6.AliasedMap=W6.CaseInsensitiveProxyHandler=W6.createCaseInsensitiveObject=void 0;function V80(){return new Proxy({},W6.CaseInsensitiveProxyHandler)}W6.createCaseInsensitiveObject=V80;W6.CaseInsensitiveProxyHandler={has:(D,X)=>{return f2(X)in D},get:(D,X)=>{return D[f2(X)]},set:(D,X,Y)=>{return D[f2(X)]=Y,!0},deleteProperty:(D,X)=>{return delete D[f2(X)]}};var f2=(D)=>typeof D==="string"?D.toLowerCase():D;class KP extends Map{getAliases(){let D=new Map;return[...this.entries()].filter(([,Y])=>typeof Y==="string"||typeof Y==="symbol").forEach(([Y,Z])=>{let J=D.get(Z)||[];J.push(Y),D.set(Z,J)}),D}resolveAlias(D){let X=this.get(D);if(typeof X!=="string"&&typeof X!=="symbol")return X;return this.resolveAlias(X)}keysWithoutAliases(){return[...this.entries()].filter((D)=>typeof D[1]!=="string"&&typeof D[1]!=="symbol").map(([D,X])=>D)}}W6.AliasedMap=KP});var RP=T((mq0,NP)=>{var UP=require("child_process"),MP=UP.spawn,U80=UP.exec;NP.exports=function(D,X,Y){if(typeof X==="function"&&Y===void 0)Y=X,X=void 0;if(D=parseInt(D),Number.isNaN(D))if(Y)return Y(Error("pid must be a number"));else throw Error("pid must be a number");var Z={},J={};switch(Z[D]=[],J[D]=1,process.platform){case"win32":U80("taskkill /pid "+D+" /T /F",Y);break;case"darwin":Rq(D,Z,J,function(Q){return MP("pgrep",["-P",Q])},function(){LP(Z,X,Y)});break;default:Rq(D,Z,J,function(Q){return MP("ps",["-o","pid","--no-headers","--ppid",Q])},function(){LP(Z,X,Y)});break}};function LP(D,X,Y){var Z={};try{Object.keys(D).forEach(function(J){if(D[J].forEach(function(Q){if(!Z[Q])VP(Q,X),Z[Q]=1}),!Z[J])VP(J,X),Z[J]=1})}catch(J){if(Y)return Y(J);else throw J}if(Y)return Y()}function VP(D,X){try{process.kill(parseInt(D,10),X)}catch(Y){if(Y.code!=="ESRCH")throw Y}}function Rq(D,X,Y,Z,J){var Q=Z(D),w="";Q.stdout.on("data",function(q){var q=q.toString("ascii");w+=q});var F=function(B){if(delete Y[D],B!=0){if(Object.keys(Y).length==0)J();return}w.match(/\d+/g).forEach(function(q){q=parseInt(q,10),X[D].push(q),X[q]=[],Y[q]=1,Rq(q,X,Y,Z,J)})};Q.on("close",F)}});var CP=T((ZD)=>{Object.defineProperty(ZD,"__esModule",{value:!0});ZD.processExit=ZD.offBeforeExit=ZD.onBeforeExit=ZD.onExit=ZD.sleepForever=ZD.sleepUntil=ZD.sleep=ZD.getPathParts=ZD.createProcessEnv=ZD.killProcessTree=ZD.ERROR_TIMEOUT_REACHED=void 0;var Aq=h0(),N80=zP(),R80=v6(),A80=zZ(),E80=Aq.__importStar(require("path")),C80=Aq.__importDefault(QZ()),j80=Aq.__importDefault(RP()),o9=(0,A80.debug)("ionic:utils-process");ZD.ERROR_TIMEOUT_REACHED=Error("TIMEOUT_REACHED");function T80(D,X="SIGTERM"){return new Promise((Y,Z)=>{(0,j80.default)(D,X,(J)=>{if(J)return o9("error while killing process tree for %d: %O",D,J),Z(J);Y()})})}ZD.killProcessTree=T80;function I80(...D){return Object.assign(R80.TERMINAL_INFO.windows?(0,N80.createCaseInsensitiveObject)():{},...D)}ZD.createProcessEnv=I80;function P80(D=process.env.PATH||""){return D.split(E80.delimiter)}ZD.getPathParts=P80;async function AP(D){return new Promise((X)=>{setTimeout(X,D)})}ZD.sleep=AP;async function S80(D,{interval:X=30,timeout:Y=1/0}){let Z=0;while(!D())if(await AP(X),Z+=X,Z>Y)throw ZD.ERROR_TIMEOUT_REACHED}ZD.sleepUntil=S80;async function x80(){return new Promise(()=>{setInterval(()=>{},1000)})}ZD.sleepForever=x80;function f80(D){(0,C80.default)(()=>{o9("onExit: process.exit/normal shutdown"),D()})}ZD.onExit=f80;var y2=new Set;function y80(D){y2.add(D)}ZD.onBeforeExit=y80;function k80(D){y2.delete(D)}ZD.offBeforeExit=k80;var u80=(D)=>{let X=!1;return async()=>{if(!X)await D(),X=!0}},b3=(D)=>u80(async()=>{if(o9("onBeforeExit handler: %O received",D),o9("onBeforeExit handler: running %O functions",y2.size),await Promise.all([...y2.values()].map(async(X)=>{try{await X()}catch(Y){o9("onBeforeExit handler: error from function: %O",Y)}})),D!=="process.exit")o9("onBeforeExit handler: killing self (exit code %O, signal %O)",process.exitCode?process.exitCode:0,D),process.removeListener(D,EP[D]),process.kill(process.pid,D)}),EP={SIGINT:b3("SIGINT"),SIGTERM:b3("SIGTERM"),SIGHUP:b3("SIGHUP"),SIGBREAK:b3("SIGBREAK")};for(let[D,X]of Object.entries(EP))process.on(D,X);var h80=b3("process.exit");async function _80(D=0){process.exitCode=D,await h80(),o9("processExit: exiting (exit code: %O)",process.exitCode),process.exit()}ZD.processExit=_80});var xP=T((b8)=>{Object.defineProperty(b8,"__esModule",{value:!0});b8.growBufferForAppendedData=b8.WritableStreamBuffer=b8.ReadableStreamBuffer=b8.NullStream=void 0;var Eq=require("stream"),v80=4,jP=32,TP=16;class IP extends Eq.Writable{_write(D,X,Y){Y()}}b8.NullStream=IP;class PP extends Eq.Readable{constructor(D){super(D);this._size=0,this._stopped=!1,this.buffer=Buffer.alloc(D&&D.allocSize?D.allocSize:jP),this.chunkSize=D&&D.chunkSize?D.chunkSize:v80,this.growSize=D&&D.growSize?D.growSize:TP}get size(){return this._size}get stopped(){return this._stopped}_read(){this._send()}feed(D,X="utf8"){if(this._stopped)throw Error("ReadableStreamBuffer is stopped. Can no longer feed.");let Y=typeof D==="string"?Buffer.byteLength(D):D.length;if(this.buffer=Cq(this.buffer,this._size,Math.ceil(Y/this.growSize)*this.growSize),typeof D==="string")this.buffer.write(D,this._size,Y,X);else this.buffer.copy(D,this._size,0);this._size+=Y}stop(){if(this._stopped)return;if(this._stopped=!0,this._size===0)this.push(null)}_send(){let D=Math.min(this.chunkSize,this._size),X=!1;if(D>0){let Y=Buffer.alloc(D);this.buffer.copy(Y,0,0,D),X=!this.push(Y),this.buffer.copy(this.buffer,0,D,this._size),this._size-=D}if(this._size===0&&this._stopped)this.push(null);if(!X)setTimeout(()=>this._send(),1)}}b8.ReadableStreamBuffer=PP;class SP extends Eq.Writable{constructor(D){super(D);this._size=0,this.buffer=Buffer.alloc(D&&D.allocSize?D.allocSize:jP),this.growSize=D&&D.growSize?D.growSize:TP}get size(){return this._size}_write(D,X,Y){this.buffer=Cq(this.buffer,this._size,Math.ceil(D.length/this.growSize)*this.growSize),D.copy(this.buffer,this._size,0),this._size+=D.length,Y()}consume(D){D=typeof D==="number"?D:this._size;let X=Buffer.alloc(D);return this.buffer.copy(X,0,0,X.length),this.buffer.copy(this.buffer,0,X.length),this._size-=X.length,X}}b8.WritableStreamBuffer=SP;function Cq(D,X,Y){if(D.length-X>=Y)return D;let Z=Buffer.alloc(D.length+Y);return D.copy(Z,0,0,X),Z}b8.growBufferForAppendedData=Cq});var hP=T((lq0,uP)=>{uP.exports=kP;kP.sync=g80;var fP=require("fs");function b80(D,X){var Y=X.pathExt!==void 0?X.pathExt:process.env.PATHEXT;if(!Y)return!0;if(Y=Y.split(";"),Y.indexOf("")!==-1)return!0;for(var Z=0;Z<Y.length;Z++){var J=Y[Z].toLowerCase();if(J&&D.substr(-J.length).toLowerCase()===J)return!0}return!1}function yP(D,X,Y){if(!D.isSymbolicLink()&&!D.isFile())return!1;return b80(X,Y)}function kP(D,X,Y){fP.stat(D,function(Z,J){Y(Z,Z?!1:yP(J,D,X))})}function g80(D,X){return yP(fP.statSync(D),D,X)}});var mP=T((nq0,gP)=>{gP.exports=vP;vP.sync=m80;var _P=require("fs");function vP(D,X,Y){_P.stat(D,function(Z,J){Y(Z,Z?!1:bP(J,X))})}function m80(D,X){return bP(_P.statSync(D),X)}function bP(D,X){return D.isFile()&&d80(D,X)}function d80(D,X){var{mode:Y,uid:Z,gid:J}=D,Q=X.uid!==void 0?X.uid:process.getuid&&process.getuid(),w=X.gid!==void 0?X.gid:process.getgid&&process.getgid(),F=parseInt("100",8),B=parseInt("010",8),q=parseInt("001",8),$=F|B,G=Y&q||Y&B&&J===w||Y&F&&Z===Q||Y&$&&Q===0;return G}});var cP=T((pq0,dP)=>{var iq0=require("fs"),k2;if(process.platform==="win32"||global.TESTING_WINDOWS)k2=hP();else k2=mP();dP.exports=jq;jq.sync=c80;function jq(D,X,Y){if(typeof X==="function")Y=X,X={};if(!Y){if(typeof Promise!=="function")throw TypeError("callback not provided");return new Promise(function(Z,J){jq(D,X||{},function(Q,w){if(Q)J(Q);else Z(w)})})}k2(D,X||{},function(Z,J){if(Z){if(Z.code==="EACCES"||X&&X.ignoreErrors)Z=null,J=!1}Y(Z,J)})}function c80(D,X){try{return k2.sync(D,X||{})}catch(Y){if(X&&X.ignoreErrors||Y.code==="EACCES")return!1;else throw Y}}});var rP=T((aq0,tP)=>{var x7=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",lP=require("path"),l80=x7?";":":",nP=cP(),iP=(D)=>Object.assign(Error(`not found: ${D}`),{code:"ENOENT"}),pP=(D,X)=>{let Y=X.colon||l80,Z=D.match(/\//)||x7&&D.match(/\\/)?[""]:[...x7?[process.cwd()]:[],...(X.path||process.env.PATH||"").split(Y)],J=x7?X.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",Q=x7?J.split(Y):[""];if(x7){if(D.indexOf(".")!==-1&&Q[0]!=="")Q.unshift("")}return{pathEnv:Z,pathExt:Q,pathExtExe:J}},aP=(D,X,Y)=>{if(typeof X==="function")Y=X,X={};if(!X)X={};let{pathEnv:Z,pathExt:J,pathExtExe:Q}=pP(D,X),w=[],F=(q)=>new Promise(($,G)=>{if(q===Z.length)return X.all&&w.length?$(w):G(iP(D));let W=Z[q],O=/^".*"$/.test(W)?W.slice(1,-1):W,H=lP.join(O,D),M=!O&&/^\.[\\\/]/.test(D)?D.slice(0,2)+H:H;$(B(M,q,0))}),B=(q,$,G)=>new Promise((W,O)=>{if(G===J.length)return W(F($+1));let H=J[G];nP(q+H,{pathExt:Q},(M,U)=>{if(!M&&U)if(X.all)w.push(q+H);else return W(q+H);return W(B(q,$,G+1))})});return Y?F(0).then((q)=>Y(null,q),Y):F(0)},n80=(D,X)=>{X=X||{};let{pathEnv:Y,pathExt:Z,pathExtExe:J}=pP(D,X),Q=[];for(let w=0;w<Y.length;w++){let F=Y[w],B=/^".*"$/.test(F)?F.slice(1,-1):F,q=lP.join(B,D),$=!B&&/^\.[\\\/]/.test(D)?D.slice(0,2)+q:q;for(let G=0;G<Z.length;G++){let W=$+Z[G];try{if(nP.sync(W,{pathExt:J}))if(X.all)Q.push(W);else return W}catch(O){}}}if(X.all&&Q.length)return Q;if(X.nothrow)return null;throw iP(D)};tP.exports=aP;aP.sync=n80});var oP=T((tq0,Tq)=>{var sP=(D={})=>{let X=D.env||process.env;if((D.platform||process.platform)!=="win32")return"PATH";return Object.keys(X).reverse().find((Z)=>Z.toUpperCase()==="PATH")||"Path"};Tq.exports=sP;Tq.exports.default=sP});var YS=T((rq0,XS)=>{var eP=require("path"),i80=rP(),p80=oP();function DS(D,X){let Y=D.options.env||process.env,Z=process.cwd(),J=D.options.cwd!=null,Q=J&&process.chdir!==void 0&&!process.chdir.disabled;if(Q)try{process.chdir(D.options.cwd)}catch(F){}let w;try{w=i80.sync(D.command,{path:Y[p80({env:Y})],pathExt:X?eP.delimiter:void 0})}catch(F){}finally{if(Q)process.chdir(Z)}if(w)w=eP.resolve(J?D.options.cwd:"",w);return w}function a80(D){return DS(D)||DS(D,!0)}XS.exports=a80});var ZS=T((sq0,Pq)=>{var Iq=/([()\][%!^"`<>&|;, *?])/g;function t80(D){return D=D.replace(Iq,"^$1"),D}function r80(D,X){if(D=`${D}`,D=D.replace(/(?=(\\+?)?)\1"/g,"$1$1\\\""),D=D.replace(/(?=(\\+?)?)\1$/,"$1$1"),D=`"${D}"`,D=D.replace(Iq,"^$1"),X)D=D.replace(Iq,"^$1");return D}Pq.exports.command=t80;Pq.exports.argument=r80});var QS=T((oq0,JS)=>{JS.exports=/^#!(.*)/});var FS=T((eq0,wS)=>{var s80=QS();wS.exports=(D="")=>{let X=D.match(s80);if(!X)return null;let[Y,Z]=X[0].replace(/#! ?/,"").split(" "),J=Y.split("/").pop();if(J==="env")return Z;return Z?`${J} ${Z}`:J}});var qS=T((D$0,BS)=>{var Sq=require("fs"),o80=FS();function e80(D){let Y=Buffer.alloc(150),Z;try{Z=Sq.openSync(D,"r"),Sq.readSync(Z,Y,0,150,0),Sq.closeSync(Z)}catch(J){}return o80(Y.toString())}BS.exports=e80});var WS=T((X$0,OS)=>{var D60=require("path"),$S=YS(),GS=ZS(),X60=qS(),Y60=process.platform==="win32",Z60=/\.(?:com|exe)$/i,J60=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Q60(D){D.file=$S(D);let X=D.file&&X60(D.file);if(X)return D.args.unshift(D.file),D.command=X,$S(D);return D.file}function w60(D){if(!Y60)return D;let X=Q60(D),Y=!Z60.test(X);if(D.options.forceShell||Y){let Z=J60.test(X);D.command=D60.normalize(D.command),D.command=GS.command(D.command),D.args=D.args.map((Q)=>GS.argument(Q,Z));let J=[D.command].concat(D.args).join(" ");D.args=["/d","/s","/c",`"${J}"`],D.command=process.env.comspec||"cmd.exe",D.options.windowsVerbatimArguments=!0}return D}function F60(D,X,Y){if(X&&!Array.isArray(X))Y=X,X=null;X=X?X.slice(0):[],Y=Object.assign({},Y);let Z={command:D,args:X,options:Y,file:void 0,original:{command:D,args:X}};return Y.shell?Z:w60(Z)}OS.exports=F60});var zS=T((Y$0,KS)=>{var xq=process.platform==="win32";function fq(D,X){return Object.assign(Error(`${X} ${D.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${X} ${D.command}`,path:D.command,spawnargs:D.args})}function B60(D,X){if(!xq)return;let Y=D.emit;D.emit=function(Z,J){if(Z==="exit"){let Q=HS(J,X);if(Q)return Y.call(D,"error",Q)}return Y.apply(D,arguments)}}function HS(D,X){if(xq&&D===1&&!X.file)return fq(X.original,"spawn");return null}function q60(D,X){if(xq&&D===1&&!X.file)return fq(X.original,"spawnSync");return null}KS.exports={hookChildProcess:B60,verifyENOENT:HS,verifyENOENTSync:q60,notFoundError:fq}});var VS=T((Z$0,f7)=>{var MS=require("child_process"),yq=WS(),kq=zS();function LS(D,X,Y){let Z=yq(D,X,Y),J=MS.spawn(Z.command,Z.args,Z.options);return kq.hookChildProcess(J,Z),J}function $60(D,X,Y){let Z=yq(D,X,Y),J=MS.spawnSync(Z.command,Z.args,Z.options);return J.error=J.error||kq.verifyENOENTSync(J.status,Z),J}f7.exports=LS;f7.exports.spawn=LS;f7.exports.sync=$60;f7.exports._parse=yq;f7.exports._enoent=kq});var TS=T((y0)=>{Object.defineProperty(y0,"__esModule",{value:!0});y0.findExecutables=y0.which=y0.fork=y0.spawn=y0.Subprocess=y0.SubprocessError=y0.convertPATH=y0.expandTildePath=y0.TILDE_PATH_REGEX=y0.ERROR_SIGNAL_EXIT=y0.ERROR_NON_ZERO_EXIT=y0.ERROR_COMMAND_NOT_FOUND=void 0;var hq=h0(),US=KT(),G60=HP(),uq=CP(),u2=xP(),NS=v6(),O60=require("child_process"),W60=hq.__importDefault(VS()),H60=hq.__importStar(require("os")),e9=hq.__importStar(require("path"));y0.ERROR_COMMAND_NOT_FOUND="ERR_SUBPROCESS_COMMAND_NOT_FOUND";y0.ERROR_NON_ZERO_EXIT="ERR_SUBPROCESS_NON_ZERO_EXIT";y0.ERROR_SIGNAL_EXIT="ERR_SUBPROCESS_SIGNAL_EXIT";y0.TILDE_PATH_REGEX=/^~($|\/|\\)/;function RS(D){let X=H60.homedir();return D.replace(y0.TILDE_PATH_REGEX,`${X}$1`)}y0.expandTildePath=RS;function AS(D=process.env.PATH||""){return D.split(e9.delimiter).map(RS).join(e9.delimiter)}y0.convertPATH=AS;class y7 extends Error{constructor(){super(...arguments);this.name="SubprocessError"}}y0.SubprocessError=y7;class ES{constructor(D,X,Y={}){this.name=D,this.args=X;let Z=this.maskArg(D);if(Z!==D)this.name=Z,this.path=D;this._options=Y}get options(){let D=this._options;if(!D.env)D.env=process.env;let X=(0,uq.createProcessEnv)(D.env||{},{PATH:AS(typeof D.env.PATH==="string"?D.env.PATH:process.env.PATH)});return{...D,env:X}}async output(){this._options.stdio="pipe";let D=this.run(),X=new u2.WritableStreamBuffer,Y=new u2.WritableStreamBuffer,Z=new u2.WritableStreamBuffer;D.p.stdout?.pipe(X),D.p.stdout?.pipe(Z),D.p.stderr?.pipe(Y),D.p.stderr?.pipe(Z);try{await D}catch(J){throw X.end(),Y.end(),J.output=Z.consume().toString(),J}return Y.end(),Z.end(),X.consume().toString()}async combinedOutput(){this._options.stdio="pipe";let D=this.run(),X=new u2.WritableStreamBuffer;D.p.stdout?.pipe(X),D.p.stderr?.pipe(X);try{await D}catch(Y){throw Y.output=X.consume().toString(),Y}return X.consume().toString()}run(){let D=this.spawn(),X=new Promise((Y,Z)=>{D.on("error",(J)=>{let Q;if(J.code==="ENOENT")Q=new y7("Command not found.",{cause:J}),Q.code=y0.ERROR_COMMAND_NOT_FOUND;else Q=new y7("Command error.",{cause:J});Z(Q)}),D.on("close",(J,Q)=>{let w;if(J===0)return Y();else if(Q)w=new y7("Signal exit from subprocess."),w.code=y0.ERROR_SIGNAL_EXIT,w.signal=Q;else if(J)w=new y7("Non-zero exit from subprocess."),w.code=y0.ERROR_NON_ZERO_EXIT,w.exitCode=J;else return Y();Z(w)})});return Object.defineProperties(X,{p:{value:D}}),X}spawn(){return CS(this.path?this.path:this.name,this.args,this.options)}bashify({maskArgv0:D=!0,maskArgv1:X=!1,shiftArgv0:Y=!1}={}){let Z=[this.path?this.path:this.name,...this.args];if(Y)Z.shift();if(Z[0]&&D)Z[0]=this.maskArg(Z[0]);if(Z[1]&&X)Z[1]=this.maskArg(Z[1]);return Z.length>0?Z.map((J)=>this.bashifyArg(J)).join(" "):""}bashifyArg(D){return D.includes(" ")?`"${D.replace(/\"/g,"\\\"")}"`:D}maskArg(D){let X=D.lastIndexOf(e9.sep);return X>=0?D.substring(X+1):D}}y0.Subprocess=ES;function CS(D,X=[],Y){return(0,W60.default)(D,[...X],Y)}y0.spawn=CS;function K60(D,X=[],Y={}){return(0,O60.fork)(D,[...X],Y)}y0.fork=K60;var _q=NS.TERMINAL_INFO.windows?".COM;.EXE;.BAT;.CMD":void 0;async function z60(D,{PATH:X=process.env.PATH,PATHEXT:Y=process.env.PATHEXT||_q}={}){if(D.includes(e9.sep))return D;let Z=await jS(D,{PATH:X});if(!Z.length){let J=Error(`${D} cannot be found within PATH`);throw J.code="ENOENT",J}return Z[0]}y0.which=z60;async function M60(D,{PATH:X=process.env.PATH,PATHEXT:Y=process.env.PATHEXT||_q}={}){if(D.includes(e9.sep))return[D];return jS(D,{PATH:X})}y0.findExecutables=M60;async function jS(D,{PATH:X=process.env.PATH,PATHEXT:Y=process.env.PATHEXT||_q}={}){let Z=(0,uq.getPathParts)(X),J;if(NS.TERMINAL_INFO.windows){let Q=(0,uq.getPathParts)(Y).map((w)=>w.toLowerCase());J=Q.includes(e9.extname(D).toLowerCase())?[D]:Q.map((w)=>D+w)}else J=[D];return[].concat(...await(0,US.map)(J,async(Q)=>(0,US.concurrentFilter)(Z.map((w)=>e9.join(w,Q)),async(w)=>(0,G60.isExecutableFile)(w))))}});var h2=T((r6)=>{Object.defineProperty(r6,"__esModule",{value:!0});r6.isInstalled=r6.getCommandOutput=r6.runCommand=void 0;var vq=TS();async function IS(D,X,Y={}){let Z=new vq.Subprocess(D,X,Y);try{return await Z.output()}catch(J){if(J instanceof vq.SubprocessError)throw J.output?J.output:J.cause?`${J.message} ${J.cause.toString()}`:J.code?J.code:"Unknown error";throw J}}r6.runCommand=IS;async function L60(D,X,Y={}){try{return(await IS(D,X,Y)).trim()}catch(Z){return null}}r6.getCommandOutput=L60;async function V60(D){try{await(0,vq.which)(D)}catch(X){return!1}return!0}r6.isInstalled=V60});var g3=T((w$0,PS)=>{var U60=Number.MAX_SAFE_INTEGER||9007199254740991,N60=["major","premajor","minor","preminor","patch","prepatch","prerelease"];PS.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:U60,RELEASE_TYPES:N60,SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var m3=T((F$0,SS)=>{var R60=typeof process==="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...D)=>console.error("SEMVER",...D):()=>{};SS.exports=R60});var k7=T((g8,xS)=>{var{MAX_SAFE_COMPONENT_LENGTH:bq,MAX_SAFE_BUILD_LENGTH:A60,MAX_LENGTH:E60}=g3(),C60=m3();g8=xS.exports={};var j60=g8.re=[],T60=g8.safeRe=[],D0=g8.src=[],I60=g8.safeSrc=[],X0=g8.t={},P60=0,gq="[a-zA-Z0-9-]",S60=[["\\s",1],["\\d",E60],[gq,A60]],x60=(D)=>{for(let[X,Y]of S60)D=D.split(`${X}*`).join(`${X}{0,${Y}}`).split(`${X}+`).join(`${X}{1,${Y}}`);return D},L0=(D,X,Y)=>{let Z=x60(X),J=P60++;C60(D,J,X),X0[D]=J,D0[J]=X,I60[J]=Z,j60[J]=new RegExp(X,Y?"g":void 0),T60[J]=new RegExp(Z,Y?"g":void 0)};L0("NUMERICIDENTIFIER","0|[1-9]\\d*");L0("NUMERICIDENTIFIERLOOSE","\\d+");L0("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${gq}*`);L0("MAINVERSION",`(${D0[X0.NUMERICIDENTIFIER]})\\.(${D0[X0.NUMERICIDENTIFIER]})\\.(${D0[X0.NUMERICIDENTIFIER]})`);L0("MAINVERSIONLOOSE",`(${D0[X0.NUMERICIDENTIFIERLOOSE]})\\.(${D0[X0.NUMERICIDENTIFIERLOOSE]})\\.(${D0[X0.NUMERICIDENTIFIERLOOSE]})`);L0("PRERELEASEIDENTIFIER",`(?:${D0[X0.NONNUMERICIDENTIFIER]}|${D0[X0.NUMERICIDENTIFIER]})`);L0("PRERELEASEIDENTIFIERLOOSE",`(?:${D0[X0.NONNUMERICIDENTIFIER]}|${D0[X0.NUMERICIDENTIFIERLOOSE]})`);L0("PRERELEASE",`(?:-(${D0[X0.PRERELEASEIDENTIFIER]}(?:\\.${D0[X0.PRERELEASEIDENTIFIER]})*))`);L0("PRERELEASELOOSE",`(?:-?(${D0[X0.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${D0[X0.PRERELEASEIDENTIFIERLOOSE]})*))`);L0("BUILDIDENTIFIER",`${gq}+`);L0("BUILD",`(?:\\+(${D0[X0.BUILDIDENTIFIER]}(?:\\.${D0[X0.BUILDIDENTIFIER]})*))`);L0("FULLPLAIN",`v?${D0[X0.MAINVERSION]}${D0[X0.PRERELEASE]}?${D0[X0.BUILD]}?`);L0("FULL",`^${D0[X0.FULLPLAIN]}$`);L0("LOOSEPLAIN",`[v=\\s]*${D0[X0.MAINVERSIONLOOSE]}${D0[X0.PRERELEASELOOSE]}?${D0[X0.BUILD]}?`);L0("LOOSE",`^${D0[X0.LOOSEPLAIN]}$`);L0("GTLT","((?:<|>)?=?)");L0("XRANGEIDENTIFIERLOOSE",`${D0[X0.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);L0("XRANGEIDENTIFIER",`${D0[X0.NUMERICIDENTIFIER]}|x|X|\\*`);L0("XRANGEPLAIN",`[v=\\s]*(${D0[X0.XRANGEIDENTIFIER]})(?:\\.(${D0[X0.XRANGEIDENTIFIER]})(?:\\.(${D0[X0.XRANGEIDENTIFIER]})(?:${D0[X0.PRERELEASE]})?${D0[X0.BUILD]}?)?)?`);L0("XRANGEPLAINLOOSE",`[v=\\s]*(${D0[X0.XRANGEIDENTIFIERLOOSE]})(?:\\.(${D0[X0.XRANGEIDENTIFIERLOOSE]})(?:\\.(${D0[X0.XRANGEIDENTIFIERLOOSE]})(?:${D0[X0.PRERELEASELOOSE]})?${D0[X0.BUILD]}?)?)?`);L0("XRANGE",`^${D0[X0.GTLT]}\\s*${D0[X0.XRANGEPLAIN]}$`);L0("XRANGELOOSE",`^${D0[X0.GTLT]}\\s*${D0[X0.XRANGEPLAINLOOSE]}$`);L0("COERCEPLAIN",`(^|[^\\d])(\\d{1,${bq}})(?:\\.(\\d{1,${bq}}))?(?:\\.(\\d{1,${bq}}))?`);L0("COERCE",`${D0[X0.COERCEPLAIN]}(?:$|[^\\d])`);L0("COERCEFULL",D0[X0.COERCEPLAIN]+`(?:${D0[X0.PRERELEASE]})?(?:${D0[X0.BUILD]})?(?:$|[^\\d])`);L0("COERCERTL",D0[X0.COERCE],!0);L0("COERCERTLFULL",D0[X0.COERCEFULL],!0);L0("LONETILDE","(?:~>?)");L0("TILDETRIM",`(\\s*)${D0[X0.LONETILDE]}\\s+`,!0);g8.tildeTrimReplace="$1~";L0("TILDE",`^${D0[X0.LONETILDE]}${D0[X0.XRANGEPLAIN]}$`);L0("TILDELOOSE",`^${D0[X0.LONETILDE]}${D0[X0.XRANGEPLAINLOOSE]}$`);L0("LONECARET","(?:\\^)");L0("CARETTRIM",`(\\s*)${D0[X0.LONECARET]}\\s+`,!0);g8.caretTrimReplace="$1^";L0("CARET",`^${D0[X0.LONECARET]}${D0[X0.XRANGEPLAIN]}$`);L0("CARETLOOSE",`^${D0[X0.LONECARET]}${D0[X0.XRANGEPLAINLOOSE]}$`);L0("COMPARATORLOOSE",`^${D0[X0.GTLT]}\\s*(${D0[X0.LOOSEPLAIN]})$|^$`);L0("COMPARATOR",`^${D0[X0.GTLT]}\\s*(${D0[X0.FULLPLAIN]})$|^$`);L0("COMPARATORTRIM",`(\\s*)${D0[X0.GTLT]}\\s*(${D0[X0.LOOSEPLAIN]}|${D0[X0.XRANGEPLAIN]})`,!0);g8.comparatorTrimReplace="$1$2$3";L0("HYPHENRANGE",`^\\s*(${D0[X0.XRANGEPLAIN]})\\s+-\\s+(${D0[X0.XRANGEPLAIN]})\\s*$`);L0("HYPHENRANGELOOSE",`^\\s*(${D0[X0.XRANGEPLAINLOOSE]})\\s+-\\s+(${D0[X0.XRANGEPLAINLOOSE]})\\s*$`);L0("STAR","(<|>)?=?\\s*\\*");L0("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");L0("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var _2=T((B$0,fS)=>{var f60=Object.freeze({loose:!0}),y60=Object.freeze({}),k60=(D)=>{if(!D)return y60;if(typeof D!=="object")return f60;return D};fS.exports=k60});var mq=T((q$0,uS)=>{var yS=/^[0-9]+$/,kS=(D,X)=>{if(typeof D==="number"&&typeof X==="number")return D===X?0:D<X?-1:1;let Y=yS.test(D),Z=yS.test(X);if(Y&&Z)D=+D,X=+X;return D===X?0:Y&&!Z?-1:Z&&!Y?1:D<X?-1:1},u60=(D,X)=>kS(X,D);uS.exports={compareIdentifiers:kS,rcompareIdentifiers:u60}});var Z1=T(($$0,_S)=>{var v2=m3(),{MAX_LENGTH:hS,MAX_SAFE_INTEGER:b2}=g3(),{safeRe:g2,t:m2}=k7(),h60=_2(),{compareIdentifiers:dq}=mq();class z8{constructor(D,X){if(X=h60(X),D instanceof z8)if(D.loose===!!X.loose&&D.includePrerelease===!!X.includePrerelease)return D;else D=D.version;else if(typeof D!=="string")throw TypeError(`Invalid version. Must be a string. Got type "${typeof D}".`);if(D.length>hS)throw TypeError(`version is longer than ${hS} characters`);v2("SemVer",D,X),this.options=X,this.loose=!!X.loose,this.includePrerelease=!!X.includePrerelease;let Y=D.trim().match(X.loose?g2[m2.LOOSE]:g2[m2.FULL]);if(!Y)throw TypeError(`Invalid Version: ${D}`);if(this.raw=D,this.major=+Y[1],this.minor=+Y[2],this.patch=+Y[3],this.major>b2||this.major<0)throw TypeError("Invalid major version");if(this.minor>b2||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>b2||this.patch<0)throw TypeError("Invalid patch version");if(!Y[4])this.prerelease=[];else this.prerelease=Y[4].split(".").map((Z)=>{if(/^[0-9]+$/.test(Z)){let J=+Z;if(J>=0&&J<b2)return J}return Z});this.build=Y[5]?Y[5].split("."):[],this.format()}format(){if(this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length)this.version+=`-${this.prerelease.join(".")}`;return this.version}toString(){return this.version}compare(D){if(v2("SemVer.compare",this.version,this.options,D),!(D instanceof z8)){if(typeof D==="string"&&D===this.version)return 0;D=new z8(D,this.options)}if(D.version===this.version)return 0;return this.compareMain(D)||this.comparePre(D)}compareMain(D){if(!(D instanceof z8))D=new z8(D,this.options);if(this.major<D.major)return-1;if(this.major>D.major)return 1;if(this.minor<D.minor)return-1;if(this.minor>D.minor)return 1;if(this.patch<D.patch)return-1;if(this.patch>D.patch)return 1;return 0}comparePre(D){if(!(D instanceof z8))D=new z8(D,this.options);if(this.prerelease.length&&!D.prerelease.length)return-1;else if(!this.prerelease.length&&D.prerelease.length)return 1;else if(!this.prerelease.length&&!D.prerelease.length)return 0;let X=0;do{let Y=this.prerelease[X],Z=D.prerelease[X];if(v2("prerelease compare",X,Y,Z),Y===void 0&&Z===void 0)return 0;else if(Z===void 0)return 1;else if(Y===void 0)return-1;else if(Y===Z)continue;else return dq(Y,Z)}while(++X)}compareBuild(D){if(!(D instanceof z8))D=new z8(D,this.options);let X=0;do{let Y=this.build[X],Z=D.build[X];if(v2("build compare",X,Y,Z),Y===void 0&&Z===void 0)return 0;else if(Z===void 0)return 1;else if(Y===void 0)return-1;else if(Y===Z)continue;else return dq(Y,Z)}while(++X)}inc(D,X,Y){if(D.startsWith("pre")){if(!X&&Y===!1)throw Error("invalid increment argument: identifier is empty");if(X){let Z=`-${X}`.match(this.options.loose?g2[m2.PRERELEASELOOSE]:g2[m2.PRERELEASE]);if(!Z||Z[1]!==X)throw Error(`invalid identifier: ${X}`)}}switch(D){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",X,Y);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",X,Y);break;case"prepatch":this.prerelease.length=0,this.inc("patch",X,Y),this.inc("pre",X,Y);break;case"prerelease":if(this.prerelease.length===0)this.inc("patch",X,Y);this.inc("pre",X,Y);break;case"release":if(this.prerelease.length===0)throw Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":if(this.minor!==0||this.patch!==0||this.prerelease.length===0)this.major++;this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":if(this.patch!==0||this.prerelease.length===0)this.minor++;this.patch=0,this.prerelease=[];break;case"patch":if(this.prerelease.length===0)this.patch++;this.prerelease=[];break;case"pre":{let Z=Number(Y)?1:0;if(this.prerelease.length===0)this.prerelease=[Z];else{let J=this.prerelease.length;while(--J>=0)if(typeof this.prerelease[J]==="number")this.prerelease[J]++,J=-2;if(J===-1){if(X===this.prerelease.join(".")&&Y===!1)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(Z)}}if(X){let J=[X,Z];if(Y===!1)J=[X];if(dq(this.prerelease[0],X)===0){if(isNaN(this.prerelease[1]))this.prerelease=J}else this.prerelease=J}break}default:throw Error(`invalid increment argument: ${D}`)}if(this.raw=this.format(),this.build.length)this.raw+=`+${this.build.join(".")}`;return this}}_S.exports=z8});var D5=T((G$0,bS)=>{var vS=Z1(),_60=(D,X,Y=!1)=>{if(D instanceof vS)return D;try{return new vS(D,X)}catch(Z){if(!Y)return null;throw Z}};bS.exports=_60});var mS=T((O$0,gS)=>{var v60=D5(),b60=(D,X)=>{let Y=v60(D,X);return Y?Y.version:null};gS.exports=b60});var cS=T((W$0,dS)=>{var g60=D5(),m60=(D,X)=>{let Y=g60(D.trim().replace(/^[=v]+/,""),X);return Y?Y.version:null};dS.exports=m60});var iS=T((H$0,nS)=>{var lS=Z1(),d60=(D,X,Y,Z,J)=>{if(typeof Y==="string")J=Z,Z=Y,Y=void 0;try{return new lS(D instanceof lS?D.version:D,Y).inc(X,Z,J).version}catch(Q){return null}};nS.exports=d60});var tS=T((K$0,aS)=>{var pS=D5(),c60=(D,X)=>{let Y=pS(D,null,!0),Z=pS(X,null,!0),J=Y.compare(Z);if(J===0)return null;let Q=J>0,w=Q?Y:Z,F=Q?Z:Y,B=!!w.prerelease.length;if(!!F.prerelease.length&&!B){if(!F.patch&&!F.minor)return"major";if(F.compareMain(w)===0){if(F.minor&&!F.patch)return"minor";return"patch"}}let $=B?"pre":"";if(Y.major!==Z.major)return $+"major";if(Y.minor!==Z.minor)return $+"minor";if(Y.patch!==Z.patch)return $+"patch";return"prerelease"};aS.exports=c60});var sS=T((z$0,rS)=>{var l60=Z1(),n60=(D,X)=>new l60(D,X).major;rS.exports=n60});var eS=T((M$0,oS)=>{var i60=Z1(),p60=(D,X)=>new i60(D,X).minor;oS.exports=p60});var Xx=T((L$0,Dx)=>{var a60=Z1(),t60=(D,X)=>new a60(D,X).patch;Dx.exports=t60});var Zx=T((V$0,Yx)=>{var r60=D5(),s60=(D,X)=>{let Y=r60(D,X);return Y&&Y.prerelease.length?Y.prerelease:null};Yx.exports=s60});var r1=T((U$0,Qx)=>{var Jx=Z1(),o60=(D,X,Y)=>new Jx(D,Y).compare(new Jx(X,Y));Qx.exports=o60});var Fx=T((N$0,wx)=>{var e60=r1(),D90=(D,X,Y)=>e60(X,D,Y);wx.exports=D90});var qx=T((R$0,Bx)=>{var X90=r1(),Y90=(D,X)=>X90(D,X,!0);Bx.exports=Y90});var d2=T((A$0,Gx)=>{var $x=Z1(),Z90=(D,X,Y)=>{let Z=new $x(D,Y),J=new $x(X,Y);return Z.compare(J)||Z.compareBuild(J)};Gx.exports=Z90});var Wx=T((E$0,Ox)=>{var J90=d2(),Q90=(D,X)=>D.sort((Y,Z)=>J90(Y,Z,X));Ox.exports=Q90});var Kx=T((C$0,Hx)=>{var w90=d2(),F90=(D,X)=>D.sort((Y,Z)=>w90(Z,Y,X));Hx.exports=F90});var d3=T((j$0,zx)=>{var B90=r1(),q90=(D,X,Y)=>B90(D,X,Y)>0;zx.exports=q90});var c2=T((T$0,Mx)=>{var $90=r1(),G90=(D,X,Y)=>$90(D,X,Y)<0;Mx.exports=G90});var cq=T((I$0,Lx)=>{var O90=r1(),W90=(D,X,Y)=>O90(D,X,Y)===0;Lx.exports=W90});var lq=T((P$0,Vx)=>{var H90=r1(),K90=(D,X,Y)=>H90(D,X,Y)!==0;Vx.exports=K90});var l2=T((S$0,Ux)=>{var z90=r1(),M90=(D,X,Y)=>z90(D,X,Y)>=0;Ux.exports=M90});var n2=T((x$0,Nx)=>{var L90=r1(),V90=(D,X,Y)=>L90(D,X,Y)<=0;Nx.exports=V90});var nq=T((f$0,Rx)=>{var U90=cq(),N90=lq(),R90=d3(),A90=l2(),E90=c2(),C90=n2(),j90=(D,X,Y,Z)=>{switch(X){case"===":if(typeof D==="object")D=D.version;if(typeof Y==="object")Y=Y.version;return D===Y;case"!==":if(typeof D==="object")D=D.version;if(typeof Y==="object")Y=Y.version;return D!==Y;case"":case"=":case"==":return U90(D,Y,Z);case"!=":return N90(D,Y,Z);case">":return R90(D,Y,Z);case">=":return A90(D,Y,Z);case"<":return E90(D,Y,Z);case"<=":return C90(D,Y,Z);default:throw TypeError(`Invalid operator: ${X}`)}};Rx.exports=j90});var Ex=T((y$0,Ax)=>{var T90=Z1(),I90=D5(),{safeRe:i2,t:p2}=k7(),P90=(D,X)=>{if(D instanceof T90)return D;if(typeof D==="number")D=String(D);if(typeof D!=="string")return null;X=X||{};let Y=null;if(!X.rtl)Y=D.match(X.includePrerelease?i2[p2.COERCEFULL]:i2[p2.COERCE]);else{let B=X.includePrerelease?i2[p2.COERCERTLFULL]:i2[p2.COERCERTL],q;while((q=B.exec(D))&&(!Y||Y.index+Y[0].length!==D.length)){if(!Y||q.index+q[0].length!==Y.index+Y[0].length)Y=q;B.lastIndex=q.index+q[1].length+q[2].length}B.lastIndex=-1}if(Y===null)return null;let Z=Y[2],J=Y[3]||"0",Q=Y[4]||"0",w=X.includePrerelease&&Y[5]?`-${Y[5]}`:"",F=X.includePrerelease&&Y[6]?`+${Y[6]}`:"";return I90(`${Z}.${J}.${Q}${w}${F}`,X)};Ax.exports=P90});var Tx=T((k$0,jx)=>{class Cx{constructor(){this.max=1000,this.map=new Map}get(D){let X=this.map.get(D);if(X===void 0)return;else return this.map.delete(D),this.map.set(D,X),X}delete(D){return this.map.delete(D)}set(D,X){if(!this.delete(D)&&X!==void 0){if(this.map.size>=this.max){let Z=this.map.keys().next().value;this.delete(Z)}this.map.set(D,X)}return this}}jx.exports=Cx});var s1=T((u$0,xx)=>{var S90=/\s+/g;class c3{constructor(D,X){if(X=f90(X),D instanceof c3)if(D.loose===!!X.loose&&D.includePrerelease===!!X.includePrerelease)return D;else return new c3(D.raw,X);if(D instanceof iq)return this.raw=D.value,this.set=[[D]],this.formatted=void 0,this;if(this.options=X,this.loose=!!X.loose,this.includePrerelease=!!X.includePrerelease,this.raw=D.trim().replace(S90," "),this.set=this.raw.split("||").map((Y)=>this.parseRange(Y.trim())).filter((Y)=>Y.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let Y=this.set[0];if(this.set=this.set.filter((Z)=>!Px(Z[0])),this.set.length===0)this.set=[Y];else if(this.set.length>1){for(let Z of this.set)if(Z.length===1&&b90(Z[0])){this.set=[Z];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let D=0;D<this.set.length;D++){if(D>0)this.formatted+="||";let X=this.set[D];for(let Y=0;Y<X.length;Y++){if(Y>0)this.formatted+=" ";this.formatted+=X[Y].toString().trim()}}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(D){let Y=((this.options.includePrerelease&&_90)|(this.options.loose&&v90))+":"+D,Z=Ix.get(Y);if(Z)return Z;let J=this.options.loose,Q=J?K1[J1.HYPHENRANGELOOSE]:K1[J1.HYPHENRANGE];D=D.replace(Q,t90(this.options.includePrerelease)),JD("hyphen replace",D),D=D.replace(K1[J1.COMPARATORTRIM],k90),JD("comparator trim",D),D=D.replace(K1[J1.TILDETRIM],u90),JD("tilde trim",D),D=D.replace(K1[J1.CARETTRIM],h90),JD("caret trim",D);let w=D.split(" ").map(($)=>g90($,this.options)).join(" ").split(/\s+/).map(($)=>a90($,this.options));if(J)w=w.filter(($)=>{return JD("loose invalid filter",$,this.options),!!$.match(K1[J1.COMPARATORLOOSE])});JD("range list",w);let F=new Map,B=w.map(($)=>new iq($,this.options));for(let $ of B){if(Px($))return[$];F.set($.value,$)}if(F.size>1&&F.has(""))F.delete("");let q=[...F.values()];return Ix.set(Y,q),q}intersects(D,X){if(!(D instanceof c3))throw TypeError("a Range is required");return this.set.some((Y)=>{return Sx(Y,X)&&D.set.some((Z)=>{return Sx(Z,X)&&Y.every((J)=>{return Z.every((Q)=>{return J.intersects(Q,X)})})})})}test(D){if(!D)return!1;if(typeof D==="string")try{D=new y90(D,this.options)}catch(X){return!1}for(let X=0;X<this.set.length;X++)if(r90(this.set[X],D,this.options))return!0;return!1}}xx.exports=c3;var x90=Tx(),Ix=new x90,f90=_2(),iq=l3(),JD=m3(),y90=Z1(),{safeRe:K1,t:J1,comparatorTrimReplace:k90,tildeTrimReplace:u90,caretTrimReplace:h90}=k7(),{FLAG_INCLUDE_PRERELEASE:_90,FLAG_LOOSE:v90}=g3(),Px=(D)=>D.value==="<0.0.0-0",b90=(D)=>D.value==="",Sx=(D,X)=>{let Y=!0,Z=D.slice(),J=Z.pop();while(Y&&Z.length)Y=Z.every((Q)=>{return J.intersects(Q,X)}),J=Z.pop();return Y},g90=(D,X)=>{return D=D.replace(K1[J1.BUILD],""),JD("comp",D,X),D=c90(D,X),JD("caret",D),D=m90(D,X),JD("tildes",D),D=n90(D,X),JD("xrange",D),D=p90(D,X),JD("stars",D),D},z1=(D)=>!D||D.toLowerCase()==="x"||D==="*",m90=(D,X)=>{return D.trim().split(/\s+/).map((Y)=>d90(Y,X)).join(" ")},d90=(D,X)=>{let Y=X.loose?K1[J1.TILDELOOSE]:K1[J1.TILDE];return D.replace(Y,(Z,J,Q,w,F)=>{JD("tilde",D,Z,J,Q,w,F);let B;if(z1(J))B="";else if(z1(Q))B=`>=${J}.0.0 <${+J+1}.0.0-0`;else if(z1(w))B=`>=${J}.${Q}.0 <${J}.${+Q+1}.0-0`;else if(F)JD("replaceTilde pr",F),B=`>=${J}.${Q}.${w}-${F} <${J}.${+Q+1}.0-0`;else B=`>=${J}.${Q}.${w} <${J}.${+Q+1}.0-0`;return JD("tilde return",B),B})},c90=(D,X)=>{return D.trim().split(/\s+/).map((Y)=>l90(Y,X)).join(" ")},l90=(D,X)=>{JD("caret",D,X);let Y=X.loose?K1[J1.CARETLOOSE]:K1[J1.CARET],Z=X.includePrerelease?"-0":"";return D.replace(Y,(J,Q,w,F,B)=>{JD("caret",D,J,Q,w,F,B);let q;if(z1(Q))q="";else if(z1(w))q=`>=${Q}.0.0${Z} <${+Q+1}.0.0-0`;else if(z1(F))if(Q==="0")q=`>=${Q}.${w}.0${Z} <${Q}.${+w+1}.0-0`;else q=`>=${Q}.${w}.0${Z} <${+Q+1}.0.0-0`;else if(B)if(JD("replaceCaret pr",B),Q==="0")if(w==="0")q=`>=${Q}.${w}.${F}-${B} <${Q}.${w}.${+F+1}-0`;else q=`>=${Q}.${w}.${F}-${B} <${Q}.${+w+1}.0-0`;else q=`>=${Q}.${w}.${F}-${B} <${+Q+1}.0.0-0`;else if(JD("no pr"),Q==="0")if(w==="0")q=`>=${Q}.${w}.${F}${Z} <${Q}.${w}.${+F+1}-0`;else q=`>=${Q}.${w}.${F}${Z} <${Q}.${+w+1}.0-0`;else q=`>=${Q}.${w}.${F} <${+Q+1}.0.0-0`;return JD("caret return",q),q})},n90=(D,X)=>{return JD("replaceXRanges",D,X),D.split(/\s+/).map((Y)=>i90(Y,X)).join(" ")},i90=(D,X)=>{D=D.trim();let Y=X.loose?K1[J1.XRANGELOOSE]:K1[J1.XRANGE];return D.replace(Y,(Z,J,Q,w,F,B)=>{JD("xRange",D,Z,J,Q,w,F,B);let q=z1(Q),$=q||z1(w),G=$||z1(F),W=G;if(J==="="&&W)J="";if(B=X.includePrerelease?"-0":"",q)if(J===">"||J==="<")Z="<0.0.0-0";else Z="*";else if(J&&W){if($)w=0;if(F=0,J===">")if(J=">=",$)Q=+Q+1,w=0,F=0;else w=+w+1,F=0;else if(J==="<=")if(J="<",$)Q=+Q+1;else w=+w+1;if(J==="<")B="-0";Z=`${J+Q}.${w}.${F}${B}`}else if($)Z=`>=${Q}.0.0${B} <${+Q+1}.0.0-0`;else if(G)Z=`>=${Q}.${w}.0${B} <${Q}.${+w+1}.0-0`;return JD("xRange return",Z),Z})},p90=(D,X)=>{return JD("replaceStars",D,X),D.trim().replace(K1[J1.STAR],"")},a90=(D,X)=>{return JD("replaceGTE0",D,X),D.trim().replace(K1[X.includePrerelease?J1.GTE0PRE:J1.GTE0],"")},t90=(D)=>(X,Y,Z,J,Q,w,F,B,q,$,G,W)=>{if(z1(Z))Y="";else if(z1(J))Y=`>=${Z}.0.0${D?"-0":""}`;else if(z1(Q))Y=`>=${Z}.${J}.0${D?"-0":""}`;else if(w)Y=`>=${Y}`;else Y=`>=${Y}${D?"-0":""}`;if(z1(q))B="";else if(z1($))B=`<${+q+1}.0.0-0`;else if(z1(G))B=`<${q}.${+$+1}.0-0`;else if(W)B=`<=${q}.${$}.${G}-${W}`;else if(D)B=`<${q}.${$}.${+G+1}-0`;else B=`<=${B}`;return`${Y} ${B}`.trim()},r90=(D,X,Y)=>{for(let Z=0;Z<D.length;Z++)if(!D[Z].test(X))return!1;if(X.prerelease.length&&!Y.includePrerelease){for(let Z=0;Z<D.length;Z++){if(JD(D[Z].semver),D[Z].semver===iq.ANY)continue;if(D[Z].semver.prerelease.length>0){let J=D[Z].semver;if(J.major===X.major&&J.minor===X.minor&&J.patch===X.patch)return!0}}return!1}return!0}});var l3=T((h$0,_x)=>{var n3=Symbol("SemVer ANY");class a2{static get ANY(){return n3}constructor(D,X){if(X=fx(X),D instanceof a2)if(D.loose===!!X.loose)return D;else D=D.value;if(D=D.trim().split(/\s+/).join(" "),aq("comparator",D,X),this.options=X,this.loose=!!X.loose,this.parse(D),this.semver===n3)this.value="";else this.value=this.operator+this.semver.version;aq("comp",this)}parse(D){let X=this.options.loose?yx[kx.COMPARATORLOOSE]:yx[kx.COMPARATOR],Y=D.match(X);if(!Y)throw TypeError(`Invalid comparator: ${D}`);if(this.operator=Y[1]!==void 0?Y[1]:"",this.operator==="=")this.operator="";if(!Y[2])this.semver=n3;else this.semver=new ux(Y[2],this.options.loose)}toString(){return this.value}test(D){if(aq("Comparator.test",D,this.options.loose),this.semver===n3||D===n3)return!0;if(typeof D==="string")try{D=new ux(D,this.options)}catch(X){return!1}return pq(D,this.operator,this.semver,this.options)}intersects(D,X){if(!(D instanceof a2))throw TypeError("a Comparator is required");if(this.operator===""){if(this.value==="")return!0;return new hx(D.value,X).test(this.value)}else if(D.operator===""){if(D.value==="")return!0;return new hx(this.value,X).test(D.semver)}if(X=fx(X),X.includePrerelease&&(this.value==="<0.0.0-0"||D.value==="<0.0.0-0"))return!1;if(!X.includePrerelease&&(this.value.startsWith("<0.0.0")||D.value.startsWith("<0.0.0")))return!1;if(this.operator.startsWith(">")&&D.operator.startsWith(">"))return!0;if(this.operator.startsWith("<")&&D.operator.startsWith("<"))return!0;if(this.semver.version===D.semver.version&&this.operator.includes("=")&&D.operator.includes("="))return!0;if(pq(this.semver,"<",D.semver,X)&&this.operator.startsWith(">")&&D.operator.startsWith("<"))return!0;if(pq(this.semver,">",D.semver,X)&&this.operator.startsWith("<")&&D.operator.startsWith(">"))return!0;return!1}}_x.exports=a2;var fx=_2(),{safeRe:yx,t:kx}=k7(),pq=nq(),aq=m3(),ux=Z1(),hx=s1()});var i3=T((_$0,vx)=>{var s90=s1(),o90=(D,X,Y)=>{try{X=new s90(X,Y)}catch(Z){return!1}return X.test(D)};vx.exports=o90});var gx=T((v$0,bx)=>{var e90=s1(),D50=(D,X)=>new e90(D,X).set.map((Y)=>Y.map((Z)=>Z.value).join(" ").trim().split(" "));bx.exports=D50});var dx=T((b$0,mx)=>{var X50=Z1(),Y50=s1(),Z50=(D,X,Y)=>{let Z=null,J=null,Q=null;try{Q=new Y50(X,Y)}catch(w){return null}return D.forEach((w)=>{if(Q.test(w)){if(!Z||J.compare(w)===-1)Z=w,J=new X50(Z,Y)}}),Z};mx.exports=Z50});var lx=T((g$0,cx)=>{var J50=Z1(),Q50=s1(),w50=(D,X,Y)=>{let Z=null,J=null,Q=null;try{Q=new Q50(X,Y)}catch(w){return null}return D.forEach((w)=>{if(Q.test(w)){if(!Z||J.compare(w)===1)Z=w,J=new J50(Z,Y)}}),Z};cx.exports=w50});var px=T((m$0,ix)=>{var tq=Z1(),F50=s1(),nx=d3(),B50=(D,X)=>{D=new F50(D,X);let Y=new tq("0.0.0");if(D.test(Y))return Y;if(Y=new tq("0.0.0-0"),D.test(Y))return Y;Y=null;for(let Z=0;Z<D.set.length;++Z){let J=D.set[Z],Q=null;if(J.forEach((w)=>{let F=new tq(w.semver.version);switch(w.operator){case">":if(F.prerelease.length===0)F.patch++;else F.prerelease.push(0);F.raw=F.format();case"":case">=":if(!Q||nx(F,Q))Q=F;break;case"<":case"<=":break;default:throw Error(`Unexpected operation: ${w.operator}`)}}),Q&&(!Y||nx(Y,Q)))Y=Q}if(Y&&D.test(Y))return Y;return null};ix.exports=B50});var tx=T((d$0,ax)=>{var q50=s1(),$50=(D,X)=>{try{return new q50(D,X).range||"*"}catch(Y){return null}};ax.exports=$50});var t2=T((c$0,ex)=>{var G50=Z1(),ox=l3(),{ANY:O50}=ox,W50=s1(),H50=i3(),rx=d3(),sx=c2(),K50=n2(),z50=l2(),M50=(D,X,Y,Z)=>{D=new G50(D,Z),X=new W50(X,Z);let J,Q,w,F,B;switch(Y){case">":J=rx,Q=K50,w=sx,F=">",B=">=";break;case"<":J=sx,Q=z50,w=rx,F="<",B="<=";break;default:throw TypeError('Must provide a hilo val of "<" or ">"')}if(H50(D,X,Z))return!1;for(let q=0;q<X.set.length;++q){let $=X.set[q],G=null,W=null;if($.forEach((O)=>{if(O.semver===O50)O=new ox(">=0.0.0");if(G=G||O,W=W||O,J(O.semver,G.semver,Z))G=O;else if(w(O.semver,W.semver,Z))W=O}),G.operator===F||G.operator===B)return!1;if((!W.operator||W.operator===F)&&Q(D,W.semver))return!1;else if(W.operator===B&&w(D,W.semver))return!1}return!0};ex.exports=M50});var Xf=T((l$0,Df)=>{var L50=t2(),V50=(D,X,Y)=>L50(D,X,">",Y);Df.exports=V50});var Zf=T((n$0,Yf)=>{var U50=t2(),N50=(D,X,Y)=>U50(D,X,"<",Y);Yf.exports=N50});var wf=T((i$0,Qf)=>{var Jf=s1(),R50=(D,X,Y)=>{return D=new Jf(D,Y),X=new Jf(X,Y),D.intersects(X,Y)};Qf.exports=R50});var Bf=T((p$0,Ff)=>{var A50=i3(),E50=r1();Ff.exports=(D,X,Y)=>{let Z=[],J=null,Q=null,w=D.sort(($,G)=>E50($,G,Y));for(let $ of w)if(A50($,X,Y)){if(Q=$,!J)J=$}else{if(Q)Z.push([J,Q]);Q=null,J=null}if(J)Z.push([J,null]);let F=[];for(let[$,G]of Z)if($===G)F.push($);else if(!G&&$===w[0])F.push("*");else if(!G)F.push(`>=${$}`);else if($===w[0])F.push(`<=${G}`);else F.push(`${$} - ${G}`);let B=F.join(" || "),q=typeof X.raw==="string"?X.raw:String(X);return B.length<q.length?B:X}});var Hf=T((a$0,Wf)=>{var qf=s1(),sq=l3(),{ANY:rq}=sq,p3=i3(),oq=r1(),C50=(D,X,Y={})=>{if(D===X)return!0;D=new qf(D,Y),X=new qf(X,Y);let Z=!1;D:for(let J of D.set){for(let Q of X.set){let w=T50(J,Q,Y);if(Z=Z||w!==null,w)continue D}if(Z)return!1}return!0},j50=[new sq(">=0.0.0-0")],$f=[new sq(">=0.0.0")],T50=(D,X,Y)=>{if(D===X)return!0;if(D.length===1&&D[0].semver===rq)if(X.length===1&&X[0].semver===rq)return!0;else if(Y.includePrerelease)D=j50;else D=$f;if(X.length===1&&X[0].semver===rq)if(Y.includePrerelease)return!0;else X=$f;let Z=new Set,J,Q;for(let O of D)if(O.operator===">"||O.operator===">=")J=Gf(J,O,Y);else if(O.operator==="<"||O.operator==="<=")Q=Of(Q,O,Y);else Z.add(O.semver);if(Z.size>1)return null;let w;if(J&&Q){if(w=oq(J.semver,Q.semver,Y),w>0)return null;else if(w===0&&(J.operator!==">="||Q.operator!=="<="))return null}for(let O of Z){if(J&&!p3(O,String(J),Y))return null;if(Q&&!p3(O,String(Q),Y))return null;for(let H of X)if(!p3(O,String(H),Y))return!1;return!0}let F,B,q,$,G=Q&&!Y.includePrerelease&&Q.semver.prerelease.length?Q.semver:!1,W=J&&!Y.includePrerelease&&J.semver.prerelease.length?J.semver:!1;if(G&&G.prerelease.length===1&&Q.operator==="<"&&G.prerelease[0]===0)G=!1;for(let O of X){if($=$||O.operator===">"||O.operator===">=",q=q||O.operator==="<"||O.operator==="<=",J){if(W){if(O.semver.prerelease&&O.semver.prerelease.length&&O.semver.major===W.major&&O.semver.minor===W.minor&&O.semver.patch===W.patch)W=!1}if(O.operator===">"||O.operator===">="){if(F=Gf(J,O,Y),F===O&&F!==J)return!1}else if(J.operator===">="&&!p3(J.semver,String(O),Y))return!1}if(Q){if(G){if(O.semver.prerelease&&O.semver.prerelease.length&&O.semver.major===G.major&&O.semver.minor===G.minor&&O.semver.patch===G.patch)G=!1}if(O.operator==="<"||O.operator==="<="){if(B=Of(Q,O,Y),B===O&&B!==Q)return!1}else if(Q.operator==="<="&&!p3(Q.semver,String(O),Y))return!1}if(!O.operator&&(Q||J)&&w!==0)return!1}if(J&&q&&!Q&&w!==0)return!1;if(Q&&$&&!J&&w!==0)return!1;if(W||G)return!1;return!0},Gf=(D,X,Y)=>{if(!D)return X;let Z=oq(D.semver,X.semver,Y);return Z>0?D:Z<0?X:X.operator===">"&&D.operator===">="?X:D},Of=(D,X,Y)=>{if(!D)return X;let Z=oq(D.semver,X.semver,Y);return Z<0?D:Z>0?X:X.operator==="<"&&D.operator==="<="?X:D};Wf.exports=C50});var Lf=T((t$0,Mf)=>{var eq=k7(),Kf=g3(),I50=Z1(),zf=mq(),P50=D5(),S50=mS(),x50=cS(),f50=iS(),y50=tS(),k50=sS(),u50=eS(),h50=Xx(),_50=Zx(),v50=r1(),b50=Fx(),g50=qx(),m50=d2(),d50=Wx(),c50=Kx(),l50=d3(),n50=c2(),i50=cq(),p50=lq(),a50=l2(),t50=n2(),r50=nq(),s50=Ex(),o50=l3(),e50=s1(),D70=i3(),X70=gx(),Y70=dx(),Z70=lx(),J70=px(),Q70=tx(),w70=t2(),F70=Xf(),B70=Zf(),q70=wf(),$70=Bf(),G70=Hf();Mf.exports={parse:P50,valid:S50,clean:x50,inc:f50,diff:y50,major:k50,minor:u50,patch:h50,prerelease:_50,compare:v50,rcompare:b50,compareLoose:g50,compareBuild:m50,sort:d50,rsort:c50,gt:l50,lt:n50,eq:i50,neq:p50,gte:a50,lte:t50,cmp:r50,coerce:s50,Comparator:o50,Range:e50,satisfies:D70,toComparators:X70,maxSatisfying:Y70,minSatisfying:Z70,minVersion:J70,validRange:Q70,outside:w70,gtr:F70,ltr:B70,intersects:q70,simplifyRange:$70,subset:G70,SemVer:I50,re:eq.re,src:eq.src,tokens:eq.t,SEMVER_SPEC_VERSION:Kf.SEMVER_SPEC_VERSION,RELEASE_TYPES:Kf.RELEASE_TYPES,compareIdentifiers:zf.compareIdentifiers,rcompareIdentifiers:zf.rcompareIdentifiers}});var Sf=T((Y0)=>{Object.defineProperty(Y0,"__esModule",{value:!0});Y0.parseApkNameFromFlavor=Y0.checkJDKMajorVersion=Y0.resolvePlatform=Y0.checkPlatformVersions=Y0.getAddedPlatforms=Y0.getPlatformTargetName=Y0.promptForPlatformTarget=Y0.promptForPlatform=Y0.isValidEnterprisePlatform=Y0.getKnownEnterprisePlatforms=Y0.isValidCommunityPlatform=Y0.getKnownCommunityPlatforms=Y0.isValidPlatform=Y0.getKnownPlatforms=Y0.selectPlatforms=Y0.getProjectPlatformDirectory=Y0.getCLIVersion=Y0.getCoreVersion=Y0.getCapacitorPackageVersion=Y0.requireCapacitorPackage=Y0.getCapacitorPackage=Y0.runTask=Y0.runPlatformHook=Y0.runHooks=Y0.wait=Y0.checkAppName=Y0.checkAppId=Y0.checkAppDir=Y0.checkAppConfig=Y0.checkCapacitorPlatform=Y0.checkPackage=Y0.checkWebDir=Y0.check=void 0;var t3=h0(),Vf=v6(),s6=W7(),X5=require("path"),d0=t3.__importDefault(H7()),Y5=fZ(),Nf=W3(),O70=HT(),Uf=AX(),a3=Y2(),W70=h2();async function H70(D){let Y=(await Promise.all(D.map((Z)=>Z()))).filter((Z)=>Z!=null);if(Y.length>0)throw Y.join(`
|
|
204
204
|
`)}Y0.check=H70;async function K70(D){var X;if((X=D.app.extConfig.server)===null||X===void 0?void 0:X.url)return null;if(["",".","..","../","./"].includes(D.app.webDir))return`"${D.app.webDir}" is not a valid value for webDir`;if(!await(0,s6.pathExists)(D.app.webDirAbs))return`Could not find the web assets directory: ${d0.default.strong((0,Vf.prettyPath)(D.app.webDirAbs))}.
|
|
205
205
|
Please create it and make sure it has an ${d0.default.strong("index.html")} file. You can change the path of this directory in ${d0.default.strong(D.app.extConfigName)} (${d0.default.input("webDir")} option). You may need to compile the web assets for your app (typically ${d0.default.input("npm run build")}). More info: ${d0.default.strong("https://capacitorjs.com/docs/basics/workflow#sync-your-project")}`;if(!await(0,s6.pathExists)((0,X5.join)(D.app.webDirAbs,"index.html")))return`The web assets directory (${d0.default.strong((0,Vf.prettyPath)(D.app.webDirAbs))}) must contain an ${d0.default.strong("index.html")} file.
|
|
206
206
|
It will be the entry point for the web portion of the Capacitor app.`;return null}Y0.checkWebDir=K70;async function z70(){if(!await(0,s6.pathExists)("package.json"))if(await(0,s6.pathExists)("project.json"))return null;else return`The Capacitor CLI needs to run at the root of an npm package or in a valid NX monorepo.
|
|
@@ -227,19 +227,19 @@ Valid targets are:
|
|
|
227
227
|
Valid targets are:
|
|
228
228
|
${D.map((B)=>B.id).join(`
|
|
229
229
|
`)}`)}return F}Y0.promptForPlatformTarget=P70;function If(D){var X,Y,Z;return`${(Z=(Y=(X=D.name)!==null&&X!==void 0?X:D.model)!==null&&Y!==void 0?Y:D.id)!==null&&Z!==void 0?Z:"?"}${D.virtual?` (${D.platform==="ios"?"simulator":"emulator"})`:""}`}Y0.getPlatformTargetName=If;async function Pf(D){let X=[];if(await r2(D,D.android.name))X.push(D.android.name);if(await r2(D,D.ios.name))X.push(D.ios.name);return X.push(D.web.name),X}Y0.getAddedPlatforms=Pf;async function S70(D,X){let Y=await Promise.resolve().then(()=>t3.__importStar(Lf())),Z=await Cf(D),J=await s2(D,X);if(Y.diff(Z,J)==="minor"||Y.diff(Z,J)==="major")Nf.logger.warn(`${d0.default.strong("@capacitor/core")}${d0.default.weak(`@${Z}`)} version doesn't match ${d0.default.strong(`@capacitor/${X}`)}${d0.default.weak(`@${J}`)} version.
|
|
230
|
-
Consider updating to a matching version, e.g. w/ ${d0.default.input(`npm install @capacitor/core@${J}`)}`)}Y0.checkPlatformVersions=S70;function x70(D,X){if(X[0]!=="@"){let Z=(0,a3.resolveNode)(D.app.rootDir,`@capacitor/${X}`,"package.json");if(Z)return(0,X5.dirname)(Z);let J=(0,a3.resolveNode)(D.app.rootDir,`@capacitor-community/${X}`,"package.json");if(J)return(0,X5.dirname)(J);let Q=(0,a3.resolveNode)(D.app.rootDir,`@ionic-enterprise/capacitor-${X}`,"package.json");if(Q)return(0,X5.dirname)(Q)}let Y=(0,a3.resolveNode)(D.app.rootDir,X,"package.json");if(Y)return(0,X5.dirname)(Y);return null}Y0.resolvePlatform=x70;async function f70(){try{let D=await(0,W70.runCommand)("java",["--version"]),Y=RegExp(/([0-9]+)\.?([0-9]*)\.?([0-9]*)/).exec(D);if(Y===null)return-1;let Z=parseInt(Y[1]),J=parseInt(Y[2]);if(typeof Z==="number"&&Z!=1)return Z;else if(typeof J==="number"&&Z==1&&J<9)return J;else return-1}catch(D){return-1}}Y0.checkJDKMajorVersion=f70;function y70(D){let X=D.replace(/([A-Z])/g,"-$1").toLowerCase();if(X.startsWith("-"))X=X.replace("-","");return`app-${X?`${X}-`:""}debug.apk`}Y0.parseApkNameFromFlavor=y70});var xf=T((o2)=>{Object.defineProperty(o2,"__esModule",{value:!0});o2.tryFn=void 0;var k70=async(D,...X)=>{try{return await D(...X)}catch{}return null};o2.tryFn=k70});var ff=T((e2)=>{Object.defineProperty(e2,"__esModule",{value:!0});e2.formatJSObject=void 0;var u70=h0(),h70=u70.__importDefault(require("util"));function _70(D){try{D=JSON.parse(JSON.stringify(D))}catch(X){throw Error(`Cannot parse object as JSON: ${X.stack?X.stack:X}`)}return h70.default.inspect(D,{compact:!1,breakLength:1/0,depth:1/0,maxArrayLength:1/0,maxStringLength:1/0})}e2.formatJSObject=_70});var yf=T((o6)=>{Object.defineProperty(o6,"__esModule",{value:!0});o6.lazy=o6.LazyPromise=o6.allSerial=void 0;function v70(D){return D.reduce((X,Y)=>X.then((Z)=>Y().then((J)=>Z.concat(J))),Promise.resolve([]))}o6.allSerial=v70;class J$ extends Promise{constructor(D){super(()=>{});this._executor=D}then(D,X){return this._promise=this._promise||new Promise(this._executor),this._promise.then(D,X)}catch(D){return this._promise=this._promise||new Promise(this._executor),this._promise.catch(D)}}o6.LazyPromise=J$;function b70(D){return new J$(async(X,Y)=>{try{X(await D())}catch(Z){Y(Z)}})}o6.lazy=b70});var hf=T((lD)=>{var __dirname="/home/runner/work/CLI/CLI/node_modules/@capacitor/cli/dist";Object.defineProperty(lD,"__esModule",{value:!0});lD.writeConfig=lD.loadConfig=lD.CONFIG_FILE_NAME_JSON=lD.CONFIG_FILE_NAME_JS=lD.CONFIG_FILE_NAME_TS=void 0;var F$=h0(),g70=F$.__importDefault(zZ()),M1=W7(),
|
|
230
|
+
Consider updating to a matching version, e.g. w/ ${d0.default.input(`npm install @capacitor/core@${J}`)}`)}Y0.checkPlatformVersions=S70;function x70(D,X){if(X[0]!=="@"){let Z=(0,a3.resolveNode)(D.app.rootDir,`@capacitor/${X}`,"package.json");if(Z)return(0,X5.dirname)(Z);let J=(0,a3.resolveNode)(D.app.rootDir,`@capacitor-community/${X}`,"package.json");if(J)return(0,X5.dirname)(J);let Q=(0,a3.resolveNode)(D.app.rootDir,`@ionic-enterprise/capacitor-${X}`,"package.json");if(Q)return(0,X5.dirname)(Q)}let Y=(0,a3.resolveNode)(D.app.rootDir,X,"package.json");if(Y)return(0,X5.dirname)(Y);return null}Y0.resolvePlatform=x70;async function f70(){try{let D=await(0,W70.runCommand)("java",["--version"]),Y=RegExp(/([0-9]+)\.?([0-9]*)\.?([0-9]*)/).exec(D);if(Y===null)return-1;let Z=parseInt(Y[1]),J=parseInt(Y[2]);if(typeof Z==="number"&&Z!=1)return Z;else if(typeof J==="number"&&Z==1&&J<9)return J;else return-1}catch(D){return-1}}Y0.checkJDKMajorVersion=f70;function y70(D){let X=D.replace(/([A-Z])/g,"-$1").toLowerCase();if(X.startsWith("-"))X=X.replace("-","");return`app-${X?`${X}-`:""}debug.apk`}Y0.parseApkNameFromFlavor=y70});var xf=T((o2)=>{Object.defineProperty(o2,"__esModule",{value:!0});o2.tryFn=void 0;var k70=async(D,...X)=>{try{return await D(...X)}catch{}return null};o2.tryFn=k70});var ff=T((e2)=>{Object.defineProperty(e2,"__esModule",{value:!0});e2.formatJSObject=void 0;var u70=h0(),h70=u70.__importDefault(require("util"));function _70(D){try{D=JSON.parse(JSON.stringify(D))}catch(X){throw Error(`Cannot parse object as JSON: ${X.stack?X.stack:X}`)}return h70.default.inspect(D,{compact:!1,breakLength:1/0,depth:1/0,maxArrayLength:1/0,maxStringLength:1/0})}e2.formatJSObject=_70});var yf=T((o6)=>{Object.defineProperty(o6,"__esModule",{value:!0});o6.lazy=o6.LazyPromise=o6.allSerial=void 0;function v70(D){return D.reduce((X,Y)=>X.then((Z)=>Y().then((J)=>Z.concat(J))),Promise.resolve([]))}o6.allSerial=v70;class J$ extends Promise{constructor(D){super(()=>{});this._executor=D}then(D,X){return this._promise=this._promise||new Promise(this._executor),this._promise.then(D,X)}catch(D){return this._promise=this._promise||new Promise(this._executor),this._promise.catch(D)}}o6.LazyPromise=J$;function b70(D){return new J$(async(X,Y)=>{try{X(await D())}catch(Z){Y(Z)}})}o6.lazy=b70});var hf=T((lD)=>{var __dirname="/home/runner/work/CLI/CLI/node_modules/@capacitor/cli/dist";Object.defineProperty(lD,"__esModule",{value:!0});lD.writeConfig=lD.loadConfig=lD.CONFIG_FILE_NAME_JSON=lD.CONFIG_FILE_NAME_JS=lD.CONFIG_FILE_NAME_TS=void 0;var F$=h0(),g70=F$.__importDefault(zZ()),M1=W7(),U0=require("path"),Z5=F$.__importDefault(H7()),m70=Sf(),DJ=fZ(),d70=W3(),Q$=xf(),c70=ff(),kf=AX(),uf=Y2(),u7=yf(),l70=h2(),w$=(0,g70.default)("capacitor:config");lD.CONFIG_FILE_NAME_TS="capacitor.config.ts";lD.CONFIG_FILE_NAME_JS="capacitor.config.js";lD.CONFIG_FILE_NAME_JSON="capacitor.config.json";async function n70(){var D,X,Y,Z;let J=process.cwd(),Q=(0,U0.dirname)(__dirname),w=await t70(J),F=await(async()=>{var O,H;if((0,kf.isNXMonorepo)(J)){let M=(0,kf.findNXMonorepoRoot)(J),U=await(0,Q$.tryFn)(M1.readJSON,(0,U0.resolve)(M,"package.json")),N=(O=U===null||U===void 0?void 0:U.devDependencies)!==null&&O!==void 0?O:{},R=(H=U===null||U===void 0?void 0:U.dependencies)!==null&&H!==void 0?H:{};return{devDependencies:N,dependencies:R}}return{}})(),B=(D=w.extConfig.appId)!==null&&D!==void 0?D:"",q=(X=w.extConfig.appName)!==null&&X!==void 0?X:"",$=(Y=w.extConfig.webDir)!==null&&Y!==void 0?Y:"www",G=await r70(Q),W={android:await s70(J,w.extConfig,G),ios:await o70(J,w.extConfig),web:await e70(J,$),cli:G,app:{rootDir:J,appId:B,appName:q,webDir:$,webDirAbs:(0,U0.resolve)(J,$),package:(Z=await(0,Q$.tryFn)(M1.readJSON,(0,U0.resolve)(J,"package.json")))!==null&&Z!==void 0?Z:{name:q,version:"1.0.0",...F},...w}};return w$("config: %O",W),W}lD.loadConfig=n70;async function i70(D,X){switch((0,U0.extname)(X)){case".json":{await(0,M1.writeJSON)(X,D,{spaces:2});break}case".ts":{await(0,M1.writeFile)(X,Q40(D));break}}}lD.writeConfig=i70;async function p70(D,X,Y){var Z;try{let J=(0,uf.resolveNode)(D,"typescript");if(!J)(0,DJ.fatal)(`Could not find installation of TypeScript.
|
|
231
231
|
To use ${Z5.default.strong(X)} files, you must install TypeScript in your project, e.g. w/ ${Z5.default.input("npm install -D typescript")}`);let Q=require(J),w=(0,uf.requireTS)(Q,Y),F=w.default?await w.default:w;return{extConfigType:"ts",extConfigName:X,extConfigFilePath:Y,extConfig:F}}catch(J){if(!(0,DJ.isFatal)(J))(0,DJ.fatal)(`Parsing ${Z5.default.strong(X)} failed.
|
|
232
232
|
|
|
233
233
|
${(Z=J.stack)!==null&&Z!==void 0?Z:J}`);throw J}}async function a70(D,X,Y){var Z;try{return{extConfigType:"js",extConfigName:X,extConfigFilePath:Y,extConfig:await require(Y)}}catch(J){(0,DJ.fatal)(`Parsing ${Z5.default.strong(X)} failed.
|
|
234
234
|
|
|
235
|
-
${(Z=J.stack)!==null&&Z!==void 0?Z:J}`)}}async function t70(D){var X;let Y=(0,
|
|
236
|
-
Please follow the Upgrade Guide to move ${Z5.default.strong("public")} inside the iOS target directory: ${Z5.default.strong("https://capacitorjs.com/docs/updating/3-0#move-public-into-the-ios-target-directory")}`),(0,
|
|
235
|
+
${(Z=J.stack)!==null&&Z!==void 0?Z:J}`)}}async function t70(D){var X;let Y=(0,U0.resolve)(D,lD.CONFIG_FILE_NAME_TS);if(await(0,M1.pathExists)(Y))return p70(D,lD.CONFIG_FILE_NAME_TS,Y);let Z=(0,U0.resolve)(D,lD.CONFIG_FILE_NAME_JS);if(await(0,M1.pathExists)(Z))return a70(D,lD.CONFIG_FILE_NAME_JS,Z);let J=(0,U0.resolve)(D,lD.CONFIG_FILE_NAME_JSON);return{extConfigType:"json",extConfigName:lD.CONFIG_FILE_NAME_JSON,extConfigFilePath:J,extConfig:(X=await(0,Q$.tryFn)(M1.readJSON,J))!==null&&X!==void 0?X:{}}}async function r70(D){let Y=(0,U0.join)(D,"assets"),Z="ios-spm-template.tar.gz",J="capacitor-cordova-ios-plugins.tar.gz",Q="android-template.tar.gz",w="capacitor-cordova-android-plugins.tar.gz";return{rootDir:D,assetsDir:"assets",assetsDirAbs:Y,assets:{ios:{platformTemplateArchive:"ios-spm-template.tar.gz",platformTemplateArchiveAbs:(0,U0.resolve)(Y,"ios-spm-template.tar.gz"),cordovaPluginsTemplateArchive:"capacitor-cordova-ios-plugins.tar.gz",cordovaPluginsTemplateArchiveAbs:(0,U0.resolve)(Y,"capacitor-cordova-ios-plugins.tar.gz")},android:{platformTemplateArchive:"android-template.tar.gz",platformTemplateArchiveAbs:(0,U0.resolve)(Y,"android-template.tar.gz"),cordovaPluginsTemplateArchive:"capacitor-cordova-android-plugins.tar.gz",cordovaPluginsTemplateArchiveAbs:(0,U0.resolve)(Y,"capacitor-cordova-android-plugins.tar.gz")}},package:await(0,M1.readJSON)((0,U0.resolve)(D,"package.json")),os:D40(process.platform)}}async function s70(D,X,Y){var Z,J,Q,w,F,B,q,$,G,W,O,H,M,U,N,R,z;let V="android",L=(J=(Z=X.android)===null||Z===void 0?void 0:Z.path)!==null&&J!==void 0?J:"android",C=(0,U0.resolve)(D,L),y="app",A="app/src",k="app/src/main",f="app/src/main/assets",S="app/src/main/assets/public",v="app/src/main/res",b="app/build/outputs/apk/",n=((Q=X.android)===null||Q===void 0?void 0:Q.flavor)||"";if((w=X.android)===null||w===void 0?void 0:w.flavor)b=`${b}/${(F=X.android)===null||F===void 0?void 0:F.flavor}`;let h=(0,m70.parseApkNameFromFlavor)(n),E=`${b}/debug`,P="capacitor-cordova-android-plugins",x=(0,u7.lazy)(()=>Z40(Y.os)),_={keystorePath:(q=(B=X.android)===null||B===void 0?void 0:B.buildOptions)===null||q===void 0?void 0:q.keystorePath,keystorePassword:(G=($=X.android)===null||$===void 0?void 0:$.buildOptions)===null||G===void 0?void 0:G.keystorePassword,keystoreAlias:(O=(W=X.android)===null||W===void 0?void 0:W.buildOptions)===null||O===void 0?void 0:O.keystoreAlias,keystoreAliasPassword:(M=(H=X.android)===null||H===void 0?void 0:H.buildOptions)===null||M===void 0?void 0:M.keystoreAliasPassword,signingType:(N=(U=X.android)===null||U===void 0?void 0:U.buildOptions)===null||N===void 0?void 0:N.signingType,releaseType:(z=(R=X.android)===null||R===void 0?void 0:R.buildOptions)===null||z===void 0?void 0:z.releaseType};return{name:"android",minVersion:"24",studioPath:x,platformDir:L,platformDirAbs:C,cordovaPluginsDir:P,cordovaPluginsDirAbs:(0,U0.resolve)(C,P),appDir:"app",appDirAbs:(0,U0.resolve)(C,"app"),srcDir:"app/src",srcDirAbs:(0,U0.resolve)(C,"app/src"),srcMainDir:"app/src/main",srcMainDirAbs:(0,U0.resolve)(C,"app/src/main"),assetsDir:"app/src/main/assets",assetsDirAbs:(0,U0.resolve)(C,"app/src/main/assets"),webDir:"app/src/main/assets/public",webDirAbs:(0,U0.resolve)(C,"app/src/main/assets/public"),resDir:"app/src/main/res",resDirAbs:(0,U0.resolve)(C,"app/src/main/res"),apkName:h,buildOutputDir:E,buildOutputDirAbs:(0,U0.resolve)(C,E),flavor:n,buildOptions:_}}async function o70(D,X){var Y,Z,J,Q,w,F,B,q,$,G,W,O;let H="ios",M=(Z=(Y=X.ios)===null||Y===void 0?void 0:Y.path)!==null&&Z!==void 0?Z:"ios",U=(0,U0.resolve)(D,M),N=(Q=(J=X.ios)===null||J===void 0?void 0:J.scheme)!==null&&Q!==void 0?Q:"App",R="App",z=(0,U0.resolve)(U,"App"),V="App/App",L=(0,U0.resolve)(U,"App/App"),C="App/App.xcodeproj",y=(0,U0.resolve)(U,"App/App.xcodeproj"),A=(0,u7.lazy)(()=>X40(z)),k=(0,u7.lazy)(()=>J40(D,U,z)),f=(0,u7.lazy)(()=>Y40(z,L,y)),S="capacitor-cordova-ios-plugins",v={exportMethod:(F=(w=X.ios)===null||w===void 0?void 0:w.buildOptions)===null||F===void 0?void 0:F.exportMethod,xcodeSigningStyle:(q=(B=X.ios)===null||B===void 0?void 0:B.buildOptions)===null||q===void 0?void 0:q.signingStyle,signingCertificate:(G=($=X.ios)===null||$===void 0?void 0:$.buildOptions)===null||G===void 0?void 0:G.signingCertificate,provisioningProfile:(O=(W=X.ios)===null||W===void 0?void 0:W.buildOptions)===null||O===void 0?void 0:O.provisioningProfile};return{name:"ios",minVersion:"15.0",platformDir:M,platformDirAbs:U,scheme:N,cordovaPluginsDir:"capacitor-cordova-ios-plugins",cordovaPluginsDirAbs:(0,U0.resolve)(U,"capacitor-cordova-ios-plugins"),nativeProjectDir:"App",nativeProjectDirAbs:z,nativeTargetDir:"App/App",nativeTargetDirAbs:L,nativeXcodeProjDir:"App/App.xcodeproj",nativeXcodeProjDirAbs:y,nativeXcodeWorkspaceDir:(0,u7.lazy)(async()=>(0,U0.relative)(U,await A)),nativeXcodeWorkspaceDirAbs:A,webDir:(0,u7.lazy)(async()=>(0,U0.relative)(U,await f)),webDirAbs:f,podPath:k,buildOptions:v}}async function e70(D,X){let Y=X,Z=(0,U0.resolve)(D,Y);return{name:"web",platformDir:Y,platformDirAbs:Z}}function D40(D){switch(D){case"darwin":return"mac";case"win32":return"windows";case"linux":return"linux"}return"unknown"}async function X40(D){return(0,U0.resolve)(D,"App.xcworkspace")}async function Y40(D,X,Y){let Z=/path\s=\spublic[\s\S]+?sourceTree\s=\s([^;]+)/,J=(0,U0.resolve)(Y,"project.pbxproj");try{let w=(await(0,M1.readFile)(J,{encoding:"utf8"})).match(Z);if(w&&w[1]==="SOURCE_ROOT")return d70.logger.warn(`Using the iOS project root for the ${Z5.default.strong("public")} directory is deprecated.
|
|
236
|
+
Please follow the Upgrade Guide to move ${Z5.default.strong("public")} inside the iOS target directory: ${Z5.default.strong("https://capacitorjs.com/docs/updating/3-0#move-public-into-the-ios-target-directory")}`),(0,U0.resolve)(D,"public")}catch(Q){}return(0,U0.resolve)(X,"public")}async function Z40(D){if(process.env.CAPACITOR_ANDROID_STUDIO_PATH)return process.env.CAPACITOR_ANDROID_STUDIO_PATH;switch(D){case"mac":return"/Applications/Android Studio.app";case"windows":{let{runCommand:X}=await Promise.resolve().then(()=>F$.__importStar(h2())),Y="C:\\Program Files\\Android\\Android Studio\\bin\\studio64.exe";try{if(!await(0,M1.pathExists)(Y)){let Z=await X("REG",["QUERY","HKEY_LOCAL_MACHINE\\SOFTWARE\\Android Studio","/v","Path"]);Z=Z.replace(/(\r\n|\n|\r)/gm,"");let J=Z.indexOf("REG_SZ");if(J>0)Y=Z.substring(J+6).trim()+"\\bin\\studio64.exe"}}catch(Z){w$("Error checking registry for Android Studio path: %O",Z);break}return Y}case"linux":{try{if(await(0,M1.pathExists)("/usr/local/android-studio/bin/studio"))return"/usr/local/android-studio/bin/studio"}catch(Z){w$("Error checking for studio executable: %O",Z)}return"/usr/local/android-studio/bin/studio.sh"}}return""}async function J40(D,X,Y){if(process.env.CAPACITOR_COCOAPODS_PATH)return process.env.CAPACITOR_COCOAPODS_PATH;let Z="";if(await(0,M1.pathExists)((0,U0.resolve)(D,"Gemfile")))Z=(0,U0.resolve)(D,"Gemfile");else if(await(0,M1.pathExists)((0,U0.resolve)(X,"Gemfile")))Z=(0,U0.resolve)(X,"Gemfile");else if(await(0,M1.pathExists)((0,U0.resolve)(Y,"Gemfile")))Z=(0,U0.resolve)(Y,"Gemfile");if(Z=="")try{let Q=await(0,l70.getCommandOutput)("git",["rev-parse","--show-toplevel"],{cwd:D});if(Q!=null)Z=(0,U0.resolve)(Q,"Gemfile")}catch(Q){}try{let Q=(await(0,M1.readFile)(Z)).toString();if(!Q)return"pod";if(new RegExp(/gem\s+['"]cocoapods/).test(Q))return"bundle exec pod";else return"pod"}catch{return"pod"}}function Q40(D){return`import type { CapacitorConfig } from '@capacitor/cli';
|
|
237
237
|
|
|
238
238
|
const config: CapacitorConfig = ${(0,c70.formatJSObject)(D)};
|
|
239
239
|
|
|
240
240
|
export default config;
|
|
241
|
-
`}});function w40(){try{return G$.default.statSync("/.dockerenv"),!0}catch{return!1}}function F40(){try{return G$.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function O$(){if($$===void 0)$$=w40()||F40();return $$}var G$,$$;var bf=m1(()=>{G$=
|
|
242
|
-
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var qy=m1(()=>{By()});async function E$(D=z40){let{stdout:X}=await D("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),Y=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(X);if(!Y)throw new A$(`Cannot find Windows browser in stdout: ${JSON.stringify(X)}`);let{id:Z}=Y.groups,J=Oy[Z];if(!J)throw new A$(`Unknown browser ID: ${Z}`);return J}var $y,Gy,z40,Oy,ZJ,A$;var C$=m1(()=>{$y=require("node:util"),Gy=require("node:child_process"),z40=$y.promisify(Gy.execFile),Oy={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},ZJ=new Map(Object.entries(Oy));A$=class A$ extends Error{}});async function j$(){if(JJ.default.platform==="darwin"){let D=await U$();return{name:await R$(D),id:D}}if(JJ.default.platform==="linux"){let{stdout:D}=await M40("xdg-mime",["query","default","x-scheme-handler/http"]),X=D.trim();return{name:L40(X.replace(/.desktop$/,"").replace("-"," ")),id:X}}if(JJ.default.platform==="win32")return E$();throw Error("Only macOS, Linux, and Windows are supported")}var Wy,JJ,Hy,M40,L40=(D)=>D.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(X)=>X.toUpperCase());var Ky=m1(()=>{Jy();qy();C$();C$();Wy=require("node:util"),JJ=
|
|
241
|
+
`}});function w40(){try{return G$.default.statSync("/.dockerenv"),!0}catch{return!1}}function F40(){try{return G$.default.readFileSync("/proc/self/cgroup","utf8").includes("docker")}catch{return!1}}function O$(){if($$===void 0)$$=w40()||F40();return $$}var G$,$$;var bf=m1(()=>{G$=R0(require("node:fs"))});function v7(){if(W$===void 0)W$=B40()||O$();return W$}var gf,W$,B40=()=>{try{return gf.default.statSync("/run/.containerenv"),!0}catch{return!1}};var H$=m1(()=>{bf();gf=R0(require("node:fs"))});var K$,df,cf,mf=()=>{if(K$.default.platform!=="linux")return!1;if(df.default.release().toLowerCase().includes("microsoft")){if(v7())return!1;return!0}try{return cf.default.readFileSync("/proc/version","utf8").toLowerCase().includes("microsoft")?!v7():!1}catch{return!1}},H6;var z$=m1(()=>{H$();K$=R0(require("node:process")),df=R0(require("node:os")),cf=R0(require("node:fs")),H6=K$.default.env.__IS_WSL_TEST__?mf:mf()});var M$,lf,nf,pf,q40,L$=()=>`${M$.default.env.SYSTEMROOT||M$.default.env.windir||String.raw`C:\Windows`}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`,_1=async(D,X={})=>{let{powerShellPath:Y,...Z}=X,J=_1.encodeCommand(D);return q40(Y??L$(),[..._1.argumentsPrefix,J],{encoding:"utf8",...Z})};var V$=m1(()=>{M$=R0(require("node:process")),lf=require("node:buffer"),nf=require("node:util"),pf=R0(require("node:child_process")),q40=nf.promisify(pf.default.execFile);_1.argumentsPrefix=["-NoProfile","-NonInteractive","-ExecutionPolicy","Bypass","-EncodedCommand"];_1.encodeCommand=(D)=>lf.Buffer.from(D,"utf16le").toString("base64");_1.escapeArgument=(D)=>`'${String(D).replaceAll("'","''")}'`});var tf,rf,Q5,$40,G40,O40=async()=>{return`${await G40()}c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe`},YJ,af,sf=async()=>{return af??=(async()=>{try{let D=await YJ();return await Q5.default.access(D,Q5.constants.X_OK),!0}catch{return!1}})(),af},of=async()=>{let D=await YJ(),X=String.raw`(Get-ItemProperty -Path "HKCU:\Software\Microsoft\Windows\Shell\Associations\UrlAssociations\http\UserChoice").ProgId`,{stdout:Y}=await _1(X,{powerShellPath:D});return Y.trim()},ef=async(D)=>{if(/^[a-z]+:\/\//i.test(D))return D;try{let{stdout:X}=await $40("wslpath",["-aw",D],{encoding:"utf8"});return X.trim()}catch{return D}};var Dy=m1(()=>{z$();V$();z$();tf=require("node:util"),rf=R0(require("node:child_process")),Q5=R0(require("node:fs/promises")),$40=tf.promisify(rf.default.execFile),G40=(()=>{let X;return async function(){if(X)return X;let Y="/etc/wsl.conf",Z=!1;try{await Q5.default.access(Y,Q5.constants.F_OK),Z=!0}catch{}if(!Z)return"/mnt/";let J=await Q5.default.readFile(Y,{encoding:"utf8"}),Q=/(?<!#.*)root\s*=\s*(?<mountPoint>.*)/g.exec(J);if(!Q)return"/mnt/";return X=Q.groups.mountPoint.trim(),X=X.endsWith("/")?X:`${X}/`,X}})(),YJ=H6?O40:L$});function w5(D,X,Y){let Z=(J)=>Object.defineProperty(D,X,{value:J,enumerable:!0,writable:!0});return Object.defineProperty(D,X,{configurable:!0,enumerable:!0,get(){let J=Y();return Z(J),J},set(J){Z(J)}}),D}async function U$(){if(Yy.default.platform!=="darwin")throw Error("macOS only");let{stdout:D}=await H40("defaults",["read","com.apple.LaunchServices/com.apple.launchservices.secure","LSHandlers"]),Y=/LSHandlerRoleAll = "(?!-)(?<id>[^"]+?)";\s+?LSHandlerURLScheme = (?:http|https);/.exec(D)?.groups.id??"com.apple.Safari";if(Y==="com.apple.safari")return"com.apple.Safari";return Y}var Xy,Yy,Zy,H40;var Jy=m1(()=>{Xy=require("node:util"),Yy=R0(require("node:process")),Zy=require("node:child_process"),H40=Xy.promisify(Zy.execFile)});async function Fy(D,{humanReadableOutput:X=!0,signal:Y}={}){if(Qy.default.platform!=="darwin")throw Error("macOS only");let Z=X?[]:["-ss"],J={};if(Y)J.signal=Y;let{stdout:Q}=await K40("osascript",["-e",D,Z],J);return Q.trim()}var Qy,wy,N$,K40;var By=m1(()=>{Qy=R0(require("node:process")),wy=require("node:util"),N$=require("node:child_process"),K40=wy.promisify(N$.execFile)});async function R$(D){return Fy(`tell application "Finder" to set app_path to application file id "${D}" as string
|
|
242
|
+
tell application "System Events" to get value of property list item "CFBundleName" of property list file (app_path & ":Contents:Info.plist")`)}var qy=m1(()=>{By()});async function E$(D=z40){let{stdout:X}=await D("reg",["QUERY"," HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\Shell\\Associations\\UrlAssociations\\http\\UserChoice","/v","ProgId"]),Y=/ProgId\s*REG_SZ\s*(?<id>\S+)/.exec(X);if(!Y)throw new A$(`Cannot find Windows browser in stdout: ${JSON.stringify(X)}`);let{id:Z}=Y.groups,J=Oy[Z];if(!J)throw new A$(`Unknown browser ID: ${Z}`);return J}var $y,Gy,z40,Oy,ZJ,A$;var C$=m1(()=>{$y=require("node:util"),Gy=require("node:child_process"),z40=$y.promisify(Gy.execFile),Oy={MSEdgeHTM:{name:"Edge",id:"com.microsoft.edge"},MSEdgeBHTML:{name:"Edge Beta",id:"com.microsoft.edge.beta"},MSEdgeDHTML:{name:"Edge Dev",id:"com.microsoft.edge.dev"},AppXq0fevzme2pys62n3e0fbqa7peapykr8v:{name:"Edge",id:"com.microsoft.edge.old"},ChromeHTML:{name:"Chrome",id:"com.google.chrome"},ChromeBHTML:{name:"Chrome Beta",id:"com.google.chrome.beta"},ChromeDHTML:{name:"Chrome Dev",id:"com.google.chrome.dev"},ChromiumHTM:{name:"Chromium",id:"org.chromium.Chromium"},BraveHTML:{name:"Brave",id:"com.brave.Browser"},BraveBHTML:{name:"Brave Beta",id:"com.brave.Browser.beta"},BraveDHTML:{name:"Brave Dev",id:"com.brave.Browser.dev"},BraveSSHTM:{name:"Brave Nightly",id:"com.brave.Browser.nightly"},FirefoxURL:{name:"Firefox",id:"org.mozilla.firefox"},OperaStable:{name:"Opera",id:"com.operasoftware.Opera"},VivaldiHTM:{name:"Vivaldi",id:"com.vivaldi.Vivaldi"},"IE.HTTP":{name:"Internet Explorer",id:"com.microsoft.ie"}},ZJ=new Map(Object.entries(Oy));A$=class A$ extends Error{}});async function j$(){if(JJ.default.platform==="darwin"){let D=await U$();return{name:await R$(D),id:D}}if(JJ.default.platform==="linux"){let{stdout:D}=await M40("xdg-mime",["query","default","x-scheme-handler/http"]),X=D.trim();return{name:L40(X.replace(/.desktop$/,"").replace("-"," ")),id:X}}if(JJ.default.platform==="win32")return E$();throw Error("Only macOS, Linux, and Windows are supported")}var Wy,JJ,Hy,M40,L40=(D)=>D.toLowerCase().replaceAll(/(?:^|\s|-)\S/g,(X)=>X.toUpperCase());var Ky=m1(()=>{Jy();qy();C$();C$();Wy=require("node:util"),JJ=R0(require("node:process")),Hy=require("node:child_process"),M40=Wy.promisify(Hy.execFile)});var QJ,V40,zy;var My=m1(()=>{QJ=R0(require("node:process")),V40=Boolean(QJ.default.env.SSH_CONNECTION||QJ.default.env.SSH_CLIENT||QJ.default.env.SSH_TTY),zy=V40});var P$={};D4(P$,{openApp:()=>N40,default:()=>R40,apps:()=>F5});function Ny(D){if(typeof D==="string"||Array.isArray(D))return D;let{[Vy]:X}=D;if(!X)throw Error(`${Vy} is not supported`);return X}function e3({[b7]:D},{wsl:X}={}){if(X&&H6)return Ny(X);if(!D)throw Error(`${b7} is not supported`);return Ny(D)}var FJ,I$,Ry,Ay,BJ,wJ,T$,Ly,b7,Vy,Uy=async(D,X)=>{if(D.length===0)return;let Y=[];for(let Z of D)try{return await X(Z)}catch(J){Y.push(J)}throw AggregateError(Y,"Failed to open in all supported apps")},o3=async(D)=>{D={wait:!1,background:!1,newInstance:!1,allowNonzeroExitCode:!1,...D};let X=D[wJ]===!0;if(delete D[wJ],Array.isArray(D.app))return Uy(D.app,(q)=>o3({...D,app:q,[wJ]:!0}));let{name:Y,arguments:Z=[]}=D.app??{};if(Z=[...Z],Array.isArray(Y))return Uy(Y,(q)=>o3({...D,app:{name:q,arguments:Z},[wJ]:!0}));if(Y==="browser"||Y==="browserPrivate"){let q={"com.google.chrome":"chrome","google-chrome.desktop":"chrome","com.brave.browser":"brave","org.mozilla.firefox":"firefox","firefox.desktop":"firefox","com.microsoft.msedge":"edge","com.microsoft.edge":"edge","com.microsoft.edgemac":"edge","microsoft-edge.desktop":"edge","com.apple.safari":"safari"},$={chrome:"--incognito",brave:"--incognito",firefox:"--private-window",edge:"--inPrivate"},G;if(H6){let W=await of();G=ZJ.get(W)??{}}else G=await j$();if(G.id in q){let W=q[G.id.toLowerCase()];if(Y==="browserPrivate"){if(W==="safari")throw Error("Safari doesn't support opening in private mode via command line");Z.push($[W])}return o3({...D,app:{name:F5[W],arguments:Z}})}throw Error(`${G.name} is not supported as a default browser`)}let J,Q=[],w={},F=!1;if(H6&&!v7()&&!zy&&!Y)F=await sf();if(b7==="darwin"){if(J="open",D.wait)Q.push("--wait-apps");if(D.background)Q.push("--background");if(D.newInstance)Q.push("--new");if(Y)Q.push("-a",Y)}else if(b7==="win32"||F){if(J=await YJ(),Q.push(..._1.argumentsPrefix),!H6)w.windowsVerbatimArguments=!0;if(H6&&D.target)D.target=await ef(D.target);let q=["$ProgressPreference = 'SilentlyContinue';","Start"];if(D.wait)q.push("-Wait");if(Y){if(q.push(_1.escapeArgument(Y)),D.target)Z.push(D.target)}else if(D.target)q.push(_1.escapeArgument(D.target));if(Z.length>0)Z=Z.map(($)=>_1.escapeArgument($)),q.push("-ArgumentList",Z.join(","));if(D.target=_1.encodeCommand(q.join(" ")),!D.wait)w.stdio="ignore"}else{if(Y)J=Y;else{let q=!T$||T$==="/",$=!1;try{await BJ.default.access(Ly,BJ.constants.X_OK),$=!0}catch{}J=FJ.default.versions.electron??(b7==="android"||q||!$)?"xdg-open":Ly}if(Z.length>0)Q.push(...Z);if(!D.wait)w.stdio="ignore",w.detached=!0}if(b7==="darwin"&&Z.length>0)Q.push("--args",...Z);if(D.target)Q.push(D.target);let B=Ay.default.spawn(J,Q,w);if(D.wait)return new Promise((q,$)=>{B.once("error",$),B.once("close",(G)=>{if(!D.allowNonzeroExitCode&&G!==0){$(Error(`Exited with code ${G}`));return}q(B)})});if(X)return new Promise((q,$)=>{B.once("error",$),B.once("spawn",()=>{B.once("close",(G)=>{if(B.off("error",$),G!==0){$(Error(`Exited with code ${G}`));return}B.unref(),q(B)})})});return B.unref(),new Promise((q,$)=>{B.once("error",$),B.once("spawn",()=>{B.off("error",$),q(B)})})},U40=(D,X)=>{if(typeof D!=="string")throw TypeError("Expected a `target`");return o3({...X,target:D})},N40=(D,X)=>{if(typeof D!=="string"&&!Array.isArray(D))throw TypeError("Expected a valid `name`");let{arguments:Y=[]}=X??{};if(Y!==void 0&&Y!==null&&!Array.isArray(Y))throw TypeError("Expected `appArguments` as Array type");return o3({...X,app:{name:D,arguments:Y}})},F5,R40;var S$=m1(()=>{Dy();V$();Ky();H$();My();FJ=R0(require("node:process")),I$=R0(require("node:path")),Ry=require("node:url"),Ay=R0(require("node:child_process")),BJ=R0(require("node:fs/promises")),wJ=Symbol("fallbackAttempt"),T$=I$.default.dirname(Ry.fileURLToPath("file:///home/runner/work/CLI/CLI/node_modules/open/index.js")),Ly=I$.default.join(T$,"xdg-open"),{platform:b7,arch:Vy}=FJ.default;F5={browser:"browser",browserPrivate:"browserPrivate"};w5(F5,"chrome",()=>e3({darwin:"google chrome",win32:"chrome",linux:["google-chrome","google-chrome-stable","chromium","chromium-browser"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe",x64:["/mnt/c/Program Files/Google/Chrome/Application/chrome.exe","/mnt/c/Program Files (x86)/Google/Chrome/Application/chrome.exe"]}}));w5(F5,"brave",()=>e3({darwin:"brave browser",win32:"brave",linux:["brave-browser","brave"]},{wsl:{ia32:"/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe",x64:["/mnt/c/Program Files/BraveSoftware/Brave-Browser/Application/brave.exe","/mnt/c/Program Files (x86)/BraveSoftware/Brave-Browser/Application/brave.exe"]}}));w5(F5,"firefox",()=>e3({darwin:"firefox",win32:String.raw`C:\Program Files\Mozilla Firefox\firefox.exe`,linux:"firefox"},{wsl:"/mnt/c/Program Files/Mozilla Firefox/firefox.exe"}));w5(F5,"edge",()=>e3({darwin:"microsoft edge",win32:"msedge",linux:["microsoft-edge","microsoft-edge-dev"]},{wsl:"/mnt/c/Program Files (x86)/Microsoft/Edge/Application/msedge.exe"}));w5(F5,"safari",()=>e3({darwin:"Safari"}));R40=U40});var hJ=T((Z8)=>{Z8.isInteger=(D)=>{if(typeof D==="number")return Number.isInteger(D);if(typeof D==="string"&&D.trim()!=="")return Number.isInteger(Number(D));return!1};Z8.find=(D,X)=>D.nodes.find((Y)=>Y.type===X);Z8.exceedsLimit=(D,X,Y=1,Z)=>{if(Z===!1)return!1;if(!Z8.isInteger(D)||!Z8.isInteger(X))return!1;return(Number(X)-Number(D))/Number(Y)>=Z};Z8.escapeNode=(D,X=0,Y)=>{let Z=D.nodes[X];if(!Z)return;if(Y&&Z.type===Y||Z.type==="open"||Z.type==="close"){if(Z.escaped!==!0)Z.value="\\"+Z.value,Z.escaped=!0}};Z8.encloseBrace=(D)=>{if(D.type!=="brace")return!1;if(D.commas>>0+D.ranges>>0===0)return D.invalid=!0,!0;return!1};Z8.isInvalidBrace=(D)=>{if(D.type!=="brace")return!1;if(D.invalid===!0||D.dollar)return!0;if(D.commas>>0+D.ranges>>0===0)return D.invalid=!0,!0;if(D.open!==!0||D.close!==!0)return D.invalid=!0,!0;return!1};Z8.isOpenOrClose=(D)=>{if(D.type==="open"||D.type==="close")return!0;return D.open===!0||D.close===!0};Z8.reduce=(D)=>D.reduce((X,Y)=>{if(Y.type==="text")X.push(Y.value);if(Y.type==="range")Y.type="text";return X},[]);Z8.flatten=(...D)=>{let X=[],Y=(Z)=>{for(let J=0;J<Z.length;J++){let Q=Z[J];if(Array.isArray(Q)){Y(Q);continue}if(Q!==void 0)X.push(Q)}return X};return Y(D),X}});var _J=T((PW0,ak)=>{var pk=hJ();ak.exports=(D,X={})=>{let Y=(Z,J={})=>{let Q=X.escapeInvalid&&pk.isInvalidBrace(J),w=Z.invalid===!0&&X.escapeInvalid===!0,F="";if(Z.value){if((Q||w)&&pk.isOpenOrClose(Z))return"\\"+Z.value;return Z.value}if(Z.value)return Z.value;if(Z.nodes)for(let B of Z.nodes)F+=Y(B);return F};return Y(D)}});var rk=T((SW0,tk)=>{/*!
|
|
243
243
|
* is-number <https://github.com/jonschlinkert/is-number>
|
|
244
244
|
*
|
|
245
245
|
* Copyright (c) 2014-present, Jon Schlinkert.
|
|
@@ -255,7 +255,7 @@ tell application "System Events" to get value of property list item "CFBundleNam
|
|
|
255
255
|
* Copyright (c) 2014-present, Jon Schlinkert.
|
|
256
256
|
* Licensed under the MIT License.
|
|
257
257
|
*/var T30=require("util"),Fu=Qu(),wu=(D)=>D!==null&&typeof D==="object"&&!Array.isArray(D),I30=(D)=>{return(X)=>D===!0?Number(X):String(X)},DG=(D)=>{return typeof D==="number"||typeof D==="string"&&D!==""},BX=(D)=>Number.isInteger(+D),XG=(D)=>{let X=`${D}`,Y=-1;if(X[0]==="-")X=X.slice(1);if(X==="0")return!1;while(X[++Y]==="0");return Y>0},P30=(D,X,Y)=>{if(typeof D==="string"||typeof X==="string")return!0;return Y.stringify===!0},S30=(D,X,Y)=>{if(X>0){let Z=D[0]==="-"?"-":"";if(Z)D=D.slice(1);D=Z+D.padStart(Z?X-1:X,"0")}if(Y===!1)return String(D);return D},bJ=(D,X)=>{let Y=D[0]==="-"?"-":"";if(Y)D=D.slice(1),X--;while(D.length<X)D="0"+D;return Y?"-"+D:D},x30=(D,X,Y)=>{D.negatives.sort((F,B)=>F<B?-1:F>B?1:0),D.positives.sort((F,B)=>F<B?-1:F>B?1:0);let Z=X.capture?"":"?:",J="",Q="",w;if(D.positives.length)J=D.positives.map((F)=>bJ(String(F),Y)).join("|");if(D.negatives.length)Q=`-(${Z}${D.negatives.map((F)=>bJ(String(F),Y)).join("|")})`;if(J&&Q)w=`${J}|${Q}`;else w=J||Q;if(X.wrap)return`(${Z}${w})`;return w},Bu=(D,X,Y,Z)=>{if(Y)return Fu(D,X,{wrap:!1,...Z});let J=String.fromCharCode(D);if(D===X)return J;let Q=String.fromCharCode(X);return`[${J}-${Q}]`},qu=(D,X,Y)=>{if(Array.isArray(D)){let Z=Y.wrap===!0,J=Y.capture?"":"?:";return Z?`(${J}${D.join("|")})`:D.join("|")}return Fu(D,X,Y)},$u=(...D)=>{return RangeError("Invalid range arguments: "+T30.inspect(...D))},Gu=(D,X,Y)=>{if(Y.strictRanges===!0)throw $u([D,X]);return[]},f30=(D,X)=>{if(X.strictRanges===!0)throw TypeError(`Expected step "${D}" to be a number`);return[]},y30=(D,X,Y=1,Z={})=>{let J=Number(D),Q=Number(X);if(!Number.isInteger(J)||!Number.isInteger(Q)){if(Z.strictRanges===!0)throw $u([D,X]);return[]}if(J===0)J=0;if(Q===0)Q=0;let w=J>Q,F=String(D),B=String(X),q=String(Y);Y=Math.max(Math.abs(Y),1);let $=XG(F)||XG(B)||XG(q),G=$?Math.max(F.length,B.length,q.length):0,W=$===!1&&P30(D,X,Z)===!1,O=Z.transform||I30(W);if(Z.toRegex&&Y===1)return Bu(bJ(D,G),bJ(X,G),!0,Z);let H={negatives:[],positives:[]},M=(R)=>H[R<0?"negatives":"positives"].push(Math.abs(R)),U=[],N=0;while(w?J>=Q:J<=Q){if(Z.toRegex===!0&&Y>1)M(J);else U.push(S30(O(J,N),G,W));J=w?J-Y:J+Y,N++}if(Z.toRegex===!0)return Y>1?x30(H,Z,G):qu(U,null,{wrap:!1,...Z});return U},k30=(D,X,Y=1,Z={})=>{if(!BX(D)&&D.length>1||!BX(X)&&X.length>1)return Gu(D,X,Z);let J=Z.transform||((W)=>String.fromCharCode(W)),Q=`${D}`.charCodeAt(0),w=`${X}`.charCodeAt(0),F=Q>w,B=Math.min(Q,w),q=Math.max(Q,w);if(Z.toRegex&&Y===1)return Bu(B,q,!1,Z);let $=[],G=0;while(F?Q>=w:Q<=w)$.push(J(Q,G)),Q=F?Q-Y:Q+Y,G++;if(Z.toRegex===!0)return qu($,null,{wrap:!1,options:Z});return $},vJ=(D,X,Y,Z={})=>{if(X==null&&DG(D))return[D];if(!DG(D)||!DG(X))return Gu(D,X,Z);if(typeof Y==="function")return vJ(D,X,1,{transform:Y});if(wu(Y))return vJ(D,X,0,Y);let J={...Z};if(J.capture===!0)J.wrap=!0;if(Y=Y||J.step||1,!BX(Y)){if(Y!=null&&!wu(Y))return f30(Y,J);return vJ(D,X,1,Y)}if(BX(D)&&BX(X))return y30(D,X,Y,J);return k30(D,X,Math.max(Math.abs(Y),1),J)};Ou.exports=vJ});var Ku=T((yW0,Hu)=>{var u30=YG(),Wu=hJ(),h30=(D,X={})=>{let Y=(Z,J={})=>{let Q=Wu.isInvalidBrace(J),w=Z.invalid===!0&&X.escapeInvalid===!0,F=Q===!0||w===!0,B=X.escapeInvalid===!0?"\\":"",q="";if(Z.isOpen===!0)return B+Z.value;if(Z.isClose===!0)return console.log("node.isClose",B,Z.value),B+Z.value;if(Z.type==="open")return F?B+Z.value:"(";if(Z.type==="close")return F?B+Z.value:")";if(Z.type==="comma")return Z.prev.type==="comma"?"":F?Z.value:"|";if(Z.value)return Z.value;if(Z.nodes&&Z.ranges>0){let $=Wu.reduce(Z.nodes),G=u30(...$,{...X,wrap:!1,toRegex:!0,strictZeros:!0});if(G.length!==0)return $.length>1&&G.length>1?`(${G})`:G}if(Z.nodes)for(let $ of Z.nodes)q+=Y($,Z);return q};return Y(D)};Hu.exports=h30});var Lu=T((kW0,Mu)=>{var _30=YG(),zu=_J(),s7=hJ(),L5=(D="",X="",Y=!1)=>{let Z=[];if(D=[].concat(D),X=[].concat(X),!X.length)return D;if(!D.length)return Y?s7.flatten(X).map((J)=>`{${J}}`):X;for(let J of D)if(Array.isArray(J))for(let Q of J)Z.push(L5(Q,X,Y));else for(let Q of X){if(Y===!0&&typeof Q==="string")Q=`{${Q}}`;Z.push(Array.isArray(Q)?L5(J,Q,Y):J+Q)}return s7.flatten(Z)},v30=(D,X={})=>{let Y=X.rangeLimit===void 0?1000:X.rangeLimit,Z=(J,Q={})=>{J.queue=[];let w=Q,F=Q.queue;while(w.type!=="brace"&&w.type!=="root"&&w.parent)w=w.parent,F=w.queue;if(J.invalid||J.dollar){F.push(L5(F.pop(),zu(J,X)));return}if(J.type==="brace"&&J.invalid!==!0&&J.nodes.length===2){F.push(L5(F.pop(),["{}"]));return}if(J.nodes&&J.ranges>0){let G=s7.reduce(J.nodes);if(s7.exceedsLimit(...G,X.step,Y))throw RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let W=_30(...G,X);if(W.length===0)W=zu(J,X);F.push(L5(F.pop(),W)),J.nodes=[];return}let B=s7.encloseBrace(J),q=J.queue,$=J;while($.type!=="brace"&&$.type!=="root"&&$.parent)$=$.parent,q=$.queue;for(let G=0;G<J.nodes.length;G++){let W=J.nodes[G];if(W.type==="comma"&&J.type==="brace"){if(G===1)q.push("");q.push("");continue}if(W.type==="close"){F.push(L5(F.pop(),q,B));continue}if(W.value&&W.type!=="open"){q.push(L5(q.pop(),W.value));continue}if(W.nodes)Z(W,J)}return q};return s7.flatten(Z(D))};Mu.exports=v30});var Uu=T((uW0,Vu)=>{Vu.exports={MAX_LENGTH:1e4,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:`
|
|
258
|
-
`,CHAR_NO_BREAK_SPACE:" ",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Cu=T((hW0,Eu)=>{var b30=_J(),{MAX_LENGTH:Nu,CHAR_BACKSLASH:ZG,CHAR_BACKTICK:g30,CHAR_COMMA:m30,CHAR_DOT:d30,CHAR_LEFT_PARENTHESES:c30,CHAR_RIGHT_PARENTHESES:l30,CHAR_LEFT_CURLY_BRACE:n30,CHAR_RIGHT_CURLY_BRACE:i30,CHAR_LEFT_SQUARE_BRACKET:Ru,CHAR_RIGHT_SQUARE_BRACKET:Au,CHAR_DOUBLE_QUOTE:p30,CHAR_SINGLE_QUOTE:a30,CHAR_NO_BREAK_SPACE:t30,CHAR_ZERO_WIDTH_NOBREAK_SPACE:r30}=Uu(),s30=(D,X={})=>{if(typeof D!=="string")throw TypeError("Expected a string");let Y=X||{},Z=typeof Y.maxLength==="number"?Math.min(Nu,Y.maxLength):Nu;if(D.length>Z)throw SyntaxError(`Input length (${D.length}), exceeds max characters (${Z})`);let J={type:"root",input:D,nodes:[]},Q=[J],w=J,F=J,B=0,q=D.length,$=0,G=0,W,O=()=>D[$++],H=(M)=>{if(M.type==="text"&&F.type==="dot")F.type="text";if(F&&F.type==="text"&&M.type==="text"){F.value+=M.value;return}return w.nodes.push(M),M.parent=w,M.prev=F,F=M,M};H({type:"bos"});while($<q){if(w=Q[Q.length-1],W=O(),W===r30||W===t30)continue;if(W===ZG){H({type:"text",value:(X.keepEscaping?W:"")+O()});continue}if(W===Au){H({type:"text",value:"\\"+W});continue}if(W===Ru){B++;let M;while($<q&&(M=O())){if(W+=M,M===Ru){B++;continue}if(M===ZG){W+=O();continue}if(M===Au){if(B--,B===0)break}}H({type:"text",value:W});continue}if(W===c30){w=H({type:"paren",nodes:[]}),Q.push(w),H({type:"text",value:W});continue}if(W===l30){if(w.type!=="paren"){H({type:"text",value:W});continue}w=Q.pop(),H({type:"text",value:W}),w=Q[Q.length-1];continue}if(W===p30||W===a30||W===g30){let M=W,U;if(X.keepQuotes!==!0)W="";while($<q&&(U=O())){if(U===ZG){W+=U+O();continue}if(U===M){if(X.keepQuotes===!0)W+=U;break}W+=U}H({type:"text",value:W});continue}if(W===n30){G++;let U={type:"brace",open:!0,close:!1,dollar:F.value&&F.value.slice(-1)==="$"||w.dollar===!0,depth:G,commas:0,ranges:0,nodes:[]};w=H(U),Q.push(w),H({type:"open",value:W});continue}if(W===i30){if(w.type!=="brace"){H({type:"text",value:W});continue}let M="close";w=Q.pop(),w.close=!0,H({type:M,value:W}),G--,w=Q[Q.length-1];continue}if(W===m30&&G>0){if(w.ranges>0){w.ranges=0;let M=w.nodes.shift();w.nodes=[M,{type:"text",value:b30(w)}]}H({type:"comma",value:W}),w.commas++;continue}if(W===d30&&G>0&&w.commas===0){let M=w.nodes;if(G===0||M.length===0){H({type:"text",value:W});continue}if(F.type==="dot"){if(w.range=[],F.value+=W,F.type="range",w.nodes.length!==3&&w.nodes.length!==5){w.invalid=!0,w.ranges=0,F.type="text";continue}w.ranges++,w.args=[];continue}if(F.type==="range"){M.pop();let U=M[M.length-1];U.value+=F.value+W,F=U,w.ranges--;continue}H({type:"dot",value:W});continue}H({type:"text",value:W})}do if(w=Q.pop(),w.type!=="root"){w.nodes.forEach((N)=>{if(!N.nodes){if(N.type==="open")N.isOpen=!0;if(N.type==="close")N.isClose=!0;if(!N.nodes)N.type="text";N.invalid=!0}});let M=Q[Q.length-1],U=M.nodes.indexOf(w);M.nodes.splice(U,1,...w.nodes)}while(Q.length>0);return H({type:"eos"}),J};Eu.exports=s30});var Iu=T((_W0,Tu)=>{var ju=_J(),o30=Ku(),e30=Lu(),DX0=Cu(),b1=(D,X={})=>{let Y=[];if(Array.isArray(D))for(let Z of D){let J=b1.create(Z,X);if(Array.isArray(J))Y.push(...J);else Y.push(J)}else Y=[].concat(b1.create(D,X));if(X&&X.expand===!0&&X.nodupes===!0)Y=[...new Set(Y)];return Y};b1.parse=(D,X={})=>DX0(D,X);b1.stringify=(D,X={})=>{if(typeof D==="string")return ju(b1.parse(D,X),X);return ju(D,X)};b1.compile=(D,X={})=>{if(typeof D==="string")D=b1.parse(D,X);return o30(D,X)};b1.expand=(D,X={})=>{if(typeof D==="string")D=b1.parse(D,X);let Y=e30(D,X);if(X.noempty===!0)Y=Y.filter(Boolean);if(X.nodupes===!0)Y=[...new Set(Y)];return Y};b1.create=(D,X={})=>{if(D===""||D.length<3)return[D];return X.expand!==!0?b1.compile(D,X):b1.expand(D,X)};Tu.exports=b1});var qX=T((vW0,Su)=>{var XX0=require("path"),Pu={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)"},YX0={...Pu,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)"},ZX0={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Su.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:ZX0,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:XX0.sep,extglobChars(D){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${D.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(D){return D===!0?YX0:Pu}}});var $X=T((y1)=>{var JX0=require("path"),QX0=process.platform==="win32",{REGEX_BACKSLASH:wX0,REGEX_REMOVE_BACKSLASH:FX0,REGEX_SPECIAL_CHARS:BX0,REGEX_SPECIAL_CHARS_GLOBAL:qX0}=qX();y1.isObject=(D)=>D!==null&&typeof D==="object"&&!Array.isArray(D);y1.hasRegexChars=(D)=>BX0.test(D);y1.isRegexChar=(D)=>D.length===1&&y1.hasRegexChars(D);y1.escapeRegex=(D)=>D.replace(qX0,"\\$1");y1.toPosixSlashes=(D)=>D.replace(wX0,"/");y1.removeBackslashes=(D)=>{return D.replace(FX0,(X)=>{return X==="\\"?"":X})};y1.supportsLookbehinds=()=>{let D=process.version.slice(1).split(".").map(Number);if(D.length===3&&D[0]>=9||D[0]===8&&D[1]>=10)return!0;return!1};y1.isWindows=(D)=>{if(D&&typeof D.windows==="boolean")return D.windows;return QX0===!0||JX0.sep==="\\"};y1.escapeLast=(D,X,Y)=>{let Z=D.lastIndexOf(X,Y);if(Z===-1)return D;if(D[Z-1]==="\\")return y1.escapeLast(D,X,Z-1);return`${D.slice(0,Z)}\\${D.slice(Z)}`};y1.removePrefix=(D,X={})=>{let Y=D;if(Y.startsWith("./"))Y=Y.slice(2),X.prefix="./";return Y};y1.wrapOutput=(D,X={},Y={})=>{let Z=Y.contains?"":"^",J=Y.contains?"":"$",Q=`${Z}(?:${D})${J}`;if(X.negated===!0)Q=`(?:^(?!${Q}).*$)`;return Q}});var vu=T((gW0,_u)=>{var xu=$X(),{CHAR_ASTERISK:JG,CHAR_AT:$X0,CHAR_BACKWARD_SLASH:GX,CHAR_COMMA:GX0,CHAR_DOT:QG,CHAR_EXCLAMATION_MARK:wG,CHAR_FORWARD_SLASH:hu,CHAR_LEFT_CURLY_BRACE:FG,CHAR_LEFT_PARENTHESES:BG,CHAR_LEFT_SQUARE_BRACKET:OX0,CHAR_PLUS:WX0,CHAR_QUESTION_MARK:fu,CHAR_RIGHT_CURLY_BRACE:HX0,CHAR_RIGHT_PARENTHESES:yu,CHAR_RIGHT_SQUARE_BRACKET:KX0}=qX(),ku=(D)=>{return D===hu||D===GX},uu=(D)=>{if(D.isPrefix!==!0)D.depth=D.isGlobstar?1/0:1},zX0=(D,X)=>{let Y=X||{},Z=D.length-1,J=Y.parts===!0||Y.scanToEnd===!0,Q=[],w=[],F=[],B=D,q=-1,$=0,G=0,W=!1,O=!1,H=!1,M=!1,U=!1,N=!1,R=!1,z=!1,V=!1,L=!1,C=0,y,A,k={value:"",depth:0,isGlob:!1},f=()=>q>=Z,S=()=>B.charCodeAt(q+1),v=()=>{return y=A,B.charCodeAt(++q)};while(q<Z){A=v();let P;if(A===GX){if(R=k.backslashes=!0,A=v(),A===FG)N=!0;continue}if(N===!0||A===FG){C++;while(f()!==!0&&(A=v())){if(A===GX){R=k.backslashes=!0,v();continue}if(A===FG){C++;continue}if(N!==!0&&A===QG&&(A=v())===QG){if(W=k.isBrace=!0,H=k.isGlob=!0,L=!0,J===!0)continue;break}if(N!==!0&&A===GX0){if(W=k.isBrace=!0,H=k.isGlob=!0,L=!0,J===!0)continue;break}if(A===HX0){if(C--,C===0){N=!1,W=k.isBrace=!0,L=!0;break}}}if(J===!0)continue;break}if(A===hu){if(Q.push(q),w.push(k),k={value:"",depth:0,isGlob:!1},L===!0)continue;if(y===QG&&q===$+1){$+=2;continue}G=q+1;continue}if(Y.noext!==!0){if((A===WX0||A===$X0||A===JG||A===fu||A===wG)===!0&&S()===BG){if(H=k.isGlob=!0,M=k.isExtglob=!0,L=!0,A===wG&&q===$)V=!0;if(J===!0){while(f()!==!0&&(A=v())){if(A===GX){R=k.backslashes=!0,A=v();continue}if(A===yu){H=k.isGlob=!0,L=!0;break}}continue}break}}if(A===JG){if(y===JG)U=k.isGlobstar=!0;if(H=k.isGlob=!0,L=!0,J===!0)continue;break}if(A===fu){if(H=k.isGlob=!0,L=!0,J===!0)continue;break}if(A===OX0){while(f()!==!0&&(P=v())){if(P===GX){R=k.backslashes=!0,v();continue}if(P===KX0){O=k.isBracket=!0,H=k.isGlob=!0,L=!0;break}}if(J===!0)continue;break}if(Y.nonegate!==!0&&A===wG&&q===$){z=k.negated=!0,$++;continue}if(Y.noparen!==!0&&A===BG){if(H=k.isGlob=!0,J===!0){while(f()!==!0&&(A=v())){if(A===BG){R=k.backslashes=!0,A=v();continue}if(A===yu){L=!0;break}}continue}break}if(H===!0){if(L=!0,J===!0)continue;break}}if(Y.noext===!0)M=!1,H=!1;let b=B,n="",h="";if($>0)n=B.slice(0,$),B=B.slice($),G-=$;if(b&&H===!0&&G>0)b=B.slice(0,G),h=B.slice(G);else if(H===!0)b="",h=B;else b=B;if(b&&b!==""&&b!=="/"&&b!==B){if(ku(b.charCodeAt(b.length-1)))b=b.slice(0,-1)}if(Y.unescape===!0){if(h)h=xu.removeBackslashes(h);if(b&&R===!0)b=xu.removeBackslashes(b)}let E={prefix:n,input:D,start:$,base:b,glob:h,isBrace:W,isBracket:O,isGlob:H,isExtglob:M,isGlobstar:U,negated:z,negatedExtglob:V};if(Y.tokens===!0){if(E.maxDepth=0,!ku(A))w.push(k);E.tokens=w}if(Y.parts===!0||Y.tokens===!0){let P;for(let x=0;x<Q.length;x++){let _=P?P+1:$,g=Q[x],m=D.slice(_,g);if(Y.tokens){if(x===0&&$!==0)w[x].isPrefix=!0,w[x].value=n;else w[x].value=m;uu(w[x]),E.maxDepth+=w[x].depth}if(x!==0||m!=="")F.push(m);P=g}if(P&&P+1<D.length){let x=D.slice(P+1);if(F.push(x),Y.tokens)w[w.length-1].value=x,uu(w[w.length-1]),E.maxDepth+=w[w.length-1].depth}E.slashes=Q,E.parts=F}return E};_u.exports=zX0});var mu=T((mW0,gu)=>{var gJ=qX(),g1=$X(),{MAX_LENGTH:mJ,POSIX_REGEX_SOURCE:MX0,REGEX_NON_SPECIAL_CHARS:LX0,REGEX_SPECIAL_CHARS_BACKREF:VX0,REPLACEMENTS:bu}=gJ,UX0=(D,X)=>{if(typeof X.expandRange==="function")return X.expandRange(...D,X);D.sort();let Y=`[${D.join("-")}]`;try{new RegExp(Y)}catch(Z){return D.map((J)=>g1.escapeRegex(J)).join("..")}return Y},o7=(D,X)=>{return`Missing ${D}: "${X}" - use "\\\\${X}" to match literal characters`},qG=(D,X)=>{if(typeof D!=="string")throw TypeError("Expected a string");D=bu[D]||D;let Y={...X},Z=typeof Y.maxLength==="number"?Math.min(mJ,Y.maxLength):mJ,J=D.length;if(J>Z)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Z}`);let Q={type:"bos",value:"",output:Y.prepend||""},w=[Q],F=Y.capture?"":"?:",B=g1.isWindows(X),q=gJ.globChars(B),$=gJ.extglobChars(q),{DOT_LITERAL:G,PLUS_LITERAL:W,SLASH_LITERAL:O,ONE_CHAR:H,DOTS_SLASH:M,NO_DOT:U,NO_DOT_SLASH:N,NO_DOTS_SLASH:R,QMARK:z,QMARK_NO_DOT:V,STAR:L,START_ANCHOR:C}=q,y=(u)=>{return`(${F}(?:(?!${C}${u.dot?M:G}).)*?)`},A=Y.dot?"":U,k=Y.dot?z:V,f=Y.bash===!0?y(Y):L;if(Y.capture)f=`(${f})`;if(typeof Y.noext==="boolean")Y.noextglob=Y.noext;let S={input:D,index:-1,start:0,dot:Y.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:w};D=g1.removePrefix(D,S),J=D.length;let v=[],b=[],n=[],h=Q,E,P=()=>S.index===J-1,x=S.peek=(u=1)=>D[S.index+u],_=S.advance=()=>D[++S.index]||"",g=()=>D.slice(S.index+1),m=(u="",w0=0)=>{S.consumed+=u,S.index+=w0},a=(u)=>{S.output+=u.output!=null?u.output:u.value,m(u.value)},d=()=>{let u=1;while(x()==="!"&&(x(2)!=="("||x(3)==="?"))_(),S.start++,u++;if(u%2===0)return!1;return S.negated=!0,S.start++,!0},c=(u)=>{S[u]++,n.push(u)},o=(u)=>{S[u]--,n.pop()},I=(u)=>{if(h.type==="globstar"){let w0=S.braces>0&&(u.type==="comma"||u.type==="brace"),i=u.extglob===!0||v.length&&(u.type==="pipe"||u.type==="paren");if(u.type!=="slash"&&u.type!=="paren"&&!w0&&!i)S.output=S.output.slice(0,-h.output.length),h.type="star",h.value="*",h.output=f,S.output+=h.output}if(v.length&&u.type!=="paren")v[v.length-1].inner+=u.value;if(u.value||u.output)a(u);if(h&&h.type==="text"&&u.type==="text"){h.value+=u.value,h.output=(h.output||"")+u.value;return}u.prev=h,w.push(u),h=u},j=(u,w0)=>{let i={...$[w0],conditions:1,inner:""};i.prev=h,i.parens=S.parens,i.output=S.output;let B0=(Y.capture?"(":"")+i.open;c("parens"),I({type:u,value:w0,output:S.output?"":H}),I({type:"paren",extglob:!0,value:_(),output:B0}),v.push(i)},l=(u)=>{let w0=u.close+(Y.capture?")":""),i;if(u.type==="negate"){let B0=f;if(u.inner&&u.inner.length>1&&u.inner.includes("/"))B0=y(Y);if(B0!==f||P()||/^\)+$/.test(g()))w0=u.close=`)$))${B0}`;if(u.inner.includes("*")&&(i=g())&&/^\.[^\\/.]+$/.test(i)){let R0=qG(i,{...X,fastpaths:!1}).output;w0=u.close=`)${R0})${B0})`}if(u.prev.type==="bos")S.negatedExtglob=!0}I({type:"paren",extglob:!0,value:E,output:w0}),o("parens")};if(Y.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(D)){let u=!1,w0=D.replace(VX0,(i,B0,R0,S0,a0,jD)=>{if(S0==="\\")return u=!0,i;if(S0==="?"){if(B0)return B0+S0+(a0?z.repeat(a0.length):"");if(jD===0)return k+(a0?z.repeat(a0.length):"");return z.repeat(R0.length)}if(S0===".")return G.repeat(R0.length);if(S0==="*"){if(B0)return B0+S0+(a0?f:"");return f}return B0?i:`\\${i}`});if(u===!0)if(Y.unescape===!0)w0=w0.replace(/\\/g,"");else w0=w0.replace(/\\+/g,(i)=>{return i.length%2===0?"\\\\":i?"\\":""});if(w0===D&&Y.contains===!0)return S.output=D,S;return S.output=g1.wrapOutput(w0,S,X),S}while(!P()){if(E=_(),E==="\x00")continue;if(E==="\\"){let i=x();if(i==="/"&&Y.bash!==!0)continue;if(i==="."||i===";")continue;if(!i){E+="\\",I({type:"text",value:E});continue}let B0=/^\\+/.exec(g()),R0=0;if(B0&&B0[0].length>2){if(R0=B0[0].length,S.index+=R0,R0%2!==0)E+="\\"}if(Y.unescape===!0)E=_();else E+=_();if(S.brackets===0){I({type:"text",value:E});continue}}if(S.brackets>0&&(E!=="]"||h.value==="["||h.value==="[^")){if(Y.posix!==!1&&E===":"){let i=h.value.slice(1);if(i.includes("[")){if(h.posix=!0,i.includes(":")){let B0=h.value.lastIndexOf("["),R0=h.value.slice(0,B0),S0=h.value.slice(B0+2),a0=MX0[S0];if(a0){if(h.value=R0+a0,S.backtrack=!0,_(),!Q.output&&w.indexOf(h)===1)Q.output=H;continue}}}}if(E==="["&&x()!==":"||E==="-"&&x()==="]")E=`\\${E}`;if(E==="]"&&(h.value==="["||h.value==="[^"))E=`\\${E}`;if(Y.posix===!0&&E==="!"&&h.value==="[")E="^";h.value+=E,a({value:E});continue}if(S.quotes===1&&E!=='"'){E=g1.escapeRegex(E),h.value+=E,a({value:E});continue}if(E==='"'){if(S.quotes=S.quotes===1?0:1,Y.keepQuotes===!0)I({type:"text",value:E});continue}if(E==="("){c("parens"),I({type:"paren",value:E});continue}if(E===")"){if(S.parens===0&&Y.strictBrackets===!0)throw SyntaxError(o7("opening","("));let i=v[v.length-1];if(i&&S.parens===i.parens+1){l(v.pop());continue}I({type:"paren",value:E,output:S.parens?")":"\\)"}),o("parens");continue}if(E==="["){if(Y.nobracket===!0||!g().includes("]")){if(Y.nobracket!==!0&&Y.strictBrackets===!0)throw SyntaxError(o7("closing","]"));E=`\\${E}`}else c("brackets");I({type:"bracket",value:E});continue}if(E==="]"){if(Y.nobracket===!0||h&&h.type==="bracket"&&h.value.length===1){I({type:"text",value:E,output:`\\${E}`});continue}if(S.brackets===0){if(Y.strictBrackets===!0)throw SyntaxError(o7("opening","["));I({type:"text",value:E,output:`\\${E}`});continue}o("brackets");let i=h.value.slice(1);if(h.posix!==!0&&i[0]==="^"&&!i.includes("/"))E=`/${E}`;if(h.value+=E,a({value:E}),Y.literalBrackets===!1||g1.hasRegexChars(i))continue;let B0=g1.escapeRegex(h.value);if(S.output=S.output.slice(0,-h.value.length),Y.literalBrackets===!0){S.output+=B0,h.value=B0;continue}h.value=`(${F}${B0}|${h.value})`,S.output+=h.value;continue}if(E==="{"&&Y.nobrace!==!0){c("braces");let i={type:"brace",value:E,output:"(",outputIndex:S.output.length,tokensIndex:S.tokens.length};b.push(i),I(i);continue}if(E==="}"){let i=b[b.length-1];if(Y.nobrace===!0||!i){I({type:"text",value:E,output:E});continue}let B0=")";if(i.dots===!0){let R0=w.slice(),S0=[];for(let a0=R0.length-1;a0>=0;a0--){if(w.pop(),R0[a0].type==="brace")break;if(R0[a0].type!=="dots")S0.unshift(R0[a0].value)}B0=UX0(S0,Y),S.backtrack=!0}if(i.comma!==!0&&i.dots!==!0){let R0=S.output.slice(0,i.outputIndex),S0=S.tokens.slice(i.tokensIndex);i.value=i.output="\\{",E=B0="\\}",S.output=R0;for(let a0 of S0)S.output+=a0.output||a0.value}I({type:"brace",value:E,output:B0}),o("braces"),b.pop();continue}if(E==="|"){if(v.length>0)v[v.length-1].conditions++;I({type:"text",value:E});continue}if(E===","){let i=E,B0=b[b.length-1];if(B0&&n[n.length-1]==="braces")B0.comma=!0,i="|";I({type:"comma",value:E,output:i});continue}if(E==="/"){if(h.type==="dot"&&S.index===S.start+1){S.start=S.index+1,S.consumed="",S.output="",w.pop(),h=Q;continue}I({type:"slash",value:E,output:O});continue}if(E==="."){if(S.braces>0&&h.type==="dot"){if(h.value===".")h.output=G;let i=b[b.length-1];h.type="dots",h.output+=E,h.value+=E,i.dots=!0;continue}if(S.braces+S.parens===0&&h.type!=="bos"&&h.type!=="slash"){I({type:"text",value:E,output:G});continue}I({type:"dot",value:E,output:G});continue}if(E==="?"){if(!(h&&h.value==="(")&&Y.noextglob!==!0&&x()==="("&&x(2)!=="?"){j("qmark",E);continue}if(h&&h.type==="paren"){let B0=x(),R0=E;if(B0==="<"&&!g1.supportsLookbehinds())throw Error("Node.js v10 or higher is required for regex lookbehinds");if(h.value==="("&&!/[!=<:]/.test(B0)||B0==="<"&&!/<([!=]|\w+>)/.test(g()))R0=`\\${E}`;I({type:"text",value:E,output:R0});continue}if(Y.dot!==!0&&(h.type==="slash"||h.type==="bos")){I({type:"qmark",value:E,output:V});continue}I({type:"qmark",value:E,output:z});continue}if(E==="!"){if(Y.noextglob!==!0&&x()==="("){if(x(2)!=="?"||!/[!=<:]/.test(x(3))){j("negate",E);continue}}if(Y.nonegate!==!0&&S.index===0){d();continue}}if(E==="+"){if(Y.noextglob!==!0&&x()==="("&&x(2)!=="?"){j("plus",E);continue}if(h&&h.value==="("||Y.regex===!1){I({type:"plus",value:E,output:W});continue}if(h&&(h.type==="bracket"||h.type==="paren"||h.type==="brace")||S.parens>0){I({type:"plus",value:E});continue}I({type:"plus",value:W});continue}if(E==="@"){if(Y.noextglob!==!0&&x()==="("&&x(2)!=="?"){I({type:"at",extglob:!0,value:E,output:""});continue}I({type:"text",value:E});continue}if(E!=="*"){if(E==="$"||E==="^")E=`\\${E}`;let i=LX0.exec(g());if(i)E+=i[0],S.index+=i[0].length;I({type:"text",value:E});continue}if(h&&(h.type==="globstar"||h.star===!0)){h.type="star",h.star=!0,h.value+=E,h.output=f,S.backtrack=!0,S.globstar=!0,m(E);continue}let u=g();if(Y.noextglob!==!0&&/^\([^?]/.test(u)){j("star",E);continue}if(h.type==="star"){if(Y.noglobstar===!0){m(E);continue}let i=h.prev,B0=i.prev,R0=i.type==="slash"||i.type==="bos",S0=B0&&(B0.type==="star"||B0.type==="globstar");if(Y.bash===!0&&(!R0||u[0]&&u[0]!=="/")){I({type:"star",value:E,output:""});continue}let a0=S.braces>0&&(i.type==="comma"||i.type==="brace"),jD=v.length&&(i.type==="pipe"||i.type==="paren");if(!R0&&i.type!=="paren"&&!a0&&!jD){I({type:"star",value:E,output:""});continue}while(u.slice(0,3)==="/**"){let N1=D[S.index+4];if(N1&&N1!=="/")break;u=u.slice(3),m("/**",3)}if(i.type==="bos"&&P()){h.type="globstar",h.value+=E,h.output=y(Y),S.output=h.output,S.globstar=!0,m(E);continue}if(i.type==="slash"&&i.prev.type!=="bos"&&!S0&&P()){S.output=S.output.slice(0,-(i.output+h.output).length),i.output=`(?:${i.output}`,h.type="globstar",h.output=y(Y)+(Y.strictSlashes?")":"|$)"),h.value+=E,S.globstar=!0,S.output+=i.output+h.output,m(E);continue}if(i.type==="slash"&&i.prev.type!=="bos"&&u[0]==="/"){let N1=u[1]!==void 0?"|$":"";S.output=S.output.slice(0,-(i.output+h.output).length),i.output=`(?:${i.output}`,h.type="globstar",h.output=`${y(Y)}${O}|${O}${N1})`,h.value+=E,S.output+=i.output+h.output,S.globstar=!0,m(E+_()),I({type:"slash",value:"/",output:""});continue}if(i.type==="bos"&&u[0]==="/"){h.type="globstar",h.value+=E,h.output=`(?:^|${O}|${y(Y)}${O})`,S.output=h.output,S.globstar=!0,m(E+_()),I({type:"slash",value:"/",output:""});continue}S.output=S.output.slice(0,-h.output.length),h.type="globstar",h.output=y(Y),h.value+=E,S.output+=h.output,S.globstar=!0,m(E);continue}let w0={type:"star",value:E,output:f};if(Y.bash===!0){if(w0.output=".*?",h.type==="bos"||h.type==="slash")w0.output=A+w0.output;I(w0);continue}if(h&&(h.type==="bracket"||h.type==="paren")&&Y.regex===!0){w0.output=E,I(w0);continue}if(S.index===S.start||h.type==="slash"||h.type==="dot"){if(h.type==="dot")S.output+=N,h.output+=N;else if(Y.dot===!0)S.output+=R,h.output+=R;else S.output+=A,h.output+=A;if(x()!=="*")S.output+=H,h.output+=H}I(w0)}while(S.brackets>0){if(Y.strictBrackets===!0)throw SyntaxError(o7("closing","]"));S.output=g1.escapeLast(S.output,"["),o("brackets")}while(S.parens>0){if(Y.strictBrackets===!0)throw SyntaxError(o7("closing",")"));S.output=g1.escapeLast(S.output,"("),o("parens")}while(S.braces>0){if(Y.strictBrackets===!0)throw SyntaxError(o7("closing","}"));S.output=g1.escapeLast(S.output,"{"),o("braces")}if(Y.strictSlashes!==!0&&(h.type==="star"||h.type==="bracket"))I({type:"maybe_slash",value:"",output:`${O}?`});if(S.backtrack===!0){S.output="";for(let u of S.tokens)if(S.output+=u.output!=null?u.output:u.value,u.suffix)S.output+=u.suffix}return S};qG.fastpaths=(D,X)=>{let Y={...X},Z=typeof Y.maxLength==="number"?Math.min(mJ,Y.maxLength):mJ,J=D.length;if(J>Z)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Z}`);D=bu[D]||D;let Q=g1.isWindows(X),{DOT_LITERAL:w,SLASH_LITERAL:F,ONE_CHAR:B,DOTS_SLASH:q,NO_DOT:$,NO_DOTS:G,NO_DOTS_SLASH:W,STAR:O,START_ANCHOR:H}=gJ.globChars(Q),M=Y.dot?G:$,U=Y.dot?W:$,N=Y.capture?"":"?:",R={negated:!1,prefix:""},z=Y.bash===!0?".*?":O;if(Y.capture)z=`(${z})`;let V=(A)=>{if(A.noglobstar===!0)return z;return`(${N}(?:(?!${H}${A.dot?q:w}).)*?)`},L=(A)=>{switch(A){case"*":return`${M}${B}${z}`;case".*":return`${w}${B}${z}`;case"*.*":return`${M}${z}${w}${B}${z}`;case"*/*":return`${M}${z}${F}${B}${U}${z}`;case"**":return M+V(Y);case"**/*":return`(?:${M}${V(Y)}${F})?${U}${B}${z}`;case"**/*.*":return`(?:${M}${V(Y)}${F})?${U}${z}${w}${B}${z}`;case"**/.*":return`(?:${M}${V(Y)}${F})?${w}${B}${z}`;default:{let k=/^(.*?)\.(\w+)$/.exec(A);if(!k)return;let f=L(k[1]);if(!f)return;return f+w+k[2]}}},C=g1.removePrefix(D,R),y=L(C);if(y&&Y.strictSlashes!==!0)y+=`${F}?`;return y};gu.exports=qG});var cu=T((dW0,du)=>{var NX0=require("path"),RX0=vu(),$G=mu(),GG=$X(),AX0=qX(),EX0=(D)=>D&&typeof D==="object"&&!Array.isArray(D),SD=(D,X,Y=!1)=>{if(Array.isArray(D)){let $=D.map((W)=>SD(W,X,Y));return(W)=>{for(let O of $){let H=O(W);if(H)return H}return!1}}let Z=EX0(D)&&D.tokens&&D.input;if(D===""||typeof D!=="string"&&!Z)throw TypeError("Expected pattern to be a non-empty string");let J=X||{},Q=GG.isWindows(X),w=Z?SD.compileRe(D,X):SD.makeRe(D,X,!1,!0),F=w.state;delete w.state;let B=()=>!1;if(J.ignore){let $={...X,ignore:null,onMatch:null,onResult:null};B=SD(J.ignore,$,Y)}let q=($,G=!1)=>{let{isMatch:W,match:O,output:H}=SD.test($,w,X,{glob:D,posix:Q}),M={glob:D,state:F,regex:w,posix:Q,input:$,output:H,match:O,isMatch:W};if(typeof J.onResult==="function")J.onResult(M);if(W===!1)return M.isMatch=!1,G?M:!1;if(B($)){if(typeof J.onIgnore==="function")J.onIgnore(M);return M.isMatch=!1,G?M:!1}if(typeof J.onMatch==="function")J.onMatch(M);return G?M:!0};if(Y)q.state=F;return q};SD.test=(D,X,Y,{glob:Z,posix:J}={})=>{if(typeof D!=="string")throw TypeError("Expected input to be a string");if(D==="")return{isMatch:!1,output:""};let Q=Y||{},w=Q.format||(J?GG.toPosixSlashes:null),F=D===Z,B=F&&w?w(D):D;if(F===!1)B=w?w(D):D,F=B===Z;if(F===!1||Q.capture===!0)if(Q.matchBase===!0||Q.basename===!0)F=SD.matchBase(D,X,Y,J);else F=X.exec(B);return{isMatch:Boolean(F),match:F,output:B}};SD.matchBase=(D,X,Y,Z=GG.isWindows(Y))=>{return(X instanceof RegExp?X:SD.makeRe(X,Y)).test(NX0.basename(D))};SD.isMatch=(D,X,Y)=>SD(X,Y)(D);SD.parse=(D,X)=>{if(Array.isArray(D))return D.map((Y)=>SD.parse(Y,X));return $G(D,{...X,fastpaths:!1})};SD.scan=(D,X)=>RX0(D,X);SD.compileRe=(D,X,Y=!1,Z=!1)=>{if(Y===!0)return D.output;let J=X||{},Q=J.contains?"":"^",w=J.contains?"":"$",F=`${Q}(?:${D.output})${w}`;if(D&&D.negated===!0)F=`^(?!${F}).*$`;let B=SD.toRegex(F,X);if(Z===!0)B.state=D;return B};SD.makeRe=(D,X={},Y=!1,Z=!1)=>{if(!D||typeof D!=="string")throw TypeError("Expected a non-empty string");let J={negated:!1,fastpaths:!0};if(X.fastpaths!==!1&&(D[0]==="."||D[0]==="*"))J.output=$G.fastpaths(D,X);if(!J.output)J=$G(D,X);return SD.compileRe(J,X,Y,Z)};SD.toRegex=(D,X)=>{try{let Y=X||{};return new RegExp(D,Y.flags||(Y.nocase?"i":""))}catch(Y){if(X&&X.debug===!0)throw Y;return/$^/}};SD.constants=AX0;du.exports=SD});var nu=T((cW0,lu)=>{lu.exports=cu()});var su=T((lW0,ru)=>{var pu=require("util"),au=Iu(),l8=nu(),OG=$X(),iu=(D)=>D===""||D==="./",tu=(D)=>{let X=D.indexOf("{");return X>-1&&D.indexOf("}",X)>-1},QD=(D,X,Y)=>{X=[].concat(X),D=[].concat(D);let Z=new Set,J=new Set,Q=new Set,w=0,F=($)=>{if(Q.add($.output),Y&&Y.onResult)Y.onResult($)};for(let $=0;$<X.length;$++){let G=l8(String(X[$]),{...Y,onResult:F},!0),W=G.state.negated||G.state.negatedExtglob;if(W)w++;for(let O of D){let H=G(O,!0);if(!(W?!H.isMatch:H.isMatch))continue;if(W)Z.add(H.output);else Z.delete(H.output),J.add(H.output)}}let q=(w===X.length?[...Q]:[...J]).filter(($)=>!Z.has($));if(Y&&q.length===0){if(Y.failglob===!0)throw Error(`No matches found for "${X.join(", ")}"`);if(Y.nonull===!0||Y.nullglob===!0)return Y.unescape?X.map(($)=>$.replace(/\\/g,"")):X}return q};QD.match=QD;QD.matcher=(D,X)=>l8(D,X);QD.isMatch=(D,X,Y)=>l8(X,Y)(D);QD.any=QD.isMatch;QD.not=(D,X,Y={})=>{X=[].concat(X).map(String);let Z=new Set,J=[],w=new Set(QD(D,X,{...Y,onResult:(F)=>{if(Y.onResult)Y.onResult(F);J.push(F.output)}}));for(let F of J)if(!w.has(F))Z.add(F);return[...Z]};QD.contains=(D,X,Y)=>{if(typeof D!=="string")throw TypeError(`Expected a string: "${pu.inspect(D)}"`);if(Array.isArray(X))return X.some((Z)=>QD.contains(D,Z,Y));if(typeof X==="string"){if(iu(D)||iu(X))return!1;if(D.includes(X)||D.startsWith("./")&&D.slice(2).includes(X))return!0}return QD.isMatch(D,X,{...Y,contains:!0})};QD.matchKeys=(D,X,Y)=>{if(!OG.isObject(D))throw TypeError("Expected the first argument to be an object");let Z=QD(Object.keys(D),X,Y),J={};for(let Q of Z)J[Q]=D[Q];return J};QD.some=(D,X,Y)=>{let Z=[].concat(D);for(let J of[].concat(X)){let Q=l8(String(J),Y);if(Z.some((w)=>Q(w)))return!0}return!1};QD.every=(D,X,Y)=>{let Z=[].concat(D);for(let J of[].concat(X)){let Q=l8(String(J),Y);if(!Z.every((w)=>Q(w)))return!1}return!0};QD.all=(D,X,Y)=>{if(typeof D!=="string")throw TypeError(`Expected a string: "${pu.inspect(D)}"`);return[].concat(X).every((Z)=>l8(Z,Y)(D))};QD.capture=(D,X,Y)=>{let Z=OG.isWindows(Y),Q=l8.makeRe(String(D),{...Y,capture:!0}).exec(Z?OG.toPosixSlashes(X):X);if(Q)return Q.slice(1).map((w)=>w===void 0?"":w)};QD.makeRe=(...D)=>l8.makeRe(...D);QD.scan=(...D)=>l8.scan(...D);QD.parse=(D,X)=>{let Y=[];for(let Z of[].concat(D||[]))for(let J of au(String(Z),X))Y.push(l8.parse(J,X));return Y};QD.braces=(D,X)=>{if(typeof D!=="string")throw TypeError("Expected a string");if(X&&X.nobrace===!0||!tu(D))return[D];return au(D,X)};QD.braceExpand=(D,X)=>{if(typeof D!=="string")throw TypeError("Expected a string");return QD.braces(D,{...X,expand:!0})};QD.hasBraces=tu;ru.exports=QD});var zY0={};D4(zY0,{zipBundle:()=>eX0,uploadBundle:()=>pX0,updateOrganization:()=>BY0,updateAppSetting:()=>JY0,saveEncryptionKey:()=>XY0,requestBuild:()=>WY0,parseSecurityPolicyError:()=>J5,login:()=>aX0,listOrganizations:()=>wY0,listBundles:()=>GY0,isSecurityPolicyError:()=>q$,getStats:()=>HY0,getSecurityPolicyMessage:()=>vf,getCurrentBundle:()=>ZY0,getCapacitorConfig:()=>KY0,getAccountId:()=>QY0,generateEncryptionKeys:()=>DY0,formatApiErrorForCli:()=>XJ,encryptBundle:()=>sX0,doctor:()=>tX0,deleteOrganization:()=>qY0,deleteLegacyEncryptionKey:()=>YY0,decryptBundle:()=>oX0,createSupabaseClient:()=>K0,checkBundleCompatibility:()=>rX0,addOrganization:()=>FY0,addChannel:()=>OY0,addApp:()=>$Y0,SECURITY_POLICY_MESSAGES:()=>s3,SECURITY_POLICY_ERRORS:()=>_7,CapgoSDK:()=>GD});module.exports=yh(zY0);var rD=N0(XD(),1),R5=require("node:process"),N6=N0(require("node:readline")),rJ=N0(require("node:readline")),IG=require("node:stream"),X4=N0(pJ(),1);function bh({onlyFirst:D=!1}={}){let X=["[\\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(X,D?void 0:"g")}var gh=bh();function PG(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(gh,"")}function SG(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var xG={exports:{}};(function(D){var X={};D.exports=X,X.eastAsianWidth=function(Z){var J=Z.charCodeAt(0),Q=Z.length==2?Z.charCodeAt(1):0,w=J;return 55296<=J&&J<=56319&&56320<=Q&&Q<=57343&&(J&=1023,Q&=1023,w=J<<10|Q,w+=65536),w==12288||65281<=w&&w<=65376||65504<=w&&w<=65510?"F":w==8361||65377<=w&&w<=65470||65474<=w&&w<=65479||65482<=w&&w<=65487||65490<=w&&w<=65495||65498<=w&&w<=65500||65512<=w&&w<=65518?"H":4352<=w&&w<=4447||4515<=w&&w<=4519||4602<=w&&w<=4607||9001<=w&&w<=9002||11904<=w&&w<=11929||11931<=w&&w<=12019||12032<=w&&w<=12245||12272<=w&&w<=12283||12289<=w&&w<=12350||12353<=w&&w<=12438||12441<=w&&w<=12543||12549<=w&&w<=12589||12593<=w&&w<=12686||12688<=w&&w<=12730||12736<=w&&w<=12771||12784<=w&&w<=12830||12832<=w&&w<=12871||12880<=w&&w<=13054||13056<=w&&w<=19903||19968<=w&&w<=42124||42128<=w&&w<=42182||43360<=w&&w<=43388||44032<=w&&w<=55203||55216<=w&&w<=55238||55243<=w&&w<=55291||63744<=w&&w<=64255||65040<=w&&w<=65049||65072<=w&&w<=65106||65108<=w&&w<=65126||65128<=w&&w<=65131||110592<=w&&w<=110593||127488<=w&&w<=127490||127504<=w&&w<=127546||127552<=w&&w<=127560||127568<=w&&w<=127569||131072<=w&&w<=194367||177984<=w&&w<=196605||196608<=w&&w<=262141?"W":32<=w&&w<=126||162<=w&&w<=163||165<=w&&w<=166||w==172||w==175||10214<=w&&w<=10221||10629<=w&&w<=10630?"Na":w==161||w==164||167<=w&&w<=168||w==170||173<=w&&w<=174||176<=w&&w<=180||182<=w&&w<=186||188<=w&&w<=191||w==198||w==208||215<=w&&w<=216||222<=w&&w<=225||w==230||232<=w&&w<=234||236<=w&&w<=237||w==240||242<=w&&w<=243||247<=w&&w<=250||w==252||w==254||w==257||w==273||w==275||w==283||294<=w&&w<=295||w==299||305<=w&&w<=307||w==312||319<=w&&w<=322||w==324||328<=w&&w<=331||w==333||338<=w&&w<=339||358<=w&&w<=359||w==363||w==462||w==464||w==466||w==468||w==470||w==472||w==474||w==476||w==593||w==609||w==708||w==711||713<=w&&w<=715||w==717||w==720||728<=w&&w<=731||w==733||w==735||768<=w&&w<=879||913<=w&&w<=929||931<=w&&w<=937||945<=w&&w<=961||963<=w&&w<=969||w==1025||1040<=w&&w<=1103||w==1105||w==8208||8211<=w&&w<=8214||8216<=w&&w<=8217||8220<=w&&w<=8221||8224<=w&&w<=8226||8228<=w&&w<=8231||w==8240||8242<=w&&w<=8243||w==8245||w==8251||w==8254||w==8308||w==8319||8321<=w&&w<=8324||w==8364||w==8451||w==8453||w==8457||w==8467||w==8470||8481<=w&&w<=8482||w==8486||w==8491||8531<=w&&w<=8532||8539<=w&&w<=8542||8544<=w&&w<=8555||8560<=w&&w<=8569||w==8585||8592<=w&&w<=8601||8632<=w&&w<=8633||w==8658||w==8660||w==8679||w==8704||8706<=w&&w<=8707||8711<=w&&w<=8712||w==8715||w==8719||w==8721||w==8725||w==8730||8733<=w&&w<=8736||w==8739||w==8741||8743<=w&&w<=8748||w==8750||8756<=w&&w<=8759||8764<=w&&w<=8765||w==8776||w==8780||w==8786||8800<=w&&w<=8801||8804<=w&&w<=8807||8810<=w&&w<=8811||8814<=w&&w<=8815||8834<=w&&w<=8835||8838<=w&&w<=8839||w==8853||w==8857||w==8869||w==8895||w==8978||9312<=w&&w<=9449||9451<=w&&w<=9547||9552<=w&&w<=9587||9600<=w&&w<=9615||9618<=w&&w<=9621||9632<=w&&w<=9633||9635<=w&&w<=9641||9650<=w&&w<=9651||9654<=w&&w<=9655||9660<=w&&w<=9661||9664<=w&&w<=9665||9670<=w&&w<=9672||w==9675||9678<=w&&w<=9681||9698<=w&&w<=9701||w==9711||9733<=w&&w<=9734||w==9737||9742<=w&&w<=9743||9748<=w&&w<=9749||w==9756||w==9758||w==9792||w==9794||9824<=w&&w<=9825||9827<=w&&w<=9829||9831<=w&&w<=9834||9836<=w&&w<=9837||w==9839||9886<=w&&w<=9887||9918<=w&&w<=9919||9924<=w&&w<=9933||9935<=w&&w<=9953||w==9955||9960<=w&&w<=9983||w==10045||w==10071||10102<=w&&w<=10111||11093<=w&&w<=11097||12872<=w&&w<=12879||57344<=w&&w<=63743||65024<=w&&w<=65039||w==65533||127232<=w&&w<=127242||127248<=w&&w<=127277||127280<=w&&w<=127337||127344<=w&&w<=127386||917760<=w&&w<=917999||983040<=w&&w<=1048573||1048576<=w&&w<=1114109?"A":"N"},X.characterLength=function(Z){var J=this.eastAsianWidth(Z);return J=="F"||J=="W"||J=="A"?2:1};function Y(Z){return Z.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}X.length=function(Z){for(var J=Y(Z),Q=0,w=0;w<J.length;w++)Q=Q+this.characterLength(J[w]);return Q},X.slice=function(Z,J,Q){textLen=X.length(Z),J=J||0,Q=Q||1,J<0&&(J=textLen+J),Q<0&&(Q=textLen+Q);for(var w="",F=0,B=Y(Z),q=0;q<B.length;q++){var $=B[q],G=X.length($);if(F>=J-(G==2?1:0))if(F+G<=Q)w+=$;else break;F+=G}return w}})(xG);var mh=xG.exports,dh=SG(mh),ch=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},lh=SG(ch);function Y4(D,X={}){if(typeof D!="string"||D.length===0||(X={ambiguousIsNarrow:!0,...X},D=PG(D),D.length===0))return 0;D=D.replace(lh()," ");let Y=X.ambiguousIsNarrow?1:2,Z=0;for(let J of D){let Q=J.codePointAt(0);if(Q<=31||Q>=127&&Q<=159||Q>=768&&Q<=879)continue;switch(dh.eastAsianWidth(J)){case"F":case"W":Z+=2;break;case"A":Z+=Y;break;default:Z+=1}}return Z}var aJ=10,UG=(D=0)=>(X)=>`\x1B[${X+D}m`,NG=(D=0)=>(X)=>`\x1B[${38+D};5;${X}m`,RG=(D=0)=>(X,Y,Z)=>`\x1B[${38+D};2;${X};${Y};${Z}m`,wD={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(wD.modifier);var nh=Object.keys(wD.color),ih=Object.keys(wD.bgColor);[...nh,...ih];function ph(){let D=new Map;for(let[X,Y]of Object.entries(wD)){for(let[Z,J]of Object.entries(Y))wD[Z]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},Y[Z]=wD[Z],D.set(J[0],J[1]);Object.defineProperty(wD,X,{value:Y,enumerable:!1})}return Object.defineProperty(wD,"codes",{value:D,enumerable:!1}),wD.color.close="\x1B[39m",wD.bgColor.close="\x1B[49m",wD.color.ansi=UG(),wD.color.ansi256=NG(),wD.color.ansi16m=RG(),wD.bgColor.ansi=UG(aJ),wD.bgColor.ansi256=NG(aJ),wD.bgColor.ansi16m=RG(aJ),Object.defineProperties(wD,{rgbToAnsi256:{value:(X,Y,Z)=>X===Y&&Y===Z?X<8?16:X>248?231:Math.round((X-8)/247*24)+232:16+36*Math.round(X/255*5)+6*Math.round(Y/255*5)+Math.round(Z/255*5),enumerable:!1},hexToRgb:{value:(X)=>{let Y=/[a-f\d]{6}|[a-f\d]{3}/i.exec(X.toString(16));if(!Y)return[0,0,0];let[Z]=Y;Z.length===3&&(Z=[...Z].map((Q)=>Q+Q).join(""));let J=Number.parseInt(Z,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(X)=>wD.rgbToAnsi256(...wD.hexToRgb(X)),enumerable:!1},ansi256ToAnsi:{value:(X)=>{if(X<8)return 30+X;if(X<16)return 90+(X-8);let Y,Z,J;if(X>=232)Y=((X-232)*10+8)/255,Z=Y,J=Y;else{X-=16;let F=X%36;Y=Math.floor(X/36)/5,Z=Math.floor(F/6)/5,J=F%6/5}let Q=Math.max(Y,Z,J)*2;if(Q===0)return 30;let w=30+(Math.round(J)<<2|Math.round(Z)<<1|Math.round(Y));return Q===2&&(w+=60),w},enumerable:!1},rgbToAnsi:{value:(X,Y,Z)=>wD.ansi256ToAnsi(wD.rgbToAnsi256(X,Y,Z)),enumerable:!1},hexToAnsi:{value:(X)=>wD.ansi256ToAnsi(wD.hexToAnsi256(X)),enumerable:!1}}),wD}var ah=ph(),VX=new Set(["\x1B",""]),th=39,oJ="\x07",fG="[",rh="]",yG="m",eJ=`${rh}8;;`,AG=(D)=>`${VX.values().next().value}${fG}${D}${yG}`,EG=(D)=>`${VX.values().next().value}${eJ}${D}${oJ}`,sh=(D)=>D.split(" ").map((X)=>Y4(X)),tJ=(D,X,Y)=>{let Z=[...X],J=!1,Q=!1,w=Y4(PG(D[D.length-1]));for(let[F,B]of Z.entries()){let q=Y4(B);if(w+q<=Y?D[D.length-1]+=B:(D.push(B),w=0),VX.has(B)&&(J=!0,Q=Z.slice(F+1).join("").startsWith(eJ)),J){Q?B===oJ&&(J=!1,Q=!1):B===yG&&(J=!1);continue}w+=q,w===Y&&F<Z.length-1&&(D.push(""),w=0)}!w&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},oh=(D)=>{let X=D.split(" "),Y=X.length;for(;Y>0&&!(Y4(X[Y-1])>0);)Y--;return Y===X.length?D:X.slice(0,Y).join(" ")+X.slice(Y).join("")},eh=(D,X,Y={})=>{if(Y.trim!==!1&&D.trim()==="")return"";let Z="",J,Q,w=sh(D),F=[""];for(let[q,$]of D.split(" ").entries()){Y.trim!==!1&&(F[F.length-1]=F[F.length-1].trimStart());let G=Y4(F[F.length-1]);if(q!==0&&(G>=X&&(Y.wordWrap===!1||Y.trim===!1)&&(F.push(""),G=0),(G>0||Y.trim===!1)&&(F[F.length-1]+=" ",G++)),Y.hard&&w[q]>X){let W=X-G,O=1+Math.floor((w[q]-W-1)/X);Math.floor((w[q]-1)/X)<O&&F.push(""),tJ(F,$,X);continue}if(G+w[q]>X&&G>0&&w[q]>0){if(Y.wordWrap===!1&&G<X){tJ(F,$,X);continue}F.push("")}if(G+w[q]>X&&Y.wordWrap===!1){tJ(F,$,X);continue}F[F.length-1]+=$}Y.trim!==!1&&(F=F.map((q)=>oh(q)));let B=[...F.join(`
|
|
258
|
+
`,CHAR_NO_BREAK_SPACE:" ",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}});var Cu=T((hW0,Eu)=>{var b30=_J(),{MAX_LENGTH:Nu,CHAR_BACKSLASH:ZG,CHAR_BACKTICK:g30,CHAR_COMMA:m30,CHAR_DOT:d30,CHAR_LEFT_PARENTHESES:c30,CHAR_RIGHT_PARENTHESES:l30,CHAR_LEFT_CURLY_BRACE:n30,CHAR_RIGHT_CURLY_BRACE:i30,CHAR_LEFT_SQUARE_BRACKET:Ru,CHAR_RIGHT_SQUARE_BRACKET:Au,CHAR_DOUBLE_QUOTE:p30,CHAR_SINGLE_QUOTE:a30,CHAR_NO_BREAK_SPACE:t30,CHAR_ZERO_WIDTH_NOBREAK_SPACE:r30}=Uu(),s30=(D,X={})=>{if(typeof D!=="string")throw TypeError("Expected a string");let Y=X||{},Z=typeof Y.maxLength==="number"?Math.min(Nu,Y.maxLength):Nu;if(D.length>Z)throw SyntaxError(`Input length (${D.length}), exceeds max characters (${Z})`);let J={type:"root",input:D,nodes:[]},Q=[J],w=J,F=J,B=0,q=D.length,$=0,G=0,W,O=()=>D[$++],H=(M)=>{if(M.type==="text"&&F.type==="dot")F.type="text";if(F&&F.type==="text"&&M.type==="text"){F.value+=M.value;return}return w.nodes.push(M),M.parent=w,M.prev=F,F=M,M};H({type:"bos"});while($<q){if(w=Q[Q.length-1],W=O(),W===r30||W===t30)continue;if(W===ZG){H({type:"text",value:(X.keepEscaping?W:"")+O()});continue}if(W===Au){H({type:"text",value:"\\"+W});continue}if(W===Ru){B++;let M;while($<q&&(M=O())){if(W+=M,M===Ru){B++;continue}if(M===ZG){W+=O();continue}if(M===Au){if(B--,B===0)break}}H({type:"text",value:W});continue}if(W===c30){w=H({type:"paren",nodes:[]}),Q.push(w),H({type:"text",value:W});continue}if(W===l30){if(w.type!=="paren"){H({type:"text",value:W});continue}w=Q.pop(),H({type:"text",value:W}),w=Q[Q.length-1];continue}if(W===p30||W===a30||W===g30){let M=W,U;if(X.keepQuotes!==!0)W="";while($<q&&(U=O())){if(U===ZG){W+=U+O();continue}if(U===M){if(X.keepQuotes===!0)W+=U;break}W+=U}H({type:"text",value:W});continue}if(W===n30){G++;let U={type:"brace",open:!0,close:!1,dollar:F.value&&F.value.slice(-1)==="$"||w.dollar===!0,depth:G,commas:0,ranges:0,nodes:[]};w=H(U),Q.push(w),H({type:"open",value:W});continue}if(W===i30){if(w.type!=="brace"){H({type:"text",value:W});continue}let M="close";w=Q.pop(),w.close=!0,H({type:M,value:W}),G--,w=Q[Q.length-1];continue}if(W===m30&&G>0){if(w.ranges>0){w.ranges=0;let M=w.nodes.shift();w.nodes=[M,{type:"text",value:b30(w)}]}H({type:"comma",value:W}),w.commas++;continue}if(W===d30&&G>0&&w.commas===0){let M=w.nodes;if(G===0||M.length===0){H({type:"text",value:W});continue}if(F.type==="dot"){if(w.range=[],F.value+=W,F.type="range",w.nodes.length!==3&&w.nodes.length!==5){w.invalid=!0,w.ranges=0,F.type="text";continue}w.ranges++,w.args=[];continue}if(F.type==="range"){M.pop();let U=M[M.length-1];U.value+=F.value+W,F=U,w.ranges--;continue}H({type:"dot",value:W});continue}H({type:"text",value:W})}do if(w=Q.pop(),w.type!=="root"){w.nodes.forEach((N)=>{if(!N.nodes){if(N.type==="open")N.isOpen=!0;if(N.type==="close")N.isClose=!0;if(!N.nodes)N.type="text";N.invalid=!0}});let M=Q[Q.length-1],U=M.nodes.indexOf(w);M.nodes.splice(U,1,...w.nodes)}while(Q.length>0);return H({type:"eos"}),J};Eu.exports=s30});var Iu=T((_W0,Tu)=>{var ju=_J(),o30=Ku(),e30=Lu(),DX0=Cu(),b1=(D,X={})=>{let Y=[];if(Array.isArray(D))for(let Z of D){let J=b1.create(Z,X);if(Array.isArray(J))Y.push(...J);else Y.push(J)}else Y=[].concat(b1.create(D,X));if(X&&X.expand===!0&&X.nodupes===!0)Y=[...new Set(Y)];return Y};b1.parse=(D,X={})=>DX0(D,X);b1.stringify=(D,X={})=>{if(typeof D==="string")return ju(b1.parse(D,X),X);return ju(D,X)};b1.compile=(D,X={})=>{if(typeof D==="string")D=b1.parse(D,X);return o30(D,X)};b1.expand=(D,X={})=>{if(typeof D==="string")D=b1.parse(D,X);let Y=e30(D,X);if(X.noempty===!0)Y=Y.filter(Boolean);if(X.nodupes===!0)Y=[...new Set(Y)];return Y};b1.create=(D,X={})=>{if(D===""||D.length<3)return[D];return X.expand!==!0?b1.compile(D,X):b1.expand(D,X)};Tu.exports=b1});var qX=T((vW0,Su)=>{var XX0=require("path"),Pu={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)"},YX0={...Pu,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)"},ZX0={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};Su.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:ZX0,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:XX0.sep,extglobChars(D){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${D.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(D){return D===!0?YX0:Pu}}});var $X=T((y1)=>{var JX0=require("path"),QX0=process.platform==="win32",{REGEX_BACKSLASH:wX0,REGEX_REMOVE_BACKSLASH:FX0,REGEX_SPECIAL_CHARS:BX0,REGEX_SPECIAL_CHARS_GLOBAL:qX0}=qX();y1.isObject=(D)=>D!==null&&typeof D==="object"&&!Array.isArray(D);y1.hasRegexChars=(D)=>BX0.test(D);y1.isRegexChar=(D)=>D.length===1&&y1.hasRegexChars(D);y1.escapeRegex=(D)=>D.replace(qX0,"\\$1");y1.toPosixSlashes=(D)=>D.replace(wX0,"/");y1.removeBackslashes=(D)=>{return D.replace(FX0,(X)=>{return X==="\\"?"":X})};y1.supportsLookbehinds=()=>{let D=process.version.slice(1).split(".").map(Number);if(D.length===3&&D[0]>=9||D[0]===8&&D[1]>=10)return!0;return!1};y1.isWindows=(D)=>{if(D&&typeof D.windows==="boolean")return D.windows;return QX0===!0||JX0.sep==="\\"};y1.escapeLast=(D,X,Y)=>{let Z=D.lastIndexOf(X,Y);if(Z===-1)return D;if(D[Z-1]==="\\")return y1.escapeLast(D,X,Z-1);return`${D.slice(0,Z)}\\${D.slice(Z)}`};y1.removePrefix=(D,X={})=>{let Y=D;if(Y.startsWith("./"))Y=Y.slice(2),X.prefix="./";return Y};y1.wrapOutput=(D,X={},Y={})=>{let Z=Y.contains?"":"^",J=Y.contains?"":"$",Q=`${Z}(?:${D})${J}`;if(X.negated===!0)Q=`(?:^(?!${Q}).*$)`;return Q}});var vu=T((gW0,_u)=>{var xu=$X(),{CHAR_ASTERISK:JG,CHAR_AT:$X0,CHAR_BACKWARD_SLASH:GX,CHAR_COMMA:GX0,CHAR_DOT:QG,CHAR_EXCLAMATION_MARK:wG,CHAR_FORWARD_SLASH:hu,CHAR_LEFT_CURLY_BRACE:FG,CHAR_LEFT_PARENTHESES:BG,CHAR_LEFT_SQUARE_BRACKET:OX0,CHAR_PLUS:WX0,CHAR_QUESTION_MARK:fu,CHAR_RIGHT_CURLY_BRACE:HX0,CHAR_RIGHT_PARENTHESES:yu,CHAR_RIGHT_SQUARE_BRACKET:KX0}=qX(),ku=(D)=>{return D===hu||D===GX},uu=(D)=>{if(D.isPrefix!==!0)D.depth=D.isGlobstar?1/0:1},zX0=(D,X)=>{let Y=X||{},Z=D.length-1,J=Y.parts===!0||Y.scanToEnd===!0,Q=[],w=[],F=[],B=D,q=-1,$=0,G=0,W=!1,O=!1,H=!1,M=!1,U=!1,N=!1,R=!1,z=!1,V=!1,L=!1,C=0,y,A,k={value:"",depth:0,isGlob:!1},f=()=>q>=Z,S=()=>B.charCodeAt(q+1),v=()=>{return y=A,B.charCodeAt(++q)};while(q<Z){A=v();let P;if(A===GX){if(R=k.backslashes=!0,A=v(),A===FG)N=!0;continue}if(N===!0||A===FG){C++;while(f()!==!0&&(A=v())){if(A===GX){R=k.backslashes=!0,v();continue}if(A===FG){C++;continue}if(N!==!0&&A===QG&&(A=v())===QG){if(W=k.isBrace=!0,H=k.isGlob=!0,L=!0,J===!0)continue;break}if(N!==!0&&A===GX0){if(W=k.isBrace=!0,H=k.isGlob=!0,L=!0,J===!0)continue;break}if(A===HX0){if(C--,C===0){N=!1,W=k.isBrace=!0,L=!0;break}}}if(J===!0)continue;break}if(A===hu){if(Q.push(q),w.push(k),k={value:"",depth:0,isGlob:!1},L===!0)continue;if(y===QG&&q===$+1){$+=2;continue}G=q+1;continue}if(Y.noext!==!0){if((A===WX0||A===$X0||A===JG||A===fu||A===wG)===!0&&S()===BG){if(H=k.isGlob=!0,M=k.isExtglob=!0,L=!0,A===wG&&q===$)V=!0;if(J===!0){while(f()!==!0&&(A=v())){if(A===GX){R=k.backslashes=!0,A=v();continue}if(A===yu){H=k.isGlob=!0,L=!0;break}}continue}break}}if(A===JG){if(y===JG)U=k.isGlobstar=!0;if(H=k.isGlob=!0,L=!0,J===!0)continue;break}if(A===fu){if(H=k.isGlob=!0,L=!0,J===!0)continue;break}if(A===OX0){while(f()!==!0&&(P=v())){if(P===GX){R=k.backslashes=!0,v();continue}if(P===KX0){O=k.isBracket=!0,H=k.isGlob=!0,L=!0;break}}if(J===!0)continue;break}if(Y.nonegate!==!0&&A===wG&&q===$){z=k.negated=!0,$++;continue}if(Y.noparen!==!0&&A===BG){if(H=k.isGlob=!0,J===!0){while(f()!==!0&&(A=v())){if(A===BG){R=k.backslashes=!0,A=v();continue}if(A===yu){L=!0;break}}continue}break}if(H===!0){if(L=!0,J===!0)continue;break}}if(Y.noext===!0)M=!1,H=!1;let b=B,n="",h="";if($>0)n=B.slice(0,$),B=B.slice($),G-=$;if(b&&H===!0&&G>0)b=B.slice(0,G),h=B.slice(G);else if(H===!0)b="",h=B;else b=B;if(b&&b!==""&&b!=="/"&&b!==B){if(ku(b.charCodeAt(b.length-1)))b=b.slice(0,-1)}if(Y.unescape===!0){if(h)h=xu.removeBackslashes(h);if(b&&R===!0)b=xu.removeBackslashes(b)}let E={prefix:n,input:D,start:$,base:b,glob:h,isBrace:W,isBracket:O,isGlob:H,isExtglob:M,isGlobstar:U,negated:z,negatedExtglob:V};if(Y.tokens===!0){if(E.maxDepth=0,!ku(A))w.push(k);E.tokens=w}if(Y.parts===!0||Y.tokens===!0){let P;for(let x=0;x<Q.length;x++){let _=P?P+1:$,g=Q[x],m=D.slice(_,g);if(Y.tokens){if(x===0&&$!==0)w[x].isPrefix=!0,w[x].value=n;else w[x].value=m;uu(w[x]),E.maxDepth+=w[x].depth}if(x!==0||m!=="")F.push(m);P=g}if(P&&P+1<D.length){let x=D.slice(P+1);if(F.push(x),Y.tokens)w[w.length-1].value=x,uu(w[w.length-1]),E.maxDepth+=w[w.length-1].depth}E.slashes=Q,E.parts=F}return E};_u.exports=zX0});var mu=T((mW0,gu)=>{var gJ=qX(),g1=$X(),{MAX_LENGTH:mJ,POSIX_REGEX_SOURCE:MX0,REGEX_NON_SPECIAL_CHARS:LX0,REGEX_SPECIAL_CHARS_BACKREF:VX0,REPLACEMENTS:bu}=gJ,UX0=(D,X)=>{if(typeof X.expandRange==="function")return X.expandRange(...D,X);D.sort();let Y=`[${D.join("-")}]`;try{new RegExp(Y)}catch(Z){return D.map((J)=>g1.escapeRegex(J)).join("..")}return Y},o7=(D,X)=>{return`Missing ${D}: "${X}" - use "\\\\${X}" to match literal characters`},qG=(D,X)=>{if(typeof D!=="string")throw TypeError("Expected a string");D=bu[D]||D;let Y={...X},Z=typeof Y.maxLength==="number"?Math.min(mJ,Y.maxLength):mJ,J=D.length;if(J>Z)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Z}`);let Q={type:"bos",value:"",output:Y.prepend||""},w=[Q],F=Y.capture?"":"?:",B=g1.isWindows(X),q=gJ.globChars(B),$=gJ.extglobChars(q),{DOT_LITERAL:G,PLUS_LITERAL:W,SLASH_LITERAL:O,ONE_CHAR:H,DOTS_SLASH:M,NO_DOT:U,NO_DOT_SLASH:N,NO_DOTS_SLASH:R,QMARK:z,QMARK_NO_DOT:V,STAR:L,START_ANCHOR:C}=q,y=(u)=>{return`(${F}(?:(?!${C}${u.dot?M:G}).)*?)`},A=Y.dot?"":U,k=Y.dot?z:V,f=Y.bash===!0?y(Y):L;if(Y.capture)f=`(${f})`;if(typeof Y.noext==="boolean")Y.noextglob=Y.noext;let S={input:D,index:-1,start:0,dot:Y.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:w};D=g1.removePrefix(D,S),J=D.length;let v=[],b=[],n=[],h=Q,E,P=()=>S.index===J-1,x=S.peek=(u=1)=>D[S.index+u],_=S.advance=()=>D[++S.index]||"",g=()=>D.slice(S.index+1),m=(u="",w0=0)=>{S.consumed+=u,S.index+=w0},a=(u)=>{S.output+=u.output!=null?u.output:u.value,m(u.value)},d=()=>{let u=1;while(x()==="!"&&(x(2)!=="("||x(3)==="?"))_(),S.start++,u++;if(u%2===0)return!1;return S.negated=!0,S.start++,!0},c=(u)=>{S[u]++,n.push(u)},o=(u)=>{S[u]--,n.pop()},I=(u)=>{if(h.type==="globstar"){let w0=S.braces>0&&(u.type==="comma"||u.type==="brace"),i=u.extglob===!0||v.length&&(u.type==="pipe"||u.type==="paren");if(u.type!=="slash"&&u.type!=="paren"&&!w0&&!i)S.output=S.output.slice(0,-h.output.length),h.type="star",h.value="*",h.output=f,S.output+=h.output}if(v.length&&u.type!=="paren")v[v.length-1].inner+=u.value;if(u.value||u.output)a(u);if(h&&h.type==="text"&&u.type==="text"){h.value+=u.value,h.output=(h.output||"")+u.value;return}u.prev=h,w.push(u),h=u},j=(u,w0)=>{let i={...$[w0],conditions:1,inner:""};i.prev=h,i.parens=S.parens,i.output=S.output;let B0=(Y.capture?"(":"")+i.open;c("parens"),I({type:u,value:w0,output:S.output?"":H}),I({type:"paren",extglob:!0,value:_(),output:B0}),v.push(i)},l=(u)=>{let w0=u.close+(Y.capture?")":""),i;if(u.type==="negate"){let B0=f;if(u.inner&&u.inner.length>1&&u.inner.includes("/"))B0=y(Y);if(B0!==f||P()||/^\)+$/.test(g()))w0=u.close=`)$))${B0}`;if(u.inner.includes("*")&&(i=g())&&/^\.[^\\/.]+$/.test(i)){let A0=qG(i,{...X,fastpaths:!1}).output;w0=u.close=`)${A0})${B0})`}if(u.prev.type==="bos")S.negatedExtglob=!0}I({type:"paren",extglob:!0,value:E,output:w0}),o("parens")};if(Y.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(D)){let u=!1,w0=D.replace(VX0,(i,B0,A0,S0,a0,jD)=>{if(S0==="\\")return u=!0,i;if(S0==="?"){if(B0)return B0+S0+(a0?z.repeat(a0.length):"");if(jD===0)return k+(a0?z.repeat(a0.length):"");return z.repeat(A0.length)}if(S0===".")return G.repeat(A0.length);if(S0==="*"){if(B0)return B0+S0+(a0?f:"");return f}return B0?i:`\\${i}`});if(u===!0)if(Y.unescape===!0)w0=w0.replace(/\\/g,"");else w0=w0.replace(/\\+/g,(i)=>{return i.length%2===0?"\\\\":i?"\\":""});if(w0===D&&Y.contains===!0)return S.output=D,S;return S.output=g1.wrapOutput(w0,S,X),S}while(!P()){if(E=_(),E==="\x00")continue;if(E==="\\"){let i=x();if(i==="/"&&Y.bash!==!0)continue;if(i==="."||i===";")continue;if(!i){E+="\\",I({type:"text",value:E});continue}let B0=/^\\+/.exec(g()),A0=0;if(B0&&B0[0].length>2){if(A0=B0[0].length,S.index+=A0,A0%2!==0)E+="\\"}if(Y.unescape===!0)E=_();else E+=_();if(S.brackets===0){I({type:"text",value:E});continue}}if(S.brackets>0&&(E!=="]"||h.value==="["||h.value==="[^")){if(Y.posix!==!1&&E===":"){let i=h.value.slice(1);if(i.includes("[")){if(h.posix=!0,i.includes(":")){let B0=h.value.lastIndexOf("["),A0=h.value.slice(0,B0),S0=h.value.slice(B0+2),a0=MX0[S0];if(a0){if(h.value=A0+a0,S.backtrack=!0,_(),!Q.output&&w.indexOf(h)===1)Q.output=H;continue}}}}if(E==="["&&x()!==":"||E==="-"&&x()==="]")E=`\\${E}`;if(E==="]"&&(h.value==="["||h.value==="[^"))E=`\\${E}`;if(Y.posix===!0&&E==="!"&&h.value==="[")E="^";h.value+=E,a({value:E});continue}if(S.quotes===1&&E!=='"'){E=g1.escapeRegex(E),h.value+=E,a({value:E});continue}if(E==='"'){if(S.quotes=S.quotes===1?0:1,Y.keepQuotes===!0)I({type:"text",value:E});continue}if(E==="("){c("parens"),I({type:"paren",value:E});continue}if(E===")"){if(S.parens===0&&Y.strictBrackets===!0)throw SyntaxError(o7("opening","("));let i=v[v.length-1];if(i&&S.parens===i.parens+1){l(v.pop());continue}I({type:"paren",value:E,output:S.parens?")":"\\)"}),o("parens");continue}if(E==="["){if(Y.nobracket===!0||!g().includes("]")){if(Y.nobracket!==!0&&Y.strictBrackets===!0)throw SyntaxError(o7("closing","]"));E=`\\${E}`}else c("brackets");I({type:"bracket",value:E});continue}if(E==="]"){if(Y.nobracket===!0||h&&h.type==="bracket"&&h.value.length===1){I({type:"text",value:E,output:`\\${E}`});continue}if(S.brackets===0){if(Y.strictBrackets===!0)throw SyntaxError(o7("opening","["));I({type:"text",value:E,output:`\\${E}`});continue}o("brackets");let i=h.value.slice(1);if(h.posix!==!0&&i[0]==="^"&&!i.includes("/"))E=`/${E}`;if(h.value+=E,a({value:E}),Y.literalBrackets===!1||g1.hasRegexChars(i))continue;let B0=g1.escapeRegex(h.value);if(S.output=S.output.slice(0,-h.value.length),Y.literalBrackets===!0){S.output+=B0,h.value=B0;continue}h.value=`(${F}${B0}|${h.value})`,S.output+=h.value;continue}if(E==="{"&&Y.nobrace!==!0){c("braces");let i={type:"brace",value:E,output:"(",outputIndex:S.output.length,tokensIndex:S.tokens.length};b.push(i),I(i);continue}if(E==="}"){let i=b[b.length-1];if(Y.nobrace===!0||!i){I({type:"text",value:E,output:E});continue}let B0=")";if(i.dots===!0){let A0=w.slice(),S0=[];for(let a0=A0.length-1;a0>=0;a0--){if(w.pop(),A0[a0].type==="brace")break;if(A0[a0].type!=="dots")S0.unshift(A0[a0].value)}B0=UX0(S0,Y),S.backtrack=!0}if(i.comma!==!0&&i.dots!==!0){let A0=S.output.slice(0,i.outputIndex),S0=S.tokens.slice(i.tokensIndex);i.value=i.output="\\{",E=B0="\\}",S.output=A0;for(let a0 of S0)S.output+=a0.output||a0.value}I({type:"brace",value:E,output:B0}),o("braces"),b.pop();continue}if(E==="|"){if(v.length>0)v[v.length-1].conditions++;I({type:"text",value:E});continue}if(E===","){let i=E,B0=b[b.length-1];if(B0&&n[n.length-1]==="braces")B0.comma=!0,i="|";I({type:"comma",value:E,output:i});continue}if(E==="/"){if(h.type==="dot"&&S.index===S.start+1){S.start=S.index+1,S.consumed="",S.output="",w.pop(),h=Q;continue}I({type:"slash",value:E,output:O});continue}if(E==="."){if(S.braces>0&&h.type==="dot"){if(h.value===".")h.output=G;let i=b[b.length-1];h.type="dots",h.output+=E,h.value+=E,i.dots=!0;continue}if(S.braces+S.parens===0&&h.type!=="bos"&&h.type!=="slash"){I({type:"text",value:E,output:G});continue}I({type:"dot",value:E,output:G});continue}if(E==="?"){if(!(h&&h.value==="(")&&Y.noextglob!==!0&&x()==="("&&x(2)!=="?"){j("qmark",E);continue}if(h&&h.type==="paren"){let B0=x(),A0=E;if(B0==="<"&&!g1.supportsLookbehinds())throw Error("Node.js v10 or higher is required for regex lookbehinds");if(h.value==="("&&!/[!=<:]/.test(B0)||B0==="<"&&!/<([!=]|\w+>)/.test(g()))A0=`\\${E}`;I({type:"text",value:E,output:A0});continue}if(Y.dot!==!0&&(h.type==="slash"||h.type==="bos")){I({type:"qmark",value:E,output:V});continue}I({type:"qmark",value:E,output:z});continue}if(E==="!"){if(Y.noextglob!==!0&&x()==="("){if(x(2)!=="?"||!/[!=<:]/.test(x(3))){j("negate",E);continue}}if(Y.nonegate!==!0&&S.index===0){d();continue}}if(E==="+"){if(Y.noextglob!==!0&&x()==="("&&x(2)!=="?"){j("plus",E);continue}if(h&&h.value==="("||Y.regex===!1){I({type:"plus",value:E,output:W});continue}if(h&&(h.type==="bracket"||h.type==="paren"||h.type==="brace")||S.parens>0){I({type:"plus",value:E});continue}I({type:"plus",value:W});continue}if(E==="@"){if(Y.noextglob!==!0&&x()==="("&&x(2)!=="?"){I({type:"at",extglob:!0,value:E,output:""});continue}I({type:"text",value:E});continue}if(E!=="*"){if(E==="$"||E==="^")E=`\\${E}`;let i=LX0.exec(g());if(i)E+=i[0],S.index+=i[0].length;I({type:"text",value:E});continue}if(h&&(h.type==="globstar"||h.star===!0)){h.type="star",h.star=!0,h.value+=E,h.output=f,S.backtrack=!0,S.globstar=!0,m(E);continue}let u=g();if(Y.noextglob!==!0&&/^\([^?]/.test(u)){j("star",E);continue}if(h.type==="star"){if(Y.noglobstar===!0){m(E);continue}let i=h.prev,B0=i.prev,A0=i.type==="slash"||i.type==="bos",S0=B0&&(B0.type==="star"||B0.type==="globstar");if(Y.bash===!0&&(!A0||u[0]&&u[0]!=="/")){I({type:"star",value:E,output:""});continue}let a0=S.braces>0&&(i.type==="comma"||i.type==="brace"),jD=v.length&&(i.type==="pipe"||i.type==="paren");if(!A0&&i.type!=="paren"&&!a0&&!jD){I({type:"star",value:E,output:""});continue}while(u.slice(0,3)==="/**"){let N1=D[S.index+4];if(N1&&N1!=="/")break;u=u.slice(3),m("/**",3)}if(i.type==="bos"&&P()){h.type="globstar",h.value+=E,h.output=y(Y),S.output=h.output,S.globstar=!0,m(E);continue}if(i.type==="slash"&&i.prev.type!=="bos"&&!S0&&P()){S.output=S.output.slice(0,-(i.output+h.output).length),i.output=`(?:${i.output}`,h.type="globstar",h.output=y(Y)+(Y.strictSlashes?")":"|$)"),h.value+=E,S.globstar=!0,S.output+=i.output+h.output,m(E);continue}if(i.type==="slash"&&i.prev.type!=="bos"&&u[0]==="/"){let N1=u[1]!==void 0?"|$":"";S.output=S.output.slice(0,-(i.output+h.output).length),i.output=`(?:${i.output}`,h.type="globstar",h.output=`${y(Y)}${O}|${O}${N1})`,h.value+=E,S.output+=i.output+h.output,S.globstar=!0,m(E+_()),I({type:"slash",value:"/",output:""});continue}if(i.type==="bos"&&u[0]==="/"){h.type="globstar",h.value+=E,h.output=`(?:^|${O}|${y(Y)}${O})`,S.output=h.output,S.globstar=!0,m(E+_()),I({type:"slash",value:"/",output:""});continue}S.output=S.output.slice(0,-h.output.length),h.type="globstar",h.output=y(Y),h.value+=E,S.output+=h.output,S.globstar=!0,m(E);continue}let w0={type:"star",value:E,output:f};if(Y.bash===!0){if(w0.output=".*?",h.type==="bos"||h.type==="slash")w0.output=A+w0.output;I(w0);continue}if(h&&(h.type==="bracket"||h.type==="paren")&&Y.regex===!0){w0.output=E,I(w0);continue}if(S.index===S.start||h.type==="slash"||h.type==="dot"){if(h.type==="dot")S.output+=N,h.output+=N;else if(Y.dot===!0)S.output+=R,h.output+=R;else S.output+=A,h.output+=A;if(x()!=="*")S.output+=H,h.output+=H}I(w0)}while(S.brackets>0){if(Y.strictBrackets===!0)throw SyntaxError(o7("closing","]"));S.output=g1.escapeLast(S.output,"["),o("brackets")}while(S.parens>0){if(Y.strictBrackets===!0)throw SyntaxError(o7("closing",")"));S.output=g1.escapeLast(S.output,"("),o("parens")}while(S.braces>0){if(Y.strictBrackets===!0)throw SyntaxError(o7("closing","}"));S.output=g1.escapeLast(S.output,"{"),o("braces")}if(Y.strictSlashes!==!0&&(h.type==="star"||h.type==="bracket"))I({type:"maybe_slash",value:"",output:`${O}?`});if(S.backtrack===!0){S.output="";for(let u of S.tokens)if(S.output+=u.output!=null?u.output:u.value,u.suffix)S.output+=u.suffix}return S};qG.fastpaths=(D,X)=>{let Y={...X},Z=typeof Y.maxLength==="number"?Math.min(mJ,Y.maxLength):mJ,J=D.length;if(J>Z)throw SyntaxError(`Input length: ${J}, exceeds maximum allowed length: ${Z}`);D=bu[D]||D;let Q=g1.isWindows(X),{DOT_LITERAL:w,SLASH_LITERAL:F,ONE_CHAR:B,DOTS_SLASH:q,NO_DOT:$,NO_DOTS:G,NO_DOTS_SLASH:W,STAR:O,START_ANCHOR:H}=gJ.globChars(Q),M=Y.dot?G:$,U=Y.dot?W:$,N=Y.capture?"":"?:",R={negated:!1,prefix:""},z=Y.bash===!0?".*?":O;if(Y.capture)z=`(${z})`;let V=(A)=>{if(A.noglobstar===!0)return z;return`(${N}(?:(?!${H}${A.dot?q:w}).)*?)`},L=(A)=>{switch(A){case"*":return`${M}${B}${z}`;case".*":return`${w}${B}${z}`;case"*.*":return`${M}${z}${w}${B}${z}`;case"*/*":return`${M}${z}${F}${B}${U}${z}`;case"**":return M+V(Y);case"**/*":return`(?:${M}${V(Y)}${F})?${U}${B}${z}`;case"**/*.*":return`(?:${M}${V(Y)}${F})?${U}${z}${w}${B}${z}`;case"**/.*":return`(?:${M}${V(Y)}${F})?${w}${B}${z}`;default:{let k=/^(.*?)\.(\w+)$/.exec(A);if(!k)return;let f=L(k[1]);if(!f)return;return f+w+k[2]}}},C=g1.removePrefix(D,R),y=L(C);if(y&&Y.strictSlashes!==!0)y+=`${F}?`;return y};gu.exports=qG});var cu=T((dW0,du)=>{var NX0=require("path"),RX0=vu(),$G=mu(),GG=$X(),AX0=qX(),EX0=(D)=>D&&typeof D==="object"&&!Array.isArray(D),SD=(D,X,Y=!1)=>{if(Array.isArray(D)){let $=D.map((W)=>SD(W,X,Y));return(W)=>{for(let O of $){let H=O(W);if(H)return H}return!1}}let Z=EX0(D)&&D.tokens&&D.input;if(D===""||typeof D!=="string"&&!Z)throw TypeError("Expected pattern to be a non-empty string");let J=X||{},Q=GG.isWindows(X),w=Z?SD.compileRe(D,X):SD.makeRe(D,X,!1,!0),F=w.state;delete w.state;let B=()=>!1;if(J.ignore){let $={...X,ignore:null,onMatch:null,onResult:null};B=SD(J.ignore,$,Y)}let q=($,G=!1)=>{let{isMatch:W,match:O,output:H}=SD.test($,w,X,{glob:D,posix:Q}),M={glob:D,state:F,regex:w,posix:Q,input:$,output:H,match:O,isMatch:W};if(typeof J.onResult==="function")J.onResult(M);if(W===!1)return M.isMatch=!1,G?M:!1;if(B($)){if(typeof J.onIgnore==="function")J.onIgnore(M);return M.isMatch=!1,G?M:!1}if(typeof J.onMatch==="function")J.onMatch(M);return G?M:!0};if(Y)q.state=F;return q};SD.test=(D,X,Y,{glob:Z,posix:J}={})=>{if(typeof D!=="string")throw TypeError("Expected input to be a string");if(D==="")return{isMatch:!1,output:""};let Q=Y||{},w=Q.format||(J?GG.toPosixSlashes:null),F=D===Z,B=F&&w?w(D):D;if(F===!1)B=w?w(D):D,F=B===Z;if(F===!1||Q.capture===!0)if(Q.matchBase===!0||Q.basename===!0)F=SD.matchBase(D,X,Y,J);else F=X.exec(B);return{isMatch:Boolean(F),match:F,output:B}};SD.matchBase=(D,X,Y,Z=GG.isWindows(Y))=>{return(X instanceof RegExp?X:SD.makeRe(X,Y)).test(NX0.basename(D))};SD.isMatch=(D,X,Y)=>SD(X,Y)(D);SD.parse=(D,X)=>{if(Array.isArray(D))return D.map((Y)=>SD.parse(Y,X));return $G(D,{...X,fastpaths:!1})};SD.scan=(D,X)=>RX0(D,X);SD.compileRe=(D,X,Y=!1,Z=!1)=>{if(Y===!0)return D.output;let J=X||{},Q=J.contains?"":"^",w=J.contains?"":"$",F=`${Q}(?:${D.output})${w}`;if(D&&D.negated===!0)F=`^(?!${F}).*$`;let B=SD.toRegex(F,X);if(Z===!0)B.state=D;return B};SD.makeRe=(D,X={},Y=!1,Z=!1)=>{if(!D||typeof D!=="string")throw TypeError("Expected a non-empty string");let J={negated:!1,fastpaths:!0};if(X.fastpaths!==!1&&(D[0]==="."||D[0]==="*"))J.output=$G.fastpaths(D,X);if(!J.output)J=$G(D,X);return SD.compileRe(J,X,Y,Z)};SD.toRegex=(D,X)=>{try{let Y=X||{};return new RegExp(D,Y.flags||(Y.nocase?"i":""))}catch(Y){if(X&&X.debug===!0)throw Y;return/$^/}};SD.constants=AX0;du.exports=SD});var nu=T((cW0,lu)=>{lu.exports=cu()});var su=T((lW0,ru)=>{var pu=require("util"),au=Iu(),l8=nu(),OG=$X(),iu=(D)=>D===""||D==="./",tu=(D)=>{let X=D.indexOf("{");return X>-1&&D.indexOf("}",X)>-1},QD=(D,X,Y)=>{X=[].concat(X),D=[].concat(D);let Z=new Set,J=new Set,Q=new Set,w=0,F=($)=>{if(Q.add($.output),Y&&Y.onResult)Y.onResult($)};for(let $=0;$<X.length;$++){let G=l8(String(X[$]),{...Y,onResult:F},!0),W=G.state.negated||G.state.negatedExtglob;if(W)w++;for(let O of D){let H=G(O,!0);if(!(W?!H.isMatch:H.isMatch))continue;if(W)Z.add(H.output);else Z.delete(H.output),J.add(H.output)}}let q=(w===X.length?[...Q]:[...J]).filter(($)=>!Z.has($));if(Y&&q.length===0){if(Y.failglob===!0)throw Error(`No matches found for "${X.join(", ")}"`);if(Y.nonull===!0||Y.nullglob===!0)return Y.unescape?X.map(($)=>$.replace(/\\/g,"")):X}return q};QD.match=QD;QD.matcher=(D,X)=>l8(D,X);QD.isMatch=(D,X,Y)=>l8(X,Y)(D);QD.any=QD.isMatch;QD.not=(D,X,Y={})=>{X=[].concat(X).map(String);let Z=new Set,J=[],w=new Set(QD(D,X,{...Y,onResult:(F)=>{if(Y.onResult)Y.onResult(F);J.push(F.output)}}));for(let F of J)if(!w.has(F))Z.add(F);return[...Z]};QD.contains=(D,X,Y)=>{if(typeof D!=="string")throw TypeError(`Expected a string: "${pu.inspect(D)}"`);if(Array.isArray(X))return X.some((Z)=>QD.contains(D,Z,Y));if(typeof X==="string"){if(iu(D)||iu(X))return!1;if(D.includes(X)||D.startsWith("./")&&D.slice(2).includes(X))return!0}return QD.isMatch(D,X,{...Y,contains:!0})};QD.matchKeys=(D,X,Y)=>{if(!OG.isObject(D))throw TypeError("Expected the first argument to be an object");let Z=QD(Object.keys(D),X,Y),J={};for(let Q of Z)J[Q]=D[Q];return J};QD.some=(D,X,Y)=>{let Z=[].concat(D);for(let J of[].concat(X)){let Q=l8(String(J),Y);if(Z.some((w)=>Q(w)))return!0}return!1};QD.every=(D,X,Y)=>{let Z=[].concat(D);for(let J of[].concat(X)){let Q=l8(String(J),Y);if(!Z.every((w)=>Q(w)))return!1}return!0};QD.all=(D,X,Y)=>{if(typeof D!=="string")throw TypeError(`Expected a string: "${pu.inspect(D)}"`);return[].concat(X).every((Z)=>l8(Z,Y)(D))};QD.capture=(D,X,Y)=>{let Z=OG.isWindows(Y),Q=l8.makeRe(String(D),{...Y,capture:!0}).exec(Z?OG.toPosixSlashes(X):X);if(Q)return Q.slice(1).map((w)=>w===void 0?"":w)};QD.makeRe=(...D)=>l8.makeRe(...D);QD.scan=(...D)=>l8.scan(...D);QD.parse=(D,X)=>{let Y=[];for(let Z of[].concat(D||[]))for(let J of au(String(Z),X))Y.push(l8.parse(J,X));return Y};QD.braces=(D,X)=>{if(typeof D!=="string")throw TypeError("Expected a string");if(X&&X.nobrace===!0||!tu(D))return[D];return au(D,X)};QD.braceExpand=(D,X)=>{if(typeof D!=="string")throw TypeError("Expected a string");return QD.braces(D,{...X,expand:!0})};QD.hasBraces=tu;ru.exports=QD});var zY0={};D4(zY0,{zipBundle:()=>eX0,uploadBundle:()=>pX0,updateOrganization:()=>BY0,updateAppSetting:()=>JY0,saveEncryptionKey:()=>XY0,requestBuild:()=>WY0,parseSecurityPolicyError:()=>J5,login:()=>aX0,listOrganizations:()=>wY0,listBundles:()=>GY0,isSecurityPolicyError:()=>q$,getStats:()=>HY0,getSecurityPolicyMessage:()=>vf,getCurrentBundle:()=>ZY0,getCapacitorConfig:()=>KY0,getAccountId:()=>QY0,generateEncryptionKeys:()=>DY0,formatApiErrorForCli:()=>XJ,encryptBundle:()=>sX0,doctor:()=>tX0,deleteOrganization:()=>qY0,deleteLegacyEncryptionKey:()=>YY0,decryptBundle:()=>oX0,createSupabaseClient:()=>K0,checkBundleCompatibility:()=>rX0,addOrganization:()=>FY0,addChannel:()=>OY0,addApp:()=>$Y0,SECURITY_POLICY_MESSAGES:()=>s3,SECURITY_POLICY_ERRORS:()=>_7,CapgoSDK:()=>GD});module.exports=yh(zY0);var sD=R0(XD(),1),R5=require("node:process"),N6=R0(require("node:readline")),rJ=R0(require("node:readline")),IG=require("node:stream"),X4=R0(pJ(),1);function bh({onlyFirst:D=!1}={}){let X=["[\\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(X,D?void 0:"g")}var gh=bh();function PG(D){if(typeof D!="string")throw TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(gh,"")}function SG(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var xG={exports:{}};(function(D){var X={};D.exports=X,X.eastAsianWidth=function(Z){var J=Z.charCodeAt(0),Q=Z.length==2?Z.charCodeAt(1):0,w=J;return 55296<=J&&J<=56319&&56320<=Q&&Q<=57343&&(J&=1023,Q&=1023,w=J<<10|Q,w+=65536),w==12288||65281<=w&&w<=65376||65504<=w&&w<=65510?"F":w==8361||65377<=w&&w<=65470||65474<=w&&w<=65479||65482<=w&&w<=65487||65490<=w&&w<=65495||65498<=w&&w<=65500||65512<=w&&w<=65518?"H":4352<=w&&w<=4447||4515<=w&&w<=4519||4602<=w&&w<=4607||9001<=w&&w<=9002||11904<=w&&w<=11929||11931<=w&&w<=12019||12032<=w&&w<=12245||12272<=w&&w<=12283||12289<=w&&w<=12350||12353<=w&&w<=12438||12441<=w&&w<=12543||12549<=w&&w<=12589||12593<=w&&w<=12686||12688<=w&&w<=12730||12736<=w&&w<=12771||12784<=w&&w<=12830||12832<=w&&w<=12871||12880<=w&&w<=13054||13056<=w&&w<=19903||19968<=w&&w<=42124||42128<=w&&w<=42182||43360<=w&&w<=43388||44032<=w&&w<=55203||55216<=w&&w<=55238||55243<=w&&w<=55291||63744<=w&&w<=64255||65040<=w&&w<=65049||65072<=w&&w<=65106||65108<=w&&w<=65126||65128<=w&&w<=65131||110592<=w&&w<=110593||127488<=w&&w<=127490||127504<=w&&w<=127546||127552<=w&&w<=127560||127568<=w&&w<=127569||131072<=w&&w<=194367||177984<=w&&w<=196605||196608<=w&&w<=262141?"W":32<=w&&w<=126||162<=w&&w<=163||165<=w&&w<=166||w==172||w==175||10214<=w&&w<=10221||10629<=w&&w<=10630?"Na":w==161||w==164||167<=w&&w<=168||w==170||173<=w&&w<=174||176<=w&&w<=180||182<=w&&w<=186||188<=w&&w<=191||w==198||w==208||215<=w&&w<=216||222<=w&&w<=225||w==230||232<=w&&w<=234||236<=w&&w<=237||w==240||242<=w&&w<=243||247<=w&&w<=250||w==252||w==254||w==257||w==273||w==275||w==283||294<=w&&w<=295||w==299||305<=w&&w<=307||w==312||319<=w&&w<=322||w==324||328<=w&&w<=331||w==333||338<=w&&w<=339||358<=w&&w<=359||w==363||w==462||w==464||w==466||w==468||w==470||w==472||w==474||w==476||w==593||w==609||w==708||w==711||713<=w&&w<=715||w==717||w==720||728<=w&&w<=731||w==733||w==735||768<=w&&w<=879||913<=w&&w<=929||931<=w&&w<=937||945<=w&&w<=961||963<=w&&w<=969||w==1025||1040<=w&&w<=1103||w==1105||w==8208||8211<=w&&w<=8214||8216<=w&&w<=8217||8220<=w&&w<=8221||8224<=w&&w<=8226||8228<=w&&w<=8231||w==8240||8242<=w&&w<=8243||w==8245||w==8251||w==8254||w==8308||w==8319||8321<=w&&w<=8324||w==8364||w==8451||w==8453||w==8457||w==8467||w==8470||8481<=w&&w<=8482||w==8486||w==8491||8531<=w&&w<=8532||8539<=w&&w<=8542||8544<=w&&w<=8555||8560<=w&&w<=8569||w==8585||8592<=w&&w<=8601||8632<=w&&w<=8633||w==8658||w==8660||w==8679||w==8704||8706<=w&&w<=8707||8711<=w&&w<=8712||w==8715||w==8719||w==8721||w==8725||w==8730||8733<=w&&w<=8736||w==8739||w==8741||8743<=w&&w<=8748||w==8750||8756<=w&&w<=8759||8764<=w&&w<=8765||w==8776||w==8780||w==8786||8800<=w&&w<=8801||8804<=w&&w<=8807||8810<=w&&w<=8811||8814<=w&&w<=8815||8834<=w&&w<=8835||8838<=w&&w<=8839||w==8853||w==8857||w==8869||w==8895||w==8978||9312<=w&&w<=9449||9451<=w&&w<=9547||9552<=w&&w<=9587||9600<=w&&w<=9615||9618<=w&&w<=9621||9632<=w&&w<=9633||9635<=w&&w<=9641||9650<=w&&w<=9651||9654<=w&&w<=9655||9660<=w&&w<=9661||9664<=w&&w<=9665||9670<=w&&w<=9672||w==9675||9678<=w&&w<=9681||9698<=w&&w<=9701||w==9711||9733<=w&&w<=9734||w==9737||9742<=w&&w<=9743||9748<=w&&w<=9749||w==9756||w==9758||w==9792||w==9794||9824<=w&&w<=9825||9827<=w&&w<=9829||9831<=w&&w<=9834||9836<=w&&w<=9837||w==9839||9886<=w&&w<=9887||9918<=w&&w<=9919||9924<=w&&w<=9933||9935<=w&&w<=9953||w==9955||9960<=w&&w<=9983||w==10045||w==10071||10102<=w&&w<=10111||11093<=w&&w<=11097||12872<=w&&w<=12879||57344<=w&&w<=63743||65024<=w&&w<=65039||w==65533||127232<=w&&w<=127242||127248<=w&&w<=127277||127280<=w&&w<=127337||127344<=w&&w<=127386||917760<=w&&w<=917999||983040<=w&&w<=1048573||1048576<=w&&w<=1114109?"A":"N"},X.characterLength=function(Z){var J=this.eastAsianWidth(Z);return J=="F"||J=="W"||J=="A"?2:1};function Y(Z){return Z.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}X.length=function(Z){for(var J=Y(Z),Q=0,w=0;w<J.length;w++)Q=Q+this.characterLength(J[w]);return Q},X.slice=function(Z,J,Q){textLen=X.length(Z),J=J||0,Q=Q||1,J<0&&(J=textLen+J),Q<0&&(Q=textLen+Q);for(var w="",F=0,B=Y(Z),q=0;q<B.length;q++){var $=B[q],G=X.length($);if(F>=J-(G==2?1:0))if(F+G<=Q)w+=$;else break;F+=G}return w}})(xG);var mh=xG.exports,dh=SG(mh),ch=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},lh=SG(ch);function Y4(D,X={}){if(typeof D!="string"||D.length===0||(X={ambiguousIsNarrow:!0,...X},D=PG(D),D.length===0))return 0;D=D.replace(lh()," ");let Y=X.ambiguousIsNarrow?1:2,Z=0;for(let J of D){let Q=J.codePointAt(0);if(Q<=31||Q>=127&&Q<=159||Q>=768&&Q<=879)continue;switch(dh.eastAsianWidth(J)){case"F":case"W":Z+=2;break;case"A":Z+=Y;break;default:Z+=1}}return Z}var aJ=10,UG=(D=0)=>(X)=>`\x1B[${X+D}m`,NG=(D=0)=>(X)=>`\x1B[${38+D};5;${X}m`,RG=(D=0)=>(X,Y,Z)=>`\x1B[${38+D};2;${X};${Y};${Z}m`,wD={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(wD.modifier);var nh=Object.keys(wD.color),ih=Object.keys(wD.bgColor);[...nh,...ih];function ph(){let D=new Map;for(let[X,Y]of Object.entries(wD)){for(let[Z,J]of Object.entries(Y))wD[Z]={open:`\x1B[${J[0]}m`,close:`\x1B[${J[1]}m`},Y[Z]=wD[Z],D.set(J[0],J[1]);Object.defineProperty(wD,X,{value:Y,enumerable:!1})}return Object.defineProperty(wD,"codes",{value:D,enumerable:!1}),wD.color.close="\x1B[39m",wD.bgColor.close="\x1B[49m",wD.color.ansi=UG(),wD.color.ansi256=NG(),wD.color.ansi16m=RG(),wD.bgColor.ansi=UG(aJ),wD.bgColor.ansi256=NG(aJ),wD.bgColor.ansi16m=RG(aJ),Object.defineProperties(wD,{rgbToAnsi256:{value:(X,Y,Z)=>X===Y&&Y===Z?X<8?16:X>248?231:Math.round((X-8)/247*24)+232:16+36*Math.round(X/255*5)+6*Math.round(Y/255*5)+Math.round(Z/255*5),enumerable:!1},hexToRgb:{value:(X)=>{let Y=/[a-f\d]{6}|[a-f\d]{3}/i.exec(X.toString(16));if(!Y)return[0,0,0];let[Z]=Y;Z.length===3&&(Z=[...Z].map((Q)=>Q+Q).join(""));let J=Number.parseInt(Z,16);return[J>>16&255,J>>8&255,J&255]},enumerable:!1},hexToAnsi256:{value:(X)=>wD.rgbToAnsi256(...wD.hexToRgb(X)),enumerable:!1},ansi256ToAnsi:{value:(X)=>{if(X<8)return 30+X;if(X<16)return 90+(X-8);let Y,Z,J;if(X>=232)Y=((X-232)*10+8)/255,Z=Y,J=Y;else{X-=16;let F=X%36;Y=Math.floor(X/36)/5,Z=Math.floor(F/6)/5,J=F%6/5}let Q=Math.max(Y,Z,J)*2;if(Q===0)return 30;let w=30+(Math.round(J)<<2|Math.round(Z)<<1|Math.round(Y));return Q===2&&(w+=60),w},enumerable:!1},rgbToAnsi:{value:(X,Y,Z)=>wD.ansi256ToAnsi(wD.rgbToAnsi256(X,Y,Z)),enumerable:!1},hexToAnsi:{value:(X)=>wD.ansi256ToAnsi(wD.hexToAnsi256(X)),enumerable:!1}}),wD}var ah=ph(),VX=new Set(["\x1B",""]),th=39,oJ="\x07",fG="[",rh="]",yG="m",eJ=`${rh}8;;`,AG=(D)=>`${VX.values().next().value}${fG}${D}${yG}`,EG=(D)=>`${VX.values().next().value}${eJ}${D}${oJ}`,sh=(D)=>D.split(" ").map((X)=>Y4(X)),tJ=(D,X,Y)=>{let Z=[...X],J=!1,Q=!1,w=Y4(PG(D[D.length-1]));for(let[F,B]of Z.entries()){let q=Y4(B);if(w+q<=Y?D[D.length-1]+=B:(D.push(B),w=0),VX.has(B)&&(J=!0,Q=Z.slice(F+1).join("").startsWith(eJ)),J){Q?B===oJ&&(J=!1,Q=!1):B===yG&&(J=!1);continue}w+=q,w===Y&&F<Z.length-1&&(D.push(""),w=0)}!w&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},oh=(D)=>{let X=D.split(" "),Y=X.length;for(;Y>0&&!(Y4(X[Y-1])>0);)Y--;return Y===X.length?D:X.slice(0,Y).join(" ")+X.slice(Y).join("")},eh=(D,X,Y={})=>{if(Y.trim!==!1&&D.trim()==="")return"";let Z="",J,Q,w=sh(D),F=[""];for(let[q,$]of D.split(" ").entries()){Y.trim!==!1&&(F[F.length-1]=F[F.length-1].trimStart());let G=Y4(F[F.length-1]);if(q!==0&&(G>=X&&(Y.wordWrap===!1||Y.trim===!1)&&(F.push(""),G=0),(G>0||Y.trim===!1)&&(F[F.length-1]+=" ",G++)),Y.hard&&w[q]>X){let W=X-G,O=1+Math.floor((w[q]-W-1)/X);Math.floor((w[q]-1)/X)<O&&F.push(""),tJ(F,$,X);continue}if(G+w[q]>X&&G>0&&w[q]>0){if(Y.wordWrap===!1&&G<X){tJ(F,$,X);continue}F.push("")}if(G+w[q]>X&&Y.wordWrap===!1){tJ(F,$,X);continue}F[F.length-1]+=$}Y.trim!==!1&&(F=F.map((q)=>oh(q)));let B=[...F.join(`
|
|
259
259
|
`)];for(let[q,$]of B.entries()){if(Z+=$,VX.has($)){let{groups:W}=new RegExp(`(?:\\${fG}(?<code>\\d+)m|\\${eJ}(?<uri>.*)${oJ})`).exec(B.slice(q).join(""))||{groups:{}};if(W.code!==void 0){let O=Number.parseFloat(W.code);J=O===th?void 0:O}else W.uri!==void 0&&(Q=W.uri.length===0?void 0:W.uri)}let G=ah.codes.get(Number(J));B[q+1]===`
|
|
260
260
|
`?(Q&&(Z+=EG("")),J&&G&&(Z+=AG(G))):$===`
|
|
261
261
|
`&&(J&&G&&(Z+=AG(J)),Q&&(Z+=EG(Q)))}return Z};function CG(D,X,Y){return String(D).normalize().replace(/\r\n/g,`
|
|
@@ -263,12 +263,12 @@ tell application "System Events" to get value of property list item "CFBundleNam
|
|
|
263
263
|
`).map((Z)=>eh(Z,X,Y)).join(`
|
|
264
264
|
`)}var D_=["up","down","left","right","space","enter","cancel"],LX={actions:new Set(D_),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};function DQ(D,X){if(typeof D=="string")return LX.aliases.get(D)===X;for(let Y of D)if(Y!==void 0&&DQ(Y,X))return!0;return!1}function X_(D,X){if(D===X)return;let Y=D.split(`
|
|
265
265
|
`),Z=X.split(`
|
|
266
|
-
`),J=[];for(let Q=0;Q<Math.max(Y.length,Z.length);Q++)Y[Q]!==Z[Q]&&J.push(Q);return J}var Y_=globalThis.process.platform.startsWith("win"),sJ=Symbol("clack:cancel");function c0(D){return D===sJ}function MX(D,X){let Y=D;Y.isTTY&&Y.setRawMode(X)}function kG({input:D=R5.stdin,output:X=R5.stdout,overwrite:Y=!0,hideCursor:Z=!0}={}){let J=N6.createInterface({input:D,output:X,prompt:"",tabSize:1});N6.emitKeypressEvents(D,J),D.isTTY&&D.setRawMode(!0);let Q=(w,{name:F,sequence:B})=>{let q=String(w);if(DQ([q,F,B],"cancel")){Z&&X.write(
|
|
266
|
+
`),J=[];for(let Q=0;Q<Math.max(Y.length,Z.length);Q++)Y[Q]!==Z[Q]&&J.push(Q);return J}var Y_=globalThis.process.platform.startsWith("win"),sJ=Symbol("clack:cancel");function c0(D){return D===sJ}function MX(D,X){let Y=D;Y.isTTY&&Y.setRawMode(X)}function kG({input:D=R5.stdin,output:X=R5.stdout,overwrite:Y=!0,hideCursor:Z=!0}={}){let J=N6.createInterface({input:D,output:X,prompt:"",tabSize:1});N6.emitKeypressEvents(D,J),D.isTTY&&D.setRawMode(!0);let Q=(w,{name:F,sequence:B})=>{let q=String(w);if(DQ([q,F,B],"cancel")){Z&&X.write(sD.cursor.show),process.exit(0);return}if(!Y)return;N6.moveCursor(X,F==="return"?0:-1,F==="return"?-1:0,()=>{N6.clearLine(X,1,()=>{D.once("keypress",Q)})})};return Z&&X.write(sD.cursor.hide),D.once("keypress",Q),()=>{D.off("keypress",Q),Z&&X.write(sD.cursor.show),D.isTTY&&!Y_&&D.setRawMode(!1),J.terminal=!1,J.close()}}var Z_=Object.defineProperty,J_=(D,X,Y)=>(X in D)?Z_(D,X,{enumerable:!0,configurable:!0,writable:!0,value:Y}):D[X]=Y,k1=(D,X,Y)=>(J_(D,typeof X!="symbol"?X+"":X,Y),Y);class Z4{constructor(D,X=!0){k1(this,"input"),k1(this,"output"),k1(this,"_abortSignal"),k1(this,"rl"),k1(this,"opts"),k1(this,"_render"),k1(this,"_track",!1),k1(this,"_prevFrame",""),k1(this,"_subscribers",new Map),k1(this,"_cursor",0),k1(this,"state","initial"),k1(this,"error",""),k1(this,"value");let{input:Y=R5.stdin,output:Z=R5.stdout,render:J,signal:Q,...w}=D;this.opts=w,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=J.bind(this),this._track=X,this._abortSignal=Q,this.input=Y,this.output=Z}unsubscribe(){this._subscribers.clear()}setSubscriber(D,X){let Y=this._subscribers.get(D)??[];Y.push(X),this._subscribers.set(D,Y)}on(D,X){this.setSubscriber(D,{cb:X})}once(D,X){this.setSubscriber(D,{cb:X,once:!0})}emit(D,...X){let Y=this._subscribers.get(D)??[],Z=[];for(let J of Y)J.cb(...X),J.once&&Z.push(()=>Y.splice(Y.indexOf(J),1));for(let J of Z)J()}prompt(){return new Promise((D,X)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),D(sJ);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let Y=new IG.Writable;Y._write=(Z,J,Q)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),Q()},this.input.pipe(Y),this.rl=rJ.default.createInterface({input:this.input,output:Y,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),rJ.default.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),MX(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(sD.cursor.show),this.output.off("resize",this.render),MX(this.input,!1),D(this.value)}),this.once("cancel",()=>{this.output.write(sD.cursor.show),this.output.off("resize",this.render),MX(this.input,!1),D(sJ)})})}onKeypress(D,X){if(this.state==="error"&&(this.state="active"),X?.name&&(!this._track&&LX.aliases.has(X.name)&&this.emit("cursor",LX.aliases.get(X.name)),LX.actions.has(X.name)&&this.emit("cursor",X.name)),D&&(D.toLowerCase()==="y"||D.toLowerCase()==="n")&&this.emit("confirm",D.toLowerCase()==="y"),D==="\t"&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),D&&this.emit("key",D.toLowerCase()),X?.name==="return"){if(this.opts.validate){let Y=this.opts.validate(this.value);Y&&(this.error=Y instanceof Error?Y.message:Y,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}DQ([D,X?.name,X?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
267
267
|
`),MX(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let D=CG(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
|
|
268
|
-
`).length-1;this.output.write(
|
|
269
|
-
`);this.output.write(Z[Y]),this._prevFrame=D,this.output.write(
|
|
268
|
+
`).length-1;this.output.write(sD.cursor.move(-999,D*-1))}render(){let D=CG(this._render(this)??"",process.stdout.columns,{hard:!0});if(D!==this._prevFrame){if(this.state==="initial")this.output.write(sD.cursor.hide);else{let X=X_(this._prevFrame,D);if(this.restoreCursor(),X&&X?.length===1){let Y=X[0];this.output.write(sD.cursor.move(0,Y)),this.output.write(sD.erase.lines(1));let Z=D.split(`
|
|
269
|
+
`);this.output.write(Z[Y]),this._prevFrame=D,this.output.write(sD.cursor.move(0,Z.length-Y-1));return}if(X&&X?.length>1){let Y=X[0];this.output.write(sD.cursor.move(0,Y)),this.output.write(sD.erase.down());let Z=D.split(`
|
|
270
270
|
`).slice(Y);this.output.write(Z.join(`
|
|
271
|
-
`)),this._prevFrame=D;return}this.output.write(
|
|
271
|
+
`)),this._prevFrame=D;return}this.output.write(sD.erase.down())}this.output.write(D),this.state==="initial"&&(this.state="active"),this._prevFrame=D}}}class XQ extends Z4{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(D){super(D,!1),this.value=!!D.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",(X)=>{this.output.write(sD.cursor.move(0,-1)),this.value=X,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}var Q_;Q_=new WeakMap;var w_=Object.defineProperty,F_=(D,X,Y)=>(X in D)?w_(D,X,{enumerable:!0,configurable:!0,writable:!0,value:Y}):D[X]=Y,jG=(D,X,Y)=>(F_(D,typeof X!="symbol"?X+"":X,Y),Y);class YQ extends Z4{constructor({mask:D,...X}){super(X),jG(this,"valueWithCursor",""),jG(this,"_mask","•"),this._mask=D??"•",this.on("finalize",()=>{this.valueWithCursor=this.masked}),this.on("value",()=>{if(this.cursor>=this.value.length)this.valueWithCursor=`${this.masked}${X4.default.inverse(X4.default.hidden("_"))}`;else{let Y=this.masked.slice(0,this.cursor),Z=this.masked.slice(this.cursor);this.valueWithCursor=`${Y}${X4.default.inverse(Z[0])}${Z.slice(1)}`}})}get cursor(){return this._cursor}get masked(){return this.value.replaceAll(/./g,this._mask)}}var B_=Object.defineProperty,q_=(D,X,Y)=>(X in D)?B_(D,X,{enumerable:!0,configurable:!0,writable:!0,value:Y}):D[X]=Y,TG=(D,X,Y)=>(q_(D,typeof X!="symbol"?X+"":X,Y),Y);class ZQ extends Z4{constructor(D){super(D,!1),TG(this,"options"),TG(this,"cursor",0),this.options=D.options,this.cursor=this.options.findIndex(({value:X})=>X===D.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",(X)=>{switch(X){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}}class JQ extends Z4{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}█`;let D=this.value.slice(0,this.cursor),[X,...Y]=this.value.slice(this.cursor);return`${D}${X4.default.inverse(X)}${Y.join("")}`}get cursor(){return this._cursor}constructor(D){super(D),this.on("finalize",()=>{this.value||(this.value=D.defaultValue)})}}var d1=R0(require("node:process")),t=R0(pJ(),1),UX=R0(XD(),1);function $_(){return d1.default.platform!=="win32"?d1.default.env.TERM!=="linux":!!d1.default.env.CI||!!d1.default.env.WT_SESSION||!!d1.default.env.TERMINUS_SUBLIME||d1.default.env.ConEmuTask==="{cmd::Cmder}"||d1.default.env.TERM_PROGRAM==="Terminus-Sublime"||d1.default.env.TERM_PROGRAM==="vscode"||d1.default.env.TERM==="xterm-256color"||d1.default.env.TERM==="alacritty"||d1.default.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var QQ=$_(),TD=(D,X)=>QQ?D:X,G_=TD("◆","*"),uG=TD("■","x"),hG=TD("▲","x"),BQ=TD("◇","o"),O_=TD("┌","T"),u0=TD("│","|"),B9=TD("└","—"),wQ=TD("●",">"),FQ=TD("○"," "),jY0=TD("◻","[•]"),TY0=TD("◼","[+]"),IY0=TD("◻","[ ]"),W_=TD("▪","•"),PY0=TD("─","-"),SY0=TD("╮","+"),xY0=TD("├","+"),fY0=TD("╯","+"),H_=TD("●","•"),K_=TD("◆","*"),z_=TD("▲","!"),M_=TD("■","x"),NX=(D)=>{switch(D){case"initial":case"active":return t.default.cyan(G_);case"cancel":return t.default.red(uG);case"error":return t.default.yellow(hG);case"submit":return t.default.green(BQ)}},L_=(D)=>{let{cursor:X,options:Y,style:Z}=D,J=D.maxItems??Number.POSITIVE_INFINITY,Q=Math.max(process.stdout.rows-4,0),w=Math.min(Q,Math.max(J,5)),F=0;X>=F+w-3?F=Math.max(Math.min(X-w+3,Y.length-w),0):X<F+2&&(F=Math.max(X-2,0));let B=w<Y.length&&F>0,q=w<Y.length&&F+w<Y.length;return Y.slice(F,F+w).map(($,G,W)=>{let O=G===0&&B,H=G===W.length-1&&q;return O||H?t.default.dim("..."):Z($,G+F===X)})},R6=(D)=>new JQ({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){let X=`${t.default.gray(u0)}
|
|
272
272
|
${NX(this.state)} ${D.message}
|
|
273
273
|
`,Y=D.placeholder?t.default.inverse(D.placeholder[0])+t.default.dim(D.placeholder.slice(1)):t.default.inverse(t.default.hidden("_")),Z=this.value?this.valueWithCursor:Y;switch(this.state){case"error":return`${X.trim()}
|
|
274
274
|
${t.default.yellow(u0)} ${Z}
|
|
@@ -284,7 +284,7 @@ ${t.default.yellow(B9)} ${t.default.yellow(this.error)}
|
|
|
284
284
|
`;case"submit":return`${X}${t.default.gray(u0)} ${t.default.dim(Z)}`;case"cancel":return`${X}${t.default.gray(u0)} ${t.default.strikethrough(t.default.dim(Z??""))}${Z?`
|
|
285
285
|
${t.default.gray(u0)}`:""}`;default:return`${X}${t.default.cyan(u0)} ${Y}
|
|
286
286
|
${t.default.cyan(B9)}
|
|
287
|
-
`}}}).prompt(),
|
|
287
|
+
`}}}).prompt(),oD=(D)=>{let X=D.active??"Yes",Y=D.inactive??"No";return new XQ({active:X,inactive:Y,initialValue:D.initialValue??!0,render(){let Z=`${t.default.gray(u0)}
|
|
288
288
|
${NX(this.state)} ${D.message}
|
|
289
289
|
`,J=this.value?X:Y;switch(this.state){case"submit":return`${Z}${t.default.gray(u0)} ${t.default.dim(J)}`;case"cancel":return`${Z}${t.default.gray(u0)} ${t.default.strikethrough(t.default.dim(J))}
|
|
290
290
|
${t.default.gray(u0)}`;default:return`${Z}${t.default.cyan(u0)} ${this.value?`${t.default.green(wQ)} ${X}`:`${t.default.dim(FQ)} ${t.default.dim(X)}`} ${t.default.dim("/")} ${this.value?`${t.default.dim(FQ)} ${t.default.dim(Y)}`:`${t.default.green(wQ)} ${Y}`}
|
|
@@ -308,11 +308,11 @@ ${t.default.gray(B9)} ${D}
|
|
|
308
308
|
`);let L=0,C=0;O(),Q=setInterval(()=>{if(Z&&F===B)return;M(),B=F;let y=t.default.magenta(X[L]);if(Z)process.stdout.write(`${y} ${F}...`);else if(D==="timer")process.stdout.write(`${y} ${F} ${N(q)}`);else{let A=".".repeat(Math.floor(C)).slice(0,3);process.stdout.write(`${y} ${F}${A}`)}L=L+1<X.length?L+1:0,C=C<X.length?C+0.125:0},Y)},z=(V="",L=0)=>{w=!1,clearInterval(Q),M();let C=L===0?t.default.green(BQ):L===1?t.default.red(uG):t.default.red(hG);F=U(V??F),D==="timer"?process.stdout.write(`${C} ${F} ${N(q)}
|
|
309
309
|
`):process.stdout.write(`${C} ${F}
|
|
310
310
|
`),H(),J()};return{start:R,stop:z,message:(V="")=>{F=U(V??F)}}};function vG(D,X){let Z=["normal","bold","dim","italic","underline","strikethrough"].indexOf(D),J="\x1B[";return"\x1B["+Z+"m"+X+"\x1B[0m"}class MD{title=null;headers=[];rows=[];static narrowTheme={top:["╔","═","╤","╗"],row:["║"," ","│","║"],div:["╟","─","┼","╢"],bot:["╚","═","╧","╝"]};static wideTheme={top:["╔═","═","═╤═","═╗"],row:["║ "," "," │ "," ║"],div:["╟─","─","─┼─","─╢"],bot:["╚═","═","═╧═","═╝"]};static roundTheme={top:["╭─","─","─┬─","─╮"],row:["│ "," "," │ "," │"],div:["├─","─","─┼─","─┤"],bot:["╰─","─","─┴─","─╯"]};theme=MD.wideTheme;columnWidth(){let D=[this.headers,...this.rows].filter((Y)=>Y.length>0),X=D[0].map((Y)=>this.cast(Y).length);for(let Y of D.slice(1))for(let Z=0;Z<X.length;Z++){let J=this.cast(Y[Z]).length;if(J>X[Z])X[Z]=J}return X}cast(D){if(typeof D==="object")return"obj";if(D!==void 0&&typeof D.toString==="function")return D.toString();else return""}renderTitle(){return"[ "+this.title+" ]"}renderLine(D){let X=this.columnWidth();return D[0]+X.map((Y)=>D[1].repeat(Y)).join(D[2])+D[3]}renderCell(D,X,Y=!1){let Z=this.cast(D),J=Y?vG("bold",Z):Z,Q=X-Z.length,w=this.theme.row[1];switch(typeof D){case"number":return w.repeat(Q)+J;case"string":return J+w.repeat(Q);case"boolean":case"object":return w.repeat(Math.ceil(Q/2))+vG("italic",Z)+w.repeat(Math.floor(Q/2));default:return w.repeat(Q)}}renderRow(D,X=!1){let Y=this.theme.row,Z=this.columnWidth();return Y[0]+D.map((J,Q)=>this.renderCell(J,Z[Q],X)).join(Y[2])+Y[3]}toString(){let D=this.theme,X=this.headers.length>0,Y=this.rows.length>0;return[this.title?this.renderTitle():"",X||Y?this.renderLine(D.top):"",X?this.renderRow(this.headers,!0):"",X&&Y?this.renderLine(D.div):"",...this.rows.map((Z)=>this.renderRow(Z)),X||Y?this.renderLine(D.bot):""].filter((Z)=>Z.length>0).join(`
|
|
311
|
-
`)}}var Py=require("node:child_process"),L0=require("node:fs"),$J=require("node:os"),W0=N0(require("node:path")),m8=require("node:process"),e6=N0(AX(),1);var J1=require("fs"),Q4=(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`,B=`${D}/npm-shrinkwrap.json`;if(J1.existsSync(Y)||J1.existsSync(Z))return"bun";if(J1.existsSync(J)||J1.existsSync(Q))return"pnpm";if(J1.existsSync(w))return"yarn";if(J1.existsSync(F)||J1.existsSync(B))return"npm";return X},EX=(D=Q4(),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"}},bG=(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`,B=`${D}/npm-shrinkwrap.json`;if(J1.existsSync(Y)||J1.existsSync(Z))return"bunx";if(J1.existsSync(J)||J1.existsSync(Q))return"pnpm exec";if(J1.existsSync(w))return"yarn dlx";if(J1.existsSync(F)||J1.existsSync(B))return"npx";return X};function CX(D,X){if(isNaN(D)||isNaN(X))throw Error("Cannot compare against non-numbers");return D===X?0:D<X?-1:1}function dG(D=[],X=[]){if(D.length&&!X.length)return-1;if(!D.length&&X.length)return 1;return 0}function OQ(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 A5="0|[1-9]\\d*",R_="\\d*[a-zA-Z-][a-zA-Z0-9-]*",A_=`(?<major>${A5})\\.(?<minor>${A5})\\.(?<patch>${A5})`,gG=`(?:${A5}|${R_})`,cG=`(?:-(?<prerelease>${gG}(?:\\.${gG})*))`,mG="[0-9A-Za-z-]+",lG=`(?:\\+(?<buildmetadata>${mG}(?:\\.${mG})*))`,nG=`v?${A_}${cG}?${lG}?`,iG=new RegExp(`^${nG}$`),pG="(?:<|>)?=?",E_="x|X|\\*",GQ=`${A5}|${E_}`,jX=`[v=\\s]*(?<major>${GQ})(?:\\.(?<minor>${GQ})(?:\\.(?<patch>${GQ})${cG}?${lG}?)?)?`,aG=new RegExp(`^(?<operator>~>?|\\^|${pG})\\s*${jX}$`),tG=new RegExp(`^(?<operator>${pG})\\s*(${nG})$|^$`);function WQ(D){return typeof D==="number"&&!Number.isNaN(D)&&(!Number.isFinite(D)||0<=D&&D<=Number.MAX_SAFE_INTEGER)}var HQ=256;var C_=new RegExp(`^${A5}$`);function Q1(D){return D.split(".").filter(Boolean).map((X)=>{if(C_.test(X)){let Y=Number(X);if(WQ(Y))return Y}return X})}function J8(D){return D.split(".").filter(Boolean)}function E6(D,X){let Y=Number(D);if(!WQ(Y))throw TypeError(X);return Y}function n8(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 w1(D,X){if(D===X)return 0;return CX(D.major,X.major)||CX(D.minor,X.minor)||CX(D.patch,X.patch)||dG(D.prerelease,X.prerelease)||OQ(D.prerelease,X.prerelease)}function KQ(D){return D.toFixed(0)}function Q8(D){let X=KQ(D.major),Y=KQ(D.minor),Z=KQ(D.patch),J=D.prerelease?.join(".")??"",Q=D.build?.join(".")??"";return[[`${X}.${Y}.${Z}`,J].filter((B)=>B).join("-"),Q].filter((B)=>B).join("+")}function j_(D,X){if(n8(X))return!0;let Y=w1(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 TX(D,X){for(let Y of X)if(!j_(D,Y))return!1;if(D.prerelease&&D.prerelease.length>0){for(let Y of X){if(n8(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 w4(D,X){return X.some((Y)=>TX(D,Y))}function T_(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 F4(D=[],X){let Y=T_(D);if(!X)return Y;let Z=Q1(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 B4(D,X,Y={}){let Z=Y.build!==void 0?J8(Y.build):D.build??[];switch(X){case"premajor":return{major:D.major+1,minor:0,patch:0,prerelease:F4(D.prerelease,Y.prerelease),build:Z};case"preminor":return{major:D.major,minor:D.minor+1,patch:0,prerelease:F4(D.prerelease,Y.prerelease),build:Z};case"prepatch":return{major:D.major,minor:D.minor,patch:D.patch+1,prerelease:F4(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:F4(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:F4(D.prerelease,Y.prerelease),build:Z};default:throw TypeError(`Cannot increment version: invalid argument ${X}`)}}var IX={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},E5={operator:void 0,...IX};function zQ(D,X){return w1(D,X)>0}function q9(D,X){return w1(D,X)<0}function I_(D){let Y=D.match(tG)?.groups;if(!Y)return null;let{operator:Z,prerelease:J,buildmetadata:Q}=Y,w=Y.major?{major:E6(Y.major,`Cannot parse comparator ${D}: invalid major version`),minor:E6(Y.minor,`Cannot parse comparator ${D}: invalid minor version`),patch:E6(Y.patch,`Cannot parse comparator ${D}: invalid patch version`),prerelease:J?Q1(J):[],build:Q?J8(Q):[]}:IX;return{operator:Z||void 0,...w}}function t0(D){return!D||D.toLowerCase()==="x"||D==="*"}function P_(D){if(t0(D.major))return;if(t0(D.minor))return{operator:">=",major:+D.major,minor:0,patch:0,prerelease:[],build:[]};if(t0(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?Q1(D.prerelease):[],build:[]}}function S_(D){if(t0(D.major))return;if(t0(D.minor))return{operator:"<",major:+D.major+1,minor:0,patch:0,prerelease:[],build:[]};if(t0(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:Q1(D.prerelease),build:[]};return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:[],build:[]}}function x_(D){let X=D.match(new RegExp(`^${jX}`)),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(`^${jX}\\s*$`))?.groups;if(!F)return null;let B=P_(Y),q=S_(F);return[B,q].filter(Boolean)}function f_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];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=Q1(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 y_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];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=Q1(D.prerelease??"");return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q+1,patch:0}]}function k_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(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=Q1(D.prerelease??""),B=J8(D.build??"");return[{operator:"<",major:J,minor:Q,patch:w,prerelease:F,build:B}]}function u_(D){let X=t0(D.minor),Y=t0(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=Q1(D.prerelease??""),F=J8(D.build??"");return[{operator:"<=",major:Z,minor:J,patch:Q,prerelease:w,build:F}]}function h_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(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=Q1(D.prerelease??""),B=J8(D.build??"");return[{operator:">",major:J,minor:Q,patch:w,prerelease:F,build:B}]}function __(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];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=Q1(D.prerelease??""),B=J8(D.build??"");return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F,build:B}]}function v_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];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=Q1(D.prerelease??""),B=J8(D.build??"");return[{operator:void 0,major:J,minor:Q,patch:w,prerelease:F,build:B}]}function b_(D){let X=D.match(aG)?.groups;if(!X)return I_(D);switch(X.operator){case"^":return f_(X);case"~":case"~>":return y_(X);case"<":return k_(X);case"<=":return u_(X);case">":return h_(X);case">=":return __(X);case"=":case"":return v_(X);default:throw Error(`Cannot parse version range: '${X.operator}' is not a valid operator`)}}function g_(D){return D.split(/\s+/).flatMap(b_)}function PX(D){let X=D.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map((Y)=>x_(Y)||g_(Y));if(X.some((Y)=>Y.includes(null)))throw TypeError(`Cannot parse version range: range "${D}" is invalid`);return X}function i0(D){if(typeof D!=="string")throw TypeError(`Cannot parse version as version must be a string: received ${typeof D}`);if(D.length>HQ)throw TypeError(`Cannot parse version as version length is too long: length is ${D.length}, max length is ${HQ}`);D=D.trim();let X=D.match(iG)?.groups;if(!X)throw TypeError(`Cannot parse version: ${D}`);let Y=E6(X.major,`Cannot parse version ${D}: invalid major version`),Z=E6(X.minor,`Cannot parse version ${D}: invalid minor version`),J=E6(X.patch,`Cannot parse version ${D}: invalid patch version`),Q=X.prerelease?Q1(X.prerelease):[],w=X.buildmetadata?J8(X.buildmetadata):[];return{major:Y,minor:Z,patch:J,prerelease:Q,build:w}}function rG(D,X){let Y=D.operator,Z=X.operator;if(Y===void 0){if(n8(D))return!0;return w4(D,[[X]])}if(Z===void 0){if(n8(X))return!0;return w4(X,[[D]])}let J=w1(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 m_(D){return D.every((X)=>{return X.some((Y)=>d_(Y))})}function d_(D){for(let X=0;X<D.length-1;X++){let Y=D[X];for(let Z of D.slice(X+1))if(!rG(Y,Z))return!1}return!0}function sG(D,X){return m_([D,X])&&D.some((Y)=>{return X.some((Z)=>{return Y.every((J)=>{return Z.every((Q)=>rG(J,Q))})})})}function oG(D){try{return i0(D),!0}catch{return!1}}function eG(D,X){return w1(D,X)>=0}var Z0={};D4(Z0,{createClient:()=>Gw,SupabaseClient:()=>$H,PostgrestError:()=>G4,FunctionsRelayError:()=>eD.FunctionsRelayError,FunctionsHttpError:()=>eD.FunctionsHttpError,FunctionsFetchError:()=>eD.FunctionsFetchError,FunctionsError:()=>eD.FunctionsError,FunctionRegion:()=>eD.FunctionRegion});var eD=N0(uO(),1);var _O={};D4(_O,{default:()=>p_,PostgrestTransformBuilder:()=>UQ,PostgrestQueryBuilder:()=>NQ,PostgrestFilterBuilder:()=>C6,PostgrestError:()=>G4,PostgrestClient:()=>uX,PostgrestBuilder:()=>VQ});var G4=class extends Error{constructor(D){super(D.message);this.name="PostgrestError",this.details=D.details,this.hint=D.hint,this.code=D.code}},VQ=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,B=null,q=Q.status,$=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)B=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,B=null,q=406,$="Not Acceptable";else if(F.length===1)F=F[0];else F=null}else{var H;let M=await Q.text();try{if(w=JSON.parse(M),Array.isArray(w)&&Q.status===404)F=[],w=null,q=200,$="OK"}catch(U){if(Q.status===404&&M==="")q=204,$="No Content";else w={message:M}}if(w&&Y.isMaybeSingle&&(w===null||w===void 0||(H=w.details)===null||H===void 0?void 0:H.includes("0 rows")))w=null,q=200,$="OK";if(w&&Y.shouldThrowOnError)throw new G4(w)}return{error:w,data:F,count:B,status:q,statusText:$}});if(!this.shouldThrowOnError)J=J.catch((Q)=>{var w;let F="",B=Q===null||Q===void 0?void 0:Q.cause;if(B){var q,$,G,W;let H=(q=B===null||B===void 0?void 0:B.message)!==null&&q!==void 0?q:"",M=($=B===null||B===void 0?void 0:B.code)!==null&&$!==void 0?$:"";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+=`
|
|
311
|
+
`)}}var Py=require("node:child_process"),V0=require("node:fs"),$J=require("node:os"),W0=R0(require("node:path")),m8=require("node:process"),e6=R0(AX(),1);var Q1=require("fs"),Q4=(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`,B=`${D}/npm-shrinkwrap.json`;if(Q1.existsSync(Y)||Q1.existsSync(Z))return"bun";if(Q1.existsSync(J)||Q1.existsSync(Q))return"pnpm";if(Q1.existsSync(w))return"yarn";if(Q1.existsSync(F)||Q1.existsSync(B))return"npm";return X},EX=(D=Q4(),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"}},bG=(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`,B=`${D}/npm-shrinkwrap.json`;if(Q1.existsSync(Y)||Q1.existsSync(Z))return"bunx";if(Q1.existsSync(J)||Q1.existsSync(Q))return"pnpm exec";if(Q1.existsSync(w))return"yarn dlx";if(Q1.existsSync(F)||Q1.existsSync(B))return"npx";return X};function CX(D,X){if(isNaN(D)||isNaN(X))throw Error("Cannot compare against non-numbers");return D===X?0:D<X?-1:1}function dG(D=[],X=[]){if(D.length&&!X.length)return-1;if(!D.length&&X.length)return 1;return 0}function OQ(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 A5="0|[1-9]\\d*",R_="\\d*[a-zA-Z-][a-zA-Z0-9-]*",A_=`(?<major>${A5})\\.(?<minor>${A5})\\.(?<patch>${A5})`,gG=`(?:${A5}|${R_})`,cG=`(?:-(?<prerelease>${gG}(?:\\.${gG})*))`,mG="[0-9A-Za-z-]+",lG=`(?:\\+(?<buildmetadata>${mG}(?:\\.${mG})*))`,nG=`v?${A_}${cG}?${lG}?`,iG=new RegExp(`^${nG}$`),pG="(?:<|>)?=?",E_="x|X|\\*",GQ=`${A5}|${E_}`,jX=`[v=\\s]*(?<major>${GQ})(?:\\.(?<minor>${GQ})(?:\\.(?<patch>${GQ})${cG}?${lG}?)?)?`,aG=new RegExp(`^(?<operator>~>?|\\^|${pG})\\s*${jX}$`),tG=new RegExp(`^(?<operator>${pG})\\s*(${nG})$|^$`);function WQ(D){return typeof D==="number"&&!Number.isNaN(D)&&(!Number.isFinite(D)||0<=D&&D<=Number.MAX_SAFE_INTEGER)}var HQ=256;var C_=new RegExp(`^${A5}$`);function w1(D){return D.split(".").filter(Boolean).map((X)=>{if(C_.test(X)){let Y=Number(X);if(WQ(Y))return Y}return X})}function J8(D){return D.split(".").filter(Boolean)}function E6(D,X){let Y=Number(D);if(!WQ(Y))throw TypeError(X);return Y}function n8(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 F1(D,X){if(D===X)return 0;return CX(D.major,X.major)||CX(D.minor,X.minor)||CX(D.patch,X.patch)||dG(D.prerelease,X.prerelease)||OQ(D.prerelease,X.prerelease)}function KQ(D){return D.toFixed(0)}function Q8(D){let X=KQ(D.major),Y=KQ(D.minor),Z=KQ(D.patch),J=D.prerelease?.join(".")??"",Q=D.build?.join(".")??"";return[[`${X}.${Y}.${Z}`,J].filter((B)=>B).join("-"),Q].filter((B)=>B).join("+")}function j_(D,X){if(n8(X))return!0;let Y=F1(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 TX(D,X){for(let Y of X)if(!j_(D,Y))return!1;if(D.prerelease&&D.prerelease.length>0){for(let Y of X){if(n8(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 w4(D,X){return X.some((Y)=>TX(D,Y))}function T_(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 F4(D=[],X){let Y=T_(D);if(!X)return Y;let Z=w1(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 B4(D,X,Y={}){let Z=Y.build!==void 0?J8(Y.build):D.build??[];switch(X){case"premajor":return{major:D.major+1,minor:0,patch:0,prerelease:F4(D.prerelease,Y.prerelease),build:Z};case"preminor":return{major:D.major,minor:D.minor+1,patch:0,prerelease:F4(D.prerelease,Y.prerelease),build:Z};case"prepatch":return{major:D.major,minor:D.minor,patch:D.patch+1,prerelease:F4(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:F4(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:F4(D.prerelease,Y.prerelease),build:Z};default:throw TypeError(`Cannot increment version: invalid argument ${X}`)}}var IX={major:Number.NaN,minor:Number.NaN,patch:Number.NaN,prerelease:[],build:[]},E5={operator:void 0,...IX};function zQ(D,X){return F1(D,X)>0}function q9(D,X){return F1(D,X)<0}function I_(D){let Y=D.match(tG)?.groups;if(!Y)return null;let{operator:Z,prerelease:J,buildmetadata:Q}=Y,w=Y.major?{major:E6(Y.major,`Cannot parse comparator ${D}: invalid major version`),minor:E6(Y.minor,`Cannot parse comparator ${D}: invalid minor version`),patch:E6(Y.patch,`Cannot parse comparator ${D}: invalid patch version`),prerelease:J?w1(J):[],build:Q?J8(Q):[]}:IX;return{operator:Z||void 0,...w}}function t0(D){return!D||D.toLowerCase()==="x"||D==="*"}function P_(D){if(t0(D.major))return;if(t0(D.minor))return{operator:">=",major:+D.major,minor:0,patch:0,prerelease:[],build:[]};if(t0(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?w1(D.prerelease):[],build:[]}}function S_(D){if(t0(D.major))return;if(t0(D.minor))return{operator:"<",major:+D.major+1,minor:0,patch:0,prerelease:[],build:[]};if(t0(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:w1(D.prerelease),build:[]};return{operator:"<=",major:+D.major,minor:+D.minor,patch:+D.patch,prerelease:[],build:[]}}function x_(D){let X=D.match(new RegExp(`^${jX}`)),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(`^${jX}\\s*$`))?.groups;if(!F)return null;let B=P_(Y),q=S_(F);return[B,q].filter(Boolean)}function f_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];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=w1(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 y_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];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=w1(D.prerelease??"");return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F},{operator:"<",major:J,minor:Q+1,patch:0}]}function k_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(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=w1(D.prerelease??""),B=J8(D.build??"");return[{operator:"<",major:J,minor:Q,patch:w,prerelease:F,build:B}]}function u_(D){let X=t0(D.minor),Y=t0(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=w1(D.prerelease??""),F=J8(D.build??"");return[{operator:"<=",major:Z,minor:J,patch:Q,prerelease:w,build:F}]}function h_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(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=w1(D.prerelease??""),B=J8(D.build??"");return[{operator:">",major:J,minor:Q,patch:w,prerelease:F,build:B}]}function __(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];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=w1(D.prerelease??""),B=J8(D.build??"");return[{operator:">=",major:J,minor:Q,patch:w,prerelease:F,build:B}]}function v_(D){let X=t0(D.major),Y=t0(D.minor),Z=t0(D.patch),J=+D.major,Q=+D.minor,w=+D.patch;if(X)return[E5];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=w1(D.prerelease??""),B=J8(D.build??"");return[{operator:void 0,major:J,minor:Q,patch:w,prerelease:F,build:B}]}function b_(D){let X=D.match(aG)?.groups;if(!X)return I_(D);switch(X.operator){case"^":return f_(X);case"~":case"~>":return y_(X);case"<":return k_(X);case"<=":return u_(X);case">":return h_(X);case">=":return __(X);case"=":case"":return v_(X);default:throw Error(`Cannot parse version range: '${X.operator}' is not a valid operator`)}}function g_(D){return D.split(/\s+/).flatMap(b_)}function PX(D){let X=D.replaceAll(/(?<=<|>|=|~|\^)(\s+)/g,"").split(/\s*\|\|\s*/).map((Y)=>x_(Y)||g_(Y));if(X.some((Y)=>Y.includes(null)))throw TypeError(`Cannot parse version range: range "${D}" is invalid`);return X}function i0(D){if(typeof D!=="string")throw TypeError(`Cannot parse version as version must be a string: received ${typeof D}`);if(D.length>HQ)throw TypeError(`Cannot parse version as version length is too long: length is ${D.length}, max length is ${HQ}`);D=D.trim();let X=D.match(iG)?.groups;if(!X)throw TypeError(`Cannot parse version: ${D}`);let Y=E6(X.major,`Cannot parse version ${D}: invalid major version`),Z=E6(X.minor,`Cannot parse version ${D}: invalid minor version`),J=E6(X.patch,`Cannot parse version ${D}: invalid patch version`),Q=X.prerelease?w1(X.prerelease):[],w=X.buildmetadata?J8(X.buildmetadata):[];return{major:Y,minor:Z,patch:J,prerelease:Q,build:w}}function rG(D,X){let Y=D.operator,Z=X.operator;if(Y===void 0){if(n8(D))return!0;return w4(D,[[X]])}if(Z===void 0){if(n8(X))return!0;return w4(X,[[D]])}let J=F1(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 m_(D){return D.every((X)=>{return X.some((Y)=>d_(Y))})}function d_(D){for(let X=0;X<D.length-1;X++){let Y=D[X];for(let Z of D.slice(X+1))if(!rG(Y,Z))return!1}return!0}function sG(D,X){return m_([D,X])&&D.some((Y)=>{return X.some((Z)=>{return Y.every((J)=>{return Z.every((Q)=>rG(J,Q))})})})}function oG(D){try{return i0(D),!0}catch{return!1}}function eG(D,X){return F1(D,X)>=0}var Z0={};D4(Z0,{createClient:()=>Gw,SupabaseClient:()=>$H,PostgrestError:()=>G4,FunctionsRelayError:()=>D1.FunctionsRelayError,FunctionsHttpError:()=>D1.FunctionsHttpError,FunctionsFetchError:()=>D1.FunctionsFetchError,FunctionsError:()=>D1.FunctionsError,FunctionRegion:()=>D1.FunctionRegion});var D1=R0(uO(),1);var _O={};D4(_O,{default:()=>p_,PostgrestTransformBuilder:()=>UQ,PostgrestQueryBuilder:()=>NQ,PostgrestFilterBuilder:()=>C6,PostgrestError:()=>G4,PostgrestClient:()=>uX,PostgrestBuilder:()=>VQ});var G4=class extends Error{constructor(D){super(D.message);this.name="PostgrestError",this.details=D.details,this.hint=D.hint,this.code=D.code}},VQ=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,B=null,q=Q.status,$=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)B=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,B=null,q=406,$="Not Acceptable";else if(F.length===1)F=F[0];else F=null}else{var H;let M=await Q.text();try{if(w=JSON.parse(M),Array.isArray(w)&&Q.status===404)F=[],w=null,q=200,$="OK"}catch(U){if(Q.status===404&&M==="")q=204,$="No Content";else w={message:M}}if(w&&Y.isMaybeSingle&&(w===null||w===void 0||(H=w.details)===null||H===void 0?void 0:H.includes("0 rows")))w=null,q=200,$="OK";if(w&&Y.shouldThrowOnError)throw new G4(w)}return{error:w,data:F,count:B,status:q,statusText:$}});if(!this.shouldThrowOnError)J=J.catch((Q)=>{var w;let F="",B=Q===null||Q===void 0?void 0:Q.cause;if(B){var q,$,G,W;let H=(q=B===null||B===void 0?void 0:B.message)!==null&&q!==void 0?q:"",M=($=B===null||B===void 0?void 0:B.code)!==null&&$!==void 0?$:"";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=B===null||B===void 0?void 0:B.name)!==null&&W!==void 0?W:"Error"}: ${H}`,M)F+=` (${M})`;if(B===null||B===void 0?void 0:B.stack)F+=`
|
|
314
|
-
${B.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}},UQ=class extends VQ{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("|"),B=(w=this.headers.get("Accept"))!==null&&w!==void 0?w:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${Q}; for="${B}"; 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}},hO=new RegExp("[,()]"),C6=class extends UQ{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"&&hO.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"&&hO.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}},NQ=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 C6({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 C6({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,q)=>B.concat(Object.keys(q)),[]);if(F.length>0){let B=[...new Set(F)].map((q)=>`"${q}"`);this.url.searchParams.set("columns",B.join(","))}}return new C6({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 C6({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 C6({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:(X=this.fetch)!==null&&X!==void 0?X:fetch})}},uX=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 NQ(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,B=new URL(`${this.url}/rpc/${X}`),q;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])=>{B.searchParams.append(G,W)});else F="POST",q=Y;let $=new Headers(this.headers);if(Q)$.set("Prefer",`count=${Q}`);return new C6({method:F,url:B,headers:$,schema:this.schemaName,body:q,fetch:(w=this.fetch)!==null&&w!==void 0?w:fetch})}},p_={PostgrestClient:uX,PostgrestQueryBuilder:NQ,PostgrestFilterBuilder:C6,PostgrestTransformBuilder:UQ,PostgrestBuilder:VQ,PostgrestError:G4};var BH=N0(kQ(),1);var VW={};D4(VW,{validateVectorDimension:()=>bv,resolveResponse:()=>_v,resolveFetch:()=>iX,normalizeToFloat32:()=>vv,isStorageVectorsError:()=>E1,isStorageError:()=>FD,isPlainObject:()=>OW,VectorIndexScope:()=>LW,VectorIndexApi:()=>WW,VectorDataApi:()=>HW,VectorBucketScope:()=>MW,VectorBucketApi:()=>KW,StorageVectorsUnknownError:()=>GW,StorageVectorsErrorCode:()=>hv,StorageVectorsError:()=>mQ,StorageVectorsClient:()=>zW,StorageVectorsApiError:()=>lX,StorageUnknownError:()=>nX,StorageError:()=>U4,StorageClient:()=>dQ,StorageApiError:()=>wW,StorageAnalyticsClient:()=>$W});var M4=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 Mv(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 Lv(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 Vv(D){let X=D.fetchImpl??globalThis.fetch;return{async request({method:Y,path:Z,query:J,body:Q,headers:w}){let F=Mv(D.baseUrl,Z,J),B=await Lv(D.auth),q=await X(F,{method:Y,headers:{...Q?{"Content-Type":"application/json"}:{},...B,...w},body:Q?JSON.stringify(Q):void 0}),$=await q.text(),G=(q.headers.get("content-type")||"").includes("application/json"),W=G&&$?JSON.parse($):$;if(!q.ok){let O=G?W:void 0,H=O?.error;throw new M4(H?.message??`Request failed with status ${q.status}`,{status:q.status,icebergType:H?.type,icebergCode:H?.code,details:O})}return{status:q.status,headers:q.headers,data:W}}}}function cX(D){return D.join("\x1F")}var Uv=class{constructor(D,X=""){this.client=D,this.prefix=X}async listNamespaces(D){let X=D?{parent:cX(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/${cX(D.namespace)}`})}async loadNamespaceMetadata(D){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${cX(D.namespace)}`})).data.properties}}async namespaceExists(D){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${cX(D.namespace)}`}),!0}catch(X){if(X instanceof M4&&X.status===404)return!1;throw X}}async createNamespaceIfNotExists(D,X){try{return await this.createNamespace(D,X)}catch(Y){if(Y instanceof M4&&Y.status===409)return;throw Y}}};function I5(D){return D.join("\x1F")}var Nv=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 M4&&Y.status===404)return!1;throw Y}}async createTableIfNotExists(D,X){try{return await this.createTable(D,X)}catch(Y){if(Y instanceof M4&&Y.status===409)return await this.loadTable({namespace:D.namespace,name:X.name});throw Y}}},YW=class{constructor(D){let X="v1";if(D.catalogName)X+=`/${D.catalogName}`;let Y=D.baseUrl.endsWith("/")?D.baseUrl:`${D.baseUrl}/`;this.client=Vv({baseUrl:Y,auth:D.auth,fetchImpl:D.fetch}),this.accessDelegation=D.accessDelegation?.join(","),this.namespaceOps=new Uv(this.client,X),this.tableOps=new Nv(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 U4=class extends Error{constructor(D){super(D);this.__isStorageError=!0,this.name="StorageError"}};function FD(D){return typeof D==="object"&&D!==null&&"__isStorageError"in D}var wW=class extends U4{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}}},nX=class extends U4{constructor(D,X){super(D);this.name="StorageUnknownError",this.originalError=X}},vQ=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Rv=()=>{return Response},hQ=(D)=>{if(Array.isArray(D))return D.map((Y)=>hQ(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]=hQ(Z)}),X},Av=(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)},Ev=(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 L4(D){return L4=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},L4(D)}function Cv(D,X){if(L4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(L4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function jv(D){var X=Cv(D,"string");return L4(X)=="symbol"?X:X+""}function Tv(D,X,Y){return(X=jv(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function ZW(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?ZW(Object(Y),!0).forEach(function(Z){Tv(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):ZW(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var uQ=(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)},Iv=async(D,X,Y)=>{if(D instanceof await Rv()&&!(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 wW(uQ(Z),J,Q))}).catch((Z)=>{X(new nX(uQ(Z),Z))});else X(new nX(uQ(D),D))},Pv=(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(Av(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 N4(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,Pv(X,Z,J,Q)).then((B)=>{if(!B.ok)throw B;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return B;return B.json()}).then((B)=>w(B)).catch((B)=>Iv(B,F,Z))})}async function V4(D,X,Y,Z){return N4(D,"GET",X,Y,Z)}async function F8(D,X,Y,Z,J){return N4(D,"POST",X,Z,J,Y)}async function _Q(D,X,Y,Z,J){return N4(D,"PUT",X,Z,J,Y)}async function Sv(D,X,Y,Z){return N4(D,"HEAD",X,G0(G0({},Y),{},{noResolveJson:!0}),Z)}async function bQ(D,X,Y,Z,J){return N4(D,"DELETE",X,Z,J,Y)}var xv=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(FD(X))return{data:null,error:X};throw X}}},FW;FW=Symbol.toStringTag;var fv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X,this[FW]="BlobDownloadBuilder",this.promise=null}asStream(){return new xv(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(FD(X))return{data:null,error:X};throw X}}},yv={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},JW={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},kv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1,this.url=D,this.headers=X,this.bucketId=Y,this.fetch=vQ(Z)}throwOnError(){return this.shouldThrowOnError=!0,this}async uploadOrUpdate(D,X,Y,Z){var J=this;try{let Q,w=G0(G0({},JW),Z),F=G0(G0({},J.headers),D==="POST"&&{"x-upsert":String(w.upsert)}),B=w.metadata;if(typeof Blob<"u"&&Y instanceof Blob){if(Q=new FormData,Q.append("cacheControl",w.cacheControl),B)Q.append("metadata",J.encodeMetadata(B));Q.append("",Y)}else if(typeof FormData<"u"&&Y instanceof FormData){if(Q=Y,!Q.has("cacheControl"))Q.append("cacheControl",w.cacheControl);if(B&&!Q.has("metadata"))Q.append("metadata",J.encodeMetadata(B))}else{if(Q=Y,F["cache-control"]=`max-age=${w.cacheControl}`,F["content-type"]=w.contentType,B)F["x-metadata"]=J.toBase64(J.encodeMetadata(B));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 q=J._removeEmptyFolders(X),$=J._getFinalPath(q),G=await(D=="PUT"?_Q:F8)(J.fetch,`${J.url}/object/${$}`,Q,G0({headers:F},(w===null||w===void 0?void 0:w.duplex)?{duplex:w.duplex}:{}));return{data:{path:q,id:G.Id,fullPath:G.Key},error:null}}catch(Q){if(J.shouldThrowOnError)throw Q;if(FD(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,q=G0({upsert:JW.upsert},Z),$=G0(G0({},J.headers),{"x-upsert":String(q.upsert)});if(typeof Blob<"u"&&Y instanceof Blob)B=new FormData,B.append("cacheControl",q.cacheControl),B.append("",Y);else if(typeof FormData<"u"&&Y instanceof FormData)B=Y,B.append("cacheControl",q.cacheControl);else B=Y,$["cache-control"]=`max-age=${q.cacheControl}`,$["content-type"]=q.contentType;return{data:{path:Q,fullPath:(await _Q(J.fetch,F.toString(),B,{headers:$})).Key},error:null}}catch(B){if(J.shouldThrowOnError)throw B;if(FD(B))return{data:null,error:B};throw B}}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 F8(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 U4("No token returned by API");return{data:{signedUrl:w.toString(),path:D,token:F},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(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 F8(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(FD(J))return{data:null,error:J};throw J}}async copy(D,X,Y){var Z=this;try{return{data:{path:(await F8(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(FD(J))return{data:null,error:J};throw J}}async createSignedUrl(D,X,Y){var Z=this;try{let J=Z._getFinalPath(D),Q=await F8(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(FD(J))return{data:null,error:J};throw J}}async createSignedUrls(D,X,Y){var Z=this;try{let J=await F8(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(FD(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 fv(()=>V4(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:hQ(await V4(X.fetch,`${X.url}/object/info/${Y}`,{headers:X.headers})),error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}async exists(D){var X=this;let Y=X._getFinalPath(D);try{return await Sv(X.fetch,`${X.url}/object/${Y}`,{headers:X.headers}),{data:!0,error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(FD(Z)&&Z instanceof nX){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 bQ(X.fetch,`${X.url}/object/${X.bucketId}`,{prefixes:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async list(D,X,Y){var Z=this;try{let J=G0(G0(G0({},yv),X),{},{prefix:D||""});return{data:await F8(Z.fetch,`${Z.url}/object/list/${Z.bucketId}`,J,{headers:Z.headers},Y),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}async listV2(D,X){var Y=this;try{let Z=G0({},D);return{data:await F8(Y.fetch,`${Y.url}/object/list-v2/${Y.bucketId}`,Z,{headers:Y.headers},X),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(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("&")}},BW="2.89.0",qW={"X-Client-Info":`storage-js/${BW}`},uv=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({},qW),X),this.fetch=vQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async listBuckets(D){var X=this;try{let Y=X.listBucketOptionsToQueryString(D);return{data:await V4(X.fetch,`${X.url}/bucket${Y}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await V4(X.fetch,`${X.url}/bucket/${D}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async createBucket(D,X={public:!1}){var Y=this;try{return{data:await F8(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(FD(Z))return{data:null,error:Z};throw Z}}async updateBucket(D,X){var Y=this;try{return{data:await _Q(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(FD(Z))return{data:null,error:Z};throw Z}}async emptyBucket(D){var X=this;try{return{data:await F8(X.fetch,`${X.url}/bucket/${D}/empty`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await bQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(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():""}},$W=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},qW),X),this.fetch=vQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await F8(X.fetch,`${X.url}/bucket`,{name:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(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 V4(X.fetch,J,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await bQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}from(D){var X=this;if(!Ev(D))throw new U4("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 YW({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(B){if(Z)throw B;return{data:null,error:B}}}}})}},gQ={"X-Client-Info":`storage-js/${BW}`,"Content-Type":"application/json"},mQ=class extends Error{constructor(D){super(D);this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}};function E1(D){return typeof D==="object"&&D!==null&&"__isStorageVectorsError"in D}var lX=class extends mQ{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}}},GW=class extends mQ{constructor(D,X){super(D);this.name="StorageVectorsUnknownError",this.originalError=X}},hv=function(D){return D.InternalError="InternalError",D.S3VectorConflictException="S3VectorConflictException",D.S3VectorNotFoundException="S3VectorNotFoundException",D.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",D.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",D.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded",D}({}),iX=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},_v=()=>{return Response},OW=(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)},vv=(D)=>{return Array.from(new Float32Array(D))},bv=(D,X)=>{if(X!==void 0&&D.float32.length!==X)throw Error(`Vector dimension mismatch: expected ${X}, got ${D.float32.length}`)},QW=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),gv=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 lX(QW(Q),Z,w))}).catch(()=>{let Q=Z+"";X(new lX(J.statusText||`HTTP ${Z} error`,Z,Q))});else{let Q=Z+"";X(new lX(J.statusText||`HTTP ${Z} error`,Z,Q))}}else X(new GW(QW(D),D))},mv=(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(OW(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 dv(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,mv(X,Z,J,Q)).then((B)=>{if(!B.ok)throw B;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return B;let q=B.headers.get("content-type");if(!q||!q.includes("application/json"))return{};return B.json()}).then((B)=>w(B)).catch((B)=>gv(B,F,Z))})}async function u1(D,X,Y,Z,J){return dv(D,"POST",X,Z,J,Y)}var WW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createIndex(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/CreateIndex`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getIndex(D,X){var Y=this;try{return{data:await u1(Y.fetch,`${Y.url}/GetIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(E1(Z))return{data:null,error:Z};throw Z}}async listIndexes(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/ListIndexes`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async deleteIndex(D,X){var Y=this;try{return{data:await u1(Y.fetch,`${Y.url}/DeleteIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers})||{},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(E1(Z))return{data:null,error:Z};throw Z}}},HW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(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 u1(X.fetch,`${X.url}/PutVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getVectors(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/GetVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(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 u1(X.fetch,`${X.url}/ListVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async queryVectors(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/QueryVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(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 u1(X.fetch,`${X.url}/DeleteVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},KW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/CreateVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/GetVectorBucket`,{vectorBucketName:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async listBuckets(D={}){var X=this;try{return{data:await u1(X.fetch,`${X.url}/ListVectorBuckets`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/DeleteVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},zW=class extends KW{constructor(D,X={}){super(D,X.headers||{},X.fetch)}from(D){return new MW(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)}},MW=class extends WW{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 LW(this.url,this.headers,this.vectorBucketName,D,this.fetch)}},LW=class extends HW{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}))}},dQ=class extends uv{constructor(D,X={},Y,Z){super(D,X,Y,Z)}from(D){return new kv(this.url,this.headers,D,this.fetch)}get vectors(){return new zW(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new $W(this.url+"/iceberg",this.headers,this.fetch)}};var qH=N0($w(),1);J0(Z0,N0(kQ(),1),module.exports);J0(Z0,N0($w(),1),module.exports);var Mg="2.89.0",j4="";if(typeof Deno<"u")j4="deno";else if(typeof document<"u")j4="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")j4="react-native";else j4="node";var Lg={"X-Client-Info":`supabase-js-${j4}/${Mg}`},Vg={headers:Lg},Ug={schema:"public"},Ng={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Rg={};function T4(D){return T4=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},T4(D)}function Ag(D,X){if(T4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(T4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Eg(D){var X=Ag(D,"string");return T4(X)=="symbol"?X:X+""}function Cg(D,X,Y){return(X=Eg(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function FH(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?FH(Object(Y),!0).forEach(function(Z){Cg(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):FH(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var jg=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Tg=()=>{return Headers},Ig=(D,X,Y)=>{let Z=jg(Y),J=Tg();return async(Q,w)=>{var F;let B=(F=await X())!==null&&F!==void 0?F:D,q=new J(w===null||w===void 0?void 0:w.headers);if(!q.has("apikey"))q.set("apikey",D);if(!q.has("Authorization"))q.set("Authorization",`Bearer ${B}`);return Z(Q,UD(UD({},w),{},{headers:q}))}};function Pg(D){return D.endsWith("/")?D:D+"/"}function Sg(D,X){var Y,Z;let{db:J,auth:Q,realtime:w,global:F}=D,{db:B,auth:q,realtime:$,global:G}=X,W={db:UD(UD({},B),J),auth:UD(UD({},q),Q),realtime:UD(UD({},$),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 xg(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(Pg(X))}catch(Y){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var fg=class extends qH.AuthClient{constructor(D){super(D)}},$H=class{constructor(D,X,Y){var Z,J;this.supabaseUrl=D,this.supabaseKey=X;let Q=xg(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:Ug,realtime:Rg,auth:UD(UD({},Ng),{},{storageKey:w}),global:Vg},B=Sg(Y!==null&&Y!==void 0?Y:{},F);if(this.storageKey=(Z=B.auth.storageKey)!==null&&Z!==void 0?Z:"",this.headers=(J=B.global.headers)!==null&&J!==void 0?J:{},!B.accessToken){var q;this.auth=this._initSupabaseAuthClient((q=B.auth)!==null&&q!==void 0?q:{},this.headers,B.global.fetch)}else this.accessToken=B.accessToken,this.auth=new Proxy({},{get:($,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=Ig(X,this._getAccessToken.bind(this),B.global.fetch),this.realtime=this._initRealtimeClient(UD({headers:this.headers,accessToken:this._getAccessToken.bind(this)},B.realtime)),this.accessToken)this.accessToken().then(($)=>this.realtime.setAuth($)).catch(($)=>console.warn("Failed to set initial Realtime auth token:",$));if(this.rest=new uX(new URL("rest/v1",Q).href,{headers:this.headers,schema:B.db.schema,fetch:this.fetch}),this.storage=new dQ(this.storageUrl.href,this.headers,this.fetch,Y===null||Y===void 0?void 0:Y.storage),!B.accessToken)this._listenForAuthEvents()}get functions(){return new eD.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:B,throwOnError:q},$,G){let W={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new fg({url:this.authUrl.href,headers:UD(UD({},W),$),storageKey:Q,autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,flowType:w,lock:F,debug:B,throwOnError:q,fetch:G,hasCustomAuthorizationHeader:Object.keys(this.headers).some((O)=>O.toLowerCase()==="authorization")})}_initRealtimeClient(D){return new BH.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}}},Gw=(D,X,Y)=>{return new $H(D,X,Y)};function yg(){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(yg())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 f$=N0(Mw(),1),Sy=N0(LK(),1),GJ=N0($Z(),1);var o8={name:"@capgo/cli",type:"module",version:"7.71.9",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:checksum":"bun test/test-checksum-algorithm.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:checksum && 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 GZ(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 o0(){let D=await GZ("@capgo/cli")??"",X=D?.split(".")[0];if(D!==o8.version)K.warning(`\uD83D\uDEA8 You are using @capgo/cli@${o8.version} it's not the latest version.
|
|
315
|
-
Please use @capgo/cli@${D}" or @capgo/cli@${X} to keep up to date with the latest features and bug fixes.`)}async function CL(D,X,Y,Z,J,Q="✅"){await
|
|
314
|
+
${B.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}},UQ=class extends VQ{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("|"),B=(w=this.headers.get("Accept"))!==null&&w!==void 0?w:"application/json";if(this.headers.set("Accept",`application/vnd.pgrst.plan+${Q}; for="${B}"; 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}},hO=new RegExp("[,()]"),C6=class extends UQ{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"&&hO.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"&&hO.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}},NQ=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 C6({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 C6({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,q)=>B.concat(Object.keys(q)),[]);if(F.length>0){let B=[...new Set(F)].map((q)=>`"${q}"`);this.url.searchParams.set("columns",B.join(","))}}return new C6({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 C6({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 C6({method:"DELETE",url:this.url,headers:this.headers,schema:this.schema,fetch:(X=this.fetch)!==null&&X!==void 0?X:fetch})}},uX=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 NQ(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,B=new URL(`${this.url}/rpc/${X}`),q;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])=>{B.searchParams.append(G,W)});else F="POST",q=Y;let $=new Headers(this.headers);if(Q)$.set("Prefer",`count=${Q}`);return new C6({method:F,url:B,headers:$,schema:this.schemaName,body:q,fetch:(w=this.fetch)!==null&&w!==void 0?w:fetch})}},p_={PostgrestClient:uX,PostgrestQueryBuilder:NQ,PostgrestFilterBuilder:C6,PostgrestTransformBuilder:UQ,PostgrestBuilder:VQ,PostgrestError:G4};var BH=R0(kQ(),1);var VW={};D4(VW,{validateVectorDimension:()=>bv,resolveResponse:()=>_v,resolveFetch:()=>iX,normalizeToFloat32:()=>vv,isStorageVectorsError:()=>E1,isStorageError:()=>FD,isPlainObject:()=>OW,VectorIndexScope:()=>LW,VectorIndexApi:()=>WW,VectorDataApi:()=>HW,VectorBucketScope:()=>MW,VectorBucketApi:()=>KW,StorageVectorsUnknownError:()=>GW,StorageVectorsErrorCode:()=>hv,StorageVectorsError:()=>mQ,StorageVectorsClient:()=>zW,StorageVectorsApiError:()=>lX,StorageUnknownError:()=>nX,StorageError:()=>U4,StorageClient:()=>dQ,StorageApiError:()=>wW,StorageAnalyticsClient:()=>$W});var M4=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 Mv(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 Lv(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 Vv(D){let X=D.fetchImpl??globalThis.fetch;return{async request({method:Y,path:Z,query:J,body:Q,headers:w}){let F=Mv(D.baseUrl,Z,J),B=await Lv(D.auth),q=await X(F,{method:Y,headers:{...Q?{"Content-Type":"application/json"}:{},...B,...w},body:Q?JSON.stringify(Q):void 0}),$=await q.text(),G=(q.headers.get("content-type")||"").includes("application/json"),W=G&&$?JSON.parse($):$;if(!q.ok){let O=G?W:void 0,H=O?.error;throw new M4(H?.message??`Request failed with status ${q.status}`,{status:q.status,icebergType:H?.type,icebergCode:H?.code,details:O})}return{status:q.status,headers:q.headers,data:W}}}}function cX(D){return D.join("\x1F")}var Uv=class{constructor(D,X=""){this.client=D,this.prefix=X}async listNamespaces(D){let X=D?{parent:cX(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/${cX(D.namespace)}`})}async loadNamespaceMetadata(D){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${cX(D.namespace)}`})).data.properties}}async namespaceExists(D){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${cX(D.namespace)}`}),!0}catch(X){if(X instanceof M4&&X.status===404)return!1;throw X}}async createNamespaceIfNotExists(D,X){try{return await this.createNamespace(D,X)}catch(Y){if(Y instanceof M4&&Y.status===409)return;throw Y}}};function I5(D){return D.join("\x1F")}var Nv=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 M4&&Y.status===404)return!1;throw Y}}async createTableIfNotExists(D,X){try{return await this.createTable(D,X)}catch(Y){if(Y instanceof M4&&Y.status===409)return await this.loadTable({namespace:D.namespace,name:X.name});throw Y}}},YW=class{constructor(D){let X="v1";if(D.catalogName)X+=`/${D.catalogName}`;let Y=D.baseUrl.endsWith("/")?D.baseUrl:`${D.baseUrl}/`;this.client=Vv({baseUrl:Y,auth:D.auth,fetchImpl:D.fetch}),this.accessDelegation=D.accessDelegation?.join(","),this.namespaceOps=new Uv(this.client,X),this.tableOps=new Nv(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 U4=class extends Error{constructor(D){super(D);this.__isStorageError=!0,this.name="StorageError"}};function FD(D){return typeof D==="object"&&D!==null&&"__isStorageError"in D}var wW=class extends U4{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}}},nX=class extends U4{constructor(D,X){super(D);this.name="StorageUnknownError",this.originalError=X}},vQ=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Rv=()=>{return Response},hQ=(D)=>{if(Array.isArray(D))return D.map((Y)=>hQ(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]=hQ(Z)}),X},Av=(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)},Ev=(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 L4(D){return L4=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},L4(D)}function Cv(D,X){if(L4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(L4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function jv(D){var X=Cv(D,"string");return L4(X)=="symbol"?X:X+""}function Tv(D,X,Y){return(X=jv(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function ZW(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?ZW(Object(Y),!0).forEach(function(Z){Tv(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):ZW(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var uQ=(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)},Iv=async(D,X,Y)=>{if(D instanceof await Rv()&&!(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 wW(uQ(Z),J,Q))}).catch((Z)=>{X(new nX(uQ(Z),Z))});else X(new nX(uQ(D),D))},Pv=(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(Av(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 N4(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,Pv(X,Z,J,Q)).then((B)=>{if(!B.ok)throw B;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return B;return B.json()}).then((B)=>w(B)).catch((B)=>Iv(B,F,Z))})}async function V4(D,X,Y,Z){return N4(D,"GET",X,Y,Z)}async function F8(D,X,Y,Z,J){return N4(D,"POST",X,Z,J,Y)}async function _Q(D,X,Y,Z,J){return N4(D,"PUT",X,Z,J,Y)}async function Sv(D,X,Y,Z){return N4(D,"HEAD",X,G0(G0({},Y),{},{noResolveJson:!0}),Z)}async function bQ(D,X,Y,Z,J){return N4(D,"DELETE",X,Z,J,Y)}var xv=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(FD(X))return{data:null,error:X};throw X}}},FW;FW=Symbol.toStringTag;var fv=class{constructor(D,X){this.downloadFn=D,this.shouldThrowOnError=X,this[FW]="BlobDownloadBuilder",this.promise=null}asStream(){return new xv(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(FD(X))return{data:null,error:X};throw X}}},yv={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},JW={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1},kv=class{constructor(D,X={},Y,Z){this.shouldThrowOnError=!1,this.url=D,this.headers=X,this.bucketId=Y,this.fetch=vQ(Z)}throwOnError(){return this.shouldThrowOnError=!0,this}async uploadOrUpdate(D,X,Y,Z){var J=this;try{let Q,w=G0(G0({},JW),Z),F=G0(G0({},J.headers),D==="POST"&&{"x-upsert":String(w.upsert)}),B=w.metadata;if(typeof Blob<"u"&&Y instanceof Blob){if(Q=new FormData,Q.append("cacheControl",w.cacheControl),B)Q.append("metadata",J.encodeMetadata(B));Q.append("",Y)}else if(typeof FormData<"u"&&Y instanceof FormData){if(Q=Y,!Q.has("cacheControl"))Q.append("cacheControl",w.cacheControl);if(B&&!Q.has("metadata"))Q.append("metadata",J.encodeMetadata(B))}else{if(Q=Y,F["cache-control"]=`max-age=${w.cacheControl}`,F["content-type"]=w.contentType,B)F["x-metadata"]=J.toBase64(J.encodeMetadata(B));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 q=J._removeEmptyFolders(X),$=J._getFinalPath(q),G=await(D=="PUT"?_Q:F8)(J.fetch,`${J.url}/object/${$}`,Q,G0({headers:F},(w===null||w===void 0?void 0:w.duplex)?{duplex:w.duplex}:{}));return{data:{path:q,id:G.Id,fullPath:G.Key},error:null}}catch(Q){if(J.shouldThrowOnError)throw Q;if(FD(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,q=G0({upsert:JW.upsert},Z),$=G0(G0({},J.headers),{"x-upsert":String(q.upsert)});if(typeof Blob<"u"&&Y instanceof Blob)B=new FormData,B.append("cacheControl",q.cacheControl),B.append("",Y);else if(typeof FormData<"u"&&Y instanceof FormData)B=Y,B.append("cacheControl",q.cacheControl);else B=Y,$["cache-control"]=`max-age=${q.cacheControl}`,$["content-type"]=q.contentType;return{data:{path:Q,fullPath:(await _Q(J.fetch,F.toString(),B,{headers:$})).Key},error:null}}catch(B){if(J.shouldThrowOnError)throw B;if(FD(B))return{data:null,error:B};throw B}}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 F8(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 U4("No token returned by API");return{data:{signedUrl:w.toString(),path:D,token:F},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(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 F8(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(FD(J))return{data:null,error:J};throw J}}async copy(D,X,Y){var Z=this;try{return{data:{path:(await F8(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(FD(J))return{data:null,error:J};throw J}}async createSignedUrl(D,X,Y){var Z=this;try{let J=Z._getFinalPath(D),Q=await F8(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(FD(J))return{data:null,error:J};throw J}}async createSignedUrls(D,X,Y){var Z=this;try{let J=await F8(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(FD(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 fv(()=>V4(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:hQ(await V4(X.fetch,`${X.url}/object/info/${Y}`,{headers:X.headers})),error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(FD(Z))return{data:null,error:Z};throw Z}}async exists(D){var X=this;let Y=X._getFinalPath(D);try{return await Sv(X.fetch,`${X.url}/object/${Y}`,{headers:X.headers}),{data:!0,error:null}}catch(Z){if(X.shouldThrowOnError)throw Z;if(FD(Z)&&Z instanceof nX){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 bQ(X.fetch,`${X.url}/object/${X.bucketId}`,{prefixes:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async list(D,X,Y){var Z=this;try{let J=G0(G0(G0({},yv),X),{},{prefix:D||""});return{data:await F8(Z.fetch,`${Z.url}/object/list/${Z.bucketId}`,J,{headers:Z.headers},Y),error:null}}catch(J){if(Z.shouldThrowOnError)throw J;if(FD(J))return{data:null,error:J};throw J}}async listV2(D,X){var Y=this;try{let Z=G0({},D);return{data:await F8(Y.fetch,`${Y.url}/object/list-v2/${Y.bucketId}`,Z,{headers:Y.headers},X),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(FD(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("&")}},BW="2.89.0",qW={"X-Client-Info":`storage-js/${BW}`},uv=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({},qW),X),this.fetch=vQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async listBuckets(D){var X=this;try{let Y=X.listBucketOptionsToQueryString(D);return{data:await V4(X.fetch,`${X.url}/bucket${Y}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await V4(X.fetch,`${X.url}/bucket/${D}`,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async createBucket(D,X={public:!1}){var Y=this;try{return{data:await F8(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(FD(Z))return{data:null,error:Z};throw Z}}async updateBucket(D,X){var Y=this;try{return{data:await _Q(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(FD(Z))return{data:null,error:Z};throw Z}}async emptyBucket(D){var X=this;try{return{data:await F8(X.fetch,`${X.url}/bucket/${D}/empty`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await bQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(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():""}},$W=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},qW),X),this.fetch=vQ(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await F8(X.fetch,`${X.url}/bucket`,{name:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(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 V4(X.fetch,J,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await bQ(X.fetch,`${X.url}/bucket/${D}`,{},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(FD(Y))return{data:null,error:Y};throw Y}}from(D){var X=this;if(!Ev(D))throw new U4("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 YW({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(B){if(Z)throw B;return{data:null,error:B}}}}})}},gQ={"X-Client-Info":`storage-js/${BW}`,"Content-Type":"application/json"},mQ=class extends Error{constructor(D){super(D);this.__isStorageVectorsError=!0,this.name="StorageVectorsError"}};function E1(D){return typeof D==="object"&&D!==null&&"__isStorageVectorsError"in D}var lX=class extends mQ{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}}},GW=class extends mQ{constructor(D,X){super(D);this.name="StorageVectorsUnknownError",this.originalError=X}},hv=function(D){return D.InternalError="InternalError",D.S3VectorConflictException="S3VectorConflictException",D.S3VectorNotFoundException="S3VectorNotFoundException",D.S3VectorBucketNotEmpty="S3VectorBucketNotEmpty",D.S3VectorMaxBucketsExceeded="S3VectorMaxBucketsExceeded",D.S3VectorMaxIndexesExceeded="S3VectorMaxIndexesExceeded",D}({}),iX=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},_v=()=>{return Response},OW=(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)},vv=(D)=>{return Array.from(new Float32Array(D))},bv=(D,X)=>{if(X!==void 0&&D.float32.length!==X)throw Error(`Vector dimension mismatch: expected ${X}, got ${D.float32.length}`)},QW=(D)=>D.msg||D.message||D.error_description||D.error||JSON.stringify(D),gv=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 lX(QW(Q),Z,w))}).catch(()=>{let Q=Z+"";X(new lX(J.statusText||`HTTP ${Z} error`,Z,Q))});else{let Q=Z+"";X(new lX(J.statusText||`HTTP ${Z} error`,Z,Q))}}else X(new GW(QW(D),D))},mv=(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(OW(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 dv(D,X,Y,Z,J,Q){return new Promise((w,F)=>{D(Y,mv(X,Z,J,Q)).then((B)=>{if(!B.ok)throw B;if(Z===null||Z===void 0?void 0:Z.noResolveJson)return B;let q=B.headers.get("content-type");if(!q||!q.includes("application/json"))return{};return B.json()}).then((B)=>w(B)).catch((B)=>gv(B,F,Z))})}async function u1(D,X,Y,Z,J){return dv(D,"POST",X,Z,J,Y)}var WW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createIndex(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/CreateIndex`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getIndex(D,X){var Y=this;try{return{data:await u1(Y.fetch,`${Y.url}/GetIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers}),error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(E1(Z))return{data:null,error:Z};throw Z}}async listIndexes(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/ListIndexes`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async deleteIndex(D,X){var Y=this;try{return{data:await u1(Y.fetch,`${Y.url}/DeleteIndex`,{vectorBucketName:D,indexName:X},{headers:Y.headers})||{},error:null}}catch(Z){if(Y.shouldThrowOnError)throw Z;if(E1(Z))return{data:null,error:Z};throw Z}}},HW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(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 u1(X.fetch,`${X.url}/PutVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getVectors(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/GetVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(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 u1(X.fetch,`${X.url}/ListVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async queryVectors(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/QueryVectors`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(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 u1(X.fetch,`${X.url}/DeleteVectors`,D,{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},KW=class{constructor(D,X={},Y){this.shouldThrowOnError=!1,this.url=D.replace(/\/$/,""),this.headers=G0(G0({},gQ),X),this.fetch=iX(Y)}throwOnError(){return this.shouldThrowOnError=!0,this}async createBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/CreateVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async getBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/GetVectorBucket`,{vectorBucketName:D},{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async listBuckets(D={}){var X=this;try{return{data:await u1(X.fetch,`${X.url}/ListVectorBuckets`,D,{headers:X.headers}),error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}async deleteBucket(D){var X=this;try{return{data:await u1(X.fetch,`${X.url}/DeleteVectorBucket`,{vectorBucketName:D},{headers:X.headers})||{},error:null}}catch(Y){if(X.shouldThrowOnError)throw Y;if(E1(Y))return{data:null,error:Y};throw Y}}},zW=class extends KW{constructor(D,X={}){super(D,X.headers||{},X.fetch)}from(D){return new MW(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)}},MW=class extends WW{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 LW(this.url,this.headers,this.vectorBucketName,D,this.fetch)}},LW=class extends HW{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}))}},dQ=class extends uv{constructor(D,X={},Y,Z){super(D,X,Y,Z)}from(D){return new kv(this.url,this.headers,D,this.fetch)}get vectors(){return new zW(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new $W(this.url+"/iceberg",this.headers,this.fetch)}};var qH=R0($w(),1);J0(Z0,R0(kQ(),1),module.exports);J0(Z0,R0($w(),1),module.exports);var Mg="2.89.0",j4="";if(typeof Deno<"u")j4="deno";else if(typeof document<"u")j4="web";else if(typeof navigator<"u"&&navigator.product==="ReactNative")j4="react-native";else j4="node";var Lg={"X-Client-Info":`supabase-js-${j4}/${Mg}`},Vg={headers:Lg},Ug={schema:"public"},Ng={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Rg={};function T4(D){return T4=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},T4(D)}function Ag(D,X){if(T4(D)!="object"||!D)return D;var Y=D[Symbol.toPrimitive];if(Y!==void 0){var Z=Y.call(D,X||"default");if(T4(Z)!="object")return Z;throw TypeError("@@toPrimitive must return a primitive value.")}return(X==="string"?String:Number)(D)}function Eg(D){var X=Ag(D,"string");return T4(X)=="symbol"?X:X+""}function Cg(D,X,Y){return(X=Eg(X))in D?Object.defineProperty(D,X,{value:Y,enumerable:!0,configurable:!0,writable:!0}):D[X]=Y,D}function FH(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?FH(Object(Y),!0).forEach(function(Z){Cg(D,Z,Y[Z])}):Object.getOwnPropertyDescriptors?Object.defineProperties(D,Object.getOwnPropertyDescriptors(Y)):FH(Object(Y)).forEach(function(Z){Object.defineProperty(D,Z,Object.getOwnPropertyDescriptor(Y,Z))})}return D}var jg=(D)=>{if(D)return(...X)=>D(...X);return(...X)=>fetch(...X)},Tg=()=>{return Headers},Ig=(D,X,Y)=>{let Z=jg(Y),J=Tg();return async(Q,w)=>{var F;let B=(F=await X())!==null&&F!==void 0?F:D,q=new J(w===null||w===void 0?void 0:w.headers);if(!q.has("apikey"))q.set("apikey",D);if(!q.has("Authorization"))q.set("Authorization",`Bearer ${B}`);return Z(Q,UD(UD({},w),{},{headers:q}))}};function Pg(D){return D.endsWith("/")?D:D+"/"}function Sg(D,X){var Y,Z;let{db:J,auth:Q,realtime:w,global:F}=D,{db:B,auth:q,realtime:$,global:G}=X,W={db:UD(UD({},B),J),auth:UD(UD({},q),Q),realtime:UD(UD({},$),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 xg(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(Pg(X))}catch(Y){throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var fg=class extends qH.AuthClient{constructor(D){super(D)}},$H=class{constructor(D,X,Y){var Z,J;this.supabaseUrl=D,this.supabaseKey=X;let Q=xg(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:Ug,realtime:Rg,auth:UD(UD({},Ng),{},{storageKey:w}),global:Vg},B=Sg(Y!==null&&Y!==void 0?Y:{},F);if(this.storageKey=(Z=B.auth.storageKey)!==null&&Z!==void 0?Z:"",this.headers=(J=B.global.headers)!==null&&J!==void 0?J:{},!B.accessToken){var q;this.auth=this._initSupabaseAuthClient((q=B.auth)!==null&&q!==void 0?q:{},this.headers,B.global.fetch)}else this.accessToken=B.accessToken,this.auth=new Proxy({},{get:($,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=Ig(X,this._getAccessToken.bind(this),B.global.fetch),this.realtime=this._initRealtimeClient(UD({headers:this.headers,accessToken:this._getAccessToken.bind(this)},B.realtime)),this.accessToken)this.accessToken().then(($)=>this.realtime.setAuth($)).catch(($)=>console.warn("Failed to set initial Realtime auth token:",$));if(this.rest=new uX(new URL("rest/v1",Q).href,{headers:this.headers,schema:B.db.schema,fetch:this.fetch}),this.storage=new dQ(this.storageUrl.href,this.headers,this.fetch,Y===null||Y===void 0?void 0:Y.storage),!B.accessToken)this._listenForAuthEvents()}get functions(){return new D1.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:B,throwOnError:q},$,G){let W={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new fg({url:this.authUrl.href,headers:UD(UD({},W),$),storageKey:Q,autoRefreshToken:D,persistSession:X,detectSessionInUrl:Y,storage:Z,userStorage:J,flowType:w,lock:F,debug:B,throwOnError:q,fetch:G,hasCustomAuthorizationHeader:Object.keys(this.headers).some((O)=>O.toLowerCase()==="authorization")})}_initRealtimeClient(D){return new BH.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}}},Gw=(D,X,Y)=>{return new $H(D,X,Y)};function yg(){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(yg())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 f$=R0(Mw(),1),Sy=R0(LK(),1),GJ=R0($Z(),1);var o8={name:"@capgo/cli",type:"module",version:"7.71.11",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:checksum":"bun test/test-checksum-algorithm.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:checksum && 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 GZ(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 o0(){let D=await GZ("@capgo/cli")??"",X=D?.split(".")[0];if(D!==o8.version)K.warning(`\uD83D\uDEA8 You are using @capgo/cli@${o8.version} it's not the latest version.
|
|
315
|
+
Please use @capgo/cli@${D}" or @capgo/cli@${X} to keep up to date with the latest features and bug fixes.`)}async function CL(D,X,Y,Z,J,Q="✅"){await z0(Y,{channel:D,event:Z,icon:Q,user_id:X,...J?{tags:{"app-id":J}}:{},notify:!1})}var yF=require("node:buffer"),jL=require("node:crypto"),Ba=(()=>{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 qa(D){let X=4294967295;for(let Y=0;Y<D.length;Y++){let Z=D[Y];X=Ba[(X^Z)&255]^X>>>8}return X=X^4294967295,(X>>>0).toString(16).padStart(8,"0")}async function y6(D,X="sha256"){let Y=yF.Buffer.isBuffer(D)?D:yF.Buffer.from(D);if(X==="crc32")return qa(Y);let Z=jL.createHash(X);return Z.update(Y),Z.digest("hex")}var r3=R0(hf(),1);async function _f(){let D=await r3.loadConfig();return{config:D.app.extConfig,path:D.app.extConfigFilePath}}async function B$(D,X,Y=!1){let Z=await r3.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;r3.writeConfig(J,Z.app.extConfigFilePath)}}async function h7(D,X=!1){await B$("CapacitorUpdater",D,X)}var _7={ORG_REQUIRES_EXPIRING_KEY:"org_requires_expiring_key",EXPIRATION_REQUIRED:"expiration_required",EXPIRATION_EXCEEDS_MAX:"expiration_exceeds_max"},s3={[_7.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:
|
|
318
318
|
1. Go to https://web.capgo.app/dashboard/apikeys
|
|
@@ -335,7 +335,7 @@ Please generate a new API key with a shorter expiration:
|
|
|
335
335
|
|
|
336
336
|
${X.message}
|
|
337
337
|
`;return X.message||"An unknown error occurred"}var m7=".capgo_key",v1=".capgo_key_v2",OJ=`${m7}.pub`,K6=`${v1}.pub`,Ey="https://capgo.app",Cy="https://files.capgo.app",jy="https://api.capgo.app",Ty="https://console.capgo.app",y$=120000,A40=20971520,E40=1073741824,C40=103809024,B5="package.json",d7=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][0-9a-z-]*))*))?(?:\+([0-9a-z-]+(?:\.[0-9a-z-]+)*))?$/i;function p(D){if(!D)return"";if(J5(D).isSecurityPolicyError)return XJ(D);return`
|
|
338
|
-
${Sy.default.render(D)}`}async function WJ(D,X,Y=!1){let{data:Z,error:J}=await D.rpc("reject_access_due_to_2fa_for_org",{org_id:X});if(J){if(!Y)K.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Z){if(!Y)K.error("\uD83D\uDD10 Access Denied: 2FA Required. Enable 2FA at https://web.capgo.app/settings/account");throw Error("2FA required for this organization")}}function qJ(D){return new Promise((X)=>{setTimeout(X,D)})}function
|
|
338
|
+
${Sy.default.render(D)}`}async function WJ(D,X,Y=!1){let{data:Z,error:J}=await D.rpc("reject_access_due_to_2fa_for_org",{org_id:X});if(J){if(!Y)K.error(`Cannot check 2FA compliance: ${J.message}`);throw Error(`Cannot check 2FA compliance: ${J.message}`)}if(Z){if(!Y)K.error("\uD83D\uDD10 Access Denied: 2FA Required. Enable 2FA at https://web.capgo.app/settings/account");throw Error("2FA required for this organization")}}function qJ(D){return new Promise((X)=>{setTimeout(X,D)})}function rD(D){if(e6.isMonorepo(D))return e6.findMonorepoRoot(D);else if(e6.isNXMonorepo(D))return e6.findNXMonorepoRoot(D);return D}function j40(D=rD(m8.cwd()),X=void 0){let Y=X?.split(",")[0];if(Y){if(!V0.existsSync(Y)){let J=`Package.json at ${Y} does not exist`;throw K.error(J),Error(J)}}let Z=V0.readFileSync(Y??W0.join(D,B5));return JSON.parse(Z)}function D9(D=rD(m8.cwd()),X=void 0){return j40(D,X).version??""}function T40(D){let X=D.replace("^","").replace("~","");if(oG(X))try{let Y=i0(X);return Q8(Y)}catch{return X}return X}async function o1(D,X=m8.cwd(),Y){let Z=Y?W0.dirname(Y):X;try{let w=`${D}/package.json`,{createRequire:F}=await import("node:module"),q=F(W0.join(Z,"package.json")).resolve(w),$=JSON.parse(V0.readFileSync(q,"utf-8"));if($.version)return $.version}catch{}let J=Z,Q=W0.default.parse(J).root;while(J!==Q){let w=W0.join(J,"node_modules",D,B5);if(V0.existsSync(w))try{let B=JSON.parse(V0.readFileSync(w,"utf-8"));if(B.version)return B.version}catch{}let F=W0.dirname(J);if(F===J)break;J=F}if(D==="@capgo/capacitor-updater"){let w=null,F=W0.join(X,"ios","App","Podfile");if(V0.existsSync(F))try{let q=V0.readFileSync(F,"utf-8").match(/pod\s+['"]CapgoCapacitorUpdater['"],\s*:path\s*=>\s*['"]([^'"]+)['"]/);if(q?.[1])w=W0.resolve(W0.join(X,"ios","App",q[1]))}catch{}if(!w){let B=W0.join(X,"android","capacitor.settings.gradle");if(V0.existsSync(B))try{let $=V0.readFileSync(B,"utf-8").match(/project\(':capgo-capacitor-updater'\)\.projectDir\s*=\s*new\s+File\(['"]([^'"]+)['"]/);if($?.[1])w=W0.resolve(W0.join(X,"android",$[1])).replace(/\/android$/,"")}catch{}}if(w){let B=W0.join(w,B5);if(V0.existsSync(B))try{let q=JSON.parse(V0.readFileSync(B,"utf-8"));if(q.version)return q.version}catch{}}}try{let F=(await HJ(X)).get(D);if(F)return F}catch{}return null}async function HJ(D=rD(m8.cwd()),X=void 0){let Y=X?.split(",");if(Y??=[W0.join(D,B5)],Y){for(let Q of Y)if(!V0.existsSync(Q)){let w=`Package.json at ${Q} does not exist`;throw K.error(w),Error(w)}}let Z=new Map,{createRequire:J}=await import("node:module");for(let Q of Y){let w=V0.readFileSync(Q),F=JSON.parse(w),B=W0.dirname(Q),q=($,G)=>{try{let M=J(W0.join(B,"package.json")).resolve(`${$}/package.json`),U=JSON.parse(V0.readFileSync(M,"utf-8"));if(U.version)return U.version}catch{}let W=B,O=W0.default.parse(W).root;while(W!==O){let H=W0.join(W,"node_modules",$,B5);if(V0.existsSync(H))try{let U=JSON.parse(V0.readFileSync(H,"utf-8"));if(U.version)return U.version}catch{}let M=W0.dirname(W);if(M===W)break;W=M}return T40(G)};for(let $ in F.dependencies)Z.set($,q($,F.dependencies[$]));for(let $ in F.devDependencies)Z.set($,q($,F.devDependencies[$]))}return Z}async function H0(){try{let D=await _f();if(!D)throw K.error("No capacitor config file found, run `cap init` first"),Error("No capacitor config file found, run `cap init` first");return D}catch(D){let X=`No capacitor config file found, run \`cap init\` first ${p(D)}`;throw K.error(X),Error(X)}}async function I40(D,X){let Y=await H0();if(Y?.config)Y.config.plugins??={},Y.config.plugins.extConfig??={},Y.config.plugins[D]??={},Y.config.plugins[D]={...Y.config.plugins[D],...X},await B$(D,Y);return Y}async function xy(D){return I40("CapacitorUpdater",D)}async function C8(){try{let D=await H0(),X={host:D?.config?.plugins?.CapacitorUpdater?.localHost||Ey,hostWeb:D?.config?.plugins?.CapacitorUpdater?.localWebHost||Ty,hostFilesApi:D?.config?.plugins?.CapacitorUpdater?.localApiFiles||Cy,hostApi:D?.config?.plugins?.CapacitorUpdater?.localApi||jy};if(D?.config?.plugins?.CapacitorUpdater?.localSupa&&D?.config?.plugins?.CapacitorUpdater?.localSupaAnon)K.info("Using custom supabase instance from capacitor.config.json"),X.supaKey=D?.config?.plugins?.CapacitorUpdater?.localSupaAnon,X.supaHost=D?.config?.plugins?.CapacitorUpdater?.localSupa;return X}catch{return{host:Ey,hostWeb:Ty,hostFilesApi:Cy,hostApi:jy}}}var fy=/([A-Za-z0-9]+)\.(java|swift|kt|scala)$/;async function KJ(){let D=await C8();try{let X=await fetch(`${D.hostApi}/private/config`);if(!X.ok)throw Error(`HTTP error! status: ${X.status}`);return{...await X.json(),...D}}catch{return K.info(`Local config ${p(D)}`),D}}async function yy(){let D=await C8();try{let X=await fetch(`${D.hostFilesApi}/files/config`);if(!X.ok)throw Error(`HTTP error! status: ${X.status}`);return await X.json()}catch{return{partialUpload:!1,TUSUpload:!1,partialUploadForced:!1,TUSUploadForced:!1,maxUploadLength:E40,maxChunkSize:C40,alertUploadSize:A40}}}async function K0(D,X,Y){let Z=await KJ();if(X&&Y)K.info("Using custom supabase instance from provided options"),Z.supaHost=X,Z.supaKey=Y;if(!Z.supaHost||!Z.supaKey)throw K.error("Cannot connect to server please try again later"),Error("Cannot connect to server please try again later");return Gw(Z.supaHost,Z.supaKey,{auth:{persistSession:!1},global:{headers:{capgkey:D}}})}async function P40(D,X,Y){let{data:Z}=await D.rpc("is_allowed_capgkey",{apikey:X,keymode:Y}).single();if(!Z){K.error("Invalid API key or insufficient permissions.");let Q=`Your key should be: ${Y.map((w,F)=>{if(Y.length===1)return`"${w}"`;if(F===Y.length-1)return`or "${w}"`;return`"${w}", `}).join("")} mode.`;throw K.error(Q),Error("Invalid API key or insufficient permissions.")}}async function ky(D,X){let{data:Y}=await D.rpc("is_paying_org",{orgid:X}).single();return Y||!1}async function uy(D,X){let{data:Y}=await D.rpc("is_trial_org",{orgid:X}).single();return Y||0}async function S40(D,X){let{data:Y}=await D.rpc("is_allowed_action_org",{orgid:X}).single();return!!Y}async function x40(D,X,Y){let{data:Z}=await D.rpc("is_allowed_action",{apikey:Y,appid:X}).single();return!!Z}var L1;((w)=>{w[w.none=0]="none";w[w.read=1]="read";w[w.upload=2]="upload";w[w.write=3]="write";w[w.admin=4]="admin";w[w.super_admin=5]="super_admin"})(L1||={});var c7=(D,X)=>D>=X;async function hy(D,X,Y){let{data:Z,error:J}=await D.rpc("get_org_perm_for_apikey",{apikey:X,app_id:Y}).single();if(J)throw K.error("Cannot get permissions for organization!"),console.error(J),Error("Cannot get permissions for organization");if(Z.includes("perm")){let F=null;switch(Z){case"perm_none":{F=0;break}case"perm_read":{F=1;break}case"perm_upload":{F=2;break}case"perm_write":{F=3;break}case"perm_admin":{F=4;break}case"perm_owner":{F=5;break}default:{if(Z.includes("invite"))throw K.info("Please accept/deny the organization invitation before trying to access the app"),Error("Organization invitation pending");throw K.error(`Invalid output when fetching organization permission. Response: ${Z}`),Error(`Invalid output when fetching organization permission. Response: ${Z}`)}}return{okay:!0,data:F}}let w=null;switch(Z){case"INVALID_APIKEY":{w="INVALID_APIKEY";break}case"NO_APP":{w="NO_APP";break}case"NO_ORG":{w="NO_ORG";break}default:throw K.error(`Invalid error when fetching organization permission. Response: ${Z}`),Error(`Invalid error when fetching organization permission. Response: ${Z}`)}return{okay:!1,error:w}}async function _y(D,X,Y){let{data:Z,error:J}=await D.rpc("get_organization_cli_warnings",{orgid:X,cli_version:Y});if(J){K.error(`Cannot get cli warnings: ${p(J)}`);return}if(Z.length>0){K.warn(`Found ${Z.length} cli warnings for your organization.`);let Q=null;for(let w of Z){if(typeof w!=="object"||typeof w.message!=="string"||typeof w.fatal!=="boolean"){K.error(`Invalid cli warning: ${w}`);continue}let F=w;if(F.fatal)K.error(`${F.message.replaceAll("\\n",`
|
|
339
339
|
`)}`),Q=Error(F.message);else K.warn(`${F.message.replaceAll("\\n",`
|
|
340
340
|
`)}`)}if(Q)throw K.error("Please fix the warnings and try again."),Q;K.info("End of cli warnings.")}}async function vy(D,X,Y,Z,J=!0){let Q=await KJ();if(!await(Z?x40(D,Z,Y):S40(D,X)))throw K.error(`You need to upgrade your plan to continue to use capgo.
|
|
341
341
|
Upgrade here: ${Q.hostWeb}/settings/organization/plans
|
|
@@ -345,18 +345,18 @@ Trial expires in ${F} days, upgrade here: ${Q.hostWeb}/settings/organization/pla
|
|
|
345
345
|
Upgrade here: ${Q.hostWeb}/settings/organization/plans
|
|
346
346
|
`),qJ(100),Promise.resolve().then(() => (S$(),P$)).then((q)=>{q.default(`${Q.hostWeb}/settings/organization/plans`)}),qJ(500),Error("Plan upgrade required for upload");let[F,B]=await Promise.all([uy(D,X),ky(D,X)]);if(F>0&&J&&!B)K.warn(`WARNING !!
|
|
347
347
|
Trial expires in ${F} days, upgrade here: ${Q.hostWeb}/settings/organization/plans
|
|
348
|
-
`)}function Q0(D=!1){let X=m8.env.CAPGO_TOKEN?.trim();if(X){if(!D)K.info("Use CAPGO_TOKEN environment variable");return X}let Y=$J.homedir(),Z,J=`${Y}/.capgo`;if(
|
|
348
|
+
`)}function Q0(D=!1){let X=m8.env.CAPGO_TOKEN?.trim();if(X){if(!D)K.info("Use CAPGO_TOKEN environment variable");return X}let Y=$J.homedir(),Z,J=`${Y}/.capgo`;if(V0.existsSync(J)){if(!D)K.info(`Use global API key ${J}`);Z=V0.readFileSync(J,"utf8").trim()}if(J=".capgo",!Z&&V0.existsSync(J)){if(!D)K.info(`Use local API key ${J}`);Z=V0.readFileSync(J,"utf8").trim()}if(!Z){let Q=`Cannot find API key in local folder or global, please login first with ${q5().runner} @capgo/cli login`;throw K.error(Q),Error(Q)}return Z}function X9(D){let Y=(D.endsWith(".br")?D.slice(0,-3):D).split(".").pop()?.toLowerCase()||"";return{html:"text/html",htm:"text/html",js:"application/javascript",mjs:"application/javascript",cjs:"application/javascript",css:"text/css",json:"application/json",jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",gif:"image/gif",bmp:"image/bmp",webp:"image/webp",svg:"image/svg+xml",ico:"image/x-icon",avif:"image/avif",woff:"font/woff",woff2:"font/woff2",ttf:"font/ttf",otf:"font/otf",eot:"application/vnd.ms-fontobject",mp3:"audio/mpeg",wav:"audio/wav",ogg:"audio/ogg",mp4:"video/mp4",webm:"video/webm",xml:"application/xml",txt:"text/plain",md:"text/markdown",pdf:"application/pdf",wasm:"application/wasm",map:"application/json"}[Y]||"application/octet-stream"}async function k$(D,X){return D.from("app_versions").upsert(X,{onConflict:"name,app_id"}).eq("app_id",X.app_id).eq("name",X.name)}async function gy(D,X,Y){let Z={app_id:X,name:Y,version:0};try{let Q=await D.functions.invoke("files/upload_link",{body:JSON.stringify(Z)});if(Q.error){if(Q.error instanceof D1.FunctionsHttpError){let w=await Q.error.context.json();K.error(`Upload URL error: ${w.status||JSON.stringify(w)}`)}else K.error(`Cannot get upload url: ${Q.error.message}`);return""}return Q.data.url}catch(J){K.error(`Cannot get upload url ${p(J)}`)}return""}async function*my(D){let X=V0.readdirSync(D,{withFileTypes:!0});for(let Y of X){let Z=W0.join(D,Y.name);if(Y.isDirectory())yield*my(Z);else yield Z}}var zJ="5.10.0",MJ="6.25.0",XX="7.0.30";function e1(D,X="5.10.0",Y="6.25.0",Z="7.25.0"){if(D.major===5&&q9(D,i0(X)))return!0;if(D.major===6&&q9(D,i0(Y)))return!0;if(D.major===7&&q9(D,i0(Z)))return!0;return!1}async function dy(D){let X=[],Y=[".DS_Store",".git",".gitignore","node_modules","package-lock.json","tsconfig.json","tsconfig.app.json","tsconfig.spec.json","tsconfig.app.json","tsconfig.spec.json","tsconfig.app.json","tsconfig.spec.json"];for await(let Z of my(D)){if(Y.some((F)=>Z.includes(F))){K.info(`Ignoring file ${Z}, please ensure you have only required files in your dist folder`);continue}let J=V0.readFileSync(Z);if(J.length===0){K.info(`Ignoring empty file ${Z}, please ensure you have only required files in your dist folder`);continue}let Q=await y6(J,"sha256"),w=W0.relative(D,Z);if(w.startsWith("/"))w=w.substring(1);X.push({file:w,hash:Q})}return X}async function LJ(D){if($J.platform()==="win32")return y40(D);else return f40(D)}function f40(D){let X=new f$.default;return X.addLocalFolder(D),X.toBuffer()}async function y40(D){K.info("Zipping file windows mode");let X=new f$.default,Y=(Z,J)=>{let Q=V0.readdirSync(Z);for(let w of Q){let F=W0.join(Z,w),B=V0.statSync(F);if(B.isFile()){let q=V0.readFileSync(F);X.addFile(W0.join(J,w).split(W0.sep).join("/"),q)}else if(B.isDirectory())Y(F,W0.join(J,w))}};return Y(D,""),X.toBuffer()}async function cy(D,X,Y,Z,J,Q,w,F){return new Promise((B,q)=>{z0(D,{channel:"app",event:"App TUS upload",icon:"⏫",user_id:Y,tags:{"app-id":Z},notify:!1}),new GJ.Upload(X,{endpoint:`${w.hostFilesApi}/files/upload/attachments/`,chunkSize:F,metadataForPartialUploads:{filename:`orgs/${Y}/apps/${Z}/${J}.zip`,filetype:"application/gzip"},metadata:{filename:`orgs/${Y}/apps/${Z}/${J}.zip`,filetype:"application/zip"},headers:{Authorization:D},onError(G){if(K.error(`Error uploading bundle: ${G.message}`),G instanceof GJ.DetailedError){let W=G.originalResponse?.getBody(),O=JSON.parse(W||'{"error": "unknown error"}');q(O.status||O.error||O.message||"unknown error")}else q(G.message||G.toString()||"unknown error")},onProgress(G,W){let O=(G/W*100).toFixed(2);Q.message(`Uploaded ${O}%`)},async onSuccess(){await z0(D,{channel:"app",event:"App TUS done",icon:"⏫",user_id:Y,tags:{"app-id":Z},notify:!1}).catch(),B(!0)}}).start()})}async function ly(D,X,Y){let Z={app_id:X,name:Y};try{let Q=await D.functions.invoke("private/delete_failed_version",{body:JSON.stringify(Z),method:"DELETE"});if(Q.error){if(Q.error instanceof D1.FunctionsHttpError){let w=await Q.error.context.json();K.error(`Cannot delete failed version: ${w.status||JSON.stringify(w)}`)}else K.error(`Cannot delete failed version: ${Q.error.message}`);return}return Q.data?.status}catch(J){if(J instanceof D1.FunctionsHttpError){let Q=await J.context.json();K.error(`Cannot delete failed version: ${Q.message||JSON.stringify(Q)}`)}else K.error(`Cannot delete failed version: ${p(J)}`)}}async function VJ(D,X){if(!X.app_id||!X.name||!X.created_by)return K.error("missing app_id, name, or created_by"),Promise.reject(Error("missing app_id, name, or created_by"));let{data:Y,error:Z}=await D.from("channels").select().eq("app_id",X.app_id).eq("name",X.name).single();if(Y&&!Z)return D.from("channels").update(X).eq("app_id",X.app_id).eq("name",X.name).select().single();return D.from("channels").insert(X).select().single()}async function z0(D,X,Y){try{if(Y)K.info(`Get remove config: for ${X.event}`);let Z=await KJ();if(Y)K.info(`Sending LogSnag event: ${JSON.stringify(X)}`);let J=new AbortController,Q=setTimeout(()=>J.abort(),1e4);try{let w=await fetch(`${Z.hostApi}/private/events`,{method:"POST",body:JSON.stringify(X),headers:{"Content-Type":"application/json",capgkey:D},signal:J.signal});if(clearTimeout(Q),!w.ok)throw Error(`HTTP error! status: ${w.status}`);let F=await w.json();if(F.error)K.error(`Failed to send LogSnag event: ${F.error}`)}finally{clearTimeout(Q)}}catch(Z){if(Y)K.error("Failed to send Stats event details:"),K.error(p(Z))}}function u$(D){if(K.error(`
|
|
349
349
|
\uD83D\uDD10 Access Denied: Two-Factor Authentication Required`),K.error("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),D)K.error(`
|
|
350
350
|
The organization "${D}" requires all members to have 2FA enabled.`);else K.error(`
|
|
351
351
|
This organization requires all members to have 2FA enabled.`);throw K.error(`
|
|
352
352
|
To regain access:`),K.error(" 1. Go to https://web.capgo.app/settings/account"),K.error(" 2. Enable Two-Factor Authentication on your account"),K.error(" 3. Try your command again"),K.error(`
|
|
353
353
|
For more information, visit: https://capgo.app/docs/webapp/2fa-enforcement/
|
|
354
|
-
`),Error("2FA required for this organization")}async function UJ(D,X){let{error:Y,data:Z}=await D.rpc("get_orgs_v7");if(Y)throw K.error("Cannot get the list of organizations - exiting"),K.error(`Error ${JSON.stringify(Y)}`),Error("Cannot get the list of organizations");let J=Z.filter((B)=>!!X.find((q)=>q===B.role));if(Z.length===0)throw K.error("Could not get organization please create an organization first"),Error("No organizations available");if(J.length===0)throw K.error(`Could not find organization with roles: ${X.join(" or ")} please create an organization or ask the admin to add you to the organization with this roles`),Error("Could not find organization with required roles");let Q=J.length>1?await M8({message:"Please pick the organization that you want to insert to",options:J.map((B)=>{let q=B.enforcing_2fa&&!B["2fa_has_access"]?" ⚠️ (2FA required)":"";return{value:B.gid,label:`${B.name}${q}`}})}):J[0].gid;if(c0(Q))throw K.error("Canceled organization selection, exiting"),Error("Organization selection cancelled");let w=Q,F=Z.find((B)=>B.gid===w);if(F.enforcing_2fa&&!F["2fa_has_access"])u$(F.name);return K.info(`Using the organization "${F.name}" as the app owner`),F}async function
|
|
354
|
+
`),Error("2FA required for this organization")}async function UJ(D,X){let{error:Y,data:Z}=await D.rpc("get_orgs_v7");if(Y)throw K.error("Cannot get the list of organizations - exiting"),K.error(`Error ${JSON.stringify(Y)}`),Error("Cannot get the list of organizations");let J=Z.filter((B)=>!!X.find((q)=>q===B.role));if(Z.length===0)throw K.error("Could not get organization please create an organization first"),Error("No organizations available");if(J.length===0)throw K.error(`Could not find organization with roles: ${X.join(" or ")} please create an organization or ask the admin to add you to the organization with this roles`),Error("Could not find organization with required roles");let Q=J.length>1?await M8({message:"Please pick the organization that you want to insert to",options:J.map((B)=>{let q=B.enforcing_2fa&&!B["2fa_has_access"]?" ⚠️ (2FA required)":"";return{value:B.gid,label:`${B.name}${q}`}})}):J[0].gid;if(c0(Q))throw K.error("Canceled organization selection, exiting"),Error("Organization selection cancelled");let w=Q,F=Z.find((B)=>B.gid===w);if(F.enforcing_2fa&&!F["2fa_has_access"])u$(F.name);return K.info(`Using the organization "${F.name}" as the app owner`),F}async function N0(D,X,Y=["all"]){await P40(D,X,Y);let{data:Z,error:J}=await D.rpc("get_user_id",{apikey:X}).single(),Q=(Z||"").toString();if(!Q||J)throw K.error("Cannot auth user with apikey"),Error("Cannot authenticate user with provided API key");return Q}async function pD(D,X){let{data:Y,error:Z}=await D.from("apps").select("owner_org").eq("app_id",X).single();if(!Y||Z)throw K.error(`Cannot get organization id for app id ${X}`),p(Z),Error(`Cannot get organization id for app id ${X}`);return Y.owner_org}function l7(D){return new Date(D||"").toLocaleString()}var Iy=!1,g7="npm",DX="install",x$="npx";function q5(){if(Iy)return{pm:g7,command:DX,installCommand:`${g7} ${DX}`,runner:x$};let D=rD(m8.cwd());return g7=Q4(D,"npm"),DX=EX(g7),Iy=!0,x$=bG(D),{pm:g7,command:DX,installCommand:`${g7} ${DX}`,runner:x$}}function ny(D){return V0.readdirSync(D,{withFileTypes:!0}).flatMap((Z)=>{let J=W0.join(D,Z.name);if(Z.isDirectory())return ny(J);else return J.split(`node_modules${W0.sep}`)[1]||J})}function iy(D){if(!V0.existsSync(D))return[];try{return V0.readdirSync(D,{withFileTypes:!0}).flatMap((Z)=>{let J=W0.join(D,Z.name);if(Z.isDirectory())return iy(J);else return J})}catch{return[]}}function k40(D,X){let Y=[];if(X==="ios"){try{let Q=V0.readdirSync(D);for(let w of Q)if(w.endsWith(".podspec"))Y.push(W0.join(D,w))}catch{}let Z=W0.join(D,"Package.swift"),J=W0.join(D,"ios","Package.swift");if(V0.existsSync(Z))Y.push(Z);if(V0.existsSync(J))Y.push(J)}else if(X==="android"){let Z=W0.join(D,"android"),J=W0.join(Z,"build.gradle"),Q=W0.join(Z,"build.gradle.kts");if(V0.existsSync(J))Y.push(J);if(V0.existsSync(Q))Y.push(Q)}return Y}async function u40(D){let X=W0.join(D,"ios"),Y=W0.join(D,"android"),Z=async(w,F)=>{let B=V0.existsSync(w)?iy(w).filter((O)=>fy.test(O)):[],q=k40(D,F),$=[...B,...q].sort((O,H)=>O.localeCompare(H));if($.length===0)return;let{createHash:G}=await import("node:crypto"),W=G("sha256");for(let O of $)try{let H=W0.relative(D,O);W.update(H);let M=V0.readFileSync(O);W.update(M)}catch{}return W.digest("hex")},[J,Q]=await Promise.all([Z(X,"ios"),Z(Y,"android")]);return{ios_checksum:J,android_checksum:Q}}async function h$(D,X){let Y=X?X.split(","):[],Z;try{Z=await HJ("",D)}catch($){throw K.error("Invalid package.json, JSON parsing failed"),console.error("json parse error: ",$),$ instanceof Error?$:Error("Invalid package.json")}let J=D?.split(",")[0],Q=!J?rD(m8.cwd()):W0.default.resolve(J).replace(B5,"");if(!Z)throw K.error("Missing dependencies section in package.json"),Error("Missing dependencies section in package.json");for(let[$,G]of Object.entries(Z))if(typeof G!=="string")throw K.error(`Invalid dependency ${$}: ${G}, expected string, got ${typeof G}`),Error(`Invalid dependency ${$}: expected string version`);let w=Y.length===0?[W0.join(m8.cwd(),"node_modules")]:Y;if(!w.some(($)=>V0.existsSync($))){let $=Q4(Q,"npm"),G=EX($);throw K.error(`Missing node_modules folder at ${w.join(", ")}, please run ${$} ${G}`),Error("Missing node_modules folder")}let B=!1,q=await Promise.all(Array.from(Z.entries()).map(async([$,G])=>{let W=!1,O=!1,H=G,M;for(let R of w){let z=W0.join(R,$);if(V0.existsSync(z)){W=!0,M=z;try{let V=W0.join(z,B5);if(V0.existsSync(V)){let L=JSON.parse(V0.readFileSync(V,"utf-8"));if(L.version)H=L.version}}catch{}try{if(ny(z).some((L)=>fy.test(L))){O=!0;break}}catch(V){throw K.error(`Error reading node_modules files for ${$} package in ${R}`),console.error(V),V instanceof Error?V:Error(`Error reading node_modules files for ${$}`)}}}if(!W){B=!0;let R=Q4(Q,"npm"),z=EX(R);return K.error(`Missing dependency ${$}, please run ${R} ${z}`),{name:$,version:G}}let U,N;if(O&&M){let R=await u40(M);U=R.ios_checksum,N=R.android_checksum}return{name:$,version:H,native:O,ios_checksum:U,android_checksum:N}})).catch(()=>[]);if(B||q.find(($)=>$.native===void 0))throw K.error("Missing dependencies or invalid dependencies"),K.error("If you use monorepo, workspace or any special package manager you can use the --package-json [path,] and --node-modules [path,] options to make the command work properly"),Error("Missing dependencies or invalid dependencies");return q}async function h40(D,X,Y){let{data:Z,error:J}=await D.from("channels").select("version(checksum)").eq("name",Y).eq("app_id",X).single(),Q=Z;if(J||Q===null||!Q.version||!Q.version.checksum)return null;return Q.version.checksum}function _40(D){if(!D)throw K.error("Error parsing native packages, perhaps the metadata does not exist in Capgo?"),Error("Error parsing native packages");for(let Y of D){if(typeof Y!=="object")throw K.error(`Invalid remote native package data: ${Y}, expected object, got ${typeof Y}`),Error("Invalid remote native package data");let{name:Z,version:J}=Y;if(!Z||typeof Z!=="string")throw K.error(`Invalid remote native package name: ${Z}, expected string, got ${typeof Z}`),Error("Invalid remote native package name");if(!J||typeof J!=="string")throw K.error(`Invalid remote native package version: ${J}, expected string, got ${typeof J}`),Error("Invalid remote native package version")}return new Map(D.map((Y)=>[Y.name,Y]))}async function py(D,X,Y){let{data:Z,error:J}=await D.from("channels").select(`version (
|
|
355
355
|
native_packages
|
|
356
356
|
)`).eq("name",Y).eq("app_id",X).single();if(J)throw K.error(`Error fetching native packages: ${J.message}`),Error(`Error fetching native packages: ${J.message}`);return _40(Z.version.native_packages??[])}async function ay(D,X,Y,Z){let J=xD();J.start(`Checking bundle checksum compatibility with channel ${Y}`);let Q=await h40(D,X,Y);if(!Q){J.stop(`No checksum found for channel ${Y}, the bundle will be uploaded`);return}if(Q&&Q===Z)throw J.stop("Checksum check failed"),K.error(`Cannot upload the same bundle content.
|
|
357
357
|
Current bundle checksum matches remote bundle for channel ${Y}
|
|
358
358
|
Did you build your app before uploading?
|
|
359
|
-
PS: You can ignore this check with "--ignore-checksum-check"`),Error("Cannot upload the same bundle content");J.stop(`Checksum compatible with ${Y} channel`)}function b0(D,X){return D||X?.plugins?.CapacitorUpdater?.appId||X?.appId}function $5(D){let X=[];if(!D.localVersion)return{compatible:!0,reasons:[],message:"Package only exists on remote (will be removed)"};if(!D.remoteVersion)return X.push("new_plugin"),{compatible:!1,reasons:X,message:"New native plugin added (requires app store update)"};let Y=!1;try{let w=PX(D.localVersion),F=PX(D.remoteVersion);Y=sG(w,F)}catch{Y=!1}if(!Y)X.push("version_mismatch");let Z=D.localIosChecksum&&D.remoteIosChecksum&&D.localIosChecksum!==D.remoteIosChecksum,J=D.localAndroidChecksum&&D.remoteAndroidChecksum&&D.localAndroidChecksum!==D.remoteAndroidChecksum;if(Z&&J)X.push("both_platforms_changed");else if(Z)X.push("ios_code_changed");else if(J)X.push("android_code_changed");if(X.length===0)return{compatible:!0,reasons:[],message:"Compatible"};let Q=[];for(let w of X)switch(w){case"version_mismatch":Q.push(`version changed: ${D.remoteVersion} → ${D.localVersion}`);break;case"ios_code_changed":Q.push("iOS native code changed");break;case"android_code_changed":Q.push("Android native code changed");break;case"both_platforms_changed":Q.push("iOS and Android native code changed");break;case"new_plugin":Q.push("new plugin (requires app store update)");break;case"removed_plugin":Q.push("plugin removed");break}return{compatible:!1,reasons:X,message:Q.join(", ")}}function Y9(D){return $5(D).compatible}async function NJ(D,X,Y,Z,J){let Q=await h$(Z,J),w=await py(D,X,Y),F=Q.filter((q)=>!!q.native).map((q)=>{let $=w.get(q.name);if($)return{name:q.name,localVersion:q.version,remoteVersion:$.version,localIosChecksum:q.ios_checksum,remoteIosChecksum:$.ios_checksum,localAndroidChecksum:q.android_checksum,remoteAndroidChecksum:$.android_checksum};return{name:q.name,localVersion:q.version,remoteVersion:void 0,localIosChecksum:q.ios_checksum,localAndroidChecksum:q.android_checksum}}),B=[...w].filter(([q])=>Q.find(($)=>$.name===q)===void 0).map(([q,$])=>({name:q,localVersion:void 0,remoteVersion:$.version,remoteIosChecksum:$.ios_checksum,remoteAndroidChecksum:$.android_checksum}));return F.push(...B),{finalCompatibility:F,localDependencies:Q}}async function _$(D,X,Y,Z){let J=await py(D,X,Y),Q=Z.map((F)=>{let B=J.get(F.name);if(B)return{name:F.name,localVersion:F.version,remoteVersion:B.version,localIosChecksum:F.ios_checksum,remoteIosChecksum:B.ios_checksum,localAndroidChecksum:F.android_checksum,remoteAndroidChecksum:B.android_checksum};return{name:F.name,localVersion:F.version,remoteVersion:void 0,localIosChecksum:F.ios_checksum,localAndroidChecksum:F.android_checksum}}),w=[...J].filter(([F])=>Z.find((B)=>B.name===F)===void 0).map(([F,B])=>({name:F,localVersion:void 0,remoteVersion:B.version,remoteIosChecksum:B.ios_checksum,remoteAndroidChecksum:B.android_checksum}));return Q.push(...w),{finalCompatibility:Q,localDependencies:Z}}async function ty(D,X,Y){let Z=await
|
|
359
|
+
PS: You can ignore this check with "--ignore-checksum-check"`),Error("Cannot upload the same bundle content");J.stop(`Checksum compatible with ${Y} channel`)}function b0(D,X){return D||X?.plugins?.CapacitorUpdater?.appId||X?.appId}function $5(D){let X=[];if(!D.localVersion)return{compatible:!0,reasons:[],message:"Package only exists on remote (will be removed)"};if(!D.remoteVersion)return X.push("new_plugin"),{compatible:!1,reasons:X,message:"New native plugin added (requires app store update)"};let Y=!1;try{let w=PX(D.localVersion),F=PX(D.remoteVersion);Y=sG(w,F)}catch{Y=!1}if(!Y)X.push("version_mismatch");let Z=D.localIosChecksum&&D.remoteIosChecksum&&D.localIosChecksum!==D.remoteIosChecksum,J=D.localAndroidChecksum&&D.remoteAndroidChecksum&&D.localAndroidChecksum!==D.remoteAndroidChecksum;if(Z&&J)X.push("both_platforms_changed");else if(Z)X.push("ios_code_changed");else if(J)X.push("android_code_changed");if(X.length===0)return{compatible:!0,reasons:[],message:"Compatible"};let Q=[];for(let w of X)switch(w){case"version_mismatch":Q.push(`version changed: ${D.remoteVersion} → ${D.localVersion}`);break;case"ios_code_changed":Q.push("iOS native code changed");break;case"android_code_changed":Q.push("Android native code changed");break;case"both_platforms_changed":Q.push("iOS and Android native code changed");break;case"new_plugin":Q.push("new plugin (requires app store update)");break;case"removed_plugin":Q.push("plugin removed");break}return{compatible:!1,reasons:X,message:Q.join(", ")}}function Y9(D){return $5(D).compatible}async function NJ(D,X,Y,Z,J){let Q=await h$(Z,J),w=await py(D,X,Y),F=Q.filter((q)=>!!q.native).map((q)=>{let $=w.get(q.name);if($)return{name:q.name,localVersion:q.version,remoteVersion:$.version,localIosChecksum:q.ios_checksum,remoteIosChecksum:$.ios_checksum,localAndroidChecksum:q.android_checksum,remoteAndroidChecksum:$.android_checksum};return{name:q.name,localVersion:q.version,remoteVersion:void 0,localIosChecksum:q.ios_checksum,localAndroidChecksum:q.android_checksum}}),B=[...w].filter(([q])=>Q.find(($)=>$.name===q)===void 0).map(([q,$])=>({name:q,localVersion:void 0,remoteVersion:$.version,remoteIosChecksum:$.ios_checksum,remoteAndroidChecksum:$.android_checksum}));return F.push(...B),{finalCompatibility:F,localDependencies:Q}}async function _$(D,X,Y,Z){let J=await py(D,X,Y),Q=Z.map((F)=>{let B=J.get(F.name);if(B)return{name:F.name,localVersion:F.version,remoteVersion:B.version,localIosChecksum:F.ios_checksum,remoteIosChecksum:B.ios_checksum,localAndroidChecksum:F.android_checksum,remoteAndroidChecksum:B.android_checksum};return{name:F.name,localVersion:F.version,remoteVersion:void 0,localIosChecksum:F.ios_checksum,localAndroidChecksum:F.android_checksum}}),w=[...J].filter(([F])=>Z.find((B)=>B.name===F)===void 0).map(([F,B])=>({name:F,localVersion:void 0,remoteVersion:B.version,remoteIosChecksum:B.ios_checksum,remoteAndroidChecksum:B.android_checksum}));return Q.push(...w),{finalCompatibility:Q,localDependencies:Z}}async function ty(D,X,Y){let Z=await oD({message:"Would you like to sync your project with Capacitor now? This is recommended to ensure encrypted updates work properly."});if(c0(Z)){if(D&&X&&Y)await CL("onboarding-v2",X,Y,"canceled","\uD83E\uDD37");throw K.error("Canceled Capacitor sync"),Error("Capacitor sync cancelled")}if(Z){let J=q5(),Q=xD();Q.start("Running the command...");try{await new Promise((w,F)=>{let B=Py.spawn(J.runner,["cap","sync"],{stdio:"pipe"});B.on("close",(q)=>{if(q===0)w();else F(Error(`Command failed with exit code ${q}`))}),B.on("error",(q)=>{F(q)})}),Q.stop("Capacitor sync completed ✅")}catch(w){Q.stop("Error"),K.error(`Failed to run Capacitor sync: ${w}`),K.warn(`Please run "${J.runner} cap sync" manually to ensure encrypted updates work properly`)}}else{let J=q5();K.warn("⚠️ Important: If you upload encrypted bundles without syncing, updates will fail!"),K.info(`Remember to run "${J.runner} cap sync" before uploading encrypted bundles`)}}async function ry(D,X,Y,Z={}){let{silent:J=!1,autoUnlink:Q=!1}=Z,{data:w,error:F}=await D.from("channels").select().eq("app_id",X).eq("version",Y.id);if(F){if(!J)K.error(`Cannot check Version ${X}@${Y.name}: ${p(F)}`);throw Error(`Cannot check version ${X}@${Y.name}: ${p(F)}`)}if(!w?.length)return;if(J)throw Error(`Version ${X}@${Y.name} is used in ${w.length} channel(s)`);q0(`❌ Version ${X}@${Y.name} is used in ${w.length} channel${w.length>1?"s":""}`);let B=Q;if(!Q)B=await oD({message:"unlink it?"})===!0;if(!B)throw K.error("Unlink it first"),Error(`Version ${X}@${Y.name} is still linked to channel(s)`);for(let q of w){let $=xD();$.start(`Unlinking channel ${q.name}`);let G=await v$(D,X,{silent:J});if(!G)throw $.stop(`Cannot find unknown version for ${X}`),Error(`Cannot find unknown version for ${X}`);let{error:W}=await D.from("channels").update({version:G.id}).eq("id",q.id);if(W)throw $.stop(`Cannot update channel ${q.name} ${p(W)}`),Error(`Cannot update channel ${q.name}: ${p(W)}`);$.stop(`✅ Channel ${q.name} unlinked`)}$0(`Version unlinked from ${w.length} channel${w.length>1?"s":""}`)}async function v$(D,X,Y={}){let{silent:Z=!1}=Y,{data:J,error:Q}=await D.from("app_versions").select("id").eq("app_id",X).eq("name","unknown").single();if(!Q)return J;try{let w=await pD(D,X),{data:F,error:B}=await D.from("app_versions").insert({owner_org:w,deleted:!0,name:"unknown",app_id:X}).select("id").single();if(B){if(!Z)K.error(`Cannot find or create unknown version for ${X}. Find error: ${p(Q)}, Create error: ${p(B)}`);throw Error(`Cannot find or create unknown version for app ${X}: ${p(B)}`)}return F}catch(w){if(!Z)K.error(`Cannot find or create unknown version for ${X}. Find error: ${p(Q)}, Create error: ${p(w)}`);throw Error(`Cannot retrieve or create unknown version for app ${X}: ${p(w)}`)}}function sy(D,X){return D.from("channels").insert(X).select().single()}function oy(D,X,Y,Z){return D.from("channels").delete().eq("name",X).eq("app_id",Y).single()}function ey(D,X,Y){return D.from("channels").select().eq("app_id",X).eq("name",Y).single()}function Dk(D,X,Y){return D.from("channel_devices").delete().eq("app_id",X).eq("channel_id",Y)}function Xk(D,X,Y){return D.from("channels").select(`
|
|
360
360
|
id,
|
|
361
361
|
version (id, name)
|
|
362
362
|
`).eq("app_id",X).eq("name",Y).single().throwOnError().then(({data:Z})=>Z?.version)}function Yk(D,X=!1){if(X)return;let Y=new MD;Y.theme=MD.roundTheme,Y.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"],Y.rows=[];for(let Z of D.toReversed())Y.rows.push([Z.name,Z.version?.name,Z.public?"✅":"❌",Z.ios?"✅":"❌",Z.android?"✅":"❌",Z.disable_auto_update,Z.disable_auto_update_under_native?"❌":"✅",Z.allow_device_self_set?"✅":"❌",Z.allow_emulator?"✅":"❌",Z.allow_device?"✅":"❌",Z.allow_dev?"✅":"❌",Z.allow_prod?"✅":"❌"]);K.success("Channels"),K.success(Y.toString())}async function Zk(D,X,Y=!1){let{data:Z,error:J}=await D.from("channels").select(`
|
|
@@ -376,12 +376,12 @@ PS: You can ignore this check with "--ignore-checksum-check"`),Error("Cannot upl
|
|
|
376
376
|
created_by,
|
|
377
377
|
app_id,
|
|
378
378
|
version (id, name)
|
|
379
|
-
`).eq("app_id",X).order("created_at",{ascending:!1});if(J){if(!Y)K.error(`App ${X} not found in database`);throw Error(`App ${X} not found in database: ${p(J)}`)}return Z}async function b$(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)K.error(w);throw Error(`${w}: ${p(Q)}`)}}async function RJ(D,X,Y,Z={}){let{silent:J=!1,autoUnlink:Q=!1}=Z,w=await v40(D,X,Y,{silent:J});await ry(D,X,w,{silent:J,autoUnlink:Q}),await b$(D,X,Y,{silent:J})}function Jk(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,l7(Z.created_at),Z.keep??""]);K.success("Bundles"),K.success(Y.toString())}async function AJ(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)K.error(w);throw Error(`${w}: ${p(Q)}`)}return J??[]}async function Qk(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)K.error(w);throw Error(`${w}: ${p(Q)}`)}return(J??[]).map((w)=>w.version)}async function v40(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)K.error(F);throw Error(`${F}${w?`: ${p(w)}`:""}`)}return Q}var n7=require("node:fs");async function wk(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)K.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");u$()}}async function CD(D,X,Y,Z,J=!1,Q=!1){let w=q5();if(!Q)await _D(D,Y,J);let F=await hy(D,X,Y);if(!F.okay)switch(F.error){case"INVALID_APIKEY":{if(!J)K.error("Invalid apikey, such apikey does not exists!");throw Error("Invalid apikey, such apikey does not exists!")}case"NO_APP":{let $=`App ${Y} does not exist, run first \`${w.runner} @capgo/cli app add ${Y}\` to create it`;if(!J)K.error($);throw Error($)}case"NO_ORG":{if(!J)K.error("Could not find organization, please contact support to resolve this!");throw Error("Could not find organization, please contact support to resolve this!")}}let B=F.data;if(Z>B){let $=`Insuficcent permissions for app ${Y}. Current permission: ${L1[F.data]}, required for this action: ${L1[Z]}.`;if(!J)K.error($);throw Error($)}return F.data}var D8="assets/icon.png";var b40=/^[a-z0-9]+(\.[\w-]+)+$/i;function g40(D,X,Y){if(!X.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(D.includes("--")){if(!Y)K.error('The app id includes illegal symbols. You cannot use "--" in the app id');throw Error("App id includes illegal symbols")}if(!b40.test(D)){if(!Y)K.error(`Invalid app ID format: "${D}"`),K.info("App ID must be in reverse domain notation (e.g., com.example.app)"),K.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),K.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app");throw Error("Invalid app ID format")}}async function m40(D,X,Y){if(!await wk(D,X))return;if(X==="io.ionic.starter"){if(!Y)K.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)K.error(`App ${X} already exist`);throw Error(`App ${X} already exists`)}async function Fk(D,X,Y,Z=!1){if(!Z)q0("Adding");await o0(),X.apikey=X.apikey||Q0();let J=await H0(),Q=b0(D,J?.config);g40(Q,X,Z);let w=await K0(X.apikey,X.supaHost,X.supaAnon),F=await U0(w,X.apikey,["write","all"]);if(await m40(w,Q,Z),!Y)Y=await UJ(w,["admin","super_admin"]);let B=Y.gid,{name:q,icon:$}=X;if(q=q||J.config?.appName||"Unknown",$=$||"resources/icon.png",!$||!q){if(!Z)K.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)K.info(`Adding ${Q} to Capgo`);let G=null,W=null;if($&&n7.existsSync($)){if(G=n7.readFileSync($),W=X9($)||"image/png",!Z)K.warn(`Found app icon ${$}`)}else if(n7.existsSync(D8)){if(G=n7.readFileSync(D8),W=X9(D8)||"image/png",!Z)K.warn(`Found app icon ${D8}`)}else if(!Z)K.warn(`Cannot find app icon in any of the following locations: ${$}, ${D8}`);let O="icon",H="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(G&&W){let{error:U}=await w.storage.from(`images/org/${B}/${Q}`).upload(O,G,{contentType:W});if(U){if(!Z)console.error(U);if(!Z)K.error(`Could not add app ${p(U)}`);throw Error(`Could not add app ${p(U)}`)}let{data:N}=await w.storage.from(`images/org/${B}/${Q}`).getPublicUrl(O);H=N?.publicUrl||H}let{error:M}=await w.from("apps").insert({icon_url:H,owner_org:B,user_id:F,name:q,app_id:Q});if(M){if(!Z)K.error(`Could not add app ${p(M)}`);throw Error(`Could not add app ${p(M)}`)}if(!Z)K.success(`App ${Q} added to Capgo`),K.info("This app is accessible to all members of your organization based on their permissions"),K.info(`Next step: upload a bundle with "npx @capgo/cli bundle upload ${Q}"`),$0("Done ✅");return{appId:Q,organizationUid:B,userId:F,name:q,signedURL:H}}async function Bk(D,X,Y=!1,Z=!1){if(!Y)q0("Deleting");X.apikey=X.apikey||Q0();let J=await H0(),Q=b0(D,J?.config);if(!X.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Q){if(!Y)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let w=await K0(X.apikey,X.supaHost,X.supaAnon),F=await U0(w,X.apikey,["write","all"]);await CD(w,X.apikey,Q,5,Y);let{data:B,error:q}=await w.from("apps").select("owner_org ( created_by, id )").eq("app_id",Q).single(),$=B;if(!Z&&!q&&($?.owner_org.created_by??"")!==F)if(!Y){K.warn("Deleting the app is not recommended for users that are not the organization owner"),K.warn("You are invited as a super_admin but your are not the owner"),K.warn("It's strongly recommended that you do not continue!");let M=await M8({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(c0(M)||M==="no")throw K.error("Canceled deleting the app, exiting"),Error("App deletion cancelled")}else throw Error("Cannot delete app: you are not the organization owner");else if(q&&!Y)K.warn(`Cannot get the app owner ${p(q)}`);let{error:G}=await w.storage.from("images").remove([`org/${$?.owner_org.id}/${Q}/icon`]);if(G&&!Y)K.error("Could not delete app logo");let{error:W}=await w.storage.from(`apps/${Q}/${F}`).remove(["versions"]);if(W&&!Y)K.error("Could not delete app version");let{error:O}=await w.from("apps").delete().eq("app_id",Q);if(O){if(!Y)K.error("Could not delete app");throw Error(`Could not delete app: ${p(O)}`)}let H=await B1(w,Q);if(await A0(X.apikey,{channel:"app",event:"App Deleted",icon:"\uD83D\uDDD1️",user_id:H,tags:{"app-id":Q},notify:!1}).catch(()=>{}),!Y)K.success("App deleted in Capgo"),$0("Done ✅");return!0}var EJ=require("node:os"),$k=require("node:process");async function qk(D){let X={},Y=Object.keys(D);return(await Promise.all(Y.map((J)=>GZ(J)))).forEach((J,Q)=>{if(J)X[Y[Q]]=J}),X}async function d40(){let D=await HJ(),X={"@capgo/cli":o8.version};for(let[Y,Z]of D)if(Y.startsWith("@capgo/")||Y.startsWith("@capawesome/")||Y.startsWith("capacitor"))X[Y]=Z;return X}async function Gk(D,X=!1){if(!X)K.warn(" \uD83D\uDC8A Capgo Doctor \uD83D\uDC8A");let Y=await H0(),Z=D9("",D.packageJson),J=Y?.config?.plugins?.CapacitorUpdater?.version||Z,Q=Y?.config?.appName||"",w=b0("",Y?.config),F=Y?.config?.webDir||"";if(!X)K.info(` App Name: ${Q}`),K.info(` App ID: ${w}`),K.info(` App Version: ${J}`),K.info(` Web Dir: ${F}`),K.info(` OS: ${EJ.platform()} ${EJ.version()}`),K.info(` Node: ${$k.version}`),K.info(" Installed Dependencies:");let B=await d40();if(Object.keys(B).length===0){if(!X)K.warning("\x1B[31m%s\x1B[0m \uD83D\uDEA8 No dependencies found");throw Error("No dependencies found")}if(!X)for(let $ of Object.keys(B))K.info(` ${$}: ${B[$]}`);let q={};if(!X){let $=xD();$.start("Running: Loading latest dependencies"),q=await qk(B),$.stop("Latest Dependencies:");for(let G of Object.keys(q))K.info(` ${G}: ${q[G]}`)}else q=await qk(B);if(JSON.stringify(B)!==JSON.stringify(q)){if(!X)K.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)K.success("\x1B[32m✅ All dependencies are up to date\x1B[0m");return{appName:Q,appId:w,appVersion:J,webDir:F,installedDependencies:B,latestDependencies:q}}function c40(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,l7(Y.created_at)]);K.success("Apps"),K.success(X.toString())}async function l40(D,X){let{data:Y,error:Z}=await D.from("apps").select().order("created_at",{ascending:!1});if(Z){if(!X)K.error("Apps not found");throw Error("Apps not found")}return Y??[]}async function Ok(D,X=!1){if(!X)q0("List apps in Capgo");await o0(),D.apikey=D.apikey||Q0();let Y=await K0(D.apikey,D.supaHost,D.supaAnon);if(await U0(Y,D.apikey,["write","all","read","upload"]),!X)K.info("Getting active bundle in Capgo");let Z=await l40(Y,X);if(!Z.length){if(!X)K.error("No apps found");throw Error("No apps found")}if(!X)K.info(`Active app in Capgo: ${Z.length}`),c40(Z),$0("Done ✅");return Z}var Wk=require("node:crypto"),i7=require("node:fs");async function Hk(D,X,Y=!1){if(!Y)q0("Set app");X.apikey=X.apikey||Q0();let Z=await H0();if(D=b0(D,Z?.config),!X.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await K0(X.apikey,X.supaHost,X.supaAnon),w=(await UJ(J,["admin","super_admin"])).gid,F=await U0(J,X.apikey,["write","all"]);await CD(J,X.apikey,D,4,Y);let{name:B,icon:q,retention:$,exposeMetadata:G}=X;if($&&Number.isNaN(Number($))){if(!Y)K.error("retention value must be a number");throw Error("Retention value must be a number")}else if($&&$<0){if(!Y)K.error("retention value cannot be less than 0");throw Error("Retention value cannot be less than 0")}else if($&&$>=63113904){if(!Y)K.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,H=`icon_${Wk.randomUUID()}`,M="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(q&&i7.existsSync(q)){if(W=i7.readFileSync(q),O=X9(q)||"image/png",!Y)K.warn(`Found app icon ${q}`)}else if(i7.existsSync(D8)){if(W=i7.readFileSync(D8),O=X9(D8)||"image/png",!Y)K.warn(`Found app icon ${D8}`)}else if(!Y)K.warn(`Cannot find app icon in any of the following locations: ${q}, ${D8}`);if(W&&O){let{error:N}=await J.storage.from(`images/org/${w}/${D}`).upload(H,W,{contentType:O});if(N){if(!Y)K.error(`Could not set app ${p(N)}`);throw Error(`Could not set app: ${p(N)}`)}let{data:R}=await J.storage.from(`images/org/${w}/${D}`).getPublicUrl(H);M=R?.publicUrl||M}let{error:U}=await J.from("apps").update({icon_url:M,name:B,retention:!$?void 0:$*24*60*60,expose_metadata:G}).eq("app_id",D).eq("user_id",F);if(U){if(!Y)K.error(`Could not set app ${p(U)}`);throw Error(`Could not set app: ${p(U)}`)}if(!Y)$0("Done ✅");return!0}async function Kk(D,X,Y=!1){if(!Y)q0("Set a specific setting in capacitor config");if(X.bool&&X.string){if(!Y)K.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)K.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)K.error("Invalid bool");throw Error("Invalid bool value; expected true or false")}try{let Z=await H0(),J=Z.config,Q=D.split(".");if(Q.length===0){if(!Y)K.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 h7(Z,!0),!Y)K.success(`Set "${D}" to "${w}"`)}catch(Z){if(!Y)K.error(`Cannot set config in capacitor settings ${p(Z)}`);throw Error(`Cannot set capacitor config: ${p(Z)}`)}if(!Y)$0("Done ✅")}var d8=require("node:fs"),X8=require("node:fs/promises"),Vk=require("node:os"),Y8=require("node:path"),m$=require("node:process");var Uk=N0(Mw(),1),TJ=N0($Z(),1);var CJ=require("node:fs/promises"),zk=require("node:os"),jJ=require("node:path"),P0=require("node:process"),n40=jJ.join(zk.homedir(),".capgo-credentials"),i40=jJ.join(n40,"credentials.json"),p40=".capgo-credentials.json";function a40(D){return D?jJ.join(P0.cwd(),p40):i40}async function g$(D){try{let X=a40(D),Y=await CJ.readFile(X,"utf-8");return JSON.parse(Y)}catch{return{}}}async function t40(D,X){if(X!==void 0){let J=await g$(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 g$(!0),Z=await g$(!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 r40(){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 Mk(D,X,Y){let Z=await t40(D),J=r40(),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 s40(D,X,Y=3,Z=!1){let J=[1000,3000,5000];for(let Q=1;Q<=Y;Q++)try{let w=await fetch(D,X);if(w.ok||w.status>=400&&w.status<500)return w;let F=await w.text().catch(()=>"unknown error");if(!Z)K.warn(`Build request attempt ${Q}/${Y} failed: ${w.status} - ${F}`);if(Q<Y){let B=J[Q-1]||5000;if(!Z)K.info(`Retrying in ${B/1000}s...`);await new Promise((q)=>setTimeout(q,B))}else throw Error(`Failed to request build after ${Y} attempts: ${w.status} - ${F}`)}catch(w){let F=w instanceof Error?w.message:String(w);if(F.startsWith("Failed to request build after"))throw w;if(!Z)K.warn(`Build request attempt ${Q}/${Y} failed: ${F}`);if(Q<Y){let B=J[Q-1]||5000;if(!Z)K.info(`Retrying in ${B/1000}s...`);await new Promise((q)=>setTimeout(q,B))}else throw Error(`Failed to request build after ${Y} attempts: ${F}`)}throw Error("Unexpected error in fetchWithRetry")}async function o40(D,X,Y,Z,J,Q=!1){if(J)return null;let w=null,F=!1,B=`${D}/build/logs/${X}?app_id=${encodeURIComponent(Y)}`;K.info(`Connecting to log stream: ${B}`);try{let q=await fetch(B,{headers:{authorization:Z}});if(K.info(`Log stream response: ${q.status}`),!q.ok){let H=await q.text().catch(()=>"unknown error");return K.warn(`Could not stream logs (${q.status}): ${H}`),null}let $=q.body?.getReader();if(!$)return K.warn("No response body for log stream"),null;K.info("Reading log stream...");let G=new TextDecoder,W="",O=(H)=>{if(!H.trim())return;let M=H.match(/^(?:Build|Job already) (succeeded|failed|expired|released|cancelled)$/i);if(M){w=M[1].toLowerCase();return}if(w)return;if(!F)F=!0,K.info("");K.info(H)};while(!0){let{done:H,value:M}=await $.read();if(H)break;W+=G.decode(M,{stream:!0});let U=W.split(`
|
|
380
|
-
`);W=U.pop()||"";for(let N of U)if(N.startsWith("data: ")){let R=N.slice(6);O(R)}}if(W.startsWith("data: ")){let H=W.slice(6);O(H)}return w}catch(q){if(!J)K.warn(`Log streaming interrupted${q instanceof Error?`: ${q.message}`:""}`);return null}}async function e40(D,X,Y,Z,J,Q){let F=0;while(F<120)try{let B=await fetch(`${D}/build/status?job_id=${encodeURIComponent(X)}&app_id=${encodeURIComponent(Y)}&platform=${Z}`,{headers:{authorization:J}});if(!B.ok){if(!Q)K.warn(`Status check failed: ${B.status}`);await new Promise(($)=>setTimeout($,5000)),F++;continue}let q=await B.json();if(q.status==="succeeded"||q.status==="failed")return q.status;await new Promise(($)=>setTimeout($,5000)),F++}catch(B){if(!Q)K.warn(`Status check error: ${B}`);await new Promise((q)=>setTimeout(q,5000)),F++}if(!Q)K.warn("Build status polling timed out");return"timeout"}async function D30(D,X){let Y=new Set,Z=!1;if(X==="ios"){let J=Y8.join(D,"ios/App/CapApp-SPM/Package.swift");if(d8.existsSync(J)){Z=!0;let w=(await X8.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=Y8.join(D,"ios/App/Podfile");if(d8.existsSync(Q)){let F=(await X8.readFile(Q,"utf-8")).matchAll(/pod\s+['"][^'"]+['"],\s*:path\s*=>\s*['"]\.\.\/\.\.\/node_modules\/([^'"]+)['"]/g);for(let B of F)Y.add(B[1])}}}else if(X==="android"){let J=Y8.join(D,"android/capacitor.settings.gradle");if(d8.existsSync(J)){let w=(await X8.readFile(J,"utf-8")).matchAll(/new\s+File\s*\(\s*['"]\.\.\/node_modules\/([^'"]+)['"]\s*\)/g);for(let F of w){let q=F[1].replace(/\/android$/,"");Y.add(q)}}}return{packages:Y,usesSPM:Z}}function Lk(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 YX(D,X,Y,Z,J){let Q=d8.readdirSync(X);for(let w of Q){let F=Y8.join(X,w),B=Y?`${Y}/${w}`:w,q=d8.statSync(F);if(q.isDirectory()){if(w===".git"||w==="dist"||w==="build"||w===".angular"||w===".vite"||w===".gradle"||w===".idea"||w===".swiftpm")continue;if(w===Z){YX(D,F,B,Z,J);continue}if(w==="node_modules"){YX(D,F,B,Z,J);continue}if(w==="resources"){YX(D,F,B,Z,J);continue}let $=B.replace(/\\/g,"/");if(Lk(B,Z,J)||Array.from(J.packages).some((W)=>{return`node_modules/${W}/`.startsWith(`${$}/`)||$.startsWith(`node_modules/${W}`)}))YX(D,F,B,Z,J)}else if(q.isFile()){if(w===".DS_Store"||w.endsWith(".log"))continue;if(Lk(B,Z,J))D.addLocalFile(F,Y||void 0)}}}async function X30(D,X,Y){let Z=await D30(D,Y),J=new Uk.default;YX(J,D,"",Y,Z),await X8.writeFile(X,J.toBuffer())}async function Nk(D,X,Y=!1){let Z=Date.now(),J=X.verbose??!1;try{X.apikey=X.apikey||Q0(Y);let Q=await H0();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=Y8.resolve(X.path||m$.cwd()),F=X.supaHost||"https://api.capgo.app",B=await K0(X.apikey,X.supaHost,X.supaAnon);await
|
|
379
|
+
`).eq("app_id",X).order("created_at",{ascending:!1});if(J){if(!Y)K.error(`App ${X} not found in database`);throw Error(`App ${X} not found in database: ${p(J)}`)}return Z}async function b$(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)K.error(w);throw Error(`${w}: ${p(Q)}`)}}async function RJ(D,X,Y,Z={}){let{silent:J=!1,autoUnlink:Q=!1}=Z,w=await v40(D,X,Y,{silent:J});await ry(D,X,w,{silent:J,autoUnlink:Q}),await b$(D,X,Y,{silent:J})}function Jk(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,l7(Z.created_at),Z.keep??""]);K.success("Bundles"),K.success(Y.toString())}async function AJ(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)K.error(w);throw Error(`${w}: ${p(Q)}`)}return J??[]}async function Qk(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)K.error(w);throw Error(`${w}: ${p(Q)}`)}return(J??[]).map((w)=>w.version)}async function v40(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)K.error(F);throw Error(`${F}${w?`: ${p(w)}`:""}`)}return Q}var n7=require("node:fs");async function wk(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)K.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");u$()}}async function CD(D,X,Y,Z,J=!1,Q=!1){let w=q5();if(!Q)await _D(D,Y,J);let F=await hy(D,X,Y);if(!F.okay)switch(F.error){case"INVALID_APIKEY":{if(!J)K.error("Invalid apikey, such apikey does not exists!");throw Error("Invalid apikey, such apikey does not exists!")}case"NO_APP":{let $=`App ${Y} does not exist, run first \`${w.runner} @capgo/cli app add ${Y}\` to create it`;if(!J)K.error($);throw Error($)}case"NO_ORG":{if(!J)K.error("Could not find organization, please contact support to resolve this!");throw Error("Could not find organization, please contact support to resolve this!")}}let B=F.data;if(Z>B){let $=`Insuficcent permissions for app ${Y}. Current permission: ${L1[F.data]}, required for this action: ${L1[Z]}.`;if(!J)K.error($);throw Error($)}return F.data}var D8="assets/icon.png";var b40=/^[a-z0-9]+(\.[\w-]+)+$/i;function g40(D,X,Y){if(!X.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(D.includes("--")){if(!Y)K.error('The app id includes illegal symbols. You cannot use "--" in the app id');throw Error("App id includes illegal symbols")}if(!b40.test(D)){if(!Y)K.error(`Invalid app ID format: "${D}"`),K.info("App ID must be in reverse domain notation (e.g., com.example.app)"),K.info("Valid format: lowercase letters, numbers, dots, hyphens, and underscores"),K.info("Examples: com.mycompany.myapp, io.capgo.app, com.example.my-app");throw Error("Invalid app ID format")}}async function m40(D,X,Y){if(!await wk(D,X))return;if(X==="io.ionic.starter"){if(!Y)K.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)K.error(`App ${X} already exist`);throw Error(`App ${X} already exists`)}async function Fk(D,X,Y,Z=!1){if(!Z)q0("Adding");await o0(),X.apikey=X.apikey||Q0();let J=await H0(),Q=b0(D,J?.config);g40(Q,X,Z);let w=await K0(X.apikey,X.supaHost,X.supaAnon),F=await N0(w,X.apikey,["write","all"]);if(await m40(w,Q,Z),!Y)Y=await UJ(w,["admin","super_admin"]);let B=Y.gid,{name:q,icon:$}=X;if(q=q||J.config?.appName||"Unknown",$=$||"resources/icon.png",!$||!q){if(!Z)K.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)K.info(`Adding ${Q} to Capgo`);let G=null,W=null;if($&&n7.existsSync($)){if(G=n7.readFileSync($),W=X9($)||"image/png",!Z)K.warn(`Found app icon ${$}`)}else if(n7.existsSync(D8)){if(G=n7.readFileSync(D8),W=X9(D8)||"image/png",!Z)K.warn(`Found app icon ${D8}`)}else if(!Z)K.warn(`Cannot find app icon in any of the following locations: ${$}, ${D8}`);let O="icon",H="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(G&&W){let{error:U}=await w.storage.from(`images/org/${B}/${Q}`).upload(O,G,{contentType:W});if(U){if(!Z)console.error(U);if(!Z)K.error(`Could not add app ${p(U)}`);throw Error(`Could not add app ${p(U)}`)}let{data:N}=await w.storage.from(`images/org/${B}/${Q}`).getPublicUrl(O);H=N?.publicUrl||H}let{error:M}=await w.from("apps").insert({icon_url:H,owner_org:B,user_id:F,name:q,app_id:Q});if(M){if(!Z)K.error(`Could not add app ${p(M)}`);throw Error(`Could not add app ${p(M)}`)}if(await z0(X.apikey,{channel:"app",event:"App Created",icon:"\uD83C\uDD95",user_id:B,tags:{"app-id":Q},notify:!1,notifyConsole:!0}).catch(()=>{}),!Z)K.success(`App ${Q} added to Capgo`),K.info("This app is accessible to all members of your organization based on their permissions"),K.info(`Next step: upload a bundle with "npx @capgo/cli bundle upload ${Q}"`),$0("Done ✅");return{appId:Q,organizationUid:B,userId:F,name:q,signedURL:H}}async function Bk(D,X,Y=!1,Z=!1){if(!Y)q0("Deleting");X.apikey=X.apikey||Q0();let J=await H0(),Q=b0(D,J?.config);if(!X.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!Q){if(!Y)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let w=await K0(X.apikey,X.supaHost,X.supaAnon),F=await N0(w,X.apikey,["write","all"]);await CD(w,X.apikey,Q,5,Y);let{data:B,error:q}=await w.from("apps").select("owner_org ( created_by, id )").eq("app_id",Q).single(),$=B;if(!Z&&!q&&($?.owner_org.created_by??"")!==F)if(!Y){K.warn("Deleting the app is not recommended for users that are not the organization owner"),K.warn("You are invited as a super_admin but your are not the owner"),K.warn("It's strongly recommended that you do not continue!");let M=await M8({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(c0(M)||M==="no")throw K.error("Canceled deleting the app, exiting"),Error("App deletion cancelled")}else throw Error("Cannot delete app: you are not the organization owner");else if(q&&!Y)K.warn(`Cannot get the app owner ${p(q)}`);let{error:G}=await w.storage.from("images").remove([`org/${$?.owner_org.id}/${Q}/icon`]);if(G&&!Y)K.error("Could not delete app logo");let{error:W}=await w.storage.from(`apps/${Q}/${F}`).remove(["versions"]);if(W&&!Y)K.error("Could not delete app version");let{error:O}=await w.from("apps").delete().eq("app_id",Q);if(O){if(!Y)K.error("Could not delete app");throw Error(`Could not delete app: ${p(O)}`)}let H=await pD(w,Q);if(await z0(X.apikey,{channel:"app",event:"App Deleted",icon:"\uD83D\uDDD1️",user_id:H,tags:{"app-id":Q},notify:!1}).catch(()=>{}),!Y)K.success("App deleted in Capgo"),$0("Done ✅");return!0}var EJ=require("node:os"),$k=require("node:process");async function qk(D){let X={},Y=Object.keys(D);return(await Promise.all(Y.map((J)=>GZ(J)))).forEach((J,Q)=>{if(J)X[Y[Q]]=J}),X}async function d40(){let D=await HJ(),X={"@capgo/cli":o8.version};for(let[Y,Z]of D)if(Y.startsWith("@capgo/")||Y.startsWith("@capawesome/")||Y.startsWith("capacitor"))X[Y]=Z;return X}async function Gk(D,X=!1){if(!X)K.warn(" \uD83D\uDC8A Capgo Doctor \uD83D\uDC8A");let Y=await H0(),Z=D9("",D.packageJson),J=Y?.config?.plugins?.CapacitorUpdater?.version||Z,Q=Y?.config?.appName||"",w=b0("",Y?.config),F=Y?.config?.webDir||"";if(!X)K.info(` App Name: ${Q}`),K.info(` App ID: ${w}`),K.info(` App Version: ${J}`),K.info(` Web Dir: ${F}`),K.info(` OS: ${EJ.platform()} ${EJ.version()}`),K.info(` Node: ${$k.version}`),K.info(" Installed Dependencies:");let B=await d40();if(Object.keys(B).length===0){if(!X)K.warning("\x1B[31m%s\x1B[0m \uD83D\uDEA8 No dependencies found");throw Error("No dependencies found")}if(!X)for(let $ of Object.keys(B))K.info(` ${$}: ${B[$]}`);let q={};if(!X){let $=xD();$.start("Running: Loading latest dependencies"),q=await qk(B),$.stop("Latest Dependencies:");for(let G of Object.keys(q))K.info(` ${G}: ${q[G]}`)}else q=await qk(B);if(JSON.stringify(B)!==JSON.stringify(q)){if(!X)K.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)K.success("\x1B[32m✅ All dependencies are up to date\x1B[0m");return{appName:Q,appId:w,appVersion:J,webDir:F,installedDependencies:B,latestDependencies:q}}function c40(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,l7(Y.created_at)]);K.success("Apps"),K.success(X.toString())}async function l40(D,X){let{data:Y,error:Z}=await D.from("apps").select().order("created_at",{ascending:!1});if(Z){if(!X)K.error("Apps not found");throw Error("Apps not found")}return Y??[]}async function Ok(D,X=!1){if(!X)q0("List apps in Capgo");await o0(),D.apikey=D.apikey||Q0();let Y=await K0(D.apikey,D.supaHost,D.supaAnon);if(await N0(Y,D.apikey,["write","all","read","upload"]),!X)K.info("Getting active bundle in Capgo");let Z=await l40(Y,X);if(!Z.length){if(!X)K.error("No apps found");throw Error("No apps found")}if(!X)K.info(`Active app in Capgo: ${Z.length}`),c40(Z),$0("Done ✅");return Z}var Wk=require("node:crypto"),i7=require("node:fs");async function Hk(D,X,Y=!1){if(!Y)q0("Set app");X.apikey=X.apikey||Q0();let Z=await H0();if(D=b0(D,Z?.config),!X.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await K0(X.apikey,X.supaHost,X.supaAnon),w=(await UJ(J,["admin","super_admin"])).gid,F=await N0(J,X.apikey,["write","all"]);await CD(J,X.apikey,D,4,Y);let{name:B,icon:q,retention:$,exposeMetadata:G}=X;if($&&Number.isNaN(Number($))){if(!Y)K.error("retention value must be a number");throw Error("Retention value must be a number")}else if($&&$<0){if(!Y)K.error("retention value cannot be less than 0");throw Error("Retention value cannot be less than 0")}else if($&&$>=63113904){if(!Y)K.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,H=`icon_${Wk.randomUUID()}`,M="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(q&&i7.existsSync(q)){if(W=i7.readFileSync(q),O=X9(q)||"image/png",!Y)K.warn(`Found app icon ${q}`)}else if(i7.existsSync(D8)){if(W=i7.readFileSync(D8),O=X9(D8)||"image/png",!Y)K.warn(`Found app icon ${D8}`)}else if(!Y)K.warn(`Cannot find app icon in any of the following locations: ${q}, ${D8}`);if(W&&O){let{error:N}=await J.storage.from(`images/org/${w}/${D}`).upload(H,W,{contentType:O});if(N){if(!Y)K.error(`Could not set app ${p(N)}`);throw Error(`Could not set app: ${p(N)}`)}let{data:R}=await J.storage.from(`images/org/${w}/${D}`).getPublicUrl(H);M=R?.publicUrl||M}let{error:U}=await J.from("apps").update({icon_url:M,name:B,retention:!$?void 0:$*24*60*60,expose_metadata:G}).eq("app_id",D).eq("user_id",F);if(U){if(!Y)K.error(`Could not set app ${p(U)}`);throw Error(`Could not set app: ${p(U)}`)}if(await z0(X.apikey,{channel:"app",event:"App Updated",icon:"\uD83D\uDCDD",user_id:w,tags:{"app-id":D},notify:!1,notifyConsole:!0}).catch(()=>{}),!Y)$0("Done ✅");return!0}async function Kk(D,X,Y=!1){if(!Y)q0("Set a specific setting in capacitor config");if(X.bool&&X.string){if(!Y)K.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)K.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)K.error("Invalid bool");throw Error("Invalid bool value; expected true or false")}try{let Z=await H0(),J=Z.config,Q=D.split(".");if(Q.length===0){if(!Y)K.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 h7(Z,!0),!Y)K.success(`Set "${D}" to "${w}"`)}catch(Z){if(!Y)K.error(`Cannot set config in capacitor settings ${p(Z)}`);throw Error(`Cannot set capacitor config: ${p(Z)}`)}if(!Y)$0("Done ✅")}var d8=require("node:fs"),X8=require("node:fs/promises"),Vk=require("node:os"),Y8=require("node:path"),m$=require("node:process");var Uk=R0(Mw(),1),TJ=R0($Z(),1);var CJ=require("node:fs/promises"),zk=require("node:os"),jJ=require("node:path"),P0=require("node:process"),n40=jJ.join(zk.homedir(),".capgo-credentials"),i40=jJ.join(n40,"credentials.json"),p40=".capgo-credentials.json";function a40(D){return D?jJ.join(P0.cwd(),p40):i40}async function g$(D){try{let X=a40(D),Y=await CJ.readFile(X,"utf-8");return JSON.parse(Y)}catch{return{}}}async function t40(D,X){if(X!==void 0){let J=await g$(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 g$(!0),Z=await g$(!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 r40(){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 Mk(D,X,Y){let Z=await t40(D),J=r40(),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 s40(D,X,Y=3,Z=!1){let J=[1000,3000,5000];for(let Q=1;Q<=Y;Q++)try{let w=await fetch(D,X);if(w.ok||w.status>=400&&w.status<500)return w;let F=await w.text().catch(()=>"unknown error");if(!Z)K.warn(`Build request attempt ${Q}/${Y} failed: ${w.status} - ${F}`);if(Q<Y){let B=J[Q-1]||5000;if(!Z)K.info(`Retrying in ${B/1000}s...`);await new Promise((q)=>setTimeout(q,B))}else throw Error(`Failed to request build after ${Y} attempts: ${w.status} - ${F}`)}catch(w){let F=w instanceof Error?w.message:String(w);if(F.startsWith("Failed to request build after"))throw w;if(!Z)K.warn(`Build request attempt ${Q}/${Y} failed: ${F}`);if(Q<Y){let B=J[Q-1]||5000;if(!Z)K.info(`Retrying in ${B/1000}s...`);await new Promise((q)=>setTimeout(q,B))}else throw Error(`Failed to request build after ${Y} attempts: ${F}`)}throw Error("Unexpected error in fetchWithRetry")}async function o40(D,X,Y,Z,J,Q=!1){if(J)return null;let w=null,F=!1,B=`${D}/build/logs/${X}?app_id=${encodeURIComponent(Y)}`;K.info(`Connecting to log stream: ${B}`);try{let q=await fetch(B,{headers:{authorization:Z}});if(K.info(`Log stream response: ${q.status}`),!q.ok){let H=await q.text().catch(()=>"unknown error");return K.warn(`Could not stream logs (${q.status}): ${H}`),null}let $=q.body?.getReader();if(!$)return K.warn("No response body for log stream"),null;K.info("Reading log stream...");let G=new TextDecoder,W="",O=(H)=>{if(!H.trim())return;let M=H.match(/^(?:Build|Job already) (succeeded|failed|expired|released|cancelled)$/i);if(M){w=M[1].toLowerCase();return}if(w)return;if(!F)F=!0,K.info("");K.info(H)};while(!0){let{done:H,value:M}=await $.read();if(H)break;W+=G.decode(M,{stream:!0});let U=W.split(`
|
|
380
|
+
`);W=U.pop()||"";for(let N of U)if(N.startsWith("data: ")){let R=N.slice(6);O(R)}}if(W.startsWith("data: ")){let H=W.slice(6);O(H)}return w}catch(q){if(!J)K.warn(`Log streaming interrupted${q instanceof Error?`: ${q.message}`:""}`);return null}}async function e40(D,X,Y,Z,J,Q){let F=0;while(F<120)try{let B=await fetch(`${D}/build/status?job_id=${encodeURIComponent(X)}&app_id=${encodeURIComponent(Y)}&platform=${Z}`,{headers:{authorization:J}});if(!B.ok){if(!Q)K.warn(`Status check failed: ${B.status}`);await new Promise(($)=>setTimeout($,5000)),F++;continue}let q=await B.json();if(q.status==="succeeded"||q.status==="failed")return q.status;await new Promise(($)=>setTimeout($,5000)),F++}catch(B){if(!Q)K.warn(`Status check error: ${B}`);await new Promise((q)=>setTimeout(q,5000)),F++}if(!Q)K.warn("Build status polling timed out");return"timeout"}async function D30(D,X){let Y=new Set,Z=!1;if(X==="ios"){let J=Y8.join(D,"ios/App/CapApp-SPM/Package.swift");if(d8.existsSync(J)){Z=!0;let w=(await X8.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=Y8.join(D,"ios/App/Podfile");if(d8.existsSync(Q)){let F=(await X8.readFile(Q,"utf-8")).matchAll(/pod\s+['"][^'"]+['"],\s*:path\s*=>\s*['"]\.\.\/\.\.\/node_modules\/([^'"]+)['"]/g);for(let B of F)Y.add(B[1])}}}else if(X==="android"){let J=Y8.join(D,"android/capacitor.settings.gradle");if(d8.existsSync(J)){let w=(await X8.readFile(J,"utf-8")).matchAll(/new\s+File\s*\(\s*['"]\.\.\/node_modules\/([^'"]+)['"]\s*\)/g);for(let F of w){let q=F[1].replace(/\/android$/,"");Y.add(q)}}}return{packages:Y,usesSPM:Z}}function Lk(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 YX(D,X,Y,Z,J){let Q=d8.readdirSync(X);for(let w of Q){let F=Y8.join(X,w),B=Y?`${Y}/${w}`:w,q=d8.statSync(F);if(q.isDirectory()){if(w===".git"||w==="dist"||w==="build"||w===".angular"||w===".vite"||w===".gradle"||w===".idea"||w===".swiftpm")continue;if(w===Z){YX(D,F,B,Z,J);continue}if(w==="node_modules"){YX(D,F,B,Z,J);continue}if(w==="resources"){YX(D,F,B,Z,J);continue}let $=B.replace(/\\/g,"/");if(Lk(B,Z,J)||Array.from(J.packages).some((W)=>{return`node_modules/${W}/`.startsWith(`${$}/`)||$.startsWith(`node_modules/${W}`)}))YX(D,F,B,Z,J)}else if(q.isFile()){if(w===".DS_Store"||w.endsWith(".log"))continue;if(Lk(B,Z,J))D.addLocalFile(F,Y||void 0)}}}async function X30(D,X,Y){let Z=await D30(D,Y),J=new Uk.default;YX(J,D,"",Y,Z),await X8.writeFile(X,J.toBuffer())}async function Nk(D,X,Y=!1){let Z=Date.now(),J=X.verbose??!1;try{X.apikey=X.apikey||Q0(Y);let Q=await H0();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=Y8.resolve(X.path||m$.cwd()),F=X.supaHost||"https://api.capgo.app",B=await K0(X.apikey,X.supaHost,X.supaAnon);await N0(B,X.apikey,["write","all"]);let q=await pD(B,D);if(!Y)K.info(`Requesting native build for ${D}`),K.info(`Platform: ${X.platform}`),K.info(`Project: ${w}`),K.info(`
|
|
381
381
|
\uD83D\uDD12 Security: Credentials are never stored on Capgo servers`),K.info(" They are used only during build and deleted after"),K.info(` Builds sent directly to app stores - Capgo keeps nothing
|
|
382
|
-
`);if(J)K.info(`API host: ${F}`);let $={};if(X.buildCertificateBase64)$.BUILD_CERTIFICATE_BASE64=X.buildCertificateBase64;if(X.buildProvisionProfileBase64)$.BUILD_PROVISION_PROFILE_BASE64=X.buildProvisionProfileBase64;if(X.buildProvisionProfileBase64Prod)$.BUILD_PROVISION_PROFILE_BASE64_PROD=X.buildProvisionProfileBase64Prod;if(X.p12Password)$.P12_PASSWORD=X.p12Password;if(X.appleKeyId)$.APPLE_KEY_ID=X.appleKeyId;if(X.appleIssuerId)$.APPLE_ISSUER_ID=X.appleIssuerId;if(X.appleKeyContent)$.APPLE_KEY_CONTENT=X.appleKeyContent;if(X.appleProfileName)$.APPLE_PROFILE_NAME=X.appleProfileName;if(X.appStoreConnectTeamId)$.APP_STORE_CONNECT_TEAM_ID=X.appStoreConnectTeamId;if(X.androidKeystoreFile)$.ANDROID_KEYSTORE_FILE=X.androidKeystoreFile;if(X.keystoreKeyAlias)$.KEYSTORE_KEY_ALIAS=X.keystoreKeyAlias;let G=!!X.keystoreKeyPassword,W=!!X.keystoreStorePassword;if(G&&!W)$.KEYSTORE_KEY_PASSWORD=X.keystoreKeyPassword,$.KEYSTORE_STORE_PASSWORD=X.keystoreKeyPassword;else if(!G&&W)$.KEYSTORE_KEY_PASSWORD=X.keystoreStorePassword,$.KEYSTORE_STORE_PASSWORD=X.keystoreStorePassword;else if(G&&W)$.KEYSTORE_KEY_PASSWORD=X.keystoreKeyPassword,$.KEYSTORE_STORE_PASSWORD=X.keystoreStorePassword;if(X.playConfigJson)$.PLAY_CONFIG_JSON=X.playConfigJson;let O=await Mk(D,X.platform,Object.keys($).length>0?$:void 0),H={app_id:D,platform:X.platform,build_mode:X.buildMode};if(!O){if(!Y)K.error("❌ No credentials found for this app and platform"),K.error(""),K.error("You must provide credentials via:"),K.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),K.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),K.error(" 3. Saved credentials file:"),K.error(` npx @capgo/cli build credentials save --appId ${D} --platform ${X.platform}`),K.error(""),K.error("Documentation:"),K.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)K.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),K.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)K.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(M.length>0){if(!Y){K.error(`❌ Missing required credentials for ${X.platform}:`),K.error("");for(let L of M)K.error(` • ${L}`);K.error(""),K.error("Provide credentials via:"),K.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),K.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),K.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),K.error(""),K.error("Documentation:"),K.error(` https://capgo.app/docs/cli/cloud-build/${X.platform}/`)}throw Error(`Missing required credentials for ${X.platform}: ${M.join(", ")}`)}if(H.credentials=O,!Y)K.info("✓ Using credentials (merged from CLI args, env vars, and saved file)");if(J){let L=Object.keys(O).filter((C)=>O[C]);K.info(`Credentials provided: ${L.join(", ")}`)}if(!Y)K.info("Requesting build from Capgo...");let U=3,N=await s40(`${F}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:X.apikey},body:JSON.stringify(H)},U,Y);if(!N.ok){let L=await N.text();throw Error(`Failed to request build: ${N.status} - ${L}`)}let R=await N.json();if(!Y)K.success(`Build job created: ${R.job_id}`),K.info(`Status: ${R.status}`);if(J)K.info(`Upload URL: ${R.upload_url}`),K.info(`Upload expires: ${R.upload_expires_at}`);await A0(X.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:q,tags:{"app-id":D,platform:X.platform},notify:!1}).catch();let z=Y8.join(Vk.tmpdir(),`capgo-build-${Date.now()}`);await X8.mkdir(z,{recursive:!0});let V=Y8.join(z,`${Y8.basename(w)}.zip`);try{if(!Y)K.info(`Zipping ${X.platform} project from ${w}...`);await X30(w,V,X.platform);let C=((await X8.stat(V)).size/1024/1024).toFixed(2);if(!Y)K.success(`Created zip: ${V} (${C} MB)`);if(!Y)K.info("Uploading to builder...");if(J)K.info(`Upload endpoint: ${R.upload_url}`),K.info(`File size: ${C} MB`),K.info(`Job ID: ${R.job_id}`);let y=d8.readFileSync(V),A=xD();if(!Y)A.start("Uploading bundle");if(await new Promise((n,h)=>{let E=new TJ.Upload(y,{endpoint:R.upload_url,chunkSize:5242880,metadata:{filename:Y8.basename(V),filetype:"application/zip"},headers:{authorization:X.apikey},onBeforeRequest(P){if(J){K.info(`[TUS] ${P.getMethod()} ${P.getURL()}`);let x=P.getHeader("authorization");K.info(`[TUS] Authorization header present: ${!!x}`)}},onAfterResponse(P,x){if(J){K.info(`[TUS] Response status: ${x.getStatus()}`);let _=x.getHeader("upload-offset"),g=x.getHeader("tus-resumable");K.info(`[TUS] Upload-Offset: ${_}, Tus-Resumable: ${g}`)}},onError(P){if(!Y)A.stop("Upload failed"),K.error(`Upload error: ${P.message}`);if(P instanceof TJ.DetailedError){let x=P.originalResponse?.getBody(),_=P.originalResponse?.getStatus(),g=P.originalRequest?.getURL();if(J)K.error(`[TUS] Request URL: ${g}`),K.error(`[TUS] Response status: ${_}`),K.error(`[TUS] Response body: ${x}`);let m="Unknown error";try{let a=JSON.parse(x||'{"error": "unknown error"}');m=a.status||a.error||a.message||"unknown error"}catch{m=x||P.message}h(Error(`TUS upload failed: ${m}`))}else h(Error(`TUS upload failed: ${P.message||P.toString()}`))},onProgress(P,x){let _=(P/x*100).toFixed(2);if(!Y)A.message(`Uploading ${_}%`)},onSuccess(){if(!Y)A.stop("Upload complete!");if(J)K.success("TUS upload completed successfully");n()}});if(J)K.info("[TUS] Starting upload...");E.start()}),!Y)K.info("Starting build job...");let k=await fetch(`${F}/build/start/${R.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:X.apikey},body:JSON.stringify({app_id:D})});if(!k.ok){let n=await k.text();throw Error(`Failed to start build: ${k.status} - ${n}`)}let f=await k.json();if(!Y)K.success("Build started!"),K.info("Streaming build logs...");let S,v=await o40(F,R.job_id,D,X.apikey,Y,J);if(v)S=v;else S=await e40(F,R.job_id,D,X.platform,X.apikey,Y);if(!Y)if(S==="succeeded")K.success("Build completed successfully!");else if(S==="failed")K.error("Build failed");else K.warn(`Build finished with status: ${S}`);let b=((Date.now()-Z)/1000).toFixed(2);return await A0(X.apikey,{channel:"native-builder",event:S==="succeeded"?"Build succeeded":"Build failed",icon:S==="succeeded"?"✅":"❌",user_id:q,tags:{"app-id":D,platform:X.platform,status:S||"unknown",time:b},notify:!1}).catch(),{success:S==="succeeded",jobId:R.job_id,uploadUrl:R.upload_url,status:S||f.status||R.status}}finally{await X8.rm(z,{recursive:!0,force:!0})}}catch(Q){let w=Q instanceof Error?Q.message:String(Q);if(!Y)K.error(w);return{success:!1,error:w}}}async function Y30(D,X,Y,Z){for await(let J of D){if(!Z)K.warn(`Removing ${J.name} created on ${l7(J.created_at)}`);await RJ(X,Y,J.name)}}function Z30(D,X,Y){let Z=[];for(let J of D??[]){let Q=i0(J.name);if(zQ(Q,X)&&q9(Q,Y))Z.push(J)}return Z}async function Rk(D,X,Y=!1){if(!Y)q0("Cleanup versions in Capgo");await o0(),X.apikey=X.apikey||Q0();let{bundle:Z,keep:J=4}=X,Q=X.force||!1,w=X.ignoreChannel||!1,F=await H0();if(D=b0(D,F?.config),!X.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to delete your app");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide a appid, or be in a capacitor project");throw Error("Missing appId")}let B=await K0(X.apikey,X.supaHost,X.supaAnon);if(await _D(B,D,Y),await U0(B,X.apikey,["write","all"]),await CD(B,X.apikey,D,3,Y,!0),!Y)K.info("Querying all available versions in Capgo");let q=await AJ(B,D),$=await Qk(B,D);if(!Y)K.info(`Total active versions in Capgo: ${q?.length??0}`);if(!q?.length){if(!Y)K.error("No versions found, aborting cleanup");throw Error("No versions found")}if(Z){let O=i0(Z),H=B4(O,"major");if(!Y)K.info(`Querying available versions in Capgo between ${Q8(O)} and ${Q8(H)}`);if(q=Z30(q,O,H),!Y)K.info(`Active versions in Capgo between ${Q8(O)} and ${Q8(H)}: ${q?.length??0}`)}let G=[],W=0;for(let O of q){let H=$.find((M)=>M===O.id);if(W<J||H&&!w)O.keep=H?"✅ (Linked to channel)":"✅",W+=1;else O.keep="❌",G.push(O)}if(!G.length){if(!Y)K.warn("Nothing to be removed, aborting removal...");return{removed:0,kept:W}}if(!Y)Jk(q);if(!Q)if(!Y){let O=await sD({message:"Do you want to continue removing the versions specified?"});if(c0(O)||!O)throw K.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)K.success("You have confirmed removal, removing versions now");if(await Y30(G,B,D,Y),!Y)$0("Done ✅");return{removed:G.length,kept:W}}async function Ak(D,X,Y=!1){if(!Y)q0("Check compatibility");let Z={...X,apikey:X.apikey||Q0()},J=D?void 0:await H0(),Q=b0(D,J?.config),w=Z.channel;if(!w){if(!Y)K.error("Missing argument, you need to provide a channel");throw Error("Missing channel")}if(!Z.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to access Capgo Cloud metadata");throw Error("Missing API key")}if(!Q){if(!Y)K.error("Missing argument, you need to provide an appId, or be in a capacitor project");throw Error("Missing appId")}let F=await K0(Z.apikey,Z.supaHost,Z.supaAnon);await _D(F,Q,Y),await U0(F,Z.apikey,["write","all","read","upload"]),await CD(F,Z.apikey,Q,1,Y,!0);let B=await NJ(F,Q,w,Z.packageJson,Z.nodeModules),q=B.finalCompatibility.some(($)=>!Y9($));if(!Y){let $=new MD;$.headers=["Package","Local","Remote","Status","Details"],$.theme=MD.roundTheme,$.rows=[];let G=Z.text?"OK":"✅",W=Z.text?"FAIL":"❌";for(let O of B.finalCompatibility){let{name:H,localVersion:M,remoteVersion:U}=O,N=$5(O),R=N.compatible?G:W;$.rows.push([H,M||"-",U||"-",R,N.message])}if(K.success("Compatibility Check Results"),K.info($.toString()),q){let O=B.finalCompatibility.filter((H)=>!Y9(H)).length;K.warn(`
|
|
382
|
+
`);if(J)K.info(`API host: ${F}`);let $={};if(X.buildCertificateBase64)$.BUILD_CERTIFICATE_BASE64=X.buildCertificateBase64;if(X.buildProvisionProfileBase64)$.BUILD_PROVISION_PROFILE_BASE64=X.buildProvisionProfileBase64;if(X.buildProvisionProfileBase64Prod)$.BUILD_PROVISION_PROFILE_BASE64_PROD=X.buildProvisionProfileBase64Prod;if(X.p12Password)$.P12_PASSWORD=X.p12Password;if(X.appleKeyId)$.APPLE_KEY_ID=X.appleKeyId;if(X.appleIssuerId)$.APPLE_ISSUER_ID=X.appleIssuerId;if(X.appleKeyContent)$.APPLE_KEY_CONTENT=X.appleKeyContent;if(X.appleProfileName)$.APPLE_PROFILE_NAME=X.appleProfileName;if(X.appStoreConnectTeamId)$.APP_STORE_CONNECT_TEAM_ID=X.appStoreConnectTeamId;if(X.androidKeystoreFile)$.ANDROID_KEYSTORE_FILE=X.androidKeystoreFile;if(X.keystoreKeyAlias)$.KEYSTORE_KEY_ALIAS=X.keystoreKeyAlias;let G=!!X.keystoreKeyPassword,W=!!X.keystoreStorePassword;if(G&&!W)$.KEYSTORE_KEY_PASSWORD=X.keystoreKeyPassword,$.KEYSTORE_STORE_PASSWORD=X.keystoreKeyPassword;else if(!G&&W)$.KEYSTORE_KEY_PASSWORD=X.keystoreStorePassword,$.KEYSTORE_STORE_PASSWORD=X.keystoreStorePassword;else if(G&&W)$.KEYSTORE_KEY_PASSWORD=X.keystoreKeyPassword,$.KEYSTORE_STORE_PASSWORD=X.keystoreStorePassword;if(X.playConfigJson)$.PLAY_CONFIG_JSON=X.playConfigJson;let O=await Mk(D,X.platform,Object.keys($).length>0?$:void 0),H={app_id:D,platform:X.platform,build_mode:X.buildMode};if(!O){if(!Y)K.error("❌ No credentials found for this app and platform"),K.error(""),K.error("You must provide credentials via:"),K.error(" 1. CLI arguments (--apple-key-id, --p12-password, etc.)"),K.error(" 2. Environment variables (APPLE_KEY_ID, P12_PASSWORD, etc.)"),K.error(" 3. Saved credentials file:"),K.error(` npx @capgo/cli build credentials save --appId ${D} --platform ${X.platform}`),K.error(""),K.error("Documentation:"),K.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)K.warn("⚠️ P12_PASSWORD not provided - assuming certificate has no password"),K.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)K.warn("⚠️ PLAY_CONFIG_JSON not provided - build will succeed but cannot auto-upload to Play Store")}if(M.length>0){if(!Y){K.error(`❌ Missing required credentials for ${X.platform}:`),K.error("");for(let L of M)K.error(` • ${L}`);K.error(""),K.error("Provide credentials via:"),K.error(' 1. CLI arguments: npx @capgo/cli build request --platform ios --apple-id "..." --p12-password "..."'),K.error(' 2. Environment variables: export APPLE_ID="..." P12_PASSWORD="..."'),K.error(" 3. Saved credentials: npx @capgo/cli build credentials save --platform ios ..."),K.error(""),K.error("Documentation:"),K.error(` https://capgo.app/docs/cli/cloud-build/${X.platform}/`)}throw Error(`Missing required credentials for ${X.platform}: ${M.join(", ")}`)}if(H.credentials=O,!Y)K.info("✓ Using credentials (merged from CLI args, env vars, and saved file)");if(J){let L=Object.keys(O).filter((C)=>O[C]);K.info(`Credentials provided: ${L.join(", ")}`)}if(!Y)K.info("Requesting build from Capgo...");let U=3,N=await s40(`${F}/build/request`,{method:"POST",headers:{"Content-Type":"application/json",authorization:X.apikey},body:JSON.stringify(H)},U,Y);if(!N.ok){let L=await N.text();throw Error(`Failed to request build: ${N.status} - ${L}`)}let R=await N.json();if(!Y)K.success(`Build job created: ${R.job_id}`),K.info(`Status: ${R.status}`);if(J)K.info(`Upload URL: ${R.upload_url}`),K.info(`Upload expires: ${R.upload_expires_at}`);await z0(X.apikey,{channel:"native-builder",event:"Build requested",icon:"\uD83C\uDFD7️",user_id:q,tags:{"app-id":D,platform:X.platform},notify:!1}).catch();let z=Y8.join(Vk.tmpdir(),`capgo-build-${Date.now()}`);await X8.mkdir(z,{recursive:!0});let V=Y8.join(z,`${Y8.basename(w)}.zip`);try{if(!Y)K.info(`Zipping ${X.platform} project from ${w}...`);await X30(w,V,X.platform);let C=((await X8.stat(V)).size/1024/1024).toFixed(2);if(!Y)K.success(`Created zip: ${V} (${C} MB)`);if(!Y)K.info("Uploading to builder...");if(J)K.info(`Upload endpoint: ${R.upload_url}`),K.info(`File size: ${C} MB`),K.info(`Job ID: ${R.job_id}`);let y=d8.readFileSync(V),A=xD();if(!Y)A.start("Uploading bundle");if(await new Promise((n,h)=>{let E=new TJ.Upload(y,{endpoint:R.upload_url,chunkSize:5242880,metadata:{filename:Y8.basename(V),filetype:"application/zip"},headers:{authorization:X.apikey},onBeforeRequest(P){if(J){K.info(`[TUS] ${P.getMethod()} ${P.getURL()}`);let x=P.getHeader("authorization");K.info(`[TUS] Authorization header present: ${!!x}`)}},onAfterResponse(P,x){if(J){K.info(`[TUS] Response status: ${x.getStatus()}`);let _=x.getHeader("upload-offset"),g=x.getHeader("tus-resumable");K.info(`[TUS] Upload-Offset: ${_}, Tus-Resumable: ${g}`)}},onError(P){if(!Y)A.stop("Upload failed"),K.error(`Upload error: ${P.message}`);if(P instanceof TJ.DetailedError){let x=P.originalResponse?.getBody(),_=P.originalResponse?.getStatus(),g=P.originalRequest?.getURL();if(J)K.error(`[TUS] Request URL: ${g}`),K.error(`[TUS] Response status: ${_}`),K.error(`[TUS] Response body: ${x}`);let m="Unknown error";try{let a=JSON.parse(x||'{"error": "unknown error"}');m=a.status||a.error||a.message||"unknown error"}catch{m=x||P.message}h(Error(`TUS upload failed: ${m}`))}else h(Error(`TUS upload failed: ${P.message||P.toString()}`))},onProgress(P,x){let _=(P/x*100).toFixed(2);if(!Y)A.message(`Uploading ${_}%`)},onSuccess(){if(!Y)A.stop("Upload complete!");if(J)K.success("TUS upload completed successfully");n()}});if(J)K.info("[TUS] Starting upload...");E.start()}),!Y)K.info("Starting build job...");let k=await fetch(`${F}/build/start/${R.job_id}`,{method:"POST",headers:{"Content-Type":"application/json",authorization:X.apikey},body:JSON.stringify({app_id:D})});if(!k.ok){let n=await k.text();throw Error(`Failed to start build: ${k.status} - ${n}`)}let f=await k.json();if(!Y)K.success("Build started!"),K.info("Streaming build logs...");let S,v=await o40(F,R.job_id,D,X.apikey,Y,J);if(v)S=v;else S=await e40(F,R.job_id,D,X.platform,X.apikey,Y);if(!Y)if(S==="succeeded")K.success("Build completed successfully!");else if(S==="failed")K.error("Build failed");else K.warn(`Build finished with status: ${S}`);let b=((Date.now()-Z)/1000).toFixed(2);return await z0(X.apikey,{channel:"native-builder",event:S==="succeeded"?"Build succeeded":"Build failed",icon:S==="succeeded"?"✅":"❌",user_id:q,tags:{"app-id":D,platform:X.platform,status:S||"unknown",time:b},notify:!1}).catch(),{success:S==="succeeded",jobId:R.job_id,uploadUrl:R.upload_url,status:S||f.status||R.status}}finally{await X8.rm(z,{recursive:!0,force:!0})}}catch(Q){let w=Q instanceof Error?Q.message:String(Q);if(!Y)K.error(w);return{success:!1,error:w}}}async function Y30(D,X,Y,Z){for await(let J of D){if(!Z)K.warn(`Removing ${J.name} created on ${l7(J.created_at)}`);await RJ(X,Y,J.name)}}function Z30(D,X,Y){let Z=[];for(let J of D??[]){let Q=i0(J.name);if(zQ(Q,X)&&q9(Q,Y))Z.push(J)}return Z}async function Rk(D,X,Y=!1){if(!Y)q0("Cleanup versions in Capgo");await o0(),X.apikey=X.apikey||Q0();let{bundle:Z,keep:J=4}=X,Q=X.force||!1,w=X.ignoreChannel||!1,F=await H0();if(D=b0(D,F?.config),!X.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to delete your app");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide a appid, or be in a capacitor project");throw Error("Missing appId")}let B=await K0(X.apikey,X.supaHost,X.supaAnon);if(await _D(B,D,Y),await N0(B,X.apikey,["write","all"]),await CD(B,X.apikey,D,3,Y,!0),!Y)K.info("Querying all available versions in Capgo");let q=await AJ(B,D),$=await Qk(B,D);if(!Y)K.info(`Total active versions in Capgo: ${q?.length??0}`);if(!q?.length){if(!Y)K.error("No versions found, aborting cleanup");throw Error("No versions found")}if(Z){let O=i0(Z),H=B4(O,"major");if(!Y)K.info(`Querying available versions in Capgo between ${Q8(O)} and ${Q8(H)}`);if(q=Z30(q,O,H),!Y)K.info(`Active versions in Capgo between ${Q8(O)} and ${Q8(H)}: ${q?.length??0}`)}let G=[],W=0;for(let O of q){let H=$.find((M)=>M===O.id);if(W<J||H&&!w)O.keep=H?"✅ (Linked to channel)":"✅",W+=1;else O.keep="❌",G.push(O)}if(!G.length){if(!Y)K.warn("Nothing to be removed, aborting removal...");return{removed:0,kept:W}}if(!Y)Jk(q);if(!Q)if(!Y){let O=await oD({message:"Do you want to continue removing the versions specified?"});if(c0(O)||!O)throw K.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)K.success("You have confirmed removal, removing versions now");if(await Y30(G,B,D,Y),!Y)$0("Done ✅");return{removed:G.length,kept:W}}async function Ak(D,X,Y=!1){if(!Y)q0("Check compatibility");let Z={...X,apikey:X.apikey||Q0()},J=D?void 0:await H0(),Q=b0(D,J?.config),w=Z.channel;if(!w){if(!Y)K.error("Missing argument, you need to provide a channel");throw Error("Missing channel")}if(!Z.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to access Capgo Cloud metadata");throw Error("Missing API key")}if(!Q){if(!Y)K.error("Missing argument, you need to provide an appId, or be in a capacitor project");throw Error("Missing appId")}let F=await K0(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 B=await NJ(F,Q,w,Z.packageJson,Z.nodeModules),q=B.finalCompatibility.some(($)=>!Y9($));if(!Y){let $=new MD;$.headers=["Package","Local","Remote","Status","Details"],$.theme=MD.roundTheme,$.rows=[];let G=Z.text?"OK":"✅",W=Z.text?"FAIL":"❌";for(let O of B.finalCompatibility){let{name:H,localVersion:M,remoteVersion:U}=O,N=$5(O),R=N.compatible?G:W;$.rows.push([H,M||"-",U||"-",R,N.message])}if(K.success("Compatibility Check Results"),K.info($.toString()),q){let O=B.finalCompatibility.filter((H)=>!Y9(H)).length;K.warn(`
|
|
383
383
|
${O} package(s) are incompatible with channel "${w}"`),K.warn("An app store update may be required for these changes to take effect.")}else K.success(`
|
|
384
|
-
All packages are compatible with channel "${w}"`)}return{finalCompatibility:B.finalCompatibility,hasIncompatible:q,resolvedAppId:Q,channel:w}}var M6=require("node:fs"),Sk=require("node:process");var c8=require("node:buffer"),vD=require("node:crypto"),Ek="aes-128-cbc",z6="base64",IJ="hex",p7=vD.constants.RSA_PKCS1_PADDING;function PJ(D){let X=vD.randomBytes(16),Y=vD.randomBytes(16),Z=X.toString(z6),J=vD.privateEncrypt({key:D,padding:p7},Y).toString(z6);return{sessionKey:Y,ivSessionKey:`${Z}:${J}`}}function a7(D,X,Y){let[Z]=Y.split(":"),J=c8.Buffer.from(Z,z6),Q=vD.createCipheriv(Ek,X,J);return Q.setAutoPadding(!0),c8.Buffer.concat([Q.update(D),Q.final()])}function Ck(D,X,Y){let[Z,J]=X.split(":"),Q=vD.publicDecrypt({key:Y,padding:p7},c8.Buffer.from(J,z6)),w=c8.Buffer.from(Z,z6),F=vD.createDecipheriv(Ek,Q,w);return F.setAutoPadding(!0),c8.Buffer.concat([F.update(D),F.final()])}function t7(D,X){return vD.privateEncrypt({key:X,padding:p7},c8.Buffer.from(D,z6)).toString(z6)}function r7(D,X){return vD.privateEncrypt({key:X,padding:p7},c8.Buffer.from(D,IJ)).toString(IJ)}function jk(D,X){return vD.publicDecrypt({key:X,padding:p7},c8.Buffer.from(D,z6)).toString(z6)}function Tk(D,X){return vD.publicDecrypt({key:X,padding:p7},c8.Buffer.from(D,IJ)).toString(IJ)}function Ik(){let{publicKey:D,privateKey:X}=vD.generateKeyPairSync("rsa",{modulusLength:2048});return{publicKey:D.export({type:"pkcs1",format:"pem"}),privateKey:X.export({type:"pkcs1",format:"pem"})}}function Pk(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)}var J30="5.30.0",Q30="6.30.0",w30="7.30.0";function F30(D,X){let Y=D.key||K6,Z=X.config.plugins?.CapacitorUpdater?.publicKey;if(M6.existsSync(Y))Z=M6.readFileSync(Y,"utf8");else if(!Z&&D.keyData)Z=D.keyData;return{publicKey:Z,fallbackKeyPath:Y}}async function xk(D,X,Y,Z=!1){if(!Z)q0("Decrypt zip file");try{if(await o0(),!M6.existsSync(D)){let G=`Zip not found at the path ${D}`;if(!Z)K.error(G);throw Error(G)}let J=await H0();if(!Y.key&&!M6.existsSync(K6)&&!J.config.plugins?.CapacitorUpdater?.publicKey){let G=`Public Key not found at the path ${K6} or in ${J.path}`;if(!Z)K.error(G);throw Error(G)}let{publicKey:Q,fallbackKeyPath:w}=F30(Y,J);if(!Q){let G=`Cannot find public key ${w} or as keyData option or in ${J.path}`;if(!Z)K.error(G);throw Error(G)}let F=M6.readFileSync(D),B=Ck(F,X,Y.keyData??Q),q=`${D}_decrypted.zip`;if(M6.writeFileSync(q,B),!Z)K.info(`Decrypted zip file at ${q}`);let $;if(Y.checksum){let G=await y6(B,"sha256"),W=tD(Sk.cwd()),O=await o1("@capgo/capacitor-updater",W,Y.packageJson),H=!1,M;try{M=O?i0(O):void 0}catch{M=void 0}if(M)H=!e1(M,J30,Q30,w30);if(!Z)K.info(`Decrypting checksum with ${H?"V3":"V2"} (based on updater version ${O||"unknown"})`);let U=H?Tk(Y.checksum,Y.keyData??Q):jk(Y.checksum,Y.keyData??Q);if($=G===U,!$){let N=`Checksum does not match ${G} !== ${U}`;if(!Z)K.error(N);throw Error(N)}if(!Z)K.info("Checksum matches")}if(!Z)$0("✅ done");return{outputPath:q,checksumMatches:$}}catch(J){if(!Z)K.error(`Error decrypting zip file ${p(J)}`);throw J instanceof Error?J:Error(String(J))}}async function fk(D,X,Y,Z=!1){if(!Z)q0("Delete bundle");Y.apikey=Y.apikey||Q0();let J=await H0();if(X=b0(X,J?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(!D){if(!Z)K.error("Missing argument, you need to provide a bundleId, or be in a capacitor project");throw Error("Missing bundleId")}let Q=await K0(Y.apikey,Y.supaHost,Y.supaAnon);if(await _D(Q,X,Z),await U0(Q,Y.apikey,["write","all"]),await CD(Q,Y.apikey,X,3,Z,!0),!Z)K.info(`Deleting bundle ${X}@${D} from Capgo`),K.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever");if(await RJ(Q,X,D),!Z)K.success(`Bundle ${X}@${D} deleted in Capgo`),$0("Done");return!0}var L6=require("node:fs"),yk=require("node:process");var B30="5.30.0",q30="6.30.0",$30="7.30.0";function ZX(D){console.error(p(D))}async function kk(D,X,Y,Z=!1){let{json:J}=Y,Q=!J&&!Z;if(Q)q0("Encryption"),await o0();try{let w=await H0(),F=!!w.config.plugins?.CapacitorUpdater?.privateKey,B=!!w.config.plugins?.CapacitorUpdater?.publicKey;if(F&&Q)K.warning("There is still a privateKey in the config");if(!L6.existsSync(D)){let L=`Zip not found at the path ${D}`;if(!Z)if(J)ZX({error:"zip_not_found"});else K.error(`Error: ${L}`);throw Error(L)}if(!B){if(!Z)if(J)ZX({error:"missing_public_key"});else K.warning("Warning: Missing Public Key in config");throw Error("Missing public key in config")}let q=Y.key||v1,$=Y.keyData||"";if(!L6.existsSync(q)&&!$){if(!Z)if(J)ZX({error:"missing_key"});else K.warning(`Cannot find a private key at ${q} or as a keyData option`),K.error("Error: Missing key");throw Error("Missing private key")}else if(L6.existsSync(q))$=L6.readFileSync(q,"utf8");if($&&!$.startsWith("-----BEGIN RSA PRIVATE KEY-----")){if(!Z)if(J)ZX({error:"invalid_private_key"});else K.error("The private key provided is not a valid RSA Private key");throw Error("Invalid private key format")}let G=L6.readFileSync(D),{sessionKey:W,ivSessionKey:O}=PJ($),H=a7(G,W,O),M=tD(yk.cwd()),U=await o1("@capgo/capacitor-updater",M,Y.packageJson),N=!1,R;try{R=U?i0(U):void 0}catch{R=void 0}if(R)N=!e1(R,B30,q30,$30);let z=N?r7(X,$):t7(X,$);if(Q)K.info(`Encrypting checksum with ${N?"V3":"V2"} (based on updater version ${U||"unknown"})`);let V=`${D}_encrypted.zip`;if(L6.writeFileSync(V,H),!Z)if(J)console.log(JSON.stringify({checksum:z,filename:V,ivSessionKey:O},null,2));else K.success(`Encoded Checksum: ${z}`),K.success(`ivSessionKey: ${O}`),K.success(`Encrypted zip saved at ${V}`),$0("Done ✅");return{checksum:z,filename:V,ivSessionKey:O}}catch(w){if(!Z)if(Y.json)ZX(w);else K.error(`Error encrypting zip file ${p(w)}`);throw w instanceof Error?w:Error(String(w))}}var Fh=require("node:crypto"),U5=require("node:fs"),w9=require("node:process");class d$ 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(!B(/^<\?xml\s*/))return;let W={attributes:{}};while(!(q()||$("?>"))){let O=Q();if(!O)return W;W.attributes[O.name]=O.value}return B(/\?>\s*/),W}function Z(){let G=B(/^<([\w-:.]+)\s*/);if(!G)return;let W={name:G[1],attributes:{},children:[]};while(!(q()||$(">")||$("?>")||$("/>"))){let H=Q();if(!H)return W;W.attributes[H.name]=H.value}if(B(/^\s*\/>\s*/))return W;B(/\??>\s*/),W.content=J();let O;while(O=Z())W.children.push(O);return B(/^<\/[\w-:.]+>\s*/),W}function J(){let G=B(/^([^<]*)/);if(G)return F(G[1]);return""}function Q(){let G=B(/([\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("<","<").replaceAll(">",">").replaceAll("&","&")}function B(G){let W=D.match(G);if(!W)return;return D=D.slice(W[0].length),W}function q(){return D.length===0}function $(G){return D.startsWith(G)}}class V6 extends Error{}class V1 extends V6{}class SJ extends V6{}class c$ extends V6{bucketName;constructor(D){super(`Invalid bucket name: ${D}`),this.bucketName=D}}class U6 extends V6{objectName;constructor(D){super(`Invalid object name: ${D}`),this.objectName=D}}class G5 extends V6{constructor(){super("accessKey is required")}}class JX extends V6{constructor(){super("secretKey is required")}}class xJ 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 uk(D){try{let Y=Z9(await D.text()).root;if(Y?.name!=="Error")throw Error("Invalid root, expected <Error>");let Z=Y.children.find((q)=>q.name==="Code")?.content??"UnknownErrorCode",J=Y.children.find((q)=>q.name==="Message")?.content??"The error message could not be determined.",Q=Y.children.find((q)=>q.name==="Key")?.content,w=Y.children.find((q)=>q.name==="BucketName")?.content,F=Y.children.find((q)=>q.name==="Resource")?.content,B=Y.children.find((q)=>q.name==="Region")?.content;return new J9(D.status,Z,J,{key:Q,bucketName:w,resource:F,region:B})}catch{return new J9(D.status,"UnrecognizedError",`Error: Unexpected response code ${D.status} ${D.statusText}. Unable to parse response as XML.`)}}function hk(D){if(typeof D!=="number"||isNaN(D))return!1;return D>=1&&D<=65535}function _k(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(!G30(D))return!1;if(D.length===0)return!1;return!0}function G30(D){if(typeof D!=="string")return!1;if(D.length>1024)return!1;return!0}function QX(D){return Array.from(D).map((X)=>X.toString(16).padStart(2,"0")).join("")}function O5(D=""){let X={'"':"",""":"",""":"",""":"",""":""};return D.replace(/^("|"|")|("|"|")$/g,(Y)=>X[Y])}function n$(D){return D.get("x-amz-version-id")??null}function W5(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 i$(D){return W5(D).slice(0,8)}function p$(D,X){return`${i$(X)}/${D}/s3/aws4_request`}async function fJ(D){if(!(D instanceof Uint8Array))D=new TextEncoder().encode(D);return QX(new Uint8Array(await crypto.subtle.digest("SHA-256",D)))}var O30=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"];class a$ 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 H=w++;try{if(H==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:O5(N.headers.get("etag")??void 0),versionId:n$(N.headers)};return}if(H===1)F=(await W30({client:D,bucketName:X,objectName:Y,metadata:J})).uploadId;let M={"Content-Length":String(G.length)};for(let N of O30){let R=J[N];if(R)M[N]=R}let U=D.makeRequest({method:"PUT",query:{partNumber:H.toString(),uploadId:F},headers:new Headers(M),bucketName:X,objectName:Y,payload:G}).then((N)=>{let R=N.headers.get("etag")??"";if(R)R=R.replace(/^"/,"").replace(/"$/,"");return B.push({part:H,etag:R}),N});$.push(U.catch((N)=>{if(!q)q=N}))}catch(M){throw M}},async close(){if(Q);else if(F){if(await Promise.all($),q)throw q;B.sort((G,W)=>G.part>W.part?1:-1),Q=await H30({client:D,bucketName:X,objectName:Y,uploadId:F,etags:B})}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 W30(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((B)=>B.name==="UploadId")?.content;if(!F)throw Error(`Unable to get UploadId from response: ${Q}`);return{uploadId:F}}async function H30({client:D,bucketName:X,objectName:Y,uploadId:Z,etags:J}){let Q=`
|
|
384
|
+
All packages are compatible with channel "${w}"`)}return{finalCompatibility:B.finalCompatibility,hasIncompatible:q,resolvedAppId:Q,channel:w}}var M6=require("node:fs"),Sk=require("node:process");var c8=require("node:buffer"),vD=require("node:crypto"),Ek="aes-128-cbc",z6="base64",IJ="hex",p7=vD.constants.RSA_PKCS1_PADDING;function PJ(D){let X=vD.randomBytes(16),Y=vD.randomBytes(16),Z=X.toString(z6),J=vD.privateEncrypt({key:D,padding:p7},Y).toString(z6);return{sessionKey:Y,ivSessionKey:`${Z}:${J}`}}function a7(D,X,Y){let[Z]=Y.split(":"),J=c8.Buffer.from(Z,z6),Q=vD.createCipheriv(Ek,X,J);return Q.setAutoPadding(!0),c8.Buffer.concat([Q.update(D),Q.final()])}function Ck(D,X,Y){let[Z,J]=X.split(":"),Q=vD.publicDecrypt({key:Y,padding:p7},c8.Buffer.from(J,z6)),w=c8.Buffer.from(Z,z6),F=vD.createDecipheriv(Ek,Q,w);return F.setAutoPadding(!0),c8.Buffer.concat([F.update(D),F.final()])}function t7(D,X){return vD.privateEncrypt({key:X,padding:p7},c8.Buffer.from(D,z6)).toString(z6)}function r7(D,X){return vD.privateEncrypt({key:X,padding:p7},c8.Buffer.from(D,IJ)).toString(IJ)}function jk(D,X){return vD.publicDecrypt({key:X,padding:p7},c8.Buffer.from(D,z6)).toString(z6)}function Tk(D,X){return vD.publicDecrypt({key:X,padding:p7},c8.Buffer.from(D,IJ)).toString(IJ)}function Ik(){let{publicKey:D,privateKey:X}=vD.generateKeyPairSync("rsa",{modulusLength:2048});return{publicKey:D.export({type:"pkcs1",format:"pem"}),privateKey:X.export({type:"pkcs1",format:"pem"})}}function Pk(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)}var J30="5.30.0",Q30="6.30.0",w30="7.30.0";function F30(D,X){let Y=D.key||K6,Z=X.config.plugins?.CapacitorUpdater?.publicKey;if(M6.existsSync(Y))Z=M6.readFileSync(Y,"utf8");else if(!Z&&D.keyData)Z=D.keyData;return{publicKey:Z,fallbackKeyPath:Y}}async function xk(D,X,Y,Z=!1){if(!Z)q0("Decrypt zip file");try{if(await o0(),!M6.existsSync(D)){let G=`Zip not found at the path ${D}`;if(!Z)K.error(G);throw Error(G)}let J=await H0();if(!Y.key&&!M6.existsSync(K6)&&!J.config.plugins?.CapacitorUpdater?.publicKey){let G=`Public Key not found at the path ${K6} or in ${J.path}`;if(!Z)K.error(G);throw Error(G)}let{publicKey:Q,fallbackKeyPath:w}=F30(Y,J);if(!Q){let G=`Cannot find public key ${w} or as keyData option or in ${J.path}`;if(!Z)K.error(G);throw Error(G)}let F=M6.readFileSync(D),B=Ck(F,X,Y.keyData??Q),q=`${D}_decrypted.zip`;if(M6.writeFileSync(q,B),!Z)K.info(`Decrypted zip file at ${q}`);let $;if(Y.checksum){let G=await y6(B,"sha256"),W=rD(Sk.cwd()),O=await o1("@capgo/capacitor-updater",W,Y.packageJson),H=!1,M;try{M=O?i0(O):void 0}catch{M=void 0}if(M)H=!e1(M,J30,Q30,w30);if(!Z)K.info(`Decrypting checksum with ${H?"V3":"V2"} (based on updater version ${O||"unknown"})`);let U=H?Tk(Y.checksum,Y.keyData??Q):jk(Y.checksum,Y.keyData??Q);if($=G===U,!$){let N=`Checksum does not match ${G} !== ${U}`;if(!Z)K.error(N);throw Error(N)}if(!Z)K.info("Checksum matches")}if(!Z)$0("✅ done");return{outputPath:q,checksumMatches:$}}catch(J){if(!Z)K.error(`Error decrypting zip file ${p(J)}`);throw J instanceof Error?J:Error(String(J))}}async function fk(D,X,Y,Z=!1){if(!Z)q0("Delete bundle");Y.apikey=Y.apikey||Q0();let J=await H0();if(X=b0(X,J?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(!D){if(!Z)K.error("Missing argument, you need to provide a bundleId, or be in a capacitor project");throw Error("Missing bundleId")}let Q=await K0(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)K.info(`Deleting bundle ${X}@${D} from Capgo`),K.info("Keep in mind that you will not be able to reuse this bundle version, it's gone forever");await RJ(Q,X,D);let w=await pD(Q,X);if(await z0(Y.apikey,{channel:"app",event:"Bundle Deleted",icon:"\uD83D\uDDD1️",user_id:w,tags:{"app-id":X,bundle:D},notify:!1,notifyConsole:!0}).catch(()=>{}),!Z)K.success(`Bundle ${X}@${D} deleted in Capgo`),$0("Done");return!0}var L6=require("node:fs"),yk=require("node:process");var B30="5.30.0",q30="6.30.0",$30="7.30.0";function ZX(D){console.error(p(D))}async function kk(D,X,Y,Z=!1){let{json:J}=Y,Q=!J&&!Z;if(Q)q0("Encryption"),await o0();try{let w=await H0(),F=!!w.config.plugins?.CapacitorUpdater?.privateKey,B=!!w.config.plugins?.CapacitorUpdater?.publicKey;if(F&&Q)K.warning("There is still a privateKey in the config");if(!L6.existsSync(D)){let L=`Zip not found at the path ${D}`;if(!Z)if(J)ZX({error:"zip_not_found"});else K.error(`Error: ${L}`);throw Error(L)}if(!B){if(!Z)if(J)ZX({error:"missing_public_key"});else K.warning("Warning: Missing Public Key in config");throw Error("Missing public key in config")}let q=Y.key||v1,$=Y.keyData||"";if(!L6.existsSync(q)&&!$){if(!Z)if(J)ZX({error:"missing_key"});else K.warning(`Cannot find a private key at ${q} or as a keyData option`),K.error("Error: Missing key");throw Error("Missing private key")}else if(L6.existsSync(q))$=L6.readFileSync(q,"utf8");if($&&!$.startsWith("-----BEGIN RSA PRIVATE KEY-----")){if(!Z)if(J)ZX({error:"invalid_private_key"});else K.error("The private key provided is not a valid RSA Private key");throw Error("Invalid private key format")}let G=L6.readFileSync(D),{sessionKey:W,ivSessionKey:O}=PJ($),H=a7(G,W,O),M=rD(yk.cwd()),U=await o1("@capgo/capacitor-updater",M,Y.packageJson),N=!1,R;try{R=U?i0(U):void 0}catch{R=void 0}if(R)N=!e1(R,B30,q30,$30);let z=N?r7(X,$):t7(X,$);if(Q)K.info(`Encrypting checksum with ${N?"V3":"V2"} (based on updater version ${U||"unknown"})`);let V=`${D}_encrypted.zip`;if(L6.writeFileSync(V,H),!Z)if(J)console.log(JSON.stringify({checksum:z,filename:V,ivSessionKey:O},null,2));else K.success(`Encoded Checksum: ${z}`),K.success(`ivSessionKey: ${O}`),K.success(`Encrypted zip saved at ${V}`),$0("Done ✅");return{checksum:z,filename:V,ivSessionKey:O}}catch(w){if(!Z)if(Y.json)ZX(w);else K.error(`Error encrypting zip file ${p(w)}`);throw w instanceof Error?w:Error(String(w))}}var Fh=require("node:crypto"),U5=require("node:fs"),w9=require("node:process");class d$ 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(!B(/^<\?xml\s*/))return;let W={attributes:{}};while(!(q()||$("?>"))){let O=Q();if(!O)return W;W.attributes[O.name]=O.value}return B(/\?>\s*/),W}function Z(){let G=B(/^<([\w-:.]+)\s*/);if(!G)return;let W={name:G[1],attributes:{},children:[]};while(!(q()||$(">")||$("?>")||$("/>"))){let H=Q();if(!H)return W;W.attributes[H.name]=H.value}if(B(/^\s*\/>\s*/))return W;B(/\??>\s*/),W.content=J();let O;while(O=Z())W.children.push(O);return B(/^<\/[\w-:.]+>\s*/),W}function J(){let G=B(/^([^<]*)/);if(G)return F(G[1]);return""}function Q(){let G=B(/([\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("<","<").replaceAll(">",">").replaceAll("&","&")}function B(G){let W=D.match(G);if(!W)return;return D=D.slice(W[0].length),W}function q(){return D.length===0}function $(G){return D.startsWith(G)}}class V6 extends Error{}class V1 extends V6{}class SJ extends V6{}class c$ extends V6{bucketName;constructor(D){super(`Invalid bucket name: ${D}`),this.bucketName=D}}class U6 extends V6{objectName;constructor(D){super(`Invalid object name: ${D}`),this.objectName=D}}class G5 extends V6{constructor(){super("accessKey is required")}}class JX extends V6{constructor(){super("secretKey is required")}}class xJ 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 uk(D){try{let Y=Z9(await D.text()).root;if(Y?.name!=="Error")throw Error("Invalid root, expected <Error>");let Z=Y.children.find((q)=>q.name==="Code")?.content??"UnknownErrorCode",J=Y.children.find((q)=>q.name==="Message")?.content??"The error message could not be determined.",Q=Y.children.find((q)=>q.name==="Key")?.content,w=Y.children.find((q)=>q.name==="BucketName")?.content,F=Y.children.find((q)=>q.name==="Resource")?.content,B=Y.children.find((q)=>q.name==="Region")?.content;return new J9(D.status,Z,J,{key:Q,bucketName:w,resource:F,region:B})}catch{return new J9(D.status,"UnrecognizedError",`Error: Unexpected response code ${D.status} ${D.statusText}. Unable to parse response as XML.`)}}function hk(D){if(typeof D!=="number"||isNaN(D))return!1;return D>=1&&D<=65535}function _k(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(!G30(D))return!1;if(D.length===0)return!1;return!0}function G30(D){if(typeof D!=="string")return!1;if(D.length>1024)return!1;return!0}function QX(D){return Array.from(D).map((X)=>X.toString(16).padStart(2,"0")).join("")}function O5(D=""){let X={'"':"",""":"",""":"",""":"",""":""};return D.replace(/^("|"|")|("|"|")$/g,(Y)=>X[Y])}function n$(D){return D.get("x-amz-version-id")??null}function W5(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 i$(D){return W5(D).slice(0,8)}function p$(D,X){return`${i$(X)}/${D}/s3/aws4_request`}async function fJ(D){if(!(D instanceof Uint8Array))D=new TextEncoder().encode(D);return QX(new Uint8Array(await crypto.subtle.digest("SHA-256",D)))}var O30=["x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5"];class a$ 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 H=w++;try{if(H==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:O5(N.headers.get("etag")??void 0),versionId:n$(N.headers)};return}if(H===1)F=(await W30({client:D,bucketName:X,objectName:Y,metadata:J})).uploadId;let M={"Content-Length":String(G.length)};for(let N of O30){let R=J[N];if(R)M[N]=R}let U=D.makeRequest({method:"PUT",query:{partNumber:H.toString(),uploadId:F},headers:new Headers(M),bucketName:X,objectName:Y,payload:G}).then((N)=>{let R=N.headers.get("etag")??"";if(R)R=R.replace(/^"/,"").replace(/"$/,"");return B.push({part:H,etag:R}),N});$.push(U.catch((N)=>{if(!q)q=N}))}catch(M){throw M}},async close(){if(Q);else if(F){if(await Promise.all($),q)throw q;B.sort((G,W)=>G.part>W.part?1:-1),Q=await H30({client:D,bucketName:X,objectName:Y,uploadId:F,etags:B})}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 W30(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((B)=>B.name==="UploadId")?.content;if(!F)throw Error(`Unable to get UploadId from response: ${Q}`);return{uploadId:F}}async function H30({client:D,bucketName:X,objectName:Y,uploadId:Z,etags:J}){let Q=`
|
|
385
385
|
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
|
|
386
386
|
${J.map((G)=>` <Part><PartNumber>${G.part}</PartNumber><ETag>${G.etag}</ETag></Part>`).join(`
|
|
387
387
|
`)}
|
|
@@ -390,21 +390,21 @@ All packages are compatible with channel "${w}"`)}return{finalCompatibility:B.fi
|
|
|
390
390
|
`)+`
|
|
391
391
|
`,Z.join(";").toLowerCase(),J].join(`
|
|
392
392
|
`)}async function dk(D,X,Y){let Z=await fJ(D),J=p$(Y,X);return[wX,W5(X),J,Z].join(`
|
|
393
|
-
`)}async function r$(D,X,Y){let Z=i$(D),J=await K5("AWS4"+Y,Z),Q=await K5(J,X),w=await K5(Q,"s3");return await K5(w,"aws4_request")}function s$(D,X,Y){return`${D}/${p$(X,Y)}`}async function K5(D,X){let Y=new TextEncoder,Z=await crypto.subtle.importKey("raw",D instanceof Uint8Array?D:Y.encode(D),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]),J=await crypto.subtle.sign("HMAC",Z,X instanceof Uint8Array?X:Y.encode(X));return new Uint8Array(J)}async function ck(D){if(!D.accessKey)throw new G5;if(!D.secretKey)throw new JX;if(D.expirySeconds<1||D.expirySeconds>604800)throw new xJ;let X=new Date(D.date);X.setSeconds(X.getSeconds()+D.expirySeconds);let Y=s$(D.accessKey,D.region,D.date),Z=W5(D.date),J={"X-Amz-Algorithm":wX,"X-Amz-Credential":Y,"X-Amz-Date":Z,key:D.objectKey,...D.fields},Q=[{bucket:D.bucket},{key:D.objectKey},{"X-Amz-Algorithm":wX},{"X-Amz-Credential":Y},{"X-Amz-Date":Z}];if(D.conditions)Q.push(...D.conditions);for(let[O,H]of Object.entries(D.fields||{})){if(["key","X-Amz-Algorithm","X-Amz-Credential","X-Amz-Date"].includes(O))continue;Q.push({[O]:H})}let w={expiration:X.toISOString(),conditions:Q},F=new TextEncoder().encode(JSON.stringify(w)),B=btoa(String.fromCharCode(...F));J.policy=B;let q=B,$=await r$(D.date,D.region,D.secretKey),G=QX(await K5($,q)).toLowerCase();return J["X-Amz-Signature"]=G,{url:`${D.protocol}//${D.host}/${D.bucket}`,fields:J}}var z30=["Content-Type","Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Expires","x-amz-checksum-sha256","x-amz-grant-full-control","x-amz-grant-read","x-amz-grant-read-acp","x-amz-grant-write-acp","x-amz-server-side-encryption","x-amz-storage-class","x-amz-website-redirect-location","x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5","x-amz-server-side-encryption-aws-kms-key-id","x-amz-server-side-encryption-context","x-amz-server-side-encryption-bucket-key-enabled","x-amz-request-payer","x-amz-tagging","x-amz-object-lock-mode","x-amz-object-lock-retain-until-date","x-amz-object-lock-legal-hold","x-amz-expected-bucket-owner"],M30=5242880,L30=5368709120,o$=5497558138880;class yJ{host;port;protocol;accessKey;#D;sessionToken;defaultBucket;region;userAgent="s3-lite-client";pathStyle;pathPrefix;constructor({endPoint:D,useSSL:X,port:Y,pathPrefix:Z,...J}){if(/^https?:\/\//i.test(D)){if(X!==void 0||Y!==void 0||Z!==void 0)throw new V1("useSSL/port/pathPrefix cannot be specified if endPoint is a URL.");try{let w=new URL(D);if(D=w.hostname,X=w.protocol==="https:",Y=w.port?parseInt(w.port,10):X?443:80,w.pathname&&w.pathname!=="/")Z=w.pathname.endsWith("/")?w.pathname.slice(0,-1):w.pathname}catch{throw new SJ(`Invalid endPoint URL: ${D}`)}}if(typeof D!=="string"||D.length===0)throw new SJ(`Invalid endPoint: ${D}`);if(X===void 0)X=!0;if(Y!==void 0&&!hk(Y))throw new V1(`Invalid port: ${Y}`);if(J.accessKey&&!J.secretKey)throw new V1("If specifying access key, secret key must also be provided.");if(J.accessKey&&J.accessKey.startsWith("ASIA")&&!J.sessionToken)throw new V1("If specifying temporary access key, session token must also be provided.");let Q=X?443:80;if(this.port=Y??Q,this.host=D.toLowerCase()+(this.port!==Q?`:${this.port}`:""),this.protocol=X?"https:":"http:",this.accessKey=J.accessKey,this.#D=J.secretKey??"",this.sessionToken=J.sessionToken,this.pathStyle=J.pathStyle??!0,this.pathPrefix=Z??"",this.defaultBucket=J.bucket,this.region=J.region,this.pathPrefix){if(!this.pathStyle)throw new V1("pathPrefix is incompatible with pathStyle=false");if(!this.pathPrefix.startsWith("/"))throw new V1("pathPrefix should start with /");if(this.pathPrefix.endsWith("/"))throw new V1("pathPrefix should not end with /")}}getBucketName(D){let X=D?.bucketName??this.defaultBucket;if(X===void 0||!_k(X))throw new c$(X??"");return X}buildRequestOptions(D){let X=this.getBucketName(D),Y=this.pathStyle?this.host:`${X}.${this.host}`,Z=D.headers??new Headers;Z.set("host",Y);let J=typeof D.query==="object"?new URLSearchParams(D.query).toString().replace("+","%20"):D.query,Q=this.pathStyle?`${this.pathPrefix}/${X}/${D.objectName}`:`/${D.objectName}`,w=J?`?${J}`:"",F=Q+w,B=Q.split("/").map((q)=>encodeURIComponent(q)).join("/")+w;return{headers:Z,host:Y,path:F,encodedPath:B}}async makeRequest({method:D,payload:X,...Y}){let Z=new Date,{headers:J,host:Q,path:w,encodedPath:F}=this.buildRequestOptions(Y),B=Y.statusCode??200;if(D==="POST"||D==="PUT"||D==="DELETE"){if(X===void 0)X=new Uint8Array;else if(typeof X==="string")X=new TextEncoder().encode(X);J.set("Content-Length",String(X.length))}else if(X)throw Error(`Unexpected payload on ${D} request.`);let q=await fJ(X??new Uint8Array);if(J.set("x-amz-date",W5(Z)),J.set("x-amz-content-sha256",q),this.accessKey){if(this.sessionToken)J.set("x-amz-security-token",this.sessionToken);J.set("authorization",await vk({headers:J,method:D,path:w,accessKey:this.accessKey,secretKey:this.#D,region:this.region,date:Z}))}let $=`${this.protocol}//${Q}${F}`,G=await fetch($,{method:D,headers:J,body:X});if(G.status!==B){if(G.status>=400)throw await uk(G);else if(G.status===301)throw new J9(G.status,"UnexpectedRedirect",'The server unexpectedly returned a redirect response. With AWS S3, this usually means you need to use a region-specific endpoint like "s3.us-west-2.amazonaws.com" instead of "s3.amazonaws.com"');throw new J9(G.status,"UnexpectedStatusCode",`Unexpected response code from the server (expected ${B}, got ${G.status} ${G.statusText}).`)}if(!Y.returnBody)await G.body?.getReader().read();return G}async deleteObject(D,X={}){let Y=this.getBucketName(X);if(!Q9(D))throw new U6(D);let Z=X.versionId?{versionId:X.versionId}:{},J=new Headers;if(X.governanceBypass)J.set("X-Amz-Bypass-Governance-Retention","true");await this.makeRequest({method:"DELETE",bucketName:Y,objectName:D,headers:J,query:Z,statusCode:204})}async exists(D,X){try{return await this.statObject(D,X),!0}catch(Y){if(Y instanceof J9&&Y.statusCode===404)return!1;throw Y}}getObject(D,X){return this.getPartialObject(D,{...X,offset:0,length:0})}async getPartialObject(D,{offset:X,length:Y,...Z}){let J=this.getBucketName(Z);if(!Q9(D))throw new U6(D);let Q=new Headers(Object.entries(Z.metadata??{})),w=200;if(X||Y){let B="";if(X)B=`bytes=${+X}-`;else B="bytes=0-",X=0;if(Y)B+=`${+Y+X-1}`;Q.set("Range",B),w=206}let F={...Z.responseParams,...Z.versionId?{versionId:Z.versionId}:{}};return await this.makeRequest({method:"GET",bucketName:J,objectName:D,headers:Q,query:F,statusCode:w,returnBody:!0})}getPresignedUrl(D,X,Y={}){if(!this.accessKey)throw new G5;if(!Q9(X))throw new U6(X);let{headers:Z,path:J}=this.buildRequestOptions({objectName:X,bucketName:Y.bucketName,query:Y.parameters}),Q=Y.requestDate??new Date,w=Y.expirySeconds??604800;return bk({protocol:this.protocol,headers:Z,method:D,path:J,accessKey:this.accessKey,secretKey:this.#D,sessionToken:this.sessionToken,region:this.region,date:Q,expirySeconds:w})}presignedGetObject(D,X={}){let{versionId:Y,responseParams:Z,...J}=X,Q={...Z,...Y?{versionId:Y}:{}};return this.getPresignedUrl("GET",D,{parameters:Q,...J})}async*listObjects(D={}){for await(let X of this.listObjectsGrouped({...D,delimiter:""}))if(X.type==="Object")yield X;else throw Error(`Unexpected result from listObjectsGrouped(): ${X}`)}async*listObjectsGrouped(D){let X=this.getBucketName(D),Y="",Z=D.pageSize??1000;if(Z<1||Z>1000)throw new V1("pageSize must be between 1 and 1,000.");let J=0;while(!0){let Q=D.maxResults?Math.min(Z,D.maxResults-J):Z;if(Q===0)return;let F=await(await this.makeRequest({method:"GET",bucketName:X,objectName:"",query:{"list-type":"2",prefix:D.prefix??"",delimiter:D.delimiter,"max-keys":String(Q),...Y?{"continuation-token":Y}:{}},returnBody:!0})).text(),B=Z9(F).root;if(!B||B.name!=="ListBucketResult")throw Error(`Unexpected response: ${F}`);let q=B.children.filter((W)=>W.name==="CommonPrefixes").flatMap((W)=>W.children),$=[];for(let W of q)$.push({type:"CommonPrefix",prefix:W.content??""}),J++;for(let W of B.children.filter((O)=>O.name==="Contents"))$.push({type:"Object",key:W.children.find((O)=>O.name==="Key")?.content??"",etag:O5(W.children.find((O)=>O.name==="ETag")?.content??""),size:parseInt(W.children.find((O)=>O.name==="Size")?.content??"",10),lastModified:new Date(W.children.find((O)=>O.name==="LastModified")?.content??"invalid")}),J++;$.sort((W,O)=>{let H=W.type==="Object"?W.key:W.prefix,M=O.type==="Object"?O.key:O.prefix;return H>M?1:H<M?-1:0});for(let W of $)yield W;if(B.children.find((W)=>W.name==="IsTruncated")?.content==="true"){let W=B.children.find((O)=>O.name==="NextContinuationToken")?.content;if(!W)throw Error("Unexpectedly missing continuation token, but server said there are more results.");Y=W}else return}}async putObject(D,X,Y){let Z=this.getBucketName(Y);if(!Q9(D))throw new U6(D);let J,Q;if(typeof X==="string"){let q=new TextEncoder().encode(X);if(typeof ReadableStream.from<"u")Q=ReadableStream.from([q]);else Q=new ReadableStream({start($){$.enqueue(q),$.close()}});J=q.length}else if(X instanceof Uint8Array){if(typeof ReadableStream.from<"u")Q=ReadableStream.from([X]);else Q=new ReadableStream({start(q){q.enqueue(X),q.close()}});J=X.byteLength}else if(X instanceof ReadableStream)Q=X;else throw new V1("Invalid stream/data type provided.");if(Y?.size!==void 0){if(J!==void 0&&Y?.size!==J)throw new V1(`size was specified (${Y.size}) but doesn't match auto-detected size (${J}).`);if(typeof Y.size!=="number"||Y.size<0||isNaN(Y.size))throw new V1(`invalid size specified: ${Y.size}`);else J=Y.size}let w=Y?.partSize??this.calculatePartSize(J);if(w<M30)throw new V1("Part size should be greater than 5MB");else if(w>L30)throw new V1("Part size should be less than 6MB");let F=new d$(w),B=new a$({client:this,bucketName:Z,objectName:D,partSize:w,metadata:Y?.metadata??{}});return await Q.pipeThrough(F).pipeTo(B),B.getResult()}calculatePartSize(D){if(D===void 0)D=o$;if(D>o$)throw TypeError(`size should not be more than ${o$}`);let X=67108864;while(!0){if(X*1e4>D)return X;X+=16777216}}async statObject(D,X){let Y=this.getBucketName(X);if(!Q9(D))throw new U6(D);let Z={};if(X?.versionId)Z.versionId=X.versionId;let J=await this.makeRequest({method:"HEAD",bucketName:Y,objectName:D,query:Z,headers:new Headers(X?.headers)}),Q={};for(let w of z30)if(J.headers.has(w))Q[w]=J.headers.get(w);return J.headers.forEach((w,F)=>{if(F.startsWith("x-amz-meta-"))Q[F]=J.headers.get(F)}),{type:"Object",key:D,size:parseInt(J.headers.get("content-length")??"",10),metadata:Q,lastModified:new Date(J.headers.get("Last-Modified")??"error: missing last modified"),versionId:J.headers.get("x-amz-version-id")||null,etag:O5(J.headers.get("ETag")??"")}}async copyObject(D,X,Y){let Z=this.getBucketName(Y),J=D.sourceBucketName??Z;if(!Q9(X))throw new U6(X);let Q=`${J}/${D.sourceKey}`;if(D.sourceVersionId)Q+=`?versionId=${D.sourceVersionId}`;let w=new Headers(Y?.metadata);if(Y?.metadata!==void 0)w.set("x-amz-metadata-directive","REPLACE");w.set("x-amz-copy-source",Q);let F=await this.makeRequest({method:"PUT",bucketName:Z,objectName:X,headers:w,returnBody:!0}),B=await F.text(),q=Z9(B).root;if(!q||q.name!=="CopyObjectResult")throw Error(`Unexpected response: ${B}`);let $=q.children.find((W)=>W.name==="ETag")?.content??"",G=q.children.find((W)=>W.name==="LastModified")?.content;if(G===void 0)throw Error("Unable to find <LastModified>...</LastModified> from the server.");return{copySourceVersionId:F.headers.get("x-amz-copy-source-version-id")||null,etag:O5($),lastModified:new Date(G),versionId:F.headers.get("x-amz-version-id")||null}}async bucketExists(D){try{return await this.listObjects({bucketName:D}).next(),!0}catch(X){if(X instanceof J9&&X.statusCode===404)return!1;throw X}}async makeBucket(D){await this.makeRequest({method:"PUT",bucketName:this.getBucketName({bucketName:D}),objectName:"",statusCode:200})}async removeBucket(D){await this.makeRequest({method:"DELETE",bucketName:this.getBucketName({bucketName:D}),objectName:"",statusCode:204})}presignedPostObject(D,X={}){if(!Q9(D))throw new U6(D);let Y=this.getBucketName(X);if(!Y)throw Error("Bucket name is required for presignedPost, but none was provided either to this method nor to the client constructor");let Z=X.requestDate||new Date,J=X.expirySeconds??3600;return ck({protocol:this.protocol,host:this.host,bucket:Y,objectKey:D,accessKey:this.accessKey||"",secretKey:this.#D||"",region:this.region,date:Z,expirySeconds:J,conditions:X.conditions,fields:X.fields})}}function lk(D){try{let X=i0(D);return Q8(B4(X,"patch"))}catch{let X=D.match(/^(\d+)\.(\d+)\.(\d+)/);if(X){let[,Y,Z,J]=X;return`${Y}.${Z}.${Number.parseInt(J)+1}`}return"1.0.1"}}async function nk(D,X){let Y=lk(D),Z=X?` for ${X}`:"",J=await M8({message:`How do you want to handle the version${Z}?`,options:[{value:"auto",label:`Auto: Bump patch version (${D} → ${Y})`},{value:"manual",label:"Manual: I'll provide the version number"}]});if(c0(J))return null;if(J==="auto")return K.info(`\uD83D\uDD22 Auto-bumped version from ${D} to ${Y}`),Y;let Q=await R6({message:`Current version is ${D}. Enter new version:`,validate:(w)=>{if(!w)return"Version is required";if(!w.match(/^\d+\.\d+\.\d+/))return"Please enter a valid version (x.y.z)"}});if(c0(Q))return null;return Q}function ik(D){let X=lk(D);try{let Y=i0(D);return[X,Q8(B4(Y,"minor")),`${D}-beta.1`,`${D}.1`]}catch{return[X,`${D}.1`,`${D}-beta.1`,`${D}-rc.1`]}}var z5=require("node:fs"),kJ=require("node:path");function V30(D,X){return z5.readFileSync(D,"utf8").includes(X)}function FX(D,X){let Y=z5.readdirSync(D);for(let Z of Y){let J=kJ.join(D,Z),Q=z5.statSync(J);if(Q.isDirectory()){if(FX(J,X))return!0}else if(Q.isFile()&&kJ.extname(J)===".js"){if(V30(J,X))return!0}}return!1}function uJ(D){if(z5.readdirSync(D).indexOf("index.html")>-1)return!0;return!1}var ou=require("node:buffer"),eu=require("node:crypto"),e7=require("node:fs"),Dh=require("node:os"),V5=require("node:path"),Xh=require("node:process"),dJ=require("node:stream/consumers"),Yh=require("node:zlib");var Zh=N0(su(),1),Jh=N0($Z(),1);async function CX0(D,X){try{let Y=new URL(`${D.hostFilesApi}/files/read/attachments/${encodeURIComponent(X)}`);return Y.searchParams.set("nocache",`${Date.now()}`),(await fetch(Y.toString(),{method:"GET",headers:{range:"bytes=0-0","cache-control":"no-cache"}})).ok}catch{return!1}}var jX0=8192;async function TX0(D){let X=tD(Xh.cwd()),Y=await o1("@capgo/capacitor-updater",X,D.packageJson),Z;try{Z=Y?i0(Y):void 0}catch{Z=void 0}if(!Y||!Z)return{version:null,supportsBrotliV2:!1};let J=!e1(Z,void 0,void 0,XX);return{version:`${Z.major}.${Z.minor}.${Z.patch}`,supportsBrotliV2:J}}function IX0(D,X){if(!X)return!1;let Y=X.split(",").map((Z)=>Z.trim()).filter((Z)=>!!Z);if(Y.length===0)return!1;return Zh.isMatch(D,Y)}async function PX0(D,X,Y){let J=e7.statSync(D).size,Q=await dJ.buffer(e7.createReadStream(D));if(J===0)return{buffer:Q,useBrotli:!1};if(IX0(X,Y.noBrotliPatterns))return{buffer:Q,useBrotli:!1};if(J<jX0)return{buffer:Q,useBrotli:!1};try{let w=await dJ.buffer(e7.createReadStream(D).pipe(Yh.createBrotliCompress({})));if(w.length>=J-10)return{buffer:Q,useBrotli:!1};return{buffer:w,useBrotli:!0}}catch(w){return K.warn(`Brotli compression failed for ${D}: ${w}, using original file`),{buffer:Q,useBrotli:!1}}}async function Qh(D,X,Y,Z,J,Q,w=!1){let F=xD();F.start(J!=="v2"?"Generating the update manifest":`Generating the update manifest with ${w?"V3":"V2"} encryption`);let B=await dy(D);if(J==="v2")for(let q of B)q.hash=w?r7(q.hash,Q):t7(q.hash,Q);return F.stop("Manifest generated successfully"),await A0(X,{channel:"partial-update",event:"Generate manifest",icon:"\uD83D\uDCC2",user_id:Y,tags:{"app-id":Z},notify:!1}),B}function SX0(D){if(Dh.platform()!=="win32")return D;return V5.win32.normalize(D).split(V5.win32.sep).join(V5.posix.sep)}function xX0(D){let X=D.split("/").map((Y)=>encodeURIComponent(Y)).join("/");if(D.includes(" "))K.warn(`File "${D}" contains spaces in its name.`);return X}async function wh(D,X,Y,Z,J,Q,w){let F=xD();F.start("Preparing partial update with TUS protocol");let B=performance.now(),q=await C8(),$=!!(w.partial||w.delta||w.partialOnly||w.deltaOnly),{version:G,supportsBrotliV2:W}=await TX0(w);if(!W)throw Error(`Your project is using an older version of @capgo/capacitor-updater (${G||"unknown"}). To use Delta updates, please upgrade to version ${zJ} (v5), ${MJ} (v6) or ${XX} (v7) or higher.`);else if(w.disableBrotli)K.info("Brotli compression disabled by user request");else if(w.noBrotliPatterns)K.info(`Files matching patterns (${w.noBrotliPatterns}) will be excluded from brotli compression`);let O=X.filter((N)=>N.file.includes(" "));if(O.length>0)throw Error(`Files with spaces in their names (${O.map((N)=>N.file).join(", ")}). Please rename the files.`);let H=0,M=X.length,U=0;try{F.message(`Uploading ${M} files using TUS protocol`);let N=async(C)=>{let y=V5.join(Y,C.file),A=SX0(C.file),k,f=!1;if(w.disableBrotli)k=await dJ.buffer(e7.createReadStream(y)),f=!1;else{let E=await PX0(y,A,w);k=E.buffer,f=E.useBrotli}let S=k;if(Q)S=a7(k,Q.sessionKey,Q.ivSessionKey);let v=A;if(f)v=`${A}.br`,U++;let b=xX0(v),n=eu.createHash("sha256").update(C.hash).digest("hex"),h;if(Q){let E=ou.Buffer.from(Q.ivSessionKey).toString("hex");h=`orgs/${J}/apps/${Z}/delta/${E}/${n}_${b}`}else h=`orgs/${J}/apps/${Z}/delta/${n}_${b}`;if(!Q&&await CX0(q,h))return H++,Promise.resolve({file_name:b,s3_path:h,file_hash:C.hash});return new Promise((E,P)=>{F.message(`Prepare upload partial file: ${A}`);let x=X9(v);new Jh.Upload(S,{endpoint:`${q.hostFilesApi}/files/upload/attachments/`,chunkSize:w.tusChunkSize,retryDelays:[0,1000,3000,5000,1e4],removeFingerprintOnSuccess:!0,metadata:{filename:h,filetype:x},headers:{Authorization:D},onError:(g)=>{let m=g.toString(),a;try{let c=m.match(/response text: (\{.*?\})/);if(c&&c[1])a=JSON.parse(c[1]).moreInfo?.requestId}catch{}let d=a?` [requestId: ${a}]`:"";K.error(`Failed to upload ${A}: ${m}${d}`),P(g)},onProgress(){let g=(H/M*100).toFixed(2);F.message(`Uploading partial update: ${g}%`)},onSuccess(){H++,E({file_name:b,s3_path:h,file_hash:C.hash})}}).start()})},R=500,z=[];for(let C=0;C<X.length;C+=R){let y=X.slice(C,C+R),A=Math.floor(C/R)+1,k=Math.ceil(X.length/R);if(k>1)F.message(`Processing batch ${A}/${k} (${y.length} files)`);let f=await Promise.all(y.map((S)=>N(S)));z.push(...f)}let L=((performance.now()-B)/1000).toFixed(2);if(F.stop(`Partial update uploaded successfully \uD83D\uDCAA in (${L} seconds)`),U>0)K.info(`${U} of ${M} files were compressed with brotli and use .br extension`);return await A0(D,{channel:"app",event:`App Partial TUS done${U>0?" with .br extension":""}`,icon:"⏫",user_id:J,tags:{"app-id":Z},notify:!1}),await A0(D,{channel:"performance",event:"Partial upload performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":Z,time:L},notify:!1}),z}catch(N){let z=((performance.now()-B)/1000).toFixed(2);if(F.stop(`Failed to upload Partial bundle (after ${z} seconds)`),$)throw K.error(`Error uploading partial update: ${N}`),K.error("Delta/partial upload was explicitly requested but failed. Upload aborted."),N;else return K.info(`Error uploading partial update: ${N}, This is not a critical error, the bundle has been uploaded without the partial files`),null}}function $D(D){throw K.error(D),Error(D)}function fX0(D){let X=new MD;X.headers=["Package","Local","Remote","Status","Details"],X.theme=MD.roundTheme,X.rows=[];for(let Y of D){let{name:Z,localVersion:J,remoteVersion:Q}=Y,w=$5(Y),F=w.compatible?"✅":"❌";X.rows.push([Z,J||"-",Q||"-",F,w.message])}K.info(X.toString())}async function yX0(D,X){let Y=D9("",X.packageJson),Z=X.bundle||D?.plugins?.CapacitorUpdater?.version||Y||`0.0.1-beta.${Fh.randomUUID().split("-")[0]}`;if(!d7.test(Z))$D(`Your bundle name ${Z}, is not valid it should follow semver convention : https://semver.org/`);return Z}function kX0(D){let X=D.apikey||Q0();if(!X)$D("Missing API key, you need to provide an API key to upload your bundle");return X}function uX0(D,X,Y){let Z=b0(D,Y),J=X.path||Y?.webDir;if(!Z)$D("Missing argument, you need to provide a appid or be in a capacitor project");if(!J)$D("Missing argument, you need to provide a path (--path), or be in a capacitor project");if(!U5.existsSync(J))$D(`Path ${J} does not exist, build your app first, or provide a valid path`);return{appid:Z,path:J}}function hX0(D,X){let Y=D.codeCheck;if(typeof Y>"u"||Y){if(!FX(X,"notifyAppReady"))$D(`notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready
|
|
394
|
-
If you are sure your app has this code, you can use the --no-code-check option`);if(!uJ(X))$D(`index.html is missing in the root folder of ${X}`)}}async function _X0(D,X,Y,Z,J,Q){let{ignoreMetadataCheck:w,autoMinUpdateVersion:F,minUpdateVersion:B}=Y,{data:q,error:$}=await D.from("channels").select("disable_auto_update, version ( min_update_version, native_packages )").eq("name",Z).eq("app_id",J).single(),G=!!q&&q.disable_auto_update==="version_number",W,O;if(!$&&q&&q.version&&q.version.native_packages&&!w){let U=xD();U.start(`Checking bundle compatibility with channel ${Z}`);let{finalCompatibility:N,localDependencies:R}=await NJ(D,J,Z,Y.packageJson,Y.nodeModules);if(O=N,W=R,O.filter((V)=>!Y9(V)).length>0){if(U.stop(`Bundle NOT compatible with ${Z} channel`),K.warn(""),fX0(O),K.warn(""),K.warn("An app store update may be required for these changes to take effect."),F)B=Q,K.info(`Auto set min-update-version to ${B}`)}else if(F)try{let{min_update_version:V}=q.version;if(!V||!d7.test(V))$D("Invalid remote min update version, skipping auto setting compatibility");B=V,U.stop(`Auto set min-update-version to ${B}`)}catch{$D(`Cannot auto set compatibility, invalid data ${q}`)}else U.stop(`Bundle compatible with ${Z} channel`)}else if(!w){if(K.warn(`Channel ${Z} is new or it's your first upload with compatibility check, it will be ignored this time`),W=await h$(Y.packageJson,Y.nodeModules),F)B=Q,K.info(`Auto set min-update-version to ${B}`)}if(G&&!B&&!w)$D("You need to provide a min-update-version to upload a bundle to this channel");if(B){if(!d7.test(B))$D(`Your minimal version update ${B}, is not valid it should follow semver convention : https://semver.org/`)}let H=W?new Map(W.filter((U)=>!!U.native&&U.native!==void 0).map((U)=>[U.name,U])):new Map;return{nativePackages:H.size>0||!Y.ignoreMetadataCheck?Array.from(H,([U,N])=>({name:U,version:N.version,...N.ios_checksum&&{ios_checksum:N.ios_checksum},...N.android_checksum&&{android_checksum:N.android_checksum}})):void 0,minUpdateVersion:B}}async function vX0(D,X,Y,Z=!1,J=!1){let{data:Q,error:w}=await D.rpc("exist_app_versions",{appid:X,name_version:Y}).single();if(Q||w){if(Z)return K.warn(`Version ${Y} already exists - exiting gracefully due to --silent-fail option`),$0("Bundle version already exists - exiting gracefully \uD83C\uDF89"),!0;if(J){K.error(`❌ Version ${Y} already exists`);let F=ik(Y);K.info("\uD83D\uDCA1 Here are some suggestions:"),F.forEach(($,G)=>{K.info(` ${G+1}. ${$}`)});let B=await M8({message:"What would you like to do?",options:[{value:"suggest1",label:`Use ${F[0]}`},{value:"suggest2",label:`Use ${F[1]}`},{value:"suggest3",label:`Use ${F[2]}`},{value:"suggest4",label:`Use ${F[3]}`},{value:"custom",label:"Enter a custom version"},{value:"cancel",label:"Cancel upload"}]});if(c0(B)||B==="cancel")$D("Upload cancelled by user");let q;if(B==="custom"){let $=await nk(Y,"upload");if(!$)$D("Upload cancelled by user");q=$}else{let $=Number.parseInt(B.replace("suggest",""))-1;q=F[$]}return K.info(`\uD83D\uDD04 Retrying with new version: ${q}`),q}$D(`Version ${Y} already exists ${p(w)}`)}return!1}async function bX0(D,X,Y,Z,J,Q,w,F){let B,q,$="",G=null,W="none",O="",H="",M=X.keyV2,U=X.key===!1,N=xD();N.start(`Zipping bundle from ${D}`),G=await LJ(D),N.message("Calculating checksum");let R=
|
|
393
|
+
`)}async function r$(D,X,Y){let Z=i$(D),J=await K5("AWS4"+Y,Z),Q=await K5(J,X),w=await K5(Q,"s3");return await K5(w,"aws4_request")}function s$(D,X,Y){return`${D}/${p$(X,Y)}`}async function K5(D,X){let Y=new TextEncoder,Z=await crypto.subtle.importKey("raw",D instanceof Uint8Array?D:Y.encode(D),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]),J=await crypto.subtle.sign("HMAC",Z,X instanceof Uint8Array?X:Y.encode(X));return new Uint8Array(J)}async function ck(D){if(!D.accessKey)throw new G5;if(!D.secretKey)throw new JX;if(D.expirySeconds<1||D.expirySeconds>604800)throw new xJ;let X=new Date(D.date);X.setSeconds(X.getSeconds()+D.expirySeconds);let Y=s$(D.accessKey,D.region,D.date),Z=W5(D.date),J={"X-Amz-Algorithm":wX,"X-Amz-Credential":Y,"X-Amz-Date":Z,key:D.objectKey,...D.fields},Q=[{bucket:D.bucket},{key:D.objectKey},{"X-Amz-Algorithm":wX},{"X-Amz-Credential":Y},{"X-Amz-Date":Z}];if(D.conditions)Q.push(...D.conditions);for(let[O,H]of Object.entries(D.fields||{})){if(["key","X-Amz-Algorithm","X-Amz-Credential","X-Amz-Date"].includes(O))continue;Q.push({[O]:H})}let w={expiration:X.toISOString(),conditions:Q},F=new TextEncoder().encode(JSON.stringify(w)),B=btoa(String.fromCharCode(...F));J.policy=B;let q=B,$=await r$(D.date,D.region,D.secretKey),G=QX(await K5($,q)).toLowerCase();return J["X-Amz-Signature"]=G,{url:`${D.protocol}//${D.host}/${D.bucket}`,fields:J}}var z30=["Content-Type","Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Expires","x-amz-checksum-sha256","x-amz-grant-full-control","x-amz-grant-read","x-amz-grant-read-acp","x-amz-grant-write-acp","x-amz-server-side-encryption","x-amz-storage-class","x-amz-website-redirect-location","x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5","x-amz-server-side-encryption-aws-kms-key-id","x-amz-server-side-encryption-context","x-amz-server-side-encryption-bucket-key-enabled","x-amz-request-payer","x-amz-tagging","x-amz-object-lock-mode","x-amz-object-lock-retain-until-date","x-amz-object-lock-legal-hold","x-amz-expected-bucket-owner"],M30=5242880,L30=5368709120,o$=5497558138880;class yJ{host;port;protocol;accessKey;#D;sessionToken;defaultBucket;region;userAgent="s3-lite-client";pathStyle;pathPrefix;constructor({endPoint:D,useSSL:X,port:Y,pathPrefix:Z,...J}){if(/^https?:\/\//i.test(D)){if(X!==void 0||Y!==void 0||Z!==void 0)throw new V1("useSSL/port/pathPrefix cannot be specified if endPoint is a URL.");try{let w=new URL(D);if(D=w.hostname,X=w.protocol==="https:",Y=w.port?parseInt(w.port,10):X?443:80,w.pathname&&w.pathname!=="/")Z=w.pathname.endsWith("/")?w.pathname.slice(0,-1):w.pathname}catch{throw new SJ(`Invalid endPoint URL: ${D}`)}}if(typeof D!=="string"||D.length===0)throw new SJ(`Invalid endPoint: ${D}`);if(X===void 0)X=!0;if(Y!==void 0&&!hk(Y))throw new V1(`Invalid port: ${Y}`);if(J.accessKey&&!J.secretKey)throw new V1("If specifying access key, secret key must also be provided.");if(J.accessKey&&J.accessKey.startsWith("ASIA")&&!J.sessionToken)throw new V1("If specifying temporary access key, session token must also be provided.");let Q=X?443:80;if(this.port=Y??Q,this.host=D.toLowerCase()+(this.port!==Q?`:${this.port}`:""),this.protocol=X?"https:":"http:",this.accessKey=J.accessKey,this.#D=J.secretKey??"",this.sessionToken=J.sessionToken,this.pathStyle=J.pathStyle??!0,this.pathPrefix=Z??"",this.defaultBucket=J.bucket,this.region=J.region,this.pathPrefix){if(!this.pathStyle)throw new V1("pathPrefix is incompatible with pathStyle=false");if(!this.pathPrefix.startsWith("/"))throw new V1("pathPrefix should start with /");if(this.pathPrefix.endsWith("/"))throw new V1("pathPrefix should not end with /")}}getBucketName(D){let X=D?.bucketName??this.defaultBucket;if(X===void 0||!_k(X))throw new c$(X??"");return X}buildRequestOptions(D){let X=this.getBucketName(D),Y=this.pathStyle?this.host:`${X}.${this.host}`,Z=D.headers??new Headers;Z.set("host",Y);let J=typeof D.query==="object"?new URLSearchParams(D.query).toString().replace("+","%20"):D.query,Q=this.pathStyle?`${this.pathPrefix}/${X}/${D.objectName}`:`/${D.objectName}`,w=J?`?${J}`:"",F=Q+w,B=Q.split("/").map((q)=>encodeURIComponent(q)).join("/")+w;return{headers:Z,host:Y,path:F,encodedPath:B}}async makeRequest({method:D,payload:X,...Y}){let Z=new Date,{headers:J,host:Q,path:w,encodedPath:F}=this.buildRequestOptions(Y),B=Y.statusCode??200;if(D==="POST"||D==="PUT"||D==="DELETE"){if(X===void 0)X=new Uint8Array;else if(typeof X==="string")X=new TextEncoder().encode(X);J.set("Content-Length",String(X.length))}else if(X)throw Error(`Unexpected payload on ${D} request.`);let q=await fJ(X??new Uint8Array);if(J.set("x-amz-date",W5(Z)),J.set("x-amz-content-sha256",q),this.accessKey){if(this.sessionToken)J.set("x-amz-security-token",this.sessionToken);J.set("authorization",await vk({headers:J,method:D,path:w,accessKey:this.accessKey,secretKey:this.#D,region:this.region,date:Z}))}let $=`${this.protocol}//${Q}${F}`,G=await fetch($,{method:D,headers:J,body:X});if(G.status!==B){if(G.status>=400)throw await uk(G);else if(G.status===301)throw new J9(G.status,"UnexpectedRedirect",'The server unexpectedly returned a redirect response. With AWS S3, this usually means you need to use a region-specific endpoint like "s3.us-west-2.amazonaws.com" instead of "s3.amazonaws.com"');throw new J9(G.status,"UnexpectedStatusCode",`Unexpected response code from the server (expected ${B}, got ${G.status} ${G.statusText}).`)}if(!Y.returnBody)await G.body?.getReader().read();return G}async deleteObject(D,X={}){let Y=this.getBucketName(X);if(!Q9(D))throw new U6(D);let Z=X.versionId?{versionId:X.versionId}:{},J=new Headers;if(X.governanceBypass)J.set("X-Amz-Bypass-Governance-Retention","true");await this.makeRequest({method:"DELETE",bucketName:Y,objectName:D,headers:J,query:Z,statusCode:204})}async exists(D,X){try{return await this.statObject(D,X),!0}catch(Y){if(Y instanceof J9&&Y.statusCode===404)return!1;throw Y}}getObject(D,X){return this.getPartialObject(D,{...X,offset:0,length:0})}async getPartialObject(D,{offset:X,length:Y,...Z}){let J=this.getBucketName(Z);if(!Q9(D))throw new U6(D);let Q=new Headers(Object.entries(Z.metadata??{})),w=200;if(X||Y){let B="";if(X)B=`bytes=${+X}-`;else B="bytes=0-",X=0;if(Y)B+=`${+Y+X-1}`;Q.set("Range",B),w=206}let F={...Z.responseParams,...Z.versionId?{versionId:Z.versionId}:{}};return await this.makeRequest({method:"GET",bucketName:J,objectName:D,headers:Q,query:F,statusCode:w,returnBody:!0})}getPresignedUrl(D,X,Y={}){if(!this.accessKey)throw new G5;if(!Q9(X))throw new U6(X);let{headers:Z,path:J}=this.buildRequestOptions({objectName:X,bucketName:Y.bucketName,query:Y.parameters}),Q=Y.requestDate??new Date,w=Y.expirySeconds??604800;return bk({protocol:this.protocol,headers:Z,method:D,path:J,accessKey:this.accessKey,secretKey:this.#D,sessionToken:this.sessionToken,region:this.region,date:Q,expirySeconds:w})}presignedGetObject(D,X={}){let{versionId:Y,responseParams:Z,...J}=X,Q={...Z,...Y?{versionId:Y}:{}};return this.getPresignedUrl("GET",D,{parameters:Q,...J})}async*listObjects(D={}){for await(let X of this.listObjectsGrouped({...D,delimiter:""}))if(X.type==="Object")yield X;else throw Error(`Unexpected result from listObjectsGrouped(): ${X}`)}async*listObjectsGrouped(D){let X=this.getBucketName(D),Y="",Z=D.pageSize??1000;if(Z<1||Z>1000)throw new V1("pageSize must be between 1 and 1,000.");let J=0;while(!0){let Q=D.maxResults?Math.min(Z,D.maxResults-J):Z;if(Q===0)return;let F=await(await this.makeRequest({method:"GET",bucketName:X,objectName:"",query:{"list-type":"2",prefix:D.prefix??"",delimiter:D.delimiter,"max-keys":String(Q),...Y?{"continuation-token":Y}:{}},returnBody:!0})).text(),B=Z9(F).root;if(!B||B.name!=="ListBucketResult")throw Error(`Unexpected response: ${F}`);let q=B.children.filter((W)=>W.name==="CommonPrefixes").flatMap((W)=>W.children),$=[];for(let W of q)$.push({type:"CommonPrefix",prefix:W.content??""}),J++;for(let W of B.children.filter((O)=>O.name==="Contents"))$.push({type:"Object",key:W.children.find((O)=>O.name==="Key")?.content??"",etag:O5(W.children.find((O)=>O.name==="ETag")?.content??""),size:parseInt(W.children.find((O)=>O.name==="Size")?.content??"",10),lastModified:new Date(W.children.find((O)=>O.name==="LastModified")?.content??"invalid")}),J++;$.sort((W,O)=>{let H=W.type==="Object"?W.key:W.prefix,M=O.type==="Object"?O.key:O.prefix;return H>M?1:H<M?-1:0});for(let W of $)yield W;if(B.children.find((W)=>W.name==="IsTruncated")?.content==="true"){let W=B.children.find((O)=>O.name==="NextContinuationToken")?.content;if(!W)throw Error("Unexpectedly missing continuation token, but server said there are more results.");Y=W}else return}}async putObject(D,X,Y){let Z=this.getBucketName(Y);if(!Q9(D))throw new U6(D);let J,Q;if(typeof X==="string"){let q=new TextEncoder().encode(X);if(typeof ReadableStream.from<"u")Q=ReadableStream.from([q]);else Q=new ReadableStream({start($){$.enqueue(q),$.close()}});J=q.length}else if(X instanceof Uint8Array){if(typeof ReadableStream.from<"u")Q=ReadableStream.from([X]);else Q=new ReadableStream({start(q){q.enqueue(X),q.close()}});J=X.byteLength}else if(X instanceof ReadableStream)Q=X;else throw new V1("Invalid stream/data type provided.");if(Y?.size!==void 0){if(J!==void 0&&Y?.size!==J)throw new V1(`size was specified (${Y.size}) but doesn't match auto-detected size (${J}).`);if(typeof Y.size!=="number"||Y.size<0||isNaN(Y.size))throw new V1(`invalid size specified: ${Y.size}`);else J=Y.size}let w=Y?.partSize??this.calculatePartSize(J);if(w<M30)throw new V1("Part size should be greater than 5MB");else if(w>L30)throw new V1("Part size should be less than 6MB");let F=new d$(w),B=new a$({client:this,bucketName:Z,objectName:D,partSize:w,metadata:Y?.metadata??{}});return await Q.pipeThrough(F).pipeTo(B),B.getResult()}calculatePartSize(D){if(D===void 0)D=o$;if(D>o$)throw TypeError(`size should not be more than ${o$}`);let X=67108864;while(!0){if(X*1e4>D)return X;X+=16777216}}async statObject(D,X){let Y=this.getBucketName(X);if(!Q9(D))throw new U6(D);let Z={};if(X?.versionId)Z.versionId=X.versionId;let J=await this.makeRequest({method:"HEAD",bucketName:Y,objectName:D,query:Z,headers:new Headers(X?.headers)}),Q={};for(let w of z30)if(J.headers.has(w))Q[w]=J.headers.get(w);return J.headers.forEach((w,F)=>{if(F.startsWith("x-amz-meta-"))Q[F]=J.headers.get(F)}),{type:"Object",key:D,size:parseInt(J.headers.get("content-length")??"",10),metadata:Q,lastModified:new Date(J.headers.get("Last-Modified")??"error: missing last modified"),versionId:J.headers.get("x-amz-version-id")||null,etag:O5(J.headers.get("ETag")??"")}}async copyObject(D,X,Y){let Z=this.getBucketName(Y),J=D.sourceBucketName??Z;if(!Q9(X))throw new U6(X);let Q=`${J}/${D.sourceKey}`;if(D.sourceVersionId)Q+=`?versionId=${D.sourceVersionId}`;let w=new Headers(Y?.metadata);if(Y?.metadata!==void 0)w.set("x-amz-metadata-directive","REPLACE");w.set("x-amz-copy-source",Q);let F=await this.makeRequest({method:"PUT",bucketName:Z,objectName:X,headers:w,returnBody:!0}),B=await F.text(),q=Z9(B).root;if(!q||q.name!=="CopyObjectResult")throw Error(`Unexpected response: ${B}`);let $=q.children.find((W)=>W.name==="ETag")?.content??"",G=q.children.find((W)=>W.name==="LastModified")?.content;if(G===void 0)throw Error("Unable to find <LastModified>...</LastModified> from the server.");return{copySourceVersionId:F.headers.get("x-amz-copy-source-version-id")||null,etag:O5($),lastModified:new Date(G),versionId:F.headers.get("x-amz-version-id")||null}}async bucketExists(D){try{return await this.listObjects({bucketName:D}).next(),!0}catch(X){if(X instanceof J9&&X.statusCode===404)return!1;throw X}}async makeBucket(D){await this.makeRequest({method:"PUT",bucketName:this.getBucketName({bucketName:D}),objectName:"",statusCode:200})}async removeBucket(D){await this.makeRequest({method:"DELETE",bucketName:this.getBucketName({bucketName:D}),objectName:"",statusCode:204})}presignedPostObject(D,X={}){if(!Q9(D))throw new U6(D);let Y=this.getBucketName(X);if(!Y)throw Error("Bucket name is required for presignedPost, but none was provided either to this method nor to the client constructor");let Z=X.requestDate||new Date,J=X.expirySeconds??3600;return ck({protocol:this.protocol,host:this.host,bucket:Y,objectKey:D,accessKey:this.accessKey||"",secretKey:this.#D||"",region:this.region,date:Z,expirySeconds:J,conditions:X.conditions,fields:X.fields})}}function lk(D){try{let X=i0(D);return Q8(B4(X,"patch"))}catch{let X=D.match(/^(\d+)\.(\d+)\.(\d+)/);if(X){let[,Y,Z,J]=X;return`${Y}.${Z}.${Number.parseInt(J)+1}`}return"1.0.1"}}async function nk(D,X){let Y=lk(D),Z=X?` for ${X}`:"",J=await M8({message:`How do you want to handle the version${Z}?`,options:[{value:"auto",label:`Auto: Bump patch version (${D} → ${Y})`},{value:"manual",label:"Manual: I'll provide the version number"}]});if(c0(J))return null;if(J==="auto")return K.info(`\uD83D\uDD22 Auto-bumped version from ${D} to ${Y}`),Y;let Q=await R6({message:`Current version is ${D}. Enter new version:`,validate:(w)=>{if(!w)return"Version is required";if(!w.match(/^\d+\.\d+\.\d+/))return"Please enter a valid version (x.y.z)"}});if(c0(Q))return null;return Q}function ik(D){let X=lk(D);try{let Y=i0(D);return[X,Q8(B4(Y,"minor")),`${D}-beta.1`,`${D}.1`]}catch{return[X,`${D}.1`,`${D}-beta.1`,`${D}-rc.1`]}}var z5=require("node:fs"),kJ=require("node:path");function V30(D,X){return z5.readFileSync(D,"utf8").includes(X)}function FX(D,X){let Y=z5.readdirSync(D);for(let Z of Y){let J=kJ.join(D,Z),Q=z5.statSync(J);if(Q.isDirectory()){if(FX(J,X))return!0}else if(Q.isFile()&&kJ.extname(J)===".js"){if(V30(J,X))return!0}}return!1}function uJ(D){if(z5.readdirSync(D).indexOf("index.html")>-1)return!0;return!1}var ou=require("node:buffer"),eu=require("node:crypto"),e7=require("node:fs"),Dh=require("node:os"),V5=require("node:path"),Xh=require("node:process"),dJ=require("node:stream/consumers"),Yh=require("node:zlib");var Zh=R0(su(),1),Jh=R0($Z(),1);async function CX0(D,X){try{let Y=new URL(`${D.hostFilesApi}/files/read/attachments/${encodeURIComponent(X)}`);return Y.searchParams.set("nocache",`${Date.now()}`),(await fetch(Y.toString(),{method:"GET",headers:{range:"bytes=0-0","cache-control":"no-cache"}})).ok}catch{return!1}}var jX0=8192;async function TX0(D){let X=rD(Xh.cwd()),Y=await o1("@capgo/capacitor-updater",X,D.packageJson),Z;try{Z=Y?i0(Y):void 0}catch{Z=void 0}if(!Y||!Z)return{version:null,supportsBrotliV2:!1};let J=!e1(Z,void 0,void 0,XX);return{version:`${Z.major}.${Z.minor}.${Z.patch}`,supportsBrotliV2:J}}function IX0(D,X){if(!X)return!1;let Y=X.split(",").map((Z)=>Z.trim()).filter((Z)=>!!Z);if(Y.length===0)return!1;return Zh.isMatch(D,Y)}async function PX0(D,X,Y){let J=e7.statSync(D).size,Q=await dJ.buffer(e7.createReadStream(D));if(J===0)return{buffer:Q,useBrotli:!1};if(IX0(X,Y.noBrotliPatterns))return{buffer:Q,useBrotli:!1};if(J<jX0)return{buffer:Q,useBrotli:!1};try{let w=await dJ.buffer(e7.createReadStream(D).pipe(Yh.createBrotliCompress({})));if(w.length>=J-10)return{buffer:Q,useBrotli:!1};return{buffer:w,useBrotli:!0}}catch(w){return K.warn(`Brotli compression failed for ${D}: ${w}, using original file`),{buffer:Q,useBrotli:!1}}}async function Qh(D,X,Y,Z,J,Q,w=!1){let F=xD();F.start(J!=="v2"?"Generating the update manifest":`Generating the update manifest with ${w?"V3":"V2"} encryption`);let B=await dy(D);if(J==="v2")for(let q of B)q.hash=w?r7(q.hash,Q):t7(q.hash,Q);return F.stop("Manifest generated successfully"),await z0(X,{channel:"partial-update",event:"Generate manifest",icon:"\uD83D\uDCC2",user_id:Y,tags:{"app-id":Z},notify:!1}),B}function SX0(D){if(Dh.platform()!=="win32")return D;return V5.win32.normalize(D).split(V5.win32.sep).join(V5.posix.sep)}function xX0(D){let X=D.split("/").map((Y)=>encodeURIComponent(Y)).join("/");if(D.includes(" "))K.warn(`File "${D}" contains spaces in its name.`);return X}async function wh(D,X,Y,Z,J,Q,w){let F=xD();F.start("Preparing partial update with TUS protocol");let B=performance.now(),q=await C8(),$=!!(w.partial||w.delta||w.partialOnly||w.deltaOnly),{version:G,supportsBrotliV2:W}=await TX0(w);if(!W)throw Error(`Your project is using an older version of @capgo/capacitor-updater (${G||"unknown"}). To use Delta updates, please upgrade to version ${zJ} (v5), ${MJ} (v6) or ${XX} (v7) or higher.`);else if(w.disableBrotli)K.info("Brotli compression disabled by user request");else if(w.noBrotliPatterns)K.info(`Files matching patterns (${w.noBrotliPatterns}) will be excluded from brotli compression`);let O=X.filter((N)=>N.file.includes(" "));if(O.length>0)throw Error(`Files with spaces in their names (${O.map((N)=>N.file).join(", ")}). Please rename the files.`);let H=0,M=X.length,U=0;try{F.message(`Uploading ${M} files using TUS protocol`);let N=async(C)=>{let y=V5.join(Y,C.file),A=SX0(C.file),k,f=!1;if(w.disableBrotli)k=await dJ.buffer(e7.createReadStream(y)),f=!1;else{let E=await PX0(y,A,w);k=E.buffer,f=E.useBrotli}let S=k;if(Q)S=a7(k,Q.sessionKey,Q.ivSessionKey);let v=A;if(f)v=`${A}.br`,U++;let b=xX0(v),n=eu.createHash("sha256").update(C.hash).digest("hex"),h;if(Q){let E=ou.Buffer.from(Q.ivSessionKey).toString("hex");h=`orgs/${J}/apps/${Z}/delta/${E}/${n}_${b}`}else h=`orgs/${J}/apps/${Z}/delta/${n}_${b}`;if(!Q&&await CX0(q,h))return H++,Promise.resolve({file_name:b,s3_path:h,file_hash:C.hash});return new Promise((E,P)=>{F.message(`Prepare upload partial file: ${A}`);let x=X9(v);new Jh.Upload(S,{endpoint:`${q.hostFilesApi}/files/upload/attachments/`,chunkSize:w.tusChunkSize,retryDelays:[0,1000,3000,5000,1e4],removeFingerprintOnSuccess:!0,metadata:{filename:h,filetype:x},headers:{Authorization:D},onError:(g)=>{let m=g.toString(),a;try{let c=m.match(/response text: (\{.*?\})/);if(c&&c[1])a=JSON.parse(c[1]).moreInfo?.requestId}catch{}let d=a?` [requestId: ${a}]`:"";K.error(`Failed to upload ${A}: ${m}${d}`),P(g)},onProgress(){let g=(H/M*100).toFixed(2);F.message(`Uploading partial update: ${g}%`)},onSuccess(){H++,E({file_name:b,s3_path:h,file_hash:C.hash})}}).start()})},R=500,z=[];for(let C=0;C<X.length;C+=R){let y=X.slice(C,C+R),A=Math.floor(C/R)+1,k=Math.ceil(X.length/R);if(k>1)F.message(`Processing batch ${A}/${k} (${y.length} files)`);let f=await Promise.all(y.map((S)=>N(S)));z.push(...f)}let L=((performance.now()-B)/1000).toFixed(2);if(F.stop(`Partial update uploaded successfully \uD83D\uDCAA in (${L} seconds)`),U>0)K.info(`${U} of ${M} files were compressed with brotli and use .br extension`);return await z0(D,{channel:"app",event:`App Partial TUS done${U>0?" with .br extension":""}`,icon:"⏫",user_id:J,tags:{"app-id":Z},notify:!1}),await z0(D,{channel:"performance",event:"Partial upload performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":Z,time:L},notify:!1}),z}catch(N){let z=((performance.now()-B)/1000).toFixed(2);if(F.stop(`Failed to upload Partial bundle (after ${z} seconds)`),$)throw K.error(`Error uploading partial update: ${N}`),K.error("Delta/partial upload was explicitly requested but failed. Upload aborted."),N;else return K.info(`Error uploading partial update: ${N}, This is not a critical error, the bundle has been uploaded without the partial files`),null}}function $D(D){throw K.error(D),Error(D)}function fX0(D){let X=new MD;X.headers=["Package","Local","Remote","Status","Details"],X.theme=MD.roundTheme,X.rows=[];for(let Y of D){let{name:Z,localVersion:J,remoteVersion:Q}=Y,w=$5(Y),F=w.compatible?"✅":"❌";X.rows.push([Z,J||"-",Q||"-",F,w.message])}K.info(X.toString())}async function yX0(D,X){let Y=D9("",X.packageJson),Z=X.bundle||D?.plugins?.CapacitorUpdater?.version||Y||`0.0.1-beta.${Fh.randomUUID().split("-")[0]}`;if(!d7.test(Z))$D(`Your bundle name ${Z}, is not valid it should follow semver convention : https://semver.org/`);return Z}function kX0(D){let X=D.apikey||Q0();if(!X)$D("Missing API key, you need to provide an API key to upload your bundle");return X}function uX0(D,X,Y){let Z=b0(D,Y),J=X.path||Y?.webDir;if(!Z)$D("Missing argument, you need to provide a appid or be in a capacitor project");if(!J)$D("Missing argument, you need to provide a path (--path), or be in a capacitor project");if(!U5.existsSync(J))$D(`Path ${J} does not exist, build your app first, or provide a valid path`);return{appid:Z,path:J}}function hX0(D,X){let Y=D.codeCheck;if(typeof Y>"u"||Y){if(!FX(X,"notifyAppReady"))$D(`notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready
|
|
394
|
+
If you are sure your app has this code, you can use the --no-code-check option`);if(!uJ(X))$D(`index.html is missing in the root folder of ${X}`)}}async function _X0(D,X,Y,Z,J,Q){let{ignoreMetadataCheck:w,autoMinUpdateVersion:F,minUpdateVersion:B}=Y,{data:q,error:$}=await D.from("channels").select("disable_auto_update, version ( min_update_version, native_packages )").eq("name",Z).eq("app_id",J).single(),G=!!q&&q.disable_auto_update==="version_number",W,O;if(!$&&q&&q.version&&q.version.native_packages&&!w){let U=xD();U.start(`Checking bundle compatibility with channel ${Z}`);let{finalCompatibility:N,localDependencies:R}=await NJ(D,J,Z,Y.packageJson,Y.nodeModules);if(O=N,W=R,O.filter((V)=>!Y9(V)).length>0){if(U.stop(`Bundle NOT compatible with ${Z} channel`),K.warn(""),fX0(O),K.warn(""),K.warn("An app store update may be required for these changes to take effect."),F)B=Q,K.info(`Auto set min-update-version to ${B}`)}else if(F)try{let{min_update_version:V}=q.version;if(!V||!d7.test(V))$D("Invalid remote min update version, skipping auto setting compatibility");B=V,U.stop(`Auto set min-update-version to ${B}`)}catch{$D(`Cannot auto set compatibility, invalid data ${q}`)}else U.stop(`Bundle compatible with ${Z} channel`)}else if(!w){if(K.warn(`Channel ${Z} is new or it's your first upload with compatibility check, it will be ignored this time`),W=await h$(Y.packageJson,Y.nodeModules),F)B=Q,K.info(`Auto set min-update-version to ${B}`)}if(G&&!B&&!w)$D("You need to provide a min-update-version to upload a bundle to this channel");if(B){if(!d7.test(B))$D(`Your minimal version update ${B}, is not valid it should follow semver convention : https://semver.org/`)}let H=W?new Map(W.filter((U)=>!!U.native&&U.native!==void 0).map((U)=>[U.name,U])):new Map;return{nativePackages:H.size>0||!Y.ignoreMetadataCheck?Array.from(H,([U,N])=>({name:U,version:N.version,...N.ios_checksum&&{ios_checksum:N.ios_checksum},...N.android_checksum&&{android_checksum:N.android_checksum}})):void 0,minUpdateVersion:B}}async function vX0(D,X,Y,Z=!1,J=!1){let{data:Q,error:w}=await D.rpc("exist_app_versions",{appid:X,name_version:Y}).single();if(Q||w){if(Z)return K.warn(`Version ${Y} already exists - exiting gracefully due to --silent-fail option`),$0("Bundle version already exists - exiting gracefully \uD83C\uDF89"),!0;if(J){K.error(`❌ Version ${Y} already exists`);let F=ik(Y);K.info("\uD83D\uDCA1 Here are some suggestions:"),F.forEach(($,G)=>{K.info(` ${G+1}. ${$}`)});let B=await M8({message:"What would you like to do?",options:[{value:"suggest1",label:`Use ${F[0]}`},{value:"suggest2",label:`Use ${F[1]}`},{value:"suggest3",label:`Use ${F[2]}`},{value:"suggest4",label:`Use ${F[3]}`},{value:"custom",label:"Enter a custom version"},{value:"cancel",label:"Cancel upload"}]});if(c0(B)||B==="cancel")$D("Upload cancelled by user");let q;if(B==="custom"){let $=await nk(Y,"upload");if(!$)$D("Upload cancelled by user");q=$}else{let $=Number.parseInt(B.replace("suggest",""))-1;q=F[$]}return K.info(`\uD83D\uDD04 Retrying with new version: ${q}`),q}$D(`Version ${Y} already exists ${p(w)}`)}return!1}async function bX0(D,X,Y,Z,J,Q,w,F){let B,q,$="",G=null,W="none",O="",H="",M=X.keyV2,U=X.key===!1,N=xD();N.start(`Zipping bundle from ${D}`),G=await LJ(D),N.message("Calculating checksum");let R=rD(w9.cwd()),z=await o1("@capgo/capacitor-updater",R,X.packageJson),V=!1,L;try{L=z?i0(z):void 0}catch{L=void 0}if(!z)$D("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager");else if(L)V=!e1(L,zJ,MJ,XX);else if(z==="link:@capgo/capacitor-updater"||z==="file:.."||z==="file:../")K.warn("Using local @capgo/capacitor-updater. Assuming latest version for checksum calculation."),V=!0;let C=X.forceCrc32Checksum===!0,y=!C&&((M||X.keyDataV2||U5.existsSync(v1))&&!U||V);if($=await y6(G,y?"sha256":"crc32"),N.stop(`Checksum ${y?"SHA256":"CRC32"}${C?" (forced)":""}: ${$}`),U)K.info("Encryption ignored");else if((M||U5.existsSync(v1)||X.keyDataV2)&&!X.oldEncryption){let f=typeof M==="string"?M:v1,S=X.keyDataV2||"";if(!S&&!U5.existsSync(f))$D(`Cannot find private key ${f}`);if(await z0(Y,{channel:"app",event:"App encryption v2",icon:"\uD83D\uDD11",user_id:Z,tags:{"app-id":J},notify:!1},X.verbose),!S)S=U5.readFileSync(f).toString();let v=L&&!e1(L,"5.30.0","6.30.0","7.30.0");K.info(`Encrypting your bundle with ${v?"V3":"V2"}`);let{sessionKey:b,ivSessionKey:n}=PJ(S),h=a7(G,b,n);if($=v?r7($,S):t7($,S),B=n,q=b,W="v2",O=S,F){if(H=Pk(F),X.verbose)K.info(`[Verbose] Encryption key_id: ${H}`)}if(X.displayIvSession)K.info(`Your Iv Session key is ${B},
|
|
395
395
|
keep it safe, you will need it to decrypt your bundle.
|
|
396
396
|
It will be also visible in your dashboard
|
|
397
397
|
`);G=h}let A=Math.floor((G?.byteLength??0)/1024/1024),k=Math.floor(Q/1024/1024);if(G?.byteLength>Q)$D(`The bundle size is ${A} Mb, this is greater than the maximum upload length ${k} Mb, please reduce the size of your bundle`);else if(G?.byteLength>w){if(K.warn(`WARNING !!
|
|
398
398
|
The bundle size is ${A} Mb, this may take a while to download for users
|
|
399
399
|
`),K.info(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
|
|
400
|
-
`),X.verbose)K.info("[Verbose] Bundle size details:"),K.info(` - Actual size: ${A} MB (${G?.byteLength} bytes)`),K.info(` - Alert threshold: ${Math.floor(w/1024/1024)} MB`),K.info(` - Maximum allowed: ${k} MB`),K.info("[Verbose] Sending 'App Too Large' event to analytics...");if(await
|
|
401
|
-
Bundle uploaded \uD83D\uDCAA in 0 seconds`),w.verbose)K.info("[Verbose] Dry upload mode - skipping actual upload");return}try{let O=await C8();if(w.verbose)K.info("[Verbose] Local config retrieved for upload");if(w.multipart!==void 0&&w.multipart||w.tus!==void 0&&w.tus){if(w.multipart)K.info("Uploading bundle with multipart is deprecated, we upload with TUS instead");else K.info("Uploading bundle with TUS protocol");if(w.verbose)K.info("[Verbose] Starting TUS resumable upload..."),K.info(` - Host: ${O.hostWeb}`),K.info(` - Chunk size: ${Math.floor(F/1024/1024)} MB`);if(await cy(D,Q,J,Y,Z,B,O,F),$=!0,w.verbose)K.info("[Verbose] TUS upload completed, updating database with R2 path...");let H=`orgs/${J}/apps/${Y}/${Z}.zip`,{error:M}=await X.from("app_versions").update({r2_path:H}).eq("name",Z).eq("app_id",Y);if(M){if(K.error(`Cannot finish TUS upload ${p(M)}`),w.verbose)K.info(`[Verbose] Database update failed: ${p(M)}`);return Promise.reject(Error("Cannot finish TUS upload"))}if(w.verbose)K.info(`[Verbose] Database updated with R2 path: ${H}`)}else{if(w.verbose)K.info("[Verbose] Using standard upload (non-TUS), getting presigned URL...");let H=await gy(X,Y,Z);if(!H){if(K.error("Cannot get upload url"),w.verbose)K.info("[Verbose] Failed to retrieve presigned upload URL from database");return Promise.reject(Error("Cannot get upload url"))}if(w.verbose)K.info("[Verbose] Presigned URL obtained, uploading via HTTP PUT..."),K.info(` - Timeout: ${w.timeout||y$}ms`),K.info(" - Retry attempts: 5"),K.info(" - Content-Type: application/zip");let M=new AbortController,U=setTimeout(()=>M.abort(),w.timeout||y$);try{let N=await fetch(H,{method:"PUT",body:Q,headers:{"Content-Type":"application/zip"},signal:M.signal});if(!N.ok)throw Error(`HTTP error! status: ${N.status}`)}finally{clearTimeout(U)}if(w.verbose)K.info("[Verbose] HTTP PUT upload completed successfully")}}catch(O){let M=((performance.now()-q)/1000).toFixed(2);if(B.stop(`Failed to upload bundle ( after ${M} seconds)`),w.verbose)K.info(`[Verbose] Upload failed after ${M} seconds`),K.info(`[Verbose] Error type: ${O instanceof Error?"Error":typeof O}`);if(O instanceof Error&&O.message.includes("HTTP error"))try{let U=O.message.match(/status: (\d+)/),N=U?U[1]:"unknown";K.error(`Upload failed with status ${N}: ${O.message}`)}catch{K.error(`Upload failed: ${O.message}`)}else{if(w.verbose)K.info(`[Verbose] Non-HTTP error: ${p(O)}`);if(!w.tus)K.error(`Cannot upload bundle ( try again with --tus option) ${p(O)}`);else K.error(`Cannot upload bundle please contact support if the issue persists ${p(O)}`)}if(w.verbose)K.info("[Verbose] Cleaning up failed version from database...");if(await ly(X,Y,Z),w.verbose)K.info("[Verbose] Failed version cleaned up");throw O instanceof Error?O:Error(String(O))}let W=((performance.now()-q)/1000).toFixed(2);if(B.stop(`Bundle uploaded \uD83D\uDCAA in (${W} seconds)`),w.verbose)K.info("[Verbose] Upload successful:"),K.info(` - Upload time: ${W} seconds`),K.info(` - Upload method: ${$?"TUS (resumable)":"Standard HTTP PUT"}`),K.info(` - Bundle size: ${Math.floor(Q.byteLength/1024)} KB`),K.info("[Verbose] Sending performance event...");if(await A0(D,{channel:"performance",event:$?"TUS upload zip performance":"Upload zip performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":Y,time:W},notify:!1},w.verbose),w.verbose)K.info("[Verbose] Performance event sent successfully")}async function mX0(D,X,Y){let{data:Z,error:J}=await D.from("channels").select("version ( id, name, deleted )").eq("app_id",X).eq("name",Y);if(J){K.error(`Cannot delete linked bundle on upload ${p(J)}`);return}if(Z.length===0){K.warn("No linked bundle found in the channel you are trying to upload to");return}let Q=Z[0].version;if(Q.deleted){K.warn("The linked bundle is already deleted");return}let{error:w}=await D.from("app_versions").update({deleted:!0}).eq("id",Q.id);if(w){K.error(`Cannot delete linked bundle on upload ${p(w)}`);return}K.info("Linked bundle deleted")}async function dX0(D,X,Y,Z,J,Q,w,F,B,q){let{data:$}=await D.rpc("get_app_versions",{apikey:X,name_version:Z,appid:F}).single();if(!$)$D("Cannot get version id, cannot set channel");let{data:G}=await D.rpc("is_allowed_capgkey",{apikey:X,keymode:["write","all"]}).single();if(G){let{error:W,data:O}=await VJ(D,{name:J,app_id:F,created_by:Q,version:$,owner_org:w,...q?{allow_device_self_set:!0}:{}});if(W)$D(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${p(W)}`);let H=`${B.hostWeb}/app/${F}/channel/${O.id}`;if(O?.public)K.info("Your update is now available in your public channel \uD83C\uDF89");else if(O?.id)K.info(`Link device to this bundle to try it: ${H}`);if(Y)K.info(`Bundle url: ${H}`)}else K.warn("The upload key is not allowed to set the version in the channel")}async function cX0(D,X,Y){let{error:Z,data:J}=await X.from("apps").select("default_upload_channel").eq("app_id",D).single();if(Z)return K.warn("Cannot find default upload channel"),K.info(`You can set it here: ${Y}/app/${D}/info`),null;return J.default_upload_channel}async function WG(D,X,Y=!1){if(!Y)q0(`Uploading with CLI version ${o8.version}`);let Z,J=q5();await o0();let{s3Region:Q,s3Apikey:w,s3Apisecret:F,s3BucketName:B,s3Endpoint:q,s3Port:$,s3SSL:G}=X;if(X.verbose)K.info("[Verbose] Starting upload process with options:"),K.info(` - API key: ${X.apikey?"provided":"from saved key"}`),K.info(` - Path: ${X.path||"from capacitor config"}`),K.info(` - Channel: ${X.channel||"from default upload channel"}`),K.info(` - Bundle: ${X.bundle||"auto-detected"}`),K.info(` - External: ${X.external||"false"}`),K.info(` - Encryption: ${X.keyV2||X.keyDataV2?"v2":X.key===!1?"disabled":"auto"}`),K.info(` - Upload method: ${X.tus?"TUS":X.zip?"ZIP":"auto"}`),K.info(` - Delta updates: ${X.delta||X.partial?"enabled":"disabled"}`);let W=kX0(X);if(X.verbose)K.info("[Verbose] API key retrieved successfully");let O=await H0();if(X.verbose)K.info("[Verbose] Capacitor config loaded successfully");let H=await yy();if(X.verbose)K.info("[Verbose] Remote file config retrieved:"),K.info(` - Max upload length: ${Math.floor(H.maxUploadLength/1024/1024)} MB`),K.info(` - Alert upload size: ${Math.floor(H.alertUploadSize/1024/1024)} MB`),K.info(` - TUS upload: ${H.TUSUpload?"enabled":"disabled"}`),K.info(` - TUS upload forced: ${H.TUSUploadForced?"yes":"no"}`),K.info(` - Partial upload: ${H.partialUpload?"enabled":"disabled"}`),K.info(` - Max chunk size: ${Math.floor(H.maxChunkSize/1024/1024)} MB`);let{appid:M,path:U}=uX0(D,X,O.config);if(X.verbose)K.info(`[Verbose] App ID: ${M}, Build path: ${U}`);let N=await yX0(O.config,X);if(X.verbose)K.info(`[Verbose] Bundle version: ${N}`);let R=X.external?"external":"r2-direct",z="none";if(X.autoSetBundle){if(await xy({version:N}),X.verbose)K.info("[Verbose] Auto-set bundle version in capacitor.config.json")}if(hX0(X,U),X.verbose)K.info("[Verbose] Code check passed (notifyAppReady found and index.html present)");K.info(`Upload ${M}@${N} started from path "${U}" to Capgo cloud`);let V=await C8();if(X.verbose)K.info(`[Verbose] Local config loaded: host=${V.hostWeb}`);if(X.supaHost&&X.supaAnon){if(K.info("Using custom supabase instance from provided options"),V.supaHost=X.supaHost,V.supaKey=X.supaAnon,X.verbose)K.info(`[Verbose] Custom Supabase host: ${X.supaHost}`)}let L=await K0(W,X.supaHost,X.supaAnon);if(X.verbose)K.info("[Verbose] Supabase client created successfully");await _D(L,M,Y);let C=await U0(L,W,["write","all","upload"]);if(X.verbose)K.info(`[Verbose] User verified successfully, user_id: ${C}`);let y=X.channel||await cX0(M,L,V.hostWeb)||"production";if(X.verbose)K.info(`[Verbose] Target channel: ${y}`);let A=await B1(L,M);if(X.verbose)K.info(`[Verbose] Organization ID: ${A}`);if(await _y(L,A,o8.version),X.verbose)K.info("[Verbose] Remote CLI messages checked");if(await by(L,A,W,M,!0),X.verbose)K.info("[Verbose] Plan validation passed");if(X.verbose)K.info("[Verbose] Trial check completed");if(X.verbose)K.info(`[Verbose] Checking compatibility with channel ${y}...`);let{nativePackages:k,minUpdateVersion:f}=await _X0(L,J,X,y,M,N);if(X.verbose)K.info("[Verbose] Compatibility check completed:"),K.info(` - Native packages: ${k?k.length:0}`),K.info(` - Min update version: ${f||"none"}`);if(X.verbose)K.info(`[Verbose] Checking if version ${N} already exists...`);let S=!Y&&!!w9.stdin.isTTY&&!!w9.stdout.isTTY,v=await vX0(L,M,N,X.versionExistsOk,S);if(X.verbose)K.info(`[Verbose] Version exists check: ${v?typeof v==="string"?`retry with ${v}`:"yes (skipping)":"no (continuing)"}`);if(v===!0)return{success:!0,skipped:!0,reason:"VERSION_EXISTS",bundle:N,checksum:null,encryptionMethod:z,storageProvider:R};if(typeof v==="string")return K.info(`Retrying upload with new version: ${v}`),WG(D,{...X,bundle:v},Y);if(X.external&&!X.external.startsWith("https://"))$D(`External link should should start with "https://" current is "${X.external}"`);if(X.deleteLinkedBundleOnUpload)K.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),K.warn("Please make sure you want to do this, if you are not sure, please do not use this option.");let b={name:N,app_id:M,session_key:void 0,external_url:X.external,storage_provider:R,min_update_version:f,native_packages:k,owner_org:A,user_id:C,checksum:void 0,link:X.link||null,comment:X.comment||null,key_id:void 0,cli_version:o8.version},n=null,h="";if(!X.external){if(X.verbose)K.info(`[Verbose] Preparing bundle file from path: ${U}`);let c=O.config?.plugins?.CapacitorUpdater?.publicKey,{zipped:o,ivSessionKey:I,checksum:j,sessionKey:l,encryptionMethod:u,finalKeyData:w0,keyId:i}=await bX0(U,X,W,A,M,H.maxUploadLength,H.alertUploadSize,c);if(b.session_key=I,b.checksum=j,b.key_id=i||void 0,Z=l,n=o,z=u,h=w0,X.verbose)K.info("[Verbose] Bundle prepared:"),K.info(` - Size: ${Math.floor((o?.byteLength??0)/1024)} KB`),K.info(` - Checksum: ${j}`),K.info(` - Encryption: ${u}`),K.info(` - IV Session Key: ${I?"present":"none"}`),K.info(` - Key ID: ${i||"none"}`);if(!X.ignoreChecksumCheck){if(X.verbose)K.info("[Verbose] Checking for duplicate checksum...");if(await ay(L,M,y,j),X.verbose)K.info("[Verbose] Checksum is unique")}}else{if(X.verbose)K.info(`[Verbose] Using external URL: ${X.external}`);if(await A0(W,{channel:"app",event:"App external",icon:"\uD83D\uDCE4",user_id:A,tags:{"app-id":M},notify:!1},X.verbose),b.session_key=X.ivSessionKey,b.checksum=X.encryptedChecksum,X.verbose)K.info("[Verbose] External bundle configured:"),K.info(` - URL: ${X.external}`),K.info(` - IV Session Key: ${X.ivSessionKey?"provided":"none"}`),K.info(` - Encrypted Checksum: ${X.encryptedChecksum?"provided":"none"}`)}if(X.zip){if(X.tus=!1,X.verbose)K.info("[Verbose] Upload method: ZIP (explicitly set via --zip)")}else if(!H.TUSUpload||X.external){if(X.tus=!1,X.verbose)K.info("[Verbose] Upload method: Standard (TUS not available or external URL)")}else if(X.tus=X.tus||H.TUSUploadForced,X.verbose)K.info(`[Verbose] Upload method: ${X.tus?"TUS (resumable)":"Standard"}`);if(!H.partialUpload||X.external){if(X.delta=!1,X.verbose&&X.external)K.info("[Verbose] Delta updates disabled (not available with external URLs)")}else if(X.delta=X.delta||X.partial||X.deltaOnly||X.partialOnly||H.partialUploadForced,X.verbose)K.info(`[Verbose] Delta updates: ${X.delta?"enabled":"disabled"}`);if(X.encryptPartial&&z==="v1")$D("You cannot encrypt the partial update if you are not using the v2 encryption method");let E="5.30.0",P="6.30.0",x="7.30.0",_=!1;if(X.delta&&z==="v2"&&!X.encryptPartial){let c=tD(w9.cwd()),o=await o1("@capgo/capacitor-updater",c,X.packageJson),I;try{I=o?i0(o):void 0}catch{I=void 0}if(o&&I&&eG(I,i0("6.14.4"))){if(K.info(`Auto-enabling partial update encryption for updater version ${I} (> 6.14.4)`),X.verbose)K.info("[Verbose] Partial encryption auto-enabled for updater >= 6.14.4");X.encryptPartial=!0}}if(X.delta&&(X.encryptPartial||z==="v2")){let c=tD(w9.cwd()),o=await o1("@capgo/capacitor-updater",c,X.packageJson),I;try{I=o?i0(o):void 0}catch{I=void 0}if(o&&I){if(_=!e1(I,E,P,x),X.verbose&&_)K.info(`[Verbose] Using hex checksum format for updater version ${I}`)}}if(X.verbose&&X.delta)K.info("[Verbose] Preparing delta/partial update manifest...");let g=X.delta?await Qh(U,W,A,M,X.encryptPartial?z:"none",h,_):[];if(X.verbose&&X.delta)K.info(`[Verbose] Delta manifest prepared with ${g.length} files`);if(X.verbose)K.info("[Verbose] Creating version record in database...");let{error:m}=await k$(L,b);if(m)$D(`Cannot add bundle ${p(m)}`);if(X.verbose)K.info("[Verbose] Version record created successfully");if(X.tusChunkSize&&X.tusChunkSize>H.maxChunkSize)K.error(`Chunk size ${X.tusChunkSize} is greater than the maximum chunk size ${H.maxChunkSize}, using the maximum chunk size`),X.tusChunkSize=H.maxChunkSize;else if(!X.tusChunkSize)X.tusChunkSize=H.maxChunkSize;if(X.verbose)K.info(`[Verbose] TUS chunk size: ${Math.floor(X.tusChunkSize/1024/1024)} MB`);if(n&&(B||q||Q||w||F||$||G)){if(!B||!q||!Q||!w||!F||!$)$D("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret");if(K.info("Uploading to S3"),X.verbose)K.info("[Verbose] S3 configuration:"),K.info(` - Endpoint: ${q}`),K.info(` - Region: ${Q}`),K.info(` - Bucket: ${B}`),K.info(` - Port: ${$}`),K.info(` - SSL: ${G?"enabled":"disabled"}`);let c=G?`https://${q}`:`http://${q}`,o=new yJ({endPoint:q,region:Q,port:$,pathStyle:!0,bucket:B,accessKey:w,secretKey:F}),I=`${M}-${N}`,j=encodeURIComponent(I);if(X.verbose)K.info(`[Verbose] Uploading to S3 as: ${I}`);if(await o.putObject(I,Uint8Array.from(n)),b.external_url=`${c}/${j}`,b.storage_provider="external",X.verbose)K.info(`[Verbose] S3 upload complete, external URL: ${b.external_url}`)}else if(n){if(!X.partialOnly&&!X.deltaOnly){if(X.verbose)K.info("[Verbose] Starting full bundle upload to Capgo Cloud...");await gX0(W,L,M,N,A,n,X,X.tusChunkSize)}else if(X.verbose)K.info("[Verbose] Skipping full bundle upload (delta-only mode)");let c=null;try{if(X.dryUpload){if(X.delta=!1,X.verbose)K.info("[Verbose] Dry upload mode: skipping delta upload")}let I=b.session_key&&X.encryptPartial&&Z?{sessionKey:Z,ivSessionKey:b.session_key}:void 0;if(X.verbose&&X.delta)K.info("[Verbose] Starting delta/partial file upload..."),K.info(` - Manifest entries: ${g.length}`),K.info(` - Encryption: ${I?"enabled":"disabled"}`);if(c=X.delta?await wh(W,g,U,M,A,I,X):null,X.verbose&&c)K.info(`[Verbose] Delta upload complete with ${c.length} files`)}catch(I){if(!!(X.partial||X.delta||X.partialOnly||X.deltaOnly))throw I;if(K.info(`Failed to upload partial files to capgo cloud. Error: ${p(I)}. This is not a critical error, the bundle has been uploaded without the partial files`),X.verbose)K.info(`[Verbose] Delta upload error details: ${p(I)}`)}if(b.storage_provider="r2",b.manifest=c,X.verbose)K.info("[Verbose] Updating version record with storage provider and manifest...");let{error:o}=await k$(L,b);if(o)$D(`Cannot update bundle ${p(o)}`);if(X.verbose)K.info("[Verbose] Version record updated successfully")}if(X.verbose)K.info("[Verbose] Checking app permissions...");let a=await CD(L,W,M,2,!1,!0);if(X.verbose)K.info("[Verbose] Permissions:"),K.info(` - Upload: ${c7(a,2)?"yes":"no"}`),K.info(` - Write: ${c7(a,3)?"yes":"no"}`),K.info(` - Admin: ${c7(a,4)?"yes":"no"}`);if(X.deleteLinkedBundleOnUpload&&c7(a,3)){if(X.verbose)K.info(`[Verbose] Deleting linked bundle in channel ${y}...`);await mX0(L,M,y)}else if(X.deleteLinkedBundleOnUpload)K.warn("Cannot delete linked bundle on upload as a upload organization member");if(c7(a,3)){if(X.verbose)K.info(`[Verbose] Setting bundle ${N} to channel ${y}...`);if(await dX0(L,W,!!X.bundleUrl,N,y,C,A,M,V,X.selfAssign),X.verbose)K.info("[Verbose] Channel updated successfully")}else K.warn("Cannot set channel as a upload organization member");if(X.verbose)K.info("[Verbose] Sending upload event...");await A0(W,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:A,tags:{"app-id":M},notify:!1},X.verbose);let d={success:!0,bundle:N,checksum:b.checksum??null,encryptionMethod:z,sessionKey:Z?Z.toString("base64"):void 0,ivSessionKey:typeof b.session_key==="string"?b.session_key:void 0,storageProvider:b.storage_provider};if(X.verbose)K.info("[Verbose] Upload completed successfully:"),K.info(` - Bundle: ${d.bundle}`),K.info(` - Checksum: ${d.checksum}`),K.info(` - Encryption: ${d.encryptionMethod}`),K.info(` - Storage: ${d.storageProvider}`);if(Y&&!d.skipped)$0("Time to share your update to the world \uD83C\uDF0D");return d}var Bh=require("node:crypto"),cJ=require("node:fs"),qh=require("node:process");var lX0=20;function nX0(D){console.log(JSON.stringify(D,null,2))}function OX(D){console.error(p(D))}async function $h(D,X,Y=!1){let{json:Z}=X,{bundle:J,path:Q}=X,w=!Z&&!Y;try{if(w)await o0();let F=await H0(),B=b0(D,F?.config),q=Bh.randomUUID().split("-")[0],$=D9("",X.packageJson);if(J=J||$||`0.0.1-beta.${q}`,w)q0(`Zipping ${B}@${J}`);if(J&&!d7.test(J)){let C=`Your bundle name ${J}, is not valid it should follow semver convention : https://semver.org/`;if(!Y)if(Z)OX({error:"invalid_semver"});else K.error(C);throw Error("Invalid bundle version format")}if(Q=Q||F?.config?.webDir,!B||!J||!Q){if(!Y)if(Z)OX({error:"missing_argument"});else K.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project");throw Error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project")}if(w)K.info(`Started from path "${Q}"`);if(typeof X.codeCheck>"u"?!0:X.codeCheck){if(!FX(Q,"notifyAppReady")){if(!Y)if(Z)OX({error:"notifyAppReady_not_in_source_code"});else K.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready");throw Error("notifyAppReady() is missing in build folder")}if(!uJ(Q)){if(!Y)if(Z)OX({error:"index_html_not_found"});else K.error(`index.html is missing in the root folder of ${Q}`);throw Error("index.html is missing in root folder")}}let W=await LJ(Q);if(w)K.info(`Zipped ${W.byteLength} bytes`);let O=w?xD():null;if(O)O.start("Calculating checksum");let H=tD(qh.cwd()),M=await o1("@capgo/capacitor-updater",H,X.packageJson);if(!M){if(!Y)K.warn("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager");throw Error("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager")}let U=!1,N;try{N=M?i0(M):void 0}catch{N=void 0}if(N)U=!e1(N,void 0,void 0,"7.0.0");else if(M==="link:@capgo/capacitor-updater"){if(!Y)K.warn("Using local @capgo/capacitor-updater. Assuming v7");U=!0}let R=await y6(W,X.keyV2||cJ.existsSync(v1)||U?"sha256":"crc32");if(O)O.stop(`Checksum ${U?"SHA256":"CRC32"}: ${R}`);let z=Math.floor(W.byteLength/1024/1024);if(z>lX0&&w)K.warn(`WARNING !!
|
|
400
|
+
`),X.verbose)K.info("[Verbose] Bundle size details:"),K.info(` - Actual size: ${A} MB (${G?.byteLength} bytes)`),K.info(` - Alert threshold: ${Math.floor(w/1024/1024)} MB`),K.info(` - Maximum allowed: ${k} MB`),K.info("[Verbose] Sending 'App Too Large' event to analytics...");if(await z0(Y,{channel:"app-error",event:"App Too Large",icon:"\uD83D\uDE9B",user_id:Z,tags:{"app-id":J},notify:!1},X.verbose),X.verbose)K.info("[Verbose] Event sent successfully")}else if(X.verbose)K.info(`[Verbose] Bundle size OK: ${A} MB (under ${Math.floor(w/1024/1024)} MB alert threshold)`);if(X.verbose)K.info("[Verbose] Bundle preparation complete, returning bundle data");return{zipped:G,ivSessionKey:B,sessionKey:q,checksum:$,encryptionMethod:W,finalKeyData:O,keyId:H}}async function gX0(D,X,Y,Z,J,Q,w,F){let B=xD();B.start("Uploading Bundle");let q=performance.now(),$=!1;if(w.verbose)K.info("[Verbose] uploadBundleToCapgoCloud called:"),K.info(` - Bundle size: ${Math.floor(Q.byteLength/1024)} KB`),K.info(` - App ID: ${Y}`),K.info(` - Bundle version: ${Z}`),K.info(` - Chunk size: ${Math.floor(F/1024/1024)} MB`);if(w.dryUpload){if(B.stop(`Dry run, bundle not uploaded
|
|
401
|
+
Bundle uploaded \uD83D\uDCAA in 0 seconds`),w.verbose)K.info("[Verbose] Dry upload mode - skipping actual upload");return}try{let O=await C8();if(w.verbose)K.info("[Verbose] Local config retrieved for upload");if(w.multipart!==void 0&&w.multipart||w.tus!==void 0&&w.tus){if(w.multipart)K.info("Uploading bundle with multipart is deprecated, we upload with TUS instead");else K.info("Uploading bundle with TUS protocol");if(w.verbose)K.info("[Verbose] Starting TUS resumable upload..."),K.info(` - Host: ${O.hostWeb}`),K.info(` - Chunk size: ${Math.floor(F/1024/1024)} MB`);if(await cy(D,Q,J,Y,Z,B,O,F),$=!0,w.verbose)K.info("[Verbose] TUS upload completed, updating database with R2 path...");let H=`orgs/${J}/apps/${Y}/${Z}.zip`,{error:M}=await X.from("app_versions").update({r2_path:H}).eq("name",Z).eq("app_id",Y);if(M){if(K.error(`Cannot finish TUS upload ${p(M)}`),w.verbose)K.info(`[Verbose] Database update failed: ${p(M)}`);return Promise.reject(Error("Cannot finish TUS upload"))}if(w.verbose)K.info(`[Verbose] Database updated with R2 path: ${H}`)}else{if(w.verbose)K.info("[Verbose] Using standard upload (non-TUS), getting presigned URL...");let H=await gy(X,Y,Z);if(!H){if(K.error("Cannot get upload url"),w.verbose)K.info("[Verbose] Failed to retrieve presigned upload URL from database");return Promise.reject(Error("Cannot get upload url"))}if(w.verbose)K.info("[Verbose] Presigned URL obtained, uploading via HTTP PUT..."),K.info(` - Timeout: ${w.timeout||y$}ms`),K.info(" - Retry attempts: 5"),K.info(" - Content-Type: application/zip");let M=new AbortController,U=setTimeout(()=>M.abort(),w.timeout||y$);try{let N=await fetch(H,{method:"PUT",body:Q,headers:{"Content-Type":"application/zip"},signal:M.signal});if(!N.ok)throw Error(`HTTP error! status: ${N.status}`)}finally{clearTimeout(U)}if(w.verbose)K.info("[Verbose] HTTP PUT upload completed successfully")}}catch(O){let M=((performance.now()-q)/1000).toFixed(2);if(B.stop(`Failed to upload bundle ( after ${M} seconds)`),w.verbose)K.info(`[Verbose] Upload failed after ${M} seconds`),K.info(`[Verbose] Error type: ${O instanceof Error?"Error":typeof O}`);if(O instanceof Error&&O.message.includes("HTTP error"))try{let U=O.message.match(/status: (\d+)/),N=U?U[1]:"unknown";K.error(`Upload failed with status ${N}: ${O.message}`)}catch{K.error(`Upload failed: ${O.message}`)}else{if(w.verbose)K.info(`[Verbose] Non-HTTP error: ${p(O)}`);if(!w.tus)K.error(`Cannot upload bundle ( try again with --tus option) ${p(O)}`);else K.error(`Cannot upload bundle please contact support if the issue persists ${p(O)}`)}if(w.verbose)K.info("[Verbose] Cleaning up failed version from database...");if(await ly(X,Y,Z),w.verbose)K.info("[Verbose] Failed version cleaned up");throw O instanceof Error?O:Error(String(O))}let W=((performance.now()-q)/1000).toFixed(2);if(B.stop(`Bundle uploaded \uD83D\uDCAA in (${W} seconds)`),w.verbose)K.info("[Verbose] Upload successful:"),K.info(` - Upload time: ${W} seconds`),K.info(` - Upload method: ${$?"TUS (resumable)":"Standard HTTP PUT"}`),K.info(` - Bundle size: ${Math.floor(Q.byteLength/1024)} KB`),K.info("[Verbose] Sending performance event...");if(await z0(D,{channel:"performance",event:$?"TUS upload zip performance":"Upload zip performance",icon:"\uD83D\uDE84",user_id:J,tags:{"app-id":Y,time:W},notify:!1},w.verbose),w.verbose)K.info("[Verbose] Performance event sent successfully")}async function mX0(D,X,Y){let{data:Z,error:J}=await D.from("channels").select("version ( id, name, deleted )").eq("app_id",X).eq("name",Y);if(J){K.error(`Cannot delete linked bundle on upload ${p(J)}`);return}if(Z.length===0){K.warn("No linked bundle found in the channel you are trying to upload to");return}let Q=Z[0].version;if(Q.deleted){K.warn("The linked bundle is already deleted");return}let{error:w}=await D.from("app_versions").update({deleted:!0}).eq("id",Q.id);if(w){K.error(`Cannot delete linked bundle on upload ${p(w)}`);return}K.info("Linked bundle deleted")}async function dX0(D,X,Y,Z,J,Q,w,F,B,q){let{data:$}=await D.rpc("get_app_versions",{apikey:X,name_version:Z,appid:F}).single();if(!$)$D("Cannot get version id, cannot set channel");let{data:G}=await D.rpc("is_allowed_capgkey",{apikey:X,keymode:["write","all"]}).single();if(G){let{error:W,data:O}=await VJ(D,{name:J,app_id:F,created_by:Q,version:$,owner_org:w,...q?{allow_device_self_set:!0}:{}});if(W)$D(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${p(W)}`);let H=`${B.hostWeb}/app/${F}/channel/${O.id}`;if(O?.public)K.info("Your update is now available in your public channel \uD83C\uDF89");else if(O?.id)K.info(`Link device to this bundle to try it: ${H}`);if(Y)K.info(`Bundle url: ${H}`)}else K.warn("The upload key is not allowed to set the version in the channel")}async function cX0(D,X,Y){let{error:Z,data:J}=await X.from("apps").select("default_upload_channel").eq("app_id",D).single();if(Z)return K.warn("Cannot find default upload channel"),K.info(`You can set it here: ${Y}/app/${D}/info`),null;return J.default_upload_channel}async function WG(D,X,Y=!1){if(!Y)q0(`Uploading with CLI version ${o8.version}`);let Z,J=q5();await o0();let{s3Region:Q,s3Apikey:w,s3Apisecret:F,s3BucketName:B,s3Endpoint:q,s3Port:$,s3SSL:G}=X;if(X.verbose)K.info("[Verbose] Starting upload process with options:"),K.info(` - API key: ${X.apikey?"provided":"from saved key"}`),K.info(` - Path: ${X.path||"from capacitor config"}`),K.info(` - Channel: ${X.channel||"from default upload channel"}`),K.info(` - Bundle: ${X.bundle||"auto-detected"}`),K.info(` - External: ${X.external||"false"}`),K.info(` - Encryption: ${X.keyV2||X.keyDataV2?"v2":X.key===!1?"disabled":"auto"}`),K.info(` - Upload method: ${X.tus?"TUS":X.zip?"ZIP":"auto"}`),K.info(` - Delta updates: ${X.delta||X.partial?"enabled":"disabled"}`);let W=kX0(X);if(X.verbose)K.info("[Verbose] API key retrieved successfully");let O=await H0();if(X.verbose)K.info("[Verbose] Capacitor config loaded successfully");let H=await yy();if(X.verbose)K.info("[Verbose] Remote file config retrieved:"),K.info(` - Max upload length: ${Math.floor(H.maxUploadLength/1024/1024)} MB`),K.info(` - Alert upload size: ${Math.floor(H.alertUploadSize/1024/1024)} MB`),K.info(` - TUS upload: ${H.TUSUpload?"enabled":"disabled"}`),K.info(` - TUS upload forced: ${H.TUSUploadForced?"yes":"no"}`),K.info(` - Partial upload: ${H.partialUpload?"enabled":"disabled"}`),K.info(` - Max chunk size: ${Math.floor(H.maxChunkSize/1024/1024)} MB`);let{appid:M,path:U}=uX0(D,X,O.config);if(X.verbose)K.info(`[Verbose] App ID: ${M}, Build path: ${U}`);let N=await yX0(O.config,X);if(X.verbose)K.info(`[Verbose] Bundle version: ${N}`);let R=X.external?"external":"r2-direct",z="none";if(X.autoSetBundle){if(await xy({version:N}),X.verbose)K.info("[Verbose] Auto-set bundle version in capacitor.config.json")}if(hX0(X,U),X.verbose)K.info("[Verbose] Code check passed (notifyAppReady found and index.html present)");K.info(`Upload ${M}@${N} started from path "${U}" to Capgo cloud`);let V=await C8();if(X.verbose)K.info(`[Verbose] Local config loaded: host=${V.hostWeb}`);if(X.supaHost&&X.supaAnon){if(K.info("Using custom supabase instance from provided options"),V.supaHost=X.supaHost,V.supaKey=X.supaAnon,X.verbose)K.info(`[Verbose] Custom Supabase host: ${X.supaHost}`)}let L=await K0(W,X.supaHost,X.supaAnon);if(X.verbose)K.info("[Verbose] Supabase client created successfully");await _D(L,M,Y);let C=await N0(L,W,["write","all","upload"]);if(X.verbose)K.info(`[Verbose] User verified successfully, user_id: ${C}`);let y=X.channel||await cX0(M,L,V.hostWeb)||"production";if(X.verbose)K.info(`[Verbose] Target channel: ${y}`);let A=await pD(L,M);if(X.verbose)K.info(`[Verbose] Organization ID: ${A}`);if(await _y(L,A,o8.version),X.verbose)K.info("[Verbose] Remote CLI messages checked");if(await by(L,A,W,M,!0),X.verbose)K.info("[Verbose] Plan validation passed");if(X.verbose)K.info("[Verbose] Trial check completed");if(X.verbose)K.info(`[Verbose] Checking compatibility with channel ${y}...`);let{nativePackages:k,minUpdateVersion:f}=await _X0(L,J,X,y,M,N);if(X.verbose)K.info("[Verbose] Compatibility check completed:"),K.info(` - Native packages: ${k?k.length:0}`),K.info(` - Min update version: ${f||"none"}`);if(X.verbose)K.info(`[Verbose] Checking if version ${N} already exists...`);let S=!Y&&!!w9.stdin.isTTY&&!!w9.stdout.isTTY,v=await vX0(L,M,N,X.versionExistsOk,S);if(X.verbose)K.info(`[Verbose] Version exists check: ${v?typeof v==="string"?`retry with ${v}`:"yes (skipping)":"no (continuing)"}`);if(v===!0)return{success:!0,skipped:!0,reason:"VERSION_EXISTS",bundle:N,checksum:null,encryptionMethod:z,storageProvider:R};if(typeof v==="string")return K.info(`Retrying upload with new version: ${v}`),WG(D,{...X,bundle:v},Y);if(X.external&&!X.external.startsWith("https://"))$D(`External link should should start with "https://" current is "${X.external}"`);if(X.deleteLinkedBundleOnUpload)K.warn("Deleting linked bundle on upload is destructive, it will delete the currently linked bundle in the channel you are trying to upload to."),K.warn("Please make sure you want to do this, if you are not sure, please do not use this option.");let b={name:N,app_id:M,session_key:void 0,external_url:X.external,storage_provider:R,min_update_version:f,native_packages:k,owner_org:A,user_id:C,checksum:void 0,link:X.link||null,comment:X.comment||null,key_id:void 0,cli_version:o8.version},n=null,h="";if(!X.external){if(X.verbose)K.info(`[Verbose] Preparing bundle file from path: ${U}`);let c=O.config?.plugins?.CapacitorUpdater?.publicKey,{zipped:o,ivSessionKey:I,checksum:j,sessionKey:l,encryptionMethod:u,finalKeyData:w0,keyId:i}=await bX0(U,X,W,A,M,H.maxUploadLength,H.alertUploadSize,c);if(b.session_key=I,b.checksum=j,b.key_id=i||void 0,Z=l,n=o,z=u,h=w0,X.verbose)K.info("[Verbose] Bundle prepared:"),K.info(` - Size: ${Math.floor((o?.byteLength??0)/1024)} KB`),K.info(` - Checksum: ${j}`),K.info(` - Encryption: ${u}`),K.info(` - IV Session Key: ${I?"present":"none"}`),K.info(` - Key ID: ${i||"none"}`);if(!X.ignoreChecksumCheck){if(X.verbose)K.info("[Verbose] Checking for duplicate checksum...");if(await ay(L,M,y,j),X.verbose)K.info("[Verbose] Checksum is unique")}}else{if(X.verbose)K.info(`[Verbose] Using external URL: ${X.external}`);if(await z0(W,{channel:"app",event:"App external",icon:"\uD83D\uDCE4",user_id:A,tags:{"app-id":M},notify:!1},X.verbose),b.session_key=X.ivSessionKey,b.checksum=X.encryptedChecksum,X.verbose)K.info("[Verbose] External bundle configured:"),K.info(` - URL: ${X.external}`),K.info(` - IV Session Key: ${X.ivSessionKey?"provided":"none"}`),K.info(` - Encrypted Checksum: ${X.encryptedChecksum?"provided":"none"}`)}if(X.zip){if(X.tus=!1,X.verbose)K.info("[Verbose] Upload method: ZIP (explicitly set via --zip)")}else if(!H.TUSUpload||X.external){if(X.tus=!1,X.verbose)K.info("[Verbose] Upload method: Standard (TUS not available or external URL)")}else if(X.tus=X.tus||H.TUSUploadForced,X.verbose)K.info(`[Verbose] Upload method: ${X.tus?"TUS (resumable)":"Standard"}`);if(!H.partialUpload||X.external){if(X.delta=!1,X.verbose&&X.external)K.info("[Verbose] Delta updates disabled (not available with external URLs)")}else if(X.delta=X.delta||X.partial||X.deltaOnly||X.partialOnly||H.partialUploadForced,X.verbose)K.info(`[Verbose] Delta updates: ${X.delta?"enabled":"disabled"}`);if(X.encryptPartial&&z==="v1")$D("You cannot encrypt the partial update if you are not using the v2 encryption method");let E="5.30.0",P="6.30.0",x="7.30.0",_=!1;if(X.delta&&z==="v2"&&!X.encryptPartial){let c=rD(w9.cwd()),o=await o1("@capgo/capacitor-updater",c,X.packageJson),I;try{I=o?i0(o):void 0}catch{I=void 0}if(o&&I&&eG(I,i0("6.14.4"))){if(K.info(`Auto-enabling partial update encryption for updater version ${I} (> 6.14.4)`),X.verbose)K.info("[Verbose] Partial encryption auto-enabled for updater >= 6.14.4");X.encryptPartial=!0}}if(X.delta&&(X.encryptPartial||z==="v2")){let c=rD(w9.cwd()),o=await o1("@capgo/capacitor-updater",c,X.packageJson),I;try{I=o?i0(o):void 0}catch{I=void 0}if(o&&I){if(_=!e1(I,E,P,x),X.verbose&&_)K.info(`[Verbose] Using hex checksum format for updater version ${I}`)}}if(X.verbose&&X.delta)K.info("[Verbose] Preparing delta/partial update manifest...");let g=X.delta?await Qh(U,W,A,M,X.encryptPartial?z:"none",h,_):[];if(X.verbose&&X.delta)K.info(`[Verbose] Delta manifest prepared with ${g.length} files`);if(X.verbose)K.info("[Verbose] Creating version record in database...");let{error:m}=await k$(L,b);if(m)$D(`Cannot add bundle ${p(m)}`);if(X.verbose)K.info("[Verbose] Version record created successfully");if(X.tusChunkSize&&X.tusChunkSize>H.maxChunkSize)K.error(`Chunk size ${X.tusChunkSize} is greater than the maximum chunk size ${H.maxChunkSize}, using the maximum chunk size`),X.tusChunkSize=H.maxChunkSize;else if(!X.tusChunkSize)X.tusChunkSize=H.maxChunkSize;if(X.verbose)K.info(`[Verbose] TUS chunk size: ${Math.floor(X.tusChunkSize/1024/1024)} MB`);if(n&&(B||q||Q||w||F||$||G)){if(!B||!q||!Q||!w||!F||!$)$D("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret");if(K.info("Uploading to S3"),X.verbose)K.info("[Verbose] S3 configuration:"),K.info(` - Endpoint: ${q}`),K.info(` - Region: ${Q}`),K.info(` - Bucket: ${B}`),K.info(` - Port: ${$}`),K.info(` - SSL: ${G?"enabled":"disabled"}`);let c=G?`https://${q}`:`http://${q}`,o=new yJ({endPoint:q,region:Q,port:$,pathStyle:!0,bucket:B,accessKey:w,secretKey:F}),I=`${M}-${N}`,j=encodeURIComponent(I);if(X.verbose)K.info(`[Verbose] Uploading to S3 as: ${I}`);if(await o.putObject(I,Uint8Array.from(n)),b.external_url=`${c}/${j}`,b.storage_provider="external",X.verbose)K.info(`[Verbose] S3 upload complete, external URL: ${b.external_url}`)}else if(n){if(!X.partialOnly&&!X.deltaOnly){if(X.verbose)K.info("[Verbose] Starting full bundle upload to Capgo Cloud...");await gX0(W,L,M,N,A,n,X,X.tusChunkSize)}else if(X.verbose)K.info("[Verbose] Skipping full bundle upload (delta-only mode)");let c=null;try{if(X.dryUpload){if(X.delta=!1,X.verbose)K.info("[Verbose] Dry upload mode: skipping delta upload")}let I=b.session_key&&X.encryptPartial&&Z?{sessionKey:Z,ivSessionKey:b.session_key}:void 0;if(X.verbose&&X.delta)K.info("[Verbose] Starting delta/partial file upload..."),K.info(` - Manifest entries: ${g.length}`),K.info(` - Encryption: ${I?"enabled":"disabled"}`);if(c=X.delta?await wh(W,g,U,M,A,I,X):null,X.verbose&&c)K.info(`[Verbose] Delta upload complete with ${c.length} files`)}catch(I){if(!!(X.partial||X.delta||X.partialOnly||X.deltaOnly))throw I;if(K.info(`Failed to upload partial files to capgo cloud. Error: ${p(I)}. This is not a critical error, the bundle has been uploaded without the partial files`),X.verbose)K.info(`[Verbose] Delta upload error details: ${p(I)}`)}if(b.storage_provider="r2",b.manifest=c,X.verbose)K.info("[Verbose] Updating version record with storage provider and manifest...");let{error:o}=await k$(L,b);if(o)$D(`Cannot update bundle ${p(o)}`);if(X.verbose)K.info("[Verbose] Version record updated successfully")}if(X.verbose)K.info("[Verbose] Checking app permissions...");let a=await CD(L,W,M,2,!1,!0);if(X.verbose)K.info("[Verbose] Permissions:"),K.info(` - Upload: ${c7(a,2)?"yes":"no"}`),K.info(` - Write: ${c7(a,3)?"yes":"no"}`),K.info(` - Admin: ${c7(a,4)?"yes":"no"}`);if(X.deleteLinkedBundleOnUpload&&c7(a,3)){if(X.verbose)K.info(`[Verbose] Deleting linked bundle in channel ${y}...`);await mX0(L,M,y)}else if(X.deleteLinkedBundleOnUpload)K.warn("Cannot delete linked bundle on upload as a upload organization member");if(c7(a,3)){if(X.verbose)K.info(`[Verbose] Setting bundle ${N} to channel ${y}...`);if(await dX0(L,W,!!X.bundleUrl,N,y,C,A,M,V,X.selfAssign),X.verbose)K.info("[Verbose] Channel updated successfully")}else K.warn("Cannot set channel as a upload organization member");if(X.verbose)K.info("[Verbose] Sending upload event...");await z0(W,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:A,tags:{"app-id":M},notify:!1},X.verbose),await z0(W,{channel:"app",event:"App Uploaded",icon:"⏫",user_id:A,tags:{"app-id":M},notify:!1,notifyConsole:!0}).catch(()=>{});let d={success:!0,bundle:N,checksum:b.checksum??null,encryptionMethod:z,sessionKey:Z?Z.toString("base64"):void 0,ivSessionKey:typeof b.session_key==="string"?b.session_key:void 0,storageProvider:b.storage_provider};if(X.verbose)K.info("[Verbose] Upload completed successfully:"),K.info(` - Bundle: ${d.bundle}`),K.info(` - Checksum: ${d.checksum}`),K.info(` - Encryption: ${d.encryptionMethod}`),K.info(` - Storage: ${d.storageProvider}`);if(Y&&!d.skipped)$0("Time to share your update to the world \uD83C\uDF0D");return d}var Bh=require("node:crypto"),cJ=require("node:fs"),qh=require("node:process");var lX0=20;function nX0(D){console.log(JSON.stringify(D,null,2))}function OX(D){console.error(p(D))}async function $h(D,X,Y=!1){let{json:Z}=X,{bundle:J,path:Q}=X,w=!Z&&!Y;try{if(w)await o0();let F=await H0(),B=b0(D,F?.config),q=Bh.randomUUID().split("-")[0],$=D9("",X.packageJson);if(J=J||$||`0.0.1-beta.${q}`,w)q0(`Zipping ${B}@${J}`);if(J&&!d7.test(J)){let C=`Your bundle name ${J}, is not valid it should follow semver convention : https://semver.org/`;if(!Y)if(Z)OX({error:"invalid_semver"});else K.error(C);throw Error("Invalid bundle version format")}if(Q=Q||F?.config?.webDir,!B||!J||!Q){if(!Y)if(Z)OX({error:"missing_argument"});else K.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project");throw Error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project")}if(w)K.info(`Started from path "${Q}"`);if(typeof X.codeCheck>"u"?!0:X.codeCheck){if(!FX(Q,"notifyAppReady")){if(!Y)if(Z)OX({error:"notifyAppReady_not_in_source_code"});else K.error("notifyAppReady() is missing in the build folder of your app. see: https://capgo.app/docs/plugin/api/#notifyappready");throw Error("notifyAppReady() is missing in build folder")}if(!uJ(Q)){if(!Y)if(Z)OX({error:"index_html_not_found"});else K.error(`index.html is missing in the root folder of ${Q}`);throw Error("index.html is missing in root folder")}}let W=await LJ(Q);if(w)K.info(`Zipped ${W.byteLength} bytes`);let O=w?xD():null;if(O)O.start("Calculating checksum");let H=rD(qh.cwd()),M=await o1("@capgo/capacitor-updater",H,X.packageJson);if(!M){if(!Y)K.warn("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager");throw Error("Cannot find @capgo/capacitor-updater in node_modules, please install it first with your package manager")}let U=!1,N;try{N=M?i0(M):void 0}catch{N=void 0}if(N)U=!e1(N,void 0,void 0,"7.0.0");else if(M==="link:@capgo/capacitor-updater"){if(!Y)K.warn("Using local @capgo/capacitor-updater. Assuming v7");U=!0}let R=await y6(W,X.keyV2||cJ.existsSync(v1)||U?"sha256":"crc32");if(O)O.stop(`Checksum ${U?"SHA256":"CRC32"}: ${R}`);let z=Math.floor(W.byteLength/1024/1024);if(z>lX0&&w)K.warn(`WARNING !!
|
|
402
402
|
The bundle size is ${z} Mb, this may take a while to download for users
|
|
403
403
|
`),K.warn(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
|
|
404
|
-
`);let V=w?xD():null,L=X.name||`${B}_${J}.zip`;if(V)V.start(`Saving to ${L}`);if(cJ.writeFileSync(L,W),V)V.stop(`Saved to ${L}`);if(w)$0("Done ✅");if(!Y&&Z)nX0({bundle:J,filename:L,checksum:R});return{bundle:J,filename:L,checksum:R}}catch(F){if(!Y)if(Z)OX(F);else K.error(p(F));throw F instanceof Error?F:Error(String(F))}}async function Gh(D,X,Y,Z=!1){if(!Z)q0("Create channel");Y.apikey=Y.apikey||Q0();let J=await H0().catch(()=>{return});if(X=b0(X,J?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let Q=await K0(Y.apikey,Y.supaHost,Y.supaAnon);if(await _D(Q,X,Z),await
|
|
405
|
-
${p(q.error)}`);throw Error(`Cannot create channel: ${p(q.error)}`)}if(await A0(Y.apikey,{channel:"channel",event:"Create channel",icon:"✅",user_id:F,tags:{"app-id":X,channel:D},notify:!1}).catch(()=>{}),!Z)K.success("Channel created ✅"),$0("Done ✅");return q.data??!0}async function Oh(D,X,Y,Z=!1){let{quiet:J}=Y;if(!J&&!Z)q0("List current bundle");Y.apikey=Y.apikey||Q0(J);let Q=await H0();if(X=b0(X,Q?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let w=await K0(Y.apikey,Y.supaHost,Y.supaAnon);if(await _D(w,X,Z),await U0(w,Y.apikey,["write","all","read"]),await CD(w,Y.apikey,X,1,Z,!0),!D){if(!Z)K.error("Please provide a channel to get the bundle from.");throw Error("Channel name missing")}let{data:F,error:B}=await w.from("channels").select("version ( name )").eq("name",D).eq("app_id",X).limit(1);if(B||!F?.length){if(!Z)K.error(`Error retrieving channel ${D} for app ${X}. Perhaps the channel does not exist?`);throw Error(`Channel ${D} not found for app ${X}`)}let{version:q}=F[0];if(!q){if(!Z)K.error(`Error retrieving channel ${D} for app ${X}. Perhaps the channel does not exist?`);throw Error(`Channel ${D} does not have a bundle linked`)}if(!Z)if(!J)K.info(`Current bundle for channel ${D} is ${q.name}`);else K.info(q.name);return q.name}async function Wh(D,X,Y,Z=!1){if(!Z)q0("Delete channel");Y.apikey=Y.apikey||Q0();let J=await H0();if(X=b0(X,J?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let Q=await K0(Y.apikey,Y.supaHost,Y.supaAnon);await _D(Q,X,Z);let w=await U0(Q,Y.apikey,["all"]);if(await CD(Q,Y.apikey,X,4,Z,!0),Y.deleteBundle&&!Z)K.info(`Deleting bundle ${X}#${D} from Capgo`);if(Y.deleteBundle){let W=await Xk(Q,X,D);if(W?.name&&!Z)K.info(`Deleting bundle ${W.name} from Capgo`);if(W?.name)await b$(Q,X,W.name)}let{data:F,error:B}=await ey(Q,X,D);if(B||!F){if(!Z)K.error(`Channel ${D} not found`);if(Y.successIfNotFound){if(!Z)K.success(`Channel ${D} not found and successIfNotFound is true`);return!0}throw Error(`Channel ${D} not found`)}let{error:q}=await Dk(Q,X,F.id);if(q){if(!Z)K.error(`Cannot delete channel devices: ${p(q)}`);throw Error(`Cannot delete channel devices: ${p(q)}`)}if(!Z)K.info(`Deleting channel ${X}#${D} from Capgo`);let $=await oy(Q,D,X,w);if($.error){if(!Z)K.error(`Cannot delete Channel \uD83D\uDE40 ${p($.error)}`);throw Error(`Cannot delete channel: ${p($.error)}`)}let G=await B1(Q,X);if(await A0(Y.apikey,{channel:"channel",event:"Delete channel",icon:"✅",user_id:G,tags:{"app-id":X,channel:D},notify:!1}).catch(()=>{}),!Z)K.success("Channel deleted"),$0("Done ✅");return!0}async function Hh(D,X,Y=!1){if(!Y)q0("List channels");X.apikey=X.apikey||Q0();let Z=await H0();if(D=b0(D,Z?.config),!X.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await K0(X.apikey,X.supaHost,X.supaAnon);await _D(J,D,Y);let Q=await U0(J,X.apikey,["write","all","read","upload"]);if(await CD(J,X.apikey,D,1,Y,!0),!Y)K.info("Querying available channels in Capgo");let w=await Zk(J,D);if(!Y)K.info(`Active channels in Capgo: ${w?.length??0}`),Yk(w);if(await A0(X.apikey,{channel:"channel",event:"List channel",icon:"✅",user_id:Q,tags:{"app-id":D},notify:!1}).catch(()=>{}),!Y)$0("Done ✅");return w}function Kh(D){let X=new MD;X.headers=["Package","Local","Remote","Status","Details"],X.theme=MD.roundTheme,X.rows=[];for(let Y of D){let{name:Z,localVersion:J,remoteVersion:Q}=Y,w=$5(Y),F=w.compatible?"✅":"❌";X.rows.push([Z,J||"-",Q||"-",F,w.message])}K.info(X.toString())}var zh=["major","minor","metadata","patch","none"];async function Mh(D,X,Y,Z=!1){if(!Z)q0("Set channel");Y.apikey=Y.apikey||Q0();let J=await H0();if(X=b0(X,J?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(!D){if(!Z)K.error("Missing argument, you need to provide a channel");throw Error("Missing channel id")}let Q=await K0(Y.apikey,Y.supaHost,Y.supaAnon);await _D(Q,X,Z);let w=await U0(Q,Y.apikey,["write","all"]);await CD(Q,Y.apikey,X,4,Z,!0);let F=await B1(Q,X),{bundle:B,state:q,downgrade:$,latest:G,latestRemote:W,ios:O,android:H,selfAssign:M,disableAutoUpdate:U,dev:N,emulator:R,device:z,prod:V}=Y;if(G&&B){if(!Z)K.error("Cannot set latest and bundle at the same time");throw Error("Cannot set both latest and bundle simultaneously")}if(W&&B){if(!Z)K.error("Cannot set latest remote and bundle at the same time");throw Error("Cannot set both latest remote and bundle simultaneously")}if(W&&G){if(!Z)K.error("Cannot set latest remote and latest at the same time");throw Error("Cannot set both latest remote and latest simultaneously")}if(B==null&&q==null&&G==null&&W==null&&$==null&&O==null&&H==null&&M==null&&N==null&&R==null&&z==null&&V==null&&U==null){if(!Z)K.error("Missing argument, you need to provide a option to set");throw Error("No channel option provided")}await vy(Q,F,Y.apikey,X);let L={created_by:w,app_id:X,name:D,owner_org:F,version:void 0},{error:C}=await Q.from("channels").select().eq("app_id",X).eq("name",D).single();if(C){if(!Z)K.error(`Cannot find channel ${D}`);throw Error(`Cannot find channel ${D}`)}let y=G?J?.config?.plugins?.CapacitorUpdater?.version||D9("",Y.packageJson):B;if(y!=null){let{data:k,error:f}=await Q.from("app_versions").select().eq("app_id",X).eq("name",y).eq("user_id",w).eq("deleted",!1).single();if(f||!k){if(!Z)K.error(`Cannot find version ${y}`);throw Error(`Cannot find version ${y}`)}if(!Y.ignoreMetadataCheck){let{finalCompatibility:S,localDependencies:v}=await _$(Q,X,D,k.native_packages??[]),b=S.filter((n)=>!Y9(n));if(v.length>0&&b.length>0){if(!Z)K.warn(`Bundle NOT compatible with ${D} channel`),K.warn(""),Kh(S),K.warn(""),K.warn("An app store update may be required for these changes to take effect.");throw Error(`Bundle is not compatible with ${D} channel`)}if(!Z)if(v.length===0&&S.length>0)K.info(`Ignoring check compatibility with ${D} channel because the bundle does not contain any native packages`);else K.info(`Bundle is compatible with ${D} channel`)}if(!Z)K.info(`Set ${X} channel: ${D} to @${y}`);L.version=k.id}if(W){let{data:k,error:f}=await Q.from("app_versions").select().eq("app_id",X).eq("user_id",w).eq("deleted",!1).order("created_at",{ascending:!1}).single();if(f||!k){if(!Z)K.error("Cannot find latest remote version");throw Error("Cannot find latest remote version")}if(!Y.ignoreMetadataCheck){let{finalCompatibility:S}=await _$(Q,X,D,k.native_packages??[]);if(S.filter((b)=>!Y9(b)).length>0){if(!Z)K.warn(`Bundle NOT compatible with ${D} channel`),K.warn(""),Kh(S),K.warn(""),K.warn("An app store update may be required for these changes to take effect.");throw Error(`Latest remote bundle is not compatible with ${D} channel`)}}if(!Z)K.info(`Set ${X} channel: ${D} to @${k.name}`);L.version=k.id}if(q!=null){if(q!=="normal"&&q!=="default"){if(!Z)K.error(`State ${q} is not known. The possible values are: normal, default.`);throw Error(`Unknown state ${q}. Expected normal or default`)}if(!Z)K.info(`Set ${X} channel: ${D} to ${q}`);L.public=q==="default"}if($!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${$?"allow":"disallow"} downgrade`);L.disable_auto_update_under_native=!$}if(O!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${O?"allow":"disallow"} ios update`);L.ios=!!O}if(H!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${H?"allow":"disallow"} android update`);L.android=!!H}if(M!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${M?"allow":"disallow"} self assign to this channel`);L.allow_device_self_set=!!M}if(N!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${N?"allow":"disallow"} dev devices`);L.allow_dev=!!N}if(R!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${R?"allow":"disallow"} emulator devices`);L.allow_emulator=!!R}if(z!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${z?"allow":"disallow"} physical devices`);L.allow_device=!!z}if(V!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${V?"allow":"disallow"} prod builds`);L.allow_prod=!!V}if(U!=null){let k=U.toLowerCase();if(!zh.includes(k)){if(!Z)K.error(`Channel strategy ${k} is not known. The possible values are: ${zh.join(", ")}.`);throw Error(`Unknown channel strategy ${k}`)}if(k==="metadata")k="version_number";if(L.disable_auto_update=k,!Z)K.info(`Set ${X} channel: ${D} to ${k} disable update strategy to this channel`)}let{error:A}=await VJ(Q,L);if(A){if(!Z)K.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.');throw Error("Upload key is not allowed to set this channel")}if(await A0(Y.apikey,{channel:"channel",event:"Set channel",icon:"✅",user_id:F,tags:{"app-id":X},notify:!1}).catch(()=>{}),!Z)$0("Done ✅");return!0}var U1=require("node:fs");function Lh(D){return D.plugins??={},D.plugins.extConfig??={},D.plugins.CapacitorUpdater??={},D.plugins.CapacitorUpdater}async function Vh(D,X=!1){if(!X)q0("Save keys \uD83D\uDD11");let Y=await H0(),Z=D.key||K6,J=D.keyData||"";if(!U1.existsSync(Z)&&!J){if(!X)K.error(`Cannot find a public key at ${Z} or as keyData option or in ${Y.path}`);throw Error("Missing public key")}if(U1.existsSync(Z))J=U1.readFileSync(Z,"utf8");if(!J.startsWith("-----BEGIN RSA PUBLIC KEY-----")){if(!X)K.error("The public key provided is not a valid RSA Public key");throw Error("Invalid RSA public key")}if(Y?.config){let Q=Lh(Y.config);if(Q.privateKey){if(delete Q.privateKey,!X)K.info("Old private key deleted from config file");if(X?D.setupChannel??!1:D.setupChannel??await sD({message:"Do you want to setup encryption with the new channel in order to support old apps and facilitate the migration?"}))Q.defaultChannel="encryption_v2"}Q.publicKey=J,await h7(Y)}if(!X)K.success(`Public key saved into ${Y.path} file in local directory`),K.success("Your app will decode the zip archive with this key");return!0}async function Uh(D,X=!1){if(!X)q0("Deleting old private key \uD83D\uDDD1️");let Y=await H0(),Z=Y?.config?.plugins?.CapacitorUpdater;if(Z?.privateKey){if(delete Z.privateKey,await h7(Y),U1.existsSync(m7))try{if(U1.unlinkSync(m7),!X)K.success(`Old private key file deleted: ${m7}`)}catch(J){if(!X)K.error(`Failed to delete old private key file: ${m7} (${String(J)})`)}if(U1.existsSync(OJ))try{if(U1.unlinkSync(OJ),!X)K.success(`Old public key file deleted: ${OJ}`)}catch(J){if(!X)K.error(`Failed to delete old public key file: ${K6} (${String(J)})`)}if(!X)K.success(`Old private key deleted from ${Y.path} file`),$0("Done ✅");return!0}if(!X)K.info("No old private key found in config file");return!1}async function Nh(D,X=!1){if(!X)q0("Create keys \uD83D\uDD11");let{publicKey:Y,privateKey:Z}=Ik();if(U1.existsSync(K6)&&!D.force){if(!X)K.error("Public Key already exists, use --force to overwrite");throw Error("Public key already exists")}if(U1.writeFileSync(K6,Y),U1.existsSync(v1)&&!D.force){if(!X)K.error("Private Key already exists, use --force to overwrite");throw Error("Private key already exists")}U1.writeFileSync(v1,Z);let J=await H0();if(J){let Q=Lh(J.config);if(Q.privateKey){if(delete Q.privateKey,!X)K.info("Old private key deleted from config file");if(X?D.setupChannel??!1:D.setupChannel??await sD({message:"Do you want to setup encryption with the new channel in order to support old apps and facilitate the migration?"}))Q.defaultChannel="encryption_v2"}Q.publicKey=Y,await h7(J)}if(!X){K.success("Your RSA key has been generated"),K.success(`Private key saved in ${v1}`),K.success("This key will be used to encrypt your bundle before sending it to Capgo"),K.success("Keep it safe"),K.success("Then make it unreadable by Capgo and unmodifiable by anyone"),K.success(`Public key saved in ${J.path}`),K.success("Your app will be the only one having it"),K.success("Only your users can decrypt your update"),K.success("Only you can send them an update");try{await ty(),$0("Done ✅")}catch(Q){if(Q instanceof Error&&Q.message==="Capacitor sync cancelled")return!0;throw Q}}return!0}var N5=require("node:fs"),Rh=require("node:os");async function Ah(D,X,Y=!1){if(!Y)q0("Login to Capgo");if(!D&&!Y){let w=await _G({message:"Enter your API key:",mask:"*"});if(c0(w))throw K.error("Login cancelled"),Error("Login cancelled");D=w}if(!D){if(!Y)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}await o0();let{local:Z}=X;if(Z){if(!N5.existsSync(".git")){if(!Y)K.error("To use local you should be in a git repository");throw Error("Not in a git repository")}N5.writeFileSync(".capgo",`${D}
|
|
404
|
+
`);let V=w?xD():null,L=X.name||`${B}_${J}.zip`;if(V)V.start(`Saving to ${L}`);if(cJ.writeFileSync(L,W),V)V.stop(`Saved to ${L}`);if(w)$0("Done ✅");if(!Y&&Z)nX0({bundle:J,filename:L,checksum:R});return{bundle:J,filename:L,checksum:R}}catch(F){if(!Y)if(Z)OX(F);else K.error(p(F));throw F instanceof Error?F:Error(String(F))}}async function Gh(D,X,Y,Z=!1){if(!Z)q0("Create channel");Y.apikey=Y.apikey||Q0();let J=await H0().catch(()=>{return});if(X=b0(X,J?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let Q=await K0(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,4,Z,!0),!Z)K.info(`Creating channel ${X}#${D} to Capgo`);let w=await v$(Q,X);if(!w){if(!Z)K.error("Cannot find default version for channel creation, please contact Capgo support \uD83E\uDD28");throw Error("Cannot find default version for channel creation")}let F=await pD(Q,X),B=await N0(Q,Y.apikey,["write","all"]),q=await sy(Q,{name:D,app_id:X,version:w.id,created_by:B,owner_org:F,allow_device_self_set:Y.selfAssign??!1,public:Y.default??!1});if(q.error){if(!Z)K.error(`Cannot create Channel \uD83D\uDE40
|
|
405
|
+
${p(q.error)}`);throw Error(`Cannot create channel: ${p(q.error)}`)}if(await z0(Y.apikey,{channel:"channel",event:"Create channel",icon:"✅",user_id:F,tags:{"app-id":X,channel:D},notify:!1}).catch(()=>{}),!Z)K.success("Channel created ✅"),$0("Done ✅");return q.data??!0}async function Oh(D,X,Y,Z=!1){let{quiet:J}=Y;if(!J&&!Z)q0("List current bundle");Y.apikey=Y.apikey||Q0(J);let Q=await H0();if(X=b0(X,Q?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let w=await K0(Y.apikey,Y.supaHost,Y.supaAnon);if(await _D(w,X,Z),await N0(w,Y.apikey,["write","all","read"]),await CD(w,Y.apikey,X,1,Z,!0),!D){if(!Z)K.error("Please provide a channel to get the bundle from.");throw Error("Channel name missing")}let{data:F,error:B}=await w.from("channels").select("version ( name )").eq("name",D).eq("app_id",X).limit(1);if(B||!F?.length){if(!Z)K.error(`Error retrieving channel ${D} for app ${X}. Perhaps the channel does not exist?`);throw Error(`Channel ${D} not found for app ${X}`)}let{version:q}=F[0];if(!q){if(!Z)K.error(`Error retrieving channel ${D} for app ${X}. Perhaps the channel does not exist?`);throw Error(`Channel ${D} does not have a bundle linked`)}if(!Z)if(!J)K.info(`Current bundle for channel ${D} is ${q.name}`);else K.info(q.name);return q.name}async function Wh(D,X,Y,Z=!1){if(!Z)q0("Delete channel");Y.apikey=Y.apikey||Q0();let J=await H0();if(X=b0(X,J?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let Q=await K0(Y.apikey,Y.supaHost,Y.supaAnon);await _D(Q,X,Z);let w=await N0(Q,Y.apikey,["all"]);if(await CD(Q,Y.apikey,X,4,Z,!0),Y.deleteBundle&&!Z)K.info(`Deleting bundle ${X}#${D} from Capgo`);if(Y.deleteBundle){let W=await Xk(Q,X,D);if(W?.name&&!Z)K.info(`Deleting bundle ${W.name} from Capgo`);if(W?.name)await b$(Q,X,W.name)}let{data:F,error:B}=await ey(Q,X,D);if(B||!F){if(!Z)K.error(`Channel ${D} not found`);if(Y.successIfNotFound){if(!Z)K.success(`Channel ${D} not found and successIfNotFound is true`);return!0}throw Error(`Channel ${D} not found`)}let{error:q}=await Dk(Q,X,F.id);if(q){if(!Z)K.error(`Cannot delete channel devices: ${p(q)}`);throw Error(`Cannot delete channel devices: ${p(q)}`)}if(!Z)K.info(`Deleting channel ${X}#${D} from Capgo`);let $=await oy(Q,D,X,w);if($.error){if(!Z)K.error(`Cannot delete Channel \uD83D\uDE40 ${p($.error)}`);throw Error(`Cannot delete channel: ${p($.error)}`)}let G=await pD(Q,X);if(await z0(Y.apikey,{channel:"channel",event:"Delete channel",icon:"✅",user_id:G,tags:{"app-id":X,channel:D},notify:!1}).catch(()=>{}),!Z)K.success("Channel deleted"),$0("Done ✅");return!0}async function Hh(D,X,Y=!1){if(!Y)q0("List channels");X.apikey=X.apikey||Q0();let Z=await H0();if(D=b0(D,Z?.config),!X.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}let J=await K0(X.apikey,X.supaHost,X.supaAnon);await _D(J,D,Y);let Q=await N0(J,X.apikey,["write","all","read","upload"]);if(await CD(J,X.apikey,D,1,Y,!0),!Y)K.info("Querying available channels in Capgo");let w=await Zk(J,D);if(!Y)K.info(`Active channels in Capgo: ${w?.length??0}`),Yk(w);if(await z0(X.apikey,{channel:"channel",event:"List channel",icon:"✅",user_id:Q,tags:{"app-id":D},notify:!1}).catch(()=>{}),!Y)$0("Done ✅");return w}function Kh(D){let X=new MD;X.headers=["Package","Local","Remote","Status","Details"],X.theme=MD.roundTheme,X.rows=[];for(let Y of D){let{name:Z,localVersion:J,remoteVersion:Q}=Y,w=$5(Y),F=w.compatible?"✅":"❌";X.rows.push([Z,J||"-",Q||"-",F,w.message])}K.info(X.toString())}var zh=["major","minor","metadata","patch","none"];async function Mh(D,X,Y,Z=!1){if(!Z)q0("Set channel");Y.apikey=Y.apikey||Q0();let J=await H0();if(X=b0(X,J?.config),!Y.apikey){if(!Z)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}if(!X){if(!Z)K.error("Missing argument, you need to provide a appId, or be in a capacitor project");throw Error("Missing appId")}if(!D){if(!Z)K.error("Missing argument, you need to provide a channel");throw Error("Missing channel id")}let Q=await K0(Y.apikey,Y.supaHost,Y.supaAnon);await _D(Q,X,Z);let w=await N0(Q,Y.apikey,["write","all"]);await CD(Q,Y.apikey,X,4,Z,!0);let F=await pD(Q,X),{bundle:B,state:q,downgrade:$,latest:G,latestRemote:W,ios:O,android:H,selfAssign:M,disableAutoUpdate:U,dev:N,emulator:R,device:z,prod:V}=Y;if(G&&B){if(!Z)K.error("Cannot set latest and bundle at the same time");throw Error("Cannot set both latest and bundle simultaneously")}if(W&&B){if(!Z)K.error("Cannot set latest remote and bundle at the same time");throw Error("Cannot set both latest remote and bundle simultaneously")}if(W&&G){if(!Z)K.error("Cannot set latest remote and latest at the same time");throw Error("Cannot set both latest remote and latest simultaneously")}if(B==null&&q==null&&G==null&&W==null&&$==null&&O==null&&H==null&&M==null&&N==null&&R==null&&z==null&&V==null&&U==null){if(!Z)K.error("Missing argument, you need to provide a option to set");throw Error("No channel option provided")}await vy(Q,F,Y.apikey,X);let L={created_by:w,app_id:X,name:D,owner_org:F,version:void 0},{error:C}=await Q.from("channels").select().eq("app_id",X).eq("name",D).single();if(C){if(!Z)K.error(`Cannot find channel ${D}`);throw Error(`Cannot find channel ${D}`)}let y=G?J?.config?.plugins?.CapacitorUpdater?.version||D9("",Y.packageJson):B;if(y!=null){let{data:k,error:f}=await Q.from("app_versions").select().eq("app_id",X).eq("name",y).eq("user_id",w).eq("deleted",!1).single();if(f||!k){if(!Z)K.error(`Cannot find version ${y}`);throw Error(`Cannot find version ${y}`)}if(!Y.ignoreMetadataCheck){let{finalCompatibility:S,localDependencies:v}=await _$(Q,X,D,k.native_packages??[]),b=S.filter((n)=>!Y9(n));if(v.length>0&&b.length>0){if(!Z)K.warn(`Bundle NOT compatible with ${D} channel`),K.warn(""),Kh(S),K.warn(""),K.warn("An app store update may be required for these changes to take effect.");throw Error(`Bundle is not compatible with ${D} channel`)}if(!Z)if(v.length===0&&S.length>0)K.info(`Ignoring check compatibility with ${D} channel because the bundle does not contain any native packages`);else K.info(`Bundle is compatible with ${D} channel`)}if(!Z)K.info(`Set ${X} channel: ${D} to @${y}`);L.version=k.id}if(W){let{data:k,error:f}=await Q.from("app_versions").select().eq("app_id",X).eq("user_id",w).eq("deleted",!1).order("created_at",{ascending:!1}).single();if(f||!k){if(!Z)K.error("Cannot find latest remote version");throw Error("Cannot find latest remote version")}if(!Y.ignoreMetadataCheck){let{finalCompatibility:S}=await _$(Q,X,D,k.native_packages??[]);if(S.filter((b)=>!Y9(b)).length>0){if(!Z)K.warn(`Bundle NOT compatible with ${D} channel`),K.warn(""),Kh(S),K.warn(""),K.warn("An app store update may be required for these changes to take effect.");throw Error(`Latest remote bundle is not compatible with ${D} channel`)}}if(!Z)K.info(`Set ${X} channel: ${D} to @${k.name}`);L.version=k.id}if(q!=null){if(q!=="normal"&&q!=="default"){if(!Z)K.error(`State ${q} is not known. The possible values are: normal, default.`);throw Error(`Unknown state ${q}. Expected normal or default`)}if(!Z)K.info(`Set ${X} channel: ${D} to ${q}`);L.public=q==="default"}if($!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${$?"allow":"disallow"} downgrade`);L.disable_auto_update_under_native=!$}if(O!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${O?"allow":"disallow"} ios update`);L.ios=!!O}if(H!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${H?"allow":"disallow"} android update`);L.android=!!H}if(M!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${M?"allow":"disallow"} self assign to this channel`);L.allow_device_self_set=!!M}if(N!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${N?"allow":"disallow"} dev devices`);L.allow_dev=!!N}if(R!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${R?"allow":"disallow"} emulator devices`);L.allow_emulator=!!R}if(z!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${z?"allow":"disallow"} physical devices`);L.allow_device=!!z}if(V!=null){if(!Z)K.info(`Set ${X} channel: ${D} to ${V?"allow":"disallow"} prod builds`);L.allow_prod=!!V}if(U!=null){let k=U.toLowerCase();if(!zh.includes(k)){if(!Z)K.error(`Channel strategy ${k} is not known. The possible values are: ${zh.join(", ")}.`);throw Error(`Unknown channel strategy ${k}`)}if(k==="metadata")k="version_number";if(L.disable_auto_update=k,!Z)K.info(`Set ${X} channel: ${D} to ${k} disable update strategy to this channel`)}let{error:A}=await VJ(Q,L);if(A){if(!Z)K.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.');throw Error("Upload key is not allowed to set this channel")}if(await z0(Y.apikey,{channel:"channel",event:"Set channel",icon:"✅",user_id:F,tags:{"app-id":X},notify:!1}).catch(()=>{}),!Z)$0("Done ✅");return!0}var U1=require("node:fs");function Lh(D){return D.plugins??={},D.plugins.extConfig??={},D.plugins.CapacitorUpdater??={},D.plugins.CapacitorUpdater}async function Vh(D,X=!1){if(!X)q0("Save keys \uD83D\uDD11");let Y=await H0(),Z=D.key||K6,J=D.keyData||"";if(!U1.existsSync(Z)&&!J){if(!X)K.error(`Cannot find a public key at ${Z} or as keyData option or in ${Y.path}`);throw Error("Missing public key")}if(U1.existsSync(Z))J=U1.readFileSync(Z,"utf8");if(!J.startsWith("-----BEGIN RSA PUBLIC KEY-----")){if(!X)K.error("The public key provided is not a valid RSA Public key");throw Error("Invalid RSA public key")}if(Y?.config){let Q=Lh(Y.config);if(Q.privateKey){if(delete Q.privateKey,!X)K.info("Old private key deleted from config file");if(X?D.setupChannel??!1:D.setupChannel??await oD({message:"Do you want to setup encryption with the new channel in order to support old apps and facilitate the migration?"}))Q.defaultChannel="encryption_v2"}Q.publicKey=J,await h7(Y)}if(!X)K.success(`Public key saved into ${Y.path} file in local directory`),K.success("Your app will decode the zip archive with this key");return!0}async function Uh(D,X=!1){if(!X)q0("Deleting old private key \uD83D\uDDD1️");let Y=await H0(),Z=Y?.config?.plugins?.CapacitorUpdater;if(Z?.privateKey){if(delete Z.privateKey,await h7(Y),U1.existsSync(m7))try{if(U1.unlinkSync(m7),!X)K.success(`Old private key file deleted: ${m7}`)}catch(J){if(!X)K.error(`Failed to delete old private key file: ${m7} (${String(J)})`)}if(U1.existsSync(OJ))try{if(U1.unlinkSync(OJ),!X)K.success(`Old public key file deleted: ${OJ}`)}catch(J){if(!X)K.error(`Failed to delete old public key file: ${K6} (${String(J)})`)}if(!X)K.success(`Old private key deleted from ${Y.path} file`),$0("Done ✅");return!0}if(!X)K.info("No old private key found in config file");return!1}async function Nh(D,X=!1){if(!X)q0("Create keys \uD83D\uDD11");let{publicKey:Y,privateKey:Z}=Ik();if(U1.existsSync(K6)&&!D.force){if(!X)K.error("Public Key already exists, use --force to overwrite");throw Error("Public key already exists")}if(U1.writeFileSync(K6,Y),U1.existsSync(v1)&&!D.force){if(!X)K.error("Private Key already exists, use --force to overwrite");throw Error("Private key already exists")}U1.writeFileSync(v1,Z);let J=await H0();if(J){let Q=Lh(J.config);if(Q.privateKey){if(delete Q.privateKey,!X)K.info("Old private key deleted from config file");if(X?D.setupChannel??!1:D.setupChannel??await oD({message:"Do you want to setup encryption with the new channel in order to support old apps and facilitate the migration?"}))Q.defaultChannel="encryption_v2"}Q.publicKey=Y,await h7(J)}if(!X){K.success("Your RSA key has been generated"),K.success(`Private key saved in ${v1}`),K.success("This key will be used to encrypt your bundle before sending it to Capgo"),K.success("Keep it safe"),K.success("Then make it unreadable by Capgo and unmodifiable by anyone"),K.success(`Public key saved in ${J.path}`),K.success("Your app will be the only one having it"),K.success("Only your users can decrypt your update"),K.success("Only you can send them an update");try{await ty(),$0("Done ✅")}catch(Q){if(Q instanceof Error&&Q.message==="Capacitor sync cancelled")return!0;throw Q}}return!0}var N5=require("node:fs"),Rh=require("node:os");async function Ah(D,X,Y=!1){if(!Y)q0("Login to Capgo");if(!D&&!Y){let w=await _G({message:"Enter your API key:",mask:"*"});if(c0(w))throw K.error("Login cancelled"),Error("Login cancelled");D=w}if(!D){if(!Y)K.error("Missing API key, you need to provide an API key to upload your bundle");throw Error("Missing API key")}await o0();let{local:Z}=X;if(Z){if(!N5.existsSync(".git")){if(!Y)K.error("To use local you should be in a git repository");throw Error("Not in a git repository")}N5.writeFileSync(".capgo",`${D}
|
|
406
406
|
`),N5.appendFileSync(".gitignore",`.capgo
|
|
407
407
|
`)}else{let w=Rh.homedir();N5.writeFileSync(`${w}/.capgo`,`${D}
|
|
408
|
-
`)}let J=await K0(D,X.supaHost,X.supaAnon),Q=await
|
|
408
|
+
`)}let J=await K0(D,X.supaHost,X.supaAnon),Q=await N0(J,D,["write","all","upload"]);if(await z0(D,{channel:"user-login",event:"User CLI login",icon:"✅",user_id:Q,notify:!1}).catch(),!Y)K.success(`login saved into .capgo file in ${Z?"local":"home"} directory`),$0("Done ✅")}async function Eh(D,X=!1){if(!X)q0("Adding organization");await o0();let Y={...D,apikey:D.apikey||Q0()};if(!Y.apikey){if(!X)K.error("Missing API key, you need to provide an API key to add an organization");throw Error("Missing API key")}let Z=await K0(Y.apikey,Y.supaHost,Y.supaAnon),J=await N0(Z,Y.apikey,["write","all"]),{name:Q,email:w}=Y;if(!X&&!Q){let q=await R6({message:"Organization name:",placeholder:"My Organization"});if(c0(q))throw K.error("Canceled adding organization"),Error("Organization creation cancelled");Q=q}if(!X&&!w){let q=await R6({message:"Management email:",placeholder:"admin@example.com"});if(c0(q))throw K.error("Canceled adding organization"),Error("Organization creation cancelled");w=q}if(!Q||!w){if(!X)K.error("Missing arguments, you need to provide an organization name and management email");throw Error("Missing organization name or management email")}if(!X)K.info(`Adding organization "${Q}" to Capgo`);let{data:F,error:B}=await Z.from("orgs").insert({name:Q,management_email:w,created_by:J}).select().single();if(B){if(!X)K.error(`Could not add organization ${p(B)}`);throw Error(`Could not add organization: ${p(B)}`)}if(await z0(Y.apikey,{channel:"organization",event:"Organization Created",icon:"\uD83C\uDFE2",user_id:F.id,tags:{"org-name":Q},notify:!1}).catch(()=>{}),!X)K.success(`Organization "${Q}" added to Capgo`),$0("Done ✅");return F}async function Ch(D,X,Y=!1){if(!Y)q0("Deleting organization");await o0();let Z={...X,apikey:X.apikey||Q0()};if(!Z.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to delete an organization");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let J=await K0(Z.apikey,Z.supaHost,Z.supaAnon),Q=await N0(J,Z.apikey,["write","all"]);await WJ(J,D,Y);let{data:w,error:F}=await J.from("orgs").select("created_by, name").eq("id",D).single();if(F||!w){if(!Y)K.error(`Cannot get organization details ${p(F)}`);throw Error(`Cannot get organization details: ${p(F)}`)}if(w.created_by!==Q){if(Y)throw Error("Deleting an organization is restricted to the organization owner");K.warn("Deleting an organization is restricted to the organization owner"),K.warn("You are not the owner of this organization"),K.warn("It's strongly recommended that you do not continue!");let q=await M8({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});if(c0(q)||q==="no")throw K.error("Canceled deleting the organization"),Error("Organization deletion cancelled")}if(!Y&&!Z.autoConfirm){let q=await oD({message:`Are you sure you want to delete organization "${w.name}"? This action cannot be undone.`});if(c0(q)||!q)throw K.error("Canceled deleting the organization"),Error("Organization deletion cancelled")}if(!Y)K.info(`Deleting organization "${w.name}"`);let{error:B}=await J.from("orgs").delete().eq("id",D);if(B){if(!Y)K.error(`Could not delete organization ${p(B)}`);throw Error(`Could not delete organization: ${p(B)}`)}if(await z0(Z.apikey,{channel:"organization",event:"Organization Deleted",icon:"\uD83D\uDDD1️",user_id:D,tags:{"org-name":w.name},notify:!1}).catch(()=>{}),!Y)K.success(`Organization "${w.name}" deleted from Capgo`),$0("Done ✅");return!0}function iX0(D,X){if(X)return;if(!D.length){K.error("No organizations found");return}let Y=new MD;Y.headers=["Name","ID","Role","Apps","2FA Required","2FA Access"],Y.rows=[];for(let J of D.toReversed()){let Q=J.enforcing_2fa?"✓ Yes":"✗ No",w=J["2fa_has_access"]?"✓ Yes":"✗ No";Y.rows.push([J.name??"Unknown",J.gid,J.role,J.app_count?.toString()||"0",Q,w])}K.success("Organizations"),K.success(Y.toString());let Z=D.filter((J)=>J.enforcing_2fa&&!J["2fa_has_access"]);if(Z.length>0){K.warn(`
|
|
409
409
|
⚠️ You don't have access to ${Z.length} organization(s) due to 2FA enforcement:`);for(let J of Z)K.warn(` - ${J.name} (${J.gid})`);K.warn(`
|
|
410
|
-
To regain access, enable 2FA on your account at https://web.capgo.app/settings/account`)}}async function jh(D,X=!1){if(!X)q0("List organizations");await o0();let Y={...D,apikey:D.apikey||Q0()};if(!Y.apikey){if(!X)K.error("Missing API key, you need to provide an API key to list organizations");throw Error("Missing API key")}let Z=await K0(Y.apikey,Y.supaHost,Y.supaAnon);if(await U0(Z,Y.apikey,["read","write","all"]),!X)K.info("Getting organizations from Capgo");let{error:J,data:Q}=await Z.rpc("get_orgs_v7");if(J){if(!X)K.error(`Cannot get organizations ${p(J)}`);throw Error(`Cannot get organizations: ${p(J)}`)}let w=Q||[];if(!X)K.info(`Organizations found: ${w.length}`),iX0(w,X),$0("Done ✅");return w}async function Th(D,X,Y=!1){if(!Y)q0("Updating organization");await o0();let Z={...X,apikey:X.apikey||Q0()};if(!Z.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to update an organization");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let J=await K0(Z.apikey,Z.supaHost,Z.supaAnon);await U0(J,Z.apikey,["write","all"]),await WJ(J,D,Y);let{data:Q,error:w}=await J.from("orgs").select("name, management_email, created_by, enforcing_2fa, password_policy_config, require_apikey_expiration, max_apikey_expiration_days, enforce_hashed_api_keys").eq("id",D).single();if(w||!Q){if(!Y)K.error(`Cannot get organization details ${p(w)}`);throw Error(`Cannot get organization details: ${p(w)}`)}let{name:F,email:B,enforce2fa:q}=Z,{passwordPolicy:$,minLength:G,requireUppercase:W,requireNumber:O,requireSpecial:H}=Z,{requireApikeyExpiration:M,maxApikeyExpirationDays:U,enforceHashedApiKeys:N}=Z;if(q!==void 0){if(!Y){if(q&&!Q.enforcing_2fa){K.info("Checking organization members 2FA status...");let{data:C,error:y}=await J.rpc("check_org_members_2fa_enabled",{org_id:D});if(y)throw K.error(`Cannot check members 2FA status: ${p(y)}`),Error("Cannot check members 2FA status");let{data:A,error:k}=await J.rpc("has_2fa_enabled");if(k)throw K.error(`Cannot check your 2FA status: ${p(k)}`),Error("Cannot check your 2FA status");let{data:f,error:S}=await J.rpc("get_identity_apikey_only",{keymode:["read","upload","write","all"]});if(S||!f)throw K.error(`Cannot get current user identity: ${S?p(S):"No user ID returned"}`),Error("Cannot get current user identity");let v=C?.filter((b)=>!b["2fa_enabled"]&&b.user_id!==f)||[];if(v.length>0||!A){if(K.warn("⚠️ Warning: Enabling 2FA enforcement will affect access"),K.message("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),!A)K.warn("\uD83D\uDD10 YOU do not have 2FA enabled! By enabling 2FA enforcement, you will LOSE ACCESS to this organization until you enable 2FA on your account.");if(v.length>0){let{data:n,error:h}=await J.rpc("get_org_members",{guild_id:D});if(h)throw K.error(`Cannot get organization members: ${p(h)}`),Error("Cannot get organization members");let E=new Map(n?.map((g)=>[g.uid,g])||[]),P=v.map((g)=>{return E.get(g.user_id)?.email||g.user_id}),x=v.length===1?"member does":"members do",_=v.length===1?"This member will":"These members will";K.warn(`${v.length} ${x} not have 2FA enabled: ${P.join(", ")}`),K.warn(`${_} lose access until they enable 2FA.`)}let b=await sD({message:"Are you sure you want to enable 2FA enforcement?"});if(c0(b)||!b)throw K.error("Canceled enabling 2FA enforcement"),Error("2FA enforcement cancelled")}K.info("Enabling 2FA enforcement for organization...")}else if(!q&&Q.enforcing_2fa)K.info("Disabling 2FA enforcement for organization...")}let{error:V}=await J.from("orgs").update({enforcing_2fa:q}).eq("id",D);if(V){if(!Y)K.error(`Could not update 2FA enforcement: ${p(V)}`);throw Error(`Could not update 2FA enforcement: ${p(V)}`)}if(!Y)if(q)K.success("✓ 2FA enforcement enabled for this organization");else K.success("✓ 2FA enforcement disabled for this organization");if(F===void 0&&B===void 0&&!($!==void 0||M!==void 0||U!==void 0||N!==void 0)){if(await A0(Z.apikey,{channel:"organization",event:q?"Organization 2FA Enabled":"Organization 2FA Disabled",icon:"\uD83D\uDD10",user_id:D,tags:{"org-name":Q.name,"enforce-2fa":q.toString()},notify:!1}).catch(()=>{}),!Y)$0("Done ✅");return{orgId:D,name:Q.name,email:Q.management_email,enforce2fa:q}}}if($!==void 0){if(!Y)if($){K.info("Configuring password policy for organization...");let{data:C,error:y}=await J.rpc("check_org_members_password_policy",{org_id:D});if(y){if(!y.message?.includes("NO_RIGHTS"))K.warn(`Cannot check members password policy status: ${p(y)}`)}else if(C){let A=C.filter((k)=>!k.password_policy_compliant);if(A.length>0){K.warn(`⚠️ Warning: ${A.length} member(s) do not meet the password policy requirements`),K.warn("These members will need to update their passwords to regain access.");let k=await sD({message:"Are you sure you want to enable the password policy?"});if(c0(k)||!k)throw K.error("Canceled enabling password policy"),Error("Password policy configuration cancelled")}}}else K.info("Disabling password policy for organization...");let V={enabled:$,min_length:G??10,require_uppercase:W??!0,require_number:O??!0,require_special:H??!0},{error:L}=await J.from("orgs").update({password_policy_config:V}).eq("id",D);if(L){if(!Y)K.error(`Could not update password policy: ${p(L)}`);throw Error(`Could not update password policy: ${p(L)}`)}if(!Y)if($)K.success("✓ Password policy enabled for this organization"),K.info(` - Minimum length: ${V.min_length} characters`),K.info(` - Require uppercase: ${V.require_uppercase?"Yes":"No"}`),K.info(` - Require number: ${V.require_number?"Yes":"No"}`),K.info(` - Require special character: ${V.require_special?"Yes":"No"}`);else K.success("✓ Password policy disabled for this organization");if(F===void 0&&B===void 0&&q===void 0&&M===void 0&&U===void 0&&N===void 0){if(await A0(Z.apikey,{channel:"organization",event:$?"Password Policy Enabled":"Password Policy Disabled",icon:"\uD83D\uDD11",user_id:D,tags:{"org-name":Q.name},notify:!1}).catch(()=>{}),!Y)$0("Done ✅");return{orgId:D,name:Q.name,email:Q.management_email,passwordPolicy:$}}}if(M!==void 0||U!==void 0||N!==void 0){if(!Y)K.info("Updating API key security settings...");if(U!==void 0&&U!==null){if(U<1||U>365){if(!Y)K.error("Maximum API key expiration days must be between 1 and 365");throw Error("Maximum API key expiration days must be between 1 and 365")}}let V={};if(M!==void 0)V.require_apikey_expiration=M;if(U!==void 0)V.max_apikey_expiration_days=U;if(N!==void 0)V.enforce_hashed_api_keys=N;let{error:L}=await J.from("orgs").update(V).eq("id",D);if(L){if(!Y)K.error(`Could not update API key settings: ${p(L)}`);throw Error(`Could not update API key settings: ${p(L)}`)}if(!Y){if(M!==void 0)K.success(`✓ API key expiration requirement: ${M?"Enabled":"Disabled"}`);if(U!==void 0)if(U===null)K.success("✓ Maximum API key expiration days: No limit");else K.success(`✓ Maximum API key expiration days: ${U}`);if(N!==void 0)K.success(`✓ Hashed API keys enforcement: ${N?"Enabled":"Disabled"}`)}if(F===void 0&&B===void 0&&q===void 0&&$===void 0){if(await A0(Z.apikey,{channel:"organization",event:"API Key Settings Updated",icon:"\uD83D\uDD10",user_id:D,tags:{"org-name":Q.name},notify:!1}).catch(()=>{}),!Y)$0("Done ✅");return{orgId:D,name:Q.name,email:Q.management_email}}}if(!Y&&!F){let V=await R6({message:"New organization name:",placeholder:Q.name||"My Organization"});if(c0(V))throw K.error("Canceled updating organization"),Error("Organization update cancelled");F=V}if(!Y&&!B){let V=await R6({message:"Management email:",placeholder:Q.management_email||"admin@example.com"});if(c0(V))throw K.error("Canceled updating organization"),Error("Organization update cancelled");B=V}if(!F||!B){if(!Y)K.error("Missing arguments, you need to provide an organization name and management email");throw Error("Missing organization name or management email")}if(!Y)K.info(`Updating organization "${D}"`);let{error:z}=await J.from("orgs").update({name:F,management_email:B}).eq("id",D);if(z){if(!Y)K.error(`Could not update organization ${p(z)}`);throw Error(`Could not update organization: ${p(z)}`)}if(await A0(Z.apikey,{channel:"organization",event:"Organization Updated",icon:"✏️",user_id:D,tags:{"org-name":F},notify:!1}).catch(()=>{}),!Y)K.success("Organization updated"),$0("Done ✅");return{orgId:D,name:F,email:B,enforce2fa:q??Q.enforcing_2fa}}async function Ih(D,X=!1){if(!X)q0("Getting user id");let Y={...D,apikey:D.apikey||Q0()};if(!Y.apikey){if(!X)K.error("Missing API key, you need to provide an API key to fetch the user id");throw Error("Missing API key")}try{let Z=await K0(Y.apikey,Y.supaHost,Y.supaAnon),J=await U0(Z,Y.apikey,["read","all","write"]);if(!X)$0(`Done ✅: ${J}`);return J}catch(Z){if(!X)K.error(`Error getting user id ${p(Z)}`);throw Z instanceof Error?Z:Error(String(Z))}}function k0(D){let X=D instanceof Error?D.message:String(D),Y=J5(D);return{success:!1,error:X,isSecurityPolicyError:Y.isSecurityPolicyError,securityPolicyMessage:Y.isSecurityPolicyError?Y.message:void 0}}class GD{apikey;supaHost;supaAnon;constructor(D){this.apikey=D?.apikey,this.supaHost=D?.supaHost,this.supaAnon=D?.supaAnon}async login(D){try{return await Ah(D.apikey,{local:D.local??!1,supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon},!0),{success:!0}}catch(X){return k0(X)}}async doctor(D){try{return{success:!0,data:await Gk({packageJson:D?.packageJson},!0)}}catch(X){return k0(X)}}async addApp(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,icon:D.icon};return await Fk(D.appId,X,void 0,!0),{success:!0}}catch(X){return k0(X)}}async updateApp(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,icon:D.icon,retention:D.retention};return await Hk(D.appId,X,!0),{success:!0}}catch(X){return k0(X)}}async deleteApp(D,X=!1){try{let Y={apikey:this.apikey||Q0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return await Bk(D,Y,!1,X),{success:!0}}catch(Y){return k0(Y)}}async listApps(){try{let D={apikey:this.apikey||Q0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:(await Ok(D,!1)).map((Z)=>({appId:Z.app_id,name:Z.name||"Unknown",iconUrl:Z.icon_url||void 0,createdAt:new Date(Z.created_at||"")}))}}catch(D){return k0(D)}}async getAccountId(D){try{let X={apikey:D?.apikey||this.apikey||Q0(!0),supaHost:D?.supaHost||this.supaHost,supaAnon:D?.supaAnon||this.supaAnon};return{success:!0,data:await Ih(X,!0)}}catch(X){return k0(X)}}async checkBundleCompatibility(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),channel:D.channel,text:D.textOutput??!1,packageJson:D.packageJson,nodeModules:D.nodeModules,supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon};return{success:!0,data:(await Ak(D.appId,X,!0)).finalCompatibility}}catch(X){return k0(X)}}async encryptBundle(D){try{return{success:!0,data:await kk(D.zipPath,D.checksum,{key:D.keyPath,keyData:D.keyData,json:D.json,packageJson:D.packageJson},!0)}}catch(X){return k0(X)}}async decryptBundle(D){try{return{success:!0,data:await xk(D.zipPath,D.ivSessionKey,{key:D.keyPath,keyData:D.keyData,checksum:D.checksum,packageJson:D.packageJson},!0)}}catch(X){return k0(X)}}async zipBundle(D){try{return{success:!0,data:await $h(D.appId,{apikey:this.apikey||Q0(!0),path:D.path,bundle:D.bundle,name:D.name,codeCheck:D.codeCheck,json:D.json,keyV2:D.keyV2,packageJson:D.packageJson},!0)}}catch(X){return k0(X)}}async uploadBundle(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,path:D.path,bundle:D.bundle,channel:D.channel,external:D.external,key:D.encrypt!==!1,keyV2:D.encryptionKey,timeout:D.timeout,tus:D.useTus,comment:D.comment,minUpdateVersion:D.minUpdateVersion,autoMinUpdateVersion:D.autoMinUpdateVersion,selfAssign:D.selfAssign,packageJson:D.packageJsonPaths,ignoreMetadataCheck:D.ignoreCompatibilityCheck,codeCheck:!D.disableCodeCheck,zip:D.useZip},Y=await WG(D.appId,X,!0);return{success:Y.success,bundleId:Y.bundle,checksum:Y.checksum??null,encryptionMethod:Y.encryptionMethod,sessionKey:Y.sessionKey,ivSessionKey:Y.ivSessionKey,storageProvider:Y.storageProvider,skipped:Y.skipped,reason:Y.reason}}catch(X){return k0(X)}}async listBundles(D){try{let X=this.apikey||Q0(!0),Y=await K0(X,this.supaHost,this.supaAnon);return{success:!0,data:(await AJ(Y,D)).map((Q)=>({id:Q.id.toString(),version:Q.name,uploadedAt:new Date(Q.created_at||""),size:0,encrypted:Q.session_key!==null}))}}catch(X){return k0(X)}}async deleteBundle(D,X){try{let Y={apikey:this.apikey||Q0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,bundle:X};return await fk(X,D,Y,!0),{success:!0}}catch(Y){return k0(Y)}}async cleanupBundles(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,bundle:D.bundle||"",version:"",keep:D.keep||4,force:D.force||!1,ignoreChannel:D.ignoreChannel||!1};return{success:!0,data:await Rk(D.appId,X,!0)}}catch(X){return k0(X)}}async requestBuild(D){try{let X=D.credentials,Y={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,path:D.path,platform:D.platform,userId:D.userId,buildCertificateBase64:X?.BUILD_CERTIFICATE_BASE64,buildProvisionProfileBase64:X?.BUILD_PROVISION_PROFILE_BASE64,buildProvisionProfileBase64Prod:X?.BUILD_PROVISION_PROFILE_BASE64_PROD,p12Password:X?.P12_PASSWORD,appleKeyId:X?.APPLE_KEY_ID,appleIssuerId:X?.APPLE_ISSUER_ID,appleKeyContent:X?.APPLE_KEY_CONTENT,appStoreConnectTeamId:X?.APP_STORE_CONNECT_TEAM_ID,androidKeystoreFile:X?.ANDROID_KEYSTORE_FILE,keystoreKeyAlias:X?.KEYSTORE_KEY_ALIAS,keystoreKeyPassword:X?.KEYSTORE_KEY_PASSWORD,keystoreStorePassword:X?.KEYSTORE_STORE_PASSWORD,playConfigJson:X?.PLAY_CONFIG_JSON},Z=await Nk(D.appId,Y,!0);if(Z.success&&Z.jobId)return{success:!0,data:{jobId:Z.jobId,uploadUrl:Z.uploadUrl||"",status:Z.status||"unknown"}};return{success:!1,error:Z.error||"Unknown error during build request"}}catch(X){return k0(X)}}async getCurrentBundle(D,X,Y){try{let Z={apikey:Y?.apikey||this.apikey||Q0(!0),quiet:!0,supaHost:Y?.supaHost||this.supaHost,supaAnon:Y?.supaAnon||this.supaAnon};return{success:!0,data:await Oh(X,D,Z,!0)}}catch(Z){return k0(Z)}}async addChannel(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,default:D.default,selfAssign:D.selfAssign};return await Gh(D.channelId,D.appId,X,!0),{success:!0}}catch(X){return k0(X)}}async updateChannel(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,bundle:D.bundle??void 0,state:D.state,downgrade:D.downgrade,ios:D.ios,android:D.android,selfAssign:D.selfAssign,disableAutoUpdate:D.disableAutoUpdate??void 0,dev:D.dev,emulator:D.emulator,device:D.device,prod:D.prod,latest:!1,latestRemote:!1,packageJson:void 0,ignoreMetadataCheck:!1};return await Mh(D.channelId,D.appId,X,!0),{success:!0}}catch(X){return k0(X)}}async deleteChannel(D,X,Y=!1){try{let Z={apikey:this.apikey||Q0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,deleteBundle:Y,successIfNotFound:!1};return await Wh(D,X,Z,!0),{success:!0}}catch(Z){return k0(Z)}}async listChannels(D){try{let X={apikey:this.apikey||Q0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:await Hh(D,X,!0)}}catch(X){return k0(X)}}async generateEncryptionKeys(D){try{return await Nh({force:D?.force,setupChannel:D?.setupChannel},!0),{success:!0}}catch(X){return k0(X)}}async saveEncryptionKey(D){try{return await Vh({key:D?.keyPath,keyData:D?.keyData,setupChannel:D?.setupChannel},!0),{success:!0}}catch(X){return k0(X)}}async deleteLegacyEncryptionKey(D){try{return{success:!0,data:{deleted:await Uh({force:D?.force,setupChannel:D?.setupChannel},!0)}}}catch(X){return k0(X)}}async listOrganizations(D){try{let X={apikey:D?.apikey||this.apikey||Q0(!0),supaHost:D?.supaHost||this.supaHost,supaAnon:D?.supaAnon||this.supaAnon};return{success:!0,data:(await jh(X,!0)).map((J)=>({id:String(J.id??J.gid??""),name:J.name??"Unknown",role:J.role??void 0,appCount:typeof J.app_count==="number"?J.app_count:void 0,email:J.management_email??void 0,createdAt:J.created_at?new Date(J.created_at):void 0}))}}catch(X){return k0(X)}}async addOrganization(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,email:D.email},Y=await Eh(X,!0);return{success:!0,data:{id:String(Y.id??Y.gid??""),name:Y.name??D.name,role:"owner",appCount:0,email:Y.management_email??D.email,createdAt:Y.created_at?new Date(Y.created_at):void 0}}}catch(X){return k0(X)}}async updateOrganization(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,email:D.email},Y=await Th(D.orgId,X,!0);return{success:!0,data:{id:Y.orgId,name:Y.name,email:Y.email}}}catch(X){return k0(X)}}async deleteOrganization(D,X){try{let Y={apikey:X?.apikey||this.apikey||Q0(!0),supaHost:X?.supaHost||this.supaHost,supaAnon:X?.supaAnon||this.supaAnon,autoConfirm:X?.autoConfirm??!0};return{success:!0,data:{deleted:await Ch(D,Y,!0)}}}catch(Y){return k0(Y)}}async getStats(D){try{let X=D.apikey||this.apikey||Q0(!0),Y=await C8(),Z={appId:D.appId,devicesId:D.deviceIds,search:D.search,order:D.order,rangeStart:D.after||D.rangeStart,rangeEnd:D.rangeEnd,limit:D.limit},J=await fetch(`${Y.hostApi}/private/stats`,{method:"POST",headers:{"Content-Type":"application/json",capgkey:X},body:JSON.stringify(Z)});if(!J.ok)throw Error(`HTTP error! status: ${J.status}`);return{success:!0,data:(await J.json()).map((F)=>({appId:F.app_id,deviceId:F.device_id,action:F.action,versionId:F.version_id,version:F.version,createdAt:F.created_at}))}}catch(X){return k0(X)}}async setAppSetting(D,X){try{return await Kk(D,{apikey:X.apikey||this.apikey||Q0(!0),bool:X.bool,string:X.string},!0),{success:!0}}catch(Y){return k0(Y)}}}async function pX0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).uploadBundle(D)}async function aX0(D){return new GD({supaHost:D.supaHost,supaAnon:D.supaAnon}).login(D)}async function tX0(D){return new GD().doctor(D)}async function rX0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).checkBundleCompatibility(D)}async function sX0(D){return new GD().encryptBundle(D)}async function oX0(D){return new GD().decryptBundle(D)}async function eX0(D){return new GD().zipBundle(D)}async function DY0(D){return new GD().generateEncryptionKeys(D)}async function XY0(D){return new GD().saveEncryptionKey(D)}async function YY0(D){return new GD().deleteLegacyEncryptionKey(D)}async function ZY0(D,X,Y){return new GD({apikey:Y?.apikey,supaHost:Y?.supaHost,supaAnon:Y?.supaAnon}).getCurrentBundle(D,X,Y)}async function JY0(D,X){return new GD({apikey:X.apikey}).setAppSetting(D,X)}async function QY0(D){return new GD({apikey:D?.apikey,supaHost:D?.supaHost,supaAnon:D?.supaAnon}).getAccountId(D)}async function wY0(D){return new GD({apikey:D?.apikey,supaHost:D?.supaHost,supaAnon:D?.supaAnon}).listOrganizations(D)}async function FY0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).addOrganization(D)}async function BY0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).updateOrganization(D)}async function qY0(D,X){return new GD({apikey:X?.apikey,supaHost:X?.supaHost,supaAnon:X?.supaAnon}).deleteOrganization(D,X)}async function $Y0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).addApp(D)}async function GY0(D,X){return new GD(X).listBundles(D)}async function OY0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).addChannel(D)}async function WY0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).requestBuild(D)}async function HY0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).getStats(D)}async function KY0(){try{return await H0()}catch{return null}}
|
|
410
|
+
To regain access, enable 2FA on your account at https://web.capgo.app/settings/account`)}}async function jh(D,X=!1){if(!X)q0("List organizations");await o0();let Y={...D,apikey:D.apikey||Q0()};if(!Y.apikey){if(!X)K.error("Missing API key, you need to provide an API key to list organizations");throw Error("Missing API key")}let Z=await K0(Y.apikey,Y.supaHost,Y.supaAnon);if(await N0(Z,Y.apikey,["read","write","all"]),!X)K.info("Getting organizations from Capgo");let{error:J,data:Q}=await Z.rpc("get_orgs_v7");if(J){if(!X)K.error(`Cannot get organizations ${p(J)}`);throw Error(`Cannot get organizations: ${p(J)}`)}let w=Q||[];if(!X)K.info(`Organizations found: ${w.length}`),iX0(w,X),$0("Done ✅");return w}async function Th(D,X,Y=!1){if(!Y)q0("Updating organization");await o0();let Z={...X,apikey:X.apikey||Q0()};if(!Z.apikey){if(!Y)K.error("Missing API key, you need to provide an API key to update an organization");throw Error("Missing API key")}if(!D){if(!Y)K.error("Missing argument, you need to provide an organization ID");throw Error("Missing organization id")}let J=await K0(Z.apikey,Z.supaHost,Z.supaAnon);await N0(J,Z.apikey,["write","all"]),await WJ(J,D,Y);let{data:Q,error:w}=await J.from("orgs").select("name, management_email, created_by, enforcing_2fa, password_policy_config, require_apikey_expiration, max_apikey_expiration_days, enforce_hashed_api_keys").eq("id",D).single();if(w||!Q){if(!Y)K.error(`Cannot get organization details ${p(w)}`);throw Error(`Cannot get organization details: ${p(w)}`)}let{name:F,email:B,enforce2fa:q}=Z,{passwordPolicy:$,minLength:G,requireUppercase:W,requireNumber:O,requireSpecial:H}=Z,{requireApikeyExpiration:M,maxApikeyExpirationDays:U,enforceHashedApiKeys:N}=Z;if(q!==void 0){if(!Y){if(q&&!Q.enforcing_2fa){K.info("Checking organization members 2FA status...");let{data:C,error:y}=await J.rpc("check_org_members_2fa_enabled",{org_id:D});if(y)throw K.error(`Cannot check members 2FA status: ${p(y)}`),Error("Cannot check members 2FA status");let{data:A,error:k}=await J.rpc("has_2fa_enabled");if(k)throw K.error(`Cannot check your 2FA status: ${p(k)}`),Error("Cannot check your 2FA status");let{data:f,error:S}=await J.rpc("get_identity_apikey_only",{keymode:["read","upload","write","all"]});if(S||!f)throw K.error(`Cannot get current user identity: ${S?p(S):"No user ID returned"}`),Error("Cannot get current user identity");let v=C?.filter((b)=>!b["2fa_enabled"]&&b.user_id!==f)||[];if(v.length>0||!A){if(K.warn("⚠️ Warning: Enabling 2FA enforcement will affect access"),K.message("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"),!A)K.warn("\uD83D\uDD10 YOU do not have 2FA enabled! By enabling 2FA enforcement, you will LOSE ACCESS to this organization until you enable 2FA on your account.");if(v.length>0){let{data:n,error:h}=await J.rpc("get_org_members",{guild_id:D});if(h)throw K.error(`Cannot get organization members: ${p(h)}`),Error("Cannot get organization members");let E=new Map(n?.map((g)=>[g.uid,g])||[]),P=v.map((g)=>{return E.get(g.user_id)?.email||g.user_id}),x=v.length===1?"member does":"members do",_=v.length===1?"This member will":"These members will";K.warn(`${v.length} ${x} not have 2FA enabled: ${P.join(", ")}`),K.warn(`${_} lose access until they enable 2FA.`)}let b=await oD({message:"Are you sure you want to enable 2FA enforcement?"});if(c0(b)||!b)throw K.error("Canceled enabling 2FA enforcement"),Error("2FA enforcement cancelled")}K.info("Enabling 2FA enforcement for organization...")}else if(!q&&Q.enforcing_2fa)K.info("Disabling 2FA enforcement for organization...")}let{error:V}=await J.from("orgs").update({enforcing_2fa:q}).eq("id",D);if(V){if(!Y)K.error(`Could not update 2FA enforcement: ${p(V)}`);throw Error(`Could not update 2FA enforcement: ${p(V)}`)}if(!Y)if(q)K.success("✓ 2FA enforcement enabled for this organization");else K.success("✓ 2FA enforcement disabled for this organization");if(F===void 0&&B===void 0&&!($!==void 0||M!==void 0||U!==void 0||N!==void 0)){if(await z0(Z.apikey,{channel:"organization",event:q?"Organization 2FA Enabled":"Organization 2FA Disabled",icon:"\uD83D\uDD10",user_id:D,tags:{"org-name":Q.name,"enforce-2fa":q.toString()},notify:!1}).catch(()=>{}),!Y)$0("Done ✅");return{orgId:D,name:Q.name,email:Q.management_email,enforce2fa:q}}}if($!==void 0){if(!Y)if($){K.info("Configuring password policy for organization...");let{data:C,error:y}=await J.rpc("check_org_members_password_policy",{org_id:D});if(y){if(!y.message?.includes("NO_RIGHTS"))K.warn(`Cannot check members password policy status: ${p(y)}`)}else if(C){let A=C.filter((k)=>!k.password_policy_compliant);if(A.length>0){K.warn(`⚠️ Warning: ${A.length} member(s) do not meet the password policy requirements`),K.warn("These members will need to update their passwords to regain access.");let k=await oD({message:"Are you sure you want to enable the password policy?"});if(c0(k)||!k)throw K.error("Canceled enabling password policy"),Error("Password policy configuration cancelled")}}}else K.info("Disabling password policy for organization...");let V={enabled:$,min_length:G??10,require_uppercase:W??!0,require_number:O??!0,require_special:H??!0},{error:L}=await J.from("orgs").update({password_policy_config:V}).eq("id",D);if(L){if(!Y)K.error(`Could not update password policy: ${p(L)}`);throw Error(`Could not update password policy: ${p(L)}`)}if(!Y)if($)K.success("✓ Password policy enabled for this organization"),K.info(` - Minimum length: ${V.min_length} characters`),K.info(` - Require uppercase: ${V.require_uppercase?"Yes":"No"}`),K.info(` - Require number: ${V.require_number?"Yes":"No"}`),K.info(` - Require special character: ${V.require_special?"Yes":"No"}`);else K.success("✓ Password policy disabled for this organization");if(F===void 0&&B===void 0&&q===void 0&&M===void 0&&U===void 0&&N===void 0){if(await z0(Z.apikey,{channel:"organization",event:$?"Password Policy Enabled":"Password Policy Disabled",icon:"\uD83D\uDD11",user_id:D,tags:{"org-name":Q.name},notify:!1}).catch(()=>{}),!Y)$0("Done ✅");return{orgId:D,name:Q.name,email:Q.management_email,passwordPolicy:$}}}if(M!==void 0||U!==void 0||N!==void 0){if(!Y)K.info("Updating API key security settings...");if(U!==void 0&&U!==null){if(U<1||U>365){if(!Y)K.error("Maximum API key expiration days must be between 1 and 365");throw Error("Maximum API key expiration days must be between 1 and 365")}}let V={};if(M!==void 0)V.require_apikey_expiration=M;if(U!==void 0)V.max_apikey_expiration_days=U;if(N!==void 0)V.enforce_hashed_api_keys=N;let{error:L}=await J.from("orgs").update(V).eq("id",D);if(L){if(!Y)K.error(`Could not update API key settings: ${p(L)}`);throw Error(`Could not update API key settings: ${p(L)}`)}if(!Y){if(M!==void 0)K.success(`✓ API key expiration requirement: ${M?"Enabled":"Disabled"}`);if(U!==void 0)if(U===null)K.success("✓ Maximum API key expiration days: No limit");else K.success(`✓ Maximum API key expiration days: ${U}`);if(N!==void 0)K.success(`✓ Hashed API keys enforcement: ${N?"Enabled":"Disabled"}`)}if(F===void 0&&B===void 0&&q===void 0&&$===void 0){if(await z0(Z.apikey,{channel:"organization",event:"API Key Settings Updated",icon:"\uD83D\uDD10",user_id:D,tags:{"org-name":Q.name},notify:!1}).catch(()=>{}),!Y)$0("Done ✅");return{orgId:D,name:Q.name,email:Q.management_email}}}if(!Y&&!F){let V=await R6({message:"New organization name:",placeholder:Q.name||"My Organization"});if(c0(V))throw K.error("Canceled updating organization"),Error("Organization update cancelled");F=V}if(!Y&&!B){let V=await R6({message:"Management email:",placeholder:Q.management_email||"admin@example.com"});if(c0(V))throw K.error("Canceled updating organization"),Error("Organization update cancelled");B=V}if(!F||!B){if(!Y)K.error("Missing arguments, you need to provide an organization name and management email");throw Error("Missing organization name or management email")}if(!Y)K.info(`Updating organization "${D}"`);let{error:z}=await J.from("orgs").update({name:F,management_email:B}).eq("id",D);if(z){if(!Y)K.error(`Could not update organization ${p(z)}`);throw Error(`Could not update organization: ${p(z)}`)}if(await z0(Z.apikey,{channel:"organization",event:"Organization Updated",icon:"✏️",user_id:D,tags:{"org-name":F},notify:!1}).catch(()=>{}),!Y)K.success("Organization updated"),$0("Done ✅");return{orgId:D,name:F,email:B,enforce2fa:q??Q.enforcing_2fa}}async function Ih(D,X=!1){if(!X)q0("Getting user id");let Y={...D,apikey:D.apikey||Q0()};if(!Y.apikey){if(!X)K.error("Missing API key, you need to provide an API key to fetch the user id");throw Error("Missing API key")}try{let Z=await K0(Y.apikey,Y.supaHost,Y.supaAnon),J=await N0(Z,Y.apikey,["read","all","write"]);if(!X)$0(`Done ✅: ${J}`);return J}catch(Z){if(!X)K.error(`Error getting user id ${p(Z)}`);throw Z instanceof Error?Z:Error(String(Z))}}function k0(D){let X=D instanceof Error?D.message:String(D),Y=J5(D);return{success:!1,error:X,isSecurityPolicyError:Y.isSecurityPolicyError,securityPolicyMessage:Y.isSecurityPolicyError?Y.message:void 0}}class GD{apikey;supaHost;supaAnon;constructor(D){this.apikey=D?.apikey,this.supaHost=D?.supaHost,this.supaAnon=D?.supaAnon}async login(D){try{return await Ah(D.apikey,{local:D.local??!1,supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon},!0),{success:!0}}catch(X){return k0(X)}}async doctor(D){try{return{success:!0,data:await Gk({packageJson:D?.packageJson},!0)}}catch(X){return k0(X)}}async addApp(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,icon:D.icon};return await Fk(D.appId,X,void 0,!0),{success:!0}}catch(X){return k0(X)}}async updateApp(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,icon:D.icon,retention:D.retention};return await Hk(D.appId,X,!0),{success:!0}}catch(X){return k0(X)}}async deleteApp(D,X=!1){try{let Y={apikey:this.apikey||Q0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return await Bk(D,Y,!1,X),{success:!0}}catch(Y){return k0(Y)}}async listApps(){try{let D={apikey:this.apikey||Q0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:(await Ok(D,!1)).map((Z)=>({appId:Z.app_id,name:Z.name||"Unknown",iconUrl:Z.icon_url||void 0,createdAt:new Date(Z.created_at||"")}))}}catch(D){return k0(D)}}async getAccountId(D){try{let X={apikey:D?.apikey||this.apikey||Q0(!0),supaHost:D?.supaHost||this.supaHost,supaAnon:D?.supaAnon||this.supaAnon};return{success:!0,data:await Ih(X,!0)}}catch(X){return k0(X)}}async checkBundleCompatibility(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),channel:D.channel,text:D.textOutput??!1,packageJson:D.packageJson,nodeModules:D.nodeModules,supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon};return{success:!0,data:(await Ak(D.appId,X,!0)).finalCompatibility}}catch(X){return k0(X)}}async encryptBundle(D){try{return{success:!0,data:await kk(D.zipPath,D.checksum,{key:D.keyPath,keyData:D.keyData,json:D.json,packageJson:D.packageJson},!0)}}catch(X){return k0(X)}}async decryptBundle(D){try{return{success:!0,data:await xk(D.zipPath,D.ivSessionKey,{key:D.keyPath,keyData:D.keyData,checksum:D.checksum,packageJson:D.packageJson},!0)}}catch(X){return k0(X)}}async zipBundle(D){try{return{success:!0,data:await $h(D.appId,{apikey:this.apikey||Q0(!0),path:D.path,bundle:D.bundle,name:D.name,codeCheck:D.codeCheck,json:D.json,keyV2:D.keyV2,packageJson:D.packageJson},!0)}}catch(X){return k0(X)}}async uploadBundle(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,path:D.path,bundle:D.bundle,channel:D.channel,external:D.external,key:D.encrypt!==!1,keyV2:D.encryptionKey,timeout:D.timeout,tus:D.useTus,comment:D.comment,minUpdateVersion:D.minUpdateVersion,autoMinUpdateVersion:D.autoMinUpdateVersion,selfAssign:D.selfAssign,packageJson:D.packageJsonPaths,ignoreMetadataCheck:D.ignoreCompatibilityCheck,codeCheck:!D.disableCodeCheck,zip:D.useZip},Y=await WG(D.appId,X,!0);return{success:Y.success,bundleId:Y.bundle,checksum:Y.checksum??null,encryptionMethod:Y.encryptionMethod,sessionKey:Y.sessionKey,ivSessionKey:Y.ivSessionKey,storageProvider:Y.storageProvider,skipped:Y.skipped,reason:Y.reason}}catch(X){return k0(X)}}async listBundles(D){try{let X=this.apikey||Q0(!0),Y=await K0(X,this.supaHost,this.supaAnon);return{success:!0,data:(await AJ(Y,D)).map((Q)=>({id:Q.id.toString(),version:Q.name,uploadedAt:new Date(Q.created_at||""),size:0,encrypted:Q.session_key!==null}))}}catch(X){return k0(X)}}async deleteBundle(D,X){try{let Y={apikey:this.apikey||Q0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,bundle:X};return await fk(X,D,Y,!0),{success:!0}}catch(Y){return k0(Y)}}async cleanupBundles(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,bundle:D.bundle||"",version:"",keep:D.keep||4,force:D.force||!1,ignoreChannel:D.ignoreChannel||!1};return{success:!0,data:await Rk(D.appId,X,!0)}}catch(X){return k0(X)}}async requestBuild(D){try{let X=D.credentials,Y={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,path:D.path,platform:D.platform,userId:D.userId,buildCertificateBase64:X?.BUILD_CERTIFICATE_BASE64,buildProvisionProfileBase64:X?.BUILD_PROVISION_PROFILE_BASE64,buildProvisionProfileBase64Prod:X?.BUILD_PROVISION_PROFILE_BASE64_PROD,p12Password:X?.P12_PASSWORD,appleKeyId:X?.APPLE_KEY_ID,appleIssuerId:X?.APPLE_ISSUER_ID,appleKeyContent:X?.APPLE_KEY_CONTENT,appStoreConnectTeamId:X?.APP_STORE_CONNECT_TEAM_ID,androidKeystoreFile:X?.ANDROID_KEYSTORE_FILE,keystoreKeyAlias:X?.KEYSTORE_KEY_ALIAS,keystoreKeyPassword:X?.KEYSTORE_KEY_PASSWORD,keystoreStorePassword:X?.KEYSTORE_STORE_PASSWORD,playConfigJson:X?.PLAY_CONFIG_JSON},Z=await Nk(D.appId,Y,!0);if(Z.success&&Z.jobId)return{success:!0,data:{jobId:Z.jobId,uploadUrl:Z.uploadUrl||"",status:Z.status||"unknown"}};return{success:!1,error:Z.error||"Unknown error during build request"}}catch(X){return k0(X)}}async getCurrentBundle(D,X,Y){try{let Z={apikey:Y?.apikey||this.apikey||Q0(!0),quiet:!0,supaHost:Y?.supaHost||this.supaHost,supaAnon:Y?.supaAnon||this.supaAnon};return{success:!0,data:await Oh(X,D,Z,!0)}}catch(Z){return k0(Z)}}async addChannel(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,default:D.default,selfAssign:D.selfAssign};return await Gh(D.channelId,D.appId,X,!0),{success:!0}}catch(X){return k0(X)}}async updateChannel(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,bundle:D.bundle??void 0,state:D.state,downgrade:D.downgrade,ios:D.ios,android:D.android,selfAssign:D.selfAssign,disableAutoUpdate:D.disableAutoUpdate??void 0,dev:D.dev,emulator:D.emulator,device:D.device,prod:D.prod,latest:!1,latestRemote:!1,packageJson:void 0,ignoreMetadataCheck:!1};return await Mh(D.channelId,D.appId,X,!0),{success:!0}}catch(X){return k0(X)}}async deleteChannel(D,X,Y=!1){try{let Z={apikey:this.apikey||Q0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon,deleteBundle:Y,successIfNotFound:!1};return await Wh(D,X,Z,!0),{success:!0}}catch(Z){return k0(Z)}}async listChannels(D){try{let X={apikey:this.apikey||Q0(!0),supaHost:this.supaHost,supaAnon:this.supaAnon};return{success:!0,data:await Hh(D,X,!0)}}catch(X){return k0(X)}}async generateEncryptionKeys(D){try{return await Nh({force:D?.force,setupChannel:D?.setupChannel},!0),{success:!0}}catch(X){return k0(X)}}async saveEncryptionKey(D){try{return await Vh({key:D?.keyPath,keyData:D?.keyData,setupChannel:D?.setupChannel},!0),{success:!0}}catch(X){return k0(X)}}async deleteLegacyEncryptionKey(D){try{return{success:!0,data:{deleted:await Uh({force:D?.force,setupChannel:D?.setupChannel},!0)}}}catch(X){return k0(X)}}async listOrganizations(D){try{let X={apikey:D?.apikey||this.apikey||Q0(!0),supaHost:D?.supaHost||this.supaHost,supaAnon:D?.supaAnon||this.supaAnon};return{success:!0,data:(await jh(X,!0)).map((J)=>({id:String(J.id??J.gid??""),name:J.name??"Unknown",role:J.role??void 0,appCount:typeof J.app_count==="number"?J.app_count:void 0,email:J.management_email??void 0,createdAt:J.created_at?new Date(J.created_at):void 0}))}}catch(X){return k0(X)}}async addOrganization(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,email:D.email},Y=await Eh(X,!0);return{success:!0,data:{id:String(Y.id??Y.gid??""),name:Y.name??D.name,role:"owner",appCount:0,email:Y.management_email??D.email,createdAt:Y.created_at?new Date(Y.created_at):void 0}}}catch(X){return k0(X)}}async updateOrganization(D){try{let X={apikey:D.apikey||this.apikey||Q0(!0),supaHost:D.supaHost||this.supaHost,supaAnon:D.supaAnon||this.supaAnon,name:D.name,email:D.email},Y=await Th(D.orgId,X,!0);return{success:!0,data:{id:Y.orgId,name:Y.name,email:Y.email}}}catch(X){return k0(X)}}async deleteOrganization(D,X){try{let Y={apikey:X?.apikey||this.apikey||Q0(!0),supaHost:X?.supaHost||this.supaHost,supaAnon:X?.supaAnon||this.supaAnon,autoConfirm:X?.autoConfirm??!0};return{success:!0,data:{deleted:await Ch(D,Y,!0)}}}catch(Y){return k0(Y)}}async getStats(D){try{let X=D.apikey||this.apikey||Q0(!0),Y=await C8(),Z={appId:D.appId,devicesId:D.deviceIds,search:D.search,order:D.order,rangeStart:D.after||D.rangeStart,rangeEnd:D.rangeEnd,limit:D.limit},J=await fetch(`${Y.hostApi}/private/stats`,{method:"POST",headers:{"Content-Type":"application/json",capgkey:X},body:JSON.stringify(Z)});if(!J.ok)throw Error(`HTTP error! status: ${J.status}`);return{success:!0,data:(await J.json()).map((F)=>({appId:F.app_id,deviceId:F.device_id,action:F.action,versionId:F.version_id,version:F.version,createdAt:F.created_at}))}}catch(X){return k0(X)}}async setAppSetting(D,X){try{return await Kk(D,{apikey:X.apikey||this.apikey||Q0(!0),bool:X.bool,string:X.string},!0),{success:!0}}catch(Y){return k0(Y)}}}async function pX0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).uploadBundle(D)}async function aX0(D){return new GD({supaHost:D.supaHost,supaAnon:D.supaAnon}).login(D)}async function tX0(D){return new GD().doctor(D)}async function rX0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).checkBundleCompatibility(D)}async function sX0(D){return new GD().encryptBundle(D)}async function oX0(D){return new GD().decryptBundle(D)}async function eX0(D){return new GD().zipBundle(D)}async function DY0(D){return new GD().generateEncryptionKeys(D)}async function XY0(D){return new GD().saveEncryptionKey(D)}async function YY0(D){return new GD().deleteLegacyEncryptionKey(D)}async function ZY0(D,X,Y){return new GD({apikey:Y?.apikey,supaHost:Y?.supaHost,supaAnon:Y?.supaAnon}).getCurrentBundle(D,X,Y)}async function JY0(D,X){return new GD({apikey:X.apikey}).setAppSetting(D,X)}async function QY0(D){return new GD({apikey:D?.apikey,supaHost:D?.supaHost,supaAnon:D?.supaAnon}).getAccountId(D)}async function wY0(D){return new GD({apikey:D?.apikey,supaHost:D?.supaHost,supaAnon:D?.supaAnon}).listOrganizations(D)}async function FY0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).addOrganization(D)}async function BY0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).updateOrganization(D)}async function qY0(D,X){return new GD({apikey:X?.apikey,supaHost:X?.supaHost,supaAnon:X?.supaAnon}).deleteOrganization(D,X)}async function $Y0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).addApp(D)}async function GY0(D,X){return new GD(X).listBundles(D)}async function OY0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).addChannel(D)}async function WY0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).requestBuild(D)}async function HY0(D){return new GD({apikey:D.apikey,supaHost:D.supaHost,supaAnon:D.supaAnon}).getStats(D)}async function KY0(){try{return await H0()}catch{return null}}
|