From b6e0889307ce8b1515a7c7a982444acea90e654b Mon Sep 17 00:00:00 2001 From: Esteban Suarez Date: Sat, 6 Jun 2026 00:02:20 -0300 Subject: [PATCH] Harden sandbox API error handling and cut v0.1.0-beta.2 Surface HTTP status, content-type, and response body on SDK errors so transport failures (proxies, gateways, rate limits) are diagnosable instead of opaque, e.g. "Expected a stream of command data". Retry transport-level failures on idempotent boot commands and on stop/snapshot, via an opt-in retryTransport flag plus a stop() poll fallback, so a mangled or dropped response self-heals instead of aborting the run. Keep a failed-startup snapshot error as a dim aside when it shares the transport cause, instead of a second alarming line above the root error. Bump @vercel/sandbox 2.0.1 to 2.1.1 (its required undici floor is exempt from the release-age gate), and add the v0.1.0-beta.2 release artifacts. --- apps/downloads/public/install.sh | 2 +- .../releases/v0.1.0-beta.2/checksums.txt | 1 + .../public/releases/v0.1.0-beta.2/up.mjs | 446 ++++++++++++++++++ packages/cli/package.json | 2 +- packages/cli/src/cli.ts | 42 +- packages/cli/src/ready.ts | 2 +- packages/cli/src/retry.ts | 28 +- packages/cli/src/sandbox.ts | 52 +- packages/cli/src/sync.ts | 2 +- packages/cli/src/toolchain.ts | 1 + packages/cli/test/retry.test.ts | 57 ++- pnpm-lock.yaml | 18 +- pnpm-workspace.yaml | 3 + 13 files changed, 622 insertions(+), 34 deletions(-) create mode 100644 apps/downloads/public/releases/v0.1.0-beta.2/checksums.txt create mode 100755 apps/downloads/public/releases/v0.1.0-beta.2/up.mjs diff --git a/apps/downloads/public/install.sh b/apps/downloads/public/install.sh index 81655d2..a993582 100755 --- a/apps/downloads/public/install.sh +++ b/apps/downloads/public/install.sh @@ -6,7 +6,7 @@ set -eu # No-op on POSIX sh/dash, active on bash/zsh. (set -o pipefail) 2>/dev/null && set -o pipefail || true -VERSION="${UP_VERSION:-v0.1.0-beta.1}" +VERSION="${UP_VERSION:-v0.1.0-beta.2}" INSTALL_DIR="${UP_INSTALL_DIR:-${HOME:?HOME is required}/.local/bin}" DOWNLOAD_ROOT="${UP_DOWNLOAD_ROOT:-https://cdn.upcli.dev/releases/${VERSION}}" diff --git a/apps/downloads/public/releases/v0.1.0-beta.2/checksums.txt b/apps/downloads/public/releases/v0.1.0-beta.2/checksums.txt new file mode 100644 index 0000000..6fd6a6c --- /dev/null +++ b/apps/downloads/public/releases/v0.1.0-beta.2/checksums.txt @@ -0,0 +1 @@ +61a71be1419d28d582b0a0a146725d664e927198ed1c91588f2fcc15c97d135e up.mjs diff --git a/apps/downloads/public/releases/v0.1.0-beta.2/up.mjs b/apps/downloads/public/releases/v0.1.0-beta.2/up.mjs new file mode 100755 index 0000000..5b82c8f --- /dev/null +++ b/apps/downloads/public/releases/v0.1.0-beta.2/up.mjs @@ -0,0 +1,446 @@ +#!/usr/bin/env node +import { createRequire as __createRequire } from 'node:module'; +const require = __createRequire(import.meta.url); +var Iy=Object.create;var Ba=Object.defineProperty;var Qy=Object.getOwnPropertyDescriptor;var Cy=Object.getOwnPropertyNames;var By=Object.getPrototypeOf,fy=Object.prototype.hasOwnProperty;var k=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,A)=>(typeof require<"u"?require:e)[A]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var rt=(t,e)=>()=>(t&&(e=t(t=0)),e);var S=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),py=(t,e)=>{for(var A in e)Ba(t,A,{get:e[A],enumerable:!0})},my=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Cy(e))!fy.call(t,s)&&s!==A&&Ba(t,s,{get:()=>e[s],enumerable:!(r=Qy(e,s))||r.enumerable});return t};var De=(t,e,A)=>(A=t!=null?Iy(By(t)):{},my(e||!t||!t.__esModule?Ba(A,"default",{value:t,enumerable:!0}):A,t));import EY from"path";import{fileURLToPath as QY}from"url";var l=rt(()=>{"use strict"});var wa=S((bY,Vh)=>{"use strict";l();var ya={to(t,e){return e?`\x1B[${e+1};${t+1}H`:`\x1B[${t+1}G`},move(t,e){let A="";return t<0?A+=`\x1B[${-t}D`:t>0&&(A+=`\x1B[${t}C`),e<0?A+=`\x1B[${-e}A`:e>0&&(A+=`\x1B[${e}B`),A},up:(t=1)=>`\x1B[${t}A`,down:(t=1)=>`\x1B[${t}B`,forward:(t=1)=>`\x1B[${t}C`,backward:(t=1)=>`\x1B[${t}D`,nextLine:(t=1)=>"\x1B[E".repeat(t),prevLine:(t=1)=>"\x1B[F".repeat(t),left:"\x1B[G",hide:"\x1B[?25l",show:"\x1B[?25h",save:"\x1B7",restore:"\x1B8"},vy={up:(t=1)=>"\x1B[S".repeat(t),down:(t=1)=>"\x1B[T".repeat(t)},xy={screen:"\x1B[2J",up:(t=1)=>"\x1B[1J".repeat(t),down:(t=1)=>"\x1B[J".repeat(t),line:"\x1B[2K",lineEnd:"\x1B[K",lineStart:"\x1B[1K",lines(t){let e="";for(let A=0;A{"use strict";l();var gi=process||{},cd=gi.argv||[],ci=gi.env||{},I0=!(ci.NO_COLOR||cd.includes("--no-color"))&&(!!ci.FORCE_COLOR||cd.includes("--color")||gi.platform==="win32"||(gi.stdout||{}).isTTY&&ci.TERM!=="dumb"||!!ci.CI),Q0=(t,e,A=t)=>r=>{let s=""+r,n=s.indexOf(e,t.length);return~n?t+C0(s,e,A,n)+e:t+s+e},C0=(t,e,A,r)=>{let s="",n=0;do s+=t.substring(n,r)+A,n=r+e.length,r=t.indexOf(e,n);while(~r);return s+t.substring(n)},gd=(t=I0)=>{let e=t?Q0:()=>String;return{isColorSupported:t,reset:e("\x1B[0m","\x1B[0m"),bold:e("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:e("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:e("\x1B[3m","\x1B[23m"),underline:e("\x1B[4m","\x1B[24m"),inverse:e("\x1B[7m","\x1B[27m"),hidden:e("\x1B[8m","\x1B[28m"),strikethrough:e("\x1B[9m","\x1B[29m"),black:e("\x1B[30m","\x1B[39m"),red:e("\x1B[31m","\x1B[39m"),green:e("\x1B[32m","\x1B[39m"),yellow:e("\x1B[33m","\x1B[39m"),blue:e("\x1B[34m","\x1B[39m"),magenta:e("\x1B[35m","\x1B[39m"),cyan:e("\x1B[36m","\x1B[39m"),white:e("\x1B[37m","\x1B[39m"),gray:e("\x1B[90m","\x1B[39m"),bgBlack:e("\x1B[40m","\x1B[49m"),bgRed:e("\x1B[41m","\x1B[49m"),bgGreen:e("\x1B[42m","\x1B[49m"),bgYellow:e("\x1B[43m","\x1B[49m"),bgBlue:e("\x1B[44m","\x1B[49m"),bgMagenta:e("\x1B[45m","\x1B[49m"),bgCyan:e("\x1B[46m","\x1B[49m"),bgWhite:e("\x1B[47m","\x1B[49m"),blackBright:e("\x1B[90m","\x1B[39m"),redBright:e("\x1B[91m","\x1B[39m"),greenBright:e("\x1B[92m","\x1B[39m"),yellowBright:e("\x1B[93m","\x1B[39m"),blueBright:e("\x1B[94m","\x1B[39m"),magentaBright:e("\x1B[95m","\x1B[39m"),cyanBright:e("\x1B[96m","\x1B[39m"),whiteBright:e("\x1B[97m","\x1B[39m"),bgBlackBright:e("\x1B[100m","\x1B[49m"),bgRedBright:e("\x1B[101m","\x1B[49m"),bgGreenBright:e("\x1B[102m","\x1B[49m"),bgYellowBright:e("\x1B[103m","\x1B[49m"),bgBlueBright:e("\x1B[104m","\x1B[49m"),bgMagentaBright:e("\x1B[105m","\x1B[49m"),bgCyanBright:e("\x1B[106m","\x1B[49m"),bgWhiteBright:e("\x1B[107m","\x1B[49m")}};Ta.exports=gd();Ta.exports.createColors=gd});function f0(t){dd=t}function li(){return dd}function N(t,e){let A=li(),r=ui({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,A,A===kr?void 0:kr].filter(s=>!!s)});t.common.issues.push(r)}function hi(t,e,A,r){if(A==="a"&&!r)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!r:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return A==="m"?r:A==="a"?r.call(t):r?r.value:e.get(t)}function Ed(t,e,A,r,s){if(r==="m")throw new TypeError("Private method is not writable");if(r==="a"&&!s)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!s:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return r==="a"?s.call(t,A):s?s.value=A:e.set(t,A),A}function H(t){if(!t)return{};let{errorMap:e,invalid_type_error:A,required_error:r,description:s}=t;if(e&&(A||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:(i,o)=>{var a,c;let{message:g}=t;return i.code==="invalid_enum_value"?{message:g??o.defaultError}:typeof o.data>"u"?{message:(a=g??r)!==null&&a!==void 0?a:o.defaultError}:i.code!=="invalid_type"?{message:o.defaultError}:{message:(c=g??A)!==null&&c!==void 0?c:o.defaultError}},description:s}}function Qd(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let A=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${A}`}function L0(t){return new RegExp(`^${Qd(t)}$`)}function Cd(t){let e=`${Id}T${Qd(t)}`,A=[];return A.push(t.local?"Z?":"Z"),t.offset&&A.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${A.join("|")})`,new RegExp(`^${e}$`)}function Y0(t,e){return!!((e==="v4"||!e)&&k0.test(t)||(e==="v6"||!e)&&U0.test(t))}function O0(t,e){if(!N0.test(t))return!1;try{let[A]=t.split("."),r=A.replace(/-/g,"+").replace(/_/g,"/").padEnd(A.length+(4-A.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||!s.typ||!s.alg||e&&s.alg!==e)}catch{return!1}}function G0(t,e){return!!((e==="v4"||!e)&&T0.test(t)||(e==="v6"||!e)&&_0.test(t))}function H0(t,e){let A=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,s=A>r?A:r,n=parseInt(t.toFixed(s).replace(".","")),i=parseInt(e.toFixed(s).replace(".",""));return n%i/Math.pow(10,s)}function Fr(t){if(t instanceof Oe){let e={};for(let A in t.shape){let r=t.shape[A];e[A]=st.create(Fr(r))}return new Oe({...t._def,shape:()=>e})}else return t instanceof Vt?new Vt({...t._def,type:Fr(t.element)}):t instanceof st?st.create(Fr(t.unwrap())):t instanceof Rt?Rt.create(Fr(t.unwrap())):t instanceof Nt?Nt.create(t.items.map(e=>Fr(e))):t}function xa(t,e){let A=Ht(t),r=Ht(e);if(t===e)return{valid:!0,data:t};if(A===b.object&&r===b.object){let s=$.objectKeys(e),n=$.objectKeys(t).filter(o=>s.indexOf(o)!==-1),i={...t,...e};for(let o of n){let a=xa(t[o],e[o]);if(!a.valid)return{valid:!1};i[o]=a.data}return{valid:!0,data:i}}else if(A===b.array&&r===b.array){if(t.length!==e.length)return{valid:!1};let s=[];for(let n=0;n{var n,i;let o=t(r);if(o instanceof Promise)return o.then(a=>{var c,g;if(!a){let d=ud(e,r),I=(g=(c=d.fatal)!==null&&c!==void 0?c:A)!==null&&g!==void 0?g:!0;s.addIssue({code:"custom",...d,fatal:I})}});if(!o){let a=ud(e,r),c=(i=(n=a.fatal)!==null&&n!==void 0?n:A)!==null&&i!==void 0?i:!0;s.addIssue({code:"custom",...a,fatal:c})}}):uA.create()}var $,_a,b,Ht,m,B0,qe,kr,dd,ui,p0,ke,Y,br,_e,Ma,va,PA,_s,T,Ts,Us,nt,ld,P,m0,y0,w0,D0,S0,N0,R0,F0,b0,Ua,k0,T0,U0,_0,M0,v0,Id,x0,lA,VA,JA,jA,WA,Tr,qA,$A,uA,Pt,It,Ur,Vt,Oe,ZA,Gt,di,XA,Nt,Ei,_r,Mr,Ii,KA,zA,er,tr,hA,$e,st,Rt,Ar,rr,vr,P0,Ms,vs,sr,V0,x,J0,pd,md,j0,W0,yd,q0,$0,Z0,X0,K0,z0,ew,tw,Aw,rw,sw,nw,iw,ow,aw,cw,gw,lw,uw,hw,dw,Ew,Iw,Qw,hd,Cw,Bw,fw,pw,mw,yw,ww,Dw,Sw,h,Jt=rt(()=>{"use strict";l();(function(t){t.assertEqual=s=>s;function e(s){}t.assertIs=e;function A(s){throw new Error}t.assertNever=A,t.arrayToEnum=s=>{let n={};for(let i of s)n[i]=i;return n},t.getValidEnumValues=s=>{let n=t.objectKeys(s).filter(o=>typeof s[s[o]]!="number"),i={};for(let o of n)i[o]=s[o];return t.objectValues(i)},t.objectValues=s=>t.objectKeys(s).map(function(n){return s[n]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let n=[];for(let i in s)Object.prototype.hasOwnProperty.call(s,i)&&n.push(i);return n},t.find=(s,n)=>{for(let i of s)if(n(i))return i},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&isFinite(s)&&Math.floor(s)===s;function r(s,n=" | "){return s.map(i=>typeof i=="string"?`'${i}'`:i).join(n)}t.joinValues=r,t.jsonStringifyReplacer=(s,n)=>typeof n=="bigint"?n.toString():n})($||($={}));(function(t){t.mergeShapes=(e,A)=>({...e,...A})})(_a||(_a={}));b=$.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Ht=t=>{switch(typeof t){case"undefined":return b.undefined;case"string":return b.string;case"number":return isNaN(t)?b.nan:b.number;case"boolean":return b.boolean;case"function":return b.function;case"bigint":return b.bigint;case"symbol":return b.symbol;case"object":return Array.isArray(t)?b.array:t===null?b.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?b.promise:typeof Map<"u"&&t instanceof Map?b.map:typeof Set<"u"&&t instanceof Set?b.set:typeof Date<"u"&&t instanceof Date?b.date:b.object;default:return b.unknown}},m=$.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),B0=t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),qe=class t extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let A=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,A):this.__proto__=A,this.name="ZodError",this.issues=e}format(e){let A=e||function(n){return n.message},r={_errors:[]},s=n=>{for(let i of n.issues)if(i.code==="invalid_union")i.unionErrors.map(s);else if(i.code==="invalid_return_type")s(i.returnTypeError);else if(i.code==="invalid_arguments")s(i.argumentsError);else if(i.path.length===0)r._errors.push(A(i));else{let o=r,a=0;for(;aA.message){let A={},r=[];for(let s of this.issues)s.path.length>0?(A[s.path[0]]=A[s.path[0]]||[],A[s.path[0]].push(e(s))):r.push(e(s));return{formErrors:r,fieldErrors:A}}get formErrors(){return this.flatten()}};qe.create=t=>new qe(t);kr=(t,e)=>{let A;switch(t.code){case m.invalid_type:t.received===b.undefined?A="Required":A=`Expected ${t.expected}, received ${t.received}`;break;case m.invalid_literal:A=`Invalid literal value, expected ${JSON.stringify(t.expected,$.jsonStringifyReplacer)}`;break;case m.unrecognized_keys:A=`Unrecognized key(s) in object: ${$.joinValues(t.keys,", ")}`;break;case m.invalid_union:A="Invalid input";break;case m.invalid_union_discriminator:A=`Invalid discriminator value. Expected ${$.joinValues(t.options)}`;break;case m.invalid_enum_value:A=`Invalid enum value. Expected ${$.joinValues(t.options)}, received '${t.received}'`;break;case m.invalid_arguments:A="Invalid function arguments";break;case m.invalid_return_type:A="Invalid function return type";break;case m.invalid_date:A="Invalid date";break;case m.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(A=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(A=`${A} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?A=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?A=`Invalid input: must end with "${t.validation.endsWith}"`:$.assertNever(t.validation):t.validation!=="regex"?A=`Invalid ${t.validation}`:A="Invalid";break;case m.too_small:t.type==="array"?A=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?A=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?A=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?A=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:A="Invalid input";break;case m.too_big:t.type==="array"?A=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?A=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?A=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?A=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?A=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:A="Invalid input";break;case m.custom:A="Invalid input";break;case m.invalid_intersection_types:A="Intersection results could not be merged";break;case m.not_multiple_of:A=`Number must be a multiple of ${t.multipleOf}`;break;case m.not_finite:A="Number must be finite";break;default:A=e.defaultError,$.assertNever(t)}return{message:A}},dd=kr;ui=t=>{let{data:e,path:A,errorMaps:r,issueData:s}=t,n=[...A,...s.path||[]],i={...s,path:n};if(s.message!==void 0)return{...s,path:n,message:s.message};let o="",a=r.filter(c=>!!c).slice().reverse();for(let c of a)o=c(i,{data:e,defaultError:o}).message;return{...s,path:n,message:o}},p0=[];ke=class t{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,A){let r=[];for(let s of A){if(s.status==="aborted")return Y;s.status==="dirty"&&e.dirty(),r.push(s.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,A){let r=[];for(let s of A){let n=await s.key,i=await s.value;r.push({key:n,value:i})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,A){let r={};for(let s of A){let{key:n,value:i}=s;if(n.status==="aborted"||i.status==="aborted")return Y;n.status==="dirty"&&e.dirty(),i.status==="dirty"&&e.dirty(),n.value!=="__proto__"&&(typeof i.value<"u"||s.alwaysSet)&&(r[n.value]=i.value)}return{status:e.value,value:r}}},Y=Object.freeze({status:"aborted"}),br=t=>({status:"dirty",value:t}),_e=t=>({status:"valid",value:t}),Ma=t=>t.status==="aborted",va=t=>t.status==="dirty",PA=t=>t.status==="valid",_s=t=>typeof Promise<"u"&&t instanceof Promise;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(T||(T={}));nt=class{constructor(e,A,r,s){this._cachedPath=[],this.parent=e,this.data=A,this._path=r,this._key=s}get path(){return this._cachedPath.length||(this._key instanceof Array?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},ld=(t,e)=>{if(PA(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let A=new qe(t.common.issues);return this._error=A,this._error}}};P=class{get description(){return this._def.description}_getType(e){return Ht(e.data)}_getOrReturnCtx(e,A){return A||{common:e.parent.common,data:e.data,parsedType:Ht(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new ke,ctx:{common:e.parent.common,data:e.data,parsedType:Ht(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let A=this._parse(e);if(_s(A))throw new Error("Synchronous parse encountered promise.");return A}_parseAsync(e){let A=this._parse(e);return Promise.resolve(A)}parse(e,A){let r=this.safeParse(e,A);if(r.success)return r.data;throw r.error}safeParse(e,A){var r;let s={common:{issues:[],async:(r=A?.async)!==null&&r!==void 0?r:!1,contextualErrorMap:A?.errorMap},path:A?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ht(e)},n=this._parseSync({data:e,path:s.path,parent:s});return ld(s,n)}"~validate"(e){var A,r;let s={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ht(e)};if(!this["~standard"].async)try{let n=this._parseSync({data:e,path:[],parent:s});return PA(n)?{value:n.value}:{issues:s.common.issues}}catch(n){!((r=(A=n?.message)===null||A===void 0?void 0:A.toLowerCase())===null||r===void 0)&&r.includes("encountered")&&(this["~standard"].async=!0),s.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:s}).then(n=>PA(n)?{value:n.value}:{issues:s.common.issues})}async parseAsync(e,A){let r=await this.safeParseAsync(e,A);if(r.success)return r.data;throw r.error}async safeParseAsync(e,A){let r={common:{issues:[],contextualErrorMap:A?.errorMap,async:!0},path:A?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Ht(e)},s=this._parse({data:e,path:r.path,parent:r}),n=await(_s(s)?s:Promise.resolve(s));return ld(r,n)}refine(e,A){let r=s=>typeof A=="string"||typeof A>"u"?{message:A}:typeof A=="function"?A(s):A;return this._refinement((s,n)=>{let i=e(s),o=()=>n.addIssue({code:m.custom,...r(s)});return typeof Promise<"u"&&i instanceof Promise?i.then(a=>a?!0:(o(),!1)):i?!0:(o(),!1)})}refinement(e,A){return this._refinement((r,s)=>e(r)?!0:(s.addIssue(typeof A=="function"?A(r,s):A),!1))}_refinement(e){return new $e({schema:this,typeName:x.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:A=>this["~validate"](A)}}optional(){return st.create(this,this._def)}nullable(){return Rt.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return Vt.create(this)}promise(){return hA.create(this,this._def)}or(e){return ZA.create([this,e],this._def)}and(e){return XA.create(this,e,this._def)}transform(e){return new $e({...H(this._def),schema:this,typeName:x.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let A=typeof e=="function"?e:()=>e;return new Ar({...H(this._def),innerType:this,defaultValue:A,typeName:x.ZodDefault})}brand(){return new Ms({typeName:x.ZodBranded,type:this,...H(this._def)})}catch(e){let A=typeof e=="function"?e:()=>e;return new rr({...H(this._def),innerType:this,catchValue:A,typeName:x.ZodCatch})}describe(e){let A=this.constructor;return new A({...this._def,description:e})}pipe(e){return vs.create(this,e)}readonly(){return sr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},m0=/^c[^\s-]{8,}$/i,y0=/^[0-9a-z]+$/,w0=/^[0-9A-HJKMNP-TV-Z]{26}$/i,D0=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,S0=/^[a-z0-9_-]{21}$/i,N0=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,R0=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,F0=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,b0="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",k0=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,T0=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,U0=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,_0=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,M0=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,v0=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Id="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",x0=new RegExp(`^${Id}$`);lA=class t extends P{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==b.string){let n=this._getOrReturnCtx(e);return N(n,{code:m.invalid_type,expected:b.string,received:n.parsedType}),Y}let r=new ke,s;for(let n of this._def.checks)if(n.kind==="min")e.data.lengthn.value&&(s=this._getOrReturnCtx(e,s),N(s,{code:m.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),r.dirty());else if(n.kind==="length"){let i=e.data.length>n.value,o=e.data.lengthe.test(s),{validation:A,code:m.invalid_string,...T.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...T.errToObj(e)})}url(e){return this._addCheck({kind:"url",...T.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...T.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...T.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...T.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...T.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...T.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...T.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...T.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...T.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...T.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...T.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...T.errToObj(e)})}datetime(e){var A,r;return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:(A=e?.offset)!==null&&A!==void 0?A:!1,local:(r=e?.local)!==null&&r!==void 0?r:!1,...T.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...T.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...T.errToObj(e)})}regex(e,A){return this._addCheck({kind:"regex",regex:e,...T.errToObj(A)})}includes(e,A){return this._addCheck({kind:"includes",value:e,position:A?.position,...T.errToObj(A?.message)})}startsWith(e,A){return this._addCheck({kind:"startsWith",value:e,...T.errToObj(A)})}endsWith(e,A){return this._addCheck({kind:"endsWith",value:e,...T.errToObj(A)})}min(e,A){return this._addCheck({kind:"min",value:e,...T.errToObj(A)})}max(e,A){return this._addCheck({kind:"max",value:e,...T.errToObj(A)})}length(e,A){return this._addCheck({kind:"length",value:e,...T.errToObj(A)})}nonempty(e){return this.min(1,T.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let A of this._def.checks)A.kind==="min"&&(e===null||A.value>e)&&(e=A.value);return e}get maxLength(){let e=null;for(let A of this._def.checks)A.kind==="max"&&(e===null||A.value{var e;return new lA({checks:[],typeName:x.ZodString,coerce:(e=t?.coerce)!==null&&e!==void 0?e:!1,...H(t)})};VA=class t extends P{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==b.number){let n=this._getOrReturnCtx(e);return N(n,{code:m.invalid_type,expected:b.number,received:n.parsedType}),Y}let r,s=new ke;for(let n of this._def.checks)n.kind==="int"?$.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),N(r,{code:m.invalid_type,expected:"integer",received:"float",message:n.message}),s.dirty()):n.kind==="min"?(n.inclusive?e.datan.value:e.data>=n.value)&&(r=this._getOrReturnCtx(e,r),N(r,{code:m.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),s.dirty()):n.kind==="multipleOf"?H0(e.data,n.value)!==0&&(r=this._getOrReturnCtx(e,r),N(r,{code:m.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),N(r,{code:m.not_finite,message:n.message}),s.dirty()):$.assertNever(n);return{status:s.value,value:e.data}}gte(e,A){return this.setLimit("min",e,!0,T.toString(A))}gt(e,A){return this.setLimit("min",e,!1,T.toString(A))}lte(e,A){return this.setLimit("max",e,!0,T.toString(A))}lt(e,A){return this.setLimit("max",e,!1,T.toString(A))}setLimit(e,A,r,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:A,inclusive:r,message:T.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:T.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:T.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:T.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:T.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:T.toString(e)})}multipleOf(e,A){return this._addCheck({kind:"multipleOf",value:e,message:T.toString(A)})}finite(e){return this._addCheck({kind:"finite",message:T.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:T.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:T.toString(e)})}get minValue(){let e=null;for(let A of this._def.checks)A.kind==="min"&&(e===null||A.value>e)&&(e=A.value);return e}get maxValue(){let e=null;for(let A of this._def.checks)A.kind==="max"&&(e===null||A.valuee.kind==="int"||e.kind==="multipleOf"&&$.isInteger(e.value))}get isFinite(){let e=null,A=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(A===null||r.value>A)&&(A=r.value):r.kind==="max"&&(e===null||r.valuenew VA({checks:[],typeName:x.ZodNumber,coerce:t?.coerce||!1,...H(t)});JA=class t extends P{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==b.bigint)return this._getInvalidInput(e);let r,s=new ke;for(let n of this._def.checks)n.kind==="min"?(n.inclusive?e.datan.value:e.data>=n.value)&&(r=this._getOrReturnCtx(e,r),N(r,{code:m.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),s.dirty()):n.kind==="multipleOf"?e.data%n.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),N(r,{code:m.not_multiple_of,multipleOf:n.value,message:n.message}),s.dirty()):$.assertNever(n);return{status:s.value,value:e.data}}_getInvalidInput(e){let A=this._getOrReturnCtx(e);return N(A,{code:m.invalid_type,expected:b.bigint,received:A.parsedType}),Y}gte(e,A){return this.setLimit("min",e,!0,T.toString(A))}gt(e,A){return this.setLimit("min",e,!1,T.toString(A))}lte(e,A){return this.setLimit("max",e,!0,T.toString(A))}lt(e,A){return this.setLimit("max",e,!1,T.toString(A))}setLimit(e,A,r,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:A,inclusive:r,message:T.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:T.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:T.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:T.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:T.toString(e)})}multipleOf(e,A){return this._addCheck({kind:"multipleOf",value:e,message:T.toString(A)})}get minValue(){let e=null;for(let A of this._def.checks)A.kind==="min"&&(e===null||A.value>e)&&(e=A.value);return e}get maxValue(){let e=null;for(let A of this._def.checks)A.kind==="max"&&(e===null||A.value{var e;return new JA({checks:[],typeName:x.ZodBigInt,coerce:(e=t?.coerce)!==null&&e!==void 0?e:!1,...H(t)})};jA=class extends P{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==b.boolean){let r=this._getOrReturnCtx(e);return N(r,{code:m.invalid_type,expected:b.boolean,received:r.parsedType}),Y}return _e(e.data)}};jA.create=t=>new jA({typeName:x.ZodBoolean,coerce:t?.coerce||!1,...H(t)});WA=class t extends P{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==b.date){let n=this._getOrReturnCtx(e);return N(n,{code:m.invalid_type,expected:b.date,received:n.parsedType}),Y}if(isNaN(e.data.getTime())){let n=this._getOrReturnCtx(e);return N(n,{code:m.invalid_date}),Y}let r=new ke,s;for(let n of this._def.checks)n.kind==="min"?e.data.getTime()n.value&&(s=this._getOrReturnCtx(e,s),N(s,{code:m.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),r.dirty()):$.assertNever(n);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,A){return this._addCheck({kind:"min",value:e.getTime(),message:T.toString(A)})}max(e,A){return this._addCheck({kind:"max",value:e.getTime(),message:T.toString(A)})}get minDate(){let e=null;for(let A of this._def.checks)A.kind==="min"&&(e===null||A.value>e)&&(e=A.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let A of this._def.checks)A.kind==="max"&&(e===null||A.valuenew WA({checks:[],coerce:t?.coerce||!1,typeName:x.ZodDate,...H(t)});Tr=class extends P{_parse(e){if(this._getType(e)!==b.symbol){let r=this._getOrReturnCtx(e);return N(r,{code:m.invalid_type,expected:b.symbol,received:r.parsedType}),Y}return _e(e.data)}};Tr.create=t=>new Tr({typeName:x.ZodSymbol,...H(t)});qA=class extends P{_parse(e){if(this._getType(e)!==b.undefined){let r=this._getOrReturnCtx(e);return N(r,{code:m.invalid_type,expected:b.undefined,received:r.parsedType}),Y}return _e(e.data)}};qA.create=t=>new qA({typeName:x.ZodUndefined,...H(t)});$A=class extends P{_parse(e){if(this._getType(e)!==b.null){let r=this._getOrReturnCtx(e);return N(r,{code:m.invalid_type,expected:b.null,received:r.parsedType}),Y}return _e(e.data)}};$A.create=t=>new $A({typeName:x.ZodNull,...H(t)});uA=class extends P{constructor(){super(...arguments),this._any=!0}_parse(e){return _e(e.data)}};uA.create=t=>new uA({typeName:x.ZodAny,...H(t)});Pt=class extends P{constructor(){super(...arguments),this._unknown=!0}_parse(e){return _e(e.data)}};Pt.create=t=>new Pt({typeName:x.ZodUnknown,...H(t)});It=class extends P{_parse(e){let A=this._getOrReturnCtx(e);return N(A,{code:m.invalid_type,expected:b.never,received:A.parsedType}),Y}};It.create=t=>new It({typeName:x.ZodNever,...H(t)});Ur=class extends P{_parse(e){if(this._getType(e)!==b.undefined){let r=this._getOrReturnCtx(e);return N(r,{code:m.invalid_type,expected:b.void,received:r.parsedType}),Y}return _e(e.data)}};Ur.create=t=>new Ur({typeName:x.ZodVoid,...H(t)});Vt=class t extends P{_parse(e){let{ctx:A,status:r}=this._processInputParams(e),s=this._def;if(A.parsedType!==b.array)return N(A,{code:m.invalid_type,expected:b.array,received:A.parsedType}),Y;if(s.exactLength!==null){let i=A.data.length>s.exactLength.value,o=A.data.lengths.maxLength.value&&(N(A,{code:m.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),A.common.async)return Promise.all([...A.data].map((i,o)=>s.type._parseAsync(new nt(A,i,A.path,o)))).then(i=>ke.mergeArray(r,i));let n=[...A.data].map((i,o)=>s.type._parseSync(new nt(A,i,A.path,o)));return ke.mergeArray(r,n)}get element(){return this._def.type}min(e,A){return new t({...this._def,minLength:{value:e,message:T.toString(A)}})}max(e,A){return new t({...this._def,maxLength:{value:e,message:T.toString(A)}})}length(e,A){return new t({...this._def,exactLength:{value:e,message:T.toString(A)}})}nonempty(e){return this.min(1,e)}};Vt.create=(t,e)=>new Vt({type:t,minLength:null,maxLength:null,exactLength:null,typeName:x.ZodArray,...H(e)});Oe=class t extends P{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),A=$.objectKeys(e);return this._cached={shape:e,keys:A}}_parse(e){if(this._getType(e)!==b.object){let c=this._getOrReturnCtx(e);return N(c,{code:m.invalid_type,expected:b.object,received:c.parsedType}),Y}let{status:r,ctx:s}=this._processInputParams(e),{shape:n,keys:i}=this._getCached(),o=[];if(!(this._def.catchall instanceof It&&this._def.unknownKeys==="strip"))for(let c in s.data)i.includes(c)||o.push(c);let a=[];for(let c of i){let g=n[c],d=s.data[c];a.push({key:{status:"valid",value:c},value:g._parse(new nt(s,d,s.path,c)),alwaysSet:c in s.data})}if(this._def.catchall instanceof It){let c=this._def.unknownKeys;if(c==="passthrough")for(let g of o)a.push({key:{status:"valid",value:g},value:{status:"valid",value:s.data[g]}});else if(c==="strict")o.length>0&&(N(s,{code:m.unrecognized_keys,keys:o}),r.dirty());else if(c!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let c=this._def.catchall;for(let g of o){let d=s.data[g];a.push({key:{status:"valid",value:g},value:c._parse(new nt(s,d,s.path,g)),alwaysSet:g in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let c=[];for(let g of a){let d=await g.key,I=await g.value;c.push({key:d,value:I,alwaysSet:g.alwaysSet})}return c}).then(c=>ke.mergeObjectSync(r,c)):ke.mergeObjectSync(r,a)}get shape(){return this._def.shape()}strict(e){return T.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(A,r)=>{var s,n,i,o;let a=(i=(n=(s=this._def).errorMap)===null||n===void 0?void 0:n.call(s,A,r).message)!==null&&i!==void 0?i:r.defaultError;return A.code==="unrecognized_keys"?{message:(o=T.errToObj(e).message)!==null&&o!==void 0?o:a}:{message:a}}}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:x.ZodObject})}setKey(e,A){return this.augment({[e]:A})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let A={};return $.objectKeys(e).forEach(r=>{e[r]&&this.shape[r]&&(A[r]=this.shape[r])}),new t({...this._def,shape:()=>A})}omit(e){let A={};return $.objectKeys(this.shape).forEach(r=>{e[r]||(A[r]=this.shape[r])}),new t({...this._def,shape:()=>A})}deepPartial(){return Fr(this)}partial(e){let A={};return $.objectKeys(this.shape).forEach(r=>{let s=this.shape[r];e&&!e[r]?A[r]=s:A[r]=s.optional()}),new t({...this._def,shape:()=>A})}required(e){let A={};return $.objectKeys(this.shape).forEach(r=>{if(e&&!e[r])A[r]=this.shape[r];else{let n=this.shape[r];for(;n instanceof st;)n=n._def.innerType;A[r]=n}}),new t({...this._def,shape:()=>A})}keyof(){return Bd($.objectKeys(this.shape))}};Oe.create=(t,e)=>new Oe({shape:()=>t,unknownKeys:"strip",catchall:It.create(),typeName:x.ZodObject,...H(e)});Oe.strictCreate=(t,e)=>new Oe({shape:()=>t,unknownKeys:"strict",catchall:It.create(),typeName:x.ZodObject,...H(e)});Oe.lazycreate=(t,e)=>new Oe({shape:t,unknownKeys:"strip",catchall:It.create(),typeName:x.ZodObject,...H(e)});ZA=class extends P{_parse(e){let{ctx:A}=this._processInputParams(e),r=this._def.options;function s(n){for(let o of n)if(o.result.status==="valid")return o.result;for(let o of n)if(o.result.status==="dirty")return A.common.issues.push(...o.ctx.common.issues),o.result;let i=n.map(o=>new qe(o.ctx.common.issues));return N(A,{code:m.invalid_union,unionErrors:i}),Y}if(A.common.async)return Promise.all(r.map(async n=>{let i={...A,common:{...A.common,issues:[]},parent:null};return{result:await n._parseAsync({data:A.data,path:A.path,parent:i}),ctx:i}})).then(s);{let n,i=[];for(let a of r){let c={...A,common:{...A.common,issues:[]},parent:null},g=a._parseSync({data:A.data,path:A.path,parent:c});if(g.status==="valid")return g;g.status==="dirty"&&!n&&(n={result:g,ctx:c}),c.common.issues.length&&i.push(c.common.issues)}if(n)return A.common.issues.push(...n.ctx.common.issues),n.result;let o=i.map(a=>new qe(a));return N(A,{code:m.invalid_union,unionErrors:o}),Y}}get options(){return this._def.options}};ZA.create=(t,e)=>new ZA({options:t,typeName:x.ZodUnion,...H(e)});Gt=t=>t instanceof KA?Gt(t.schema):t instanceof $e?Gt(t.innerType()):t instanceof zA?[t.value]:t instanceof er?t.options:t instanceof tr?$.objectValues(t.enum):t instanceof Ar?Gt(t._def.innerType):t instanceof qA?[void 0]:t instanceof $A?[null]:t instanceof st?[void 0,...Gt(t.unwrap())]:t instanceof Rt?[null,...Gt(t.unwrap())]:t instanceof Ms||t instanceof sr?Gt(t.unwrap()):t instanceof rr?Gt(t._def.innerType):[],di=class t extends P{_parse(e){let{ctx:A}=this._processInputParams(e);if(A.parsedType!==b.object)return N(A,{code:m.invalid_type,expected:b.object,received:A.parsedType}),Y;let r=this.discriminator,s=A.data[r],n=this.optionsMap.get(s);return n?A.common.async?n._parseAsync({data:A.data,path:A.path,parent:A}):n._parseSync({data:A.data,path:A.path,parent:A}):(N(A,{code:m.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Y)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,A,r){let s=new Map;for(let n of A){let i=Gt(n.shape[e]);if(!i.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let o of i){if(s.has(o))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(o)}`);s.set(o,n)}}return new t({typeName:x.ZodDiscriminatedUnion,discriminator:e,options:A,optionsMap:s,...H(r)})}};XA=class extends P{_parse(e){let{status:A,ctx:r}=this._processInputParams(e),s=(n,i)=>{if(Ma(n)||Ma(i))return Y;let o=xa(n.value,i.value);return o.valid?((va(n)||va(i))&&A.dirty(),{status:A.value,value:o.data}):(N(r,{code:m.invalid_intersection_types}),Y)};return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([n,i])=>s(n,i)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};XA.create=(t,e,A)=>new XA({left:t,right:e,typeName:x.ZodIntersection,...H(A)});Nt=class t extends P{_parse(e){let{status:A,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.array)return N(r,{code:m.invalid_type,expected:b.array,received:r.parsedType}),Y;if(r.data.lengththis._def.items.length&&(N(r,{code:m.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),A.dirty());let n=[...r.data].map((i,o)=>{let a=this._def.items[o]||this._def.rest;return a?a._parse(new nt(r,i,r.path,o)):null}).filter(i=>!!i);return r.common.async?Promise.all(n).then(i=>ke.mergeArray(A,i)):ke.mergeArray(A,n)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};Nt.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Nt({items:t,typeName:x.ZodTuple,rest:null,...H(e)})};Ei=class t extends P{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:A,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.object)return N(r,{code:m.invalid_type,expected:b.object,received:r.parsedType}),Y;let s=[],n=this._def.keyType,i=this._def.valueType;for(let o in r.data)s.push({key:n._parse(new nt(r,o,r.path,o)),value:i._parse(new nt(r,r.data[o],r.path,o)),alwaysSet:o in r.data});return r.common.async?ke.mergeObjectAsync(A,s):ke.mergeObjectSync(A,s)}get element(){return this._def.valueType}static create(e,A,r){return A instanceof P?new t({keyType:e,valueType:A,typeName:x.ZodRecord,...H(r)}):new t({keyType:lA.create(),valueType:e,typeName:x.ZodRecord,...H(A)})}},_r=class extends P{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:A,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.map)return N(r,{code:m.invalid_type,expected:b.map,received:r.parsedType}),Y;let s=this._def.keyType,n=this._def.valueType,i=[...r.data.entries()].map(([o,a],c)=>({key:s._parse(new nt(r,o,r.path,[c,"key"])),value:n._parse(new nt(r,a,r.path,[c,"value"]))}));if(r.common.async){let o=new Map;return Promise.resolve().then(async()=>{for(let a of i){let c=await a.key,g=await a.value;if(c.status==="aborted"||g.status==="aborted")return Y;(c.status==="dirty"||g.status==="dirty")&&A.dirty(),o.set(c.value,g.value)}return{status:A.value,value:o}})}else{let o=new Map;for(let a of i){let c=a.key,g=a.value;if(c.status==="aborted"||g.status==="aborted")return Y;(c.status==="dirty"||g.status==="dirty")&&A.dirty(),o.set(c.value,g.value)}return{status:A.value,value:o}}}};_r.create=(t,e,A)=>new _r({valueType:e,keyType:t,typeName:x.ZodMap,...H(A)});Mr=class t extends P{_parse(e){let{status:A,ctx:r}=this._processInputParams(e);if(r.parsedType!==b.set)return N(r,{code:m.invalid_type,expected:b.set,received:r.parsedType}),Y;let s=this._def;s.minSize!==null&&r.data.sizes.maxSize.value&&(N(r,{code:m.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),A.dirty());let n=this._def.valueType;function i(a){let c=new Set;for(let g of a){if(g.status==="aborted")return Y;g.status==="dirty"&&A.dirty(),c.add(g.value)}return{status:A.value,value:c}}let o=[...r.data.values()].map((a,c)=>n._parse(new nt(r,a,r.path,c)));return r.common.async?Promise.all(o).then(a=>i(a)):i(o)}min(e,A){return new t({...this._def,minSize:{value:e,message:T.toString(A)}})}max(e,A){return new t({...this._def,maxSize:{value:e,message:T.toString(A)}})}size(e,A){return this.min(e,A).max(e,A)}nonempty(e){return this.min(1,e)}};Mr.create=(t,e)=>new Mr({valueType:t,minSize:null,maxSize:null,typeName:x.ZodSet,...H(e)});Ii=class t extends P{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:A}=this._processInputParams(e);if(A.parsedType!==b.function)return N(A,{code:m.invalid_type,expected:b.function,received:A.parsedType}),Y;function r(o,a){return ui({data:o,path:A.path,errorMaps:[A.common.contextualErrorMap,A.schemaErrorMap,li(),kr].filter(c=>!!c),issueData:{code:m.invalid_arguments,argumentsError:a}})}function s(o,a){return ui({data:o,path:A.path,errorMaps:[A.common.contextualErrorMap,A.schemaErrorMap,li(),kr].filter(c=>!!c),issueData:{code:m.invalid_return_type,returnTypeError:a}})}let n={errorMap:A.common.contextualErrorMap},i=A.data;if(this._def.returns instanceof hA){let o=this;return _e(async function(...a){let c=new qe([]),g=await o._def.args.parseAsync(a,n).catch(E=>{throw c.addIssue(r(a,E)),c}),d=await Reflect.apply(i,this,g);return await o._def.returns._def.type.parseAsync(d,n).catch(E=>{throw c.addIssue(s(d,E)),c})})}else{let o=this;return _e(function(...a){let c=o._def.args.safeParse(a,n);if(!c.success)throw new qe([r(a,c.error)]);let g=Reflect.apply(i,this,c.data),d=o._def.returns.safeParse(g,n);if(!d.success)throw new qe([s(g,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:Nt.create(e).rest(Pt.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,A,r){return new t({args:e||Nt.create([]).rest(Pt.create()),returns:A||Pt.create(),typeName:x.ZodFunction,...H(r)})}},KA=class extends P{get schema(){return this._def.getter()}_parse(e){let{ctx:A}=this._processInputParams(e);return this._def.getter()._parse({data:A.data,path:A.path,parent:A})}};KA.create=(t,e)=>new KA({getter:t,typeName:x.ZodLazy,...H(e)});zA=class extends P{_parse(e){if(e.data!==this._def.value){let A=this._getOrReturnCtx(e);return N(A,{received:A.data,code:m.invalid_literal,expected:this._def.value}),Y}return{status:"valid",value:e.data}}get value(){return this._def.value}};zA.create=(t,e)=>new zA({value:t,typeName:x.ZodLiteral,...H(e)});er=class t extends P{constructor(){super(...arguments),Ts.set(this,void 0)}_parse(e){if(typeof e.data!="string"){let A=this._getOrReturnCtx(e),r=this._def.values;return N(A,{expected:$.joinValues(r),received:A.parsedType,code:m.invalid_type}),Y}if(hi(this,Ts,"f")||Ed(this,Ts,new Set(this._def.values),"f"),!hi(this,Ts,"f").has(e.data)){let A=this._getOrReturnCtx(e),r=this._def.values;return N(A,{received:A.data,code:m.invalid_enum_value,options:r}),Y}return _e(e.data)}get options(){return this._def.values}get enum(){let e={};for(let A of this._def.values)e[A]=A;return e}get Values(){let e={};for(let A of this._def.values)e[A]=A;return e}get Enum(){let e={};for(let A of this._def.values)e[A]=A;return e}extract(e,A=this._def){return t.create(e,{...this._def,...A})}exclude(e,A=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...A})}};Ts=new WeakMap;er.create=Bd;tr=class extends P{constructor(){super(...arguments),Us.set(this,void 0)}_parse(e){let A=$.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==b.string&&r.parsedType!==b.number){let s=$.objectValues(A);return N(r,{expected:$.joinValues(s),received:r.parsedType,code:m.invalid_type}),Y}if(hi(this,Us,"f")||Ed(this,Us,new Set($.getValidEnumValues(this._def.values)),"f"),!hi(this,Us,"f").has(e.data)){let s=$.objectValues(A);return N(r,{received:r.data,code:m.invalid_enum_value,options:s}),Y}return _e(e.data)}get enum(){return this._def.values}};Us=new WeakMap;tr.create=(t,e)=>new tr({values:t,typeName:x.ZodNativeEnum,...H(e)});hA=class extends P{unwrap(){return this._def.type}_parse(e){let{ctx:A}=this._processInputParams(e);if(A.parsedType!==b.promise&&A.common.async===!1)return N(A,{code:m.invalid_type,expected:b.promise,received:A.parsedType}),Y;let r=A.parsedType===b.promise?A.data:Promise.resolve(A.data);return _e(r.then(s=>this._def.type.parseAsync(s,{path:A.path,errorMap:A.common.contextualErrorMap})))}};hA.create=(t,e)=>new hA({type:t,typeName:x.ZodPromise,...H(e)});$e=class extends P{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===x.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:A,ctx:r}=this._processInputParams(e),s=this._def.effect||null,n={addIssue:i=>{N(r,i),i.fatal?A.abort():A.dirty()},get path(){return r.path}};if(n.addIssue=n.addIssue.bind(n),s.type==="preprocess"){let i=s.transform(r.data,n);if(r.common.async)return Promise.resolve(i).then(async o=>{if(A.value==="aborted")return Y;let a=await this._def.schema._parseAsync({data:o,path:r.path,parent:r});return a.status==="aborted"?Y:a.status==="dirty"||A.value==="dirty"?br(a.value):a});{if(A.value==="aborted")return Y;let o=this._def.schema._parseSync({data:i,path:r.path,parent:r});return o.status==="aborted"?Y:o.status==="dirty"||A.value==="dirty"?br(o.value):o}}if(s.type==="refinement"){let i=o=>{let a=s.refinement(o,n);if(r.common.async)return Promise.resolve(a);if(a instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return o};if(r.common.async===!1){let o=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return o.status==="aborted"?Y:(o.status==="dirty"&&A.dirty(),i(o.value),{status:A.value,value:o.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(o=>o.status==="aborted"?Y:(o.status==="dirty"&&A.dirty(),i(o.value).then(()=>({status:A.value,value:o.value}))))}if(s.type==="transform")if(r.common.async===!1){let i=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!PA(i))return i;let o=s.transform(i.value,n);if(o instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:A.value,value:o}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(i=>PA(i)?Promise.resolve(s.transform(i.value,n)).then(o=>({status:A.value,value:o})):i);$.assertNever(s)}};$e.create=(t,e,A)=>new $e({schema:t,typeName:x.ZodEffects,effect:e,...H(A)});$e.createWithPreprocess=(t,e,A)=>new $e({schema:e,effect:{type:"preprocess",transform:t},typeName:x.ZodEffects,...H(A)});st=class extends P{_parse(e){return this._getType(e)===b.undefined?_e(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};st.create=(t,e)=>new st({innerType:t,typeName:x.ZodOptional,...H(e)});Rt=class extends P{_parse(e){return this._getType(e)===b.null?_e(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Rt.create=(t,e)=>new Rt({innerType:t,typeName:x.ZodNullable,...H(e)});Ar=class extends P{_parse(e){let{ctx:A}=this._processInputParams(e),r=A.data;return A.parsedType===b.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:A.path,parent:A})}removeDefault(){return this._def.innerType}};Ar.create=(t,e)=>new Ar({innerType:t,typeName:x.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...H(e)});rr=class extends P{_parse(e){let{ctx:A}=this._processInputParams(e),r={...A,common:{...A.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return _s(s)?s.then(n=>({status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new qe(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new qe(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};rr.create=(t,e)=>new rr({innerType:t,typeName:x.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...H(e)});vr=class extends P{_parse(e){if(this._getType(e)!==b.nan){let r=this._getOrReturnCtx(e);return N(r,{code:m.invalid_type,expected:b.nan,received:r.parsedType}),Y}return{status:"valid",value:e.data}}};vr.create=t=>new vr({typeName:x.ZodNaN,...H(t)});P0=Symbol("zod_brand"),Ms=class extends P{_parse(e){let{ctx:A}=this._processInputParams(e),r=A.data;return this._def.type._parse({data:r,path:A.path,parent:A})}unwrap(){return this._def.type}},vs=class t extends P{_parse(e){let{status:A,ctx:r}=this._processInputParams(e);if(r.common.async)return(async()=>{let n=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return n.status==="aborted"?Y:n.status==="dirty"?(A.dirty(),br(n.value)):this._def.out._parseAsync({data:n.value,path:r.path,parent:r})})();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?Y:s.status==="dirty"?(A.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(e,A){return new t({in:e,out:A,typeName:x.ZodPipeline})}},sr=class extends P{_parse(e){let A=this._def.innerType._parse(e),r=s=>(PA(s)&&(s.value=Object.freeze(s.value)),s);return _s(A)?A.then(s=>r(s)):r(A)}unwrap(){return this._def.innerType}};sr.create=(t,e)=>new sr({innerType:t,typeName:x.ZodReadonly,...H(e)});V0={object:Oe.lazycreate};(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(x||(x={}));J0=(t,e={message:`Input not instance of ${t.name}`})=>fd(A=>A instanceof t,e),pd=lA.create,md=VA.create,j0=vr.create,W0=JA.create,yd=jA.create,q0=WA.create,$0=Tr.create,Z0=qA.create,X0=$A.create,K0=uA.create,z0=Pt.create,ew=It.create,tw=Ur.create,Aw=Vt.create,rw=Oe.create,sw=Oe.strictCreate,nw=ZA.create,iw=di.create,ow=XA.create,aw=Nt.create,cw=Ei.create,gw=_r.create,lw=Mr.create,uw=Ii.create,hw=KA.create,dw=zA.create,Ew=er.create,Iw=tr.create,Qw=hA.create,hd=$e.create,Cw=st.create,Bw=Rt.create,fw=$e.createWithPreprocess,pw=vs.create,mw=()=>pd().optional(),yw=()=>md().optional(),ww=()=>yd().optional(),Dw={string:(t=>lA.create({...t,coerce:!0})),number:(t=>VA.create({...t,coerce:!0})),boolean:(t=>jA.create({...t,coerce:!0})),bigint:(t=>JA.create({...t,coerce:!0})),date:(t=>WA.create({...t,coerce:!0}))},Sw=Y,h=Object.freeze({__proto__:null,defaultErrorMap:kr,setErrorMap:f0,getErrorMap:li,makeIssue:ui,EMPTY_PATH:p0,addIssueToContext:N,ParseStatus:ke,INVALID:Y,DIRTY:br,OK:_e,isAborted:Ma,isDirty:va,isValid:PA,isAsync:_s,get util(){return $},get objectUtil(){return _a},ZodParsedType:b,getParsedType:Ht,ZodType:P,datetimeRegex:Cd,ZodString:lA,ZodNumber:VA,ZodBigInt:JA,ZodBoolean:jA,ZodDate:WA,ZodSymbol:Tr,ZodUndefined:qA,ZodNull:$A,ZodAny:uA,ZodUnknown:Pt,ZodNever:It,ZodVoid:Ur,ZodArray:Vt,ZodObject:Oe,ZodUnion:ZA,ZodDiscriminatedUnion:di,ZodIntersection:XA,ZodTuple:Nt,ZodRecord:Ei,ZodMap:_r,ZodSet:Mr,ZodFunction:Ii,ZodLazy:KA,ZodLiteral:zA,ZodEnum:er,ZodNativeEnum:tr,ZodPromise:hA,ZodEffects:$e,ZodTransformer:$e,ZodOptional:st,ZodNullable:Rt,ZodDefault:Ar,ZodCatch:rr,ZodNaN:vr,BRAND:P0,ZodBranded:Ms,ZodPipeline:vs,ZodReadonly:sr,custom:fd,Schema:P,ZodSchema:P,late:V0,get ZodFirstPartyTypeKind(){return x},coerce:Dw,any:K0,array:Aw,bigint:W0,boolean:yd,date:q0,discriminatedUnion:iw,effect:hd,enum:Ew,function:uw,instanceof:J0,intersection:ow,lazy:hw,literal:dw,map:gw,nan:j0,nativeEnum:Iw,never:ew,null:X0,nullable:Bw,number:md,object:rw,oboolean:ww,onumber:yw,optional:Cw,ostring:mw,pipeline:pw,preprocess:fw,promise:Qw,record:cw,set:lw,strictObject:sw,string:pd,symbol:$0,transformer:hd,tuple:aw,undefined:Z0,union:nw,unknown:z0,void:tw,NEVER:Sw,ZodIssueCode:m,quotelessJson:B0,ZodError:qe})});var Qi,La=rt(()=>{"use strict";l();Jt();Qi=h.string().transform((t,e)=>{try{return JSON.parse(t)}catch(A){return e.addIssue({code:h.ZodIssueCode.custom,message:`Invalid JSON: ${A.message}`}),h.NEVER}})});var Dd=S((HO,wd)=>{"use strict";l();var dA=k("os"),Ci=k("path"),Nw=/^win/i.test(process.platform);function Bi(t){return Ci.normalize(Ci.join(t,"."))}var Rw=()=>{let{env:t}=process,e={};return e.home=()=>Bi(dA.homedir?dA.homedir():t.HOME),e.temp=()=>Bi(dA.tmpdir?dA.tmpdir():t.TMPDIR||t.TEMP||t.TMP),e},Fw=()=>{let{env:t}=process,e={};return e.home=()=>Bi(dA.homedir?dA.homedir():t.USERPROFILE||Ci.join(t.HOMEDRIVE,t.HOMEPATH)||t.HOME),e.temp=()=>Bi(dA.tmpdir?dA.tmpdir():t.TEMP||t.TMP||Ci.join(t.LOCALAPPDATA||t.SystemRoot||t.windir,"Temp")),e},Ya=class t{constructor(){let e=function(){return new t};this._fn=e;let A=Nw?Fw():Rw();return Object.keys(A).forEach(r=>{this._fn[r]=A[r]}),this._fn}};wd.exports=new Ya});var Rd=S((VO,Nd)=>{"use strict";l();var Ie=k("path"),ae=Dd(),bw=()=>{let t={};return t.cache=()=>process.env.XDG_CACHE_HOME||Ie.join(ae.home()||ae.temp(),".cache"),t.config=()=>process.env.XDG_CONFIG_HOME||Ie.join(ae.home()||ae.temp(),".config"),t.data=()=>process.env.XDG_DATA_HOME||Ie.join(ae.home()||ae.temp(),".local","share"),t.runtime=()=>process.env.XDG_RUNTIME_DIR||void 0,t.state=()=>process.env.XDG_STATE_HOME||Ie.join(ae.home()||ae.temp(),".local","state"),t},kw=()=>{let t={};return t.cache=()=>process.env.XDG_CACHE_HOME||Ie.join(Ie.join(ae.home()||ae.temp(),"Library"),"Caches"),t.config=()=>process.env.XDG_CONFIG_HOME||Ie.join(Ie.join(ae.home()||ae.temp(),"Library"),"Preferences"),t.data=()=>process.env.XDG_DATA_HOME||Ie.join(Ie.join(ae.home()||ae.temp(),"Library"),"Application Support"),t.runtime=()=>process.env.XDG_RUNTIME_DIR||void 0,t.state=()=>process.env.XDG_STATE_HOME||Ie.join(Ie.join(ae.home()||ae.temp(),"Library"),"State"),t},Tw=()=>{let t={};return t.cache=()=>{let e=process.env.LOCALAPPDATA||Ie.join(ae.home()||ae.temp(),"AppData","Local");return process.env.XDG_CACHE_HOME||Ie.join(e,"xdg.cache")},t.config=()=>{let e=process.env.APPDATA||Ie.join(ae.home()||ae.temp(),"AppData","Roaming");return process.env.XDG_CONFIG_HOME||Ie.join(e,"xdg.config")},t.data=()=>{let e=process.env.APPDATA||Ie.join(ae.home()||ae.temp(),"AppData","Roaming");return process.env.XDG_DATA_HOME||Ie.join(e,"xdg.data")},t.runtime=()=>process.env.XDG_RUNTIME_DIR||void 0,t.state=()=>{let e=process.env.LOCALAPPDATA||Ie.join(ae.home()||ae.temp(),"AppData","Local");return process.env.XDG_STATE_HOME||Ie.join(e,"xdg.state")},t},Sd=()=>{let t=function(){return Sd()},e={};return/^darwin$/i.test(process.platform)?e=kw():/^win/i.test(process.platform)?e=Tw():e=bw(),e.configDirs=()=>{let A=[];return A.push(e.config()),process.env.XDG_CONFIG_DIRS&&A.push(...process.env.XDG_CONFIG_DIRS.split(Ie.delimiter)),A},e.dataDirs=()=>{let A=[];return A.push(e.data()),process.env.XDG_DATA_DIRS&&A.push(...process.env.XDG_DATA_DIRS.split(Ie.delimiter)),A},Object.keys(e).forEach(A=>{t[A]=e[A]}),t};Nd.exports=Sd()});var kd=S((jO,bd)=>{"use strict";l();var le=k("path"),Fd=k("os"),Ge=Rd(),Uw=/^win/i.test(process.platform);function He(t,e){if(t=t||{},typeof t!="object"&&(t={isolated:t}),t.isolated=t.isolated===void 0||t.isolated===null?e:t.isolated,typeof t.isolated!="boolean")throw new TypeError(`Expected boolean for "isolated" argument, got ${typeof t.isolated}`);return t}var _w=(t,e)=>{let A={};return A.cache=(r={isolated:null})=>(r=He(r,e),le.join(Ge.cache(),r.isolated?t:"")),A.config=(r={isolated:null})=>(r=He(r,e),le.join(Ge.config(),r.isolated?t:"")),A.data=(r={isolated:null})=>(r=He(r,e),le.join(Ge.data(),r.isolated?t:"")),A.runtime=(r={isolated:null})=>(r=He(r,e),Ge.runtime()?le.join(Ge.runtime(),r.isolated?t:""):void 0),A.state=(r={isolated:null})=>(r=He(r,e),le.join(Ge.state(),r.isolated?t:"")),A.configDirs=(r={isolated:null})=>(r=He(r,e),Ge.configDirs().map(s=>le.join(s,r.isolated?t:""))),A.dataDirs=(r={isolated:null})=>(r=He(r,e),Ge.dataDirs().map(s=>le.join(s,r.isolated?t:""))),A},Mw=(t,e)=>{let{env:A}=process,r=Fd.homedir(),s=Fd.tmpdir(),n=A.APPDATA||le.join(r||s,"AppData","Roaming"),i=A.LOCALAPPDATA||le.join(r||s,"AppData","Local"),o={};return o.cache=(a={isolated:null})=>(a=He(a,e),!a.isolated||A.XDG_CACHE_HOME?le.join(Ge.cache(),a.isolated?t:""):le.join(i,a.isolated?t:"","Cache")),o.config=(a={isolated:null})=>(a=He(a,e),!a.isolated||A.XDG_CONFIG_HOME?le.join(Ge.config(),a.isolated?t:""):le.join(n,a.isolated?t:"","Config")),o.data=(a={isolated:null})=>(a=He(a,e),!a.isolated||A.XDG_DATA_HOME?le.join(Ge.data(),a.isolated?t:""):le.join(n,a.isolated?t:"","Data")),o.runtime=(a={isolated:null})=>(a=He(a,e),Ge.runtime()?le.join(Ge.runtime(),a.isolated?t:""):void 0),o.state=(a={isolated:null})=>(a=He(a,e),!a.isolated||A.XDG_STATE_HOME?le.join(Ge.state(),a.isolated?t:""):le.join(i,a.isolated?t:"","State")),o.configDirs=(a={isolated:null})=>{a=He(a,e);let c=[o.config(a)];return A.XDG_CONFIG_DIRS&&c.push(...A.XDG_CONFIG_DIRS.split(le.delimiter).map(g=>le.join(g,a.isolated?t:""))),c},o.dataDirs=(a={isolated:null})=>{a=He(a,e);let c=[o.data(a)];return A.XDG_DATA_DIRS&&c.push(...A.XDG_DATA_DIRS.split(le.delimiter).map(g=>le.join(g,a.isolated?t:""))),c},o},Oa=class t{constructor(e={name:null,suffix:null,isolated:!0}){let A=function(o={name:null,suffix:null,isolated:!0}){return new t(o)};this._fn=A,e=e||{},typeof e!="object"&&(e={name:e});let r=e.name||"";if(typeof r!="string")throw new TypeError(`Expected string for "name" argument, got ${typeof r}`);let s=e.suffix||"";if(typeof s!="string")throw new TypeError(`Expected string for "suffix" argument, got ${typeof s}`);let n=e.isolated===void 0||e.isolated===null?!0:e.isolated;if(typeof n!="boolean")throw new TypeError(`Expected boolean for "isolated" argument, got ${typeof n}`);r||(r=le.parse(process.pkg?process.execPath:k.main?k.main.filename:process.argv[0]).name),s&&(r+=s),this._fn.$name=()=>r,this._fn.$isolated=()=>n;let i=Uw?Mw(r,n):_w(r,n);return Object.keys(i).forEach(o=>{this._fn[o]=i[o]}),this._fn}};bd.exports=new Oa});import fi from"path";import pi from"fs";import{homedir as vw}from"os";function xr(t){let e=fi.join(Td(),"auth.json");pi.mkdirSync(fi.dirname(e),{recursive:!0});let A={token:t.token,expiresAt:t.expiresAt&&Math.round(t.expiresAt.getTime()/1e3),refreshToken:t.refreshToken};pi.writeFileSync(e,JSON.stringify(A)+` +`)}var Ga,xw,Lw,Yw,Ow,Td,mi,Ha=rt(()=>{"use strict";l();La();Jt();Ga=De(kd(),1),xw=h.number().transform(t=>new Date(t*1e3)),Lw=h.object({token:h.string().min(1).optional(),refreshToken:h.string().min(1).optional(),expiresAt:xw.optional()}),Yw=Qi.pipe(Lw),Ow=t=>{try{return pi.lstatSync(t).isDirectory()}catch{return!1}},Td=()=>{if(process.env.VERCEL_AUTH_CONFIG_DIR)return process.env.VERCEL_AUTH_CONFIG_DIR;let t=(0,Ga.default)("com.vercel.cli").dataDirs();return[...t,fi.join(vw(),".now"),...(0,Ga.default)("now").dataDirs()].find(e=>Ow(e))||t[0]},mi=()=>{try{let t=fi.join(Td(),"auth.json");return Yw.parse(pi.readFileSync(t,"utf8"))}catch{return null}}});var yi,Pa=rt(()=>{"use strict";l();yi="2.1.1"});import Va from"os";async function Jw(){if(Di)return Di;let t=await fetch(new URL(".well-known/openid-configuration",Gw),{headers:{"Content-Type":"application/json","user-agent":Lr}});return Di=Hw.parse(await t.json()),Di}async function Si(){let t=await Jw();return{async deviceAuthorizationRequest(){let e=await(await fetch(t.device_authorization_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":Lr},body:new URLSearchParams({client_id:wi,scope:"openid offline_access"})})).json(),A=Pw.safeParse(e);if(!A.success)throw new xs(`Failed to parse device authorization response: ${A.error.message}`,e);return{device_code:A.data.device_code,user_code:A.data.user_code,verification_uri:A.data.verification_uri,verification_uri_complete:A.data.verification_uri_complete,expiresAt:Date.now()+A.data.expires_in*1e3,interval:A.data.interval}},async deviceAccessTokenRequest(e){try{return[null,await fetch(t.token_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":Lr},body:new URLSearchParams({client_id:wi,grant_type:"urn:ietf:params:oauth:grant-type:device_code",device_code:e}),signal:AbortSignal.timeout(10*1e3)})]}catch(A){return A instanceof Error?[A]:[new Error("An unknown error occurred. See the logs for details.",{cause:A})]}},async processTokenResponse(e){let A=await e.json(),r=jw.safeParse(A);return r.success?[null,r.data]:[new xs(`Failed to parse token response: ${r.error.message}`,A)]},async revokeToken(e){let A=await fetch(t.revocation_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":Lr},body:new URLSearchParams({token:e,client_id:wi})});if(!A.ok)return new xs("Revocation request failed",await A.json())},async refreshToken(e){let A=await fetch(t.token_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":Lr},body:new URLSearchParams({client_id:wi,grant_type:"refresh_token",refresh_token:e})}),[r,s]=await this.processTokenResponse(A);if(r)throw r;return s},async introspectToken(e){let A=await(await fetch(t.introspection_endpoint,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":Lr},body:new URLSearchParams({token:e})})).json(),r=Vw.safeParse(A);if(!r.success)throw new xs(`Failed to parse introspection response: ${r.error.message}`,A);return r.data}}}function qw(t){try{return Ww.parse(t)}catch(e){return e instanceof h.ZodError?new TypeError(`Invalid OAuth error response: ${e.message}`):new TypeError("Failed to parse OAuth error response")}}function Ni(t){return t instanceof xs}var Lr,Gw,wi,Hw,Di,Pw,Vw,jw,Ww,xs,Ja=rt(()=>{"use strict";l();Pa();Jt();Lr=`${Va.hostname()} @ vercel/sandbox/${yi} node-${process.version} ${Va.platform()} (${Va.arch()})`,Gw=new URL("https://vercel.com"),wi="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",Hw=h.object({issuer:h.string().url(),device_authorization_endpoint:h.string().url(),token_endpoint:h.string().url(),revocation_endpoint:h.string().url(),jwks_uri:h.string().url(),introspection_endpoint:h.string().url()}),Pw=h.object({device_code:h.string(),user_code:h.string(),verification_uri:h.string().url(),verification_uri_complete:h.string().url(),expires_in:h.number(),interval:h.number()}),Vw=h.object({active:h.literal(!0),client_id:h.string(),session_id:h.string()}).or(h.object({active:h.literal(!1)}));jw=h.object({access_token:h.string(),token_type:h.literal("Bearer"),expires_in:h.number(),refresh_token:h.string().optional(),scope:h.string().optional()}),Ww=h.object({error:h.enum(["invalid_request","invalid_client","invalid_grant","unauthorized_client","unsupported_grant_type","invalid_scope","server_error","authorization_pending","slow_down","access_denied","expired_token","unsupported_token_type"]),error_description:h.string().optional(),error_uri:h.string().optional()});xs=class extends Error{constructor(t,e){super(t),this.name="OAuthError";let A=qw(e);if(A instanceof TypeError){let s=`Unexpected server response: ${JSON.stringify(e)}`;this.cause=new Error(s,{cause:A}),this.code="server_error";return}let r=A.error;A.error_description&&(r+=`: ${A.error_description}`),A.error_uri&&(r+=` (${A.error_uri})`),this.cause=new Error(r),this.code=A.error}}});import{setTimeout as ja}from"timers/promises";async function*Ud({request:t,oauth:e}){let A=new AbortController;try{let r=t.interval*1e3;for(;Date.now(){"use strict";l();Ha();Ja()});var EA,Ri=rt(()=>{"use strict";l();EA=class extends Error{constructor(t){super(`HTTP ${t.statusCode}: ${t.responseText}`),this.name="NotOk",this.response=t}}});async function IA(t){let e=await fetch(`https://vercel.com/api${t.endpoint}`,{method:t.method,body:t.body,headers:{Authorization:`Bearer ${t.token}`,"Content-Type":"application/json"}});if(!e.ok){let A=await e.text();try{let{error:r}=JSON.parse(A);A=`${r.code.toUpperCase()}: ${r.message}`}catch{}throw new EA({responseText:A,statusCode:e.status})}return await e.json()}var Md=rt(()=>{"use strict";l();Ri()});import*as vd from"path";import*as xd from"fs/promises";async function Ld(t){let e=vd.join(t,".vercel","project.json"),A;try{A=await xd.readFile(e,"utf-8")}catch{return null}let r=$w.safeParse(A);return r.success?{projectId:r.data.projectId,teamId:r.data.orgId}:null}var $w,Yd=rt(()=>{"use strict";l();La();Jt();$w=Qi.pipe(h.object({projectId:h.string(),orgId:h.string()}))});function qa(t){return t instanceof EA&&(t.response.statusCode===402||t.response.statusCode===403)}async function bi(t){let e=await Ld(t.cwd??process.cwd());if(e){let n=await zw(t.token,e.teamId,e.projectId);return{...e,created:!1,...n}}if(t.teamId)return Fi(t.token,t.teamId);let{defaultTeamId:A,username:r}=(await IA({token:t.token,endpoint:"/v2/user"}).then(Zw.parse)).user;if(A)try{let n=await Fi(t.token,A);try{let i=await IA({token:t.token,endpoint:`/v2/teams/${encodeURIComponent(A)}`}).then(h.object({slug:h.string()}).parse);return{...n,teamSlug:i.slug}}catch{return n}}catch(n){if(!qa(n))throw n}let s=null;do{let n=s===null?"/v2/teams?limit=20":`/v2/teams?limit=20&until=${s}`,i=await IA({token:t.token,endpoint:n}).then(Kw.parse);s=i.pagination.next;let o=i.teams.filter(c=>c.membership.role==="OWNER"&&c.billing.plan==="hobby");if(o.length===0)continue;let a=o.find(c=>c.slug===r)??o.sort((c,g)=>g.updatedAt-c.updatedAt)[0];if(a&&a.id!==A)try{return{...await Fi(t.token,a.id),teamSlug:a.slug}}catch(c){if(!qa(c))throw c}}while(s!==null);try{return{...await Fi(t.token,r),teamSlug:r}}catch(n){if(!qa(n))throw n}throw new EA({statusCode:403,responseText:`Authenticated as "${r}" but none of the available teams allow sandbox creation. Specify a team explicitly with --scope .`})}async function Fi(t,e){let A=e.startsWith("team_")?`teamId=${encodeURIComponent(e)}`:`slug=${encodeURIComponent(e)}`,r=!1;try{await IA({token:t,endpoint:`/v2/projects/${encodeURIComponent(Wa)}?${A}`})}catch(s){if(!(s instanceof EA)||s.response.statusCode!==404)throw s;await IA({token:t,endpoint:`/v11/projects?${A}`,method:"POST",body:JSON.stringify({name:Wa})}),r=!0}return{projectId:Wa,teamId:e,created:r}}async function zw(t,e,A){try{let r=e.startsWith("team_")?`teamId=${encodeURIComponent(e)}`:`slug=${encodeURIComponent(e)}`,[s,n]=await Promise.all([IA({token:t,endpoint:`/v2/teams/${encodeURIComponent(e)}`}).then(h.object({slug:h.string()}).parse),IA({token:t,endpoint:`/v2/projects/${encodeURIComponent(A)}?${r}`}).then(h.object({name:h.string()}).parse)]);return{teamSlug:s.slug,projectSlug:n.name}}catch{return{}}}var Zw,Xw,Kw,Wa,Od=rt(()=>{"use strict";l();Ri();Md();Yd();Jt();Zw=h.object({user:h.object({defaultTeamId:h.string().nullable(),username:h.string()})}),Xw=h.object({id:h.string(),slug:h.string(),updatedAt:h.number(),membership:h.object({role:h.string()}),billing:h.object({plan:h.string()})}),Kw=h.object({teams:h.array(Xw),pagination:h.object({count:h.number(),next:h.number().nullable()})}),Wa="vercel-sandbox-default-project"});var Gd={};py(Gd,{NotOk:()=>EA,OAuth:()=>Si,getAuth:()=>mi,inferScope:()=>bi,isOAuthError:()=>Ni,pollForToken:()=>Ud,updateAuthConfig:()=>xr});var $a=rt(()=>{"use strict";l();Ha();Ja();_d();Ri();Od()});var EE=S((lG,dE)=>{"use strict";l();var uc=Object.defineProperty,BD=Object.getOwnPropertyDescriptor,fD=Object.getOwnPropertyNames,pD=Object.prototype.hasOwnProperty,mD=(t,e)=>{for(var A in e)uc(t,A,{get:e[A],enumerable:!0})},yD=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of fD(e))!pD.call(t,s)&&s!==A&&uc(t,s,{get:()=>e[s],enumerable:!(r=BD(e,s))||r.enumerable});return t},wD=t=>yD(uc({},"__esModule",{value:!0}),t),uE={};mD(uE,{detectFramework:()=>ND,detectFrameworkRecord:()=>FD,detectFrameworkVersion:()=>bD,detectFrameworks:()=>RD,removeSupersededFrameworks:()=>vi});dE.exports=wD(uE);var DD=k("child_process");function SD(t){if(typeof t=="boolean")return t;let e=process.env.VERCEL_USE_EXPERIMENTAL_FRAMEWORKS;return(r=>r==="1"||typeof r=="string"&&r.toLowerCase()==="true")(e)}function hc(t,e){return SD(e)?t:t.filter(A=>!A.experimental)}async function dc(t,e){let{detectors:A}=e;if(!A)return;let{every:r,some:s}=A;if(r!==void 0&&!Array.isArray(r)||s!==void 0&&!Array.isArray(s))return;let n=async({path:a,matchContent:c,matchPackage:g})=>{if(g&&c)throw new Error(`Cannot specify "matchPackage" and "matchContent" in the same detector for "${e.slug}"`);if(g&&a)throw new Error(`Cannot specify "matchPackage" and "path" in the same detector for "${e.slug}" because "path" is assumed to be "package.json".`);if(!a&&!g)throw new Error(`Must specify either "path" or "matchPackage" in detector for "${e.slug}".`);if(a||(a="package.json"),g&&(c=`"(dev)?(d|D)ependencies":\\s*{[^}]*"${g}":\\s*"(.+?)"[^}]*}`),await t.hasPath(a)!==!1){if(c){if(await t.isFile(a)===!1)return;let d=new RegExp(c,"m"),E=(await t.readFile(a)).toString().match(d);if(!E)return;if(g&&E[3])return{framework:e,detectedVersion:E[3]}}return{framework:e}}},i=[];if(r){let a=await Promise.all(r.map(c=>n(c)));i.push(...a)}if(s){let a;for(let c of s){let g=await n(c);if(g){a=g;break}}i.push(a)}if(!i.every(a=>!!a))return;let o=i.find(a=>typeof a=="object"&&a.detectedVersion)?.detectedVersion;return{framework:e,detectedVersion:o}}function hE(t,e){let A=t.findIndex(s=>s?.slug===e),r=t[A];if(r){if(r.supersedes)for(let s of r.supersedes)hE(t,s);t.splice(A,1)}}function vi(t){for(let e of t.slice())if(e?.supersedes)for(let A of e.supersedes)hE(t,A)}async function ND({fs:t,frameworkList:e,useExperimentalFrameworks:A}){let r=hc(e,A),s=await Promise.all(r.map(async n=>await dc(t,n)?n:null));return vi(s),s.find(n=>n!==null)?.slug??null}async function RD({fs:t,frameworkList:e,useExperimentalFrameworks:A}){let r=hc(e,A),s=await Promise.all(r.map(async n=>await dc(t,n)?n:null));return vi(s),s.filter(n=>n!==null)}async function FD({fs:t,frameworkList:e,useExperimentalFrameworks:A}){let r=hc(e,A),s=await Promise.all(r.map(async n=>{let i=await dc(t,n);return i?{...n,detectedVersion:i?.detectedVersion}:null}));return vi(s),s.find(n=>n!==null)??null}function bD(t){let A=[...t.detectors?.every||[],...t.detectors?.some||[]].find(r=>r.matchPackage);if(A?.matchPackage)return kD(process.execPath,A.matchPackage)}function kD(t,e){try{let A=`require('${e}/package.json').version`;return(0,DD.spawnSync)(t,["-p",A],{encoding:"utf-8"}).stdout.trim()}catch(A){console.debug(`Error looking up version of installed package "${e}": ${A}`)}}});var BE=S((hG,CE)=>{"use strict";l();var Ic=Object.defineProperty,TD=Object.getOwnPropertyDescriptor,UD=Object.getOwnPropertyNames,_D=Object.prototype.hasOwnProperty,MD=(t,e)=>{for(var A in e)Ic(t,A,{get:e[A],enumerable:!0})},vD=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of UD(e))!_D.call(t,s)&&s!==A&&Ic(t,s,{get:()=>e[s],enumerable:!(r=TD(e,s))||r.enumerable});return t},xD=t=>vD(Ic({},"__esModule",{value:!0}),t),QE={};MD(QE,{DetectorFilesystem:()=>Ec});CE.exports=xD(QE);var IE=k("path"),Ec=class{constructor(){this.hasPath=async e=>{let A=this.pathCache.get(e);return A||(A=this._hasPath(e),this.pathCache.set(e,A)),A},this.isFile=async e=>{let A=this.fileCache.get(e);return A||(A=this._isFile(e),this.fileCache.set(e,A)),A},this.readFile=async e=>{let A=this.readFileCache.get(e);return A||(A=this._readFile(e),this.readFileCache.set(e,A)),A},this.readdir=async(e,A)=>{let r=this.readdirCache.get(e);r||(r=this._readdir(e),this.readdirCache.set(e,r));let s=await r,n=new Set;for(let i of s)i.type==="file"&&(this.fileCache.set(i.path,Promise.resolve(!0)),this.pathCache.set(i.path,Promise.resolve(!0)),n.add(i.name));if(A?.potentialFiles){let o=A.potentialFiles.filter(a=>(0,IE.basename)(a)===a).filter(a=>!n.has(a));for(let a of o){let c=e==="/"?a:IE.posix.join(e,a);this.fileCache.set(c,Promise.resolve(!1)),this.pathCache.set(c,Promise.resolve(!1))}}return r},this.chdir=e=>this._chdir(e),this.writeFile=async(e,A)=>{this.readFileCache.set(e,Promise.resolve(Buffer.from(A))),this.fileCache.set(e,Promise.resolve(!0)),this.pathCache.set(e,Promise.resolve(!0))},this.pathCache=new Map,this.fileCache=new Map,this.readFileCache=new Map,this.readdirCache=new Map}}});var SE=S((EG,DE)=>{"use strict";l();var LD=Object.create,xi=Object.defineProperty,YD=Object.getOwnPropertyDescriptor,OD=Object.getOwnPropertyNames,GD=Object.getPrototypeOf,HD=Object.prototype.hasOwnProperty,PD=(t,e)=>{for(var A in e)xi(t,A,{get:e[A],enumerable:!0})},fE=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of OD(e))!HD.call(t,s)&&s!==A&&xi(t,s,{get:()=>e[s],enumerable:!(r=YD(e,s))||r.enumerable});return t},VD=(t,e,A)=>(A=t!=null?LD(GD(t)):{},fE(e||!t||!t.__esModule?xi(A,"default",{value:t,enumerable:!0}):A,t)),JD=t=>fE(xi({},"__esModule",{value:!0}),t),pE={};PD(pE,{errorToString:()=>wE,isErrnoException:()=>yE,isError:()=>Li,isErrorLike:()=>Qc,isObject:()=>mE,isSpawnError:()=>qD,normalizeError:()=>WD});DE.exports=JD(pE);var jD=VD(k("util")),mE=t=>typeof t=="object"&&t!==null,Li=t=>jD.default.types.isNativeError(t),yE=t=>Li(t)&&"code"in t,Qc=t=>mE(t)&&"message"in t,wE=(t,e)=>Li(t)||Qc(t)?t.message:typeof t=="string"?t:e??"An unknown error has ocurred.",WD=t=>{if(Li(t))return t;let e=wE(t);return Qc(t)?Object.assign(new Error(e),t):new Error(e)};function qD(t){return yE(t)&&"spawnargs"in t}});var bE=S((QG,FE)=>{"use strict";l();var $D=Object.create,Oi=Object.defineProperty,ZD=Object.getOwnPropertyDescriptor,XD=Object.getOwnPropertyNames,KD=Object.getPrototypeOf,zD=Object.prototype.hasOwnProperty,eS=(t,e)=>{for(var A in e)Oi(t,A,{get:e[A],enumerable:!0})},NE=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of XD(e))!zD.call(t,s)&&s!==A&&Oi(t,s,{get:()=>e[s],enumerable:!(r=ZD(e,s))||r.enumerable});return t},tS=(t,e,A)=>(A=t!=null?$D(KD(t)):{},NE(e||!t||!t.__esModule?Oi(A,"default",{value:t,enumerable:!0}):A,t)),AS=t=>NE(Oi({},"__esModule",{value:!0}),t),RE={};eS(RE,{LocalFileSystemDetector:()=>Bc});FE.exports=AS(RE);var Yi=tS(k("fs/promises")),Cc=k("path"),rS=BE(),sS=SE(),Bc=class t extends rS.DetectorFilesystem{constructor(e){super(),this.rootPath=e}async _hasPath(e){try{return await Yi.default.stat(this.getFilePath(e)),!0}catch(A){if((0,sS.isErrnoException)(A)&&A.code==="ENOENT")return!1;throw A}}_readFile(e){return Yi.default.readFile(this.getFilePath(e))}async _isFile(e){return(await Yi.default.stat(this.getFilePath(e))).isFile()}async _readdir(e){let A=this.getFilePath(e),r=await Yi.default.readdir(A,{withFileTypes:!0}),s=[];for(let n of r){let i;if(n.isFile())i="file";else if(n.isDirectory())i="dir";else continue;s.push({name:n.name,path:(0,Cc.join)(this.getRelativeFilePath(e),n.name),type:i})}return s}_chdir(e){return new t(this.getFilePath(e))}getRelativeFilePath(e){return e.startsWith(this.rootPath)?(0,Cc.relative)(this.rootPath,e):e}getFilePath(e){return(0,Cc.join)(this.rootPath,this.getRelativeFilePath(e))}}});var XE=S((PG,ZE)=>{"use strict";l();function it(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}ZE.exports=it;it.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};it.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};it.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var A=this._timeouts.shift();if(A===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),A=this._cachedTimeouts.slice(-1);else return!1;var r=this;return this._timer=setTimeout(function(){r._attempts++,r._operationTimeoutCb&&(r._timeout=setTimeout(function(){r._operationTimeoutCb(r._attempts)},r._operationTimeout),r._options.unref&&r._timeout.unref()),r._fn(r._attempts)},A),this._options.unref&&this._timer.unref(),!0};it.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var A=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){A._operationTimeoutCb()},A._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};it.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};it.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};it.prototype.start=it.prototype.try;it.prototype.errors=function(){return this._errors};it.prototype.attempts=function(){return this._attempts};it.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,A=0,r=0;r=A&&(e=s,A=i)}return e}});var KE=S(ir=>{"use strict";l();var FS=XE();ir.operation=function(t){var e=ir.timeouts(t);return new FS(e,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};ir.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var A in t)e[A]=t[A];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var r=[],s=0;s{"use strict";l();zE.exports=KE()});var AI=S(($G,tI)=>{"use strict";l();var bS=eI();function kS(t,e){function A(r,s){var n=e||{},i;"randomize"in n||(n.randomize=!0),i=bS.operation(n);function o(g){s(g||new Error("Aborted"))}function a(g,d){if(g.bail){o(g);return}i.retry(g)?n.onRetry&&n.onRetry(g,d):s(i.mainError())}function c(g){var d;try{d=t(o,g)}catch(I){a(I,g);return}Promise.resolve(d).then(r).catch(function(E){a(E,g)})}i.attempt(c)}return new Promise(A)}tI.exports=kS});var ot=S((tH,FI)=>{"use strict";l();var nI=Symbol.for("undici.error.UND_ERR"),ie=class extends Error{constructor(e,A){super(e,A),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[nI]===!0}get[nI](){return!0}},iI=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),yc=class extends ie{constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[iI]===!0}get[iI](){return!0}},oI=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),wc=class extends ie{constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[oI]===!0}get[oI](){return!0}},aI=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),Dc=class extends ie{constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[aI]===!0}get[aI](){return!0}},cI=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),Sc=class extends ie{constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[cI]===!0}get[cI](){return!0}},gI=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),Nc=class extends ie{constructor(e){super(e),this.name="InvalidArgumentError",this.message=e||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](e){return e&&e[gI]===!0}get[gI](){return!0}},lI=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),Rc=class extends ie{constructor(e){super(e),this.name="InvalidReturnValueError",this.message=e||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](e){return e&&e[lI]===!0}get[lI](){return!0}},uI=Symbol.for("undici.error.UND_ERR_ABORT"),Pi=class extends ie{constructor(e){super(e),this.name="AbortError",this.message=e||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](e){return e&&e[uI]===!0}get[uI](){return!0}},hI=Symbol.for("undici.error.UND_ERR_ABORTED"),Fc=class extends Pi{constructor(e){super(e),this.name="AbortError",this.message=e||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[hI]===!0}get[hI](){return!0}},dI=Symbol.for("undici.error.UND_ERR_INFO"),bc=class extends ie{constructor(e){super(e),this.name="InformationalError",this.message=e||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[dI]===!0}get[dI](){return!0}},EI=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),kc=class extends ie{constructor(e){super(e),this.name="RequestContentLengthMismatchError",this.message=e||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[EI]===!0}get[EI](){return!0}},II=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),Tc=class extends ie{constructor(e){super(e),this.name="ResponseContentLengthMismatchError",this.message=e||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[II]===!0}get[II](){return!0}},QI=Symbol.for("undici.error.UND_ERR_DESTROYED"),Uc=class extends ie{constructor(e){super(e),this.name="ClientDestroyedError",this.message=e||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](e){return e&&e[QI]===!0}get[QI](){return!0}},CI=Symbol.for("undici.error.UND_ERR_CLOSED"),_c=class extends ie{constructor(e){super(e),this.name="ClientClosedError",this.message=e||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](e){return e&&e[CI]===!0}get[CI](){return!0}},BI=Symbol.for("undici.error.UND_ERR_SOCKET"),Mc=class extends ie{constructor(e,A){super(e),this.name="SocketError",this.message=e||"Socket error",this.code="UND_ERR_SOCKET",this.socket=A}static[Symbol.hasInstance](e){return e&&e[BI]===!0}get[BI](){return!0}},fI=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),vc=class extends ie{constructor(e){super(e),this.name="NotSupportedError",this.message=e||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](e){return e&&e[fI]===!0}get[fI](){return!0}},pI=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),xc=class extends ie{constructor(e){super(e),this.name="MissingUpstreamError",this.message=e||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](e){return e&&e[pI]===!0}get[pI](){return!0}},mI=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),Lc=class extends Error{constructor(e,A,r){super(e),this.name="HTTPParserError",this.code=A?`HPE_${A}`:void 0,this.data=r?r.toString():void 0}static[Symbol.hasInstance](e){return e&&e[mI]===!0}get[mI](){return!0}},yI=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),Yc=class extends ie{constructor(e){super(e),this.name="ResponseExceededMaxSizeError",this.message=e||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](e){return e&&e[yI]===!0}get[yI](){return!0}},wI=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),Oc=class extends ie{constructor(e,A,{headers:r,data:s}){super(e),this.name="RequestRetryError",this.message=e||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=A,this.data=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[wI]===!0}get[wI](){return!0}},DI=Symbol.for("undici.error.UND_ERR_RESPONSE"),Gc=class extends ie{constructor(e,A,{headers:r,body:s}){super(e),this.name="ResponseError",this.message=e||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=A,this.body=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[DI]===!0}get[DI](){return!0}},SI=Symbol.for("undici.error.UND_ERR_PRX_TLS"),Hc=class extends ie{constructor(e,A,r={}){super(A,{cause:e,...r}),this.name="SecureProxyConnectionError",this.message=A||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=e}static[Symbol.hasInstance](e){return e&&e[SI]===!0}get[SI](){return!0}},NI=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED"),Pc=class extends ie{constructor(e){super(e),this.name="MaxOriginsReachedError",this.message=e||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](e){return e&&e[NI]===!0}get[NI](){return!0}},Vc=class extends ie{constructor(e,A){super(e),this.name="Socks5ProxyError",this.message=e||"SOCKS5 proxy error",this.code=A||"UND_ERR_SOCKS5"}},RI=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),Jc=class extends ie{constructor(e){super(e),this.name="MessageSizeExceededError",this.message=e||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](e){return e&&e[RI]===!0}get[RI](){return!0}};FI.exports={AbortError:Pi,HTTPParserError:Lc,UndiciError:ie,HeadersTimeoutError:wc,HeadersOverflowError:Dc,BodyTimeoutError:Sc,RequestContentLengthMismatchError:kc,ConnectTimeoutError:yc,InvalidArgumentError:Nc,InvalidReturnValueError:Rc,RequestAbortedError:Fc,ClientDestroyedError:Uc,ClientClosedError:_c,InformationalError:bc,SocketError:Mc,NotSupportedError:vc,ResponseContentLengthMismatchError:Tc,BalancedPoolMissingUpstreamError:xc,ResponseExceededMaxSizeError:Yc,RequestRetryError:Oc,ResponseError:Gc,SecureProxyConnectionError:Hc,MaxOriginsReachedError:Pc,Socks5ProxyError:Vc,MessageSizeExceededError:Jc}});var bt=S((rH,bI)=>{"use strict";l();bI.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}});var UI=S((nH,TI)=>{"use strict";l();var{InvalidArgumentError:_S}=ot();TI.exports=class kI{#e;constructor(e){this.#e=e}static wrap(e){return e.onRequestStart?e:new kI(e)}onConnect(e,A){return this.#e.onConnect?.(e,A)}onResponseStarted(){return this.#e.onResponseStarted?.()}onHeaders(e,A,r,s){return this.#e.onHeaders?.(e,A,r,s)}onUpgrade(e,A,r){return this.#e.onUpgrade?.(e,A,r)}onData(e){return this.#e.onData?.(e)}onComplete(e){return this.#e.onComplete?.(e)}onError(e){if(!this.#e.onError)throw e;return this.#e.onError?.(e)}onRequestStart(e,A){this.#e.onConnect?.(r=>e.abort(r),A)}onRequestUpgrade(e,A,r,s){let n=[];for(let[i,o]of Object.entries(r))n.push(Buffer.from(i,"latin1"),jc(o));this.#e.onUpgrade?.(A,n,s)}onResponseStart(e,A,r,s){let n=[];for(let[i,o]of Object.entries(r))n.push(Buffer.from(i,"latin1"),jc(o));this.#e.onHeaders?.(A,n,()=>e.resume(),s)===!1&&e.pause()}onResponseData(e,A){this.#e.onData?.(A)===!1&&e.pause()}onResponseEnd(e,A){let r=[];for(let[s,n]of Object.entries(A))r.push(Buffer.from(s,"latin1"),jc(n));this.#e.onComplete?.(r)}onResponseError(e,A){if(!this.#e.onError)throw new _S("invalid onError method");this.#e.onError?.(A)}};function jc(t){return Array.isArray(t)?t.map(e=>Buffer.from(e,"latin1")):Buffer.from(t,"latin1")}});var MI=S((oH,_I)=>{"use strict";l();var MS=k("events"),vS=UI(),xS=t=>(e,A)=>t(e,vS.wrap(A)),Wc=class extends MS{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){let A=Array.isArray(e[0])?e[0]:e,r=this.dispatch.bind(this);for(let s of A)if(s!=null){if(typeof s!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof s}`);if(r=s(r),r=xS(r),r==null||typeof r!="function"||r.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(s,n)=>n==="dispatch"?r:s[n]})}};_I.exports=Wc});var eg=S((cH,YI)=>{"use strict";l();var Hr=0,qc=1e3,$c=(qc>>1)-1,BA,Zc=Symbol("kFastTimer"),Wt=[],Xc=-2,Kc=-1,xI=0,vI=1;function zc(){Hr+=$c;let t=0,e=Wt.length;for(;t=A._idleStart+A._idleTimeout&&(A._state=Kc,A._idleStart=-1,A._onTimeout(A._timerArg)),A._state===Kc?(A._state=Xc,--e!==0&&(Wt[t]=Wt[e])):++t}Wt.length=e,Wt.length!==0&&LI()}function LI(){BA?.refresh?BA.refresh():(clearTimeout(BA),BA=setTimeout(zc,$c),BA?.unref())}var Vi=class{[Zc]=!0;_state=Xc;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,A,r){this._onTimeout=e,this._idleTimeout=A,this._timerArg=r,this.refresh()}refresh(){this._state===Xc&&Wt.push(this),(!BA||Wt.length===1)&&LI(),this._state=xI}clear(){this._state=Kc,this._idleStart=-1}};YI.exports={setTimeout(t,e,A){return e<=qc?setTimeout(t,e,A):new Vi(t,e,A)},clearTimeout(t){t[Zc]?t.clear():clearTimeout(t)},setFastTimeout(t,e,A){return new Vi(t,e,A)},clearFastTimeout(t){t.clear()},now(){return Hr},tick(t=0){Hr+=t-qc+1,zc(),zc()},reset(){Hr=0,Wt.length=0,clearTimeout(BA),BA=null},kFastTimer:Zc}});var ji=S((lH,GI)=>{"use strict";l();var tg=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"],Ji={};Object.setPrototypeOf(Ji,null);var OI={};Object.setPrototypeOf(OI,null);function LS(t){let e=OI[t];return e===void 0&&(e=Buffer.from(t)),e}for(let t=0;t{"use strict";l();var{wellknownHeaderNames:HI,headerNameLowerCasedRecord:YS}=ji(),Ag=class t{value=null;left=null;middle=null;right=null;code;constructor(e,A,r){if(r===void 0||r>=e.length)throw new TypeError("Unreachable");if((this.code=e.charCodeAt(r))>127)throw new TypeError("key must be ascii string");e.length!==++r?this.middle=new t(e,A,r):this.value=A}add(e,A){let r=e.length;if(r===0)throw new TypeError("Unreachable");let s=0,n=this;for(;;){let i=e.charCodeAt(s);if(i>127)throw new TypeError("key must be ascii string");if(n.code===i)if(r===++s){n.value=A;break}else if(n.middle!==null)n=n.middle;else{n.middle=new t(e,A,s);break}else if(n.code=65&&(n|=32);s!==null;){if(n===s.code){if(A===++r)return s;s=s.middle;break}s=s.code{"use strict";l();var Vs=k("assert"),{kDestroyed:$I,kBodyUsed:Pr,kListeners:$i,kBody:jI}=bt(),{IncomingMessage:OS}=k("http"),ZI=k("stream"),GS=k("net"),{stringify:HS}=k("querystring"),{EventEmitter:PS}=k("events"),qi=eg(),{InvalidArgumentError:Se,ConnectTimeoutError:VS}=ot(),{headerNameLowerCasedRecord:JS}=ji(),{tree:XI}=JI(),[jS,WS]=process.versions.node.split(".",2).map(t=>Number(t)),Xi=class{constructor(e){this[jI]=e,this[Pr]=!1}async*[Symbol.asyncIterator](){Vs(!this[Pr],"disturbed"),this[Pr]=!0,yield*this[jI]}};function WI(){}function qS(t){return Ki(t)?(rQ(t)===0&&t.on("data",function(){Vs(!1)}),typeof t.readableDidRead!="boolean"&&(t[Pr]=!1,PS.prototype.on.call(t,"data",function(){this[Pr]=!0})),t):t&&typeof t.pipeTo=="function"?new Xi(t):t&&aQ(t)?t:t&&typeof t!="string"&&!ArrayBuffer.isView(t)&&AQ(t)?new Xi(t):t}function Ki(t){return t&&typeof t=="object"&&typeof t.pipe=="function"&&typeof t.on=="function"}function KI(t){if(t===null)return!1;if(t instanceof Blob)return!0;if(typeof t!="object")return!1;{let e=t[Symbol.toStringTag];return(e==="Blob"||e==="File")&&("stream"in t&&typeof t.stream=="function"||"arrayBuffer"in t&&typeof t.arrayBuffer=="function")}}function zI(t){return t.includes("?")||t.includes("#")}function $S(t,e){if(zI(t))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let A=HS(e);return A&&(t+="?"+A),t}function eQ(t){let e=parseInt(t,10);return e===Number(t)&&e>=0&&e<=65535}function Zi(t){return t!=null&&t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p"&&(t[4]===":"||t[4]==="s"&&t[5]===":")}function tQ(t){if(typeof t=="string"){if(t=new URL(t),!Zi(t.origin||t.protocol))throw new Se("Invalid URL protocol: the URL must start with `http:` or `https:`.");return t}if(!t||typeof t!="object")throw new Se("Invalid URL: The URL argument must be a non-null object.");if(!(t instanceof URL)){if(t.port!=null&&t.port!==""&&eQ(t.port)===!1)throw new Se("Invalid URL: port must be a valid integer or a string representation of an integer.");if(t.path!=null&&typeof t.path!="string")throw new Se("Invalid URL path: the path must be a string or null/undefined.");if(t.pathname!=null&&typeof t.pathname!="string")throw new Se("Invalid URL pathname: the pathname must be a string or null/undefined.");if(t.hostname!=null&&typeof t.hostname!="string")throw new Se("Invalid URL hostname: the hostname must be a string or null/undefined.");if(t.origin!=null&&typeof t.origin!="string")throw new Se("Invalid URL origin: the origin must be a string or null/undefined.");if(!Zi(t.origin||t.protocol))throw new Se("Invalid URL protocol: the URL must start with `http:` or `https:`.");let e=t.port!=null?t.port:t.protocol==="https:"?443:80,A=t.origin!=null?t.origin:`${t.protocol||""}//${t.hostname||""}:${e}`,r=t.path!=null?t.path:`${t.pathname||""}${t.search||""}`;return A[A.length-1]==="/"&&(A=A.slice(0,A.length-1)),r&&r[0]!=="/"&&(r=`/${r}`),new URL(`${A}${r}`)}if(!Zi(t.origin||t.protocol))throw new Se("Invalid URL protocol: the URL must start with `http:` or `https:`.");return t}function ZS(t){if(t=tQ(t),t.pathname!=="/"||t.search||t.hash)throw new Se("invalid url");return t}function XS(t){if(t[0]==="["){let A=t.indexOf("]");return Vs(A!==-1),t.substring(1,A)}let e=t.indexOf(":");return e===-1?t:t.substring(0,e)}function KS(t){if(!t)return null;Vs(typeof t=="string");let e=XS(t);return GS.isIP(e)?"":e}function zS(t){return JSON.parse(JSON.stringify(t))}function eN(t){return t!=null&&typeof t[Symbol.asyncIterator]=="function"}function AQ(t){return t!=null&&(typeof t[Symbol.iterator]=="function"||typeof t[Symbol.asyncIterator]=="function")}function tN(t){let e=Object.getPrototypeOf(t);return Object.prototype.hasOwnProperty.call(t,Symbol.iterator)||e!=null&&e!==Object.prototype&&typeof t[Symbol.iterator]=="function"}function rQ(t){if(t==null)return 0;if(Ki(t)){let e=t._readableState;return e&&e.objectMode===!1&&e.ended===!0&&Number.isFinite(e.length)?e.length:null}else{if(KI(t))return t.size!=null?t.size:null;if(oQ(t))return t.byteLength}return null}function sQ(t){return t&&!!(t.destroyed||t[$I]||ZI.isDestroyed?.(t))}function nQ(t,e){t==null||!Ki(t)||sQ(t)||(typeof t.destroy=="function"?(Object.getPrototypeOf(t).constructor===OS&&(t.socket=null),t.destroy(e)):e&&queueMicrotask(()=>{t.emit("error",e)}),t.destroyed!==!0&&(t[$I]=!0))}var AN=/timeout=(\d+)/;function rN(t){let e=t.match(AN);return e?parseInt(e[1],10)*1e3:null}function iQ(t){return typeof t=="string"?JS[t]??t.toLowerCase():XI.lookup(t)??t.toString("latin1").toLowerCase()}function sN(t){return XI.lookup(t)??t.toString("latin1").toLowerCase()}function nN(t,e){e===void 0&&(e={});for(let A=0;Ai.toString("latin1")):t[A+1].toString("latin1");r==="__proto__"?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}else{let n=typeof t[A+1]=="string"?t[A+1]:Array.isArray(t[A+1])?t[A+1].map(i=>i.toString("latin1")):t[A+1].toString("latin1");e[r]=n}}return e}function iN(t){let e=t.length,A=new Array(e),r,s;for(let n=0;nBuffer.from(e))}function oQ(t){return t instanceof Uint8Array||Buffer.isBuffer(t)}function aN(t,e,A){if(!t||typeof t!="object")throw new Se("handler must be an object");if(typeof t.onRequestStart!="function"){if(typeof t.onConnect!="function")throw new Se("invalid onConnect method");if(typeof t.onError!="function")throw new Se("invalid onError method");if(typeof t.onBodySent!="function"&&t.onBodySent!==void 0)throw new Se("invalid onBodySent method");if(A||e==="CONNECT"){if(typeof t.onUpgrade!="function")throw new Se("invalid onUpgrade method")}else{if(typeof t.onHeaders!="function")throw new Se("invalid onHeaders method");if(typeof t.onData!="function")throw new Se("invalid onData method");if(typeof t.onComplete!="function")throw new Se("invalid onComplete method")}}}function cN(t){return!!(t&&(ZI.isDisturbed(t)||t[Pr]))}function gN(t){return{localAddress:t.localAddress,localPort:t.localPort,remoteAddress:t.remoteAddress,remotePort:t.remotePort,remoteFamily:t.remoteFamily,timeout:t.timeout,bytesWritten:t.bytesWritten,bytesRead:t.bytesRead}}function lN(t){let e;return new ReadableStream({start(){e=t[Symbol.asyncIterator]()},pull(A){return e.next().then(({done:r,value:s})=>{if(r)return queueMicrotask(()=>{A.close(),A.byobRequest?.respond(0)});{let n=Buffer.isBuffer(s)?s:Buffer.from(s);return n.byteLength?A.enqueue(new Uint8Array(n)):this.pull(A)}})},cancel(){return e.return()},type:"bytes"})}function aQ(t){return t&&typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&t[Symbol.toStringTag]==="FormData"}function uN(t,e){return"addEventListener"in t?(t.addEventListener("abort",e,{once:!0}),()=>t.removeEventListener("abort",e)):(t.once("abort",e),()=>t.removeListener("abort",e))}var cQ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function hN(t){return cQ[t]===1}var dN=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function EN(t){if(t.length>=12)return dN.test(t);if(t.length===0)return!1;for(let e=0;e{if(!e.timeout)return WI;let A=null,r=null,s=qi.setFastTimeout(()=>{A=setImmediate(()=>{r=setImmediate(()=>qI(t.deref(),e))})},e.timeout);return()=>{qi.clearFastTimeout(s),clearImmediate(A),clearImmediate(r)}}:(t,e)=>{if(!e.timeout)return WI;let A=null,r=qi.setFastTimeout(()=>{A=setImmediate(()=>{qI(t.deref(),e)})},e.timeout);return()=>{qi.clearFastTimeout(r),clearImmediate(A)}};function qI(t,e){if(t==null)return;let A="Connect Timeout Error";Array.isArray(t.autoSelectFamilyAttemptedAddresses)?A+=` (attempted addresses: ${t.autoSelectFamilyAttemptedAddresses.join(", ")},`:A+=` (attempted address: ${e.hostname}:${e.port},`,A+=` timeout: ${e.timeout}ms)`,nQ(t,new VS(A))}function wN(t){if(t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p")switch(t[4]){case":":return"http:";case"s":if(t[5]===":")return"https:"}return t.slice(0,t.indexOf(":")+1)}var gQ=Object.create(null);gQ.enumerable=!0;var rg={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},lQ={...rg,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(rg,null);Object.setPrototypeOf(lQ,null);uQ.exports={kEnumerableProperty:gQ,isDisturbed:cN,isBlobLike:KI,parseOrigin:ZS,parseURL:tQ,getServerName:KS,isStream:Ki,isIterable:AQ,hasSafeIterator:tN,isAsyncIterable:eN,isDestroyed:sQ,headerNameToString:iQ,bufferToLowerCasedHeaderName:sN,addListener:fN,removeAllListeners:pN,errorRequest:mN,parseRawHeaders:iN,encodeRawHeaders:oN,parseHeaders:nN,parseKeepAliveTimeout:rN,destroy:nQ,bodyLength:rQ,deepClone:zS,ReadableStreamFrom:lN,isBuffer:oQ,assertRequestHandler:aN,getSocketInfo:gN,isFormDataLike:aQ,pathHasQueryOrFragment:zI,serializePathWithQuery:$S,addAbortListener:uN,isValidHTTPToken:EN,isValidHeaderValue:QN,isTokenCharCode:hN,parseRangeHeader:BN,normalizedMethodRecordsBase:rg,normalizedMethodRecords:lQ,isValidPort:eQ,isHttpOrHttpsPrefixed:Zi,nodeMajor:jS,nodeMinor:WS,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:qS,setupConnectTimeout:yN,getProtocolFromUrlString:wN}});var EQ=S((QH,dQ)=>{"use strict";l();var{parseHeaders:sg}=Ze(),{InvalidArgumentError:DN}=ot(),ng=Symbol("resume"),ig=class{#e=!1;#t=null;#A=!1;#r;[ng]=null;rawHeaders=null;rawTrailers=null;constructor(e){this.#r=e}pause(){this.#e=!0}resume(){this.#e&&(this.#e=!1,this[ng]?.())}abort(e){this.#A||(this.#A=!0,this.#t=e,this.#r(e))}get aborted(){return this.#A}get reason(){return this.#t}get paused(){return this.#e}};dQ.exports=class hQ{#e;#t;constructor(e){this.#e=e}static unwrap(e){return e.onRequestStart?new hQ(e):e}onConnect(e,A){this.#t=new ig(e),this.#e.onRequestStart?.(this.#t,A)}onResponseStarted(){return this.#e.onResponseStarted?.()}onUpgrade(e,A,r){this.#t.rawHeaders=A,this.#e.onRequestUpgrade?.(this.#t,e,sg(A),r)}onHeaders(e,A,r,s){return this.#t[ng]=r,this.#t.rawHeaders=A,this.#e.onResponseStart?.(this.#t,e,sg(A),s),!this.#t.paused}onData(e){return this.#e.onResponseData?.(this.#t,e),!this.#t.paused}onComplete(e){this.#t.rawTrailers=e,this.#e.onResponseEnd?.(this.#t,sg(e))}onError(e){if(!this.#e.onResponseError)throw new DN("invalid onError method");this.#e.onResponseError?.(this.#t,e)}}});var eo=S((BH,IQ)=>{"use strict";l();var SN=MI(),NN=EQ(),{ClientDestroyedError:og,ClientClosedError:RN,InvalidArgumentError:zi}=ot(),{kDestroy:FN,kClose:bN,kClosed:Js,kDestroyed:Vr,kDispatch:kN}=bt(),fA=Symbol("onDestroyed"),or=Symbol("onClosed"),ag=class extends SN{[Vr]=!1;[fA]=null;[Js]=!1;[or]=null;get destroyed(){return this[Vr]}get closed(){return this[Js]}close(e){if(e===void 0)return new Promise((r,s)=>{this.close((n,i)=>n?s(n):r(i))});if(typeof e!="function")throw new zi("invalid callback");if(this[Vr]){let r=new og;queueMicrotask(()=>e(r,null));return}if(this[Js]){this[or]?this[or].push(e):queueMicrotask(()=>e(null,null));return}this[Js]=!0,this[or]??=[],this[or].push(e);let A=()=>{let r=this[or];this[or]=null;for(let s=0;sthis.destroy()).then(()=>queueMicrotask(A))}destroy(e,A){if(typeof e=="function"&&(A=e,e=null),A===void 0)return new Promise((s,n)=>{this.destroy(e,(i,o)=>i?n(i):s(o))});if(typeof A!="function")throw new zi("invalid callback");if(this[Vr]){this[fA]?this[fA].push(A):queueMicrotask(()=>A(null,null));return}e||(e=new og),this[Vr]=!0,this[fA]??=[],this[fA].push(A);let r=()=>{let s=this[fA];this[fA]=null;for(let n=0;nqueueMicrotask(r))}dispatch(e,A){if(!A||typeof A!="object")throw new zi("handler must be an object");A=NN.unwrap(A);try{if(!e||typeof e!="object")throw new zi("opts must be an object.");if(this[Vr]||this[fA])throw new og;if(this[Js])throw new RN;return this[kN](e,A)}catch(r){if(typeof A.onError!="function")throw r;return A.onError(r),!1}}};IQ.exports=ag});var lg=S((pH,pQ)=>{"use strict";l();var{kConnected:QQ,kPending:CQ,kRunning:BQ,kSize:fQ,kFree:TN,kQueued:UN}=bt(),cg=class{constructor(e){this.connected=e[QQ],this.pending=e[CQ],this.running=e[BQ],this.size=e[fQ]}},gg=class{constructor(e){this.connected=e[QQ],this.free=e[TN],this.pending=e[CQ],this.queued=e[UN],this.running=e[BQ],this.size=e[fQ]}};pQ.exports={ClientStats:cg,PoolStats:gg}});var yQ=S((wH,mQ)=>{"use strict";l();var to=class{bottom=0;top=0;list=new Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};mQ.exports=class{constructor(){this.head=this.tail=new to}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new to),this.head.push(e)}shift(){let e=this.tail,A=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next,e.next=null),A}}});var UQ=S((SH,TQ)=>{"use strict";l();var{PoolStats:_N}=lg(),MN=eo(),vN=yQ(),{kConnected:ug,kSize:wQ,kRunning:DQ,kPending:SQ,kQueued:js,kBusy:xN,kFree:LN,kUrl:YN,kClose:ON,kDestroy:GN,kDispatch:HN}=bt(),Ne=Symbol("clients"),Me=Symbol("needDrain"),Ws=Symbol("queue"),hg=Symbol("closed resolve"),dg=Symbol("onDrain"),NQ=Symbol("onConnect"),RQ=Symbol("onDisconnect"),FQ=Symbol("onConnectionError"),Eg=Symbol("get dispatcher"),bQ=Symbol("add client"),kQ=Symbol("remove client"),Ig=class extends MN{[Ws]=new vN;[js]=0;[Ne]=[];[Me]=!1;[dg](e,A,r){let s=this[Ws],n=!1;for(;!n;){let i=s.shift();if(!i)break;this[js]--,n=!e.dispatch(i.opts,i.handler)}if(e[Me]=n,!n&&this[Me]&&(this[Me]=!1,this.emit("drain",A,[this,...r])),this[hg]&&s.isEmpty()){let i=[];for(let o=0;o{this.emit("connect",e,[this,...A])};[RQ]=(e,A,r)=>{this.emit("disconnect",e,[this,...A],r)};[FQ]=(e,A,r)=>{this.emit("connectionError",e,[this,...A],r)};get[xN](){return this[Me]}get[ug](){let e=0;for(let{[ug]:A}of this[Ne])e+=A;return e}get[LN](){let e=0;for(let{[ug]:A,[Me]:r}of this[Ne])e+=A&&!r;return e}get[SQ](){let e=this[js];for(let{[SQ]:A}of this[Ne])e+=A;return e}get[DQ](){let e=0;for(let{[DQ]:A}of this[Ne])e+=A;return e}get[wQ](){let e=this[js];for(let{[wQ]:A}of this[Ne])e+=A;return e}get stats(){return new _N(this)}[ON](){if(this[Ws].isEmpty()){let e=[];for(let A=0;A{this[hg]=e})}[GN](e){for(;;){let r=this[Ws].shift();if(!r)break;r.handler.onError(e)}let A=new Array(this[Ne].length);for(let r=0;r{this[Me]&&this[dg](e,e[YN],[e,this])}),this}[kQ](e){e.close(()=>{let A=this[Ne].indexOf(e);A!==-1&&this[Ne].splice(A,1)}),this[Me]=this[Ne].some(A=>!A[Me]&&A.closed!==!0&&A.destroyed!==!0)}};TQ.exports={PoolBase:Ig,kClients:Ne,kNeedDrain:Me,kAddClient:bQ,kRemoveClient:kQ,kGetDispatcher:Eg}});var $s=S((RH,MQ)=>{"use strict";l();var ee=k("diagnostics_channel"),fg=k("util"),ar=fg.debuglog("undici"),qs=fg.debuglog("fetch"),Ao=fg.debuglog("websocket"),Xe={beforeConnect:ee.channel("undici:client:beforeConnect"),connected:ee.channel("undici:client:connected"),connectError:ee.channel("undici:client:connectError"),sendHeaders:ee.channel("undici:client:sendHeaders"),create:ee.channel("undici:request:create"),bodySent:ee.channel("undici:request:bodySent"),bodyChunkSent:ee.channel("undici:request:bodyChunkSent"),bodyChunkReceived:ee.channel("undici:request:bodyChunkReceived"),headers:ee.channel("undici:request:headers"),trailers:ee.channel("undici:request:trailers"),error:ee.channel("undici:request:error"),open:ee.channel("undici:websocket:open"),close:ee.channel("undici:websocket:close"),socketError:ee.channel("undici:websocket:socket_error"),ping:ee.channel("undici:websocket:ping"),pong:ee.channel("undici:websocket:pong"),proxyConnected:ee.channel("undici:proxy:connected")},Qg=!1;function _Q(t=ar){if(!Qg){if(Xe.beforeConnect.hasSubscribers||Xe.connected.hasSubscribers||Xe.connectError.hasSubscribers||Xe.sendHeaders.hasSubscribers){Qg=!0;return}Qg=!0,ee.subscribe("undici:client:beforeConnect",e=>{let{connectParams:{version:A,protocol:r,port:s,host:n}}=e;t("connecting to %s%s using %s%s",n,s?`:${s}`:"",r,A)}),ee.subscribe("undici:client:connected",e=>{let{connectParams:{version:A,protocol:r,port:s,host:n}}=e;t("connected to %s%s using %s%s",n,s?`:${s}`:"",r,A)}),ee.subscribe("undici:client:connectError",e=>{let{connectParams:{version:A,protocol:r,port:s,host:n},error:i}=e;t("connection to %s%s using %s%s errored - %s",n,s?`:${s}`:"",r,A,i.message)}),ee.subscribe("undici:client:sendHeaders",e=>{let{request:{method:A,path:r,origin:s}}=e;t("sending request to %s %s%s",A,s,r)})}}var Cg=!1;function PN(t=ar){if(!Cg){if(Xe.headers.hasSubscribers||Xe.trailers.hasSubscribers||Xe.error.hasSubscribers){Cg=!0;return}Cg=!0,ee.subscribe("undici:request:headers",e=>{let{request:{method:A,path:r,origin:s},response:{statusCode:n}}=e;t("received response to %s %s%s - HTTP %d",A,s,r,n)}),ee.subscribe("undici:request:trailers",e=>{let{request:{method:A,path:r,origin:s}}=e;t("trailers received from %s %s%s",A,s,r)}),ee.subscribe("undici:request:error",e=>{let{request:{method:A,path:r,origin:s},error:n}=e;t("request to %s %s%s errored - %s",A,s,r,n.message)})}}var Bg=!1;function VN(t=Ao){if(!Bg){if(Xe.open.hasSubscribers||Xe.close.hasSubscribers||Xe.socketError.hasSubscribers||Xe.ping.hasSubscribers||Xe.pong.hasSubscribers){Bg=!0;return}Bg=!0,ee.subscribe("undici:websocket:open",e=>{if(e.address!=null){let{address:A,port:r}=e.address;t("connection opened %s%s",A,r?`:${r}`:"")}else t("connection opened")}),ee.subscribe("undici:websocket:close",e=>{let{websocket:A,code:r,reason:s}=e;t("closed connection to %s - %s %s",A.url,r,s)}),ee.subscribe("undici:websocket:socket_error",e=>{t("connection errored - %s",e.message)}),ee.subscribe("undici:websocket:ping",e=>{t("ping received")}),ee.subscribe("undici:websocket:pong",e=>{t("pong received")})}}(ar.enabled||qs.enabled)&&(_Q(qs.enabled?qs:ar),PN(qs.enabled?qs:ar));Ao.enabled&&(_Q(ar.enabled?ar:Ao),VN(Ao));MQ.exports={channels:Xe}});var LQ=S((bH,xQ)=>{"use strict";l();var{InvalidArgumentError:K,NotSupportedError:JN}=ot(),kt=k("assert"),{isValidHTTPToken:pg,isValidHeaderValue:mg,isStream:jN,destroy:WN,isBuffer:qN,isFormDataLike:$N,isIterable:ZN,hasSafeIterator:XN,isBlobLike:KN,serializePathWithQuery:zN,assertRequestHandler:eR,getServerName:tR,normalizedMethodRecords:AR,getProtocolFromUrlString:rR}=Ze(),{channels:Pe}=$s(),{headerNameLowerCasedRecord:vQ}=ji(),sR=/[^\u0021-\u00ff]/;function nR(t){if(typeof t!="string"||t.length===0)return!1;for(let e=0;e57)return!1}return!0}var at=Symbol("handler"),yg=class{constructor(e,{path:A,method:r,body:s,headers:n,query:i,idempotent:o,blocking:a,upgrade:c,headersTimeout:g,bodyTimeout:d,reset:I,expectContinue:E,servername:C,throwOnError:y,maxRedirections:w,typeOfService:p},R){if(typeof A!="string")throw new K("path must be a string");if(A[0]!=="/"&&!(A.startsWith("http://")||A.startsWith("https://"))&&r!=="CONNECT")throw new K("path must be an absolute URL or start with a slash");if(sR.test(A))throw new K("invalid request path");if(typeof r!="string")throw new K("method must be a string");if(AR[r]===void 0&&!pg(r))throw new K("invalid request method");if(c&&typeof c!="string")throw new K("upgrade must be a string");if(c&&!mg(c))throw new K("invalid upgrade header");if(g!=null&&(!Number.isFinite(g)||g<0))throw new K("invalid headersTimeout");if(d!=null&&(!Number.isFinite(d)||d<0))throw new K("invalid bodyTimeout");if(I!=null&&typeof I!="boolean")throw new K("invalid reset");if(E!=null&&typeof E!="boolean")throw new K("invalid expectContinue");if(y!=null)throw new K("invalid throwOnError");if(w!=null&&w!==0)throw new K("maxRedirections is not supported, use the redirect interceptor");if(p!=null&&(!Number.isInteger(p)||p<0||p>255))throw new K("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=g,this.bodyTimeout=d,this.method=r,this.typeOfService=p??0,this.abort=null,s==null)this.body=null;else if(jN(s)){this.body=s;let D=this.body._readableState;(!D||!D.autoDestroy)&&(this.endHandler=function(){WN(this)},this.body.on("end",this.endHandler)),this.errorHandler=q=>{this.abort?this.abort(q):this.error=q},this.body.on("error",this.errorHandler)}else if(qN(s))this.body=s.byteLength?s:null;else if(ArrayBuffer.isView(s))this.body=s.buffer.byteLength?Buffer.from(s.buffer,s.byteOffset,s.byteLength):null;else if(s instanceof ArrayBuffer)this.body=s.byteLength?Buffer.from(s):null;else if(typeof s=="string")this.body=s.length?Buffer.from(s):null;else if($N(s)||ZN(s)||KN(s))this.body=s;else throw new K("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=c||null,this.path=i?zN(A,i):A,this.origin=e,this.protocol=rR(e),this.idempotent=o??(r==="HEAD"||r==="GET"),this.blocking=a??this.method!=="HEAD",this.reset=I??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=E??!1,Array.isArray(n)){if(n.length%2!==0)throw new K("headers array must be even");for(let D=0;D{"use strict";l();var iR=k("net"),YQ=k("assert"),OQ=Ze(),{InvalidArgumentError:oR}=ot(),wg,aR=class{constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(A=>{if(this._sessionCache.size=this._maxCachedSessions){for(let[s,n]of this._sessionCache)if(n.deref()===void 0){this._sessionCache.delete(s);return}let r=this._sessionCache.keys().next();r.done||this._sessionCache.delete(r.value)}this._sessionCache.set(e,new WeakRef(A)),this._sessionRegistry.register(A,e)}}};function cR({allowH2:t,useH2c:e,maxCachedSessions:A,socketPath:r,timeout:s,session:n,...i}){if(A!=null&&(!Number.isInteger(A)||A<0))throw new oR("maxCachedSessions must be a positive integer or zero");let o={path:r,...i},a=new aR(A??100);return s=s??1e4,t=t??!1,function({hostname:g,host:d,protocol:I,port:E,servername:C,localAddress:y,httpSocket:w},p){let R;if(I==="https:"){wg||(wg=k("tls")),C=C||o.servername||OQ.getServerName(d)||null;let q=C||g;YQ(q);let se=n||a.get(q)||null;E=E||443,R=wg.connect({highWaterMark:16384,...o,servername:C,session:se,localAddress:y,ALPNProtocols:t?["http/1.1","h2"]:["http/1.1"],socket:w,port:E,host:g}),R.on("session",function(ne){a.set(q,ne)})}else YQ(!w,"httpSocket can only be sent on TLS update"),E=E||80,R=iR.connect({highWaterMark:64*1024,...o,localAddress:y,port:E,host:g}),e===!0&&(R.alpnProtocol="h2");if(o.keepAlive==null||o.keepAlive){let q=o.keepAliveInitialDelay===void 0?6e4:o.keepAliveInitialDelay;R.setKeepAlive(!0,q)}let D=OQ.setupConnectTimeout(new WeakRef(R),{timeout:s,hostname:g,port:E});return R.setNoDelay(!0).once(I==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(D),p){let q=p;p=null,q(null,this)}}).on("error",function(q){if(queueMicrotask(D),p){let se=p;p=null,se(q)}}),R}}GQ.exports=cR});var HQ=S(Sg=>{"use strict";l();Object.defineProperty(Sg,"__esModule",{value:!0});Sg.enumToMap=gR;function gR(t,e=[],A=[]){let r=(e?.length??0)===0,s=(A?.length??0)===0;return Object.fromEntries(Object.entries(t).filter(([,n])=>typeof n=="number"&&(r||e.includes(n))&&(s||!A.includes(n))))}});var PQ=S(u=>{"use strict";l();Object.defineProperty(u,"__esModule",{value:!0});u.SPECIAL_HEADERS=u.MINOR=u.MAJOR=u.HTAB_SP_VCHAR_OBS_TEXT=u.QUOTED_STRING=u.CONNECTION_TOKEN_CHARS=u.HEADER_CHARS=u.TOKEN=u.HEX=u.URL_CHAR=u.USERINFO_CHARS=u.MARK=u.ALPHANUM=u.NUM=u.HEX_MAP=u.NUM_MAP=u.ALPHA=u.STATUSES_HTTP=u.H_METHOD_MAP=u.METHOD_MAP=u.METHODS_RTSP=u.METHODS_ICE=u.METHODS_HTTP=u.HEADER_STATE=u.FINISH=u.STATUSES=u.METHODS=u.LENIENT_FLAGS=u.FLAGS=u.TYPE=u.ERROR=void 0;var lR=HQ();u.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38};u.TYPE={BOTH:0,REQUEST:1,RESPONSE:2};u.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512};u.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512};u.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46};u.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599};u.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2};u.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8};u.METHODS_HTTP=[u.METHODS.DELETE,u.METHODS.GET,u.METHODS.HEAD,u.METHODS.POST,u.METHODS.PUT,u.METHODS.CONNECT,u.METHODS.OPTIONS,u.METHODS.TRACE,u.METHODS.COPY,u.METHODS.LOCK,u.METHODS.MKCOL,u.METHODS.MOVE,u.METHODS.PROPFIND,u.METHODS.PROPPATCH,u.METHODS.SEARCH,u.METHODS.UNLOCK,u.METHODS.BIND,u.METHODS.REBIND,u.METHODS.UNBIND,u.METHODS.ACL,u.METHODS.REPORT,u.METHODS.MKACTIVITY,u.METHODS.CHECKOUT,u.METHODS.MERGE,u.METHODS["M-SEARCH"],u.METHODS.NOTIFY,u.METHODS.SUBSCRIBE,u.METHODS.UNSUBSCRIBE,u.METHODS.PATCH,u.METHODS.PURGE,u.METHODS.MKCALENDAR,u.METHODS.LINK,u.METHODS.UNLINK,u.METHODS.PRI,u.METHODS.SOURCE,u.METHODS.QUERY];u.METHODS_ICE=[u.METHODS.SOURCE];u.METHODS_RTSP=[u.METHODS.OPTIONS,u.METHODS.DESCRIBE,u.METHODS.ANNOUNCE,u.METHODS.SETUP,u.METHODS.PLAY,u.METHODS.PAUSE,u.METHODS.TEARDOWN,u.METHODS.GET_PARAMETER,u.METHODS.SET_PARAMETER,u.METHODS.REDIRECT,u.METHODS.RECORD,u.METHODS.FLUSH,u.METHODS.GET,u.METHODS.POST];u.METHOD_MAP=(0,lR.enumToMap)(u.METHODS);u.H_METHOD_MAP=Object.fromEntries(Object.entries(u.METHODS).filter(([t])=>t.startsWith("H")));u.STATUSES_HTTP=[u.STATUSES.CONTINUE,u.STATUSES.SWITCHING_PROTOCOLS,u.STATUSES.PROCESSING,u.STATUSES.EARLY_HINTS,u.STATUSES.RESPONSE_IS_STALE,u.STATUSES.REVALIDATION_FAILED,u.STATUSES.DISCONNECTED_OPERATION,u.STATUSES.HEURISTIC_EXPIRATION,u.STATUSES.MISCELLANEOUS_WARNING,u.STATUSES.OK,u.STATUSES.CREATED,u.STATUSES.ACCEPTED,u.STATUSES.NON_AUTHORITATIVE_INFORMATION,u.STATUSES.NO_CONTENT,u.STATUSES.RESET_CONTENT,u.STATUSES.PARTIAL_CONTENT,u.STATUSES.MULTI_STATUS,u.STATUSES.ALREADY_REPORTED,u.STATUSES.TRANSFORMATION_APPLIED,u.STATUSES.IM_USED,u.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,u.STATUSES.MULTIPLE_CHOICES,u.STATUSES.MOVED_PERMANENTLY,u.STATUSES.FOUND,u.STATUSES.SEE_OTHER,u.STATUSES.NOT_MODIFIED,u.STATUSES.USE_PROXY,u.STATUSES.SWITCH_PROXY,u.STATUSES.TEMPORARY_REDIRECT,u.STATUSES.PERMANENT_REDIRECT,u.STATUSES.BAD_REQUEST,u.STATUSES.UNAUTHORIZED,u.STATUSES.PAYMENT_REQUIRED,u.STATUSES.FORBIDDEN,u.STATUSES.NOT_FOUND,u.STATUSES.METHOD_NOT_ALLOWED,u.STATUSES.NOT_ACCEPTABLE,u.STATUSES.PROXY_AUTHENTICATION_REQUIRED,u.STATUSES.REQUEST_TIMEOUT,u.STATUSES.CONFLICT,u.STATUSES.GONE,u.STATUSES.LENGTH_REQUIRED,u.STATUSES.PRECONDITION_FAILED,u.STATUSES.PAYLOAD_TOO_LARGE,u.STATUSES.URI_TOO_LONG,u.STATUSES.UNSUPPORTED_MEDIA_TYPE,u.STATUSES.RANGE_NOT_SATISFIABLE,u.STATUSES.EXPECTATION_FAILED,u.STATUSES.IM_A_TEAPOT,u.STATUSES.PAGE_EXPIRED,u.STATUSES.ENHANCE_YOUR_CALM,u.STATUSES.MISDIRECTED_REQUEST,u.STATUSES.UNPROCESSABLE_ENTITY,u.STATUSES.LOCKED,u.STATUSES.FAILED_DEPENDENCY,u.STATUSES.TOO_EARLY,u.STATUSES.UPGRADE_REQUIRED,u.STATUSES.PRECONDITION_REQUIRED,u.STATUSES.TOO_MANY_REQUESTS,u.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,u.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,u.STATUSES.LOGIN_TIMEOUT,u.STATUSES.NO_RESPONSE,u.STATUSES.RETRY_WITH,u.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,u.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,u.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,u.STATUSES.INVALID_X_FORWARDED_FOR,u.STATUSES.REQUEST_HEADER_TOO_LARGE,u.STATUSES.SSL_CERTIFICATE_ERROR,u.STATUSES.SSL_CERTIFICATE_REQUIRED,u.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,u.STATUSES.INVALID_TOKEN,u.STATUSES.CLIENT_CLOSED_REQUEST,u.STATUSES.INTERNAL_SERVER_ERROR,u.STATUSES.NOT_IMPLEMENTED,u.STATUSES.BAD_GATEWAY,u.STATUSES.SERVICE_UNAVAILABLE,u.STATUSES.GATEWAY_TIMEOUT,u.STATUSES.HTTP_VERSION_NOT_SUPPORTED,u.STATUSES.VARIANT_ALSO_NEGOTIATES,u.STATUSES.INSUFFICIENT_STORAGE,u.STATUSES.LOOP_DETECTED,u.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,u.STATUSES.NOT_EXTENDED,u.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,u.STATUSES.WEB_SERVER_UNKNOWN_ERROR,u.STATUSES.WEB_SERVER_IS_DOWN,u.STATUSES.CONNECTION_TIMEOUT,u.STATUSES.ORIGIN_IS_UNREACHABLE,u.STATUSES.TIMEOUT_OCCURED,u.STATUSES.SSL_HANDSHAKE_FAILED,u.STATUSES.INVALID_SSL_CERTIFICATE,u.STATUSES.RAILGUN_ERROR,u.STATUSES.SITE_IS_OVERLOADED,u.STATUSES.SITE_IS_FROZEN,u.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,u.STATUSES.NETWORK_READ_TIMEOUT,u.STATUSES.NETWORK_CONNECT_TIMEOUT];u.ALPHA=[];for(let t=65;t<=90;t++)u.ALPHA.push(String.fromCharCode(t)),u.ALPHA.push(String.fromCharCode(t+32));u.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};u.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};u.NUM=["0","1","2","3","4","5","6","7","8","9"];u.ALPHANUM=u.ALPHA.concat(u.NUM);u.MARK=["-","_",".","!","~","*","'","(",")"];u.USERINFO_CHARS=u.ALPHANUM.concat(u.MARK).concat(["%",";",":","&","=","+","$",","]);u.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(u.ALPHANUM);u.HEX=u.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);u.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(u.ALPHANUM);u.HEADER_CHARS=[" "];for(let t=32;t<=255;t++)t!==127&&u.HEADER_CHARS.push(t);u.CONNECTION_TOKEN_CHARS=u.HEADER_CHARS.filter(t=>t!==44);u.QUOTED_STRING=[" "," "];for(let t=33;t<=255;t++)t!==34&&t!==92&&u.QUOTED_STRING.push(t);u.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let t=33;t<=126;t++)u.HTAB_SP_VCHAR_OBS_TEXT.push(t);for(let t=128;t<=255;t++)u.HTAB_SP_VCHAR_OBS_TEXT.push(t);u.MAJOR=u.NUM_MAP;u.MINOR=u.MAJOR;u.SPECIAL_HEADERS={connection:u.HEADER_STATE.CONNECTION,"content-length":u.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":u.HEADER_STATE.CONNECTION,"transfer-encoding":u.HEADER_STATE.TRANSFER_ENCODING,upgrade:u.HEADER_STATE.UPGRADE};u.default={ERROR:u.ERROR,TYPE:u.TYPE,FLAGS:u.FLAGS,LENIENT_FLAGS:u.LENIENT_FLAGS,METHODS:u.METHODS,STATUSES:u.STATUSES,FINISH:u.FINISH,HEADER_STATE:u.HEADER_STATE,ALPHA:u.ALPHA,NUM_MAP:u.NUM_MAP,HEX_MAP:u.HEX_MAP,NUM:u.NUM,ALPHANUM:u.ALPHANUM,MARK:u.MARK,USERINFO_CHARS:u.USERINFO_CHARS,URL_CHAR:u.URL_CHAR,HEX:u.HEX,TOKEN:u.TOKEN,HEADER_CHARS:u.HEADER_CHARS,CONNECTION_TOKEN_CHARS:u.CONNECTION_TOKEN_CHARS,QUOTED_STRING:u.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:u.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:u.MAJOR,MINOR:u.MINOR,SPECIAL_HEADERS:u.SPECIAL_HEADERS,METHODS_HTTP:u.METHODS_HTTP,METHODS_ICE:u.METHODS_ICE,METHODS_RTSP:u.METHODS_RTSP,METHOD_MAP:u.METHOD_MAP,H_METHOD_MAP:u.H_METHOD_MAP,STATUSES_HTTP:u.STATUSES_HTTP}});var Rg=S((YH,VQ)=>{"use strict";l();var{Buffer:uR}=k("buffer"),hR="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",Ng;Object.defineProperty(VQ,"exports",{get:()=>Ng||(Ng=uR.from(hR,"base64"))})});var jQ=S((GH,JQ)=>{"use strict";l();var{Buffer:dR}=k("buffer"),ER="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",Fg;Object.defineProperty(JQ,"exports",{get:()=>Fg||(Fg=dR.from(ER,"base64"))})});var tC=S((PH,eC)=>{"use strict";l();var WQ=["GET","HEAD","POST"],IR=new Set(WQ),QR=[101,204,205,304],qQ=[301,302,303,307,308],CR=new Set(qQ),$Q=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],BR=new Set($Q),ZQ=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],fR=["",...ZQ],pR=new Set(ZQ),mR=["follow","manual","error"],XQ=["GET","HEAD","OPTIONS","TRACE"],yR=new Set(XQ),wR=["navigate","same-origin","no-cors","cors"],DR=["omit","same-origin","include"],SR=["default","no-store","reload","no-cache","force-cache","only-if-cached"],NR=["content-encoding","content-language","content-location","content-type","content-length"],RR=["half"],KQ=["CONNECT","TRACE","TRACK"],FR=new Set(KQ),zQ=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],bR=new Set(zQ);eC.exports={subresource:zQ,forbiddenMethods:KQ,requestBodyHeader:NR,referrerPolicy:fR,requestRedirect:mR,requestMode:wR,requestCredentials:DR,requestCache:SR,redirectStatus:qQ,corsSafeListedMethods:WQ,nullBodyStatus:QR,safeMethods:XQ,badPorts:$Q,requestDuplex:RR,subresourceSet:bR,badPortsSet:BR,redirectStatusSet:CR,corsSafeListedMethodsSet:IR,safeMethodsSet:yR,forbiddenMethodsSet:FR,referrerPolicyTokens:pR}});var rC=S((JH,AC)=>{"use strict";l();var bg=Symbol.for("undici.globalOrigin.1");function kR(){return globalThis[bg]}function TR(t){if(t===void 0){Object.defineProperty(globalThis,bg,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let e=new URL(t);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${e.protocol}`);Object.defineProperty(globalThis,bg,{value:e,writable:!0,enumerable:!1,configurable:!1})}AC.exports={getGlobalOrigin:kR,setGlobalOrigin:TR}});var kg=S((WH,sC)=>{"use strict";l();var UR=new TextDecoder;function _R(t){return t.length===0?"":(t[0]===239&&t[1]===187&&t[2]===191&&(t=t.subarray(3)),UR.decode(t))}sC.exports={utf8DecodeBytes:_R}});var Zs=S(($H,aC)=>{"use strict";l();var nC=k("assert"),{utf8DecodeBytes:MR}=kg();function vR(t,e,A){let r="";for(;A.positione)return String.fromCharCode.apply(null,t);let A="",r=0,s=65535;for(;re&&(s=e-r),A+=String.fromCharCode.apply(null,t.subarray(r,r+=s));return A}var GR=/[^\x00-\xFF]/;function HR(t){return nC(!GR.test(t)),t}function PR(t){return JSON.parse(MR(t))}function VR(t,e=!0,A=!0){return oC(t,e,A,iC)}function oC(t,e,A,r){let s=0,n=t.length-1;if(e)for(;s0&&r(t.charCodeAt(n));)n--;return s===0&&n===t.length-1?t:t.slice(s,n+1)}function JR(t){let e=JSON.stringify(t);if(e===void 0)throw new TypeError("Value is not JSON serializable");return nC(typeof e=="string"),e}aC.exports={collectASequenceOfCodePoints:vR,collectASequenceOfCodePointsFast:xR,forgivingBase64:YR,isASCIIWhitespace:iC,isomorphicDecode:OR,isomorphicEncode:HR,parseJSONFromBytes:PR,removeASCIIWhitespace:VR,removeChars:oC,serializeJavascriptValueToJSONString:JR}});var io=S((XH,dC)=>{"use strict";l();var no=k("assert"),{forgivingBase64:jR,collectASequenceOfCodePoints:Tg,collectASequenceOfCodePointsFast:Xs,isomorphicDecode:WR,removeASCIIWhitespace:qR,removeChars:$R}=Zs(),ZR=new TextEncoder,Ks=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,XR=/[\u000A\u000D\u0009\u0020]/u,KR=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function zR(t){no(t.protocol==="data:");let e=lC(t,!0);e=e.slice(5);let A={position:0},r=Xs(",",e,A),s=r.length;if(r=qR(r,!0,!0),A.position>=e.length)return"failure";A.position++;let n=e.slice(s+1),i=uC(n);if(/;(?:\u0020*)base64$/ui.test(r)){let a=WR(i);if(i=jR(a),i==="failure")return"failure";r=r.slice(0,-6),r=r.replace(/(\u0020+)$/u,""),r=r.slice(0,-1)}r.startsWith(";")&&(r="text/plain"+r);let o=Ug(r);return o==="failure"&&(o=Ug("text/plain;charset=US-ASCII")),{mimeType:o,body:i}}function lC(t,e=!1){if(!e)return t.href;let A=t.href,r=t.hash.length,s=r===0?A:A.substring(0,A.length-r);return!r&&A.endsWith("#")?s.slice(0,-1):s}function uC(t){let e=ZR.encode(t);return eF(e)}function cC(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function gC(t){return t>=48&&t<=57?t-48:(t&223)-55}function eF(t){let e=t.length,A=new Uint8Array(e),r=0,s=0;for(;s=t.length)return"failure";e.position++;let r=Xs(";",t,e);if(r=so(r,!1,!0),r.length===0||!Ks.test(r))return"failure";let s=A.toLowerCase(),n=r.toLowerCase(),i={type:s,subtype:n,parameters:new Map,essence:`${s}/${n}`};for(;e.positionXR.test(c),t,e);let o=Tg(c=>c!==";"&&c!=="=",t,e);if(o=o.toLowerCase(),e.position=t.length)break;let a=null;if(t[e.position]==='"')a=hC(t,e,!0),Xs(";",t,e);else if(a=Xs(";",t,e),a=so(a,!1,!0),a.length===0)continue;o.length!==0&&Ks.test(o)&&(a.length===0||KR.test(a))&&!i.parameters.has(o)&&i.parameters.set(o,a)}return i}function hC(t,e,A=!1){let r=e.position,s="";for(no(t[e.position]==='"'),e.position++;s+=Tg(i=>i!=='"'&&i!=="\\",t,e),!(e.position>=t.length);){let n=t[e.position];if(e.position++,n==="\\"){if(e.position>=t.length){s+="\\";break}s+=t[e.position],e.position++}else{no(n==='"');break}}return A?s:t.slice(r,e.position)}function tF(t){no(t!=="failure");let{parameters:e,essence:A}=t,r=A;for(let[s,n]of e.entries())r+=";",r+=s,r+="=",Ks.test(n)||(n=n.replace(/[\\"]/ug,"\\$&"),n='"'+n,n+='"'),r+=n;return r}function AF(t){return t===13||t===10||t===9||t===32}function so(t,e=!0,A=!0){return $R(t,e,A,AF)}function rF(t){switch(t.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return t.subtype.endsWith("+json")?"application/json":t.subtype.endsWith("+xml")?"application/xml":""}dC.exports={dataURLProcessor:zR,URLSerializer:lC,stringPercentDecode:uC,parseMIMEType:Ug,collectAnHTTPQuotedString:hC,serializeAMimeType:tF,removeHTTPWhitespace:so,minimizeSupportedMimeType:rF,HTTP_TOKEN_CODEPOINTS:Ks}});var vg=S((zH,Mg)=>{"use strict";l();var EC={__proto__:null,"node:crypto":()=>k("crypto"),"node:sqlite":()=>k("sqlite"),"node:worker_threads":()=>k("worker_threads"),"node:zlib":()=>k("zlib")};function sF(t){try{return EC[t](),!0}catch(e){if(e.code!=="ERR_UNKNOWN_BUILTIN_MODULE"&&e.code!=="ERR_NO_CRYPTO")throw e;return!1}}function nF(t,e){return typeof EC[t]()[e]<"u"}var IC=["markAsUncloneable","zstd"],iF={markAsUncloneable:["node:worker_threads","markAsUncloneable"],zstd:["node:zlib","createZstdDecompress"]},QC=["crypto","sqlite"],oF=[...QC,...IC];function aF(t){if(QC.includes(t))return sF(`node:${t}`);if(IC.includes(t)){let[e,A]=iF[t];return nF(e,A)}throw new TypeError(`unknown feature: ${t}`)}var _g=class{#e=new Map;clear(){this.#e.clear()}has(e){return this.#e.get(e)??this.#t(e)}set(e,A){if(oF.includes(e)===!1)throw new TypeError(`unknown feature: ${e}`);this.#e.set(e,A)}#t(e){let A=aF(e);return this.#e.set(e,A),A}},CC=new _g;Mg.exports.runtimeFeatures=CC;Mg.exports.default=CC});var zs=S((tP,fC)=>{"use strict";l();var cF=k("assert"),{types:Qe,inspect:gF}=k("util"),{runtimeFeatures:lF}=vg(),xg=1,Lg=2,oo=3,ao=4,Yg=5,co=6,Og=7,Ke=8,BC=Function.call.bind(Function.prototype[Symbol.hasInstance]),Q={converters:{},util:{},errors:{},is:{}};Q.errors.exception=function(t){return new TypeError(`${t.header}: ${t.message}`)};Q.errors.conversionFailed=function(t){let e=t.types.length===1?"":" one of",A=`${t.argument} could not be converted to${e}: ${t.types.join(", ")}.`;return Q.errors.exception({header:t.prefix,message:A})};Q.errors.invalidArgument=function(t){return Q.errors.exception({header:t.prefix,message:`"${t.value}" is an invalid ${t.type}.`})};Q.brandCheck=function(t,e){if(!BC(e,t)){let A=new TypeError("Illegal invocation");throw A.code="ERR_INVALID_THIS",A}};Q.brandCheckMultiple=function(t){let e=t.map(A=>Q.util.MakeTypeAssertion(A));return A=>{if(e.every(r=>!r(A))){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}}};Q.argumentLengthCheck=function({length:t},e,A){if(tBC(t,e)};Q.util.Type=function(t){switch(typeof t){case"undefined":return xg;case"boolean":return Lg;case"string":return oo;case"symbol":return ao;case"number":return Yg;case"bigint":return co;case"function":case"object":return t===null?Og:Ke}};Q.util.Types={UNDEFINED:xg,BOOLEAN:Lg,STRING:oo,SYMBOL:ao,NUMBER:Yg,BIGINT:co,NULL:Og,OBJECT:Ke};Q.util.TypeValueToString=function(t){switch(Q.util.Type(t)){case xg:return"Undefined";case Lg:return"Boolean";case oo:return"String";case ao:return"Symbol";case Yg:return"Number";case co:return"BigInt";case Og:return"Null";case Ke:return"Object"}};Q.util.markAsUncloneable=lF.has("markAsUncloneable")?k("worker_threads").markAsUncloneable:()=>{};Q.util.ConvertToInt=function(t,e,A,r){let s,n;e===64?(s=Math.pow(2,53)-1,A==="unsigned"?n=0:n=Math.pow(-2,53)+1):A==="unsigned"?(n=0,s=Math.pow(2,e)-1):(n=-Math.pow(2,e-1),s=Math.pow(2,e-1)-1);let i=Number(t);if(i===0&&(i=0),Q.util.HasFlag(r,Q.attributes.EnforceRange)){if(Number.isNaN(i)||i===Number.POSITIVE_INFINITY||i===Number.NEGATIVE_INFINITY)throw Q.errors.exception({header:"Integer conversion",message:`Could not convert ${Q.util.Stringify(t)} to an integer.`});if(i=Q.util.IntegerPart(i),is)throw Q.errors.exception({header:"Integer conversion",message:`Value must be between ${n}-${s}, got ${i}.`});return i}return!Number.isNaN(i)&&Q.util.HasFlag(r,Q.attributes.Clamp)?(i=Math.min(Math.max(i,n),s),Math.floor(i)%2===0?i=Math.floor(i):i=Math.ceil(i),i):Number.isNaN(i)||i===0&&Object.is(0,i)||i===Number.POSITIVE_INFINITY||i===Number.NEGATIVE_INFINITY?0:(i=Q.util.IntegerPart(i),i=i%Math.pow(2,e),A==="signed"&&i>=Math.pow(2,e-1)?i-Math.pow(2,e):i)};Q.util.IntegerPart=function(t){let e=Math.floor(Math.abs(t));return t<0?-1*e:e};Q.util.Stringify=function(t){switch(Q.util.Type(t)){case ao:return`Symbol(${t.description})`;case Ke:return gF(t);case oo:return`"${t}"`;case co:return`${t}n`;default:return`${t}`}};Q.util.IsResizableArrayBuffer=function(t){if(Qe.isArrayBuffer(t))return t.resizable;if(Qe.isSharedArrayBuffer(t))return t.growable;throw Q.errors.exception({header:"IsResizableArrayBuffer",message:`"${Q.util.Stringify(t)}" is not an array buffer.`})};Q.util.HasFlag=function(t,e){return typeof t=="number"&&(t&e)===e};Q.sequenceConverter=function(t){return(e,A,r,s)=>{if(Q.util.Type(e)!==Ke)throw Q.errors.exception({header:A,message:`${r} (${Q.util.Stringify(e)}) is not iterable.`});let n=typeof s=="function"?s():e?.[Symbol.iterator]?.(),i=[],o=0;if(n===void 0||typeof n.next!="function")throw Q.errors.exception({header:A,message:`${r} is not iterable.`});for(;;){let{done:a,value:c}=n.next();if(a)break;i.push(t(c,A,`${r}[${o++}]`))}return i}};Q.recordConverter=function(t,e){return(A,r,s)=>{if(Q.util.Type(A)!==Ke)throw Q.errors.exception({header:r,message:`${s} ("${Q.util.TypeValueToString(A)}") is not an Object.`});let n={};if(!Qe.isProxy(A)){let o=[...Object.getOwnPropertyNames(A),...Object.getOwnPropertySymbols(A)];for(let a of o){let c=Q.util.Stringify(a),g=t(a,r,`Key ${c} in ${s}`),d=e(A[a],r,`${s}[${c}]`);n[g]=d}return n}let i=Reflect.ownKeys(A);for(let o of i)if(Reflect.getOwnPropertyDescriptor(A,o)?.enumerable){let c=t(o,r,s),g=e(A[o],r,s);n[c]=g}return n}};Q.interfaceConverter=function(t,e){return(A,r,s)=>{if(!t(A))throw Q.errors.exception({header:r,message:`Expected ${s} ("${Q.util.Stringify(A)}") to be an instance of ${e}.`});return A}};Q.dictionaryConverter=function(t){return t.sort((e,A)=>(e.key>A.key)-(e.key{let s={};if(e!=null&&Q.util.Type(e)!==Ke)throw Q.errors.exception({header:A,message:`Expected ${e} to be one of: Null, Undefined, Object.`});for(let n of t){let{key:i,defaultValue:o,required:a,converter:c}=n;if(a===!0&&(e==null||!Object.hasOwn(e,i)))throw Q.errors.exception({header:A,message:`Missing required key "${i}".`});let g=e?.[i],d=o!==void 0;if(d&&g===void 0&&(g=o()),a||d||g!==void 0){if(g=c(g,A,`${r}.${i}`),n.allowedValues&&!n.allowedValues.includes(g))throw Q.errors.exception({header:A,message:`${g} is not an accepted type. Expected one of ${n.allowedValues.join(", ")}.`});s[i]=g}}return s}};Q.nullableConverter=function(t){return(e,A,r)=>e===null?e:t(e,A,r)};Q.is.USVString=function(t){return typeof t=="string"&&t.isWellFormed()};Q.is.ReadableStream=Q.util.MakeTypeAssertion(ReadableStream);Q.is.Blob=Q.util.MakeTypeAssertion(Blob);Q.is.URLSearchParams=Q.util.MakeTypeAssertion(URLSearchParams);Q.is.File=Q.util.MakeTypeAssertion(File);Q.is.URL=Q.util.MakeTypeAssertion(URL);Q.is.AbortSignal=Q.util.MakeTypeAssertion(AbortSignal);Q.is.MessagePort=Q.util.MakeTypeAssertion(MessagePort);Q.is.BufferSource=function(t){return Qe.isArrayBuffer(t)||ArrayBuffer.isView(t)&&Qe.isArrayBuffer(t.buffer)};Q.util.getCopyOfBytesHeldByBufferSource=function(t){let e=t,A=e,r=0,s=0;if(Qe.isTypedArray(e)||Qe.isDataView(e)?(A=e.buffer,r=e.byteOffset,s=e.byteLength):(cF(Qe.isAnyArrayBuffer(e)),s=e.byteLength),A.detached)return new Uint8Array(0);let n=new Uint8Array(s),i=new Uint8Array(A,r,s);return n.set(i),n};Q.converters.DOMString=function(t,e,A,r){if(t===null&&Q.util.HasFlag(r,Q.attributes.LegacyNullToEmptyString))return"";if(typeof t=="symbol")throw Q.errors.exception({header:e,message:`${A} is a symbol, which cannot be converted to a DOMString.`});return String(t)};Q.converters.ByteString=function(t,e,A){if(typeof t=="symbol")throw Q.errors.exception({header:e,message:`${A} is a symbol, which cannot be converted to a ByteString.`});let r=String(t);for(let s=0;s255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${s} has a value of ${r.charCodeAt(s)} which is greater than 255.`);return r};Q.converters.USVString=function(t){return typeof t=="string"?t.toWellFormed():`${t}`.toWellFormed()};Q.converters.boolean=function(t){return!!t};Q.converters.any=function(t){return t};Q.converters["long long"]=function(t,e,A){return Q.util.ConvertToInt(t,64,"signed",0,e,A)};Q.converters["unsigned long long"]=function(t,e,A){return Q.util.ConvertToInt(t,64,"unsigned",0,e,A)};Q.converters["unsigned long"]=function(t,e,A){return Q.util.ConvertToInt(t,32,"unsigned",0,e,A)};Q.converters["unsigned short"]=function(t,e,A,r){return Q.util.ConvertToInt(t,16,"unsigned",r,e,A)};Q.converters.ArrayBuffer=function(t,e,A,r){if(Q.util.Type(t)!==Ke||!Qe.isArrayBuffer(t))throw Q.errors.conversionFailed({prefix:e,argument:`${A} ("${Q.util.Stringify(t)}")`,types:["ArrayBuffer"]});if(!Q.util.HasFlag(r,Q.attributes.AllowResizable)&&Q.util.IsResizableArrayBuffer(t))throw Q.errors.exception({header:e,message:`${A} cannot be a resizable ArrayBuffer.`});return t};Q.converters.SharedArrayBuffer=function(t,e,A,r){if(Q.util.Type(t)!==Ke||!Qe.isSharedArrayBuffer(t))throw Q.errors.conversionFailed({prefix:e,argument:`${A} ("${Q.util.Stringify(t)}")`,types:["SharedArrayBuffer"]});if(!Q.util.HasFlag(r,Q.attributes.AllowResizable)&&Q.util.IsResizableArrayBuffer(t))throw Q.errors.exception({header:e,message:`${A} cannot be a resizable SharedArrayBuffer.`});return t};Q.converters.TypedArray=function(t,e,A,r,s){if(Q.util.Type(t)!==Ke||!Qe.isTypedArray(t)||t.constructor.name!==e.name)throw Q.errors.conversionFailed({prefix:A,argument:`${r} ("${Q.util.Stringify(t)}")`,types:[e.name]});if(!Q.util.HasFlag(s,Q.attributes.AllowShared)&&Qe.isSharedArrayBuffer(t.buffer))throw Q.errors.exception({header:A,message:`${r} cannot be a view on a shared array buffer.`});if(!Q.util.HasFlag(s,Q.attributes.AllowResizable)&&Q.util.IsResizableArrayBuffer(t.buffer))throw Q.errors.exception({header:A,message:`${r} cannot be a view on a resizable array buffer.`});return t};Q.converters.DataView=function(t,e,A,r){if(Q.util.Type(t)!==Ke||!Qe.isDataView(t))throw Q.errors.conversionFailed({prefix:e,argument:`${A} ("${Q.util.Stringify(t)}")`,types:["DataView"]});if(!Q.util.HasFlag(r,Q.attributes.AllowShared)&&Qe.isSharedArrayBuffer(t.buffer))throw Q.errors.exception({header:e,message:`${A} cannot be a view on a shared array buffer.`});if(!Q.util.HasFlag(r,Q.attributes.AllowResizable)&&Q.util.IsResizableArrayBuffer(t.buffer))throw Q.errors.exception({header:e,message:`${A} cannot be a view on a resizable array buffer.`});return t};Q.converters.ArrayBufferView=function(t,e,A,r){if(Q.util.Type(t)!==Ke||!Qe.isArrayBufferView(t))throw Q.errors.conversionFailed({prefix:e,argument:`${A} ("${Q.util.Stringify(t)}")`,types:["ArrayBufferView"]});if(!Q.util.HasFlag(r,Q.attributes.AllowShared)&&Qe.isSharedArrayBuffer(t.buffer))throw Q.errors.exception({header:e,message:`${A} cannot be a view on a shared array buffer.`});if(!Q.util.HasFlag(r,Q.attributes.AllowResizable)&&Q.util.IsResizableArrayBuffer(t.buffer))throw Q.errors.exception({header:e,message:`${A} cannot be a view on a resizable array buffer.`});return t};Q.converters.BufferSource=function(t,e,A,r){if(Qe.isArrayBuffer(t))return Q.converters.ArrayBuffer(t,e,A,r);if(Qe.isArrayBufferView(t))return r&=~Q.attributes.AllowShared,Q.converters.ArrayBufferView(t,e,A,r);throw Qe.isSharedArrayBuffer(t)?Q.errors.exception({header:e,message:`${A} cannot be a SharedArrayBuffer.`}):Q.errors.conversionFailed({prefix:e,argument:`${A} ("${Q.util.Stringify(t)}")`,types:["ArrayBuffer","ArrayBufferView"]})};Q.converters.AllowSharedBufferSource=function(t,e,A,r){if(Qe.isArrayBuffer(t))return Q.converters.ArrayBuffer(t,e,A,r);if(Qe.isSharedArrayBuffer(t))return Q.converters.SharedArrayBuffer(t,e,A,r);if(Qe.isArrayBufferView(t))return r|=Q.attributes.AllowShared,Q.converters.ArrayBufferView(t,e,A,r);throw Q.errors.conversionFailed({prefix:e,argument:`${A} ("${Q.util.Stringify(t)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})};Q.converters["sequence"]=Q.sequenceConverter(Q.converters.ByteString);Q.converters["sequence>"]=Q.sequenceConverter(Q.converters["sequence"]);Q.converters["record"]=Q.recordConverter(Q.converters.ByteString,Q.converters.ByteString);Q.converters.Blob=Q.interfaceConverter(Q.is.Blob,"Blob");Q.converters.AbortSignal=Q.interfaceConverter(Q.is.AbortSignal,"AbortSignal");Q.converters.EventHandlerNonNull=function(t){return Q.util.Type(t)!==Ke?null:typeof t=="function"?t:()=>{}};Q.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16};fC.exports={webidl:Q}});var Wg=S((rP,_C)=>{"use strict";l();var{Transform:uF}=k("stream"),pC=k("zlib"),{redirectStatusSet:hF,referrerPolicyTokens:dF,badPortsSet:EF}=tC(),{getGlobalOrigin:mC}=rC(),{collectAnHTTPQuotedString:IF,parseMIMEType:QF}=io(),{performance:CF}=k("perf_hooks"),{ReadableStreamFrom:BF,isValidHTTPToken:yC,normalizedMethodRecordsBase:fF}=Ze(),tn=k("assert"),{isUint8Array:pF}=k("util/types"),{webidl:pA}=zs(),{isomorphicEncode:Gg,collectASequenceOfCodePoints:cr,removeChars:mF}=Zs();function wC(t){let e=t.urlList,A=e.length;return A===0?null:e[A-1].toString()}function yF(t,e){if(!hF.has(t.status))return null;let A=t.headersList.get("location",!0);return A!==null&&SC(A)&&(DC(A)||(A=wF(A)),A=new URL(A,wC(t))),A&&!A.hash&&(A.hash=e),A}function DC(t){for(let e=0;e126||A<32)return!1}return!0}function wF(t){return Buffer.from(t,"binary").toString("utf8")}function lr(t){return t.urlList[t.urlList.length-1]}function DF(t){let e=lr(t);return TC(e)&&EF.has(e.port)?"blocked":"allowed"}function SF(t){return t instanceof Error||t?.constructor?.name==="Error"||t?.constructor?.name==="DOMException"}function NF(t){for(let e=0;e=32&&A<=126||A>=128&&A<=255))return!1}return!0}var RF=yC;function SC(t){return(t[0]===" "||t[0]===" "||t[t.length-1]===" "||t[t.length-1]===" "||t.includes(` +`)||t.includes("\r")||t.includes("\0"))===!1}function FF(t){let e=(t.headersList.get("referrer-policy",!0)??"").split(","),A="";if(e.length)for(let r=e.length;r!==0;r--){let s=e[r-1].trim();if(dF.has(s)){A=s;break}}return A}function bF(t,e){let A=FF(e);A!==""&&(t.referrerPolicy=A)}function kF(){return"allowed"}function TF(){return"success"}function UF(){return"success"}function _F(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}function MF(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&Pg(t.origin)&&!Pg(lr(t))&&(e=null);break;case"same-origin":en(t,lr(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}function Jr(t,e){return t}function vF(t,e,A){return!t?.startTime||t.startTime4096&&(r=s),e){case"no-referrer":return"no-referrer";case"origin":return s??Hg(A,!0);case"unsafe-url":return r;case"strict-origin":{let n=lr(t);return gr(r)&&!gr(n)?"no-referrer":s}case"strict-origin-when-cross-origin":{let n=lr(t);return en(r,n)?r:gr(r)&&!gr(n)?"no-referrer":s}case"same-origin":return en(t,r)?r:"no-referrer";case"origin-when-cross-origin":return en(t,r)?r:s;case"no-referrer-when-downgrade":{let n=lr(t);return gr(r)&&!gr(n)?"no-referrer":r}}}function Hg(t,e=!1){return tn(pA.is.URL(t)),t=new URL(t),kC(t)?"no-referrer":(t.username="",t.password="",t.hash="",e===!0&&(t.pathname="",t.search=""),t)}var GF=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),HF=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function RC(t){return t.includes(":")?(t[0]==="["&&t[t.length-1]==="]"&&(t=t.slice(1,-1)),HF(t)):GF(t)}function PF(t){return t==null||t==="null"?!1:(t=new URL(t),!!(t.protocol==="https:"||t.protocol==="wss:"||RC(t.hostname)||t.hostname==="localhost"||t.hostname==="localhost."||t.hostname.endsWith(".localhost")||t.hostname.endsWith(".localhost.")||t.protocol==="file:"))}function gr(t){return pA.is.URL(t)?t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="blob:"?!0:PF(t.origin):!1}function VF(t){}function en(t,e){return t.origin===e.origin&&t.origin==="null"||t.protocol===e.protocol&&t.hostname===e.hostname&&t.port===e.port}function JF(t){return t.controller.state==="aborted"}function jF(t){return t.controller.state==="aborted"||t.controller.state==="terminated"}function WF(t){return fF[t.toLowerCase()]??t}var qF=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function FC(t,e,A=0,r=1){class s{#e;#t;#A;constructor(i,o){this.#e=i,this.#t=o,this.#A=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`);let i=this.#A,o=e(this.#e),a=o.length;if(i>=a)return{value:void 0,done:!0};let{[A]:c,[r]:g}=o[i];this.#A=i+1;let d;switch(this.#t){case"key":d=c;break;case"value":d=g;break;case"key+value":d=[c,g];break}return{value:d,done:!1}}}return delete s.prototype.constructor,Object.setPrototypeOf(s.prototype,qF),Object.defineProperties(s.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${t} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(n,i){return new s(n,i)}}function $F(t,e,A,r=0,s=1){let n=FC(t,A,r,s),i={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return pA.brandCheck(this,e),n(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return pA.brandCheck(this,e),n(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return pA.brandCheck(this,e),n(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(a,c=globalThis){if(pA.brandCheck(this,e),pA.argumentLengthCheck(arguments,1,`${t}.forEach`),typeof a!="function")throw new TypeError(`Failed to execute 'forEach' on '${t}': parameter 1 is not of type 'Function'.`);for(let{0:g,1:d}of n(this,"key+value"))a.call(c,d,g,this)}}};return Object.defineProperties(e.prototype,{...i,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:i.entries.value}})}function ZF(t,e,A){let r=e,s=A;try{let n=t.stream.getReader();bC(n,r,s)}catch(n){s(n)}}function XF(t){try{t.close(),t.byobRequest?.respond(0)}catch(e){if(!e.message.includes("Controller is already closed")&&!e.message.includes("ReadableStream is already closed"))throw e}}async function bC(t,e,A){try{let r=[],s=0;do{let{done:n,value:i}=await t.read();if(n){e(Buffer.concat(r,s));return}if(!pF(i)){A(new TypeError("Received non-Uint8Array chunk"));return}r.push(i),s+=i.length}while(!0)}catch(r){A(r)}}function kC(t){tn("protocol"in t);let e=t.protocol;return e==="about:"||e==="blob:"||e==="data:"}function Pg(t){return typeof t=="string"&&t[5]===":"&&t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p"&&t[4]==="s"||t.protocol==="https:"}function TC(t){tn("protocol"in t);let e=t.protocol;return e==="http:"||e==="https:"}function KF(t,e){let A=t;if(!A.startsWith("bytes"))return"failure";let r={position:5};if(e&&cr(a=>a===" "||a===" ",A,r),A.charCodeAt(r.position)!==61)return"failure";r.position++,e&&cr(a=>a===" "||a===" ",A,r);let s=cr(a=>{let c=a.charCodeAt(0);return c>=48&&c<=57},A,r),n=s.length?Number(s):null;if(e&&cr(a=>a===" "||a===" ",A,r),A.charCodeAt(r.position)!==45)return"failure";r.position++,e&&cr(a=>a===" "||a===" ",A,r);let i=cr(a=>{let c=a.charCodeAt(0);return c>=48&&c<=57},A,r),o=i.length?Number(i):null;return r.positiono?"failure":{rangeStartValue:n,rangeEndValue:o}}function zF(t,e,A){let r="bytes ";return r+=Gg(`${t}`),r+="-",r+=Gg(`${e}`),r+="/",r+=Gg(`${A}`),r}var Vg=class extends uF{#e;constructor(e){super(),this.#e=e}_transform(e,A,r){if(!this._inflateStream){if(e.length===0){r();return}this._inflateStream=(e[0]&15)===8?pC.createInflate(this.#e):pC.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",s=>this.destroy(s))}this._inflateStream.write(e,A,r)}_final(e){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),e()}};function eb(t){return new Vg(t)}function tb(t){let e=null,A=null,r=null,s=UC("content-type",t);if(s===null)return"failure";for(let n of s){let i=QF(n);i==="failure"||i.essence==="*/*"||(r=i,r.essence!==A?(e=null,r.parameters.has("charset")&&(e=r.parameters.get("charset")),A=r.essence):!r.parameters.has("charset")&&e!==null&&r.parameters.set("charset",e))}return r??"failure"}function Ab(t){let e=t,A={position:0},r=[],s="";for(;A.positionn!=='"'&&n!==",",e,A),A.positionn===9||n===32),r.push(s),s=""}return r}function UC(t,e){let A=e.get(t,!0);return A===null?null:Ab(A)}function rb(t){return!1}function sb(t){return!!(t.username||t.password)}function nb(t){return t!=null&&t!=="client"&&t!=="no-traversable"}var Jg=class{get baseUrl(){return mC()}get origin(){return this.baseUrl?.origin}policyContainer=NC()},jg=class{settingsObject=new Jg},ib=new jg;_C.exports={isAborted:JF,isCancelled:jF,isValidEncodedURL:DC,ReadableStreamFrom:BF,tryUpgradeRequestToAPotentiallyTrustworthyURL:VF,clampAndCoarsenConnectionTimingInfo:vF,coarsenedSharedCurrentTime:xF,determineRequestsReferrer:OF,makePolicyContainer:NC,clonePolicyContainer:YF,appendFetchMetadata:_F,appendRequestOriginHeader:MF,TAOCheck:UF,corsCheck:TF,crossOriginResourcePolicyCheck:kF,createOpaqueTimingInfo:LF,setRequestReferrerPolicyOnRedirect:bF,isValidHTTPToken:yC,requestBadPort:DF,requestCurrentURL:lr,responseURL:wC,responseLocationURL:yF,isURLPotentiallyTrustworthy:gr,isValidReasonPhrase:NF,sameOrigin:en,normalizeMethod:WF,iteratorMixin:$F,createIterator:FC,isValidHeaderName:RF,isValidHeaderValue:SC,isErrorLike:SF,fullyReadBody:ZF,readableStreamClose:XF,urlIsLocal:kC,urlHasHttpsScheme:Pg,urlIsHttpHttpsScheme:TC,readAllBytes:bC,simpleRangeHeaderValue:KF,buildContentRange:zF,createInflate:eb,extractMimeType:tb,getDecodeSplit:UC,environmentSettingsObject:ib,isOriginIPPotentiallyTrustworthy:RC,hasAuthenticationEntry:rb,includesCredentials:sb,isTraversableNavigable:nb}});var $g=S((nP,vC)=>{"use strict";l();var{iteratorMixin:ob}=Wg(),{kEnumerableProperty:jr}=Ze(),{webidl:X}=zs(),MC=k("util"),qt=class t{#e=[];constructor(e=void 0){if(X.util.markAsUncloneable(this),e!==void 0)throw X.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(e,A,r=void 0){X.brandCheck(this,t);let s="FormData.append";X.argumentLengthCheck(arguments,2,s),e=X.converters.USVString(e),arguments.length===3||X.is.Blob(A)?(A=X.converters.Blob(A,s,"value"),r!==void 0&&(r=X.converters.USVString(r))):A=X.converters.USVString(A);let n=qg(e,A,r);this.#e.push(n)}delete(e){X.brandCheck(this,t),X.argumentLengthCheck(arguments,1,"FormData.delete"),e=X.converters.USVString(e),this.#e=this.#e.filter(r=>r.name!==e)}get(e){X.brandCheck(this,t),X.argumentLengthCheck(arguments,1,"FormData.get"),e=X.converters.USVString(e);let r=this.#e.findIndex(s=>s.name===e);return r===-1?null:this.#e[r].value}getAll(e){return X.brandCheck(this,t),X.argumentLengthCheck(arguments,1,"FormData.getAll"),e=X.converters.USVString(e),this.#e.filter(r=>r.name===e).map(r=>r.value)}has(e){return X.brandCheck(this,t),X.argumentLengthCheck(arguments,1,"FormData.has"),e=X.converters.USVString(e),this.#e.findIndex(r=>r.name===e)!==-1}set(e,A,r=void 0){X.brandCheck(this,t);let s="FormData.set";X.argumentLengthCheck(arguments,2,s),e=X.converters.USVString(e),arguments.length===3||X.is.Blob(A)?(A=X.converters.Blob(A,s,"value"),r!==void 0&&(r=X.converters.USVString(r))):A=X.converters.USVString(A);let n=qg(e,A,r),i=this.#e.findIndex(o=>o.name===e);i!==-1?this.#e=[...this.#e.slice(0,i),n,...this.#e.slice(i+1).filter(o=>o.name!==e)]:this.#e.push(n)}[MC.inspect.custom](e,A){let r=this.#e.reduce((n,i)=>(n[i.name]?Array.isArray(n[i.name])?n[i.name].push(i.value):n[i.name]=[n[i.name],i.value]:n[i.name]=i.value,n),{__proto__:null});A.depth??=e,A.colors??=!0;let s=MC.formatWithOptions(A,r);return`FormData ${s.slice(s.indexOf("]")+2)}`}static getFormDataState(e){return e.#e}static setFormDataState(e,A){e.#e=A}},{getFormDataState:ab,setFormDataState:cb}=qt;Reflect.deleteProperty(qt,"getFormDataState");Reflect.deleteProperty(qt,"setFormDataState");ob("FormData",qt,ab,"name","value");Object.defineProperties(qt.prototype,{append:jr,delete:jr,get:jr,getAll:jr,has:jr,set:jr,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function qg(t,e,A){if(typeof e!="string"){if(X.is.File(e)||(e=new File([e],"blob",{type:e.type})),A!==void 0){let r={type:e.type,lastModified:e.lastModified};e=new File([e],A,r)}}return{name:t,value:e}}X.is.FormData=X.util.MakeTypeAssertion(qt);vC.exports={FormData:qt,makeEntry:qg,setFormDataState:cb}});var YC=S((oP,LC)=>{"use strict";l();var{bufferToLowerCasedHeaderName:gb}=Ze(),{HTTP_TOKEN_CODEPOINTS:lb}=io(),{makeEntry:ub}=$g(),{webidl:Zg}=zs(),Xg=k("assert"),{isomorphicDecode:xC}=Zs(),hb=Buffer.from("--"),Kg=new TextDecoder,db=new TextDecoder("utf-8",{ignoreBOM:!0});function Eb(t){for(let e=0;e70)return!1;for(let A=0;A=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r===39||r===45||r===95))return!1}return!0}function Qb(t,e){Xg(e!=="failure"&&e.essence==="multipart/form-data");let A=e.parameters.get("boundary");if(A===void 0)throw Ve("missing boundary in content-type header");let r=Buffer.from(`--${A}`,"utf8"),s=[],n={position:0},i=t.indexOf(r);if(i===-1)throw Ve("no boundary found in multipart body");for(n.position=i;;){if(t.subarray(n.position,n.position+r.length).equals(r))n.position+=r.length;else throw Ve("expected a value starting with -- and the boundary");if(fb(t,hb,n))return s;if(t[n.position]!==13||t[n.position+1]!==10)throw Ve("expected CRLF");n.position+=2;let o=Bb(t,n),{name:a,filename:c,contentType:g,encoding:d}=o;n.position+=2;let I;{let C=t.indexOf(r.subarray(2),n.position);if(C===-1)throw Ve("expected boundary after body");I=t.subarray(n.position,C-4),n.position+=I.length,d==="base64"&&(I=Buffer.from(I.toString(),"base64"))}if(t[n.position]!==13||t[n.position+1]!==10)throw Ve("expected CRLF");n.position+=2;let E;c!==null?(g??="text/plain",Eb(g)||(g=""),E=new File([I],c,{type:g})):E=db.decode(Buffer.from(I)),Xg(Zg.is.USVString(a)),Xg(typeof E=="string"&&Zg.is.USVString(E)||Zg.is.File(E)),s.push(ub(a,E,c))}}function Cb(t,e){t[e.position]===59&&e.position++,ct(i=>i===32||i===9,t,e);let A=ct(i=>el(i)&&i!==61&&i!==42,t,e);if(A.length===0)return null;let r=A.toString("ascii").toLowerCase(),s=t[e.position]===42;if(s&&e.position++,t[e.position]!==61)return null;e.position++,ct(i=>i===32||i===9,t,e);let n;if(s){let i=ct(o=>o!==32&&o!==13&&o!==10&&o!==59,t,e);if(i[0]!==117&&i[0]!==85||i[1]!==116&&i[1]!==84||i[2]!==102&&i[2]!==70||i[3]!==45||i[4]!==56)throw Ve("unknown encoding, expected utf-8''");n=decodeURIComponent(Kg.decode(i.subarray(7)))}else if(t[e.position]===34){e.position++;let i=ct(o=>o!==10&&o!==13&&o!==34,t,e);if(t[e.position]!==34)throw Ve("Closing quote not found");e.position++,n=Kg.decode(i).replace(/%0A/ig,` +`).replace(/%0D/ig,"\r").replace(/%22/g,'"')}else{let i=ct(o=>el(o)&&o!==59,t,e);n=Kg.decode(i)}return{name:r,value:n,extended:s}}function Bb(t,e){let A=null,r=null,s=null,n=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10){if(A===null)throw Ve("header name is null");return{name:A,filename:r,contentType:s,encoding:n}}let i=ct(o=>o!==10&&o!==13&&o!==58,t,e);if(i=zg(i,!0,!0,o=>o===9||o===32),!lb.test(i.toString()))throw Ve("header name does not match the field-name token production");if(t[e.position]!==58)throw Ve("expected :");switch(e.position++,ct(o=>o===32||o===9,t,e),gb(i)){case"content-disposition":{A=r=null;let o=!1;if(ct(c=>el(c),t,e).toString("ascii").toLowerCase()!=="form-data")throw Ve("expected form-data for content-disposition header");for(;e.positiona!==10&&a!==13,t,e);o=zg(o,!1,!0,a=>a===9||a===32),s=xC(o);break}case"content-transfer-encoding":{let o=ct(a=>a!==10&&a!==13,t,e);o=zg(o,!1,!0,a=>a===9||a===32),n=xC(o);break}default:ct(o=>o!==10&&o!==13,t,e)}if(t[e.position]!==13||t[e.position+1]!==10)throw Ve("expected CRLF");e.position+=2}}function ct(t,e,A){let r=A.position;for(;r0&&r(t[n]);)n--;return s===0&&n===t.length-1?t:t.subarray(s,n+1)}function fb(t,e,A){if(t.length{"use strict";l();function yb(){let t,e;return{promise:new Promise((r,s)=>{t=r,e=s}),resolve:t,reject:e}}OC.exports={createDeferredPromise:yb}});var sl=S((lP,jC)=>{"use strict";l();var rl=Ze(),{ReadableStreamFrom:wb,readableStreamClose:Db,fullyReadBody:Sb,extractMimeType:Nb}=Wg(),{FormData:HC,setFormDataState:Rb}=$g(),{webidl:Qt}=zs(),tl=k("assert"),{isErrored:Al,isDisturbed:Fb}=k("stream"),{isUint8Array:bb}=k("util/types"),{serializeAMimeType:kb}=io(),{multipartFormDataParser:Tb}=YC(),{createDeferredPromise:Ub}=GC(),{parseJSONFromBytes:_b}=Zs(),{utf8DecodeBytes:Mb}=kg(),{runtimeFeatures:vb}=vg(),xb=vb.has("crypto")?k("crypto").randomInt:t=>Math.floor(Math.random()*t),go=new TextEncoder;function Lb(){}var Yb=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!Fb(e)&&!Al(e)&&e.cancel("Response object has been garbage collected").catch(Lb)});function VC(t,e=!1){let A=null,r=null;Qt.is.ReadableStream(t)?A=t:Qt.is.Blob(t)?A=t.stream():A=new ReadableStream({pull(){},start(c){r=c},cancel(){},type:"bytes"}),tl(Qt.is.ReadableStream(A));let s=null,n=null,i=null,o=null;if(typeof t=="string")n=t,o="text/plain;charset=UTF-8";else if(Qt.is.URLSearchParams(t))n=t.toString(),o="application/x-www-form-urlencoded;charset=UTF-8";else if(Qt.is.BufferSource(t))n=Qt.util.getCopyOfBytesHeldByBufferSource(t);else if(Qt.is.FormData(t)){let c=`----formdata-undici-0${`${xb(1e11)}`.padStart(11,"0")}`,g=`--${c}\r +Content-Disposition: form-data`;let d=p=>p.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),I=p=>p.replace(/\r?\n|\r/g,`\r +`),E=[],C=new Uint8Array([13,10]);i=0;let y=!1;for(let[p,R]of t)if(typeof R=="string"){let D=go.encode(g+`; name="${d(I(p))}"\r +\r +${I(R)}\r +`);E.push(D),i+=D.byteLength}else{let D=go.encode(`${g}; name="${d(I(p))}"`+(R.name?`; filename="${d(R.name)}"`:"")+`\r +Content-Type: ${R.type||"application/octet-stream"}\r +\r +`);E.push(D,R,C),typeof R.size=="number"?i+=D.byteLength+R.size+C.byteLength:y=!0}let w=go.encode(`--${c}--\r +`);E.push(w),i+=w.byteLength,y&&(i=null),n=t,s=async function*(){for(let p of E)p.stream?yield*p.stream():yield p},o=`multipart/form-data; boundary=${c}`}else if(Qt.is.Blob(t))n=t,i=t.size,t.type&&(o=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(rl.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");A=Qt.is.ReadableStream(t)?t:wb(t)}return(typeof n=="string"||bb(n))&&(s=()=>(i=typeof n=="string"?Buffer.byteLength(n):n.length,n)),s!=null&&(async()=>{let c=s(),g=c?.[Symbol.asyncIterator]?.();if(g)for await(let d of g){if(Al(A))break;d.length&&r.enqueue(new Uint8Array(d))}else c?.length&&!Al(A)&&r.enqueue(typeof c=="string"?go.encode(c):new Uint8Array(c));queueMicrotask(()=>Db(r))})(),[{stream:A,source:n,length:i},o]}function Ob(t,e=!1){return Qt.is.ReadableStream(t)&&(tl(!rl.isDisturbed(t),"The body has already been consumed."),tl(!t.locked,"The stream is locked.")),VC(t,e)}function Gb(t){let{0:e,1:A}=t.stream.tee();return t.stream=e,{stream:A,length:t.length,source:t.source}}function Hb(t,e){return{blob(){return Wr(this,r=>{let s=PC(e(this));return s===null?s="":s&&(s=kb(s)),new Blob([r],{type:s})},t,e)},arrayBuffer(){return Wr(this,r=>new Uint8Array(r).buffer,t,e)},text(){return Wr(this,Mb,t,e)},json(){return Wr(this,_b,t,e)},formData(){return Wr(this,r=>{let s=PC(e(this));if(s!==null)switch(s.essence){case"multipart/form-data":{let n=Tb(r,s),i=new HC;return Rb(i,n),i}case"application/x-www-form-urlencoded":{let n=new URLSearchParams(r.toString()),i=new HC;for(let[o,a]of n)i.append(o,a);return i}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t,e)},bytes(){return Wr(this,r=>new Uint8Array(r),t,e)}}}function Pb(t,e){Object.assign(t.prototype,Hb(t,e))}function Wr(t,e,A,r){try{Qt.brandCheck(t,A)}catch(o){return Promise.reject(o)}if(t=r(t),JC(t))return Promise.reject(new TypeError("Body is unusable: Body has already been read"));let s=Ub(),n=s.reject,i=o=>{try{s.resolve(e(o))}catch(a){n(a)}};return t.body==null?(i(Buffer.allocUnsafe(0)),s.promise):(Sb(t.body,i,n),s.promise)}function JC(t){let e=t.body;return e!=null&&(e.stream.locked||rl.isDisturbed(e.stream))}function PC(t){let e=t.headersList,A=Nb(e);return A==="failure"?null:A}jC.exports={extractBody:VC,safelyExtractBody:Ob,cloneBody:Gb,mixinBody:Pb,streamRegistry:Yb,bodyUnusable:JC}});var iB=S((hP,nB)=>{"use strict";l();var M=k("assert"),L=Ze(),{channels:WC}=$s(),nl=eg(),{RequestContentLengthMismatchError:ur,ResponseContentLengthMismatchError:qC,RequestAbortedError:AB,HeadersTimeoutError:Vb,HeadersOverflowError:Jb,SocketError:sn,InformationalError:qr,BodyTimeoutError:jb,HTTPParserError:Wb,ResponseExceededMaxSizeError:qb}=ot(),{kUrl:rB,kReset:Je,kClient:Io,kParser:Be,kBlocking:nn,kRunning:Te,kPending:$b,kSize:$C,kWriting:yA,kQueue:Ct,kNoRef:An,kKeepAliveDefaultTimeout:Zb,kHostHeader:Xb,kPendingIdx:Kb,kRunningIdx:gt,kError:ve,kPipelining:ho,kSocket:$r,kKeepAliveTimeoutValue:Qo,kMaxHeadersSize:zb,kKeepAliveMaxTimeout:ek,kKeepAliveTimeoutThreshold:tk,kHeadersTimeout:Ak,kBodyTimeout:rk,kStrictContentLength:al,kMaxRequests:ZC,kCounter:sk,kMaxResponseSize:nk,kOnError:XC,kResume:mA,kHTTPContext:sB,kClosed:cl}=bt(),ze=PQ(),KC=Buffer.alloc(0),lo=Buffer[Symbol.species],ik=L.removeAllListeners,il;function ok(){let t=process.env.JEST_WORKER_ID?Rg():void 0,e,A=process.arch!=="ppc64";if(process.env.UNDICI_NO_WASM_SIMD==="1"?A=!1:process.env.UNDICI_NO_WASM_SIMD==="0"&&(A=!0),A)try{e=new WebAssembly.Module(jQ())}catch{}return e||(e=new WebAssembly.Module(t||Rg())),new WebAssembly.Instance(e,{env:{wasm_on_url:(r,s,n)=>0,wasm_on_status:(r,s,n)=>{M(Ce.ptr===r);let i=s-Ut+Tt.byteOffset;return Ce.onStatus(new lo(Tt.buffer,i,n))},wasm_on_message_begin:r=>(M(Ce.ptr===r),Ce.onMessageBegin()),wasm_on_header_field:(r,s,n)=>{M(Ce.ptr===r);let i=s-Ut+Tt.byteOffset;return Ce.onHeaderField(new lo(Tt.buffer,i,n))},wasm_on_header_value:(r,s,n)=>{M(Ce.ptr===r);let i=s-Ut+Tt.byteOffset;return Ce.onHeaderValue(new lo(Tt.buffer,i,n))},wasm_on_headers_complete:(r,s,n,i)=>(M(Ce.ptr===r),Ce.onHeadersComplete(s,n===1,i===1)),wasm_on_body:(r,s,n)=>{M(Ce.ptr===r);let i=s-Ut+Tt.byteOffset;return Ce.onBody(new lo(Tt.buffer,i,n))},wasm_on_message_complete:r=>(M(Ce.ptr===r),Ce.onMessageComplete())}})}var ol=null,Ce=null,Tt=null,uo=0,Ut=null,ak=0,rn=1,Zr=2|rn,Eo=4|rn,gl=8|ak,ll=class{constructor(e,A,{exports:r}){this.llhttp=r,this.ptr=this.llhttp.llhttp_alloc(ze.TYPE.RESPONSE),this.client=e,this.socket=A,this.timeout=null,this.timeoutWeakRef=new WeakRef(this),this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=e[zb],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=e[nk]}setTimeout(e,A){e!==this.timeoutValue||A&rn^this.timeoutType&rn?(this.timeout&&(nl.clearTimeout(this.timeout),this.timeout=null),e&&(A&rn?this.timeout=nl.setFastTimeout(zC,e,this.timeoutWeakRef):(this.timeout=setTimeout(zC,e,this.timeoutWeakRef),this.timeout?.unref())),this.timeoutValue=e):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=A}resume(){this.socket.destroyed||!this.paused||(M(this.ptr!=null),M(Ce===null),this.llhttp.llhttp_resume(this.ptr),M(this.timeoutType===Eo),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||KC),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let e=this.socket.read();if(e===null)break;this.execute(e)}}execute(e){M(Ce===null),M(this.ptr!=null),M(!this.paused);let{socket:A,llhttp:r}=this;e.length>uo&&(Ut&&r.free(Ut),uo=Math.ceil(e.length/4096)*4096,Ut=r.malloc(uo)),new Uint8Array(r.memory.buffer,Ut,uo).set(e);try{let s;try{Tt=e,Ce=this,s=r.llhttp_execute(this.ptr,Ut,e.length)}finally{Ce=null,Tt=null}if(s!==ze.ERROR.OK){let n=e.subarray(r.llhttp_get_error_pos(this.ptr)-Ut);if(s===ze.ERROR.PAUSED_UPGRADE)this.onUpgrade(n);else if(s===ze.ERROR.PAUSED)this.paused=!0,A.unshift(n);else throw this.createError(s,n)}}catch(s){L.destroy(A,s)}}finish(){M(Ce===null),M(this.ptr!=null),M(!this.paused);let{llhttp:e}=this,A;try{Ce=this,A=e.llhttp_finish(this.ptr)}finally{Ce=null}return A===ze.ERROR.OK?null:A===ze.ERROR.PAUSED||A===ze.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(A,KC)}createError(e,A){let{llhttp:r,contentLength:s,bytesRead:n}=this;if(s&&n!==parseInt(s,10))return new qC;let i=r.llhttp_get_error_reason(this.ptr),o="";if(i){let a=new Uint8Array(r.memory.buffer,i).indexOf(0);o="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,i,a).toString()+")"}return new Wb(o,ze.ERROR[e],A)}destroy(){M(Ce===null),M(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&nl.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(e){return this.statusText=e.toString(),0}onMessageBegin(){let{socket:e,client:A}=this;if(e.destroyed)return-1;let r=A[Ct][A[gt]];return r?(r.onResponseStarted(),0):-1}onHeaderField(e){let A=this.headers.length;return(A&1)===0?this.headers.push(e):this.headers[A-1]=Buffer.concat([this.headers[A-1],e]),this.trackHeader(e.length),0}onHeaderValue(e){let A=this.headers.length;(A&1)===1?(this.headers.push(e),A+=1):this.headers[A-1]=Buffer.concat([this.headers[A-1],e]);let r=this.headers[A-2];if(r.length===10){let s=L.bufferToLowerCasedHeaderName(r);s==="keep-alive"?this.keepAlive+=e.toString():s==="connection"&&(this.connection+=e.toString())}else r.length===14&&L.bufferToLowerCasedHeaderName(r)==="content-length"&&(this.contentLength+=e.toString());return this.trackHeader(e.length),0}trackHeader(e){this.headersSize+=e,this.headersSize>=this.headersMaxSize&&L.destroy(this.socket,new Jb)}onUpgrade(e){let{upgrade:A,client:r,socket:s,headers:n,statusCode:i}=this;M(A),M(r[$r]===s),M(!s.destroyed),M(!this.paused),M((n.length&1)===0);let o=r[Ct][r[gt]];M(o),M(o.upgrade||o.method==="CONNECT"),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,s.unshift(e),s[Be].destroy(),s[Be]=null,s[Io]=null,s[ve]=null,ik(s),r[$r]=null,r[sB]=null,r[Ct][r[gt]++]=null,r.emit("disconnect",r[rB],[r],new qr("upgrade"));try{o.onUpgrade(i,n,s)}catch(a){L.destroy(s,a)}r[mA]()}onHeadersComplete(e,A,r){let{client:s,socket:n,headers:i,statusText:o}=this;if(n.destroyed)return-1;let a=s[Ct][s[gt]];if(!a)return-1;if(M(!this.upgrade),M(this.statusCode<200),e===100)return L.destroy(n,new sn("bad response",L.getSocketInfo(n))),-1;if(A&&!a.upgrade)return L.destroy(n,new sn("bad upgrade",L.getSocketInfo(n))),-1;if(M(this.timeoutType===Zr),this.statusCode=e,this.shouldKeepAlive=r||a.method==="HEAD"&&!n[Je]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let g=a.bodyTimeout!=null?a.bodyTimeout:s[rk];this.setTimeout(g,Eo)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(a.method==="CONNECT")return M(s[Te]===1),this.upgrade=!0,2;if(A)return M(s[Te]===1),this.upgrade=!0,2;if(M((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&s[ho]){let g=this.keepAlive?L.parseKeepAliveTimeout(this.keepAlive):null;if(g!=null){let d=Math.min(g-s[tk],s[ek]);d<=0?n[Je]=!0:s[Qo]=d}else s[Qo]=s[Zb]}else n[Je]=!0;let c=a.onHeaders(e,i,this.resume,o)===!1;return a.aborted?-1:a.method==="HEAD"||e<200?1:(n[nn]&&(n[nn]=!1,s[mA]()),c?ze.ERROR.PAUSED:0)}onBody(e){let{client:A,socket:r,statusCode:s,maxResponseSize:n}=this;if(r.destroyed)return-1;let i=A[Ct][A[gt]];return M(i),M(this.timeoutType===Eo),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),M(s>=200),n>-1&&this.bytesRead+e.length>n?(L.destroy(r,new qb),-1):(this.bytesRead+=e.length,i.onData(e)===!1?ze.ERROR.PAUSED:0)}onMessageComplete(){let{client:e,socket:A,statusCode:r,upgrade:s,headers:n,contentLength:i,bytesRead:o,shouldKeepAlive:a}=this;if(A.destroyed&&(!r||a))return-1;if(s)return 0;M(r>=100),M((this.headers.length&1)===0);let c=e[Ct][e[gt]];if(M(c),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,r<200)return 0;if(c.method!=="HEAD"&&i&&o!==parseInt(i,10))return L.destroy(A,new qC),-1;if(c.onComplete(n),e[Ct][e[gt]++]=null,A[yA])return M(e[Te]===0),L.destroy(A,new qr("reset")),ze.ERROR.PAUSED;if(a){if(A[Je]&&e[Te]===0)return L.destroy(A,new qr("reset")),ze.ERROR.PAUSED;e[ho]==null||e[ho]===1?setImmediate(e[mA]):e[mA]()}else return L.destroy(A,new qr("reset")),ze.ERROR.PAUSED;return 0}};function zC(t){let e=t.deref();if(!e)return;let{socket:A,timeoutType:r,client:s,paused:n}=e;r===Zr?(!A[yA]||A.writableNeedDrain||s[Te]>1)&&(M(!n,"cannot be paused while waiting for headers"),L.destroy(A,new Vb)):r===Eo?n||L.destroy(A,new jb):r===gl&&(M(s[Te]===0&&s[Qo]),L.destroy(A,new qr("socket idle timeout")))}function ck(t,e){if(t[$r]=e,ol||(ol=ok()),e.errored)throw e.errored;if(e.destroyed)throw new sn("destroyed");return e[An]=!1,e[yA]=!1,e[Je]=!1,e[nn]=!1,e[Be]=new ll(t,e,ol),L.addListener(e,"error",gk),L.addListener(e,"readable",lk),L.addListener(e,"end",uk),L.addListener(e,"close",hk),e[cl]=!1,e.on("close",dk),{version:"h1",defaultPipelining:1,write(A){return Qk(t,A)},resume(){Ek(t)},destroy(A,r){e[cl]?queueMicrotask(r):(e.on("close",r),e.destroy(A))},get destroyed(){return e.destroyed},busy(A){return!!(e[yA]||e[Je]||e[nn]||A&&(t[Te]>0&&!A.idempotent||t[Te]>0&&(A.upgrade||A.method==="CONNECT")||t[Te]>0&&L.bodyLength(A.body)!==0&&(L.isStream(A.body)||L.isAsyncIterable(A.body)||L.isFormDataLike(A.body))))}}}function gk(t){M(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID");let e=this[Be];if(t.code==="ECONNRESET"&&e.statusCode&&!e.shouldKeepAlive){let A=e.finish();A&&(this[ve]=A,this[Io][XC](A));return}this[ve]=t,this[Io][XC](t)}function lk(){this[Be]?.readMore()}function uk(){let t=this[Be];if(t.statusCode&&!t.shouldKeepAlive){let e=t.finish();e&&L.destroy(this,e);return}L.destroy(this,new sn("other side closed",L.getSocketInfo(this)))}function hk(){let t=this[Be];t&&(!this[ve]&&t.statusCode&&!t.shouldKeepAlive&&(this[ve]=t.finish()||this[ve]),this[Be].destroy(),this[Be]=null);let e=this[ve]||new sn("closed",L.getSocketInfo(this)),A=this[Io];if(A[$r]=null,A[sB]=null,A.destroyed){M(A[$b]===0);let r=A[Ct].splice(A[gt]);for(let s=0;s0&&e.code!=="UND_ERR_INFO"){let r=A[Ct][A[gt]];A[Ct][A[gt]++]=null,L.errorRequest(A,r,e)}A[Kb]=A[gt],M(A[Te]===0),A.emit("disconnect",A[rB],[A],e),A[mA]()}function dk(){this[cl]=!0}function Ek(t){let e=t[$r];if(e&&!e.destroyed){if(t[$C]===0?!e[An]&&e.unref&&(e.unref(),e[An]=!0):e[An]&&e.ref&&(e.ref(),e[An]=!1),t[$C]===0)e[Be].timeoutType!==gl&&e[Be].setTimeout(t[Qo],gl);else if(t[Te]>0&&e[Be].statusCode<200&&e[Be].timeoutType!==Zr){let A=t[Ct][t[gt]],r=A.headersTimeout!=null?A.headersTimeout:t[Ak];e[Be].setTimeout(r,Zr)}}}function Ik(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}function Qk(t,e){let{method:A,path:r,host:s,upgrade:n,blocking:i,reset:o}=e,{body:a,headers:c,contentLength:g}=e,d=A==="PUT"||A==="POST"||A==="PATCH"||A==="QUERY"||A==="PROPFIND"||A==="PROPPATCH";if(L.isFormDataLike(a)){il||(il=sl().extractBody);let[w,p]=il(a);e.contentType==null&&c.push("content-type",p),a=w.stream,g=w.length}else L.isBlobLike(a)&&e.contentType==null&&a.type&&c.push("content-type",a.type);a&&typeof a.read=="function"&&a.read(0);let I=L.bodyLength(a);if(g=I??g,g===null&&(g=e.contentLength),g===0&&!d&&(g=null),Ik(A)&&g>0&&e.contentLength!==null&&e.contentLength!==g){if(t[al])return L.errorRequest(t,e,new ur),!1;process.emitWarning(new ur)}let E=t[$r],C=w=>{e.aborted||e.completed||(L.errorRequest(t,e,w||new AB),L.destroy(a),L.destroy(E,new qr("aborted")))};try{e.onConnect(C)}catch(w){L.errorRequest(t,e,w)}if(e.aborted)return!1;A==="HEAD"&&(E[Je]=!0),(n||A==="CONNECT")&&(E[Je]=!0),o!=null&&(E[Je]=o),t[ZC]&&E[sk]++>=t[ZC]&&(E[Je]=!0),i&&(E[nn]=!0),E.setTypeOfService&&E.setTypeOfService(e.typeOfService);let y=`${A} ${r} HTTP/1.1\r +`;if(typeof s=="string"?y+=`host: ${s}\r +`:y+=t[Xb],n?y+=`connection: upgrade\r +upgrade: ${n}\r +`:t[ho]&&!E[Je]?y+=`connection: keep-alive\r +`:y+=`connection: close\r +`,Array.isArray(c))for(let w=0;w{e.removeListener("error",E)}),!a){let C=new AB;queueMicrotask(()=>E(C))}},E=function(C){if(!a){if(a=!0,M(s.destroyed||s[yA]&&A[Te]<=1),s.off("drain",d).off("error",E),e.removeListener("data",g).removeListener("end",E).removeListener("close",I),!C)try{c.end()}catch(y){C=y}c.destroy(C),C&&(C.code!=="UND_ERR_INFO"||C.message!=="reset")?L.destroy(e,C):L.destroy(e)}};e.on("data",g).on("end",E).on("error",E).on("close",I),e.resume&&e.resume(),s.on("drain",d).on("error",E),e.errorEmitted??e.errored?setImmediate(E,e.errored):(e.endEmitted??e.readableEnded)&&setImmediate(E,null),(e.closeEmitted??e.closed)&&setImmediate(I)}function eB(t,e,A,r,s,n,i,o){try{e?L.isBuffer(e)&&(M(n===e.byteLength,"buffer body must have content length"),s.cork(),s.write(`${i}content-length: ${n}\r +\r +`,"latin1"),s.write(e),s.uncork(),r.onBodySent(e),!o&&r.reset!==!1&&(s[Je]=!0)):n===0?s.write(`${i}content-length: 0\r +\r +`,"latin1"):(M(n===null,"no body must not have content length"),s.write(`${i}\r +`,"latin1")),r.onRequestSent(),A[mA]()}catch(a){t(a)}}async function Bk(t,e,A,r,s,n,i,o){M(n===e.size,"blob body must have content length");try{if(n!=null&&n!==e.size)throw new ur;let a=Buffer.from(await e.arrayBuffer());s.cork(),s.write(`${i}content-length: ${n}\r +\r +`,"latin1"),s.write(a),s.uncork(),r.onBodySent(a),r.onRequestSent(),!o&&r.reset!==!1&&(s[Je]=!0),A[mA]()}catch(a){t(a)}}async function tB(t,e,A,r,s,n,i,o){M(n!==0||A[Te]===0,"iterator body cannot be pipelined");let a=null;function c(){if(a){let I=a;a=null,I()}}let g=()=>new Promise((I,E)=>{M(a===null),s[ve]?E(s[ve]):a=I});s.on("close",c).on("drain",c);let d=new Co({abort:t,socket:s,request:r,contentLength:n,client:A,expectsPayload:o,header:i});try{for await(let I of e){if(s[ve])throw s[ve];d.write(I)||await g()}d.end()}catch(I){d.destroy(I)}finally{s.off("close",c).off("drain",c)}}var Co=class{constructor({abort:e,socket:A,request:r,contentLength:s,client:n,expectsPayload:i,header:o}){this.socket=A,this.request=r,this.contentLength=s,this.client=n,this.bytesWritten=0,this.expectsPayload=i,this.header=o,this.abort=e,A[yA]=!0}write(e){let{socket:A,request:r,contentLength:s,client:n,bytesWritten:i,expectsPayload:o,header:a}=this;if(A[ve])throw A[ve];if(A.destroyed)return!1;let c=Buffer.byteLength(e);if(!c)return!0;if(s!==null&&i+c>s){if(n[al])throw new ur;process.emitWarning(new ur)}A.cork(),i===0&&(!o&&r.reset!==!1&&(A[Je]=!0),s===null?A.write(`${a}transfer-encoding: chunked\r +`,"latin1"):A.write(`${a}content-length: ${s}\r +\r +`,"latin1")),s===null&&A.write(`\r +${c.toString(16)}\r +`,"latin1"),this.bytesWritten+=c;let g=A.write(e);return A.uncork(),r.onBodySent(e),g||A[Be].timeout&&A[Be].timeoutType===Zr&&A[Be].timeout.refresh&&A[Be].timeout.refresh(),g}end(){let{socket:e,contentLength:A,client:r,bytesWritten:s,expectsPayload:n,header:i,request:o}=this;if(o.onRequestSent(),e[yA]=!1,e[ve])throw e[ve];if(!e.destroyed){if(s===0?n?e.write(`${i}content-length: 0\r +\r +`,"latin1"):e.write(`${i}\r +`,"latin1"):A===null&&e.write(`\r +0\r +\r +`,"latin1"),A!==null&&s!==A){if(r[al])throw new ur;process.emitWarning(new ur)}e[Be].timeout&&e[Be].timeoutType===Zr&&e[Be].timeout.refresh&&e[Be].timeout.refresh(),r[mA]()}}destroy(e){let{socket:A,client:r,abort:s}=this;A[yA]=!1,e&&(M(r[Te]<=1,"pipeline should only contain this request"),s(e))}};nB.exports=ck});var EB=S((EP,dB)=>{"use strict";l();var ut=k("assert"),{pipeline:fk}=k("stream"),V=Ze(),{RequestContentLengthMismatchError:El,RequestAbortedError:pk,SocketError:gn,InformationalError:wA,InvalidArgumentError:mk}=ot(),{kUrl:cn,kReset:mo,kClient:et,kRunning:ln,kPending:yk,kQueue:DA,kPendingIdx:Ql,kRunningIdx:Bt,kError:tt,kSocket:de,kStrictContentLength:wk,kOnError:Xr,kMaxConcurrentStreams:fo,kPingInterval:oB,kHTTP2Session:$t,kHTTP2InitialWindowSize:Dk,kHTTP2ConnectionWindowSize:Sk,kResume:_t,kSize:Nk,kHTTPContext:Cl,kClosed:Il,kBodyTimeout:Rk,kEnableConnectProtocol:on,kRemoteSettings:an,kHTTP2Stream:Bo,kHTTP2SessionState:Bl}=bt(),{channels:aB}=$s(),lt=Symbol("open streams"),cB,po;try{po=k("http2")}catch{po={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:Fk,HTTP2_HEADER_METHOD:gB,HTTP2_HEADER_PATH:lB,HTTP2_HEADER_SCHEME:ul,HTTP2_HEADER_CONTENT_LENGTH:bk,HTTP2_HEADER_EXPECT:kk,HTTP2_HEADER_STATUS:hl,HTTP2_HEADER_PROTOCOL:Tk,NGHTTP2_REFUSED_STREAM:Uk,NGHTTP2_CANCEL:_k}}=po;function dl(t){let e=[];for(let[A,r]of Object.entries(t))if(Array.isArray(r))for(let s of r)e.push(Buffer.from(A),Buffer.from(s));else e.push(Buffer.from(A),Buffer.from(r));return e}function Mk(t,e){t[de]=e;let A=t[Dk],r=t[Sk],s=po.connect(t[cn],{createConnection:()=>e,peerMaxConcurrentStreams:t[fo],settings:{enablePush:!1,...A!=null?{initialWindowSize:A}:null}});return t[de]=e,s[lt]=0,s[et]=t,s[de]=e,s[Bl]={ping:{interval:t[oB]===0?null:setInterval(Yk,t[oB],s).unref()}},s[on]=!1,s[an]=!1,r&&V.addListener(s,"connect",xk.bind(s,r)),V.addListener(s,"error",Ok),V.addListener(s,"frameError",Gk),V.addListener(s,"end",Hk),V.addListener(s,"goaway",Pk),V.addListener(s,"close",Vk),V.addListener(s,"remoteSettings",Lk),s.unref(),t[$t]=s,e[$t]=s,V.addListener(e,"error",jk),V.addListener(e,"end",Wk),V.addListener(e,"close",Jk),e[Il]=!1,e.on("close",qk),{version:"h2",defaultPipelining:1/0,write(n){return Zk(t,n)},resume(){vk(t)},destroy(n,i){e[Il]?queueMicrotask(i):e.destroy(n).on("close",i)},get destroyed(){return e.destroyed},busy(n){if(n!=null)if(t[ln]>0){if(n.idempotent===!1||(n.upgrade==="websocket"||n.method==="CONNECT")&&s[an]===!1||V.bodyLength(n.body)!==0&&(V.isStream(n.body)||V.isAsyncIterable(n.body)||V.isFormDataLike(n.body)))return!0}else return(n.upgrade==="websocket"||n.method==="CONNECT")&&s[an]===!1;return!1}}}function vk(t){let e=t[de];e?.destroyed===!1&&(t[Nk]===0||t[fo]===0?(e.unref(),t[$t].unref()):(e.ref(),t[$t].ref()))}function xk(t){try{typeof this.setLocalWindowSize=="function"&&this.setLocalWindowSize(t)}catch{}}function Lk(t){if(this[et][fo]=t.maxConcurrentStreams??this[et][fo],this[an]===!0&&this[on]===!0&&t.enableConnectProtocol===!1){let e=new wA("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");this[de][tt]=e,this[et][Xr](e);return}this[on]=t.enableConnectProtocol??this[on],this[an]=!0,this[et][_t]()}function Yk(t){let e=t[Bl];if((t.closed||t.destroyed)&&e.ping.interval!=null){clearInterval(e.ping.interval),e.ping.interval=null;return}t.ping(A.bind(t));function A(r,s){let n=this[et],i=this[et];if(r!=null){let o=new wA(`HTTP/2: "PING" errored - type ${r.message}`);i[tt]=o,n[Xr](o)}else n.emit("ping",s)}}function Ok(t){ut(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[de][tt]=t,this[et][Xr](t)}function Gk(t,e,A){if(A===0){let r=new wA(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[de][tt]=r,this[et][Xr](r)}}function Hk(){let t=new gn("other side closed",V.getSocketInfo(this[de]));this.destroy(t),V.destroy(this[de],t)}function Pk(t){let e=this[tt]||new gn(`HTTP/2: "GOAWAY" frame received with code ${t}`,V.getSocketInfo(this[de])),A=this[et];if(A[de]=null,A[Cl]=null,this.close(),this[$t]=null,V.destroy(this[de],e),A[Bt]{e.aborted||e.completed||(F=F||new pk,V.errorRequest(t,e,F),C!=null&&(C.removeAllListeners("data"),C.close(),t[Xr](F),t[_t]()),V.destroy(I,F))};try{e.onConnect(p)}catch(F){V.errorRequest(t,e,F)}if(e.aborted)return!1;if(o||s==="CONNECT")return r.ref(),o==="websocket"?r[on]===!1?(V.errorRequest(t,e,new wA("HTTP/2: Extended CONNECT protocol not supported by server")),r.unref(),!1):(E[gB]="CONNECT",E[Tk]="websocket",E[lB]=n,g==="ws:"||g==="wss:"?E[ul]=g==="ws:"?"http":"https":E[ul]=g==="http:"?"http":"https",C=r.request(E,{endStream:!1,signal:c}),C[Bo]=!0,C.once("response",(F,U)=>{let{[hl]:O,...re}=F;e.onUpgrade(O,dl(re),C),++r[lt],t[DA][t[Bt]++]=null}),C.on("error",()=>{(C.rstCode===Uk||C.rstCode===_k)&&p(new wA(`HTTP/2: "stream error" received - code ${C.rstCode}`))}),C.once("close",()=>{r[lt]-=1,r[lt]===0&&r.unref()}),C.setTimeout(A),!0):(C=r.request(E,{endStream:!1,signal:c}),C[Bo]=!0,C.on("response",F=>{let{[hl]:U,...O}=F;e.onUpgrade(U,dl(O),C),++r[lt],t[DA][t[Bt]++]=null}),C.once("close",()=>{r[lt]-=1,r[lt]===0&&r.unref()}),C.setTimeout(A),!0);E[lB]=n,E[ul]=g==="http:"?"http":"https";let R=s==="PUT"||s==="POST"||s==="PATCH";I&&typeof I.read=="function"&&I.read(0);let D=V.bodyLength(I);if(V.isFormDataLike(I)){cB??=sl().extractBody;let[F,U]=cB(I);E["content-type"]=U,I=F.stream,D=F.length}if(D==null&&(D=e.contentLength),R||(D=null),$k(s)&&D>0&&e.contentLength!=null&&e.contentLength!==D){if(t[wk])return V.errorRequest(t,e,new El),!1;process.emitWarning(new El)}if(D!=null&&(ut(I||D===0,"no body must not have content length"),E[bk]=`${D}`),r.ref(),aB.sendHeaders.hasSubscribers){let F="";for(let U in E)F+=`${U}: ${E[U]}\r +`;aB.sendHeaders.publish({request:e,headers:F,socket:r[de]})}let q=s==="GET"||s==="HEAD"||I===null;a?(E[kk]="100-continue",C=r.request(E,{endStream:q,signal:c}),C[Bo]=!0,C.once("continue",ne)):(C=r.request(E,{endStream:q,signal:c}),C[Bo]=!0,ne()),++r[lt],C.setTimeout(A);let se=!1;return C.once("response",F=>{let{[hl]:U,...O}=F;if(e.onResponseStarted(),se=!0,e.aborted){C.removeAllListeners("data");return}e.onHeaders(Number(U),dl(O),C.resume.bind(C),"")===!1&&C.pause(),C.on("data",re=>{e.aborted||e.completed||e.onData(re)===!1&&C.pause()})}),C.once("end",()=>{C.removeAllListeners("data"),se?(!e.aborted&&!e.completed&&e.onComplete({}),t[DA][t[Bt]++]=null,t[_t]()):(p(new wA("HTTP/2: stream half-closed (remote)")),t[DA][t[Bt]++]=null,t[Ql]=t[Bt],t[_t]())}),C.once("close",()=>{C.removeAllListeners("data"),r[lt]-=1,r[lt]===0&&r.unref()}),C.once("error",function(F){C.removeAllListeners("data"),p(F)}),C.once("frameError",(F,U)=>{C.removeAllListeners("data"),p(new wA(`HTTP/2: "frameError" received - type ${F}, code ${U}`))}),C.on("aborted",()=>{C.removeAllListeners("data")}),C.on("timeout",()=>{let F=new wA(`HTTP/2: "stream timeout after ${A}"`);C.removeAllListeners("data"),r[lt]-=1,r[lt]===0&&r.unref(),p(F)}),C.once("trailers",F=>{e.aborted||e.completed||(C.removeAllListeners("data"),e.onComplete(F))}),!0;function ne(){!I||D===0?uB(p,C,null,t,e,t[de],D,R):V.isBuffer(I)?uB(p,C,I,t,e,t[de],D,R):V.isBlobLike(I)?typeof I.stream=="function"?hB(p,C,I.stream(),t,e,t[de],D,R):Kk(p,C,I,t,e,t[de],D,R):V.isStream(I)?Xk(p,t[de],R,C,I,t,e,D):V.isIterable(I)?hB(p,C,I,t,e,t[de],D,R):ut(!1)}}function uB(t,e,A,r,s,n,i,o){try{A!=null&&V.isBuffer(A)&&(ut(i===A.byteLength,"buffer body must have content length"),e.cork(),e.write(A),e.uncork(),e.end(),s.onBodySent(A)),o||(n[mo]=!0),s.onRequestSent(),r[_t]()}catch(a){t(a)}}function Xk(t,e,A,r,s,n,i,o){ut(o!==0||n[ln]===0,"stream body cannot be pipelined");let a=fk(s,r,g=>{g?(V.destroy(a,g),t(g)):(V.removeAllListeners(a),i.onRequestSent(),A||(e[mo]=!0),n[_t]())});V.addListener(a,"data",c);function c(g){i.onBodySent(g)}}async function Kk(t,e,A,r,s,n,i,o){ut(i===A.size,"blob body must have content length");try{if(i!=null&&i!==A.size)throw new El;let a=Buffer.from(await A.arrayBuffer());e.cork(),e.write(a),e.uncork(),e.end(),s.onBodySent(a),s.onRequestSent(),o||(n[mo]=!0),r[_t]()}catch(a){t(a)}}async function hB(t,e,A,r,s,n,i,o){ut(i!==0||r[ln]===0,"iterator body cannot be pipelined");let a=null;function c(){if(a){let d=a;a=null,d()}}let g=()=>new Promise((d,I)=>{ut(a===null),n[tt]?I(n[tt]):a=d});e.on("close",c).on("drain",c);try{for await(let d of A){if(n[tt])throw n[tt];let I=e.write(d);s.onBodySent(d),I||await g()}e.end(),s.onRequestSent(),o||(n[mo]=!0),r[_t]()}catch(d){t(d)}finally{e.off("close",c).off("drain",c)}}dB.exports=Mk});var Dl=S((QP,yB)=>{"use strict";l();var Zt=k("assert"),BB=k("net"),un=k("http"),hr=Ze(),{ClientStats:zk}=lg(),{channels:Kr}=$s(),eT=LQ(),tT=eo(),{InvalidArgumentError:oe,InformationalError:AT,ClientDestroyedError:rT}=ot(),sT=Dg(),{kUrl:Mt,kServerName:RA,kClient:nT,kBusy:pl,kConnect:iT,kResuming:dr,kRunning:In,kPending:Qn,kSize:hn,kQueue:ft,kConnected:oT,kConnecting:zr,kNeedDrain:NA,kKeepAliveDefaultTimeout:IB,kHostHeader:aT,kPendingIdx:pt,kRunningIdx:Kt,kError:cT,kPipelining:yo,kKeepAliveTimeoutValue:gT,kMaxHeadersSize:lT,kKeepAliveMaxTimeout:uT,kKeepAliveTimeoutThreshold:hT,kHeadersTimeout:dT,kBodyTimeout:ET,kStrictContentLength:IT,kConnector:dn,kMaxRequests:ml,kCounter:QT,kClose:CT,kDestroy:BT,kDispatch:fT,kLocalAddress:En,kMaxResponseSize:pT,kOnError:mT,kHTTPContext:me,kMaxConcurrentStreams:yT,kHTTP2InitialWindowSize:wT,kHTTP2ConnectionWindowSize:DT,kResume:Xt,kPingInterval:ST}=bt(),NT=iB(),RT=EB(),SA=Symbol("kClosedResolve"),FT=un&&un.maxHeaderSize&&Number.isInteger(un.maxHeaderSize)&&un.maxHeaderSize>0?()=>un.maxHeaderSize:()=>{throw new oe("http module not available or http.maxHeaderSize invalid")},QB=()=>{};function fB(t){return t[yo]??t[me]?.defaultPipelining??1}var yl=class extends tT{constructor(e,{maxHeaderSize:A,headersTimeout:r,socketTimeout:s,requestTimeout:n,connectTimeout:i,bodyTimeout:o,idleTimeout:a,keepAlive:c,keepAliveTimeout:g,maxKeepAliveTimeout:d,keepAliveMaxTimeout:I,keepAliveTimeoutThreshold:E,socketPath:C,pipelining:y,tls:w,strictContentLength:p,maxCachedSessions:R,connect:D,maxRequestsPerClient:q,localAddress:se,maxResponseSize:ne,autoSelectFamily:F,autoSelectFamilyAttemptTimeout:U,maxConcurrentStreams:O,allowH2:re,useH2c:fe,initialWindowSize:pe,connectionWindowSize:J,pingInterval:yt}={}){if(c!==void 0)throw new oe("unsupported keepAlive, use pipelining=0 instead");if(s!==void 0)throw new oe("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(n!==void 0)throw new oe("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(a!==void 0)throw new oe("unsupported idleTimeout, use keepAliveTimeout instead");if(d!==void 0)throw new oe("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(A!=null){if(!Number.isInteger(A)||A<1)throw new oe("invalid maxHeaderSize")}else A=FT();if(C!=null&&typeof C!="string")throw new oe("invalid socketPath");if(i!=null&&(!Number.isFinite(i)||i<0))throw new oe("invalid connectTimeout");if(g!=null&&(!Number.isFinite(g)||g<=0))throw new oe("invalid keepAliveTimeout");if(I!=null&&(!Number.isFinite(I)||I<=0))throw new oe("invalid keepAliveMaxTimeout");if(E!=null&&!Number.isFinite(E))throw new oe("invalid keepAliveTimeoutThreshold");if(r!=null&&(!Number.isInteger(r)||r<0))throw new oe("headersTimeout must be a positive integer or zero");if(o!=null&&(!Number.isInteger(o)||o<0))throw new oe("bodyTimeout must be a positive integer or zero");if(D!=null&&typeof D!="function"&&typeof D!="object")throw new oe("connect must be a function or an object");if(q!=null&&(!Number.isInteger(q)||q<0))throw new oe("maxRequestsPerClient must be a positive number");if(se!=null&&(typeof se!="string"||BB.isIP(se)===0))throw new oe("localAddress must be valid string IP address");if(ne!=null&&(!Number.isInteger(ne)||ne<-1))throw new oe("maxResponseSize must be a positive number");if(U!=null&&(!Number.isInteger(U)||U<-1))throw new oe("autoSelectFamilyAttemptTimeout must be a positive number");if(re!=null&&typeof re!="boolean")throw new oe("allowH2 must be a valid boolean value");if(O!=null&&(typeof O!="number"||O<1))throw new oe("maxConcurrentStreams must be a positive integer, greater than 0");if(fe!=null&&typeof fe!="boolean")throw new oe("useH2c must be a valid boolean value");if(pe!=null&&(!Number.isInteger(pe)||pe<1))throw new oe("initialWindowSize must be a positive integer, greater than 0");if(J!=null&&(!Number.isInteger(J)||J<1))throw new oe("connectionWindowSize must be a positive integer, greater than 0");if(yt!=null&&(typeof yt!="number"||!Number.isInteger(yt)||yt<0))throw new oe("pingInterval must be a positive integer, greater or equal to 0");if(super(),typeof D!="function")D=sT({...w,maxCachedSessions:R,allowH2:re,useH2c:fe,socketPath:C,timeout:i,...typeof F=="boolean"?{autoSelectFamily:F,autoSelectFamilyAttemptTimeout:U}:void 0,...D});else{let GA=D;D=(On,Gn)=>GA({...On,...C!=null?{socketPath:C}:null,...re!=null?{allowH2:re}:null},Gn)}this[Mt]=hr.parseOrigin(e),this[dn]=D,this[yo]=y??1,this[lT]=A,this[IB]=g??4e3,this[uT]=I??6e5,this[hT]=E??2e3,this[gT]=this[IB],this[RA]=null,this[En]=se??null,this[dr]=0,this[NA]=0,this[aT]=`host: ${this[Mt].hostname}${this[Mt].port?`:${this[Mt].port}`:""}\r +`,this[ET]=o??3e5,this[dT]=r??3e5,this[IT]=p??!0,this[ml]=q,this[SA]=null,this[pT]=ne>-1?ne:-1,this[me]=null,this[yT]=O??100,this[wT]=pe??262144,this[DT]=J??524288,this[ST]=yt??6e4,this[ft]=[],this[Kt]=0,this[pt]=0,this[Xt]=GA=>wl(this,GA),this[mT]=GA=>pB(this,GA)}get pipelining(){return this[yo]}set pipelining(e){this[yo]=e,this[Xt](!0)}get stats(){return new zk(this)}get[Qn](){return this[ft].length-this[pt]}get[In](){return this[pt]-this[Kt]}get[hn](){return this[ft].length-this[Kt]}get[oT](){return!!this[me]&&!this[zr]&&!this[me].destroyed}get[pl](){return!!(this[me]?.busy(null)||this[hn]>=(fB(this)||1)||this[Qn]>0)}[iT](e){mB(this),this.once("connect",e)}[fT](e,A){let r=new eT(this[Mt].origin,e,A);return this[ft].push(r),this[dr]||(hr.bodyLength(r.body)==null&&hr.isIterable(r.body)?(this[dr]=1,queueMicrotask(()=>wl(this))):this[Xt](!0)),this[dr]&&this[NA]!==2&&this[pl]&&(this[NA]=2),this[NA]<2}[CT](){return new Promise(e=>{this[hn]?this[SA]=e:e(null)})}[BT](e){return new Promise(A=>{let r=this[ft].splice(this[pt]);for(let n=0;n{this[SA]&&(this[SA](),this[SA]=null),A(null)};this[me]?(this[me].destroy(e,s),this[me]=null):queueMicrotask(s),this[Xt]()})}};function pB(t,e){if(t[In]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){Zt(t[pt]===t[Kt]);let A=t[ft].splice(t[Kt]);for(let r=0;r{if(n){fl(t,n,{host:e,hostname:A,protocol:r,port:s}),t[Xt]();return}if(t.destroyed){hr.destroy(i.on("error",QB),new rT),t[Xt]();return}Zt(i);try{t[me]=i.alpnProtocol==="h2"?RT(t,i):NT(t,i)}catch(o){i.destroy().on("error",QB),fl(t,o,{host:e,hostname:A,protocol:r,port:s}),t[Xt]();return}t[zr]=!1,i[QT]=0,i[ml]=t[ml],i[nT]=t,i[cT]=null,Kr.connected.hasSubscribers&&Kr.connected.publish({connectParams:{host:e,hostname:A,protocol:r,port:s,version:t[me]?.version,servername:t[RA],localAddress:t[En]},connector:t[dn],socket:i}),t.emit("connect",t[Mt],[t]),t[Xt]()})}catch(n){fl(t,n,{host:e,hostname:A,protocol:r,port:s}),t[Xt]()}}function fl(t,e,{host:A,hostname:r,protocol:s,port:n}){if(!t.destroyed){if(t[zr]=!1,Kr.connectError.hasSubscribers&&Kr.connectError.publish({connectParams:{host:A,hostname:r,protocol:s,port:n,version:t[me]?.version,servername:t[RA],localAddress:t[En]},connector:t[dn],error:e}),e.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(Zt(t[In]===0);t[Qn]>0&&t[ft][t[pt]].servername===t[RA];){let i=t[ft][t[pt]++];hr.errorRequest(t,i,e)}else pB(t,e);t.emit("connectionError",t[Mt],[t],e)}}function CB(t){t[NA]=0,t.emit("drain",t[Mt],[t])}function wl(t,e){t[dr]!==2&&(t[dr]=2,bT(t,e),t[dr]=0,t[Kt]>256&&(t[ft].splice(0,t[Kt]),t[pt]-=t[Kt],t[Kt]=0))}function bT(t,e){for(;;){if(t.destroyed){Zt(t[Qn]===0);return}if(t[SA]&&!t[hn]){t[SA](),t[SA]=null;return}if(t[me]&&t[me].resume(),t[pl])t[NA]=2;else if(t[NA]===2){e?(t[NA]=1,queueMicrotask(()=>CB(t))):CB(t);continue}if(t[Qn]===0||t[In]>=(fB(t)||1))return;let A=t[ft][t[pt]];if(A===null)return;if(t[Mt].protocol==="https:"&&t[RA]!==A.servername){if(t[In]>0)return;t[RA]=A.servername,t[me]?.destroy(new AT("servername changed"),()=>{t[me]=null,wl(t)})}if(t[zr])return;if(!t[me]){mB(t);return}if(t[me].destroyed||t[me].busy(A))return;!A.aborted&&t[me].write(A)?t[pt]++:t[ft].splice(t[pt],1)}}yB.exports=yl});var RB=S((BP,NB)=>{"use strict";l();var{PoolBase:kT,kClients:wo,kNeedDrain:TT,kAddClient:UT,kGetDispatcher:_T,kRemoveClient:MT}=UQ(),vT=Dl(),{InvalidArgumentError:Sl}=ot(),wB=Ze(),{kUrl:DB}=bt(),xT=Dg(),Do=Symbol("options"),Nl=Symbol("connections"),SB=Symbol("factory");function LT(t,e){return new vT(t,e)}var Rl=class extends kT{constructor(e,{connections:A,factory:r=LT,connect:s,connectTimeout:n,tls:i,maxCachedSessions:o,socketPath:a,autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g,allowH2:d,clientTtl:I,...E}={}){if(A!=null&&(!Number.isFinite(A)||A<0))throw new Sl("invalid connections");if(typeof r!="function")throw new Sl("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new Sl("connect must be a function or an object");typeof s!="function"&&(s=xT({...i,maxCachedSessions:o,allowH2:d,socketPath:a,timeout:n,...typeof c=="boolean"?{autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g}:void 0,...s})),super(),this[Nl]=A||null,this[DB]=wB.parseOrigin(e),this[Do]={...wB.deepClone(E),connect:s,allowH2:d,clientTtl:I,socketPath:a},this[Do].interceptors=E.interceptors?{...E.interceptors}:void 0,this[SB]=r,this.on("connect",(C,y)=>{if(I!=null&&I>0)for(let w of y)Object.assign(w,{ttl:Date.now()})}),this.on("connectionError",(C,y,w)=>{for(let p of y){let R=this[wo].indexOf(p);R!==-1&&this[wo].splice(R,1)}})}[_T](){let e=this[Do].clientTtl;for(let A of this[wo])if(e!=null&&e>0&&A.ttl&&Date.now()-A.ttl>e)this[MT](A);else if(!A[TT])return A;if(!this[Nl]||this[wo].length{"use strict";l();var{InvalidArgumentError:So,MaxOriginsReachedError:YT}=ot(),{kClients:ht,kRunning:FB,kClose:OT,kDestroy:GT,kDispatch:HT,kUrl:PT}=bt(),VT=eo(),JT=RB(),jT=Dl(),WT=Ze(),bB=Symbol("onConnect"),kB=Symbol("onDisconnect"),TB=Symbol("onConnectionError"),UB=Symbol("onDrain"),_B=Symbol("factory"),Fl=Symbol("options"),Cn=Symbol("origins");function qT(t,e){return e&&e.connections===1?new jT(t,e):new JT(t,e)}var bl=class extends VT{constructor({factory:e=qT,maxOrigins:A=1/0,connect:r,...s}={}){if(typeof e!="function")throw new So("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new So("connect must be a function or an object");if(typeof A!="number"||Number.isNaN(A)||A<=0)throw new So("maxOrigins must be a number greater than 0");super(),r&&typeof r!="function"&&(r={...r}),this[Fl]={...WT.deepClone(s),maxOrigins:A,connect:r},this[_B]=e,this[ht]=new Map,this[Cn]=new Set,this[UB]=(n,i)=>{this.emit("drain",n,[this,...i])},this[bB]=(n,i)=>{this.emit("connect",n,[this,...i])},this[kB]=(n,i,o)=>{this.emit("disconnect",n,[this,...i],o)},this[TB]=(n,i,o)=>{this.emit("connectionError",n,[this,...i],o)}}get[FB](){let e=0;for(let{dispatcher:A}of this[ht].values())e+=A[FB];return e}[HT](e,A){let r;if(e.origin&&(typeof e.origin=="string"||e.origin instanceof URL))r=String(e.origin);else throw new So("opts.origin must be a non-empty string or URL.");if(this[Cn].size>=this[Fl].maxOrigins&&!this[Cn].has(r))throw new YT;let s=this[ht].get(r),n=s&&s.dispatcher;if(!n){let i=o=>{let a=this[ht].get(r);a&&(o&&(a.count-=1),a.count<=0&&(this[ht].delete(r),a.dispatcher.destroyed||a.dispatcher.close()),this[Cn].delete(r))};n=this[_B](e.origin,this[Fl]).on("drain",this[UB]).on("connect",(o,a)=>{let c=this[ht].get(r);c&&(c.count+=1),this[bB](o,a)}).on("disconnect",(o,a,c)=>{i(!0),this[kB](o,a,c)}).on("connectionError",(o,a,c)=>{i(!1),this[TB](o,a,c)}),this[ht].set(r,{count:0,dispatcher:n}),this[Cn].add(r)}return n.dispatch(e,A)}[OT](){let e=[];for(let{dispatcher:A}of this[ht].values())e.push(A.close());return this[ht].clear(),Promise.all(e)}[GT](e){let A=[];for(let{dispatcher:r}of this[ht].values())A.push(r.destroy(e));return this[ht].clear(),Promise.all(A)}get stats(){let e={};for(let{dispatcher:A}of this[ht].values())A.stats&&(e[A[PT].origin]=A.stats);return e}};MB.exports=bl});var zB=S((vP,KB)=>{"use strict";l();KB.exports=k("events")});var tf=S((YP,ef)=>{"use strict";l();ef.exports=class{constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}clear(){this.top=this.btm=0,this.next=null,this.buffer.fill(void 0)}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var Ol=S((HP,rf)=>{"use strict";l();var Af=tf();rf.exports=class{constructor(e){this.hwm=e||16,this.head=new Af(this.hwm),this.tail=this.head,this.length=0}clear(){this.head=this.tail,this.head.clear(),this.length=0}push(e){if(this.length++,!this.head.push(e)){let A=this.head;this.head=A.next=new Af(2*this.head.buffer.length),this.head.push(e)}}shift(){this.length!==0&&this.length--;let e=this.tail.shift();if(e===void 0&&this.tail.next){let A=this.tail.next;return this.tail.next=null,this.tail=A,this.tail.shift()}return e}peek(){let e=this.tail.peek();return e===void 0&&this.tail.next?this.tail.next.peek():e}isEmpty(){return this.length===0}}});var As=S((VP,sf)=>{"use strict";l();function cU(t){return Buffer.isBuffer(t)||t instanceof Uint8Array}function gU(t){return Buffer.isEncoding(t)}function lU(t,e,A){return Buffer.alloc(t,e,A)}function uU(t){return Buffer.allocUnsafe(t)}function hU(t){return Buffer.allocUnsafeSlow(t)}function dU(t,e){return Buffer.byteLength(t,e)}function EU(t,e){return Buffer.compare(t,e)}function IU(t,e){return Buffer.concat(t,e)}function QU(t,e,A,r,s){return Ae(t).copy(e,A,r,s)}function CU(t,e){return Ae(t).equals(e)}function BU(t,e,A,r,s){return Ae(t).fill(e,A,r,s)}function fU(t,e,A){return Buffer.from(t,e,A)}function pU(t,e,A,r){return Ae(t).includes(e,A,r)}function mU(t,e,A,r){return Ae(t).indexOf(e,A,r)}function yU(t,e,A,r){return Ae(t).lastIndexOf(e,A,r)}function wU(t){return Ae(t).swap16()}function DU(t){return Ae(t).swap32()}function SU(t){return Ae(t).swap64()}function Ae(t){return Buffer.isBuffer(t)?t:Buffer.from(t.buffer,t.byteOffset,t.byteLength)}function NU(t,e,A,r){return Ae(t).toString(e,A,r)}function RU(t,e,A,r,s){return Ae(t).write(e,A,r,s)}function FU(t,e){return Ae(t).readDoubleBE(e)}function bU(t,e){return Ae(t).readDoubleLE(e)}function kU(t,e){return Ae(t).readFloatBE(e)}function TU(t,e){return Ae(t).readFloatLE(e)}function UU(t,e){return Ae(t).readInt32BE(e)}function _U(t,e){return Ae(t).readInt32LE(e)}function MU(t,e){return Ae(t).readUInt32BE(e)}function vU(t,e){return Ae(t).readUInt32LE(e)}function xU(t,e,A){return Ae(t).writeDoubleBE(e,A)}function LU(t,e,A){return Ae(t).writeDoubleLE(e,A)}function YU(t,e,A){return Ae(t).writeFloatBE(e,A)}function OU(t,e,A){return Ae(t).writeFloatLE(e,A)}function GU(t,e,A){return Ae(t).writeInt32BE(e,A)}function HU(t,e,A){return Ae(t).writeInt32LE(e,A)}function PU(t,e,A){return Ae(t).writeUInt32BE(e,A)}function VU(t,e,A){return Ae(t).writeUInt32LE(e,A)}sf.exports={isBuffer:cU,isEncoding:gU,alloc:lU,allocUnsafe:uU,allocUnsafeSlow:hU,byteLength:dU,compare:EU,concat:IU,copy:QU,equals:CU,fill:BU,from:fU,includes:pU,indexOf:mU,lastIndexOf:yU,swap16:wU,swap32:DU,swap64:SU,toBuffer:Ae,toString:NU,write:RU,readDoubleBE:FU,readDoubleLE:bU,readFloatBE:kU,readFloatLE:TU,readInt32BE:UU,readInt32LE:_U,readUInt32BE:MU,readUInt32LE:vU,writeDoubleBE:xU,writeDoubleLE:LU,writeFloatBE:YU,writeFloatLE:OU,writeInt32BE:GU,writeInt32LE:HU,writeUInt32BE:PU,writeUInt32LE:VU}});var of=S((WP,nf)=>{"use strict";l();var JU=As();nf.exports=class{constructor(e){this.encoding=e}get remaining(){return 0}decode(e){return JU.toString(e,this.encoding)}flush(){return""}}});var lf=S((ZP,gf)=>{"use strict";l();var af=As();gf.exports=class{constructor(){this._reset()}get remaining(){return this.bytesSeen}decode(e){if(e.byteLength===0)return"";if(this.bytesNeeded===0&&cf(e,0)===0)return this.bytesSeen=jU(e),af.toString(e,"utf8");let A="",r=0;if(this.bytesNeeded>0){for(;rthis.upperBoundary){A+="\uFFFD",this._reset();break}if(this.lowerBoundary=128,this.upperBoundary=191,this.codePoint=this.codePoint<<6|i&63,this.bytesSeen++,r++,this.bytesSeen===this.bytesNeeded){A+=String.fromCodePoint(this.codePoint),this._reset();break}}if(this.bytesNeeded>0)return A}let s=cf(e,r),n=e.byteLength-s;n>r&&(A+=af.toString(e,"utf8",r,n));for(let i=n;i=194&&o<=223?(this.bytesNeeded=2,this.bytesSeen=1,this.codePoint=o&31):o>=224&&o<=239?(o===224?this.lowerBoundary=160:o===237&&(this.upperBoundary=159),this.bytesNeeded=3,this.bytesSeen=1,this.codePoint=o&15):o>=240&&o<=244?(o===240?this.lowerBoundary=144:o===244&&(this.upperBoundary=143),this.bytesNeeded=4,this.bytesSeen=1,this.codePoint=o&7):(this.bytesSeen=1,A+="\uFFFD");continue}if(othis.upperBoundary){A+="\uFFFD",i--,this._reset();continue}this.lowerBoundary=128,this.upperBoundary=191,this.codePoint=this.codePoint<<6|o&63,this.bytesSeen++,this.bytesSeen===this.bytesNeeded&&(A+=String.fromCodePoint(this.codePoint),this._reset())}return A}flush(){let e=this.bytesNeeded>0?"\uFFFD":"";return this._reset(),e}_reset(){this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191}};function cf(t,e){let A=t.byteLength;if(A<=e)return 0;let r=Math.max(e,A-4),s=A-1;for(;s>r&&(t[s]&192)===128;)s--;if(s=194&&n<=223)i=2;else if(n>=224&&n<=239)i=3;else if(n>=240&&n<=244)i=4;else return 0;let o=A-s;return o=r&&(t[s]&192)===128;)s--;if(s<0)return 1;let n=t[s],i;if(n>=194&&n<=223)i=2;else if(n>=224&&n<=239)i=3;else if(n>=240&&n<=244)i=4;else return 1;if(e-s!==i)return 1;if(i>=3){let o=t[s+1];if(n===224&&o<160||n===237&&o>159||n===240&&o<144||n===244&&o>143)return 1}return 0}});var hf=S((zP,uf)=>{"use strict";l();var WU=of(),qU=lf();uf.exports=class{constructor(e="utf8"){switch(this.encoding=$U(e),this.encoding){case"utf8":this.decoder=new qU;break;case"utf16le":case"base64":throw new Error("Unsupported encoding: "+this.encoding);default:this.decoder=new WU(this.encoding)}}get remaining(){return this.decoder.remaining}push(e){return typeof e=="string"?e:this.decoder.decode(e)}write(e){return this.push(e)}end(e){let A="";return e&&(A=this.push(e)),A+=this.decoder.flush(),A}};function $U(t){switch(t=t.toLowerCase(),t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:throw new Error("Unknown encoding: "+t)}}});var Ef=S((tV,df)=>{"use strict";l();df.exports=class FA extends Error{constructor(e,A,r=FA){super(e),this.code=A,Error.captureStackTrace&&Error.captureStackTrace(this,r)}static isStreamDestroyed(e){return e&&e.code==="STREAM_DESTROYED"}static isPrematureClose(e){return e&&e.code==="PREMATURE_CLOSE"}static isAborted(e){return e&&e.code==="ABORTED"}get name(){return"StreamError"}static STREAM_DESTROYED(){return new FA("Stream was destroyed","STREAM_DESTROYED",FA.STREAM_DESTROYED)}static PREMATURE_CLOSE(){return new FA("Premature close","PREMATURE_CLOSE",FA.PREMATURE_CLOSE)}static ABORTED(){return new FA("Stream aborted","ABORTED",FA.ABORTED)}}});var Au=S((rV,vf)=>{"use strict";l();var{EventEmitter:ZU}=zB(),ff=Ol(),XU=hf(),kA=Ef(),Gl=typeof queueMicrotask>"u"?t=>global.process.nextTick(t):queueMicrotask,Ee=(1<<29)-1,vt=1,ql=2,zt=4,fn=8,pf=Ee^vt,KU=Ee^ql,Dn=16,rs=32,is=64,TA=128,Sn=256,$l=512,UA=1024,Hl=2048,Zl=4096,Xl=8192,mt=16384,bA=32768,vo=65536,Er=131072,mf=Sn|$l,zU=Dn|vo,e_=is|Dn,t_=Zl|TA,Kl=Sn|Er,A_=Ee^Dn,r_=Ee^is,s_=Ee^(is|vo),If=Ee^vo,n_=Ee^Sn,i_=Ee^(TA|Xl),o_=Ee^UA,Qf=Ee^mf,yf=Ee^bA,a_=Ee^rs,wf=Ee^Er,c_=Ee^Kl,eA=1<<18,ns=2<<18,Nn=4<<18,Ir=8<<18,Rn=16<<18,MA=32<<18,Pl=64<<18,ss=128<<18,zl=256<<18,_A=512<<18,xo=1024<<18,g_=Ee^(eA|zl),Df=Ee^Nn,l_=Ee^(eA|_A),u_=Ee^Rn,h_=Ee^Ir,Sf=Ee^ss,d_=Ee^ns,Nf=Ee^xo,pn=Dn|eA,Rf=Ee^pn,eu=mt|MA,xt=zt|fn|ql,At=xt|vt,Ff=xt|eu,E_=Df&r_,Lo=ss|bA,I_=Lo&Rf,bf=At|I_,Q_=At|UA|mt,Cf=At|mt|TA,C_=At|UA|TA,B_=At|Zl|TA|Xl,f_=At|Dn|UA|mt|vo|Er,p_=xt|UA|mt,m_=rs|At|bA|is,y_=bA|vt,w_=At|_A|MA,D_=Ir|Rn,kf=Ir|eA,S_=Ir|Rn|At|eA,Bf=At|eA|Ir|xo,N_=Nn|eA,R_=eA|zl,F_=At|_A|kf|MA,b_=Rn|xt|_A|MA,k_=ns|At|ss|Nn,T_=_A|MA|xt,bo=Symbol.asyncIterator||Symbol("asyncIterator"),ko=class{constructor(e,{highWaterMark:A=16384,map:r=null,mapWritable:s,byteLength:n,byteLengthWritable:i}={}){this.stream=e,this.queue=new ff,this.highWaterMark=A,this.buffered=0,this.error=null,this.pipeline=null,this.drains=null,this.byteLength=i||n||Mf,this.map=s||r,this.afterWrite=M_.bind(this),this.afterUpdateNextTick=L_.bind(this)}get ending(){return(this.stream._duplexState&_A)!==0}get ended(){return(this.stream._duplexState&MA)!==0}push(e){return(this.stream._duplexState&T_)!==0?!1:(this.map!==null&&(e=this.map(e)),this.buffered+=this.byteLength(e),this.queue.push(e),this.buffered0,this.error=null,this.pipeline=null,this.byteLength=i||n||Mf,this.map=s||r,this.pipeTo=null,this.afterRead=v_.bind(this),this.afterUpdateNextTick=x_.bind(this)}get ending(){return(this.stream._duplexState&UA)!==0}get ended(){return(this.stream._duplexState&mt)!==0}pipe(e,A){if(this.pipeTo!==null)throw new Error("Can only pipe to one destination");if(typeof A!="function"&&(A=null),this.stream._duplexState|=$l,this.pipeTo=e,this.pipeline=new jl(this.stream,e,A),A&&this.stream.on("error",Wl),wn(e))e._writableState.pipeline=this.pipeline,A&&e.on("error",Wl),e.on("finish",this.pipeline.finished.bind(this.pipeline));else{let r=this.pipeline.done.bind(this.pipeline,e),s=this.pipeline.done.bind(this.pipeline,e,null);e.on("error",r),e.on("close",s),e.on("finish",this.pipeline.finished.bind(this.pipeline))}e.on("drain",U_.bind(this)),this.stream.emit("piping",e),e.emit("pipe",this.stream)}push(e){let A=this.stream;return e===null?(this.highWaterMark=0,A._duplexState=(A._duplexState|UA)&s_,!1):this.map!==null&&(e=this.map(e),e===null)?(A._duplexState&=If,this.buffered0;)A.push(this.shift());for(let r=0;r0;)r.drains.shift().resolve(!1);r.pipeline!==null&&r.pipeline.done(e,t)}}function M_(t){let e=this.stream;t&&e.destroy(t),e._duplexState&=g_,this.drains!==null&&Y_(this.drains),(e._duplexState&S_)===Rn&&(e._duplexState&=u_,(e._duplexState&Pl)===Pl&&e.emit("drain")),this.updateCallback()}function v_(t){t&&this.stream.destroy(t),this.stream._duplexState&=A_,this.readAhead===!1&&(this.stream._duplexState&Sn)===0&&(this.stream._duplexState&=wf),this.updateCallback()}function x_(){(this.stream._duplexState&rs)===0&&(this.stream._duplexState&=yf,this.update())}function L_(){(this.stream._duplexState&ns)===0&&(this.stream._duplexState&=Sf,this.update())}function Y_(t){for(let e=0;e{if(s===null)return r.end();r.destroying||tu(s,r,Wl)}).catch(s=>r.destroy(s)),r}setEncoding(e){let A=new XU(e),r=this._readableState.map||V_;return this._readableState.map=s,this;function s(n){let i=A.push(n);return i===""&&(n.byteLength!==0||A.remaining>0)?null:r(i)}}_read(e){e(null)}pipe(e,A){return this._readableState.updateNextTick(),this._readableState.pipe(e,A),e}read(){return this._readableState.updateNextTick(),this._readableState.read()}push(e){return this._readableState.updateNextTickIfOpen(),this._readableState.push(e)}unshift(e){return this._readableState.updateNextTickIfOpen(),this._readableState.unshift(e)}resume(){return this._duplexState|=Kl,this._readableState.updateNextTick(),this}pause(){return this._duplexState&=this._readableState.readAhead===!1?c_:n_,this}static _fromAsyncIterator(e,A){let r,s=new t({...A,read(i){e.next().then(n).then(i.bind(null,null)).catch(i)},predestroy(){r=e.return()},destroy(i){if(!r)return i(null);r.then(i.bind(null,null)).catch(i)}});return s;function n(i){i.done?s.push(null):s.push(i.value)}}static from(e,A){if(Z_(e))return e;if(e[bo])return this._fromAsyncIterator(e[bo](),A);Array.isArray(e)||(e=e===void 0?[]:[e]);let r=0;return new t({...A,read(s){this.push(r===e.length?null:e[r++]),s(null)}})}static isBackpressured(e){return(e._duplexState&p_)!==0||e._readableState.buffered>=e._readableState.highWaterMark}static isPaused(e){return(e._duplexState&Sn)===0}[bo](){let e=this,A=null,r=null,s=null;return this.on("error",c=>{A=c}),this.on("readable",n),this.on("close",i),{[bo](){return this},next(){return new Promise(function(c,g){r=c,s=g;let d=e.read();d!==null?o(d):(e._duplexState&fn)!==0&&o(null)})},return(){return a(null)},throw(c){return a(c)}};function n(){r!==null&&o(e.read())}function i(){r!==null&&o(null)}function o(c){s!==null&&(A?s(A):c===null&&(e._duplexState&mt)===0?s(kA.STREAM_DESTROYED()):r({value:c,done:c===null}),s=r=null)}function a(c){return e.destroy(c),new Promise((g,d)=>{if(e._duplexState&fn)return g({value:void 0,done:!0});e.once("close",function(){c?d(c):g({value:void 0,done:!0})})})}}},Uo=class extends mn{constructor(e){super(e),this._duplexState|=vt|mt,this._writableState=new ko(this,e),e&&(e.writev&&(this._writev=e.writev),e.write&&(this._write=e.write),e.final&&(this._final=e.final),e.eagerOpen&&this._writableState.updateNextTick())}cork(){this._duplexState|=xo}uncork(){this._duplexState&=Nf,this._writableState.updateNextTick()}_writev(e,A){A(null)}_write(e,A){this._writableState.autoBatch(e,A)}_final(e){e(null)}static isBackpressured(e){return(e._duplexState&b_)!==0}static drained(e){if(e.destroyed)return Promise.resolve(!1);let A=e._writableState,s=(eM(e)?Math.min(1,A.queue.length):A.queue.length)+(e._duplexState&zl?1:0);return s===0?Promise.resolve(!0):(A.drains===null&&(A.drains=[]),new Promise(n=>{A.drains.push({writes:s,resolve:n})}))}write(e){return this._writableState.updateNextTick(),this._writableState.push(e)}end(e){return this._writableState.updateNextTick(),this._writableState.end(e),this}},yn=class extends To{constructor(e){super(e),this._duplexState=vt|this._duplexState&Er,this._writableState=new ko(this,e),e&&(e.writev&&(this._writev=e.writev),e.write&&(this._write=e.write),e.final&&(this._final=e.final))}cork(){this._duplexState|=xo}uncork(){this._duplexState&=Nf,this._writableState.updateNextTick()}_writev(e,A){A(null)}_write(e,A){this._writableState.autoBatch(e,A)}_final(e){e(null)}write(e){return this._writableState.updateNextTick(),this._writableState.push(e)}end(e){return this._writableState.updateNextTick(),this._writableState.end(e),this}},_o=class extends yn{constructor(e){super(e),this._transformState=new Jl(this),e&&(e.transform&&(this._transform=e.transform),e.flush&&(this._flush=e.flush))}_write(e,A){this._readableState.buffered>=this._readableState.highWaterMark?this._transformState.data=e:this._transform(e,this._transformState.afterTransform)}_read(e){if(this._transformState.data!==null){let A=this._transformState.data;this._transformState.data=null,e(null),this._transform(A,this._transformState.afterTransform)}else e(null)}destroy(e){super.destroy(e),this._transformState.data!==null&&(this._transformState.data=null,this._transformState.afterTransform())}_transform(e,A){A(null,e)}_flush(e){e(null)}_final(e){this._transformState.afterFinal=e,this._flush(H_.bind(this))}},Mo=class extends _o{};function H_(t,e){let A=this._transformState.afterFinal;if(t)return A(t);e!=null&&this.push(e),this.push(null),A(null)}function P_(...t){return new Promise((e,A)=>tu(...t,r=>{if(r)return A(r);e()}))}function tu(t,...e){let A=Array.isArray(t)?[...t,...e]:[t,...e],r=A.length&&typeof A[A.length-1]=="function"?A.pop():null;if(A.length<2)throw new Error("Pipeline requires at least 2 streams");let s=A[0],n=null,i=null;for(let c=1;c1,a),s.pipe(n)),s=n;if(r){let c=!1,g=wn(n)||!!(n._writableState&&n._writableState.autoDestroy);n.on("error",d=>{i===null&&(i=d)}),n.on("finish",()=>{c=!0,g||r(i)}),g&&n.on("close",()=>r(i||(c?null:kA.PREMATURE_CLOSE())))}return n;function o(c,g,d,I){c.on("error",I),c.on("close",E);function E(){if(g&&c._readableState&&!c._readableState.ended||d&&c._writableState&&!c._writableState.ended)return I(kA.PREMATURE_CLOSE())}}function a(c){if(!(!c||i)){i=c;for(let g of A)g.destroy(c)}}}function V_(t){return t}function _f(t){return!!t._readableState||!!t._writableState}function wn(t){return typeof t._duplexState=="number"&&_f(t)}function J_(t){return!!t._readableState&&t._readableState.ending}function j_(t){return!!t._readableState&&t._readableState.ended}function W_(t){return!!t._writableState&&t._writableState.ending}function q_(t){return!!t._writableState&&t._writableState.ended}function $_(t,e={}){let A=t._readableState&&t._readableState.error||t._writableState&&t._writableState.error;return!e.all&&kA.isStreamDestroyed(A)?null:A}function Z_(t){return wn(t)&&t.readable}function X_(t){return(t._duplexState&vt)!==vt||(t._duplexState&zt)===zt||(t._duplexState&Lo)!==0}function K_(t){return typeof t=="object"&&t!==null&&typeof t.byteLength=="number"}function Mf(t){return K_(t)?t.byteLength:1024}function Wl(){}function z_(){this.destroy(kA.ABORTED())}function eM(t){return t._writev!==Uo.prototype._writev&&t._writev!==yn.prototype._writev}vf.exports={pipeline:tu,pipelinePromise:P_,isStream:_f,isStreamx:wn,isEnding:J_,isEnded:j_,isFinishing:W_,isFinished:q_,isDisturbed:X_,getStreamError:$_,Stream:mn,Writable:Uo,Readable:To,Duplex:yn,Transform:_o,PassThrough:Mo}});var nu=S(as=>{"use strict";l();var Z=As(),tM="0000000000000000000",AM="7777777777777777777",Yo=48,xf=Z.from([117,115,116,97,114,0]),rM=Z.from([Yo,Yo]),sM=Z.from([117,115,116,97,114,32]),nM=Z.from([32,0]),iM=4095,Fn=257,su=263;as.decodeLongPath=function(e,A){return os(e,0,e.length,A)};as.encodePax=function(e){let A="";e.name&&(A+=ru(" path="+e.name+` +`)),e.linkname&&(A+=ru(" linkpath="+e.linkname+` +`));let r=e.pax;if(r)for(let s in r)A+=ru(" "+s+"="+r[s]+` +`);return Z.from(A)};as.decodePax=function(e){let A={};for(;e.length;){let r=0;for(;r100;){let n=r.indexOf("/");if(n===-1)return null;s+=s?"/"+r.slice(0,n):r.slice(0,n),r=r.slice(n+1)}return Z.byteLength(r)>100||Z.byteLength(s)>155||e.linkname&&Z.byteLength(e.linkname)>100?null:(Z.write(A,r),Z.write(A,xA(e.mode&iM,6),100),Z.write(A,xA(e.uid,6),108),Z.write(A,xA(e.gid,6),116),hM(e.size,A,124),Z.write(A,xA(e.mtime.getTime()/1e3|0,11),136),A[156]=Yo+lM(e.type),e.linkname&&Z.write(A,e.linkname,157),Z.copy(xf,A,Fn),Z.copy(rM,A,su),e.uname&&Z.write(A,e.uname,265),e.gname&&Z.write(A,e.gname,297),Z.write(A,xA(e.devmajor||0,6),329),Z.write(A,xA(e.devminor||0,6),337),s&&Z.write(A,s,345),Z.write(A,xA(Yf(A),6),148),A)};as.decode=function(e,A,r){let s=e[156]===0?0:e[156]-Yo,n=os(e,0,100,A),i=vA(e,100,8),o=vA(e,108,8),a=vA(e,116,8),c=vA(e,124,12),g=vA(e,136,12),d=gM(s),I=e[157]===0?null:os(e,157,100,A),E=os(e,265,32),C=os(e,297,32),y=vA(e,329,8),w=vA(e,337,8),p=Yf(e);if(p===256)return null;if(p!==vA(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");if(oM(e))e[345]&&(n=os(e,345,155,A)+"/"+n);else if(!aM(e)){if(!r)throw new Error("Invalid tar header: unknown format.")}return s===0&&n&&n[n.length-1]==="/"&&(s=5),{name:n,mode:i,uid:o,gid:a,size:c,mtime:new Date(1e3*g),type:d,linkname:I,uname:E,gname:C,devmajor:y,devminor:w,pax:null}};function oM(t){return Z.equals(xf,t.subarray(Fn,Fn+6))}function aM(t){return Z.equals(sM,t.subarray(Fn,Fn+6))&&Z.equals(nM,t.subarray(su,su+2))}function cM(t,e,A){return typeof t!="number"?A:(t=~~t,t>=e?e:t>=0||(t+=e,t>=0)?t:0)}function gM(t){switch(t){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null}function lM(t){switch(t){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0}function Lf(t,e,A,r){for(;Ae?AM.slice(0,e)+" ":tM.slice(0,e-t.length)+t+" "}function uM(t,e,A){e[A]=128;for(let r=11;r>0;r--)e[A+r]=t&255,t=Math.floor(t/256)}function hM(t,e,A){t.toString(8).length>11?uM(t,e,A):Z.write(e,xA(t,11),A)}function dM(t){let e;if(t[0]===128)e=!0;else if(t[0]===255)e=!1;else return null;let A=[],r;for(r=t.length-1;r>0;r--){let i=t[r];e?A.push(i):A.push(255-i)}let s=0,n=A.length;for(r=0;r=Math.pow(10,A)&&A++,e+A+t}});var Vf=S((oV,Pf)=>{"use strict";l();var{Writable:EM,Readable:IM,getStreamError:Of}=Au(),QM=Ol(),Gf=As(),cs=nu(),CM=Gf.alloc(0),ou=class{constructor(){this.buffered=0,this.shifted=0,this.queue=new QM,this._offset=0}push(e){this.buffered+=e.byteLength,this.queue.push(e)}shiftFirst(e){return this._buffered===0?null:this._next(e)}shift(e){if(e>this.buffered)return null;if(e===0)return CM;let A=this._next(e);if(e===A.byteLength)return A;let r=[A];for(;(e-=A.byteLength)>0;)A=this._next(e),r.push(A);return Gf.concat(r)}_next(e){let A=this.queue.peek(),r=A.byteLength-this._offset;if(e>=r){let s=this._offset?A.subarray(this._offset,A.byteLength):A;return this.queue.shift(),this._offset=0,this.buffered-=r,this.shifted+=r,s}return this.buffered-=e,this.shifted+=e,A.subarray(this._offset,this._offset+=e)}},au=class extends IM{constructor(e,A,r){super(),this.header=A,this.offset=r,this._parent=e}_read(e){this.header.size===0&&this.push(null),this._parent._stream===this&&this._parent._update(),e(null)}_predestroy(){this._parent.destroy(Of(this))}_detach(){this._parent._stream===this&&(this._parent._stream=null,this._parent._missing=Hf(this.header.size),this._parent._update())}_destroy(e){this._detach(),e(null)}},cu=class extends EM{constructor(e){super(e),e||(e={}),this._buffer=new ou,this._offset=0,this._header=null,this._stream=null,this._missing=0,this._longHeader=!1,this._callback=iu,this._locked=!1,this._finished=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null,this._filenameEncoding=e.filenameEncoding||"utf-8",this._allowUnknownFormat=!!e.allowUnknownFormat,this._unlockBound=this._unlock.bind(this)}_unlock(e){if(this._locked=!1,e){this.destroy(e),this._continueWrite(e);return}this._update()}_consumeHeader(){if(this._locked)return!1;this._offset=this._buffer.shifted;try{this._header=cs.decode(this._buffer.shift(512),this._filenameEncoding,this._allowUnknownFormat)}catch(e){return this._continueWrite(e),!1}if(!this._header)return!0;switch(this._header.type){case"gnu-long-path":case"gnu-long-link-path":case"pax-global-header":case"pax-header":return this._longHeader=!0,this._missing=this._header.size,!0}return this._locked=!0,this._applyLongHeaders(),this._header.size===0||this._header.type==="directory"?(this.emit("entry",this._header,this._createStream(),this._unlockBound),!0):(this._stream=this._createStream(),this._missing=this._header.size,this.emit("entry",this._header,this._stream,this._unlockBound),!0)}_applyLongHeaders(){this._gnuLongPath&&(this._header.name=this._gnuLongPath,this._gnuLongPath=null),this._gnuLongLinkPath&&(this._header.linkname=this._gnuLongLinkPath,this._gnuLongLinkPath=null),this._pax&&(this._pax.path&&(this._header.name=this._pax.path),this._pax.linkpath&&(this._header.linkname=this._pax.linkpath),this._pax.size&&(this._header.size=parseInt(this._pax.size,10)),this._header.pax=this._pax,this._pax=null)}_decodeLongHeader(e){switch(this._header.type){case"gnu-long-path":this._gnuLongPath=cs.decodeLongPath(e,this._filenameEncoding);break;case"gnu-long-link-path":this._gnuLongLinkPath=cs.decodeLongPath(e,this._filenameEncoding);break;case"pax-global-header":this._paxGlobal=cs.decodePax(e);break;case"pax-header":this._pax=this._paxGlobal===null?cs.decodePax(e):Object.assign({},this._paxGlobal,cs.decodePax(e));break}}_consumeLongHeader(){this._longHeader=!1,this._missing=Hf(this._header.size);let e=this._buffer.shift(this._header.size);try{this._decodeLongHeader(e)}catch(A){return this._continueWrite(A),!1}return!0}_consumeStream(){let e=this._buffer.shiftFirst(this._missing);if(e===null)return!1;this._missing-=e.byteLength;let A=this._stream.push(e);return this._missing===0?(this._stream.push(null),A&&this._stream._detach(),A&&this._locked===!1):A}_createStream(){return new au(this,this._header,this._offset)}_update(){for(;this._buffer.buffered>0&&!this.destroying;){if(this._missing>0){if(this._stream!==null){if(this._consumeStream()===!1)return;continue}if(this._longHeader===!0){if(this._missing>this._buffer.buffered)break;if(this._consumeLongHeader()===!1)return!1;continue}let e=this._buffer.shiftFirst(this._missing);e!==null&&(this._missing-=e.byteLength);continue}if(this._buffer.buffered<512)break;if(this._stream!==null||this._consumeHeader()===!1)return}this._continueWrite(null)}_continueWrite(e){let A=this._callback;this._callback=iu,A(e)}_write(e,A){this._callback=A,this._buffer.push(e),this._update()}_final(e){this._finished=this._missing===0&&this._buffer.buffered===0,e(this._finished?null:new Error("Unexpected end of data"))}_predestroy(){this._continueWrite(null)}_destroy(e){this._stream&&this._stream.destroy(Of(this)),e(null)}[Symbol.asyncIterator](){let e=null,A=null,r=null,s=null,n=null,i=this;return this.on("entry",c),this.on("error",I=>{e=I}),this.on("close",g),{[Symbol.asyncIterator](){return this},next(){return new Promise(a)},return(){return d(null)},throw(I){return d(I)}};function o(I){if(!n)return;let E=n;n=null,E(I)}function a(I,E){if(e)return E(e);if(s){I({value:s,done:!1}),s=null;return}A=I,r=E,o(null),i._finished&&A&&(A({value:void 0,done:!0}),A=r=null)}function c(I,E,C){n=C,E.on("error",iu),A?(A({value:E,done:!1}),A=r=null):s=E}function g(){o(e),A&&(e?r(e):A({value:void 0,done:!0}),A=r=null)}function d(I){return i.destroy(I),o(I),new Promise((E,C)=>{if(i.destroyed)return E({value:void 0,done:!0});i.once("close",function(){I?C(I):E({value:void 0,done:!0})})})}}};Pf.exports=function(e){return new cu(e)};function iu(){}function Hf(t){return t&=511,t&&512-t}});var jf=S((cV,gu)=>{"use strict";l();var Jf={S_IFMT:61440,S_IFDIR:16384,S_IFCHR:8192,S_IFBLK:24576,S_IFIFO:4096,S_IFLNK:40960};try{gu.exports=k("fs").constants||Jf}catch{gu.exports=Jf}});var Xf=S((lV,Zf)=>{"use strict";l();var{Readable:BM,Writable:fM,getStreamError:Wf}=Au(),Qr=As(),gs=jf(),Oo=nu(),pM=493,mM=420,qf=Qr.alloc(1024),uu=class extends fM{constructor(e,A,r){super({mapWritable:wM,eagerOpen:!0}),this.written=0,this.header=A,this._callback=r,this._linkname=null,this._isLinkname=A.type==="symlink"&&!A.linkname,this._isVoid=A.type!=="file"&&A.type!=="contiguous-file",this._finished=!1,this._pack=e,this._openCallback=null,this._pack._stream===null?this._pack._stream=this:this._pack._pending.push(this)}_open(e){this._openCallback=e,this._pack._stream===this&&this._continueOpen()}_continuePack(e){if(this._callback===null)return;let A=this._callback;this._callback=null,A(e)}_continueOpen(){this._pack._stream===null&&(this._pack._stream=this);let e=this._openCallback;if(this._openCallback=null,e!==null){if(this._pack.destroying)return e(new Error("pack stream destroyed"));if(this._pack._finalized)return e(new Error("pack stream is already finalized"));this._pack._stream=this,this._isLinkname||this._pack._encode(this.header),this._isVoid&&(this._finish(),this._continuePack(null)),e(null)}}_write(e,A){if(this._isLinkname)return this._linkname=this._linkname?Qr.concat([this._linkname,e]):e,A(null);if(this._isVoid)return e.byteLength>0?A(new Error("No body allowed for this entry")):A();if(this.written+=e.byteLength,this._pack.push(e))return A();this._pack._drain=A}_finish(){this._finished||(this._finished=!0,this._isLinkname&&(this.header.linkname=this._linkname?Qr.toString(this._linkname,"utf-8"):"",this._pack._encode(this.header)),$f(this._pack,this.header.size),this._pack._done(this))}_final(e){if(this.written!==this.header.size)return e(new Error("Size mismatch"));this._finish(),e(null)}_getError(){return Wf(this)||new Error("tar entry destroyed")}_predestroy(){this._pack.destroy(this._getError())}_destroy(e){this._pack._done(this),this._continuePack(this._finished?null:this._getError()),e()}},hu=class extends BM{constructor(e){super(e),this._drain=lu,this._finalized=!1,this._finalizing=!1,this._pending=[],this._stream=null}entry(e,A,r){if(this._finalized||this.destroying)throw new Error("already finalized or destroyed");typeof A=="function"&&(r=A,A=null),r||(r=lu),(!e.size||e.type==="symlink")&&(e.size=0),e.type||(e.type=yM(e.mode)),e.mode||(e.mode=e.type==="directory"?pM:mM),e.uid||(e.uid=0),e.gid||(e.gid=0),e.mtime||(e.mtime=new Date),typeof A=="string"&&(A=Qr.from(A));let s=new uu(this,e,r);return Qr.isBuffer(A)?(e.size=A.byteLength,s.write(A),s.end(),s):(s._isVoid,s)}finalize(){if(this._stream||this._pending.length>0){this._finalizing=!0;return}this._finalized||(this._finalized=!0,this.push(qf),this.push(null))}_done(e){e===this._stream&&(this._stream=null,this._finalizing&&this.finalize(),this._pending.length&&this._pending.shift()._continueOpen())}_encode(e){if(!e.pax){let A=Oo.encode(e);if(A){this.push(A);return}}this._encodePax(e)}_encodePax(e){let A=Oo.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),r={name:"PaxHeader",mode:e.mode,uid:e.uid,gid:e.gid,size:A.byteLength,mtime:e.mtime,type:"pax-header",linkname:e.linkname&&"PaxHeader",uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(Oo.encode(r)),this.push(A),$f(this,A.byteLength),r.size=e.size,r.type=e.type,this.push(Oo.encode(r))}_doDrain(){let e=this._drain;this._drain=lu,e()}_predestroy(){let e=Wf(this);for(this._stream&&this._stream.destroy(e);this._pending.length;){let A=this._pending.shift();A.destroy(e),A._continueOpen()}this._doDrain()}_read(e){this._doDrain(),e()}};Zf.exports=function(e){return new hu(e)};function yM(t){switch(t&gs.S_IFMT){case gs.S_IFBLK:return"block-device";case gs.S_IFCHR:return"character-device";case gs.S_IFDIR:return"directory";case gs.S_IFIFO:return"fifo";case gs.S_IFLNK:return"symlink"}return"file"}function lu(){}function $f(t,e){e&=511,e&&t.push(qf.subarray(0,512-e))}function wM(t){return Qr.isBuffer(t)?t:Qr.from(t)}});var Kf=S(du=>{"use strict";l();du.extract=Vf();du.pack=Xf()});var sp=S((FV,rp)=>{"use strict";l();var Ap=k("stream").Transform;function us(t){if(!(this instanceof us))throw new TypeError("Cannot call a class as a function");t=t||{},Ap.call(this,{objectMode:!0}),this._memory="",this._emitInvalidLines=t.emitInvalidLines||!1}us.prototype=Object.create(Ap.prototype);us.prototype._handleLines=function(t,e){for(var A=0;A{"use strict";l();var np=k("stream").Transform;function Vo(){if(!(this instanceof Vo))throw new TypeError("Cannot call a class as a function");np.call(this,{objectMode:!0})}Vo.prototype=Object.create(np.prototype);Vo.prototype._transform=function(t,e,A){var r;try{r=JSON.stringify(t)}catch(s){return s.source=t,A(s)}A(null,r+` +`)};ip.exports=Vo});var ap=S(Eu=>{"use strict";l();var NM=sp(),RM=op();Eu.parse=function(e){return new NM(e)};Eu.stringify=function(){return new RM}});var Qu=S((MV,lp)=>{"use strict";l();var Iu=Object.defineProperty,FM=Object.getOwnPropertyDescriptor,bM=Object.getOwnPropertyNames,kM=Object.prototype.hasOwnProperty,TM=(t,e)=>{for(var A in e)Iu(t,A,{get:e[A],enumerable:!0})},UM=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of bM(e))!kM.call(t,s)&&s!==A&&Iu(t,s,{get:()=>e[s],enumerable:!(r=FM(e,s))||r.enumerable});return t},_M=t=>UM(Iu({},"__esModule",{value:!0}),t),cp={};TM(cp,{SYMBOL_FOR_REQ_CONTEXT:()=>gp,getContext:()=>MM});lp.exports=_M(cp);var gp=Symbol.for("@vercel/request-context");function MM(){return globalThis[gp]?.get?.()??{}}});var bn=S((xV,hp)=>{"use strict";l();var Bu=Object.defineProperty,vM=Object.getOwnPropertyDescriptor,xM=Object.getOwnPropertyNames,LM=Object.prototype.hasOwnProperty,YM=(t,e)=>{for(var A in e)Bu(t,A,{get:e[A],enumerable:!0})},OM=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of xM(e))!LM.call(t,s)&&s!==A&&Bu(t,s,{get:()=>e[s],enumerable:!(r=vM(e,s))||r.enumerable});return t},GM=t=>OM(Bu({},"__esModule",{value:!0}),t),up={};YM(up,{VercelOidcTokenError:()=>Cu});hp.exports=GM(up);var Cu=class extends Error{constructor(e,A){super(e),this.name="VercelOidcTokenError",this.cause=A}toString(){return this.cause?`${this.name}: ${this.message}: ${this.cause}`:`${this.name}: ${this.message}`}}});var Qp=S((YV,Ip)=>{"use strict";l();var HM=Object.create,Jo=Object.defineProperty,PM=Object.getOwnPropertyDescriptor,VM=Object.getOwnPropertyNames,JM=Object.getPrototypeOf,jM=Object.prototype.hasOwnProperty,WM=(t,e)=>{for(var A in e)Jo(t,A,{get:e[A],enumerable:!0})},dp=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of VM(e))!jM.call(t,s)&&s!==A&&Jo(t,s,{get:()=>e[s],enumerable:!(r=PM(e,s))||r.enumerable});return t},pu=(t,e,A)=>(A=t!=null?HM(JM(t)):{},dp(e||!t||!t.__esModule?Jo(A,"default",{value:t,enumerable:!0}):A,t)),qM=t=>dp(Jo({},"__esModule",{value:!0}),t),Ep={};WM(Ep,{findRootDir:()=>XM,getUserDataDir:()=>KM});Ip.exports=qM(Ep);var kn=pu(k("path")),$M=pu(k("fs")),fu=pu(k("os")),ZM=bn();function XM(){try{let t=process.cwd();for(;t!==kn.default.dirname(t);){let e=kn.default.join(t,".vercel");if($M.default.existsSync(e))return t;t=kn.default.dirname(t)}}catch{throw new ZM.VercelOidcTokenError("Token refresh only supported in node server environments")}return null}function KM(){if(process.env.XDG_DATA_HOME)return process.env.XDG_DATA_HOME;switch(fu.default.platform()){case"darwin":return kn.default.join(fu.default.homedir(),"Library/Application Support");case"linux":return kn.default.join(fu.default.homedir(),".local/share");case"win32":return process.env.LOCALAPPDATA?process.env.LOCALAPPDATA:null;default:return null}}});var wp=S((GV,yp)=>{"use strict";l();var zM=Object.create,jo=Object.defineProperty,ev=Object.getOwnPropertyDescriptor,tv=Object.getOwnPropertyNames,Av=Object.getPrototypeOf,rv=Object.prototype.hasOwnProperty,sv=(t,e)=>{for(var A in e)jo(t,A,{get:e[A],enumerable:!0})},Cp=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of tv(e))!rv.call(t,s)&&s!==A&&jo(t,s,{get:()=>e[s],enumerable:!(r=ev(e,s))||r.enumerable});return t},Bp=(t,e,A)=>(A=t!=null?zM(Av(t)):{},Cp(e||!t||!t.__esModule?jo(A,"default",{value:t,enumerable:!0}):A,t)),nv=t=>Cp(jo({},"__esModule",{value:!0}),t),fp={};sv(fp,{isValidAccessToken:()=>cv,readAuthConfig:()=>ov,writeAuthConfig:()=>av});yp.exports=nv(fp);var Tn=Bp(k("fs")),pp=Bp(k("path")),iv=Un();function mp(){let t=(0,iv.getVercelDataDir)();if(!t)throw new Error(`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`);return pp.join(t,"auth.json")}function ov(){try{let t=mp();if(!Tn.existsSync(t))return null;let e=Tn.readFileSync(t,"utf8");return e?JSON.parse(e):null}catch{return null}}function av(t){let e=mp(),A=pp.dirname(e);Tn.existsSync(A)||Tn.mkdirSync(A,{mode:504,recursive:!0}),Tn.writeFileSync(e,JSON.stringify(t,null,2),{mode:384})}function cv(t,e=0){if(!t.token)return!1;if(typeof t.expiresAt!="number")return!0;let A=Math.floor(Date.now()/1e3),r=e/1e3;return t.expiresAt>=A+r}});var Rp=S((PV,Np)=>{"use strict";l();var wu=Object.defineProperty,gv=Object.getOwnPropertyDescriptor,lv=Object.getOwnPropertyNames,uv=Object.prototype.hasOwnProperty,hv=(t,e)=>{for(var A in e)wu(t,A,{get:e[A],enumerable:!0})},dv=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of lv(e))!uv.call(t,s)&&s!==A&&wu(t,s,{get:()=>e[s],enumerable:!(r=gv(e,s))||r.enumerable});return t},Ev=t=>dv(wu({},"__esModule",{value:!0}),t),Dp={};hv(Dp,{processTokenResponse:()=>fv,refreshTokenRequest:()=>Bv});Np.exports=Ev(Dp);var mu=k("os"),Iv="https://vercel.com",Qv="cl_HYyOPBNtFMfHhaUn9L4QPfTZz6TP47bp",Sp=`@vercel/oidc node-${process.version} ${(0,mu.platform)()} (${(0,mu.arch)()}) ${(0,mu.hostname)()}`,yu=null;async function Cv(){if(yu)return yu;let t=`${Iv}/.well-known/openid-configuration`,e=await fetch(t,{headers:{"user-agent":Sp}});if(!e.ok)throw new Error("Failed to discover OAuth endpoints");let A=await e.json();if(!A||typeof A.token_endpoint!="string")throw new Error("Invalid OAuth discovery response");let r=A.token_endpoint;return yu=r,r}async function Bv(t){let e=await Cv();return await fetch(e,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded","user-agent":Sp},body:new URLSearchParams({client_id:Qv,grant_type:"refresh_token",...t})})}async function fv(t){let e=await t.json();if(!t.ok){let A=typeof e=="object"&&e&&"error"in e?String(e.error):"Token refresh failed";return[new Error(A)]}return typeof e!="object"||e===null?[new Error("Invalid token response")]:typeof e.access_token!="string"?[new Error("Missing access_token in response")]:e.token_type!=="Bearer"?[new Error("Invalid token_type in response")]:typeof e.expires_in!="number"?[new Error("Missing expires_in in response")]:[null,e]}});var Ru=S((JV,bp)=>{"use strict";l();var Nu=Object.defineProperty,pv=Object.getOwnPropertyDescriptor,mv=Object.getOwnPropertyNames,yv=Object.prototype.hasOwnProperty,wv=(t,e)=>{for(var A in e)Nu(t,A,{get:e[A],enumerable:!0})},Dv=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of mv(e))!yv.call(t,s)&&s!==A&&Nu(t,s,{get:()=>e[s],enumerable:!(r=pv(e,s))||r.enumerable});return t},Sv=t=>Dv(Nu({},"__esModule",{value:!0}),t),Fp={};wv(Fp,{AccessTokenMissingError:()=>Du,RefreshAccessTokenFailedError:()=>Su});bp.exports=Sv(Fp);var Du=class extends Error{constructor(){super("No authentication found. Please log in with the Vercel CLI (vercel login)."),this.name="AccessTokenMissingError"}},Su=class extends Error{constructor(e){super("Failed to refresh authentication token.",{cause:e}),this.name="RefreshAccessTokenFailedError"}}});var Un=S((WV,Mp)=>{"use strict";l();var Nv=Object.create,Wo=Object.defineProperty,Rv=Object.getOwnPropertyDescriptor,Fv=Object.getOwnPropertyNames,bv=Object.getPrototypeOf,kv=Object.prototype.hasOwnProperty,Tv=(t,e)=>{for(var A in e)Wo(t,A,{get:e[A],enumerable:!0})},Tp=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Fv(e))!kv.call(t,s)&&s!==A&&Wo(t,s,{get:()=>e[s],enumerable:!(r=Rv(e,s))||r.enumerable});return t},Up=(t,e,A)=>(A=t!=null?Nv(bv(t)):{},Tp(e||!t||!t.__esModule?Wo(A,"default",{value:t,enumerable:!0}):A,t)),Uv=t=>Tp(Wo({},"__esModule",{value:!0}),t),_p={};Tv(_p,{assertVercelOidcTokenResponse:()=>Fu,findProjectInfo:()=>xv,getTokenPayload:()=>Ov,getVercelDataDir:()=>_v,getVercelOidcToken:()=>vv,getVercelToken:()=>Mv,isExpired:()=>Gv,loadToken:()=>Yv,saveToken:()=>Lv});Mp.exports=Uv(_p);var _n=Up(k("path")),Cr=Up(k("fs")),Es=bn(),qo=Qp(),hs=wp(),kp=Rp(),ds=Ru();function _v(){let t="com.vercel.cli",e=(0,qo.getUserDataDir)();return e?_n.join(e,t):null}async function Mv(t){let e=(0,hs.readAuthConfig)();if(!e?.token)throw new ds.AccessTokenMissingError;if((0,hs.isValidAccessToken)(e,t?.expirationBufferMs))return e.token;if(!e.refreshToken)throw(0,hs.writeAuthConfig)({}),new ds.RefreshAccessTokenFailedError("No refresh token available");try{let A=await(0,kp.refreshTokenRequest)({refresh_token:e.refreshToken}),[r,s]=await(0,kp.processTokenResponse)(A);if(r||!s)throw(0,hs.writeAuthConfig)({}),new ds.RefreshAccessTokenFailedError(r);let n={token:s.access_token,expiresAt:Math.floor(Date.now()/1e3)+s.expires_in};return s.refresh_token&&(n.refreshToken=s.refresh_token),(0,hs.writeAuthConfig)(n),n.token}catch(A){throw(0,hs.writeAuthConfig)({}),A instanceof ds.AccessTokenMissingError||A instanceof ds.RefreshAccessTokenFailedError?A:new ds.RefreshAccessTokenFailedError(A)}}async function vv(t,e,A){let r=`https://api.vercel.com/v1/projects/${e}/token?source=vercel-oidc-refresh${A?`&teamId=${A}`:""}`,s=await fetch(r,{method:"POST",headers:{Authorization:`Bearer ${t}`}});if(!s.ok)throw new Es.VercelOidcTokenError(`Failed to refresh OIDC token: ${s.statusText}`);let n=await s.json();return Fu(n),n}function Fu(t){if(!t||typeof t!="object")throw new TypeError("Vercel OIDC token is malformed. Expected an object. Please run `vc env pull` and try again");if(!("token"in t)||typeof t.token!="string")throw new TypeError("Vercel OIDC token is malformed. Expected a string-valued token property. Please run `vc env pull` and try again")}function xv(){let t=(0,qo.findRootDir)();if(!t)throw new Es.VercelOidcTokenError("Unable to find project root directory. Have you linked your project with `vc link?`");let e=_n.join(t,".vercel","project.json");if(!Cr.existsSync(e))throw new Es.VercelOidcTokenError("project.json not found, have you linked your project with `vc link?`");let A=JSON.parse(Cr.readFileSync(e,"utf8"));if(typeof A.projectId!="string"&&typeof A.orgId!="string")throw new TypeError("Expected a string-valued projectId property. Try running `vc link` to re-link your project.");return{projectId:A.projectId,teamId:A.orgId}}function Lv(t,e){let A=(0,qo.getUserDataDir)();if(!A)throw new Es.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let r=_n.join(A,"com.vercel.token",`${e}.json`),s=JSON.stringify(t);Cr.mkdirSync(_n.dirname(r),{mode:504,recursive:!0}),Cr.writeFileSync(r,s),Cr.chmodSync(r,432)}function Yv(t){let e=(0,qo.getUserDataDir)();if(!e)throw new Es.VercelOidcTokenError("Unable to find user data directory. Please reach out to Vercel support.");let A=_n.join(e,"com.vercel.token",`${t}.json`);if(!Cr.existsSync(A))return null;let r=JSON.parse(Cr.readFileSync(A,"utf8"));return Fu(r),r}function Ov(t){let e=t.split(".");if(e.length!==3)throw new Es.VercelOidcTokenError("Invalid token. Please run `vc env pull` and try again");let A=e[1].replace(/-/g,"+").replace(/_/g,"/"),r=A.padEnd(A.length+(4-A.length%4)%4,"=");return JSON.parse(Buffer.from(r,"base64").toString("utf8"))}function Gv(t,e=0){return t.exp*1e3{"use strict";l();var bu=Object.defineProperty,Hv=Object.getOwnPropertyDescriptor,Pv=Object.getOwnPropertyNames,Vv=Object.prototype.hasOwnProperty,Jv=(t,e)=>{for(var A in e)bu(t,A,{get:e[A],enumerable:!0})},jv=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Pv(e))!Vv.call(t,s)&&s!==A&&bu(t,s,{get:()=>e[s],enumerable:!(r=Hv(e,s))||r.enumerable});return t},Wv=t=>jv(bu({},"__esModule",{value:!0}),t),xp={};Jv(xp,{refreshToken:()=>qv});Lp.exports=Wv(xp);var vp=bn(),LA=Un();async function qv(t){let e=t?.project,A=t?.team;if(!e&&!A){let s=(0,LA.findProjectInfo)();e=s.projectId,A=s.teamId}else if(!e||!A){let s=(0,LA.findProjectInfo)();e=e??s.projectId,A=A??s.teamId}if(!e)throw new vp.VercelOidcTokenError("Failed to refresh OIDC token: No project specified. Try re-linking your project with `vc link`");let r=(0,LA.loadToken)(e);if(!r||(0,LA.isExpired)((0,LA.getTokenPayload)(r.token),t?.expirationBufferMs)){let s=await(0,LA.getVercelToken)({expirationBufferMs:t?.expirationBufferMs});if(r=await(0,LA.getVercelOidcToken)(s,e,A),!r)throw new vp.VercelOidcTokenError("Failed to refresh OIDC token");(0,LA.saveToken)(r,e)}process.env.VERCEL_OIDC_TOKEN=r.token}});var Hp=S((XV,Gp)=>{"use strict";l();var Tu=Object.defineProperty,$v=Object.getOwnPropertyDescriptor,Zv=Object.getOwnPropertyNames,Xv=Object.prototype.hasOwnProperty,Kv=(t,e)=>{for(var A in e)Tu(t,A,{get:e[A],enumerable:!0})},zv=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Zv(e))!Xv.call(t,s)&&s!==A&&Tu(t,s,{get:()=>e[s],enumerable:!(r=$v(e,s))||r.enumerable});return t},ex=t=>zv(Tu({},"__esModule",{value:!0}),t),Op={};Kv(Op,{getVercelOidcToken:()=>rx,getVercelOidcTokenSync:()=>ku});Gp.exports=ex(Op);var tx=Qu(),Ax=bn();async function rx(t){let e="",A;try{e=ku()}catch(r){A=r}try{let[{getTokenPayload:r,isExpired:s},{refreshToken:n}]=await Promise.all([await Promise.resolve().then(()=>De(Un())),await Promise.resolve().then(()=>De(Yp()))]);(!e||s(r(e),t?.expirationBufferMs))&&(await n(t),e=ku())}catch(r){let s=A instanceof Error?A.message:"";throw r instanceof Error&&(s=`${s} +${r.message}`),s?new Ax.VercelOidcTokenError(s):r}return e}function ku(){let t=(0,tx.getContext)().headers?.["x-vercel-oidc-token"]??process.env.VERCEL_OIDC_TOKEN;if(!t)throw new Error("The 'x-vercel-oidc-token' header is missing from the request. Do you have the OIDC option enabled in the Vercel project settings?");return t}});var _u=S((zV,jp)=>{"use strict";l();var Uu=Object.defineProperty,sx=Object.getOwnPropertyDescriptor,nx=Object.getOwnPropertyNames,ix=Object.prototype.hasOwnProperty,ox=(t,e)=>{for(var A in e)Uu(t,A,{get:e[A],enumerable:!0})},ax=(t,e,A,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of nx(e))!ix.call(t,s)&&s!==A&&Uu(t,s,{get:()=>e[s],enumerable:!(r=sx(e,s))||r.enumerable});return t},cx=t=>ax(Uu({},"__esModule",{value:!0}),t),Jp={};ox(Jp,{AccessTokenMissingError:()=>Vp.AccessTokenMissingError,RefreshAccessTokenFailedError:()=>Vp.RefreshAccessTokenFailedError,getContext:()=>gx.getContext,getVercelOidcToken:()=>Pp.getVercelOidcToken,getVercelOidcTokenSync:()=>Pp.getVercelOidcTokenSync,getVercelToken:()=>lx.getVercelToken});jp.exports=cx(Jp);var Pp=Hp(),gx=Qu(),Vp=Ru(),lx=Un()});var em=S((tJ,zp)=>{"use strict";l();var Is=1e3,Qs=Is*60,Cs=Qs*60,fr=Cs*24,Qx=fr*7,Cx=fr*365.25;zp.exports=function(t,e){e=e||{};var A=typeof t;if(A==="string"&&t.length>0)return Bx(t);if(A==="number"&&isFinite(t))return e.long?px(t):fx(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Bx(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var A=parseFloat(e[1]),r=(e[2]||"ms").toLowerCase();switch(r){case"years":case"year":case"yrs":case"yr":case"y":return A*Cx;case"weeks":case"week":case"w":return A*Qx;case"days":case"day":case"d":return A*fr;case"hours":case"hour":case"hrs":case"hr":case"h":return A*Cs;case"minutes":case"minute":case"mins":case"min":case"m":return A*Qs;case"seconds":case"second":case"secs":case"sec":case"s":return A*Is;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return A;default:return}}}}function fx(t){var e=Math.abs(t);return e>=fr?Math.round(t/fr)+"d":e>=Cs?Math.round(t/Cs)+"h":e>=Qs?Math.round(t/Qs)+"m":e>=Is?Math.round(t/Is)+"s":t+"ms"}function px(t){var e=Math.abs(t);return e>=fr?$o(t,e,fr,"day"):e>=Cs?$o(t,e,Cs,"hour"):e>=Qs?$o(t,e,Qs,"minute"):e>=Is?$o(t,e,Is,"second"):t+" ms"}function $o(t,e,A,r){var s=e>=A*1.5;return Math.round(t/A)+" "+r+(s?"s":"")}});var Um=S((Oj,ea)=>{"use strict";l();function Nm(t){return Array.isArray(t)?t:[t]}var rL=void 0,Ju="",Dm=" ",Vu="\\",sL=/^\s+$/,nL=/(?:[^\\]|^)\\$/,iL=/^\\!/,oL=/^\\#/,aL=/\r?\n/g,cL=/^\.{0,2}\/|^\.{1,2}$/,gL=/\/$/,ys="/",Rm="node-ignore";typeof Symbol<"u"&&(Rm=Symbol.for("node-ignore"));var Fm=Rm,ws=(t,e,A)=>(Object.defineProperty(t,e,{value:A}),A),lL=/([0-z])-([0-z])/g,bm=()=>!1,uL=t=>t.replace(lL,(e,A,r)=>A.charCodeAt(0)<=r.charCodeAt(0)?e:Ju),hL=t=>{let{length:e}=t;return t.slice(0,e-e%2)},dL=[[/^\uFEFF/,()=>Ju],[/((?:\\\\)*?)(\\?\s+)$/,(t,e,A)=>e+(A.indexOf("\\")===0?Dm:Ju)],[/(\\+?)\s/g,(t,e)=>{let{length:A}=e;return e.slice(0,A-A%2)+Dm}],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,A)=>e+6{let r=A.replace(/\\\*/g,"[^\\/]*");return e+r}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Vu],[/\\\\/g,()=>Vu],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,A,r,s)=>e===Vu?`\\[${A}${hL(r)}${s}`:s==="]"&&r.length%2===0?`[${uL(A)}${r}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`]],EL=/(^|\\\/)?\\\*$/,xn="regex",Ko="checkRegex",Sm="_",IL={[xn](t,e){return`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`},[Ko](t,e){return`${e?`${e}[^/]*`:"[^/]*"}(?=$|\\/$)`}},QL=t=>dL.reduce((e,[A,r])=>e.replace(A,r.bind(t)),t),zo=t=>typeof t=="string",CL=t=>t&&zo(t)&&!sL.test(t)&&!nL.test(t)&&t.indexOf("#")!==0,BL=t=>t.split(aL).filter(Boolean),ju=class{constructor(e,A,r,s,n,i){this.pattern=e,this.mark=A,this.negative=n,ws(this,"body",r),ws(this,"ignoreCase",s),ws(this,"regexPrefix",i)}get regex(){let e=Sm+xn;return this[e]?this[e]:this._make(xn,e)}get checkRegex(){let e=Sm+Ko;return this[e]?this[e]:this._make(Ko,e)}_make(e,A){let r=this.regexPrefix.replace(EL,IL[e]),s=this.ignoreCase?new RegExp(r,"i"):new RegExp(r);return ws(this,A,s)}},fL=({pattern:t,mark:e},A)=>{let r=!1,s=t;s.indexOf("!")===0&&(r=!0,s=s.substr(1)),s=s.replace(iL,"!").replace(oL,"#");let n=QL(s);return new ju(t,e,s,A,r,n)},Wu=class{constructor(e){this._ignoreCase=e,this._rules=[]}_add(e){if(e&&e[Fm]){this._rules=this._rules.concat(e._rules._rules),this._added=!0;return}if(zo(e)&&(e={pattern:e}),CL(e.pattern)){let A=fL(e,this._ignoreCase);this._added=!0,this._rules.push(A)}}add(e){return this._added=!1,Nm(zo(e)?BL(e):e).forEach(this._add,this),this._added}test(e,A,r){let s=!1,n=!1,i;this._rules.forEach(a=>{let{negative:c}=a;n===c&&s!==n||c&&!s&&!n&&!A||!a[r].test(e)||(s=!c,n=c,i=c?rL:a)});let o={ignored:s,unignored:n};return i&&(o.rule=i),o}},pL=(t,e)=>{throw new e(t)},nA=(t,e,A)=>zo(t)?t?nA.isNotRelative(t)?A(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:A("path must not be empty",TypeError):A(`path must be a string, but got \`${e}\``,TypeError),km=t=>cL.test(t);nA.isNotRelative=km;nA.convert=t=>t;var qu=class{constructor({ignorecase:e=!0,ignoreCase:A=e,allowRelativePaths:r=!1}={}){ws(this,Fm,!0),this._rules=new Wu(A),this._strictPathCheck=!r,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}add(e){return this._rules.add(e)&&this._initCache(),this}addPattern(e){return this.add(e)}_test(e,A,r,s){let n=e&&nA.convert(e);return nA(n,e,this._strictPathCheck?pL:bm),this._t(n,A,r,s)}checkIgnore(e){if(!gL.test(e))return this.test(e);let A=e.split(ys).filter(Boolean);if(A.pop(),A.length){let r=this._t(A.join(ys)+ys,this._testCache,!0,A);if(r.ignored)return r}return this._rules.test(e,!1,Ko)}_t(e,A,r,s){if(e in A)return A[e];if(s||(s=e.split(ys).filter(Boolean)),s.pop(),!s.length)return A[e]=this._rules.test(e,r,xn);let n=this._t(s.join(ys)+ys,A,r,s);return A[e]=n.ignored?n:this._rules.test(e,r,xn)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return Nm(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},$u=t=>new qu(t),mL=t=>nA(t&&nA.convert(t),t,bm),Tm=()=>{let t=A=>/^\\\\\?\\/.test(A)||/["<>|\u0000-\u001F]+/u.test(A)?A:A.replace(/\\/g,"/");nA.convert=t;let e=/^[a-z]:\//i;nA.isNotRelative=A=>e.test(A)||km(A)};typeof process<"u"&&process.platform==="win32"&&Tm();ea.exports=$u;$u.default=$u;ea.exports.isPathValid=mL;ws(ea.exports,Symbol.for("setupWindows"),Tm)});l();import{randomUUID as qL}from"crypto";import{readFile as $L,realpath as ZL,stat as XL}from"fs/promises";import ry from"path";l();l();import{styleText as Ly}from"util";import{stdout as Jh,stdin as Yy}from"process";import*as ti from"readline";import Oy from"readline";l();l();l();l();var bh=(()=>{let t=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;return e=>{let A=0;for(t.lastIndex=0;t.test(e);)A+=1;return e.length-A}})(),kh=t=>t===12288||t>=65281&&t<=65376||t>=65504&&t<=65510,Th=t=>t===8987||t===9001||t>=12272&&t<=12287||t>=12289&&t<=12350||t>=12441&&t<=12543||t>=12549&&t<=12591||t>=12593&&t<=12686||t>=12688&&t<=12771||t>=12783&&t<=12830||t>=12832&&t<=12871||t>=12880&&t<=19903||t>=65040&&t<=65049||t>=65072&&t<=65106||t>=65108&&t<=65126||t>=65128&&t<=65131||t>=127488&&t<=127490||t>=127504&&t<=127547||t>=127552&&t<=127560||t>=131072&&t<=196605||t>=196608&&t<=262141;var yy=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]|\u001b\]8;[^;]*;.*?(?:\u0007|\u001b\u005c)/y,wy=/[\x00-\x08\x0A-\x1F\x7F-\x9F]{1,1000}/y,Uh=/(?:(?![\uFF61-\uFF9F\uFF00-\uFFEF])[\p{Script=Han}\p{Script=Hiragana}\p{Script=Katakana}\p{Script=Hangul}\p{Script=Tangut}]){1,1000}/yu,Dy=/\t{1,1000}/y,_h=new RegExp("[\\u{1F1E6}-\\u{1F1FF}]{2}|\\u{1F3F4}[\\u{E0061}-\\u{E007A}]{2}[\\u{E0030}-\\u{E0039}\\u{E0061}-\\u{E007A}]{1,3}\\u{E007F}|(?:\\p{Emoji}\\uFE0F\\u20E3?|\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation})(?:\\u200D(?:\\p{Emoji_Modifier_Base}\\p{Emoji_Modifier}?|\\p{Emoji_Presentation}|\\p{Emoji}\\uFE0F\\u20E3?))*","yu"),Sy=/(?:[\x20-\x7E\xA0-\xFF](?!\uFE0F)){1,1000}/y,Ny=new RegExp("\\p{M}+","gu"),Ry={limit:1/0,ellipsis:""},Mh=(t,e={},A={})=>{let r=e.limit??1/0,s=e.ellipsis??"",n=e?.ellipsisWidth??(s?Mh(s,Ry,A).width:0),i=0,o=A.controlWidth??0,a=A.tabWidth??8,c=A.emojiWidth??2,g=2,d=A.regularWidth??1,I=A.wideWidth??g,E=[[Sy,d],[yy,i],[wy,o],[Dy,a],[_h,c],[Uh,I]],C=0,y=0,w=t.length,p=0,R=!1,D=w,q=Math.max(0,r-n),se=0,ne=0,F=0,U=0;e:for(;;){if(ne>se||y>=w&&y>C){let O=t.slice(se,ne)||t.slice(C,y);p=0;for(let re of O.replaceAll(Ny,"")){let fe=re.codePointAt(0)||0;if(kh(fe)?U=g:Th(fe)?U=I:U=d,F+U>q&&(D=Math.min(D,Math.max(se,C)+p)),F+U>r){R=!0;break e}p+=re.length,F+=U}se=ne=0}if(y>=w)break e;for(let O=0,re=E.length;Oq&&(D=Math.min(D,y+Math.floor((q-F)/pe))),F+U>r){R=!0;break e}F+=U,se=C,ne=y,y=C=fe.lastIndex;continue e}}y+=1}return{width:R?q:F,index:R?D:w,truncated:R,ellipsed:R&&r>=n}},vh=Mh;var Fy={limit:1/0,ellipsis:"",ellipsisWidth:0},by=(t,e={})=>vh(t,Fy,e).width,Dt=by;var Xn="\x1B",Gh="\x9B",ky=39,pa="\x07",Hh="[",Ty="]",Ph="m",ma=`${Ty}8;;`,xh=new RegExp(`(?:\\${Hh}(?\\d+)m|\\${ma}(?.*)${pa})`,"y"),Lh=t=>{if(t>=30&&t<=37||t>=90&&t<=97)return 39;if(t>=40&&t<=47||t>=100&&t<=107)return 49;if(t===1||t===2)return 22;if(t===3)return 23;if(t===4)return 24;if(t===7)return 27;if(t===8)return 28;if(t===9)return 29;if(t===0)return 0},Yh=t=>`${Xn}${Hh}${t}${Ph}`,Oh=t=>`${Xn}${ma}${t}${pa}`,fa=(t,e,A)=>{let r=e[Symbol.iterator](),s=!1,n=!1,i=t.at(-1),o=i===void 0?0:Dt(i),a=r.next(),c=r.next(),g=0;for(;!a.done;){let d=a.value,I=Dt(d);o+I<=A?t[t.length-1]+=d:(t.push(d),o=0),(d===Xn||d===Gh)&&(s=!0,n=e.startsWith(ma,g+1)),s?n?d===pa&&(s=!1,n=!1):d===Ph&&(s=!1):(o+=I,o===A&&!c.done&&(t.push(""),o=0)),a=c,c=r.next(),g+=d.length}i=t.at(-1),!o&&i!==void 0&&i.length&&t.length>1&&(t[t.length-2]+=t.pop())},Uy=t=>{let e=t.split(" "),A=e.length;for(;A&&!Dt(e[A-1]);)A--;return A===e.length?t:e.slice(0,A).join(" ")+e.slice(A).join("")},_y=(t,e,A={})=>{if(A.trim!==!1&&t.trim()==="")return"";let r="",s,n,i=t.split(" "),o=[""],a=0;for(let d=0;d=e&&(A.wordWrap===!1||A.trim===!1)&&(o.push(""),a=0),(a||A.trim===!1)&&(o[o.length-1]+=" ",a++));let E=Dt(I);if(A.hard&&E>e){let C=e-a,y=1+Math.floor((E-C-1)/e);Math.floor((E-1)/e)e&&a&&E){if(A.wordWrap===!1&&ae&&A.wordWrap===!1){fa(o,I,e),a=Dt(o.at(-1)??"");continue}o[o.length-1]+=I,a+=E}A.trim!==!1&&(o=o.map(d=>Uy(d)));let c=o.join(` +`),g=!1;for(let d=0;d="\uD800"&&I<="\uDBFF",g)continue;if(I===Xn||I===Gh){xh.lastIndex=d+1;let C=xh.exec(c)?.groups;if(C?.code!==void 0){let y=Number.parseFloat(C.code);s=y===ky?void 0:y}else C?.uri!==void 0&&(n=C.uri.length===0?void 0:C.uri)}if(c[d+1]===` +`){n&&(r+=Oh(""));let E=s?Lh(s):void 0;s&&E&&(r+=Yh(E))}else I===` +`&&(s&&Lh(s)&&(r+=Yh(s)),n&&(r+=Oh(n)))}return r},My=/\r?\n/;function Ns(t,e,A){return String(t).normalize().split(My).map(r=>_y(r,e,A)).join(` +`)}var We=De(wa(),1);import{ReadStream as xY}from"tty";var Gy=["up","down","left","right","space","enter","cancel"],Hy=["January","February","March","April","May","June","July","August","September","October","November","December"],St={actions:new Set(Gy),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]]),messages:{cancel:"Canceled",error:"Something went wrong"},withGuide:!0,date:{monthNames:[...Hy],messages:{required:"Please enter a valid date",invalidMonth:"There are only 12 months in a year",invalidDay:(t,e)=>`There are only ${t} days in ${e}`,afterMin:t=>`Date must be on or after ${t.toISOString().slice(0,10)}`,beforeMax:t=>`Date must be on or before ${t.toISOString().slice(0,10)}`}}};function jh(t,e){if(typeof t=="string")return St.aliases.get(t)===e;for(let A of t)if(A!==void 0&&jh(A,e))return!0;return!1}function Py(t,e){if(t===e)return;let A=t.split(` +`),r=e.split(` +`),s=Math.max(A.length,r.length),n=[];for(let i=0;i"columns"in t&&typeof t.columns=="number"?t.columns:80,qh=t=>"rows"in t&&typeof t.rows=="number"?t.rows:20;function $h(t,e,A,r=A,s=A,n){let i=Wh(t??Jh);return Ns(e,i-A.length,{hard:!0,trim:!1}).split(` +`).map((o,a,c)=>{let g=n?n(o,a):o;return a===0?`${r}${g}`:a===c.length-1?`${s}${g}`:`${A}${g}`}).join(` +`)}var Zh=class{input;output;_abortSignal;rl;opts;_render;_track=!1;_prevFrame="";_subscribers=new Map;_cursor=0;state="initial";error="";value;userInput="";constructor(t,e=!0){let{input:A=Yy,output:r=Jh,render:s,signal:n,...i}=t;this.opts=i,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=s.bind(this),this._track=e,this._abortSignal=n,this.input=A,this.output=r}unsubscribe(){this._subscribers.clear()}setSubscriber(t,e){let A=this._subscribers.get(t)??[];A.push(e),this._subscribers.set(t,A)}on(t,e){this.setSubscriber(t,{cb:e})}once(t,e){this.setSubscriber(t,{cb:e,once:!0})}emit(t,...e){let A=this._subscribers.get(t)??[],r=[];for(let s of A)s.cb(...e),s.once&&r.push(()=>A.splice(A.indexOf(s),1));for(let s of r)s()}prompt(){return new Promise(t=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),t(Da);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}this.rl=Oy.createInterface({input:this.input,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),this.rl.prompt(),this.opts.initialUserInput!==void 0&&this._setUserInput(this.opts.initialUserInput,!0),this.input.on("keypress",this.onKeypress),Kn(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(We.cursor.show),this.output.off("resize",this.render),Kn(this.input,!1),t(this.value)}),this.once("cancel",()=>{this.output.write(We.cursor.show),this.output.off("resize",this.render),Kn(this.input,!1),t(Da)})})}_isActionKey(t,e){return t===" "}_shouldSubmit(t,e){return!0}_setValue(t){this.value=t,this.emit("value",this.value)}_setUserInput(t,e){this.userInput=t??"",this.emit("userInput",this.userInput),e&&this._track&&this.rl&&(this.rl.write(this.userInput),this._cursor=this.rl.cursor)}_clearUserInput(){this.rl?.write(null,{ctrl:!0,name:"u"}),this._setUserInput("")}onKeypress(t,e){if(this._track&&e.name!=="return"&&(e.name&&this._isActionKey(t,e)&&this.rl?.write(null,{ctrl:!0,name:"h"}),this._cursor=this.rl?.cursor??0,this._setUserInput(this.rl?.line)),this.state==="error"&&(this.state="active"),e?.name&&(!this._track&&St.aliases.has(e.name)&&this.emit("cursor",St.aliases.get(e.name)),St.actions.has(e.name)&&this.emit("cursor",e.name)),t&&(t.toLowerCase()==="y"||t.toLowerCase()==="n")&&this.emit("confirm",t.toLowerCase()==="y"),this.emit("key",t?.toLowerCase(),e),e?.name==="return"&&this._shouldSubmit(t,e)){if(this.opts.validate){let A=this.opts.validate(this.value);A&&(this.error=A instanceof Error?A.message:A,this.state="error",this.rl?.write(this.userInput))}this.state!=="error"&&(this.state="submit")}jh([t,e?.name,e?.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(` +`),Kn(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let t=Ns(this._prevFrame,process.stdout.columns,{hard:!0,trim:!1}).split(` +`).length-1;this.output.write(We.cursor.move(-999,t*-1))}render(){let t=Ns(this._render(this)??"",process.stdout.columns,{hard:!0,trim:!1});if(t!==this._prevFrame){if(this.state==="initial")this.output.write(We.cursor.hide);else{let e=Py(this._prevFrame,t),A=qh(this.output);if(this.restoreCursor(),e){let r=Math.max(0,e.numLinesAfter-A),s=Math.max(0,e.numLinesBefore-A),n=e.lines.find(i=>i>=r);if(n===void 0){this._prevFrame=t;return}if(e.lines.length===1){this.output.write(We.cursor.move(0,n-s)),this.output.write(We.erase.lines(1));let i=t.split(` +`);this.output.write(i[n]),this._prevFrame=t,this.output.write(We.cursor.move(0,i.length-n-1));return}else if(e.lines.length>1){if(r0&&this.output.write(We.cursor.move(0,o))}this.output.write(We.erase.down());let i=t.split(` +`).slice(n);this.output.write(i.join(` +`)),this._prevFrame=t;return}}this.output.write(We.erase.down())}this.output.write(t),this.state==="initial"&&(this.state="active"),this._prevFrame=t}}};var zn=class extends Zh{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on("userInput",()=>{this.value=this._value}),this.on("confirm",A=>{this.output.write(We.cursor.move(0,-1)),this.value=A,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}};var ei=class extends Zh{get userInputWithCursor(){if(this.state==="submit")return this.userInput;let e=this.userInput;if(this.cursor>=e.length)return`${this.userInput}\u2588`;let A=e.slice(0,this.cursor),[r,...s]=e.slice(this.cursor);return`${A}${Ly("inverse",r)}${s.join("")}`}get cursor(){return this._cursor}constructor(e){super({...e,initialUserInput:e.initialUserInput??e.initialValue}),this.on("userInput",A=>{this._setValue(A)}),this.on("finalize",()=>{this.value||(this.value=e.defaultValue),this.value===void 0&&(this.value="")})}};import{styleText as G,stripVTControlCharacters as eO}from"util";import dt from"process";var zh=De(wa(),1);import{existsSync as nO,lstatSync as iO,readdirSync as oO}from"fs";import{dirname as cO,join as gO}from"path";function Vy(){return dt.platform!=="win32"?dt.env.TERM!=="linux":!!dt.env.CI||!!dt.env.WT_SESSION||!!dt.env.TERMINUS_SUBLIME||dt.env.ConEmuTask==="{cmd::Cmder}"||dt.env.TERM_PROGRAM==="Terminus-Sublime"||dt.env.TERM_PROGRAM==="vscode"||dt.env.TERM==="xterm-256color"||dt.env.TERM==="alacritty"||dt.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Jy=Vy();var te=(t,e)=>Jy?t:e,jy=te("\u25C6","*"),Wy=te("\u25A0","x"),qy=te("\u25B2","x"),ed=te("\u25C7","o"),lO=te("\u250C","T"),Ue=te("\u2502","|"),Ai=te("\u2514","\u2014"),uO=te("\u2510","T"),hO=te("\u2518","\u2014"),Xh=te("\u25CF",">"),Kh=te("\u25CB"," "),dO=te("\u25FB","[\u2022]"),EO=te("\u25FC","[+]"),IO=te("\u25FB","[ ]"),QO=te("\u25AA","\u2022"),CO=te("\u2500","-"),BO=te("\u256E","+"),fO=te("\u251C","+"),pO=te("\u256F","+"),mO=te("\u2570","+"),yO=te("\u256D","+"),$y=te("\u25CF","\u2022"),Zy=te("\u25C6","*"),Xy=te("\u25B2","!"),Ky=te("\u25A0","x"),td=t=>{switch(t){case"initial":case"active":return G("cyan",jy);case"cancel":return G("red",Wy);case"error":return G("yellow",qy);case"submit":return G("green",ed)}};var Sa=t=>{let e=t.active??"Yes",A=t.inactive??"No";return new zn({active:e,inactive:A,signal:t.signal,input:t.input,output:t.output,initialValue:t.initialValue??!0,render(){let r=t.withGuide??St.withGuide,s=`${td(this.state)} `,n=r?`${G("gray",Ue)} `:"",i=$h(t.output,t.message,n,s),o=`${r?`${G("gray",Ue)} +`:""}${i} +`,a=this.value?e:A;switch(this.state){case"submit":{let c=r?`${G("gray",Ue)} `:"";return`${o}${c}${G("dim",a)}`}case"cancel":{let c=r?`${G("gray",Ue)} `:"";return`${o}${c}${G(["strikethrough","dim"],a)}${r?` +${G("gray",Ue)}`:""}`}default:{let c=r?`${G("cyan",Ue)} `:"",g=r?G("cyan",Ai):"";return`${o}${c}${this.value?`${G("green",Xh)} ${e}`:`${G("dim",Kh)} ${G("dim",e)}`}${t.vertical?r?` +${G("cyan",Ue)} `:` +`:` ${G("dim","/")} `}${this.value?`${G("dim",Kh)} ${G("dim",A)}`:`${G("green",Xh)} ${A}`} +${g} +`}}}}).prompt()};var Fe={message:(t=[],{symbol:e=G("gray",Ue),secondarySymbol:A=G("gray",Ue),output:r=process.stdout,spacing:s=1,withGuide:n}={})=>{let i=[],o=n??St.withGuide,a=o?A:"",c=o?`${e} `:"",g=o?`${A} `:"";for(let I=0;I0){let[I,...E]=d;I.length>0?i.push(`${c}${I}`):i.push(o?e:"");for(let C of E)C.length>0?i.push(`${g}${C}`):i.push(o?A:"")}r.write(`${i.join(` +`)} +`)},info:(t,e)=>{Fe.message(t,{...e,symbol:G("blue",$y)})},success:(t,e)=>{Fe.message(t,{...e,symbol:G("green",Zy)})},step:(t,e)=>{Fe.message(t,{...e,symbol:G("green",ed)})},warn:(t,e)=>{Fe.message(t,{...e,symbol:G("yellow",Xy)})},warning:(t,e)=>{Fe.warn(t,e)},error:(t,e)=>{Fe.message(t,{...e,symbol:G("red",Ky)})}},Rs=(t="",e)=>{let A=e?.output??process.stdout,r=e?.withGuide??St.withGuide?`${G("gray",Ai)} `:"";A.write(`${r}${G("red",t)} + +`)};var wO={light:te("\u2500","-"),heavy:te("\u2501","="),block:te("\u2588","#")};var DO=`${G("gray",Ue)} `;var ri=t=>new ei({validate:t.validate,placeholder:t.placeholder,defaultValue:t.defaultValue,initialValue:t.initialValue,output:t.output,signal:t.signal,input:t.input,render(){let e=t?.withGuide??St.withGuide,A=`${`${e?`${G("gray",Ue)} +`:""}${td(this.state)} `}${t.message} +`,r=t.placeholder?G("inverse",t.placeholder[0])+G("dim",t.placeholder.slice(1)):G(["inverse","hidden"],"_"),s=this.userInput?this.userInputWithCursor:r,n=this.value??"";switch(this.state){case"error":{let i=this.error?` ${G("yellow",this.error)}`:"",o=e?`${G("yellow",Ue)} `:"",a=e?G("yellow",Ai):"";return`${A.trim()} +${o}${s} +${a}${i} +`}case"submit":{let i=n?` ${G("dim",n)}`:"",o=e?G("gray",Ue):"";return`${A}${o}${i}`}case"cancel":{let i=n?` ${G(["strikethrough","dim"],n)}`:"",o=e?G("gray",Ue):"";return`${A}${o}${i}${n.trim()?` +${o}`:""}`}default:{let i=e?`${G("cyan",Ue)} `:"",o=e?G("cyan",Ai):"";return`${A}${i}${s} +${o} +`}}}}).prompt();l();l();var e0=/\d/,t0=["-","_","/","."];function A0(t=""){if(!e0.test(t))return t!==t.toLowerCase()}function Ad(t,e){let A=e??t0,r=[];if(!t||typeof t!="string")return r;let s="",n,i;for(let o of t){let a=A.includes(o);if(a===!0){r.push(s),s="",n=void 0;continue}let c=A0(o);if(i===!1){if(n===!1&&c===!0){r.push(s),s=o,n=c;continue}if(n===!0&&c===!1&&s.length>1){let g=s.at(-1);r.push(s.slice(0,Math.max(0,s.length-1))),s=g+o,n=c;continue}}s+=o,n=c,i=a}return r.push(s),r}function r0(t){return t?t[0].toUpperCase()+t.slice(1):""}function s0(t){return t?t[0].toLowerCase()+t.slice(1):""}function n0(t,e){return t?(Array.isArray(t)?t:Ad(t)).map(A=>r0(e?.normalize?A.toLowerCase():A)).join(""):""}function Fs(t,e){return s0(n0(t||"",e))}function si(t,e){return t?(Array.isArray(t)?t:Ad(t)).map(A=>A.toLowerCase()).join(e??"-"):""}function rd(t){return si(t||"","_")}import{parseArgs as i0}from"util";function bs(t){return Array.isArray(t)?t:t===void 0?[]:[t]}function Na(t,e=""){let A=[];for(let r of t)for(let[s,n]of r.entries())A[s]=Math.max(A[s]||0,n.length);return t.map(r=>r.map((s,n)=>e+s[n===0?"padStart":"padEnd"](A[n])).join(" ")).join(` +`)}function be(t){return typeof t=="function"?t():t}var Ot=class extends Error{code;constructor(t,e){super(t),this.name="CLIError",this.code=e}};function o0(t=[],e={}){let A=new Set(e.boolean||[]),r=new Set(e.string||[]),s=e.alias||{},n=e.default||{},i=new Map,o=new Map;for(let[w,p]of Object.entries(s)){let R=p;for(let D of R)i.set(w,D),o.has(D)||o.set(D,[]),o.get(D).push(w),i.set(D,w),o.has(w)||o.set(w,[]),o.get(w).push(D)}let a={};function c(w){if(A.has(w))return"boolean";let p=o.get(w)||[];for(let R of p)if(A.has(R))return"boolean";return"string"}function g(w){if(r.has(w))return!0;let p=o.get(w)||[];for(let R of p)if(r.has(R))return!0;return!1}let d=new Set([...A,...r,...Object.keys(s),...Object.values(s).flat(),...Object.keys(n)]);for(let w of d)a[w]||(a[w]={type:c(w),default:n[w]});for(let[w,p]of i.entries())w.length===1&&a[p]&&!a[p].short&&(a[p].short=w);let I=[],E={};for(let w=0;w0?a:void 0,allowPositionals:!0,strict:!1})}catch{C={values:{},positionals:I}}let y={_:[]};y._=C.positionals;for(let[w,p]of Object.entries(C.values)){let R=p;c(w)==="boolean"&&typeof p=="string"?R=p!=="false":g(w)&&typeof p=="boolean"&&(R=""),y[w]=R}for(let[w]of Object.entries(E)){y[w]=!1;let p=i.get(w);p&&(y[p]=!1);let R=o.get(w);if(R)for(let D of R)y[D]=!1}for(let[w,p]of i.entries())y[w]!==void 0&&y[p]===void 0&&(y[p]=y[w]),y[p]!==void 0&&y[w]===void 0&&(y[w]=y[p]),y[w]!==y[p]&&n[p]===y[p]&&(y[p]=y[w]);return y}var a0=(()=>{let t=globalThis.process?.env??{};return t.NO_COLOR==="1"||t.TERM==="dumb"||t.TEST||t.CI})(),ai=(t,e=39)=>A=>a0?A:`\x1B[${t}m${A}\x1B[${e}m`,ni=ai(1,22),Et=ai(36),oi=ai(90),ii=ai(4,24);function c0(t,e){let A={boolean:[],string:[],alias:{},default:{}},r=id(e);for(let o of r){if(o.type==="positional")continue;o.type==="string"||o.type==="enum"?A.string.push(o.name):o.type==="boolean"&&A.boolean.push(o.name),o.default!==void 0&&(A.default[o.name]=o.default),o.alias&&(A.alias[o.name]=o.alias);let a=Fs(o.name),c=si(o.name);if(a!==o.name||c!==o.name){let g=bs(A.alias[o.name]||[]);a!==o.name&&!g.includes(a)&&g.push(a),c!==o.name&&!g.includes(c)&&g.push(c),g.length>0&&(A.alias[o.name]=g)}}let s=o0(t,A),[...n]=s._,i=new Proxy(s,{get(o,a){return o[a]??o[Fs(a)]??o[si(a)]}});for(let[,o]of r.entries())if(o.type==="positional"){let a=n.shift();if(a!==void 0)i[o.name]=a;else{if(o.default===void 0&&o.required!==!1)throw new Ot(`Missing required positional argument: ${o.name.toUpperCase()}`,"EARG");i[o.name]=o.default}}else if(o.type==="enum"){let a=i[o.name],c=o.options||[];if(a!==void 0&&c.length>0&&!c.includes(a))throw new Ot(`Invalid value for argument: ${Et(`--${o.name}`)} (${Et(a)}). Expected one of: ${c.map(g=>Et(g)).join(", ")}.`,"EARG")}else if(o.required&&i[o.name]===void 0)throw new Ot(`Missing required argument: --${o.name}`,"EARG");return i}function id(t){let e=[];for(let[A,r]of Object.entries(t||{}))e.push({...r,name:A,alias:bs(r.alias)});return e}async function g0(t){return Promise.all(t.map(e=>be(e)))}async function Fa(t,e){let A=await be(t.args||{}),r=c0(e.rawArgs,A),s={rawArgs:e.rawArgs,args:r,data:e.data,cmd:t},n=await g0(t.plugins??[]),i,o;try{for(let g of n)await g.setup?.(s);typeof t.setup=="function"&&await t.setup(s);let c=await be(t.subCommands);if(c&&Object.keys(c).length>0){let g=od(e.rawArgs,A),d=e.rawArgs[g];if(d){let I=await ka(c,d);if(!I)throw new Ot(`Unknown command ${Et(d)}`,"E_UNKNOWN_COMMAND");await Fa(I,{rawArgs:e.rawArgs.slice(g+1)})}else{let I=await be(t.default);if(I){if(t.run)throw new Ot("Cannot specify both 'run' and 'default' on the same command.","E_DEFAULT_CONFLICT");let E=await ka(c,I);if(!E)throw new Ot(`Default sub command ${Et(I)} not found in subCommands.`,"E_UNKNOWN_COMMAND");await Fa(E,{rawArgs:e.rawArgs})}else if(!t.run)throw new Ot("No command specified.","E_NO_COMMAND")}}typeof t.run=="function"&&(i=await t.run(s))}catch(c){o=c}let a=[];if(typeof t.cleanup=="function")try{await t.cleanup(s)}catch(c){a.push(c)}for(let c of[...n].reverse())try{await c.cleanup?.(s)}catch(g){a.push(g)}if(o)throw o;if(a.length===1)throw a[0];if(a.length>1)throw new Error("Multiple cleanup errors",{cause:a});return{result:i}}async function ba(t,e,A){let r=await be(t.subCommands);if(r&&Object.keys(r).length>0){let s=od(e,await be(t.args||{})),n=e[s],i=await ka(r,n);if(i)return ba(i,e.slice(s+1),t)}return[t,A]}async function ka(t,e){if(e in t)return be(t[e]);for(let A of Object.values(t)){let r=await be(A),s=await be(r?.meta);if(s?.alias&&bs(s.alias).includes(e))return r}}function od(t,e){for(let A=0;A`:`[${C}]`)}else{let C=E.required===!0&&E.default===void 0,y=[...(E.alias||[]).map(w=>`-${w}`),`--${E.name}`].join(", ")+Ra(E);if(i.push([Et(y),sd(E,C)]),E.type==="boolean"&&(E.default===!0||E.negativeDescription)&&!h0.test(E.name)){let w=[...(E.alias||[]).map(p=>`--no-${p}`),`--no-${E.name}`].join(", ");i.push([Et(w),[E.negativeDescription,C?oi("(Required)"):""].filter(Boolean).join(" ")])}C&&c.push(`--${E.name}`+Ra(E))}if(t.subCommands){let E=[],C=await be(t.subCommands);for(let[y,w]of Object.entries(C)){let p=await be((await be(w))?.meta);if(p?.hidden)continue;let R=bs(p?.alias),D=[y,...R].join(", ");a.push([Et(D),p?.description||""]),E.push(y,...R)}c.push(E.join("|"))}let g=[],d=A.version||s.version;g.push(oi(`${A.description} (${n+(d?` v${d}`:"")})`),"");let I=i.length>0||o.length>0;return g.push(`${ii(ni("USAGE"))} ${Et(`${n}${I?" [OPTIONS]":""} ${c.join(" ")}`)}`,""),o.length>0&&(g.push(ii(ni("ARGUMENTS")),""),g.push(Na(o," ")),g.push("")),i.length>0&&(g.push(ii(ni("OPTIONS")),""),g.push(Na(i," ")),g.push("")),a.length>0&&(g.push(ii(ni("COMMANDS")),""),g.push(Na(a," ")),g.push("",`Use ${Et(`${n} --help`)} for more information about a command.`)),g.filter(E=>typeof E=="string").join(` +`)}function Ra(t){let e=t.valueHint?`=<${t.valueHint}>`:"",A=e||`=<${rd(t.name)}>`;return!t.type||t.type==="positional"||t.type==="boolean"?e:t.type==="enum"&&t.options?.length?`=<${t.options.join("|")}>`:A}function sd(t,e){let A=e?oi("(Required)"):"",r=t.default===void 0?"":oi(`(Default: ${t.default})`);return[t.description,A,r].filter(Boolean).join(" ")}async function ad(t,e={}){let A=e.rawArgs||process.argv.slice(2),r=e.showUsage||u0;try{let s=await E0(t);if(s.help.length>0&&A.some(n=>s.help.includes(n)))await r(...await ba(t,A)),process.exit(0);else if(A.length===1&&s.version.includes(A[0])){let n=typeof t.meta=="function"?await t.meta():await t.meta;if(!n?.version)throw new Ot("No version specified","E_NO_VERSION");console.log(n.version)}else await Fa(t,{rawArgs:A})}catch(s){s instanceof Ot?(await r(...await ba(t,A)),console.error(s.message)):console.error(s,` +`),process.exit(1)}}async function E0(t){let e=await be(t.args||{}),A=new Set,r=new Set;for(let[s,n]of Object.entries(e)){A.add(s);for(let i of bs(n.alias))r.add(i)}return{help:nd("help","h",A,r),version:nd("version","v",A,r)}}function nd(t,e,A,r){return A.has(t)||r.has(t)?[]:A.has(e)||r.has(e)?[`--${t}`]:[`--${t}`,`-${e}`]}var v=De(ks(),1);l();$a();async function Za(t){let e=process.env;if(e.VERCEL_TOKEN&&e.VERCEL_TEAM_ID&&e.VERCEL_PROJECT_ID)return{kind:"explicit",credentials:{token:e.VERCEL_TOKEN,teamId:e.VERCEL_TEAM_ID,projectId:e.VERCEL_PROJECT_ID}};if(e.VERCEL_OIDC_TOKEN)return{kind:"oidc"};let A=mi();if(!A?.token)return{kind:"anonymous"};if(A.refreshToken&&A.expiresAt&&A.expiresAt.getTime()<=Date.now())try{let i=await(await Si()).refreshToken(A.refreshToken);A={token:i.access_token,refreshToken:i.refresh_token??A.refreshToken,expiresAt:new Date(Date.now()+i.expires_in*1e3)},xr(A)}catch{}let r=A.token;if(!r)return{kind:"anonymous"};let s;try{s=await bi({token:r,cwd:t})}catch(n){throw n instanceof Error&&n.message.includes("--scope")?new Error(n.message.replace(/\. Specify a team explicitly with --scope \./,". Set VERCEL_TEAM_ID= to specify a team explicitly.")):n}return{kind:"cli",credentials:{token:r,teamId:s.teamId,projectId:s.projectId}}}function Xa(t){return t.kind==="explicit"||t.kind==="cli"?t.credentials:void 0}l();import{createHash as Jd,randomUUID as jd}from"crypto";import{mkdir as Ac,open as rD,readFile as rc,rename as sD,rm as nD,unlink as iD,writeFile as oD}from"fs/promises";import Or from"path";l();import ue from"path";import Pd from"os";import za from"process";l();var O2=Object.freeze([""," ",".",".."," .",". "," ..",".. ","../","../foo","foo/../bar","foo/bar","foo\\bar","foo\0bar"]);function Hd(t){if(typeof t!="string")return!1;let e=t.trim();return e!==""&&e!=="."&&e!==".."&&!t.includes("/")&&!t.includes("\\")&&!t.includes("\0")}function Ka(t){if(typeof t!="string")throw new TypeError("Expected a string");if(!Hd(t))throw new Error(`Unsafe filename: ${JSON.stringify(t)}`)}var QA=Pd.homedir(),ec=Pd.tmpdir(),{env:Yr}=za,eD=t=>{let e=ue.join(QA,"Library");return{data:ue.join(e,"Application Support",t),config:ue.join(e,"Preferences",t),cache:ue.join(e,"Caches",t),log:ue.join(e,"Logs",t),temp:ue.join(ec,t)}},tD=t=>{let e=Yr.APPDATA||ue.join(QA,"AppData","Roaming"),A=Yr.LOCALAPPDATA||ue.join(QA,"AppData","Local");return{data:ue.join(A,t,"Data"),config:ue.join(e,t,"Config"),cache:ue.join(A,t,"Cache"),log:ue.join(A,t,"Log"),temp:ue.join(ec,t)}},AD=t=>{let e=ue.basename(QA);return{data:ue.join(Yr.XDG_DATA_HOME||ue.join(QA,".local","share"),t),config:ue.join(Yr.XDG_CONFIG_HOME||ue.join(QA,".config"),t),cache:ue.join(Yr.XDG_CACHE_HOME||ue.join(QA,".cache"),t),log:ue.join(Yr.XDG_STATE_HOME||ue.join(QA,".local","state"),t),temp:ue.join(ec,e,t)}};function tc(t,{suffix:e="nodejs"}={}){return Ka(t),e&&(t+=`-${e}`),Ka(t),za.platform==="darwin"?eD(t):za.platform==="win32"?tD(t):AD(t)}async function Ls(t,e,A={}){let r=`${t}.${process.pid}.${jd()}.tmp`;try{await oD(r,e,A.mode===void 0?void 0:{mode:A.mode}),await sD(r,t)}catch(s){throw await nD(r,{force:!0}).catch(()=>{}),s}}function sc(){let t=process.env.DEV_STATE_DIR;if(t)return{config:t,cache:t};let e=tc("dev",{suffix:""});return{config:e.config,cache:e.cache}}function Ti(t,e){return`dev-${Jd("sha256").update(t).update("\0").update(e).digest("hex").slice(0,12)}`}function ki(){return Or.join(sc().config,"projects.json")}function aD(){return Or.join(sc().config,"installation.json")}async function Ui(){let t=aD();try{let A=JSON.parse(await rc(t,"utf8"));if(!A||typeof A!="object"||Array.isArray(A)||typeof A.id!="string"||!A.id)throw new Error("expected an object with a non-empty id");return A.id}catch(A){if(A.code!=="ENOENT")throw new Error(`Could not read installation state at ${t}: ${A.message}`,{cause:A})}let e=jd();return await Ac(Or.dirname(t),{recursive:!0,mode:448}),await Ls(t,`${JSON.stringify({id:e},null,2)} +`,{mode:384}),e}async function CA(){try{let t=JSON.parse(await rc(ki(),"utf8"));if(!t||typeof t!="object"||Array.isArray(t)||!("projects"in t)||!t.projects||typeof t.projects!="object"||Array.isArray(t.projects))throw new Error("expected an object with a projects map");return t}catch(t){if(t.code==="ENOENT")return{projects:{}};throw new Error(`Could not read state at ${ki()}: ${t.message}`,{cause:t})}}async function cD(t){let e=ki();await Ac(Or.dirname(e),{recursive:!0,mode:448}),await Ls(e,`${JSON.stringify(t,null,2)} +`,{mode:384})}function _i(t){return typeof t?.sandbox=="string"&&t.sandbox?t.sandbox:void 0}var Vd=Promise.resolve();async function Ys(t){let e=Vd.then(async()=>{let A=`${ki()}.lock`,r=Date.now()+2e3;for(;;)try{await(await rD(A,"wx")).close();break}catch(s){if(s.code!=="EEXIST")throw s;if(Date.now()>=r)break;await new Promise(n=>setTimeout(n,50))}try{let s=await CA();await t(s),await cD(s)}finally{await iD(A).catch(()=>{})}});return Vd=e.catch(()=>{}),e}async function Wd(t){await Ys(e=>{e.projects[t.dir]={...e.projects[t.dir],...t}})}async function nc(t){return _i((await CA()).projects[t])??Ti(t,await Ui())}async function qd(t){return(await CA()).projects[t]?.timings??{}}async function $d(t,e){await Ys(A=>{let r=A.projects[t];r&&(r.timings={...r.timings,...e})})}async function Zd(t){return(await CA()).projects[t]?.launchProfile}async function Xd(t,e){let A=await Ui();await Ys(r=>{let s=r.projects[t];r.projects[t]={dir:t,sandbox:_i(s)??Ti(t,A),updatedAt:s?.updatedAt??Date.now(),...s,launchProfile:e}})}async function Kd(t){return(await CA()).projects[t]?.sensitiveConfigUsed===!0}async function zd(t){let e=(await CA()).projects[t]?.envFile;return typeof e=="string"||e===null?e:void 0}async function eE(t,e){let A=await Ui();await Ys(r=>{let s=r.projects[t];r.projects[t]={dir:t,sandbox:_i(s)??Ti(t,A),updatedAt:s?.updatedAt??Date.now(),...s,envFile:e}})}function tE(t,e,A=!1){return Jd("sha256").update(JSON.stringify({installCommand:t.installCommand,devCommand:t.devCommand,dependencyFiles:[...t.dependencyFiles].sort(),hasEnvFile:e,includeSensitiveConfig:A})).digest("hex")}async function AE(t,e,A,r=!1){let n=(await CA()).projects[t]?.trustedSharedCommandKeys;return Array.isArray(n)&&n.includes(tE(e,A,r))}async function ic(t,e,A,r=!1){let s=await Ui(),n=tE(e,A,r);await Ys(i=>{let o=i.projects[t],a=Array.isArray(o?.trustedSharedCommandKeys)?o.trustedSharedCommandKeys.filter(g=>typeof g=="string"):[],c=new Set(a);c.add(n),i.projects[t]={dir:t,sandbox:_i(o)??Ti(t,s),updatedAt:o?.updatedAt??Date.now(),...o,trustedSharedCommandKeys:[...c]}})}async function rE(){let t=await CA();return Object.values(t.projects).sort((e,A)=>A.updatedAt-e.updatedAt)}function sE(t){return Or.join(sc().cache,`${t}.manifest.json`)}async function oc(t){try{return JSON.parse(await rc(sE(t),"utf8"))}catch{return{}}}async function ac(t,e){let A=sE(t);await Ac(Or.dirname(A),{recursive:!0,mode:448}),await Ls(A,JSON.stringify(e),{mode:384})}l();import nE from"path";var gD=4096;function iE(t,e="dependencyFiles"){let A=nE.posix.normalize(t);if(!t||t.includes("\0")||nE.posix.isAbsolute(t)||A==="."||A===".."||A.startsWith("../")||A!==t||t.length>gD)throw new Error(`${e}: unsafe dependency file pattern ${JSON.stringify(t)}.`);return t}function lD(t){let e=[];for(let A=0;A=0;i--){let o=A[i];if(!o)continue;let a=A[i+1],c=new Uint8Array(r+1);for(let g=r;g>=0;g--)o.kind==="literal"?c[g]=g{switch(o){case"n":return` +`;case"r":return"\r";case"t":return" ";case'"':return'"';case"\\":return"\\";default:return o}})}function gE(t,e){let A=0;for(let r=e-1;r>=0&&t[r]==="\\";r--)A++;return A%2===1}function ID(t){for(let e=1;e=A.length)throw new Error(`Unterminated quoted value in env file at line ${s}.`);I+=` +${A[r]??""}`}e[c]=aE(I,'"',s);continue}if(g.startsWith("'")){e[c]=aE(g,"'",s);continue}let d=g.search(/\s#/);e[c]=(d===-1?g:g.slice(0,d)).trim()}return e}function CD(t,e){let A=Ft.relative(t,e);return A===""||!A.startsWith("..")&&!Ft.isAbsolute(A)}async function Mi(t,e){let A=dD(e),r=Ft.resolve(t,A),s=Ft.relative(t,r).split(Ft.sep).join("/");if(!s||s.startsWith("../")||Ft.isAbsolute(s))throw new Error(`Env file must stay inside the project: ${JSON.stringify(e)}.`);if((await cE(r)).isSymbolicLink())throw new Error(`Env file is not a regular file: ${JSON.stringify(r)}.`);let[n,i]=await Promise.all([oE(t),oE(r)]);if(!CD(n,i))throw new Error(`Env file must stay inside the project: ${JSON.stringify(e)}.`);return{rel:s,values:QD(await ED(r))}}async function lE(t){let e=".env.local";try{return(await cE(Ft.join(t,e))).isFile()?e:void 0}catch(A){if(A.code==="ENOENT")return;throw A}}l();import{readFile as mS,stat as yS}from"fs/promises";import HE from"path";l();import{readFile as nS,stat as iS}from"fs/promises";import nr from"path";l();var lc=[{name:"Blitz.js (Legacy)",slug:"blitzjs",detectors:{some:[{path:"blitz.config.js"},{path:"blitz.config.ts"}]},settings:{devCommand:{value:"blitz start"}}},{name:"Next.js",slug:"nextjs",detectors:{every:[{matchPackage:"next"}]},settings:{devCommand:{value:"next dev --port $PORT"}}},{name:"Gatsby.js",slug:"gatsby",detectors:{every:[{matchPackage:"gatsby"}]},settings:{devCommand:{value:"gatsby develop --port $PORT"}}},{name:"Remix",slug:"remix",supersedes:["hydrogen","vite","node"],detectors:{some:[{matchPackage:"@remix-run/dev"},{path:"remix.config.js"},{path:"remix.config.mjs"}]},settings:{devCommand:{value:"remix dev"}}},{name:"React Router",slug:"react-router",supersedes:["hydrogen","vite","node"],detectors:{some:[{path:"vite.config.js",matchContent:"@react-router/dev/vite"},{path:"vite.config.ts",matchContent:"@react-router/dev/vite"},{path:"react-router.config.js"},{path:"react-router.config.ts"}]},settings:{devCommand:{value:"react-router dev"}}},{name:"Astro",slug:"astro",detectors:{every:[{matchPackage:"astro"}]},settings:{devCommand:{value:"astro dev --port $PORT"}}},{name:"Hexo",slug:"hexo",detectors:{every:[{matchPackage:"hexo"}]},settings:{devCommand:{value:"hexo server --port $PORT"}}},{name:"Eleventy",slug:"eleventy",detectors:{every:[{matchPackage:"@11ty/eleventy"}]},settings:{devCommand:{value:"npx @11ty/eleventy --serve --watch --port $PORT"}}},{name:"Docusaurus (v2+)",slug:"docusaurus-2",detectors:{some:[{matchPackage:"@docusaurus/core"}]},settings:{devCommand:{value:"docusaurus start --port $PORT"}}},{name:"Docusaurus (v1)",slug:"docusaurus",detectors:{some:[{matchPackage:"docusaurus"}]},settings:{devCommand:{value:"docusaurus-start --port $PORT"}}},{name:"Preact",slug:"preact",detectors:{every:[{matchPackage:"preact-cli"}]},settings:{devCommand:{value:"preact watch --port $PORT"}}},{name:"SolidStart (v1)",slug:"solidstart-1",detectors:{every:[{matchPackage:"solid-js"},{matchPackage:"@solidjs/start"}]},settings:{devCommand:{value:"vinxi dev"}}},{name:"SolidStart (v0)",slug:"solidstart",detectors:{every:[{matchPackage:"solid-js"},{matchPackage:"solid-start"}]},settings:{devCommand:{value:"solid-start dev"}}},{name:"Dojo",slug:"dojo",detectors:{some:[{matchPackage:"@dojo/framework"},{path:".dojorc"}]},settings:{devCommand:{value:"dojo build -m dev -w -s -p $PORT"}}},{name:"Ember.js",slug:"ember",detectors:{some:[{matchPackage:"ember-source"},{matchPackage:"ember-cli"}]},settings:{devCommand:{value:"ember serve --port $PORT"}}},{name:"Vue.js",slug:"vue",detectors:{every:[{matchPackage:"@vue/cli-service"}]},settings:{devCommand:{value:"vue-cli-service serve --port $PORT"}}},{name:"Scully",slug:"scully",detectors:{every:[{matchPackage:"@scullyio/init"}]},settings:{devCommand:{value:"ng serve --port $PORT"}}},{name:"Ionic Angular",slug:"ionic-angular",detectors:{every:[{matchPackage:"@ionic/angular"}]},settings:{devCommand:{value:"ng serve --port $PORT"}}},{name:"Angular",slug:"angular",detectors:{every:[{matchPackage:"@angular/cli"}]},settings:{devCommand:{value:"ng serve --port $PORT"}}},{name:"Polymer",slug:"polymer",detectors:{every:[{matchPackage:"polymer-cli"}]},settings:{devCommand:{value:"polymer serve --port $PORT"}}},{name:"Svelte",slug:"svelte",detectors:{every:[{matchPackage:"svelte"},{matchPackage:"sirv-cli"}]},settings:{devCommand:{value:"rollup -c -w"}}},{name:"SvelteKit (v0)",slug:"sveltekit",supersedes:["vite"],detectors:{every:[{path:"package.json",matchContent:'"(dev)?(d|D)ependencies":\\s*{[^}]*"@sveltejs\\/kit":\\s*"1\\.0\\.0-next\\.(\\d+)"[^}]*}'}]},settings:{devCommand:{value:"svelte-kit dev --port $PORT"}}},{name:"SvelteKit",slug:"sveltekit-1",supersedes:["vite"],detectors:{every:[{path:"package.json",matchContent:'"(dev)?(d|D)ependencies":\\s*{[^}]*"@sveltejs\\/kit":\\s*".+?"[^}]*}'}]},settings:{devCommand:{value:"vite dev --port $PORT"}}},{name:"Ionic React",slug:"ionic-react",detectors:{every:[{matchPackage:"@ionic/react"}]},settings:{devCommand:{value:"react-scripts start"}}},{name:"Create React App",slug:"create-react-app",detectors:{some:[{matchPackage:"react-scripts"},{matchPackage:"react-dev-utils"}]},settings:{devCommand:{value:"react-scripts start"}}},{name:"Gridsome",slug:"gridsome",detectors:{every:[{matchPackage:"gridsome"}]},settings:{devCommand:{value:"gridsome develop -p $PORT"}}},{name:"UmiJS",slug:"umijs",detectors:{every:[{matchPackage:"umi"}]},settings:{devCommand:{value:"umi dev --port $PORT"}}},{name:"Sapper",slug:"sapper",detectors:{every:[{matchPackage:"sapper"}]},settings:{devCommand:{value:"sapper dev --port $PORT"}}},{name:"Saber",slug:"saber",detectors:{every:[{matchPackage:"saber"}]},settings:{devCommand:{value:"saber --port $PORT"}}},{name:"Stencil",slug:"stencil",detectors:{every:[{matchPackage:"@stencil/core"}]},settings:{devCommand:{value:"stencil build --dev --watch --serve --port $PORT"}}},{name:"Nuxt",slug:"nuxtjs",supersedes:["nitro"],detectors:{some:[{matchPackage:"nuxt"},{matchPackage:"nuxt3"},{matchPackage:"nuxt-edge"},{matchPackage:"nuxt-nightly"}]},settings:{devCommand:{value:"nuxt dev"}}},{name:"RedwoodJS",slug:"redwoodjs",detectors:{every:[{matchPackage:"@redwoodjs/core"}]},settings:{devCommand:{value:'yarn rw dev --fwd="--port=$PORT --open=false"'}}},{name:"Hugo",slug:"hugo",detectors:{some:[{path:"config.yaml",matchContent:"baseURL"},{path:"config.toml",matchContent:"baseURL"},{path:"config.json",matchContent:"baseURL"}]},settings:{devCommand:{value:"hugo server -D -w -p $PORT"}}},{name:"Jekyll",slug:"jekyll",detectors:{every:[{path:"_config.yml"}]},settings:{devCommand:{value:"bundle exec jekyll serve --watch --port $PORT"}}},{name:"Brunch",slug:"brunch",detectors:{some:[{matchPackage:"brunch"},{path:"brunch-config.js"}]},settings:{devCommand:{value:"brunch watch --server --port $PORT"}}},{name:"Middleman",slug:"middleman",detectors:{every:[{path:"config.rb"}]},settings:{devCommand:{value:"bundle exec middleman server -p $PORT"}}},{name:"Zola",slug:"zola",detectors:{every:[{path:"config.toml",matchContent:"base_url"}]},settings:{devCommand:{value:"zola serve --port $PORT"}}},{name:"Hydrogen (v1)",slug:"hydrogen",supersedes:["vite"],detectors:{some:[{matchPackage:"@shopify/hydrogen"},{path:"hydrogen.config.js"},{path:"hydrogen.config.ts"}]},settings:{devCommand:{value:"shopify hydrogen dev"}}},{name:"Vite",slug:"vite",supersedes:["ionic-react"],detectors:{every:[{matchPackage:"vite"}]},settings:{devCommand:{value:"vite --port $PORT"}}},{name:"TanStack Start",slug:"tanstack-start",supersedes:["ionic-react","vite"],detectors:{every:[{matchPackage:"@tanstack/router-plugin"}],some:[{matchPackage:"@tanstack/react-start"},{matchPackage:"@tanstack/solid-start"}]},settings:{devCommand:{value:"vite --port $PORT"}}},{name:"VitePress",slug:"vitepress",detectors:{every:[{matchPackage:"vitepress"}]},settings:{devCommand:{value:"vitepress dev docs --port $PORT"}}},{name:"VuePress",slug:"vuepress",detectors:{every:[{matchPackage:"vuepress"}]},settings:{devCommand:{value:"vuepress dev src --port $PORT"}}},{name:"Parcel",slug:"parcel",detectors:{every:[{matchPackage:"parcel"}]},settings:{devCommand:{value:"parcel"}}},{name:"FastAPI",slug:"fastapi",supersedes:["python"],detectors:{some:[{path:"requirements.txt",matchContent:"fastapi"},{path:"pyproject.toml",matchContent:"fastapi"},{path:"Pipfile",matchContent:"fastapi"}]},settings:{devCommand:{value:null}}},{name:"Flask",slug:"flask",supersedes:["python"],detectors:{some:[{path:"requirements.txt",matchContent:"[Ff]lask"},{path:"pyproject.toml",matchContent:"[Ff]lask"},{path:"Pipfile",matchContent:"[Ff]lask"}]},settings:{devCommand:{value:null}}},{name:"FastHTML",slug:"fasthtml",supersedes:["python"],detectors:{every:[{path:"requirements.txt",matchContent:"python-fasthtml"}]},settings:{devCommand:{value:"uvicorn main:app --reload"}}},{name:"Django",slug:"django",supersedes:["python"],detectors:{some:[{path:"requirements.txt",matchContent:"[Dd]jango"},{path:"pyproject.toml",matchContent:"[Dd]jango"},{path:"Pipfile",matchContent:"[Dd]jango"},{path:"manage.py",matchContent:"DJANGO_SETTINGS_MODULE"}]},settings:{devCommand:{value:null}}},{name:"Ash",slug:"ash",experimental:!0,detectors:{every:[{path:"package.json",matchContent:'"(dev)?(d|D)ependencies":\\s*{[^}]*"experimental-ash":\\s*".+?"[^}]*}'}]},settings:{devCommand:{value:"ash dev"}}},{name:"Sanity (v3)",slug:"sanity-v3",detectors:{some:[{path:"sanity.json"},{path:"sanity.config.js"},{path:"sanity.config.jsx"},{path:"sanity.config.ts"},{path:"sanity.config.tsx"}],every:[{path:"package.json",matchContent:'"(dev)?(d|D)ependencies":\\s*{[^}]*"sanity":\\s*"\\^?3\\..*"[^}]*}'}]},settings:{devCommand:{value:"sanity dev --port $PORT"}}},{name:"Sanity",slug:"sanity",detectors:{some:[{path:"sanity.json"},{path:"sanity.config.js"},{path:"sanity.config.jsx"},{path:"sanity.config.ts"},{path:"sanity.config.tsx"}]},settings:{devCommand:{value:"sanity start --port $PORT"}}},{name:"Storybook",slug:"storybook",detectors:{every:[{matchPackage:"storybook"}]},settings:{devCommand:{value:"storybook dev -p $PORT"}}},{name:"Nitro",slug:"nitro",supersedes:["vite"],detectors:{some:[{matchPackage:"nitropack"},{matchPackage:"nitro"}]},settings:{devCommand:{value:"nitro dev"}}},{name:"Hono",slug:"hono",supersedes:["node"],detectors:{every:[{matchPackage:"hono"}],some:[{path:"app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`},{path:"src/server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']hono["']\\s*(?:\\))?`}]},settings:{devCommand:{value:null}}},{name:"Express",slug:"express",supersedes:["node"],detectors:{every:[{matchPackage:"express"}],some:[{path:"app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`},{path:"src/server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']express["']\\s*(?:\\))?`}]},settings:{devCommand:{value:null}}},{name:"H3",slug:"h3",supersedes:["node"],detectors:{every:[{matchPackage:"h3"}],some:[{path:"app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`},{path:"src/server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']h3["']\\s*(?:\\))?`}]},settings:{devCommand:{value:null}}},{name:"Koa",slug:"koa",supersedes:["node"],detectors:{every:[{matchPackage:"koa"}],some:[{path:"app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`},{path:"src/server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']koa["']\\s*(?:\\))?`}]},settings:{devCommand:{value:null}}},{name:"NestJS",slug:"nestjs",supersedes:["node"],detectors:{every:[{matchPackage:"@nestjs/core"}],some:[{path:"src/main.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/main.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/main.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/main.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/main.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/main.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"main.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"main.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"main.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"main.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"main.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"main.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`},{path:"src/server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']@nestjs/core["']\\s*(?:\\))?`}]},settings:{devCommand:{value:null}}},{name:"Elysia",slug:"elysia",supersedes:["node"],detectors:{every:[{matchPackage:"elysia"}],some:[{path:"app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`},{path:"src/server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']elysia["']\\s*(?:\\))?`}]},settings:{devCommand:{value:null}}},{name:"Fastify",slug:"fastify",supersedes:["node"],detectors:{every:[{matchPackage:"fastify"}],some:[{path:"app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/index.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/index.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/index.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/index.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/index.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/index.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/app.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/app.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/app.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/app.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/app.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/app.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/server.cjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/server.js",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/server.mjs",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/server.mts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/server.ts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`},{path:"src/server.cts",matchContent:`(?:from|require|import)\\s*(?:\\(\\s*)?["']fastify["']\\s*(?:\\))?`}]},settings:{devCommand:{value:null}}},{name:"xmcp",slug:"xmcp",detectors:{some:[{path:"xmcp.config.ts"},{path:"xmcp.config.js"},{matchPackage:"xmcp"}]},settings:{devCommand:{value:"xmcp dev"}}},{name:"Python",slug:"python",detectors:{some:[{path:"requirements.txt"},{path:"pyproject.toml"},{path:"Pipfile"}]},settings:{devCommand:{value:null}}},{name:"Ruby",slug:"ruby",experimental:!0,detectors:{every:[{path:"config.ru"},{path:"Gemfile"}]},settings:{devCommand:{value:null}}},{name:"Rust",slug:"rust",experimental:!0,detectors:{every:[{path:"Cargo.toml"},{path:"src/main.rs"}]},settings:{devCommand:{value:null}}},{name:"Axum",slug:"axum",experimental:!0,supersedes:["rust"],detectors:{every:[{path:"Cargo.toml",matchContent:"axum\\s*="},{path:"src/main.rs"}]},settings:{devCommand:{value:null}}},{name:"Actix Web",slug:"actix-web",experimental:!0,supersedes:["rust"],detectors:{every:[{path:"Cargo.toml",matchContent:"actix-web\\s*="},{path:"src/main.rs"}]},settings:{devCommand:{value:null}}},{name:"Node",slug:"node",detectors:{every:[{path:"package.json"}],some:[{path:"server.cjs"},{path:"server.js"},{path:"server.mjs"},{path:"server.mts"},{path:"server.ts"},{path:"server.cts"},{path:"src/server.cjs"},{path:"src/server.js"},{path:"src/server.mjs"},{path:"src/server.mts"},{path:"src/server.ts"},{path:"src/server.cts"}]},settings:{devCommand:{value:null}}},{name:"Go",slug:"go",detectors:{every:[{path:"go.mod"}],some:[{path:"main.go"},{path:"cmd/api/main.go"},{path:"cmd/server/main.go"}]},settings:{devCommand:{value:null}}},{name:"Mastra",slug:"mastra",detectors:{every:[{matchPackage:"mastra"}]},settings:{devCommand:{value:"mastra dev"}}}];var _E=De(EE(),1),ME=De(bE(),1),oS={vite:5173,sveltekit:5173,"sveltekit-1":5173,astro:4321,gatsby:8e3,angular:4200,vue:8080,eleventy:8080,preact:8080,fastapi:8080,flask:8080,fasthtml:8080,django:8080,python:8080},mG=new Map(lc.flatMap(t=>{let e=(t.settings?.devCommand?.value??"").split(/\s+/),A=e.indexOf("$PORT"),r=A>0?e[A-1]:void 0;return t.slug&&r?.startsWith("-")?[[t.slug,`${r} $PORT`]]:[]}));var aS=new Set(["fastapi","flask","fasthtml","django","python"]),jt={bun:["bun.lock","bun.lockb"],pnpm:["pnpm-lock.yaml"],yarn:["yarn.lock"],npm:["package-lock.json","npm-shrinkwrap.json"]},fc=["package.json",...jt.npm,...jt.pnpm,...jt.yarn,...jt.bun],cS=fc.map(t=>`**/${t}`),kE=["pnpm-workspace.yaml","nx.json","turbo.json","lerna.json","rush.json"],Gi=["requirements.txt","pyproject.toml","uv.lock","poetry.lock","Pipfile","Pipfile.lock"],gS=[...jt.bun.map(t=>["bun",t]),...jt.pnpm.map(t=>["pnpm",t]),...jt.yarn.map(t=>["yarn",t]),...jt.npm.map(t=>["npm",t])],lS="1.3.14",uS="10.23.0",hS="1.22.22";async function Gr(t){try{return(await iS(t)).isFile()}catch{return!1}}async function pc(t,e){for(let A of e)if(await Gr(nr.join(t,A)))return!0;return!1}async function dS(t,e){return await pc(t,jt[e])}function vE(t){let e=t?.packageManager;if(typeof e!="string")return;let A=/^(npm|pnpm|yarn|bun)@(.+)$/.exec(e),r=A?.[1];if(!r)return;let s=A[2],n=s?ES(s):void 0;return n?{packageManager:r,version:n}:{packageManager:r}}function ES(t){return/^(\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?)(?:\+[0-9A-Za-z.-]+)?$/.test(t)?t:void 0}function IS(t,e){let A=vE(t),r=A?.packageManager===e?A.version:void 0;switch(e){case"bun":return{packageManager:e,version:r??lS};case"pnpm":return{packageManager:e,version:r??uS};case"yarn":return{packageManager:e,version:r??hS};case"npm":return r?{packageManager:e,version:r}:{}}}async function QS(t,e=null){let A=vE(e??await xE(t));if(A)return A.packageManager;for(let[r,s]of gS)if(await Gr(nr.join(t,s)))return r;return"npm"}async function xE(t){try{return JSON.parse(await nS(nr.join(t,"package.json"),"utf8"))}catch{return null}}async function TE(t,e){return Array.isArray(e?.workspaces)||e?.workspaces!==null&&typeof e?.workspaces=="object"||await pc(t,kE)?[...fc,...cS,...kE]:fc}function Os(t){return t?oS[t]??3e3:3e3}async function CS(t){return await Gr(nr.join(t,"requirements.txt"))?"python3 -m pip install -r requirements.txt":await Gr(nr.join(t,"pyproject.toml"))?"python3 -m pip install .":null}function BS(t,e){let A=pS(t,e);return[A.cmd,...A.args].join(" ")}function fS(t){return`${t} run dev`}async function UE(t,e,A,r,s,n,i){let o=BS(e,await dS(t,e)),a=Os(r);return{slug:r,name:s,packageManager:e,kind:"node",suggestedPort:a,toolchain:A,suggestedInstallCommand:o,dependencyFiles:i,profile:{installCommand:o,devCommand:n,port:a,dependencyFiles:i}}}async function LE(t){let e=new ME.LocalFileSystemDetector(t),A=await(0,_E.detectFrameworkRecord)({fs:e,frameworkList:lc}),r=A?.slug??null,s=await xE(t),n=await QS(t,s),i=IS(s,n),o=Os(r),a=aS.has(r??"");if(s?.scripts?.dev){let C=await TE(t,s);return UE(t,n,i,a?null:r,a?"Node.js":A?.name??"Node.js",fS(n),C)}let c=await pc(t,Gi),g=a||c,d=await Gr(nr.join(t,"manage.py")),I=g?await CS(t):null;if(d&&(g||r==="django"))return{slug:r??"django",name:A?.name??"Django",packageManager:n,kind:"python",suggestedPort:r?Os(r):8080,toolchain:{},suggestedInstallCommand:I,dependencyFiles:Gi,profile:{installCommand:I,devCommand:'python3 manage.py runserver "0.0.0.0:$PORT"',port:r?Os(r):8080,dependencyFiles:Gi}};if(g)return{slug:r,name:A?.name??"Python",packageManager:n,kind:"python",suggestedPort:r?Os(r):8080,toolchain:{},suggestedInstallCommand:I,dependencyFiles:Gi,profile:null};let E=A?.settings.devCommand.value;if(s&&E){let C=await TE(t,s);return UE(t,n,i,r,A?.name??"Node.js",E,C)}return await Gr(nr.join(t,"index.html"))?{slug:null,name:"Static files",packageManager:n,kind:"static",suggestedPort:8080,toolchain:{},suggestedInstallCommand:null,dependencyFiles:[],profile:{installCommand:null,devCommand:'python3 -m http.server "$PORT" --bind 0.0.0.0',port:8080,dependencyFiles:[]}}:{slug:r,name:A?.name??"Custom project",packageManager:n,kind:"custom",suggestedPort:o,toolchain:i,suggestedInstallCommand:null,dependencyFiles:[],profile:null}}function YE(t){return{cmd:"bash",args:["-lc",t]}}function pS(t,e){switch(t){case"pnpm":return{cmd:"pnpm",args:e?["install","--frozen-lockfile"]:["install"]};case"yarn":return{cmd:"yarn",args:e?["install","--frozen-lockfile"]:["install"]};case"bun":return{cmd:"bun",args:e?["install","--frozen-lockfile"]:["install"]};default:return{cmd:"npm",args:e?["ci"]:["install"]}}}var PE="up.config.json",wS="dev.config.json",OE=64*1024,GE=256;function DS(t){return typeof t=="number"&&Number.isInteger(t)&&t>=1&&t<=65535}function VE(t,e){if(!t||typeof t!="object"||Array.isArray(t))throw new Error(`${e} must contain a JSON object.`);let A=t,r={};if("devCommand"in A){if(typeof A.devCommand!="string"||A.devCommand.trim()==="")throw new Error(`${e}: devCommand must be a non-empty string.`);r.devCommand=A.devCommand}if("installCommand"in A){if(A.installCommand!==null&&(typeof A.installCommand!="string"||A.installCommand.trim()===""))throw new Error(`${e}: installCommand must be a non-empty string or null.`);r.installCommand=A.installCommand}if("port"in A){if(!DS(A.port))throw new Error(`${e}: port must be an integer between 1 and 65535.`);r.port=A.port}if("dependencyFiles"in A){if(!Array.isArray(A.dependencyFiles)||!A.dependencyFiles.every(s=>typeof s=="string"))throw new Error(`${e}: dependencyFiles must be an array of strings.`);if(A.dependencyFiles.length>GE)throw new Error(`${e}: dependencyFiles must list at most ${GE} patterns.`);r.dependencyFiles=A.dependencyFiles.map(s=>iE(s,`${e}: dependencyFiles`))}return r}async function SS(t){for(let e of[PE,wS]){let A=HE.join(t,e);try{let{size:r}=await yS(A);if(r>OE)throw new Error(`${e} is too large (limit ${OE} bytes).`);return VE(JSON.parse(await mS(A,"utf8")),e)}catch(r){if(r.code==="ENOENT")continue;throw r}}}async function NS(t,e){let A=HE.join(t,PE);await Ls(A,`${JSON.stringify(e,null,2)} +`)}async function JE(t,e){let A=await LE(t),r=await Zd(t),s;if(r)try{s=VE(r,"remembered launch profile")}catch{}let n=await SS(t),i=e.overrides??{},a={...A.profile??{installCommand:A.suggestedInstallCommand,port:A.suggestedPort,dependencyFiles:A.dependencyFiles},...s,...n,...i.command!==void 0?{devCommand:i.command}:{},...i.installCommand!==void 0?{installCommand:i.installCommand}:{},...i.port!==void 0?{port:i.port}:{}},c,g,d=!1;return a.devCommand?(c={installCommand:a.installCommand??null,devCommand:a.devCommand,port:a.port??A.suggestedPort,dependencyFiles:a.dependencyFiles??A.dependencyFiles},g=i.command!==void 0?"flags":n?.devCommand?"shared config":s?.devCommand?"local config":"detection",d=i.command===void 0&&n?.devCommand!==void 0||i.installCommand===void 0&&typeof n?.installCommand=="string"):(c=await e.prompt({detected:A,installCommand:a.installCommand??null,port:a.port??A.suggestedPort}),await Xd(t,c),g="interactive"),e.saveConfig&&await NS(t,c),{detected:A,profile:c,source:g,executesSharedCommands:d}}l();var Hi=class{constructor(e){this.sandbox=e}sandbox;processes=new Set;closeables=new Set;operations=new Set;abortController=new AbortController;cancelled=!1;shutdownPromise;get shuttingDown(){return this.cancelled||this.shutdownPromise!==void 0}get signal(){return this.abortController.signal}addProcess(e){this.processes.add(e)}removeProcess(e){this.processes.delete(e)}addCloseable(e){this.closeables.add(e)}async run(e){if(this.shuttingDown)throw new Error("Sandbox shutdown requested.");let A=e(this.abortController.signal);this.operations.add(A);try{let r=await A;if(this.shuttingDown)throw new Error("Sandbox shutdown requested.");return r}finally{this.operations.delete(A)}}cancelWork(){this.cancelled=!0,this.abortController.abort()}shutdown(){return this.cancelWork(),this.shutdownPromise||(this.shutdownPromise=this.performShutdown()),this.shutdownPromise}async performShutdown(){await Promise.allSettled([...this.closeables].map(A=>A.close())),await Promise.allSettled([...this.processes].map(A=>A.kill("SIGTERM"))),await Promise.allSettled([...this.operations]);let e=await this.sandbox.stop();if(!e.snapshotId)throw new Error(`stop() completed without returning a snapshot id (status: ${e.status??"unknown"})`);return{status:e.status,snapshotId:e.snapshotId}}};l();import{setTimeout as RS}from"timers/promises";async function mc(t,e,A=9e4,r){let n=`for i in $(seq 1 ${Math.ceil(A/100)}); do (echo > /dev/tcp/127.0.0.1/${e}) 2>/dev/null && exit 0; sleep 0.1; done; exit 1`,{exitCode:i}=await t.exec("bash",["-c",n],{signal:r,retryTransport:!0});return i===0}async function jE(t,e,A=2e4,r){let s=Date.now()+A;for(;Date.now()=A||e.shouldRetry&&!e.shouldRetry(i))break;e.onRetry?.(i,n),await new Promise(o=>setTimeout(o,r*2**(n-1)))}throw s}function Hs(t){if(!t||typeof t!="object")return!1;if(t.name==="StreamError")return!0;let e=t.response?.status;if(typeof e=="number"&&(e===408||e===429||e>=500))return!0;let A=t instanceof Error?t.message:"";return/Expected a stream of command data|No response body|Can't (parse JSON|read response text)/.test(A)}l();import{Writable as zx}from"stream";import{setTimeout as eL}from"timers/promises";l();l();var he=class WE extends Error{constructor(e,A){super(e.statusText),Error.captureStackTrace&&Error.captureStackTrace(this,WE),this.response=e,this.message=A?.message??"",this.json=A?.json,this.text=A?.text,this.sandboxName=A?.sandboxName,this.sessionId=A?.sessionId}},Ps=class qE extends Error{constructor(e,A,r){super(A),this.name="StreamError",this.code=e,this.sessionId=r,Error.captureStackTrace&&Error.captureStackTrace(this,qE)}};l();l();l();l();function $E(t){return t!=null?Array.isArray(t)?t:[t]:[]}l();var rI=De(AI(),1);import{setTimeout as TS}from"timers/promises";function sI(t){return async(e,A={})=>{let r=Object.assign({minTimeout:10,retries:5,factor:6,maxRetryAfter:20},A.retry);A.onRetry&&(r.onRetry=(s,n)=>{A.onRetry(s,A),A.retry&&A.retry.onRetry&&A.retry.onRetry(s,n)});try{return await(0,rI.default)(async s=>{try{if(A.signal?.aborted)return s(A.signal.reason||new Error("Request aborted"));let n=await t(e,A);if(n.status===429){let i=parseInt(n.headers.get("retry-after")||"",10);if(i&&!isNaN(i)){if(i>r.maxRetryAfter)return n;await TS(i*1e3)}throw new he(n)}if(n.status>=500&&n.status<600)throw new he(n);return n}catch(n){if(US(n))return s(n);if(A.signal?.aborted)return s(A.signal.reason||new Error("Request aborted"));throw n}},r)}catch(s){if(s instanceof he)return s.response;throw s}}}function US(t){return t!=null&&t.name==="AbortError"}l();var kl=De(vB());var $T=new kl.default({bodyTimeout:0}),xB=class{constructor(t){this.fetch=sI(t.fetch??globalThis.fetch),this.baseUrl=t.baseUrl,this.debug=t.debug??process.env.DEBUG_FETCH==="true",this.token=t.token,this.agent=$T}async request(t,e){let A=new URL(`${this.baseUrl}${t}`);if(e?.query)for(let[n,i]of Object.entries(e.query))$E(i).forEach(o=>{A.searchParams.append(n,o.toString())});let r=Date.now(),s=await this.fetch(A.toString(),{...e,body:e?.body,method:e?.method||"GET",headers:this.token?{Authorization:`Bearer ${this.token}`,...e?.headers}:e?.headers,dispatcher:this.agent,signal:e?.signal});if(this.debug){let n=Date.now()-r;if(console.log(`[API] ${A} (${s.status}) ${n}ms`),s.status===429){let i=parseInt(s.headers.get("Retry-After")??"",10),o=Math.floor(i/60/60),a=Math.floor(i/60)%60,c=i%60;console.warn(`[API] ${A} Rate Limited, Retry After ${o}h ${a}m ${c}s`)}}return s}};function ZT(t){return t.match(/\/v2\/sandboxes\/sessions\/([^/?]+)/)?.[1]}function XT(t){return t.match(/\/v2\/sandboxes\/(?!sessions(?:\/|$|\?))(?!snapshots(?:\/|$|\?))([^/?]+)/)?.[1]}async function KT(t,e){let A=ZT(e.url),r;A||(r=XT(e.url));let s=await e.text().catch(o=>new he(e,{message:`Can't read response text: ${String(o)}`,sessionId:A,sandboxName:r}));if(typeof s!="string")return s;let n;try{n=JSON.parse(s||"{}")}catch(o){return new he(e,{message:`Can't parse JSON: ${String(o)}`,text:s,sessionId:A,sandboxName:r})}if(!e.ok)return new he(e,{message:`Status code ${e.status} is not ok`,json:n,text:s,sessionId:A,sandboxName:r});let i=t.safeParse(n);return i.success?{json:i.data,response:e,text:s}:new he(e,{message:`Response JSON is not valid: ${i.error}`,json:n,text:s,sessionId:A,sandboxName:r})}async function ce(t,e){let A=await KT(t,e);if(A instanceof he)throw A;return A}l();Jt();var Tl=h.object({exact:h.string().optional(),startsWith:h.string().optional(),regex:h.string().optional()}),LB=h.object({key:Tl.optional(),value:Tl.optional()}),Ul=h.object({path:Tl.optional(),method:h.array(h.string()).optional(),queryString:h.array(LB).optional(),headers:h.array(LB).optional()}),zT=h.object({domain:h.string(),headers:h.record(h.string()).optional(),headerNames:h.array(h.string()).optional(),match:Ul.optional()}),eU=h.object({domain:h.string(),forwardURL:h.string(),match:Ul.optional()}),tU=h.object({headers:h.record(h.string()).optional()}),AU=h.object({match:Ul.optional(),transform:h.array(tU).optional(),forwardURL:h.string().optional()}),rU=h.object({allow:h.union([h.array(h.string()),h.record(h.array(AU))]).optional(),subnets:h.object({allow:h.array(h.string()).optional(),deny:h.array(h.string()).optional()}).optional()}),OB=h.union([h.object({mode:h.literal("allow-all")}).passthrough(),h.object({mode:h.literal("deny-all")}).passthrough()]),sU=h.object({mode:h.literal("custom"),allowedDomains:h.array(h.string()).optional(),allowedCIDRs:h.array(h.string()).optional(),deniedCIDRs:h.array(h.string()).optional(),injectionRules:h.array(zT).optional(),forwardRules:h.array(eU).optional()}).passthrough(),UP=h.union([OB,rU.passthrough()]),GB=h.union([OB,sU]),ts=h.object({id:h.string(),memory:h.number(),vcpus:h.number(),region:h.string(),runtime:h.string(),timeout:h.number(),status:h.enum(["pending","running","stopping","stopped","failed","aborted","snapshotting"]),requestedAt:h.number(),startedAt:h.number().optional(),requestedStopAt:h.number().optional(),stoppedAt:h.number().optional(),abortedAt:h.number().optional(),duration:h.number().optional(),sourceSnapshotId:h.string().optional(),snapshottedAt:h.number().optional(),createdAt:h.number(),cwd:h.string(),updatedAt:h.number(),interactivePort:h.number().optional(),networkPolicy:GB.optional(),activeCpuDurationMs:h.number().optional(),networkTransfer:h.object({ingress:h.number(),egress:h.number()}).optional()}),_l=h.object({url:h.string(),subdomain:h.string(),port:h.number()}),es=h.object({id:h.string(),sourceSessionId:h.string(),region:h.string(),status:h.enum(["created","deleted","failed"]),sizeBytes:h.number(),expiresAt:h.number().optional(),createdAt:h.number(),updatedAt:h.number(),lastUsedAt:h.number().optional(),creationMethod:h.string().optional(),parentId:h.string().optional()}),No=h.object({count:h.number(),next:h.string().nullable()}),HB=h.object({id:h.string(),name:h.string(),args:h.array(h.string()),cwd:h.string(),sessionId:h.string(),exitCode:h.number().nullable(),startedAt:h.number()}),nU=HB.extend({exitCode:h.number()}),Ro=h.object({session:ts.passthrough()}),PB=Ro.extend({routes:h.array(_l)}),VB=h.object({sessions:h.array(ts.passthrough()),pagination:No}),Bn=h.object({command:HB}),Ml=h.object({command:nU}),vl=h.object({}),JB=h.object({data:h.string()}),iU=JB.extend({stream:h.literal("stdout")}),oU=JB.extend({stream:h.literal("stderr")}),aU=h.object({stream:h.literal("error"),data:h.object({code:h.string(),message:h.string()})}),jB=h.discriminatedUnion("stream",[iU,oU,aU]),WB=h.object({snapshots:h.array(es),pagination:No}),YB=h.object({snapshot:es,siblings:h.array(es),count:h.string()}),qB=h.object({snapshots:h.array(YB),anchor:YB.optional(),pagination:No}),$B=h.object({snapshot:es,session:ts.passthrough()}),xl=h.object({snapshot:es}),Fo=h.object({name:h.string(),persistent:h.boolean(),region:h.string().optional(),vcpus:h.number().optional(),memory:h.number().optional(),runtime:h.string().optional(),timeout:h.number().optional(),networkPolicy:GB.optional(),totalEgressBytes:h.number().optional(),totalIngressBytes:h.number().optional(),totalActiveCpuDurationMs:h.number().optional(),totalDurationMs:h.number().optional(),createdAt:h.number(),updatedAt:h.number(),currentSessionId:h.string(),currentSnapshotId:h.string().optional(),status:ts.shape.status,statusUpdatedAt:h.number().optional(),cwd:h.string().optional(),tags:h.record(h.string()).optional(),snapshotExpiration:h.number().optional(),keepLastSnapshots:h.object({count:h.number(),expiration:h.number().optional(),deleteEvicted:h.boolean().optional()}).optional()}),ZB=h.object({session:ts.passthrough(),sandbox:Fo.optional(),snapshot:es.optional()}),Ll=h.object({sandbox:Fo,session:ts.passthrough(),routes:h.array(_l),resumed:h.boolean().optional()}),XB=h.object({sandboxes:h.array(Fo),pagination:No}),Yl=h.object({sandbox:Fo,routes:h.array(_l).optional()});l();var zf=De(Kf(),1);import DM from"zlib";import{Readable as SM}from"stream";var ep=class{constructor(){let t=DM.createGzip();this.pack=zf.default.pack(),this.readable=this.pack.pipe(t)}async addFile(t){return new Promise((e,A)=>{let r=this.pack.entry("size"in t?{name:t.name,size:t.size,mode:t.mode}:{name:t.name,size:Buffer.byteLength(t.content),mode:t.mode},s=>{if(s)return A(s);e()});t.content instanceof SM?t.content.pipe(r):r.end(t.content)})}async end(){return new Promise((t,e)=>{this.readable.on("error",e),this.readable.on("end",t),this.pack.finalize()})}};Pa();l();function Go(t){return new Promise((e,A)=>{let r=[];t.on("error",s=>A(s)),t.on("data",s=>r.push(s)),t.on("end",()=>e(Buffer.concat(r)))})}l();import ls from"path";function tp(t){if(!ls.posix.isAbsolute(t.cwd))throw new Error("cwd dir must be absolute");if(!ls.posix.isAbsolute(t.extractDir))throw new Error("extractDir must be absolute");let e=ls.posix.isAbsolute(t.filePath)?ls.posix.normalize(t.filePath):ls.posix.join(t.cwd,t.filePath);return ls.posix.relative(t.extractDir,e)}l();function Ho(t){return t==="allow-all"||t==="deny-all"?{mode:t}:t}function Po(t){if(t.mode==="allow-all"||t.mode==="deny-all")return t.mode;let e=t.allowedCIDRs||t.deniedCIDRs?{subnets:{...t.allowedCIDRs&&{allow:t.allowedCIDRs},...t.deniedCIDRs&&{deny:t.deniedCIDRs}}}:void 0;if(t.injectionRules&&t.injectionRules.length>0||t.forwardRules&&t.forwardRules.length>0){let A=new Map;for(let s of t.injectionRules??[]){let n=Object.fromEntries((s.headerNames??[]).map(o=>[o,""])),i=A.get(s.domain)??[];i.push({...s.match?{match:s.match}:{},transform:[{headers:n}]}),A.set(s.domain,i)}for(let s of t.forwardRules??[]){let n=A.get(s.domain)??[];n.push({...s.match?{match:s.match}:{},forwardURL:s.forwardURL}),A.set(s.domain,n)}let r={};for(let s of t.allowedDomains??[])r[s]=A.get(s)??[];for(let s of[...t.injectionRules??[],...t.forwardRules??[]])s.domain in r||(r[s.domain]=A.get(s.domain)??[]);return{allow:r,...e}}return{...t.allowedDomains&&{allow:t.allowedDomains},...e}}l();var tA=t=>{let e=Object.entries(t??{}).filter(([A])=>A.startsWith("__"));return Object.fromEntries(e)};Jt();var Mu=De(ap(),1),Zp=De(_u(),1);import{Readable as ux}from"stream";import Wp from"os";function qp(t){if(t.split(".").length!==3)return null;try{let e=JSON.parse(Buffer.from(t.split(".")[1],"base64url").toString("utf8"));return e.owner_id?{owner_id:e.owner_id,project_id:e.project_id}:null}catch{return null}}var xe=class extends xB{constructor(t){super({baseUrl:t.baseUrl??"https://vercel.com/api",token:t.token,debug:!1,fetch:t.fetch}),this.teamId=t.teamId,this.isJwtToken=!1;let e=qp(t.token);e&&(this.isJwtToken=!0,this.projectId=e.project_id,this.teamId=e.owner_id)}async ensureValidToken(){if(this.isJwtToken)try{let t=await(0,Zp.getVercelOidcToken)({expirationBufferMs:3e5,team:this.teamId,project:this.projectId});if(t!==this.token){this.token=t;let e=qp(t);e&&(this.teamId=e.owner_id)}}catch{}}async request(t,e){return await this.ensureValidToken(),super.request(t,{...e,query:{teamId:this.teamId,...e?.query},headers:{"content-type":"application/json","user-agent":`vercel/sandbox/${yi} (Node.js/${process.version}; ${Wp.platform()}/${Wp.arch()})`,...e?.headers}})}async getSession(t){let e=tA(t),A=new URLSearchParams(e).toString();return A=A?`?${A}`:"",ce(PB,await this.request(`/v2/sandboxes/sessions/${t.sessionId}${A}`,{signal:t.signal}))}async createSandbox(t){let e=tA(t);return ce(Ll,await this.request("/v2/sandboxes",{method:"POST",body:JSON.stringify({projectId:t.projectId,ports:t.ports,source:t.source,timeout:t.timeout,resources:t.resources,runtime:t.runtime,name:t.name,persistent:t.persistent,networkPolicy:t.networkPolicy?Ho(t.networkPolicy):void 0,env:t.env,tags:t.tags,snapshotExpiration:t.snapshotExpiration,keepLastSnapshots:t.keepLastSnapshots,...e}),signal:t.signal}))}async runCommand(t){if(t.wait){let e=await this.request(`/v2/sandboxes/sessions/${t.sessionId}/cmd`,{method:"POST",body:JSON.stringify({command:t.command,args:t.args,cwd:t.cwd,env:t.env,sudo:t.sudo,wait:!0,timeout:t.timeout}),signal:t.signal});if(e.ok||await ce(h.any(),e),e.headers.get("content-type")!=="application/x-ndjson")throw new he(e,{message:"Expected a stream of command data",sessionId:t.sessionId});if(e.body===null)throw new he(e,{message:"No response body",sessionId:t.sessionId});let A=Mu.default.parse();$p(e.body,A,{signal:t.signal}).catch(i=>{console.error("Error piping command stream:",i)});let r=A[Symbol.asyncIterator](),s=await r.next();if(s.done)throw new Ps("stream_ended_early","Stream ended before command data was received",t.sessionId);let{command:n}=Bn.parse(s.value);return{command:n,finished:(async()=>{let i=await r.next();if(i.done)throw new Ps("stream_ended_early","Stream ended before command finished",t.sessionId);let{command:o}=Ml.parse(i.value);return o})()}}return ce(Bn,await this.request(`/v2/sandboxes/sessions/${t.sessionId}/cmd`,{method:"POST",body:JSON.stringify({command:t.command,args:t.args,cwd:t.cwd,env:t.env,sudo:t.sudo,timeout:t.timeout}),signal:t.signal}))}async getCommand(t){return t.wait?ce(Ml,await this.request(`/v2/sandboxes/sessions/${t.sessionId}/cmd/${t.cmdId}`,{signal:t.signal,query:{wait:"true"}})):ce(Bn,await this.request(`/v2/sandboxes/sessions/${t.sessionId}/cmd/${t.cmdId}`,{signal:t.signal}))}async mkDir(t){return ce(vl,await this.request(`/v2/sandboxes/sessions/${t.sessionId}/fs/mkdir`,{method:"POST",body:JSON.stringify({path:t.path,cwd:t.cwd}),signal:t.signal}))}getFileWriter(t){let e=new ep;return{response:(async()=>this.request(`/v2/sandboxes/sessions/${t.sessionId}/fs/write`,{method:"POST",headers:{"content-type":"application/gzip","x-cwd":t.extractDir},body:await Go(e.readable),signal:t.signal}))(),writer:e}}async listSessions(t){return ce(VB,await this.request("/v2/sandboxes/sessions",{query:{project:t.projectId,name:t.name,limit:t.limit,cursor:t.cursor,sortOrder:t.sortOrder},method:"GET",signal:t.signal}))}async listSnapshots(t){return ce(WB,await this.request("/v2/sandboxes/snapshots",{query:{project:t.projectId,name:t.name,limit:t.limit,cursor:t.cursor,sortOrder:t.sortOrder},method:"GET",signal:t.signal}))}async getSnapshotTree(t){return ce(qB,await this.request("/v2/sandboxes/snapshots/tree",{query:{project:t.projectId,snapshotId:t.snapshotId,limit:t.limit,sortOrder:t.sortOrder},method:"GET",signal:t.signal}))}async writeFiles(t){let{writer:e,response:A}=this.getFileWriter({sessionId:t.sessionId,extractDir:t.extractDir,signal:t.signal});for(let r of t.files)await e.addFile({name:tp({filePath:r.path,extractDir:t.extractDir,cwd:t.cwd}),content:r.content,mode:r.mode});e.end(),await ce(vl,await A)}async readFile(t){let e=await this.request(`/v2/sandboxes/sessions/${t.sessionId}/fs/read`,{method:"POST",body:JSON.stringify({path:t.path,cwd:t.cwd}),signal:t.signal});if(e.status===404)return null;let A=e.headers.get("content-type")??"";if(!e.ok||!A.includes("application/octet-stream")){let r=await e.text().catch(()=>""),s;try{s=JSON.parse(r||"{}")}catch{s=void 0}throw new he(e,{message:`Unexpected response reading file: status ${e.status}, content-type ${A||"(none)"}`,json:s,text:r})}return e.body===null?null:ux.fromWeb(e.body)}async killCommand(t){return ce(Bn,await this.request(`/v2/sandboxes/sessions/${t.sessionId}/cmd/${t.commandId}/kill`,{method:"POST",body:JSON.stringify({signal:t.signal}),signal:t.abortSignal}))}getLogs(t){let e=this,A=new AbortController,r=t.signal?hx(t.signal,A.signal):A.signal,s=(async function*(){let n=`/v2/sandboxes/sessions/${t.sessionId}/cmd/${t.cmdId}/logs`,i=await e.request(n,{method:"GET",signal:r});if(i.ok||await ce(h.any(),i),i.headers.get("content-type")!=="application/x-ndjson")throw new he(i,{message:"Expected a stream of logs",sessionId:t.sessionId});if(i.body===null)throw new he(i,{message:"No response body",sessionId:t.sessionId});let o=Mu.default.parse();$p(i.body,o,{signal:r}).catch(a=>{console.error("Error piping logs:",a)});for await(let a of o){let c=jB.parse(a);if(c.stream==="error")throw new Ps(c.data.code,c.data.message,t.sessionId);yield c}})();return Object.assign(s,{[Symbol.dispose](){A.abort("Disposed")},close:()=>A.abort("Disposed")})}async stopSession(t){let e=`/v2/sandboxes/sessions/${t.sessionId}/stop`;return ce(ZB,await this.request(e,{method:"POST",signal:t.signal}))}async updateNetworkPolicy(t){let e=`/v2/sandboxes/sessions/${t.sessionId}/network-policy`;return ce(Ro,await this.request(e,{method:"POST",body:JSON.stringify(Ho(t.networkPolicy)),signal:t.signal}))}async extendTimeout(t){let e=`/v2/sandboxes/sessions/${t.sessionId}/extend-timeout`;return ce(Ro,await this.request(e,{method:"POST",body:JSON.stringify({duration:t.duration}),signal:t.signal}))}async createSnapshot(t){let e=`/v2/sandboxes/sessions/${t.sessionId}/snapshot`,A=t.expiration===void 0?void 0:JSON.stringify({expiration:t.expiration});return ce($B,await this.request(e,{method:"POST",body:A,signal:t.signal}))}async deleteSnapshot(t){let e=`/v2/sandboxes/snapshots/${t.snapshotId}`;return ce(xl,await this.request(e,{method:"DELETE",signal:t.signal}))}async getSnapshot(t){let e=`/v2/sandboxes/snapshots/${t.snapshotId}`;return ce(xl,await this.request(e,{signal:t.signal}))}async getSandbox(t){let e=tA(t),A={projectId:t.projectId,...e};return t.resume!==void 0&&(A.resume=String(t.resume)),ce(Ll,await this.request(`/v2/sandboxes/${encodeURIComponent(t.name)}`,{query:A,signal:t.signal}))}async listSandboxes(t){return ce(XB,await this.request("/v2/sandboxes",{query:{project:t.projectId,limit:t.limit,sortBy:t.sortBy,sortOrder:t.sortOrder,namePrefix:t.namePrefix,cursor:t.cursor,tags:dx(t.tags)},method:"GET",signal:t.signal}))}async updateSandbox(t){return ce(Yl,await this.request(`/v2/sandboxes/${encodeURIComponent(t.name)}`,{method:"PATCH",query:{projectId:t.projectId},body:JSON.stringify({persistent:t.persistent,resources:t.resources,runtime:t.runtime,timeout:t.timeout,networkPolicy:t.networkPolicy?Ho(t.networkPolicy):void 0,tags:t.tags,ports:t.ports,snapshotExpiration:t.snapshotExpiration,keepLastSnapshots:t.keepLastSnapshots,currentSnapshotId:t.currentSnapshotId}),signal:t.signal}))}async deleteSandbox(t){return ce(Yl,await this.request(`/v2/sandboxes/${encodeURIComponent(t.name)}`,{method:"DELETE",query:{projectId:t.projectId},signal:t.signal}))}};async function $p(t,e,A){let r=t.getReader(),s=!1,n=A?.signal,i=()=>{s=!0;let o=n?.reason??new DOMException("The operation was aborted.","AbortError");if(r.cancel(o).catch(()=>{}),"destroy"in e&&typeof e.destroy=="function"){e.destroy(o);return}e.emit("error",o),e.end()};n&&(n.aborted?i():n.addEventListener("abort",i,{once:!0}));try{for(;;){let o=await r.read();if(o.value&&e.write(Buffer.from(o.value)),o.done)break}}catch(o){s||e.emit("error",o)}finally{n?.removeEventListener("abort",i),s||e.end()}}function hx(...t){let e=new AbortController,A=()=>{e.abort();for(let r of t)r.removeEventListener("abort",A)};for(let r of t){if(r.aborted){e.abort();break}r.addEventListener("abort",A)}return e.signal}function dx(t){if(t===void 0)return;let e=Object.entries(t);if(e.length!==0)return e.map(([A,r])=>`${A}:${r}`)}l();l();l();function Xp(t){return JSON.parse(Buffer.from(t.replace(/-/g,"+").replace(/_/g,"/"),"base64").toString("utf8"))}l();l();var AA=De(ks(),1),Ex={warn:AA.default.yellow,error:AA.default.red,success:AA.default.green,info:AA.default.blue},Ix=AA.default.dim("[vercel/sandbox]");function Br(t,e){e=Array.isArray(e)?e.join(` +`):e;let A=e.replace(/^/gm,`${Ix} `);console.error(Ex[t](A))}function Kp(t){return AA.default.italic(AA.default.dim("`")+t+AA.default.dim("`"))}var rA=De(ks(),1),tm=De(em(),1);async function mx(){return await Promise.resolve().then(()=>($a(),Gd))}function Am(){return process.env.NODE_ENV!=="production"&&!["1","true"].includes(process.env.CI||"")&&process.stdout.isTTY&&process.stdin.isTTY}var rm=(()=>{let t=null;return async e=>{(!t||t[0].teamId!==e.teamId||t[0].projectId!==e.projectId)&&(t=[e,yx(e).catch(r=>{throw t=null,r})]);let A=await t[1];return Br("warn",`using inferred credentials team=${A.teamId} project=${A.projectId}`),A}})();async function yx(t){let{OAuth:e,pollForToken:A,getAuth:r,updateAuthConfig:s,inferScope:n}=await mx(),i=r();if(!i?.token){let a=process.env.VERCEL_URL?"1 minute":"5 minutes";i=await wx({OAuth:e,pollForToken:A,getAuth:r},a)}if(i?.refreshToken&&i.expiresAt&&i.expiresAt.getTime()<=Date.now()){let a=await(await e()).refreshToken(i.refreshToken);i={expiresAt:new Date(Date.now()+a.expires_in*1e3),token:a.access_token,refreshToken:a.refresh_token||i.refreshToken},s(i)}if(!i?.token)throw new Error(["Failed to retrieve authentication token.",`${rA.default.bold("hint:")} Set VERCEL_OIDC_TOKEN or provide a Vercel API token.`,"\u251C\u25B6 Sandbox docs: https://vercel.com/docs/vercel-sandbox","\u2570\u25B6 Access tokens: https://vercel.com/kb/guide/how-do-i-use-a-vercel-api-access-token"].join(` +`));if(t.teamId&&t.projectId)return{token:i.token,teamId:t.teamId,projectId:t.projectId};let o=await n({teamId:t.teamId,token:i.token});return o.created&&Br("info",`Created default project "${o.projectId}" in team "${o.teamId}".`),{token:i.token,teamId:t.teamId||o.teamId,projectId:t.projectId||o.projectId}}async function wx(t,e){Br("warn",["No VERCEL_OIDC_TOKEN environment variable found, initiating device authorization flow...",`\u2502 ${rA.default.bold("help:")} this flow only happens on development environment.`,"\u2502 In production, make sure to set up a proper token, or set up Vercel OIDC [https://vercel.com/docs/oidc]."]);let A=await t.OAuth(),r=await A.deviceAuthorizationRequest();Br("info",[`\u2570\u25B6 To authenticate, visit: ${r.verification_uri_complete}`,` or visit ${rA.default.italic(r.verification_uri)} and type ${rA.default.bold(r.user_code)}`,` Press ${rA.default.bold("")} to open in your browser`]);let s,n=t.pollForToken({request:r,oauth:A}),i=!1,o=setTimeout(()=>{if(i)return;let a=[`Authentication flow timed out after ${e}.`,"\u2502 Make sure to provide a token to avoid prompting an interactive flow.",`\u2570\u25B6 ${rA.default.bold("help:")} Link your project with ${Kp("npx vercel link")} to refresh OIDC token automatically.`].join(` +`);s=new Error(a),n.return()},(0,tm.default)(e));try{for await(let a of n)switch(a._tag){case"SlowDown":case"Timeout":case"Response":break;case"Error":s=a.error;break;default:throw new Error(`Unknown event type: ${JSON.stringify(a)}`)}}finally{i=!0,clearTimeout(o)}if(s)throw Br("error",`${rA.default.bold("error:")} Authentication failed: ${s.message}`),s;return Br("success",`${rA.default.bold("done!")} Authenticated successfully!`),t.getAuth()}Jt();var sm=De(_u(),1),Dx=class extends Error{constructor(t){let e=["Could not get credentials from OIDC context.","Please link your Vercel project using `npx vercel link`.","Then, pull an initial OIDC token with `npx vercel env pull`","and retry.","\u2570\u25B6 Make sure you are loading `.env.local` correctly, or passing $VERCEL_OIDC_TOKEN directly."].join(` +`);super(e,{cause:t}),this.name="LocalOidcContextError"}},Sx=class extends Error{constructor(t){let e=["Could not get credentials from OIDC context.","Please make sure OIDC is set up for your project","\u2570\u25B6 Docs: https://vercel.com/docs/oidc"].join(` +`);super(e,{cause:t}),this.name="VercelOidcContextError"}};async function Nx(t){try{return bx(await(0,sm.getVercelOidcToken)({team:t.teamId,project:t.projectId}))}catch(e){if(!Am())throw process.env.VERCEL_URL?new Sx(e):new Dx(e);return await rm(t)}}async function Le(t){let e=Rx(t??{});return e||await Nx({teamId:t&&typeof t=="object"&&"teamId"in t&&typeof t.teamId=="string"?t.teamId:void 0,projectId:t&&typeof t=="object"&&"projectId"in t&&typeof t.projectId=="string"?t.projectId:void 0})}function Rx(t){if(!t||typeof t!="object")return null;let e=["token"in t&&typeof t.token=="string"?null:"token","teamId"in t&&typeof t.teamId=="string"?null:"teamId","projectId"in t&&typeof t.projectId=="string"?null:"projectId"].filter(A=>A!==null);if(e.length===0)return{token:t.token,projectId:t.projectId,teamId:t.teamId};if(e.length<3)throw new Error(`Missing credentials parameters to access the Vercel API: ${e.filter(A=>A!==null).join(", ")}`);return null}var Fx=h.object({exp:h.number().optional().describe("Expiry timestamp (seconds since epoch)"),iat:h.number().optional().describe("Issued at timestamp"),owner_id:h.string(),project_id:h.string()});function bx(t){try{let e=Fx.parse(Xp(t.split(".")[1]));return{token:t,projectId:e.project_id,teamId:e.owner_id}}catch(e){throw new Error(`Invalid Vercel OIDC token: ${e instanceof Error?e.message:String(e)}`)}}l();var nm={SIGHUP:1,SIGINT:2,SIGQUIT:3,SIGKILL:9,SIGTERM:15,SIGCONT:18,SIGSTOP:19};function im(t){if(typeof t=="number")return t;if(t in nm)return nm[t];throw new Error(`Unknown signal name: ${String(t)}`)}l();var Lt=Symbol.for("workflow-serialize"),sA=Symbol.for("workflow-deserialize");var pr=class om{async ensureClient(){"use step";if(this._client)return this._client;let e=await Le();return this._client=new xe({teamId:e.teamId,token:e.token}),this._client}get cmdId(){return this.cmd.id}get cwd(){return this.cmd.cwd}get startedAt(){return this.cmd.startedAt}constructor({client:e,sessionId:A,cmd:r,output:s}){this._client=null,this.outputCache=null,this._resolvedOutput=null,this._client=e??null,this.sessionId=A,this.cmd=r,this.exitCode=r.exitCode??null,s&&(this._resolvedOutput=s,this.outputCache=Promise.resolve({stdout:s.stdout,stderr:s.stderr,both:s.stdout+s.stderr}))}static[Lt](e){let A={sandboxId:e.sessionId,cmd:e.cmd};return e._resolvedOutput&&(A.output=e._resolvedOutput),A}static[sA](e){return new om({sessionId:e.sandboxId,cmd:e.cmd,output:e.output})}logs(e){if(!this._client)throw new Error("logs() requires an API client. Call an async method first to initialize the client.");return this._client.getLogs({sessionId:this.sessionId,cmdId:this.cmd.id,signal:e?.signal})}async wait(e){"use step";let A=await this.ensureClient();e?.signal?.throwIfAborted();let r=await A.getCommand({sessionId:this.sessionId,cmdId:this.cmd.id,wait:!0,signal:e?.signal});return new Zo({client:A,sessionId:this.sessionId,cmd:r.json.command,exitCode:r.json.command.exitCode})}async getCachedOutput(e){return this.outputCache||(this.outputCache=(async()=>{try{e?.signal?.throwIfAborted(),await this.ensureClient();let A="",r="",s="";for await(let n of this.logs({signal:e?.signal}))s+=n.data,n.stream==="stdout"?A+=n.data:r+=n.data;return this._resolvedOutput={stdout:A,stderr:r},{stdout:A,stderr:r,both:s}}catch(A){throw this.outputCache=null,A}})()),this.outputCache}async output(e="both",A){"use step";return(await this.getCachedOutput(A))[e]}async stdout(e){"use step";return this.output("stdout",e)}async stderr(e){"use step";return this.output("stderr",e)}async kill(e,A){"use step";await(await this.ensureClient()).killCommand({sessionId:this.sessionId,commandId:this.cmd.id,signal:im(e??"SIGTERM"),abortSignal:A?.abortSignal})}},Zo=class am extends pr{constructor(e){super({...e}),this.exitCode=e.exitCode}static[Lt](e){return{...pr[Lt](e),exitCode:e.exitCode}}static[sA](e){return new am({sessionId:e.sandboxId,cmd:e.cmd,exitCode:e.exitCode,output:e.output})}async wait(){return this}};l();l();function mr(t,e){let{itemsKey:A,fetchNext:r,signal:s}=e;async function*n(){vu(s);let o=t;for(yield o;o.pagination.next!==null;)vu(s),o=await r(o.pagination.next),yield o}async function*i(){for await(let o of n()){let a=o[A];for(let c of a)vu(s),yield c}}return{...t,[Symbol.asyncIterator]:i,pages:n,toArray:async()=>{let o=[];for await(let a of i())o.push(a);return o}}}function vu(t){if(t?.aborted)throw t.reason??new DOMException("Aborted","AbortError")}var Lu=class xu{async ensureClient(){"use step";if(this._client)return this._client;let e=await Le();return this._client=new xe({teamId:e.teamId,token:e.token}),this._client}get snapshotId(){return this.snapshot.id}get sourceSessionId(){return this.snapshot.sourceSessionId}get status(){return this.snapshot.status}get sizeBytes(){return this.snapshot.sizeBytes}get createdAt(){return new Date(this.snapshot.createdAt)}get updatedAt(){return new Date(this.snapshot.updatedAt)}get expiresAt(){if(this.snapshot.expiresAt!==void 0)return new Date(this.snapshot.expiresAt)}static[Lt](e){return{snapshot:e.snapshot}}static[sA](e){return new xu({snapshot:e.snapshot})}constructor({client:e,snapshot:A}){this._client=null,this._client=e??null,this.snapshot=A}static async list(e){"use step";let A=await Le(e),r=new xe({teamId:A.teamId,token:A.token,fetch:e?.fetch}),s=async n=>(await r.listSnapshots({...A,...e,...n!==void 0&&{cursor:n}})).json;return mr(await s(e?.cursor),{itemsKey:"snapshots",fetchNext:s,signal:e?.signal})}static async tree(e){"use step";let A=await Le(e),r=new xe({teamId:A.teamId,token:A.token,fetch:e.fetch}),s=async n=>(await r.getSnapshotTree({...A,...e,snapshotId:n})).json;return mr(await s(e.snapshotId),{itemsKey:"snapshots",fetchNext:s,signal:e.signal})}static async get(e){"use step";let A=await Le(e),r=new xe({teamId:A.teamId,token:A.token});return new xu({client:r,snapshot:(await r.getSnapshot({snapshotId:e.snapshotId,signal:e.signal})).json.snapshot})}async delete(e){"use step";this.snapshot=(await(await this.ensureClient()).deleteSnapshot({snapshotId:this.snapshot.id,signal:e?.signal})).json.snapshot}};l();l();function Bs(t){let{networkPolicy:e,...A}=t;return{...A,networkPolicy:e?Po(e):void 0}}import{dirname as kx,resolve as Tx}from"path";import{pipeline as Ux}from"stream/promises";import{createWriteStream as _x}from"fs";import{mkdir as Mx}from"fs/promises";var fs=class cm{async ensureClient(){"use step";if(this._client)return this._client;let e=await Le();return this._client=new xe({teamId:e.teamId,token:e.token}),this._client}get client(){if(!this._client)throw new Error("API client not initialized");return this._client}get _sessionSnapshot(){return this.session}get sessionId(){return this.session.id}get interactivePort(){return this.session.interactivePort??void 0}get status(){return this.session.status}get createdAt(){return new Date(this.session.createdAt)}get timeout(){return this.session.timeout}get networkPolicy(){return this.session.networkPolicy}get sourceSnapshotId(){return this.session.sourceSnapshotId}get memory(){return this.session.memory}get vcpus(){return this.session.vcpus}get region(){return this.session.region}get runtime(){return this.session.runtime}get cwd(){return this.session.cwd}get requestedAt(){return new Date(this.session.requestedAt)}get startedAt(){return this.session.startedAt!=null?new Date(this.session.startedAt):void 0}get requestedStopAt(){return this.session.requestedStopAt!=null?new Date(this.session.requestedStopAt):void 0}get stoppedAt(){return this.session.stoppedAt!=null?new Date(this.session.stoppedAt):void 0}get abortedAt(){return this.session.abortedAt!=null?new Date(this.session.abortedAt):void 0}get duration(){return this.session.duration}get snapshottedAt(){return this.session.snapshottedAt!=null?new Date(this.session.snapshottedAt):void 0}get updatedAt(){return new Date(this.session.updatedAt)}get activeCpuUsageMs(){return this.session.activeCpuDurationMs}get networkTransfer(){return this.session.networkTransfer}static[Lt](e){return{session:e.session,routes:e.routes}}static[sA](e){return new cm({routes:e.routes,snapshot:e.session})}constructor(e){this._client=null,this.routes=e.routes,"snapshot"in e?this.session=e.snapshot:(this._client=e.client,this.session=Bs(e.session))}updateRoutes(e){this.routes=e}async getCommand(e,A){"use step";let r=await this.ensureClient(),s=await r.getCommand({sessionId:this.session.id,cmdId:e,signal:A?.signal});return new pr({client:r,sessionId:this.session.id,cmd:s.json.command})}async runCommand(e,A,r){"use step";let s=await this.ensureClient(),n=typeof e=="string"?{cmd:e,args:A,signal:r?.signal,timeoutMs:r?.timeoutMs}:e,i=!n.detached,o=async g=>{if(!(!n.stdout&&!n.stderr))try{for await(let d of g.logs({signal:n.signal}))d.stream==="stdout"?n.stdout?.write(d.data):d.stream==="stderr"&&n.stderr?.write(d.data)}catch(d){if(n.signal?.aborted)return;throw d}};if(i){let g=await s.runCommand({sessionId:this.session.id,command:n.cmd,args:n.args??[],cwd:n.cwd,env:n.env??{},sudo:n.sudo??!1,wait:!0,timeout:n.timeoutMs,signal:n.signal}),d=new pr({client:s,sessionId:this.session.id,cmd:g.command}),[I]=await Promise.all([g.finished,o(d)]);return new Zo({client:s,sessionId:this.session.id,cmd:I,exitCode:I.exitCode??0})}let a=await s.runCommand({sessionId:this.session.id,command:n.cmd,args:n.args??[],cwd:n.cwd,env:n.env??{},sudo:n.sudo??!1,timeout:n.timeoutMs,signal:n.signal}),c=new pr({client:s,sessionId:this.session.id,cmd:a.json.command});return o(c).catch(g=>{n.signal?.aborted||(n.stderr??n.stdout)?.emit("error",g)}),c}async mkDir(e,A){"use step";await(await this.ensureClient()).mkDir({sessionId:this.session.id,path:e,signal:A?.signal})}async readFile(e,A){"use step";return(await this.ensureClient()).readFile({sessionId:this.session.id,path:e.path,cwd:e.cwd,signal:A?.signal})}async readFileToBuffer(e,A){"use step";let r=await(await this.ensureClient()).readFile({sessionId:this.session.id,path:e.path,cwd:e.cwd,signal:A?.signal});return r===null?null:Go(r)}async downloadFile(e,A,r){"use step";let s=await this.ensureClient();if(!e?.path)throw new Error("downloadFile: source path is required");if(!A?.path)throw new Error("downloadFile: destination path is required");let n=await s.readFile({sessionId:this.session.id,path:e.path,cwd:e.cwd,signal:r?.signal});if(n===null)return null;try{let i=Tx(A.cwd??"",A.path);return r?.mkdirRecursive&&await Mx(kx(i),{recursive:!0}),await Ux(n,_x(i),{signal:r?.signal}),i}finally{n.destroy()}}async writeFiles(e,A){"use step";return(await this.ensureClient()).writeFiles({sessionId:this.session.id,cwd:this.session.cwd,extractDir:"/",files:e,signal:A?.signal})}domain(e){let A=this.routes.find(({port:r})=>r==e);if(A)return`https://${A.subdomain}.vercel.run`;throw new Error(`No route for port ${e}`)}async stop(e){"use step";let A=await(await this.ensureClient()).stopSession({sessionId:this.session.id,signal:e?.signal});return this.session=Bs(A.json.session),{session:this.session,sandbox:A.json.sandbox,snapshot:A.json.snapshot}}async update(e,A){"use step";e.networkPolicy!==void 0&&(this.session=Bs((await(await this.ensureClient()).updateNetworkPolicy({sessionId:this.session.id,networkPolicy:e.networkPolicy,signal:A?.signal})).json.session))}async extendTimeout(e,A){"use step";this.session=Bs((await(await this.ensureClient()).extendTimeout({sessionId:this.session.id,duration:e,signal:A?.signal})).json.session)}async snapshot(e){"use step";let A=await this.ensureClient(),r=await A.createSnapshot({sessionId:this.session.id,expiration:e?.expiration,signal:e?.signal});return this.session=Bs(r.json.session),new Lu({client:A,snapshot:r.json.snapshot})}};l();import*as vx from"constants";var{S_IFMT:yr,S_IFREG:xx,S_IFDIR:Lx,S_IFLNK:Yx,S_IFBLK:Ox,S_IFCHR:Gx,S_IFIFO:Hx,S_IFSOCK:Px}=vx,Yu=1,um=2,hm=3,dm=4,Em=5,Im=6,Qm=7;function W(t,e,A,r){let s=new Error(`${t}: ${e}, ${A} '${r}'`);return s.code=t,s.syscall=A,s.path=r,s}function Vx(t){return t==null?{encoding:null}:typeof t=="string"?{encoding:t}:{encoding:t.encoding??null,signal:t.signal}}var Jx=class{constructor(t,e,A,r,s,n,i,o,a,c,g,d,I,E){this.dev=t,this._mode=e,this.nlink=A,this.uid=r,this.gid=s,this.rdev=n,this.blksize=i,this.ino=o,this.size=a,this.blocks=c,this.atimeMs=g,this.mtimeMs=d,this.ctimeMs=I,this.birthtimeMs=E,this.atime=new Date(g),this.mtime=new Date(d),this.ctime=new Date(I),this.birthtime=new Date(E)}get mode(){return this._mode}isFile(){return(this.mode&yr)===xx}isDirectory(){return(this.mode&yr)===Lx}isBlockDevice(){return(this.mode&yr)===Ox}isCharacterDevice(){return(this.mode&yr)===Gx}isSymbolicLink(){return(this.mode&yr)===Yx}isFIFO(){return(this.mode&yr)===Hx}isSocket(){return(this.mode&yr)===Px}},jx=class{constructor(t,e,A){this.name=t,this.type=e,this.parentPath=A,this.path=`${this.parentPath}/${this.name}`}isFile(){return this.type===Yu}isDirectory(){return this.type===um}isBlockDevice(){return this.type===Qm}isCharacterDevice(){return this.type===Im}isSymbolicLink(){return this.type===hm}isFIFO(){return this.type===dm}isSocket(){return this.type===Em}};function gm(t){let e=t.trim().split("|");return new Jx(parseInt(e[10],10),parseInt(e[1],16),parseInt(e[8],10),parseInt(e[2],10),parseInt(e[3],10),0,parseInt(e[11],10),parseInt(e[9],10),parseInt(e[0],10),parseInt(e[12],10),parseFloat(e[4])*1e3,parseFloat(e[5])*1e3,parseFloat(e[6])*1e3,parseFloat(e[7])*1e3)}function Wx(t,e){let A=t.trim().split("|"),r=A[0],s=A[1];if(!r)throw W("ENOENT","no such file or directory","readdir",e);if(!s)throw new Error(`Invalid dirent type: ${s}`);return new jx(r,qx[s]??Yu,e)}var lm="%s|%f|%u|%g|%X|%Y|%Z|%W|%h|%i|%d|%B|%b",qx={f:Yu,d:um,l:hm,b:Qm,c:Im,p:dm,s:Em},Ou=class{constructor(t){this.sandbox=t}async readFile(t,e){"use step";let{encoding:A,signal:r}=Vx(e),s=await this.sandbox.readFileToBuffer({path:t},{signal:r});if(s===null)throw W("ENOENT","no such file or directory","open",t);return A?s.toString(A):s}async writeFile(t,e,A){"use step";let{encoding:r,signal:s}=typeof A=="string"?{encoding:A,signal:void 0}:{encoding:A?.encoding,signal:A?.signal},n;typeof e=="string"?n=Buffer.from(e,r??"utf8"):Buffer.isBuffer(e)?n=e:n=Buffer.from(e),await this.sandbox.writeFiles([{path:t,content:n}],{signal:s})}async appendFile(t,e,A){"use step";let{encoding:r,signal:s}=typeof A=="string"?{encoding:A,signal:void 0}:{encoding:A?.encoding,signal:A?.signal},n;typeof e=="string"?n=Buffer.from(e,r??"utf8"):Buffer.isBuffer(e)?n=e:n=Buffer.from(e);let i=await this.sandbox.readFileToBuffer({path:t},{signal:s}),o=i!==null?Buffer.concat([i,n]):n;await this.sandbox.writeFiles([{path:t,content:o}],{signal:s})}async mkdir(t,e){"use step";let A=typeof e=="number"?{recursive:!1}:e??{};if(A.recursive){let r=await this.sandbox.runCommand("mkdir",["-p",t],{signal:A.signal});if(r.exitCode!==0)throw W("EACCES",(await r.stderr()).trim()||"permission denied","mkdir",t);return}await this.sandbox.mkDir(t,{signal:A.signal})}async readdir(t,e){"use step";if(e?.withFileTypes){let r=await this.sandbox.runCommand("find",[t,"-maxdepth","1","-mindepth","1","-printf","%f|%y\\n"],{signal:e?.signal});if(r.exitCode!==0){let s=await r.stderr();throw s.includes("No such file or directory")?W("ENOENT","no such file or directory","scandir",t):W("EACCES",s.trim(),"scandir",t)}return(await r.stdout()).trim().split(` +`).filter(Boolean).map(s=>Wx(s,t))}let A=await this.sandbox.runCommand("ls",["-1",t],{signal:e?.signal});if(A.exitCode!==0){let r=await A.stderr();throw r.includes("No such file or directory")?W("ENOENT","no such file or directory","scandir",t):W("EACCES",r.trim(),"scandir",t)}return(await A.stdout()).trim().split(` +`).filter(Boolean)}async stat(t,e){"use step";let A=await this.sandbox.runCommand("stat",["-L","-c",lm,t],{signal:e?.signal});if(A.exitCode!==0){let r=await A.stderr();throw r.includes("No such file or directory")?W("ENOENT","no such file or directory","stat",t):W("EACCES",r.trim(),"stat",t)}return gm(await A.stdout())}async lstat(t,e){"use step";let A=await this.sandbox.runCommand("stat",["-c",lm,t],{signal:e?.signal});if(A.exitCode!==0){let r=await A.stderr();throw r.includes("No such file or directory")?W("ENOENT","no such file or directory","lstat",t):W("EACCES",r.trim(),"lstat",t)}return gm(await A.stdout())}async unlink(t,e){"use step";let A=await this.sandbox.runCommand("rm",[t],{signal:e?.signal});if(A.exitCode!==0){let r=await A.stderr();throw r.includes("No such file or directory")?W("ENOENT","no such file or directory","unlink",t):W("EACCES",r.trim(),"unlink",t)}}async rm(t,e){"use step";let A=[];e?.recursive&&A.push("-r"),e?.force&&A.push("-f"),A.push(t);let r=await this.sandbox.runCommand("rm",A,{signal:e?.signal});if(r.exitCode!==0){let s=await r.stderr();throw s.includes("No such file or directory")?W("ENOENT","no such file or directory","rm",t):W("EACCES",s.trim(),"rm",t)}}async rmdir(t,e){"use step";let A=await this.sandbox.runCommand("rmdir",[t],{signal:e?.signal});if(A.exitCode!==0){let r=await A.stderr();throw r.includes("No such file or directory")?W("ENOENT","no such file or directory","rmdir",t):r.includes("not empty")?W("ENOTEMPTY","directory not empty","rmdir",t):W("EACCES",r.trim(),"rmdir",t)}}async rename(t,e,A){"use step";let r=await this.sandbox.runCommand("mv",[t,e],{signal:A?.signal});if(r.exitCode!==0){let s=await r.stderr();throw s.includes("No such file or directory")?W("ENOENT","no such file or directory","rename",t):W("EACCES",s.trim(),"rename",t)}}async copyFile(t,e,A){"use step";let r=await this.sandbox.runCommand("cp",[t,e],{signal:A?.signal});if(r.exitCode!==0){let s=await r.stderr();throw s.includes("No such file or directory")?W("ENOENT","no such file or directory","copyfile",t):W("EACCES",s.trim(),"copyfile",t)}}async access(t,e){"use step";if((await this.sandbox.runCommand("test",["-e",t],{signal:e?.signal})).exitCode!==0)throw W("ENOENT","no such file or directory","access",t)}async exists(t,e){return(await this.sandbox.runCommand("test",["-e",t],{signal:e?.signal})).exitCode===0}async chmod(t,e,A){"use step";let r=typeof e=="number"?e.toString(8):e,s=await this.sandbox.runCommand("chmod",[r,t],{signal:A?.signal});if(s.exitCode!==0){let n=await s.stderr();throw n.includes("No such file or directory")?W("ENOENT","no such file or directory","chmod",t):W("EACCES",n.trim(),"chmod",t)}}async chown(t,e,A,r){"use step";let s=await this.sandbox.runCommand("chown",[`${e}:${A}`,t],{signal:r?.signal});if(s.exitCode!==0){let n=await s.stderr();throw n.includes("No such file or directory")?W("ENOENT","no such file or directory","chown",t):W("EACCES",n.trim(),"chown",t)}}async symlink(t,e,A){"use step";let r=await this.sandbox.runCommand("ln",["-s",t,e],{signal:A?.signal});if(r.exitCode!==0){let s=await r.stderr();throw s.includes("File exists")?W("EEXIST","file already exists","symlink",e):W("EACCES",s.trim(),"symlink",e)}}async readlink(t,e){"use step";let A=await this.sandbox.runCommand("readlink",[t],{signal:e?.signal});if(A.exitCode!==0)throw(await A.stderr()).includes("No such file or directory")?W("ENOENT","no such file or directory","readlink",t):W("EINVAL","invalid argument","readlink",t);return(await A.stdout()).trim()}async realpath(t,e){"use step";let A=await this.sandbox.runCommand("realpath",[t],{signal:e?.signal});if(A.exitCode!==0){let r=await A.stderr();throw r.includes("No such file or directory")?W("ENOENT","no such file or directory","realpath",t):W("EACCES",r.trim(),"realpath",t)}return(await A.stdout()).trim()}async truncate(t,e,A){"use step";let r=await this.sandbox.runCommand("truncate",["-s",String(e??0),t],{signal:A?.signal});if(r.exitCode!==0){let s=await r.stderr();throw s.includes("No such file or directory")?W("ENOENT","no such file or directory","truncate",t):W("EACCES",s.trim(),"truncate",t)}}async mkdtemp(t,e){"use step";let A=await this.sandbox.runCommand("mktemp",["-d",`${t}XXXXXX`],{signal:e?.signal});if(A.exitCode!==0)throw W("EACCES",(await A.stderr()).trim(),"mkdtemp",t);return(await A.stdout()).trim()}};l();import{setTimeout as $x}from"timers/promises";function Cm(t){return t instanceof he&&t.response.status===410}function Bm(t){return t instanceof he&&t.response.status===404}function Zx(t){return t instanceof he&&t.response.status===410&&t.json?.error?.code==="snapshot_not_found"}function fm(t){return t instanceof he&&t.response.status===422&&t.json?.error?.code==="sandbox_stopping"}function Xx(t){return t instanceof he&&t.response.status===422&&t.json?.error?.code==="sandbox_snapshotting"}var ps=class Yt{async ensureClient(){"use step";if(this._client)return this._client;let e=await Le();return this._client=new xe({teamId:e.teamId,token:e.token}),this._client}get name(){return this.sandbox.name}get routes(){return this.currentSession().routes}get persistent(){return this.sandbox.persistent}get region(){return this.sandbox.region}get vcpus(){return this.sandbox.vcpus}get memory(){return this.sandbox.memory}get runtime(){return this.sandbox.runtime}get totalEgressBytes(){return this.sandbox.totalEgressBytes}get totalIngressBytes(){return this.sandbox.totalIngressBytes}get totalActiveCpuDurationMs(){return this.sandbox.totalActiveCpuDurationMs}get totalDurationMs(){return this.sandbox.totalDurationMs}get updatedAt(){return new Date(this.sandbox.updatedAt)}get statusUpdatedAt(){return this.sandbox.statusUpdatedAt?new Date(this.sandbox.statusUpdatedAt):void 0}get createdAt(){return new Date(this.sandbox.createdAt)}get interactivePort(){return this.currentSession().interactivePort}get status(){return this.currentSession().status}get timeout(){return this.sandbox.timeout}get tags(){return this.sandbox.tags}get networkPolicy(){return this.sandbox.networkPolicy?Po(this.sandbox.networkPolicy):void 0}get sourceSnapshotId(){return this.currentSession().sourceSnapshotId}get currentSnapshotId(){return this.sandbox.currentSnapshotId}get snapshotExpiration(){return this.sandbox.snapshotExpiration}get keepLastSnapshots(){return this.sandbox.keepLastSnapshots}get activeCpuUsageMs(){return this.currentSession().activeCpuUsageMs}get networkTransfer(){return this.currentSession().networkTransfer}static async list(e){"use step";let A=await Le(e),r=new xe({teamId:A.teamId,token:A.token,fetch:e?.fetch}),s=async n=>(await r.listSandboxes({...A,...e,...n!==void 0&&{cursor:n}})).json;return mr(await s(e?.cursor),{itemsKey:"sandboxes",fetchNext:s,signal:e?.signal})}static[Lt](e){return{metadata:e.session?._sessionSnapshot,routes:e.session?.routes??[],sandboxMetadata:e.sandbox,projectId:e.projectId}}static[sA](e){let A=new Yt({sandbox:e.sandboxMetadata,routes:e.routes,projectId:e.projectId});return e.metadata&&(A.session=new fs({routes:e.routes,snapshot:e.metadata})),A}static async create(e){"use step";let A=await Le(e),r=new xe({teamId:A.teamId,token:A.token,fetch:e?.fetch}),s=tA(e),n=await r.createSandbox({source:e?.source,projectId:A.projectId,ports:e?.ports??[],timeout:e?.timeout,resources:e?.resources,runtime:e&&"runtime"in e?e?.runtime:void 0,networkPolicy:e?.networkPolicy,env:e?.env,tags:e?.tags,snapshotExpiration:e?.snapshotExpiration,keepLastSnapshots:e?.keepLastSnapshots,signal:e?.signal,name:e?.name,persistent:e?.persistent,...s});return new Kx({client:r,session:n.json.session,sandbox:n.json.sandbox,routes:n.json.routes,projectId:A.projectId,onResume:e?.onResume})}static async fork(e){"use step";let{sourceSandbox:A,...r}=e,s=e,n=await Yt.get({token:s.token,projectId:s.projectId,teamId:s.teamId,fetch:e.fetch,signal:e.signal,...tA(e),name:A,resume:!1}),i=n.routes.filter(c=>c.port!==n.interactivePort).map(c=>c.port),o={...n.vcpus!==void 0&&{resources:{vcpus:n.vcpus}},...n.timeout!==void 0&&{timeout:n.timeout},...n.networkPolicy!==void 0&&{networkPolicy:n.networkPolicy},...n.tags!==void 0&&{tags:n.tags},...i.length>0&&{ports:i},persistent:n.persistent,...n.snapshotExpiration!==void 0&&{snapshotExpiration:n.snapshotExpiration},...n.keepLastSnapshots!==void 0&&{keepLastSnapshots:n.keepLastSnapshots}},a=n.currentSnapshotId;return a?Yt.create({...o,...r,source:{type:"snapshot",snapshotId:a}}):Yt.create({...o,...n.runtime!==void 0&&{runtime:n.runtime},...r})}static async get(e){"use step";let A=await Le(e),r=new xe({teamId:A.teamId,token:A.token,fetch:e.fetch}),s=tA(e),n=await r.getSandbox({name:e.name,projectId:A.projectId,resume:e.resume,signal:e.signal,...s}),i=new Yt({client:r,session:n.json.session,sandbox:n.json.sandbox,routes:n.json.routes,projectId:A.projectId,onResume:e.onResume});return n.json.resumed&&e.onResume&&await e.onResume(i),i}static async getOrCreate(e){"use step";if(!e?.name){let A=await Yt.create(e);return e?.onCreate&&await e.onCreate(A),A}try{return await Yt.get(e)}catch(A){if(Bm(A)){let r=await Yt.create(e);return e.onCreate&&await e.onCreate(r),r}if(Zx(A)){let r=await Le(e),s=new xe({teamId:r.teamId,token:r.token,fetch:e.fetch}),n=tA(e);try{await s.deleteSandbox({name:e.name,projectId:r.projectId,signal:e.signal,...n})}catch(o){if(!Bm(o))throw o}let i=await Yt.create(e);return e.onCreate&&await e.onCreate(i),i}throw A}}constructor({client:e,routes:A,session:r,sandbox:s,projectId:n,onResume:i}){this._client=null,this.resumePromise=null,this._client=e??null,r&&(this.session=new fs({client:e,routes:A,session:r})),this.sandbox=s,this.projectId=n??"",this.onResume=i,this.fs=new Ou(this)}currentSession(){if(!this.session)throw new Error("No active session. Run a command or call resume first.");return this.session}async resume(e){return this.resumePromise||(this.resumePromise=this.doResume(e).finally(()=>{this.resumePromise=null})),this.resumePromise}async doResume(e){let A=await this.ensureClient(),r=await A.getSandbox({name:this.sandbox.name,projectId:this.projectId,resume:!0,signal:e});this.session=new fs({client:A,routes:r.json.routes,session:r.json.session}),this.onResume&&r.json.resumed&&await this.onResume(this)}async waitForStopAndResume(e){"use step";let A=await this.ensureClient(),r=500,s=this.session.status;for(;s==="stopping"||s==="snapshotting";){await $x(r,void 0,{signal:e});let n=await A.getSession({sessionId:this.session.sessionId,signal:e});this.session=new fs({client:A,routes:n.json.routes,session:n.json.session}),s=n.json.session.status}await this.resume(e)}async withResume(e,A){this.session||await this.resume(A);try{return await e()}catch(r){if(Cm(r))return await this.resume(A),e();if(fm(r)||Xx(r))return await this.waitForStopAndResume(A),e();throw r}}async runCommand(e,A,r){"use step";let s=typeof e=="string"?r?.signal:e.signal;return this.withResume(()=>this.session.runCommand(e,A,r),s)}async getCommand(e,A){"use step";return this.withResume(()=>this.session.getCommand(e,A),A?.signal)}async mkDir(e,A){"use step";return this.withResume(()=>this.session.mkDir(e,A),A?.signal)}async readFile(e,A){"use step";return this.withResume(()=>this.session.readFile(e,A),A?.signal)}async readFileToBuffer(e,A){"use step";return this.withResume(()=>this.session.readFileToBuffer(e,A),A?.signal)}async downloadFile(e,A,r){"use step";return this.withResume(()=>this.session.downloadFile(e,A,r),r?.signal)}async writeFiles(e,A){"use step";return this.withResume(()=>this.session.writeFiles(e,A),A?.signal)}domain(e){return this.currentSession().domain(e)}async stop(e){"use step";if(!this.session)throw new Error("No active session to stop.");let{session:A,sandbox:r,snapshot:s}=await this.session.stop(e);return r&&(this.sandbox=r),Object.assign(A,{snapshot:s})}async updateNetworkPolicy(e,A){"use step";return await this.withResume(()=>this.session.update({networkPolicy:e},A),A?.signal),this.session.networkPolicy}async extendTimeout(e,A){"use step";return this.withResume(()=>this.session.extendTimeout(e,A),A?.signal)}async snapshot(e){"use step";return this.withResume(()=>this.session.snapshot(e),e?.signal)}async update(e,A){"use step";let r=await this.ensureClient(),s;e.resources?.vcpus&&(s={vcpus:e.resources.vcpus,memory:e.resources.vcpus*2048});let n=await r.updateSandbox({name:this.sandbox.name,projectId:this.projectId,persistent:e.persistent,resources:s,timeout:e.timeout,networkPolicy:e.networkPolicy,tags:e.tags,ports:e.ports,snapshotExpiration:e.snapshotExpiration,keepLastSnapshots:e.keepLastSnapshots,currentSnapshotId:e.currentSnapshotId,signal:A?.signal});if(this.sandbox=n.json.sandbox,e.ports!==void 0&&n.json.routes&&this.session?.updateRoutes(n.json.routes),e.networkPolicy)try{return await this.session?.update({networkPolicy:e.networkPolicy},A)}catch(i){if(Cm(i)||fm(i))return;throw i}}async delete(e){"use step";await(await this.ensureClient()).deleteSandbox({name:this.sandbox.name,projectId:this.projectId,signal:e?.signal})}async listSessions(e){"use step";let A=await this.ensureClient(),r=async s=>(await A.listSessions({projectId:this.projectId,name:this.sandbox.name,limit:e?.limit,cursor:s,sortOrder:e?.sortOrder,signal:e?.signal})).json;return mr(await r(e?.cursor),{itemsKey:"sessions",fetchNext:r,signal:e?.signal})}async listSnapshots(e){"use step";let A=await this.ensureClient(),r=async s=>(await A.listSnapshots({projectId:this.projectId,name:this.sandbox.name,limit:e?.limit,cursor:s,sortOrder:e?.sortOrder,signal:e?.signal})).json;return mr(await r(e?.cursor),{itemsKey:"snapshots",fetchNext:r,signal:e?.signal})}},Kx=class extends ps{async[Symbol.asyncDispose](){await this.stop()}};l();function tL(t){return new zx({write(e,A,r){t(e.toString()),r()}})}var Xo=class{constructor(e,A,r){this.name=e;this.sandbox=A;this.credentials=r}name;sandbox;credentials;async writeFiles(e){await Gs(()=>this.sandbox.writeFiles(e))}async exec(e,A,r={}){let s=r.onLog?tL(r.onLog):void 0,n=()=>this.sandbox.runCommand({cmd:e,args:A,cwd:r.cwd,env:r.env,sudo:r.sudo,signal:r.signal,stdout:s,stderr:s});return{exitCode:(r.retryTransport?await Gs(n,{shouldRetry:Hs}):await n()).exitCode}}async spawn(e,A,r={}){let s=await this.sandbox.runCommand({cmd:e,args:A,cwd:r.cwd,env:r.env,sudo:r.sudo,signal:r.signal,detached:!0});return{logs:()=>s.logs(),wait:async n=>({exitCode:(await s.wait({signal:n})).exitCode}),kill:n=>s.kill(n).then(()=>{})}}domain(e){return this.sandbox.domain(e)}async extendTimeout(e){await Gs(()=>this.sandbox.extendTimeout(e))}sessionId(){return this.sandbox.currentSession().sessionId}async stop(){let e=this.sandbox.currentSnapshotId,A=this.sandbox.status==="stopped",r=a=>!!(a&&(!e||a!==e)),s;try{s=await this.sandbox.stop()}catch(a){if(!Hs(a))throw a}let n=s?.snapshot?.id;if(n&&(A||r(n)))return{status:s?.status,snapshotId:n};let i=Date.now()+6e4,o={status:s?.status,snapshotId:this.sandbox.currentSnapshotId};for(;Date.now()ps.get({name:this.name,resume:!1,...this.credentials??{}}));if(this.sandbox=a,o={status:a.status,snapshotId:a.currentSnapshotId},A&&o.snapshotId||o.status==="stopped"&&r(o.snapshotId))return o}return A&&o.snapshotId?o:{status:o.status}}},Gu=1800*1e3,Mn=class{async getOrCreate(e){let A=i=>new Xo(e.name,i,e.credentials),{onCreate:r,onResume:s}=e,n=await ps.getOrCreate({name:e.name,ports:e.ports,timeout:e.timeoutMs,runtime:e.runtime??"node24",resources:e.vcpus?{vcpus:e.vcpus}:void 0,env:e.env,persistent:!0,resume:!0,keepLastSnapshots:{count:1},signal:e.signal,...e.credentials??{},onCreate:r?async()=>{await r()}:void 0,onResume:s?async()=>{await s()}:void 0});return A(n)}async stop(e,A){let r=await ps.get({name:e,...A??{}});return new Xo(e,r,A).stop()}};l();l();var pm=`// In-VM supervisor. Serves a boot page until the target is reachable and the +// CLI releases it after reconciliation, then proxies HTTP and WebSocket traffic. +// Node builtins only; ports and the status-file path come from env. +"use strict"; +const http = require("http"); +const net = require("net"); +const fs = require("fs"); + +const PUBLIC_PORT = parseInt(process.env.DEV_PUBLIC_PORT || "3000", 10); +const TARGET_PORT = parseInt(process.env.DEV_TARGET_PORT || "3001", 10); +const TARGET_HOST = "127.0.0.1"; +const STATUS_FILE = process.env.DEV_STATUS_FILE || "/tmp/dev-status.json"; +const RUN_ID = process.env.DEV_RUN_ID || ""; +const MAX_STATUS_CLIENTS = parseInt(process.env.DEV_MAX_STATUS_CLIENTS || "64", 10); + +let ready = false; +let targetOpen = false; +// Open SSE connections; we push a status snapshot to each on every change. +const clients = new Set(); + +// Proxy only after both the target is open and the CLI has completed reconciliation. +function currentStatus() { + let data = { label: "preparing sandbox", base: 0, ceiling: 10, etaMs: 4000 }; + try { + data = JSON.parse(fs.readFileSync(STATUS_FILE, "utf8")); + } catch (e) { + // No snapshot yet (supervisor up before the CLI's first write); use default. + } + if (data.ready === true && targetOpen) ready = true; + data.ready = ready; + data.runId = RUN_ID; + return data; +} + +// Push the current status to every connected boot page (Server-Sent Events). +function broadcast() { + const status = currentStatus(); + const frame = "data: " + JSON.stringify(status) + "\\n\\n"; + for (const res of clients) { + try { + res.write(frame); + if (status.ready) { + res.end(); + clients.delete(res); + } + } catch (e) { + clients.delete(res); + } + } +} + +// Probe target availability while the CLI completes its startup work. +function probe() { + const sock = net.connect(TARGET_PORT, TARGET_HOST); + sock.setTimeout(800); + sock.on("connect", function () { + targetOpen = true; + sock.destroy(); + broadcast(); + if (!ready) setTimeout(probe, 300); + }); + const retry = function () { + targetOpen = false; + sock.destroy(); + if (!ready) setTimeout(probe, 300); + }; + sock.on("error", retry); + sock.on("timeout", retry); +} +probe(); + +// Phase changes arrive as STATUS_FILE rewrites; watch it and push on change. +// (watchFile polls the local file server-side; the browser still gets a push.) +try { + fs.watchFile(STATUS_FILE, { interval: 250 }, broadcast); +} catch (e) { + // If watching is unavailable, the SSE client still gets the initial frame. +} + +// Plain JSON snapshot, handy for curl/debugging. +function serveStatus(res) { + res.writeHead(200, { + "content-type": "application/json", + "cache-control": "no-store", + "x-content-type-options": "nosniff", + }); + res.end(JSON.stringify(currentStatus())); +} + +// SSE stream: the current status now, then a push on every change until ready. +function serveEvents(req, res) { + if (clients.size >= MAX_STATUS_CLIENTS) { + res.writeHead(503, { + "content-type": "text/plain; charset=utf-8", + "cache-control": "no-store", + "retry-after": "1", + }); + res.end("up: too many status streams"); + return; + } + const status = currentStatus(); + res.writeHead(200, { + "content-type": "text/event-stream", + "cache-control": "no-store", + connection: "keep-alive", + "x-content-type-options": "nosniff", + "x-accel-buffering": "no", // ask any intermediary not to buffer the stream + }); + res.write("retry: 1000\\n\\n"); + res.write("data: " + JSON.stringify(status) + "\\n\\n"); + if (status.ready) { + res.end(); + return; + } + clients.add(res); + req.on("close", function () { + clients.delete(res); + }); +} + +const BOOT_PAGE = \` + +starting + + +
+
starting your up environment
+
+
preparing sandbox0%
+
+

up syncs your working directory into a Vercel Sandbox, installs dependencies, and runs your dev server in the cloud, serving it back at this URL. While it boots, a tiny supervisor inside the sandbox shows this page, then hands off to your app the moment it is ready, proxying HTTP and WebSocket traffic to your dev server. Edit locally and changes sync up.

+
+ Powered by Vercel Sandbox + \xB7 + + \xB7 + by Vercel Labs +
+ +\`; + +function serveBootPage(res) { + res.writeHead(200, { + "content-type": "text/html; charset=utf-8", + "cache-control": "no-store", + "content-security-policy": + "default-src 'none'; style-src 'unsafe-inline'; script-src 'unsafe-inline'; connect-src 'self'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'", + "referrer-policy": "no-referrer", + "x-content-type-options": "nosniff", + }); + res.end(BOOT_PAGE); +} + +const server = http.createServer(function (req, res) { + if (req.url === "/__dev/events") { + serveEvents(req, res); + return; + } + if (req.url === "/__dev/status") { + serveStatus(res); + return; + } + if (!ready) { + serveBootPage(res); + return; + } + const upstream = http.request( + { + host: TARGET_HOST, + port: TARGET_PORT, + method: req.method, + path: req.url, + headers: req.headers, // preserve Host (same-origin); dev server expects it + }, + function (up) { + res.writeHead(up.statusCode || 502, up.headers); + up.pipe(res); + }, + ); + upstream.on("error", function () { + if (!res.headersSent) res.writeHead(502, { "content-type": "text/plain" }); + res.end("up: upstream not reachable"); + }); + req.pipe(upstream); +}); + +// WebSocket / Upgrade passthrough: hijack the raw socket and pipe bidirectionally. +// Bound concurrent tunnels and reap idle/dead ones so a client holding the public +// URL cannot exhaust the supervisor's file descriptors with sockets that never error. +const MAX_UPGRADES = parseInt(process.env.DEV_MAX_UPGRADES || "256", 10); +const UPGRADE_IDLE_MS = parseInt(process.env.DEV_UPGRADE_IDLE_MS || "600000", 10); +let activeUpgrades = 0; +server.on("upgrade", function (req, socket, head) { + if (!ready || activeUpgrades >= MAX_UPGRADES) { + socket.destroy(); + return; + } + activeUpgrades++; + const upstream = net.connect(TARGET_PORT, TARGET_HOST, function () { + const lines = [req.method + " " + req.url + " HTTP/1.1"]; + for (let i = 0; i < req.rawHeaders.length; i += 2) { + lines.push(req.rawHeaders[i] + ": " + req.rawHeaders[i + 1]); + } + upstream.write(lines.join("\\r\\n") + "\\r\\n\\r\\n"); + if (head && head.length) upstream.write(head); + upstream.pipe(socket); + socket.pipe(upstream); + }); + // Tear both ends down exactly once and release the slot, whether the end comes + // from an error, a normal close, or the idle-timeout reaper. + let settled = false; + const teardown = function () { + if (settled) return; + settled = true; + activeUpgrades--; + socket.destroy(); + upstream.destroy(); + }; + if (UPGRADE_IDLE_MS > 0) { + socket.setTimeout(UPGRADE_IDLE_MS, teardown); + upstream.setTimeout(UPGRADE_IDLE_MS, teardown); + } + socket.on("error", teardown); + socket.on("close", teardown); + upstream.on("error", teardown); + upstream.on("close", teardown); +}); + +// Slowloris guards on the plain-HTTP proxy path (the upgrade path is bounded above). +server.requestTimeout = parseInt(process.env.DEV_REQUEST_TIMEOUT_MS || "300000", 10); +server.headersTimeout = parseInt(process.env.DEV_HEADERS_TIMEOUT_MS || "60000", 10); + +server.listen(PUBLIC_PORT, "0.0.0.0", function () { + console.log("[up supervisor] :" + PUBLIC_PORT + " -> :" + TARGET_PORT); +}); +`;var mm=pm,Hu="/tmp/dev-supervisor.cjs",vn="/tmp/dev-status.json",ms=3e3;function ym(t){return t===ms?ms+1:t}async function YA(t,e,A={}){try{await t.writeFiles([{path:vn,content:JSON.stringify(e)}])}catch(r){if(A.required)throw r}}function wm(t){return t<25?15e3:t<75?3e4:t<150?5e4:75e3}function Pu(t){switch(t){case"nextjs":case"nuxtjs":return 9e3;case"astro":return 6e3;case"vite":case"sveltekit":return 4e3;default:return 8e3}}l();var Ln=De(Um(),1);import{constants as Zu}from"fs";import{lstat as yL,open as wL,readdir as DL,stat as SL}from"fs/promises";import je from"path";var OA="/vercel/sandbox",NL=["node_modules",".git",".next",".nuxt",".svelte-kit",".vercel",".turbo","dist","build",".cache","coverage",".DS_Store","*.log",".dev-install-command",".dev-tools"],RL=[".env*"],Mm=[".npmrc",".yarnrc*",".netrc",".pypirc",".direnv"],vm=[".ssh",".aws",".gnupg","*.pem","*.key","id_rsa*","id_ed25519*"],Xu=20*1024*1024,FL=200,bL=4*1024*1024,_m=3;function Ku(t={}){let e=(0,Ln.default)().add(NL);return e.add(RL),e.add(vm),t.includeSensitiveConfig||e.add(Mm),e}function kL(t,e,A){if(t.base&&e!==t.base&&!e.startsWith(`${t.base}/`))return;let r=t.base?e.slice(t.base.length+1):e;if(r)return A?`${r}/`:r}function TL(t,e,A){let r=!1;for(let s of t){let n=kL(s,e,A);if(!n)continue;let i=s.rules.test(n);i.ignored&&(r=!0),i.unignored&&(r=!1)}return r}async function xm(t,e){let A=typeof Zu.O_NOFOLLOW=="number"?Zu.O_NOFOLLOW:0,r=await wL(t,Zu.O_RDONLY|A);try{let s=await r.stat();if(!s.isFile())throw new Error(`Refusing to read non-file path: ${JSON.stringify(t)}`);if(e&&(s.dev!==e.dev||s.ino!==e.ino))throw new Error(`Refusing to read substituted file: ${JSON.stringify(t)}`);return await r.readFile()}finally{await r.close()}}async function zu(t,e={}){let A=Ku(e),r=new Set((e.extraIgnoredPaths??[]).map(p=>ta(p))),s=(0,Ln.default)().add(Mm),n=(0,Ln.default)().add(vm),i=[],o=new Set,a=new Set,c=new Set,g=new Set,d=new Set,I=!1,E=e.maxFileBytes??Xu;function C(p,R){let D=R?.code;return p!==t&&(D==="ENOENT"||D==="ENOTDIR")}function y(p,R){let D=R?.code;return p===t||D!=="EACCES"&&D!=="EPERM"&&D!=="EMFILE"&&D!=="ENFILE"?!1:(o.add(je.relative(t,p).split(je.sep).join("/")),!0)}async function w(p,R){if(p!==t){let F;try{F=await yL(p)}catch(U){if(C(p,U)||y(p,U))return;throw U}if(!F.isDirectory()){F.isSymbolicLink()&&c.add(je.relative(t,p).split(je.sep).join("/"));return}}let D;try{D=await DL(p,{withFileTypes:!0})}catch(F){if(C(p,F)||y(p,F))return;throw F}let q=je.relative(t,p).split(je.sep).join("/"),se=D.find(F=>F.name===".gitignore"&&F.isFile()),ne=[...R];if(se)try{ne.push({base:q,rules:(0,Ln.default)().add((await xm(je.join(p,se.name))).toString("utf8"))})}catch(F){if(!C(je.join(p,se.name),F)){if(y(p,F))return;throw F}}for(let F of D){let U=je.join(p,F.name),O=je.relative(t,U).split(je.sep).join("/"),re=F.isDirectory()?`${O}/`:O;if(r.has(O)||A.ignores(re)){/^\.env/.test(F.name)&&(I=!0),s.ignores(re)&&g.add(O),n.ignores(re)&&d.add(O);continue}if(!(!(e.includeSensitiveConfig&&s.ignores(re))&&TL(ne,O,F.isDirectory()))){if(F.isDirectory())await w(U,ne);else if(F.isSymbolicLink())c.add(O);else if(F.isFile()){let pe;try{pe=await SL(U)}catch(J){if(C(U,J)||y(U,J))continue;throw J}if(pe.size>E){a.add(O);continue}i.push({abs:U,rel:O,size:pe.size,mtimeMs:pe.mtimeMs,ctimeMs:pe.ctimeMs,dev:pe.dev,ino:pe.ino,mode:pe.mode&511})}}}}return await w(t,[]),{files:i,skippedEnv:I,skippedSensitiveConfig:[...g].sort(),skippedSensitiveKeys:[...d].sort(),skippedUnreadable:[...o].sort(),skippedLarge:[...a].sort(),skippedSymlinks:[...c].sort()}}function UL(t){let e={};for(let A of t)Lm(e,A.rel,{size:A.size,mtimeMs:A.mtimeMs,ctimeMs:A.ctimeMs,mode:A.mode});return e}function Lm(t,e,A){Object.defineProperty(t,e,{value:A,enumerable:!0,configurable:!0,writable:!0})}function eh(t,e,A=[]){let r=UL(e);for(let[s,n]of Object.entries(t))A.some(i=>s===i||s.startsWith(`${i}/`))&&Lm(r,s,n);return r}function th(t,e){return e.filter(A=>{let r=t[A.rel];return!r||r.size!==A.size||r.mtimeMs!==A.mtimeMs||r.ctimeMs!==A.ctimeMs||r.mode!==A.mode})}function ta(t){let e=je.posix.normalize(t);if(!t||t.includes("\0")||je.posix.isAbsolute(t)||e==="."||e===".."||e.startsWith("../")||e!==t)throw new Error(`Unsafe sync path in local state: ${JSON.stringify(t)}`);return t}function Ah(t,e,A=[]){let r=new Set(e.map(s=>s.rel));return Object.keys(t).map(ta).filter(s=>!r.has(s)&&!A.some(n=>s===n||s.startsWith(`${n}/`)))}async function _L(t){return{path:ta(t.rel),content:await xm(t.abs,t),mode:t.mode}}async function rh(t,e,A){let r=[],s=0,n=0,i=Array.from({length:_m},()=>Promise.resolve()),o=0,a=()=>{if(r.length===0)return;let c=r;r=[],s=0;let g=o++%_m,d=i[g];if(!d)throw new Error(`Missing upload slot ${g}.`);i[g]=d.then(async()=>{await t.writeFiles(c),n+=c.length,A?.(n,e.length)})};for(let c of e)r.push(await _L(c)),s+=c.size,(r.length>=FL||s>=bL)&&a();a(),await Promise.all(i)}async function sh(t,e){if(e.length===0)return;let A=e.map(r=>je.posix.join(OA,ta(r)));await t.exec("rm",["-f",...A],{retryTransport:!0})}async function Ym(t,e,A,r={}){let{files:s,skippedSensitiveConfig:n,skippedSensitiveKeys:i,skippedUnreadable:o,skippedLarge:a,skippedSymlinks:c}=await zu(e,r),g=th(A,s),d=Ah(A,s,o);return await rh(t,g),await sh(t,d),{files:s,uploaded:g.length,deleted:d.length,changedPaths:[...g.map(I=>I.rel),...d],skippedSensitiveConfig:n,skippedSensitiveKeys:i,skippedUnreadable:o,skippedLarge:a,skippedSymlinks:c}}l();l();var ye=De(ks(),1);import{spawn as Hm}from"child_process";import{setTimeout as ML}from"timers/promises";import{stripVTControlCharacters as Aa}from"util";var vL=35,Pm=5,xL=18,Om="\x1B]8;;\x07",nh=["\u25D2","\u25D0","\u25D3","\u25D1"],LL=80;function Ye(t,e={}){let A="";for(let r of Aa(t)){if(e.preserveNewlines&&r===` +`){A+=r;continue}let s=r.codePointAt(0)??0,n=s<=31||s>=127&&s<=159;A+=n?`\\x${s.toString(16).padStart(2,"0")}`:r}return A}function Gm(t){return Aa(t).length}function Vm(t){let e=[],A=new Intl.Segmenter(void 0,{granularity:"grapheme"}),r=0;for(;r=64&&r<=126)return A+1}return e+1}var Yn=class{animated;output;messageIntervalMs;characterIntervalMs;panelLineIntervalMs;delay;lastRevealAt=0;pending=Promise.resolve();activeSpinner;closed=!1;constructor({animated:e=!!process.stdout.isTTY,output:A=process.stdout,messageIntervalMs:r=vL,characterIntervalMs:s=Pm,panelLineIntervalMs:n=xL,delay:i=ML}={}){this.animated=e,this.output=A,this.messageIntervalMs=r,this.characterIntervalMs=s,this.panelLineIntervalMs=n,this.delay=i}intro(){let e=this.animated?ye.default.bgWhite(ye.default.black(" up ")):" up ";this.output.write(` +${this.style("\u250C",ye.default.dim)} ${e} +${this.bar()} +`)}spinner(){this.activeSpinner?.cancel();let e=new ih(this);return this.activeSpinner=e,e}link(e){let A=Ye(e);if(!this.animated)return A;let r=ye.default.bold(A);return`\x1B]8;;${A}\x07${r}${Om}`}async step(e){await this.reveal(async()=>{this.output.write(`${this.style("\u25CF",ye.default.white)} `),await this.typeText(e),this.output.write(` +${this.bar()} +`)})}async final(e){await this.reveal(async()=>{this.output.write(`${this.style("\u25CB",ye.default.white)} `),await this.typeText(e),this.output.write(` +`)})}async info(e){await this.reveal(async()=>{this.output.write(`${this.bar()} `),await this.typeText(e),this.output.write(` +${this.bar()} +`)})}async warn(e){await this.reveal(async()=>{this.output.write(`${this.style("!",ye.default.yellow)} `),await this.typeText(e),this.output.write(` +${this.bar()} +`)})}async error(e){await this.reveal(async()=>{this.output.write(`${this.style("\u25A0",ye.default.red)} `),await this.typeText(e),this.output.write(` +${this.bar()} +`)})}async note(e,A){let r=e.split(` +`),s=Math.max(56,...r.map(o=>Gm(o)+2)),n="\u2500".repeat(Math.max(2,s-A.length-1)),i=" ".repeat(s);await this.reveal(async()=>{this.output.write(`${this.style("\u25CF",ye.default.white)} `),await this.typeText(ye.default.bold(A)),this.output.write(` ${this.style(`${n}\u256E`,ye.default.dim)} +`),this.output.write(`${this.bar()} ${i}${this.style("\u2502",ye.default.dim)} +`);for(let o of r){this.animated&&await this.delay(this.panelLineIntervalMs);let a=" ".repeat(Math.max(0,s-Gm(o)-2));this.output.write(`${this.bar()} `),await this.typeText(o),this.output.write(`${a} ${this.style("\u2502",ye.default.dim)} +`)}this.output.write(`${this.bar()} ${i}${this.style("\u2502",ye.default.dim)} +`),this.output.write(`${this.style(`\u251C${"\u2500".repeat(s+2)}\u256F`,ye.default.dim)} +${this.bar()} +`)})}async outro(e){await this.reveal(async()=>{this.output.write(`${this.style("\u2514",ye.default.dim)} `),await this.typeText(e),this.output.write(` +`),this.closed=!0})}outroNow(e){this.activeSpinner?.cancel(),this.closed=!0;let A=this.animated?e:Aa(e);this.output.write(`\r\x1B[2K${this.animated?Om:""}${this.style("\u2514",ye.default.dim)} ${A} +`)}clearSpinner(e){this.activeSpinner===e&&(this.activeSpinner=void 0,this.animated&&this.output.write("\r\x1B[2K"))}renderSpinner(e,A){!this.animated||this.closed||this.output.write(`\r\x1B[2K${ye.default.white(e)} ${A}`)}isAnimated(){return this.animated}style(e,A){return this.animated?A(e):e}bar(){return this.style("\u2502",ye.default.dim)}async reveal(e){let A=this.pending.then(async()=>{this.closed||(await this.waitForReveal(),await e(),this.lastRevealAt=Date.now())});this.pending=A.catch(()=>{}),await A}async typeText(e){if(!this.animated){this.output.write(Aa(e));return}let A=!1;for(let r of Vm(e)){if(this.closed)return;r.visible&&A&&this.characterIntervalMs>0&&await this.delay(this.characterIntervalMs),this.output.write(r.value),r.visible&&(A=!0)}}async waitForReveal(){if(!this.animated)return;let e=this.messageIntervalMs-(Date.now()-this.lastRevealAt);e>0&&await this.delay(e)}},ih=class{constructor(e){this.flow=e}flow;interval;textInterval;frame=0;messageText="";tokens=[];start(e){this.flow.isAnimated()&&(this.interval&&clearInterval(this.interval),this.textInterval&&clearInterval(this.textInterval),this.interval=void 0,this.textInterval=void 0,this.setMessage(e),this.interval=setInterval(()=>this.draw(),LL),this.interval.unref())}message(e){this.flow.isAnimated()&&this.setMessage(e)}async stop(e){this.cancel(),await this.flow.step(e)}async fail(e){this.cancel(),await this.flow.error(e)}cancel(){this.interval&&clearInterval(this.interval),this.textInterval&&clearInterval(this.textInterval),this.interval=void 0,this.textInterval=void 0,this.flow.clearSpinner(this)}setMessage(e){this.textInterval&&clearInterval(this.textInterval),this.textInterval=void 0,this.messageText="",this.tokens=Vm(e),this.advanceText(),this.draw(),this.tokens.length!==0&&(this.textInterval=setInterval(()=>{this.advanceText(),this.draw(),this.tokens.length===0&&this.textInterval&&(clearInterval(this.textInterval),this.textInterval=void 0)},Pm),this.textInterval.unref())}advanceText(){let e=this.tokens.shift();if(e)for(this.messageText+=e.value;this.tokens[0]&&!this.tokens[0].visible;)this.messageText+=this.tokens.shift()?.value??""}draw(){let e=nh[this.frame%nh.length]??nh[0];this.flow.renderSpinner(e,this.messageText),this.frame++}};function Jm(t){let e=process.platform==="darwin"?"open":process.platform==="win32"?"start":"xdg-open";try{Hm(e,[t],{stdio:"ignore",detached:!0,shell:process.platform==="win32"}).unref()}catch{}}async function jm(t){let e=process.platform==="darwin"?[{command:"pbcopy",args:[]}]:process.platform==="win32"?[{command:"clip",args:[]}]:process.platform==="android"?[{command:"termux-clipboard-set",args:[]}]:[{command:"wl-copy",args:[]},{command:"xsel",args:["--clipboard","--input"]},{command:"xclip",args:["-selection","clipboard","-in"]},{command:"clip.exe",args:[]}];for(let{command:A,args:r}of e)if(await new Promise(n=>{let i=!1,o=a=>{i||(i=!0,n(a))};try{let a=Hm(A,r,{stdio:["pipe","ignore","ignore"]});if(a.once("error",()=>o(!1)),a.once("close",c=>o(c===0)),!a.stdin)return o(!1);a.stdin.once("error",()=>o(!1)),a.stdin.end(t)}catch{o(!1)}}))return!0;return!1}var ch=`${OA}/.dev-tools`,ra=`${ch}/bin`,Wm="0.34.0",qm=`${ch}/corepack-${Wm}`,OL=`${qm}/node_modules/.bin/corepack`;function sa(t){return!!(t.packageManager&&t.version)}function GL(t){return t.packageManager?`dev-${t.packageManager}@${t.version??"runtime"}`:"dev-toolchain:none"}function gh(t,e){return`${t} +${GL(e)}`}function lh(t,e={}){let r=`${sa(e)?`${ra}:`:""}${OA}/node_modules/.bin`;return YE(`export PATH=${JSON.stringify(r)}:"$PATH"; ${t}`)}function oh(t){return t.split("+")[0]??t}async function ah(t,e,A,r,s,n){let i=t.spinner();i.start(r);let o=[],{exitCode:a}=await e.run(c=>A.exec("bash",["-lc",s],{env:n,onLog:g=>{for(o.push(g);o.length>40;)o.shift()},signal:c,retryTransport:!0}));if(a!==0)throw await i.fail(`Could not prepare ${r.toLowerCase()}`),process.stdout.write(Ye(o.join(""),{preserveNewlines:!0})),new Error(`Could not provision ${r} inside the sandbox.`);await i.stop(`${r} ready`)}function HL(){return["set -eu",'mkdir -p "$DEV_TOOLS_BIN"','if [ -x "$DEV_TOOLS_BIN/bun" ] && [ "$("$DEV_TOOLS_BIN/bun" --version)" = "$DEV_BUN_VERSION" ]; then exit 0; fi','tmp="$(mktemp -d)"',`trap 'rm -rf "$tmp"' EXIT`,'curl -fsSL "https://github.com/oven-sh/bun/releases/download/bun-v${DEV_BUN_VERSION}/bun-linux-x64.zip" -o "$tmp/bun.zip"','python3 -m zipfile -e "$tmp/bun.zip" "$tmp"','cp "$tmp/bun-linux-x64/bun" "$DEV_TOOLS_BIN/bun"','chmod 755 "$DEV_TOOLS_BIN/bun"','test "$("$DEV_TOOLS_BIN/bun" --version)" = "$DEV_BUN_VERSION"'].join(` +`)}function PL(){return["set -eu",'mkdir -p "$DEV_TOOLS_BIN"','if ! [ -x "$COREPACK_BIN" ]; then npm install --no-audit --no-fund --prefix "$COREPACK_ROOT" "corepack@$DEV_COREPACK_VERSION"; fi','"$COREPACK_BIN" enable --install-directory "$DEV_TOOLS_BIN"','"$COREPACK_BIN" prepare "$DEV_TOOL_SPEC" --activate','test "$("$DEV_TOOLS_BIN/$DEV_PACKAGE_MANAGER" --version)" = "$DEV_TOOL_VERSION"'].join(` +`)}function VL(){return["set -eu",'mkdir -p "$DEV_TOOLS_BIN"','if [ -x "$DEV_TOOLS_BIN/npm" ] && [ "$("$DEV_TOOLS_BIN/npm" --version)" = "$DEV_NPM_VERSION" ]; then exit 0; fi','rm -rf "$NPM_ROOT"','npm install --no-audit --no-fund --prefix "$NPM_ROOT" "npm@$DEV_NPM_VERSION"','ln -sf "$NPM_ROOT/node_modules/.bin/npm" "$DEV_TOOLS_BIN/npm"','test "$("$DEV_TOOLS_BIN/npm" --version)" = "$DEV_NPM_VERSION"'].join(` +`)}async function $m(t,e,A,r){let s=r.packageManager;if(!(!s||!sa(r))){if(!r.version)throw new Error(`Cannot provision ${s} without a version.`);if(s==="bun"){await ah(t,e,A,`Bun ${r.version}`,HL(),{DEV_TOOLS_BIN:ra,DEV_BUN_VERSION:oh(r.version)});return}if(s==="npm"){await ah(t,e,A,`npm ${r.version}`,VL(),{DEV_TOOLS_BIN:ra,DEV_NPM_VERSION:oh(r.version),NPM_ROOT:`${ch}/npm-${r.version}`});return}await ah(t,e,A,`${s} ${r.version}`,PL(),{COREPACK_BIN:OL,COREPACK_ROOT:qm,DEV_COREPACK_VERSION:Wm,DEV_PACKAGE_MANAGER:s,DEV_TOOLS_BIN:ra,DEV_TOOL_SPEC:`${s}@${r.version}`,DEV_TOOL_VERSION:oh(r.version)})}}l();import{watch as JL}from"fs";import uh from"path";async function Zm(t,e){let A=Ku({includeSensitiveConfig:e.includeSensitiveConfig}),r=d=>uh.relative(t,d).split(uh.sep).join("/"),s,n,i,o=!1,a=d=>{s&&clearTimeout(s),s=setTimeout(()=>e.onChange(d),e.debounceMs??120)},c=d=>{if(!(o||n)){try{i?.close()}catch{}i=void 0,e.onFallback?.(d),n=setInterval(()=>a("poll"),e.pollIntervalMs??2e3),n.unref()}},g=(d,I)=>{if(!I){a("event");return}let E=r(uh.join(t,I.toString()));(!E||E.startsWith("..")||!A.ignores(E))&&a("event")};try{i=(e.createWatcher??((I,E)=>JL(I,{recursive:!0},E)))(t,g),i.on("error",c)}catch(d){c(d instanceof Error?d:new Error(String(d)))}return{close:async()=>{o=!0,s&&clearTimeout(s),n&&clearInterval(n),i?.close()}}}l();import{realpath as jL}from"fs/promises";import{homedir as WL}from"os";import Km from"path";async function Xm(t){return jL(t).catch(()=>Km.resolve(t))}async function zm(t){let e=await Xm(t);return e===await Xm(WL())?"home":e===Km.parse(e).root?"filesystem-root":null}process.noDeprecation=!0;var ey=`${OA}/.dev-install-command`,KL="__background-stop";async function sy(t){let e=ry.resolve(process.cwd(),t);return(await XL(e).catch(()=>null))?.isDirectory()||(Rs(`Not a directory: ${v.default.bold(Ye(e))}`),process.exit(1)),await ZL(e)}async function zL(t,e,A,r){let{exitCode:s}=await t.exec("bash",["-c",'test -f "$1" && test "$(cat "$1")" = "$2"',"dev",e,A],{signal:r,retryTransport:!0});return s===0}async function eY(t){try{let e=JSON.parse(await $L(ry.join(t,"package.json"),"utf8"));return Object.keys(e.dependencies??{}).length+Object.keys(e.devDependencies??{}).length}catch{return 0}}function Ds(t){return`${(t/1e3).toFixed(1)}s`}function dh(){return process.stdin.isTTY===!0}async function tY(t){dh()||(Fe.error((t.detected.kind==="python"?"Python entrypoint is ambiguous and no interactive terminal is available.":"No dev command was detected and no interactive terminal is available.")+` +Specify it with ${v.default.cyan("up . --command ''")}`+(t.detected.kind!=="python"&&t.installCommand!==void 0?` and ${v.default.cyan("--install-command")}`:"")+"."),process.exit(1)),Fe.info(v.default.dim(t.detected.kind==="python"?"Python entrypoint is ambiguous; enter the command that serves your app.":"No automatic dev command was detected; enter how to start this project."));let e=await ri({message:"Dev command (use $PORT for the listening port)",placeholder:t.detected.kind==="python"?"python3 -m uvicorn app:app --host 0.0.0.0 --port $PORT":"npm run dev",validate:s=>s?.trim()?void 0:"A dev command is required."});gA(e)&&(Rs("Configuration cancelled."),process.exit(1));let A=await ri({message:"Install command (leave blank to skip)",initialValue:t.installCommand??""});gA(A)&&(Rs("Configuration cancelled."),process.exit(1));let r=await ri({message:"Internal server port",initialValue:String(t.port),validate:s=>{let n=Number(s);return Number.isInteger(n)&&n>=1&&n<=65535?void 0:"Use an integer between 1 and 65535."}});return gA(r)&&(Rs("Configuration cancelled."),process.exit(1)),{installCommand:A.trim()?A:null,devCommand:e,port:Number(r),dependencyFiles:t.detected.dependencyFiles}}function ty(t){return t===null?"(skip)":Ye(JSON.stringify(t))}async function AY(t,e,A,r,s){if(await AE(e,A,r,s))return;dh()||(await t.outro(v.default.dim("Shared project commands require confirmation in an interactive terminal.\nRun `up .` locally once to review and trust them, then re-run.")),process.exit(1)),await t.note(`${v.default.bold("Install:")} ${ty(A.installCommand)} +${v.default.bold("Dev:")} ${ty(A.devCommand)}`+(r?` +! Local env values are injected for this run.`:"")+(s?` +! Sensitive config may persist in this sandbox.`:""),"Review up.config.json commands");let n=await Sa({message:"Trust and run these shared commands in your sandbox on this machine?",initialValue:!1});(gA(n)||!n)&&(await t.outro(v.default.dim("Aborted before executing shared project commands.")),process.exit(1)),await ic(e,A,r,s)}async function rY(t,e){try{return await Mi(t,e)}catch(A){return A.code==="ENOENT"?void 0:iA(A)}}async function sY(t,e,A){if(A)return await Mi(e,A).catch(i=>(i.code==="ENOENT"&&(Fe.error(`Env file not found: ${v.default.bold(Ye(A))}`),process.exit(1)),iA(i)));let r=await zd(e);if(typeof r=="string")return await rY(e,r);if(r===null)return;let s=await lE(e).catch(i=>iA(i));if(!s)return;if(!dh()){await t.info(v.default.dim(`${v.default.bold(s)} found. Pass ${v.default.cyan(`--env-file ${s}`)} to inject it.`));return}await t.note(`${v.default.bold(s)} stays local; it is injected only into this dev server.`,"Local env file found");let n=await Sa({message:`Inject ${s} into the remote dev server now and on future runs?`,initialValue:!1});if(gA(n)&&(await t.outro(v.default.dim("Configuration cancelled.")),process.exit(1)),await eE(e,n?s:null),!!n)return await Mi(e,s).catch(i=>iA(i))}async function nY(t,e){let A=new Yn;A.intro();let r=await sy(t),s=await zm(r);if(s){let z=s==="home"?"your home directory":"the filesystem root";await A.error(`Cannot run up from ${z}; it could upload files outside a project.`),await A.info(`Change into a project first, for example: ${v.default.bold("cd ~/projects/my-app && up .")}`),await A.outro(v.default.dim("Nothing was uploaded.")),process.exitCode=1;return}let n=!!e.includeSensitiveConfig,i=async()=>{await A.outro(v.default.dim("Aborted.")),process.exit(1)};process.once("SIGINT",i),process.once("SIGTERM",i);let o=A.spinner();o.start("Authenticating with Vercel");let a;try{a=await Za(r)}catch(z){return await o.fail("Authentication failed"),iA(z)}a.kind==="anonymous"&&(await o.stop("Not logged in"),await A.note(`Run ${v.default.cyan("vercel login")} and try again.`,"Authentication required"),await A.outro(v.default.dim("Aborted.")),process.exit(1)),await o.stop("Authenticated");let c=await JE(r,{overrides:{...e.command!==void 0?{command:e.command}:{},...e.installCommand!==void 0?{installCommand:e.installCommand}:{},...e.port!==void 0?{port:e.port}:{}},saveConfig:e.saveConfig,prompt:tY}).catch(z=>iA(z)),{detected:g,profile:d}=c,I=await sY(A,r,e.envFile),E={includeSensitiveConfig:n,...I?{extraIgnoredPaths:[I.rel]}:{}};await A.step(`${v.default.bold(g.name)} ${v.default.dim(`\xB7 ${c.source} \xB7 port ${d.port}`)}`),c.executesSharedCommands?await AY(A,r,d,!!I,n):e.saveConfig&&await ic(r,d,!!I,n),e.saveConfig&&await A.info(v.default.dim("Saved launch settings to up.config.json."));let{files:C,skippedEnv:y,skippedSensitiveConfig:w,skippedSensitiveKeys:p,skippedUnreadable:R,skippedLarge:D,skippedSymlinks:q}=await zu(r,E),se=new Map,ne=async(z,oA,Dr,HA="warn")=>{let aA=se.get(z)??new Set;se.set(z,aA);let Sr=oA.filter(Nr=>!aA.has(Nr));if(Sr.length){for(let Nr of Sr)aA.add(Nr);HA==="info"?await A.info(`${Dr}: ${Ay(Sr)}.`):await A.warn(`${Dr}: ${Ay(Sr)}.`)}},F=async z=>{await ne("sensitive-config",z.skippedSensitiveConfig,"Sensitive config stayed local","info"),await ne("sensitive-keys",z.skippedSensitiveKeys,"Private key material stayed local","info"),await ne("unreadable",z.skippedUnreadable,"Skipped unreadable local path"),await ne("large",z.skippedLarge,`Skipped local file larger than ${Math.round(Xu/1024/1024)} MB`),await ne("symlink",z.skippedSymlinks,"Skipped local symlink")};I?await A.info(`Using ${v.default.bold(I.rel)}; injected only, never uploaded or persisted.`):y&&await A.info(`Local env files stay local. Use ${v.default.bold("--env-file")} to inject one.`),n&&await A.info("Sensitive config enabled; matching files may persist."),await F({skippedSensitiveConfig:w,skippedSensitiveKeys:p,skippedUnreadable:R,skippedLarge:D,skippedSymlinks:q});let U=new Mn,O=await nc(r),re=Xa(a),fe=ym(d.port),pe=A.spinner();pe.start("Starting sandbox");let J,yt=()=>{},GA=new Promise(z=>{yt=z}),On=Date.now(),Gn;try{J=await U.getOrCreate({name:O,credentials:re,ports:[ms],timeoutMs:Gu,onCreate:()=>yt(!1),onResume:()=>yt(!0)})}catch(z){return await pe.fail("Could not start sandbox"),iA(z)}let j=new Hi(J),ia=()=>{},Eh=!1,oa,Hn=()=>{if(Eh)return;Eh=!0,ia(),j.cancelWork();let z=oa?` \xB7 ${oa}`:"";A.outroNow(v.default.dim(`Sandbox is still running${z}. Run ${v.default.cyan("up stop")} to stop it.`)),process.exit(0)};process.off("SIGINT",i),process.off("SIGTERM",i),process.once("SIGINT",Hn),process.once("SIGTERM",Hn);let wr=await Promise.race([GA.then(z=>z?"resumed":"created"),new Promise(z=>setTimeout(()=>z("reconnected"),1500))]),aa=Date.now()-On;await pe.stop(wr==="resumed"?`Restoring sandbox ${v.default.dim(`\xB7 snapshot restore ${Ds(aa)}`)}`:wr==="reconnected"?`Reconnecting to running sandbox ${v.default.dim(`\xB7 ${Ds(aa)}`)}`:`Created sandbox runtime ${v.default.dim(`\xB7 empty sandbox ${Ds(aa)}`)}`);let Ih=await Kd(r);wr!=="created"&&Ih&&!n&&await A.warn("A previous run used --include-sensitive-config, so files like .npmrc or .netrc may still be in this sandbox snapshot. Run `up stop` and start fresh to remove them.");try{let z=A.spinner();z.start("Preparing shareable URL");let{copied:oA,url:Dr}=await(async()=>{let _=qL();await j.run(()=>J.writeFiles([{path:Hu,content:mm},{path:vn,content:JSON.stringify({label:"preparing sandbox",base:0,ceiling:10,etaMs:4e3,ready:!1})}])),await j.run(cA=>J.exec("bash",["-c","pkill -f dev-supervisor.cjs >/dev/null 2>&1 || true"],{signal:cA,retryTransport:!0}).catch(()=>({exitCode:0})));let ge=await j.run(cA=>J.spawn("node",[Hu],{env:{DEV_PUBLIC_PORT:String(ms),DEV_TARGET_PORT:String(fe),DEV_STATUS_FILE:vn,DEV_RUN_ID:_},signal:cA}));j.addProcess(ge);let we=J.domain(ms);if(!await j.run(cA=>jE(we,_,2e4,cA)))throw new Error("The up supervisor did not come up for this run.");let wt=await jm(we),Re=wr==="created"?n:Ih||n;return await Wd({dir:r,sandbox:O,updatedAt:Date.now(),sensitiveConfigUsed:Re}),{copied:wt,url:we}})().finally(()=>z.cancel()),HA=A.link(Dr);oa=HA,Gn=Dr,await A.note(HA+(oA?` +${v.default.dim("Copied to clipboard.")}`:"")+` +${v.default.dim("Booting - your app shows up here in a few seconds.")} +${v.default.yellow("!")} ${v.default.dim("This URL is public; anyone with it can reach your dev server.")}`,"Shareable URL"),e.open&&Jm(Dr);let aA=await qd(r),Sr=await eY(r),Nr=wr==="created",Qh=await oc(O);Nr&&Object.keys(Qh).length>0&&await A.info(v.default.dim("Sandbox was recreated from scratch; re-syncing all files."));let Pn=Nr?{}:Qh,Vn=th(Pn,C),Ch=Ah(Pn,C,R),Bh=Object.keys(Pn).length===0,iy=[...Vn.map(_=>_.rel),...Ch].some(_=>cc(d.dependencyFiles,_)),ca=d.installCommand,oy=gh(ca??"",g.toolchain),ay=ca===null?!0:await j.run(_=>zL(J,ey,oy,_)),Jn=ca!==null&&(!ay||iy),jn=sa(g.toolchain);await j.run(()=>YA(J,{label:"syncing files",base:10,ceiling:Jn||jn?25:60,etaMs:aA.sync??Math.min(12e3,Math.max(1500,C.length*10))}));let fh=Date.now(),ga=A.spinner();ga.start(Bh?`Syncing ${C.length} files`:`Syncing ${Vn.length} changes`),await j.run(()=>rh(J,Vn,(_,ge)=>ga.message(`Syncing ${_}/${ge} files`))),await j.run(()=>sh(J,Ch)),await ac(O,eh(Pn,C,R));let cy=Bh?`Synced ${C.length} files`:`Synced ${Vn.length} changes`;await ga.stop(`${cy} ${v.default.dim(`\xB7 ${Ds(Date.now()-fh)}`)}`);let gy=Date.now()-fh,Wn=!0,la=!1,Rr=!1,ua,ha=async()=>{let _=await oc(O),ge=await j.run(()=>Ym(J,r,_,E));return await F(ge),await ac(O,eh(_,ge.files,ge.skippedUnreadable)),{changes:ge.uploaded+ge.deleted,dependenciesChanged:ge.changedPaths.some(we=>cc(d.dependencyFiles,we))}},ph=()=>{la||Wn||j.shuttingDown||(la=!0,(async()=>{try{for(;Rr;){Rr=!1;let _=await ha();_.dependenciesChanged&&d.installCommand&&ua?await ua():_.changes&&await A.info(v.default.dim(`synced ${_.changes} change(s)`))}}catch(_){j.shuttingDown||await A.warn(`Sync failed: ${na(_)}. If this persists, the sandbox may have stopped; run \`up .\` to reconnect.`)}finally{la=!1,Rr&&ph()}})())},ly=await Zm(r,{includeSensitiveConfig:n,onFallback:_=>{A.warn(`Live file watching is unavailable (${na(_)}). Checking for changes every 2s instead.`)},onChange:_=>{Wn&&_==="poll"||(Rr=!0,ph())}});if(j.addCloseable(ly),jn){let _=g.toolchain.packageManager??"toolchain";await j.run(()=>YA(J,{label:`preparing ${_} runtime`,base:25,ceiling:Jn?35:75,etaMs:3e3})),await $m(A,j,J,g.toolchain)}let uy=I?.values??{},qn,da=0,Ea=async()=>{let _=d.installCommand;if(!_)return;await j.run(()=>YA(J,{label:"installing dependencies",base:jn?35:25,ceiling:90,etaMs:aA.install??wm(Sr)}));let ge=Date.now(),we=A.spinner();we.start("Installing dependencies");let wt=hh(60),Re=lh(_,g.toolchain),{exitCode:cA}=await j.run(dy=>J.exec(Re.cmd,Re.args,{cwd:OA,env:{PORT:String(fe)},onLog:Ey=>wt.push(Ey),signal:dy,retryTransport:!0}));if(cA!==0)throw await we.fail("Install failed"),process.stdout.write(Ye(wt.text(),{preserveNewlines:!0})),new Error(`\`${_}\` exited with ${cA}`);await j.run(()=>J.writeFiles([{path:ey,content:gh(_,g.toolchain)}]));let Fh=Date.now()-ge;await we.stop(`Dependencies installed ${v.default.dim(`\xB7 ${Ds(Fh)}`)}`),qn=(qn??0)+Fh,da++};Jn?await Ea():d.installCommand&&await A.info(`Dependencies reused ${v.default.dim("\xB7 install skipped")}`);let mh=async()=>{for(;;){if(!(await ha()).dependenciesChanged||!d.installCommand)return;await A.info(v.default.dim("Dependency inputs changed during startup; installing updates.")),await Ea()}};await mh(),await j.run(()=>YA(J,{label:"starting server",base:Jn?90:jn?75:60,ceiling:99,etaMs:aA.start??Pu(g.slug)}));let Ss=A.spinner();Ss.start("Starting dev server");let $n=hh(80),hy=Date.now(),yh=lh(d.devCommand,g.toolchain),Zn,wh=async(_,ge=5e3)=>{let we=new AbortController,wt=setTimeout(()=>we.abort(),ge);try{return await _.wait(we.signal),!0}catch{return!1}finally{clearTimeout(wt)}},Dh=()=>j.run(()=>YA(J,{label:"ready",base:100,ceiling:100,etaMs:0,ready:!0},{required:!0})),Ia=async _=>{await _.kill("SIGTERM").catch(()=>{}),await wh(_)||(await _.kill("SIGKILL").catch(()=>{}),await wh(_,3e3)),j.removeProcess(_)},Sh=async(_,ge)=>{$n=hh(80),_.start(ge);let we=await j.run(Re=>J.spawn(yh.cmd,yh.args,{cwd:OA,env:{...uy,PORT:String(fe),BROWSER:"none",NEXT_TELEMETRY_DISABLED:"1",FORCE_COLOR:"1"},signal:Re}));j.addProcess(we),(async()=>{try{for await(let Re of we.logs())$n.push(Re.data)}catch{}})();let wt=await Promise.race([j.run(Re=>mc(J,fe,9e4,Re)).then(Re=>({type:"port",open:Re})),j.run(Re=>we.wait(Re)).then(({exitCode:Re})=>({type:"exit",exitCode:Re}))]);if(wt.type==="exit")throw j.removeProcess(we),await _.fail("Dev server exited during startup"),process.stdout.write(Ye($n.text(),{preserveNewlines:!0})),new Error(`\`${d.devCommand}\` exited with ${wt.exitCode}`);if(!wt.open)throw await Ia(we),await _.fail("Dev server did not become ready"),process.stdout.write(Ye($n.text(),{preserveNewlines:!0})),new Error("Timed out waiting for the dev server. See logs above.");return we},Qa=!1;if(wr==="reconnected"&&(Qa=await j.run(_=>mc(J,fe,2e3,_)).catch(()=>!1),Qa&&(await Dh(),await Ss.stop(`Dev server running \xB7 ${HA}`),Wn=!1)),!Qa)for(;;){let _=da,ge=await Sh(Ss,"Starting dev server");Zn=ge;do Rr=!1,await mh();while(Rr);if(da===_)break;await Ia(ge),Ss.message("Restarting dev server after dependency changes")}ua=async()=>{if(!d.installCommand||!Zn)return;for(await A.info(v.default.dim("Dependency inputs changed; reinstalling and restarting dev server."));;){await Ea();let ge=await ha();if(!ge.dependenciesChanged){ge.changes&&await A.info(v.default.dim(`synced ${ge.changes} change(s)`));break}await A.info(v.default.dim("Dependency inputs changed during install; installing updates."))}await Ia(Zn),await j.run(()=>YA(J,{label:"starting server",base:90,ceiling:99,etaMs:aA.start??Pu(g.slug)}));let _=A.spinner();Zn=await Sh(_,"Restarting dev server"),await Dh(),await _.stop(`Dev server restarted \xB7 ${HA}`)},await j.run(()=>YA(J,{label:"ready",base:100,ceiling:100,etaMs:0,ready:!0},{required:!0})),Wn=!1,await Ss.stop(`Dev server ready \xB7 ${HA} ${v.default.dim(`\xB7 ready in ${Ds(Date.now()-On)}`)}`),await $d(r,{sync:gy,start:Date.now()-hy,...qn!==void 0?{install:qn}:{}}),await A.final(v.default.dim("Watching for changes. Press Ctrl-C to stop."));let Nh=0,Ca=!1,Rh=setInterval(()=>{if(Ca||j.shuttingDown)return;Ca=!0;let _=J.sessionId();j.run(()=>J.extendTimeout(Gu)).then(()=>{Nh=0,J.sessionId()!==_&&A.warn("Sandbox was restarted by the keepalive after being stopped externally. Run `up stop` to stop it.")}).catch(()=>{!j.shuttingDown&&++Nh>=2&&A.warn("Lost contact with the sandbox; it may have stopped. Run `up .` to reconnect.")}).finally(()=>{Ca=!1})},600*1e3);Rh.unref(),ia=()=>clearInterval(Rh)}catch(z){if(process.off("SIGINT",Hn),process.off("SIGTERM",Hn),ia(),j.shuttingDown){await j.shutdown().catch(()=>{});return}try{let oA=await j.shutdown();await A.info(v.default.dim(`Saved snapshot after startup failure (${oA.snapshotId}).`)),Gn&&await A.warn("Startup failed, so the shareable URL is now offline. Fix the error and run `up .` to resume this saved sandbox.")}catch(oA){Hs(oA)?await A.info(v.default.dim("Could not save a snapshot of the failed sandbox; run `up .` to retry.")):await A.warn(`Could not save snapshot after startup failure: ${na(oA)}`)}return iA(z)}}async function iY(t){let e=new Yn;e.intro();let A=await sy(t),r=e.spinner();r.start("Stopping sandbox");try{await r.stop(`Snapshot saved ${v.default.dim(await ny(A))}`)}catch(s){return await r.fail("Could not stop"),iA(s)}}async function ny(t){let e=await Za(t);if(e.kind==="anonymous")throw new Error("Not logged in.");let A=await new Mn().stop(await nc(t),Xa(e));if(!A.snapshotId)throw new Error(`stop() completed without a saved snapshot (status: ${A.status??"unknown"})`);return A.snapshotId}async function oY(){await ny(process.cwd()).catch(()=>{process.exitCode=1})}async function aY(){let t=await rE();if(t.length===0){Fe.info("No up environments yet. Run `up .` in a project.");return}for(let e of t){let A=new Date(e.updatedAt).toLocaleString();Fe.message(`${v.default.bold(Ye(e.dir))} +${v.default.dim(`${Ye(e.sandbox)} \xB7 ${A}`)}`)}}function hh(t){let e=[];return{push(A){for(e.push(A);e.length>t;)e.shift()},text(){return e.join("")}}}function na(t){let e=Ye(t instanceof Error?t.message:String(t));if(t&&typeof t=="object"){let A=t,r=[];typeof A.response?.status=="number"&&r.push(`HTTP ${A.response.status}`);let s=A.response?.headers?.get?.("content-type");if(s&&!/json/i.test(s)&&r.push(`content-type ${s}`),typeof A.text=="string"&&A.text.trim()){let n=A.text.trim().replace(/\s+/g," ").slice(0,160);e.includes(n)||r.push(`body: ${n}`)}if(r.length>0)return`${e} (${Ye(r.join("; "))})`}return e}function Ay(t){let e=t.slice(0,3).map(r=>v.default.bold(Ye(r))),A=t.length-e.length;return`${e.join(", ")}${A>0?` and ${A} more`:""}`}function iA(t){Fe.error(na(t)),process.exit(1)}function cY(t){if(t==null||t==="")return;let e=Number(t);return(!Number.isInteger(e)||e<1||e>65535)&&(Fe.error(`Invalid --port: ${String(t)}. Use an integer between 1 and 65535.`),process.exit(1)),e}function gY(t,e){if(t==null)return;let A=String(t);return A.trim()||(Fe.error(`Invalid ${e}: command cannot be empty.`),process.exit(1)),A}function lY(t){if(t==null)return;let e=String(t);return e.trim()||(Fe.error("Invalid --env-file: path cannot be empty."),process.exit(1)),e}var uY={meta:{name:"up",description:"Instant, shareable dev environments on Vercel Sandbox"},args:{target:{type:"positional",required:!1,default:".",description:"Project directory (or `stop`/`ls`)"},open:{type:"boolean",description:"Open the URL in your browser"},"env-file":{type:"string",description:"Read a local dotenv file and inject its variables into the dev server"},"include-sensitive-config":{type:"boolean",description:"Upload selected credential-bearing config files such as .npmrc and .yarnrc* even if gitignored (they persist)"},port:{type:"string",description:"Override the dev server port"},command:{type:"string",description:"Command that starts the server (supports $PORT)"},"install-command":{type:"string",description:"Command that installs dependencies (empty string skips)"},"save-config":{type:"boolean",description:"Write the resolved launch profile to up.config.json"}},async run({args:t}){let e=String(t.target);if(e===KL)return oY();if(e==="stop")return iY(".");if(e==="ls"||e==="list")return aY();await nY(e,{open:!!t.open,envFile:lY(t["env-file"]),includeSensitiveConfig:!!t["include-sensitive-config"],port:cY(t.port),command:gY(t.command,"--command"),installCommand:t["install-command"]===void 0?void 0:String(t["install-command"]).trim()?String(t["install-command"]):null,saveConfig:!!t["save-config"]})}};ad(uY); +/*! Bundled license information: + +undici/lib/web/fetch/body.js: + (*! formdata-polyfill. MIT License. Jimmy Wärting *) +*/ diff --git a/packages/cli/package.json b/packages/cli/package.json index 99ce514..7f56f79 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -35,7 +35,7 @@ "@types/node": "^25.9.1", "@vercel/frameworks": "^3.26.1", "@vercel/fs-detectors": "6.7.4", - "@vercel/sandbox": "^2.0.1", + "@vercel/sandbox": "^2.1.1", "citty": "^0.2.2", "env-paths": "^4.0.0", "esbuild": "^0.27.7", diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts index acda1e3..1a0ceff 100644 --- a/packages/cli/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -25,6 +25,7 @@ import { type EnvFile, findDefaultEnvFile, readEnvFile } from "./env.js"; import { type PromptDraft, resolveLaunchProfile } from "./launch-profile.js"; import { SandboxLifecycle } from "./lifecycle.js"; import { waitForPort, waitForSupervisor } from "./ready.js"; +import { isRetryableTransport } from "./retry.js"; import type { DevSandbox } from "./sandbox.js"; import { DEFAULT_TIMEOUT_MS, VercelProvider } from "./sandbox.js"; import { installEtaFromDeps, startEtaFor, writeStatus } from "./status.js"; @@ -84,7 +85,7 @@ async function remoteTextEquals( const { exitCode } = await sandbox.exec( "bash", ["-c", 'test -f "$1" && test "$(cat "$1")" = "$2"', "dev", absPath, expected], - { signal }, + { signal, retryTransport: true }, ); return exitCode === 0; } @@ -526,7 +527,10 @@ async function runDev( ); await resources.run((signal) => sandbox - .exec("bash", ["-c", "pkill -f dev-supervisor.cjs >/dev/null 2>&1 || true"], { signal }) + .exec("bash", ["-c", "pkill -f dev-supervisor.cjs >/dev/null 2>&1 || true"], { + signal, + retryTransport: true, + }) .catch(() => ({ exitCode: 0 })), ); const supervisorProc = await resources.run((signal) => @@ -730,6 +734,7 @@ async function runDev( env: { PORT: String(devPort) }, onLog: (chunk) => recent.push(chunk), signal, + retryTransport: true, }), ); if (exitCode !== 0) { @@ -993,7 +998,16 @@ async function runDev( ); } } catch (stopErr) { - await ui.warn(`Could not save snapshot after startup failure: ${formatError(stopErr)}`); + // A transport-level snapshot failure usually shares the root cause reported + // below, so keep it a dim aside rather than a second alarming error. A + // genuinely different failure still surfaces loudly. + if (isRetryableTransport(stopErr)) { + await ui.info( + pc.dim("Could not save a snapshot of the failed sandbox; run `up .` to retry."), + ); + } else { + await ui.warn(`Could not save snapshot after startup failure: ${formatError(stopErr)}`); + } } return fail(err); } @@ -1063,7 +1077,27 @@ function ring(max: number) { } function formatError(err: unknown): string { - return sanitizeTerminalText(err instanceof Error ? err.message : String(err)); + const base = sanitizeTerminalText(err instanceof Error ? err.message : String(err)); + // The Sandbox SDK's APIError carries the HTTP response and raw body, which the + // message alone hides. Surface the status, an unexpected content-type, and a + // body snippet so transport failures (proxies, gateways, rate limits) are + // diagnosable instead of opaque ("Expected a stream of command data"). + if (err && typeof err === "object") { + const e = err as { + response?: { status?: number; headers?: { get?: (name: string) => string | null } }; + text?: unknown; + }; + const detail: string[] = []; + if (typeof e.response?.status === "number") detail.push(`HTTP ${e.response.status}`); + const contentType = e.response?.headers?.get?.("content-type"); + if (contentType && !/json/i.test(contentType)) detail.push(`content-type ${contentType}`); + if (typeof e.text === "string" && e.text.trim()) { + const snippet = e.text.trim().replace(/\s+/g, " ").slice(0, 160); + if (!base.includes(snippet)) detail.push(`body: ${snippet}`); + } + if (detail.length > 0) return `${base} (${sanitizeTerminalText(detail.join("; "))})`; + } + return base; } function formatPaths(paths: string[]): string { diff --git a/packages/cli/src/ready.ts b/packages/cli/src/ready.ts index 566e74f..0d9fe70 100644 --- a/packages/cli/src/ready.ts +++ b/packages/cli/src/ready.ts @@ -16,7 +16,7 @@ export async function waitForPort( ): Promise { const iterations = Math.ceil(timeoutMs / 100); const script = `for i in $(seq 1 ${iterations}); do (echo > /dev/tcp/127.0.0.1/${port}) 2>/dev/null && exit 0; sleep 0.1; done; exit 1`; - const { exitCode } = await sandbox.exec("bash", ["-c", script], { signal }); + const { exitCode } = await sandbox.exec("bash", ["-c", script], { signal, retryTransport: true }); return exitCode === 0; } diff --git a/packages/cli/src/retry.ts b/packages/cli/src/retry.ts index 4197cad..d63345a 100644 --- a/packages/cli/src/retry.ts +++ b/packages/cli/src/retry.ts @@ -5,6 +5,11 @@ export interface RetryOptions { baseMs?: number; /** Called before each retry (not before the first attempt). */ onRetry?: (err: unknown, attempt: number) => void; + /** + * Gate retries on the error: an error that does not match is rethrown + * immediately without further attempts. Defaults to retrying any error. + */ + shouldRetry?: (err: unknown) => boolean; } /** @@ -22,10 +27,31 @@ export async function withRetry(fn: () => Promise, opts: RetryOptions = {} return await fn(); } catch (err) { lastErr = err; - if (attempt >= attempts) break; + if (attempt >= attempts || (opts.shouldRetry && !opts.shouldRetry(err))) break; opts.onRetry?.(err, attempt); await new Promise((resolve) => setTimeout(resolve, baseMs * 2 ** (attempt - 1))); } } throw lastErr; } + +/** + * True for transport/infrastructure failures that are safe to retry on + * idempotent operations: dropped command streams, request timeouts, rate limits, + * 5xx, and the 2xx-but-malformed responses the Sandbox SDK reports when a proxy + * or gateway mangles a streaming/JSON response. Excludes aborts and ordinary + * application errors so a genuine failure is never masked by retries. + */ +export function isRetryableTransport(err: unknown): boolean { + if (!err || typeof err !== "object") return false; + // SDK StreamError: the command stream ended before data or finish arrived. + if ((err as { name?: string }).name === "StreamError") return true; + const status = (err as { response?: { status?: number } }).response?.status; + if (typeof status === "number" && (status === 408 || status === 429 || status >= 500)) { + return true; + } + const message = err instanceof Error ? err.message : ""; + return /Expected a stream of command data|No response body|Can't (parse JSON|read response text)/.test( + message, + ); +} diff --git a/packages/cli/src/sandbox.ts b/packages/cli/src/sandbox.ts index 88310bf..9ee3c7e 100644 --- a/packages/cli/src/sandbox.ts +++ b/packages/cli/src/sandbox.ts @@ -2,7 +2,7 @@ import { Writable } from "node:stream"; import { setTimeout as sleep } from "node:timers/promises"; import { Sandbox } from "@vercel/sandbox"; import type { Credentials } from "./auth.js"; -import { withRetry } from "./retry.js"; +import { isRetryableTransport, withRetry } from "./retry.js"; export interface DevFile { /** Path relative to the project root inside the sandbox, or absolute. */ @@ -18,6 +18,12 @@ export interface ExecOptions { /** Called with each chunk of combined stdout/stderr output. */ onLog?: (chunk: string) => void; signal?: AbortSignal; + /** + * Retry transport-level failures (mangled/dropped responses from a proxy or + * gateway). Only set this for commands that are safe to run more than once, + * since a retry re-executes the command. Defaults to no retry. + */ + retryTransport?: boolean; } export interface ExecResult { @@ -93,16 +99,23 @@ class VercelDevSandbox implements DevSandbox { async exec(cmd: string, args: string[], opts: ExecOptions = {}): Promise { const stream = opts.onLog ? writableForLog(opts.onLog) : undefined; - const finished = await this.sandbox.runCommand({ - cmd, - args, - cwd: opts.cwd, - env: opts.env, - sudo: opts.sudo, - signal: opts.signal, - stdout: stream, - stderr: stream, - }); + const run = () => + this.sandbox.runCommand({ + cmd, + args, + cwd: opts.cwd, + env: opts.env, + sudo: opts.sudo, + signal: opts.signal, + stdout: stream, + stderr: stream, + }); + // Retrying re-executes the command, so it is opt-in (only callers that pass + // an idempotent command set retryTransport). A real non-zero exit is returned + // as a result, not thrown, so it is never treated as a transport failure. + const finished = opts.retryTransport + ? await withRetry(run, { shouldRetry: isRetryableTransport }) + : await run(); return { exitCode: finished.exitCode }; } @@ -143,16 +156,25 @@ class VercelDevSandbox implements DevSandbox { const wasStopped = this.sandbox.status === "stopped"; const isNewSnapshot = (snapshotId: string | undefined): snapshotId is string => Boolean(snapshotId && (!beforeSnapshotId || snapshotId !== beforeSnapshotId)); - const stopped = await this.sandbox.stop(); - const snapshotId = stopped.snapshot?.id; + // A transport hiccup can mangle the stop response even though the stop was + // dispatched. Rather than blindly re-issuing stop (which risks a confusing + // double-stop), swallow a transport error and let the polling below confirm + // the result via Sandbox.get; any other error is a real failure and rethrows. + let stopped: Awaited> | undefined; + try { + stopped = await this.sandbox.stop(); + } catch (err) { + if (!isRetryableTransport(err)) throw err; + } + const snapshotId = stopped?.snapshot?.id; if (snapshotId && (wasStopped || isNewSnapshot(snapshotId))) { - return { status: stopped.status, snapshotId }; + return { status: stopped?.status, snapshotId }; } // A stopped session can expose its snapshot pointer shortly after stop resolves. const deadline = Date.now() + 60_000; let last: { status?: string; snapshotId?: string } = { - status: stopped.status, + status: stopped?.status, snapshotId: this.sandbox.currentSnapshotId, }; while (Date.now() < deadline) { diff --git a/packages/cli/src/sync.ts b/packages/cli/src/sync.ts index 44ac16b..9f49f7d 100644 --- a/packages/cli/src/sync.ts +++ b/packages/cli/src/sync.ts @@ -447,7 +447,7 @@ export async function removeFiles(sandbox: DevSandbox, relPaths: string[]): Prom const targets = relPaths.map((rel) => path.posix.join(REMOTE_ROOT, validateRelativeSyncPath(rel)), ); - await sandbox.exec("rm", ["-f", ...targets]); + await sandbox.exec("rm", ["-f", ...targets], { retryTransport: true }); } export interface ReconcileResult { diff --git a/packages/cli/src/toolchain.ts b/packages/cli/src/toolchain.ts index fd129f5..788c8c9 100644 --- a/packages/cli/src/toolchain.ts +++ b/packages/cli/src/toolchain.ts @@ -52,6 +52,7 @@ async function runProvisionScript( while (recent.length > 40) recent.shift(); }, signal, + retryTransport: true, }), ); if (exitCode !== 0) { diff --git a/packages/cli/test/retry.test.ts b/packages/cli/test/retry.test.ts index 7ae34f7..43935fd 100644 --- a/packages/cli/test/retry.test.ts +++ b/packages/cli/test/retry.test.ts @@ -1,5 +1,5 @@ import { describe, expect, test, vi } from "vitest"; -import { withRetry } from "../src/retry.js"; +import { isRetryableTransport, withRetry } from "../src/retry.js"; describe("withRetry", () => { test("returns immediately when the first attempt succeeds", async () => { @@ -28,4 +28,59 @@ describe("withRetry", () => { await expect(withRetry(fn, { attempts: 3, baseMs: 1 })).rejects.toThrow("still down"); expect(fn).toHaveBeenCalledTimes(3); }); + + test("stops immediately when shouldRetry returns false", async () => { + const fn = vi.fn(async () => { + throw new Error("fatal"); + }); + await expect( + withRetry(fn, { attempts: 3, baseMs: 1, shouldRetry: () => false }), + ).rejects.toThrow("fatal"); + expect(fn).toHaveBeenCalledTimes(1); + }); + + test("keeps retrying while shouldRetry returns true", async () => { + let n = 0; + const fn = vi.fn(async () => { + n++; + if (n < 2) throw new Error("retryable"); + return "ok"; + }); + expect(await withRetry(fn, { attempts: 3, baseMs: 1, shouldRetry: () => true })).toBe("ok"); + expect(fn).toHaveBeenCalledTimes(2); + }); +}); + +describe("isRetryableTransport", () => { + test("matches the SDK StreamError (dropped command stream)", () => { + const err = Object.assign(new Error("stream ended early"), { name: "StreamError" }); + expect(isRetryableTransport(err)).toBe(true); + }); + + test("matches request-timeout, rate-limit, and 5xx status codes", () => { + for (const status of [408, 429, 500, 502, 503]) { + expect(isRetryableTransport({ response: { status } })).toBe(true); + } + }); + + test("matches the SDK's malformed-response messages", () => { + for (const message of [ + "Expected a stream of command data", + "No response body", + "Can't parse JSON: SyntaxError: Unexpected non-whitespace character after JSON at position 1", + "Can't read response text: TypeError: terminated", + ]) { + expect(isRetryableTransport(new Error(message))).toBe(true); + } + }); + + test("does not match aborts, client errors, or ordinary failures", () => { + expect(isRetryableTransport(new Error("The operation was aborted"))).toBe(false); + expect(isRetryableTransport({ response: { status: 400 } })).toBe(false); + expect(isRetryableTransport({ response: { status: 404 } })).toBe(false); + expect(isRetryableTransport(new Error("`npm install` exited with 1"))).toBe(false); + expect(isRetryableTransport(undefined)).toBe(false); + expect(isRetryableTransport(null)).toBe(false); + expect(isRetryableTransport("string error")).toBe(false); + }); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 90013f1..bb08f13 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,8 +39,8 @@ importers: specifier: 6.7.4 version: 6.7.4 '@vercel/sandbox': - specifier: ^2.0.1 - version: 2.0.1 + specifier: ^2.1.1 + version: 2.1.1 citty: specifier: ^0.2.2 version: 0.2.2 @@ -606,8 +606,8 @@ packages: '@vercel/routing-utils@6.2.0': resolution: {integrity: sha512-YI2cGYZmJKEyGSEgf5Fw5rVuW7X1bTOQ7/pnLRNTFMH3YB3qqP5erCLCJGv2kIvNo1iQAPINHQRJj6ykEdGoPg==} - '@vercel/sandbox@2.0.1': - resolution: {integrity: sha512-Q1PZVcTORgEMWAK63ga5h3Yfb5EIGpZAn25nJBw0bwA6Gu8rp7em58/OnpjduXsT408hhY6QP63ACWPM3acYPg==} + '@vercel/sandbox@2.1.1': + resolution: {integrity: sha512-gKhW+YlvU15Qxya7jQKByB+sqA1dWat5zx/rvxT52E3Ryg9MAIXgqD5wd1d+CoJDbdHL26gIOcksTZY5sFpplA==} '@vitest/expect@4.1.7': resolution: {integrity: sha512-1R+tw0ortHEbZDGMymm+pN7/AFQ/RkFFdtd7EN+VBpynKmLbP8A3rpEXdshBJ7+8hQ9zBJh/i1s0yKNtxAnU7w==} @@ -1189,8 +1189,8 @@ packages: undici-types@7.24.6: resolution: {integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==} - undici@7.26.0: - resolution: {integrity: sha512-3O9Tf67pGhgOv9jM35AbhkXAKi13f3oy3aE4CSgr+TckGeY+/iu97ZXN+J7DpHPzLbVApFd1IFhcnBjREYXYcg==} + undici@7.27.1: + resolution: {integrity: sha512-UDdpiex+mzigiyrXrGbiUaF4HzTNhKbh2vRNFaTMzcqmLIPrZxaCtwo/1TMSuWoM1Xz3WiTo9KdgI3kRqYzJGg==} engines: {node: '>=20.18.1'} universalify@2.0.1: @@ -1670,7 +1670,7 @@ snapshots: optionalDependencies: ajv: 6.15.0 - '@vercel/sandbox@2.0.1': + '@vercel/sandbox@2.1.1': dependencies: '@vercel/oidc': 3.2.0 '@workflow/serde': 4.1.0-beta.2 @@ -1680,7 +1680,7 @@ snapshots: ms: 2.1.3 picocolors: 1.1.1 tar-stream: 3.1.7 - undici: 7.26.0 + undici: 7.27.1 xdg-app-paths: 5.1.0 zod: 3.24.4 transitivePeerDependencies: @@ -2250,7 +2250,7 @@ snapshots: undici-types@7.24.6: {} - undici@7.26.0: {} + undici@7.27.1: {} universalify@2.0.1: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index bc5564d..92c3c48 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -9,3 +9,6 @@ minimumReleaseAge: 2880 minimumReleaseAgeExclude: - "@vercel/fs-detectors" - "@vercel/build-utils" + - "@vercel/sandbox" + # Required floor (^7.27.1) of @vercel/sandbox; undici is Node's HTTP client. + - "undici"