diff --git a/.changes/retry.md b/.changes/retry.md new file mode 100644 index 0000000000..0616ef2927 --- /dev/null +++ b/.changes/retry.md @@ -0,0 +1,5 @@ +--- +action: patch +--- + +Add retry mechanism for failed builds to improve CI reliability diff --git a/.github/fixtures/example-with-tauri-v2/src-tauri/src/main.rs b/.github/fixtures/example-with-tauri-v2/src-tauri/src/main.rs index 06be565419..d387909276 100644 --- a/.github/fixtures/example-with-tauri-v2/src-tauri/src/main.rs +++ b/.github/fixtures/example-with-tauri-v2/src-tauri/src/main.rs @@ -1,7 +1,7 @@ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] fn main() { - tauri::Builder::default() - .run(tauri::generate_context!()) - .expect("error while running tauri application"); + tauri::Builder::default() + .run(tauri::generate_context!()) + .expect("error while running tauri application"); } diff --git a/.github/workflows/test-action.yml b/.github/workflows/test-action.yml index 5257e19855..79053842e1 100644 --- a/.github/workflows/test-action.yml +++ b/.github/workflows/test-action.yml @@ -173,6 +173,7 @@ jobs: releaseDraft: true args: ${{ matrix.args }} updaterJsonKeepUniversal: true + retryAttempts: 1 - name: Frontend-only Project uses: ./ diff --git a/README.md b/README.md index ea3134fc11..628942a1c6 100644 --- a/README.md +++ b/README.md @@ -98,16 +98,17 @@ These inputs are only used if your GitHub repository does not contain an existin These inputs allow you to change how your Tauri project will be build. -| Name | Required | Description | Type | Default | -| -------------------------- | :------: | -------------------------------------------------------------------------------------------------------------------------------------------- | ------ | ------------------------------------------------------------------------------ | -| `projectPath` | false | The path to the root of the tauri project relative to the current working directory | string | . | -| `includeDebug` | false | whether to include a debug build or not | bool | false | -| `includeRelease` | false | whether to include a release build or not | bool | true | -| `includeUpdaterJson` | false | whether to upload a JSON file for the updater or not (only relevant if the updater is configured) | bool | true | -| `updaterJsonPreferNsis` | false | whether the action will use the NSIS (setup.exe) or WiX (.msi) bundles for the updater JSON if both types exist | bool | `false`. May be changed to `true` for projects using `tauri@v2` in the future. | -| `updaterJsonKeepUniversal` | false | whether the updater JSON file should include universal macOS builds as darwin-universal on top of using it in the aarch64 and x86_64 fields. | bool | false | -| `tauriScript` | false | the script to execute the Tauri CLI. It must not include any args or commands like `build` | string | `npm run\|pnpm\|yarn tauri` | -| `args` | false | Additional arguments to the current build command | string | | +| Name | Required | Description | Type | Default | +| -------------------------- | :------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------ | ------------------------------------------------------------------------------ | +| `projectPath` | false | The path to the root of the tauri project relative to the current working directory | string | . | +| `includeDebug` | false | whether to include a debug build or not | bool | false | +| `includeRelease` | false | whether to include a release build or not | bool | true | +| `includeUpdaterJson` | false | whether to upload a JSON file for the updater or not (only relevant if the updater is configured) | bool | true | +| `updaterJsonPreferNsis` | false | whether the action will use the NSIS (setup.exe) or WiX (.msi) bundles for the updater JSON if both types exist | bool | `false`. May be changed to `true` for projects using `tauri@v2` in the future. | +| `updaterJsonKeepUniversal` | false | whether the updater JSON file should include universal macOS builds as darwin-universal on top of using it in the aarch64 and x86_64 fields. | bool | false | +| `tauriScript` | false | the script to execute the Tauri CLI. It must not include any args or commands like `build` | string | `npm run\|pnpm\|yarn tauri` | +| `args` | false | Additional arguments to the current build command | string | | +| `retryAttempts` | false | The number of times to re-try building the app if the initial build fails. For now this only affects `tauri build` but may include the upload steps in the future. | number | 0 | ### Release Configuration diff --git a/action.yml b/action.yml index 6f9df30b87..f223eb3cce 100644 --- a/action.yml +++ b/action.yml @@ -14,43 +14,45 @@ inputs: description: 'The body of the release to create' releaseDraft: description: 'Whether the release to create is a draft or not' - default: false + default: 'false' prerelease: description: 'Whether the release to create is a prerelease or not' - default: false + default: 'false' releaseCommitish: description: 'Any branch or commit SHA the Git tag is created from, unused if the Git tag already exists. Default: SHA of current commit' projectPath: - description: 'path to the root of the project that will be built' + description: 'Path to the root of the project that will be built' default: '.' distPath: - description: 'path to the distributable folder with your index.html and JS/CSS' + description: 'Path to the distributable folder with your index.html and JS/CSS' iconPath: - description: 'path to the PNG icon to use as app icon, relative to the projectPath' + description: 'Path to the PNG icon to use as app icon, relative to the projectPath' appName: - description: 'the app name to inject when initializing the Tauri app. Required if the name is not set via the `--config` flag.' + description: 'The app name to inject when initializing the Tauri app. Required if the name is not set via the `--config` flag.' appVersion: - description: 'the app version to inject when initializing the Tauri app. Required if the version is not set via the `--config` flag.' + description: 'The app version to inject when initializing the Tauri app. Required if the version is not set via the `--config` flag.' includeDebug: - description: 'whether to include a debug build or not' - default: false + description: 'Whether to include a debug build or not' + default: 'false' includeRelease: - description: 'whether to include a release build or not' - default: true + description: 'Whether to include a release build or not' + default: 'true' includeUpdaterJson: - description: 'whether to upload a static JSON file for the updater using GitHub Releases as the CDN' - default: true + description: 'Whether to upload a static JSON file for the updater using GitHub Releases as the CDN' + default: 'true' updaterJsonPreferNsis: - description: 'whether the action will use the NSIS (setup.exe) or WiX (.msi) bundles for the updater JSON if both types exist. Will default to false. May default to true for apps using tauri@v2 in the future.' + description: 'Whether the action will use the NSIS (setup.exe) or WiX (.msi) bundles for the updater JSON if both types exist. Will default to false. May default to true for apps using tauri@v2 in the future.' updaterJsonKeepUniversal: - description: 'whether the updater JSON file should add universal macOS as darwin-universal on top of using it in the darwin-aarch64 and darwin-x86_64 fields if no native builds exist.' - default: false + description: 'Whether the updater JSON file should add universal macOS as darwin-universal on top of using it in the darwin-aarch64 and darwin-x86_64 fields if no native builds exist.' + default: 'false' tauriScript: - description: 'the script to run to build the Tauri app' + description: 'The script to run to build the Tauri app' args: - description: 'arguments for the tauri command' + description: 'Arguments for the `tauri build` command' + retryAttempts: + description: 'The number of times to re-try building the app if the initial build fails. For now this only affects `tauri build` but may include the upload steps in the future.' bundleIdentifier: - description: 'the bundle identifier to inject when initializing the Tauri app' + description: 'The bundle identifier to inject when initializing the Tauri app' owner: description: 'The account owner of the repository' repo: diff --git a/dist/index.js b/dist/index.js index 67d40e6292..84726bd003 100644 --- a/dist/index.js +++ b/dist/index.js @@ -39,4 +39,4 @@ r.exports=runParallel;const n=s(9108);function runParallel(r,A){let s,a,u;let l= */ const n=s(5569);const toRegexRange=(r,A,s)=>{if(n(r)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(A===void 0||r===A){return String(r)}if(n(A)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let a={relaxZeros:true,...s};if(typeof a.strictZeros==="boolean"){a.relaxZeros=a.strictZeros===false}let u=String(a.relaxZeros);let l=String(a.shorthand);let g=String(a.capture);let E=String(a.wrap);let d=r+":"+A+"="+u+l+g+E;if(toRegexRange.cache.hasOwnProperty(d)){return toRegexRange.cache[d].result}let p=Math.min(r,A);let C=Math.max(r,A);if(Math.abs(p-C)===1){let s=r+"|"+A;if(a.capture){return`(${s})`}if(a.wrap===false){return s}return`(?:${s})`}let B=hasPadding(r)||hasPadding(A);let Q={min:r,max:A,a:p,b:C};let I=[];let m=[];if(B){Q.isPadded=B;Q.maxLen=String(Q.max).length}if(p<0){let r=C<0?Math.abs(C):1;m=splitToPatterns(r,Math.abs(p),Q,a);p=Q.a=0}if(C>=0){I=splitToPatterns(p,C,Q,a)}Q.negatives=m;Q.positives=I;Q.result=collatePatterns(m,I,a);if(a.capture===true){Q.result=`(${Q.result})`}else if(a.wrap!==false&&I.length+m.length>1){Q.result=`(?:${Q.result})`}toRegexRange.cache[d]=Q;return Q.result};function collatePatterns(r,A,s){let n=filterPatterns(r,A,"-",false,s)||[];let a=filterPatterns(A,r,"",false,s)||[];let u=filterPatterns(r,A,"-?",true,s)||[];let l=n.concat(u).concat(a);return l.join("|")}function splitToRanges(r,A){let s=1;let n=1;let a=countNines(r,s);let u=new Set([A]);while(r<=a&&a<=A){u.add(a);s+=1;a=countNines(r,s)}a=countZeros(A+1,n)-1;while(r1){g.count.pop()}g.count.push(E.count[0]);g.string=g.pattern+toQuantifier(g.count);l=A+1;continue}if(s.isPadded){d=padZeros(A,s,n)}E.string=d+E.pattern+toQuantifier(E.count);u.push(E);l=A+1;g=E}return u}function filterPatterns(r,A,s,n,a){let u=[];for(let a of r){let{string:r}=a;if(!n&&!contains(A,"string",r)){u.push(s+r)}if(n&&contains(A,"string",r)){u.push(s+r)}}return u}function zip(r,A){let s=[];for(let n=0;nA?1:A>r?-1:0}function contains(r,A,s){return r.some((r=>r[A]===s))}function countNines(r,A){return Number(String(r).slice(0,-A)+"9".repeat(A))}function countZeros(r,A){return r-r%Math.pow(10,A)}function toQuantifier(r){let[A=0,s=""]=r;if(s||A>1){return`{${A+(s?","+s:"")}}`}return""}function toCharacterClass(r,A,s){return`[${r}${A-r===1?"":"-"}${A}]`}function hasPadding(r){return/^-?(0+)\d/.test(r)}function padZeros(r,A,s){if(!A.isPadded){return r}let n=Math.abs(A.maxLen-String(r).length);let a=s.relaxZeros!==false;switch(n){case 0:return"";case 1:return a?"0?":"0";case 2:return a?"0{0,2}":"00";default:{return a?`0{0,${n}}`:`0{${n}}`}}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};r.exports=toRegexRange},6124:(r,A,s)=>{r.exports=s(3660)},3660:(r,A,s)=>{var n=s(9278);var a=s(4756);var u=s(8611);var l=s(5692);var g=s(4434);var E=s(2613);var d=s(9023);A.httpOverHttp=httpOverHttp;A.httpsOverHttp=httpsOverHttp;A.httpOverHttps=httpOverHttps;A.httpsOverHttps=httpsOverHttps;function httpOverHttp(r){var A=new TunnelingAgent(r);A.request=u.request;return A}function httpsOverHttp(r){var A=new TunnelingAgent(r);A.request=u.request;A.createSocket=createSecureSocket;A.defaultPort=443;return A}function httpOverHttps(r){var A=new TunnelingAgent(r);A.request=l.request;return A}function httpsOverHttps(r){var A=new TunnelingAgent(r);A.request=l.request;A.createSocket=createSecureSocket;A.defaultPort=443;return A}function TunnelingAgent(r){var A=this;A.options=r||{};A.proxyOptions=A.options.proxy||{};A.maxSockets=A.options.maxSockets||u.Agent.defaultMaxSockets;A.requests=[];A.sockets=[];A.on("free",(function onFree(r,s,n,a){var u=toOptions(s,n,a);for(var l=0,g=A.requests.length;l=this.maxSockets){a.requests.push(u);return}a.createSocket(u,(function(A){A.on("free",onFree);A.on("close",onCloseOrRemove);A.on("agentRemove",onCloseOrRemove);r.onSocket(A);function onFree(){a.emit("free",A,u)}function onCloseOrRemove(r){a.removeSocket(A);A.removeListener("free",onFree);A.removeListener("close",onCloseOrRemove);A.removeListener("agentRemove",onCloseOrRemove)}}))};TunnelingAgent.prototype.createSocket=function createSocket(r,A){var s=this;var n={};s.sockets.push(n);var a=mergeOptions({},s.proxyOptions,{method:"CONNECT",path:r.host+":"+r.port,agent:false,headers:{host:r.host+":"+r.port}});if(r.localAddress){a.localAddress=r.localAddress}if(a.proxyAuth){a.headers=a.headers||{};a.headers["Proxy-Authorization"]="Basic "+new Buffer(a.proxyAuth).toString("base64")}p("making CONNECT request");var u=s.request(a);u.useChunkedEncodingByDefault=false;u.once("response",onResponse);u.once("upgrade",onUpgrade);u.once("connect",onConnect);u.once("error",onError);u.end();function onResponse(r){r.upgrade=true}function onUpgrade(r,A,s){process.nextTick((function(){onConnect(r,A,s)}))}function onConnect(a,l,g){u.removeAllListeners();l.removeAllListeners();if(a.statusCode!==200){p("tunneling socket could not be established, statusCode=%d",a.statusCode);l.destroy();var E=new Error("tunneling socket could not be established, "+"statusCode="+a.statusCode);E.code="ECONNRESET";r.request.emit("error",E);s.removeSocket(n);return}if(g.length>0){p("got illegal response body from proxy");l.destroy();var E=new Error("got illegal response body from proxy");E.code="ECONNRESET";r.request.emit("error",E);s.removeSocket(n);return}p("tunneling connection has established");s.sockets[s.sockets.indexOf(n)]=l;return A(l)}function onError(A){u.removeAllListeners();p("tunneling socket could not be established, cause=%s\n",A.message,A.stack);var a=new Error("tunneling socket could not be established, "+"cause="+A.message);a.code="ECONNRESET";r.request.emit("error",a);s.removeSocket(n)}};TunnelingAgent.prototype.removeSocket=function removeSocket(r){var A=this.sockets.indexOf(r);if(A===-1){return}this.sockets.splice(A,1);var s=this.requests.shift();if(s){this.createSocket(s,(function(r){s.request.onSocket(r)}))}};function createSecureSocket(r,A){var s=this;TunnelingAgent.prototype.createSocket.call(s,r,(function(n){var u=r.request.getHeader("host");var l=mergeOptions({},s.options,{socket:n,servername:u?u.replace(/:.*$/,""):r.host});var g=a.connect(0,l);s.sockets[s.sockets.indexOf(n)]=g;A(g)}))}function toOptions(r,A,s){if(typeof r==="string"){return{host:r,port:A,localAddress:s}}return r}function mergeOptions(r){for(var A=1,s=arguments.length;A{const n=s(6646);const a=s(9724);const u=s(3862);const l=s(7787);const g=s(7568);const E=s(9072);const d=s(3465);const{InvalidArgumentError:p}=u;const C=s(4598);const B=s(2559);const Q=s(962);const I=s(5332);const m=s(2975);const y=s(4222);const w=s(2145);const D=s(3966);const{getGlobalDispatcher:b,setGlobalDispatcher:R}=s(7882);const S=s(8975);const k=s(238);const F=s(2130);let T;try{s(6982);T=true}catch{T=false}Object.assign(a.prototype,C);r.exports.Dispatcher=a;r.exports.Client=n;r.exports.Pool=l;r.exports.BalancedPool=g;r.exports.Agent=E;r.exports.ProxyAgent=w;r.exports.RetryHandler=D;r.exports.DecoratorHandler=S;r.exports.RedirectHandler=k;r.exports.createRedirectInterceptor=F;r.exports.buildConnector=B;r.exports.errors=u;function makeDispatcher(r){return(A,s,n)=>{if(typeof s==="function"){n=s;s=null}if(!A||typeof A!=="string"&&typeof A!=="object"&&!(A instanceof URL)){throw new p("invalid url")}if(s!=null&&typeof s!=="object"){throw new p("invalid opts")}if(s&&s.path!=null){if(typeof s.path!=="string"){throw new p("invalid opts.path")}let r=s.path;if(!s.path.startsWith("/")){r=`/${r}`}A=new URL(d.parseOrigin(A).origin+r)}else{if(!s){s=typeof A==="object"?A:{}}A=d.parseURL(A)}const{agent:a,dispatcher:u=b()}=s;if(a){throw new p("unsupported opts.agent. Did you mean opts.client?")}return r.call(u,{...s,origin:A.origin,path:A.search?`${A.pathname}${A.search}`:A.pathname,method:s.method||(s.body?"PUT":"GET")},n)}}r.exports.setGlobalDispatcher=R;r.exports.getGlobalDispatcher=b;if(d.nodeMajor>16||d.nodeMajor===16&&d.nodeMinor>=8){let A=null;r.exports.fetch=async function fetch(r){if(!A){A=s(8358).fetch}try{return await A(...arguments)}catch(r){if(typeof r==="object"){Error.captureStackTrace(r,this)}throw r}};r.exports.Headers=s(2908).Headers;r.exports.Response=s(5683).Response;r.exports.Request=s(5767).Request;r.exports.FormData=s(2894).FormData;r.exports.File=s(66).File;r.exports.FileReader=s(2171).FileReader;const{setGlobalOrigin:n,getGlobalOrigin:a}=s(9963);r.exports.setGlobalOrigin=n;r.exports.getGlobalOrigin=a;const{CacheStorage:u}=s(9605);const{kConstruct:l}=s(1829);r.exports.caches=new u(l)}if(d.nodeMajor>=16){const{deleteCookie:A,getCookies:n,getSetCookies:a,setCookie:u}=s(8829);r.exports.deleteCookie=A;r.exports.getCookies=n;r.exports.getSetCookies=a;r.exports.setCookie=u;const{parseMIMEType:l,serializeAMimeType:g}=s(3911);r.exports.parseMIMEType=l;r.exports.serializeAMimeType=g}if(d.nodeMajor>=18&&T){const{WebSocket:A}=s(6102);r.exports.WebSocket=A}r.exports.request=makeDispatcher(C.request);r.exports.stream=makeDispatcher(C.stream);r.exports.pipeline=makeDispatcher(C.pipeline);r.exports.connect=makeDispatcher(C.connect);r.exports.upgrade=makeDispatcher(C.upgrade);r.exports.MockClient=Q;r.exports.MockPool=m;r.exports.MockAgent=I;r.exports.mockErrors=y},9072:(r,A,s)=>{const{InvalidArgumentError:n}=s(3862);const{kClients:a,kRunning:u,kClose:l,kDestroy:g,kDispatch:E,kInterceptors:d}=s(4856);const p=s(9368);const C=s(7787);const B=s(6646);const Q=s(3465);const I=s(2130);const{WeakRef:m,FinalizationRegistry:y}=s(547)();const w=Symbol("onConnect");const D=Symbol("onDisconnect");const b=Symbol("onConnectionError");const R=Symbol("maxRedirections");const S=Symbol("onDrain");const k=Symbol("factory");const F=Symbol("finalizer");const T=Symbol("options");function defaultFactory(r,A){return A&&A.connections===1?new B(r,A):new C(r,A)}class Agent extends p{constructor({factory:r=defaultFactory,maxRedirections:A=0,connect:s,...u}={}){super();if(typeof r!=="function"){throw new n("factory must be a function.")}if(s!=null&&typeof s!=="function"&&typeof s!=="object"){throw new n("connect must be a function or an object")}if(!Number.isInteger(A)||A<0){throw new n("maxRedirections must be a positive number")}if(s&&typeof s!=="function"){s={...s}}this[d]=u.interceptors&&u.interceptors.Agent&&Array.isArray(u.interceptors.Agent)?u.interceptors.Agent:[I({maxRedirections:A})];this[T]={...Q.deepClone(u),connect:s};this[T].interceptors=u.interceptors?{...u.interceptors}:undefined;this[R]=A;this[k]=r;this[a]=new Map;this[F]=new y((r=>{const A=this[a].get(r);if(A!==undefined&&A.deref()===undefined){this[a].delete(r)}}));const l=this;this[S]=(r,A)=>{l.emit("drain",r,[l,...A])};this[w]=(r,A)=>{l.emit("connect",r,[l,...A])};this[D]=(r,A,s)=>{l.emit("disconnect",r,[l,...A],s)};this[b]=(r,A,s)=>{l.emit("connectionError",r,[l,...A],s)}}get[u](){let r=0;for(const A of this[a].values()){const s=A.deref();if(s){r+=s[u]}}return r}[E](r,A){let s;if(r.origin&&(typeof r.origin==="string"||r.origin instanceof URL)){s=String(r.origin)}else{throw new n("opts.origin must be a non-empty string or URL.")}const u=this[a].get(s);let l=u?u.deref():null;if(!l){l=this[k](r.origin,this[T]).on("drain",this[S]).on("connect",this[w]).on("disconnect",this[D]).on("connectionError",this[b]);this[a].set(s,new m(l));this[F].register(l,s)}return l.dispatch(r,A)}async[l](){const r=[];for(const A of this[a].values()){const s=A.deref();if(s){r.push(s.close())}}await Promise.all(r)}async[g](r){const A=[];for(const s of this[a].values()){const n=s.deref();if(n){A.push(n.destroy(r))}}await Promise.all(A)}}r.exports=Agent},4541:(r,A,s)=>{const{addAbortListener:n}=s(3465);const{RequestAbortedError:a}=s(3862);const u=Symbol("kListener");const l=Symbol("kSignal");function abort(r){if(r.abort){r.abort()}else{r.onError(new a)}}function addSignal(r,A){r[l]=null;r[u]=null;if(!A){return}if(A.aborted){abort(r);return}r[l]=A;r[u]=()=>{abort(r)};n(r[l],r[u])}function removeSignal(r){if(!r[l]){return}if("removeEventListener"in r[l]){r[l].removeEventListener("abort",r[u])}else{r[l].removeListener("abort",r[u])}r[l]=null;r[u]=null}r.exports={addSignal:addSignal,removeSignal:removeSignal}},2657:(r,A,s)=>{const{AsyncResource:n}=s(290);const{InvalidArgumentError:a,RequestAbortedError:u,SocketError:l}=s(3862);const g=s(3465);const{addSignal:E,removeSignal:d}=s(4541);class ConnectHandler extends n{constructor(r,A){if(!r||typeof r!=="object"){throw new a("invalid opts")}if(typeof A!=="function"){throw new a("invalid callback")}const{signal:s,opaque:n,responseHeaders:u}=r;if(s&&typeof s.on!=="function"&&typeof s.addEventListener!=="function"){throw new a("signal must be an EventEmitter or EventTarget")}super("UNDICI_CONNECT");this.opaque=n||null;this.responseHeaders=u||null;this.callback=A;this.abort=null;E(this,s)}onConnect(r,A){if(!this.callback){throw new u}this.abort=r;this.context=A}onHeaders(){throw new l("bad connect",null)}onUpgrade(r,A,s){const{callback:n,opaque:a,context:u}=this;d(this);this.callback=null;let l=A;if(l!=null){l=this.responseHeaders==="raw"?g.parseRawHeaders(A):g.parseHeaders(A)}this.runInAsyncScope(n,null,null,{statusCode:r,headers:l,socket:s,opaque:a,context:u})}onError(r){const{callback:A,opaque:s}=this;d(this);if(A){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(A,null,r,{opaque:s})}))}}}function connect(r,A){if(A===undefined){return new Promise(((A,s)=>{connect.call(this,r,((r,n)=>r?s(r):A(n)))}))}try{const s=new ConnectHandler(r,A);this.dispatch({...r,method:"CONNECT"},s)}catch(s){if(typeof A!=="function"){throw s}const n=r&&r.opaque;queueMicrotask((()=>A(s,{opaque:n})))}}r.exports=connect},681:(r,A,s)=>{const{Readable:n,Duplex:a,PassThrough:u}=s(2203);const{InvalidArgumentError:l,InvalidReturnValueError:g,RequestAbortedError:E}=s(3862);const d=s(3465);const{AsyncResource:p}=s(290);const{addSignal:C,removeSignal:B}=s(4541);const Q=s(2613);const I=Symbol("resume");class PipelineRequest extends n{constructor(){super({autoDestroy:true});this[I]=null}_read(){const{[I]:r}=this;if(r){this[I]=null;r()}}_destroy(r,A){this._read();A(r)}}class PipelineResponse extends n{constructor(r){super({autoDestroy:true});this[I]=r}_read(){this[I]()}_destroy(r,A){if(!r&&!this._readableState.endEmitted){r=new E}A(r)}}class PipelineHandler extends p{constructor(r,A){if(!r||typeof r!=="object"){throw new l("invalid opts")}if(typeof A!=="function"){throw new l("invalid handler")}const{signal:s,method:n,opaque:u,onInfo:g,responseHeaders:p}=r;if(s&&typeof s.on!=="function"&&typeof s.addEventListener!=="function"){throw new l("signal must be an EventEmitter or EventTarget")}if(n==="CONNECT"){throw new l("invalid method")}if(g&&typeof g!=="function"){throw new l("invalid onInfo callback")}super("UNDICI_PIPELINE");this.opaque=u||null;this.responseHeaders=p||null;this.handler=A;this.abort=null;this.context=null;this.onInfo=g||null;this.req=(new PipelineRequest).on("error",d.nop);this.ret=new a({readableObjectMode:r.objectMode,autoDestroy:true,read:()=>{const{body:r}=this;if(r&&r.resume){r.resume()}},write:(r,A,s)=>{const{req:n}=this;if(n.push(r,A)||n._readableState.destroyed){s()}else{n[I]=s}},destroy:(r,A)=>{const{body:s,req:n,res:a,ret:u,abort:l}=this;if(!r&&!u._readableState.endEmitted){r=new E}if(l&&r){l()}d.destroy(s,r);d.destroy(n,r);d.destroy(a,r);B(this);A(r)}}).on("prefinish",(()=>{const{req:r}=this;r.push(null)}));this.res=null;C(this,s)}onConnect(r,A){const{ret:s,res:n}=this;Q(!n,"pipeline cannot be retried");if(s.destroyed){throw new E}this.abort=r;this.context=A}onHeaders(r,A,s){const{opaque:n,handler:a,context:u}=this;if(r<200){if(this.onInfo){const s=this.responseHeaders==="raw"?d.parseRawHeaders(A):d.parseHeaders(A);this.onInfo({statusCode:r,headers:s})}return}this.res=new PipelineResponse(s);let l;try{this.handler=null;const s=this.responseHeaders==="raw"?d.parseRawHeaders(A):d.parseHeaders(A);l=this.runInAsyncScope(a,null,{statusCode:r,headers:s,opaque:n,body:this.res,context:u})}catch(r){this.res.on("error",d.nop);throw r}if(!l||typeof l.on!=="function"){throw new g("expected Readable")}l.on("data",(r=>{const{ret:A,body:s}=this;if(!A.push(r)&&s.pause){s.pause()}})).on("error",(r=>{const{ret:A}=this;d.destroy(A,r)})).on("end",(()=>{const{ret:r}=this;r.push(null)})).on("close",(()=>{const{ret:r}=this;if(!r._readableState.ended){d.destroy(r,new E)}}));this.body=l}onData(r){const{res:A}=this;return A.push(r)}onComplete(r){const{res:A}=this;A.push(null)}onError(r){const{ret:A}=this;this.handler=null;d.destroy(A,r)}}function pipeline(r,A){try{const s=new PipelineHandler(r,A);this.dispatch({...r,body:s.req},s);return s.ret}catch(r){return(new u).destroy(r)}}r.exports=pipeline},2834:(r,A,s)=>{const n=s(5964);const{InvalidArgumentError:a,RequestAbortedError:u}=s(3862);const l=s(3465);const{getResolveErrorBodyCallback:g}=s(4920);const{AsyncResource:E}=s(290);const{addSignal:d,removeSignal:p}=s(4541);class RequestHandler extends E{constructor(r,A){if(!r||typeof r!=="object"){throw new a("invalid opts")}const{signal:s,method:n,opaque:u,body:g,onInfo:E,responseHeaders:p,throwOnError:C,highWaterMark:B}=r;try{if(typeof A!=="function"){throw new a("invalid callback")}if(B&&(typeof B!=="number"||B<0)){throw new a("invalid highWaterMark")}if(s&&typeof s.on!=="function"&&typeof s.addEventListener!=="function"){throw new a("signal must be an EventEmitter or EventTarget")}if(n==="CONNECT"){throw new a("invalid method")}if(E&&typeof E!=="function"){throw new a("invalid onInfo callback")}super("UNDICI_REQUEST")}catch(r){if(l.isStream(g)){l.destroy(g.on("error",l.nop),r)}throw r}this.responseHeaders=p||null;this.opaque=u||null;this.callback=A;this.res=null;this.abort=null;this.body=g;this.trailers={};this.context=null;this.onInfo=E||null;this.throwOnError=C;this.highWaterMark=B;if(l.isStream(g)){g.on("error",(r=>{this.onError(r)}))}d(this,s)}onConnect(r,A){if(!this.callback){throw new u}this.abort=r;this.context=A}onHeaders(r,A,s,a){const{callback:u,opaque:E,abort:d,context:p,responseHeaders:C,highWaterMark:B}=this;const Q=C==="raw"?l.parseRawHeaders(A):l.parseHeaders(A);if(r<200){if(this.onInfo){this.onInfo({statusCode:r,headers:Q})}return}const I=C==="raw"?l.parseHeaders(A):Q;const m=I["content-type"];const y=new n({resume:s,abort:d,contentType:m,highWaterMark:B});this.callback=null;this.res=y;if(u!==null){if(this.throwOnError&&r>=400){this.runInAsyncScope(g,null,{callback:u,body:y,contentType:m,statusCode:r,statusMessage:a,headers:Q})}else{this.runInAsyncScope(u,null,null,{statusCode:r,headers:Q,trailers:this.trailers,opaque:E,body:y,context:p})}}}onData(r){const{res:A}=this;return A.push(r)}onComplete(r){const{res:A}=this;p(this);l.parseHeaders(r,this.trailers);A.push(null)}onError(r){const{res:A,callback:s,body:n,opaque:a}=this;p(this);if(s){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(s,null,r,{opaque:a})}))}if(A){this.res=null;queueMicrotask((()=>{l.destroy(A,r)}))}if(n){this.body=null;l.destroy(n,r)}}}function request(r,A){if(A===undefined){return new Promise(((A,s)=>{request.call(this,r,((r,n)=>r?s(r):A(n)))}))}try{this.dispatch(r,new RequestHandler(r,A))}catch(s){if(typeof A!=="function"){throw s}const n=r&&r.opaque;queueMicrotask((()=>A(s,{opaque:n})))}}r.exports=request;r.exports.RequestHandler=RequestHandler},6759:(r,A,s)=>{const{finished:n,PassThrough:a}=s(2203);const{InvalidArgumentError:u,InvalidReturnValueError:l,RequestAbortedError:g}=s(3862);const E=s(3465);const{getResolveErrorBodyCallback:d}=s(4920);const{AsyncResource:p}=s(290);const{addSignal:C,removeSignal:B}=s(4541);class StreamHandler extends p{constructor(r,A,s){if(!r||typeof r!=="object"){throw new u("invalid opts")}const{signal:n,method:a,opaque:l,body:g,onInfo:d,responseHeaders:p,throwOnError:B}=r;try{if(typeof s!=="function"){throw new u("invalid callback")}if(typeof A!=="function"){throw new u("invalid factory")}if(n&&typeof n.on!=="function"&&typeof n.addEventListener!=="function"){throw new u("signal must be an EventEmitter or EventTarget")}if(a==="CONNECT"){throw new u("invalid method")}if(d&&typeof d!=="function"){throw new u("invalid onInfo callback")}super("UNDICI_STREAM")}catch(r){if(E.isStream(g)){E.destroy(g.on("error",E.nop),r)}throw r}this.responseHeaders=p||null;this.opaque=l||null;this.factory=A;this.callback=s;this.res=null;this.abort=null;this.context=null;this.trailers=null;this.body=g;this.onInfo=d||null;this.throwOnError=B||false;if(E.isStream(g)){g.on("error",(r=>{this.onError(r)}))}C(this,n)}onConnect(r,A){if(!this.callback){throw new g}this.abort=r;this.context=A}onHeaders(r,A,s,u){const{factory:g,opaque:p,context:C,callback:B,responseHeaders:Q}=this;const I=Q==="raw"?E.parseRawHeaders(A):E.parseHeaders(A);if(r<200){if(this.onInfo){this.onInfo({statusCode:r,headers:I})}return}this.factory=null;let m;if(this.throwOnError&&r>=400){const s=Q==="raw"?E.parseHeaders(A):I;const n=s["content-type"];m=new a;this.callback=null;this.runInAsyncScope(d,null,{callback:B,body:m,contentType:n,statusCode:r,statusMessage:u,headers:I})}else{if(g===null){return}m=this.runInAsyncScope(g,null,{statusCode:r,headers:I,opaque:p,context:C});if(!m||typeof m.write!=="function"||typeof m.end!=="function"||typeof m.on!=="function"){throw new l("expected Writable")}n(m,{readable:false},(r=>{const{callback:A,res:s,opaque:n,trailers:a,abort:u}=this;this.res=null;if(r||!s.readable){E.destroy(s,r)}this.callback=null;this.runInAsyncScope(A,null,r||null,{opaque:n,trailers:a});if(r){u()}}))}m.on("drain",s);this.res=m;const y=m.writableNeedDrain!==undefined?m.writableNeedDrain:m._writableState&&m._writableState.needDrain;return y!==true}onData(r){const{res:A}=this;return A?A.write(r):true}onComplete(r){const{res:A}=this;B(this);if(!A){return}this.trailers=E.parseHeaders(r);A.end()}onError(r){const{res:A,callback:s,opaque:n,body:a}=this;B(this);this.factory=null;if(A){this.res=null;E.destroy(A,r)}else if(s){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(s,null,r,{opaque:n})}))}if(a){this.body=null;E.destroy(a,r)}}}function stream(r,A,s){if(s===undefined){return new Promise(((s,n)=>{stream.call(this,r,A,((r,A)=>r?n(r):s(A)))}))}try{this.dispatch(r,new StreamHandler(r,A,s))}catch(A){if(typeof s!=="function"){throw A}const n=r&&r.opaque;queueMicrotask((()=>s(A,{opaque:n})))}}r.exports=stream},9387:(r,A,s)=>{const{InvalidArgumentError:n,RequestAbortedError:a,SocketError:u}=s(3862);const{AsyncResource:l}=s(290);const g=s(3465);const{addSignal:E,removeSignal:d}=s(4541);const p=s(2613);class UpgradeHandler extends l{constructor(r,A){if(!r||typeof r!=="object"){throw new n("invalid opts")}if(typeof A!=="function"){throw new n("invalid callback")}const{signal:s,opaque:a,responseHeaders:u}=r;if(s&&typeof s.on!=="function"&&typeof s.addEventListener!=="function"){throw new n("signal must be an EventEmitter or EventTarget")}super("UNDICI_UPGRADE");this.responseHeaders=u||null;this.opaque=a||null;this.callback=A;this.abort=null;this.context=null;E(this,s)}onConnect(r,A){if(!this.callback){throw new a}this.abort=r;this.context=null}onHeaders(){throw new u("bad upgrade",null)}onUpgrade(r,A,s){const{callback:n,opaque:a,context:u}=this;p.strictEqual(r,101);d(this);this.callback=null;const l=this.responseHeaders==="raw"?g.parseRawHeaders(A):g.parseHeaders(A);this.runInAsyncScope(n,null,null,{headers:l,socket:s,opaque:a,context:u})}onError(r){const{callback:A,opaque:s}=this;d(this);if(A){this.callback=null;queueMicrotask((()=>{this.runInAsyncScope(A,null,r,{opaque:s})}))}}}function upgrade(r,A){if(A===undefined){return new Promise(((A,s)=>{upgrade.call(this,r,((r,n)=>r?s(r):A(n)))}))}try{const s=new UpgradeHandler(r,A);this.dispatch({...r,method:r.method||"GET",upgrade:r.protocol||"Websocket"},s)}catch(s){if(typeof A!=="function"){throw s}const n=r&&r.opaque;queueMicrotask((()=>A(s,{opaque:n})))}}r.exports=upgrade},4598:(r,A,s)=>{r.exports.request=s(2834);r.exports.stream=s(6759);r.exports.pipeline=s(681);r.exports.upgrade=s(9387);r.exports.connect=s(2657)},5964:(r,A,s)=>{const n=s(2613);const{Readable:a}=s(2203);const{RequestAbortedError:u,NotSupportedError:l,InvalidArgumentError:g}=s(3862);const E=s(3465);const{ReadableStreamFrom:d,toUSVString:p}=s(3465);let C;const B=Symbol("kConsume");const Q=Symbol("kReading");const I=Symbol("kBody");const m=Symbol("abort");const y=Symbol("kContentType");const noop=()=>{};r.exports=class BodyReadable extends a{constructor({resume:r,abort:A,contentType:s="",highWaterMark:n=64*1024}){super({autoDestroy:true,read:r,highWaterMark:n});this._readableState.dataEmitted=false;this[m]=A;this[B]=null;this[I]=null;this[y]=s;this[Q]=false}destroy(r){if(this.destroyed){return this}if(!r&&!this._readableState.endEmitted){r=new u}if(r){this[m]()}return super.destroy(r)}emit(r,...A){if(r==="data"){this._readableState.dataEmitted=true}else if(r==="error"){this._readableState.errorEmitted=true}return super.emit(r,...A)}on(r,...A){if(r==="data"||r==="readable"){this[Q]=true}return super.on(r,...A)}addListener(r,...A){return this.on(r,...A)}off(r,...A){const s=super.off(r,...A);if(r==="data"||r==="readable"){this[Q]=this.listenerCount("data")>0||this.listenerCount("readable")>0}return s}removeListener(r,...A){return this.off(r,...A)}push(r){if(this[B]&&r!==null&&this.readableLength===0){consumePush(this[B],r);return this[Q]?super.push(r):true}return super.push(r)}async text(){return consume(this,"text")}async json(){return consume(this,"json")}async blob(){return consume(this,"blob")}async arrayBuffer(){return consume(this,"arrayBuffer")}async formData(){throw new l}get bodyUsed(){return E.isDisturbed(this)}get body(){if(!this[I]){this[I]=d(this);if(this[B]){this[I].getReader();n(this[I].locked)}}return this[I]}dump(r){let A=r&&Number.isFinite(r.limit)?r.limit:262144;const s=r&&r.signal;if(s){try{if(typeof s!=="object"||!("aborted"in s)){throw new g("signal must be an AbortSignal")}E.throwIfAborted(s)}catch(r){return Promise.reject(r)}}if(this.closed){return Promise.resolve(null)}return new Promise(((r,n)=>{const a=s?E.addAbortListener(s,(()=>{this.destroy()})):noop;this.on("close",(function(){a();if(s&&s.aborted){n(s.reason||Object.assign(new Error("The operation was aborted"),{name:"AbortError"}))}else{r(null)}})).on("error",noop).on("data",(function(r){A-=r.length;if(A<=0){this.destroy()}})).resume()}))}};function isLocked(r){return r[I]&&r[I].locked===true||r[B]}function isUnusable(r){return E.isDisturbed(r)||isLocked(r)}async function consume(r,A){if(isUnusable(r)){throw new TypeError("unusable")}n(!r[B]);return new Promise(((s,n)=>{r[B]={type:A,stream:r,resolve:s,reject:n,length:0,body:[]};r.on("error",(function(r){consumeFinish(this[B],r)})).on("close",(function(){if(this[B].body!==null){consumeFinish(this[B],new u)}}));process.nextTick(consumeStart,r[B])}))}function consumeStart(r){if(r.body===null){return}const{_readableState:A}=r.stream;for(const s of A.buffer){consumePush(r,s)}if(A.endEmitted){consumeEnd(this[B])}else{r.stream.on("end",(function(){consumeEnd(this[B])}))}r.stream.resume();while(r.stream.read()!=null){}}function consumeEnd(r){const{type:A,body:n,resolve:a,stream:u,length:l}=r;try{if(A==="text"){a(p(Buffer.concat(n)))}else if(A==="json"){a(JSON.parse(Buffer.concat(n)))}else if(A==="arrayBuffer"){const r=new Uint8Array(l);let A=0;for(const s of n){r.set(s,A);A+=s.byteLength}a(r.buffer)}else if(A==="blob"){if(!C){C=s(181).Blob}a(new C(n,{type:u[y]}))}consumeFinish(r)}catch(r){u.destroy(r)}}function consumePush(r,A){r.length+=A.length;r.body.push(A)}function consumeFinish(r,A){if(r.body===null){return}if(A){r.reject(A)}else{r.resolve()}r.type=null;r.stream=null;r.resolve=null;r.reject=null;r.length=0;r.body=null}},4920:(r,A,s)=>{const n=s(2613);const{ResponseStatusCodeError:a}=s(3862);const{toUSVString:u}=s(3465);async function getResolveErrorBodyCallback({callback:r,body:A,contentType:s,statusCode:l,statusMessage:g,headers:E}){n(A);let d=[];let p=0;for await(const r of A){d.push(r);p+=r.length;if(p>128*1024){d=null;break}}if(l===204||!s||!d){process.nextTick(r,new a(`Response status code ${l}${g?`: ${g}`:""}`,l,E));return}try{if(s.startsWith("application/json")){const A=JSON.parse(u(Buffer.concat(d)));process.nextTick(r,new a(`Response status code ${l}${g?`: ${g}`:""}`,l,E,A));return}if(s.startsWith("text/")){const A=u(Buffer.concat(d));process.nextTick(r,new a(`Response status code ${l}${g?`: ${g}`:""}`,l,E,A));return}}catch(r){}process.nextTick(r,new a(`Response status code ${l}${g?`: ${g}`:""}`,l,E))}r.exports={getResolveErrorBodyCallback:getResolveErrorBodyCallback}},7568:(r,A,s)=>{const{BalancedPoolMissingUpstreamError:n,InvalidArgumentError:a}=s(3862);const{PoolBase:u,kClients:l,kNeedDrain:g,kAddClient:E,kRemoveClient:d,kGetDispatcher:p}=s(9769);const C=s(7787);const{kUrl:B,kInterceptors:Q}=s(4856);const{parseOrigin:I}=s(3465);const m=Symbol("factory");const y=Symbol("options");const w=Symbol("kGreatestCommonDivisor");const D=Symbol("kCurrentWeight");const b=Symbol("kIndex");const R=Symbol("kWeight");const S=Symbol("kMaxWeightPerServer");const k=Symbol("kErrorPenalty");function getGreatestCommonDivisor(r,A){if(A===0)return r;return getGreatestCommonDivisor(A,r%A)}function defaultFactory(r,A){return new C(r,A)}class BalancedPool extends u{constructor(r=[],{factory:A=defaultFactory,...s}={}){super();this[y]=s;this[b]=-1;this[D]=0;this[S]=this[y].maxWeightPerServer||100;this[k]=this[y].errorPenalty||15;if(!Array.isArray(r)){r=[r]}if(typeof A!=="function"){throw new a("factory must be a function.")}this[Q]=s.interceptors&&s.interceptors.BalancedPool&&Array.isArray(s.interceptors.BalancedPool)?s.interceptors.BalancedPool:[];this[m]=A;for(const A of r){this.addUpstream(A)}this._updateBalancedPoolStats()}addUpstream(r){const A=I(r).origin;if(this[l].find((r=>r[B].origin===A&&r.closed!==true&&r.destroyed!==true))){return this}const s=this[m](A,Object.assign({},this[y]));this[E](s);s.on("connect",(()=>{s[R]=Math.min(this[S],s[R]+this[k])}));s.on("connectionError",(()=>{s[R]=Math.max(1,s[R]-this[k]);this._updateBalancedPoolStats()}));s.on("disconnect",((...r)=>{const A=r[2];if(A&&A.code==="UND_ERR_SOCKET"){s[R]=Math.max(1,s[R]-this[k]);this._updateBalancedPoolStats()}}));for(const r of this[l]){r[R]=this[S]}this._updateBalancedPoolStats();return this}_updateBalancedPoolStats(){this[w]=this[l].map((r=>r[R])).reduce(getGreatestCommonDivisor,0)}removeUpstream(r){const A=I(r).origin;const s=this[l].find((r=>r[B].origin===A&&r.closed!==true&&r.destroyed!==true));if(s){this[d](s)}return this}get upstreams(){return this[l].filter((r=>r.closed!==true&&r.destroyed!==true)).map((r=>r[B].origin))}[p](){if(this[l].length===0){throw new n}const r=this[l].find((r=>!r[g]&&r.closed!==true&&r.destroyed!==true));if(!r){return}const A=this[l].map((r=>r[g])).reduce(((r,A)=>r&&A),true);if(A){return}let s=0;let a=this[l].findIndex((r=>!r[g]));while(s++this[l][a][R]&&!r[g]){a=this[b]}if(this[b]===0){this[D]=this[D]-this[w];if(this[D]<=0){this[D]=this[S]}}if(r[R]>=this[D]&&!r[g]){return r}}this[D]=this[l][a][R];this[b]=a;return this[l][a]}}r.exports=BalancedPool},4890:(r,A,s)=>{const{kConstruct:n}=s(1829);const{urlEquals:a,fieldValues:u}=s(726);const{kEnumerableProperty:l,isDisturbed:g}=s(3465);const{kHeadersList:E}=s(4856);const{webidl:d}=s(29);const{Response:p,cloneResponse:C}=s(5683);const{Request:B}=s(5767);const{kState:Q,kHeaders:I,kGuard:m,kRealm:y}=s(8323);const{fetching:w}=s(8358);const{urlIsHttpHttpsScheme:D,createDeferredPromise:b,readAllBytes:R}=s(2696);const S=s(2613);const{getGlobalDispatcher:k}=s(7882);class Cache{#e;constructor(){if(arguments[0]!==n){d.illegalConstructor()}this.#e=arguments[1]}async match(r,A={}){d.brandCheck(this,Cache);d.argumentLengthCheck(arguments,1,{header:"Cache.match"});r=d.converters.RequestInfo(r);A=d.converters.CacheQueryOptions(A);const s=await this.matchAll(r,A);if(s.length===0){return}return s[0]}async matchAll(r=undefined,A={}){d.brandCheck(this,Cache);if(r!==undefined)r=d.converters.RequestInfo(r);A=d.converters.CacheQueryOptions(A);let s=null;if(r!==undefined){if(r instanceof B){s=r[Q];if(s.method!=="GET"&&!A.ignoreMethod){return[]}}else if(typeof r==="string"){s=new B(r)[Q]}}const n=[];if(r===undefined){for(const r of this.#e){n.push(r[1])}}else{const r=this.#t(s,A);for(const A of r){n.push(A[1])}}const a=[];for(const r of n){const A=new p(r.body?.source??null);const s=A[Q].body;A[Q]=r;A[Q].body=s;A[I][E]=r.headersList;A[I][m]="immutable";a.push(A)}return Object.freeze(a)}async add(r){d.brandCheck(this,Cache);d.argumentLengthCheck(arguments,1,{header:"Cache.add"});r=d.converters.RequestInfo(r);const A=[r];const s=this.addAll(A);return await s}async addAll(r){d.brandCheck(this,Cache);d.argumentLengthCheck(arguments,1,{header:"Cache.addAll"});r=d.converters["sequence"](r);const A=[];const s=[];for(const A of r){if(typeof A==="string"){continue}const r=A[Q];if(!D(r.url)||r.method!=="GET"){throw d.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme when method is not GET."})}}const n=[];for(const a of r){const r=new B(a)[Q];if(!D(r.url)){throw d.errors.exception({header:"Cache.addAll",message:"Expected http/s scheme."})}r.initiator="fetch";r.destination="subresource";s.push(r);const l=b();n.push(w({request:r,dispatcher:k(),processResponse(r){if(r.type==="error"||r.status===206||r.status<200||r.status>299){l.reject(d.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}))}else if(r.headersList.contains("vary")){const A=u(r.headersList.get("vary"));for(const r of A){if(r==="*"){l.reject(d.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(const r of n){r.abort()}return}}}},processResponseEndOfBody(r){if(r.aborted){l.reject(new DOMException("aborted","AbortError"));return}l.resolve(r)}}));A.push(l.promise)}const a=Promise.all(A);const l=await a;const g=[];let E=0;for(const r of l){const A={type:"put",request:s[E],response:r};g.push(A);E++}const p=b();let C=null;try{this.#r(g)}catch(r){C=r}queueMicrotask((()=>{if(C===null){p.resolve(undefined)}else{p.reject(C)}}));return p.promise}async put(r,A){d.brandCheck(this,Cache);d.argumentLengthCheck(arguments,2,{header:"Cache.put"});r=d.converters.RequestInfo(r);A=d.converters.Response(A);let s=null;if(r instanceof B){s=r[Q]}else{s=new B(r)[Q]}if(!D(s.url)||s.method!=="GET"){throw d.errors.exception({header:"Cache.put",message:"Expected an http/s scheme when method is not GET"})}const n=A[Q];if(n.status===206){throw d.errors.exception({header:"Cache.put",message:"Got 206 status"})}if(n.headersList.contains("vary")){const r=u(n.headersList.get("vary"));for(const A of r){if(A==="*"){throw d.errors.exception({header:"Cache.put",message:"Got * vary field value"})}}}if(n.body&&(g(n.body.stream)||n.body.stream.locked)){throw d.errors.exception({header:"Cache.put",message:"Response body is locked or disturbed"})}const a=C(n);const l=b();if(n.body!=null){const r=n.body.stream;const A=r.getReader();R(A).then(l.resolve,l.reject)}else{l.resolve(undefined)}const E=[];const p={type:"put",request:s,response:a};E.push(p);const I=await l.promise;if(a.body!=null){a.body.source=I}const m=b();let y=null;try{this.#r(E)}catch(r){y=r}queueMicrotask((()=>{if(y===null){m.resolve()}else{m.reject(y)}}));return m.promise}async delete(r,A={}){d.brandCheck(this,Cache);d.argumentLengthCheck(arguments,1,{header:"Cache.delete"});r=d.converters.RequestInfo(r);A=d.converters.CacheQueryOptions(A);let s=null;if(r instanceof B){s=r[Q];if(s.method!=="GET"&&!A.ignoreMethod){return false}}else{S(typeof r==="string");s=new B(r)[Q]}const n=[];const a={type:"delete",request:s,options:A};n.push(a);const u=b();let l=null;let g;try{g=this.#r(n)}catch(r){l=r}queueMicrotask((()=>{if(l===null){u.resolve(!!g?.length)}else{u.reject(l)}}));return u.promise}async keys(r=undefined,A={}){d.brandCheck(this,Cache);if(r!==undefined)r=d.converters.RequestInfo(r);A=d.converters.CacheQueryOptions(A);let s=null;if(r!==undefined){if(r instanceof B){s=r[Q];if(s.method!=="GET"&&!A.ignoreMethod){return[]}}else if(typeof r==="string"){s=new B(r)[Q]}}const n=b();const a=[];if(r===undefined){for(const r of this.#e){a.push(r[0])}}else{const r=this.#t(s,A);for(const A of r){a.push(A[0])}}queueMicrotask((()=>{const r=[];for(const A of a){const s=new B("https://a");s[Q]=A;s[I][E]=A.headersList;s[I][m]="immutable";s[y]=A.client;r.push(s)}n.resolve(Object.freeze(r))}));return n.promise}#r(r){const A=this.#e;const s=[...A];const n=[];const a=[];try{for(const s of r){if(s.type!=="delete"&&s.type!=="put"){throw d.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'})}if(s.type==="delete"&&s.response!=null){throw d.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"})}if(this.#t(s.request,s.options,n).length){throw new DOMException("???","InvalidStateError")}let r;if(s.type==="delete"){r=this.#t(s.request,s.options);if(r.length===0){return[]}for(const s of r){const r=A.indexOf(s);S(r!==-1);A.splice(r,1)}}else if(s.type==="put"){if(s.response==null){throw d.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"})}const a=s.request;if(!D(a.url)){throw d.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"})}if(a.method!=="GET"){throw d.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"})}if(s.options!=null){throw d.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"})}r=this.#t(s.request);for(const s of r){const r=A.indexOf(s);S(r!==-1);A.splice(r,1)}A.push([s.request,s.response]);n.push([s.request,s.response])}a.push([s.request,s.response])}return a}catch(r){this.#e.length=0;this.#e=s;throw r}}#t(r,A,s){const n=[];const a=s??this.#e;for(const s of a){const[a,u]=s;if(this.#A(r,a,u,A)){n.push(s)}}return n}#A(r,A,s=null,n){const l=new URL(r.url);const g=new URL(A.url);if(n?.ignoreSearch){g.search="";l.search=""}if(!a(l,g,true)){return false}if(s==null||n?.ignoreVary||!s.headersList.contains("vary")){return true}const E=u(s.headersList.get("vary"));for(const s of E){if(s==="*"){return false}const n=A.headersList.get(s);const a=r.headersList.get(s);if(n!==a){return false}}return true}}Object.defineProperties(Cache.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:true},match:l,matchAll:l,add:l,addAll:l,put:l,delete:l,keys:l});const F=[{key:"ignoreSearch",converter:d.converters.boolean,defaultValue:false},{key:"ignoreMethod",converter:d.converters.boolean,defaultValue:false},{key:"ignoreVary",converter:d.converters.boolean,defaultValue:false}];d.converters.CacheQueryOptions=d.dictionaryConverter(F);d.converters.MultiCacheQueryOptions=d.dictionaryConverter([...F,{key:"cacheName",converter:d.converters.DOMString}]);d.converters.Response=d.interfaceConverter(p);d.converters["sequence"]=d.sequenceConverter(d.converters.RequestInfo);r.exports={Cache:Cache}},9605:(r,A,s)=>{const{kConstruct:n}=s(1829);const{Cache:a}=s(4890);const{webidl:u}=s(29);const{kEnumerableProperty:l}=s(3465);class CacheStorage{#s=new Map;constructor(){if(arguments[0]!==n){u.illegalConstructor()}}async match(r,A={}){u.brandCheck(this,CacheStorage);u.argumentLengthCheck(arguments,1,{header:"CacheStorage.match"});r=u.converters.RequestInfo(r);A=u.converters.MultiCacheQueryOptions(A);if(A.cacheName!=null){if(this.#s.has(A.cacheName)){const s=this.#s.get(A.cacheName);const u=new a(n,s);return await u.match(r,A)}}else{for(const s of this.#s.values()){const u=new a(n,s);const l=await u.match(r,A);if(l!==undefined){return l}}}}async has(r){u.brandCheck(this,CacheStorage);u.argumentLengthCheck(arguments,1,{header:"CacheStorage.has"});r=u.converters.DOMString(r);return this.#s.has(r)}async open(r){u.brandCheck(this,CacheStorage);u.argumentLengthCheck(arguments,1,{header:"CacheStorage.open"});r=u.converters.DOMString(r);if(this.#s.has(r)){const A=this.#s.get(r);return new a(n,A)}const A=[];this.#s.set(r,A);return new a(n,A)}async delete(r){u.brandCheck(this,CacheStorage);u.argumentLengthCheck(arguments,1,{header:"CacheStorage.delete"});r=u.converters.DOMString(r);return this.#s.delete(r)}async keys(){u.brandCheck(this,CacheStorage);const r=this.#s.keys();return[...r]}}Object.defineProperties(CacheStorage.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:true},match:l,has:l,open:l,delete:l,keys:l});r.exports={CacheStorage:CacheStorage}},1829:(r,A,s)=>{r.exports={kConstruct:s(4856).kConstruct}},726:(r,A,s)=>{const n=s(2613);const{URLSerializer:a}=s(3911);const{isValidHeaderName:u}=s(2696);function urlEquals(r,A,s=false){const n=a(r,s);const u=a(A,s);return n===u}function fieldValues(r){n(r!==null);const A=[];for(let s of r.split(",")){s=s.trim();if(!s.length){continue}else if(!u(s)){continue}A.push(s)}return A}r.exports={urlEquals:urlEquals,fieldValues:fieldValues}},6646:(r,A,s)=>{const n=s(2613);const a=s(9278);const u=s(8611);const{pipeline:l}=s(2203);const g=s(3465);const E=s(2907);const d=s(4916);const p=s(9368);const{RequestContentLengthMismatchError:C,ResponseContentLengthMismatchError:B,InvalidArgumentError:Q,RequestAbortedError:I,HeadersTimeoutError:m,HeadersOverflowError:y,SocketError:w,InformationalError:D,BodyTimeoutError:b,HTTPParserError:R,ResponseExceededMaxSizeError:S,ClientDestroyedError:k}=s(3862);const F=s(2559);const{kUrl:T,kReset:N,kServerName:v,kClient:_,kBusy:U,kParser:L,kConnect:M,kBlocking:P,kResuming:G,kRunning:x,kPending:O,kSize:H,kWriting:Y,kQueue:J,kConnected:V,kConnecting:W,kNeedDrain:q,kNoRef:j,kKeepAliveDefaultTimeout:K,kHostHeader:$,kPendingIdx:z,kRunningIdx:Z,kError:X,kPipelining:ee,kSocket:te,kKeepAliveTimeoutValue:re,kMaxHeadersSize:Ae,kKeepAliveMaxTimeout:se,kKeepAliveTimeoutThreshold:ne,kHeadersTimeout:oe,kBodyTimeout:ie,kStrictContentLength:ae,kConnector:ce,kMaxRedirections:ue,kMaxRequests:le,kCounter:ge,kClose:he,kDestroy:Ee,kDispatch:de,kInterceptors:pe,kLocalAddress:fe,kMaxResponseSize:Ce,kHTTPConnVersion:Be,kHost:Qe,kHTTP2Session:Ie,kHTTP2SessionState:me,kHTTP2BuildRequest:ye,kHTTP2CopyHeaders:we,kHTTP1BuildRequest:De}=s(4856);let be;try{be=s(5675)}catch{be={constants:{}}}const{constants:{HTTP2_HEADER_AUTHORITY:Re,HTTP2_HEADER_METHOD:Se,HTTP2_HEADER_PATH:ke,HTTP2_HEADER_SCHEME:Fe,HTTP2_HEADER_CONTENT_LENGTH:Te,HTTP2_HEADER_EXPECT:Ne,HTTP2_HEADER_STATUS:ve}}=be;let _e=false;const Ue=Buffer[Symbol.species];const Le=Symbol("kClosedResolve");const Me={};try{const r=s(1637);Me.sendHeaders=r.channel("undici:client:sendHeaders");Me.beforeConnect=r.channel("undici:client:beforeConnect");Me.connectError=r.channel("undici:client:connectError");Me.connected=r.channel("undici:client:connected")}catch{Me.sendHeaders={hasSubscribers:false};Me.beforeConnect={hasSubscribers:false};Me.connectError={hasSubscribers:false};Me.connected={hasSubscribers:false}}class Client extends p{constructor(r,{interceptors:A,maxHeaderSize:s,headersTimeout:n,socketTimeout:l,requestTimeout:E,connectTimeout:d,bodyTimeout:p,idleTimeout:C,keepAlive:B,keepAliveTimeout:I,maxKeepAliveTimeout:m,keepAliveMaxTimeout:y,keepAliveTimeoutThreshold:w,socketPath:D,pipelining:b,tls:R,strictContentLength:S,maxCachedSessions:k,maxRedirections:N,connect:_,maxRequestsPerClient:U,localAddress:L,maxResponseSize:M,autoSelectFamily:P,autoSelectFamilyAttemptTimeout:x,allowH2:O,maxConcurrentStreams:H}={}){super();if(B!==undefined){throw new Q("unsupported keepAlive, use pipelining=0 instead")}if(l!==undefined){throw new Q("unsupported socketTimeout, use headersTimeout & bodyTimeout instead")}if(E!==undefined){throw new Q("unsupported requestTimeout, use headersTimeout & bodyTimeout instead")}if(C!==undefined){throw new Q("unsupported idleTimeout, use keepAliveTimeout instead")}if(m!==undefined){throw new Q("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead")}if(s!=null&&!Number.isFinite(s)){throw new Q("invalid maxHeaderSize")}if(D!=null&&typeof D!=="string"){throw new Q("invalid socketPath")}if(d!=null&&(!Number.isFinite(d)||d<0)){throw new Q("invalid connectTimeout")}if(I!=null&&(!Number.isFinite(I)||I<=0)){throw new Q("invalid keepAliveTimeout")}if(y!=null&&(!Number.isFinite(y)||y<=0)){throw new Q("invalid keepAliveMaxTimeout")}if(w!=null&&!Number.isFinite(w)){throw new Q("invalid keepAliveTimeoutThreshold")}if(n!=null&&(!Number.isInteger(n)||n<0)){throw new Q("headersTimeout must be a positive integer or zero")}if(p!=null&&(!Number.isInteger(p)||p<0)){throw new Q("bodyTimeout must be a positive integer or zero")}if(_!=null&&typeof _!=="function"&&typeof _!=="object"){throw new Q("connect must be a function or an object")}if(N!=null&&(!Number.isInteger(N)||N<0)){throw new Q("maxRedirections must be a positive number")}if(U!=null&&(!Number.isInteger(U)||U<0)){throw new Q("maxRequestsPerClient must be a positive number")}if(L!=null&&(typeof L!=="string"||a.isIP(L)===0)){throw new Q("localAddress must be valid string IP address")}if(M!=null&&(!Number.isInteger(M)||M<-1)){throw new Q("maxResponseSize must be a positive number")}if(x!=null&&(!Number.isInteger(x)||x<-1)){throw new Q("autoSelectFamilyAttemptTimeout must be a positive number")}if(O!=null&&typeof O!=="boolean"){throw new Q("allowH2 must be a valid boolean value")}if(H!=null&&(typeof H!=="number"||H<1)){throw new Q("maxConcurrentStreams must be a possitive integer, greater than 0")}if(typeof _!=="function"){_=F({...R,maxCachedSessions:k,allowH2:O,socketPath:D,timeout:d,...g.nodeHasAutoSelectFamily&&P?{autoSelectFamily:P,autoSelectFamilyAttemptTimeout:x}:undefined,..._})}this[pe]=A&&A.Client&&Array.isArray(A.Client)?A.Client:[Ge({maxRedirections:N})];this[T]=g.parseOrigin(r);this[ce]=_;this[te]=null;this[ee]=b!=null?b:1;this[Ae]=s||u.maxHeaderSize;this[K]=I==null?4e3:I;this[se]=y==null?6e5:y;this[ne]=w==null?1e3:w;this[re]=this[K];this[v]=null;this[fe]=L!=null?L:null;this[G]=0;this[q]=0;this[$]=`host: ${this[T].hostname}${this[T].port?`:${this[T].port}`:""}\r\n`;this[ie]=p!=null?p:3e5;this[oe]=n!=null?n:3e5;this[ae]=S==null?true:S;this[ue]=N;this[le]=U;this[Le]=null;this[Ce]=M>-1?M:-1;this[Be]="h1";this[Ie]=null;this[me]=!O?null:{openStreams:0,maxConcurrentStreams:H!=null?H:100};this[Qe]=`${this[T].hostname}${this[T].port?`:${this[T].port}`:""}`;this[J]=[];this[Z]=0;this[z]=0}get pipelining(){return this[ee]}set pipelining(r){this[ee]=r;resume(this,true)}get[O](){return this[J].length-this[z]}get[x](){return this[z]-this[Z]}get[H](){return this[J].length-this[Z]}get[V](){return!!this[te]&&!this[W]&&!this[te].destroyed}get[U](){const r=this[te];return r&&(r[N]||r[Y]||r[P])||this[H]>=(this[ee]||1)||this[O]>0}[M](r){connect(this);this.once("connect",r)}[de](r,A){const s=r.origin||this[T].origin;const n=this[Be]==="h2"?d[ye](s,r,A):d[De](s,r,A);this[J].push(n);if(this[G]){}else if(g.bodyLength(n.body)==null&&g.isIterable(n.body)){this[G]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[G]&&this[q]!==2&&this[U]){this[q]=2}return this[q]<2}async[he](){return new Promise((r=>{if(!this[H]){r(null)}else{this[Le]=r}}))}async[Ee](r){return new Promise((A=>{const s=this[J].splice(this[z]);for(let A=0;A{if(this[Le]){this[Le]();this[Le]=null}A()};if(this[Ie]!=null){g.destroy(this[Ie],r);this[Ie]=null;this[me]=null}if(!this[te]){queueMicrotask(callback)}else{g.destroy(this[te].on("close",callback),r)}resume(this)}))}}function onHttp2SessionError(r){n(r.code!=="ERR_TLS_CERT_ALTNAME_INVALID");this[te][X]=r;onError(this[_],r)}function onHttp2FrameError(r,A,s){const n=new D(`HTTP/2: "frameError" received - type ${r}, code ${A}`);if(s===0){this[te][X]=n;onError(this[_],n)}}function onHttp2SessionEnd(){g.destroy(this,new w("other side closed"));g.destroy(this[te],new w("other side closed"))}function onHTTP2GoAway(r){const A=this[_];const s=new D(`HTTP/2: "GOAWAY" frame received with code ${r}`);A[te]=null;A[Ie]=null;if(A.destroyed){n(this[O]===0);const r=A[J].splice(A[Z]);for(let A=0;A0){const r=A[J][A[Z]];A[J][A[Z]++]=null;errorRequest(A,r,s)}A[z]=A[Z];n(A[x]===0);A.emit("disconnect",A[T],[A],s);resume(A)}const Pe=s(307);const Ge=s(2130);const xe=Buffer.alloc(0);async function lazyllhttp(){const r=process.env.JEST_WORKER_ID?s(9741):undefined;let A;try{A=await WebAssembly.compile(Buffer.from(s(5919),"base64"))}catch(n){A=await WebAssembly.compile(Buffer.from(r||s(9741),"base64"))}return await WebAssembly.instantiate(A,{env:{wasm_on_url:(r,A,s)=>0,wasm_on_status:(r,A,s)=>{n.strictEqual(Ye.ptr,r);const a=A-We+Je.byteOffset;return Ye.onStatus(new Ue(Je.buffer,a,s))||0},wasm_on_message_begin:r=>{n.strictEqual(Ye.ptr,r);return Ye.onMessageBegin()||0},wasm_on_header_field:(r,A,s)=>{n.strictEqual(Ye.ptr,r);const a=A-We+Je.byteOffset;return Ye.onHeaderField(new Ue(Je.buffer,a,s))||0},wasm_on_header_value:(r,A,s)=>{n.strictEqual(Ye.ptr,r);const a=A-We+Je.byteOffset;return Ye.onHeaderValue(new Ue(Je.buffer,a,s))||0},wasm_on_headers_complete:(r,A,s,a)=>{n.strictEqual(Ye.ptr,r);return Ye.onHeadersComplete(A,Boolean(s),Boolean(a))||0},wasm_on_body:(r,A,s)=>{n.strictEqual(Ye.ptr,r);const a=A-We+Je.byteOffset;return Ye.onBody(new Ue(Je.buffer,a,s))||0},wasm_on_message_complete:r=>{n.strictEqual(Ye.ptr,r);return Ye.onMessageComplete()||0}}})}let Oe=null;let He=lazyllhttp();He.catch();let Ye=null;let Je=null;let Ve=0;let We=null;const qe=1;const je=2;const Ke=3;class Parser{constructor(r,A,{exports:s}){n(Number.isFinite(r[Ae])&&r[Ae]>0);this.llhttp=s;this.ptr=this.llhttp.llhttp_alloc(Pe.TYPE.RESPONSE);this.client=r;this.socket=A;this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.statusCode=null;this.statusText="";this.upgrade=false;this.headers=[];this.headersSize=0;this.headersMaxSize=r[Ae];this.shouldKeepAlive=false;this.paused=false;this.resume=this.resume.bind(this);this.bytesRead=0;this.keepAlive="";this.contentLength="";this.connection="";this.maxResponseSize=r[Ce]}setTimeout(r,A){this.timeoutType=A;if(r!==this.timeoutValue){E.clearTimeout(this.timeout);if(r){this.timeout=E.setTimeout(onParserTimeout,r,this);if(this.timeout.unref){this.timeout.unref()}}else{this.timeout=null}this.timeoutValue=r}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}}resume(){if(this.socket.destroyed||!this.paused){return}n(this.ptr!=null);n(Ye==null);this.llhttp.llhttp_resume(this.ptr);n(this.timeoutType===je);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}this.paused=false;this.execute(this.socket.read()||xe);this.readMore()}readMore(){while(!this.paused&&this.ptr){const r=this.socket.read();if(r===null){break}this.execute(r)}}execute(r){n(this.ptr!=null);n(Ye==null);n(!this.paused);const{socket:A,llhttp:s}=this;if(r.length>Ve){if(We){s.free(We)}Ve=Math.ceil(r.length/4096)*4096;We=s.malloc(Ve)}new Uint8Array(s.memory.buffer,We,Ve).set(r);try{let n;try{Je=r;Ye=this;n=s.llhttp_execute(this.ptr,We,r.length)}catch(r){throw r}finally{Ye=null;Je=null}const a=s.llhttp_get_error_pos(this.ptr)-We;if(n===Pe.ERROR.PAUSED_UPGRADE){this.onUpgrade(r.slice(a))}else if(n===Pe.ERROR.PAUSED){this.paused=true;A.unshift(r.slice(a))}else if(n!==Pe.ERROR.OK){const A=s.llhttp_get_error_reason(this.ptr);let u="";if(A){const r=new Uint8Array(s.memory.buffer,A).indexOf(0);u="Response does not match the HTTP/1.1 protocol ("+Buffer.from(s.memory.buffer,A,r).toString()+")"}throw new R(u,Pe.ERROR[n],r.slice(a))}}catch(r){g.destroy(A,r)}}destroy(){n(this.ptr!=null);n(Ye==null);this.llhttp.llhttp_free(this.ptr);this.ptr=null;E.clearTimeout(this.timeout);this.timeout=null;this.timeoutValue=null;this.timeoutType=null;this.paused=false}onStatus(r){this.statusText=r.toString()}onMessageBegin(){const{socket:r,client:A}=this;if(r.destroyed){return-1}const s=A[J][A[Z]];if(!s){return-1}}onHeaderField(r){const A=this.headers.length;if((A&1)===0){this.headers.push(r)}else{this.headers[A-1]=Buffer.concat([this.headers[A-1],r])}this.trackHeader(r.length)}onHeaderValue(r){let A=this.headers.length;if((A&1)===1){this.headers.push(r);A+=1}else{this.headers[A-1]=Buffer.concat([this.headers[A-1],r])}const s=this.headers[A-2];if(s.length===10&&s.toString().toLowerCase()==="keep-alive"){this.keepAlive+=r.toString()}else if(s.length===10&&s.toString().toLowerCase()==="connection"){this.connection+=r.toString()}else if(s.length===14&&s.toString().toLowerCase()==="content-length"){this.contentLength+=r.toString()}this.trackHeader(r.length)}trackHeader(r){this.headersSize+=r;if(this.headersSize>=this.headersMaxSize){g.destroy(this.socket,new y)}}onUpgrade(r){const{upgrade:A,client:s,socket:a,headers:u,statusCode:l}=this;n(A);const E=s[J][s[Z]];n(E);n(!a.destroyed);n(a===s[te]);n(!this.paused);n(E.upgrade||E.method==="CONNECT");this.statusCode=null;this.statusText="";this.shouldKeepAlive=null;n(this.headers.length%2===0);this.headers=[];this.headersSize=0;a.unshift(r);a[L].destroy();a[L]=null;a[_]=null;a[X]=null;a.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);s[te]=null;s[J][s[Z]++]=null;s.emit("disconnect",s[T],[s],new D("upgrade"));try{E.onUpgrade(l,u,a)}catch(r){g.destroy(a,r)}resume(s)}onHeadersComplete(r,A,s){const{client:a,socket:u,headers:l,statusText:E}=this;if(u.destroyed){return-1}const d=a[J][a[Z]];if(!d){return-1}n(!this.upgrade);n(this.statusCode<200);if(r===100){g.destroy(u,new w("bad response",g.getSocketInfo(u)));return-1}if(A&&!d.upgrade){g.destroy(u,new w("bad upgrade",g.getSocketInfo(u)));return-1}n.strictEqual(this.timeoutType,qe);this.statusCode=r;this.shouldKeepAlive=s||d.method==="HEAD"&&!u[N]&&this.connection.toLowerCase()==="keep-alive";if(this.statusCode>=200){const r=d.bodyTimeout!=null?d.bodyTimeout:a[ie];this.setTimeout(r,je)}else if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}if(d.method==="CONNECT"){n(a[x]===1);this.upgrade=true;return 2}if(A){n(a[x]===1);this.upgrade=true;return 2}n(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(this.shouldKeepAlive&&a[ee]){const r=this.keepAlive?g.parseKeepAliveTimeout(this.keepAlive):null;if(r!=null){const A=Math.min(r-a[ne],a[se]);if(A<=0){u[N]=true}else{a[re]=A}}else{a[re]=a[K]}}else{u[N]=true}const p=d.onHeaders(r,l,this.resume,E)===false;if(d.aborted){return-1}if(d.method==="HEAD"){return 1}if(r<200){return 1}if(u[P]){u[P]=false;resume(a)}return p?Pe.ERROR.PAUSED:0}onBody(r){const{client:A,socket:s,statusCode:a,maxResponseSize:u}=this;if(s.destroyed){return-1}const l=A[J][A[Z]];n(l);n.strictEqual(this.timeoutType,je);if(this.timeout){if(this.timeout.refresh){this.timeout.refresh()}}n(a>=200);if(u>-1&&this.bytesRead+r.length>u){g.destroy(s,new S);return-1}this.bytesRead+=r.length;if(l.onData(r)===false){return Pe.ERROR.PAUSED}}onMessageComplete(){const{client:r,socket:A,statusCode:s,upgrade:a,headers:u,contentLength:l,bytesRead:E,shouldKeepAlive:d}=this;if(A.destroyed&&(!s||d)){return-1}if(a){return}const p=r[J][r[Z]];n(p);n(s>=100);this.statusCode=null;this.statusText="";this.bytesRead=0;this.contentLength="";this.keepAlive="";this.connection="";n(this.headers.length%2===0);this.headers=[];this.headersSize=0;if(s<200){return}if(p.method!=="HEAD"&&l&&E!==parseInt(l,10)){g.destroy(A,new B);return-1}p.onComplete(u);r[J][r[Z]++]=null;if(A[Y]){n.strictEqual(r[x],0);g.destroy(A,new D("reset"));return Pe.ERROR.PAUSED}else if(!d){g.destroy(A,new D("reset"));return Pe.ERROR.PAUSED}else if(A[N]&&r[x]===0){g.destroy(A,new D("reset"));return Pe.ERROR.PAUSED}else if(r[ee]===1){setImmediate(resume,r)}else{resume(r)}}}function onParserTimeout(r){const{socket:A,timeoutType:s,client:a}=r;if(s===qe){if(!A[Y]||A.writableNeedDrain||a[x]>1){n(!r.paused,"cannot be paused while waiting for headers");g.destroy(A,new m)}}else if(s===je){if(!r.paused){g.destroy(A,new b)}}else if(s===Ke){n(a[x]===0&&a[re]);g.destroy(A,new D("socket idle timeout"))}}function onSocketReadable(){const{[L]:r}=this;if(r){r.readMore()}}function onSocketError(r){const{[_]:A,[L]:s}=this;n(r.code!=="ERR_TLS_CERT_ALTNAME_INVALID");if(A[Be]!=="h2"){if(r.code==="ECONNRESET"&&s.statusCode&&!s.shouldKeepAlive){s.onMessageComplete();return}}this[X]=r;onError(this[_],r)}function onError(r,A){if(r[x]===0&&A.code!=="UND_ERR_INFO"&&A.code!=="UND_ERR_SOCKET"){n(r[z]===r[Z]);const s=r[J].splice(r[Z]);for(let n=0;n0&&s.code!=="UND_ERR_INFO"){const A=r[J][r[Z]];r[J][r[Z]++]=null;errorRequest(r,A,s)}r[z]=r[Z];n(r[x]===0);r.emit("disconnect",r[T],[r],s);resume(r)}async function connect(r){n(!r[W]);n(!r[te]);let{host:A,hostname:s,protocol:u,port:l}=r[T];if(s[0]==="["){const r=s.indexOf("]");n(r!==-1);const A=s.substring(1,r);n(a.isIP(A));s=A}r[W]=true;if(Me.beforeConnect.hasSubscribers){Me.beforeConnect.publish({connectParams:{host:A,hostname:s,protocol:u,port:l,servername:r[v],localAddress:r[fe]},connector:r[ce]})}try{const a=await new Promise(((n,a)=>{r[ce]({host:A,hostname:s,protocol:u,port:l,servername:r[v],localAddress:r[fe]},((r,A)=>{if(r){a(r)}else{n(A)}}))}));if(r.destroyed){g.destroy(a.on("error",(()=>{})),new k);return}r[W]=false;n(a);const E=a.alpnProtocol==="h2";if(E){if(!_e){_e=true;process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"})}const A=be.connect(r[T],{createConnection:()=>a,peerMaxConcurrentStreams:r[me].maxConcurrentStreams});r[Be]="h2";A[_]=r;A[te]=a;A.on("error",onHttp2SessionError);A.on("frameError",onHttp2FrameError);A.on("end",onHttp2SessionEnd);A.on("goaway",onHTTP2GoAway);A.on("close",onSocketClose);A.unref();r[Ie]=A;a[Ie]=A}else{if(!Oe){Oe=await He;He=null}a[j]=false;a[Y]=false;a[N]=false;a[P]=false;a[L]=new Parser(r,a,Oe)}a[ge]=0;a[le]=r[le];a[_]=r;a[X]=null;a.on("error",onSocketError).on("readable",onSocketReadable).on("end",onSocketEnd).on("close",onSocketClose);r[te]=a;if(Me.connected.hasSubscribers){Me.connected.publish({connectParams:{host:A,hostname:s,protocol:u,port:l,servername:r[v],localAddress:r[fe]},connector:r[ce],socket:a})}r.emit("connect",r[T],[r])}catch(a){if(r.destroyed){return}r[W]=false;if(Me.connectError.hasSubscribers){Me.connectError.publish({connectParams:{host:A,hostname:s,protocol:u,port:l,servername:r[v],localAddress:r[fe]},connector:r[ce],error:a})}if(a.code==="ERR_TLS_CERT_ALTNAME_INVALID"){n(r[x]===0);while(r[O]>0&&r[J][r[z]].servername===r[v]){const A=r[J][r[z]++];errorRequest(r,A,a)}}else{onError(r,a)}r.emit("connectionError",r[T],[r],a)}resume(r)}function emitDrain(r){r[q]=0;r.emit("drain",r[T],[r])}function resume(r,A){if(r[G]===2){return}r[G]=2;_resume(r,A);r[G]=0;if(r[Z]>256){r[J].splice(0,r[Z]);r[z]-=r[Z];r[Z]=0}}function _resume(r,A){while(true){if(r.destroyed){n(r[O]===0);return}if(r[Le]&&!r[H]){r[Le]();r[Le]=null;return}const s=r[te];if(s&&!s.destroyed&&s.alpnProtocol!=="h2"){if(r[H]===0){if(!s[j]&&s.unref){s.unref();s[j]=true}}else if(s[j]&&s.ref){s.ref();s[j]=false}if(r[H]===0){if(s[L].timeoutType!==Ke){s[L].setTimeout(r[re],Ke)}}else if(r[x]>0&&s[L].statusCode<200){if(s[L].timeoutType!==qe){const A=r[J][r[Z]];const n=A.headersTimeout!=null?A.headersTimeout:r[oe];s[L].setTimeout(n,qe)}}}if(r[U]){r[q]=2}else if(r[q]===2){if(A){r[q]=1;process.nextTick(emitDrain,r)}else{emitDrain(r)}continue}if(r[O]===0){return}if(r[x]>=(r[ee]||1)){return}const a=r[J][r[z]];if(r[T].protocol==="https:"&&r[v]!==a.servername){if(r[x]>0){return}r[v]=a.servername;if(s&&s.servername!==a.servername){g.destroy(s,new D("servername changed"));return}}if(r[W]){return}if(!s&&!r[Ie]){connect(r);return}if(s.destroyed||s[Y]||s[N]||s[P]){return}if(r[x]>0&&!a.idempotent){return}if(r[x]>0&&(a.upgrade||a.method==="CONNECT")){return}if(r[x]>0&&g.bodyLength(a.body)!==0&&(g.isStream(a.body)||g.isAsyncIterable(a.body))){return}if(!a.aborted&&write(r,a)){r[z]++}else{r[J].splice(r[z],1)}}}function shouldSendContentLength(r){return r!=="GET"&&r!=="HEAD"&&r!=="OPTIONS"&&r!=="TRACE"&&r!=="CONNECT"}function write(r,A){if(r[Be]==="h2"){writeH2(r,r[Ie],A);return}const{body:s,method:a,path:u,host:l,upgrade:E,headers:d,blocking:p,reset:B}=A;const Q=a==="PUT"||a==="POST"||a==="PATCH";if(s&&typeof s.read==="function"){s.read(0)}const m=g.bodyLength(s);let y=m;if(y===null){y=A.contentLength}if(y===0&&!Q){y=null}if(shouldSendContentLength(a)&&y>0&&A.contentLength!==null&&A.contentLength!==y){if(r[ae]){errorRequest(r,A,new C);return false}process.emitWarning(new C)}const w=r[te];try{A.onConnect((s=>{if(A.aborted||A.completed){return}errorRequest(r,A,s||new I);g.destroy(w,new D("aborted"))}))}catch(s){errorRequest(r,A,s)}if(A.aborted){return false}if(a==="HEAD"){w[N]=true}if(E||a==="CONNECT"){w[N]=true}if(B!=null){w[N]=B}if(r[le]&&w[ge]++>=r[le]){w[N]=true}if(p){w[P]=true}let b=`${a} ${u} HTTP/1.1\r\n`;if(typeof l==="string"){b+=`host: ${l}\r\n`}else{b+=r[$]}if(E){b+=`connection: upgrade\r\nupgrade: ${E}\r\n`}else if(r[ee]&&!w[N]){b+="connection: keep-alive\r\n"}else{b+="connection: close\r\n"}if(d){b+=d}if(Me.sendHeaders.hasSubscribers){Me.sendHeaders.publish({request:A,headers:b,socket:w})}if(!s||m===0){if(y===0){w.write(`${b}content-length: 0\r\n\r\n`,"latin1")}else{n(y===null,"no body must not have content length");w.write(`${b}\r\n`,"latin1")}A.onRequestSent()}else if(g.isBuffer(s)){n(y===s.byteLength,"buffer body must have content length");w.cork();w.write(`${b}content-length: ${y}\r\n\r\n`,"latin1");w.write(s);w.uncork();A.onBodySent(s);A.onRequestSent();if(!Q){w[N]=true}}else if(g.isBlobLike(s)){if(typeof s.stream==="function"){writeIterable({body:s.stream(),client:r,request:A,socket:w,contentLength:y,header:b,expectsPayload:Q})}else{writeBlob({body:s,client:r,request:A,socket:w,contentLength:y,header:b,expectsPayload:Q})}}else if(g.isStream(s)){writeStream({body:s,client:r,request:A,socket:w,contentLength:y,header:b,expectsPayload:Q})}else if(g.isIterable(s)){writeIterable({body:s,client:r,request:A,socket:w,contentLength:y,header:b,expectsPayload:Q})}else{n(false)}return true}function writeH2(r,A,s){const{body:a,method:u,path:l,host:E,upgrade:p,expectContinue:B,signal:Q,headers:m}=s;let y;if(typeof m==="string")y=d[we](m.trim());else y=m;if(p){errorRequest(r,s,new Error("Upgrade not supported for H2"));return false}try{s.onConnect((A=>{if(s.aborted||s.completed){return}errorRequest(r,s,A||new I)}))}catch(A){errorRequest(r,s,A)}if(s.aborted){return false}let w;const b=r[me];y[Re]=E||r[Qe];y[Se]=u;if(u==="CONNECT"){A.ref();w=A.request(y,{endStream:false,signal:Q});if(w.id&&!w.pending){s.onUpgrade(null,null,w);++b.openStreams}else{w.once("ready",(()=>{s.onUpgrade(null,null,w);++b.openStreams}))}w.once("close",(()=>{b.openStreams-=1;if(b.openStreams===0)A.unref()}));return true}y[ke]=l;y[Fe]="https";const R=u==="PUT"||u==="POST"||u==="PATCH";if(a&&typeof a.read==="function"){a.read(0)}let S=g.bodyLength(a);if(S==null){S=s.contentLength}if(S===0||!R){S=null}if(shouldSendContentLength(u)&&S>0&&s.contentLength!=null&&s.contentLength!==S){if(r[ae]){errorRequest(r,s,new C);return false}process.emitWarning(new C)}if(S!=null){n(a,"no body must not have content length");y[Te]=`${S}`}A.ref();const k=u==="GET"||u==="HEAD";if(B){y[Ne]="100-continue";w=A.request(y,{endStream:k,signal:Q});w.once("continue",writeBodyH2)}else{w=A.request(y,{endStream:k,signal:Q});writeBodyH2()}++b.openStreams;w.once("response",(r=>{const{[ve]:A,...n}=r;if(s.onHeaders(Number(A),n,w.resume.bind(w),"")===false){w.pause()}}));w.once("end",(()=>{s.onComplete([])}));w.on("data",(r=>{if(s.onData(r)===false){w.pause()}}));w.once("close",(()=>{b.openStreams-=1;if(b.openStreams===0){A.unref()}}));w.once("error",(function(A){if(r[Ie]&&!r[Ie].destroyed&&!this.closed&&!this.destroyed){b.streams-=1;g.destroy(w,A)}}));w.once("frameError",((A,n)=>{const a=new D(`HTTP/2: "frameError" received - type ${A}, code ${n}`);errorRequest(r,s,a);if(r[Ie]&&!r[Ie].destroyed&&!this.closed&&!this.destroyed){b.streams-=1;g.destroy(w,a)}}));return true;function writeBodyH2(){if(!a){s.onRequestSent()}else if(g.isBuffer(a)){n(S===a.byteLength,"buffer body must have content length");w.cork();w.write(a);w.uncork();w.end();s.onBodySent(a);s.onRequestSent()}else if(g.isBlobLike(a)){if(typeof a.stream==="function"){writeIterable({client:r,request:s,contentLength:S,h2stream:w,expectsPayload:R,body:a.stream(),socket:r[te],header:""})}else{writeBlob({body:a,client:r,request:s,contentLength:S,expectsPayload:R,h2stream:w,header:"",socket:r[te]})}}else if(g.isStream(a)){writeStream({body:a,client:r,request:s,contentLength:S,expectsPayload:R,socket:r[te],h2stream:w,header:""})}else if(g.isIterable(a)){writeIterable({body:a,client:r,request:s,contentLength:S,expectsPayload:R,header:"",h2stream:w,socket:r[te]})}else{n(false)}}}function writeStream({h2stream:r,body:A,client:s,request:a,socket:u,contentLength:E,header:d,expectsPayload:p}){n(E!==0||s[x]===0,"stream body cannot be pipelined");if(s[Be]==="h2"){const Q=l(A,r,(s=>{if(s){g.destroy(A,s);g.destroy(r,s)}else{a.onRequestSent()}}));Q.on("data",onPipeData);Q.once("end",(()=>{Q.removeListener("data",onPipeData);g.destroy(Q)}));function onPipeData(r){a.onBodySent(r)}return}let C=false;const B=new AsyncWriter({socket:u,request:a,contentLength:E,client:s,expectsPayload:p,header:d});const onData=function(r){if(C){return}try{if(!B.write(r)&&this.pause){this.pause()}}catch(r){g.destroy(this,r)}};const onDrain=function(){if(C){return}if(A.resume){A.resume()}};const onAbort=function(){if(C){return}const r=new I;queueMicrotask((()=>onFinished(r)))};const onFinished=function(r){if(C){return}C=true;n(u.destroyed||u[Y]&&s[x]<=1);u.off("drain",onDrain).off("error",onFinished);A.removeListener("data",onData).removeListener("end",onFinished).removeListener("error",onFinished).removeListener("close",onAbort);if(!r){try{B.end()}catch(A){r=A}}B.destroy(r);if(r&&(r.code!=="UND_ERR_INFO"||r.message!=="reset")){g.destroy(A,r)}else{g.destroy(A)}};A.on("data",onData).on("end",onFinished).on("error",onFinished).on("close",onAbort);if(A.resume){A.resume()}u.on("drain",onDrain).on("error",onFinished)}async function writeBlob({h2stream:r,body:A,client:s,request:a,socket:u,contentLength:l,header:E,expectsPayload:d}){n(l===A.size,"blob body must have content length");const p=s[Be]==="h2";try{if(l!=null&&l!==A.size){throw new C}const n=Buffer.from(await A.arrayBuffer());if(p){r.cork();r.write(n);r.uncork()}else{u.cork();u.write(`${E}content-length: ${l}\r\n\r\n`,"latin1");u.write(n);u.uncork()}a.onBodySent(n);a.onRequestSent();if(!d){u[N]=true}resume(s)}catch(A){g.destroy(p?r:u,A)}}async function writeIterable({h2stream:r,body:A,client:s,request:a,socket:u,contentLength:l,header:g,expectsPayload:E}){n(l!==0||s[x]===0,"iterator body cannot be pipelined");let d=null;function onDrain(){if(d){const r=d;d=null;r()}}const waitForDrain=()=>new Promise(((r,A)=>{n(d===null);if(u[X]){A(u[X])}else{d=r}}));if(s[Be]==="h2"){r.on("close",onDrain).on("drain",onDrain);try{for await(const s of A){if(u[X]){throw u[X]}const A=r.write(s);a.onBodySent(s);if(!A){await waitForDrain()}}}catch(A){r.destroy(A)}finally{a.onRequestSent();r.end();r.off("close",onDrain).off("drain",onDrain)}return}u.on("close",onDrain).on("drain",onDrain);const p=new AsyncWriter({socket:u,request:a,contentLength:l,client:s,expectsPayload:E,header:g});try{for await(const r of A){if(u[X]){throw u[X]}if(!p.write(r)){await waitForDrain()}}p.end()}catch(r){p.destroy(r)}finally{u.off("close",onDrain).off("drain",onDrain)}}class AsyncWriter{constructor({socket:r,request:A,contentLength:s,client:n,expectsPayload:a,header:u}){this.socket=r;this.request=A;this.contentLength=s;this.client=n;this.bytesWritten=0;this.expectsPayload=a;this.header=u;r[Y]=true}write(r){const{socket:A,request:s,contentLength:n,client:a,bytesWritten:u,expectsPayload:l,header:g}=this;if(A[X]){throw A[X]}if(A.destroyed){return false}const E=Buffer.byteLength(r);if(!E){return true}if(n!==null&&u+E>n){if(a[ae]){throw new C}process.emitWarning(new C)}A.cork();if(u===0){if(!l){A[N]=true}if(n===null){A.write(`${g}transfer-encoding: chunked\r\n`,"latin1")}else{A.write(`${g}content-length: ${n}\r\n\r\n`,"latin1")}}if(n===null){A.write(`\r\n${E.toString(16)}\r\n`,"latin1")}this.bytesWritten+=E;const d=A.write(r);A.uncork();s.onBodySent(r);if(!d){if(A[L].timeout&&A[L].timeoutType===qe){if(A[L].timeout.refresh){A[L].timeout.refresh()}}}return d}end(){const{socket:r,contentLength:A,client:s,bytesWritten:n,expectsPayload:a,header:u,request:l}=this;l.onRequestSent();r[Y]=false;if(r[X]){throw r[X]}if(r.destroyed){return}if(n===0){if(a){r.write(`${u}content-length: 0\r\n\r\n`,"latin1")}else{r.write(`${u}\r\n`,"latin1")}}else if(A===null){r.write("\r\n0\r\n\r\n","latin1")}if(A!==null&&n!==A){if(s[ae]){throw new C}else{process.emitWarning(new C)}}if(r[L].timeout&&r[L].timeoutType===qe){if(r[L].timeout.refresh){r[L].timeout.refresh()}}resume(s)}destroy(r){const{socket:A,client:s}=this;A[Y]=false;if(r){n(s[x]<=1,"pipeline should only contain this request");g.destroy(A,r)}}}function errorRequest(r,A,s){try{A.onError(s);n(A.aborted)}catch(s){r.emit("error",s)}}r.exports=Client},547:(r,A,s)=>{const{kConnected:n,kSize:a}=s(4856);class CompatWeakRef{constructor(r){this.value=r}deref(){return this.value[n]===0&&this.value[a]===0?undefined:this.value}}class CompatFinalizer{constructor(r){this.finalizer=r}register(r,A){if(r.on){r.on("disconnect",(()=>{if(r[n]===0&&r[a]===0){this.finalizer(A)}}))}}}r.exports=function(){if(process.env.NODE_V8_COVERAGE){return{WeakRef:CompatWeakRef,FinalizationRegistry:CompatFinalizer}}return{WeakRef:global.WeakRef||CompatWeakRef,FinalizationRegistry:global.FinalizationRegistry||CompatFinalizer}}},516:r=>{const A=1024;const s=4096;r.exports={maxAttributeValueSize:A,maxNameValuePairSize:s}},8829:(r,A,s)=>{const{parseSetCookie:n}=s(7042);const{stringify:a,getHeadersList:u}=s(3325);const{webidl:l}=s(29);const{Headers:g}=s(2908);function getCookies(r){l.argumentLengthCheck(arguments,1,{header:"getCookies"});l.brandCheck(r,g,{strict:false});const A=r.get("cookie");const s={};if(!A){return s}for(const r of A.split(";")){const[A,...n]=r.split("=");s[A.trim()]=n.join("=")}return s}function deleteCookie(r,A,s){l.argumentLengthCheck(arguments,2,{header:"deleteCookie"});l.brandCheck(r,g,{strict:false});A=l.converters.DOMString(A);s=l.converters.DeleteCookieAttributes(s);setCookie(r,{name:A,value:"",expires:new Date(0),...s})}function getSetCookies(r){l.argumentLengthCheck(arguments,1,{header:"getSetCookies"});l.brandCheck(r,g,{strict:false});const A=u(r).cookies;if(!A){return[]}return A.map((r=>n(Array.isArray(r)?r[1]:r)))}function setCookie(r,A){l.argumentLengthCheck(arguments,2,{header:"setCookie"});l.brandCheck(r,g,{strict:false});A=l.converters.Cookie(A);const s=a(A);if(s){r.append("Set-Cookie",a(A))}}l.converters.DeleteCookieAttributes=l.dictionaryConverter([{converter:l.nullableConverter(l.converters.DOMString),key:"path",defaultValue:null},{converter:l.nullableConverter(l.converters.DOMString),key:"domain",defaultValue:null}]);l.converters.Cookie=l.dictionaryConverter([{converter:l.converters.DOMString,key:"name"},{converter:l.converters.DOMString,key:"value"},{converter:l.nullableConverter((r=>{if(typeof r==="number"){return l.converters["unsigned long long"](r)}return new Date(r)})),key:"expires",defaultValue:null},{converter:l.nullableConverter(l.converters["long long"]),key:"maxAge",defaultValue:null},{converter:l.nullableConverter(l.converters.DOMString),key:"domain",defaultValue:null},{converter:l.nullableConverter(l.converters.DOMString),key:"path",defaultValue:null},{converter:l.nullableConverter(l.converters.boolean),key:"secure",defaultValue:null},{converter:l.nullableConverter(l.converters.boolean),key:"httpOnly",defaultValue:null},{converter:l.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:l.sequenceConverter(l.converters.DOMString),key:"unparsed",defaultValue:[]}]);r.exports={getCookies:getCookies,deleteCookie:deleteCookie,getSetCookies:getSetCookies,setCookie:setCookie}},7042:(r,A,s)=>{const{maxNameValuePairSize:n,maxAttributeValueSize:a}=s(516);const{isCTLExcludingHtab:u}=s(3325);const{collectASequenceOfCodePointsFast:l}=s(3911);const g=s(2613);function parseSetCookie(r){if(u(r)){return null}let A="";let s="";let a="";let g="";if(r.includes(";")){const n={position:0};A=l(";",r,n);s=r.slice(n.position)}else{A=r}if(!A.includes("=")){g=A}else{const r={position:0};a=l("=",A,r);g=A.slice(r.position+1)}a=a.trim();g=g.trim();if(a.length+g.length>n){return null}return{name:a,value:g,...parseUnparsedAttributes(s)}}function parseUnparsedAttributes(r,A={}){if(r.length===0){return A}g(r[0]===";");r=r.slice(1);let s="";if(r.includes(";")){s=l(";",r,{position:0});r=r.slice(s.length)}else{s=r;r=""}let n="";let u="";if(s.includes("=")){const r={position:0};n=l("=",s,r);u=s.slice(r.position+1)}else{n=s}n=n.trim();u=u.trim();if(u.length>a){return parseUnparsedAttributes(r,A)}const E=n.toLowerCase();if(E==="expires"){const r=new Date(u);A.expires=r}else if(E==="max-age"){const s=u.charCodeAt(0);if((s<48||s>57)&&u[0]!=="-"){return parseUnparsedAttributes(r,A)}if(!/^\d+$/.test(u)){return parseUnparsedAttributes(r,A)}const n=Number(u);A.maxAge=n}else if(E==="domain"){let r=u;if(r[0]==="."){r=r.slice(1)}r=r.toLowerCase();A.domain=r}else if(E==="path"){let r="";if(u.length===0||u[0]!=="/"){r="/"}else{r=u}A.path=r}else if(E==="secure"){A.secure=true}else if(E==="httponly"){A.httpOnly=true}else if(E==="samesite"){let r="Default";const s=u.toLowerCase();if(s.includes("none")){r="None"}if(s.includes("strict")){r="Strict"}if(s.includes("lax")){r="Lax"}A.sameSite=r}else{A.unparsed??=[];A.unparsed.push(`${n}=${u}`)}return parseUnparsedAttributes(r,A)}r.exports={parseSetCookie:parseSetCookie,parseUnparsedAttributes:parseUnparsedAttributes}},3325:(r,A,s)=>{const n=s(2613);const{kHeadersList:a}=s(4856);function isCTLExcludingHtab(r){if(r.length===0){return false}for(const A of r){const r=A.charCodeAt(0);if(r>=0||r<=8||(r>=10||r<=31)||r===127){return false}}}function validateCookieName(r){for(const A of r){const r=A.charCodeAt(0);if(r<=32||r>127||A==="("||A===")"||A===">"||A==="<"||A==="@"||A===","||A===";"||A===":"||A==="\\"||A==='"'||A==="/"||A==="["||A==="]"||A==="?"||A==="="||A==="{"||A==="}"){throw new Error("Invalid cookie name")}}}function validateCookieValue(r){for(const A of r){const r=A.charCodeAt(0);if(r<33||r===34||r===44||r===59||r===92||r>126){throw new Error("Invalid header value")}}}function validateCookiePath(r){for(const A of r){const r=A.charCodeAt(0);if(r<33||A===";"){throw new Error("Invalid cookie path")}}}function validateCookieDomain(r){if(r.startsWith("-")||r.endsWith(".")||r.endsWith("-")){throw new Error("Invalid cookie domain")}}function toIMFDate(r){if(typeof r==="number"){r=new Date(r)}const A=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];const s=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];const n=A[r.getUTCDay()];const a=r.getUTCDate().toString().padStart(2,"0");const u=s[r.getUTCMonth()];const l=r.getUTCFullYear();const g=r.getUTCHours().toString().padStart(2,"0");const E=r.getUTCMinutes().toString().padStart(2,"0");const d=r.getUTCSeconds().toString().padStart(2,"0");return`${n}, ${a} ${u} ${l} ${g}:${E}:${d} GMT`}function validateCookieMaxAge(r){if(r<0){throw new Error("Invalid cookie max-age")}}function stringify(r){if(r.name.length===0){return null}validateCookieName(r.name);validateCookieValue(r.value);const A=[`${r.name}=${r.value}`];if(r.name.startsWith("__Secure-")){r.secure=true}if(r.name.startsWith("__Host-")){r.secure=true;r.domain=null;r.path="/"}if(r.secure){A.push("Secure")}if(r.httpOnly){A.push("HttpOnly")}if(typeof r.maxAge==="number"){validateCookieMaxAge(r.maxAge);A.push(`Max-Age=${r.maxAge}`)}if(r.domain){validateCookieDomain(r.domain);A.push(`Domain=${r.domain}`)}if(r.path){validateCookiePath(r.path);A.push(`Path=${r.path}`)}if(r.expires&&r.expires.toString()!=="Invalid Date"){A.push(`Expires=${toIMFDate(r.expires)}`)}if(r.sameSite){A.push(`SameSite=${r.sameSite}`)}for(const s of r.unparsed){if(!s.includes("=")){throw new Error("Invalid unparsed")}const[r,...n]=s.split("=");A.push(`${r.trim()}=${n.join("=")}`)}return A.join("; ")}let u;function getHeadersList(r){if(r[a]){return r[a]}if(!u){u=Object.getOwnPropertySymbols(r).find((r=>r.description==="headers list"));n(u,"Headers cannot be parsed")}const A=r[u];n(A);return A}r.exports={isCTLExcludingHtab:isCTLExcludingHtab,stringify:stringify,getHeadersList:getHeadersList}},2559:(r,A,s)=>{const n=s(9278);const a=s(2613);const u=s(3465);const{InvalidArgumentError:l,ConnectTimeoutError:g}=s(3862);let E;let d;if(global.FinalizationRegistry&&!process.env.NODE_V8_COVERAGE){d=class WeakSessionCache{constructor(r){this._maxCachedSessions=r;this._sessionCache=new Map;this._sessionRegistry=new global.FinalizationRegistry((r=>{if(this._sessionCache.size=this._maxCachedSessions){const{value:r}=this._sessionCache.keys().next();this._sessionCache.delete(r)}this._sessionCache.set(r,A)}}}function buildConnector({allowH2:r,maxCachedSessions:A,socketPath:g,timeout:p,...C}){if(A!=null&&(!Number.isInteger(A)||A<0)){throw new l("maxCachedSessions must be a positive integer or zero")}const B={path:g,...C};const Q=new d(A==null?100:A);p=p==null?1e4:p;r=r!=null?r:false;return function connect({hostname:A,host:l,protocol:g,port:d,servername:C,localAddress:I,httpSocket:m},y){let w;if(g==="https:"){if(!E){E=s(4756)}C=C||B.servername||u.getServerName(l)||null;const n=C||A;const g=Q.get(n)||null;a(n);w=E.connect({highWaterMark:16384,...B,servername:C,session:g,localAddress:I,ALPNProtocols:r?["http/1.1","h2"]:["http/1.1"],socket:m,port:d||443,host:A});w.on("session",(function(r){Q.set(n,r)}))}else{a(!m,"httpSocket can only be sent on TLS update");w=n.connect({highWaterMark:64*1024,...B,localAddress:I,port:d||80,host:A})}if(B.keepAlive==null||B.keepAlive){const r=B.keepAliveInitialDelay===undefined?6e4:B.keepAliveInitialDelay;w.setKeepAlive(true,r)}const D=setupTimeout((()=>onConnectTimeout(w)),p);w.setNoDelay(true).once(g==="https:"?"secureConnect":"connect",(function(){D();if(y){const r=y;y=null;r(null,this)}})).on("error",(function(r){D();if(y){const A=y;y=null;A(r)}}));return w}}function setupTimeout(r,A){if(!A){return()=>{}}let s=null;let n=null;const a=setTimeout((()=>{s=setImmediate((()=>{if(process.platform==="win32"){n=setImmediate((()=>r()))}else{r()}}))}),A);return()=>{clearTimeout(a);clearImmediate(s);clearImmediate(n)}}function onConnectTimeout(r){u.destroy(r,new g)}r.exports=buildConnector},8088:r=>{const A={};const s=["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"];for(let r=0;r{class UndiciError extends Error{constructor(r){super(r);this.name="UndiciError";this.code="UND_ERR"}}class ConnectTimeoutError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,ConnectTimeoutError);this.name="ConnectTimeoutError";this.message=r||"Connect Timeout Error";this.code="UND_ERR_CONNECT_TIMEOUT"}}class HeadersTimeoutError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,HeadersTimeoutError);this.name="HeadersTimeoutError";this.message=r||"Headers Timeout Error";this.code="UND_ERR_HEADERS_TIMEOUT"}}class HeadersOverflowError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,HeadersOverflowError);this.name="HeadersOverflowError";this.message=r||"Headers Overflow Error";this.code="UND_ERR_HEADERS_OVERFLOW"}}class BodyTimeoutError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,BodyTimeoutError);this.name="BodyTimeoutError";this.message=r||"Body Timeout Error";this.code="UND_ERR_BODY_TIMEOUT"}}class ResponseStatusCodeError extends UndiciError{constructor(r,A,s,n){super(r);Error.captureStackTrace(this,ResponseStatusCodeError);this.name="ResponseStatusCodeError";this.message=r||"Response Status Code Error";this.code="UND_ERR_RESPONSE_STATUS_CODE";this.body=n;this.status=A;this.statusCode=A;this.headers=s}}class InvalidArgumentError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,InvalidArgumentError);this.name="InvalidArgumentError";this.message=r||"Invalid Argument Error";this.code="UND_ERR_INVALID_ARG"}}class InvalidReturnValueError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,InvalidReturnValueError);this.name="InvalidReturnValueError";this.message=r||"Invalid Return Value Error";this.code="UND_ERR_INVALID_RETURN_VALUE"}}class RequestAbortedError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,RequestAbortedError);this.name="AbortError";this.message=r||"Request aborted";this.code="UND_ERR_ABORTED"}}class InformationalError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,InformationalError);this.name="InformationalError";this.message=r||"Request information";this.code="UND_ERR_INFO"}}class RequestContentLengthMismatchError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,RequestContentLengthMismatchError);this.name="RequestContentLengthMismatchError";this.message=r||"Request body length does not match content-length header";this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}}class ResponseContentLengthMismatchError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,ResponseContentLengthMismatchError);this.name="ResponseContentLengthMismatchError";this.message=r||"Response body length does not match content-length header";this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}}class ClientDestroyedError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,ClientDestroyedError);this.name="ClientDestroyedError";this.message=r||"The client is destroyed";this.code="UND_ERR_DESTROYED"}}class ClientClosedError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,ClientClosedError);this.name="ClientClosedError";this.message=r||"The client is closed";this.code="UND_ERR_CLOSED"}}class SocketError extends UndiciError{constructor(r,A){super(r);Error.captureStackTrace(this,SocketError);this.name="SocketError";this.message=r||"Socket error";this.code="UND_ERR_SOCKET";this.socket=A}}class NotSupportedError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,NotSupportedError);this.name="NotSupportedError";this.message=r||"Not supported error";this.code="UND_ERR_NOT_SUPPORTED"}}class BalancedPoolMissingUpstreamError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,NotSupportedError);this.name="MissingUpstreamError";this.message=r||"No upstream has been added to the BalancedPool";this.code="UND_ERR_BPL_MISSING_UPSTREAM"}}class HTTPParserError extends Error{constructor(r,A,s){super(r);Error.captureStackTrace(this,HTTPParserError);this.name="HTTPParserError";this.code=A?`HPE_${A}`:undefined;this.data=s?s.toString():undefined}}class ResponseExceededMaxSizeError extends UndiciError{constructor(r){super(r);Error.captureStackTrace(this,ResponseExceededMaxSizeError);this.name="ResponseExceededMaxSizeError";this.message=r||"Response content exceeded max size";this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}}class RequestRetryError extends UndiciError{constructor(r,A,{headers:s,data:n}){super(r);Error.captureStackTrace(this,RequestRetryError);this.name="RequestRetryError";this.message=r||"Request retry error";this.code="UND_ERR_REQ_RETRY";this.statusCode=A;this.data=n;this.headers=s}}r.exports={HTTPParserError:HTTPParserError,UndiciError:UndiciError,HeadersTimeoutError:HeadersTimeoutError,HeadersOverflowError:HeadersOverflowError,BodyTimeoutError:BodyTimeoutError,RequestContentLengthMismatchError:RequestContentLengthMismatchError,ConnectTimeoutError:ConnectTimeoutError,ResponseStatusCodeError:ResponseStatusCodeError,InvalidArgumentError:InvalidArgumentError,InvalidReturnValueError:InvalidReturnValueError,RequestAbortedError:RequestAbortedError,ClientDestroyedError:ClientDestroyedError,ClientClosedError:ClientClosedError,InformationalError:InformationalError,SocketError:SocketError,NotSupportedError:NotSupportedError,ResponseContentLengthMismatchError:ResponseContentLengthMismatchError,BalancedPoolMissingUpstreamError:BalancedPoolMissingUpstreamError,ResponseExceededMaxSizeError:ResponseExceededMaxSizeError,RequestRetryError:RequestRetryError}},4916:(r,A,s)=>{const{InvalidArgumentError:n,NotSupportedError:a}=s(3862);const u=s(2613);const{kHTTP2BuildRequest:l,kHTTP2CopyHeaders:g,kHTTP1BuildRequest:E}=s(4856);const d=s(3465);const p=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;const C=/[^\t\x20-\x7e\x80-\xff]/;const B=/[^\u0021-\u00ff]/;const Q=Symbol("handler");const I={};let m;try{const r=s(1637);I.create=r.channel("undici:request:create");I.bodySent=r.channel("undici:request:bodySent");I.headers=r.channel("undici:request:headers");I.trailers=r.channel("undici:request:trailers");I.error=r.channel("undici:request:error")}catch{I.create={hasSubscribers:false};I.bodySent={hasSubscribers:false};I.headers={hasSubscribers:false};I.trailers={hasSubscribers:false};I.error={hasSubscribers:false}}class Request{constructor(r,{path:A,method:a,body:u,headers:l,query:g,idempotent:E,blocking:C,upgrade:y,headersTimeout:w,bodyTimeout:D,reset:b,throwOnError:R,expectContinue:S},k){if(typeof A!=="string"){throw new n("path must be a string")}else if(A[0]!=="/"&&!(A.startsWith("http://")||A.startsWith("https://"))&&a!=="CONNECT"){throw new n("path must be an absolute URL or start with a slash")}else if(B.exec(A)!==null){throw new n("invalid request path")}if(typeof a!=="string"){throw new n("method must be a string")}else if(p.exec(a)===null){throw new n("invalid request method")}if(y&&typeof y!=="string"){throw new n("upgrade must be a string")}if(w!=null&&(!Number.isFinite(w)||w<0)){throw new n("invalid headersTimeout")}if(D!=null&&(!Number.isFinite(D)||D<0)){throw new n("invalid bodyTimeout")}if(b!=null&&typeof b!=="boolean"){throw new n("invalid reset")}if(S!=null&&typeof S!=="boolean"){throw new n("invalid expectContinue")}this.headersTimeout=w;this.bodyTimeout=D;this.throwOnError=R===true;this.method=a;this.abort=null;if(u==null){this.body=null}else if(d.isStream(u)){this.body=u;const r=this.body._readableState;if(!r||!r.autoDestroy){this.endHandler=function autoDestroy(){d.destroy(this)};this.body.on("end",this.endHandler)}this.errorHandler=r=>{if(this.abort){this.abort(r)}else{this.error=r}};this.body.on("error",this.errorHandler)}else if(d.isBuffer(u)){this.body=u.byteLength?u:null}else if(ArrayBuffer.isView(u)){this.body=u.buffer.byteLength?Buffer.from(u.buffer,u.byteOffset,u.byteLength):null}else if(u instanceof ArrayBuffer){this.body=u.byteLength?Buffer.from(u):null}else if(typeof u==="string"){this.body=u.length?Buffer.from(u):null}else if(d.isFormDataLike(u)||d.isIterable(u)||d.isBlobLike(u)){this.body=u}else{throw new n("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable")}this.completed=false;this.aborted=false;this.upgrade=y||null;this.path=g?d.buildURL(A,g):A;this.origin=r;this.idempotent=E==null?a==="HEAD"||a==="GET":E;this.blocking=C==null?false:C;this.reset=b==null?null:b;this.host=null;this.contentLength=null;this.contentType=null;this.headers="";this.expectContinue=S!=null?S:false;if(Array.isArray(l)){if(l.length%2!==0){throw new n("headers array must be even")}for(let r=0;r{r.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"),kHeadersList:Symbol("headers list"),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"),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"),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"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kHTTP2BuildRequest:Symbol("http2 build request"),kHTTP1BuildRequest:Symbol("http1 build request"),kHTTP2CopyHeaders:Symbol("http2 copy headers"),kHTTPConnVersion:Symbol("http connection version"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable")}},3465:(r,A,s)=>{const n=s(2613);const{kDestroyed:a,kBodyUsed:u}=s(4856);const{IncomingMessage:l}=s(8611);const g=s(2203);const E=s(9278);const{InvalidArgumentError:d}=s(3862);const{Blob:p}=s(181);const C=s(9023);const{stringify:B}=s(3480);const{headerNameLowerCasedRecord:Q}=s(8088);const[I,m]=process.versions.node.split(".").map((r=>Number(r)));function nop(){}function isStream(r){return r&&typeof r==="object"&&typeof r.pipe==="function"&&typeof r.on==="function"}function isBlobLike(r){return p&&r instanceof p||r&&typeof r==="object"&&(typeof r.stream==="function"||typeof r.arrayBuffer==="function")&&/^(Blob|File)$/.test(r[Symbol.toStringTag])}function buildURL(r,A){if(r.includes("?")||r.includes("#")){throw new Error('Query params cannot be passed when url already contains "?" or "#".')}const s=B(A);if(s){r+="?"+s}return r}function parseURL(r){if(typeof r==="string"){r=new URL(r);if(!/^https?:/.test(r.origin||r.protocol)){throw new d("Invalid URL protocol: the URL must start with `http:` or `https:`.")}return r}if(!r||typeof r!=="object"){throw new d("Invalid URL: The URL argument must be a non-null object.")}if(!/^https?:/.test(r.origin||r.protocol)){throw new d("Invalid URL protocol: the URL must start with `http:` or `https:`.")}if(!(r instanceof URL)){if(r.port!=null&&r.port!==""&&!Number.isFinite(parseInt(r.port))){throw new d("Invalid URL: port must be a valid integer or a string representation of an integer.")}if(r.path!=null&&typeof r.path!=="string"){throw new d("Invalid URL path: the path must be a string or null/undefined.")}if(r.pathname!=null&&typeof r.pathname!=="string"){throw new d("Invalid URL pathname: the pathname must be a string or null/undefined.")}if(r.hostname!=null&&typeof r.hostname!=="string"){throw new d("Invalid URL hostname: the hostname must be a string or null/undefined.")}if(r.origin!=null&&typeof r.origin!=="string"){throw new d("Invalid URL origin: the origin must be a string or null/undefined.")}const A=r.port!=null?r.port:r.protocol==="https:"?443:80;let s=r.origin!=null?r.origin:`${r.protocol}//${r.hostname}:${A}`;let n=r.path!=null?r.path:`${r.pathname||""}${r.search||""}`;if(s.endsWith("/")){s=s.substring(0,s.length-1)}if(n&&!n.startsWith("/")){n=`/${n}`}r=new URL(s+n)}return r}function parseOrigin(r){r=parseURL(r);if(r.pathname!=="/"||r.search||r.hash){throw new d("invalid url")}return r}function getHostname(r){if(r[0]==="["){const A=r.indexOf("]");n(A!==-1);return r.substring(1,A)}const A=r.indexOf(":");if(A===-1)return r;return r.substring(0,A)}function getServerName(r){if(!r){return null}n.strictEqual(typeof r,"string");const A=getHostname(r);if(E.isIP(A)){return""}return A}function deepClone(r){return JSON.parse(JSON.stringify(r))}function isAsyncIterable(r){return!!(r!=null&&typeof r[Symbol.asyncIterator]==="function")}function isIterable(r){return!!(r!=null&&(typeof r[Symbol.iterator]==="function"||typeof r[Symbol.asyncIterator]==="function"))}function bodyLength(r){if(r==null){return 0}else if(isStream(r)){const A=r._readableState;return A&&A.objectMode===false&&A.ended===true&&Number.isFinite(A.length)?A.length:null}else if(isBlobLike(r)){return r.size!=null?r.size:null}else if(isBuffer(r)){return r.byteLength}return null}function isDestroyed(r){return!r||!!(r.destroyed||r[a])}function isReadableAborted(r){const A=r&&r._readableState;return isDestroyed(r)&&A&&!A.endEmitted}function destroy(r,A){if(r==null||!isStream(r)||isDestroyed(r)){return}if(typeof r.destroy==="function"){if(Object.getPrototypeOf(r).constructor===l){r.socket=null}r.destroy(A)}else if(A){process.nextTick(((r,A)=>{r.emit("error",A)}),r,A)}if(r.destroyed!==true){r[a]=true}}const y=/timeout=(\d+)/;function parseKeepAliveTimeout(r){const A=r.toString().match(y);return A?parseInt(A[1],10)*1e3:null}function headerNameToString(r){return Q[r]||r.toLowerCase()}function parseHeaders(r,A={}){if(!Array.isArray(r))return r;for(let s=0;sr.toString("utf8")))}else{A[n]=r[s+1].toString("utf8")}}else{if(!Array.isArray(a)){a=[a];A[n]=a}a.push(r[s+1].toString("utf8"))}}if("content-length"in A&&"content-disposition"in A){A["content-disposition"]=Buffer.from(A["content-disposition"]).toString("latin1")}return A}function parseRawHeaders(r){const A=[];let s=false;let n=-1;for(let a=0;a{r.close()}))}else{const A=Buffer.isBuffer(n)?n:Buffer.from(n);r.enqueue(new Uint8Array(A))}return r.desiredSize>0},async cancel(r){await A.return()}},0)}function isFormDataLike(r){return r&&typeof r==="object"&&typeof r.append==="function"&&typeof r.delete==="function"&&typeof r.get==="function"&&typeof r.getAll==="function"&&typeof r.has==="function"&&typeof r.set==="function"&&r[Symbol.toStringTag]==="FormData"}function throwIfAborted(r){if(!r){return}if(typeof r.throwIfAborted==="function"){r.throwIfAborted()}else{if(r.aborted){const r=new Error("The operation was aborted");r.name="AbortError";throw r}}}function addAbortListener(r,A){if("addEventListener"in r){r.addEventListener("abort",A,{once:true});return()=>r.removeEventListener("abort",A)}r.addListener("abort",A);return()=>r.removeListener("abort",A)}const D=!!String.prototype.toWellFormed;function toUSVString(r){if(D){return`${r}`.toWellFormed()}else if(C.toUSVString){return C.toUSVString(r)}return`${r}`}function parseRangeHeader(r){if(r==null||r==="")return{start:0,end:null,size:null};const A=r?r.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return A?{start:parseInt(A[1]),end:A[2]?parseInt(A[2]):null,size:A[3]?parseInt(A[3]):null}:null}const b=Object.create(null);b.enumerable=true;r.exports={kEnumerableProperty:b,nop:nop,isDisturbed:isDisturbed,isErrored:isErrored,isReadable:isReadable,toUSVString:toUSVString,isReadableAborted:isReadableAborted,isBlobLike:isBlobLike,parseOrigin:parseOrigin,parseURL:parseURL,getServerName:getServerName,isStream:isStream,isIterable:isIterable,isAsyncIterable:isAsyncIterable,isDestroyed:isDestroyed,headerNameToString:headerNameToString,parseRawHeaders:parseRawHeaders,parseHeaders:parseHeaders,parseKeepAliveTimeout:parseKeepAliveTimeout,destroy:destroy,bodyLength:bodyLength,deepClone:deepClone,ReadableStreamFrom:ReadableStreamFrom,isBuffer:isBuffer,validateHandler:validateHandler,getSocketInfo:getSocketInfo,isFormDataLike:isFormDataLike,buildURL:buildURL,throwIfAborted:throwIfAborted,addAbortListener:addAbortListener,parseRangeHeader:parseRangeHeader,nodeMajor:I,nodeMinor:m,nodeHasAutoSelectFamily:I>18||I===18&&m>=13,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"]}},9368:(r,A,s)=>{const n=s(9724);const{ClientDestroyedError:a,ClientClosedError:u,InvalidArgumentError:l}=s(3862);const{kDestroy:g,kClose:E,kDispatch:d,kInterceptors:p}=s(4856);const C=Symbol("destroyed");const B=Symbol("closed");const Q=Symbol("onDestroyed");const I=Symbol("onClosed");const m=Symbol("Intercepted Dispatch");class DispatcherBase extends n{constructor(){super();this[C]=false;this[Q]=null;this[B]=false;this[I]=[]}get destroyed(){return this[C]}get closed(){return this[B]}get interceptors(){return this[p]}set interceptors(r){if(r){for(let A=r.length-1;A>=0;A--){const r=this[p][A];if(typeof r!=="function"){throw new l("interceptor must be an function")}}}this[p]=r}close(r){if(r===undefined){return new Promise(((r,A)=>{this.close(((s,n)=>s?A(s):r(n)))}))}if(typeof r!=="function"){throw new l("invalid callback")}if(this[C]){queueMicrotask((()=>r(new a,null)));return}if(this[B]){if(this[I]){this[I].push(r)}else{queueMicrotask((()=>r(null,null)))}return}this[B]=true;this[I].push(r);const onClosed=()=>{const r=this[I];this[I]=null;for(let A=0;Athis.destroy())).then((()=>{queueMicrotask(onClosed)}))}destroy(r,A){if(typeof r==="function"){A=r;r=null}if(A===undefined){return new Promise(((A,s)=>{this.destroy(r,((r,n)=>r?s(r):A(n)))}))}if(typeof A!=="function"){throw new l("invalid callback")}if(this[C]){if(this[Q]){this[Q].push(A)}else{queueMicrotask((()=>A(null,null)))}return}if(!r){r=new a}this[C]=true;this[Q]=this[Q]||[];this[Q].push(A);const onDestroyed=()=>{const r=this[Q];this[Q]=null;for(let A=0;A{queueMicrotask(onDestroyed)}))}[m](r,A){if(!this[p]||this[p].length===0){this[m]=this[d];return this[d](r,A)}let s=this[d].bind(this);for(let r=this[p].length-1;r>=0;r--){s=this[p][r](s)}this[m]=s;return s(r,A)}dispatch(r,A){if(!A||typeof A!=="object"){throw new l("handler must be an object")}try{if(!r||typeof r!=="object"){throw new l("opts must be an object.")}if(this[C]||this[Q]){throw new a}if(this[B]){throw new u}return this[m](r,A)}catch(r){if(typeof A.onError!=="function"){throw new l("invalid onError method")}A.onError(r);return false}}}r.exports=DispatcherBase},9724:(r,A,s)=>{const n=s(4434);class Dispatcher extends n{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}}r.exports=Dispatcher},1380:(r,A,s)=>{const n=s(9766);const a=s(3465);const{ReadableStreamFrom:u,isBlobLike:l,isReadableStreamLike:g,readableStreamClose:E,createDeferredPromise:d,fullyReadBody:p}=s(2696);const{FormData:C}=s(2894);const{kState:B}=s(8323);const{webidl:Q}=s(29);const{DOMException:I,structuredClone:m}=s(4135);const{Blob:y,File:w}=s(181);const{kBodyUsed:D}=s(4856);const b=s(2613);const{isErrored:R}=s(3465);const{isUint8Array:S,isArrayBuffer:k}=s(8253);const{File:F}=s(66);const{parseMIMEType:T,serializeAMimeType:N}=s(3911);let v=globalThis.ReadableStream;const _=w??F;const U=new TextEncoder;const L=new TextDecoder;function extractBody(r,A=false){if(!v){v=s(3774).ReadableStream}let n=null;if(r instanceof v){n=r}else if(l(r)){n=r.stream()}else{n=new v({async pull(r){r.enqueue(typeof p==="string"?U.encode(p):p);queueMicrotask((()=>E(r)))},start(){},type:undefined})}b(g(n));let d=null;let p=null;let C=null;let B=null;if(typeof r==="string"){p=r;B="text/plain;charset=UTF-8"}else if(r instanceof URLSearchParams){p=r.toString();B="application/x-www-form-urlencoded;charset=UTF-8"}else if(k(r)){p=new Uint8Array(r.slice())}else if(ArrayBuffer.isView(r)){p=new Uint8Array(r.buffer.slice(r.byteOffset,r.byteOffset+r.byteLength))}else if(a.isFormDataLike(r)){const A=`----formdata-undici-0${`${Math.floor(Math.random()*1e11)}`.padStart(11,"0")}`;const s=`--${A}\r\nContent-Disposition: form-data` /*! formdata-polyfill. MIT License. Jimmy Wärting */;const escape=r=>r.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22");const normalizeLinefeeds=r=>r.replace(/\r?\n|\r/g,"\r\n");const n=[];const a=new Uint8Array([13,10]);C=0;let u=false;for(const[A,l]of r){if(typeof l==="string"){const r=U.encode(s+`; name="${escape(normalizeLinefeeds(A))}"`+`\r\n\r\n${normalizeLinefeeds(l)}\r\n`);n.push(r);C+=r.byteLength}else{const r=U.encode(`${s}; name="${escape(normalizeLinefeeds(A))}"`+(l.name?`; filename="${escape(l.name)}"`:"")+"\r\n"+`Content-Type: ${l.type||"application/octet-stream"}\r\n\r\n`);n.push(r,l,a);if(typeof l.size==="number"){C+=r.byteLength+l.size+a.byteLength}else{u=true}}}const l=U.encode(`--${A}--`);n.push(l);C+=l.byteLength;if(u){C=null}p=r;d=async function*(){for(const r of n){if(r.stream){yield*r.stream()}else{yield r}}};B="multipart/form-data; boundary="+A}else if(l(r)){p=r;C=r.size;if(r.type){B=r.type}}else if(typeof r[Symbol.asyncIterator]==="function"){if(A){throw new TypeError("keepalive")}if(a.isDisturbed(r)||r.locked){throw new TypeError("Response body object should not be disturbed or locked")}n=r instanceof v?r:u(r)}if(typeof p==="string"||a.isBuffer(p)){C=Buffer.byteLength(p)}if(d!=null){let A;n=new v({async start(){A=d(r)[Symbol.asyncIterator]()},async pull(r){const{value:s,done:a}=await A.next();if(a){queueMicrotask((()=>{r.close()}))}else{if(!R(n)){r.enqueue(new Uint8Array(s))}}return r.desiredSize>0},async cancel(r){await A.return()},type:undefined})}const Q={stream:n,source:p,length:C};return[Q,B]}function safelyExtractBody(r,A=false){if(!v){v=s(3774).ReadableStream}if(r instanceof v){b(!a.isDisturbed(r),"The body has already been consumed.");b(!r.locked,"The stream is locked.")}return extractBody(r,A)}function cloneBody(r){const[A,s]=r.stream.tee();const n=m(s,{transfer:[s]});const[,a]=n.tee();r.stream=A;return{stream:a,length:r.length,source:r.source}}async function*consumeBody(r){if(r){if(S(r)){yield r}else{const A=r.stream;if(a.isDisturbed(A)){throw new TypeError("The body has already been consumed.")}if(A.locked){throw new TypeError("The stream is locked.")}A[D]=true;yield*A}}}function throwIfAborted(r){if(r.aborted){throw new I("The operation was aborted.","AbortError")}}function bodyMixinMethods(r){const A={blob(){return specConsumeBody(this,(r=>{let A=bodyMimeType(this);if(A==="failure"){A=""}else if(A){A=N(A)}return new y([r],{type:A})}),r)},arrayBuffer(){return specConsumeBody(this,(r=>new Uint8Array(r).buffer),r)},text(){return specConsumeBody(this,utf8DecodeBytes,r)},json(){return specConsumeBody(this,parseJSONFromBytes,r)},async formData(){Q.brandCheck(this,r);throwIfAborted(this[B]);const A=this.headers.get("Content-Type");if(/multipart\/form-data/.test(A)){const r={};for(const[A,s]of this.headers)r[A.toLowerCase()]=s;const A=new C;let s;try{s=new n({headers:r,preservePath:true})}catch(r){throw new I(`${r}`,"AbortError")}s.on("field",((r,s)=>{A.append(r,s)}));s.on("file",((r,s,n,a,u)=>{const l=[];if(a==="base64"||a.toLowerCase()==="base64"){let a="";s.on("data",(r=>{a+=r.toString().replace(/[\r\n]/gm,"");const A=a.length-a.length%4;l.push(Buffer.from(a.slice(0,A),"base64"));a=a.slice(A)}));s.on("end",(()=>{l.push(Buffer.from(a,"base64"));A.append(r,new _(l,n,{type:u}))}))}else{s.on("data",(r=>{l.push(r)}));s.on("end",(()=>{A.append(r,new _(l,n,{type:u}))}))}}));const a=new Promise(((r,A)=>{s.on("finish",r);s.on("error",(r=>A(new TypeError(r))))}));if(this.body!==null)for await(const r of consumeBody(this[B].body))s.write(r);s.end();await a;return A}else if(/application\/x-www-form-urlencoded/.test(A)){let r;try{let A="";const s=new TextDecoder("utf-8",{ignoreBOM:true});for await(const r of consumeBody(this[B].body)){if(!S(r)){throw new TypeError("Expected Uint8Array chunk")}A+=s.decode(r,{stream:true})}A+=s.decode();r=new URLSearchParams(A)}catch(r){throw Object.assign(new TypeError,{cause:r})}const A=new C;for(const[s,n]of r){A.append(s,n)}return A}else{await Promise.resolve();throwIfAborted(this[B]);throw Q.errors.exception({header:`${r.name}.formData`,message:"Could not parse content as FormData."})}}};return A}function mixinBody(r){Object.assign(r.prototype,bodyMixinMethods(r))}async function specConsumeBody(r,A,s){Q.brandCheck(r,s);throwIfAborted(r[B]);if(bodyUnusable(r[B].body)){throw new TypeError("Body is unusable")}const n=d();const errorSteps=r=>n.reject(r);const successSteps=r=>{try{n.resolve(A(r))}catch(r){errorSteps(r)}};if(r[B].body==null){successSteps(new Uint8Array);return n.promise}await p(r[B].body,successSteps,errorSteps);return n.promise}function bodyUnusable(r){return r!=null&&(r.stream.locked||a.isDisturbed(r.stream))}function utf8DecodeBytes(r){if(r.length===0){return""}if(r[0]===239&&r[1]===187&&r[2]===191){r=r.subarray(3)}const A=L.decode(r);return A}function parseJSONFromBytes(r){return JSON.parse(utf8DecodeBytes(r))}function bodyMimeType(r){const{headersList:A}=r[B];const s=A.get("content-type");if(s===null){return"failure"}return T(s)}r.exports={extractBody:extractBody,safelyExtractBody:safelyExtractBody,cloneBody:cloneBody,mixinBody:mixinBody}},4135:(r,A,s)=>{const{MessageChannel:n,receiveMessageOnPort:a}=s(8167);const u=["GET","HEAD","POST"];const l=new Set(u);const g=[101,204,205,304];const E=[301,302,303,307,308];const d=new Set(E);const p=["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","5060","5061","6000","6566","6665","6666","6667","6668","6669","6697","10080"];const C=new Set(p);const B=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"];const Q=new Set(B);const I=["follow","manual","error"];const m=["GET","HEAD","OPTIONS","TRACE"];const y=new Set(m);const w=["navigate","same-origin","no-cors","cors"];const D=["omit","same-origin","include"];const b=["default","no-store","reload","no-cache","force-cache","only-if-cached"];const R=["content-encoding","content-language","content-location","content-type","content-length"];const S=["half"];const k=["CONNECT","TRACE","TRACK"];const F=new Set(k);const T=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""];const N=new Set(T);const v=globalThis.DOMException??(()=>{try{atob("~")}catch(r){return Object.getPrototypeOf(r).constructor}})();let _;const U=globalThis.structuredClone??function structuredClone(r,A=undefined){if(arguments.length===0){throw new TypeError("missing argument")}if(!_){_=new n}_.port1.unref();_.port2.unref();_.port1.postMessage(r,A?.transfer);return a(_.port2).message};r.exports={DOMException:v,structuredClone:U,subresource:T,forbiddenMethods:k,requestBodyHeader:R,referrerPolicy:B,requestRedirect:I,requestMode:w,requestCredentials:D,requestCache:b,redirectStatus:E,corsSafeListedMethods:u,nullBodyStatus:g,safeMethods:m,badPorts:p,requestDuplex:S,subresourceSet:N,badPortsSet:C,redirectStatusSet:d,corsSafeListedMethodsSet:l,safeMethodsSet:y,forbiddenMethodsSet:F,referrerPolicySet:Q}},3911:(r,A,s)=>{const n=s(2613);const{atob:a}=s(181);const{isomorphicDecode:u}=s(2696);const l=new TextEncoder;const g=/^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;const E=/(\u000A|\u000D|\u0009|\u0020)/;const d=/[\u0009|\u0020-\u007E|\u0080-\u00FF]/;function dataURLProcessor(r){n(r.protocol==="data:");let A=URLSerializer(r,true);A=A.slice(5);const s={position:0};let a=collectASequenceOfCodePointsFast(",",A,s);const l=a.length;a=removeASCIIWhitespace(a,true,true);if(s.position>=A.length){return"failure"}s.position++;const g=A.slice(l+1);let E=stringPercentDecode(g);if(/;(\u0020){0,}base64$/i.test(a)){const r=u(E);E=forgivingBase64(r);if(E==="failure"){return"failure"}a=a.slice(0,-6);a=a.replace(/(\u0020)+$/,"");a=a.slice(0,-1)}if(a.startsWith(";")){a="text/plain"+a}let d=parseMIMEType(a);if(d==="failure"){d=parseMIMEType("text/plain;charset=US-ASCII")}return{mimeType:d,body:E}}function URLSerializer(r,A=false){if(!A){return r.href}const s=r.href;const n=r.hash.length;return n===0?s:s.substring(0,s.length-n)}function collectASequenceOfCodePoints(r,A,s){let n="";while(s.positionr.length){return"failure"}A.position++;let n=collectASequenceOfCodePointsFast(";",r,A);n=removeHTTPWhitespace(n,false,true);if(n.length===0||!g.test(n)){return"failure"}const a=s.toLowerCase();const u=n.toLowerCase();const l={type:a,subtype:u,parameters:new Map,essence:`${a}/${u}`};while(A.positionE.test(r)),r,A);let s=collectASequenceOfCodePoints((r=>r!==";"&&r!=="="),r,A);s=s.toLowerCase();if(A.positionr.length){break}let n=null;if(r[A.position]==='"'){n=collectAnHTTPQuotedString(r,A,true);collectASequenceOfCodePointsFast(";",r,A)}else{n=collectASequenceOfCodePointsFast(";",r,A);n=removeHTTPWhitespace(n,false,true);if(n.length===0){continue}}if(s.length!==0&&g.test(s)&&(n.length===0||d.test(n))&&!l.parameters.has(s)){l.parameters.set(s,n)}}return l}function forgivingBase64(r){r=r.replace(/[\u0009\u000A\u000C\u000D\u0020]/g,"");if(r.length%4===0){r=r.replace(/=?=$/,"")}if(r.length%4===1){return"failure"}if(/[^+/0-9A-Za-z]/.test(r)){return"failure"}const A=a(r);const s=new Uint8Array(A.length);for(let r=0;rr!=='"'&&r!=="\\"),r,A);if(A.position>=r.length){break}const s=r[A.position];A.position++;if(s==="\\"){if(A.position>=r.length){u+="\\";break}u+=r[A.position];A.position++}else{n(s==='"');break}}if(s){return u}return r.slice(a,A.position)}function serializeAMimeType(r){n(r!=="failure");const{parameters:A,essence:s}=r;let a=s;for(let[r,s]of A.entries()){a+=";";a+=r;a+="=";if(!g.test(s)){s=s.replace(/(\\|")/g,"\\$1");s='"'+s;s+='"'}a+=s}return a}function isHTTPWhiteSpace(r){return r==="\r"||r==="\n"||r==="\t"||r===" "}function removeHTTPWhitespace(r,A=true,s=true){let n=0;let a=r.length-1;if(A){for(;n0&&isHTTPWhiteSpace(r[a]);a--);}return r.slice(n,a+1)}function isASCIIWhitespace(r){return r==="\r"||r==="\n"||r==="\t"||r==="\f"||r===" "}function removeASCIIWhitespace(r,A=true,s=true){let n=0;let a=r.length-1;if(A){for(;n0&&isASCIIWhitespace(r[a]);a--);}return r.slice(n,a+1)}r.exports={dataURLProcessor:dataURLProcessor,URLSerializer:URLSerializer,collectASequenceOfCodePoints:collectASequenceOfCodePoints,collectASequenceOfCodePointsFast:collectASequenceOfCodePointsFast,stringPercentDecode:stringPercentDecode,parseMIMEType:parseMIMEType,collectAnHTTPQuotedString:collectAnHTTPQuotedString,serializeAMimeType:serializeAMimeType}},66:(r,A,s)=>{const{Blob:n,File:a}=s(181);const{types:u}=s(9023);const{kState:l}=s(8323);const{isBlobLike:g}=s(2696);const{webidl:E}=s(29);const{parseMIMEType:d,serializeAMimeType:p}=s(3911);const{kEnumerableProperty:C}=s(3465);const B=new TextEncoder;class File extends n{constructor(r,A,s={}){E.argumentLengthCheck(arguments,2,{header:"File constructor"});r=E.converters["sequence"](r);A=E.converters.USVString(A);s=E.converters.FilePropertyBag(s);const n=A;let a=s.type;let u;e:{if(a){a=d(a);if(a==="failure"){a="";break e}a=p(a).toLowerCase()}u=s.lastModified}super(processBlobParts(r,s),{type:a});this[l]={name:n,lastModified:u,type:a}}get name(){E.brandCheck(this,File);return this[l].name}get lastModified(){E.brandCheck(this,File);return this[l].lastModified}get type(){E.brandCheck(this,File);return this[l].type}}class FileLike{constructor(r,A,s={}){const n=A;const a=s.type;const u=s.lastModified??Date.now();this[l]={blobLike:r,name:n,type:a,lastModified:u}}stream(...r){E.brandCheck(this,FileLike);return this[l].blobLike.stream(...r)}arrayBuffer(...r){E.brandCheck(this,FileLike);return this[l].blobLike.arrayBuffer(...r)}slice(...r){E.brandCheck(this,FileLike);return this[l].blobLike.slice(...r)}text(...r){E.brandCheck(this,FileLike);return this[l].blobLike.text(...r)}get size(){E.brandCheck(this,FileLike);return this[l].blobLike.size}get type(){E.brandCheck(this,FileLike);return this[l].blobLike.type}get name(){E.brandCheck(this,FileLike);return this[l].name}get lastModified(){E.brandCheck(this,FileLike);return this[l].lastModified}get[Symbol.toStringTag](){return"File"}}Object.defineProperties(File.prototype,{[Symbol.toStringTag]:{value:"File",configurable:true},name:C,lastModified:C});E.converters.Blob=E.interfaceConverter(n);E.converters.BlobPart=function(r,A){if(E.util.Type(r)==="Object"){if(g(r)){return E.converters.Blob(r,{strict:false})}if(ArrayBuffer.isView(r)||u.isAnyArrayBuffer(r)){return E.converters.BufferSource(r,A)}}return E.converters.USVString(r,A)};E.converters["sequence"]=E.sequenceConverter(E.converters.BlobPart);E.converters.FilePropertyBag=E.dictionaryConverter([{key:"lastModified",converter:E.converters["long long"],get defaultValue(){return Date.now()}},{key:"type",converter:E.converters.DOMString,defaultValue:""},{key:"endings",converter:r=>{r=E.converters.DOMString(r);r=r.toLowerCase();if(r!=="native"){r="transparent"}return r},defaultValue:"transparent"}]);function processBlobParts(r,A){const s=[];for(const n of r){if(typeof n==="string"){let r=n;if(A.endings==="native"){r=convertLineEndingsNative(r)}s.push(B.encode(r))}else if(u.isAnyArrayBuffer(n)||u.isTypedArray(n)){if(!n.buffer){s.push(new Uint8Array(n))}else{s.push(new Uint8Array(n.buffer,n.byteOffset,n.byteLength))}}else if(g(n)){s.push(n)}}return s}function convertLineEndingsNative(r){let A="\n";if(process.platform==="win32"){A="\r\n"}return r.replace(/\r?\n/g,A)}function isFileLike(r){return a&&r instanceof a||r instanceof File||r&&(typeof r.stream==="function"||typeof r.arrayBuffer==="function")&&r[Symbol.toStringTag]==="File"}r.exports={File:File,FileLike:FileLike,isFileLike:isFileLike}},2894:(r,A,s)=>{const{isBlobLike:n,toUSVString:a,makeIterator:u}=s(2696);const{kState:l}=s(8323);const{File:g,FileLike:E,isFileLike:d}=s(66);const{webidl:p}=s(29);const{Blob:C,File:B}=s(181);const Q=B??g;class FormData{constructor(r){if(r!==undefined){throw p.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}this[l]=[]}append(r,A,s=undefined){p.brandCheck(this,FormData);p.argumentLengthCheck(arguments,2,{header:"FormData.append"});if(arguments.length===3&&!n(A)){throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'")}r=p.converters.USVString(r);A=n(A)?p.converters.Blob(A,{strict:false}):p.converters.USVString(A);s=arguments.length===3?p.converters.USVString(s):undefined;const a=makeEntry(r,A,s);this[l].push(a)}delete(r){p.brandCheck(this,FormData);p.argumentLengthCheck(arguments,1,{header:"FormData.delete"});r=p.converters.USVString(r);this[l]=this[l].filter((A=>A.name!==r))}get(r){p.brandCheck(this,FormData);p.argumentLengthCheck(arguments,1,{header:"FormData.get"});r=p.converters.USVString(r);const A=this[l].findIndex((A=>A.name===r));if(A===-1){return null}return this[l][A].value}getAll(r){p.brandCheck(this,FormData);p.argumentLengthCheck(arguments,1,{header:"FormData.getAll"});r=p.converters.USVString(r);return this[l].filter((A=>A.name===r)).map((r=>r.value))}has(r){p.brandCheck(this,FormData);p.argumentLengthCheck(arguments,1,{header:"FormData.has"});r=p.converters.USVString(r);return this[l].findIndex((A=>A.name===r))!==-1}set(r,A,s=undefined){p.brandCheck(this,FormData);p.argumentLengthCheck(arguments,2,{header:"FormData.set"});if(arguments.length===3&&!n(A)){throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'")}r=p.converters.USVString(r);A=n(A)?p.converters.Blob(A,{strict:false}):p.converters.USVString(A);s=arguments.length===3?a(s):undefined;const u=makeEntry(r,A,s);const g=this[l].findIndex((A=>A.name===r));if(g!==-1){this[l]=[...this[l].slice(0,g),u,...this[l].slice(g+1).filter((A=>A.name!==r))]}else{this[l].push(u)}}entries(){p.brandCheck(this,FormData);return u((()=>this[l].map((r=>[r.name,r.value]))),"FormData","key+value")}keys(){p.brandCheck(this,FormData);return u((()=>this[l].map((r=>[r.name,r.value]))),"FormData","key")}values(){p.brandCheck(this,FormData);return u((()=>this[l].map((r=>[r.name,r.value]))),"FormData","value")}forEach(r,A=globalThis){p.brandCheck(this,FormData);p.argumentLengthCheck(arguments,1,{header:"FormData.forEach"});if(typeof r!=="function"){throw new TypeError("Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'.")}for(const[s,n]of this){r.apply(A,[n,s,this])}}}FormData.prototype[Symbol.iterator]=FormData.prototype.entries;Object.defineProperties(FormData.prototype,{[Symbol.toStringTag]:{value:"FormData",configurable:true}});function makeEntry(r,A,s){r=Buffer.from(r).toString("utf8");if(typeof A==="string"){A=Buffer.from(A).toString("utf8")}else{if(!d(A)){A=A instanceof C?new Q([A],"blob",{type:A.type}):new E(A,"blob",{type:A.type})}if(s!==undefined){const r={type:A.type,lastModified:A.lastModified};A=B&&A instanceof B||A instanceof g?new Q([A],s,r):new E(A,s,r)}}return{name:r,value:A}}r.exports={FormData:FormData}},9963:r=>{const A=Symbol.for("undici.globalOrigin.1");function getGlobalOrigin(){return globalThis[A]}function setGlobalOrigin(r){if(r===undefined){Object.defineProperty(globalThis,A,{value:undefined,writable:true,enumerable:false,configurable:false});return}const s=new URL(r);if(s.protocol!=="http:"&&s.protocol!=="https:"){throw new TypeError(`Only http & https urls are allowed, received ${s.protocol}`)}Object.defineProperty(globalThis,A,{value:s,writable:true,enumerable:false,configurable:false})}r.exports={getGlobalOrigin:getGlobalOrigin,setGlobalOrigin:setGlobalOrigin}},2908:(r,A,s)=>{const{kHeadersList:n,kConstruct:a}=s(4856);const{kGuard:u}=s(8323);const{kEnumerableProperty:l}=s(3465);const{makeIterator:g,isValidHeaderName:E,isValidHeaderValue:d}=s(2696);const{webidl:p}=s(29);const C=s(2613);const B=Symbol("headers map");const Q=Symbol("headers map sorted");function isHTTPWhiteSpaceCharCode(r){return r===10||r===13||r===9||r===32}function headerValueNormalize(r){let A=0;let s=r.length;while(s>A&&isHTTPWhiteSpaceCharCode(r.charCodeAt(s-1)))--s;while(s>A&&isHTTPWhiteSpaceCharCode(r.charCodeAt(A)))++A;return A===0&&s===r.length?r:r.substring(A,s)}function fill(r,A){if(Array.isArray(A)){for(let s=0;s>","record"]})}}function appendHeader(r,A,s){s=headerValueNormalize(s);if(!E(A)){throw p.errors.invalidArgument({prefix:"Headers.append",value:A,type:"header name"})}else if(!d(s)){throw p.errors.invalidArgument({prefix:"Headers.append",value:s,type:"header value"})}if(r[u]==="immutable"){throw new TypeError("immutable")}else if(r[u]==="request-no-cors"){}return r[n].append(A,s)}class HeadersList{cookies=null;constructor(r){if(r instanceof HeadersList){this[B]=new Map(r[B]);this[Q]=r[Q];this.cookies=r.cookies===null?null:[...r.cookies]}else{this[B]=new Map(r);this[Q]=null}}contains(r){r=r.toLowerCase();return this[B].has(r)}clear(){this[B].clear();this[Q]=null;this.cookies=null}append(r,A){this[Q]=null;const s=r.toLowerCase();const n=this[B].get(s);if(n){const r=s==="cookie"?"; ":", ";this[B].set(s,{name:n.name,value:`${n.value}${r}${A}`})}else{this[B].set(s,{name:r,value:A})}if(s==="set-cookie"){this.cookies??=[];this.cookies.push(A)}}set(r,A){this[Q]=null;const s=r.toLowerCase();if(s==="set-cookie"){this.cookies=[A]}this[B].set(s,{name:r,value:A})}delete(r){this[Q]=null;r=r.toLowerCase();if(r==="set-cookie"){this.cookies=null}this[B].delete(r)}get(r){const A=this[B].get(r.toLowerCase());return A===undefined?null:A.value}*[Symbol.iterator](){for(const[r,{value:A}]of this[B]){yield[r,A]}}get entries(){const r={};if(this[B].size){for(const{name:A,value:s}of this[B].values()){r[A]=s}}return r}}class Headers{constructor(r=undefined){if(r===a){return}this[n]=new HeadersList;this[u]="none";if(r!==undefined){r=p.converters.HeadersInit(r);fill(this,r)}}append(r,A){p.brandCheck(this,Headers);p.argumentLengthCheck(arguments,2,{header:"Headers.append"});r=p.converters.ByteString(r);A=p.converters.ByteString(A);return appendHeader(this,r,A)}delete(r){p.brandCheck(this,Headers);p.argumentLengthCheck(arguments,1,{header:"Headers.delete"});r=p.converters.ByteString(r);if(!E(r)){throw p.errors.invalidArgument({prefix:"Headers.delete",value:r,type:"header name"})}if(this[u]==="immutable"){throw new TypeError("immutable")}else if(this[u]==="request-no-cors"){}if(!this[n].contains(r)){return}this[n].delete(r)}get(r){p.brandCheck(this,Headers);p.argumentLengthCheck(arguments,1,{header:"Headers.get"});r=p.converters.ByteString(r);if(!E(r)){throw p.errors.invalidArgument({prefix:"Headers.get",value:r,type:"header name"})}return this[n].get(r)}has(r){p.brandCheck(this,Headers);p.argumentLengthCheck(arguments,1,{header:"Headers.has"});r=p.converters.ByteString(r);if(!E(r)){throw p.errors.invalidArgument({prefix:"Headers.has",value:r,type:"header name"})}return this[n].contains(r)}set(r,A){p.brandCheck(this,Headers);p.argumentLengthCheck(arguments,2,{header:"Headers.set"});r=p.converters.ByteString(r);A=p.converters.ByteString(A);A=headerValueNormalize(A);if(!E(r)){throw p.errors.invalidArgument({prefix:"Headers.set",value:r,type:"header name"})}else if(!d(A)){throw p.errors.invalidArgument({prefix:"Headers.set",value:A,type:"header value"})}if(this[u]==="immutable"){throw new TypeError("immutable")}else if(this[u]==="request-no-cors"){}this[n].set(r,A)}getSetCookie(){p.brandCheck(this,Headers);const r=this[n].cookies;if(r){return[...r]}return[]}get[Q](){if(this[n][Q]){return this[n][Q]}const r=[];const A=[...this[n]].sort(((r,A)=>r[0]r),"Headers","key")}return g((()=>[...this[Q].values()]),"Headers","key")}values(){p.brandCheck(this,Headers);if(this[u]==="immutable"){const r=this[Q];return g((()=>r),"Headers","value")}return g((()=>[...this[Q].values()]),"Headers","value")}entries(){p.brandCheck(this,Headers);if(this[u]==="immutable"){const r=this[Q];return g((()=>r),"Headers","key+value")}return g((()=>[...this[Q].values()]),"Headers","key+value")}forEach(r,A=globalThis){p.brandCheck(this,Headers);p.argumentLengthCheck(arguments,1,{header:"Headers.forEach"});if(typeof r!=="function"){throw new TypeError("Failed to execute 'forEach' on 'Headers': parameter 1 is not of type 'Function'.")}for(const[s,n]of this){r.apply(A,[n,s,this])}}[Symbol.for("nodejs.util.inspect.custom")](){p.brandCheck(this,Headers);return this[n]}}Headers.prototype[Symbol.iterator]=Headers.prototype.entries;Object.defineProperties(Headers.prototype,{append:l,delete:l,get:l,has:l,set:l,getSetCookie:l,keys:l,values:l,entries:l,forEach:l,[Symbol.iterator]:{enumerable:false},[Symbol.toStringTag]:{value:"Headers",configurable:true}});p.converters.HeadersInit=function(r){if(p.util.Type(r)==="Object"){if(r[Symbol.iterator]){return p.converters["sequence>"](r)}return p.converters["record"](r)}throw p.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence>","record"]})};r.exports={fill:fill,Headers:Headers,HeadersList:HeadersList}},8358:(r,A,s)=>{const{Response:n,makeNetworkError:a,makeAppropriateNetworkError:u,filterResponse:l,makeResponse:g}=s(5683);const{Headers:E}=s(2908);const{Request:d,makeRequest:p}=s(5767);const C=s(3106);const{bytesMatch:B,makePolicyContainer:Q,clonePolicyContainer:I,requestBadPort:m,TAOCheck:y,appendRequestOriginHeader:w,responseLocationURL:D,requestCurrentURL:b,setRequestReferrerPolicyOnRedirect:R,tryUpgradeRequestToAPotentiallyTrustworthyURL:S,createOpaqueTimingInfo:k,appendFetchMetadata:F,corsCheck:T,crossOriginResourcePolicyCheck:N,determineRequestsReferrer:v,coarsenedSharedCurrentTime:_,createDeferredPromise:U,isBlobLike:L,sameOrigin:M,isCancelled:P,isAborted:G,isErrorLike:x,fullyReadBody:O,readableStreamClose:H,isomorphicEncode:Y,urlIsLocal:J,urlIsHttpHttpsScheme:V,urlHasHttpsScheme:W}=s(2696);const{kState:q,kHeaders:j,kGuard:K,kRealm:$}=s(8323);const z=s(2613);const{safelyExtractBody:Z}=s(1380);const{redirectStatusSet:X,nullBodyStatus:ee,safeMethodsSet:te,requestBodyHeader:re,subresourceSet:Ae,DOMException:se}=s(4135);const{kHeadersList:ne}=s(4856);const oe=s(4434);const{Readable:ie,pipeline:ae}=s(2203);const{addAbortListener:ce,isErrored:ue,isReadable:le,nodeMajor:ge,nodeMinor:he}=s(3465);const{dataURLProcessor:Ee,serializeAMimeType:de}=s(3911);const{TransformStream:pe}=s(3774);const{getGlobalDispatcher:fe}=s(7882);const{webidl:Ce}=s(29);const{STATUS_CODES:Be}=s(8611);const Qe=["GET","HEAD"];let Ie;let me=globalThis.ReadableStream;class Fetch extends oe{constructor(r){super();this.dispatcher=r;this.connection=null;this.dump=false;this.state="ongoing";this.setMaxListeners(21)}terminate(r){if(this.state!=="ongoing"){return}this.state="terminated";this.connection?.destroy(r);this.emit("terminated",r)}abort(r){if(this.state!=="ongoing"){return}this.state="aborted";if(!r){r=new se("The operation was aborted.","AbortError")}this.serializedAbortReason=r;this.connection?.destroy(r);this.emit("terminated",r)}}function fetch(r,A={}){Ce.argumentLengthCheck(arguments,1,{header:"globalThis.fetch"});const s=U();let a;try{a=new d(r,A)}catch(r){s.reject(r);return s.promise}const u=a[q];if(a.signal.aborted){abortFetch(s,u,null,a.signal.reason);return s.promise}const l=u.client.globalObject;if(l?.constructor?.name==="ServiceWorkerGlobalScope"){u.serviceWorkers="none"}let g=null;const E=null;let p=false;let C=null;ce(a.signal,(()=>{p=true;z(C!=null);C.abort(a.signal.reason);abortFetch(s,u,g,a.signal.reason)}));const handleFetchDone=r=>finalizeAndReportTiming(r,"fetch");const processResponse=r=>{if(p){return Promise.resolve()}if(r.aborted){abortFetch(s,u,g,C.serializedAbortReason);return Promise.resolve()}if(r.type==="error"){s.reject(Object.assign(new TypeError("fetch failed"),{cause:r.error}));return Promise.resolve()}g=new n;g[q]=r;g[$]=E;g[j][ne]=r.headersList;g[j][K]="immutable";g[j][$]=E;s.resolve(g)};C=fetching({request:u,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:A.dispatcher??fe()});return s.promise}function finalizeAndReportTiming(r,A="other"){if(r.type==="error"&&r.aborted){return}if(!r.urlList?.length){return}const s=r.urlList[0];let n=r.timingInfo;let a=r.cacheState;if(!V(s)){return}if(n===null){return}if(!r.timingAllowPassed){n=k({startTime:n.startTime});a=""}n.endTime=_();r.timingInfo=n;markResourceTiming(n,s,A,globalThis,a)}function markResourceTiming(r,A,s,n,a){if(ge>18||ge===18&&he>=2){performance.markResourceTiming(r,A.href,s,n,a)}}function abortFetch(r,A,s,n){if(!n){n=new se("The operation was aborted.","AbortError")}r.reject(n);if(A.body!=null&&le(A.body?.stream)){A.body.stream.cancel(n).catch((r=>{if(r.code==="ERR_INVALID_STATE"){return}throw r}))}if(s==null){return}const a=s[q];if(a.body!=null&&le(a.body?.stream)){a.body.stream.cancel(n).catch((r=>{if(r.code==="ERR_INVALID_STATE"){return}throw r}))}}function fetching({request:r,processRequestBodyChunkLength:A,processRequestEndOfBody:s,processResponse:n,processResponseEndOfBody:a,processResponseConsumeBody:u,useParallelQueue:l=false,dispatcher:g}){let E=null;let d=false;if(r.client!=null){E=r.client.globalObject;d=r.client.crossOriginIsolatedCapability}const p=_(d);const C=k({startTime:p});const B={controller:new Fetch(g),request:r,timingInfo:C,processRequestBodyChunkLength:A,processRequestEndOfBody:s,processResponse:n,processResponseConsumeBody:u,processResponseEndOfBody:a,taskDestination:E,crossOriginIsolatedCapability:d};z(!r.body||r.body.stream);if(r.window==="client"){r.window=r.client?.globalObject?.constructor?.name==="Window"?r.client:"no-window"}if(r.origin==="client"){r.origin=r.client?.origin}if(r.policyContainer==="client"){if(r.client!=null){r.policyContainer=I(r.client.policyContainer)}else{r.policyContainer=Q()}}if(!r.headersList.contains("accept")){const A="*/*";r.headersList.append("accept",A)}if(!r.headersList.contains("accept-language")){r.headersList.append("accept-language","*")}if(r.priority===null){}if(Ae.has(r.destination)){}mainFetch(B).catch((r=>{B.controller.terminate(r)}));return B.controller}async function mainFetch(r,A=false){const s=r.request;let n=null;if(s.localURLsOnly&&!J(b(s))){n=a("local URLs only")}S(s);if(m(s)==="blocked"){n=a("bad port")}if(s.referrerPolicy===""){s.referrerPolicy=s.policyContainer.referrerPolicy}if(s.referrer!=="no-referrer"){s.referrer=v(s)}if(n===null){n=await(async()=>{const A=b(s);if(M(A,s.url)&&s.responseTainting==="basic"||A.protocol==="data:"||(s.mode==="navigate"||s.mode==="websocket")){s.responseTainting="basic";return await schemeFetch(r)}if(s.mode==="same-origin"){return a('request mode cannot be "same-origin"')}if(s.mode==="no-cors"){if(s.redirect!=="follow"){return a('redirect mode cannot be "follow" for "no-cors" request')}s.responseTainting="opaque";return await schemeFetch(r)}if(!V(b(s))){return a("URL scheme must be a HTTP(S) scheme")}s.responseTainting="cors";return await httpFetch(r)})()}if(A){return n}if(n.status!==0&&!n.internalResponse){if(s.responseTainting==="cors"){}if(s.responseTainting==="basic"){n=l(n,"basic")}else if(s.responseTainting==="cors"){n=l(n,"cors")}else if(s.responseTainting==="opaque"){n=l(n,"opaque")}else{z(false)}}let u=n.status===0?n:n.internalResponse;if(u.urlList.length===0){u.urlList.push(...s.urlList)}if(!s.timingAllowFailed){n.timingAllowPassed=true}if(n.type==="opaque"&&u.status===206&&u.rangeRequested&&!s.headers.contains("range")){n=u=a()}if(n.status!==0&&(s.method==="HEAD"||s.method==="CONNECT"||ee.includes(u.status))){u.body=null;r.controller.dump=true}if(s.integrity){const processBodyError=A=>fetchFinale(r,a(A));if(s.responseTainting==="opaque"||n.body==null){processBodyError(n.error);return}const processBody=A=>{if(!B(A,s.integrity)){processBodyError("integrity mismatch");return}n.body=Z(A)[0];fetchFinale(r,n)};await O(n.body,processBody,processBodyError)}else{fetchFinale(r,n)}}function schemeFetch(r){if(P(r)&&r.request.redirectCount===0){return Promise.resolve(u(r))}const{request:A}=r;const{protocol:n}=b(A);switch(n){case"about:":{return Promise.resolve(a("about scheme is not supported"))}case"blob:":{if(!Ie){Ie=s(181).resolveObjectURL}const r=b(A);if(r.search.length!==0){return Promise.resolve(a("NetworkError when attempting to fetch resource."))}const n=Ie(r.toString());if(A.method!=="GET"||!L(n)){return Promise.resolve(a("invalid method"))}const u=Z(n);const l=u[0];const E=Y(`${l.length}`);const d=u[1]??"";const p=g({statusText:"OK",headersList:[["content-length",{name:"Content-Length",value:E}],["content-type",{name:"Content-Type",value:d}]]});p.body=l;return Promise.resolve(p)}case"data:":{const r=b(A);const s=Ee(r);if(s==="failure"){return Promise.resolve(a("failed to fetch the data URL"))}const n=de(s.mimeType);return Promise.resolve(g({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:n}]],body:Z(s.body)[0]}))}case"file:":{return Promise.resolve(a("not implemented... yet..."))}case"http:":case"https:":{return httpFetch(r).catch((r=>a(r)))}default:{return Promise.resolve(a("unknown scheme"))}}}function finalizeResponse(r,A){r.request.done=true;if(r.processResponseDone!=null){queueMicrotask((()=>r.processResponseDone(A)))}}function fetchFinale(r,A){if(A.type==="error"){A.urlList=[r.request.urlList[0]];A.timingInfo=k({startTime:r.timingInfo.startTime})}const processResponseEndOfBody=()=>{r.request.done=true;if(r.processResponseEndOfBody!=null){queueMicrotask((()=>r.processResponseEndOfBody(A)))}};if(r.processResponse!=null){queueMicrotask((()=>r.processResponse(A)))}if(A.body==null){processResponseEndOfBody()}else{const identityTransformAlgorithm=(r,A)=>{A.enqueue(r)};const r=new pe({start(){},transform:identityTransformAlgorithm,flush:processResponseEndOfBody},{size(){return 1}},{size(){return 1}});A.body={stream:A.body.stream.pipeThrough(r)}}if(r.processResponseConsumeBody!=null){const processBody=s=>r.processResponseConsumeBody(A,s);const processBodyError=s=>r.processResponseConsumeBody(A,s);if(A.body==null){queueMicrotask((()=>processBody(null)))}else{return O(A.body,processBody,processBodyError)}return Promise.resolve()}}async function httpFetch(r){const A=r.request;let s=null;let n=null;const u=r.timingInfo;if(A.serviceWorkers==="all"){}if(s===null){if(A.redirect==="follow"){A.serviceWorkers="none"}n=s=await httpNetworkOrCacheFetch(r);if(A.responseTainting==="cors"&&T(A,s)==="failure"){return a("cors failure")}if(y(A,s)==="failure"){A.timingAllowFailed=true}}if((A.responseTainting==="opaque"||s.type==="opaque")&&N(A.origin,A.client,A.destination,n)==="blocked"){return a("blocked")}if(X.has(n.status)){if(A.redirect!=="manual"){r.controller.connection.destroy()}if(A.redirect==="error"){s=a("unexpected redirect")}else if(A.redirect==="manual"){s=n}else if(A.redirect==="follow"){s=await httpRedirectFetch(r,s)}else{z(false)}}s.timingInfo=u;return s}function httpRedirectFetch(r,A){const s=r.request;const n=A.internalResponse?A.internalResponse:A;let u;try{u=D(n,b(s).hash);if(u==null){return A}}catch(r){return Promise.resolve(a(r))}if(!V(u)){return Promise.resolve(a("URL scheme must be a HTTP(S) scheme"))}if(s.redirectCount===20){return Promise.resolve(a("redirect count exceeded"))}s.redirectCount+=1;if(s.mode==="cors"&&(u.username||u.password)&&!M(s,u)){return Promise.resolve(a('cross origin not allowed for request mode "cors"'))}if(s.responseTainting==="cors"&&(u.username||u.password)){return Promise.resolve(a('URL cannot contain credentials for request mode "cors"'))}if(n.status!==303&&s.body!=null&&s.body.source==null){return Promise.resolve(a())}if([301,302].includes(n.status)&&s.method==="POST"||n.status===303&&!Qe.includes(s.method)){s.method="GET";s.body=null;for(const r of re){s.headersList.delete(r)}}if(!M(b(s),u)){s.headersList.delete("authorization");s.headersList.delete("proxy-authorization",true);s.headersList.delete("cookie");s.headersList.delete("host")}if(s.body!=null){z(s.body.source!=null);s.body=Z(s.body.source)[0]}const l=r.timingInfo;l.redirectEndTime=l.postRedirectStartTime=_(r.crossOriginIsolatedCapability);if(l.redirectStartTime===0){l.redirectStartTime=l.startTime}s.urlList.push(u);R(s,n);return mainFetch(r,true)}async function httpNetworkOrCacheFetch(r,A=false,s=false){const n=r.request;let l=null;let g=null;let E=null;const d=null;const C=false;if(n.window==="no-window"&&n.redirect==="error"){l=r;g=n}else{g=p(n);l={...r};l.request=g}const B=n.credentials==="include"||n.credentials==="same-origin"&&n.responseTainting==="basic";const Q=g.body?g.body.length:null;let I=null;if(g.body==null&&["POST","PUT"].includes(g.method)){I="0"}if(Q!=null){I=Y(`${Q}`)}if(I!=null){g.headersList.append("content-length",I)}if(Q!=null&&g.keepalive){}if(g.referrer instanceof URL){g.headersList.append("referer",Y(g.referrer.href))}w(g);F(g);if(!g.headersList.contains("user-agent")){g.headersList.append("user-agent",typeof esbuildDetection==="undefined"?"undici":"node")}if(g.cache==="default"&&(g.headersList.contains("if-modified-since")||g.headersList.contains("if-none-match")||g.headersList.contains("if-unmodified-since")||g.headersList.contains("if-match")||g.headersList.contains("if-range"))){g.cache="no-store"}if(g.cache==="no-cache"&&!g.preventNoCacheCacheControlHeaderModification&&!g.headersList.contains("cache-control")){g.headersList.append("cache-control","max-age=0")}if(g.cache==="no-store"||g.cache==="reload"){if(!g.headersList.contains("pragma")){g.headersList.append("pragma","no-cache")}if(!g.headersList.contains("cache-control")){g.headersList.append("cache-control","no-cache")}}if(g.headersList.contains("range")){g.headersList.append("accept-encoding","identity")}if(!g.headersList.contains("accept-encoding")){if(W(b(g))){g.headersList.append("accept-encoding","br, gzip, deflate")}else{g.headersList.append("accept-encoding","gzip, deflate")}}g.headersList.delete("host");if(B){}if(d==null){g.cache="no-store"}if(g.mode!=="no-store"&&g.mode!=="reload"){}if(E==null){if(g.mode==="only-if-cached"){return a("only if cached")}const r=await httpNetworkFetch(l,B,s);if(!te.has(g.method)&&r.status>=200&&r.status<=399){}if(C&&r.status===304){}if(E==null){E=r}}E.urlList=[...g.urlList];if(g.headersList.contains("range")){E.rangeRequested=true}E.requestIncludesCredentials=B;if(E.status===407){if(n.window==="no-window"){return a()}if(P(r)){return u(r)}return a("proxy authentication required")}if(E.status===421&&!s&&(n.body==null||n.body.source!=null)){if(P(r)){return u(r)}r.controller.connection.destroy();E=await httpNetworkOrCacheFetch(r,A,true)}if(A){}return E}async function httpNetworkFetch(r,A=false,n=false){z(!r.controller.connection||r.controller.connection.destroyed);r.controller.connection={abort:null,destroyed:false,destroy(r){if(!this.destroyed){this.destroyed=true;this.abort?.(r??new se("The operation was aborted.","AbortError"))}}};const l=r.request;let d=null;const p=r.timingInfo;const B=null;if(B==null){l.cache="no-store"}const Q=n?"yes":"no";if(l.mode==="websocket"){}else{}let I=null;if(l.body==null&&r.processRequestEndOfBody){queueMicrotask((()=>r.processRequestEndOfBody()))}else if(l.body!=null){const processBodyChunk=async function*(A){if(P(r)){return}yield A;r.processRequestBodyChunkLength?.(A.byteLength)};const processEndOfBody=()=>{if(P(r)){return}if(r.processRequestEndOfBody){r.processRequestEndOfBody()}};const processBodyError=A=>{if(P(r)){return}if(A.name==="AbortError"){r.controller.abort()}else{r.controller.terminate(A)}};I=async function*(){try{for await(const r of l.body.stream){yield*processBodyChunk(r)}processEndOfBody()}catch(r){processBodyError(r)}}()}try{const{body:A,status:s,statusText:n,headersList:a,socket:u}=await dispatch({body:I});if(u){d=g({status:s,statusText:n,headersList:a,socket:u})}else{const u=A[Symbol.asyncIterator]();r.controller.next=()=>u.next();d=g({status:s,statusText:n,headersList:a})}}catch(A){if(A.name==="AbortError"){r.controller.connection.destroy();return u(r,A)}return a(A)}const pullAlgorithm=()=>{r.controller.resume()};const cancelAlgorithm=A=>{r.controller.abort(A)};if(!me){me=s(3774).ReadableStream}const m=new me({async start(A){r.controller.controller=A},async pull(r){await pullAlgorithm(r)},async cancel(r){await cancelAlgorithm(r)}},{highWaterMark:0,size(){return 1}});d.body={stream:m};r.controller.on("terminated",onAborted);r.controller.resume=async()=>{while(true){let A;let s;try{const{done:s,value:n}=await r.controller.next();if(G(r)){break}A=s?undefined:n}catch(n){if(r.controller.ended&&!p.encodedBodySize){A=undefined}else{A=n;s=true}}if(A===undefined){H(r.controller.controller);finalizeResponse(r,d);return}p.decodedBodySize+=A?.byteLength??0;if(s){r.controller.terminate(A);return}r.controller.controller.enqueue(new Uint8Array(A));if(ue(m)){r.controller.terminate();return}if(!r.controller.controller.desiredSize){return}}};function onAborted(A){if(G(r)){d.aborted=true;if(le(m)){r.controller.controller.error(r.controller.serializedAbortReason)}}else{if(le(m)){r.controller.controller.error(new TypeError("terminated",{cause:x(A)?A:undefined}))}}r.controller.connection.destroy()}return d;async function dispatch({body:A}){const s=b(l);const n=r.controller.dispatcher;return new Promise(((a,u)=>n.dispatch({path:s.pathname+s.search,origin:s.origin,method:l.method,body:r.controller.dispatcher.isMockActive?l.body&&(l.body.source||l.body.stream):A,headers:l.headersList.entries,maxRedirections:0,upgrade:l.mode==="websocket"?"websocket":undefined},{body:null,abort:null,onConnect(A){const{connection:s}=r.controller;if(s.destroyed){A(new se("The operation was aborted.","AbortError"))}else{r.controller.on("terminated",A);this.abort=s.abort=A}},onHeaders(r,A,s,n){if(r<200){return}let u=[];let g="";const d=new E;if(Array.isArray(A)){for(let r=0;rr.trim()))}else if(s.toLowerCase()==="location"){g=n}d[ne].append(s,n)}}else{const r=Object.keys(A);for(const s of r){const r=A[s];if(s.toLowerCase()==="content-encoding"){u=r.toLowerCase().split(",").map((r=>r.trim())).reverse()}else if(s.toLowerCase()==="location"){g=r}d[ne].append(s,r)}}this.body=new ie({read:s});const p=[];const B=l.redirect==="follow"&&g&&X.has(r);if(l.method!=="HEAD"&&l.method!=="CONNECT"&&!ee.includes(r)&&!B){for(const r of u){if(r==="x-gzip"||r==="gzip"){p.push(C.createGunzip({flush:C.constants.Z_SYNC_FLUSH,finishFlush:C.constants.Z_SYNC_FLUSH}))}else if(r==="deflate"){p.push(C.createInflate())}else if(r==="br"){p.push(C.createBrotliDecompress())}else{p.length=0;break}}}a({status:r,statusText:n,headersList:d[ne],body:p.length?ae(this.body,...p,(()=>{})):this.body.on("error",(()=>{}))});return true},onData(A){if(r.controller.dump){return}const s=A;p.encodedBodySize+=s.byteLength;return this.body.push(s)},onComplete(){if(this.abort){r.controller.off("terminated",this.abort)}r.controller.ended=true;this.body.push(null)},onError(A){if(this.abort){r.controller.off("terminated",this.abort)}this.body?.destroy(A);r.controller.terminate(A);u(A)},onUpgrade(r,A,s){if(r!==101){return}const n=new E;for(let r=0;r{const{extractBody:n,mixinBody:a,cloneBody:u}=s(1380);const{Headers:l,fill:g,HeadersList:E}=s(2908);const{FinalizationRegistry:d}=s(547)();const p=s(3465);const{isValidHTTPToken:C,sameOrigin:B,normalizeMethod:Q,makePolicyContainer:I,normalizeMethodRecord:m}=s(2696);const{forbiddenMethodsSet:y,corsSafeListedMethodsSet:w,referrerPolicy:D,requestRedirect:b,requestMode:R,requestCredentials:S,requestCache:k,requestDuplex:F}=s(4135);const{kEnumerableProperty:T}=p;const{kHeaders:N,kSignal:v,kState:_,kGuard:U,kRealm:L}=s(8323);const{webidl:M}=s(29);const{getGlobalOrigin:P}=s(9963);const{URLSerializer:G}=s(3911);const{kHeadersList:x,kConstruct:O}=s(4856);const H=s(2613);const{getMaxListeners:Y,setMaxListeners:J,getEventListeners:V,defaultMaxListeners:W}=s(4434);let q=globalThis.TransformStream;const j=Symbol("abortController");const K=new d((({signal:r,abort:A})=>{r.removeEventListener("abort",A)}));class Request{constructor(r,A={}){if(r===O){return}M.argumentLengthCheck(arguments,1,{header:"Request constructor"});r=M.converters.RequestInfo(r);A=M.converters.RequestInit(A);this[L]={settingsObject:{baseUrl:P(),get origin(){return this.baseUrl?.origin},policyContainer:I()}};let a=null;let u=null;const d=this[L].settingsObject.baseUrl;let D=null;if(typeof r==="string"){let A;try{A=new URL(r,d)}catch(A){throw new TypeError("Failed to parse URL from "+r,{cause:A})}if(A.username||A.password){throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+r)}a=makeRequest({urlList:[A]});u="cors"}else{H(r instanceof Request);a=r[_];D=r[v]}const b=this[L].settingsObject.origin;let R="client";if(a.window?.constructor?.name==="EnvironmentSettingsObject"&&B(a.window,b)){R=a.window}if(A.window!=null){throw new TypeError(`'window' option '${R}' must be null`)}if("window"in A){R="no-window"}a=makeRequest({method:a.method,headersList:a.headersList,unsafeRequest:a.unsafeRequest,client:this[L].settingsObject,window:R,priority:a.priority,origin:a.origin,referrer:a.referrer,referrerPolicy:a.referrerPolicy,mode:a.mode,credentials:a.credentials,cache:a.cache,redirect:a.redirect,integrity:a.integrity,keepalive:a.keepalive,reloadNavigation:a.reloadNavigation,historyNavigation:a.historyNavigation,urlList:[...a.urlList]});const S=Object.keys(A).length!==0;if(S){if(a.mode==="navigate"){a.mode="same-origin"}a.reloadNavigation=false;a.historyNavigation=false;a.origin="client";a.referrer="client";a.referrerPolicy="";a.url=a.urlList[a.urlList.length-1];a.urlList=[a.url]}if(A.referrer!==undefined){const r=A.referrer;if(r===""){a.referrer="no-referrer"}else{let A;try{A=new URL(r,d)}catch(A){throw new TypeError(`Referrer "${r}" is not a valid URL.`,{cause:A})}if(A.protocol==="about:"&&A.hostname==="client"||b&&!B(A,this[L].settingsObject.baseUrl)){a.referrer="client"}else{a.referrer=A}}}if(A.referrerPolicy!==undefined){a.referrerPolicy=A.referrerPolicy}let k;if(A.mode!==undefined){k=A.mode}else{k=u}if(k==="navigate"){throw M.errors.exception({header:"Request constructor",message:"invalid request mode navigate."})}if(k!=null){a.mode=k}if(A.credentials!==undefined){a.credentials=A.credentials}if(A.cache!==undefined){a.cache=A.cache}if(a.cache==="only-if-cached"&&a.mode!=="same-origin"){throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode")}if(A.redirect!==undefined){a.redirect=A.redirect}if(A.integrity!=null){a.integrity=String(A.integrity)}if(A.keepalive!==undefined){a.keepalive=Boolean(A.keepalive)}if(A.method!==undefined){let r=A.method;if(!C(r)){throw new TypeError(`'${r}' is not a valid HTTP method.`)}if(y.has(r.toUpperCase())){throw new TypeError(`'${r}' HTTP method is unsupported.`)}r=m[r]??Q(r);a.method=r}if(A.signal!==undefined){D=A.signal}this[_]=a;const F=new AbortController;this[v]=F.signal;this[v][L]=this[L];if(D!=null){if(!D||typeof D.aborted!=="boolean"||typeof D.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(D.aborted){F.abort(D.reason)}else{this[j]=F;const r=new WeakRef(F);const abort=function(){const A=r.deref();if(A!==undefined){A.abort(this.reason)}};try{if(typeof Y==="function"&&Y(D)===W){J(100,D)}else if(V(D,"abort").length>=W){J(100,D)}}catch{}p.addAbortListener(D,abort);K.register(F,{signal:D,abort:abort})}}this[N]=new l(O);this[N][x]=a.headersList;this[N][U]="request";this[N][L]=this[L];if(k==="no-cors"){if(!w.has(a.method)){throw new TypeError(`'${a.method} is unsupported in no-cors mode.`)}this[N][U]="request-no-cors"}if(S){const r=this[N][x];const s=A.headers!==undefined?A.headers:new E(r);r.clear();if(s instanceof E){for(const[A,n]of s){r.append(A,n)}r.cookies=s.cookies}else{g(this[N],s)}}const T=r instanceof Request?r[_].body:null;if((A.body!=null||T!=null)&&(a.method==="GET"||a.method==="HEAD")){throw new TypeError("Request with GET/HEAD method cannot have body.")}let G=null;if(A.body!=null){const[r,s]=n(A.body,a.keepalive);G=r;if(s&&!this[N][x].contains("content-type")){this[N].append("content-type",s)}}const $=G??T;if($!=null&&$.source==null){if(G!=null&&A.duplex==null){throw new TypeError("RequestInit: duplex option is required when sending a body.")}if(a.mode!=="same-origin"&&a.mode!=="cors"){throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"')}a.useCORSPreflightFlag=true}let z=$;if(G==null&&T!=null){if(p.isDisturbed(T.stream)||T.stream.locked){throw new TypeError("Cannot construct a Request with a Request object that has already been used.")}if(!q){q=s(3774).TransformStream}const r=new q;T.stream.pipeThrough(r);z={source:T.source,length:T.length,stream:r.readable}}this[_].body=z}get method(){M.brandCheck(this,Request);return this[_].method}get url(){M.brandCheck(this,Request);return G(this[_].url)}get headers(){M.brandCheck(this,Request);return this[N]}get destination(){M.brandCheck(this,Request);return this[_].destination}get referrer(){M.brandCheck(this,Request);if(this[_].referrer==="no-referrer"){return""}if(this[_].referrer==="client"){return"about:client"}return this[_].referrer.toString()}get referrerPolicy(){M.brandCheck(this,Request);return this[_].referrerPolicy}get mode(){M.brandCheck(this,Request);return this[_].mode}get credentials(){return this[_].credentials}get cache(){M.brandCheck(this,Request);return this[_].cache}get redirect(){M.brandCheck(this,Request);return this[_].redirect}get integrity(){M.brandCheck(this,Request);return this[_].integrity}get keepalive(){M.brandCheck(this,Request);return this[_].keepalive}get isReloadNavigation(){M.brandCheck(this,Request);return this[_].reloadNavigation}get isHistoryNavigation(){M.brandCheck(this,Request);return this[_].historyNavigation}get signal(){M.brandCheck(this,Request);return this[v]}get body(){M.brandCheck(this,Request);return this[_].body?this[_].body.stream:null}get bodyUsed(){M.brandCheck(this,Request);return!!this[_].body&&p.isDisturbed(this[_].body.stream)}get duplex(){M.brandCheck(this,Request);return"half"}clone(){M.brandCheck(this,Request);if(this.bodyUsed||this.body?.locked){throw new TypeError("unusable")}const r=cloneRequest(this[_]);const A=new Request(O);A[_]=r;A[L]=this[L];A[N]=new l(O);A[N][x]=r.headersList;A[N][U]=this[N][U];A[N][L]=this[N][L];const s=new AbortController;if(this.signal.aborted){s.abort(this.signal.reason)}else{p.addAbortListener(this.signal,(()=>{s.abort(this.signal.reason)}))}A[v]=s.signal;return A}}a(Request);function makeRequest(r){const A={method:"GET",localURLsOnly:false,unsafeRequest:false,body:null,client:null,reservedClient:null,replacesClientId:"",window:"client",keepalive:false,serviceWorkers:"all",initiator:"",destination:"",priority:null,origin:"client",policyContainer:"client",referrer:"client",referrerPolicy:"",mode:"no-cors",useCORSPreflightFlag:false,credentials:"same-origin",useCredentials:false,cache:"default",redirect:"follow",integrity:"",cryptoGraphicsNonceMetadata:"",parserMetadata:"",reloadNavigation:false,historyNavigation:false,userActivation:false,taintedOrigin:false,redirectCount:0,responseTainting:"basic",preventNoCacheCacheControlHeaderModification:false,done:false,timingAllowFailed:false,...r,headersList:r.headersList?new E(r.headersList):new E};A.url=A.urlList[0];return A}function cloneRequest(r){const A=makeRequest({...r,body:null});if(r.body!=null){A.body=u(r.body)}return A}Object.defineProperties(Request.prototype,{method:T,url:T,headers:T,redirect:T,clone:T,signal:T,duplex:T,destination:T,body:T,bodyUsed:T,isHistoryNavigation:T,isReloadNavigation:T,keepalive:T,integrity:T,cache:T,credentials:T,attribute:T,referrerPolicy:T,referrer:T,mode:T,[Symbol.toStringTag]:{value:"Request",configurable:true}});M.converters.Request=M.interfaceConverter(Request);M.converters.RequestInfo=function(r){if(typeof r==="string"){return M.converters.USVString(r)}if(r instanceof Request){return M.converters.Request(r)}return M.converters.USVString(r)};M.converters.AbortSignal=M.interfaceConverter(AbortSignal);M.converters.RequestInit=M.dictionaryConverter([{key:"method",converter:M.converters.ByteString},{key:"headers",converter:M.converters.HeadersInit},{key:"body",converter:M.nullableConverter(M.converters.BodyInit)},{key:"referrer",converter:M.converters.USVString},{key:"referrerPolicy",converter:M.converters.DOMString,allowedValues:D},{key:"mode",converter:M.converters.DOMString,allowedValues:R},{key:"credentials",converter:M.converters.DOMString,allowedValues:S},{key:"cache",converter:M.converters.DOMString,allowedValues:k},{key:"redirect",converter:M.converters.DOMString,allowedValues:b},{key:"integrity",converter:M.converters.DOMString},{key:"keepalive",converter:M.converters.boolean},{key:"signal",converter:M.nullableConverter((r=>M.converters.AbortSignal(r,{strict:false})))},{key:"window",converter:M.converters.any},{key:"duplex",converter:M.converters.DOMString,allowedValues:F}]);r.exports={Request:Request,makeRequest:makeRequest}},5683:(r,A,s)=>{const{Headers:n,HeadersList:a,fill:u}=s(2908);const{extractBody:l,cloneBody:g,mixinBody:E}=s(1380);const d=s(3465);const{kEnumerableProperty:p}=d;const{isValidReasonPhrase:C,isCancelled:B,isAborted:Q,isBlobLike:I,serializeJavascriptValueToJSONString:m,isErrorLike:y,isomorphicEncode:w}=s(2696);const{redirectStatusSet:D,nullBodyStatus:b,DOMException:R}=s(4135);const{kState:S,kHeaders:k,kGuard:F,kRealm:T}=s(8323);const{webidl:N}=s(29);const{FormData:v}=s(2894);const{getGlobalOrigin:_}=s(9963);const{URLSerializer:U}=s(3911);const{kHeadersList:L,kConstruct:M}=s(4856);const P=s(2613);const{types:G}=s(9023);const x=globalThis.ReadableStream||s(3774).ReadableStream;const O=new TextEncoder("utf-8");class Response{static error(){const r={settingsObject:{}};const A=new Response;A[S]=makeNetworkError();A[T]=r;A[k][L]=A[S].headersList;A[k][F]="immutable";A[k][T]=r;return A}static json(r,A={}){N.argumentLengthCheck(arguments,1,{header:"Response.json"});if(A!==null){A=N.converters.ResponseInit(A)}const s=O.encode(m(r));const n=l(s);const a={settingsObject:{}};const u=new Response;u[T]=a;u[k][F]="response";u[k][T]=a;initializeResponse(u,A,{body:n[0],type:"application/json"});return u}static redirect(r,A=302){const s={settingsObject:{}};N.argumentLengthCheck(arguments,1,{header:"Response.redirect"});r=N.converters.USVString(r);A=N.converters["unsigned short"](A);let n;try{n=new URL(r,_())}catch(A){throw Object.assign(new TypeError("Failed to parse URL from "+r),{cause:A})}if(!D.has(A)){throw new RangeError("Invalid status code "+A)}const a=new Response;a[T]=s;a[k][F]="immutable";a[k][T]=s;a[S].status=A;const u=w(U(n));a[S].headersList.append("location",u);return a}constructor(r=null,A={}){if(r!==null){r=N.converters.BodyInit(r)}A=N.converters.ResponseInit(A);this[T]={settingsObject:{}};this[S]=makeResponse({});this[k]=new n(M);this[k][F]="response";this[k][L]=this[S].headersList;this[k][T]=this[T];let s=null;if(r!=null){const[A,n]=l(r);s={body:A,type:n}}initializeResponse(this,A,s)}get type(){N.brandCheck(this,Response);return this[S].type}get url(){N.brandCheck(this,Response);const r=this[S].urlList;const A=r[r.length-1]??null;if(A===null){return""}return U(A,true)}get redirected(){N.brandCheck(this,Response);return this[S].urlList.length>1}get status(){N.brandCheck(this,Response);return this[S].status}get ok(){N.brandCheck(this,Response);return this[S].status>=200&&this[S].status<=299}get statusText(){N.brandCheck(this,Response);return this[S].statusText}get headers(){N.brandCheck(this,Response);return this[k]}get body(){N.brandCheck(this,Response);return this[S].body?this[S].body.stream:null}get bodyUsed(){N.brandCheck(this,Response);return!!this[S].body&&d.isDisturbed(this[S].body.stream)}clone(){N.brandCheck(this,Response);if(this.bodyUsed||this.body&&this.body.locked){throw N.errors.exception({header:"Response.clone",message:"Body has already been consumed."})}const r=cloneResponse(this[S]);const A=new Response;A[S]=r;A[T]=this[T];A[k][L]=r.headersList;A[k][F]=this[k][F];A[k][T]=this[k][T];return A}}E(Response);Object.defineProperties(Response.prototype,{type:p,url:p,status:p,ok:p,redirected:p,statusText:p,headers:p,clone:p,body:p,bodyUsed:p,[Symbol.toStringTag]:{value:"Response",configurable:true}});Object.defineProperties(Response,{json:p,redirect:p,error:p});function cloneResponse(r){if(r.internalResponse){return filterResponse(cloneResponse(r.internalResponse),r.type)}const A=makeResponse({...r,body:null});if(r.body!=null){A.body=g(r.body)}return A}function makeResponse(r){return{aborted:false,rangeRequested:false,timingAllowPassed:false,requestIncludesCredentials:false,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...r,headersList:r.headersList?new a(r.headersList):new a,urlList:r.urlList?[...r.urlList]:[]}}function makeNetworkError(r){const A=y(r);return makeResponse({type:"error",status:0,error:A?r:new Error(r?String(r):r),aborted:r&&r.name==="AbortError"})}function makeFilteredResponse(r,A){A={internalResponse:r,...A};return new Proxy(r,{get(r,s){return s in A?A[s]:r[s]},set(r,s,n){P(!(s in A));r[s]=n;return true}})}function filterResponse(r,A){if(A==="basic"){return makeFilteredResponse(r,{type:"basic",headersList:r.headersList})}else if(A==="cors"){return makeFilteredResponse(r,{type:"cors",headersList:r.headersList})}else if(A==="opaque"){return makeFilteredResponse(r,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null})}else if(A==="opaqueredirect"){return makeFilteredResponse(r,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null})}else{P(false)}}function makeAppropriateNetworkError(r,A=null){P(B(r));return Q(r)?makeNetworkError(Object.assign(new R("The operation was aborted.","AbortError"),{cause:A})):makeNetworkError(Object.assign(new R("Request was cancelled."),{cause:A}))}function initializeResponse(r,A,s){if(A.status!==null&&(A.status<200||A.status>599)){throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.')}if("statusText"in A&&A.statusText!=null){if(!C(String(A.statusText))){throw new TypeError("Invalid statusText")}}if("status"in A&&A.status!=null){r[S].status=A.status}if("statusText"in A&&A.statusText!=null){r[S].statusText=A.statusText}if("headers"in A&&A.headers!=null){u(r[k],A.headers)}if(s){if(b.includes(r.status)){throw N.errors.exception({header:"Response constructor",message:"Invalid response status code "+r.status})}r[S].body=s.body;if(s.type!=null&&!r[S].headersList.contains("Content-Type")){r[S].headersList.append("content-type",s.type)}}}N.converters.ReadableStream=N.interfaceConverter(x);N.converters.FormData=N.interfaceConverter(v);N.converters.URLSearchParams=N.interfaceConverter(URLSearchParams);N.converters.XMLHttpRequestBodyInit=function(r){if(typeof r==="string"){return N.converters.USVString(r)}if(I(r)){return N.converters.Blob(r,{strict:false})}if(G.isArrayBuffer(r)||G.isTypedArray(r)||G.isDataView(r)){return N.converters.BufferSource(r)}if(d.isFormDataLike(r)){return N.converters.FormData(r,{strict:false})}if(r instanceof URLSearchParams){return N.converters.URLSearchParams(r)}return N.converters.DOMString(r)};N.converters.BodyInit=function(r){if(r instanceof x){return N.converters.ReadableStream(r)}if(r?.[Symbol.asyncIterator]){return r}return N.converters.XMLHttpRequestBodyInit(r)};N.converters.ResponseInit=N.dictionaryConverter([{key:"status",converter:N.converters["unsigned short"],defaultValue:200},{key:"statusText",converter:N.converters.ByteString,defaultValue:""},{key:"headers",converter:N.converters.HeadersInit}]);r.exports={makeNetworkError:makeNetworkError,makeResponse:makeResponse,makeAppropriateNetworkError:makeAppropriateNetworkError,filterResponse:filterResponse,Response:Response,cloneResponse:cloneResponse}},8323:r=>{r.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},2696:(r,A,s)=>{const{redirectStatusSet:n,referrerPolicySet:a,badPortsSet:u}=s(4135);const{getGlobalOrigin:l}=s(9963);const{performance:g}=s(2987);const{isBlobLike:E,toUSVString:d,ReadableStreamFrom:p}=s(3465);const C=s(2613);const{isUint8Array:B}=s(8253);let Q=[];let I;try{I=s(6982);const r=["sha256","sha384","sha512"];Q=I.getHashes().filter((A=>r.includes(A)))}catch{}function responseURL(r){const A=r.urlList;const s=A.length;return s===0?null:A[s-1].toString()}function responseLocationURL(r,A){if(!n.has(r.status)){return null}let s=r.headersList.get("location");if(s!==null&&isValidHeaderValue(s)){s=new URL(s,responseURL(r))}if(s&&!s.hash){s.hash=A}return s}function requestCurrentURL(r){return r.urlList[r.urlList.length-1]}function requestBadPort(r){const A=requestCurrentURL(r);if(urlIsHttpHttpsScheme(A)&&u.has(A.port)){return"blocked"}return"allowed"}function isErrorLike(r){return r instanceof Error||(r?.constructor?.name==="Error"||r?.constructor?.name==="DOMException")}function isValidReasonPhrase(r){for(let A=0;A=32&&s<=126||s>=128&&s<=255)){return false}}return true}function isTokenCharCode(r){switch(r){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return false;default:return r>=33&&r<=126}}function isValidHTTPToken(r){if(r.length===0){return false}for(let A=0;A0){for(let r=n.length;r!==0;r--){const A=n[r-1].trim();if(a.has(A)){u=A;break}}}if(u!==""){r.referrerPolicy=u}}function crossOriginResourcePolicyCheck(){return"allowed"}function corsCheck(){return"success"}function TAOCheck(){return"success"}function appendFetchMetadata(r){let A=null;A=r.mode;r.headersList.set("sec-fetch-mode",A)}function appendRequestOriginHeader(r){let A=r.origin;if(r.responseTainting==="cors"||r.mode==="websocket"){if(A){r.headersList.append("origin",A)}}else if(r.method!=="GET"&&r.method!=="HEAD"){switch(r.referrerPolicy){case"no-referrer":A=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":if(r.origin&&urlHasHttpsScheme(r.origin)&&!urlHasHttpsScheme(requestCurrentURL(r))){A=null}break;case"same-origin":if(!sameOrigin(r,requestCurrentURL(r))){A=null}break;default:}if(A){r.headersList.append("origin",A)}}}function coarsenedSharedCurrentTime(r){return g.now()}function createOpaqueTimingInfo(r){return{startTime:r.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:r.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function makePolicyContainer(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function clonePolicyContainer(r){return{referrerPolicy:r.referrerPolicy}}function determineRequestsReferrer(r){const A=r.referrerPolicy;C(A);let s=null;if(r.referrer==="client"){const r=l();if(!r||r.origin==="null"){return"no-referrer"}s=new URL(r)}else if(r.referrer instanceof URL){s=r.referrer}let n=stripURLForReferrer(s);const a=stripURLForReferrer(s,true);if(n.toString().length>4096){n=a}const u=sameOrigin(r,n);const g=isURLPotentiallyTrustworthy(n)&&!isURLPotentiallyTrustworthy(r.url);switch(A){case"origin":return a!=null?a:stripURLForReferrer(s,true);case"unsafe-url":return n;case"same-origin":return u?a:"no-referrer";case"origin-when-cross-origin":return u?n:a;case"strict-origin-when-cross-origin":{const A=requestCurrentURL(r);if(sameOrigin(n,A)){return n}if(isURLPotentiallyTrustworthy(n)&&!isURLPotentiallyTrustworthy(A)){return"no-referrer"}return a}case"strict-origin":case"no-referrer-when-downgrade":default:return g?"no-referrer":a}}function stripURLForReferrer(r,A){C(r instanceof URL);if(r.protocol==="file:"||r.protocol==="about:"||r.protocol==="blank:"){return"no-referrer"}r.username="";r.password="";r.hash="";if(A){r.pathname="";r.search=""}return r}function isURLPotentiallyTrustworthy(r){if(!(r instanceof URL)){return false}if(r.href==="about:blank"||r.href==="about:srcdoc"){return true}if(r.protocol==="data:")return true;if(r.protocol==="file:")return true;return isOriginPotentiallyTrustworthy(r.origin);function isOriginPotentiallyTrustworthy(r){if(r==null||r==="null")return false;const A=new URL(r);if(A.protocol==="https:"||A.protocol==="wss:"){return true}if(/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(A.hostname)||(A.hostname==="localhost"||A.hostname.includes("localhost."))||A.hostname.endsWith(".localhost")){return true}return false}}function bytesMatch(r,A){if(I===undefined){return true}const s=parseMetadata(A);if(s==="no metadata"){return true}if(s.length===0){return true}const n=getStrongestMetadata(s);const a=filterMetadataListByAlgorithm(s,n);for(const A of a){const s=A.algo;const n=A.hash;let a=I.createHash(s).update(r).digest("base64");if(a[a.length-1]==="="){if(a[a.length-2]==="="){a=a.slice(0,-2)}else{a=a.slice(0,-1)}}if(compareBase64Mixed(a,n)){return true}}return false}const m=/(?sha256|sha384|sha512)-((?[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function parseMetadata(r){const A=[];let s=true;for(const n of r.split(" ")){s=false;const r=m.exec(n);if(r===null||r.groups===undefined||r.groups.algo===undefined){continue}const a=r.groups.algo.toLowerCase();if(Q.includes(a)){A.push(r.groups)}}if(s===true){return"no metadata"}return A}function getStrongestMetadata(r){let A=r[0].algo;if(A[3]==="5"){return A}for(let s=1;s{r=s;A=n}));return{promise:s,resolve:r,reject:A}}function isAborted(r){return r.controller.state==="aborted"}function isCancelled(r){return r.controller.state==="aborted"||r.controller.state==="terminated"}const y={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"};Object.setPrototypeOf(y,null);function normalizeMethod(r){return y[r.toLowerCase()]??r}function serializeJavascriptValueToJSONString(r){const A=JSON.stringify(r);if(A===undefined){throw new TypeError("Value is not JSON serializable")}C(typeof A==="string");return A}const w=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function makeIterator(r,A,s){const n={index:0,kind:s,target:r};const a={next(){if(Object.getPrototypeOf(this)!==a){throw new TypeError(`'next' called on an object that does not implement interface ${A} Iterator.`)}const{index:r,kind:s,target:u}=n;const l=u();const g=l.length;if(r>=g){return{value:undefined,done:true}}const E=l[r];n.index=r+1;return iteratorResult(E,s)},[Symbol.toStringTag]:`${A} Iterator`};Object.setPrototypeOf(a,w);return Object.setPrototypeOf({},a)}function iteratorResult(r,A){let s;switch(A){case"key":{s=r[0];break}case"value":{s=r[1];break}case"key+value":{s=r;break}}return{value:s,done:false}}async function fullyReadBody(r,A,s){const n=A;const a=s;let u;try{u=r.stream.getReader()}catch(r){a(r);return}try{const r=await readAllBytes(u);n(r)}catch(r){a(r)}}let D=globalThis.ReadableStream;function isReadableStreamLike(r){if(!D){D=s(3774).ReadableStream}return r instanceof D||r[Symbol.toStringTag]==="ReadableStream"&&typeof r.tee==="function"}const b=65535;function isomorphicDecode(r){if(r.lengthr+String.fromCharCode(A)),"")}function readableStreamClose(r){try{r.close()}catch(r){if(!r.message.includes("Controller is already closed")){throw r}}}function isomorphicEncode(r){for(let A=0;AObject.prototype.hasOwnProperty.call(r,A));r.exports={isAborted:isAborted,isCancelled:isCancelled,createDeferredPromise:createDeferredPromise,ReadableStreamFrom:p,toUSVString:d,tryUpgradeRequestToAPotentiallyTrustworthyURL:tryUpgradeRequestToAPotentiallyTrustworthyURL,coarsenedSharedCurrentTime:coarsenedSharedCurrentTime,determineRequestsReferrer:determineRequestsReferrer,makePolicyContainer:makePolicyContainer,clonePolicyContainer:clonePolicyContainer,appendFetchMetadata:appendFetchMetadata,appendRequestOriginHeader:appendRequestOriginHeader,TAOCheck:TAOCheck,corsCheck:corsCheck,crossOriginResourcePolicyCheck:crossOriginResourcePolicyCheck,createOpaqueTimingInfo:createOpaqueTimingInfo,setRequestReferrerPolicyOnRedirect:setRequestReferrerPolicyOnRedirect,isValidHTTPToken:isValidHTTPToken,requestBadPort:requestBadPort,requestCurrentURL:requestCurrentURL,responseURL:responseURL,responseLocationURL:responseLocationURL,isBlobLike:E,isURLPotentiallyTrustworthy:isURLPotentiallyTrustworthy,isValidReasonPhrase:isValidReasonPhrase,sameOrigin:sameOrigin,normalizeMethod:normalizeMethod,serializeJavascriptValueToJSONString:serializeJavascriptValueToJSONString,makeIterator:makeIterator,isValidHeaderName:isValidHeaderName,isValidHeaderValue:isValidHeaderValue,hasOwn:R,isErrorLike:isErrorLike,fullyReadBody:fullyReadBody,bytesMatch:bytesMatch,isReadableStreamLike:isReadableStreamLike,readableStreamClose:readableStreamClose,isomorphicEncode:isomorphicEncode,isomorphicDecode:isomorphicDecode,urlIsLocal:urlIsLocal,urlHasHttpsScheme:urlHasHttpsScheme,urlIsHttpHttpsScheme:urlIsHttpHttpsScheme,readAllBytes:readAllBytes,normalizeMethodRecord:y,parseMetadata:parseMetadata}},29:(r,A,s)=>{const{types:n}=s(9023);const{hasOwn:a,toUSVString:u}=s(2696);const l={};l.converters={};l.util={};l.errors={};l.errors.exception=function(r){return new TypeError(`${r.header}: ${r.message}`)};l.errors.conversionFailed=function(r){const A=r.types.length===1?"":" one of";const s=`${r.argument} could not be converted to`+`${A}: ${r.types.join(", ")}.`;return l.errors.exception({header:r.prefix,message:s})};l.errors.invalidArgument=function(r){return l.errors.exception({header:r.prefix,message:`"${r.value}" is an invalid ${r.type}.`})};l.brandCheck=function(r,A,s=undefined){if(s?.strict!==false&&!(r instanceof A)){throw new TypeError("Illegal invocation")}else{return r?.[Symbol.toStringTag]===A.prototype[Symbol.toStringTag]}};l.argumentLengthCheck=function({length:r},A,s){if(ra){throw l.errors.exception({header:"Integer conversion",message:`Value must be between ${u}-${a}, got ${g}.`})}return g}if(!Number.isNaN(g)&&n.clamp===true){g=Math.min(Math.max(g,u),a);if(Math.floor(g)%2===0){g=Math.floor(g)}else{g=Math.ceil(g)}return g}if(Number.isNaN(g)||g===0&&Object.is(0,g)||g===Number.POSITIVE_INFINITY||g===Number.NEGATIVE_INFINITY){return 0}g=l.util.IntegerPart(g);g=g%Math.pow(2,A);if(s==="signed"&&g>=Math.pow(2,A)-1){return g-Math.pow(2,A)}return g};l.util.IntegerPart=function(r){const A=Math.floor(Math.abs(r));if(r<0){return-1*A}return A};l.sequenceConverter=function(r){return A=>{if(l.util.Type(A)!=="Object"){throw l.errors.exception({header:"Sequence",message:`Value of type ${l.util.Type(A)} is not an Object.`})}const s=A?.[Symbol.iterator]?.();const n=[];if(s===undefined||typeof s.next!=="function"){throw l.errors.exception({header:"Sequence",message:"Object is not an iterator."})}while(true){const{done:A,value:a}=s.next();if(A){break}n.push(r(a))}return n}};l.recordConverter=function(r,A){return s=>{if(l.util.Type(s)!=="Object"){throw l.errors.exception({header:"Record",message:`Value of type ${l.util.Type(s)} is not an Object.`})}const a={};if(!n.isProxy(s)){const n=Object.keys(s);for(const u of n){const n=r(u);const l=A(s[u]);a[n]=l}return a}const u=Reflect.ownKeys(s);for(const n of u){const u=Reflect.getOwnPropertyDescriptor(s,n);if(u?.enumerable){const u=r(n);const l=A(s[n]);a[u]=l}}return a}};l.interfaceConverter=function(r){return(A,s={})=>{if(s.strict!==false&&!(A instanceof r)){throw l.errors.exception({header:r.name,message:`Expected ${A} to be an instance of ${r.name}.`})}return A}};l.dictionaryConverter=function(r){return A=>{const s=l.util.Type(A);const n={};if(s==="Null"||s==="Undefined"){return n}else if(s!=="Object"){throw l.errors.exception({header:"Dictionary",message:`Expected ${A} to be one of: Null, Undefined, Object.`})}for(const s of r){const{key:r,defaultValue:u,required:g,converter:E}=s;if(g===true){if(!a(A,r)){throw l.errors.exception({header:"Dictionary",message:`Missing required key "${r}".`})}}let d=A[r];const p=a(s,"defaultValue");if(p&&d!==null){d=d??u}if(g||p||d!==undefined){d=E(d);if(s.allowedValues&&!s.allowedValues.includes(d)){throw l.errors.exception({header:"Dictionary",message:`${d} is not an accepted type. Expected one of ${s.allowedValues.join(", ")}.`})}n[r]=d}}return n}};l.nullableConverter=function(r){return A=>{if(A===null){return A}return r(A)}};l.converters.DOMString=function(r,A={}){if(r===null&&A.legacyNullToEmptyString){return""}if(typeof r==="symbol"){throw new TypeError("Could not convert argument of type symbol to string.")}return String(r)};l.converters.ByteString=function(r){const A=l.converters.DOMString(r);for(let r=0;r255){throw new TypeError("Cannot convert argument to a ByteString because the character at "+`index ${r} has a value of ${A.charCodeAt(r)} which is greater than 255.`)}}return A};l.converters.USVString=u;l.converters.boolean=function(r){const A=Boolean(r);return A};l.converters.any=function(r){return r};l.converters["long long"]=function(r){const A=l.util.ConvertToInt(r,64,"signed");return A};l.converters["unsigned long long"]=function(r){const A=l.util.ConvertToInt(r,64,"unsigned");return A};l.converters["unsigned long"]=function(r){const A=l.util.ConvertToInt(r,32,"unsigned");return A};l.converters["unsigned short"]=function(r,A){const s=l.util.ConvertToInt(r,16,"unsigned",A);return s};l.converters.ArrayBuffer=function(r,A={}){if(l.util.Type(r)!=="Object"||!n.isAnyArrayBuffer(r)){throw l.errors.conversionFailed({prefix:`${r}`,argument:`${r}`,types:["ArrayBuffer"]})}if(A.allowShared===false&&n.isSharedArrayBuffer(r)){throw l.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return r};l.converters.TypedArray=function(r,A,s={}){if(l.util.Type(r)!=="Object"||!n.isTypedArray(r)||r.constructor.name!==A.name){throw l.errors.conversionFailed({prefix:`${A.name}`,argument:`${r}`,types:[A.name]})}if(s.allowShared===false&&n.isSharedArrayBuffer(r.buffer)){throw l.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return r};l.converters.DataView=function(r,A={}){if(l.util.Type(r)!=="Object"||!n.isDataView(r)){throw l.errors.exception({header:"DataView",message:"Object is not a DataView."})}if(A.allowShared===false&&n.isSharedArrayBuffer(r.buffer)){throw l.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."})}return r};l.converters.BufferSource=function(r,A={}){if(n.isAnyArrayBuffer(r)){return l.converters.ArrayBuffer(r,A)}if(n.isTypedArray(r)){return l.converters.TypedArray(r,r.constructor)}if(n.isDataView(r)){return l.converters.DataView(r,A)}throw new TypeError(`Could not convert ${r} to a BufferSource.`)};l.converters["sequence"]=l.sequenceConverter(l.converters.ByteString);l.converters["sequence>"]=l.sequenceConverter(l.converters["sequence"]);l.converters["record"]=l.recordConverter(l.converters.ByteString,l.converters.ByteString);r.exports={webidl:l}},2951:r=>{function getEncoding(r){if(!r){return"failure"}switch(r.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}r.exports={getEncoding:getEncoding}},2171:(r,A,s)=>{const{staticPropertyDescriptors:n,readOperation:a,fireAProgressEvent:u}=s(3170);const{kState:l,kError:g,kResult:E,kEvents:d,kAborted:p}=s(8057);const{webidl:C}=s(29);const{kEnumerableProperty:B}=s(3465);class FileReader extends EventTarget{constructor(){super();this[l]="empty";this[E]=null;this[g]=null;this[d]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(r){C.brandCheck(this,FileReader);C.argumentLengthCheck(arguments,1,{header:"FileReader.readAsArrayBuffer"});r=C.converters.Blob(r,{strict:false});a(this,r,"ArrayBuffer")}readAsBinaryString(r){C.brandCheck(this,FileReader);C.argumentLengthCheck(arguments,1,{header:"FileReader.readAsBinaryString"});r=C.converters.Blob(r,{strict:false});a(this,r,"BinaryString")}readAsText(r,A=undefined){C.brandCheck(this,FileReader);C.argumentLengthCheck(arguments,1,{header:"FileReader.readAsText"});r=C.converters.Blob(r,{strict:false});if(A!==undefined){A=C.converters.DOMString(A)}a(this,r,"Text",A)}readAsDataURL(r){C.brandCheck(this,FileReader);C.argumentLengthCheck(arguments,1,{header:"FileReader.readAsDataURL"});r=C.converters.Blob(r,{strict:false});a(this,r,"DataURL")}abort(){if(this[l]==="empty"||this[l]==="done"){this[E]=null;return}if(this[l]==="loading"){this[l]="done";this[E]=null}this[p]=true;u("abort",this);if(this[l]!=="loading"){u("loadend",this)}}get readyState(){C.brandCheck(this,FileReader);switch(this[l]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){C.brandCheck(this,FileReader);return this[E]}get error(){C.brandCheck(this,FileReader);return this[g]}get onloadend(){C.brandCheck(this,FileReader);return this[d].loadend}set onloadend(r){C.brandCheck(this,FileReader);if(this[d].loadend){this.removeEventListener("loadend",this[d].loadend)}if(typeof r==="function"){this[d].loadend=r;this.addEventListener("loadend",r)}else{this[d].loadend=null}}get onerror(){C.brandCheck(this,FileReader);return this[d].error}set onerror(r){C.brandCheck(this,FileReader);if(this[d].error){this.removeEventListener("error",this[d].error)}if(typeof r==="function"){this[d].error=r;this.addEventListener("error",r)}else{this[d].error=null}}get onloadstart(){C.brandCheck(this,FileReader);return this[d].loadstart}set onloadstart(r){C.brandCheck(this,FileReader);if(this[d].loadstart){this.removeEventListener("loadstart",this[d].loadstart)}if(typeof r==="function"){this[d].loadstart=r;this.addEventListener("loadstart",r)}else{this[d].loadstart=null}}get onprogress(){C.brandCheck(this,FileReader);return this[d].progress}set onprogress(r){C.brandCheck(this,FileReader);if(this[d].progress){this.removeEventListener("progress",this[d].progress)}if(typeof r==="function"){this[d].progress=r;this.addEventListener("progress",r)}else{this[d].progress=null}}get onload(){C.brandCheck(this,FileReader);return this[d].load}set onload(r){C.brandCheck(this,FileReader);if(this[d].load){this.removeEventListener("load",this[d].load)}if(typeof r==="function"){this[d].load=r;this.addEventListener("load",r)}else{this[d].load=null}}get onabort(){C.brandCheck(this,FileReader);return this[d].abort}set onabort(r){C.brandCheck(this,FileReader);if(this[d].abort){this.removeEventListener("abort",this[d].abort)}if(typeof r==="function"){this[d].abort=r;this.addEventListener("abort",r)}else{this[d].abort=null}}}FileReader.EMPTY=FileReader.prototype.EMPTY=0;FileReader.LOADING=FileReader.prototype.LOADING=1;FileReader.DONE=FileReader.prototype.DONE=2;Object.defineProperties(FileReader.prototype,{EMPTY:n,LOADING:n,DONE:n,readAsArrayBuffer:B,readAsBinaryString:B,readAsText:B,readAsDataURL:B,abort:B,readyState:B,result:B,error:B,onloadstart:B,onprogress:B,onload:B,onabort:B,onerror:B,onloadend:B,[Symbol.toStringTag]:{value:"FileReader",writable:false,enumerable:false,configurable:true}});Object.defineProperties(FileReader,{EMPTY:n,LOADING:n,DONE:n});r.exports={FileReader:FileReader}},8389:(r,A,s)=>{const{webidl:n}=s(29);const a=Symbol("ProgressEvent state");class ProgressEvent extends Event{constructor(r,A={}){r=n.converters.DOMString(r);A=n.converters.ProgressEventInit(A??{});super(r,A);this[a]={lengthComputable:A.lengthComputable,loaded:A.loaded,total:A.total}}get lengthComputable(){n.brandCheck(this,ProgressEvent);return this[a].lengthComputable}get loaded(){n.brandCheck(this,ProgressEvent);return this[a].loaded}get total(){n.brandCheck(this,ProgressEvent);return this[a].total}}n.converters.ProgressEventInit=n.dictionaryConverter([{key:"lengthComputable",converter:n.converters.boolean,defaultValue:false},{key:"loaded",converter:n.converters["unsigned long long"],defaultValue:0},{key:"total",converter:n.converters["unsigned long long"],defaultValue:0},{key:"bubbles",converter:n.converters.boolean,defaultValue:false},{key:"cancelable",converter:n.converters.boolean,defaultValue:false},{key:"composed",converter:n.converters.boolean,defaultValue:false}]);r.exports={ProgressEvent:ProgressEvent}},8057:r=>{r.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}},3170:(r,A,s)=>{const{kState:n,kError:a,kResult:u,kAborted:l,kLastProgressEventFired:g}=s(8057);const{ProgressEvent:E}=s(8389);const{getEncoding:d}=s(2951);const{DOMException:p}=s(4135);const{serializeAMimeType:C,parseMIMEType:B}=s(3911);const{types:Q}=s(9023);const{StringDecoder:I}=s(3193);const{btoa:m}=s(181);const y={enumerable:true,writable:false,configurable:false};function readOperation(r,A,s,E){if(r[n]==="loading"){throw new p("Invalid state","InvalidStateError")}r[n]="loading";r[u]=null;r[a]=null;const d=A.stream();const C=d.getReader();const B=[];let I=C.read();let m=true;(async()=>{while(!r[l]){try{const{done:d,value:p}=await I;if(m&&!r[l]){queueMicrotask((()=>{fireAProgressEvent("loadstart",r)}))}m=false;if(!d&&Q.isUint8Array(p)){B.push(p);if((r[g]===undefined||Date.now()-r[g]>=50)&&!r[l]){r[g]=Date.now();queueMicrotask((()=>{fireAProgressEvent("progress",r)}))}I=C.read()}else if(d){queueMicrotask((()=>{r[n]="done";try{const n=packageData(B,s,A.type,E);if(r[l]){return}r[u]=n;fireAProgressEvent("load",r)}catch(A){r[a]=A;fireAProgressEvent("error",r)}if(r[n]!=="loading"){fireAProgressEvent("loadend",r)}}));break}}catch(A){if(r[l]){return}queueMicrotask((()=>{r[n]="done";r[a]=A;fireAProgressEvent("error",r);if(r[n]!=="loading"){fireAProgressEvent("loadend",r)}}));break}}})()}function fireAProgressEvent(r,A){const s=new E(r,{bubbles:false,cancelable:false});A.dispatchEvent(s)}function packageData(r,A,s,n){switch(A){case"DataURL":{let A="data:";const n=B(s||"application/octet-stream");if(n!=="failure"){A+=C(n)}A+=";base64,";const a=new I("latin1");for(const s of r){A+=m(a.write(s))}A+=m(a.end());return A}case"Text":{let A="failure";if(n){A=d(n)}if(A==="failure"&&s){const r=B(s);if(r!=="failure"){A=d(r.parameters.get("charset"))}}if(A==="failure"){A="UTF-8"}return decode(r,A)}case"ArrayBuffer":{const A=combineByteSequences(r);return A.buffer}case"BinaryString":{let A="";const s=new I("latin1");for(const n of r){A+=s.write(n)}A+=s.end();return A}}}function decode(r,A){const s=combineByteSequences(r);const n=BOMSniffing(s);let a=0;if(n!==null){A=n;a=n==="UTF-8"?3:2}const u=s.slice(a);return new TextDecoder(A).decode(u)}function BOMSniffing(r){const[A,s,n]=r;if(A===239&&s===187&&n===191){return"UTF-8"}else if(A===254&&s===255){return"UTF-16BE"}else if(A===255&&s===254){return"UTF-16LE"}return null}function combineByteSequences(r){const A=r.reduce(((r,A)=>r+A.byteLength),0);let s=0;return r.reduce(((r,A)=>{r.set(A,s);s+=A.byteLength;return r}),new Uint8Array(A))}r.exports={staticPropertyDescriptors:y,readOperation:readOperation,fireAProgressEvent:fireAProgressEvent}},7882:(r,A,s)=>{const n=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:a}=s(3862);const u=s(9072);if(getGlobalDispatcher()===undefined){setGlobalDispatcher(new u)}function setGlobalDispatcher(r){if(!r||typeof r.dispatch!=="function"){throw new a("Argument agent must implement Agent")}Object.defineProperty(globalThis,n,{value:r,writable:true,enumerable:false,configurable:false})}function getGlobalDispatcher(){return globalThis[n]}r.exports={setGlobalDispatcher:setGlobalDispatcher,getGlobalDispatcher:getGlobalDispatcher}},8975:r=>{r.exports=class DecoratorHandler{constructor(r){this.handler=r}onConnect(...r){return this.handler.onConnect(...r)}onError(...r){return this.handler.onError(...r)}onUpgrade(...r){return this.handler.onUpgrade(...r)}onHeaders(...r){return this.handler.onHeaders(...r)}onData(...r){return this.handler.onData(...r)}onComplete(...r){return this.handler.onComplete(...r)}onBodySent(...r){return this.handler.onBodySent(...r)}}},238:(r,A,s)=>{const n=s(3465);const{kBodyUsed:a}=s(4856);const u=s(2613);const{InvalidArgumentError:l}=s(3862);const g=s(4434);const E=[300,301,302,303,307,308];const d=Symbol("body");class BodyAsyncIterable{constructor(r){this[d]=r;this[a]=false}async*[Symbol.asyncIterator](){u(!this[a],"disturbed");this[a]=true;yield*this[d]}}class RedirectHandler{constructor(r,A,s,E){if(A!=null&&(!Number.isInteger(A)||A<0)){throw new l("maxRedirections must be a positive number")}n.validateHandler(E,s.method,s.upgrade);this.dispatch=r;this.location=null;this.abort=null;this.opts={...s,maxRedirections:0};this.maxRedirections=A;this.handler=E;this.history=[];if(n.isStream(this.opts.body)){if(n.bodyLength(this.opts.body)===0){this.opts.body.on("data",(function(){u(false)}))}if(typeof this.opts.body.readableDidRead!=="boolean"){this.opts.body[a]=false;g.prototype.on.call(this.opts.body,"data",(function(){this[a]=true}))}}else if(this.opts.body&&typeof this.opts.body.pipeTo==="function"){this.opts.body=new BodyAsyncIterable(this.opts.body)}else if(this.opts.body&&typeof this.opts.body!=="string"&&!ArrayBuffer.isView(this.opts.body)&&n.isIterable(this.opts.body)){this.opts.body=new BodyAsyncIterable(this.opts.body)}}onConnect(r){this.abort=r;this.handler.onConnect(r,{history:this.history})}onUpgrade(r,A,s){this.handler.onUpgrade(r,A,s)}onError(r){this.handler.onError(r)}onHeaders(r,A,s,a){this.location=this.history.length>=this.maxRedirections||n.isDisturbed(this.opts.body)?null:parseLocation(r,A);if(this.opts.origin){this.history.push(new URL(this.opts.path,this.opts.origin))}if(!this.location){return this.handler.onHeaders(r,A,s,a)}const{origin:u,pathname:l,search:g}=n.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin)));const E=g?`${l}${g}`:l;this.opts.headers=cleanRequestHeaders(this.opts.headers,r===303,this.opts.origin!==u);this.opts.path=E;this.opts.origin=u;this.opts.maxRedirections=0;this.opts.query=null;if(r===303&&this.opts.method!=="HEAD"){this.opts.method="GET";this.opts.body=null}}onData(r){if(this.location){}else{return this.handler.onData(r)}}onComplete(r){if(this.location){this.location=null;this.abort=null;this.dispatch(this.opts,this)}else{this.handler.onComplete(r)}}onBodySent(r){if(this.handler.onBodySent){this.handler.onBodySent(r)}}}function parseLocation(r,A){if(E.indexOf(r)===-1){return null}for(let r=0;r{const n=s(2613);const{kRetryHandlerDefaultRetry:a}=s(4856);const{RequestRetryError:u}=s(3862);const{isDisturbed:l,parseHeaders:g,parseRangeHeader:E}=s(3465);function calculateRetryAfterHeader(r){const A=Date.now();const s=new Date(r).getTime()-A;return s}class RetryHandler{constructor(r,A){const{retryOptions:s,...n}=r;const{retry:u,maxRetries:l,maxTimeout:g,minTimeout:E,timeoutFactor:d,methods:p,errorCodes:C,retryAfter:B,statusCodes:Q}=s??{};this.dispatch=A.dispatch;this.handler=A.handler;this.opts=n;this.abort=null;this.aborted=false;this.retryOpts={retry:u??RetryHandler[a],retryAfter:B??true,maxTimeout:g??30*1e3,timeout:E??500,timeoutFactor:d??2,maxRetries:l??5,methods:p??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:Q??[500,502,503,504,429],errorCodes:C??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE"]};this.retryCount=0;this.start=0;this.end=null;this.etag=null;this.resume=null;this.handler.onConnect((r=>{this.aborted=true;if(this.abort){this.abort(r)}else{this.reason=r}}))}onRequestSent(){if(this.handler.onRequestSent){this.handler.onRequestSent()}}onUpgrade(r,A,s){if(this.handler.onUpgrade){this.handler.onUpgrade(r,A,s)}}onConnect(r){if(this.aborted){r(this.reason)}else{this.abort=r}}onBodySent(r){if(this.handler.onBodySent)return this.handler.onBodySent(r)}static[a](r,{state:A,opts:s},n){const{statusCode:a,code:u,headers:l}=r;const{method:g,retryOptions:E}=s;const{maxRetries:d,timeout:p,maxTimeout:C,timeoutFactor:B,statusCodes:Q,errorCodes:I,methods:m}=E;let{counter:y,currentTimeout:w}=A;w=w!=null&&w>0?w:p;if(u&&u!=="UND_ERR_REQ_RETRY"&&u!=="UND_ERR_SOCKET"&&!I.includes(u)){n(r);return}if(Array.isArray(m)&&!m.includes(g)){n(r);return}if(a!=null&&Array.isArray(Q)&&!Q.includes(a)){n(r);return}if(y>d){n(r);return}let D=l!=null&&l["retry-after"];if(D){D=Number(D);D=isNaN(D)?calculateRetryAfterHeader(D):D*1e3}const b=D>0?Math.min(D,C):Math.min(w*B**y,C);A.currentTimeout=b;setTimeout((()=>n(null)),b)}onHeaders(r,A,s,a){const l=g(A);this.retryCount+=1;if(r>=300){this.abort(new u("Request failed",r,{headers:l,count:this.retryCount}));return false}if(this.resume!=null){this.resume=null;if(r!==206){return true}const A=E(l["content-range"]);if(!A){this.abort(new u("Content-Range mismatch",r,{headers:l,count:this.retryCount}));return false}if(this.etag!=null&&this.etag!==l.etag){this.abort(new u("ETag mismatch",r,{headers:l,count:this.retryCount}));return false}const{start:a,size:g,end:d=g}=A;n(this.start===a,"content-range mismatch");n(this.end==null||this.end===d,"content-range mismatch");this.resume=s;return true}if(this.end==null){if(r===206){const u=E(l["content-range"]);if(u==null){return this.handler.onHeaders(r,A,s,a)}const{start:g,size:d,end:p=d}=u;n(g!=null&&Number.isFinite(g)&&this.start!==g,"content-range mismatch");n(Number.isFinite(g));n(p!=null&&Number.isFinite(p)&&this.end!==p,"invalid content-length");this.start=g;this.end=p}if(this.end==null){const r=l["content-length"];this.end=r!=null?Number(r):null}n(Number.isFinite(this.start));n(this.end==null||Number.isFinite(this.end),"invalid content-length");this.resume=s;this.etag=l.etag!=null?l.etag:null;return this.handler.onHeaders(r,A,s,a)}const d=new u("Request failed",r,{headers:l,count:this.retryCount});this.abort(d);return false}onData(r){this.start+=r.length;return this.handler.onData(r)}onComplete(r){this.retryCount=0;return this.handler.onComplete(r)}onError(r){if(this.aborted||l(this.opts.body)){return this.handler.onError(r)}this.retryOpts.retry(r,{state:{counter:this.retryCount++,currentTimeout:this.retryAfter},opts:{retryOptions:this.retryOpts,...this.opts}},onRetry.bind(this));function onRetry(r){if(r!=null||this.aborted||l(this.opts.body)){return this.handler.onError(r)}if(this.start!==0){this.opts={...this.opts,headers:{...this.opts.headers,range:`bytes=${this.start}-${this.end??""}`}}}try{this.dispatch(this.opts,this)}catch(r){this.handler.onError(r)}}}}r.exports=RetryHandler},2130:(r,A,s)=>{const n=s(238);function createRedirectInterceptor({maxRedirections:r}){return A=>function Intercept(s,a){const{maxRedirections:u=r}=s;if(!u){return A(s,a)}const l=new n(A,u,s,a);s={...s,maxRedirections:0};return A(s,l)}}r.exports=createRedirectInterceptor},307:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A.SPECIAL_HEADERS=A.HEADER_STATE=A.MINOR=A.MAJOR=A.CONNECTION_TOKEN_CHARS=A.HEADER_CHARS=A.TOKEN=A.STRICT_TOKEN=A.HEX=A.URL_CHAR=A.STRICT_URL_CHAR=A.USERINFO_CHARS=A.MARK=A.ALPHANUM=A.NUM=A.HEX_MAP=A.NUM_MAP=A.ALPHA=A.FINISH=A.H_METHOD_MAP=A.METHOD_MAP=A.METHODS_RTSP=A.METHODS_ICE=A.METHODS_HTTP=A.METHODS=A.LENIENT_FLAGS=A.FLAGS=A.TYPE=A.ERROR=void 0;const n=s(9619);var a;(function(r){r[r["OK"]=0]="OK";r[r["INTERNAL"]=1]="INTERNAL";r[r["STRICT"]=2]="STRICT";r[r["LF_EXPECTED"]=3]="LF_EXPECTED";r[r["UNEXPECTED_CONTENT_LENGTH"]=4]="UNEXPECTED_CONTENT_LENGTH";r[r["CLOSED_CONNECTION"]=5]="CLOSED_CONNECTION";r[r["INVALID_METHOD"]=6]="INVALID_METHOD";r[r["INVALID_URL"]=7]="INVALID_URL";r[r["INVALID_CONSTANT"]=8]="INVALID_CONSTANT";r[r["INVALID_VERSION"]=9]="INVALID_VERSION";r[r["INVALID_HEADER_TOKEN"]=10]="INVALID_HEADER_TOKEN";r[r["INVALID_CONTENT_LENGTH"]=11]="INVALID_CONTENT_LENGTH";r[r["INVALID_CHUNK_SIZE"]=12]="INVALID_CHUNK_SIZE";r[r["INVALID_STATUS"]=13]="INVALID_STATUS";r[r["INVALID_EOF_STATE"]=14]="INVALID_EOF_STATE";r[r["INVALID_TRANSFER_ENCODING"]=15]="INVALID_TRANSFER_ENCODING";r[r["CB_MESSAGE_BEGIN"]=16]="CB_MESSAGE_BEGIN";r[r["CB_HEADERS_COMPLETE"]=17]="CB_HEADERS_COMPLETE";r[r["CB_MESSAGE_COMPLETE"]=18]="CB_MESSAGE_COMPLETE";r[r["CB_CHUNK_HEADER"]=19]="CB_CHUNK_HEADER";r[r["CB_CHUNK_COMPLETE"]=20]="CB_CHUNK_COMPLETE";r[r["PAUSED"]=21]="PAUSED";r[r["PAUSED_UPGRADE"]=22]="PAUSED_UPGRADE";r[r["PAUSED_H2_UPGRADE"]=23]="PAUSED_H2_UPGRADE";r[r["USER"]=24]="USER"})(a=A.ERROR||(A.ERROR={}));var u;(function(r){r[r["BOTH"]=0]="BOTH";r[r["REQUEST"]=1]="REQUEST";r[r["RESPONSE"]=2]="RESPONSE"})(u=A.TYPE||(A.TYPE={}));var l;(function(r){r[r["CONNECTION_KEEP_ALIVE"]=1]="CONNECTION_KEEP_ALIVE";r[r["CONNECTION_CLOSE"]=2]="CONNECTION_CLOSE";r[r["CONNECTION_UPGRADE"]=4]="CONNECTION_UPGRADE";r[r["CHUNKED"]=8]="CHUNKED";r[r["UPGRADE"]=16]="UPGRADE";r[r["CONTENT_LENGTH"]=32]="CONTENT_LENGTH";r[r["SKIPBODY"]=64]="SKIPBODY";r[r["TRAILING"]=128]="TRAILING";r[r["TRANSFER_ENCODING"]=512]="TRANSFER_ENCODING"})(l=A.FLAGS||(A.FLAGS={}));var g;(function(r){r[r["HEADERS"]=1]="HEADERS";r[r["CHUNKED_LENGTH"]=2]="CHUNKED_LENGTH";r[r["KEEP_ALIVE"]=4]="KEEP_ALIVE"})(g=A.LENIENT_FLAGS||(A.LENIENT_FLAGS={}));var E;(function(r){r[r["DELETE"]=0]="DELETE";r[r["GET"]=1]="GET";r[r["HEAD"]=2]="HEAD";r[r["POST"]=3]="POST";r[r["PUT"]=4]="PUT";r[r["CONNECT"]=5]="CONNECT";r[r["OPTIONS"]=6]="OPTIONS";r[r["TRACE"]=7]="TRACE";r[r["COPY"]=8]="COPY";r[r["LOCK"]=9]="LOCK";r[r["MKCOL"]=10]="MKCOL";r[r["MOVE"]=11]="MOVE";r[r["PROPFIND"]=12]="PROPFIND";r[r["PROPPATCH"]=13]="PROPPATCH";r[r["SEARCH"]=14]="SEARCH";r[r["UNLOCK"]=15]="UNLOCK";r[r["BIND"]=16]="BIND";r[r["REBIND"]=17]="REBIND";r[r["UNBIND"]=18]="UNBIND";r[r["ACL"]=19]="ACL";r[r["REPORT"]=20]="REPORT";r[r["MKACTIVITY"]=21]="MKACTIVITY";r[r["CHECKOUT"]=22]="CHECKOUT";r[r["MERGE"]=23]="MERGE";r[r["M-SEARCH"]=24]="M-SEARCH";r[r["NOTIFY"]=25]="NOTIFY";r[r["SUBSCRIBE"]=26]="SUBSCRIBE";r[r["UNSUBSCRIBE"]=27]="UNSUBSCRIBE";r[r["PATCH"]=28]="PATCH";r[r["PURGE"]=29]="PURGE";r[r["MKCALENDAR"]=30]="MKCALENDAR";r[r["LINK"]=31]="LINK";r[r["UNLINK"]=32]="UNLINK";r[r["SOURCE"]=33]="SOURCE";r[r["PRI"]=34]="PRI";r[r["DESCRIBE"]=35]="DESCRIBE";r[r["ANNOUNCE"]=36]="ANNOUNCE";r[r["SETUP"]=37]="SETUP";r[r["PLAY"]=38]="PLAY";r[r["PAUSE"]=39]="PAUSE";r[r["TEARDOWN"]=40]="TEARDOWN";r[r["GET_PARAMETER"]=41]="GET_PARAMETER";r[r["SET_PARAMETER"]=42]="SET_PARAMETER";r[r["REDIRECT"]=43]="REDIRECT";r[r["RECORD"]=44]="RECORD";r[r["FLUSH"]=45]="FLUSH"})(E=A.METHODS||(A.METHODS={}));A.METHODS_HTTP=[E.DELETE,E.GET,E.HEAD,E.POST,E.PUT,E.CONNECT,E.OPTIONS,E.TRACE,E.COPY,E.LOCK,E.MKCOL,E.MOVE,E.PROPFIND,E.PROPPATCH,E.SEARCH,E.UNLOCK,E.BIND,E.REBIND,E.UNBIND,E.ACL,E.REPORT,E.MKACTIVITY,E.CHECKOUT,E.MERGE,E["M-SEARCH"],E.NOTIFY,E.SUBSCRIBE,E.UNSUBSCRIBE,E.PATCH,E.PURGE,E.MKCALENDAR,E.LINK,E.UNLINK,E.PRI,E.SOURCE];A.METHODS_ICE=[E.SOURCE];A.METHODS_RTSP=[E.OPTIONS,E.DESCRIBE,E.ANNOUNCE,E.SETUP,E.PLAY,E.PAUSE,E.TEARDOWN,E.GET_PARAMETER,E.SET_PARAMETER,E.REDIRECT,E.RECORD,E.FLUSH,E.GET,E.POST];A.METHOD_MAP=n.enumToMap(E);A.H_METHOD_MAP={};Object.keys(A.METHOD_MAP).forEach((r=>{if(/^H/.test(r)){A.H_METHOD_MAP[r]=A.METHOD_MAP[r]}}));var d;(function(r){r[r["SAFE"]=0]="SAFE";r[r["SAFE_WITH_CB"]=1]="SAFE_WITH_CB";r[r["UNSAFE"]=2]="UNSAFE"})(d=A.FINISH||(A.FINISH={}));A.ALPHA=[];for(let r="A".charCodeAt(0);r<="Z".charCodeAt(0);r++){A.ALPHA.push(String.fromCharCode(r));A.ALPHA.push(String.fromCharCode(r+32))}A.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};A.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};A.NUM=["0","1","2","3","4","5","6","7","8","9"];A.ALPHANUM=A.ALPHA.concat(A.NUM);A.MARK=["-","_",".","!","~","*","'","(",")"];A.USERINFO_CHARS=A.ALPHANUM.concat(A.MARK).concat(["%",";",":","&","=","+","$",","]);A.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(A.ALPHANUM);A.URL_CHAR=A.STRICT_URL_CHAR.concat(["\t","\f"]);for(let r=128;r<=255;r++){A.URL_CHAR.push(r)}A.HEX=A.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);A.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(A.ALPHANUM);A.TOKEN=A.STRICT_TOKEN.concat([" "]);A.HEADER_CHARS=["\t"];for(let r=32;r<=255;r++){if(r!==127){A.HEADER_CHARS.push(r)}}A.CONNECTION_TOKEN_CHARS=A.HEADER_CHARS.filter((r=>r!==44));A.MAJOR=A.NUM_MAP;A.MINOR=A.MAJOR;var p;(function(r){r[r["GENERAL"]=0]="GENERAL";r[r["CONNECTION"]=1]="CONNECTION";r[r["CONTENT_LENGTH"]=2]="CONTENT_LENGTH";r[r["TRANSFER_ENCODING"]=3]="TRANSFER_ENCODING";r[r["UPGRADE"]=4]="UPGRADE";r[r["CONNECTION_KEEP_ALIVE"]=5]="CONNECTION_KEEP_ALIVE";r[r["CONNECTION_CLOSE"]=6]="CONNECTION_CLOSE";r[r["CONNECTION_UPGRADE"]=7]="CONNECTION_UPGRADE";r[r["TRANSFER_ENCODING_CHUNKED"]=8]="TRANSFER_ENCODING_CHUNKED"})(p=A.HEADER_STATE||(A.HEADER_STATE={}));A.SPECIAL_HEADERS={connection:p.CONNECTION,"content-length":p.CONTENT_LENGTH,"proxy-connection":p.CONNECTION,"transfer-encoding":p.TRANSFER_ENCODING,upgrade:p.UPGRADE}},9741:r=>{r.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8="},5919:r=>{r.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQIDBAUGBwgJCgsMDQ4PEBESExQVFhcYGRobHB4fICEjJSg/QEFERUZHSElKS0xNT1BRUlPeA1dZW1xdYGJlZmdoaWprbG1vcHFyc3R1dnd4eXp7fH1+gAGCAYUBhgGHAYkBiwGMAY0BjgGPAZABkQGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHgAeEB4gHjAeQB5QHmAecB6AHpAeoB6wHsAe0B7gHvAfAB8QHyAfMBmQKkArAC/gL+AgsgASIEIAJHDfMBQd0BIRAM/wMLIAEiECACRw3dAUHDASEQDP4DCyABIgEgAkcNkAFB9wAhEAz9AwsgASIBIAJHDYYBQe8AIRAM/AMLIAEiASACRw1/QeoAIRAM+wMLIAEiASACRw17QegAIRAM+gMLIAEiASACRw14QeYAIRAM+QMLIAEiASACRw0aQRghEAz4AwsgASIBIAJHDRRBEiEQDPcDCyABIgEgAkcNWUHFACEQDPYDCyABIgEgAkcNSkE/IRAM9QMLIAEiASACRw1IQTwhEAz0AwsgASIBIAJHDUFBMSEQDPMDCyAALQAuQQFGDesDDIcCCyAAIAEiASACEMCAgIAAQQFHDeYBIABCADcDIAznAQsgACABIgEgAhC0gICAACIQDecBIAEhAQz1AgsCQCABIgEgAkcNAEEGIRAM8AMLIAAgAUEBaiIBIAIQu4CAgAAiEA3oASABIQEMMQsgAEIANwMgQRIhEAzVAwsgASIQIAJHDStBHSEQDO0DCwJAIAEiASACRg0AIAFBAWohAUEQIRAM1AMLQQchEAzsAwsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3lAUEIIRAM6wMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQRQhEAzSAwtBCSEQDOoDCyABIQEgACkDIFAN5AEgASEBDPICCwJAIAEiASACRw0AQQshEAzpAwsgACABQQFqIgEgAhC2gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeUBIAEhAQzyAgsgACABIgEgAhC4gICAACIQDeYBIAEhAQwNCyAAIAEiASACELqAgIAAIhAN5wEgASEBDPACCwJAIAEiASACRw0AQQ8hEAzlAwsgAS0AACIQQTtGDQggEEENRw3oASABQQFqIQEM7wILIAAgASIBIAIQuoCAgAAiEA3oASABIQEM8gILA0ACQCABLQAAQfC1gIAAai0AACIQQQFGDQAgEEECRw3rASAAKAIEIRAgAEEANgIEIAAgECABQQFqIgEQuYCAgAAiEA3qASABIQEM9AILIAFBAWoiASACRw0AC0ESIRAM4gMLIAAgASIBIAIQuoCAgAAiEA3pASABIQEMCgsgASIBIAJHDQZBGyEQDOADCwJAIAEiASACRw0AQRYhEAzgAwsgAEGKgICAADYCCCAAIAE2AgQgACABIAIQuICAgAAiEA3qASABIQFBICEQDMYDCwJAIAEiASACRg0AA0ACQCABLQAAQfC3gIAAai0AACIQQQJGDQACQCAQQX9qDgTlAewBAOsB7AELIAFBAWohAUEIIRAMyAMLIAFBAWoiASACRw0AC0EVIRAM3wMLQRUhEAzeAwsDQAJAIAEtAABB8LmAgABqLQAAIhBBAkYNACAQQX9qDgTeAewB4AHrAewBCyABQQFqIgEgAkcNAAtBGCEQDN0DCwJAIAEiASACRg0AIABBi4CAgAA2AgggACABNgIEIAEhAUEHIRAMxAMLQRkhEAzcAwsgAUEBaiEBDAILAkAgASIUIAJHDQBBGiEQDNsDCyAUIQECQCAULQAAQXNqDhTdAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAu4C7gLuAgDuAgtBACEQIABBADYCHCAAQa+LgIAANgIQIABBAjYCDCAAIBRBAWo2AhQM2gMLAkAgAS0AACIQQTtGDQAgEEENRw3oASABQQFqIQEM5QILIAFBAWohAQtBIiEQDL8DCwJAIAEiECACRw0AQRwhEAzYAwtCACERIBAhASAQLQAAQVBqDjfnAeYBAQIDBAUGBwgAAAAAAAAACQoLDA0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPEBESExQAC0EeIRAMvQMLQgIhEQzlAQtCAyERDOQBC0IEIREM4wELQgUhEQziAQtCBiERDOEBC0IHIREM4AELQgghEQzfAQtCCSERDN4BC0IKIREM3QELQgshEQzcAQtCDCERDNsBC0INIREM2gELQg4hEQzZAQtCDyERDNgBC0IKIREM1wELQgshEQzWAQtCDCERDNUBC0INIREM1AELQg4hEQzTAQtCDyERDNIBC0IAIRECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAtAABBUGoON+UB5AEAAQIDBAUGB+YB5gHmAeYB5gHmAeYBCAkKCwwN5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAeYB5gHmAQ4PEBESE+YBC0ICIREM5AELQgMhEQzjAQtCBCERDOIBC0IFIREM4QELQgYhEQzgAQtCByERDN8BC0IIIREM3gELQgkhEQzdAQtCCiERDNwBC0ILIREM2wELQgwhEQzaAQtCDSERDNkBC0IOIREM2AELQg8hEQzXAQtCCiERDNYBC0ILIREM1QELQgwhEQzUAQtCDSERDNMBC0IOIREM0gELQg8hEQzRAQsgAEIAIAApAyAiESACIAEiEGutIhJ9IhMgEyARVhs3AyAgESASViIURQ3SAUEfIRAMwAMLAkAgASIBIAJGDQAgAEGJgICAADYCCCAAIAE2AgQgASEBQSQhEAynAwtBICEQDL8DCyAAIAEiECACEL6AgIAAQX9qDgW2AQDFAgHRAdIBC0ERIRAMpAMLIABBAToALyAQIQEMuwMLIAEiASACRw3SAUEkIRAMuwMLIAEiDSACRw0eQcYAIRAMugMLIAAgASIBIAIQsoCAgAAiEA3UASABIQEMtQELIAEiECACRw0mQdAAIRAMuAMLAkAgASIBIAJHDQBBKCEQDLgDCyAAQQA2AgQgAEGMgICAADYCCCAAIAEgARCxgICAACIQDdMBIAEhAQzYAQsCQCABIhAgAkcNAEEpIRAMtwMLIBAtAAAiAUEgRg0UIAFBCUcN0wEgEEEBaiEBDBULAkAgASIBIAJGDQAgAUEBaiEBDBcLQSohEAy1AwsCQCABIhAgAkcNAEErIRAMtQMLAkAgEC0AACIBQQlGDQAgAUEgRw3VAQsgAC0ALEEIRg3TASAQIQEMkQMLAkAgASIBIAJHDQBBLCEQDLQDCyABLQAAQQpHDdUBIAFBAWohAQzJAgsgASIOIAJHDdUBQS8hEAyyAwsDQAJAIAEtAAAiEEEgRg0AAkAgEEF2ag4EANwB3AEA2gELIAEhAQzgAQsgAUEBaiIBIAJHDQALQTEhEAyxAwtBMiEQIAEiFCACRg2wAyACIBRrIAAoAgAiAWohFSAUIAFrQQNqIRYCQANAIBQtAAAiF0EgciAXIBdBv39qQf8BcUEaSRtB/wFxIAFB8LuAgABqLQAARw0BAkAgAUEDRw0AQQYhAQyWAwsgAUEBaiEBIBRBAWoiFCACRw0ACyAAIBU2AgAMsQMLIABBADYCACAUIQEM2QELQTMhECABIhQgAkYNrwMgAiAUayAAKAIAIgFqIRUgFCABa0EIaiEWAkADQCAULQAAIhdBIHIgFyAXQb9/akH/AXFBGkkbQf8BcSABQfS7gIAAai0AAEcNAQJAIAFBCEcNAEEFIQEMlQMLIAFBAWohASAUQQFqIhQgAkcNAAsgACAVNgIADLADCyAAQQA2AgAgFCEBDNgBC0E0IRAgASIUIAJGDa4DIAIgFGsgACgCACIBaiEVIBQgAWtBBWohFgJAA0AgFC0AACIXQSByIBcgF0G/f2pB/wFxQRpJG0H/AXEgAUHQwoCAAGotAABHDQECQCABQQVHDQBBByEBDJQDCyABQQFqIQEgFEEBaiIUIAJHDQALIAAgFTYCAAyvAwsgAEEANgIAIBQhAQzXAQsCQCABIgEgAkYNAANAAkAgAS0AAEGAvoCAAGotAAAiEEEBRg0AIBBBAkYNCiABIQEM3QELIAFBAWoiASACRw0AC0EwIRAMrgMLQTAhEAytAwsCQCABIgEgAkYNAANAAkAgAS0AACIQQSBGDQAgEEF2ag4E2QHaAdoB2QHaAQsgAUEBaiIBIAJHDQALQTghEAytAwtBOCEQDKwDCwNAAkAgAS0AACIQQSBGDQAgEEEJRw0DCyABQQFqIgEgAkcNAAtBPCEQDKsDCwNAAkAgAS0AACIQQSBGDQACQAJAIBBBdmoOBNoBAQHaAQALIBBBLEYN2wELIAEhAQwECyABQQFqIgEgAkcNAAtBPyEQDKoDCyABIQEM2wELQcAAIRAgASIUIAJGDagDIAIgFGsgACgCACIBaiEWIBQgAWtBBmohFwJAA0AgFC0AAEEgciABQYDAgIAAai0AAEcNASABQQZGDY4DIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADKkDCyAAQQA2AgAgFCEBC0E2IRAMjgMLAkAgASIPIAJHDQBBwQAhEAynAwsgAEGMgICAADYCCCAAIA82AgQgDyEBIAAtACxBf2oOBM0B1QHXAdkBhwMLIAFBAWohAQzMAQsCQCABIgEgAkYNAANAAkAgAS0AACIQQSByIBAgEEG/f2pB/wFxQRpJG0H/AXEiEEEJRg0AIBBBIEYNAAJAAkACQAJAIBBBnX9qDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTEhEAyRAwsgAUEBaiEBQTIhEAyQAwsgAUEBaiEBQTMhEAyPAwsgASEBDNABCyABQQFqIgEgAkcNAAtBNSEQDKUDC0E1IRAMpAMLAkAgASIBIAJGDQADQAJAIAEtAABBgLyAgABqLQAAQQFGDQAgASEBDNMBCyABQQFqIgEgAkcNAAtBPSEQDKQDC0E9IRAMowMLIAAgASIBIAIQsICAgAAiEA3WASABIQEMAQsgEEEBaiEBC0E8IRAMhwMLAkAgASIBIAJHDQBBwgAhEAygAwsCQANAAkAgAS0AAEF3ag4YAAL+Av4ChAP+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gL+Av4C/gIA/gILIAFBAWoiASACRw0AC0HCACEQDKADCyABQQFqIQEgAC0ALUEBcUUNvQEgASEBC0EsIRAMhQMLIAEiASACRw3TAUHEACEQDJ0DCwNAAkAgAS0AAEGQwICAAGotAABBAUYNACABIQEMtwILIAFBAWoiASACRw0AC0HFACEQDJwDCyANLQAAIhBBIEYNswEgEEE6Rw2BAyAAKAIEIQEgAEEANgIEIAAgASANEK+AgIAAIgEN0AEgDUEBaiEBDLMCC0HHACEQIAEiDSACRg2aAyACIA1rIAAoAgAiAWohFiANIAFrQQVqIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQZDCgIAAai0AAEcNgAMgAUEFRg30AiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyaAwtByAAhECABIg0gAkYNmQMgAiANayAAKAIAIgFqIRYgDSABa0EJaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUGWwoCAAGotAABHDf8CAkAgAUEJRw0AQQIhAQz1AgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMmQMLAkAgASINIAJHDQBByQAhEAyZAwsCQAJAIA0tAAAiAUEgciABIAFBv39qQf8BcUEaSRtB/wFxQZJ/ag4HAIADgAOAA4ADgAMBgAMLIA1BAWohAUE+IRAMgAMLIA1BAWohAUE/IRAM/wILQcoAIRAgASINIAJGDZcDIAIgDWsgACgCACIBaiEWIA0gAWtBAWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFBoMKAgABqLQAARw39AiABQQFGDfACIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJcDC0HLACEQIAEiDSACRg2WAyACIA1rIAAoAgAiAWohFiANIAFrQQ5qIRcDQCANLQAAIhRBIHIgFCAUQb9/akH/AXFBGkkbQf8BcSABQaLCgIAAai0AAEcN/AIgAUEORg3wAiABQQFqIQEgDUEBaiINIAJHDQALIAAgFjYCAAyWAwtBzAAhECABIg0gAkYNlQMgAiANayAAKAIAIgFqIRYgDSABa0EPaiEXA0AgDS0AACIUQSByIBQgFEG/f2pB/wFxQRpJG0H/AXEgAUHAwoCAAGotAABHDfsCAkAgAUEPRw0AQQMhAQzxAgsgAUEBaiEBIA1BAWoiDSACRw0ACyAAIBY2AgAMlQMLQc0AIRAgASINIAJGDZQDIAIgDWsgACgCACIBaiEWIA0gAWtBBWohFwNAIA0tAAAiFEEgciAUIBRBv39qQf8BcUEaSRtB/wFxIAFB0MKAgABqLQAARw36AgJAIAFBBUcNAEEEIQEM8AILIAFBAWohASANQQFqIg0gAkcNAAsgACAWNgIADJQDCwJAIAEiDSACRw0AQc4AIRAMlAMLAkACQAJAAkAgDS0AACIBQSByIAEgAUG/f2pB/wFxQRpJG0H/AXFBnX9qDhMA/QL9Av0C/QL9Av0C/QL9Av0C/QL9Av0CAf0C/QL9AgID/QILIA1BAWohAUHBACEQDP0CCyANQQFqIQFBwgAhEAz8AgsgDUEBaiEBQcMAIRAM+wILIA1BAWohAUHEACEQDPoCCwJAIAEiASACRg0AIABBjYCAgAA2AgggACABNgIEIAEhAUHFACEQDPoCC0HPACEQDJIDCyAQIQECQAJAIBAtAABBdmoOBAGoAqgCAKgCCyAQQQFqIQELQSchEAz4AgsCQCABIgEgAkcNAEHRACEQDJEDCwJAIAEtAABBIEYNACABIQEMjQELIAFBAWohASAALQAtQQFxRQ3HASABIQEMjAELIAEiFyACRw3IAUHSACEQDI8DC0HTACEQIAEiFCACRg2OAyACIBRrIAAoAgAiAWohFiAUIAFrQQFqIRcDQCAULQAAIAFB1sKAgABqLQAARw3MASABQQFGDccBIAFBAWohASAUQQFqIhQgAkcNAAsgACAWNgIADI4DCwJAIAEiASACRw0AQdUAIRAMjgMLIAEtAABBCkcNzAEgAUEBaiEBDMcBCwJAIAEiASACRw0AQdYAIRAMjQMLAkACQCABLQAAQXZqDgQAzQHNAQHNAQsgAUEBaiEBDMcBCyABQQFqIQFBygAhEAzzAgsgACABIgEgAhCugICAACIQDcsBIAEhAUHNACEQDPICCyAALQApQSJGDYUDDKYCCwJAIAEiASACRw0AQdsAIRAMigMLQQAhFEEBIRdBASEWQQAhEAJAAkACQAJAAkACQAJAAkACQCABLQAAQVBqDgrUAdMBAAECAwQFBgjVAQtBAiEQDAYLQQMhEAwFC0EEIRAMBAtBBSEQDAMLQQYhEAwCC0EHIRAMAQtBCCEQC0EAIRdBACEWQQAhFAzMAQtBCSEQQQEhFEEAIRdBACEWDMsBCwJAIAEiASACRw0AQd0AIRAMiQMLIAEtAABBLkcNzAEgAUEBaiEBDKYCCyABIgEgAkcNzAFB3wAhEAyHAwsCQCABIgEgAkYNACAAQY6AgIAANgIIIAAgATYCBCABIQFB0AAhEAzuAgtB4AAhEAyGAwtB4QAhECABIgEgAkYNhQMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQeLCgIAAai0AAEcNzQEgFEEDRg3MASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyFAwtB4gAhECABIgEgAkYNhAMgAiABayAAKAIAIhRqIRYgASAUa0ECaiEXA0AgAS0AACAUQebCgIAAai0AAEcNzAEgFEECRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyEAwtB4wAhECABIgEgAkYNgwMgAiABayAAKAIAIhRqIRYgASAUa0EDaiEXA0AgAS0AACAUQenCgIAAai0AAEcNywEgFEEDRg3OASAUQQFqIRQgAUEBaiIBIAJHDQALIAAgFjYCAAyDAwsCQCABIgEgAkcNAEHlACEQDIMDCyAAIAFBAWoiASACEKiAgIAAIhANzQEgASEBQdYAIRAM6QILAkAgASIBIAJGDQADQAJAIAEtAAAiEEEgRg0AAkACQAJAIBBBuH9qDgsAAc8BzwHPAc8BzwHPAc8BzwECzwELIAFBAWohAUHSACEQDO0CCyABQQFqIQFB0wAhEAzsAgsgAUEBaiEBQdQAIRAM6wILIAFBAWoiASACRw0AC0HkACEQDIIDC0HkACEQDIEDCwNAAkAgAS0AAEHwwoCAAGotAAAiEEEBRg0AIBBBfmoOA88B0AHRAdIBCyABQQFqIgEgAkcNAAtB5gAhEAyAAwsCQCABIgEgAkYNACABQQFqIQEMAwtB5wAhEAz/AgsDQAJAIAEtAABB8MSAgABqLQAAIhBBAUYNAAJAIBBBfmoOBNIB0wHUAQDVAQsgASEBQdcAIRAM5wILIAFBAWoiASACRw0AC0HoACEQDP4CCwJAIAEiASACRw0AQekAIRAM/gILAkAgAS0AACIQQXZqDhq6AdUB1QG8AdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAdUB1QHVAcoB1QHVAQDTAQsgAUEBaiEBC0EGIRAM4wILA0ACQCABLQAAQfDGgIAAai0AAEEBRg0AIAEhAQyeAgsgAUEBaiIBIAJHDQALQeoAIRAM+wILAkAgASIBIAJGDQAgAUEBaiEBDAMLQesAIRAM+gILAkAgASIBIAJHDQBB7AAhEAz6AgsgAUEBaiEBDAELAkAgASIBIAJHDQBB7QAhEAz5AgsgAUEBaiEBC0EEIRAM3gILAkAgASIUIAJHDQBB7gAhEAz3AgsgFCEBAkACQAJAIBQtAABB8MiAgABqLQAAQX9qDgfUAdUB1gEAnAIBAtcBCyAUQQFqIQEMCgsgFEEBaiEBDM0BC0EAIRAgAEEANgIcIABBm5KAgAA2AhAgAEEHNgIMIAAgFEEBajYCFAz2AgsCQANAAkAgAS0AAEHwyICAAGotAAAiEEEERg0AAkACQCAQQX9qDgfSAdMB1AHZAQAEAdkBCyABIQFB2gAhEAzgAgsgAUEBaiEBQdwAIRAM3wILIAFBAWoiASACRw0AC0HvACEQDPYCCyABQQFqIQEMywELAkAgASIUIAJHDQBB8AAhEAz1AgsgFC0AAEEvRw3UASAUQQFqIQEMBgsCQCABIhQgAkcNAEHxACEQDPQCCwJAIBQtAAAiAUEvRw0AIBRBAWohAUHdACEQDNsCCyABQXZqIgRBFksN0wFBASAEdEGJgIACcUUN0wEMygILAkAgASIBIAJGDQAgAUEBaiEBQd4AIRAM2gILQfIAIRAM8gILAkAgASIUIAJHDQBB9AAhEAzyAgsgFCEBAkAgFC0AAEHwzICAAGotAABBf2oOA8kClAIA1AELQeEAIRAM2AILAkAgASIUIAJGDQADQAJAIBQtAABB8MqAgABqLQAAIgFBA0YNAAJAIAFBf2oOAssCANUBCyAUIQFB3wAhEAzaAgsgFEEBaiIUIAJHDQALQfMAIRAM8QILQfMAIRAM8AILAkAgASIBIAJGDQAgAEGPgICAADYCCCAAIAE2AgQgASEBQeAAIRAM1wILQfUAIRAM7wILAkAgASIBIAJHDQBB9gAhEAzvAgsgAEGPgICAADYCCCAAIAE2AgQgASEBC0EDIRAM1AILA0AgAS0AAEEgRw3DAiABQQFqIgEgAkcNAAtB9wAhEAzsAgsCQCABIgEgAkcNAEH4ACEQDOwCCyABLQAAQSBHDc4BIAFBAWohAQzvAQsgACABIgEgAhCsgICAACIQDc4BIAEhAQyOAgsCQCABIgQgAkcNAEH6ACEQDOoCCyAELQAAQcwARw3RASAEQQFqIQFBEyEQDM8BCwJAIAEiBCACRw0AQfsAIRAM6QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEANAIAQtAAAgAUHwzoCAAGotAABHDdABIAFBBUYNzgEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBB+wAhEAzoAgsCQCABIgQgAkcNAEH8ACEQDOgCCwJAAkAgBC0AAEG9f2oODADRAdEB0QHRAdEB0QHRAdEB0QHRAQHRAQsgBEEBaiEBQeYAIRAMzwILIARBAWohAUHnACEQDM4CCwJAIAEiBCACRw0AQf0AIRAM5wILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNzwEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf0AIRAM5wILIABBADYCACAQQQFqIQFBECEQDMwBCwJAIAEiBCACRw0AQf4AIRAM5gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQfbOgIAAai0AAEcNzgEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf4AIRAM5gILIABBADYCACAQQQFqIQFBFiEQDMsBCwJAIAEiBCACRw0AQf8AIRAM5QILIAIgBGsgACgCACIBaiEUIAQgAWtBA2ohEAJAA0AgBC0AACABQfzOgIAAai0AAEcNzQEgAUEDRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQf8AIRAM5QILIABBADYCACAQQQFqIQFBBSEQDMoBCwJAIAEiBCACRw0AQYABIRAM5AILIAQtAABB2QBHDcsBIARBAWohAUEIIRAMyQELAkAgASIEIAJHDQBBgQEhEAzjAgsCQAJAIAQtAABBsn9qDgMAzAEBzAELIARBAWohAUHrACEQDMoCCyAEQQFqIQFB7AAhEAzJAgsCQCABIgQgAkcNAEGCASEQDOICCwJAAkAgBC0AAEG4f2oOCADLAcsBywHLAcsBywEBywELIARBAWohAUHqACEQDMkCCyAEQQFqIQFB7QAhEAzIAgsCQCABIgQgAkcNAEGDASEQDOECCyACIARrIAAoAgAiAWohECAEIAFrQQJqIRQCQANAIAQtAAAgAUGAz4CAAGotAABHDckBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgEDYCAEGDASEQDOECC0EAIRAgAEEANgIAIBRBAWohAQzGAQsCQCABIgQgAkcNAEGEASEQDOACCyACIARrIAAoAgAiAWohFCAEIAFrQQRqIRACQANAIAQtAAAgAUGDz4CAAGotAABHDcgBIAFBBEYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGEASEQDOACCyAAQQA2AgAgEEEBaiEBQSMhEAzFAQsCQCABIgQgAkcNAEGFASEQDN8CCwJAAkAgBC0AAEG0f2oOCADIAcgByAHIAcgByAEByAELIARBAWohAUHvACEQDMYCCyAEQQFqIQFB8AAhEAzFAgsCQCABIgQgAkcNAEGGASEQDN4CCyAELQAAQcUARw3FASAEQQFqIQEMgwILAkAgASIEIAJHDQBBhwEhEAzdAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFBiM+AgABqLQAARw3FASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBhwEhEAzdAgsgAEEANgIAIBBBAWohAUEtIRAMwgELAkAgASIEIAJHDQBBiAEhEAzcAgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw3EASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiAEhEAzcAgsgAEEANgIAIBBBAWohAUEpIRAMwQELAkAgASIBIAJHDQBBiQEhEAzbAgtBASEQIAEtAABB3wBHDcABIAFBAWohAQyBAgsCQCABIgQgAkcNAEGKASEQDNoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRADQCAELQAAIAFBjM+AgABqLQAARw3BASABQQFGDa8CIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQYoBIRAM2QILAkAgASIEIAJHDQBBiwEhEAzZAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFBjs+AgABqLQAARw3BASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBiwEhEAzZAgsgAEEANgIAIBBBAWohAUECIRAMvgELAkAgASIEIAJHDQBBjAEhEAzYAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw3AASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjAEhEAzYAgsgAEEANgIAIBBBAWohAUEfIRAMvQELAkAgASIEIAJHDQBBjQEhEAzXAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8s+AgABqLQAARw2/ASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBjQEhEAzXAgsgAEEANgIAIBBBAWohAUEJIRAMvAELAkAgASIEIAJHDQBBjgEhEAzWAgsCQAJAIAQtAABBt39qDgcAvwG/Ab8BvwG/AQG/AQsgBEEBaiEBQfgAIRAMvQILIARBAWohAUH5ACEQDLwCCwJAIAEiBCACRw0AQY8BIRAM1QILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQZHPgIAAai0AAEcNvQEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQY8BIRAM1QILIABBADYCACAQQQFqIQFBGCEQDLoBCwJAIAEiBCACRw0AQZABIRAM1AILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQZfPgIAAai0AAEcNvAEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZABIRAM1AILIABBADYCACAQQQFqIQFBFyEQDLkBCwJAIAEiBCACRw0AQZEBIRAM0wILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQZrPgIAAai0AAEcNuwEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZEBIRAM0wILIABBADYCACAQQQFqIQFBFSEQDLgBCwJAIAEiBCACRw0AQZIBIRAM0gILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQaHPgIAAai0AAEcNugEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZIBIRAM0gILIABBADYCACAQQQFqIQFBHiEQDLcBCwJAIAEiBCACRw0AQZMBIRAM0QILIAQtAABBzABHDbgBIARBAWohAUEKIRAMtgELAkAgBCACRw0AQZQBIRAM0AILAkACQCAELQAAQb9/ag4PALkBuQG5AbkBuQG5AbkBuQG5AbkBuQG5AbkBAbkBCyAEQQFqIQFB/gAhEAy3AgsgBEEBaiEBQf8AIRAMtgILAkAgBCACRw0AQZUBIRAMzwILAkACQCAELQAAQb9/ag4DALgBAbgBCyAEQQFqIQFB/QAhEAy2AgsgBEEBaiEEQYABIRAMtQILAkAgBCACRw0AQZYBIRAMzgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQafPgIAAai0AAEcNtgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZYBIRAMzgILIABBADYCACAQQQFqIQFBCyEQDLMBCwJAIAQgAkcNAEGXASEQDM0CCwJAAkACQAJAIAQtAABBU2oOIwC4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBuAG4AbgBAbgBuAG4AbgBuAECuAG4AbgBA7gBCyAEQQFqIQFB+wAhEAy2AgsgBEEBaiEBQfwAIRAMtQILIARBAWohBEGBASEQDLQCCyAEQQFqIQRBggEhEAyzAgsCQCAEIAJHDQBBmAEhEAzMAgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBqc+AgABqLQAARw20ASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmAEhEAzMAgsgAEEANgIAIBBBAWohAUEZIRAMsQELAkAgBCACRw0AQZkBIRAMywILIAIgBGsgACgCACIBaiEUIAQgAWtBBWohEAJAA0AgBC0AACABQa7PgIAAai0AAEcNswEgAUEFRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZkBIRAMywILIABBADYCACAQQQFqIQFBBiEQDLABCwJAIAQgAkcNAEGaASEQDMoCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG0z4CAAGotAABHDbIBIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGaASEQDMoCCyAAQQA2AgAgEEEBaiEBQRwhEAyvAQsCQCAEIAJHDQBBmwEhEAzJAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBts+AgABqLQAARw2xASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBmwEhEAzJAgsgAEEANgIAIBBBAWohAUEnIRAMrgELAkAgBCACRw0AQZwBIRAMyAILAkACQCAELQAAQax/ag4CAAGxAQsgBEEBaiEEQYYBIRAMrwILIARBAWohBEGHASEQDK4CCwJAIAQgAkcNAEGdASEQDMcCCyACIARrIAAoAgAiAWohFCAEIAFrQQFqIRACQANAIAQtAAAgAUG4z4CAAGotAABHDa8BIAFBAUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGdASEQDMcCCyAAQQA2AgAgEEEBaiEBQSYhEAysAQsCQCAEIAJHDQBBngEhEAzGAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFBus+AgABqLQAARw2uASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBngEhEAzGAgsgAEEANgIAIBBBAWohAUEDIRAMqwELAkAgBCACRw0AQZ8BIRAMxQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNrQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQZ8BIRAMxQILIABBADYCACAQQQFqIQFBDCEQDKoBCwJAIAQgAkcNAEGgASEQDMQCCyACIARrIAAoAgAiAWohFCAEIAFrQQNqIRACQANAIAQtAAAgAUG8z4CAAGotAABHDawBIAFBA0YNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGgASEQDMQCCyAAQQA2AgAgEEEBaiEBQQ0hEAypAQsCQCAEIAJHDQBBoQEhEAzDAgsCQAJAIAQtAABBun9qDgsArAGsAawBrAGsAawBrAGsAawBAawBCyAEQQFqIQRBiwEhEAyqAgsgBEEBaiEEQYwBIRAMqQILAkAgBCACRw0AQaIBIRAMwgILIAQtAABB0ABHDakBIARBAWohBAzpAQsCQCAEIAJHDQBBowEhEAzBAgsCQAJAIAQtAABBt39qDgcBqgGqAaoBqgGqAQCqAQsgBEEBaiEEQY4BIRAMqAILIARBAWohAUEiIRAMpgELAkAgBCACRw0AQaQBIRAMwAILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQcDPgIAAai0AAEcNqAEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaQBIRAMwAILIABBADYCACAQQQFqIQFBHSEQDKUBCwJAIAQgAkcNAEGlASEQDL8CCwJAAkAgBC0AAEGuf2oOAwCoAQGoAQsgBEEBaiEEQZABIRAMpgILIARBAWohAUEEIRAMpAELAkAgBCACRw0AQaYBIRAMvgILAkACQAJAAkACQCAELQAAQb9/ag4VAKoBqgGqAaoBqgGqAaoBqgGqAaoBAaoBqgECqgGqAQOqAaoBBKoBCyAEQQFqIQRBiAEhEAyoAgsgBEEBaiEEQYkBIRAMpwILIARBAWohBEGKASEQDKYCCyAEQQFqIQRBjwEhEAylAgsgBEEBaiEEQZEBIRAMpAILAkAgBCACRw0AQacBIRAMvQILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQe3PgIAAai0AAEcNpQEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQacBIRAMvQILIABBADYCACAQQQFqIQFBESEQDKIBCwJAIAQgAkcNAEGoASEQDLwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHCz4CAAGotAABHDaQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGoASEQDLwCCyAAQQA2AgAgEEEBaiEBQSwhEAyhAQsCQCAEIAJHDQBBqQEhEAy7AgsgAiAEayAAKAIAIgFqIRQgBCABa0EEaiEQAkADQCAELQAAIAFBxc+AgABqLQAARw2jASABQQRGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBqQEhEAy7AgsgAEEANgIAIBBBAWohAUErIRAMoAELAkAgBCACRw0AQaoBIRAMugILIAIgBGsgACgCACIBaiEUIAQgAWtBAmohEAJAA0AgBC0AACABQcrPgIAAai0AAEcNogEgAUECRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQaoBIRAMugILIABBADYCACAQQQFqIQFBFCEQDJ8BCwJAIAQgAkcNAEGrASEQDLkCCwJAAkACQAJAIAQtAABBvn9qDg8AAQKkAaQBpAGkAaQBpAGkAaQBpAGkAaQBA6QBCyAEQQFqIQRBkwEhEAyiAgsgBEEBaiEEQZQBIRAMoQILIARBAWohBEGVASEQDKACCyAEQQFqIQRBlgEhEAyfAgsCQCAEIAJHDQBBrAEhEAy4AgsgBC0AAEHFAEcNnwEgBEEBaiEEDOABCwJAIAQgAkcNAEGtASEQDLcCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHNz4CAAGotAABHDZ8BIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEGtASEQDLcCCyAAQQA2AgAgEEEBaiEBQQ4hEAycAQsCQCAEIAJHDQBBrgEhEAy2AgsgBC0AAEHQAEcNnQEgBEEBaiEBQSUhEAybAQsCQCAEIAJHDQBBrwEhEAy1AgsgAiAEayAAKAIAIgFqIRQgBCABa0EIaiEQAkADQCAELQAAIAFB0M+AgABqLQAARw2dASABQQhGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBrwEhEAy1AgsgAEEANgIAIBBBAWohAUEqIRAMmgELAkAgBCACRw0AQbABIRAMtAILAkACQCAELQAAQat/ag4LAJ0BnQGdAZ0BnQGdAZ0BnQGdAQGdAQsgBEEBaiEEQZoBIRAMmwILIARBAWohBEGbASEQDJoCCwJAIAQgAkcNAEGxASEQDLMCCwJAAkAgBC0AAEG/f2oOFACcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAGcAZwBnAEBnAELIARBAWohBEGZASEQDJoCCyAEQQFqIQRBnAEhEAyZAgsCQCAEIAJHDQBBsgEhEAyyAgsgAiAEayAAKAIAIgFqIRQgBCABa0EDaiEQAkADQCAELQAAIAFB2c+AgABqLQAARw2aASABQQNGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBsgEhEAyyAgsgAEEANgIAIBBBAWohAUEhIRAMlwELAkAgBCACRw0AQbMBIRAMsQILIAIgBGsgACgCACIBaiEUIAQgAWtBBmohEAJAA0AgBC0AACABQd3PgIAAai0AAEcNmQEgAUEGRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbMBIRAMsQILIABBADYCACAQQQFqIQFBGiEQDJYBCwJAIAQgAkcNAEG0ASEQDLACCwJAAkACQCAELQAAQbt/ag4RAJoBmgGaAZoBmgGaAZoBmgGaAQGaAZoBmgGaAZoBApoBCyAEQQFqIQRBnQEhEAyYAgsgBEEBaiEEQZ4BIRAMlwILIARBAWohBEGfASEQDJYCCwJAIAQgAkcNAEG1ASEQDK8CCyACIARrIAAoAgAiAWohFCAEIAFrQQVqIRACQANAIAQtAAAgAUHkz4CAAGotAABHDZcBIAFBBUYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG1ASEQDK8CCyAAQQA2AgAgEEEBaiEBQSghEAyUAQsCQCAEIAJHDQBBtgEhEAyuAgsgAiAEayAAKAIAIgFqIRQgBCABa0ECaiEQAkADQCAELQAAIAFB6s+AgABqLQAARw2WASABQQJGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBtgEhEAyuAgsgAEEANgIAIBBBAWohAUEHIRAMkwELAkAgBCACRw0AQbcBIRAMrQILAkACQCAELQAAQbt/ag4OAJYBlgGWAZYBlgGWAZYBlgGWAZYBlgGWAQGWAQsgBEEBaiEEQaEBIRAMlAILIARBAWohBEGiASEQDJMCCwJAIAQgAkcNAEG4ASEQDKwCCyACIARrIAAoAgAiAWohFCAEIAFrQQJqIRACQANAIAQtAAAgAUHtz4CAAGotAABHDZQBIAFBAkYNASABQQFqIQEgBEEBaiIEIAJHDQALIAAgFDYCAEG4ASEQDKwCCyAAQQA2AgAgEEEBaiEBQRIhEAyRAQsCQCAEIAJHDQBBuQEhEAyrAgsgAiAEayAAKAIAIgFqIRQgBCABa0EBaiEQAkADQCAELQAAIAFB8M+AgABqLQAARw2TASABQQFGDQEgAUEBaiEBIARBAWoiBCACRw0ACyAAIBQ2AgBBuQEhEAyrAgsgAEEANgIAIBBBAWohAUEgIRAMkAELAkAgBCACRw0AQboBIRAMqgILIAIgBGsgACgCACIBaiEUIAQgAWtBAWohEAJAA0AgBC0AACABQfLPgIAAai0AAEcNkgEgAUEBRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQboBIRAMqgILIABBADYCACAQQQFqIQFBDyEQDI8BCwJAIAQgAkcNAEG7ASEQDKkCCwJAAkAgBC0AAEG3f2oOBwCSAZIBkgGSAZIBAZIBCyAEQQFqIQRBpQEhEAyQAgsgBEEBaiEEQaYBIRAMjwILAkAgBCACRw0AQbwBIRAMqAILIAIgBGsgACgCACIBaiEUIAQgAWtBB2ohEAJAA0AgBC0AACABQfTPgIAAai0AAEcNkAEgAUEHRg0BIAFBAWohASAEQQFqIgQgAkcNAAsgACAUNgIAQbwBIRAMqAILIABBADYCACAQQQFqIQFBGyEQDI0BCwJAIAQgAkcNAEG9ASEQDKcCCwJAAkACQCAELQAAQb5/ag4SAJEBkQGRAZEBkQGRAZEBkQGRAQGRAZEBkQGRAZEBkQECkQELIARBAWohBEGkASEQDI8CCyAEQQFqIQRBpwEhEAyOAgsgBEEBaiEEQagBIRAMjQILAkAgBCACRw0AQb4BIRAMpgILIAQtAABBzgBHDY0BIARBAWohBAzPAQsCQCAEIAJHDQBBvwEhEAylAgsCQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAELQAAQb9/ag4VAAECA5wBBAUGnAGcAZwBBwgJCgucAQwNDg+cAQsgBEEBaiEBQegAIRAMmgILIARBAWohAUHpACEQDJkCCyAEQQFqIQFB7gAhEAyYAgsgBEEBaiEBQfIAIRAMlwILIARBAWohAUHzACEQDJYCCyAEQQFqIQFB9gAhEAyVAgsgBEEBaiEBQfcAIRAMlAILIARBAWohAUH6ACEQDJMCCyAEQQFqIQRBgwEhEAySAgsgBEEBaiEEQYQBIRAMkQILIARBAWohBEGFASEQDJACCyAEQQFqIQRBkgEhEAyPAgsgBEEBaiEEQZgBIRAMjgILIARBAWohBEGgASEQDI0CCyAEQQFqIQRBowEhEAyMAgsgBEEBaiEEQaoBIRAMiwILAkAgBCACRg0AIABBkICAgAA2AgggACAENgIEQasBIRAMiwILQcABIRAMowILIAAgBSACEKqAgIAAIgENiwEgBSEBDFwLAkAgBiACRg0AIAZBAWohBQyNAQtBwgEhEAyhAgsDQAJAIBAtAABBdmoOBIwBAACPAQALIBBBAWoiECACRw0AC0HDASEQDKACCwJAIAcgAkYNACAAQZGAgIAANgIIIAAgBzYCBCAHIQFBASEQDIcCC0HEASEQDJ8CCwJAIAcgAkcNAEHFASEQDJ8CCwJAAkAgBy0AAEF2ag4EAc4BzgEAzgELIAdBAWohBgyNAQsgB0EBaiEFDIkBCwJAIAcgAkcNAEHGASEQDJ4CCwJAAkAgBy0AAEF2ag4XAY8BjwEBjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BAI8BCyAHQQFqIQcLQbABIRAMhAILAkAgCCACRw0AQcgBIRAMnQILIAgtAABBIEcNjQEgAEEAOwEyIAhBAWohAUGzASEQDIMCCyABIRcCQANAIBciByACRg0BIActAABBUGpB/wFxIhBBCk8NzAECQCAALwEyIhRBmTNLDQAgACAUQQpsIhQ7ATIgEEH//wNzIBRB/v8DcUkNACAHQQFqIRcgACAUIBBqIhA7ATIgEEH//wNxQegHSQ0BCwtBACEQIABBADYCHCAAQcGJgIAANgIQIABBDTYCDCAAIAdBAWo2AhQMnAILQccBIRAMmwILIAAgCCACEK6AgIAAIhBFDcoBIBBBFUcNjAEgAEHIATYCHCAAIAg2AhQgAEHJl4CAADYCECAAQRU2AgxBACEQDJoCCwJAIAkgAkcNAEHMASEQDJoCC0EAIRRBASEXQQEhFkEAIRACQAJAAkACQAJAAkACQAJAAkAgCS0AAEFQag4KlgGVAQABAgMEBQYIlwELQQIhEAwGC0EDIRAMBQtBBCEQDAQLQQUhEAwDC0EGIRAMAgtBByEQDAELQQghEAtBACEXQQAhFkEAIRQMjgELQQkhEEEBIRRBACEXQQAhFgyNAQsCQCAKIAJHDQBBzgEhEAyZAgsgCi0AAEEuRw2OASAKQQFqIQkMygELIAsgAkcNjgFB0AEhEAyXAgsCQCALIAJGDQAgAEGOgICAADYCCCAAIAs2AgRBtwEhEAz+AQtB0QEhEAyWAgsCQCAEIAJHDQBB0gEhEAyWAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EEaiELA0AgBC0AACAQQfzPgIAAai0AAEcNjgEgEEEERg3pASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHSASEQDJUCCyAAIAwgAhCsgICAACIBDY0BIAwhAQy4AQsCQCAEIAJHDQBB1AEhEAyUAgsgAiAEayAAKAIAIhBqIRQgBCAQa0EBaiEMA0AgBC0AACAQQYHQgIAAai0AAEcNjwEgEEEBRg2OASAQQQFqIRAgBEEBaiIEIAJHDQALIAAgFDYCAEHUASEQDJMCCwJAIAQgAkcNAEHWASEQDJMCCyACIARrIAAoAgAiEGohFCAEIBBrQQJqIQsDQCAELQAAIBBBg9CAgABqLQAARw2OASAQQQJGDZABIBBBAWohECAEQQFqIgQgAkcNAAsgACAUNgIAQdYBIRAMkgILAkAgBCACRw0AQdcBIRAMkgILAkACQCAELQAAQbt/ag4QAI8BjwGPAY8BjwGPAY8BjwGPAY8BjwGPAY8BjwEBjwELIARBAWohBEG7ASEQDPkBCyAEQQFqIQRBvAEhEAz4AQsCQCAEIAJHDQBB2AEhEAyRAgsgBC0AAEHIAEcNjAEgBEEBaiEEDMQBCwJAIAQgAkYNACAAQZCAgIAANgIIIAAgBDYCBEG+ASEQDPcBC0HZASEQDI8CCwJAIAQgAkcNAEHaASEQDI8CCyAELQAAQcgARg3DASAAQQE6ACgMuQELIABBAjoALyAAIAQgAhCmgICAACIQDY0BQcIBIRAM9AELIAAtAChBf2oOArcBuQG4AQsDQAJAIAQtAABBdmoOBACOAY4BAI4BCyAEQQFqIgQgAkcNAAtB3QEhEAyLAgsgAEEAOgAvIAAtAC1BBHFFDYQCCyAAQQA6AC8gAEEBOgA0IAEhAQyMAQsgEEEVRg3aASAAQQA2AhwgACABNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAyIAgsCQCAAIBAgAhC0gICAACIEDQAgECEBDIECCwJAIARBFUcNACAAQQM2AhwgACAQNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAyIAgsgAEEANgIcIAAgEDYCFCAAQaeOgIAANgIQIABBEjYCDEEAIRAMhwILIBBBFUYN1gEgAEEANgIcIAAgATYCFCAAQdqNgIAANgIQIABBFDYCDEEAIRAMhgILIAAoAgQhFyAAQQA2AgQgECARp2oiFiEBIAAgFyAQIBYgFBsiEBC1gICAACIURQ2NASAAQQc2AhwgACAQNgIUIAAgFDYCDEEAIRAMhQILIAAgAC8BMEGAAXI7ATAgASEBC0EqIRAM6gELIBBBFUYN0QEgAEEANgIcIAAgATYCFCAAQYOMgIAANgIQIABBEzYCDEEAIRAMggILIBBBFUYNzwEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAMgQILIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDI0BCyAAQQw2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAMgAILIBBBFUYNzAEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM/wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIwBCyAAQQ02AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/gELIBBBFUYNyQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM/QELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIsBCyAAQQ42AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM/AELIABBADYCHCAAIAE2AhQgAEHAlYCAADYCECAAQQI2AgxBACEQDPsBCyAQQRVGDcUBIABBADYCHCAAIAE2AhQgAEHGjICAADYCECAAQSM2AgxBACEQDPoBCyAAQRA2AhwgACABNgIUIAAgEDYCDEEAIRAM+QELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDPEBCyAAQRE2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM+AELIBBBFUYNwQEgAEEANgIcIAAgATYCFCAAQcaMgIAANgIQIABBIzYCDEEAIRAM9wELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC5gICAACIQDQAgAUEBaiEBDIgBCyAAQRM2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM9gELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC5gICAACIEDQAgAUEBaiEBDO0BCyAAQRQ2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM9QELIBBBFUYNvQEgAEEANgIcIAAgATYCFCAAQZqPgIAANgIQIABBIjYCDEEAIRAM9AELIAAoAgQhECAAQQA2AgQCQCAAIBAgARC3gICAACIQDQAgAUEBaiEBDIYBCyAAQRY2AhwgACAQNgIMIAAgAUEBajYCFEEAIRAM8wELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARC3gICAACIEDQAgAUEBaiEBDOkBCyAAQRc2AhwgACAENgIMIAAgAUEBajYCFEEAIRAM8gELIABBADYCHCAAIAE2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDPEBC0IBIRELIBBBAWohAQJAIAApAyAiEkL//////////w9WDQAgACASQgSGIBGENwMgIAEhAQyEAQsgAEEANgIcIAAgATYCFCAAQa2JgIAANgIQIABBDDYCDEEAIRAM7wELIABBADYCHCAAIBA2AhQgAEHNk4CAADYCECAAQQw2AgxBACEQDO4BCyAAKAIEIRcgAEEANgIEIBAgEadqIhYhASAAIBcgECAWIBQbIhAQtYCAgAAiFEUNcyAAQQU2AhwgACAQNgIUIAAgFDYCDEEAIRAM7QELIABBADYCHCAAIBA2AhQgAEGqnICAADYCECAAQQ82AgxBACEQDOwBCyAAIBAgAhC0gICAACIBDQEgECEBC0EOIRAM0QELAkAgAUEVRw0AIABBAjYCHCAAIBA2AhQgAEGwmICAADYCECAAQRU2AgxBACEQDOoBCyAAQQA2AhwgACAQNgIUIABBp46AgAA2AhAgAEESNgIMQQAhEAzpAQsgAUEBaiEQAkAgAC8BMCIBQYABcUUNAAJAIAAgECACELuAgIAAIgENACAQIQEMcAsgAUEVRw26ASAAQQU2AhwgACAQNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAzpAQsCQCABQaAEcUGgBEcNACAALQAtQQJxDQAgAEEANgIcIAAgEDYCFCAAQZaTgIAANgIQIABBBDYCDEEAIRAM6QELIAAgECACEL2AgIAAGiAQIQECQAJAAkACQAJAIAAgECACELOAgIAADhYCAQAEBAQEBAQEBAQEBAQEBAQEBAQDBAsgAEEBOgAuCyAAIAAvATBBwAByOwEwIBAhAQtBJiEQDNEBCyAAQSM2AhwgACAQNgIUIABBpZaAgAA2AhAgAEEVNgIMQQAhEAzpAQsgAEEANgIcIAAgEDYCFCAAQdWLgIAANgIQIABBETYCDEEAIRAM6AELIAAtAC1BAXFFDQFBwwEhEAzOAQsCQCANIAJGDQADQAJAIA0tAABBIEYNACANIQEMxAELIA1BAWoiDSACRw0AC0ElIRAM5wELQSUhEAzmAQsgACgCBCEEIABBADYCBCAAIAQgDRCvgICAACIERQ2tASAAQSY2AhwgACAENgIMIAAgDUEBajYCFEEAIRAM5QELIBBBFUYNqwEgAEEANgIcIAAgATYCFCAAQf2NgIAANgIQIABBHTYCDEEAIRAM5AELIABBJzYCHCAAIAE2AhQgACAQNgIMQQAhEAzjAQsgECEBQQEhFAJAAkACQAJAAkACQAJAIAAtACxBfmoOBwYFBQMBAgAFCyAAIAAvATBBCHI7ATAMAwtBAiEUDAELQQQhFAsgAEEBOgAsIAAgAC8BMCAUcjsBMAsgECEBC0ErIRAMygELIABBADYCHCAAIBA2AhQgAEGrkoCAADYCECAAQQs2AgxBACEQDOIBCyAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMQQAhEAzhAQsgAEEAOgAsIBAhAQy9AQsgECEBQQEhFAJAAkACQAJAAkAgAC0ALEF7ag4EAwECAAULIAAgAC8BMEEIcjsBMAwDC0ECIRQMAQtBBCEUCyAAQQE6ACwgACAALwEwIBRyOwEwCyAQIQELQSkhEAzFAQsgAEEANgIcIAAgATYCFCAAQfCUgIAANgIQIABBAzYCDEEAIRAM3QELAkAgDi0AAEENRw0AIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDkEBaiEBDHULIABBLDYCHCAAIAE2AgwgACAOQQFqNgIUQQAhEAzdAQsgAC0ALUEBcUUNAUHEASEQDMMBCwJAIA4gAkcNAEEtIRAM3AELAkACQANAAkAgDi0AAEF2ag4EAgAAAwALIA5BAWoiDiACRw0AC0EtIRAM3QELIAAoAgQhASAAQQA2AgQCQCAAIAEgDhCxgICAACIBDQAgDiEBDHQLIABBLDYCHCAAIA42AhQgACABNgIMQQAhEAzcAQsgACgCBCEBIABBADYCBAJAIAAgASAOELGAgIAAIgENACAOQQFqIQEMcwsgAEEsNgIcIAAgATYCDCAAIA5BAWo2AhRBACEQDNsBCyAAKAIEIQQgAEEANgIEIAAgBCAOELGAgIAAIgQNoAEgDiEBDM4BCyAQQSxHDQEgAUEBaiEQQQEhAQJAAkACQAJAAkAgAC0ALEF7ag4EAwECBAALIBAhAQwEC0ECIQEMAQtBBCEBCyAAQQE6ACwgACAALwEwIAFyOwEwIBAhAQwBCyAAIAAvATBBCHI7ATAgECEBC0E5IRAMvwELIABBADoALCABIQELQTQhEAy9AQsgACAALwEwQSByOwEwIAEhAQwCCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQsYCAgAAiBA0AIAEhAQzHAQsgAEE3NgIcIAAgATYCFCAAIAQ2AgxBACEQDNQBCyAAQQg6ACwgASEBC0EwIRAMuQELAkAgAC0AKEEBRg0AIAEhAQwECyAALQAtQQhxRQ2TASABIQEMAwsgAC0AMEEgcQ2UAUHFASEQDLcBCwJAIA8gAkYNAAJAA0ACQCAPLQAAQVBqIgFB/wFxQQpJDQAgDyEBQTUhEAy6AQsgACkDICIRQpmz5syZs+bMGVYNASAAIBFCCn4iETcDICARIAGtQv8BgyISQn+FVg0BIAAgESASfDcDICAPQQFqIg8gAkcNAAtBOSEQDNEBCyAAKAIEIQIgAEEANgIEIAAgAiAPQQFqIgQQsYCAgAAiAg2VASAEIQEMwwELQTkhEAzPAQsCQCAALwEwIgFBCHFFDQAgAC0AKEEBRw0AIAAtAC1BCHFFDZABCyAAIAFB9/sDcUGABHI7ATAgDyEBC0E3IRAMtAELIAAgAC8BMEEQcjsBMAyrAQsgEEEVRg2LASAAQQA2AhwgACABNgIUIABB8I6AgAA2AhAgAEEcNgIMQQAhEAzLAQsgAEHDADYCHCAAIAE2AgwgACANQQFqNgIUQQAhEAzKAQsCQCABLQAAQTpHDQAgACgCBCEQIABBADYCBAJAIAAgECABEK+AgIAAIhANACABQQFqIQEMYwsgAEHDADYCHCAAIBA2AgwgACABQQFqNgIUQQAhEAzKAQsgAEEANgIcIAAgATYCFCAAQbGRgIAANgIQIABBCjYCDEEAIRAMyQELIABBADYCHCAAIAE2AhQgAEGgmYCAADYCECAAQR42AgxBACEQDMgBCyAAQQA2AgALIABBgBI7ASogACAXQQFqIgEgAhCogICAACIQDQEgASEBC0HHACEQDKwBCyAQQRVHDYMBIABB0QA2AhwgACABNgIUIABB45eAgAA2AhAgAEEVNgIMQQAhEAzEAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMXgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAzDAQsgAEEANgIcIAAgFDYCFCAAQcGogIAANgIQIABBBzYCDCAAQQA2AgBBACEQDMIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxdCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDMEBC0EAIRAgAEEANgIcIAAgATYCFCAAQYCRgIAANgIQIABBCTYCDAzAAQsgEEEVRg19IABBADYCHCAAIAE2AhQgAEGUjYCAADYCECAAQSE2AgxBACEQDL8BC0EBIRZBACEXQQAhFEEBIRALIAAgEDoAKyABQQFqIQECQAJAIAAtAC1BEHENAAJAAkACQCAALQAqDgMBAAIECyAWRQ0DDAILIBQNAQwCCyAXRQ0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQrYCAgAAiEA0AIAEhAQxcCyAAQdgANgIcIAAgATYCFCAAIBA2AgxBACEQDL4BCyAAKAIEIQQgAEEANgIEAkAgACAEIAEQrYCAgAAiBA0AIAEhAQytAQsgAEHZADYCHCAAIAE2AhQgACAENgIMQQAhEAy9AQsgACgCBCEEIABBADYCBAJAIAAgBCABEK2AgIAAIgQNACABIQEMqwELIABB2gA2AhwgACABNgIUIAAgBDYCDEEAIRAMvAELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKkBCyAAQdwANgIcIAAgATYCFCAAIAQ2AgxBACEQDLsBCwJAIAEtAABBUGoiEEH/AXFBCk8NACAAIBA6ACogAUEBaiEBQc8AIRAMogELIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCtgICAACIEDQAgASEBDKcBCyAAQd4ANgIcIAAgATYCFCAAIAQ2AgxBACEQDLoBCyAAQQA2AgAgF0EBaiEBAkAgAC0AKUEjTw0AIAEhAQxZCyAAQQA2AhwgACABNgIUIABB04mAgAA2AhAgAEEINgIMQQAhEAy5AQsgAEEANgIAC0EAIRAgAEEANgIcIAAgATYCFCAAQZCzgIAANgIQIABBCDYCDAy3AQsgAEEANgIAIBdBAWohAQJAIAAtAClBIUcNACABIQEMVgsgAEEANgIcIAAgATYCFCAAQZuKgIAANgIQIABBCDYCDEEAIRAMtgELIABBADYCACAXQQFqIQECQCAALQApIhBBXWpBC08NACABIQEMVQsCQCAQQQZLDQBBASAQdEHKAHFFDQAgASEBDFULQQAhECAAQQA2AhwgACABNgIUIABB94mAgAA2AhAgAEEINgIMDLUBCyAQQRVGDXEgAEEANgIcIAAgATYCFCAAQbmNgIAANgIQIABBGjYCDEEAIRAMtAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFQLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMswELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMsgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDE0LIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMsQELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDFELIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMsAELIABBADYCHCAAIAE2AhQgAEHGioCAADYCECAAQQc2AgxBACEQDK8BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdIANgIcIAAgATYCFCAAIBA2AgxBACEQDK4BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxJCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDK0BCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDKwBCyAAQQA2AhwgACABNgIUIABB3IiAgAA2AhAgAEEHNgIMQQAhEAyrAQsgEEE/Rw0BIAFBAWohAQtBBSEQDJABC0EAIRAgAEEANgIcIAAgATYCFCAAQf2SgIAANgIQIABBBzYCDAyoAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAynAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMQgsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAymAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMRgsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAylAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHSADYCHCAAIBQ2AhQgACABNgIMQQAhEAykAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMPwsgAEHTADYCHCAAIBQ2AhQgACABNgIMQQAhEAyjAQsgACgCBCEBIABBADYCBAJAIAAgASAUEKeAgIAAIgENACAUIQEMQwsgAEHlADYCHCAAIBQ2AhQgACABNgIMQQAhEAyiAQsgAEEANgIcIAAgFDYCFCAAQcOPgIAANgIQIABBBzYCDEEAIRAMoQELIABBADYCHCAAIAE2AhQgAEHDj4CAADYCECAAQQc2AgxBACEQDKABC0EAIRAgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDAyfAQsgAEEANgIcIAAgFDYCFCAAQYycgIAANgIQIABBBzYCDEEAIRAMngELIABBADYCHCAAIBQ2AhQgAEH+kYCAADYCECAAQQc2AgxBACEQDJ0BCyAAQQA2AhwgACABNgIUIABBjpuAgAA2AhAgAEEGNgIMQQAhEAycAQsgEEEVRg1XIABBADYCHCAAIAE2AhQgAEHMjoCAADYCECAAQSA2AgxBACEQDJsBCyAAQQA2AgAgEEEBaiEBQSQhEAsgACAQOgApIAAoAgQhECAAQQA2AgQgACAQIAEQq4CAgAAiEA1UIAEhAQw+CyAAQQA2AgALQQAhECAAQQA2AhwgACAENgIUIABB8ZuAgAA2AhAgAEEGNgIMDJcBCyABQRVGDVAgAEEANgIcIAAgBTYCFCAAQfCMgIAANgIQIABBGzYCDEEAIRAMlgELIAAoAgQhBSAAQQA2AgQgACAFIBAQqYCAgAAiBQ0BIBBBAWohBQtBrQEhEAx7CyAAQcEBNgIcIAAgBTYCDCAAIBBBAWo2AhRBACEQDJMBCyAAKAIEIQYgAEEANgIEIAAgBiAQEKmAgIAAIgYNASAQQQFqIQYLQa4BIRAMeAsgAEHCATYCHCAAIAY2AgwgACAQQQFqNgIUQQAhEAyQAQsgAEEANgIcIAAgBzYCFCAAQZeLgIAANgIQIABBDTYCDEEAIRAMjwELIABBADYCHCAAIAg2AhQgAEHjkICAADYCECAAQQk2AgxBACEQDI4BCyAAQQA2AhwgACAINgIUIABBlI2AgAA2AhAgAEEhNgIMQQAhEAyNAQtBASEWQQAhF0EAIRRBASEQCyAAIBA6ACsgCUEBaiEIAkACQCAALQAtQRBxDQACQAJAAkAgAC0AKg4DAQACBAsgFkUNAwwCCyAUDQEMAgsgF0UNAQsgACgCBCEQIABBADYCBCAAIBAgCBCtgICAACIQRQ09IABByQE2AhwgACAINgIUIAAgEDYCDEEAIRAMjAELIAAoAgQhBCAAQQA2AgQgACAEIAgQrYCAgAAiBEUNdiAAQcoBNgIcIAAgCDYCFCAAIAQ2AgxBACEQDIsBCyAAKAIEIQQgAEEANgIEIAAgBCAJEK2AgIAAIgRFDXQgAEHLATYCHCAAIAk2AhQgACAENgIMQQAhEAyKAQsgACgCBCEEIABBADYCBCAAIAQgChCtgICAACIERQ1yIABBzQE2AhwgACAKNgIUIAAgBDYCDEEAIRAMiQELAkAgCy0AAEFQaiIQQf8BcUEKTw0AIAAgEDoAKiALQQFqIQpBtgEhEAxwCyAAKAIEIQQgAEEANgIEIAAgBCALEK2AgIAAIgRFDXAgAEHPATYCHCAAIAs2AhQgACAENgIMQQAhEAyIAQsgAEEANgIcIAAgBDYCFCAAQZCzgIAANgIQIABBCDYCDCAAQQA2AgBBACEQDIcBCyABQRVGDT8gAEEANgIcIAAgDDYCFCAAQcyOgIAANgIQIABBIDYCDEEAIRAMhgELIABBgQQ7ASggACgCBCEQIABCADcDACAAIBAgDEEBaiIMEKuAgIAAIhBFDTggAEHTATYCHCAAIAw2AhQgACAQNgIMQQAhEAyFAQsgAEEANgIAC0EAIRAgAEEANgIcIAAgBDYCFCAAQdibgIAANgIQIABBCDYCDAyDAQsgACgCBCEQIABCADcDACAAIBAgC0EBaiILEKuAgIAAIhANAUHGASEQDGkLIABBAjoAKAxVCyAAQdUBNgIcIAAgCzYCFCAAIBA2AgxBACEQDIABCyAQQRVGDTcgAEEANgIcIAAgBDYCFCAAQaSMgIAANgIQIABBEDYCDEEAIRAMfwsgAC0ANEEBRw00IAAgBCACELyAgIAAIhBFDTQgEEEVRw01IABB3AE2AhwgACAENgIUIABB1ZaAgAA2AhAgAEEVNgIMQQAhEAx+C0EAIRAgAEEANgIcIABBr4uAgAA2AhAgAEECNgIMIAAgFEEBajYCFAx9C0EAIRAMYwtBAiEQDGILQQ0hEAxhC0EPIRAMYAtBJSEQDF8LQRMhEAxeC0EVIRAMXQtBFiEQDFwLQRchEAxbC0EYIRAMWgtBGSEQDFkLQRohEAxYC0EbIRAMVwtBHCEQDFYLQR0hEAxVC0EfIRAMVAtBISEQDFMLQSMhEAxSC0HGACEQDFELQS4hEAxQC0EvIRAMTwtBOyEQDE4LQT0hEAxNC0HIACEQDEwLQckAIRAMSwtBywAhEAxKC0HMACEQDEkLQc4AIRAMSAtB0QAhEAxHC0HVACEQDEYLQdgAIRAMRQtB2QAhEAxEC0HbACEQDEMLQeQAIRAMQgtB5QAhEAxBC0HxACEQDEALQfQAIRAMPwtBjQEhEAw+C0GXASEQDD0LQakBIRAMPAtBrAEhEAw7C0HAASEQDDoLQbkBIRAMOQtBrwEhEAw4C0GxASEQDDcLQbIBIRAMNgtBtAEhEAw1C0G1ASEQDDQLQboBIRAMMwtBvQEhEAwyC0G/ASEQDDELQcEBIRAMMAsgAEEANgIcIAAgBDYCFCAAQemLgIAANgIQIABBHzYCDEEAIRAMSAsgAEHbATYCHCAAIAQ2AhQgAEH6loCAADYCECAAQRU2AgxBACEQDEcLIABB+AA2AhwgACAMNgIUIABBypiAgAA2AhAgAEEVNgIMQQAhEAxGCyAAQdEANgIcIAAgBTYCFCAAQbCXgIAANgIQIABBFTYCDEEAIRAMRQsgAEH5ADYCHCAAIAE2AhQgACAQNgIMQQAhEAxECyAAQfgANgIcIAAgATYCFCAAQcqYgIAANgIQIABBFTYCDEEAIRAMQwsgAEHkADYCHCAAIAE2AhQgAEHjl4CAADYCECAAQRU2AgxBACEQDEILIABB1wA2AhwgACABNgIUIABByZeAgAA2AhAgAEEVNgIMQQAhEAxBCyAAQQA2AhwgACABNgIUIABBuY2AgAA2AhAgAEEaNgIMQQAhEAxACyAAQcIANgIcIAAgATYCFCAAQeOYgIAANgIQIABBFTYCDEEAIRAMPwsgAEEANgIEIAAgDyAPELGAgIAAIgRFDQEgAEE6NgIcIAAgBDYCDCAAIA9BAWo2AhRBACEQDD4LIAAoAgQhBCAAQQA2AgQCQCAAIAQgARCxgICAACIERQ0AIABBOzYCHCAAIAQ2AgwgACABQQFqNgIUQQAhEAw+CyABQQFqIQEMLQsgD0EBaiEBDC0LIABBADYCHCAAIA82AhQgAEHkkoCAADYCECAAQQQ2AgxBACEQDDsLIABBNjYCHCAAIAQ2AhQgACACNgIMQQAhEAw6CyAAQS42AhwgACAONgIUIAAgBDYCDEEAIRAMOQsgAEHQADYCHCAAIAE2AhQgAEGRmICAADYCECAAQRU2AgxBACEQDDgLIA1BAWohAQwsCyAAQRU2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAw2CyAAQRs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw1CyAAQQ82AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAw0CyAAQQs2AhwgACABNgIUIABBkZeAgAA2AhAgAEEVNgIMQQAhEAwzCyAAQRo2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwyCyAAQQs2AhwgACABNgIUIABBgpmAgAA2AhAgAEEVNgIMQQAhEAwxCyAAQQo2AhwgACABNgIUIABB5JaAgAA2AhAgAEEVNgIMQQAhEAwwCyAAQR42AhwgACABNgIUIABB+ZeAgAA2AhAgAEEVNgIMQQAhEAwvCyAAQQA2AhwgACAQNgIUIABB2o2AgAA2AhAgAEEUNgIMQQAhEAwuCyAAQQQ2AhwgACABNgIUIABBsJiAgAA2AhAgAEEVNgIMQQAhEAwtCyAAQQA2AgAgC0EBaiELC0G4ASEQDBILIABBADYCACAQQQFqIQFB9QAhEAwRCyABIQECQCAALQApQQVHDQBB4wAhEAwRC0HiACEQDBALQQAhECAAQQA2AhwgAEHkkYCAADYCECAAQQc2AgwgACAUQQFqNgIUDCgLIABBADYCACAXQQFqIQFBwAAhEAwOC0EBIQELIAAgAToALCAAQQA2AgAgF0EBaiEBC0EoIRAMCwsgASEBC0E4IRAMCQsCQCABIg8gAkYNAANAAkAgDy0AAEGAvoCAAGotAAAiAUEBRg0AIAFBAkcNAyAPQQFqIQEMBAsgD0EBaiIPIAJHDQALQT4hEAwiC0E+IRAMIQsgAEEAOgAsIA8hAQwBC0ELIRAMBgtBOiEQDAULIAFBAWohAUEtIRAMBAsgACABOgAsIABBADYCACAWQQFqIQFBDCEQDAMLIABBADYCACAXQQFqIQFBCiEQDAILIABBADYCAAsgAEEAOgAsIA0hAUEJIRAMAAsLQQAhECAAQQA2AhwgACALNgIUIABBzZCAgAA2AhAgAEEJNgIMDBcLQQAhECAAQQA2AhwgACAKNgIUIABB6YqAgAA2AhAgAEEJNgIMDBYLQQAhECAAQQA2AhwgACAJNgIUIABBt5CAgAA2AhAgAEEJNgIMDBULQQAhECAAQQA2AhwgACAINgIUIABBnJGAgAA2AhAgAEEJNgIMDBQLQQAhECAAQQA2AhwgACABNgIUIABBzZCAgAA2AhAgAEEJNgIMDBMLQQAhECAAQQA2AhwgACABNgIUIABB6YqAgAA2AhAgAEEJNgIMDBILQQAhECAAQQA2AhwgACABNgIUIABBt5CAgAA2AhAgAEEJNgIMDBELQQAhECAAQQA2AhwgACABNgIUIABBnJGAgAA2AhAgAEEJNgIMDBALQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA8LQQAhECAAQQA2AhwgACABNgIUIABBl5WAgAA2AhAgAEEPNgIMDA4LQQAhECAAQQA2AhwgACABNgIUIABBwJKAgAA2AhAgAEELNgIMDA0LQQAhECAAQQA2AhwgACABNgIUIABBlYmAgAA2AhAgAEELNgIMDAwLQQAhECAAQQA2AhwgACABNgIUIABB4Y+AgAA2AhAgAEEKNgIMDAsLQQAhECAAQQA2AhwgACABNgIUIABB+4+AgAA2AhAgAEEKNgIMDAoLQQAhECAAQQA2AhwgACABNgIUIABB8ZmAgAA2AhAgAEECNgIMDAkLQQAhECAAQQA2AhwgACABNgIUIABBxJSAgAA2AhAgAEECNgIMDAgLQQAhECAAQQA2AhwgACABNgIUIABB8pWAgAA2AhAgAEECNgIMDAcLIABBAjYCHCAAIAE2AhQgAEGcmoCAADYCECAAQRY2AgxBACEQDAYLQQEhEAwFC0HUACEQIAEiBCACRg0EIANBCGogACAEIAJB2MKAgABBChDFgICAACADKAIMIQQgAygCCA4DAQQCAAsQyoCAgAAACyAAQQA2AhwgAEG1moCAADYCECAAQRc2AgwgACAEQQFqNgIUQQAhEAwCCyAAQQA2AhwgACAENgIUIABBypqAgAA2AhAgAEEJNgIMQQAhEAwBCwJAIAEiBCACRw0AQSIhEAwBCyAAQYmAgIAANgIIIAAgBDYCBEEhIRALIANBEGokgICAgAAgEAuvAQECfyABKAIAIQYCQAJAIAIgA0YNACAEIAZqIQQgBiADaiACayEHIAIgBkF/cyAFaiIGaiEFA0ACQCACLQAAIAQtAABGDQBBAiEEDAMLAkAgBg0AQQAhBCAFIQIMAwsgBkF/aiEGIARBAWohBCACQQFqIgIgA0cNAAsgByEGIAMhAgsgAEEBNgIAIAEgBjYCACAAIAI2AgQPCyABQQA2AgAgACAENgIAIAAgAjYCBAsKACAAEMeAgIAAC/I2AQt/I4CAgIAAQRBrIgEkgICAgAACQEEAKAKg0ICAAA0AQQAQy4CAgABBgNSEgABrIgJB2QBJDQBBACEDAkBBACgC4NOAgAAiBA0AQQBCfzcC7NOAgABBAEKAgISAgIDAADcC5NOAgABBACABQQhqQXBxQdiq1aoFcyIENgLg04CAAEEAQQA2AvTTgIAAQQBBADYCxNOAgAALQQAgAjYCzNOAgABBAEGA1ISAADYCyNOAgABBAEGA1ISAADYCmNCAgABBACAENgKs0ICAAEEAQX82AqjQgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAtBgNSEgABBeEGA1ISAAGtBD3FBAEGA1ISAAEEIakEPcRsiA2oiBEEEaiACQUhqIgUgA2siA0EBcjYCAEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgABBgNSEgAAgBWpBODYCBAsCQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAUsNAAJAQQAoAojQgIAAIgZBECAAQRNqQXBxIABBC0kbIgJBA3YiBHYiA0EDcUUNAAJAAkAgA0EBcSAEckEBcyIFQQN0IgRBsNCAgABqIgMgBEG40ICAAGooAgAiBCgCCCICRw0AQQAgBkF+IAV3cTYCiNCAgAAMAQsgAyACNgIIIAIgAzYCDAsgBEEIaiEDIAQgBUEDdCIFQQNyNgIEIAQgBWoiBCAEKAIEQQFyNgIEDAwLIAJBACgCkNCAgAAiB00NAQJAIANFDQACQAJAIAMgBHRBAiAEdCIDQQAgA2tycSIDQQAgA2txQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmoiBEEDdCIDQbDQgIAAaiIFIANBuNCAgABqKAIAIgMoAggiAEcNAEEAIAZBfiAEd3EiBjYCiNCAgAAMAQsgBSAANgIIIAAgBTYCDAsgAyACQQNyNgIEIAMgBEEDdCIEaiAEIAJrIgU2AgAgAyACaiIAIAVBAXI2AgQCQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhBAJAAkAgBkEBIAdBA3Z0IghxDQBBACAGIAhyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAQ2AgwgAiAENgIIIAQgAjYCDCAEIAg2AggLIANBCGohA0EAIAA2ApzQgIAAQQAgBTYCkNCAgAAMDAtBACgCjNCAgAAiCUUNASAJQQAgCWtxQX9qIgMgA0EMdkEQcSIDdiIEQQV2QQhxIgUgA3IgBCAFdiIDQQJ2QQRxIgRyIAMgBHYiA0EBdkECcSIEciADIAR2IgNBAXZBAXEiBHIgAyAEdmpBAnRBuNKAgABqKAIAIgAoAgRBeHEgAmshBCAAIQUCQANAAkAgBSgCECIDDQAgBUEUaigCACIDRQ0CCyADKAIEQXhxIAJrIgUgBCAFIARJIgUbIQQgAyAAIAUbIQAgAyEFDAALCyAAKAIYIQoCQCAAKAIMIgggAEYNACAAKAIIIgNBACgCmNCAgABJGiAIIAM2AgggAyAINgIMDAsLAkAgAEEUaiIFKAIAIgMNACAAKAIQIgNFDQMgAEEQaiEFCwNAIAUhCyADIghBFGoiBSgCACIDDQAgCEEQaiEFIAgoAhAiAw0ACyALQQA2AgAMCgtBfyECIABBv39LDQAgAEETaiIDQXBxIQJBACgCjNCAgAAiB0UNAEEAIQsCQCACQYACSQ0AQR8hCyACQf///wdLDQAgA0EIdiIDIANBgP4/akEQdkEIcSIDdCIEIARBgOAfakEQdkEEcSIEdCIFIAVBgIAPakEQdkECcSIFdEEPdiADIARyIAVyayIDQQF0IAIgA0EVanZBAXFyQRxqIQsLQQAgAmshBAJAAkACQAJAIAtBAnRBuNKAgABqKAIAIgUNAEEAIQNBACEIDAELQQAhAyACQQBBGSALQQF2ayALQR9GG3QhAEEAIQgDQAJAIAUoAgRBeHEgAmsiBiAETw0AIAYhBCAFIQggBg0AQQAhBCAFIQggBSEDDAMLIAMgBUEUaigCACIGIAYgBSAAQR12QQRxakEQaigCACIFRhsgAyAGGyEDIABBAXQhACAFDQALCwJAIAMgCHINAEEAIQhBAiALdCIDQQAgA2tyIAdxIgNFDQMgA0EAIANrcUF/aiIDIANBDHZBEHEiA3YiBUEFdkEIcSIAIANyIAUgAHYiA0ECdkEEcSIFciADIAV2IgNBAXZBAnEiBXIgAyAFdiIDQQF2QQFxIgVyIAMgBXZqQQJ0QbjSgIAAaigCACEDCyADRQ0BCwNAIAMoAgRBeHEgAmsiBiAESSEAAkAgAygCECIFDQAgA0EUaigCACEFCyAGIAQgABshBCADIAggABshCCAFIQMgBQ0ACwsgCEUNACAEQQAoApDQgIAAIAJrTw0AIAgoAhghCwJAIAgoAgwiACAIRg0AIAgoAggiA0EAKAKY0ICAAEkaIAAgAzYCCCADIAA2AgwMCQsCQCAIQRRqIgUoAgAiAw0AIAgoAhAiA0UNAyAIQRBqIQULA0AgBSEGIAMiAEEUaiIFKAIAIgMNACAAQRBqIQUgACgCECIDDQALIAZBADYCAAwICwJAQQAoApDQgIAAIgMgAkkNAEEAKAKc0ICAACEEAkACQCADIAJrIgVBEEkNACAEIAJqIgAgBUEBcjYCBEEAIAU2ApDQgIAAQQAgADYCnNCAgAAgBCADaiAFNgIAIAQgAkEDcjYCBAwBCyAEIANBA3I2AgQgBCADaiIDIAMoAgRBAXI2AgRBAEEANgKc0ICAAEEAQQA2ApDQgIAACyAEQQhqIQMMCgsCQEEAKAKU0ICAACIAIAJNDQBBACgCoNCAgAAiAyACaiIEIAAgAmsiBUEBcjYCBEEAIAU2ApTQgIAAQQAgBDYCoNCAgAAgAyACQQNyNgIEIANBCGohAwwKCwJAAkBBACgC4NOAgABFDQBBACgC6NOAgAAhBAwBC0EAQn83AuzTgIAAQQBCgICEgICAwAA3AuTTgIAAQQAgAUEMakFwcUHYqtWqBXM2AuDTgIAAQQBBADYC9NOAgABBAEEANgLE04CAAEGAgAQhBAtBACEDAkAgBCACQccAaiIHaiIGQQAgBGsiC3EiCCACSw0AQQBBMDYC+NOAgAAMCgsCQEEAKALA04CAACIDRQ0AAkBBACgCuNOAgAAiBCAIaiIFIARNDQAgBSADTQ0BC0EAIQNBAEEwNgL404CAAAwKC0EALQDE04CAAEEEcQ0EAkACQAJAQQAoAqDQgIAAIgRFDQBByNOAgAAhAwNAAkAgAygCACIFIARLDQAgBSADKAIEaiAESw0DCyADKAIIIgMNAAsLQQAQy4CAgAAiAEF/Rg0FIAghBgJAQQAoAuTTgIAAIgNBf2oiBCAAcUUNACAIIABrIAQgAGpBACADa3FqIQYLIAYgAk0NBSAGQf7///8HSw0FAkBBACgCwNOAgAAiA0UNAEEAKAK404CAACIEIAZqIgUgBE0NBiAFIANLDQYLIAYQy4CAgAAiAyAARw0BDAcLIAYgAGsgC3EiBkH+////B0sNBCAGEMuAgIAAIgAgAygCACADKAIEakYNAyAAIQMLAkAgA0F/Rg0AIAJByABqIAZNDQACQCAHIAZrQQAoAujTgIAAIgRqQQAgBGtxIgRB/v///wdNDQAgAyEADAcLAkAgBBDLgICAAEF/Rg0AIAQgBmohBiADIQAMBwtBACAGaxDLgICAABoMBAsgAyEAIANBf0cNBQwDC0EAIQgMBwtBACEADAULIABBf0cNAgtBAEEAKALE04CAAEEEcjYCxNOAgAALIAhB/v///wdLDQEgCBDLgICAACEAQQAQy4CAgAAhAyAAQX9GDQEgA0F/Rg0BIAAgA08NASADIABrIgYgAkE4ak0NAQtBAEEAKAK404CAACAGaiIDNgK404CAAAJAIANBACgCvNOAgABNDQBBACADNgK804CAAAsCQAJAAkACQEEAKAKg0ICAACIERQ0AQcjTgIAAIQMDQCAAIAMoAgAiBSADKAIEIghqRg0CIAMoAggiAw0ADAMLCwJAAkBBACgCmNCAgAAiA0UNACAAIANPDQELQQAgADYCmNCAgAALQQAhA0EAIAY2AszTgIAAQQAgADYCyNOAgABBAEF/NgKo0ICAAEEAQQAoAuDTgIAANgKs0ICAAEEAQQA2AtTTgIAAA0AgA0HE0ICAAGogA0G40ICAAGoiBDYCACAEIANBsNCAgABqIgU2AgAgA0G80ICAAGogBTYCACADQczQgIAAaiADQcDQgIAAaiIFNgIAIAUgBDYCACADQdTQgIAAaiADQcjQgIAAaiIENgIAIAQgBTYCACADQdDQgIAAaiAENgIAIANBIGoiA0GAAkcNAAsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiBCAGQUhqIgUgA2siA0EBcjYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAM2ApTQgIAAQQAgBDYCoNCAgAAgACAFakE4NgIEDAILIAMtAAxBCHENACAEIAVJDQAgBCAATw0AIARBeCAEa0EPcUEAIARBCGpBD3EbIgVqIgBBACgClNCAgAAgBmoiCyAFayIFQQFyNgIEIAMgCCAGajYCBEEAQQAoAvDTgIAANgKk0ICAAEEAIAU2ApTQgIAAQQAgADYCoNCAgAAgBCALakE4NgIEDAELAkAgAEEAKAKY0ICAACIITw0AQQAgADYCmNCAgAAgACEICyAAIAZqIQVByNOAgAAhAwJAAkACQAJAAkACQAJAA0AgAygCACAFRg0BIAMoAggiAw0ADAILCyADLQAMQQhxRQ0BC0HI04CAACEDA0ACQCADKAIAIgUgBEsNACAFIAMoAgRqIgUgBEsNAwsgAygCCCEDDAALCyADIAA2AgAgAyADKAIEIAZqNgIEIABBeCAAa0EPcUEAIABBCGpBD3EbaiILIAJBA3I2AgQgBUF4IAVrQQ9xQQAgBUEIakEPcRtqIgYgCyACaiICayEDAkAgBiAERw0AQQAgAjYCoNCAgABBAEEAKAKU0ICAACADaiIDNgKU0ICAACACIANBAXI2AgQMAwsCQCAGQQAoApzQgIAARw0AQQAgAjYCnNCAgABBAEEAKAKQ0ICAACADaiIDNgKQ0ICAACACIANBAXI2AgQgAiADaiADNgIADAMLAkAgBigCBCIEQQNxQQFHDQAgBEF4cSEHAkACQCAEQf8BSw0AIAYoAggiBSAEQQN2IghBA3RBsNCAgABqIgBGGgJAIAYoAgwiBCAFRw0AQQBBACgCiNCAgABBfiAId3E2AojQgIAADAILIAQgAEYaIAQgBTYCCCAFIAQ2AgwMAQsgBigCGCEJAkACQCAGKAIMIgAgBkYNACAGKAIIIgQgCEkaIAAgBDYCCCAEIAA2AgwMAQsCQCAGQRRqIgQoAgAiBQ0AIAZBEGoiBCgCACIFDQBBACEADAELA0AgBCEIIAUiAEEUaiIEKAIAIgUNACAAQRBqIQQgACgCECIFDQALIAhBADYCAAsgCUUNAAJAAkAgBiAGKAIcIgVBAnRBuNKAgABqIgQoAgBHDQAgBCAANgIAIAANAUEAQQAoAozQgIAAQX4gBXdxNgKM0ICAAAwCCyAJQRBBFCAJKAIQIAZGG2ogADYCACAARQ0BCyAAIAk2AhgCQCAGKAIQIgRFDQAgACAENgIQIAQgADYCGAsgBigCFCIERQ0AIABBFGogBDYCACAEIAA2AhgLIAcgA2ohAyAGIAdqIgYoAgQhBAsgBiAEQX5xNgIEIAIgA2ogAzYCACACIANBAXI2AgQCQCADQf8BSw0AIANBeHFBsNCAgABqIQQCQAJAQQAoAojQgIAAIgVBASADQQN2dCIDcQ0AQQAgBSADcjYCiNCAgAAgBCEDDAELIAQoAgghAwsgAyACNgIMIAQgAjYCCCACIAQ2AgwgAiADNgIIDAMLQR8hBAJAIANB////B0sNACADQQh2IgQgBEGA/j9qQRB2QQhxIgR0IgUgBUGA4B9qQRB2QQRxIgV0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAQgBXIgAHJrIgRBAXQgAyAEQRVqdkEBcXJBHGohBAsgAiAENgIcIAJCADcCECAEQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiAEEBIAR0IghxDQAgBSACNgIAQQAgACAIcjYCjNCAgAAgAiAFNgIYIAIgAjYCCCACIAI2AgwMAwsgA0EAQRkgBEEBdmsgBEEfRht0IQQgBSgCACEAA0AgACIFKAIEQXhxIANGDQIgBEEddiEAIARBAXQhBCAFIABBBHFqQRBqIggoAgAiAA0ACyAIIAI2AgAgAiAFNgIYIAIgAjYCDCACIAI2AggMAgsgAEF4IABrQQ9xQQAgAEEIakEPcRsiA2oiCyAGQUhqIgggA2siA0EBcjYCBCAAIAhqQTg2AgQgBCAFQTcgBWtBD3FBACAFQUlqQQ9xG2pBQWoiCCAIIARBEGpJGyIIQSM2AgRBAEEAKALw04CAADYCpNCAgABBACADNgKU0ICAAEEAIAs2AqDQgIAAIAhBEGpBACkC0NOAgAA3AgAgCEEAKQLI04CAADcCCEEAIAhBCGo2AtDTgIAAQQAgBjYCzNOAgABBACAANgLI04CAAEEAQQA2AtTTgIAAIAhBJGohAwNAIANBBzYCACADQQRqIgMgBUkNAAsgCCAERg0DIAggCCgCBEF+cTYCBCAIIAggBGsiADYCACAEIABBAXI2AgQCQCAAQf8BSw0AIABBeHFBsNCAgABqIQMCQAJAQQAoAojQgIAAIgVBASAAQQN2dCIAcQ0AQQAgBSAAcjYCiNCAgAAgAyEFDAELIAMoAgghBQsgBSAENgIMIAMgBDYCCCAEIAM2AgwgBCAFNgIIDAQLQR8hAwJAIABB////B0sNACAAQQh2IgMgA0GA/j9qQRB2QQhxIgN0IgUgBUGA4B9qQRB2QQRxIgV0IgggCEGAgA9qQRB2QQJxIgh0QQ92IAMgBXIgCHJrIgNBAXQgACADQRVqdkEBcXJBHGohAwsgBCADNgIcIARCADcCECADQQJ0QbjSgIAAaiEFAkBBACgCjNCAgAAiCEEBIAN0IgZxDQAgBSAENgIAQQAgCCAGcjYCjNCAgAAgBCAFNgIYIAQgBDYCCCAEIAQ2AgwMBAsgAEEAQRkgA0EBdmsgA0EfRht0IQMgBSgCACEIA0AgCCIFKAIEQXhxIABGDQMgA0EddiEIIANBAXQhAyAFIAhBBHFqQRBqIgYoAgAiCA0ACyAGIAQ2AgAgBCAFNgIYIAQgBDYCDCAEIAQ2AggMAwsgBSgCCCIDIAI2AgwgBSACNgIIIAJBADYCGCACIAU2AgwgAiADNgIICyALQQhqIQMMBQsgBSgCCCIDIAQ2AgwgBSAENgIIIARBADYCGCAEIAU2AgwgBCADNgIIC0EAKAKU0ICAACIDIAJNDQBBACgCoNCAgAAiBCACaiIFIAMgAmsiA0EBcjYCBEEAIAM2ApTQgIAAQQAgBTYCoNCAgAAgBCACQQNyNgIEIARBCGohAwwDC0EAIQNBAEEwNgL404CAAAwCCwJAIAtFDQACQAJAIAggCCgCHCIFQQJ0QbjSgIAAaiIDKAIARw0AIAMgADYCACAADQFBACAHQX4gBXdxIgc2AozQgIAADAILIAtBEEEUIAsoAhAgCEYbaiAANgIAIABFDQELIAAgCzYCGAJAIAgoAhAiA0UNACAAIAM2AhAgAyAANgIYCyAIQRRqKAIAIgNFDQAgAEEUaiADNgIAIAMgADYCGAsCQAJAIARBD0sNACAIIAQgAmoiA0EDcjYCBCAIIANqIgMgAygCBEEBcjYCBAwBCyAIIAJqIgAgBEEBcjYCBCAIIAJBA3I2AgQgACAEaiAENgIAAkAgBEH/AUsNACAEQXhxQbDQgIAAaiEDAkACQEEAKAKI0ICAACIFQQEgBEEDdnQiBHENAEEAIAUgBHI2AojQgIAAIAMhBAwBCyADKAIIIQQLIAQgADYCDCADIAA2AgggACADNgIMIAAgBDYCCAwBC0EfIQMCQCAEQf///wdLDQAgBEEIdiIDIANBgP4/akEQdkEIcSIDdCIFIAVBgOAfakEQdkEEcSIFdCICIAJBgIAPakEQdkECcSICdEEPdiADIAVyIAJyayIDQQF0IAQgA0EVanZBAXFyQRxqIQMLIAAgAzYCHCAAQgA3AhAgA0ECdEG40oCAAGohBQJAIAdBASADdCICcQ0AIAUgADYCAEEAIAcgAnI2AozQgIAAIAAgBTYCGCAAIAA2AgggACAANgIMDAELIARBAEEZIANBAXZrIANBH0YbdCEDIAUoAgAhAgJAA0AgAiIFKAIEQXhxIARGDQEgA0EddiECIANBAXQhAyAFIAJBBHFqQRBqIgYoAgAiAg0ACyAGIAA2AgAgACAFNgIYIAAgADYCDCAAIAA2AggMAQsgBSgCCCIDIAA2AgwgBSAANgIIIABBADYCGCAAIAU2AgwgACADNgIICyAIQQhqIQMMAQsCQCAKRQ0AAkACQCAAIAAoAhwiBUECdEG40oCAAGoiAygCAEcNACADIAg2AgAgCA0BQQAgCUF+IAV3cTYCjNCAgAAMAgsgCkEQQRQgCigCECAARhtqIAg2AgAgCEUNAQsgCCAKNgIYAkAgACgCECIDRQ0AIAggAzYCECADIAg2AhgLIABBFGooAgAiA0UNACAIQRRqIAM2AgAgAyAINgIYCwJAAkAgBEEPSw0AIAAgBCACaiIDQQNyNgIEIAAgA2oiAyADKAIEQQFyNgIEDAELIAAgAmoiBSAEQQFyNgIEIAAgAkEDcjYCBCAFIARqIAQ2AgACQCAHRQ0AIAdBeHFBsNCAgABqIQJBACgCnNCAgAAhAwJAAkBBASAHQQN2dCIIIAZxDQBBACAIIAZyNgKI0ICAACACIQgMAQsgAigCCCEICyAIIAM2AgwgAiADNgIIIAMgAjYCDCADIAg2AggLQQAgBTYCnNCAgABBACAENgKQ0ICAAAsgAEEIaiEDCyABQRBqJICAgIAAIAMLCgAgABDJgICAAAviDQEHfwJAIABFDQAgAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkAgAkEBcQ0AIAJBA3FFDQEgASABKAIAIgJrIgFBACgCmNCAgAAiBEkNASACIABqIQACQCABQQAoApzQgIAARg0AAkAgAkH/AUsNACABKAIIIgQgAkEDdiIFQQN0QbDQgIAAaiIGRhoCQCABKAIMIgIgBEcNAEEAQQAoAojQgIAAQX4gBXdxNgKI0ICAAAwDCyACIAZGGiACIAQ2AgggBCACNgIMDAILIAEoAhghBwJAAkAgASgCDCIGIAFGDQAgASgCCCICIARJGiAGIAI2AgggAiAGNgIMDAELAkAgAUEUaiICKAIAIgQNACABQRBqIgIoAgAiBA0AQQAhBgwBCwNAIAIhBSAEIgZBFGoiAigCACIEDQAgBkEQaiECIAYoAhAiBA0ACyAFQQA2AgALIAdFDQECQAJAIAEgASgCHCIEQQJ0QbjSgIAAaiICKAIARw0AIAIgBjYCACAGDQFBAEEAKAKM0ICAAEF+IAR3cTYCjNCAgAAMAwsgB0EQQRQgBygCECABRhtqIAY2AgAgBkUNAgsgBiAHNgIYAkAgASgCECICRQ0AIAYgAjYCECACIAY2AhgLIAEoAhQiAkUNASAGQRRqIAI2AgAgAiAGNgIYDAELIAMoAgQiAkEDcUEDRw0AIAMgAkF+cTYCBEEAIAA2ApDQgIAAIAEgAGogADYCACABIABBAXI2AgQPCyABIANPDQAgAygCBCICQQFxRQ0AAkACQCACQQJxDQACQCADQQAoAqDQgIAARw0AQQAgATYCoNCAgABBAEEAKAKU0ICAACAAaiIANgKU0ICAACABIABBAXI2AgQgAUEAKAKc0ICAAEcNA0EAQQA2ApDQgIAAQQBBADYCnNCAgAAPCwJAIANBACgCnNCAgABHDQBBACABNgKc0ICAAEEAQQAoApDQgIAAIABqIgA2ApDQgIAAIAEgAEEBcjYCBCABIABqIAA2AgAPCyACQXhxIABqIQACQAJAIAJB/wFLDQAgAygCCCIEIAJBA3YiBUEDdEGw0ICAAGoiBkYaAkAgAygCDCICIARHDQBBAEEAKAKI0ICAAEF+IAV3cTYCiNCAgAAMAgsgAiAGRhogAiAENgIIIAQgAjYCDAwBCyADKAIYIQcCQAJAIAMoAgwiBiADRg0AIAMoAggiAkEAKAKY0ICAAEkaIAYgAjYCCCACIAY2AgwMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEGDAELA0AgAiEFIAQiBkEUaiICKAIAIgQNACAGQRBqIQIgBigCECIEDQALIAVBADYCAAsgB0UNAAJAAkAgAyADKAIcIgRBAnRBuNKAgABqIgIoAgBHDQAgAiAGNgIAIAYNAUEAQQAoAozQgIAAQX4gBHdxNgKM0ICAAAwCCyAHQRBBFCAHKAIQIANGG2ogBjYCACAGRQ0BCyAGIAc2AhgCQCADKAIQIgJFDQAgBiACNgIQIAIgBjYCGAsgAygCFCICRQ0AIAZBFGogAjYCACACIAY2AhgLIAEgAGogADYCACABIABBAXI2AgQgAUEAKAKc0ICAAEcNAUEAIAA2ApDQgIAADwsgAyACQX5xNgIEIAEgAGogADYCACABIABBAXI2AgQLAkAgAEH/AUsNACAAQXhxQbDQgIAAaiECAkACQEEAKAKI0ICAACIEQQEgAEEDdnQiAHENAEEAIAQgAHI2AojQgIAAIAIhAAwBCyACKAIIIQALIAAgATYCDCACIAE2AgggASACNgIMIAEgADYCCA8LQR8hAgJAIABB////B0sNACAAQQh2IgIgAkGA/j9qQRB2QQhxIgJ0IgQgBEGA4B9qQRB2QQRxIgR0IgYgBkGAgA9qQRB2QQJxIgZ0QQ92IAIgBHIgBnJrIgJBAXQgACACQRVqdkEBcXJBHGohAgsgASACNgIcIAFCADcCECACQQJ0QbjSgIAAaiEEAkACQEEAKAKM0ICAACIGQQEgAnQiA3ENACAEIAE2AgBBACAGIANyNgKM0ICAACABIAQ2AhggASABNgIIIAEgATYCDAwBCyAAQQBBGSACQQF2ayACQR9GG3QhAiAEKAIAIQYCQANAIAYiBCgCBEF4cSAARg0BIAJBHXYhBiACQQF0IQIgBCAGQQRxakEQaiIDKAIAIgYNAAsgAyABNgIAIAEgBDYCGCABIAE2AgwgASABNgIIDAELIAQoAggiACABNgIMIAQgATYCCCABQQA2AhggASAENgIMIAEgADYCCAtBAEEAKAKo0ICAAEF/aiIBQX8gARs2AqjQgIAACwsEAAAAC04AAkAgAA0APwBBEHQPCwJAIABB//8DcQ0AIABBf0wNAAJAIABBEHZAACIAQX9HDQBBAEEwNgL404CAAEF/DwsgAEEQdA8LEMqAgIAAAAvyAgIDfwF+AkAgAkUNACAAIAE6AAAgAiAAaiIDQX9qIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0F9aiABOgAAIANBfmogAToAACACQQdJDQAgACABOgADIANBfGogAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkF8aiABNgIAIARBCUkNACADIAE2AgggAyABNgIEIAJBeGogATYCACACQXRqIAE2AgAgBEEZSQ0AIAMgATYCGCADIAE2AhQgAyABNgIQIAMgATYCDCACQXBqIAE2AgAgAkFsaiABNgIAIAJBaGogATYCACACQWRqIAE2AgAgBCADQQRxQRhyIgVrIgJBIEkNACABrUKBgICAEH4hBiADIAVqIQEDQCABIAY3AxggASAGNwMQIAEgBjcDCCABIAY3AwAgAUEgaiEBIAJBYGoiAkEfSw0ACwsgAAsLjkgBAEGACAuGSAEAAAACAAAAAwAAAAAAAAAAAAAABAAAAAUAAAAAAAAAAAAAAAYAAAAHAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},9619:(r,A)=>{Object.defineProperty(A,"__esModule",{value:true});A.enumToMap=void 0;function enumToMap(r){const A={};Object.keys(r).forEach((s=>{const n=r[s];if(typeof n==="number"){A[s]=n}}));return A}A.enumToMap=enumToMap},5332:(r,A,s)=>{const{kClients:n}=s(4856);const a=s(9072);const{kAgent:u,kMockAgentSet:l,kMockAgentGet:g,kDispatches:E,kIsMockActive:d,kNetConnect:p,kGetNetConnect:C,kOptions:B,kFactory:Q}=s(8592);const I=s(962);const m=s(2975);const{matchValue:y,buildMockOptions:w}=s(2020);const{InvalidArgumentError:D,UndiciError:b}=s(3862);const R=s(9724);const S=s(7012);const k=s(5507);class FakeWeakRef{constructor(r){this.value=r}deref(){return this.value}}class MockAgent extends R{constructor(r){super(r);this[p]=true;this[d]=true;if(r&&r.agent&&typeof r.agent.dispatch!=="function"){throw new D("Argument opts.agent must implement Agent")}const A=r&&r.agent?r.agent:new a(r);this[u]=A;this[n]=A[n];this[B]=w(r)}get(r){let A=this[g](r);if(!A){A=this[Q](r);this[l](r,A)}return A}dispatch(r,A){this.get(r.origin);return this[u].dispatch(r,A)}async close(){await this[u].close();this[n].clear()}deactivate(){this[d]=false}activate(){this[d]=true}enableNetConnect(r){if(typeof r==="string"||typeof r==="function"||r instanceof RegExp){if(Array.isArray(this[p])){this[p].push(r)}else{this[p]=[r]}}else if(typeof r==="undefined"){this[p]=true}else{throw new D("Unsupported matcher. Must be one of String|Function|RegExp.")}}disableNetConnect(){this[p]=false}get isMockActive(){return this[d]}[l](r,A){this[n].set(r,new FakeWeakRef(A))}[Q](r){const A=Object.assign({agent:this},this[B]);return this[B]&&this[B].connections===1?new I(r,A):new m(r,A)}[g](r){const A=this[n].get(r);if(A){return A.deref()}if(typeof r!=="string"){const A=this[Q]("http://localhost:9999");this[l](r,A);return A}for(const[A,s]of Array.from(this[n])){const n=s.deref();if(n&&typeof A!=="string"&&y(A,r)){const A=this[Q](r);this[l](r,A);A[E]=n[E];return A}}}[C](){return this[p]}pendingInterceptors(){const r=this[n];return Array.from(r.entries()).flatMap((([r,A])=>A.deref()[E].map((A=>({...A,origin:r}))))).filter((({pending:r})=>r))}assertNoPendingInterceptors({pendingInterceptorsFormatter:r=new k}={}){const A=this.pendingInterceptors();if(A.length===0){return}const s=new S("interceptor","interceptors").pluralize(A.length);throw new b(`\n${s.count} ${s.noun} ${s.is} pending:\n\n${r.format(A)}\n`.trim())}}r.exports=MockAgent},962:(r,A,s)=>{const{promisify:n}=s(9023);const a=s(6646);const{buildMockDispatch:u}=s(2020);const{kDispatches:l,kMockAgent:g,kClose:E,kOriginalClose:d,kOrigin:p,kOriginalDispatch:C,kConnected:B}=s(8592);const{MockInterceptor:Q}=s(1470);const I=s(4856);const{InvalidArgumentError:m}=s(3862);class MockClient extends a{constructor(r,A){super(r,A);if(!A||!A.agent||typeof A.agent.dispatch!=="function"){throw new m("Argument opts.agent must implement Agent")}this[g]=A.agent;this[p]=r;this[l]=[];this[B]=1;this[C]=this.dispatch;this[d]=this.close.bind(this);this.dispatch=u.call(this);this.close=this[E]}get[I.kConnected](){return this[B]}intercept(r){return new Q(r,this[l])}async[E](){await n(this[d])();this[B]=0;this[g][I.kClients].delete(this[p])}}r.exports=MockClient},4222:(r,A,s)=>{const{UndiciError:n}=s(3862);class MockNotMatchedError extends n{constructor(r){super(r);Error.captureStackTrace(this,MockNotMatchedError);this.name="MockNotMatchedError";this.message=r||"The request does not match any registered mock dispatches";this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}}r.exports={MockNotMatchedError:MockNotMatchedError}},1470:(r,A,s)=>{const{getResponseData:n,buildKey:a,addMockDispatch:u}=s(2020);const{kDispatches:l,kDispatchKey:g,kDefaultHeaders:E,kDefaultTrailers:d,kContentLength:p,kMockDispatch:C}=s(8592);const{InvalidArgumentError:B}=s(3862);const{buildURL:Q}=s(3465);class MockScope{constructor(r){this[C]=r}delay(r){if(typeof r!=="number"||!Number.isInteger(r)||r<=0){throw new B("waitInMs must be a valid integer > 0")}this[C].delay=r;return this}persist(){this[C].persist=true;return this}times(r){if(typeof r!=="number"||!Number.isInteger(r)||r<=0){throw new B("repeatTimes must be a valid integer > 0")}this[C].times=r;return this}}class MockInterceptor{constructor(r,A){if(typeof r!=="object"){throw new B("opts must be an object")}if(typeof r.path==="undefined"){throw new B("opts.path must be defined")}if(typeof r.method==="undefined"){r.method="GET"}if(typeof r.path==="string"){if(r.query){r.path=Q(r.path,r.query)}else{const A=new URL(r.path,"data://");r.path=A.pathname+A.search}}if(typeof r.method==="string"){r.method=r.method.toUpperCase()}this[g]=a(r);this[l]=A;this[E]={};this[d]={};this[p]=false}createMockScopeDispatchData(r,A,s={}){const a=n(A);const u=this[p]?{"content-length":a.length}:{};const l={...this[E],...u,...s.headers};const g={...this[d],...s.trailers};return{statusCode:r,data:A,headers:l,trailers:g}}validateReplyParameters(r,A,s){if(typeof r==="undefined"){throw new B("statusCode must be defined")}if(typeof A==="undefined"){throw new B("data must be defined")}if(typeof s!=="object"){throw new B("responseOptions must be an object")}}reply(r){if(typeof r==="function"){const wrappedDefaultsCallback=A=>{const s=r(A);if(typeof s!=="object"){throw new B("reply options callback must return an object")}const{statusCode:n,data:a="",responseOptions:u={}}=s;this.validateReplyParameters(n,a,u);return{...this.createMockScopeDispatchData(n,a,u)}};const A=u(this[l],this[g],wrappedDefaultsCallback);return new MockScope(A)}const[A,s="",n={}]=[...arguments];this.validateReplyParameters(A,s,n);const a=this.createMockScopeDispatchData(A,s,n);const E=u(this[l],this[g],a);return new MockScope(E)}replyWithError(r){if(typeof r==="undefined"){throw new B("error must be defined")}const A=u(this[l],this[g],{error:r});return new MockScope(A)}defaultReplyHeaders(r){if(typeof r==="undefined"){throw new B("headers must be defined")}this[E]=r;return this}defaultReplyTrailers(r){if(typeof r==="undefined"){throw new B("trailers must be defined")}this[d]=r;return this}replyContentLength(){this[p]=true;return this}}r.exports.MockInterceptor=MockInterceptor;r.exports.MockScope=MockScope},2975:(r,A,s)=>{const{promisify:n}=s(9023);const a=s(7787);const{buildMockDispatch:u}=s(2020);const{kDispatches:l,kMockAgent:g,kClose:E,kOriginalClose:d,kOrigin:p,kOriginalDispatch:C,kConnected:B}=s(8592);const{MockInterceptor:Q}=s(1470);const I=s(4856);const{InvalidArgumentError:m}=s(3862);class MockPool extends a{constructor(r,A){super(r,A);if(!A||!A.agent||typeof A.agent.dispatch!=="function"){throw new m("Argument opts.agent must implement Agent")}this[g]=A.agent;this[p]=r;this[l]=[];this[B]=1;this[C]=this.dispatch;this[d]=this.close.bind(this);this.dispatch=u.call(this);this.close=this[E]}get[I.kConnected](){return this[B]}intercept(r){return new Q(r,this[l])}async[E](){await n(this[d])();this[B]=0;this[g][I.kClients].delete(this[p])}}r.exports=MockPool},8592:r=>{r.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}},2020:(r,A,s)=>{const{MockNotMatchedError:n}=s(4222);const{kDispatches:a,kMockAgent:u,kOriginalDispatch:l,kOrigin:g,kGetNetConnect:E}=s(8592);const{buildURL:d,nop:p}=s(3465);const{STATUS_CODES:C}=s(8611);const{types:{isPromise:B}}=s(9023);function matchValue(r,A){if(typeof r==="string"){return r===A}if(r instanceof RegExp){return r.test(A)}if(typeof r==="function"){return r(A)===true}return false}function lowerCaseEntries(r){return Object.fromEntries(Object.entries(r).map((([r,A])=>[r.toLocaleLowerCase(),A])))}function getHeaderByName(r,A){if(Array.isArray(r)){for(let s=0;s!r)).filter((({path:r})=>matchValue(safeUrl(r),a)));if(u.length===0){throw new n(`Mock dispatch not matched for path '${a}'`)}u=u.filter((({method:r})=>matchValue(r,A.method)));if(u.length===0){throw new n(`Mock dispatch not matched for method '${A.method}'`)}u=u.filter((({body:r})=>typeof r!=="undefined"?matchValue(r,A.body):true));if(u.length===0){throw new n(`Mock dispatch not matched for body '${A.body}'`)}u=u.filter((r=>matchHeaders(r,A.headers)));if(u.length===0){throw new n(`Mock dispatch not matched for headers '${typeof A.headers==="object"?JSON.stringify(A.headers):A.headers}'`)}return u[0]}function addMockDispatch(r,A,s){const n={timesInvoked:0,times:1,persist:false,consumed:false};const a=typeof s==="function"?{callback:s}:{...s};const u={...n,...A,pending:true,data:{error:null,...a}};r.push(u);return u}function deleteMockDispatch(r,A){const s=r.findIndex((r=>{if(!r.consumed){return false}return matchKey(r,A)}));if(s!==-1){r.splice(s,1)}}function buildKey(r){const{path:A,method:s,body:n,headers:a,query:u}=r;return{path:A,method:s,body:n,headers:a,query:u}}function generateKeyValues(r){return Object.entries(r).reduce(((r,[A,s])=>[...r,Buffer.from(`${A}`),Array.isArray(s)?s.map((r=>Buffer.from(`${r}`))):Buffer.from(`${s}`)]),[])}function getStatusText(r){return C[r]||"unknown"}async function getResponse(r){const A=[];for await(const s of r){A.push(s)}return Buffer.concat(A).toString("utf8")}function mockDispatch(r,A){const s=buildKey(r);const n=getMockDispatch(this[a],s);n.timesInvoked++;if(n.data.callback){n.data={...n.data,...n.data.callback(r)}}const{data:{statusCode:u,data:l,headers:g,trailers:E,error:d},delay:C,persist:Q}=n;const{timesInvoked:I,times:m}=n;n.consumed=!Q&&I>=m;n.pending=I0){setTimeout((()=>{handleReply(this[a])}),C)}else{handleReply(this[a])}function handleReply(n,a=l){const d=Array.isArray(r.headers)?buildHeadersFromArray(r.headers):r.headers;const C=typeof a==="function"?a({...r,headers:d}):a;if(B(C)){C.then((r=>handleReply(n,r)));return}const Q=getResponseData(C);const I=generateKeyValues(g);const m=generateKeyValues(E);A.abort=p;A.onHeaders(u,I,resume,getStatusText(u));A.onData(Buffer.from(Q));A.onComplete(m);deleteMockDispatch(n,s)}function resume(){}return true}function buildMockDispatch(){const r=this[u];const A=this[g];const s=this[l];return function dispatch(a,u){if(r.isMockActive){try{mockDispatch.call(this,a,u)}catch(l){if(l instanceof n){const g=r[E]();if(g===false){throw new n(`${l.message}: subsequent request to origin ${A} was not allowed (net.connect disabled)`)}if(checkNetConnect(g,A)){s.call(this,a,u)}else{throw new n(`${l.message}: subsequent request to origin ${A} was not allowed (net.connect is not enabled for this origin)`)}}else{throw l}}}else{s.call(this,a,u)}}}function checkNetConnect(r,A){const s=new URL(A);if(r===true){return true}else if(Array.isArray(r)&&r.some((r=>matchValue(r,s.host)))){return true}return false}function buildMockOptions(r){if(r){const{agent:A,...s}=r;return s}}r.exports={getResponseData:getResponseData,getMockDispatch:getMockDispatch,addMockDispatch:addMockDispatch,deleteMockDispatch:deleteMockDispatch,buildKey:buildKey,generateKeyValues:generateKeyValues,matchValue:matchValue,getResponse:getResponse,getStatusText:getStatusText,mockDispatch:mockDispatch,buildMockDispatch:buildMockDispatch,checkNetConnect:checkNetConnect,buildMockOptions:buildMockOptions,getHeaderByName:getHeaderByName}},5507:(r,A,s)=>{const{Transform:n}=s(2203);const{Console:a}=s(4236);r.exports=class PendingInterceptorsFormatter{constructor({disableColors:r}={}){this.transform=new n({transform(r,A,s){s(null,r)}});this.logger=new a({stdout:this.transform,inspectOptions:{colors:!r&&!process.env.CI}})}format(r){const A=r.map((({method:r,path:A,data:{statusCode:s},persist:n,times:a,timesInvoked:u,origin:l})=>({Method:r,Origin:l,Path:A,"Status code":s,Persistent:n?"✅":"❌",Invocations:u,Remaining:n?Infinity:a-u})));this.logger.table(A);return this.transform.read().toString()}}},7012:r=>{const A={pronoun:"it",is:"is",was:"was",this:"this"};const s={pronoun:"they",is:"are",was:"were",this:"these"};r.exports=class Pluralizer{constructor(r,A){this.singular=r;this.plural=A}pluralize(r){const n=r===1;const a=n?A:s;const u=n?this.singular:this.plural;return{...a,count:r,noun:u}}}},9414:r=>{const A=2048;const s=A-1;class FixedCircularBuffer{constructor(){this.bottom=0;this.top=0;this.list=new Array(A);this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&s)===this.bottom}push(r){this.list[this.top]=r;this.top=this.top+1&s}shift(){const r=this.list[this.bottom];if(r===undefined)return null;this.list[this.bottom]=undefined;this.bottom=this.bottom+1&s;return r}}r.exports=class FixedQueue{constructor(){this.head=this.tail=new FixedCircularBuffer}isEmpty(){return this.head.isEmpty()}push(r){if(this.head.isFull()){this.head=this.head.next=new FixedCircularBuffer}this.head.push(r)}shift(){const r=this.tail;const A=r.shift();if(r.isEmpty()&&r.next!==null){this.tail=r.next}return A}}},9769:(r,A,s)=>{const n=s(9368);const a=s(9414);const{kConnected:u,kSize:l,kRunning:g,kPending:E,kQueued:d,kBusy:p,kFree:C,kUrl:B,kClose:Q,kDestroy:I,kDispatch:m}=s(4856);const y=s(9721);const w=Symbol("clients");const D=Symbol("needDrain");const b=Symbol("queue");const R=Symbol("closed resolve");const S=Symbol("onDrain");const k=Symbol("onConnect");const F=Symbol("onDisconnect");const T=Symbol("onConnectionError");const N=Symbol("get dispatcher");const v=Symbol("add client");const _=Symbol("remove client");const U=Symbol("stats");class PoolBase extends n{constructor(){super();this[b]=new a;this[w]=[];this[d]=0;const r=this;this[S]=function onDrain(A,s){const n=r[b];let a=false;while(!a){const A=n.shift();if(!A){break}r[d]--;a=!this.dispatch(A.opts,A.handler)}this[D]=a;if(!this[D]&&r[D]){r[D]=false;r.emit("drain",A,[r,...s])}if(r[R]&&n.isEmpty()){Promise.all(r[w].map((r=>r.close()))).then(r[R])}};this[k]=(A,s)=>{r.emit("connect",A,[r,...s])};this[F]=(A,s,n)=>{r.emit("disconnect",A,[r,...s],n)};this[T]=(A,s,n)=>{r.emit("connectionError",A,[r,...s],n)};this[U]=new y(this)}get[p](){return this[D]}get[u](){return this[w].filter((r=>r[u])).length}get[C](){return this[w].filter((r=>r[u]&&!r[D])).length}get[E](){let r=this[d];for(const{[E]:A}of this[w]){r+=A}return r}get[g](){let r=0;for(const{[g]:A}of this[w]){r+=A}return r}get[l](){let r=this[d];for(const{[l]:A}of this[w]){r+=A}return r}get stats(){return this[U]}async[Q](){if(this[b].isEmpty()){return Promise.all(this[w].map((r=>r.close())))}else{return new Promise((r=>{this[R]=r}))}}async[I](r){while(true){const A=this[b].shift();if(!A){break}A.handler.onError(r)}return Promise.all(this[w].map((A=>A.destroy(r))))}[m](r,A){const s=this[N]();if(!s){this[D]=true;this[b].push({opts:r,handler:A});this[d]++}else if(!s.dispatch(r,A)){s[D]=true;this[D]=!this[N]()}return!this[D]}[v](r){r.on("drain",this[S]).on("connect",this[k]).on("disconnect",this[F]).on("connectionError",this[T]);this[w].push(r);if(this[D]){process.nextTick((()=>{if(this[D]){this[S](r[B],[this,r])}}))}return this}[_](r){r.close((()=>{const A=this[w].indexOf(r);if(A!==-1){this[w].splice(A,1)}}));this[D]=this[w].some((r=>!r[D]&&r.closed!==true&&r.destroyed!==true))}}r.exports={PoolBase:PoolBase,kClients:w,kNeedDrain:D,kAddClient:v,kRemoveClient:_,kGetDispatcher:N}},9721:(r,A,s)=>{const{kFree:n,kConnected:a,kPending:u,kQueued:l,kRunning:g,kSize:E}=s(4856);const d=Symbol("pool");class PoolStats{constructor(r){this[d]=r}get connected(){return this[d][a]}get free(){return this[d][n]}get pending(){return this[d][u]}get queued(){return this[d][l]}get running(){return this[d][g]}get size(){return this[d][E]}}r.exports=PoolStats},7787:(r,A,s)=>{const{PoolBase:n,kClients:a,kNeedDrain:u,kAddClient:l,kGetDispatcher:g}=s(9769);const E=s(6646);const{InvalidArgumentError:d}=s(3862);const p=s(3465);const{kUrl:C,kInterceptors:B}=s(4856);const Q=s(2559);const I=Symbol("options");const m=Symbol("connections");const y=Symbol("factory");function defaultFactory(r,A){return new E(r,A)}class Pool extends n{constructor(r,{connections:A,factory:s=defaultFactory,connect:n,connectTimeout:a,tls:u,maxCachedSessions:l,socketPath:g,autoSelectFamily:E,autoSelectFamilyAttemptTimeout:w,allowH2:D,...b}={}){super();if(A!=null&&(!Number.isFinite(A)||A<0)){throw new d("invalid connections")}if(typeof s!=="function"){throw new d("factory must be a function.")}if(n!=null&&typeof n!=="function"&&typeof n!=="object"){throw new d("connect must be a function or an object")}if(typeof n!=="function"){n=Q({...u,maxCachedSessions:l,allowH2:D,socketPath:g,timeout:a,...p.nodeHasAutoSelectFamily&&E?{autoSelectFamily:E,autoSelectFamilyAttemptTimeout:w}:undefined,...n})}this[B]=b.interceptors&&b.interceptors.Pool&&Array.isArray(b.interceptors.Pool)?b.interceptors.Pool:[];this[m]=A||null;this[C]=p.parseOrigin(r);this[I]={...p.deepClone(b),connect:n,allowH2:D};this[I].interceptors=b.interceptors?{...b.interceptors}:undefined;this[y]=s}[g](){let r=this[a].find((r=>!r[u]));if(r){return r}if(!this[m]||this[a].length{const{kProxy:n,kClose:a,kDestroy:u,kInterceptors:l}=s(4856);const{URL:g}=s(7016);const E=s(9072);const d=s(7787);const p=s(9368);const{InvalidArgumentError:C,RequestAbortedError:B}=s(3862);const Q=s(2559);const I=Symbol("proxy agent");const m=Symbol("proxy client");const y=Symbol("proxy headers");const w=Symbol("request tls settings");const D=Symbol("proxy tls settings");const b=Symbol("connect endpoint function");function defaultProtocolPort(r){return r==="https:"?443:80}function buildProxyOptions(r){if(typeof r==="string"){r={uri:r}}if(!r||!r.uri){throw new C("Proxy opts.uri is mandatory")}return{uri:r.uri,protocol:r.protocol||"https"}}function defaultFactory(r,A){return new d(r,A)}class ProxyAgent extends p{constructor(r){super(r);this[n]=buildProxyOptions(r);this[I]=new E(r);this[l]=r.interceptors&&r.interceptors.ProxyAgent&&Array.isArray(r.interceptors.ProxyAgent)?r.interceptors.ProxyAgent:[];if(typeof r==="string"){r={uri:r}}if(!r||!r.uri){throw new C("Proxy opts.uri is mandatory")}const{clientFactory:A=defaultFactory}=r;if(typeof A!=="function"){throw new C("Proxy opts.clientFactory must be a function.")}this[w]=r.requestTls;this[D]=r.proxyTls;this[y]=r.headers||{};const s=new g(r.uri);const{origin:a,port:u,host:d,username:p,password:R}=s;if(r.auth&&r.token){throw new C("opts.auth cannot be used in combination with opts.token")}else if(r.auth){this[y]["proxy-authorization"]=`Basic ${r.auth}`}else if(r.token){this[y]["proxy-authorization"]=r.token}else if(p&&R){this[y]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(p)}:${decodeURIComponent(R)}`).toString("base64")}`}const S=Q({...r.proxyTls});this[b]=Q({...r.requestTls});this[m]=A(s,{connect:S});this[I]=new E({...r,connect:async(r,A)=>{let s=r.host;if(!r.port){s+=`:${defaultProtocolPort(r.protocol)}`}try{const{socket:n,statusCode:l}=await this[m].connect({origin:a,port:u,path:s,signal:r.signal,headers:{...this[y],host:d}});if(l!==200){n.on("error",(()=>{})).destroy();A(new B(`Proxy response (${l}) !== 200 when HTTP Tunneling`))}if(r.protocol!=="https:"){A(null,n);return}let g;if(this[w]){g=this[w].servername}else{g=r.servername}this[b]({...r,servername:g,httpSocket:n},A)}catch(r){A(r)}}})}dispatch(r,A){const{host:s}=new g(r.origin);const n=buildHeaders(r.headers);throwIfProxyAuthIsSent(n);return this[I].dispatch({...r,headers:{...n,host:s}},A)}async[a](){await this[I].close();await this[m].close()}async[u](){await this[I].destroy();await this[m].destroy()}}function buildHeaders(r){if(Array.isArray(r)){const A={};for(let s=0;sr.toLowerCase()==="proxy-authorization"));if(A){throw new C("Proxy-Authorization should be sent in ProxyAgent constructor")}}r.exports=ProxyAgent},2907:r=>{let A=Date.now();let s;const n=[];function onTimeout(){A=Date.now();let r=n.length;let s=0;while(s0&&A>=a.state){a.state=-1;a.callback(a.opaque)}if(a.state===-1){a.state=-2;if(s!==r-1){n[s]=n.pop()}else{n.pop()}r-=1}else{s+=1}}if(n.length>0){refreshTimeout()}}function refreshTimeout(){if(s&&s.refresh){s.refresh()}else{clearTimeout(s);s=setTimeout(onTimeout,1e3);if(s.unref){s.unref()}}}class Timeout{constructor(r,A,s){this.callback=r;this.delay=A;this.opaque=s;this.state=-2;this.refresh()}refresh(){if(this.state===-2){n.push(this);if(!s||n.length===1){refreshTimeout()}}this.state=0}clear(){this.state=-1}}r.exports={setTimeout(r,A,s){return A<1e3?setTimeout(r,A,s):new Timeout(r,A,s)},clearTimeout(r){if(r instanceof Timeout){r.clear()}else{clearTimeout(r)}}}},3097:(r,A,s)=>{const n=s(1637);const{uid:a,states:u}=s(3464);const{kReadyState:l,kSentClose:g,kByteParser:E,kReceivedClose:d}=s(5832);const{fireEvent:p,failWebsocketConnection:C}=s(3385);const{CloseEvent:B}=s(3164);const{makeRequest:Q}=s(5767);const{fetching:I}=s(8358);const{Headers:m}=s(2908);const{getGlobalDispatcher:y}=s(7882);const{kHeadersList:w}=s(4856);const D={};D.open=n.channel("undici:websocket:open");D.close=n.channel("undici:websocket:close");D.socketError=n.channel("undici:websocket:socket_error");let b;try{b=s(6982)}catch{}function establishWebSocketConnection(r,A,s,n,u){const l=r;l.protocol=r.protocol==="ws:"?"http:":"https:";const g=Q({urlList:[l],serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(u.headers){const r=new m(u.headers)[w];g.headersList=r}const E=b.randomBytes(16).toString("base64");g.headersList.append("sec-websocket-key",E);g.headersList.append("sec-websocket-version","13");for(const r of A){g.headersList.append("sec-websocket-protocol",r)}const d="";const p=I({request:g,useParallelQueue:true,dispatcher:u.dispatcher??y(),processResponse(r){if(r.type==="error"||r.status!==101){C(s,"Received network error or non-101 status code.");return}if(A.length!==0&&!r.headersList.get("Sec-WebSocket-Protocol")){C(s,"Server did not respond with sent protocols.");return}if(r.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){C(s,'Server did not set Upgrade header to "websocket".');return}if(r.headersList.get("Connection")?.toLowerCase()!=="upgrade"){C(s,'Server did not set Connection header to "upgrade".');return}const u=r.headersList.get("Sec-WebSocket-Accept");const l=b.createHash("sha1").update(E+a).digest("base64");if(u!==l){C(s,"Incorrect hash received in Sec-WebSocket-Accept header.");return}const p=r.headersList.get("Sec-WebSocket-Extensions");if(p!==null&&p!==d){C(s,"Received different permessage-deflate than the one set.");return}const B=r.headersList.get("Sec-WebSocket-Protocol");if(B!==null&&B!==g.headersList.get("Sec-WebSocket-Protocol")){C(s,"Protocol was not set in the opening handshake.");return}r.socket.on("data",onSocketData);r.socket.on("close",onSocketClose);r.socket.on("error",onSocketError);if(D.open.hasSubscribers){D.open.publish({address:r.socket.address(),protocol:B,extensions:p})}n(r)}});return p}function onSocketData(r){if(!this.ws[E].write(r)){this.pause()}}function onSocketClose(){const{ws:r}=this;const A=r[g]&&r[d];let s=1005;let n="";const a=r[E].closingInfo;if(a){s=a.code??1005;n=a.reason}else if(!r[g]){s=1006}r[l]=u.CLOSED;p("close",r,B,{wasClean:A,code:s,reason:n});if(D.close.hasSubscribers){D.close.publish({websocket:r,code:s,reason:n})}}function onSocketError(r){const{ws:A}=this;A[l]=u.CLOSING;if(D.socketError.hasSubscribers){D.socketError.publish(r)}this.destroy()}r.exports={establishWebSocketConnection:establishWebSocketConnection}},3464:r=>{const A="258EAFA5-E914-47DA-95CA-C5AB0DC85B11";const s={enumerable:true,writable:false,configurable:false};const n={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3};const a={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10};const u=2**16-1;const l={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4};const g=Buffer.allocUnsafe(0);r.exports={uid:A,staticPropertyDescriptors:s,states:n,opcodes:a,maxUnsigned16Bit:u,parserStates:l,emptyBuffer:g}},3164:(r,A,s)=>{const{webidl:n}=s(29);const{kEnumerableProperty:a}=s(3465);const{MessagePort:u}=s(8167);class MessageEvent extends Event{#n;constructor(r,A={}){n.argumentLengthCheck(arguments,1,{header:"MessageEvent constructor"});r=n.converters.DOMString(r);A=n.converters.MessageEventInit(A);super(r,A);this.#n=A}get data(){n.brandCheck(this,MessageEvent);return this.#n.data}get origin(){n.brandCheck(this,MessageEvent);return this.#n.origin}get lastEventId(){n.brandCheck(this,MessageEvent);return this.#n.lastEventId}get source(){n.brandCheck(this,MessageEvent);return this.#n.source}get ports(){n.brandCheck(this,MessageEvent);if(!Object.isFrozen(this.#n.ports)){Object.freeze(this.#n.ports)}return this.#n.ports}initMessageEvent(r,A=false,s=false,a=null,u="",l="",g=null,E=[]){n.brandCheck(this,MessageEvent);n.argumentLengthCheck(arguments,1,{header:"MessageEvent.initMessageEvent"});return new MessageEvent(r,{bubbles:A,cancelable:s,data:a,origin:u,lastEventId:l,source:g,ports:E})}}class CloseEvent extends Event{#n;constructor(r,A={}){n.argumentLengthCheck(arguments,1,{header:"CloseEvent constructor"});r=n.converters.DOMString(r);A=n.converters.CloseEventInit(A);super(r,A);this.#n=A}get wasClean(){n.brandCheck(this,CloseEvent);return this.#n.wasClean}get code(){n.brandCheck(this,CloseEvent);return this.#n.code}get reason(){n.brandCheck(this,CloseEvent);return this.#n.reason}}class ErrorEvent extends Event{#n;constructor(r,A){n.argumentLengthCheck(arguments,1,{header:"ErrorEvent constructor"});super(r,A);r=n.converters.DOMString(r);A=n.converters.ErrorEventInit(A??{});this.#n=A}get message(){n.brandCheck(this,ErrorEvent);return this.#n.message}get filename(){n.brandCheck(this,ErrorEvent);return this.#n.filename}get lineno(){n.brandCheck(this,ErrorEvent);return this.#n.lineno}get colno(){n.brandCheck(this,ErrorEvent);return this.#n.colno}get error(){n.brandCheck(this,ErrorEvent);return this.#n.error}}Object.defineProperties(MessageEvent.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:true},data:a,origin:a,lastEventId:a,source:a,ports:a,initMessageEvent:a});Object.defineProperties(CloseEvent.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:true},reason:a,code:a,wasClean:a});Object.defineProperties(ErrorEvent.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:true},message:a,filename:a,lineno:a,colno:a,error:a});n.converters.MessagePort=n.interfaceConverter(u);n.converters["sequence"]=n.sequenceConverter(n.converters.MessagePort);const l=[{key:"bubbles",converter:n.converters.boolean,defaultValue:false},{key:"cancelable",converter:n.converters.boolean,defaultValue:false},{key:"composed",converter:n.converters.boolean,defaultValue:false}];n.converters.MessageEventInit=n.dictionaryConverter([...l,{key:"data",converter:n.converters.any,defaultValue:null},{key:"origin",converter:n.converters.USVString,defaultValue:""},{key:"lastEventId",converter:n.converters.DOMString,defaultValue:""},{key:"source",converter:n.nullableConverter(n.converters.MessagePort),defaultValue:null},{key:"ports",converter:n.converters["sequence"],get defaultValue(){return[]}}]);n.converters.CloseEventInit=n.dictionaryConverter([...l,{key:"wasClean",converter:n.converters.boolean,defaultValue:false},{key:"code",converter:n.converters["unsigned short"],defaultValue:0},{key:"reason",converter:n.converters.USVString,defaultValue:""}]);n.converters.ErrorEventInit=n.dictionaryConverter([...l,{key:"message",converter:n.converters.DOMString,defaultValue:""},{key:"filename",converter:n.converters.USVString,defaultValue:""},{key:"lineno",converter:n.converters["unsigned long"],defaultValue:0},{key:"colno",converter:n.converters["unsigned long"],defaultValue:0},{key:"error",converter:n.converters.any}]);r.exports={MessageEvent:MessageEvent,CloseEvent:CloseEvent,ErrorEvent:ErrorEvent}},3272:(r,A,s)=>{const{maxUnsigned16Bit:n}=s(3464);let a;try{a=s(6982)}catch{}class WebsocketFrameSend{constructor(r){this.frameData=r;this.maskKey=a.randomBytes(4)}createFrame(r){const A=this.frameData?.byteLength??0;let s=A;let a=6;if(A>n){a+=8;s=127}else if(A>125){a+=2;s=126}const u=Buffer.allocUnsafe(A+a);u[0]=u[1]=0;u[0]|=128;u[0]=(u[0]&240)+r; -/*! ws. MIT License. Einar Otto Stangvik */u[a-4]=this.maskKey[0];u[a-3]=this.maskKey[1];u[a-2]=this.maskKey[2];u[a-1]=this.maskKey[3];u[1]=s;if(s===126){u.writeUInt16BE(A,2)}else if(s===127){u[2]=u[3]=0;u.writeUIntBE(A,4,6)}u[1]|=128;for(let r=0;r{const{Writable:n}=s(2203);const a=s(1637);const{parserStates:u,opcodes:l,states:g,emptyBuffer:E}=s(3464);const{kReadyState:d,kSentClose:p,kResponse:C,kReceivedClose:B}=s(5832);const{isValidStatusCode:Q,failWebsocketConnection:I,websocketMessageReceived:m}=s(3385);const{WebsocketFrameSend:y}=s(3272);const w={};w.ping=a.channel("undici:websocket:ping");w.pong=a.channel("undici:websocket:pong");class ByteParser extends n{#o=[];#i=0;#a=u.INFO;#c={};#u=[];constructor(r){super();this.ws=r}_write(r,A,s){this.#o.push(r);this.#i+=r.length;this.run(s)}run(r){while(true){if(this.#a===u.INFO){if(this.#i<2){return r()}const A=this.consume(2);this.#c.fin=(A[0]&128)!==0;this.#c.opcode=A[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==l.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==l.BINARY&&this.#c.opcode!==l.TEXT){I(this.ws,"Invalid frame type was fragmented.");return}const s=A[1]&127;if(s<=125){this.#c.payloadLength=s;this.#a=u.READ_DATA}else if(s===126){this.#a=u.PAYLOADLENGTH_16}else if(s===127){this.#a=u.PAYLOADLENGTH_64}if(this.#c.fragmented&&s>125){I(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===l.PING||this.#c.opcode===l.PONG||this.#c.opcode===l.CLOSE)&&s>125){I(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===l.CLOSE){if(s===1){I(this.ws,"Received close frame with a 1-byte body.");return}const r=this.consume(s);this.#c.closeInfo=this.parseCloseBody(false,r);if(!this.ws[p]){const r=Buffer.allocUnsafe(2);r.writeUInt16BE(this.#c.closeInfo.code,0);const A=new y(r);this.ws[C].socket.write(A.createFrame(l.CLOSE),(r=>{if(!r){this.ws[p]=true}}))}this.ws[d]=g.CLOSING;this.ws[B]=true;this.end();return}else if(this.#c.opcode===l.PING){const A=this.consume(s);if(!this.ws[B]){const r=new y(A);this.ws[C].socket.write(r.createFrame(l.PONG));if(w.ping.hasSubscribers){w.ping.publish({payload:A})}}this.#a=u.INFO;if(this.#i>0){continue}else{r();return}}else if(this.#c.opcode===l.PONG){const A=this.consume(s);if(w.pong.hasSubscribers){w.pong.publish({payload:A})}if(this.#i>0){continue}else{r();return}}}else if(this.#a===u.PAYLOADLENGTH_16){if(this.#i<2){return r()}const A=this.consume(2);this.#c.payloadLength=A.readUInt16BE(0);this.#a=u.READ_DATA}else if(this.#a===u.PAYLOADLENGTH_64){if(this.#i<8){return r()}const A=this.consume(8);const s=A.readUInt32BE(0);if(s>2**31-1){I(this.ws,"Received payload length > 2^31 bytes.");return}const n=A.readUInt32BE(4);this.#c.payloadLength=(s<<8)+n;this.#a=u.READ_DATA}else if(this.#a===u.READ_DATA){if(this.#i=this.#c.payloadLength){const r=this.consume(this.#c.payloadLength);this.#u.push(r);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===l.CONTINUATION){const r=Buffer.concat(this.#u);m(this.ws,this.#c.originalOpcode,r);this.#c={};this.#u.length=0}this.#a=u.INFO}}if(this.#i>0){continue}else{r();break}}}consume(r){if(r>this.#i){return null}else if(r===0){return E}if(this.#o[0].length===r){this.#i-=this.#o[0].length;return this.#o.shift()}const A=Buffer.allocUnsafe(r);let s=0;while(s!==r){const n=this.#o[0];const{length:a}=n;if(a+s===r){A.set(this.#o.shift(),s);break}else if(a+s>r){A.set(n.subarray(0,r-s),s);this.#o[0]=n.subarray(r-s);break}else{A.set(this.#o.shift(),s);s+=n.length}}this.#i-=r;return A}parseCloseBody(r,A){let s;if(A.length>=2){s=A.readUInt16BE(0)}if(r){if(!Q(s)){return null}return{code:s}}let n=A.subarray(2);if(n[0]===239&&n[1]===187&&n[2]===191){n=n.subarray(3)}if(s!==undefined&&!Q(s)){return null}try{n=new TextDecoder("utf-8",{fatal:true}).decode(n)}catch{return null}return{code:s,reason:n}}get closingInfo(){return this.#c.closeInfo}}r.exports={ByteParser:ByteParser}},5832:r=>{r.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},3385:(r,A,s)=>{const{kReadyState:n,kController:a,kResponse:u,kBinaryType:l,kWebSocketURL:g}=s(5832);const{states:E,opcodes:d}=s(3464);const{MessageEvent:p,ErrorEvent:C}=s(3164);function isEstablished(r){return r[n]===E.OPEN}function isClosing(r){return r[n]===E.CLOSING}function isClosed(r){return r[n]===E.CLOSED}function fireEvent(r,A,s=Event,n){const a=new s(r,n);A.dispatchEvent(a)}function websocketMessageReceived(r,A,s){if(r[n]!==E.OPEN){return}let a;if(A===d.TEXT){try{a=new TextDecoder("utf-8",{fatal:true}).decode(s)}catch{failWebsocketConnection(r,"Received invalid UTF-8 in text frame.");return}}else if(A===d.BINARY){if(r[l]==="blob"){a=new Blob([s])}else{a=new Uint8Array(s).buffer}}fireEvent("message",r,p,{origin:r[g].origin,data:a})}function isValidSubprotocol(r){if(r.length===0){return false}for(const A of r){const r=A.charCodeAt(0);if(r<33||r>126||A==="("||A===")"||A==="<"||A===">"||A==="@"||A===","||A===";"||A===":"||A==="\\"||A==='"'||A==="/"||A==="["||A==="]"||A==="?"||A==="="||A==="{"||A==="}"||r===32||r===9){return false}}return true}function isValidStatusCode(r){if(r>=1e3&&r<1015){return r!==1004&&r!==1005&&r!==1006}return r>=3e3&&r<=4999}function failWebsocketConnection(r,A){const{[a]:s,[u]:n}=r;s.abort();if(n?.socket&&!n.socket.destroyed){n.socket.destroy()}if(A){fireEvent("error",r,C,{error:new Error(A)})}}r.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},6102:(r,A,s)=>{const{webidl:n}=s(29);const{DOMException:a}=s(4135);const{URLSerializer:u}=s(3911);const{getGlobalOrigin:l}=s(9963);const{staticPropertyDescriptors:g,states:E,opcodes:d,emptyBuffer:p}=s(3464);const{kWebSocketURL:C,kReadyState:B,kController:Q,kBinaryType:I,kResponse:m,kSentClose:y,kByteParser:w}=s(5832);const{isEstablished:D,isClosing:b,isValidSubprotocol:R,failWebsocketConnection:S,fireEvent:k}=s(3385);const{establishWebSocketConnection:F}=s(3097);const{WebsocketFrameSend:T}=s(3272);const{ByteParser:N}=s(1084);const{kEnumerableProperty:v,isBlobLike:_}=s(3465);const{getGlobalDispatcher:U}=s(7882);const{types:L}=s(9023);let M=false;class WebSocket extends EventTarget{#l={open:null,error:null,close:null,message:null};#g=0;#h="";#E="";constructor(r,A=[]){super();n.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!M){M=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const s=n.converters["DOMString or sequence or WebSocketInit"](A);r=n.converters.USVString(r);A=s.protocols;const u=l();let g;try{g=new URL(r,u)}catch(r){throw new a(r,"SyntaxError")}if(g.protocol==="http:"){g.protocol="ws:"}else if(g.protocol==="https:"){g.protocol="wss:"}if(g.protocol!=="ws:"&&g.protocol!=="wss:"){throw new a(`Expected a ws: or wss: protocol, got ${g.protocol}`,"SyntaxError")}if(g.hash||g.href.endsWith("#")){throw new a("Got fragment","SyntaxError")}if(typeof A==="string"){A=[A]}if(A.length!==new Set(A.map((r=>r.toLowerCase()))).size){throw new a("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(A.length>0&&!A.every((r=>R(r)))){throw new a("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[C]=new URL(g.href);this[Q]=F(g,A,this,(r=>this.#d(r)),s);this[B]=WebSocket.CONNECTING;this[I]="blob"}close(r=undefined,A=undefined){n.brandCheck(this,WebSocket);if(r!==undefined){r=n.converters["unsigned short"](r,{clamp:true})}if(A!==undefined){A=n.converters.USVString(A)}if(r!==undefined){if(r!==1e3&&(r<3e3||r>4999)){throw new a("invalid code","InvalidAccessError")}}let s=0;if(A!==undefined){s=Buffer.byteLength(A);if(s>123){throw new a(`Reason must be less than 123 bytes; received ${s}`,"SyntaxError")}}if(this[B]===WebSocket.CLOSING||this[B]===WebSocket.CLOSED){}else if(!D(this)){S(this,"Connection was closed before it was established.");this[B]=WebSocket.CLOSING}else if(!b(this)){const n=new T;if(r!==undefined&&A===undefined){n.frameData=Buffer.allocUnsafe(2);n.frameData.writeUInt16BE(r,0)}else if(r!==undefined&&A!==undefined){n.frameData=Buffer.allocUnsafe(2+s);n.frameData.writeUInt16BE(r,0);n.frameData.write(A,2,"utf-8")}else{n.frameData=p}const a=this[m].socket;a.write(n.createFrame(d.CLOSE),(r=>{if(!r){this[y]=true}}));this[B]=E.CLOSING}else{this[B]=WebSocket.CLOSING}}send(r){n.brandCheck(this,WebSocket);n.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});r=n.converters.WebSocketSendData(r);if(this[B]===WebSocket.CONNECTING){throw new a("Sent before connected.","InvalidStateError")}if(!D(this)||b(this)){return}const A=this[m].socket;if(typeof r==="string"){const s=Buffer.from(r);const n=new T(s);const a=n.createFrame(d.TEXT);this.#g+=s.byteLength;A.write(a,(()=>{this.#g-=s.byteLength}))}else if(L.isArrayBuffer(r)){const s=Buffer.from(r);const n=new T(s);const a=n.createFrame(d.BINARY);this.#g+=s.byteLength;A.write(a,(()=>{this.#g-=s.byteLength}))}else if(ArrayBuffer.isView(r)){const s=Buffer.from(r,r.byteOffset,r.byteLength);const n=new T(s);const a=n.createFrame(d.BINARY);this.#g+=s.byteLength;A.write(a,(()=>{this.#g-=s.byteLength}))}else if(_(r)){const s=new T;r.arrayBuffer().then((r=>{const n=Buffer.from(r);s.frameData=n;const a=s.createFrame(d.BINARY);this.#g+=n.byteLength;A.write(a,(()=>{this.#g-=n.byteLength}))}))}}get readyState(){n.brandCheck(this,WebSocket);return this[B]}get bufferedAmount(){n.brandCheck(this,WebSocket);return this.#g}get url(){n.brandCheck(this,WebSocket);return u(this[C])}get extensions(){n.brandCheck(this,WebSocket);return this.#E}get protocol(){n.brandCheck(this,WebSocket);return this.#h}get onopen(){n.brandCheck(this,WebSocket);return this.#l.open}set onopen(r){n.brandCheck(this,WebSocket);if(this.#l.open){this.removeEventListener("open",this.#l.open)}if(typeof r==="function"){this.#l.open=r;this.addEventListener("open",r)}else{this.#l.open=null}}get onerror(){n.brandCheck(this,WebSocket);return this.#l.error}set onerror(r){n.brandCheck(this,WebSocket);if(this.#l.error){this.removeEventListener("error",this.#l.error)}if(typeof r==="function"){this.#l.error=r;this.addEventListener("error",r)}else{this.#l.error=null}}get onclose(){n.brandCheck(this,WebSocket);return this.#l.close}set onclose(r){n.brandCheck(this,WebSocket);if(this.#l.close){this.removeEventListener("close",this.#l.close)}if(typeof r==="function"){this.#l.close=r;this.addEventListener("close",r)}else{this.#l.close=null}}get onmessage(){n.brandCheck(this,WebSocket);return this.#l.message}set onmessage(r){n.brandCheck(this,WebSocket);if(this.#l.message){this.removeEventListener("message",this.#l.message)}if(typeof r==="function"){this.#l.message=r;this.addEventListener("message",r)}else{this.#l.message=null}}get binaryType(){n.brandCheck(this,WebSocket);return this[I]}set binaryType(r){n.brandCheck(this,WebSocket);if(r!=="blob"&&r!=="arraybuffer"){this[I]="blob"}else{this[I]=r}}#d(r){this[m]=r;const A=new N(this);A.on("drain",(function onParserDrain(){this.ws[m].socket.resume()}));r.socket.ws=this;this[w]=A;this[B]=E.OPEN;const s=r.headersList.get("sec-websocket-extensions");if(s!==null){this.#E=s}const n=r.headersList.get("sec-websocket-protocol");if(n!==null){this.#h=n}k("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=E.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=E.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=E.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=E.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:g,OPEN:g,CLOSING:g,CLOSED:g,url:v,readyState:v,bufferedAmount:v,onopen:v,onerror:v,onclose:v,close:v,onmessage:v,binaryType:v,send:v,extensions:v,protocol:v,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:g,OPEN:g,CLOSING:g,CLOSED:g});n.converters["sequence"]=n.sequenceConverter(n.converters.DOMString);n.converters["DOMString or sequence"]=function(r){if(n.util.Type(r)==="Object"&&Symbol.iterator in r){return n.converters["sequence"](r)}return n.converters.DOMString(r)};n.converters.WebSocketInit=n.dictionaryConverter([{key:"protocols",converter:n.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:r=>r,get defaultValue(){return U()}},{key:"headers",converter:n.nullableConverter(n.converters.HeadersInit)}]);n.converters["DOMString or sequence or WebSocketInit"]=function(r){if(n.util.Type(r)==="Object"&&!(Symbol.iterator in r)){return n.converters.WebSocketInit(r)}return{protocols:n.converters["DOMString or sequence"](r)}};n.converters.WebSocketSendData=function(r){if(n.util.Type(r)==="Object"){if(_(r)){return n.converters.Blob(r,{strict:false})}if(ArrayBuffer.isView(r)||L.isAnyArrayBuffer(r)){return n.converters.BufferSource(r)}}return n.converters.USVString(r)};r.exports={WebSocket:WebSocket}},9279:(r,A)=>{Object.defineProperty(A,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&process.version!==undefined){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}A.getUserAgent=getUserAgent},7133:(r,A,s)=>{const n=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";const a=s(6928);const u=n?";":":";const l=s(9964);const getNotFoundError=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"});const getPathInfo=(r,A)=>{const s=A.colon||u;const a=r.match(/\//)||n&&r.match(/\\/)?[""]:[...n?[process.cwd()]:[],...(A.path||process.env.PATH||"").split(s)];const l=n?A.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"";const g=n?l.split(s):[""];if(n){if(r.indexOf(".")!==-1&&g[0]!=="")g.unshift("")}return{pathEnv:a,pathExt:g,pathExtExe:l}};const which=(r,A,s)=>{if(typeof A==="function"){s=A;A={}}if(!A)A={};const{pathEnv:n,pathExt:u,pathExtExe:g}=getPathInfo(r,A);const E=[];const step=s=>new Promise(((u,l)=>{if(s===n.length)return A.all&&E.length?u(E):l(getNotFoundError(r));const g=n[s];const d=/^".*"$/.test(g)?g.slice(1,-1):g;const p=a.join(d,r);const C=!d&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(subStep(C,s,0))}));const subStep=(r,s,n)=>new Promise(((a,d)=>{if(n===u.length)return a(step(s+1));const p=u[n];l(r+p,{pathExt:g},((u,l)=>{if(!u&&l){if(A.all)E.push(r+p);else return a(r+p)}return a(subStep(r,s,n+1))}))}));return s?step(0).then((r=>s(null,r)),s):step(0)};const whichSync=(r,A)=>{A=A||{};const{pathEnv:s,pathExt:n,pathExtExe:u}=getPathInfo(r,A);const g=[];for(let E=0;E{r.exports=wrappy;function wrappy(r,A){if(r&&A)return wrappy(r)(A);if(typeof r!=="function")throw new TypeError("need wrapper function");Object.keys(r).forEach((function(A){wrapper[A]=r[A]}));return wrapper;function wrapper(){var A=new Array(arguments.length);for(var s=0;s{s.d(A,{a:()=>buildProject});var n=s(3024);var a=s(6760);var u=s(3167);var l=s(4235);async function initProject(r,A,s){await A.execTauriCommand(["init"],["--ci"],r);const n=(0,l.Z0)(r);if(n===null){console.error("Failed to resolve Tauri path");process.exit(1)}const g=u.K.fromBaseConfig(n);g.version=s.appVersion??undefined;g.productName=s.appName??undefined;if(s.bundleIdentifier){g.identifier=s.bundleIdentifier??undefined}if(s.distPath){g.frontendDist=s.distPath??undefined}g.beforeBuildCommand="";console.log(`Updating tauri.conf.json file according to these configurations: ${JSON.stringify(g)}`);g.updateConfigFile(n);if(s.iconPath){await A.execTauriCommand(["icon",(0,a.join)(r,s.iconPath)],[],r)}}class Runner{constructor(r,A){this.bin=r;this.tauriScript=A||[]}async execTauriCommand(r,A,s,n){const a=[];if(this.bin==="npm"&&this.tauriScript[0]!=="run"){a.push("run")}a.push(...this.tauriScript);a.push(...r);if(this.bin==="npm"&&A.length){a.push("--")}a.push(...A);return(0,l.NK)(this.bin,a,{cwd:s},n)}}async function getRunner(r,A){if(A){const[r,...s]=A.split(" ");return new Runner(r,s)}if((0,l.ws)("@tauri-apps/cli",r)){if((0,l.z8)(r))return new Runner("yarn",["tauri"]);if((0,l.me)(r))return new Runner("pnpm",["tauri"]);if((0,l.Ui)(r))return new Runner("bun",["tauri"]);return new Runner("npm",["run","tauri"])}let s="v1";try{const A=(0,l.Z0)(r);if(A){const r=u.K.fromBaseConfig(A);if(r&&r.isV2()){s="v2"}}}catch{}await(0,l.NK)("npm",["install","-g",`@tauri-apps/cli@${s}`],{cwd:undefined});return new Runner("tauri")}async function buildProject(r,A,s,u){const g=await getRunner(r,s.tauriScript);const E=A?["--debug",...s.args??[]]:s.args??[];const d=[...E].findIndex((r=>r==="-t"||r==="--target"));const p=d>=0?[...E][d+1]:undefined;const C=[...E].findIndex((r=>r==="-c"||r==="--config"));const B=C>=0?[...E][C+1]:undefined;const Q=[...E].findIndex((r=>r==="--profile"));const I=Q>=0?[...E][Q+1]:undefined;const m=(0,l.sg)(p);if(!(0,l.Z0)(r)){await initProject(r,g,u)}const y=(0,l.Vp)(r,m,B);if(!y.tauriPath){throw Error("Couldn't detect path of tauri app")}const w={tauriPath:y.tauriPath,runner:g,name:y.name,version:y.version,wixLanguage:y.wixLanguage,wixAppVersion:y.wixAppVersion,rpmRelease:y.rpmRelease};await g.execTauriCommand(["build"],[...E],r,m.platform==="macos"?{TAURI_BUNDLER_DMG_IGNORE_CI:process.env.TAURI_BUNDLER_DMG_IGNORE_CI??"true"}:undefined);const D=w.name.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z])(?=[a-z])/g,"$1-$2").replace(/[ _.]/g,"-").replace(/[()[\]{}]/g,"").toLowerCase();const b=(0,l.Lw)(w.tauriPath)??w.tauriPath;const R=(0,a.join)((0,l.d)(b,y.tauriPath,!!p),p??"",I?I:A?"debug":"release");let S=[];let k=m.arch;if(m.platform==="macos"){if(k==="x86_64"){k="x64"}else if(k==="arm64"){k="aarch64"}S=[(0,a.join)(R,`bundle/dmg/${w.name}_${w.version}_${k}.dmg`),(0,a.join)(R,`bundle/macos/${w.name}.app`),(0,a.join)(R,`bundle/macos/${w.name}.app.tar.gz`),(0,a.join)(R,`bundle/macos/${w.name}.app.tar.gz.sig`)].map((r=>({path:r,arch:k})))}else if(m.platform==="windows"){if(k.startsWith("i")){k="x86"}else if(k==="aarch64"){k="arm64"}else{k="x64"}let r;if(typeof w.wixLanguage==="string"){r=[w.wixLanguage]}else if(Array.isArray(w.wixLanguage)){r=w.wixLanguage}else{r=Object.keys(w.wixLanguage)}const A=[];r.forEach((r=>{A.push((0,a.join)(R,`bundle/msi/${w.name}_${w.wixAppVersion}_${k}_${r}.msi`),(0,a.join)(R,`bundle/msi/${w.name}_${w.wixAppVersion}_${k}_${r}.msi.sig`),(0,a.join)(R,`bundle/msi/${w.name}_${w.wixAppVersion}_${k}_${r}.msi.zip`),(0,a.join)(R,`bundle/msi/${w.name}_${w.wixAppVersion}_${k}_${r}.msi.zip.sig`))}));A.push((0,a.join)(R,`bundle/nsis/${w.name}_${w.version}_${k}-setup.exe`),(0,a.join)(R,`bundle/nsis/${w.name}_${w.version}_${k}-setup.exe.sig`),(0,a.join)(R,`bundle/nsis/${w.name}_${w.version}_${k}-setup.nsis.zip`),(0,a.join)(R,`bundle/nsis/${w.name}_${w.version}_${k}-setup.nsis.zip.sig`));S=A.map((r=>({path:r,arch:k})))}else{const r=k==="x64"||k==="x86_64"?"amd64":k==="x32"||k==="i686"?"i386":k==="arm"?"armhf":k==="aarch64"?"arm64":k;const A=k==="x64"||k==="x86_64"?"x86_64":k==="x32"||k==="x86"||k==="i686"?"i386":k==="arm"?"armhfp":k==="arm64"?"aarch64":k;const s=k==="x64"||k==="x86_64"?"amd64":k==="x32"||k==="i686"?"i386":k==="arm"?"arm":k==="arm64"?"aarch64":k;S=[{path:(0,a.join)(R,`bundle/deb/${w.name}_${w.version}_${r}.deb`),arch:r},{path:(0,a.join)(R,`bundle/rpm/${w.name}-${w.version}-${w.rpmRelease}.${A}.rpm`),arch:A},{path:(0,a.join)(R,`bundle/appimage/${w.name}_${w.version}_${s}.AppImage`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${w.name}_${w.version}_${s}.AppImage.sig`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${w.name}_${w.version}_${s}.AppImage.tar.gz`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${w.name}_${w.version}_${s}.AppImage.tar.gz.sig`),arch:s}];if(w.name!=D){S.push({path:(0,a.join)(R,`bundle/deb/${D}_${w.version}_${r}.deb`),arch:r},{path:(0,a.join)(R,`bundle/rpm/${D}-${w.version}-${w.rpmRelease}.${A}.rpm`),arch:A},{path:(0,a.join)(R,`bundle/appimage/${D}_${w.version}_${s}.AppImage`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${D}_${w.version}_${s}.AppImage.sig`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${D}_${w.version}_${s}.AppImage.tar.gz`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${D}_${w.version}_${s}.AppImage.tar.gz.sig`),arch:s})}}console.log(`Looking for artifacts in:\n${S.map((r=>r.path)).join("\n")}`);return S.filter((r=>(0,n.existsSync)(r.path)))}},3167:(r,A,s)=>{s.d(A,{K:()=>TauriConfig});var n=s(9896);var a=s.n(n);var u=s(6928);var l=s.n(u);var g=s(2811);var E=s(823);var d=s.n(E);function _tryParseJsonConfig(r){try{const A=JSON.parse(r);return A}catch(r){const A=r.message;console.error(`Couldn't parse --config flag as inline JSON. This is not an error if it's a file path. Source: "${A}"`);return null}}function _tryParseJson5Config(r){try{const A=d().parse(r);return A}catch(r){const A=r.message;console.error(`Couldn't parse --config flag as inline JSON. This is not an error if it's a file path. Source: "${A}"`);return null}}function _tryParseTomlConfig(r){try{const A=(0,g.parse)(r);return A}catch(r){const A=r.message;console.error(`Couldn't parse --config flag as inline JSON. This is not an error if it's a file path. Source: "${A}"`);return null}}function readPlatformConfig(r,A){let s=(0,u.join)(r,`tauri.${A}.conf.json`);if((0,n.existsSync)(s)){const r=(0,n.readFileSync)(s).toString();const A=_tryParseJsonConfig(r);if(A)return A}s=(0,u.join)(r,`tauri.${A}.conf.json5`);if((0,n.existsSync)(s)){const r=(0,n.readFileSync)(s).toString();const A=_tryParseJson5Config(r);if(A)return A}s=(0,u.join)(r,`Tauri.${A}.toml`);if((0,n.existsSync)(s)){const r=(0,n.readFileSync)(s).toString();const A=_tryParseTomlConfig(r);if(A)return A}return null}function readCustomConfig(r){if(!(0,n.existsSync)(r)){throw new Error(`Provided config path \`${r}\` does not exist.`)}const A=(0,n.readFileSync)(r).toString();const s=l().extname(r);if(s===".json"){const r=_tryParseJsonConfig(A);if(r)return r}if(s===".json5"){const r=_tryParseJson5Config(A);if(r)return r}if(s===".toml"){const r=_tryParseTomlConfig(A);if(r)return r}throw new Error(`Couldn't parse \`${r}\` as ${s.substring(1)}.`)}class TauriConfig{constructor(r,A=false){this.identifier=r;this._isV2=A}isV2(){return this._isV2}static fromBaseConfig(r){if((0,n.existsSync)((0,u.join)(r,"tauri.conf.json"))){const A=(0,n.readFileSync)((0,u.join)(r,"tauri.conf.json")).toString();const s=_tryParseJsonConfig(A);if(s){if("identifier"in s){return this.fromV2Base(s)}else{return this.fromV1Base(s)}}console.error("Found tauri.conf.json file but couldn't parse it as JSON.")}if((0,n.existsSync)((0,u.join)(r,"tauri.conf.json5"))){const A=(0,n.readFileSync)((0,u.join)(r,"tauri.conf.json5")).toString();const s=_tryParseJson5Config(A);if(s){if("identifier"in s){return this.fromV2Base(s)}else{return this.fromV1Base(s)}}console.error("Found tauri.conf.json5 file but couldn't parse it as JSON5.")}if((0,n.existsSync)((0,u.join)(r,"Tauri.toml"))){const A=(0,n.readFileSync)((0,u.join)(r,"Tauri.toml")).toString();const s=_tryParseTomlConfig(A);if(s){if("identifier"in s){return this.fromV2Base(s)}else{return this.fromV1Base(s)}}console.error("Found Tauri.toml file but couldn't parse it as TOML.")}throw new Error("Couldn't locate or parse tauri config.")}static fromV1Base(r){if(!r.tauri?.bundle?.identifier){throw Error("base config has no bundle identifier.")}const A=new TauriConfig(r.tauri?.bundle?.identifier,false);A.productName=r.package?.productName;A.version=r.package?.version;A.frontendDist=r.build?.distDir;A.beforeBuildCommand=r.build?.beforeBuildCommand;A.rpmRelease=r.tauri.bundle.rpm?.release;A.wixLanguage=r.tauri.bundle.windows?.wix?.language;return A}static fromV2Base(r){if(!r.identifier){throw Error("base config has no bundle identifier.")}const A=new TauriConfig(r.identifier,true);A.productName=r.productName;A.version=r.version;A.frontendDist=r.build?.frontendDist;A.beforeBuildCommand=r.build?.beforeBuildCommand;A.rpmRelease=r.bundle?.linux?.rpm?.release;A.wixLanguage=r.bundle?.windows?.wix?.language;A.unzippedSigs=r.bundle?.createUpdaterArtifacts===true;return A}mergeConfig(r){if(this._isV2){const A=r;this.identifier=A.identifier??this.identifier;this.productName=A.productName??this.productName;this.version=A.version??this.version;this.frontendDist=A.build?.frontendDist??this.frontendDist;this.beforeBuildCommand=A.build?.beforeBuildCommand??this.beforeBuildCommand;this.rpmRelease=A.bundle?.linux?.rpm?.release??this.rpmRelease;this.wixLanguage=A.bundle?.windows?.wix?.language??this.wixLanguage;this.unzippedSigs=A.bundle?.createUpdaterArtifacts!=null?A.bundle?.createUpdaterArtifacts===true:this.unzippedSigs}else{const A=r;this.identifier=A.tauri?.bundle?.identifier??this.identifier;this.productName=A.package?.productName??this.productName;this.version=A.package?.version??this.version;this.frontendDist=A.build?.distDir??this.frontendDist;this.beforeBuildCommand=A.build?.beforeBuildCommand??this.beforeBuildCommand;this.rpmRelease=A.tauri?.bundle?.rpm?.release??this.rpmRelease;this.wixLanguage=A.tauri?.bundle?.windows?.wix?.language??this.wixLanguage}}mergePlatformConfig(r,A){const s=readPlatformConfig(r,A);if(s){this.mergeConfig(s)}}mergeUserConfig(r,A){let s=_tryParseJsonConfig(A);if(!s){const n=l().isAbsolute(A)?A:l().join(r,A);s=readCustomConfig(n)}if(s){this.mergeConfig(s)}else{console.error(`Couldn't read --config: ${A}`)}}updateConfigFile(r){const A=(0,u.join)(r,"tauri.conf.json");const s=(0,n.readFileSync)(A).toString();const a=_tryParseJsonConfig(s);if(!a){throw new Error("Couldn't parse tauri.conf.json")}if(this._isV2){const r=a;r.identifier=this.identifier;r.productName=this.productName;r.version=this.version;r.build.beforeBuildCommand=this.beforeBuildCommand;r.build.frontendDist=this.frontendDist;(0,n.writeFileSync)(A,JSON.stringify(r,null,2))}else{const r=a;r.build.beforeBuildCommand=this.beforeBuildCommand;r.build.distDir=this.frontendDist;r.package.productName=this.productName;r.package.version=this.version;r.tauri.bundle.identifier=this.identifier;(0,n.writeFileSync)(A,JSON.stringify(r,null,2))}}}},9729:(r,A,s)=>{s.d(A,{Y:()=>createRelease});var n=s(3024);var a=s.n(n);var u=s(9999);var l=s.n(u);var g=s(2819);var E=s.n(g);function allReleases(r,A,s){const n={per_page:100,owner:A,repo:s};return r.paginate.iterator(r.rest.repos.listReleases.endpoint.merge(n))}async function createRelease(r,A,s,n,l,E,d=true,p=true){if(process.env.GITHUB_TOKEN===undefined){throw new Error("GITHUB_TOKEN is required")}const C=(0,g.getOctokit)(process.env.GITHUB_TOKEN);const B=u.getInput("body_path",{required:false});let Q=null;if(B!==""&&!!B){try{Q=a().readFileSync(B,{encoding:"utf8"})}catch(r){u.setFailed(r.message)}}let I=null;try{if(d){console.log(`Looking for a draft release with tag ${s}...`);for await(const n of allReleases(C,r,A)){const r=n.data.find((r=>r.tag_name===s));if(r){I=r;console.log(`Found draft release with tag ${s} on the release list.`);break}}if(!I){throw new Error("release not found")}}else{const n=await C.rest.repos.getReleaseByTag({owner:r,repo:A,tag:s});I=n.data;console.log(`Found release with tag ${s}.`)}}catch(a){if(a.status===404||a.message==="release not found"){console.log(`Couldn't find release with tag ${s}. Creating one.`);const a=await C.rest.repos.createRelease({owner:r,repo:A,tag_name:s,name:n,body:Q||l,draft:d,prerelease:p,target_commitish:E||g.context.sha});I=a.data}else{console.log(`⚠️ Unexpected error fetching GitHub release for tag ${s}: ${a}`);throw a}}if(!I){throw new Error("Release not found or created.")}return{id:I.id,uploadUrl:I.upload_url,htmlUrl:I.html_url}}},6677:(r,A,s)=>{s.a(r,(async(r,A)=>{try{var n=s(3024);var a=s.n(n);var u=s(6760);var l=s.n(u);var g=s(9999);var E=s.n(g);var d=s(2819);var p=s.n(d);var C=s(1512);var B=s(9729);var Q=s(9444);var I=s(8844);var m=s(4953);var y=s(4235);async function run(){try{const r=(0,u.resolve)(process.cwd(),g.getInput("projectPath")||process.argv[2]);const A=g.getInput("distPath");const s=g.getInput("iconPath");const a=g.getInput("appName");const l=g.getInput("appVersion");const E=g.getBooleanInput("includeRelease");const p=g.getBooleanInput("includeDebug");const w=g.getBooleanInput("includeUpdaterJson");const D=g.getBooleanInput("updaterJsonKeepUniversal");const b=g.getInput("tauriScript");const R=(0,C.A)(g.getInput("args"));const S=g.getInput("bundleIdentifier");let k=g.getInput("tagName").replace("refs/tags/","");let F=Number(g.getInput("releaseId"));let T=g.getInput("releaseName").replace("refs/tags/","");let N=g.getInput("releaseBody");const v=g.getInput("owner")||d.context.repo.owner;const _=g.getInput("repo")||d.context.repo.repo;const U=g.getBooleanInput("releaseDraft");const L=g.getBooleanInput("prerelease");const M=g.getInput("releaseCommitish")||null;const P=g.getInput("updaterJsonPreferNsis")?.toLowerCase()==="true";if(!F){if(Boolean(k)&&!T)throw new Error("`releaseName` is required if `tagName` is set when creating a release.")}const G={tauriScript:b,args:R};const x={distPath:A,iconPath:s,bundleIdentifier:S,appName:a,appVersion:l};const O=[...R].findIndex((r=>r==="-t"||r==="--target"));const H=O>=0?[...R][O+1]:undefined;const Y=[...R].findIndex((r=>r==="-c"||r==="--config"));const J=Y>=0?[...R][Y+1]:undefined;const V=[];const W=[];if(E){V.push(...await(0,m.a)(r,false,G,x))}if(p){W.push(...await(0,m.a)(r,true,G,x))}const q=V.concat(W);if(q.length===0){if(F||k||T){throw new Error("No artifacts were found.")}else{console.log("No artifacts were found. The action was not configured to upload artifacts, therefore this is not handled as an error.");return}}console.log(`Found artifacts:\n${q.map((r=>r.path)).join("\n")}`);g.setOutput("artifactPaths",JSON.stringify(q.map((r=>r.path))));const j=(0,y.sg)(H);const K=(0,y.Vp)(r,j,J);g.setOutput("appVersion",K.version);if(j.platform==="macos"){let r=0;for(const A of q){if(A.path.endsWith(".app")&&!(0,n.existsSync)(`${A.path}.tar.gz`)){console.log(`Packaging ${A.path} directory into ${A.path}.tar.gz`);await(0,y.NK)("tar",["czf",`${A.path}.tar.gz`,"-C",(0,u.dirname)(A.path),(0,u.basename)(A.path)]);A.path+=".tar.gz"}else if(A.path.endsWith(".app")){q.splice(r,1)}r++}}if(k&&!F){const r=[{key:"__VERSION__",value:K.version}];r.forEach((r=>{const A=new RegExp(r.key,"g");k=k.replace(A,r.value);T=T.replace(A,r.value);N=N.replace(A,r.value)}));const A=await(0,B.Y)(v,_,k,T,N,M||undefined,U,L);F=A.id;g.setOutput("releaseUploadUrl",A.uploadUrl);g.setOutput("releaseId",A.id.toString());g.setOutput("releaseHtmlUrl",A.htmlUrl)}if(F){await(0,Q.r)(v,_,F,q);if(w){await(0,I.Y)({owner:v,repo:_,version:K.version,notes:N,tagName:k,releaseId:F,artifacts:V.length!==0?V:W,targetInfo:j,unzippedSig:K.unzippedSigs,updaterJsonPreferNsis:P,updaterJsonKeepUniversal:D})}}else{console.log("No releaseId or tagName provided, skipping all uploads...")}}catch(r){g.setFailed(r.message)}}await run();A()}catch(w){A(w)}}),1)},9444:(r,A,s)=>{s.d(A,{r:()=>uploadAssets});var n=s(3024);var a=s.n(n);var u=s(2819);var l=s.n(u);var g=s(4235);async function uploadAssets(r,A,s,n){if(process.env.GITHUB_TOKEN===undefined){throw new Error("GITHUB_TOKEN is required")}const l=(0,u.getOctokit)(process.env.GITHUB_TOKEN);const E=(await l.rest.repos.listReleaseAssets({owner:r,repo:A,release_id:s,per_page:100})).data;const contentLength=r=>a().statSync(r).size;for(const u of n){const n={"content-type":"application/zip","content-length":contentLength(u.path)};const d=(0,g.wm)(u.path);const p=E.find((r=>r.name===d.trim().replace(/[ ()[\]{}]/g,".").replace(/\.\./g,".").normalize("NFD").replace(/[\u0300-\u036f]/g,"")));if(p){console.log(`Deleting existing ${d}...`);await l.rest.repos.deleteReleaseAsset({owner:r,repo:A,asset_id:p.id})}console.log(`Uploading ${d}...`);await l.rest.repos.uploadReleaseAsset({headers:n,name:d,data:a().createReadStream(u.path),owner:r,repo:A,release_id:s})}}},8844:(r,A,s)=>{s.d(A,{Y:()=>uploadVersionJSON});var n=s(3024);var a=s.n(n);var u=s(6760);var l=s.n(u);var g=s(2819);var E=s.n(g);var d=s(9444);var p=s(4235);async function uploadVersionJSON({owner:r,repo:A,version:s,notes:a,tagName:l,releaseId:E,artifacts:C,targetInfo:B,unzippedSig:Q,updaterJsonPreferNsis:I,updaterJsonKeepUniversal:m}){if(process.env.GITHUB_TOKEN===undefined){throw new Error("GITHUB_TOKEN is required")}const y=(0,g.getOctokit)(process.env.GITHUB_TOKEN);const w="latest.json";const D=(0,u.resolve)(process.cwd(),w);const b={version:s,notes:a,pub_date:(new Date).toISOString(),platforms:{}};const R=await y.rest.repos.listReleaseAssets({owner:r,repo:A,release_id:E,per_page:50});const S=R.data.find((r=>r.name===w));if(S){const s=(await y.request("GET /repos/{owner}/{repo}/releases/assets/{asset_id}",{owner:r,repo:A,asset_id:S.id,headers:{accept:"application/octet-stream"}})).data;b.platforms=JSON.parse(Buffer.from(s).toString()).platforms}const k=new Map;for(const r of R.data){k.set(r.name,r.browser_download_url)}const F=[];for(const r of C){const A=(0,p.wm)(r.path).trim().replace(/[ ()[\]{}]/g,".").replace(/\.\./g,".").normalize("NFD").replace(/[\u0300-\u036f]/g,"");const s=k.get(A);if(s){F.push({downloadUrl:s,assetName:A,path:r.path,arch:r.arch})}}const T=F.filter((r=>r.assetName.endsWith(".sig")));function signaturePriority(r){const A=I?Q?[".exe.sig",".msi.sig"]:[".nsis.zip.sig",".msi.zip.sig"]:Q?[".msi.sig",".exe.sig"]:[".msi.zip.sig",".nsis.zip.sig"];for(const[s,n]of A.entries()){if(r.endsWith(n)){return 100-s}}return 0}T.sort(((r,A)=>signaturePriority(A.path)-signaturePriority(r.path)));const N=T[0];if(!N){console.warn("Signature not found for the updater JSON. Skipping upload...");return}const v=(0,u.basename)(N.assetName,(0,u.extname)(N.assetName));let _=F.find((r=>r.assetName==v))?.downloadUrl;if(!_){console.warn("Asset not found for the updater JSON. Skipping upload...");return}_=_.replace(/\/download\/(untagged-[^/]+)\//,l?`/download/${l}/`:"/latest/download/");let U=B.platform;if(U==="macos"){U="darwin"}let L=N.arch;L=L==="amd64"||L==="x86_64"||L==="x64"?"x86_64":L==="x86"||L==="i386"?"i686":L==="arm"?"armv7":L==="arm64"?"aarch64":L;if(U==="darwin"&&L==="universal"){if(!b.platforms["darwin-aarch64"]){b.platforms["darwin-aarch64"]={signature:(0,n.readFileSync)(N.path).toString(),url:_}}if(!b.platforms["darwin-x86_64"]){b.platforms["darwin-x86_64"]={signature:(0,n.readFileSync)(N.path).toString(),url:_}}}if(m||U!=="darwin"||L!=="universal"){b.platforms[`${U}-${L}`]={signature:(0,n.readFileSync)(N.path).toString(),url:_}}(0,n.writeFileSync)(D,JSON.stringify(b,null,2));if(S){await y.rest.repos.deleteReleaseAsset({owner:r,repo:A,release_id:E,asset_id:S.id})}await(0,d.r)(r,A,E,[{path:D,arch:""}])}},4235:(r,A,s)=>{s.d(A,{NK:()=>execCommand,wm:()=>getAssetName,Vp:()=>getInfo,d:()=>getTargetDir,sg:()=>getTargetInfo,Z0:()=>getTauriDir,Lw:()=>getWorkspaceDir,ws:()=>hasDependency,Ui:()=>usesBun,me:()=>usesPnpm,z8:()=>usesYarn});var n=s(3024);var a=s(6760);var u=s.n(a);function isPlainObject(r){if(typeof r!=="object"||r===null){return false}const A=Object.getPrototypeOf(r);return(A===null||A===Object.prototype||Object.getPrototypeOf(A)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)}const l=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:url");const safeNormalizeFileUrl=(r,A)=>{const s=normalizeFileUrl(normalizeDenoExecPath(r));if(typeof s!=="string"){throw new TypeError(`${A} must be a string or a file URL: ${s}.`)}return s};const normalizeDenoExecPath=r=>isDenoExecPath(r)?r.toString():r;const isDenoExecPath=r=>typeof r!=="string"&&r&&Object.getPrototypeOf(r)===String.prototype;const normalizeFileUrl=r=>r instanceof URL?(0,l.fileURLToPath)(r):r;const normalizeParameters=(r,A=[],s={})=>{const n=safeNormalizeFileUrl(r,"First argument");const[a,u]=isPlainObject(A)?[[],A]:[A,s];if(!Array.isArray(a)){throw new TypeError(`Second argument must be either an array of arguments or an options object: ${a}`)}if(a.some((r=>typeof r==="object"&&r!==null))){throw new TypeError(`Second argument must be an array of strings: ${a}`)}const l=a.map(String);const g=l.find((r=>r.includes("\0")));if(g!==undefined){throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${g}`)}if(!isPlainObject(u)){throw new TypeError(`Last argument must be an options object: ${u}`)}return[n,l,u]};const g=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:child_process");const E=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:string_decoder");const{toString:d}=Object.prototype;const isArrayBuffer=r=>d.call(r)==="[object ArrayBuffer]";const isUint8Array=r=>d.call(r)==="[object Uint8Array]";const bufferToUint8Array=r=>new Uint8Array(r.buffer,r.byteOffset,r.byteLength);const p=new TextEncoder;const stringToUint8Array=r=>p.encode(r);const C=new TextDecoder;const uint8ArrayToString=r=>C.decode(r);const joinToString=(r,A)=>{const s=uint8ArraysToStrings(r,A);return s.join("")};const uint8ArraysToStrings=(r,A)=>{if(A==="utf8"&&r.every((r=>typeof r==="string"))){return r}const s=new E.StringDecoder(A);const n=r.map((r=>typeof r==="string"?stringToUint8Array(r):r)).map((r=>s.write(r)));const a=s.end();return a===""?n:[...n,a]};const joinToUint8Array=r=>{if(r.length===1&&isUint8Array(r[0])){return r[0]}return concatUint8Arrays(stringsToUint8Arrays(r))};const stringsToUint8Arrays=r=>r.map((r=>typeof r==="string"?stringToUint8Array(r):r));const concatUint8Arrays=r=>{const A=new Uint8Array(getJoinLength(r));let s=0;for(const n of r){A.set(n,s);s+=n.length}return A};const getJoinLength=r=>{let A=0;for(const s of r){A+=s.length}return A};const isTemplateString=r=>Array.isArray(r)&&Array.isArray(r.raw);const parseTemplates=(r,A)=>{let s=[];for(const[n,a]of r.entries()){s=parseTemplate({templates:r,expressions:A,tokens:s,index:n,template:a})}if(s.length===0){throw new TypeError("Template script must not be empty")}const[n,...a]=s;return[n,a,{}]};const parseTemplate=({templates:r,expressions:A,tokens:s,index:n,template:a})=>{if(a===undefined){throw new TypeError(`Invalid backslash sequence: ${r.raw[n]}`)}const{nextTokens:u,leadingWhitespaces:l,trailingWhitespaces:g}=splitByWhitespaces(a,r.raw[n]);const E=concatTokens(s,u,l);if(n===A.length){return E}const d=A[n];const p=Array.isArray(d)?d.map((r=>parseExpression(r))):[parseExpression(d)];return concatTokens(E,p,g)};const splitByWhitespaces=(r,A)=>{if(A.length===0){return{nextTokens:[],leadingWhitespaces:false,trailingWhitespaces:false}}const s=[];let n=0;const a=B.has(A[0]);for(let a=0,u=0;as||r.length===0||A.length===0?[...r,...A]:[...r.slice(0,-1),`${r.at(-1)}${A[0]}`,...A.slice(1)];const parseExpression=r=>{const A=typeof r;if(A==="string"){return r}if(A==="number"){return String(r)}if(isPlainObject(r)&&("stdout"in r||"isMaxBuffer"in r)){return getSubprocessResult(r)}if(r instanceof g.ChildProcess||Object.prototype.toString.call(r)==="[object Promise]"){throw new TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}.")}throw new TypeError(`Unexpected "${A}" in template expression`)};const getSubprocessResult=({stdout:r})=>{if(typeof r==="string"){return r}if(isUint8Array(r)){return uint8ArrayToString(r)}if(r===undefined){throw new TypeError('Missing result.stdout in template expression. This is probably due to the previous subprocess\' "stdout" option.')}throw new TypeError(`Unexpected "${typeof r}" stdout in template expression`)};var I=s(7975);const m=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:process");const isStandardStream=r=>y.includes(r);const y=[m.stdin,m.stdout,m.stderr];const w=["stdin","stdout","stderr"];const getStreamName=r=>w[r]??`stdio[${r}]`;const normalizeFdSpecificOptions=r=>{const A={...r};for(const s of S){A[s]=normalizeFdSpecificOption(r,s)}return A};const normalizeFdSpecificOption=(r,A)=>{const s=Array.from({length:getStdioLength(r)+1});const n=normalizeFdSpecificValue(r[A],s,A);return addDefaultValue(n,A)};const getStdioLength=({stdio:r})=>Array.isArray(r)?Math.max(r.length,w.length):w.length;const normalizeFdSpecificValue=(r,A,s)=>isPlainObject(r)?normalizeOptionObject(r,A,s):A.fill(r);const normalizeOptionObject=(r,A,s)=>{for(const n of Object.keys(r).sort(compareFdName)){for(const a of parseFdName(n,s,A)){A[a]=r[n]}}return A};const compareFdName=(r,A)=>getFdNameOrder(r){if(r==="stdout"||r==="stderr"){return 0}return r==="all"?2:1};const parseFdName=(r,A,s)=>{if(r==="ipc"){return[s.length-1]}const n=parseFd(r);if(n===undefined||n===0){throw new TypeError(`"${A}.${r}" is invalid.\nIt must be "${A}.stdout", "${A}.stderr", "${A}.all", "${A}.ipc", or "${A}.fd3", "${A}.fd4" (and so on).`)}if(n>=s.length){throw new TypeError(`"${A}.${r}" is invalid: that file descriptor does not exist.\nPlease set the "stdio" option to ensure that file descriptor exists.`)}return n==="all"?[1,2]:[n]};const parseFd=r=>{if(r==="all"){return r}if(w.includes(r)){return w.indexOf(r)}const A=D.exec(r);if(A!==null){return Number(A[1])}};const D=/^fd(\d+)$/;const addDefaultValue=(r,A)=>r.map((r=>r===undefined?R[A]:r));const b=(0,I.debuglog)("execa").enabled?"full":"none";const R={lines:false,buffer:true,maxBuffer:1e3*1e3*100,verbose:b,stripFinalNewline:true};const S=["lines","buffer","maxBuffer","verbose","stripFinalNewline"];const getFdSpecificValue=(r,A)=>A==="ipc"?r.at(-1):r[A];const isVerbose=({verbose:r},A)=>getFdVerbose(r,A)!=="none";const isFullVerbose=({verbose:r},A)=>!["none","short"].includes(getFdVerbose(r,A));const getVerboseFunction=({verbose:r},A)=>{const s=getFdVerbose(r,A);return isVerboseFunction(s)?s:undefined};const getFdVerbose=(r,A)=>A===undefined?getFdGenericVerbose(r):getFdSpecificValue(r,A);const getFdGenericVerbose=r=>r.find((r=>isVerboseFunction(r)))??k.findLast((A=>r.includes(A)));const isVerboseFunction=r=>typeof r==="function";const k=["none","short","full"];const joinCommand=(r,A)=>{const s=[r,...A];const n=s.join(" ");const a=s.map((r=>quoteString(escapeControlCharacters(r)))).join(" ");return{command:n,escapedCommand:a}};const escapeLines=r=>(0,I.stripVTControlCharacters)(r).split("\n").map((r=>escapeControlCharacters(r))).join("\n");const escapeControlCharacters=r=>r.replaceAll(F,(r=>escapeControlCharacter(r)));const escapeControlCharacter=r=>{const A=T[r];if(A!==undefined){return A}const s=r.codePointAt(0);const n=s.toString(16);return s<=N?`\\u${n.padStart(4,"0")}`:`\\U${n}`};const getSpecialCharRegExp=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}};const F=getSpecialCharRegExp();const T={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};const N=65535;const quoteString=r=>{if(v.test(r)){return r}return m.platform==="win32"?`"${r.replaceAll('"','""')}"`:`'${r.replaceAll("'","'\\''")}'`};const v=/^[\w./-]+$/;function isUnicodeSupported(){const{env:r}=m;const{TERM:A,TERM_PROGRAM:s}=r;if(m.platform!=="win32"){return A!=="linux"}return Boolean(r.WT_SESSION)||Boolean(r.TERMINUS_SUBLIME)||r.ConEmuTask==="{cmd::Cmder}"||s==="Terminus-Sublime"||s==="vscode"||A==="xterm-256color"||A==="alacritty"||A==="rxvt-unicode"||A==="rxvt-unicode-256color"||r.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const _={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"█",squareDarkShade:"▓",squareMediumShade:"▒",squareLightShade:"░",squareTop:"▀",squareBottom:"▄",squareLeft:"▌",squareRight:"▐",squareCenter:"■",bullet:"●",dot:"․",ellipsis:"…",pointerSmall:"›",triangleUp:"▲",triangleUpSmall:"▴",triangleDown:"▼",triangleDownSmall:"▾",triangleLeftSmall:"◂",triangleRightSmall:"▸",home:"⌂",heart:"♥",musicNote:"♪",musicNoteBeamed:"♫",arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",arrowLeftRight:"↔",arrowUpDown:"↕",almostEqual:"≈",notEqual:"≠",lessOrEqual:"≤",greaterOrEqual:"≥",identical:"≡",infinity:"∞",subscriptZero:"₀",subscriptOne:"₁",subscriptTwo:"₂",subscriptThree:"₃",subscriptFour:"₄",subscriptFive:"₅",subscriptSix:"₆",subscriptSeven:"₇",subscriptEight:"₈",subscriptNine:"₉",oneHalf:"½",oneThird:"⅓",oneQuarter:"¼",oneFifth:"⅕",oneSixth:"⅙",oneEighth:"⅛",twoThirds:"⅔",twoFifths:"⅖",threeQuarters:"¾",threeFifths:"⅗",threeEighths:"⅜",fourFifths:"⅘",fiveSixths:"⅚",fiveEighths:"⅝",sevenEighths:"⅞",line:"─",lineBold:"━",lineDouble:"═",lineDashed0:"┄",lineDashed1:"┅",lineDashed2:"┈",lineDashed3:"┉",lineDashed4:"╌",lineDashed5:"╍",lineDashed6:"╴",lineDashed7:"╶",lineDashed8:"╸",lineDashed9:"╺",lineDashed10:"╼",lineDashed11:"╾",lineDashed12:"−",lineDashed13:"–",lineDashed14:"‐",lineDashed15:"⁃",lineVertical:"│",lineVerticalBold:"┃",lineVerticalDouble:"║",lineVerticalDashed0:"┆",lineVerticalDashed1:"┇",lineVerticalDashed2:"┊",lineVerticalDashed3:"┋",lineVerticalDashed4:"╎",lineVerticalDashed5:"╏",lineVerticalDashed6:"╵",lineVerticalDashed7:"╷",lineVerticalDashed8:"╹",lineVerticalDashed9:"╻",lineVerticalDashed10:"╽",lineVerticalDashed11:"╿",lineDownLeft:"┐",lineDownLeftArc:"╮",lineDownBoldLeftBold:"┓",lineDownBoldLeft:"┒",lineDownLeftBold:"┑",lineDownDoubleLeftDouble:"╗",lineDownDoubleLeft:"╖",lineDownLeftDouble:"╕",lineDownRight:"┌",lineDownRightArc:"╭",lineDownBoldRightBold:"┏",lineDownBoldRight:"┎",lineDownRightBold:"┍",lineDownDoubleRightDouble:"╔",lineDownDoubleRight:"╓",lineDownRightDouble:"╒",lineUpLeft:"┘",lineUpLeftArc:"╯",lineUpBoldLeftBold:"┛",lineUpBoldLeft:"┚",lineUpLeftBold:"┙",lineUpDoubleLeftDouble:"╝",lineUpDoubleLeft:"╜",lineUpLeftDouble:"╛",lineUpRight:"└",lineUpRightArc:"╰",lineUpBoldRightBold:"┗",lineUpBoldRight:"┖",lineUpRightBold:"┕",lineUpDoubleRightDouble:"╚",lineUpDoubleRight:"╙",lineUpRightDouble:"╘",lineUpDownLeft:"┤",lineUpBoldDownBoldLeftBold:"┫",lineUpBoldDownBoldLeft:"┨",lineUpDownLeftBold:"┥",lineUpBoldDownLeftBold:"┩",lineUpDownBoldLeftBold:"┪",lineUpDownBoldLeft:"┧",lineUpBoldDownLeft:"┦",lineUpDoubleDownDoubleLeftDouble:"╣",lineUpDoubleDownDoubleLeft:"╢",lineUpDownLeftDouble:"╡",lineUpDownRight:"├",lineUpBoldDownBoldRightBold:"┣",lineUpBoldDownBoldRight:"┠",lineUpDownRightBold:"┝",lineUpBoldDownRightBold:"┡",lineUpDownBoldRightBold:"┢",lineUpDownBoldRight:"┟",lineUpBoldDownRight:"┞",lineUpDoubleDownDoubleRightDouble:"╠",lineUpDoubleDownDoubleRight:"╟",lineUpDownRightDouble:"╞",lineDownLeftRight:"┬",lineDownBoldLeftBoldRightBold:"┳",lineDownLeftBoldRightBold:"┯",lineDownBoldLeftRight:"┰",lineDownBoldLeftBoldRight:"┱",lineDownBoldLeftRightBold:"┲",lineDownLeftRightBold:"┮",lineDownLeftBoldRight:"┭",lineDownDoubleLeftDoubleRightDouble:"╦",lineDownDoubleLeftRight:"╥",lineDownLeftDoubleRightDouble:"╤",lineUpLeftRight:"┴",lineUpBoldLeftBoldRightBold:"┻",lineUpLeftBoldRightBold:"┷",lineUpBoldLeftRight:"┸",lineUpBoldLeftBoldRight:"┹",lineUpBoldLeftRightBold:"┺",lineUpLeftRightBold:"┶",lineUpLeftBoldRight:"┵",lineUpDoubleLeftDoubleRightDouble:"╩",lineUpDoubleLeftRight:"╨",lineUpLeftDoubleRightDouble:"╧",lineUpDownLeftRight:"┼",lineUpBoldDownBoldLeftBoldRightBold:"╋",lineUpDownBoldLeftBoldRightBold:"╈",lineUpBoldDownLeftBoldRightBold:"╇",lineUpBoldDownBoldLeftRightBold:"╊",lineUpBoldDownBoldLeftBoldRight:"╉",lineUpBoldDownLeftRight:"╀",lineUpDownBoldLeftRight:"╁",lineUpDownLeftBoldRight:"┽",lineUpDownLeftRightBold:"┾",lineUpBoldDownBoldLeftRight:"╂",lineUpDownLeftBoldRightBold:"┿",lineUpBoldDownLeftBoldRight:"╃",lineUpBoldDownLeftRightBold:"╄",lineUpDownBoldLeftBoldRight:"╅",lineUpDownBoldLeftRightBold:"╆",lineUpDoubleDownDoubleLeftDoubleRightDouble:"╬",lineUpDoubleDownDoubleLeftRight:"╫",lineUpDownLeftDoubleRightDouble:"╪",lineCross:"╳",lineBackslash:"╲",lineSlash:"╱"};const U={tick:"✔",info:"ℹ",warning:"⚠",cross:"✘",squareSmall:"◻",squareSmallFilled:"◼",circle:"◯",circleFilled:"◉",circleDotted:"◌",circleDouble:"◎",circleCircle:"ⓞ",circleCross:"ⓧ",circlePipe:"Ⓘ",radioOn:"◉",radioOff:"◯",checkboxOn:"☒",checkboxOff:"☐",checkboxCircleOn:"ⓧ",checkboxCircleOff:"Ⓘ",pointer:"❯",triangleUpOutline:"△",triangleLeft:"◀",triangleRight:"▶",lozenge:"◆",lozengeOutline:"◇",hamburger:"☰",smiley:"㋡",mustache:"෴",star:"★",play:"▶",nodejs:"⬢",oneSeventh:"⅐",oneNinth:"⅑",oneTenth:"⅒"};const L={tick:"√",info:"i",warning:"‼",cross:"×",squareSmall:"□",squareSmallFilled:"■",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(○)",circleCross:"(×)",circlePipe:"(│)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[×]",checkboxOff:"[ ]",checkboxCircleOn:"(×)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"∆",triangleLeft:"◄",triangleRight:"►",lozenge:"♦",lozengeOutline:"◊",hamburger:"≡",smiley:"☺",mustache:"┌─┐",star:"✶",play:"►",nodejs:"♦",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"};const M={..._,...U};const P={..._,...L};const G=isUnicodeSupported();const x=G?M:P;const O=x;const H=Object.entries(U);const replaceSymbols=(r,{useFallback:A=!G}={})=>{if(A){for(const[A,s]of H){r=r.replaceAll(s,P[A])}}return r};const Y=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:tty");const J=Y?.WriteStream?.prototype?.hasColors?.()??false;const format=(r,A)=>{if(!J){return r=>r}const s=`[${r}m`;const n=`[${A}m`;return r=>{const A=r+"";let a=A.indexOf(n);if(a===-1){return s+A+n}let u=s;let l=0;while(a!==-1){u+=A.slice(l,a)+s;l=a+n.length;a=A.indexOf(n,l)}u+=A.slice(l)+n;return u}};const V=format(0,0);const W=format(1,22);const q=format(2,22);const j=format(3,23);const K=format(4,24);const $=format(53,55);const z=format(7,27);const Z=format(8,28);const X=format(9,29);const ee=format(30,39);const te=format(31,39);const re=format(32,39);const Ae=format(33,39);const se=format(34,39);const ne=format(35,39);const oe=format(36,39);const ie=format(37,39);const ae=format(90,39);const ce=format(40,49);const ue=format(41,49);const le=format(42,49);const ge=format(43,49);const he=format(44,49);const Ee=format(45,49);const de=format(46,49);const pe=format(47,49);const fe=format(100,49);const Ce=format(91,39);const Be=format(92,39);const Qe=format(93,39);const Ie=format(94,39);const me=format(95,39);const ye=format(96,39);const we=format(97,39);const De=format(101,49);const be=format(102,49);const Re=format(103,49);const Se=format(104,49);const ke=format(105,49);const Fe=format(106,49);const Te=format(107,49);const defaultVerboseFunction=({type:r,message:A,timestamp:s,piped:n,commandId:a,result:{failed:u=false}={},options:{reject:l=true}})=>{const g=serializeTimestamp(s);const E=Ne[r]({failed:u,reject:l,piped:n});const d=ve[r]({reject:l});return`${ae(`[${g}]`)} ${ae(`[${a}]`)} ${d(E)} ${d(A)}`};const serializeTimestamp=r=>`${padField(r.getHours(),2)}:${padField(r.getMinutes(),2)}:${padField(r.getSeconds(),2)}.${padField(r.getMilliseconds(),3)}`;const padField=(r,A)=>String(r).padStart(A,"0");const getFinalIcon=({failed:r,reject:A})=>{if(!r){return O.tick}return A?O.cross:O.warning};const Ne={command:({piped:r})=>r?"|":"$",output:()=>" ",ipc:()=>"*",error:getFinalIcon,duration:getFinalIcon};const identity=r=>r;const ve={command:()=>W,output:()=>identity,ipc:()=>identity,error:({reject:r})=>r?Ce:Qe,duration:()=>ae};const applyVerboseOnLines=(r,A,s)=>{const n=getVerboseFunction(A,s);return r.map((({verboseLine:r,verboseObject:A})=>applyVerboseFunction(r,A,n))).filter((r=>r!==undefined)).map((r=>appendNewline(r))).join("")};const applyVerboseFunction=(r,A,s)=>{if(s===undefined){return r}const n=s(r,A);if(typeof n==="string"){return n}};const appendNewline=r=>r.endsWith("\n")?r:`${r}\n`;const verboseLog=({type:r,verboseMessage:A,fdNumber:s,verboseInfo:n,result:a})=>{const u=getVerboseObject({type:r,result:a,verboseInfo:n});const l=getPrintedLines(A,u);const g=applyVerboseOnLines(l,n,s);if(g!==""){console.warn(g.slice(0,-1))}};const getVerboseObject=({type:r,result:A,verboseInfo:{escapedCommand:s,commandId:n,rawOptions:{piped:a=false,...u}}})=>({type:r,escapedCommand:s,commandId:`${n}`,timestamp:new Date,piped:a,result:A,options:u});const getPrintedLines=(r,A)=>r.split("\n").map((r=>getPrintedLine({...A,message:r})));const getPrintedLine=r=>{const A=defaultVerboseFunction(r);return{verboseLine:A,verboseObject:r}};const serializeVerboseMessage=r=>{const A=typeof r==="string"?r:(0,I.inspect)(r);const s=escapeLines(A);return s.replaceAll("\t"," ".repeat(_e))};const _e=2;const logCommand=(r,A)=>{if(!isVerbose(A)){return}verboseLog({type:"command",verboseMessage:r,verboseInfo:A})};const getVerboseInfo=(r,A,s)=>{validateVerbose(r);const n=getCommandId(r);return{verbose:r,escapedCommand:A,commandId:n,rawOptions:s}};const getCommandId=r=>isVerbose({verbose:r})?Ue++:undefined;let Ue=0n;const validateVerbose=r=>{for(const A of r){if(A===false){throw new TypeError('The "verbose: false" option was renamed to "verbose: \'none\'".')}if(A===true){throw new TypeError('The "verbose: true" option was renamed to "verbose: \'short\'".')}if(!k.includes(A)&&!isVerboseFunction(A)){const r=k.map((r=>`'${r}'`)).join(", ");throw new TypeError(`The "verbose" option must not be ${A}. Allowed values are: ${r} or a function.`)}}};const getStartTime=()=>m.hrtime.bigint();const getDurationMs=r=>Number(m.hrtime.bigint()-r)/1e6;const handleCommand=(r,A,s)=>{const n=getStartTime();const{command:a,escapedCommand:u}=joinCommand(r,A);const l=normalizeFdSpecificOption(s,"verbose");const g=getVerboseInfo(l,u,{...s});logCommand(u,g);return{command:a,escapedCommand:u,startTime:n,verboseInfo:g}};var Le=s(4791);function pathKey(r={}){const{env:A=process.env,platform:s=process.platform}=r;if(s!=="win32"){return"PATH"}return Object.keys(A).reverse().find((r=>r.toUpperCase()==="PATH"))||"Path"}const Me=(0,I.promisify)(g.execFile);function toPath(r){return r instanceof URL?(0,l.fileURLToPath)(r):r}function rootDirectory(r){return path.parse(toPath(r)).root}function traversePathUp(r){return{*[Symbol.iterator](){let A=a.resolve(toPath(r));let s;while(s!==A){yield A;s=A;A=a.resolve(A,"..")}}}}const Pe=null&&10*1024*1024;async function execFile(r,A,s={}){return Me(r,A,{maxBuffer:Pe,...s})}function execFileSync(r,A=[],s={}){return execFileSyncOriginal(r,A,{maxBuffer:Pe,encoding:"utf8",stdio:"pipe",...s})}const npmRunPath=({cwd:r=m.cwd(),path:A=m.env[pathKey()],preferLocal:s=true,execPath:n=m.execPath,addExecPath:u=true}={})=>{const l=a.resolve(toPath(r));const g=[];const E=A.split(a.delimiter);if(s){applyPreferLocal(g,E,l)}if(u){applyExecPath(g,E,n,l)}return A===""||A===a.delimiter?`${g.join(a.delimiter)}${A}`:[...g,A].join(a.delimiter)};const applyPreferLocal=(r,A,s)=>{for(const n of traversePathUp(s)){const s=a.join(n,"node_modules/.bin");if(!A.includes(s)){r.push(s)}}};const applyExecPath=(r,A,s,n)=>{const u=a.resolve(n,toPath(s),"..");if(!A.includes(u)){r.push(u)}};const npmRunPathEnv=({env:r=m.env,...A}={})=>{r={...r};const s=pathKey({env:r});A.path=r[s];r[s]=npmRunPath(A);return r};const Ge=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:timers/promises");const getFinalError=(r,A,s)=>{const n=s?ExecaSyncError:ExecaError;const a=r instanceof DiscardedError?{}:{cause:r};return new n(A,a)};class DiscardedError extends Error{}const setErrorName=(r,A)=>{Object.defineProperty(r.prototype,"name",{value:A,writable:true,enumerable:false,configurable:true});Object.defineProperty(r.prototype,xe,{value:true,writable:false,enumerable:false,configurable:false})};const isExecaError=r=>isErrorInstance(r)&&xe in r;const xe=Symbol("isExecaError");const isErrorInstance=r=>Object.prototype.toString.call(r)==="[object Error]";class ExecaError extends Error{}setErrorName(ExecaError,ExecaError.name);class ExecaSyncError extends Error{}setErrorName(ExecaSyncError,ExecaSyncError.name);const Oe=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:os");const getRealtimeSignals=()=>{const r=Ye-He+1;return Array.from({length:r},getRealtimeSignal)};const getRealtimeSignal=(r,A)=>({name:`SIGRT${A+1}`,number:He+A,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"});const He=34;const Ye=64;const Je=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:true},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:true},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:true},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];const getSignals=()=>{const r=getRealtimeSignals();const A=[...Je,...r].map(normalizeSignal);return A};const normalizeSignal=({name:r,number:A,description:s,action:n,forced:a=false,standard:u})=>{const{signals:{[r]:l}}=Oe.constants;const g=l!==undefined;const E=g?l:A;return{name:r,number:E,description:s,supported:g,action:n,forced:a,standard:u}};const getSignalsByName=()=>{const r=getSignals();return Object.fromEntries(r.map(getSignalByName))};const getSignalByName=({name:r,number:A,description:s,supported:n,action:a,forced:u,standard:l})=>[r,{name:r,number:A,description:s,supported:n,action:a,forced:u,standard:l}];const Ve=getSignalsByName();const getSignalsByNumber=()=>{const r=getSignals();const A=Ye+1;const s=Array.from({length:A},((A,s)=>getSignalByNumber(s,r)));return Object.assign({},...s)};const getSignalByNumber=(r,A)=>{const s=findSignalByNumber(r,A);if(s===undefined){return{}}const{name:n,description:a,supported:u,action:l,forced:g,standard:E}=s;return{[r]:{name:n,number:r,description:a,supported:u,action:l,forced:g,standard:E}}};const findSignalByNumber=(r,A)=>{const s=A.find((({name:A})=>Oe.constants.signals[A]===r));if(s!==undefined){return s}return A.find((A=>A.number===r))};const We=getSignalsByNumber();const normalizeKillSignal=r=>{const A="option `killSignal`";if(r===0){throw new TypeError(`Invalid ${A}: 0 cannot be used.`)}return signal_normalizeSignal(r,A)};const normalizeSignalArgument=r=>r===0?r:signal_normalizeSignal(r,"`subprocess.kill()`'s argument");const signal_normalizeSignal=(r,A)=>{if(Number.isInteger(r)){return normalizeSignalInteger(r,A)}if(typeof r==="string"){return normalizeSignalName(r,A)}throw new TypeError(`Invalid ${A} ${String(r)}: it must be a string or an integer.\n${getAvailableSignals()}`)};const normalizeSignalInteger=(r,A)=>{if(qe.has(r)){return qe.get(r)}throw new TypeError(`Invalid ${A} ${r}: this signal integer does not exist.\n${getAvailableSignals()}`)};const getSignalsIntegerToName=()=>new Map(Object.entries(Oe.constants.signals).reverse().map((([r,A])=>[A,r])));const qe=getSignalsIntegerToName();const normalizeSignalName=(r,A)=>{if(r in Oe.constants.signals){return r}if(r.toUpperCase()in Oe.constants.signals){throw new TypeError(`Invalid ${A} '${r}': please rename it to '${r.toUpperCase()}'.`)}throw new TypeError(`Invalid ${A} '${r}': this signal name does not exist.\n${getAvailableSignals()}`)};const getAvailableSignals=()=>`Available signal names: ${getAvailableSignalNames()}.\nAvailable signal numbers: ${getAvailableSignalIntegers()}.`;const getAvailableSignalNames=()=>Object.keys(Oe.constants.signals).sort().map((r=>`'${r}'`)).join(", ");const getAvailableSignalIntegers=()=>[...new Set(Object.values(Oe.constants.signals).sort(((r,A)=>r-A)))].join(", ");const getSignalDescription=r=>Ve[r].description;const normalizeForceKillAfterDelay=r=>{if(r===false){return r}if(r===true){return je}if(!Number.isFinite(r)||r<0){throw new TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${r}\` (${typeof r})`)}return r};const je=1e3*5;const subprocessKill=({kill:r,options:{forceKillAfterDelay:A,killSignal:s},onInternalError:n,context:a,controller:u},l,g)=>{const{signal:E,error:d}=parseKillArguments(l,g,s);emitKillError(d,n);const p=r(E);setKillTimeout({kill:r,signal:E,forceKillAfterDelay:A,killSignal:s,killResult:p,context:a,controller:u});return p};const parseKillArguments=(r,A,s)=>{const[n=s,a]=isErrorInstance(r)?[undefined,r]:[r,A];if(typeof n!=="string"&&!Number.isInteger(n)){throw new TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(n)}`)}if(a!==undefined&&!isErrorInstance(a)){throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${a}`)}return{signal:normalizeSignalArgument(n),error:a}};const emitKillError=(r,A)=>{if(r!==undefined){A.reject(r)}};const setKillTimeout=async({kill:r,signal:A,forceKillAfterDelay:s,killSignal:n,killResult:a,context:u,controller:l})=>{if(A===n&&a){killOnTimeout({kill:r,forceKillAfterDelay:s,context:u,controllerSignal:l.signal})}};const killOnTimeout=async({kill:r,forceKillAfterDelay:A,context:s,controllerSignal:n})=>{if(A===false){return}try{await(0,Ge.setTimeout)(A,undefined,{signal:n});if(r("SIGKILL")){s.isForcefullyTerminated??=true}}catch{}};var Ke=s(8474);const onAbortedSignal=async(r,A)=>{if(!r.aborted){await(0,Ke.once)(r,"abort",{signal:A})}};const validateCancelSignal=({cancelSignal:r})=>{if(r!==undefined&&Object.prototype.toString.call(r)!=="[object AbortSignal]"){throw new Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(r)}`)}};const throwOnCancel=({subprocess:r,cancelSignal:A,gracefulCancel:s,context:n,controller:a})=>A===undefined||s?[]:[terminateOnCancel(r,A,n,a)];const terminateOnCancel=async(r,A,s,{signal:n})=>{await onAbortedSignal(A,n);s.terminationReason??="cancel";r.kill();throw A.reason};const validateIpcMethod=({methodName:r,isSubprocess:A,ipc:s,isConnected:n})=>{validateIpcOption(r,A,s);validateConnection(r,A,n)};const validateIpcOption=(r,A,s)=>{if(!s){throw new Error(`${getMethodName(r,A)} can only be used if the \`ipc\` option is \`true\`.`)}};const validateConnection=(r,A,s)=>{if(!s){throw new Error(`${getMethodName(r,A)} cannot be used: the ${getOtherProcessName(A)} has already exited or disconnected.`)}};const throwOnEarlyDisconnect=r=>{throw new Error(`${getMethodName("getOneMessage",r)} could not complete: the ${getOtherProcessName(r)} exited or disconnected.`)};const throwOnStrictDeadlockError=r=>{throw new Error(`${getMethodName("sendMessage",r)} failed: the ${getOtherProcessName(r)} is sending a message too, instead of listening to incoming messages.\nThis can be fixed by both sending a message and listening to incoming messages at the same time:\n\nconst [receivedMessage] = await Promise.all([\n\t${getMethodName("getOneMessage",r)},\n\t${getMethodName("sendMessage",r,"message, {strict: true}")},\n]);`)};const getStrictResponseError=(r,A)=>new Error(`${getMethodName("sendMessage",A)} failed when sending an acknowledgment response to the ${getOtherProcessName(A)}.`,{cause:r});const throwOnMissingStrict=r=>{throw new Error(`${getMethodName("sendMessage",r)} failed: the ${getOtherProcessName(r)} is not listening to incoming messages.`)};const throwOnStrictDisconnect=r=>{throw new Error(`${getMethodName("sendMessage",r)} failed: the ${getOtherProcessName(r)} exited without listening to incoming messages.`)};const getAbortDisconnectError=()=>new Error(`\`cancelSignal\` aborted: the ${getOtherProcessName(true)} disconnected.`);const throwOnMissingParent=()=>{throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")};const handleEpipeError=({error:r,methodName:A,isSubprocess:s})=>{if(r.code==="EPIPE"){throw new Error(`${getMethodName(A,s)} cannot be used: the ${getOtherProcessName(s)} is disconnecting.`,{cause:r})}};const handleSerializationError=({error:r,methodName:A,isSubprocess:s,message:n})=>{if(isSerializationError(r)){throw new Error(`${getMethodName(A,s)}'s argument type is invalid: the message cannot be serialized: ${String(n)}.`,{cause:r})}};const isSerializationError=({code:r,message:A})=>$e.has(r)||ze.some((r=>A.includes(r)));const $e=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]);const ze=["could not be cloned","circular structure","call stack size exceeded"];const getMethodName=(r,A,s="")=>r==="cancelSignal"?"`cancelSignal`'s `controller.abort()`":`${getNamespaceName(A)}${r}(${s})`;const getNamespaceName=r=>r?"":"subprocess.";const getOtherProcessName=r=>r?"parent process":"subprocess";const disconnect=r=>{if(r.connected){r.disconnect()}};const createDeferred=()=>{const r={};const A=new Promise(((A,s)=>{Object.assign(r,{resolve:A,reject:s})}));return Object.assign(A,r)};const getToStream=(r,A="stdin")=>{const s=true;const{options:n,fileDescriptors:a}=Ze.get(r);const u=getFdNumber(a,A,s);const l=r.stdio[u];if(l===null){throw new TypeError(getInvalidStdioOptionMessage(u,A,n,s))}return l};const getFromStream=(r,A="stdout")=>{const s=false;const{options:n,fileDescriptors:a}=Ze.get(r);const u=getFdNumber(a,A,s);const l=u==="all"?r.all:r.stdio[u];if(l===null||l===undefined){throw new TypeError(getInvalidStdioOptionMessage(u,A,n,s))}return l};const Ze=new WeakMap;const getFdNumber=(r,A,s)=>{const n=parseFdNumber(A,s);validateFdNumber(n,A,s,r);return n};const parseFdNumber=(r,A)=>{const s=parseFd(r);if(s!==undefined){return s}const{validOptions:n,defaultValue:a}=A?{validOptions:'"stdin"',defaultValue:"stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw new TypeError(`"${getOptionName(A)}" must not be "${r}".\nIt must be ${n} or "fd3", "fd4" (and so on).\nIt is optional and defaults to "${a}".`)};const validateFdNumber=(r,A,s,n)=>{const a=n[getUsedDescriptor(r)];if(a===undefined){throw new TypeError(`"${getOptionName(s)}" must not be ${A}. That file descriptor does not exist.\nPlease set the "stdio" option to ensure that file descriptor exists.`)}if(a.direction==="input"&&!s){throw new TypeError(`"${getOptionName(s)}" must not be ${A}. It must be a readable stream, not writable.`)}if(a.direction!=="input"&&s){throw new TypeError(`"${getOptionName(s)}" must not be ${A}. It must be a writable stream, not readable.`)}};const getInvalidStdioOptionMessage=(r,A,s,n)=>{if(r==="all"&&!s.all){return'The "all" option must be true to use "from: \'all\'".'}const{optionName:a,optionValue:u}=getInvalidStdioOption(r,s);return`The "${a}: ${serializeOptionValue(u)}" option is incompatible with using "${getOptionName(n)}: ${serializeOptionValue(A)}".\nPlease set this option with "pipe" instead.`};const getInvalidStdioOption=(r,{stdin:A,stdout:s,stderr:n,stdio:a})=>{const u=getUsedDescriptor(r);if(u===0&&A!==undefined){return{optionName:"stdin",optionValue:A}}if(u===1&&s!==undefined){return{optionName:"stdout",optionValue:s}}if(u===2&&n!==undefined){return{optionName:"stderr",optionValue:n}}return{optionName:`stdio[${u}]`,optionValue:a[u]}};const getUsedDescriptor=r=>r==="all"?1:r;const getOptionName=r=>r?"to":"from";const serializeOptionValue=r=>{if(typeof r==="string"){return`'${r}'`}return typeof r==="number"?`${r}`:"Stream"};const incrementMaxListeners=(r,A,s)=>{const n=r.getMaxListeners();if(n===0||n===Number.POSITIVE_INFINITY){return}r.setMaxListeners(n+A);(0,Ke.addAbortListener)(s,(()=>{r.setMaxListeners(r.getMaxListeners()-A)}))};const addReference=(r,A)=>{if(A){addReferenceCount(r)}};const addReferenceCount=r=>{r.refCounted()};const removeReference=(r,A)=>{if(A){removeReferenceCount(r)}};const removeReferenceCount=r=>{r.unrefCounted()};const undoAddedReferences=(r,A)=>{if(A){removeReferenceCount(r);removeReferenceCount(r)}};const redoAddedReferences=(r,A)=>{if(A){addReferenceCount(r);addReferenceCount(r)}};const onMessage=async({anyProcess:r,channel:A,isSubprocess:s,ipcEmitter:n},a)=>{if(handleStrictResponse(a)||handleAbort(a)){return}if(!Xe.has(r)){Xe.set(r,[])}const u=Xe.get(r);u.push(a);if(u.length>1){return}while(u.length>0){await waitForOutgoingMessages(r,n,a);await Ge.scheduler.yield();const l=await handleStrictRequest({wrappedMessage:u[0],anyProcess:r,channel:A,isSubprocess:s,ipcEmitter:n});u.shift();n.emit("message",l);n.emit("message:done")}};const onDisconnect=async({anyProcess:r,channel:A,isSubprocess:s,ipcEmitter:n,boundOnMessage:a})=>{abortOnDisconnect();const u=Xe.get(r);while(u?.length>0){await(0,Ke.once)(n,"message:done")}r.removeListener("message",a);redoAddedReferences(A,s);n.connected=false;n.emit("disconnect")};const Xe=new WeakMap;const getIpcEmitter=(r,A,s)=>{if(et.has(r)){return et.get(r)}const n=new Ke.EventEmitter;n.connected=true;et.set(r,n);forwardEvents({ipcEmitter:n,anyProcess:r,channel:A,isSubprocess:s});return n};const et=new WeakMap;const forwardEvents=({ipcEmitter:r,anyProcess:A,channel:s,isSubprocess:n})=>{const a=onMessage.bind(undefined,{anyProcess:A,channel:s,isSubprocess:n,ipcEmitter:r});A.on("message",a);A.once("disconnect",onDisconnect.bind(undefined,{anyProcess:A,channel:s,isSubprocess:n,ipcEmitter:r,boundOnMessage:a}));undoAddedReferences(s,n)};const isConnected=r=>{const A=et.get(r);return A===undefined?r.channel!==null:A.connected};const handleSendStrict=({anyProcess:r,channel:A,isSubprocess:s,message:n,strict:a})=>{if(!a){return n}const u=getIpcEmitter(r,A,s);const l=hasMessageListeners(r,u);return{id:tt++,type:At,message:n,hasListeners:l}};let tt=0n;const validateStrictDeadlock=(r,A)=>{if(A?.type!==At||A.hasListeners){return}for(const{id:A}of r){if(A!==undefined){rt[A].resolve({isDeadlock:true,hasListeners:false})}}};const handleStrictRequest=async({wrappedMessage:r,anyProcess:A,channel:s,isSubprocess:n,ipcEmitter:a})=>{if(r?.type!==At||!A.connected){return r}const{id:u,message:l}=r;const g={id:u,type:st,message:hasMessageListeners(A,a)};try{await sendMessage({anyProcess:A,channel:s,isSubprocess:n,ipc:true},g)}catch(r){a.emit("strict:error",r)}return l};const handleStrictResponse=r=>{if(r?.type!==st){return false}const{id:A,message:s}=r;rt[A]?.resolve({isDeadlock:false,hasListeners:s});return true};const waitForStrictResponse=async(r,A,s)=>{if(r?.type!==At){return}const n=createDeferred();rt[r.id]=n;const a=new AbortController;try{const{isDeadlock:r,hasListeners:u}=await Promise.race([n,throwOnDisconnect(A,s,a)]);if(r){throwOnStrictDeadlockError(s)}if(!u){throwOnMissingStrict(s)}}finally{a.abort();delete rt[r.id]}};const rt={};const throwOnDisconnect=async(r,A,{signal:s})=>{incrementMaxListeners(r,1,s);await(0,Ke.once)(r,"disconnect",{signal:s});throwOnStrictDisconnect(A)};const At="execa:ipc:request";const st="execa:ipc:response";const startSendMessage=(r,A,s)=>{if(!nt.has(r)){nt.set(r,new Set)}const n=nt.get(r);const a=createDeferred();const u=s?A.id:undefined;const l={onMessageSent:a,id:u};n.add(l);return{outgoingMessages:n,outgoingMessage:l}};const endSendMessage=({outgoingMessages:r,outgoingMessage:A})=>{r.delete(A);A.onMessageSent.resolve()};const waitForOutgoingMessages=async(r,A,s)=>{while(!hasMessageListeners(r,A)&&nt.get(r)?.size>0){const A=[...nt.get(r)];validateStrictDeadlock(A,s);await Promise.all(A.map((({onMessageSent:r})=>r)))}};const nt=new WeakMap;const hasMessageListeners=(r,A)=>A.listenerCount("message")>getMinListenerCount(r);const getMinListenerCount=r=>Ze.has(r)&&!getFdSpecificValue(Ze.get(r).options.buffer,"ipc")?1:0;const sendMessage=({anyProcess:r,channel:A,isSubprocess:s,ipc:n},a,{strict:u=false}={})=>{const l="sendMessage";validateIpcMethod({methodName:l,isSubprocess:s,ipc:n,isConnected:r.connected});return sendMessageAsync({anyProcess:r,channel:A,methodName:l,isSubprocess:s,message:a,strict:u})};const sendMessageAsync=async({anyProcess:r,channel:A,methodName:s,isSubprocess:n,message:a,strict:u})=>{const l=handleSendStrict({anyProcess:r,channel:A,isSubprocess:n,message:a,strict:u});const g=startSendMessage(r,l,u);try{await sendOneMessage({anyProcess:r,methodName:s,isSubprocess:n,wrappedMessage:l,message:a})}catch(A){disconnect(r);throw A}finally{endSendMessage(g)}};const sendOneMessage=async({anyProcess:r,methodName:A,isSubprocess:s,wrappedMessage:n,message:a})=>{const u=getSendMethod(r);try{await Promise.all([waitForStrictResponse(n,r,s),u(n)])}catch(r){handleEpipeError({error:r,methodName:A,isSubprocess:s});handleSerializationError({error:r,methodName:A,isSubprocess:s,message:a});throw r}};const getSendMethod=r=>{if(ot.has(r)){return ot.get(r)}const A=(0,I.promisify)(r.send.bind(r));ot.set(r,A);return A};const ot=new WeakMap;const sendAbort=(r,A)=>{const s="cancelSignal";validateConnection(s,false,r.connected);return sendOneMessage({anyProcess:r,methodName:s,isSubprocess:false,wrappedMessage:{type:at,message:A},message:A})};const getCancelSignal=async({anyProcess:r,channel:A,isSubprocess:s,ipc:n})=>{await startIpc({anyProcess:r,channel:A,isSubprocess:s,ipc:n});return ct.signal};const startIpc=async({anyProcess:r,channel:A,isSubprocess:s,ipc:n})=>{if(it){return}it=true;if(!n){throwOnMissingParent();return}if(A===null){abortOnDisconnect();return}getIpcEmitter(r,A,s);await Ge.scheduler.yield()};let it=false;const handleAbort=r=>{if(r?.type!==at){return false}ct.abort(r.message);return true};const at="execa:ipc:cancel";const abortOnDisconnect=()=>{ct.abort(getAbortDisconnectError())};const ct=new AbortController;const validateGracefulCancel=({gracefulCancel:r,cancelSignal:A,ipc:s,serialization:n})=>{if(!r){return}if(A===undefined){throw new Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.")}if(!s){throw new Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.")}if(n==="json"){throw new Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")}};const throwOnGracefulCancel=({subprocess:r,cancelSignal:A,gracefulCancel:s,forceKillAfterDelay:n,context:a,controller:u})=>s?[sendOnAbort({subprocess:r,cancelSignal:A,forceKillAfterDelay:n,context:a,controller:u})]:[];const sendOnAbort=async({subprocess:r,cancelSignal:A,forceKillAfterDelay:s,context:n,controller:{signal:a}})=>{await onAbortedSignal(A,a);const u=getReason(A);await sendAbort(r,u);killOnTimeout({kill:r.kill,forceKillAfterDelay:s,context:n,controllerSignal:a});n.terminationReason??="gracefulCancel";throw A.reason};const getReason=({reason:r})=>{if(!(r instanceof DOMException)){return r}const A=new Error(r.message);Object.defineProperty(A,"stack",{value:r.stack,enumerable:false,configurable:true,writable:true});return A};const validateTimeout=({timeout:r})=>{if(r!==undefined&&(!Number.isFinite(r)||r<0)){throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${r}\` (${typeof r})`)}};const throwOnTimeout=(r,A,s,n)=>A===0||A===undefined?[]:[killAfterTimeout(r,A,s,n)];const killAfterTimeout=async(r,A,s,{signal:n})=>{await(0,Ge.setTimeout)(A,undefined,{signal:n});s.terminationReason??="timeout";r.kill();throw new DiscardedError};const mapNode=({options:r})=>{if(r.node===false){throw new TypeError('The "node" option cannot be false with `execaNode()`.')}return{options:{...r,node:true}}};const handleNodeOption=(r,A,{node:s=false,nodePath:n=m.execPath,nodeOptions:u=m.execArgv.filter((r=>!r.startsWith("--inspect"))),cwd:l,execPath:g,...E})=>{if(g!==undefined){throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.')}const d=safeNormalizeFileUrl(n,'The "nodePath" option');const p=a.resolve(l,d);const C={...E,nodePath:p,node:s,cwd:l};if(!s){return[r,A,C]}if(a.basename(r,".exe")==="node"){throw new TypeError('When the "node" option is true, the first argument does not need to be "node".')}return[p,[...u,r,...A],{ipc:true,...C,shell:false}]};const ut=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:v8");const validateIpcInputOption=({ipcInput:r,ipc:A,serialization:s})=>{if(r===undefined){return}if(!A){throw new Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.")}lt[s](r)};const validateAdvancedInput=r=>{try{(0,ut.serialize)(r)}catch(r){throw new Error("The `ipcInput` option is not serializable with a structured clone.",{cause:r})}};const validateJsonInput=r=>{try{JSON.stringify(r)}catch(r){throw new Error("The `ipcInput` option is not serializable with JSON.",{cause:r})}};const lt={advanced:validateAdvancedInput,json:validateJsonInput};const sendIpcInput=async(r,A)=>{if(A===undefined){return}await r.sendMessage(A)};const validateEncoding=({encoding:r})=>{if(Et.has(r)){return}const A=getCorrectEncoding(r);if(A!==undefined){throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(r)}\`.\nPlease rename it to ${serializeEncoding(A)}.`)}const s=[...Et].map((r=>serializeEncoding(r))).join(", ");throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(r)}\`.\nPlease rename it to one of: ${s}.`)};const gt=new Set(["utf8","utf16le"]);const ht=new Set(["buffer","hex","base64","base64url","latin1","ascii"]);const Et=new Set([...gt,...ht]);const getCorrectEncoding=r=>{if(r===null){return"buffer"}if(typeof r!=="string"){return}const A=r.toLowerCase();if(A in dt){return dt[A]}if(Et.has(A)){return A}};const dt={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"};const serializeEncoding=r=>typeof r==="string"?`"${r}"`:String(r);const normalizeCwd=(r=getDefaultCwd())=>{const A=safeNormalizeFileUrl(r,'The "cwd" option');return a.resolve(A)};const getDefaultCwd=()=>{try{return m.cwd()}catch(r){r.message=`The current directory does not exist.\n${r.message}`;throw r}};const fixCwdError=(r,A)=>{if(A===getDefaultCwd()){return r}let s;try{s=(0,n.statSync)(A)}catch(s){return`The "cwd" option is invalid: ${A}.\n${s.message}\n${r}`}if(!s.isDirectory()){return`The "cwd" option is not a directory: ${A}.\n${r}`}return r};const normalizeOptions=(r,A,s)=>{s.cwd=normalizeCwd(s.cwd);const[n,u,l]=handleNodeOption(r,A,s);const{command:g,args:E,options:d}=Le._parse(n,u,l);const p=normalizeFdSpecificOptions(d);const C=addDefaultOptions(p);validateTimeout(C);validateEncoding(C);validateIpcInputOption(C);validateCancelSignal(C);validateGracefulCancel(C);C.shell=normalizeFileUrl(C.shell);C.env=getEnv(C);C.killSignal=normalizeKillSignal(C.killSignal);C.forceKillAfterDelay=normalizeForceKillAfterDelay(C.forceKillAfterDelay);C.lines=C.lines.map(((r,A)=>r&&!ht.has(C.encoding)&&C.buffer[A]));if(m.platform==="win32"&&a.basename(g,".exe")==="cmd"){E.unshift("/q")}return{file:g,commandArguments:E,options:C}};const addDefaultOptions=({extendEnv:r=true,preferLocal:A=false,cwd:s,localDir:n=s,encoding:a="utf8",reject:u=true,cleanup:l=true,all:g=false,windowsHide:E=true,killSignal:d="SIGTERM",forceKillAfterDelay:p=true,gracefulCancel:C=false,ipcInput:B,ipc:Q=B!==undefined||C,serialization:I="advanced",...m})=>({...m,extendEnv:r,preferLocal:A,cwd:s,localDirectory:n,encoding:a,reject:u,cleanup:l,all:g,windowsHide:E,killSignal:d,forceKillAfterDelay:p,gracefulCancel:C,ipcInput:B,ipc:Q,serialization:I});const getEnv=({env:r,extendEnv:A,preferLocal:s,node:n,localDirectory:a,nodePath:u})=>{const l=A?{...m.env,...r}:r;if(s||n){return npmRunPathEnv({env:l,cwd:a,execPath:u,preferLocal:s,addExecPath:n})}return l};function strip_final_newline_stripFinalNewline(r){if(typeof r==="string"){return stripFinalNewlineString(r)}if(!(ArrayBuffer.isView(r)&&r.BYTES_PER_ELEMENT===1)){throw new Error("Input must be a string or a Uint8Array")}return stripFinalNewlineBinary(r)}const stripFinalNewlineString=r=>r.at(-1)===pt?r.slice(0,r.at(-2)===Ct?-2:-1):r;const stripFinalNewlineBinary=r=>r.at(-1)===ft?r.subarray(0,r.at(-2)===Bt?-2:-1):r;const pt="\n";const ft=pt.codePointAt(0);const Ct="\r";const Bt=Ct.codePointAt(0);function isStream(r,{checkOpen:A=true}={}){return r!==null&&typeof r==="object"&&(r.writable||r.readable||!A||r.writable===undefined&&r.readable===undefined)&&typeof r.pipe==="function"}function isWritableStream(r,{checkOpen:A=true}={}){return isStream(r,{checkOpen:A})&&(r.writable||!A)&&typeof r.write==="function"&&typeof r.end==="function"&&typeof r.writable==="boolean"&&typeof r.writableObjectMode==="boolean"&&typeof r.destroy==="function"&&typeof r.destroyed==="boolean"}function isReadableStream(r,{checkOpen:A=true}={}){return isStream(r,{checkOpen:A})&&(r.readable||!A)&&typeof r.read==="function"&&typeof r.readable==="boolean"&&typeof r.readableObjectMode==="boolean"&&typeof r.destroy==="function"&&typeof r.destroyed==="boolean"}function isDuplexStream(r,A){return isWritableStream(r,A)&&isReadableStream(r,A)}function isTransformStream(r,A){return isDuplexStream(r,A)&&typeof r._transform==="function"}const Qt=Object.getPrototypeOf(Object.getPrototypeOf((async function*(){})).prototype);class c{#p;#f;#C=!1;#B=void 0;constructor(r,A){this.#p=r,this.#f=A}next(){const e=()=>this.#Q();return this.#B=this.#B?this.#B.then(e,e):e(),this.#B}return(r){const t=()=>this.#I(r);return this.#B?this.#B.then(t,t):t()}async#Q(){if(this.#C)return{done:!0,value:void 0};let r;try{r=await this.#p.read()}catch(r){throw this.#B=void 0,this.#C=!0,this.#p.releaseLock(),r}return r.done&&(this.#B=void 0,this.#C=!0,this.#p.releaseLock()),r}async#I(r){if(this.#C)return{done:!0,value:r};if(this.#C=!0,!this.#f){const A=this.#p.cancel(r);return this.#p.releaseLock(),await A,{done:!0,value:r}}return this.#p.releaseLock(),{done:!0,value:r}}}const It=Symbol();function i(){return this[It].next()}Object.defineProperty(i,"name",{value:"next"});function o(r){return this[It].return(r)}Object.defineProperty(o,"name",{value:"return"});const mt=Object.create(Qt,{next:{enumerable:!0,configurable:!0,writable:!0,value:i},return:{enumerable:!0,configurable:!0,writable:!0,value:o}});function h({preventCancel:r=!1}={}){const A=this.getReader(),s=new c(A,r),n=Object.create(mt);return n[It]=s,n}const getAsyncIterable=r=>{if(isReadableStream(r,{checkOpen:false})&&wt.on!==undefined){return getStreamIterable(r)}if(typeof r?.[Symbol.asyncIterator]==="function"){return r}if(yt.call(r)==="[object ReadableStream]"){return h.call(r)}throw new TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.")};const{toString:yt}=Object.prototype;const getStreamIterable=async function*(r){const A=new AbortController;const s={};handleStreamEnd(r,A,s);try{for await(const[s]of wt.on(r,"data",{signal:A.signal})){yield s}}catch(r){if(s.error!==undefined){throw s.error}else if(!A.signal.aborted){throw r}}finally{r.destroy()}};const handleStreamEnd=async(r,A,s)=>{try{await wt.finished(r,{cleanup:true,readable:true,writable:false,error:false})}catch(r){s.error=r}finally{A.abort()}};const wt={};const getStreamContents=async(r,{init:A,convertChunk:s,getSize:n,truncateChunk:a,addChunk:u,getFinalChunk:l,finalize:g},{maxBuffer:E=Number.POSITIVE_INFINITY}={})=>{const d=getAsyncIterable(r);const p=A();p.length=0;try{for await(const r of d){const A=getChunkType(r);const l=s[A](r,p);appendChunk({convertedChunk:l,state:p,getSize:n,truncateChunk:a,addChunk:u,maxBuffer:E})}appendFinalChunk({state:p,convertChunk:s,getSize:n,truncateChunk:a,addChunk:u,getFinalChunk:l,maxBuffer:E});return g(p)}catch(r){const A=typeof r==="object"&&r!==null?r:new Error(r);A.bufferedData=g(p);throw A}};const appendFinalChunk=({state:r,getSize:A,truncateChunk:s,addChunk:n,getFinalChunk:a,maxBuffer:u})=>{const l=a(r);if(l!==undefined){appendChunk({convertedChunk:l,state:r,getSize:A,truncateChunk:s,addChunk:n,maxBuffer:u})}};const appendChunk=({convertedChunk:r,state:A,getSize:s,truncateChunk:n,addChunk:a,maxBuffer:u})=>{const l=s(r);const g=A.length+l;if(g<=u){addNewChunk(r,A,a,g);return}const E=n(r,u-A.length);if(E!==undefined){addNewChunk(E,A,a,u)}throw new MaxBufferError};const addNewChunk=(r,A,s,n)=>{A.contents=s(r,A,n);A.length=n};const getChunkType=r=>{const A=typeof r;if(A==="string"){return"string"}if(A!=="object"||r===null){return"others"}if(globalThis.Buffer?.isBuffer(r)){return"buffer"}const s=Dt.call(r);if(s==="[object ArrayBuffer]"){return"arrayBuffer"}if(s==="[object DataView]"){return"dataView"}if(Number.isInteger(r.byteLength)&&Number.isInteger(r.byteOffset)&&Dt.call(r.buffer)==="[object ArrayBuffer]"){return"typedArray"}return"others"};const{toString:Dt}=Object.prototype;class MaxBufferError extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}}const handleMaxBuffer=({error:r,stream:A,readableObjectMode:s,lines:n,encoding:a,fdNumber:u})=>{if(!(r instanceof MaxBufferError)){throw r}if(u==="all"){return r}const l=getMaxBufferUnit(s,n,a);r.maxBufferInfo={fdNumber:u,unit:l};A.destroy();throw r};const getMaxBufferUnit=(r,A,s)=>{if(r){return"objects"}if(A){return"lines"}if(s==="buffer"){return"bytes"}return"characters"};const checkIpcMaxBuffer=(r,A,s)=>{if(A.length!==s){return}const n=new MaxBufferError;n.maxBufferInfo={fdNumber:"ipc"};throw n};const getMaxBufferMessage=(r,A)=>{const{streamName:s,threshold:n,unit:a}=getMaxBufferInfo(r,A);return`Command's ${s} was larger than ${n} ${a}`};const getMaxBufferInfo=(r,A)=>{if(r?.maxBufferInfo===undefined){return{streamName:"output",threshold:A[1],unit:"bytes"}}const{maxBufferInfo:{fdNumber:s,unit:n}}=r;delete r.maxBufferInfo;const a=getFdSpecificValue(A,s);if(s==="ipc"){return{streamName:"IPC output",threshold:a,unit:"messages"}}return{streamName:getStreamName(s),threshold:a,unit:n}};const isMaxBufferSync=(r,A,s)=>r?.code==="ENOBUFS"&&A!==null&&A.some((r=>r!==null&&r.length>getMaxBufferSync(s)));const truncateMaxBufferSync=(r,A,s)=>{if(!A){return r}const n=getMaxBufferSync(s);return r.length>n?r.slice(0,n):r};const getMaxBufferSync=([,r])=>r;const createMessages=({stdio:r,all:A,ipcOutput:s,originalError:n,signal:a,signalDescription:u,exitCode:l,escapedCommand:g,timedOut:E,isCanceled:d,isGracefullyCanceled:p,isMaxBuffer:C,isForcefullyTerminated:B,forceKillAfterDelay:Q,killSignal:I,maxBuffer:m,timeout:y,cwd:w})=>{const D=n?.code;const b=getErrorPrefix({originalError:n,timedOut:E,timeout:y,isMaxBuffer:C,maxBuffer:m,errorCode:D,signal:a,signalDescription:u,exitCode:l,isCanceled:d,isGracefullyCanceled:p,isForcefullyTerminated:B,forceKillAfterDelay:Q,killSignal:I});const R=getOriginalMessage(n,w);const S=R===undefined?"":`\n${R}`;const k=`${b}: ${g}${S}`;const F=A===undefined?[r[2],r[1]]:[A];const T=[k,...F,...r.slice(3),s.map((r=>serializeIpcMessage(r))).join("\n")].map((r=>escapeLines(strip_final_newline_stripFinalNewline(serializeMessagePart(r))))).filter(Boolean).join("\n\n");return{originalMessage:R,shortMessage:k,message:T}};const getErrorPrefix=({originalError:r,timedOut:A,timeout:s,isMaxBuffer:n,maxBuffer:a,errorCode:u,signal:l,signalDescription:g,exitCode:E,isCanceled:d,isGracefullyCanceled:p,isForcefullyTerminated:C,forceKillAfterDelay:B,killSignal:Q})=>{const I=getForcefulSuffix(C,B);if(A){return`Command timed out after ${s} milliseconds${I}`}if(p){if(l===undefined){return`Command was gracefully canceled with exit code ${E}`}return C?`Command was gracefully canceled${I}`:`Command was gracefully canceled with ${l} (${g})`}if(d){return`Command was canceled${I}`}if(n){return`${getMaxBufferMessage(r,a)}${I}`}if(u!==undefined){return`Command failed with ${u}${I}`}if(C){return`Command was killed with ${Q} (${getSignalDescription(Q)})${I}`}if(l!==undefined){return`Command was killed with ${l} (${g})`}if(E!==undefined){return`Command failed with exit code ${E}`}return"Command failed"};const getForcefulSuffix=(r,A)=>r?` and was forcefully terminated after ${A} milliseconds`:"";const getOriginalMessage=(r,A)=>{if(r instanceof DiscardedError){return}const s=isExecaError(r)?r.originalMessage:String(r?.message??r);const n=escapeLines(fixCwdError(s,A));return n===""?undefined:n};const serializeIpcMessage=r=>typeof r==="string"?r:(0,I.inspect)(r);const serializeMessagePart=r=>Array.isArray(r)?r.map((r=>strip_final_newline_stripFinalNewline(serializeMessageItem(r)))).filter(Boolean).join("\n"):serializeMessageItem(r);const serializeMessageItem=r=>{if(typeof r==="string"){return r}if(isUint8Array(r)){return uint8ArrayToString(r)}return""};const makeSuccessResult=({command:r,escapedCommand:A,stdio:s,all:n,ipcOutput:a,options:{cwd:u},startTime:l})=>omitUndefinedProperties({command:r,escapedCommand:A,cwd:u,durationMs:getDurationMs(l),failed:false,timedOut:false,isCanceled:false,isGracefullyCanceled:false,isTerminated:false,isMaxBuffer:false,isForcefullyTerminated:false,exitCode:0,stdout:s[1],stderr:s[2],all:n,stdio:s,ipcOutput:a,pipedFrom:[]});const makeEarlyError=({error:r,command:A,escapedCommand:s,fileDescriptors:n,options:a,startTime:u,isSync:l})=>makeError({error:r,command:A,escapedCommand:s,startTime:u,timedOut:false,isCanceled:false,isGracefullyCanceled:false,isMaxBuffer:false,isForcefullyTerminated:false,stdio:Array.from({length:n.length}),ipcOutput:[],options:a,isSync:l});const makeError=({error:r,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isGracefullyCanceled:l,isMaxBuffer:g,isForcefullyTerminated:E,exitCode:d,signal:p,stdio:C,all:B,ipcOutput:Q,options:{timeoutDuration:I,timeout:m=I,forceKillAfterDelay:y,killSignal:w,cwd:D,maxBuffer:b},isSync:R})=>{const{exitCode:S,signal:k,signalDescription:F}=normalizeExitPayload(d,p);const{originalMessage:T,shortMessage:N,message:v}=createMessages({stdio:C,all:B,ipcOutput:Q,originalError:r,signal:k,signalDescription:F,exitCode:S,escapedCommand:s,timedOut:a,isCanceled:u,isGracefullyCanceled:l,isMaxBuffer:g,isForcefullyTerminated:E,forceKillAfterDelay:y,killSignal:w,maxBuffer:b,timeout:m,cwd:D});const _=getFinalError(r,v,R);Object.assign(_,getErrorProperties({error:_,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isGracefullyCanceled:l,isMaxBuffer:g,isForcefullyTerminated:E,exitCode:S,signal:k,signalDescription:F,stdio:C,all:B,ipcOutput:Q,cwd:D,originalMessage:T,shortMessage:N}));return _};const getErrorProperties=({error:r,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isGracefullyCanceled:l,isMaxBuffer:g,isForcefullyTerminated:E,exitCode:d,signal:p,signalDescription:C,stdio:B,all:Q,ipcOutput:I,cwd:m,originalMessage:y,shortMessage:w})=>omitUndefinedProperties({shortMessage:w,originalMessage:y,command:A,escapedCommand:s,cwd:m,durationMs:getDurationMs(n),failed:true,timedOut:a,isCanceled:u,isGracefullyCanceled:l,isTerminated:p!==undefined,isMaxBuffer:g,isForcefullyTerminated:E,exitCode:d,signal:p,signalDescription:C,code:r.cause?.code,stdout:B[1],stderr:B[2],all:Q,stdio:B,ipcOutput:I,pipedFrom:[]});const omitUndefinedProperties=r=>Object.fromEntries(Object.entries(r).filter((([,r])=>r!==undefined)));const normalizeExitPayload=(r,A)=>{const s=r===null?undefined:r;const n=A===null?undefined:A;const a=n===undefined?undefined:getSignalDescription(A);return{exitCode:s,signal:n,signalDescription:a}};const toZeroIfInfinity=r=>Number.isFinite(r)?r:0;function parseNumber(r){return{days:Math.trunc(r/864e5),hours:Math.trunc(r/36e5%24),minutes:Math.trunc(r/6e4%60),seconds:Math.trunc(r/1e3%60),milliseconds:Math.trunc(r%1e3),microseconds:Math.trunc(toZeroIfInfinity(r*1e3)%1e3),nanoseconds:Math.trunc(toZeroIfInfinity(r*1e6)%1e3)}}function parseBigint(r){return{days:r/86400000n,hours:r/3600000n%24n,minutes:r/60000n%60n,seconds:r/1000n%60n,milliseconds:r%1000n,microseconds:0n,nanoseconds:0n}}function parseMilliseconds(r){switch(typeof r){case"number":{if(Number.isFinite(r)){return parseNumber(r)}break}case"bigint":{return parseBigint(r)}}throw new TypeError("Expected a finite number or bigint")}const isZero=r=>r===0||r===0n;const pluralize=(r,A)=>A===1||A===1n?r:`${r}s`;const bt=1e-7;const Rt=24n*60n*60n*1000n;function prettyMilliseconds(r,A){const s=typeof r==="bigint";if(!s&&!Number.isFinite(r)){throw new TypeError("Expected a finite number or bigint")}A={...A};const n=r<0?"-":"";r=r<0?-r:r;if(A.colonNotation){A.compact=false;A.formatSubMilliseconds=false;A.separateMilliseconds=false;A.verbose=false}if(A.compact){A.unitCount=1;A.secondsDecimalDigits=0;A.millisecondsDecimalDigits=0}let a=[];const floorDecimals=(r,A)=>{const s=Math.floor(r*10**A+bt);const n=Math.round(s)/10**A;return n.toFixed(A)};const add=(r,s,n,u)=>{if((a.length===0||!A.colonNotation)&&isZero(r)&&!(A.colonNotation&&n==="m")){return}u??=String(r);if(A.colonNotation){const r=u.includes(".")?u.split(".")[0].length:u.length;const A=a.length>0?2:1;u="0".repeat(Math.max(0,A-r))+u}else{u+=A.verbose?" "+pluralize(s,r):n}a.push(u)};const u=parseMilliseconds(r);const l=BigInt(u.days);if(A.hideYearAndDays){add(BigInt(l)*24n+BigInt(u.hours),"hour","h")}else{if(A.hideYear){add(l,"day","d")}else{add(l/365n,"year","y");add(l%365n,"day","d")}add(Number(u.hours),"hour","h")}add(Number(u.minutes),"minute","m");if(!A.hideSeconds){if(A.separateMilliseconds||A.formatSubMilliseconds||!A.colonNotation&&r<1e3){const r=Number(u.seconds);const s=Number(u.milliseconds);const n=Number(u.microseconds);const a=Number(u.nanoseconds);add(r,"second","s");if(A.formatSubMilliseconds){add(s,"millisecond","ms");add(n,"microsecond","µs");add(a,"nanosecond","ns")}else{const r=s+n/1e3+a/1e6;const u=typeof A.millisecondsDecimalDigits==="number"?A.millisecondsDecimalDigits:0;const l=r>=1?Math.round(r):Math.ceil(r);const g=u?r.toFixed(u):l;add(Number.parseFloat(g),"millisecond","ms",g)}}else{const n=(s?Number(r%Rt):r)/1e3%60;const a=typeof A.secondsDecimalDigits==="number"?A.secondsDecimalDigits:1;const u=floorDecimals(n,a);const l=A.keepDecimalsOnWholeSeconds?u:u.replace(/\.0+$/,"");add(Number.parseFloat(l),"second","s",l)}}if(a.length===0){return n+"0"+(A.verbose?" milliseconds":"ms")}const g=A.colonNotation?":":" ";if(typeof A.unitCount==="number"){a=a.slice(0,Math.max(A.unitCount,1))}return n+a.join(g)}const logError=(r,A)=>{if(r.failed){verboseLog({type:"error",verboseMessage:r.shortMessage,verboseInfo:A,result:r})}};const logResult=(r,A)=>{if(!isVerbose(A)){return}logError(r,A);logDuration(r,A)};const logDuration=(r,A)=>{const s=`(done in ${prettyMilliseconds(r.durationMs)})`;verboseLog({type:"duration",verboseMessage:s,verboseInfo:A,result:r})};const handleResult=(r,A,{reject:s})=>{logResult(r,A);if(r.failed&&s){throw r}return r};const getStdioItemType=(r,A)=>{if(isAsyncGenerator(r)){return"asyncGenerator"}if(isSyncGenerator(r)){return"generator"}if(isUrl(r)){return"fileUrl"}if(isFilePathObject(r)){return"filePath"}if(isWebStream(r)){return"webStream"}if(isStream(r,{checkOpen:false})){return"native"}if(isUint8Array(r)){return"uint8Array"}if(isAsyncIterableObject(r)){return"asyncIterable"}if(isIterableObject(r)){return"iterable"}if(type_isTransformStream(r)){return getTransformStreamType({transform:r},A)}if(isTransformOptions(r)){return getTransformObjectType(r,A)}return"native"};const getTransformObjectType=(r,A)=>{if(isDuplexStream(r.transform,{checkOpen:false})){return getDuplexType(r,A)}if(type_isTransformStream(r.transform)){return getTransformStreamType(r,A)}return getGeneratorObjectType(r,A)};const getDuplexType=(r,A)=>{validateNonGeneratorType(r,A,"Duplex stream");return"duplex"};const getTransformStreamType=(r,A)=>{validateNonGeneratorType(r,A,"web TransformStream");return"webTransform"};const validateNonGeneratorType=({final:r,binary:A,objectMode:s},n,a)=>{checkUndefinedOption(r,`${n}.final`,a);checkUndefinedOption(A,`${n}.binary`,a);checkBooleanOption(s,`${n}.objectMode`)};const checkUndefinedOption=(r,A,s)=>{if(r!==undefined){throw new TypeError(`The \`${A}\` option can only be defined when using a generator, not a ${s}.`)}};const getGeneratorObjectType=({transform:r,final:A,binary:s,objectMode:n},a)=>{if(r!==undefined&&!isGenerator(r)){throw new TypeError(`The \`${a}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`)}if(isDuplexStream(A,{checkOpen:false})){throw new TypeError(`The \`${a}.final\` option must not be a Duplex stream.`)}if(type_isTransformStream(A)){throw new TypeError(`The \`${a}.final\` option must not be a web TransformStream.`)}if(A!==undefined&&!isGenerator(A)){throw new TypeError(`The \`${a}.final\` option must be a generator.`)}checkBooleanOption(s,`${a}.binary`);checkBooleanOption(n,`${a}.objectMode`);return isAsyncGenerator(r)||isAsyncGenerator(A)?"asyncGenerator":"generator"};const checkBooleanOption=(r,A)=>{if(r!==undefined&&typeof r!=="boolean"){throw new TypeError(`The \`${A}\` option must use a boolean.`)}};const isGenerator=r=>isAsyncGenerator(r)||isSyncGenerator(r);const isAsyncGenerator=r=>Object.prototype.toString.call(r)==="[object AsyncGeneratorFunction]";const isSyncGenerator=r=>Object.prototype.toString.call(r)==="[object GeneratorFunction]";const isTransformOptions=r=>isPlainObject(r)&&(r.transform!==undefined||r.final!==undefined);const isUrl=r=>Object.prototype.toString.call(r)==="[object URL]";const isRegularUrl=r=>isUrl(r)&&r.protocol!=="file:";const isFilePathObject=r=>isPlainObject(r)&&Object.keys(r).length>0&&Object.keys(r).every((r=>St.has(r)))&&isFilePathString(r.file);const St=new Set(["file","append"]);const isFilePathString=r=>typeof r==="string";const isUnknownStdioString=(r,A)=>r==="native"&&typeof A==="string"&&!kt.has(A);const kt=new Set(["ipc","ignore","inherit","overlapped","pipe"]);const type_isReadableStream=r=>Object.prototype.toString.call(r)==="[object ReadableStream]";const type_isWritableStream=r=>Object.prototype.toString.call(r)==="[object WritableStream]";const isWebStream=r=>type_isReadableStream(r)||type_isWritableStream(r);const type_isTransformStream=r=>type_isReadableStream(r?.readable)&&type_isWritableStream(r?.writable);const isAsyncIterableObject=r=>isObject(r)&&typeof r[Symbol.asyncIterator]==="function";const isIterableObject=r=>isObject(r)&&typeof r[Symbol.iterator]==="function";const isObject=r=>typeof r==="object"&&r!==null;const Ft=new Set(["generator","asyncGenerator","duplex","webTransform"]);const Tt=new Set(["fileUrl","filePath","fileNumber"]);const Nt=new Set(["fileUrl","filePath"]);const vt=new Set([...Nt,"webStream","nodeStream"]);const _t=new Set(["webTransform","duplex"]);const Ut={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"};const getTransformObjectModes=(r,A,s,n)=>n==="output"?getOutputObjectModes(r,A,s):getInputObjectModes(r,A,s);const getOutputObjectModes=(r,A,s)=>{const n=A!==0&&s[A-1].value.readableObjectMode;const a=r??n;return{writableObjectMode:n,readableObjectMode:a}};const getInputObjectModes=(r,A,s)=>{const n=A===0?r===true:s[A-1].value.readableObjectMode;const a=A!==s.length-1&&(r??n);return{writableObjectMode:n,readableObjectMode:a}};const getFdObjectMode=(r,A)=>{const s=r.findLast((({type:r})=>Ft.has(r)));if(s===undefined){return false}return A==="input"?s.value.writableObjectMode:s.value.readableObjectMode};const normalizeTransforms=(r,A,s,n)=>[...r.filter((({type:r})=>!Ft.has(r))),...getTransforms(r,A,s,n)];const getTransforms=(r,A,s,{encoding:n})=>{const a=r.filter((({type:r})=>Ft.has(r)));const u=Array.from({length:a.length});for(const[r,l]of Object.entries(a)){u[r]=normalizeTransform({stdioItem:l,index:Number(r),newTransforms:u,optionName:A,direction:s,encoding:n})}return sortTransforms(u,s)};const normalizeTransform=({stdioItem:r,stdioItem:{type:A},index:s,newTransforms:n,optionName:a,direction:u,encoding:l})=>{if(A==="duplex"){return normalizeDuplex({stdioItem:r,optionName:a})}if(A==="webTransform"){return normalizeTransformStream({stdioItem:r,index:s,newTransforms:n,direction:u})}return normalizeGenerator({stdioItem:r,index:s,newTransforms:n,direction:u,encoding:l})};const normalizeDuplex=({stdioItem:r,stdioItem:{value:{transform:A,transform:{writableObjectMode:s,readableObjectMode:n},objectMode:a=n}},optionName:u})=>{if(a&&!n){throw new TypeError(`The \`${u}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`)}if(!a&&n){throw new TypeError(`The \`${u}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`)}return{...r,value:{transform:A,writableObjectMode:s,readableObjectMode:n}}};const normalizeTransformStream=({stdioItem:r,stdioItem:{value:A},index:s,newTransforms:n,direction:a})=>{const{transform:u,objectMode:l}=isPlainObject(A)?A:{transform:A};const{writableObjectMode:g,readableObjectMode:E}=getTransformObjectModes(l,s,n,a);return{...r,value:{transform:u,writableObjectMode:g,readableObjectMode:E}}};const normalizeGenerator=({stdioItem:r,stdioItem:{value:A},index:s,newTransforms:n,direction:a,encoding:u})=>{const{transform:l,final:g,binary:E=false,preserveNewlines:d=false,objectMode:p}=isPlainObject(A)?A:{transform:A};const C=E||ht.has(u);const{writableObjectMode:B,readableObjectMode:Q}=getTransformObjectModes(p,s,n,a);return{...r,value:{transform:l,final:g,binary:C,preserveNewlines:d,writableObjectMode:B,readableObjectMode:Q}}};const sortTransforms=(r,A)=>A==="input"?r.reverse():r;const getStreamDirection=(r,A,s)=>{const n=r.map((r=>getStdioItemDirection(r,A)));if(n.includes("input")&&n.includes("output")){throw new TypeError(`The \`${s}\` option must not be an array of both readable and writable values.`)}return n.find(Boolean)??Pt};const getStdioItemDirection=({type:r,value:A},s)=>Lt[s]??Mt[r](A);const Lt=["input","output","output"];const anyDirection=()=>undefined;const alwaysInput=()=>"input";const Mt={generator:anyDirection,asyncGenerator:anyDirection,fileUrl:anyDirection,filePath:anyDirection,iterable:alwaysInput,asyncIterable:alwaysInput,uint8Array:alwaysInput,webStream:r=>type_isWritableStream(r)?"output":"input",nodeStream(r){if(!isReadableStream(r,{checkOpen:false})){return"output"}return isWritableStream(r,{checkOpen:false})?undefined:"input"},webTransform:anyDirection,duplex:anyDirection,native(r){const A=getStandardStreamDirection(r);if(A!==undefined){return A}if(isStream(r,{checkOpen:false})){return Mt.nodeStream(r)}}};const getStandardStreamDirection=r=>{if([0,m.stdin].includes(r)){return"input"}if([1,2,m.stdout,m.stderr].includes(r)){return"output"}};const Pt="output";const normalizeIpcStdioArray=(r,A)=>A&&!r.includes("ipc")?[...r,"ipc"]:r;const normalizeStdioOption=({stdio:r,ipc:A,buffer:s,...n},a,u)=>{const l=getStdioArray(r,n).map(((r,A)=>stdio_option_addDefaultValue(r,A)));return u?normalizeStdioSync(l,s,a):normalizeIpcStdioArray(l,A)};const getStdioArray=(r,A)=>{if(r===undefined){return w.map((r=>A[r]))}if(hasAlias(A)){throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${w.map((r=>`\`${r}\``)).join(", ")}`)}if(typeof r==="string"){return[r,r,r]}if(!Array.isArray(r)){throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof r}\``)}const s=Math.max(r.length,w.length);return Array.from({length:s},((A,s)=>r[s]))};const hasAlias=r=>w.some((A=>r[A]!==undefined));const stdio_option_addDefaultValue=(r,A)=>{if(Array.isArray(r)){return r.map((r=>stdio_option_addDefaultValue(r,A)))}if(r===null||r===undefined){return A>=w.length?"ignore":"pipe"}return r};const normalizeStdioSync=(r,A,s)=>r.map(((r,n)=>!A[n]&&n!==0&&!isFullVerbose(s,n)&&isOutputPipeOnly(r)?"ignore":r));const isOutputPipeOnly=r=>r==="pipe"||Array.isArray(r)&&r.every((r=>r==="pipe"));const handleNativeStream=({stdioItem:r,stdioItem:{type:A},isStdioArray:s,fdNumber:n,direction:a,isSync:u})=>{if(!s||A!=="native"){return r}return u?handleNativeStreamSync({stdioItem:r,fdNumber:n,direction:a}):handleNativeStreamAsync({stdioItem:r,fdNumber:n})};const handleNativeStreamSync=({stdioItem:r,stdioItem:{value:A,optionName:s},fdNumber:n,direction:a})=>{const u=getTargetFd({value:A,optionName:s,fdNumber:n,direction:a});if(u!==undefined){return u}if(isStream(A,{checkOpen:false})){throw new TypeError(`The \`${s}: Stream\` option cannot both be an array and include a stream with synchronous methods.`)}return r};const getTargetFd=({value:r,optionName:A,fdNumber:s,direction:a})=>{const u=getTargetFdNumber(r,s);if(u===undefined){return}if(a==="output"){return{type:"fileNumber",value:u,optionName:A}}if(Y.isatty(u)){throw new TypeError(`The \`${A}: ${serializeOptionValue(r)}\` option is invalid: it cannot be a TTY with synchronous methods.`)}return{type:"uint8Array",value:bufferToUint8Array((0,n.readFileSync)(u)),optionName:A}};const getTargetFdNumber=(r,A)=>{if(r==="inherit"){return A}if(typeof r==="number"){return r}const s=y.indexOf(r);if(s!==-1){return s}};const handleNativeStreamAsync=({stdioItem:r,stdioItem:{value:A,optionName:s},fdNumber:n})=>{if(A==="inherit"){return{type:"nodeStream",value:getStandardStream(n,A,s),optionName:s}}if(typeof A==="number"){return{type:"nodeStream",value:getStandardStream(A,A,s),optionName:s}}if(isStream(A,{checkOpen:false})){return{type:"nodeStream",value:A,optionName:s}}return r};const getStandardStream=(r,A,s)=>{const n=y[r];if(n===undefined){throw new TypeError(`The \`${s}: ${A}\` option is invalid: no such standard stream.`)}return n};const handleInputOptions=({input:r,inputFile:A},s)=>s===0?[...handleInputOption(r),...handleInputFileOption(A)]:[];const handleInputOption=r=>r===undefined?[]:[{type:getInputType(r),value:r,optionName:"input"}];const getInputType=r=>{if(isReadableStream(r,{checkOpen:false})){return"nodeStream"}if(typeof r==="string"){return"string"}if(isUint8Array(r)){return"uint8Array"}throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")};const handleInputFileOption=r=>r===undefined?[]:[{...getInputFileType(r),optionName:"inputFile"}];const getInputFileType=r=>{if(isUrl(r)){return{type:"fileUrl",value:r}}if(isFilePathString(r)){return{type:"filePath",value:{file:r}}}throw new Error("The `inputFile` option must be a file path string or a file URL.")};const filterDuplicates=r=>r.filter(((A,s)=>r.every(((r,n)=>A.value!==r.value||s>=n||A.type==="generator"||A.type==="asyncGenerator"))));const getDuplicateStream=({stdioItem:{type:r,value:A,optionName:s},direction:n,fileDescriptors:a,isSync:u})=>{const l=getOtherStdioItems(a,r);if(l.length===0){return}if(u){validateDuplicateStreamSync({otherStdioItems:l,type:r,value:A,optionName:s,direction:n});return}if(vt.has(r)){return getDuplicateStreamInstance({otherStdioItems:l,type:r,value:A,optionName:s,direction:n})}if(_t.has(r)){validateDuplicateTransform({otherStdioItems:l,type:r,value:A,optionName:s})}};const getOtherStdioItems=(r,A)=>r.flatMap((({direction:r,stdioItems:s})=>s.filter((r=>r.type===A)).map((A=>({...A,direction:r})))));const validateDuplicateStreamSync=({otherStdioItems:r,type:A,value:s,optionName:n,direction:a})=>{if(Nt.has(A)){getDuplicateStreamInstance({otherStdioItems:r,type:A,value:s,optionName:n,direction:a})}};const getDuplicateStreamInstance=({otherStdioItems:r,type:A,value:s,optionName:n,direction:a})=>{const u=r.filter((r=>hasSameValue(r,s)));if(u.length===0){return}const l=u.find((r=>r.direction!==a));throwOnDuplicateStream(l,n,A);return a==="output"?u[0].stream:undefined};const hasSameValue=({type:r,value:A},s)=>{if(r==="filePath"){return A.file===s.file}if(r==="fileUrl"){return A.href===s.href}return A===s};const validateDuplicateTransform=({otherStdioItems:r,type:A,value:s,optionName:n})=>{const a=r.find((({value:{transform:r}})=>r===s.transform));throwOnDuplicateStream(a,n,A)};const throwOnDuplicateStream=(r,A,s)=>{if(r!==undefined){throw new TypeError(`The \`${r.optionName}\` and \`${A}\` options must not target ${Ut[s]} that is the same.`)}};const handleStdio=(r,A,s,n)=>{const a=normalizeStdioOption(A,s,n);const u=a.map(((r,s)=>getFileDescriptor({stdioOption:r,fdNumber:s,options:A,isSync:n})));const l=getFinalFileDescriptors({initialFileDescriptors:u,addProperties:r,options:A,isSync:n});A.stdio=l.map((({stdioItems:r})=>forwardStdio(r)));return l};const getFileDescriptor=({stdioOption:r,fdNumber:A,options:s,isSync:n})=>{const a=getStreamName(A);const{stdioItems:u,isStdioArray:l}=initializeStdioItems({stdioOption:r,fdNumber:A,options:s,optionName:a});const g=getStreamDirection(u,A,a);const E=u.map((r=>handleNativeStream({stdioItem:r,isStdioArray:l,fdNumber:A,direction:g,isSync:n})));const d=normalizeTransforms(E,a,g,s);const p=getFdObjectMode(d,g);validateFileObjectMode(d,p);return{direction:g,objectMode:p,stdioItems:d}};const initializeStdioItems=({stdioOption:r,fdNumber:A,options:s,optionName:n})=>{const a=Array.isArray(r)?r:[r];const u=[...a.map((r=>initializeStdioItem(r,n))),...handleInputOptions(s,A)];const l=filterDuplicates(u);const g=l.length>1;validateStdioArray(l,g,n);validateStreams(l);return{stdioItems:l,isStdioArray:g}};const initializeStdioItem=(r,A)=>({type:getStdioItemType(r,A),value:r,optionName:A});const validateStdioArray=(r,A,s)=>{if(r.length===0){throw new TypeError(`The \`${s}\` option must not be an empty array.`)}if(!A){return}for(const{value:A,optionName:s}of r){if(Gt.has(A)){throw new Error(`The \`${s}\` option must not include \`${A}\`.`)}}};const Gt=new Set(["ignore","ipc"]);const validateStreams=r=>{for(const A of r){validateFileStdio(A)}};const validateFileStdio=({type:r,value:A,optionName:s})=>{if(isRegularUrl(A)){throw new TypeError(`The \`${s}: URL\` option must use the \`file:\` scheme.\nFor example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`)}if(isUnknownStdioString(r,A)){throw new TypeError(`The \`${s}: { file: '...' }\` option must be used instead of \`${s}: '...'\`.`)}};const validateFileObjectMode=(r,A)=>{if(!A){return}const s=r.find((({type:r})=>Tt.has(r)));if(s!==undefined){throw new TypeError(`The \`${s.optionName}\` option cannot use both files and transforms in objectMode.`)}};const getFinalFileDescriptors=({initialFileDescriptors:r,addProperties:A,options:s,isSync:n})=>{const a=[];try{for(const u of r){a.push(getFinalFileDescriptor({fileDescriptor:u,fileDescriptors:a,addProperties:A,options:s,isSync:n}))}return a}catch(r){cleanupCustomStreams(a);throw r}};const getFinalFileDescriptor=({fileDescriptor:{direction:r,objectMode:A,stdioItems:s},fileDescriptors:n,addProperties:a,options:u,isSync:l})=>{const g=s.map((A=>addStreamProperties({stdioItem:A,addProperties:a,direction:r,options:u,fileDescriptors:n,isSync:l})));return{direction:r,objectMode:A,stdioItems:g}};const addStreamProperties=({stdioItem:r,addProperties:A,direction:s,options:n,fileDescriptors:a,isSync:u})=>{const l=getDuplicateStream({stdioItem:r,direction:s,fileDescriptors:a,isSync:u});if(l!==undefined){return{...r,stream:l}}return{...r,...A[s][r.type](r,n)}};const cleanupCustomStreams=r=>{for(const{stdioItems:A}of r){for(const{stream:r}of A){if(r!==undefined&&!isStandardStream(r)){r.destroy()}}}};const forwardStdio=r=>{if(r.length>1){return r.some((({value:r})=>r==="overlapped"))?"overlapped":"pipe"}const[{type:A,value:s}]=r;return A==="native"?s:"pipe"};const handleStdioSync=(r,A)=>handleStdio(Ot,r,A,true);const forbiddenIfSync=({type:r,optionName:A})=>{throwInvalidSyncValue(A,Ut[r])};const forbiddenNativeIfSync=({optionName:r,value:A})=>{if(A==="ipc"||A==="overlapped"){throwInvalidSyncValue(r,`"${A}"`)}return{}};const throwInvalidSyncValue=(r,A)=>{throw new TypeError(`The \`${r}\` option cannot be ${A} with synchronous methods.`)};const xt={generator(){},asyncGenerator:forbiddenIfSync,webStream:forbiddenIfSync,nodeStream:forbiddenIfSync,webTransform:forbiddenIfSync,duplex:forbiddenIfSync,asyncIterable:forbiddenIfSync,native:forbiddenNativeIfSync};const Ot={input:{...xt,fileUrl:({value:r})=>({contents:[bufferToUint8Array((0,n.readFileSync)(r))]}),filePath:({value:{file:r}})=>({contents:[bufferToUint8Array((0,n.readFileSync)(r))]}),fileNumber:forbiddenIfSync,iterable:({value:r})=>({contents:[...r]}),string:({value:r})=>({contents:[r]}),uint8Array:({value:r})=>({contents:[r]})},output:{...xt,fileUrl:({value:r})=>({path:r}),filePath:({value:{file:r,append:A}})=>({path:r,append:A}),fileNumber:({value:r})=>({path:r}),iterable:forbiddenIfSync,string:forbiddenIfSync,uint8Array:forbiddenIfSync}};const stripNewline=(r,{stripFinalNewline:A},s)=>getStripFinalNewline(A,s)&&r!==undefined&&!Array.isArray(r)?strip_final_newline_stripFinalNewline(r):r;const getStripFinalNewline=(r,A)=>A==="all"?r[1]||r[2]:r[A];var Ht=s(7075);const getSplitLinesGenerator=(r,A,s,n)=>r||s?undefined:initializeSplitLines(A,n);const splitLinesSync=(r,A,s)=>s?r.flatMap((r=>splitLinesItemSync(r,A))):splitLinesItemSync(r,A);const splitLinesItemSync=(r,A)=>{const{transform:s,final:n}=initializeSplitLines(A,{});return[...s(r),...n()]};const initializeSplitLines=(r,A)=>{A.previousChunks="";return{transform:splitGenerator.bind(undefined,A,r),final:linesFinal.bind(undefined,A)}};const splitGenerator=function*(r,A,s){if(typeof s!=="string"){yield s;return}let{previousChunks:n}=r;let a=-1;for(let u=0;u0){g=concatString(n,g);n=""}yield g;a=u}}if(a!==s.length-1){n=concatString(n,s.slice(a+1))}r.previousChunks=n};const getNewlineLength=(r,A,s,n)=>{if(s){return 0}n.isWindowsNewline=A!==0&&r[A-1]==="\r";return n.isWindowsNewline?2:1};const linesFinal=function*({previousChunks:r}){if(r.length>0){yield r}};const getAppendNewlineGenerator=({binary:r,preserveNewlines:A,readableObjectMode:s,state:n})=>r||A||s?undefined:{transform:appendNewlineGenerator.bind(undefined,n)};const appendNewlineGenerator=function*({isWindowsNewline:r=false},A){const{unixNewline:s,windowsNewline:n,LF:a,concatBytes:u}=typeof A==="string"?Yt:Jt;if(A.at(-1)===a){yield A;return}const l=r?n:s;yield u(A,l)};const concatString=(r,A)=>`${r}${A}`;const Yt={windowsNewline:"\r\n",unixNewline:"\n",LF:"\n",concatBytes:concatString};const concatUint8Array=(r,A)=>{const s=new Uint8Array(r.length+A.length);s.set(r,0);s.set(A,r.length);return s};const Jt={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:concatUint8Array};const Vt=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:buffer");const getValidateTransformInput=(r,A)=>r?undefined:validateStringTransformInput.bind(undefined,A);const validateStringTransformInput=function*(r,A){if(typeof A!=="string"&&!isUint8Array(A)&&!Vt.Buffer.isBuffer(A)){throw new TypeError(`The \`${r}\` option's transform must use "objectMode: true" to receive as input: ${typeof A}.`)}yield A};const getValidateTransformReturn=(r,A)=>r?validateObjectTransformReturn.bind(undefined,A):validateStringTransformReturn.bind(undefined,A);const validateObjectTransformReturn=function*(r,A){validateEmptyReturn(r,A);yield A};const validateStringTransformReturn=function*(r,A){validateEmptyReturn(r,A);if(typeof A!=="string"&&!isUint8Array(A)){throw new TypeError(`The \`${r}\` option's function must yield a string or an Uint8Array, not ${typeof A}.`)}yield A};const validateEmptyReturn=(r,A)=>{if(A===null||A===undefined){throw new TypeError(`The \`${r}\` option's function must not call \`yield ${A}\`.\nInstead, \`yield\` should either be called with a value, or not be called at all. For example:\n if (condition) { yield value; }`)}};const getEncodingTransformGenerator=(r,A,s)=>{if(s){return}if(r){return{transform:encodingUint8ArrayGenerator.bind(undefined,new TextEncoder)}}const n=new E.StringDecoder(A);return{transform:encodingStringGenerator.bind(undefined,n),final:encodingStringFinal.bind(undefined,n)}};const encodingUint8ArrayGenerator=function*(r,A){if(Vt.Buffer.isBuffer(A)){yield bufferToUint8Array(A)}else if(typeof A==="string"){yield r.encode(A)}else{yield A}};const encodingStringGenerator=function*(r,A){yield isUint8Array(A)?r.write(A):A};const encodingStringFinal=function*(r){const A=r.end();if(A!==""){yield A}};const Wt=(0,I.callbackify)((async(r,A,s,n)=>{A.currentIterable=r(...s);try{for await(const r of A.currentIterable){n.push(r)}}finally{delete A.currentIterable}}));const transformChunk=async function*(r,A,s){if(s===A.length){yield r;return}const{transform:n=identityGenerator}=A[s];for await(const a of n(r)){yield*transformChunk(a,A,s+1)}};const finalChunks=async function*(r){for(const[A,{final:s}]of Object.entries(r)){yield*generatorFinalChunks(s,Number(A),r)}};const generatorFinalChunks=async function*(r,A,s){if(r===undefined){return}for await(const n of r()){yield*transformChunk(n,s,A+1)}};const qt=(0,I.callbackify)((async({currentIterable:r},A)=>{if(r!==undefined){await(A?r.throw(A):r.return());return}if(A){throw A}}));const identityGenerator=function*(r){yield r};const pushChunksSync=(r,A,s,n)=>{try{for(const n of r(...A)){s.push(n)}n()}catch(r){n(r)}};const runTransformSync=(r,A)=>[...A.flatMap((A=>[...transformChunkSync(A,r,0)])),...finalChunksSync(r)];const transformChunkSync=function*(r,A,s){if(s===A.length){yield r;return}const{transform:n=run_sync_identityGenerator}=A[s];for(const a of n(r)){yield*transformChunkSync(a,A,s+1)}};const finalChunksSync=function*(r){for(const[A,{final:s}]of Object.entries(r)){yield*generatorFinalChunksSync(s,Number(A),r)}};const generatorFinalChunksSync=function*(r,A,s){if(r===undefined){return}for(const n of r()){yield*transformChunkSync(n,s,A+1)}};const run_sync_identityGenerator=function*(r){yield r};const generatorToStream=({value:r,value:{transform:A,final:s,writableObjectMode:n,readableObjectMode:a},optionName:u},{encoding:l})=>{const g={};const E=addInternalGenerators(r,l,u);const d=isAsyncGenerator(A);const p=isAsyncGenerator(s);const C=d?Wt.bind(undefined,transformChunk,g):pushChunksSync.bind(undefined,transformChunkSync);const B=d||p?Wt.bind(undefined,finalChunks,g):pushChunksSync.bind(undefined,finalChunksSync);const Q=d||p?qt.bind(undefined,g):undefined;const I=new Ht.Transform({writableObjectMode:n,writableHighWaterMark:(0,Ht.getDefaultHighWaterMark)(n),readableObjectMode:a,readableHighWaterMark:(0,Ht.getDefaultHighWaterMark)(a),transform(r,A,s){C([r,E,0],this,s)},flush(r){B([E],this,r)},destroy:Q});return{stream:I}};const runGeneratorsSync=(r,A,s,n)=>{const a=A.filter((({type:r})=>r==="generator"));const u=n?a.reverse():a;for(const{value:A,optionName:n}of u){const a=addInternalGenerators(A,s,n);r=runTransformSync(a,r)}return r};const addInternalGenerators=({transform:r,final:A,binary:s,writableObjectMode:n,readableObjectMode:a,preserveNewlines:u},l,g)=>{const E={};return[{transform:getValidateTransformInput(n,g)},getEncodingTransformGenerator(s,l,n),getSplitLinesGenerator(s,u,n,E),{transform:r,final:A},{transform:getValidateTransformReturn(a,g)},getAppendNewlineGenerator({binary:s,preserveNewlines:u,readableObjectMode:a,state:E})].filter(Boolean)};const addInputOptionsSync=(r,A)=>{for(const s of getInputFdNumbers(r)){addInputOptionSync(r,s,A)}};const getInputFdNumbers=r=>new Set(Object.entries(r).filter((([,{direction:r}])=>r==="input")).map((([r])=>Number(r))));const addInputOptionSync=(r,A,s)=>{const{stdioItems:n}=r[A];const a=n.filter((({contents:r})=>r!==undefined));if(a.length===0){return}if(A!==0){const[{type:r,optionName:A}]=a;throw new TypeError(`Only the \`stdin\` option, not \`${A}\`, can be ${Ut[r]} with synchronous methods.`)}const u=a.map((({contents:r})=>r));const l=u.map((r=>applySingleInputGeneratorsSync(r,n)));s.input=joinToUint8Array(l)};const applySingleInputGeneratorsSync=(r,A)=>{const s=runGeneratorsSync(r,A,"utf8",true);validateSerializable(s);return joinToUint8Array(s)};const validateSerializable=r=>{const A=r.find((r=>typeof r!=="string"&&!isUint8Array(r)));if(A!==undefined){throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${A}.`)}};const shouldLogOutput=({stdioItems:r,encoding:A,verboseInfo:s,fdNumber:n})=>n!=="all"&&isFullVerbose(s,n)&&!ht.has(A)&&fdUsesVerbose(n)&&(r.some((({type:r,value:A})=>r==="native"&&jt.has(A)))||r.every((({type:r})=>Ft.has(r))));const fdUsesVerbose=r=>r===1||r===2;const jt=new Set(["pipe","overlapped"]);const logLines=async(r,A,s,n)=>{for await(const a of r){if(!isPipingStream(A)){logLine(a,s,n)}}};const logLinesSync=(r,A,s)=>{for(const n of r){logLine(n,A,s)}};const isPipingStream=r=>r._readableState.pipes.length>0;const logLine=(r,A,s)=>{const n=serializeVerboseMessage(r);verboseLog({type:"output",verboseMessage:n,fdNumber:A,verboseInfo:s})};const transformOutputSync=({fileDescriptors:r,syncResult:{output:A},options:s,isMaxBuffer:n,verboseInfo:a})=>{if(A===null){return{output:Array.from({length:3})}}const u={};const l=new Set([]);const g=A.map(((A,g)=>transformOutputResultSync({result:A,fileDescriptors:r,fdNumber:g,state:u,outputFiles:l,isMaxBuffer:n,verboseInfo:a},s)));return{output:g,...u}};const transformOutputResultSync=({result:r,fileDescriptors:A,fdNumber:s,state:n,outputFiles:a,isMaxBuffer:u,verboseInfo:l},{buffer:g,encoding:E,lines:d,stripFinalNewline:p,maxBuffer:C})=>{if(r===null){return}const B=truncateMaxBufferSync(r,u,C);const Q=bufferToUint8Array(B);const{stdioItems:I,objectMode:m}=A[s];const y=runOutputGeneratorsSync([Q],I,E,n);const{serializedResult:w,finalResult:D=w}=serializeChunks({chunks:y,objectMode:m,encoding:E,lines:d,stripFinalNewline:p,fdNumber:s});logOutputSync({serializedResult:w,fdNumber:s,state:n,verboseInfo:l,encoding:E,stdioItems:I,objectMode:m});const b=g[s]?D:undefined;try{if(n.error===undefined){writeToFiles(w,I,a)}return b}catch(r){n.error=r;return b}};const runOutputGeneratorsSync=(r,A,s,n)=>{try{return runGeneratorsSync(r,A,s,false)}catch(A){n.error=A;return r}};const serializeChunks=({chunks:r,objectMode:A,encoding:s,lines:n,stripFinalNewline:a,fdNumber:u})=>{if(A){return{serializedResult:r}}if(s==="buffer"){return{serializedResult:joinToUint8Array(r)}}const l=joinToString(r,s);if(n[u]){return{serializedResult:l,finalResult:splitLinesSync(l,!a[u],A)}}return{serializedResult:l}};const logOutputSync=({serializedResult:r,fdNumber:A,state:s,verboseInfo:n,encoding:a,stdioItems:u,objectMode:l})=>{if(!shouldLogOutput({stdioItems:u,encoding:a,verboseInfo:n,fdNumber:A})){return}const g=splitLinesSync(r,false,l);try{logLinesSync(g,A,n)}catch(r){s.error??=r}};const writeToFiles=(r,A,s)=>{for(const{path:a,append:u}of A.filter((({type:r})=>Tt.has(r)))){const A=typeof a==="string"?a:a.toString();if(u||s.has(A)){(0,n.appendFileSync)(a,r)}else{s.add(A);(0,n.writeFileSync)(a,r)}}};const getAllSync=([,r,A],s)=>{if(!s.all){return}if(r===undefined){return A}if(A===undefined){return r}if(Array.isArray(r)){return Array.isArray(A)?[...r,...A]:[...r,stripNewline(A,s,"all")]}if(Array.isArray(A)){return[stripNewline(r,s,"all"),...A]}if(isUint8Array(r)&&isUint8Array(A)){return concatUint8Arrays([r,A])}return`${r}${A}`};const waitForExit=async(r,A)=>{const[s,n]=await waitForExitOrError(r);A.isForcefullyTerminated??=false;return[s,n]};const waitForExitOrError=async r=>{const[A,s]=await Promise.allSettled([(0,Ke.once)(r,"spawn"),(0,Ke.once)(r,"exit")]);if(A.status==="rejected"){return[]}return s.status==="rejected"?waitForSubprocessExit(r):s.value};const waitForSubprocessExit=async r=>{try{return await(0,Ke.once)(r,"exit")}catch{return waitForSubprocessExit(r)}};const waitForSuccessfulExit=async r=>{const[A,s]=await r;if(!isSubprocessErrorExit(A,s)&&isFailedExit(A,s)){throw new DiscardedError}return[A,s]};const isSubprocessErrorExit=(r,A)=>r===undefined&&A===undefined;const isFailedExit=(r,A)=>r!==0||A!==null;const getExitResultSync=({error:r,status:A,signal:s,output:n},{maxBuffer:a})=>{const u=getResultError(r,A,s);const l=u?.code==="ETIMEDOUT";const g=isMaxBufferSync(u,n,a);return{resultError:u,exitCode:A,signal:s,timedOut:l,isMaxBuffer:g}};const getResultError=(r,A,s)=>{if(r!==undefined){return r}return isFailedExit(A,s)?new DiscardedError:undefined};const execaCoreSync=(r,A,s)=>{const{file:n,commandArguments:a,command:u,escapedCommand:l,startTime:g,verboseInfo:E,options:d,fileDescriptors:p}=handleSyncArguments(r,A,s);const C=spawnSubprocessSync({file:n,commandArguments:a,options:d,command:u,escapedCommand:l,verboseInfo:E,fileDescriptors:p,startTime:g});return handleResult(C,E,d)};const handleSyncArguments=(r,A,s)=>{const{command:n,escapedCommand:a,startTime:u,verboseInfo:l}=handleCommand(r,A,s);const g=normalizeSyncOptions(s);const{file:E,commandArguments:d,options:p}=normalizeOptions(r,A,g);validateSyncOptions(p);const C=handleStdioSync(p,l);return{file:E,commandArguments:d,command:n,escapedCommand:a,startTime:u,verboseInfo:l,options:p,fileDescriptors:C}};const normalizeSyncOptions=r=>r.node&&!r.ipc?{...r,ipc:false}:r;const validateSyncOptions=({ipc:r,ipcInput:A,detached:s,cancelSignal:n})=>{if(A){throwInvalidSyncOption("ipcInput")}if(r){throwInvalidSyncOption("ipc: true")}if(s){throwInvalidSyncOption("detached: true")}if(n){throwInvalidSyncOption("cancelSignal")}};const throwInvalidSyncOption=r=>{throw new TypeError(`The "${r}" option cannot be used with synchronous methods.`)};const spawnSubprocessSync=({file:r,commandArguments:A,options:s,command:n,escapedCommand:a,verboseInfo:u,fileDescriptors:l,startTime:g})=>{const E=runSubprocessSync({file:r,commandArguments:A,options:s,command:n,escapedCommand:a,fileDescriptors:l,startTime:g});if(E.failed){return E}const{resultError:d,exitCode:p,signal:C,timedOut:B,isMaxBuffer:Q}=getExitResultSync(E,s);const{output:I,error:m=d}=transformOutputSync({fileDescriptors:l,syncResult:E,options:s,isMaxBuffer:Q,verboseInfo:u});const y=I.map(((r,A)=>stripNewline(r,s,A)));const w=stripNewline(getAllSync(I,s),s,"all");return getSyncResult({error:m,exitCode:p,signal:C,timedOut:B,isMaxBuffer:Q,stdio:y,all:w,options:s,command:n,escapedCommand:a,startTime:g})};const runSubprocessSync=({file:r,commandArguments:A,options:s,command:n,escapedCommand:a,fileDescriptors:u,startTime:l})=>{try{addInputOptionsSync(u,s);const n=normalizeSpawnSyncOptions(s);return(0,g.spawnSync)(r,A,n)}catch(r){return makeEarlyError({error:r,command:n,escapedCommand:a,fileDescriptors:u,options:s,startTime:l,isSync:true})}};const normalizeSpawnSyncOptions=({encoding:r,maxBuffer:A,...s})=>({...s,encoding:"buffer",maxBuffer:getMaxBufferSync(A)});const getSyncResult=({error:r,exitCode:A,signal:s,timedOut:n,isMaxBuffer:a,stdio:u,all:l,options:g,command:E,escapedCommand:d,startTime:p})=>r===undefined?makeSuccessResult({command:E,escapedCommand:d,stdio:u,all:l,ipcOutput:[],options:g,startTime:p}):makeError({error:r,command:E,escapedCommand:d,timedOut:n,isCanceled:false,isGracefullyCanceled:false,isMaxBuffer:a,isForcefullyTerminated:false,exitCode:A,signal:s,stdio:u,all:l,ipcOutput:[],options:g,startTime:p,isSync:true});const getOneMessage=({anyProcess:r,channel:A,isSubprocess:s,ipc:n},{reference:a=true,filter:u}={})=>{validateIpcMethod({methodName:"getOneMessage",isSubprocess:s,ipc:n,isConnected:isConnected(r)});return getOneMessageAsync({anyProcess:r,channel:A,isSubprocess:s,filter:u,reference:a})};const getOneMessageAsync=async({anyProcess:r,channel:A,isSubprocess:s,filter:n,reference:a})=>{addReference(A,a);const u=getIpcEmitter(r,A,s);const l=new AbortController;try{return await Promise.race([getMessage(u,n,l),get_one_throwOnDisconnect(u,s,l),throwOnStrictError(u,s,l)])}catch(A){disconnect(r);throw A}finally{l.abort();removeReference(A,a)}};const getMessage=async(r,A,{signal:s})=>{if(A===undefined){const[A]=await(0,Ke.once)(r,"message",{signal:s});return A}for await(const[n]of(0,Ke.on)(r,"message",{signal:s})){if(A(n)){return n}}};const get_one_throwOnDisconnect=async(r,A,{signal:s})=>{await(0,Ke.once)(r,"disconnect",{signal:s});throwOnEarlyDisconnect(A)};const throwOnStrictError=async(r,A,{signal:s})=>{const[n]=await(0,Ke.once)(r,"strict:error",{signal:s});throw getStrictResponseError(n,A)};const getEachMessage=({anyProcess:r,channel:A,isSubprocess:s,ipc:n},{reference:a=true}={})=>loopOnMessages({anyProcess:r,channel:A,isSubprocess:s,ipc:n,shouldAwait:!s,reference:a});const loopOnMessages=({anyProcess:r,channel:A,isSubprocess:s,ipc:n,shouldAwait:a,reference:u})=>{validateIpcMethod({methodName:"getEachMessage",isSubprocess:s,ipc:n,isConnected:isConnected(r)});addReference(A,u);const l=getIpcEmitter(r,A,s);const g=new AbortController;const E={};stopOnDisconnect(r,l,g);abortOnStrictError({ipcEmitter:l,isSubprocess:s,controller:g,state:E});return iterateOnMessages({anyProcess:r,channel:A,ipcEmitter:l,isSubprocess:s,shouldAwait:a,controller:g,state:E,reference:u})};const stopOnDisconnect=async(r,A,s)=>{try{await(0,Ke.once)(A,"disconnect",{signal:s.signal});s.abort()}catch{}};const abortOnStrictError=async({ipcEmitter:r,isSubprocess:A,controller:s,state:n})=>{try{const[a]=await(0,Ke.once)(r,"strict:error",{signal:s.signal});n.error=getStrictResponseError(a,A);s.abort()}catch{}};const iterateOnMessages=async function*({anyProcess:r,channel:A,ipcEmitter:s,isSubprocess:n,shouldAwait:a,controller:u,state:l,reference:g}){try{for await(const[r]of(0,Ke.on)(s,"message",{signal:u.signal})){throwIfStrictError(l);yield r}}catch{throwIfStrictError(l)}finally{u.abort();removeReference(A,g);if(!n){disconnect(r)}if(a){await r}}};const throwIfStrictError=({error:r})=>{if(r){throw r}};const addIpcMethods=(r,{ipc:A})=>{Object.assign(r,getIpcMethods(r,false,A))};const getIpcExport=()=>{const r=m;const A=true;const s=m.channel!==undefined;return{...getIpcMethods(r,A,s),getCancelSignal:getCancelSignal.bind(undefined,{anyProcess:r,channel:r.channel,isSubprocess:A,ipc:s})}};const getIpcMethods=(r,A,s)=>({sendMessage:sendMessage.bind(undefined,{anyProcess:r,channel:r.channel,isSubprocess:A,ipc:s}),getOneMessage:getOneMessage.bind(undefined,{anyProcess:r,channel:r.channel,isSubprocess:A,ipc:s}),getEachMessage:getEachMessage.bind(undefined,{anyProcess:r,channel:r.channel,isSubprocess:A,ipc:s})});const handleEarlyError=({error:r,command:A,escapedCommand:s,fileDescriptors:n,options:a,startTime:u,verboseInfo:l})=>{cleanupCustomStreams(n);const E=new g.ChildProcess;createDummyStreams(E,n);Object.assign(E,{readable:readable,writable:writable,duplex:duplex});const d=makeEarlyError({error:r,command:A,escapedCommand:s,fileDescriptors:n,options:a,startTime:u,isSync:false});const p=handleDummyPromise(d,l,a);return{subprocess:E,promise:p}};const createDummyStreams=(r,A)=>{const s=createDummyStream();const n=createDummyStream();const a=createDummyStream();const u=Array.from({length:A.length-3},createDummyStream);const l=createDummyStream();const g=[s,n,a,...u];Object.assign(r,{stdin:s,stdout:n,stderr:a,all:l,stdio:g})};const createDummyStream=()=>{const r=new Ht.PassThrough;r.end();return r};const readable=()=>new Ht.Readable({read(){}});const writable=()=>new Ht.Writable({write(){}});const duplex=()=>new Ht.Duplex({read(){},write(){}});const handleDummyPromise=async(r,A,s)=>handleResult(r,A,s);const handleStdioAsync=(r,A)=>handleStdio($t,r,A,false);const forbiddenIfAsync=({type:r,optionName:A})=>{throw new TypeError(`The \`${A}\` option cannot be ${Ut[r]}.`)};const Kt={fileNumber:forbiddenIfAsync,generator:generatorToStream,asyncGenerator:generatorToStream,nodeStream:({value:r})=>({stream:r}),webTransform({value:{transform:r,writableObjectMode:A,readableObjectMode:s}}){const n=A||s;const a=Ht.Duplex.fromWeb(r,{objectMode:n});return{stream:a}},duplex:({value:{transform:r}})=>({stream:r}),native(){}};const $t={input:{...Kt,fileUrl:({value:r})=>({stream:(0,n.createReadStream)(r)}),filePath:({value:{file:r}})=>({stream:(0,n.createReadStream)(r)}),webStream:({value:r})=>({stream:Ht.Readable.fromWeb(r)}),iterable:({value:r})=>({stream:Ht.Readable.from(r)}),asyncIterable:({value:r})=>({stream:Ht.Readable.from(r)}),string:({value:r})=>({stream:Ht.Readable.from(r)}),uint8Array:({value:r})=>({stream:Ht.Readable.from(Vt.Buffer.from(r))})},output:{...Kt,fileUrl:({value:r})=>({stream:(0,n.createWriteStream)(r)}),filePath:({value:{file:r,append:A}})=>({stream:(0,n.createWriteStream)(r,A?{flags:"a"}:{})}),webStream:({value:r})=>({stream:Ht.Writable.fromWeb(r)}),iterable:forbiddenIfAsync,asyncIterable:forbiddenIfAsync,string:forbiddenIfAsync,uint8Array:forbiddenIfAsync}};const zt=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream/promises");function mergeStreams(r){if(!Array.isArray(r)){throw new TypeError(`Expected an array, got \`${typeof r}\`.`)}for(const A of r){validateStream(A)}const A=r.some((({readableObjectMode:r})=>r));const s=getHighWaterMark(r,A);const n=new MergedStream({objectMode:A,writableHighWaterMark:s,readableHighWaterMark:s});for(const A of r){n.add(A)}return n}const getHighWaterMark=(r,A)=>{if(r.length===0){return(0,Ht.getDefaultHighWaterMark)(A)}const s=r.filter((({readableObjectMode:r})=>r===A)).map((({readableHighWaterMark:r})=>r));return Math.max(...s)};class MergedStream extends Ht.PassThrough{#m=new Set([]);#y=new Set([]);#w=new Set([]);#D;#b=Symbol("unpipe");#R=new WeakMap;add(r){validateStream(r);if(this.#m.has(r)){return}this.#m.add(r);this.#D??=onMergedStreamFinished(this,this.#m,this.#b);const A=endWhenStreamsDone({passThroughStream:this,stream:r,streams:this.#m,ended:this.#y,aborted:this.#w,onFinished:this.#D,unpipeEvent:this.#b});this.#R.set(r,A);r.pipe(this,{end:false})}async remove(r){validateStream(r);if(!this.#m.has(r)){return false}const A=this.#R.get(r);if(A===undefined){return false}this.#R.delete(r);r.unpipe(this);await A;return true}}const onMergedStreamFinished=async(r,A,s)=>{updateMaxListeners(r,Zt);const n=new AbortController;try{await Promise.race([onMergedStreamEnd(r,n),onInputStreamsUnpipe(r,A,s,n)])}finally{n.abort();updateMaxListeners(r,-Zt)}};const onMergedStreamEnd=async(r,{signal:A})=>{try{await(0,zt.finished)(r,{signal:A,cleanup:true})}catch(A){errorOrAbortStream(r,A);throw A}};const onInputStreamsUnpipe=async(r,A,s,{signal:n})=>{for await(const[a]of(0,Ke.on)(r,"unpipe",{signal:n})){if(A.has(a)){a.emit(s)}}};const validateStream=r=>{if(typeof r?.pipe!=="function"){throw new TypeError(`Expected a readable stream, got: \`${typeof r}\`.`)}};const endWhenStreamsDone=async({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,onFinished:u,unpipeEvent:l})=>{updateMaxListeners(r,Xt);const g=new AbortController;try{await Promise.race([afterMergedStreamFinished(u,A,g),onInputStreamEnd({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,controller:g}),onInputStreamUnpipe({stream:A,streams:s,ended:n,aborted:a,unpipeEvent:l,controller:g})])}finally{g.abort();updateMaxListeners(r,-Xt)}if(s.size>0&&s.size===n.size+a.size){if(n.size===0&&a.size>0){abortStream(r)}else{endStream(r)}}};const afterMergedStreamFinished=async(r,A,{signal:s})=>{try{await r;if(!s.aborted){abortStream(A)}}catch(r){if(!s.aborted){errorOrAbortStream(A,r)}}};const onInputStreamEnd=async({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,controller:{signal:u}})=>{try{await(0,zt.finished)(A,{signal:u,cleanup:true,readable:true,writable:false});if(s.has(A)){n.add(A)}}catch(n){if(u.aborted||!s.has(A)){return}if(isAbortError(n)){a.add(A)}else{errorStream(r,n)}}};const onInputStreamUnpipe=async({stream:r,streams:A,ended:s,aborted:n,unpipeEvent:a,controller:{signal:u}})=>{await(0,Ke.once)(r,a,{signal:u});if(!r.readable){return(0,Ke.once)(u,"abort",{signal:u})}A.delete(r);s.delete(r);n.delete(r)};const endStream=r=>{if(r.writable){r.end()}};const errorOrAbortStream=(r,A)=>{if(isAbortError(A)){abortStream(r)}else{errorStream(r,A)}};const isAbortError=r=>r?.code==="ERR_STREAM_PREMATURE_CLOSE";const abortStream=r=>{if(r.readable||r.writable){r.destroy()}};const errorStream=(r,A)=>{if(!r.destroyed){r.once("error",noop);r.destroy(A)}};const noop=()=>{};const updateMaxListeners=(r,A)=>{const s=r.getMaxListeners();if(s!==0&&s!==Number.POSITIVE_INFINITY){r.setMaxListeners(s+A)}};const Zt=2;const Xt=1;const pipeStreams=(r,A)=>{r.pipe(A);onSourceFinish(r,A);onDestinationFinish(r,A)};const onSourceFinish=async(r,A)=>{if(isStandardStream(r)||isStandardStream(A)){return}try{await(0,zt.finished)(r,{cleanup:true,readable:true,writable:false})}catch{}endDestinationStream(A)};const endDestinationStream=r=>{if(r.writable){r.end()}};const onDestinationFinish=async(r,A)=>{if(isStandardStream(r)||isStandardStream(A)){return}try{await(0,zt.finished)(A,{cleanup:true,readable:false,writable:true})}catch{}abortSourceStream(r)};const abortSourceStream=r=>{if(r.readable){r.destroy()}};const pipeOutputAsync=(r,A,s)=>{const n=new Map;for(const[a,{stdioItems:u,direction:l}]of Object.entries(A)){for(const{stream:A}of u.filter((({type:r})=>Ft.has(r)))){pipeTransform(r,A,l,a)}for(const{stream:A}of u.filter((({type:r})=>!Ft.has(r)))){pipeStdioItem({subprocess:r,stream:A,direction:l,fdNumber:a,pipeGroups:n,controller:s})}}for(const[r,A]of n.entries()){const s=A.length===1?A[0]:mergeStreams(A);pipeStreams(s,r)}};const pipeTransform=(r,A,s,n)=>{if(s==="output"){pipeStreams(r.stdio[n],A)}else{pipeStreams(A,r.stdio[n])}const a=er[n];if(a!==undefined){r[a]=A}r.stdio[n]=A};const er=["stdin","stdout","stderr"];const pipeStdioItem=({subprocess:r,stream:A,direction:s,fdNumber:n,pipeGroups:a,controller:u})=>{if(A===undefined){return}setStandardStreamMaxListeners(A,u);const[l,g]=s==="output"?[A,r.stdio[n]]:[r.stdio[n],A];const E=a.get(l)??[];a.set(l,[...E,g])};const setStandardStreamMaxListeners=(r,{signal:A})=>{if(isStandardStream(r)){incrementMaxListeners(r,tr,A)}};const tr=2;const rr=[];rr.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32"){rr.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(process.platform==="linux"){rr.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")}const processOk=r=>!!r&&typeof r==="object"&&typeof r.removeListener==="function"&&typeof r.emit==="function"&&typeof r.reallyExit==="function"&&typeof r.listeners==="function"&&typeof r.kill==="function"&&typeof r.pid==="number"&&typeof r.on==="function";const Ar=Symbol.for("signal-exit emitter");const sr=globalThis;const nr=Object.defineProperty.bind(Object);class Emitter{emitted={afterExit:false,exit:false};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(sr[Ar]){return sr[Ar]}nr(sr,Ar,{value:this,writable:false,enumerable:false,configurable:false})}on(r,A){this.listeners[r].push(A)}removeListener(r,A){const s=this.listeners[r];const n=s.indexOf(A);if(n===-1){return}if(n===0&&s.length===1){s.length=0}else{s.splice(n,1)}}emit(r,A,s){if(this.emitted[r]){return false}this.emitted[r]=true;let n=false;for(const a of this.listeners[r]){n=a(A,s)===true||n}if(r==="exit"){n=this.emit("afterExit",A,s)||n}return n}}class SignalExitBase{}const signalExitWrap=r=>({onExit(A,s){return r.onExit(A,s)},load(){return r.load()},unload(){return r.unload()}});class SignalExitFallback extends SignalExitBase{onExit(){return()=>{}}load(){}unload(){}}class SignalExit extends SignalExitBase{#S=or.platform==="win32"?"SIGINT":"SIGHUP";#k=new Emitter;#F;#T;#N;#v={};#_=false;constructor(r){super();this.#F=r;this.#v={};for(const A of rr){this.#v[A]=()=>{const s=this.#F.listeners(A);let{count:n}=this.#k;const a=r;if(typeof a.__signal_exit_emitter__==="object"&&typeof a.__signal_exit_emitter__.count==="number"){n+=a.__signal_exit_emitter__.count}if(s.length===n){this.unload();const s=this.#k.emit("exit",null,A);const n=A==="SIGHUP"?this.#S:A;if(!s)r.kill(r.pid,n)}}}this.#N=r.reallyExit;this.#T=r.emit}onExit(r,A){if(!processOk(this.#F)){return()=>{}}if(this.#_===false){this.load()}const s=A?.alwaysLast?"afterExit":"exit";this.#k.on(s,r);return()=>{this.#k.removeListener(s,r);if(this.#k.listeners["exit"].length===0&&this.#k.listeners["afterExit"].length===0){this.unload()}}}load(){if(this.#_){return}this.#_=true;this.#k.count+=1;for(const r of rr){try{const A=this.#v[r];if(A)this.#F.on(r,A)}catch(r){}}this.#F.emit=(r,...A)=>this.#U(r,...A);this.#F.reallyExit=r=>this.#L(r)}unload(){if(!this.#_){return}this.#_=false;rr.forEach((r=>{const A=this.#v[r];if(!A){throw new Error("Listener not defined for signal: "+r)}try{this.#F.removeListener(r,A)}catch(r){}}));this.#F.emit=this.#T;this.#F.reallyExit=this.#N;this.#k.count-=1}#L(r){if(!processOk(this.#F)){return 0}this.#F.exitCode=r||0;this.#k.emit("exit",this.#F.exitCode,null);return this.#N.call(this.#F,this.#F.exitCode)}#U(r,...A){const s=this.#T;if(r==="exit"&&processOk(this.#F)){if(typeof A[0]==="number"){this.#F.exitCode=A[0]}const n=s.call(this.#F,r,...A);this.#k.emit("exit",this.#F.exitCode,null);return n}else{return s.call(this.#F,r,...A)}}}const or=globalThis.process;const{onExit:ir,load:ar,unload:cr}=signalExitWrap(processOk(or)?new SignalExit(or):new SignalExitFallback);const cleanupOnExit=(r,{cleanup:A,detached:s},{signal:n})=>{if(!A||s){return}const a=ir((()=>{r.kill()}));(0,Ke.addAbortListener)(n,(()=>{a()}))};const normalizePipeArguments=({source:r,sourcePromise:A,boundOptions:s,createNested:n},...a)=>{const u=getStartTime();const{destination:l,destinationStream:g,destinationError:E,from:d,unpipeSignal:p}=getDestinationStream(s,n,a);const{sourceStream:C,sourceError:B}=getSourceStream(r,d);const{options:Q,fileDescriptors:I}=Ze.get(r);return{sourcePromise:A,sourceStream:C,sourceOptions:Q,sourceError:B,destination:l,destinationStream:g,destinationError:E,unpipeSignal:p,fileDescriptors:I,startTime:u}};const getDestinationStream=(r,A,s)=>{try{const{destination:n,pipeOptions:{from:a,to:u,unpipeSignal:l}={}}=getDestination(r,A,...s);const g=getToStream(n,u);return{destination:n,destinationStream:g,from:a,unpipeSignal:l}}catch(r){return{destinationError:r}}};const getDestination=(r,A,s,...n)=>{if(Array.isArray(s)){const a=A(mapDestinationArguments,r)(s,...n);return{destination:a,pipeOptions:r}}if(typeof s==="string"||s instanceof URL||isDenoExecPath(s)){if(Object.keys(r).length>0){throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).')}const[a,u,l]=normalizeParameters(s,...n);const g=A(mapDestinationArguments)(a,u,l);return{destination:g,pipeOptions:l}}if(Ze.has(s)){if(Object.keys(r).length>0){throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).")}return{destination:s,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${s}`)};const mapDestinationArguments=({options:r})=>({options:{...r,stdin:"pipe",piped:true}});const getSourceStream=(r,A)=>{try{const s=getFromStream(r,A);return{sourceStream:s}}catch(r){return{sourceError:r}}};const handlePipeArgumentsError=({sourceStream:r,sourceError:A,destinationStream:s,destinationError:n,fileDescriptors:a,sourceOptions:u,startTime:l})=>{const g=getPipeArgumentsError({sourceStream:r,sourceError:A,destinationStream:s,destinationError:n});if(g!==undefined){throw createNonCommandError({error:g,fileDescriptors:a,sourceOptions:u,startTime:l})}};const getPipeArgumentsError=({sourceStream:r,sourceError:A,destinationStream:s,destinationError:n})=>{if(A!==undefined&&n!==undefined){return n}if(n!==undefined){abortSourceStream(r);return n}if(A!==undefined){endDestinationStream(s);return A}};const createNonCommandError=({error:r,fileDescriptors:A,sourceOptions:s,startTime:n})=>makeEarlyError({error:r,command:ur,escapedCommand:ur,fileDescriptors:A,options:s,startTime:n,isSync:false});const ur="source.pipe(destination)";const waitForBothSubprocesses=async r=>{const[{status:A,reason:s,value:n=s},{status:a,reason:u,value:l=u}]=await r;if(!l.pipedFrom.includes(n)){l.pipedFrom.push(n)}if(a==="rejected"){throw l}if(A==="rejected"){throw n}return l};const pipeSubprocessStream=(r,A,s)=>{const n=lr.has(A)?pipeMoreSubprocessStream(r,A):pipeFirstSubprocessStream(r,A);incrementMaxListeners(r,gr,s.signal);incrementMaxListeners(A,hr,s.signal);cleanupMergedStreamsMap(A);return n};const pipeFirstSubprocessStream=(r,A)=>{const s=mergeStreams([r]);pipeStreams(s,A);lr.set(A,s);return s};const pipeMoreSubprocessStream=(r,A)=>{const s=lr.get(A);s.add(r);return s};const cleanupMergedStreamsMap=async r=>{try{await(0,zt.finished)(r,{cleanup:true,readable:false,writable:true})}catch{}lr.delete(r)};const lr=new WeakMap;const gr=2;const hr=1;const unpipeOnAbort=(r,A)=>r===undefined?[]:[unpipeOnSignalAbort(r,A)];const unpipeOnSignalAbort=async(r,{sourceStream:A,mergedStream:s,fileDescriptors:n,sourceOptions:a,startTime:u})=>{await(0,I.aborted)(r,A);await s.remove(A);const l=new Error("Pipe canceled by `unpipeSignal` option.");throw createNonCommandError({error:l,fileDescriptors:n,sourceOptions:a,startTime:u})};const pipeToSubprocess=(r,...A)=>{if(isPlainObject(A[0])){return pipeToSubprocess.bind(undefined,{...r,boundOptions:{...r.boundOptions,...A[0]}})}const{destination:s,...n}=normalizePipeArguments(r,...A);const a=handlePipePromise({...n,destination:s});a.pipe=pipeToSubprocess.bind(undefined,{...r,source:s,sourcePromise:a,boundOptions:{}});return a};const handlePipePromise=async({sourcePromise:r,sourceStream:A,sourceOptions:s,sourceError:n,destination:a,destinationStream:u,destinationError:l,unpipeSignal:g,fileDescriptors:E,startTime:d})=>{const p=getSubprocessPromises(r,a);handlePipeArgumentsError({sourceStream:A,sourceError:n,destinationStream:u,destinationError:l,fileDescriptors:E,sourceOptions:s,startTime:d});const C=new AbortController;try{const r=pipeSubprocessStream(A,u,C);return await Promise.race([waitForBothSubprocesses(p),...unpipeOnAbort(g,{sourceStream:A,mergedStream:r,sourceOptions:s,fileDescriptors:E,startTime:d})])}finally{C.abort()}};const getSubprocessPromises=(r,A)=>Promise.allSettled([r,A]);const utils_identity=r=>r;const utils_noop=()=>undefined;const getContentsProperty=({contents:r})=>r;const throwObjectStream=r=>{throw new Error(`Streams in object mode are not supported: ${String(r)}`)};const getLengthProperty=r=>r.length;async function getStreamAsArray(r,A){return getStreamContents(r,Er,A)}const initArray=()=>({contents:[]});const increment=()=>1;const addArrayChunk=(r,{contents:A})=>{A.push(r);return A};const Er={init:initArray,convertChunk:{string:utils_identity,buffer:utils_identity,arrayBuffer:utils_identity,dataView:utils_identity,typedArray:utils_identity,others:utils_identity},getSize:increment,truncateChunk:utils_noop,addChunk:addArrayChunk,getFinalChunk:utils_noop,finalize:getContentsProperty};async function getStreamAsArrayBuffer(r,A){return getStreamContents(r,fr,A)}const initArrayBuffer=()=>({contents:new ArrayBuffer(0)});const useTextEncoder=r=>dr.encode(r);const dr=new TextEncoder;const useUint8Array=r=>new Uint8Array(r);const useUint8ArrayWithOffset=r=>new Uint8Array(r.buffer,r.byteOffset,r.byteLength);const truncateArrayBufferChunk=(r,A)=>r.slice(0,A);const addArrayBufferChunk=(r,{contents:A,length:s},n)=>{const a=hasArrayBufferResize()?resizeArrayBuffer(A,n):resizeArrayBufferSlow(A,n);new Uint8Array(a).set(r,s);return a};const resizeArrayBufferSlow=(r,A)=>{if(A<=r.byteLength){return r}const s=new ArrayBuffer(getNewContentsLength(A));new Uint8Array(s).set(new Uint8Array(r),0);return s};const resizeArrayBuffer=(r,A)=>{if(A<=r.maxByteLength){r.resize(A);return r}const s=new ArrayBuffer(A,{maxByteLength:getNewContentsLength(A)});new Uint8Array(s).set(new Uint8Array(r),0);return s};const getNewContentsLength=r=>pr**Math.ceil(Math.log(r)/Math.log(pr));const pr=2;const finalizeArrayBuffer=({contents:r,length:A})=>hasArrayBufferResize()?r:r.slice(0,A);const hasArrayBufferResize=()=>"resize"in ArrayBuffer.prototype;const fr={init:initArrayBuffer,convertChunk:{string:useTextEncoder,buffer:useUint8Array,arrayBuffer:useUint8Array,dataView:useUint8ArrayWithOffset,typedArray:useUint8ArrayWithOffset,others:throwObjectStream},getSize:getLengthProperty,truncateChunk:truncateArrayBufferChunk,addChunk:addArrayBufferChunk,getFinalChunk:utils_noop,finalize:finalizeArrayBuffer};async function getStreamAsString(r,A){return getStreamContents(r,Cr,A)}const initString=()=>({contents:"",textDecoder:new TextDecoder});const useTextDecoder=(r,{textDecoder:A})=>A.decode(r,{stream:true});const addStringChunk=(r,{contents:A})=>A+r;const truncateStringChunk=(r,A)=>r.slice(0,A);const getFinalStringChunk=({textDecoder:r})=>{const A=r.decode();return A===""?undefined:A};const Cr={init:initString,convertChunk:{string:utils_identity,buffer:useTextDecoder,arrayBuffer:useTextDecoder,dataView:useTextDecoder,typedArray:useTextDecoder,others:throwObjectStream},getSize:getLengthProperty,truncateChunk:truncateStringChunk,addChunk:addStringChunk,getFinalChunk:getFinalStringChunk,finalize:getContentsProperty};const iterateOnSubprocessStream=({subprocessStdout:r,subprocess:A,binary:s,shouldEncode:n,encoding:a,preserveNewlines:u})=>{const l=new AbortController;stopReadingOnExit(A,l);return iterateOnStream({stream:r,controller:l,binary:s,shouldEncode:!r.readableObjectMode&&n,encoding:a,shouldSplit:!r.readableObjectMode,preserveNewlines:u})};const stopReadingOnExit=async(r,A)=>{try{await r}catch{}finally{A.abort()}};const iterateForResult=({stream:r,onStreamEnd:A,lines:s,encoding:n,stripFinalNewline:a,allMixed:u})=>{const l=new AbortController;stopReadingOnStreamEnd(A,l,r);const g=r.readableObjectMode&&!u;return iterateOnStream({stream:r,controller:l,binary:n==="buffer",shouldEncode:!g,encoding:n,shouldSplit:!g&&s,preserveNewlines:!a})};const stopReadingOnStreamEnd=async(r,A,s)=>{try{await r}catch{s.destroy()}finally{A.abort()}};const iterateOnStream=({stream:r,controller:A,binary:s,shouldEncode:n,encoding:a,shouldSplit:u,preserveNewlines:l})=>{const g=(0,Ke.on)(r,"data",{signal:A.signal,highWaterMark:Qr,highWatermark:Qr});return iterateOnData({onStdoutChunk:g,controller:A,binary:s,shouldEncode:n,encoding:a,shouldSplit:u,preserveNewlines:l})};const Br=(0,Ht.getDefaultHighWaterMark)(true);const Qr=Br;const iterateOnData=async function*({onStdoutChunk:r,controller:A,binary:s,shouldEncode:n,encoding:a,shouldSplit:u,preserveNewlines:l}){const g=getGenerators({binary:s,shouldEncode:n,encoding:a,shouldSplit:u,preserveNewlines:l});try{for await(const[A]of r){yield*transformChunkSync(A,g,0)}}catch(r){if(!A.signal.aborted){throw r}}finally{yield*finalChunksSync(g)}};const getGenerators=({binary:r,shouldEncode:A,encoding:s,shouldSplit:n,preserveNewlines:a})=>[getEncodingTransformGenerator(r,s,!A),getSplitLinesGenerator(r,a,!n,{})].filter(Boolean);const getStreamOutput=async({stream:r,onStreamEnd:A,fdNumber:s,encoding:n,buffer:a,maxBuffer:u,lines:l,allMixed:g,stripFinalNewline:E,verboseInfo:d,streamInfo:p})=>{const C=logOutputAsync({stream:r,onStreamEnd:A,fdNumber:s,encoding:n,allMixed:g,verboseInfo:d,streamInfo:p});if(!a){await Promise.all([resumeStream(r),C]);return}const B=getStripFinalNewline(E,s);const Q=iterateForResult({stream:r,onStreamEnd:A,lines:l,encoding:n,stripFinalNewline:B,allMixed:g});const[I]=await Promise.all([contents_getStreamContents({stream:r,iterable:Q,fdNumber:s,encoding:n,maxBuffer:u,lines:l}),C]);return I};const logOutputAsync=async({stream:r,onStreamEnd:A,fdNumber:s,encoding:n,allMixed:a,verboseInfo:u,streamInfo:{fileDescriptors:l}})=>{if(!shouldLogOutput({stdioItems:l[s]?.stdioItems,encoding:n,verboseInfo:u,fdNumber:s})){return}const g=iterateForResult({stream:r,onStreamEnd:A,lines:true,encoding:n,stripFinalNewline:true,allMixed:a});await logLines(g,r,s,u)};const resumeStream=async r=>{await(0,Ge.setImmediate)();if(r.readableFlowing===null){r.resume()}};const contents_getStreamContents=async({stream:r,stream:{readableObjectMode:A},iterable:s,fdNumber:n,encoding:a,maxBuffer:u,lines:l})=>{try{if(A||l){return await getStreamAsArray(s,{maxBuffer:u})}if(a==="buffer"){return new Uint8Array(await getStreamAsArrayBuffer(s,{maxBuffer:u}))}return await getStreamAsString(s,{maxBuffer:u})}catch(s){return handleBufferedData(handleMaxBuffer({error:s,stream:r,readableObjectMode:A,lines:l,encoding:a,fdNumber:n}))}};const getBufferedData=async r=>{try{return await r}catch(r){return handleBufferedData(r)}};const handleBufferedData=({bufferedData:r})=>isArrayBuffer(r)?new Uint8Array(r):r;const waitForStream=async(r,A,s,{isSameDirection:n,stopOnExit:a=false}={})=>{const u=handleStdinDestroy(r,s);const l=new AbortController;try{await Promise.race([...a?[s.exitPromise]:[],(0,zt.finished)(r,{cleanup:true,signal:l.signal})])}catch(r){if(!u.stdinCleanedUp){handleStreamError(r,A,s,n)}}finally{l.abort()}};const handleStdinDestroy=(r,{originalStreams:[A],subprocess:s})=>{const n={stdinCleanedUp:false};if(r===A){spyOnStdinDestroy(r,s,n)}return n};const spyOnStdinDestroy=(r,A,s)=>{const{_destroy:n}=r;r._destroy=(...a)=>{setStdinCleanedUp(A,s);n.call(r,...a)}};const setStdinCleanedUp=({exitCode:r,signalCode:A},s)=>{if(r!==null||A!==null){s.stdinCleanedUp=true}};const handleStreamError=(r,A,s,n)=>{if(!shouldIgnoreStreamError(r,A,s,n)){throw r}};const shouldIgnoreStreamError=(r,A,s,n=true)=>{if(s.propagating){return isStreamEpipe(r)||isStreamAbort(r)}s.propagating=true;return isInputFileDescriptor(s,A)===n?isStreamEpipe(r):isStreamAbort(r)};const isInputFileDescriptor=({fileDescriptors:r},A)=>A!=="all"&&r[A].direction==="input";const isStreamAbort=r=>r?.code==="ERR_STREAM_PREMATURE_CLOSE";const isStreamEpipe=r=>r?.code==="EPIPE";const waitForStdioStreams=({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:u,verboseInfo:l,streamInfo:g})=>r.stdio.map(((r,E)=>waitForSubprocessStream({stream:r,fdNumber:E,encoding:A,buffer:s[E],maxBuffer:n[E],lines:a[E],allMixed:false,stripFinalNewline:u,verboseInfo:l,streamInfo:g})));const waitForSubprocessStream=async({stream:r,fdNumber:A,encoding:s,buffer:n,maxBuffer:a,lines:u,allMixed:l,stripFinalNewline:g,verboseInfo:E,streamInfo:d})=>{if(!r){return}const p=waitForStream(r,A,d);if(isInputFileDescriptor(d,A)){await p;return}const[C]=await Promise.all([getStreamOutput({stream:r,onStreamEnd:p,fdNumber:A,encoding:s,buffer:n,maxBuffer:a,lines:u,allMixed:l,stripFinalNewline:g,verboseInfo:E,streamInfo:d}),p]);return C};const makeAllStream=({stdout:r,stderr:A},{all:s})=>s&&(r||A)?mergeStreams([r,A].filter(Boolean)):undefined;const waitForAllStream=({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:u,verboseInfo:l,streamInfo:g})=>waitForSubprocessStream({...getAllStream(r,s),fdNumber:"all",encoding:A,maxBuffer:n[1]+n[2],lines:a[1]||a[2],allMixed:getAllMixed(r),stripFinalNewline:u,verboseInfo:l,streamInfo:g});const getAllStream=({stdout:r,stderr:A,all:s},[,n,a])=>{const u=n||a;if(!u){return{stream:s,buffer:u}}if(!n){return{stream:A,buffer:u}}if(!a){return{stream:r,buffer:u}}return{stream:s,buffer:u}};const getAllMixed=({all:r,stdout:A,stderr:s})=>r&&A&&s&&A.readableObjectMode!==s.readableObjectMode;const shouldLogIpc=r=>isFullVerbose(r,"ipc");const logIpcOutput=(r,A)=>{const s=serializeVerboseMessage(r);verboseLog({type:"ipc",verboseMessage:s,fdNumber:"ipc",verboseInfo:A})};const waitForIpcOutput=async({subprocess:r,buffer:A,maxBuffer:s,ipc:n,ipcOutput:a,verboseInfo:u})=>{if(!n){return a}const l=shouldLogIpc(u);const g=getFdSpecificValue(A,"ipc");const E=getFdSpecificValue(s,"ipc");for await(const A of loopOnMessages({anyProcess:r,channel:r.channel,isSubprocess:false,ipc:n,shouldAwait:false,reference:true})){if(g){checkIpcMaxBuffer(r,a,E);a.push(A)}if(l){logIpcOutput(A,u)}}return a};const getBufferedIpcOutput=async(r,A)=>{await Promise.allSettled([r]);return A};const waitForSubprocessResult=async({subprocess:r,options:{encoding:A,buffer:s,maxBuffer:n,lines:a,timeoutDuration:u,cancelSignal:l,gracefulCancel:g,forceKillAfterDelay:E,stripFinalNewline:d,ipc:p,ipcInput:C},context:B,verboseInfo:Q,fileDescriptors:I,originalStreams:m,onInternalError:y,controller:w})=>{const D=waitForExit(r,B);const b={originalStreams:m,fileDescriptors:I,subprocess:r,exitPromise:D,propagating:false};const R=waitForStdioStreams({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:d,verboseInfo:Q,streamInfo:b});const S=waitForAllStream({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:d,verboseInfo:Q,streamInfo:b});const k=[];const F=waitForIpcOutput({subprocess:r,buffer:s,maxBuffer:n,ipc:p,ipcOutput:k,verboseInfo:Q});const T=waitForOriginalStreams(m,r,b);const N=waitForCustomStreamsEnd(I,b);try{return await Promise.race([Promise.all([{},waitForSuccessfulExit(D),Promise.all(R),S,F,sendIpcInput(r,C),...T,...N]),y,throwOnSubprocessError(r,w),...throwOnTimeout(r,u,B,w),...throwOnCancel({subprocess:r,cancelSignal:l,gracefulCancel:g,context:B,controller:w}),...throwOnGracefulCancel({subprocess:r,cancelSignal:l,gracefulCancel:g,forceKillAfterDelay:E,context:B,controller:w})])}catch(r){B.terminationReason??="other";return Promise.all([{error:r},D,Promise.all(R.map((r=>getBufferedData(r)))),getBufferedData(S),getBufferedIpcOutput(F,k),Promise.allSettled(T),Promise.allSettled(N)])}};const waitForOriginalStreams=(r,A,s)=>r.map(((r,n)=>r===A.stdio[n]?undefined:waitForStream(r,n,s)));const waitForCustomStreamsEnd=(r,A)=>r.flatMap((({stdioItems:r},s)=>r.filter((({value:r,stream:A=r})=>isStream(A,{checkOpen:false})&&!isStandardStream(A))).map((({type:r,value:n,stream:a=n})=>waitForStream(a,s,A,{isSameDirection:Ft.has(r),stopOnExit:r==="native"})))));const throwOnSubprocessError=async(r,{signal:A})=>{const[s]=await(0,Ke.once)(r,"error",{signal:A});throw s};const initializeConcurrentStreams=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap});const addConcurrentStream=(r,A,s)=>{const n=r[s];if(!n.has(A)){n.set(A,[])}const a=n.get(A);const u=createDeferred();a.push(u);const l=u.resolve.bind(u);return{resolve:l,promises:a}};const waitForConcurrentStreams=async({resolve:r,promises:A},s)=>{r();const[n]=await Promise.race([Promise.allSettled([true,s]),Promise.all([false,...A])]);return!n};const safeWaitForSubprocessStdin=async r=>{if(r===undefined){return}try{await waitForSubprocessStdin(r)}catch{}};const safeWaitForSubprocessStdout=async r=>{if(r===undefined){return}try{await waitForSubprocessStdout(r)}catch{}};const waitForSubprocessStdin=async r=>{await(0,zt.finished)(r,{cleanup:true,readable:false,writable:true})};const waitForSubprocessStdout=async r=>{await(0,zt.finished)(r,{cleanup:true,readable:true,writable:false})};const waitForSubprocess=async(r,A)=>{await r;if(A){throw A}};const destroyOtherStream=(r,A,s)=>{if(s&&!isStreamAbort(s)){r.destroy(s)}else if(A){r.destroy()}};const createReadable=({subprocess:r,concurrentStreams:A,encoding:s},{from:n,binary:a=true,preserveNewlines:u=true}={})=>{const l=a||ht.has(s);const{subprocessStdout:g,waitReadableDestroy:E}=getSubprocessStdout(r,n,A);const{readableEncoding:d,readableObjectMode:p,readableHighWaterMark:C}=getReadableOptions(g,l);const{read:B,onStdoutDataDone:Q}=getReadableMethods({subprocessStdout:g,subprocess:r,binary:l,encoding:s,preserveNewlines:u});const m=new Ht.Readable({read:B,destroy:(0,I.callbackify)(onReadableDestroy.bind(undefined,{subprocessStdout:g,subprocess:r,waitReadableDestroy:E})),highWaterMark:C,objectMode:p,encoding:d});onStdoutFinished({subprocessStdout:g,onStdoutDataDone:Q,readable:m,subprocess:r});return m};const getSubprocessStdout=(r,A,s)=>{const n=getFromStream(r,A);const a=addConcurrentStream(s,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:a}};const getReadableOptions=({readableEncoding:r,readableObjectMode:A,readableHighWaterMark:s},n)=>n?{readableEncoding:r,readableObjectMode:A,readableHighWaterMark:s}:{readableEncoding:r,readableObjectMode:true,readableHighWaterMark:Br};const getReadableMethods=({subprocessStdout:r,subprocess:A,binary:s,encoding:n,preserveNewlines:a})=>{const u=createDeferred();const l=iterateOnSubprocessStream({subprocessStdout:r,subprocess:A,binary:s,shouldEncode:!s,encoding:n,preserveNewlines:a});return{read(){onRead(this,l,u)},onStdoutDataDone:u}};const onRead=async(r,A,s)=>{try{const{value:n,done:a}=await A.next();if(a){s.resolve()}else{r.push(n)}}catch{}};const onStdoutFinished=async({subprocessStdout:r,onStdoutDataDone:A,readable:s,subprocess:n,subprocessStdin:a})=>{try{await waitForSubprocessStdout(r);await n;await safeWaitForSubprocessStdin(a);await A;if(s.readable){s.push(null)}}catch(r){await safeWaitForSubprocessStdin(a);destroyOtherReadable(s,r)}};const onReadableDestroy=async({subprocessStdout:r,subprocess:A,waitReadableDestroy:s},n)=>{if(await waitForConcurrentStreams(s,A)){destroyOtherReadable(r,n);await waitForSubprocess(A,n)}};const destroyOtherReadable=(r,A)=>{destroyOtherStream(r,r.readable,A)};const createWritable=({subprocess:r,concurrentStreams:A},{to:s}={})=>{const{subprocessStdin:n,waitWritableFinal:a,waitWritableDestroy:u}=getSubprocessStdin(r,s,A);const l=new Ht.Writable({...getWritableMethods(n,r,a),destroy:(0,I.callbackify)(onWritableDestroy.bind(undefined,{subprocessStdin:n,subprocess:r,waitWritableFinal:a,waitWritableDestroy:u})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});onStdinFinished(n,l);return l};const getSubprocessStdin=(r,A,s)=>{const n=getToStream(r,A);const a=addConcurrentStream(s,n,"writableFinal");const u=addConcurrentStream(s,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:a,waitWritableDestroy:u}};const getWritableMethods=(r,A,s)=>({write:onWrite.bind(undefined,r),final:(0,I.callbackify)(onWritableFinal.bind(undefined,r,A,s))});const onWrite=(r,A,s,n)=>{if(r.write(A,s)){n()}else{r.once("drain",n)}};const onWritableFinal=async(r,A,s)=>{if(await waitForConcurrentStreams(s,A)){if(r.writable){r.end()}await A}};const onStdinFinished=async(r,A,s)=>{try{await waitForSubprocessStdin(r);if(A.writable){A.end()}}catch(r){await safeWaitForSubprocessStdout(s);destroyOtherWritable(A,r)}};const onWritableDestroy=async({subprocessStdin:r,subprocess:A,waitWritableFinal:s,waitWritableDestroy:n},a)=>{await waitForConcurrentStreams(s,A);if(await waitForConcurrentStreams(n,A)){destroyOtherWritable(r,a);await waitForSubprocess(A,a)}};const destroyOtherWritable=(r,A)=>{destroyOtherStream(r,r.writable,A)};const createDuplex=({subprocess:r,concurrentStreams:A,encoding:s},{from:n,to:a,binary:u=true,preserveNewlines:l=true}={})=>{const g=u||ht.has(s);const{subprocessStdout:E,waitReadableDestroy:d}=getSubprocessStdout(r,n,A);const{subprocessStdin:p,waitWritableFinal:C,waitWritableDestroy:B}=getSubprocessStdin(r,a,A);const{readableEncoding:Q,readableObjectMode:m,readableHighWaterMark:y}=getReadableOptions(E,g);const{read:w,onStdoutDataDone:D}=getReadableMethods({subprocessStdout:E,subprocess:r,binary:g,encoding:s,preserveNewlines:l});const b=new Ht.Duplex({read:w,...getWritableMethods(p,r,C),destroy:(0,I.callbackify)(onDuplexDestroy.bind(undefined,{subprocessStdout:E,subprocessStdin:p,subprocess:r,waitReadableDestroy:d,waitWritableFinal:C,waitWritableDestroy:B})),readableHighWaterMark:y,writableHighWaterMark:p.writableHighWaterMark,readableObjectMode:m,writableObjectMode:p.writableObjectMode,encoding:Q});onStdoutFinished({subprocessStdout:E,onStdoutDataDone:D,readable:b,subprocess:r,subprocessStdin:p});onStdinFinished(p,b,E);return b};const onDuplexDestroy=async({subprocessStdout:r,subprocessStdin:A,subprocess:s,waitReadableDestroy:n,waitWritableFinal:a,waitWritableDestroy:u},l)=>{await Promise.all([onReadableDestroy({subprocessStdout:r,subprocess:s,waitReadableDestroy:n},l),onWritableDestroy({subprocessStdin:A,subprocess:s,waitWritableFinal:a,waitWritableDestroy:u},l)])};const createIterable=(r,A,{from:s,binary:n=false,preserveNewlines:a=false}={})=>{const u=n||ht.has(A);const l=getFromStream(r,s);const g=iterateOnSubprocessStream({subprocessStdout:l,subprocess:r,binary:u,shouldEncode:true,encoding:A,preserveNewlines:a});return iterateOnStdoutData(g,l,r)};const iterateOnStdoutData=async function*(r,A,s){try{yield*r}finally{if(A.readable){A.destroy()}await s}};const addConvertedStreams=(r,{encoding:A})=>{const s=initializeConcurrentStreams();r.readable=createReadable.bind(undefined,{subprocess:r,concurrentStreams:s,encoding:A});r.writable=createWritable.bind(undefined,{subprocess:r,concurrentStreams:s});r.duplex=createDuplex.bind(undefined,{subprocess:r,concurrentStreams:s,encoding:A});r.iterable=createIterable.bind(undefined,r,A);r[Symbol.asyncIterator]=createIterable.bind(undefined,r,A,{})};const mergePromise=(r,A)=>{for(const[s,n]of mr){const a=n.value.bind(A);Reflect.defineProperty(r,s,{...n,value:a})}};const Ir=(async()=>{})().constructor.prototype;const mr=["then","catch","finally"].map((r=>[r,Reflect.getOwnPropertyDescriptor(Ir,r)]));const execaCoreAsync=(r,A,s,n)=>{const{file:a,commandArguments:u,command:l,escapedCommand:g,startTime:E,verboseInfo:d,options:p,fileDescriptors:C}=handleAsyncArguments(r,A,s);const{subprocess:B,promise:Q}=spawnSubprocessAsync({file:a,commandArguments:u,options:p,startTime:E,verboseInfo:d,command:l,escapedCommand:g,fileDescriptors:C});B.pipe=pipeToSubprocess.bind(undefined,{source:B,sourcePromise:Q,boundOptions:{},createNested:n});mergePromise(B,Q);Ze.set(B,{options:p,fileDescriptors:C});return B};const handleAsyncArguments=(r,A,s)=>{const{command:n,escapedCommand:a,startTime:u,verboseInfo:l}=handleCommand(r,A,s);const{file:g,commandArguments:E,options:d}=normalizeOptions(r,A,s);const p=handleAsyncOptions(d);const C=handleStdioAsync(p,l);return{file:g,commandArguments:E,command:n,escapedCommand:a,startTime:u,verboseInfo:l,options:p,fileDescriptors:C}};const handleAsyncOptions=({timeout:r,signal:A,...s})=>{if(A!==undefined){throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.')}return{...s,timeoutDuration:r}};const spawnSubprocessAsync=({file:r,commandArguments:A,options:s,startTime:n,verboseInfo:a,command:u,escapedCommand:l,fileDescriptors:E})=>{let d;try{d=(0,g.spawn)(r,A,s)}catch(r){return handleEarlyError({error:r,command:u,escapedCommand:l,fileDescriptors:E,options:s,startTime:n,verboseInfo:a})}const p=new AbortController;(0,Ke.setMaxListeners)(Number.POSITIVE_INFINITY,p.signal);const C=[...d.stdio];pipeOutputAsync(d,E,p);cleanupOnExit(d,s,p);const B={};const Q=createDeferred();d.kill=subprocessKill.bind(undefined,{kill:d.kill.bind(d),options:s,onInternalError:Q,context:B,controller:p});d.all=makeAllStream(d,s);addConvertedStreams(d,s);addIpcMethods(d,s);const I=handlePromise({subprocess:d,options:s,startTime:n,verboseInfo:a,fileDescriptors:E,originalStreams:C,command:u,escapedCommand:l,context:B,onInternalError:Q,controller:p});return{subprocess:d,promise:I}};const handlePromise=async({subprocess:r,options:A,startTime:s,verboseInfo:n,fileDescriptors:a,originalStreams:u,command:l,escapedCommand:g,context:E,onInternalError:d,controller:p})=>{const[C,[B,Q],I,m,y]=await waitForSubprocessResult({subprocess:r,options:A,context:E,verboseInfo:n,fileDescriptors:a,originalStreams:u,onInternalError:d,controller:p});p.abort();d.resolve();const w=I.map(((r,s)=>stripNewline(r,A,s)));const D=stripNewline(m,A,"all");const b=getAsyncResult({errorInfo:C,exitCode:B,signal:Q,stdio:w,all:D,ipcOutput:y,context:E,options:A,command:l,escapedCommand:g,startTime:s});return handleResult(b,n,A)};const getAsyncResult=({errorInfo:r,exitCode:A,signal:s,stdio:n,all:a,ipcOutput:u,context:l,options:g,command:E,escapedCommand:d,startTime:p})=>"error"in r?makeError({error:r.error,command:E,escapedCommand:d,timedOut:l.terminationReason==="timeout",isCanceled:l.terminationReason==="cancel"||l.terminationReason==="gracefulCancel",isGracefullyCanceled:l.terminationReason==="gracefulCancel",isMaxBuffer:r.error instanceof MaxBufferError,isForcefullyTerminated:l.isForcefullyTerminated,exitCode:A,signal:s,stdio:n,all:a,ipcOutput:u,options:g,startTime:p,isSync:false}):makeSuccessResult({command:E,escapedCommand:d,stdio:n,all:a,ipcOutput:u,options:g,startTime:p});const mergeOptions=(r,A)=>{const s=Object.fromEntries(Object.entries(A).map((([A,s])=>[A,mergeOption(A,r[A],s)])));return{...r,...s}};const mergeOption=(r,A,s)=>{if(yr.has(r)&&isPlainObject(A)&&isPlainObject(s)){return{...A,...s}}return s};const yr=new Set(["env",...S]);const createExeca=(r,A,s,n)=>{const createNested=(r,A,n)=>createExeca(r,A,s,n);const boundExeca=(...a)=>callBoundExeca({mapArguments:r,deepOptions:s,boundOptions:A,setBoundExeca:n,createNested:createNested},...a);if(n!==undefined){n(boundExeca,createNested,A)}return boundExeca};const callBoundExeca=({mapArguments:r,deepOptions:A={},boundOptions:s={},setBoundExeca:n,createNested:a},u,...l)=>{if(isPlainObject(u)){return a(r,mergeOptions(s,u),n)}const{file:g,commandArguments:E,options:d,isSync:p}=parseArguments({mapArguments:r,firstArgument:u,nextArguments:l,deepOptions:A,boundOptions:s});return p?execaCoreSync(g,E,d):execaCoreAsync(g,E,d,a)};const parseArguments=({mapArguments:r,firstArgument:A,nextArguments:s,deepOptions:n,boundOptions:a})=>{const u=isTemplateString(A)?parseTemplates(A,s):[A,...s];const[l,g,E]=normalizeParameters(...u);const d=mergeOptions(mergeOptions(n,a),E);const{file:p=l,commandArguments:C=g,options:B=d,isSync:Q=false}=r({file:l,commandArguments:g,options:d});return{file:p,commandArguments:C,options:B,isSync:Q}};const mapCommandAsync=({file:r,commandArguments:A})=>parseCommand(r,A);const mapCommandSync=({file:r,commandArguments:A})=>({...parseCommand(r,A),isSync:true});const parseCommand=(r,A)=>{if(A.length>0){throw new TypeError(`The command and its arguments must be passed as a single string: ${r} ${A}.`)}const[s,...n]=parseCommandString(r);return{file:s,commandArguments:n}};const parseCommandString=r=>{if(typeof r!=="string"){throw new TypeError(`The command must be a string: ${String(r)}.`)}const A=r.trim();if(A===""){return[]}const s=[];for(const r of A.split(wr)){const A=s.at(-1);if(A&&A.endsWith("\\")){s[s.length-1]=`${A.slice(0,-1)} ${r}`}else{s.push(r)}}return s};const wr=/ +/g;const setScriptSync=(r,A,s)=>{r.sync=A(mapScriptSync,s);r.s=r.sync};const mapScriptAsync=({options:r})=>getScriptOptions(r);const mapScriptSync=({options:r})=>({...getScriptOptions(r),isSync:true});const getScriptOptions=r=>({options:{...getScriptStdinOption(r),...r}});const getScriptStdinOption=({input:r,inputFile:A,stdio:s})=>r===undefined&&A===undefined&&s===undefined?{stdin:"inherit"}:{};const Dr={preferLocal:true};const br=createExeca((()=>({})));const Rr=createExeca((()=>({isSync:true})));const Sr=createExeca(mapCommandAsync);const kr=createExeca(mapCommandSync);const Fr=createExeca(mapNode);const Tr=createExeca(mapScriptAsync,{},Dr,setScriptSync);const{sendMessage:Nr,getOneMessage:vr,getEachMessage:_r,getCancelSignal:Ur}=getIpcExport();var Lr=s(2811);function merge_streams_mergeStreams(r){if(!Array.isArray(r)){throw new TypeError(`Expected an array, got \`${typeof r}\`.`)}for(const A of r){merge_streams_validateStream(A)}const A=r.some((({readableObjectMode:r})=>r));const s=merge_streams_getHighWaterMark(r,A);const n=new merge_streams_MergedStream({objectMode:A,writableHighWaterMark:s,readableHighWaterMark:s});for(const A of r){n.add(A)}if(r.length===0){merge_streams_endStream(n)}return n}const merge_streams_getHighWaterMark=(r,A)=>{if(r.length===0){return 16384}const s=r.filter((({readableObjectMode:r})=>r===A)).map((({readableHighWaterMark:r})=>r));return Math.max(...s)};class merge_streams_MergedStream extends Ht.PassThrough{#m=new Set([]);#y=new Set([]);#w=new Set([]);#D;add(r){merge_streams_validateStream(r);if(this.#m.has(r)){return}this.#m.add(r);this.#D??=merge_streams_onMergedStreamFinished(this,this.#m);merge_streams_endWhenStreamsDone({passThroughStream:this,stream:r,streams:this.#m,ended:this.#y,aborted:this.#w,onFinished:this.#D});r.pipe(this,{end:false})}remove(r){merge_streams_validateStream(r);if(!this.#m.has(r)){return false}r.unpipe(this);return true}}const merge_streams_onMergedStreamFinished=async(r,A)=>{merge_streams_updateMaxListeners(r,Pr);const s=new AbortController;try{await Promise.race([merge_streams_onMergedStreamEnd(r,s),merge_streams_onInputStreamsUnpipe(r,A,s)])}finally{s.abort();merge_streams_updateMaxListeners(r,-Pr)}};const merge_streams_onMergedStreamEnd=async(r,{signal:A})=>{await(0,zt.finished)(r,{signal:A,cleanup:true})};const merge_streams_onInputStreamsUnpipe=async(r,A,{signal:s})=>{for await(const[n]of(0,Ke.on)(r,"unpipe",{signal:s})){if(A.has(n)){n.emit(Mr)}}};const merge_streams_validateStream=r=>{if(typeof r?.pipe!=="function"){throw new TypeError(`Expected a readable stream, got: \`${typeof r}\`.`)}};const merge_streams_endWhenStreamsDone=async({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,onFinished:u})=>{merge_streams_updateMaxListeners(r,Gr);const l=new AbortController;try{await Promise.race([merge_streams_afterMergedStreamFinished(u,A),merge_streams_onInputStreamEnd({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,controller:l}),merge_streams_onInputStreamUnpipe({stream:A,streams:s,ended:n,aborted:a,controller:l})])}finally{l.abort();merge_streams_updateMaxListeners(r,-Gr)}if(s.size===n.size+a.size){if(n.size===0&&a.size>0){merge_streams_abortStream(r)}else{merge_streams_endStream(r)}}};const merge_streams_isAbortError=r=>r?.code==="ERR_STREAM_PREMATURE_CLOSE";const merge_streams_afterMergedStreamFinished=async(r,A)=>{try{await r;merge_streams_abortStream(A)}catch(r){if(merge_streams_isAbortError(r)){merge_streams_abortStream(A)}else{merge_streams_errorStream(A,r)}}};const merge_streams_onInputStreamEnd=async({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,controller:{signal:u}})=>{try{await(0,zt.finished)(A,{signal:u,cleanup:true,readable:true,writable:false});if(s.has(A)){n.add(A)}}catch(n){if(u.aborted||!s.has(A)){return}if(merge_streams_isAbortError(n)){a.add(A)}else{merge_streams_errorStream(r,n)}}};const merge_streams_onInputStreamUnpipe=async({stream:r,streams:A,ended:s,aborted:n,controller:{signal:a}})=>{await(0,Ke.once)(r,Mr,{signal:a});A.delete(r);s.delete(r);n.delete(r)};const Mr=Symbol("unpipe");const merge_streams_endStream=r=>{if(r.writable){r.end()}};const merge_streams_abortStream=r=>{if(r.readable||r.writable){r.destroy()}};const merge_streams_errorStream=(r,A)=>{if(!r.destroyed){r.once("error",merge_streams_noop);r.destroy(A)}};const merge_streams_noop=()=>{};const merge_streams_updateMaxListeners=(r,A)=>{const s=r.getMaxListeners();if(s!==0&&s!==Number.POSITIVE_INFINITY){r.setMaxListeners(s+A)}};const Pr=2;const Gr=1;var xr=s(2485);var Or=s(9896);async function isType(r,A,s){if(typeof s!=="string"){throw new TypeError(`Expected a string, got ${typeof s}`)}try{const n=await Or.promises[r](s);return n[A]()}catch(r){if(r.code==="ENOENT"){return false}throw r}}function isTypeSync(r,A,s){if(typeof s!=="string"){throw new TypeError(`Expected a string, got ${typeof s}`)}try{return Or[r](s)[A]()}catch(r){if(r.code==="ENOENT"){return false}throw r}}const Hr=isType.bind(null,"stat","isFile");const Yr=isType.bind(null,"stat","isDirectory");const Jr=isType.bind(null,"lstat","isSymbolicLink");const Vr=isTypeSync.bind(null,"statSync","isFile");const Wr=isTypeSync.bind(null,"statSync","isDirectory");const qr=isTypeSync.bind(null,"lstatSync","isSymbolicLink");function node_toPath(r){return r instanceof URL?(0,l.fileURLToPath)(r):r}const jr=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs/promises");var Kr=s(2146);function slash(r){const A=r.startsWith("\\\\?\\");if(A){return r}return r.replace(/\\/g,"/")}const isNegativePattern=r=>r[0]==="!";const $r=["**/node_modules","**/flow-typed","**/coverage","**/.git"];const zr={absolute:true,dot:true};const Zr="**/.gitignore";const applyBaseToPattern=(r,A)=>isNegativePattern(r)?"!"+a.posix.join(A,r.slice(1)):a.posix.join(A,r);const parseIgnoreFile=(r,A)=>{const s=slash(a.relative(A,a.dirname(r.filePath)));return r.content.split(/\r?\n/).filter((r=>r&&!r.startsWith("#"))).map((r=>applyBaseToPattern(r,s)))};const toRelativePath=(r,A)=>{A=slash(A);if(a.isAbsolute(r)){if(slash(r).startsWith(A)){return a.relative(A,r)}throw new Error(`Path ${r} is not in cwd ${A}`)}return r};const getIsIgnoredPredicate=(r,A)=>{const s=r.flatMap((r=>parseIgnoreFile(r,A)));const n=Kr().add(s);return r=>{r=node_toPath(r);r=toRelativePath(r,A);return r?n.ignores(slash(r)):false}};const ignore_normalizeOptions=(r={})=>({cwd:node_toPath(r.cwd)??m.cwd(),suppressErrors:Boolean(r.suppressErrors),deep:typeof r.deep==="number"?r.deep:Number.POSITIVE_INFINITY,ignore:[...r.ignore??[],...$r]});const isIgnoredByIgnoreFiles=async(r,A)=>{const{cwd:s,suppressErrors:n,deep:a,ignore:u}=ignore_normalizeOptions(A);const l=await xr(r,{cwd:s,suppressErrors:n,deep:a,ignore:u,...zr});const g=await Promise.all(l.map((async r=>({filePath:r,content:await jr.readFile(r,"utf8")}))));return getIsIgnoredPredicate(g,s)};const isIgnoredByIgnoreFilesSync=(r,A)=>{const{cwd:s,suppressErrors:a,deep:u,ignore:l}=ignore_normalizeOptions(A);const g=xr.sync(r,{cwd:s,suppressErrors:a,deep:u,ignore:l,...zr});const E=g.map((r=>({filePath:r,content:n.readFileSync(r,"utf8")})));return getIsIgnoredPredicate(E,s)};const isGitIgnored=r=>isIgnoredByIgnoreFiles(Zr,r);const isGitIgnoredSync=r=>isIgnoredByIgnoreFilesSync(Zr,r);const assertPatternsInput=r=>{if(r.some((r=>typeof r!=="string"))){throw new TypeError("Patterns must be a string or an array of strings")}};const normalizePathForDirectoryGlob=(r,A)=>{const s=isNegativePattern(r)?r.slice(1):r;return a.isAbsolute(s)?s:a.join(A,s)};const getDirectoryGlob=({directoryPath:r,files:A,extensions:s})=>{const n=s?.length>0?`.${s.length>1?`{${s.join(",")}}`:s[0]}`:"";return A?A.map((A=>a.posix.join(r,`**/${a.extname(A)?A:`${A}${n}`}`))):[a.posix.join(r,`**${n?`/*${n}`:""}`)]};const directoryToGlob=async(r,{cwd:A=m.cwd(),files:s,extensions:n}={})=>{const a=await Promise.all(r.map((async r=>await Yr(normalizePathForDirectoryGlob(r,A))?getDirectoryGlob({directoryPath:r,files:s,extensions:n}):r)));return a.flat()};const directoryToGlobSync=(r,{cwd:A=m.cwd(),files:s,extensions:n}={})=>r.flatMap((r=>Wr(normalizePathForDirectoryGlob(r,A))?getDirectoryGlob({directoryPath:r,files:s,extensions:n}):r));const toPatternsArray=r=>{r=[...new Set([r].flat())];assertPatternsInput(r);return r};const checkCwdOption=r=>{if(!r){return}let A;try{A=n.statSync(r)}catch{return}if(!A.isDirectory()){throw new Error("The `cwd` option must be a path to a directory")}};const globby_normalizeOptions=(r={})=>{r={...r,ignore:r.ignore??[],expandDirectories:r.expandDirectories??true,cwd:node_toPath(r.cwd)};checkCwdOption(r.cwd);return r};const normalizeArguments=r=>async(A,s)=>r(toPatternsArray(A),globby_normalizeOptions(s));const normalizeArgumentsSync=r=>(A,s)=>r(toPatternsArray(A),globby_normalizeOptions(s));const getIgnoreFilesPatterns=r=>{const{ignoreFiles:A,gitignore:s}=r;const n=A?toPatternsArray(A):[];if(s){n.push(Zr)}return n};const getFilter=async r=>{const A=getIgnoreFilesPatterns(r);return createFilterFunction(A.length>0&&await isIgnoredByIgnoreFiles(A,r))};const getFilterSync=r=>{const A=getIgnoreFilesPatterns(r);return createFilterFunction(A.length>0&&isIgnoredByIgnoreFilesSync(A,r))};const createFilterFunction=r=>{const A=new Set;return s=>{const n=a.normalize(s.path??s);if(A.has(n)||r&&r(n)){return false}A.add(n);return true}};const unionFastGlobResults=(r,A)=>r.flat().filter((r=>A(r)));const convertNegativePatterns=(r,A)=>{const s=[];while(r.length>0){const n=r.findIndex((r=>isNegativePattern(r)));if(n===-1){s.push({patterns:r,options:A});break}const a=r[n].slice(1);for(const r of s){r.options.ignore.push(a)}if(n!==0){s.push({patterns:r.slice(0,n),options:{...A,ignore:[...A.ignore,a]}})}r=r.slice(n+1)}return s};const normalizeExpandDirectoriesOption=(r,A)=>({...A?{cwd:A}:{},...Array.isArray(r)?{files:r}:r});const generateTasks=async(r,A)=>{const s=convertNegativePatterns(r,A);const{cwd:n,expandDirectories:a}=A;if(!a){return s}const u=normalizeExpandDirectoriesOption(a,n);return Promise.all(s.map((async r=>{let{patterns:A,options:s}=r;[A,s.ignore]=await Promise.all([directoryToGlob(A,u),directoryToGlob(s.ignore,{cwd:n})]);return{patterns:A,options:s}})))};const generateTasksSync=(r,A)=>{const s=convertNegativePatterns(r,A);const{cwd:n,expandDirectories:a}=A;if(!a){return s}const u=normalizeExpandDirectoriesOption(a,n);return s.map((r=>{let{patterns:A,options:s}=r;A=directoryToGlobSync(A,u);s.ignore=directoryToGlobSync(s.ignore,{cwd:n});return{patterns:A,options:s}}))};const Xr=normalizeArguments((async(r,A)=>{const[s,n]=await Promise.all([generateTasks(r,A),getFilter(A)]);const a=await Promise.all(s.map((r=>xr(r.patterns,r.options))));return unionFastGlobResults(a,n)}));const eA=normalizeArgumentsSync(((r,A)=>{const s=generateTasksSync(r,A);const n=getFilterSync(A);const a=s.map((r=>xr.sync(r.patterns,r.options)));return unionFastGlobResults(a,n)}));const tA=normalizeArgumentsSync(((r,A)=>{const s=generateTasksSync(r,A);const n=getFilterSync(A);const a=s.map((r=>xr.stream(r.patterns,r.options)));const u=merge_streams_mergeStreams(a).filter((r=>n(r)));return u}));const rA=normalizeArgumentsSync(((r,A)=>r.some((r=>xr.isDynamicPattern(r,A)))));const AA=normalizeArguments(generateTasks);const sA=normalizeArgumentsSync(generateTasksSync);const{convertPathToPattern:nA}=xr;var oA=s(3167);const iA=[".app.tar.gz.sig",".app.tar.gz",".dmg",".AppImage.tar.gz.sig",".AppImage.tar.gz",".AppImage.sig",".AppImage",".deb",".rpm",".msi.zip.sig",".msi.zip",".msi.sig",".msi",".nsis.zip.sig",".nsis.zip",".exe.sig",".exe"];function getAssetName(r){const A=u().basename(r);const s=iA.filter((r=>A.includes(r)));const n=s[0]||u().extname(r);const a=A.replace(n,"");let l="";if(n===".app.tar.gz.sig"||n===".app.tar.gz"){if(r.includes("universal-apple-darwin")){l="_universal"}else if(r.includes("aarch64-apple-darwin")){l="_aarch64"}else if(r.includes("x86_64-apple-darwin")){l="_x64"}else{l=process.arch==="arm64"?"_aarch64":"_x64"}}return r.includes(`${u().sep}debug${u().sep}`)?`${a}-debug${l}${n}`:`${a}${l}${n}`}function getPackageJson(r){const A=(0,a.join)(r,"package.json");if((0,n.existsSync)(A)){const r=(0,n.readFileSync)(A).toString();return JSON.parse(r)}return null}function getTauriDir(r){const A=eA(["**/tauri.conf.json","**/tauri.conf.json5","**/Tauri.toml"],{gitignore:true,cwd:r,ignore:["**/target","**/node_modules"]});if(A.length===0){return null}return(0,a.resolve)(r,A[0],"..")}function getWorkspaceDir(r){const A=r;while(r.length&&r[r.length-1]!==a.sep){const s=(0,a.join)(r,"Cargo.toml");if((0,n.existsSync)(s)){const u=(0,Lr.parse)((0,n.readFileSync)(s).toString());if(u.workspace?.members){const s=["**/target","**/node_modules"];if(u.workspace.exclude)s.push(...u.workspace.exclude);const n=eA(u.workspace.members,{cwd:r,ignore:s,expandDirectories:false,onlyFiles:false});if(n.some((s=>(0,a.resolve)(r,s)===A))){return r}}}r=(0,a.normalize)((0,a.join)(r,".."))}return null}function getTargetDir(r,A,s){const l=(0,a.join)(r,"target");let g=A;let E;let d;if(process.env.CARGO_TARGET_DIR){E=process.env.CARGO_TARGET_DIR??l}while(g.length&&g[g.length-1]!==a.sep){let r=(0,a.join)(g,".cargo/config");if(!(0,n.existsSync)(r)){r=(0,a.join)(g,".cargo/config.toml")}if((0,n.existsSync)(r)){const A=(0,Lr.parse)((0,n.readFileSync)(r).toString());if(!E&&A.build?.["target-dir"]){const r=A.build["target-dir"];if(u().isAbsolute(r)){E=r}else{E=(0,a.normalize)((0,a.join)(g,r))}}if(!s&&!d&&typeof A.build?.target==="string"){d=A.build.target}}if(E&&d)break;g=(0,a.normalize)((0,a.join)(g,".."))}if(E){return(0,a.normalize)((0,a.join)(E,d??""))}return(0,a.normalize)((0,a.join)(l,d??""))}function getCargoManifest(r){const A=(0,a.join)(r,"Cargo.toml");const s=(0,Lr.parse)((0,n.readFileSync)(A).toString());let u=s.package.name;let l=s.package.version;if(typeof s.package.version=="object"||typeof s.package.name=="object"){const A=getWorkspaceDir(r);if(!A){throw new Error("Could not find workspace directory, but version and/or name specifies to use workspace package")}const s=(0,a.join)(A,"Cargo.toml");const g=(0,Lr.parse)((0,n.readFileSync)(s).toString());if(typeof u==="object"&&g?.workspace?.package?.name!==undefined){u=g.workspace.package.name}if(typeof l==="object"&&g?.workspace?.package?.version!==undefined){l=g.workspace.package.version}}return{...s,package:{...s.package,name:u,version:l}}}function hasDependency(r,A){const s=getPackageJson(A);return s&&(s.dependencies?.[r]||s.devDependencies?.[r])}function usesYarn(r){return(0,n.existsSync)((0,a.join)(r,"yarn.lock"))}function usesPnpm(r){return(0,n.existsSync)((0,a.join)(r,"pnpm-lock.yaml"))}function usesBun(r){return(0,n.existsSync)((0,a.join)(r,"bun.lockb"))}function execCommand(r,A,{cwd:s}={},n={}){console.log(`running ${r}`,A);return br(r,A,{cwd:s,stdio:"inherit",env:{FORCE_COLOR:"0",...n}}).then()}function getInfo(r,A,s){const u=getTauriDir(r);if(u!==null){let l;let g;let E="en-US";let d="1";const p=oA.K.fromBaseConfig(u);if(A){p.mergePlatformConfig(u,A.platform)}if(s){p.mergeUserConfig(r,s)}l=p?.productName;if(p.version?.endsWith(".json")){const r=(0,a.join)(u,p?.version);const A=(0,n.readFileSync)(r).toString();g=JSON.parse(A).version}else{g=p?.version}if(!(l&&g)){const r=getCargoManifest(u);l=l??r.package.name;g=g??r.package.version}if(!(l&&g)){console.error("Could not determine package name and version.");process.exit(1)}const C=g.replace(/[-+]/g,".");if(p.wixLanguage){E=p.wixLanguage}if(p.rpmRelease){d=p.rpmRelease}return{tauriPath:u,name:l,version:g,wixLanguage:E,wixAppVersion:C,rpmRelease:d,unzippedSigs:p.unzippedSigs===true}}else{throw Error("Couldn't detect Tauri dir")}}function getTargetInfo(r){let A=process.arch;let s=process.platform==="win32"?"windows":process.platform==="darwin"?"macos":"linux";if(r){if(r.includes("windows")){s="windows"}else if(r.includes("darwin")||r.includes("macos")){s="macos"}else if(r.includes("linux")){s="linux"}else if(r.includes("android")){s="android"}else if(r.includes("ios")){s="ios"}if(r.includes("-")){A=r.split("-")[0]}}return{arch:A,platform:s}}},2613:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("assert")},290:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("async_hooks")},181:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("buffer")},5317:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("child_process")},4236:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("console")},6982:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("crypto")},1637:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("diagnostics_channel")},4434:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("events")},9896:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("fs")},8611:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http")},5675:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http2")},5692:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("https")},9278:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("net")},8474:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:events")},3024:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs")},6760:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:path")},7075:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream")},7975:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:util")},857:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("os")},6928:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("path")},2987:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("perf_hooks")},3480:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("querystring")},2203:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream")},3774:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream/web")},3193:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("string_decoder")},3557:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("timers")},4756:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("tls")},7016:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("url")},9023:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util")},8253:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util/types")},8167:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("worker_threads")},3106:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("zlib")},6917:(r,A,s)=>{const n=s(7075).Writable;const a=s(7975).inherits;const u=s(439);const l=s(5341);const g=s(6890);const E=45;const d=Buffer.from("-");const p=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(r){if(!(this instanceof Dicer)){return new Dicer(r)}n.call(this,r);if(!r||!r.headerFirst&&typeof r.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof r.boundary==="string"){this.setBoundary(r.boundary)}else{this._bparser=undefined}this._headerFirst=r.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:r.partHwm};this._pause=false;const A=this;this._hparser=new g(r);this._hparser.on("header",(function(r){A._inHeader=false;A._part.emit("header",r)}))}a(Dicer,n);Dicer.prototype.emit=function(r){if(r==="finish"&&!this._realFinish){if(!this._finished){const r=this;process.nextTick((function(){r.emit("error",new Error("Unexpected end of multipart data"));if(r._part&&!r._ignoreData){const A=r._isPreamble?"Preamble":"Part";r._part.emit("error",new Error(A+" terminated early due to unexpected end of multipart data"));r._part.push(null);process.nextTick((function(){r._realFinish=true;r.emit("finish");r._realFinish=false}));return}r._realFinish=true;r.emit("finish");r._realFinish=false}))}}else{n.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(r,A,s){if(!this._hparser&&!this._bparser){return s()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new l(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const A=this._hparser.push(r);if(!this._inHeader&&A!==undefined&&A{const n=s(8474).EventEmitter;const a=s(7975).inherits;const u=s(1954);const l=s(439);const g=Buffer.from("\r\n\r\n");const E=/\r\n/g;const d=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(r){n.call(this);r=r||{};const A=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=u(r,"maxHeaderPairs",2e3);this.maxHeaderSize=u(r,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new l(g);this.ss.on("info",(function(r,s,n,a){if(s&&!A.maxed){if(A.nread+a-n>=A.maxHeaderSize){a=A.maxHeaderSize-A.nread+n;A.nread=A.maxHeaderSize;A.maxed=true}else{A.nread+=a-n}A.buffer+=s.toString("binary",n,a)}if(r){A._finish()}}))}a(HeaderParser,n);HeaderParser.prototype.push=function(r){const A=this.ss.push(r);if(this.finished){return A}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const r=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",r)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const r=this.buffer.split(E);const A=r.length;let s,n;for(var a=0;a{const n=s(7975).inherits;const a=s(7075).Readable;function PartStream(r){a.call(this,r)}n(PartStream,a);PartStream.prototype._read=function(r){};r.exports=PartStream},439:(r,A,s)=>{const n=s(8474).EventEmitter;const a=s(7975).inherits;function SBMH(r){if(typeof r==="string"){r=Buffer.from(r)}if(!Buffer.isBuffer(r)){throw new TypeError("The needle has to be a String or a Buffer.")}const A=r.length;if(A===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(A>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(A);this._lookbehind_size=0;this._needle=r;this._bufpos=0;this._lookbehind=Buffer.alloc(A);for(var s=0;s=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const s=this._lookbehind_size+u;if(s>0){this.emit("info",false,this._lookbehind,0,s)}this._lookbehind.copy(this._lookbehind,0,s,this._lookbehind_size-s);this._lookbehind_size-=s;r.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=A;this._bufpos=A;return A}}u+=(u>=0)*this._bufpos;if(r.indexOf(s,u)!==-1){u=r.indexOf(s,u);++this.matches;if(u>0){this.emit("info",true,r,this._bufpos,u)}else{this.emit("info",true)}return this._bufpos=u+n}else{u=A-n}while(u0){this.emit("info",false,r,this._bufpos,u{const n=s(7075).Writable;const{inherits:a}=s(7975);const u=s(6917);const l=s(4945);const g=s(1724);const E=s(6812);function Busboy(r){if(!(this instanceof Busboy)){return new Busboy(r)}if(typeof r!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof r.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof r.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:A,...s}=r;this.opts={autoDestroy:false,...s};n.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(A);this._finished=false}a(Busboy,n);Busboy.prototype.emit=function(r){if(r==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}n.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(r){const A=E(r["content-type"]);const s={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:r,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:A,preservePath:this.opts.preservePath};if(l.detect.test(A[0])){return new l(this,s)}if(g.detect.test(A[0])){return new g(this,s)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(r,A,s){this._parser.write(r,s)};r.exports=Busboy;r.exports["default"]=Busboy;r.exports.Busboy=Busboy;r.exports.Dicer=u},4945:(r,A,s)=>{const{Readable:n}=s(7075);const{inherits:a}=s(7975);const u=s(6917);const l=s(6812);const g=s(3772);const E=s(4935);const d=s(1954);const p=/^boundary$/i;const C=/^form-data$/i;const B=/^charset$/i;const Q=/^filename$/i;const I=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(r,A){let s;let n;const a=this;let m;const y=A.limits;const w=A.isPartAFile||((r,A,s)=>A==="application/octet-stream"||s!==undefined);const D=A.parsedConType||[];const b=A.defCharset||"utf8";const R=A.preservePath;const S={highWaterMark:A.fileHwm};for(s=0,n=D.length;sv){a.parser.removeListener("part",onPart);a.parser.on("part",skipPart);r.hitPartsLimit=true;r.emit("partsLimit");return skipPart(A)}if(x){const r=x;r.emit("end");r.removeAllListeners("end")}A.on("header",(function(u){let d;let p;let m;let y;let D;let v;let _=0;if(u["content-type"]){m=l(u["content-type"][0]);if(m[0]){d=m[0].toLowerCase();for(s=0,n=m.length;sF){const n=F-_+r.length;if(n>0){s.push(r.slice(0,n))}s.truncated=true;s.bytesRead=F;A.removeAllListeners("data");s.emit("limit");return}else if(!s.push(r)){a._pause=true}s.bytesRead=_};O=function(){G=undefined;s.push(null)}}else{if(M===N){if(!r.hitFieldsLimit){r.hitFieldsLimit=true;r.emit("fieldsLimit")}return skipPart(A)}++M;++P;let s="";let n=false;x=A;U=function(r){if((_+=r.length)>k){const a=k-(_-r.length);s+=r.toString("binary",0,a);n=true;A.removeAllListeners("data")}else{s+=r.toString("binary")}};O=function(){x=undefined;if(s.length){s=g(s,"binary",y)}r.emit("field",p,s,false,n,D,d);--P;checkFinished()}}A._readableState.sync=false;A.on("data",U);A.on("end",O)})).on("error",(function(r){if(G){G.emit("error",r)}}))})).on("error",(function(A){r.emit("error",A)})).on("finish",(function(){O=true;checkFinished()}))}Multipart.prototype.write=function(r,A){const s=this.parser.write(r);if(s&&!this._pause){A()}else{this._needDrain=!s;this._cb=A}};Multipart.prototype.end=function(){const r=this;if(r.parser.writable){r.parser.end()}else if(!r._boy._done){process.nextTick((function(){r._boy._done=true;r._boy.emit("finish")}))}};function skipPart(r){r.resume()}function FileStream(r){n.call(this,r);this.bytesRead=0;this.truncated=false}a(FileStream,n);FileStream.prototype._read=function(r){};r.exports=Multipart},1724:(r,A,s)=>{const n=s(393);const a=s(3772);const u=s(1954);const l=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(r,A){const s=A.limits;const a=A.parsedConType;this.boy=r;this.fieldSizeLimit=u(s,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=u(s,"fieldNameSize",100);this.fieldsLimit=u(s,"fields",Infinity);let g;for(var E=0,d=a.length;El){this._key+=this.decoder.write(r.toString("binary",l,s))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();l=s+1}else if(n!==undefined){++this._fields;let s;const u=this._keyTrunc;if(n>l){s=this._key+=this.decoder.write(r.toString("binary",l,n))}else{s=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(s.length){this.boy.emit("field",a(s,"binary",this.charset),"",u,false)}l=n+1;if(this._fields===this.fieldsLimit){return A()}}else if(this._hitLimit){if(u>l){this._key+=this.decoder.write(r.toString("binary",l,u))}l=u;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(ll){this._val+=this.decoder.write(r.toString("binary",l,n))}this.boy.emit("field",a(this._key,"binary",this.charset),a(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();l=n+1;if(this._fields===this.fieldsLimit){return A()}}else if(this._hitLimit){if(u>l){this._val+=this.decoder.write(r.toString("binary",l,u))}l=u;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(l0){this.boy.emit("field",a(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",a(this._key,"binary",this.charset),a(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};r.exports=UrlEncoded},393:r=>{const A=/\+/g;const s=[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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,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,1,1,1,1,1,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];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(r){r=r.replace(A," ");let n="";let a=0;let u=0;const l=r.length;for(;au){n+=r.substring(u,a);u=a}this.buffer="";++u}}if(u{r.exports=function basename(r){if(typeof r!=="string"){return""}for(var A=r.length-1;A>=0;--A){switch(r.charCodeAt(A)){case 47:case 92:r=r.slice(A+1);return r===".."||r==="."?"":r}}return r===".."||r==="."?"":r}},3772:function(r){const A=new TextDecoder("utf-8");const s=new Map([["utf-8",A],["utf8",A]]);function getDecoder(r){let A;while(true){switch(r){case"utf-8":case"utf8":return n.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return n.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return n.utf16le;case"base64":return n.base64;default:if(A===undefined){A=true;r=r.toLowerCase();continue}return n.other.bind(r)}}}const n={utf8:(r,A)=>{if(r.length===0){return""}if(typeof r==="string"){r=Buffer.from(r,A)}return r.utf8Slice(0,r.length)},latin1:(r,A)=>{if(r.length===0){return""}if(typeof r==="string"){return r}return r.latin1Slice(0,r.length)},utf16le:(r,A)=>{if(r.length===0){return""}if(typeof r==="string"){r=Buffer.from(r,A)}return r.ucs2Slice(0,r.length)},base64:(r,A)=>{if(r.length===0){return""}if(typeof r==="string"){r=Buffer.from(r,A)}return r.base64Slice(0,r.length)},other:(r,A)=>{if(r.length===0){return""}if(typeof r==="string"){r=Buffer.from(r,A)}if(s.has(this.toString())){try{return s.get(this).decode(r)}catch{}}return typeof r==="string"?r:r.toString()}};function decodeText(r,A,s){if(r){return getDecoder(s)(r,A)}return r}r.exports=decodeText},1954:r=>{r.exports=function getLimit(r,A,s){if(!r||r[A]===undefined||r[A]===null){return s}if(typeof r[A]!=="number"||isNaN(r[A])){throw new TypeError("Limit "+A+" is not a valid number")}return r[A]}},6812:(r,A,s)=>{const n=s(3772);const a=/%[a-fA-F0-9][a-fA-F0-9]/g;const u={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"€","%81":"","%82":"‚","%83":"ƒ","%84":"„","%85":"…","%86":"†","%87":"‡","%88":"ˆ","%89":"‰","%8a":"Š","%8A":"Š","%8b":"‹","%8B":"‹","%8c":"Œ","%8C":"Œ","%8d":"","%8D":"","%8e":"Ž","%8E":"Ž","%8f":"","%8F":"","%90":"","%91":"‘","%92":"’","%93":"“","%94":"”","%95":"•","%96":"–","%97":"—","%98":"˜","%99":"™","%9a":"š","%9A":"š","%9b":"›","%9B":"›","%9c":"œ","%9C":"œ","%9d":"","%9D":"","%9e":"ž","%9E":"ž","%9f":"Ÿ","%9F":"Ÿ","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(r){return u[r]}const l=0;const g=1;const E=2;const d=3;function parseParams(r){const A=[];let s=l;let u="";let p=false;let C=false;let B=0;let Q="";const I=r.length;for(var m=0;m{s.d(A,{A:()=>parseArgsStringToArgv});function parseArgsStringToArgv(r,A,s){var n=/([^\s'"]([^\s'"]*(['"])([^\3]*?)\3)+[^\s'"]*)|[^\s'"]+|(['"])([^\5]*?)\5/gi;var a=r;var u=[];if(A){u.push(A)}if(s){u.push(s)}var l;do{l=n.exec(a);if(l!==null){u.push(firstString(l[1],l[6],l[0]))}}while(l!==null);return u}function firstString(){var r=[];for(var A=0;A{var r=typeof Symbol==="function"?Symbol("webpack queues"):"__webpack_queues__";var A=typeof Symbol==="function"?Symbol("webpack exports"):"__webpack_exports__";var s=typeof Symbol==="function"?Symbol("webpack error"):"__webpack_error__";var resolveQueue=r=>{if(r&&r.d<1){r.d=1;r.forEach((r=>r.r--));r.forEach((r=>r.r--?r.r++:r()))}};var wrapDeps=n=>n.map((n=>{if(n!==null&&typeof n==="object"){if(n[r])return n;if(n.then){var a=[];a.d=0;n.then((r=>{u[A]=r;resolveQueue(a)}),(r=>{u[s]=r;resolveQueue(a)}));var u={};u[r]=r=>r(a);return u}}var l={};l[r]=r=>{};l[A]=n;return l}));__nccwpck_require__.a=(n,a,u)=>{var l;u&&((l=[]).d=-1);var g=new Set;var E=n.exports;var d;var p;var C;var B=new Promise(((r,A)=>{C=A;p=r}));B[A]=E;B[r]=r=>(l&&r(l),g.forEach(r),B["catch"]((r=>{})));n.exports=B;a((n=>{d=wrapDeps(n);var a;var getResult=()=>d.map((r=>{if(r[s])throw r[s];return r[A]}));var u=new Promise((A=>{a=()=>A(getResult);a.r=0;var fnQueue=r=>r!==l&&!g.has(r)&&(g.add(r),r&&!r.d&&(a.r++,r.push(a)));d.map((A=>A[r](fnQueue)))}));return a.r?u:getResult()}),(r=>(r?C(B[s]=r):p(E),resolveQueue(l))));l&&l.d<0&&(l.d=0)}})();(()=>{__nccwpck_require__.n=r=>{var A=r&&r.__esModule?()=>r["default"]:()=>r;__nccwpck_require__.d(A,{a:A});return A}})();(()=>{__nccwpck_require__.d=(r,A)=>{for(var s in A){if(__nccwpck_require__.o(A,s)&&!__nccwpck_require__.o(r,s)){Object.defineProperty(r,s,{enumerable:true,get:A[s]})}}}})();(()=>{__nccwpck_require__.o=(r,A)=>Object.prototype.hasOwnProperty.call(r,A)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=new URL(".",import.meta.url).pathname.slice(import.meta.url.match(/^file:\/\/\/\w:/)?1:0,-1)+"/";var __webpack_exports__=__nccwpck_require__(6677);__webpack_exports__=await __webpack_exports__; \ No newline at end of file +/*! ws. MIT License. Einar Otto Stangvik */u[a-4]=this.maskKey[0];u[a-3]=this.maskKey[1];u[a-2]=this.maskKey[2];u[a-1]=this.maskKey[3];u[1]=s;if(s===126){u.writeUInt16BE(A,2)}else if(s===127){u[2]=u[3]=0;u.writeUIntBE(A,4,6)}u[1]|=128;for(let r=0;r{const{Writable:n}=s(2203);const a=s(1637);const{parserStates:u,opcodes:l,states:g,emptyBuffer:E}=s(3464);const{kReadyState:d,kSentClose:p,kResponse:C,kReceivedClose:B}=s(5832);const{isValidStatusCode:Q,failWebsocketConnection:I,websocketMessageReceived:m}=s(3385);const{WebsocketFrameSend:y}=s(3272);const w={};w.ping=a.channel("undici:websocket:ping");w.pong=a.channel("undici:websocket:pong");class ByteParser extends n{#o=[];#i=0;#a=u.INFO;#c={};#u=[];constructor(r){super();this.ws=r}_write(r,A,s){this.#o.push(r);this.#i+=r.length;this.run(s)}run(r){while(true){if(this.#a===u.INFO){if(this.#i<2){return r()}const A=this.consume(2);this.#c.fin=(A[0]&128)!==0;this.#c.opcode=A[0]&15;this.#c.originalOpcode??=this.#c.opcode;this.#c.fragmented=!this.#c.fin&&this.#c.opcode!==l.CONTINUATION;if(this.#c.fragmented&&this.#c.opcode!==l.BINARY&&this.#c.opcode!==l.TEXT){I(this.ws,"Invalid frame type was fragmented.");return}const s=A[1]&127;if(s<=125){this.#c.payloadLength=s;this.#a=u.READ_DATA}else if(s===126){this.#a=u.PAYLOADLENGTH_16}else if(s===127){this.#a=u.PAYLOADLENGTH_64}if(this.#c.fragmented&&s>125){I(this.ws,"Fragmented frame exceeded 125 bytes.");return}else if((this.#c.opcode===l.PING||this.#c.opcode===l.PONG||this.#c.opcode===l.CLOSE)&&s>125){I(this.ws,"Payload length for control frame exceeded 125 bytes.");return}else if(this.#c.opcode===l.CLOSE){if(s===1){I(this.ws,"Received close frame with a 1-byte body.");return}const r=this.consume(s);this.#c.closeInfo=this.parseCloseBody(false,r);if(!this.ws[p]){const r=Buffer.allocUnsafe(2);r.writeUInt16BE(this.#c.closeInfo.code,0);const A=new y(r);this.ws[C].socket.write(A.createFrame(l.CLOSE),(r=>{if(!r){this.ws[p]=true}}))}this.ws[d]=g.CLOSING;this.ws[B]=true;this.end();return}else if(this.#c.opcode===l.PING){const A=this.consume(s);if(!this.ws[B]){const r=new y(A);this.ws[C].socket.write(r.createFrame(l.PONG));if(w.ping.hasSubscribers){w.ping.publish({payload:A})}}this.#a=u.INFO;if(this.#i>0){continue}else{r();return}}else if(this.#c.opcode===l.PONG){const A=this.consume(s);if(w.pong.hasSubscribers){w.pong.publish({payload:A})}if(this.#i>0){continue}else{r();return}}}else if(this.#a===u.PAYLOADLENGTH_16){if(this.#i<2){return r()}const A=this.consume(2);this.#c.payloadLength=A.readUInt16BE(0);this.#a=u.READ_DATA}else if(this.#a===u.PAYLOADLENGTH_64){if(this.#i<8){return r()}const A=this.consume(8);const s=A.readUInt32BE(0);if(s>2**31-1){I(this.ws,"Received payload length > 2^31 bytes.");return}const n=A.readUInt32BE(4);this.#c.payloadLength=(s<<8)+n;this.#a=u.READ_DATA}else if(this.#a===u.READ_DATA){if(this.#i=this.#c.payloadLength){const r=this.consume(this.#c.payloadLength);this.#u.push(r);if(!this.#c.fragmented||this.#c.fin&&this.#c.opcode===l.CONTINUATION){const r=Buffer.concat(this.#u);m(this.ws,this.#c.originalOpcode,r);this.#c={};this.#u.length=0}this.#a=u.INFO}}if(this.#i>0){continue}else{r();break}}}consume(r){if(r>this.#i){return null}else if(r===0){return E}if(this.#o[0].length===r){this.#i-=this.#o[0].length;return this.#o.shift()}const A=Buffer.allocUnsafe(r);let s=0;while(s!==r){const n=this.#o[0];const{length:a}=n;if(a+s===r){A.set(this.#o.shift(),s);break}else if(a+s>r){A.set(n.subarray(0,r-s),s);this.#o[0]=n.subarray(r-s);break}else{A.set(this.#o.shift(),s);s+=n.length}}this.#i-=r;return A}parseCloseBody(r,A){let s;if(A.length>=2){s=A.readUInt16BE(0)}if(r){if(!Q(s)){return null}return{code:s}}let n=A.subarray(2);if(n[0]===239&&n[1]===187&&n[2]===191){n=n.subarray(3)}if(s!==undefined&&!Q(s)){return null}try{n=new TextDecoder("utf-8",{fatal:true}).decode(n)}catch{return null}return{code:s,reason:n}}get closingInfo(){return this.#c.closeInfo}}r.exports={ByteParser:ByteParser}},5832:r=>{r.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}},3385:(r,A,s)=>{const{kReadyState:n,kController:a,kResponse:u,kBinaryType:l,kWebSocketURL:g}=s(5832);const{states:E,opcodes:d}=s(3464);const{MessageEvent:p,ErrorEvent:C}=s(3164);function isEstablished(r){return r[n]===E.OPEN}function isClosing(r){return r[n]===E.CLOSING}function isClosed(r){return r[n]===E.CLOSED}function fireEvent(r,A,s=Event,n){const a=new s(r,n);A.dispatchEvent(a)}function websocketMessageReceived(r,A,s){if(r[n]!==E.OPEN){return}let a;if(A===d.TEXT){try{a=new TextDecoder("utf-8",{fatal:true}).decode(s)}catch{failWebsocketConnection(r,"Received invalid UTF-8 in text frame.");return}}else if(A===d.BINARY){if(r[l]==="blob"){a=new Blob([s])}else{a=new Uint8Array(s).buffer}}fireEvent("message",r,p,{origin:r[g].origin,data:a})}function isValidSubprotocol(r){if(r.length===0){return false}for(const A of r){const r=A.charCodeAt(0);if(r<33||r>126||A==="("||A===")"||A==="<"||A===">"||A==="@"||A===","||A===";"||A===":"||A==="\\"||A==='"'||A==="/"||A==="["||A==="]"||A==="?"||A==="="||A==="{"||A==="}"||r===32||r===9){return false}}return true}function isValidStatusCode(r){if(r>=1e3&&r<1015){return r!==1004&&r!==1005&&r!==1006}return r>=3e3&&r<=4999}function failWebsocketConnection(r,A){const{[a]:s,[u]:n}=r;s.abort();if(n?.socket&&!n.socket.destroyed){n.socket.destroy()}if(A){fireEvent("error",r,C,{error:new Error(A)})}}r.exports={isEstablished:isEstablished,isClosing:isClosing,isClosed:isClosed,fireEvent:fireEvent,isValidSubprotocol:isValidSubprotocol,isValidStatusCode:isValidStatusCode,failWebsocketConnection:failWebsocketConnection,websocketMessageReceived:websocketMessageReceived}},6102:(r,A,s)=>{const{webidl:n}=s(29);const{DOMException:a}=s(4135);const{URLSerializer:u}=s(3911);const{getGlobalOrigin:l}=s(9963);const{staticPropertyDescriptors:g,states:E,opcodes:d,emptyBuffer:p}=s(3464);const{kWebSocketURL:C,kReadyState:B,kController:Q,kBinaryType:I,kResponse:m,kSentClose:y,kByteParser:w}=s(5832);const{isEstablished:D,isClosing:b,isValidSubprotocol:R,failWebsocketConnection:S,fireEvent:k}=s(3385);const{establishWebSocketConnection:F}=s(3097);const{WebsocketFrameSend:T}=s(3272);const{ByteParser:N}=s(1084);const{kEnumerableProperty:v,isBlobLike:_}=s(3465);const{getGlobalDispatcher:U}=s(7882);const{types:L}=s(9023);let M=false;class WebSocket extends EventTarget{#l={open:null,error:null,close:null,message:null};#g=0;#h="";#E="";constructor(r,A=[]){super();n.argumentLengthCheck(arguments,1,{header:"WebSocket constructor"});if(!M){M=true;process.emitWarning("WebSockets are experimental, expect them to change at any time.",{code:"UNDICI-WS"})}const s=n.converters["DOMString or sequence or WebSocketInit"](A);r=n.converters.USVString(r);A=s.protocols;const u=l();let g;try{g=new URL(r,u)}catch(r){throw new a(r,"SyntaxError")}if(g.protocol==="http:"){g.protocol="ws:"}else if(g.protocol==="https:"){g.protocol="wss:"}if(g.protocol!=="ws:"&&g.protocol!=="wss:"){throw new a(`Expected a ws: or wss: protocol, got ${g.protocol}`,"SyntaxError")}if(g.hash||g.href.endsWith("#")){throw new a("Got fragment","SyntaxError")}if(typeof A==="string"){A=[A]}if(A.length!==new Set(A.map((r=>r.toLowerCase()))).size){throw new a("Invalid Sec-WebSocket-Protocol value","SyntaxError")}if(A.length>0&&!A.every((r=>R(r)))){throw new a("Invalid Sec-WebSocket-Protocol value","SyntaxError")}this[C]=new URL(g.href);this[Q]=F(g,A,this,(r=>this.#d(r)),s);this[B]=WebSocket.CONNECTING;this[I]="blob"}close(r=undefined,A=undefined){n.brandCheck(this,WebSocket);if(r!==undefined){r=n.converters["unsigned short"](r,{clamp:true})}if(A!==undefined){A=n.converters.USVString(A)}if(r!==undefined){if(r!==1e3&&(r<3e3||r>4999)){throw new a("invalid code","InvalidAccessError")}}let s=0;if(A!==undefined){s=Buffer.byteLength(A);if(s>123){throw new a(`Reason must be less than 123 bytes; received ${s}`,"SyntaxError")}}if(this[B]===WebSocket.CLOSING||this[B]===WebSocket.CLOSED){}else if(!D(this)){S(this,"Connection was closed before it was established.");this[B]=WebSocket.CLOSING}else if(!b(this)){const n=new T;if(r!==undefined&&A===undefined){n.frameData=Buffer.allocUnsafe(2);n.frameData.writeUInt16BE(r,0)}else if(r!==undefined&&A!==undefined){n.frameData=Buffer.allocUnsafe(2+s);n.frameData.writeUInt16BE(r,0);n.frameData.write(A,2,"utf-8")}else{n.frameData=p}const a=this[m].socket;a.write(n.createFrame(d.CLOSE),(r=>{if(!r){this[y]=true}}));this[B]=E.CLOSING}else{this[B]=WebSocket.CLOSING}}send(r){n.brandCheck(this,WebSocket);n.argumentLengthCheck(arguments,1,{header:"WebSocket.send"});r=n.converters.WebSocketSendData(r);if(this[B]===WebSocket.CONNECTING){throw new a("Sent before connected.","InvalidStateError")}if(!D(this)||b(this)){return}const A=this[m].socket;if(typeof r==="string"){const s=Buffer.from(r);const n=new T(s);const a=n.createFrame(d.TEXT);this.#g+=s.byteLength;A.write(a,(()=>{this.#g-=s.byteLength}))}else if(L.isArrayBuffer(r)){const s=Buffer.from(r);const n=new T(s);const a=n.createFrame(d.BINARY);this.#g+=s.byteLength;A.write(a,(()=>{this.#g-=s.byteLength}))}else if(ArrayBuffer.isView(r)){const s=Buffer.from(r,r.byteOffset,r.byteLength);const n=new T(s);const a=n.createFrame(d.BINARY);this.#g+=s.byteLength;A.write(a,(()=>{this.#g-=s.byteLength}))}else if(_(r)){const s=new T;r.arrayBuffer().then((r=>{const n=Buffer.from(r);s.frameData=n;const a=s.createFrame(d.BINARY);this.#g+=n.byteLength;A.write(a,(()=>{this.#g-=n.byteLength}))}))}}get readyState(){n.brandCheck(this,WebSocket);return this[B]}get bufferedAmount(){n.brandCheck(this,WebSocket);return this.#g}get url(){n.brandCheck(this,WebSocket);return u(this[C])}get extensions(){n.brandCheck(this,WebSocket);return this.#E}get protocol(){n.brandCheck(this,WebSocket);return this.#h}get onopen(){n.brandCheck(this,WebSocket);return this.#l.open}set onopen(r){n.brandCheck(this,WebSocket);if(this.#l.open){this.removeEventListener("open",this.#l.open)}if(typeof r==="function"){this.#l.open=r;this.addEventListener("open",r)}else{this.#l.open=null}}get onerror(){n.brandCheck(this,WebSocket);return this.#l.error}set onerror(r){n.brandCheck(this,WebSocket);if(this.#l.error){this.removeEventListener("error",this.#l.error)}if(typeof r==="function"){this.#l.error=r;this.addEventListener("error",r)}else{this.#l.error=null}}get onclose(){n.brandCheck(this,WebSocket);return this.#l.close}set onclose(r){n.brandCheck(this,WebSocket);if(this.#l.close){this.removeEventListener("close",this.#l.close)}if(typeof r==="function"){this.#l.close=r;this.addEventListener("close",r)}else{this.#l.close=null}}get onmessage(){n.brandCheck(this,WebSocket);return this.#l.message}set onmessage(r){n.brandCheck(this,WebSocket);if(this.#l.message){this.removeEventListener("message",this.#l.message)}if(typeof r==="function"){this.#l.message=r;this.addEventListener("message",r)}else{this.#l.message=null}}get binaryType(){n.brandCheck(this,WebSocket);return this[I]}set binaryType(r){n.brandCheck(this,WebSocket);if(r!=="blob"&&r!=="arraybuffer"){this[I]="blob"}else{this[I]=r}}#d(r){this[m]=r;const A=new N(this);A.on("drain",(function onParserDrain(){this.ws[m].socket.resume()}));r.socket.ws=this;this[w]=A;this[B]=E.OPEN;const s=r.headersList.get("sec-websocket-extensions");if(s!==null){this.#E=s}const n=r.headersList.get("sec-websocket-protocol");if(n!==null){this.#h=n}k("open",this)}}WebSocket.CONNECTING=WebSocket.prototype.CONNECTING=E.CONNECTING;WebSocket.OPEN=WebSocket.prototype.OPEN=E.OPEN;WebSocket.CLOSING=WebSocket.prototype.CLOSING=E.CLOSING;WebSocket.CLOSED=WebSocket.prototype.CLOSED=E.CLOSED;Object.defineProperties(WebSocket.prototype,{CONNECTING:g,OPEN:g,CLOSING:g,CLOSED:g,url:v,readyState:v,bufferedAmount:v,onopen:v,onerror:v,onclose:v,close:v,onmessage:v,binaryType:v,send:v,extensions:v,protocol:v,[Symbol.toStringTag]:{value:"WebSocket",writable:false,enumerable:false,configurable:true}});Object.defineProperties(WebSocket,{CONNECTING:g,OPEN:g,CLOSING:g,CLOSED:g});n.converters["sequence"]=n.sequenceConverter(n.converters.DOMString);n.converters["DOMString or sequence"]=function(r){if(n.util.Type(r)==="Object"&&Symbol.iterator in r){return n.converters["sequence"](r)}return n.converters.DOMString(r)};n.converters.WebSocketInit=n.dictionaryConverter([{key:"protocols",converter:n.converters["DOMString or sequence"],get defaultValue(){return[]}},{key:"dispatcher",converter:r=>r,get defaultValue(){return U()}},{key:"headers",converter:n.nullableConverter(n.converters.HeadersInit)}]);n.converters["DOMString or sequence or WebSocketInit"]=function(r){if(n.util.Type(r)==="Object"&&!(Symbol.iterator in r)){return n.converters.WebSocketInit(r)}return{protocols:n.converters["DOMString or sequence"](r)}};n.converters.WebSocketSendData=function(r){if(n.util.Type(r)==="Object"){if(_(r)){return n.converters.Blob(r,{strict:false})}if(ArrayBuffer.isView(r)||L.isAnyArrayBuffer(r)){return n.converters.BufferSource(r)}}return n.converters.USVString(r)};r.exports={WebSocket:WebSocket}},9279:(r,A)=>{Object.defineProperty(A,"__esModule",{value:true});function getUserAgent(){if(typeof navigator==="object"&&"userAgent"in navigator){return navigator.userAgent}if(typeof process==="object"&&process.version!==undefined){return`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`}return""}A.getUserAgent=getUserAgent},7133:(r,A,s)=>{const n=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";const a=s(6928);const u=n?";":":";const l=s(9964);const getNotFoundError=r=>Object.assign(new Error(`not found: ${r}`),{code:"ENOENT"});const getPathInfo=(r,A)=>{const s=A.colon||u;const a=r.match(/\//)||n&&r.match(/\\/)?[""]:[...n?[process.cwd()]:[],...(A.path||process.env.PATH||"").split(s)];const l=n?A.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"";const g=n?l.split(s):[""];if(n){if(r.indexOf(".")!==-1&&g[0]!=="")g.unshift("")}return{pathEnv:a,pathExt:g,pathExtExe:l}};const which=(r,A,s)=>{if(typeof A==="function"){s=A;A={}}if(!A)A={};const{pathEnv:n,pathExt:u,pathExtExe:g}=getPathInfo(r,A);const E=[];const step=s=>new Promise(((u,l)=>{if(s===n.length)return A.all&&E.length?u(E):l(getNotFoundError(r));const g=n[s];const d=/^".*"$/.test(g)?g.slice(1,-1):g;const p=a.join(d,r);const C=!d&&/^\.[\\\/]/.test(r)?r.slice(0,2)+p:p;u(subStep(C,s,0))}));const subStep=(r,s,n)=>new Promise(((a,d)=>{if(n===u.length)return a(step(s+1));const p=u[n];l(r+p,{pathExt:g},((u,l)=>{if(!u&&l){if(A.all)E.push(r+p);else return a(r+p)}return a(subStep(r,s,n+1))}))}));return s?step(0).then((r=>s(null,r)),s):step(0)};const whichSync=(r,A)=>{A=A||{};const{pathEnv:s,pathExt:n,pathExtExe:u}=getPathInfo(r,A);const g=[];for(let E=0;E{r.exports=wrappy;function wrappy(r,A){if(r&&A)return wrappy(r)(A);if(typeof r!=="function")throw new TypeError("need wrapper function");Object.keys(r).forEach((function(A){wrapper[A]=r[A]}));return wrapper;function wrapper(){var A=new Array(arguments.length);for(var s=0;s{s.d(A,{a:()=>buildProject});var n=s(3024);var a=s(6760);var u=s(3167);var l=s(7848);async function initProject(r,A,s){await A.execTauriCommand(["init"],["--ci"],r);const n=(0,l.Z0)(r);if(n===null){console.error("Failed to resolve Tauri path");process.exit(1)}const g=u.K.fromBaseConfig(n);g.version=s.appVersion??undefined;g.productName=s.appName??undefined;if(s.bundleIdentifier){g.identifier=s.bundleIdentifier??undefined}if(s.distPath){g.frontendDist=s.distPath??undefined}g.beforeBuildCommand="";console.log(`Updating tauri.conf.json file according to these configurations: ${JSON.stringify(g)}`);g.updateConfigFile(n);if(s.iconPath){await A.execTauriCommand(["icon",(0,a.join)(r,s.iconPath)],[],r)}}class Runner{constructor(r,A){this.bin=r;this.tauriScript=A||[]}async execTauriCommand(r,A,s,n,a=0){const u=[];if(this.bin==="npm"&&this.tauriScript[0]!=="run"){u.push("run")}u.push(...this.tauriScript);u.push(...r);if(this.bin==="npm"&&A.length){u.push("--")}u.push(...A);return(0,l.L5)((()=>(0,l.NK)(this.bin,u,{cwd:s},n)),a+1)}}async function getRunner(r,A){if(A){const[r,...s]=A.split(" ");return new Runner(r,s)}if((0,l.ws)("@tauri-apps/cli",r)){if((0,l.z8)(r))return new Runner("yarn",["tauri"]);if((0,l.me)(r))return new Runner("pnpm",["tauri"]);if((0,l.Ui)(r))return new Runner("bun",["tauri"]);return new Runner("npm",["run","tauri"])}let s="v1";try{const A=(0,l.Z0)(r);if(A){const r=u.K.fromBaseConfig(A);if(r&&r.isV2()){s="v2"}}}catch{}await(0,l.NK)("npm",["install","-g",`@tauri-apps/cli@${s}`],{cwd:undefined});return new Runner("tauri")}async function buildProject(r,A,s,u,g){const E=await getRunner(r,s.tauriScript);const d=A?["--debug",...s.args??[]]:s.args??[];const p=[...d].findIndex((r=>r==="-t"||r==="--target"));const C=p>=0?[...d][p+1]:undefined;const B=[...d].findIndex((r=>r==="-c"||r==="--config"));const Q=B>=0?[...d][B+1]:undefined;const I=[...d].findIndex((r=>r==="--profile"));const m=I>=0?[...d][I+1]:undefined;const y=(0,l.sg)(C);if(!(0,l.Z0)(r)){await initProject(r,E,u)}const w=(0,l.Vp)(r,y,Q);if(!w.tauriPath){throw Error("Couldn't detect path of tauri app")}const D={tauriPath:w.tauriPath,runner:E,name:w.name,version:w.version,wixLanguage:w.wixLanguage,wixAppVersion:w.wixAppVersion,rpmRelease:w.rpmRelease};await E.execTauriCommand(["build"],[...d],r,y.platform==="macos"?{TAURI_BUNDLER_DMG_IGNORE_CI:process.env.TAURI_BUNDLER_DMG_IGNORE_CI??"true"}:undefined,g);const b=D.name.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z])(?=[a-z])/g,"$1-$2").replace(/[ _.]/g,"-").replace(/[()[\]{}]/g,"").toLowerCase();const R=(0,l.Lw)(D.tauriPath)??D.tauriPath;const S=(0,a.join)((0,l.d)(R,w.tauriPath,!!C),C??"",m?m:A?"debug":"release");let k=[];let F=y.arch;if(y.platform==="macos"){if(F==="x86_64"){F="x64"}else if(F==="arm64"){F="aarch64"}k=[(0,a.join)(S,`bundle/dmg/${D.name}_${D.version}_${F}.dmg`),(0,a.join)(S,`bundle/macos/${D.name}.app`),(0,a.join)(S,`bundle/macos/${D.name}.app.tar.gz`),(0,a.join)(S,`bundle/macos/${D.name}.app.tar.gz.sig`)].map((r=>({path:r,arch:F})))}else if(y.platform==="windows"){if(F.startsWith("i")){F="x86"}else if(F==="aarch64"){F="arm64"}else{F="x64"}let r;if(typeof D.wixLanguage==="string"){r=[D.wixLanguage]}else if(Array.isArray(D.wixLanguage)){r=D.wixLanguage}else{r=Object.keys(D.wixLanguage)}const A=[];r.forEach((r=>{A.push((0,a.join)(S,`bundle/msi/${D.name}_${D.wixAppVersion}_${F}_${r}.msi`),(0,a.join)(S,`bundle/msi/${D.name}_${D.wixAppVersion}_${F}_${r}.msi.sig`),(0,a.join)(S,`bundle/msi/${D.name}_${D.wixAppVersion}_${F}_${r}.msi.zip`),(0,a.join)(S,`bundle/msi/${D.name}_${D.wixAppVersion}_${F}_${r}.msi.zip.sig`))}));A.push((0,a.join)(S,`bundle/nsis/${D.name}_${D.version}_${F}-setup.exe`),(0,a.join)(S,`bundle/nsis/${D.name}_${D.version}_${F}-setup.exe.sig`),(0,a.join)(S,`bundle/nsis/${D.name}_${D.version}_${F}-setup.nsis.zip`),(0,a.join)(S,`bundle/nsis/${D.name}_${D.version}_${F}-setup.nsis.zip.sig`));k=A.map((r=>({path:r,arch:F})))}else{const r=F==="x64"||F==="x86_64"?"amd64":F==="x32"||F==="i686"?"i386":F==="arm"?"armhf":F==="aarch64"?"arm64":F;const A=F==="x64"||F==="x86_64"?"x86_64":F==="x32"||F==="x86"||F==="i686"?"i386":F==="arm"?"armhfp":F==="arm64"?"aarch64":F;const s=F==="x64"||F==="x86_64"?"amd64":F==="x32"||F==="i686"?"i386":F==="arm"?"arm":F==="arm64"?"aarch64":F;k=[{path:(0,a.join)(S,`bundle/deb/${D.name}_${D.version}_${r}.deb`),arch:r},{path:(0,a.join)(S,`bundle/rpm/${D.name}-${D.version}-${D.rpmRelease}.${A}.rpm`),arch:A},{path:(0,a.join)(S,`bundle/appimage/${D.name}_${D.version}_${s}.AppImage`),arch:s},{path:(0,a.join)(S,`bundle/appimage/${D.name}_${D.version}_${s}.AppImage.sig`),arch:s},{path:(0,a.join)(S,`bundle/appimage/${D.name}_${D.version}_${s}.AppImage.tar.gz`),arch:s},{path:(0,a.join)(S,`bundle/appimage/${D.name}_${D.version}_${s}.AppImage.tar.gz.sig`),arch:s}];if(D.name!=b){k.push({path:(0,a.join)(S,`bundle/deb/${b}_${D.version}_${r}.deb`),arch:r},{path:(0,a.join)(S,`bundle/rpm/${b}-${D.version}-${D.rpmRelease}.${A}.rpm`),arch:A},{path:(0,a.join)(S,`bundle/appimage/${b}_${D.version}_${s}.AppImage`),arch:s},{path:(0,a.join)(S,`bundle/appimage/${b}_${D.version}_${s}.AppImage.sig`),arch:s},{path:(0,a.join)(S,`bundle/appimage/${b}_${D.version}_${s}.AppImage.tar.gz`),arch:s},{path:(0,a.join)(S,`bundle/appimage/${b}_${D.version}_${s}.AppImage.tar.gz.sig`),arch:s})}}console.log(`Looking for artifacts in:\n${k.map((r=>r.path)).join("\n")}`);return k.filter((r=>(0,n.existsSync)(r.path)))}},3167:(r,A,s)=>{s.d(A,{K:()=>TauriConfig});var n=s(9896);var a=s.n(n);var u=s(6928);var l=s.n(u);var g=s(2811);var E=s(823);var d=s.n(E);function _tryParseJsonConfig(r){try{const A=JSON.parse(r);return A}catch(r){const A=r.message;console.error(`Couldn't parse --config flag as inline JSON. This is not an error if it's a file path. Source: "${A}"`);return null}}function _tryParseJson5Config(r){try{const A=d().parse(r);return A}catch(r){const A=r.message;console.error(`Couldn't parse --config flag as inline JSON. This is not an error if it's a file path. Source: "${A}"`);return null}}function _tryParseTomlConfig(r){try{const A=(0,g.parse)(r);return A}catch(r){const A=r.message;console.error(`Couldn't parse --config flag as inline JSON. This is not an error if it's a file path. Source: "${A}"`);return null}}function readPlatformConfig(r,A){let s=(0,u.join)(r,`tauri.${A}.conf.json`);if((0,n.existsSync)(s)){const r=(0,n.readFileSync)(s).toString();const A=_tryParseJsonConfig(r);if(A)return A}s=(0,u.join)(r,`tauri.${A}.conf.json5`);if((0,n.existsSync)(s)){const r=(0,n.readFileSync)(s).toString();const A=_tryParseJson5Config(r);if(A)return A}s=(0,u.join)(r,`Tauri.${A}.toml`);if((0,n.existsSync)(s)){const r=(0,n.readFileSync)(s).toString();const A=_tryParseTomlConfig(r);if(A)return A}return null}function readCustomConfig(r){if(!(0,n.existsSync)(r)){throw new Error(`Provided config path \`${r}\` does not exist.`)}const A=(0,n.readFileSync)(r).toString();const s=l().extname(r);if(s===".json"){const r=_tryParseJsonConfig(A);if(r)return r}if(s===".json5"){const r=_tryParseJson5Config(A);if(r)return r}if(s===".toml"){const r=_tryParseTomlConfig(A);if(r)return r}throw new Error(`Couldn't parse \`${r}\` as ${s.substring(1)}.`)}class TauriConfig{constructor(r,A=false){this.identifier=r;this._isV2=A}isV2(){return this._isV2}static fromBaseConfig(r){if((0,n.existsSync)((0,u.join)(r,"tauri.conf.json"))){const A=(0,n.readFileSync)((0,u.join)(r,"tauri.conf.json")).toString();const s=_tryParseJsonConfig(A);if(s){if("identifier"in s){return this.fromV2Base(s)}else{return this.fromV1Base(s)}}console.error("Found tauri.conf.json file but couldn't parse it as JSON.")}if((0,n.existsSync)((0,u.join)(r,"tauri.conf.json5"))){const A=(0,n.readFileSync)((0,u.join)(r,"tauri.conf.json5")).toString();const s=_tryParseJson5Config(A);if(s){if("identifier"in s){return this.fromV2Base(s)}else{return this.fromV1Base(s)}}console.error("Found tauri.conf.json5 file but couldn't parse it as JSON5.")}if((0,n.existsSync)((0,u.join)(r,"Tauri.toml"))){const A=(0,n.readFileSync)((0,u.join)(r,"Tauri.toml")).toString();const s=_tryParseTomlConfig(A);if(s){if("identifier"in s){return this.fromV2Base(s)}else{return this.fromV1Base(s)}}console.error("Found Tauri.toml file but couldn't parse it as TOML.")}throw new Error("Couldn't locate or parse tauri config.")}static fromV1Base(r){if(!r.tauri?.bundle?.identifier){throw Error("base config has no bundle identifier.")}const A=new TauriConfig(r.tauri?.bundle?.identifier,false);A.productName=r.package?.productName;A.version=r.package?.version;A.frontendDist=r.build?.distDir;A.beforeBuildCommand=r.build?.beforeBuildCommand;A.rpmRelease=r.tauri.bundle.rpm?.release;A.wixLanguage=r.tauri.bundle.windows?.wix?.language;return A}static fromV2Base(r){if(!r.identifier){throw Error("base config has no bundle identifier.")}const A=new TauriConfig(r.identifier,true);A.productName=r.productName;A.version=r.version;A.frontendDist=r.build?.frontendDist;A.beforeBuildCommand=r.build?.beforeBuildCommand;A.rpmRelease=r.bundle?.linux?.rpm?.release;A.wixLanguage=r.bundle?.windows?.wix?.language;A.unzippedSigs=r.bundle?.createUpdaterArtifacts===true;return A}mergeConfig(r){if(this._isV2){const A=r;this.identifier=A.identifier??this.identifier;this.productName=A.productName??this.productName;this.version=A.version??this.version;this.frontendDist=A.build?.frontendDist??this.frontendDist;this.beforeBuildCommand=A.build?.beforeBuildCommand??this.beforeBuildCommand;this.rpmRelease=A.bundle?.linux?.rpm?.release??this.rpmRelease;this.wixLanguage=A.bundle?.windows?.wix?.language??this.wixLanguage;this.unzippedSigs=A.bundle?.createUpdaterArtifacts!=null?A.bundle?.createUpdaterArtifacts===true:this.unzippedSigs}else{const A=r;this.identifier=A.tauri?.bundle?.identifier??this.identifier;this.productName=A.package?.productName??this.productName;this.version=A.package?.version??this.version;this.frontendDist=A.build?.distDir??this.frontendDist;this.beforeBuildCommand=A.build?.beforeBuildCommand??this.beforeBuildCommand;this.rpmRelease=A.tauri?.bundle?.rpm?.release??this.rpmRelease;this.wixLanguage=A.tauri?.bundle?.windows?.wix?.language??this.wixLanguage}}mergePlatformConfig(r,A){const s=readPlatformConfig(r,A);if(s){this.mergeConfig(s)}}mergeUserConfig(r,A){let s=_tryParseJsonConfig(A);if(!s){const n=l().isAbsolute(A)?A:l().join(r,A);s=readCustomConfig(n)}if(s){this.mergeConfig(s)}else{console.error(`Couldn't read --config: ${A}`)}}updateConfigFile(r){const A=(0,u.join)(r,"tauri.conf.json");const s=(0,n.readFileSync)(A).toString();const a=_tryParseJsonConfig(s);if(!a){throw new Error("Couldn't parse tauri.conf.json")}if(this._isV2){const r=a;r.identifier=this.identifier;r.productName=this.productName;r.version=this.version;r.build.beforeBuildCommand=this.beforeBuildCommand;r.build.frontendDist=this.frontendDist;(0,n.writeFileSync)(A,JSON.stringify(r,null,2))}else{const r=a;r.build.beforeBuildCommand=this.beforeBuildCommand;r.build.distDir=this.frontendDist;r.package.productName=this.productName;r.package.version=this.version;r.tauri.bundle.identifier=this.identifier;(0,n.writeFileSync)(A,JSON.stringify(r,null,2))}}}},9729:(r,A,s)=>{s.d(A,{Y:()=>createRelease});var n=s(3024);var a=s.n(n);var u=s(9999);var l=s.n(u);var g=s(2819);var E=s.n(g);function allReleases(r,A,s){const n={per_page:100,owner:A,repo:s};return r.paginate.iterator(r.rest.repos.listReleases.endpoint.merge(n))}async function createRelease(r,A,s,n,l,E,d=true,p=true){if(process.env.GITHUB_TOKEN===undefined){throw new Error("GITHUB_TOKEN is required")}const C=(0,g.getOctokit)(process.env.GITHUB_TOKEN);const B=u.getInput("body_path",{required:false});let Q=null;if(B!==""&&!!B){try{Q=a().readFileSync(B,{encoding:"utf8"})}catch(r){u.setFailed(r.message)}}let I=null;try{if(d){console.log(`Looking for a draft release with tag ${s}...`);for await(const n of allReleases(C,r,A)){const r=n.data.find((r=>r.tag_name===s));if(r){I=r;console.log(`Found draft release with tag ${s} on the release list.`);break}}if(!I){throw new Error("release not found")}}else{const n=await C.rest.repos.getReleaseByTag({owner:r,repo:A,tag:s});I=n.data;console.log(`Found release with tag ${s}.`)}}catch(a){if(a.status===404||a.message==="release not found"){console.log(`Couldn't find release with tag ${s}. Creating one.`);const a=await C.rest.repos.createRelease({owner:r,repo:A,tag_name:s,name:n,body:Q||l,draft:d,prerelease:p,target_commitish:E||g.context.sha});I=a.data}else{console.log(`⚠️ Unexpected error fetching GitHub release for tag ${s}: ${a}`);throw a}}if(!I){throw new Error("Release not found or created.")}return{id:I.id,uploadUrl:I.upload_url,htmlUrl:I.html_url}}},6677:(r,A,s)=>{s.a(r,(async(r,A)=>{try{var n=s(3024);var a=s.n(n);var u=s(6760);var l=s.n(u);var g=s(9999);var E=s.n(g);var d=s(2819);var p=s.n(d);var C=s(1512);var B=s(9729);var Q=s(9444);var I=s(8844);var m=s(4953);var y=s(7848);async function run(){try{const r=(0,u.resolve)(process.cwd(),g.getInput("projectPath")||process.argv[2]);const A=g.getInput("distPath");const s=g.getInput("iconPath");const a=g.getInput("appName");const l=g.getInput("appVersion");const E=g.getBooleanInput("includeRelease");const p=g.getBooleanInput("includeDebug");const w=g.getBooleanInput("includeUpdaterJson");const D=g.getBooleanInput("updaterJsonKeepUniversal");const b=parseInt(g.getInput("retryAttempts")||"0",10);const R=g.getInput("tauriScript");const S=(0,C.A)(g.getInput("args"));const k=g.getInput("bundleIdentifier");let F=g.getInput("tagName").replace("refs/tags/","");let T=Number(g.getInput("releaseId"));let N=g.getInput("releaseName").replace("refs/tags/","");let v=g.getInput("releaseBody");const _=g.getInput("owner")||d.context.repo.owner;const U=g.getInput("repo")||d.context.repo.repo;const L=g.getBooleanInput("releaseDraft");const M=g.getBooleanInput("prerelease");const P=g.getInput("releaseCommitish")||null;const G=g.getInput("updaterJsonPreferNsis")?.toLowerCase()==="true";if(!T){if(Boolean(F)&&!N)throw new Error("`releaseName` is required if `tagName` is set when creating a release.")}const x={tauriScript:R,args:S};const O={distPath:A,iconPath:s,bundleIdentifier:k,appName:a,appVersion:l};const H=[...S].findIndex((r=>r==="-t"||r==="--target"));const Y=H>=0?[...S][H+1]:undefined;const J=[...S].findIndex((r=>r==="-c"||r==="--config"));const V=J>=0?[...S][J+1]:undefined;const W=[];const q=[];if(E){W.push(...await(0,m.a)(r,false,x,O,b))}if(p){q.push(...await(0,m.a)(r,true,x,O,b))}const j=W.concat(q);if(j.length===0){if(T||F||N){throw new Error("No artifacts were found.")}else{console.log("No artifacts were found. The action was not configured to upload artifacts, therefore this is not handled as an error.");return}}console.log(`Found artifacts:\n${j.map((r=>r.path)).join("\n")}`);g.setOutput("artifactPaths",JSON.stringify(j.map((r=>r.path))));const K=(0,y.sg)(Y);const $=(0,y.Vp)(r,K,V);g.setOutput("appVersion",$.version);if(K.platform==="macos"){let r=0;for(const A of j){if(A.path.endsWith(".app")&&!(0,n.existsSync)(`${A.path}.tar.gz`)){console.log(`Packaging ${A.path} directory into ${A.path}.tar.gz`);await(0,y.NK)("tar",["czf",`${A.path}.tar.gz`,"-C",(0,u.dirname)(A.path),(0,u.basename)(A.path)]);A.path+=".tar.gz"}else if(A.path.endsWith(".app")){j.splice(r,1)}r++}}if(F&&!T){const r=[{key:"__VERSION__",value:$.version}];r.forEach((r=>{const A=new RegExp(r.key,"g");F=F.replace(A,r.value);N=N.replace(A,r.value);v=v.replace(A,r.value)}));const A=await(0,B.Y)(_,U,F,N,v,P||undefined,L,M);T=A.id;g.setOutput("releaseUploadUrl",A.uploadUrl);g.setOutput("releaseId",A.id.toString());g.setOutput("releaseHtmlUrl",A.htmlUrl)}if(T){await(0,Q.r)(_,U,T,j);if(w){await(0,I.Y)({owner:_,repo:U,version:$.version,notes:v,tagName:F,releaseId:T,artifacts:W.length!==0?W:q,targetInfo:K,unzippedSig:$.unzippedSigs,updaterJsonPreferNsis:G,updaterJsonKeepUniversal:D})}}else{console.log("No releaseId or tagName provided, skipping all uploads...")}}catch(r){g.setFailed(r.message)}}await run();A()}catch(w){A(w)}}),1)},9444:(r,A,s)=>{s.d(A,{r:()=>uploadAssets});var n=s(3024);var a=s.n(n);var u=s(2819);var l=s.n(u);var g=s(7848);async function uploadAssets(r,A,s,n){if(process.env.GITHUB_TOKEN===undefined){throw new Error("GITHUB_TOKEN is required")}const l=(0,u.getOctokit)(process.env.GITHUB_TOKEN);const E=(await l.rest.repos.listReleaseAssets({owner:r,repo:A,release_id:s,per_page:100})).data;const contentLength=r=>a().statSync(r).size;for(const u of n){const n={"content-type":"application/zip","content-length":contentLength(u.path)};const d=(0,g.wm)(u.path);const p=E.find((r=>r.name===d.trim().replace(/[ ()[\]{}]/g,".").replace(/\.\./g,".").normalize("NFD").replace(/[\u0300-\u036f]/g,"")));if(p){console.log(`Deleting existing ${d}...`);await l.rest.repos.deleteReleaseAsset({owner:r,repo:A,asset_id:p.id})}console.log(`Uploading ${d}...`);await l.rest.repos.uploadReleaseAsset({headers:n,name:d,data:a().createReadStream(u.path),owner:r,repo:A,release_id:s})}}},8844:(r,A,s)=>{s.d(A,{Y:()=>uploadVersionJSON});var n=s(3024);var a=s.n(n);var u=s(6760);var l=s.n(u);var g=s(2819);var E=s.n(g);var d=s(9444);var p=s(7848);async function uploadVersionJSON({owner:r,repo:A,version:s,notes:a,tagName:l,releaseId:E,artifacts:C,targetInfo:B,unzippedSig:Q,updaterJsonPreferNsis:I,updaterJsonKeepUniversal:m}){if(process.env.GITHUB_TOKEN===undefined){throw new Error("GITHUB_TOKEN is required")}const y=(0,g.getOctokit)(process.env.GITHUB_TOKEN);const w="latest.json";const D=(0,u.resolve)(process.cwd(),w);const b={version:s,notes:a,pub_date:(new Date).toISOString(),platforms:{}};const R=await y.rest.repos.listReleaseAssets({owner:r,repo:A,release_id:E,per_page:50});const S=R.data.find((r=>r.name===w));if(S){const s=(await y.request("GET /repos/{owner}/{repo}/releases/assets/{asset_id}",{owner:r,repo:A,asset_id:S.id,headers:{accept:"application/octet-stream"}})).data;b.platforms=JSON.parse(Buffer.from(s).toString()).platforms}const k=new Map;for(const r of R.data){k.set(r.name,r.browser_download_url)}const F=[];for(const r of C){const A=(0,p.wm)(r.path).trim().replace(/[ ()[\]{}]/g,".").replace(/\.\./g,".").normalize("NFD").replace(/[\u0300-\u036f]/g,"");const s=k.get(A);if(s){F.push({downloadUrl:s,assetName:A,path:r.path,arch:r.arch})}}const T=F.filter((r=>r.assetName.endsWith(".sig")));function signaturePriority(r){const A=I?Q?[".exe.sig",".msi.sig"]:[".nsis.zip.sig",".msi.zip.sig"]:Q?[".msi.sig",".exe.sig"]:[".msi.zip.sig",".nsis.zip.sig"];for(const[s,n]of A.entries()){if(r.endsWith(n)){return 100-s}}return 0}T.sort(((r,A)=>signaturePriority(A.path)-signaturePriority(r.path)));const N=T[0];if(!N){console.warn("Signature not found for the updater JSON. Skipping upload...");return}const v=(0,u.basename)(N.assetName,(0,u.extname)(N.assetName));let _=F.find((r=>r.assetName==v))?.downloadUrl;if(!_){console.warn("Asset not found for the updater JSON. Skipping upload...");return}_=_.replace(/\/download\/(untagged-[^/]+)\//,l?`/download/${l}/`:"/latest/download/");let U=B.platform;if(U==="macos"){U="darwin"}let L=N.arch;L=L==="amd64"||L==="x86_64"||L==="x64"?"x86_64":L==="x86"||L==="i386"?"i686":L==="arm"?"armv7":L==="arm64"?"aarch64":L;if(U==="darwin"&&L==="universal"){if(!b.platforms["darwin-aarch64"]){b.platforms["darwin-aarch64"]={signature:(0,n.readFileSync)(N.path).toString(),url:_}}if(!b.platforms["darwin-x86_64"]){b.platforms["darwin-x86_64"]={signature:(0,n.readFileSync)(N.path).toString(),url:_}}}if(m||U!=="darwin"||L!=="universal"){b.platforms[`${U}-${L}`]={signature:(0,n.readFileSync)(N.path).toString(),url:_}}(0,n.writeFileSync)(D,JSON.stringify(b,null,2));if(S){await y.rest.repos.deleteReleaseAsset({owner:r,repo:A,release_id:E,asset_id:S.id})}await(0,d.r)(r,A,E,[{path:D,arch:""}])}},7848:(r,A,s)=>{s.d(A,{NK:()=>execCommand,wm:()=>getAssetName,Vp:()=>getInfo,d:()=>getTargetDir,sg:()=>getTargetInfo,Z0:()=>getTauriDir,Lw:()=>getWorkspaceDir,ws:()=>hasDependency,L5:()=>retry,Ui:()=>usesBun,me:()=>usesPnpm,z8:()=>usesYarn});var n=s(3024);var a=s(6760);var u=s.n(a);var l=s(2811);function isPlainObject(r){if(typeof r!=="object"||r===null){return false}const A=Object.getPrototypeOf(r);return(A===null||A===Object.prototype||Object.getPrototypeOf(A)===null)&&!(Symbol.toStringTag in r)&&!(Symbol.iterator in r)}const g=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:url");const safeNormalizeFileUrl=(r,A)=>{const s=normalizeFileUrl(normalizeDenoExecPath(r));if(typeof s!=="string"){throw new TypeError(`${A} must be a string or a file URL: ${s}.`)}return s};const normalizeDenoExecPath=r=>isDenoExecPath(r)?r.toString():r;const isDenoExecPath=r=>typeof r!=="string"&&r&&Object.getPrototypeOf(r)===String.prototype;const normalizeFileUrl=r=>r instanceof URL?(0,g.fileURLToPath)(r):r;const normalizeParameters=(r,A=[],s={})=>{const n=safeNormalizeFileUrl(r,"First argument");const[a,u]=isPlainObject(A)?[[],A]:[A,s];if(!Array.isArray(a)){throw new TypeError(`Second argument must be either an array of arguments or an options object: ${a}`)}if(a.some((r=>typeof r==="object"&&r!==null))){throw new TypeError(`Second argument must be an array of strings: ${a}`)}const l=a.map(String);const g=l.find((r=>r.includes("\0")));if(g!==undefined){throw new TypeError(`Arguments cannot contain null bytes ("\\0"): ${g}`)}if(!isPlainObject(u)){throw new TypeError(`Last argument must be an options object: ${u}`)}return[n,l,u]};const E=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:child_process");const d=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:string_decoder");const{toString:p}=Object.prototype;const isArrayBuffer=r=>p.call(r)==="[object ArrayBuffer]";const isUint8Array=r=>p.call(r)==="[object Uint8Array]";const bufferToUint8Array=r=>new Uint8Array(r.buffer,r.byteOffset,r.byteLength);const C=new TextEncoder;const stringToUint8Array=r=>C.encode(r);const B=new TextDecoder;const uint8ArrayToString=r=>B.decode(r);const joinToString=(r,A)=>{const s=uint8ArraysToStrings(r,A);return s.join("")};const uint8ArraysToStrings=(r,A)=>{if(A==="utf8"&&r.every((r=>typeof r==="string"))){return r}const s=new d.StringDecoder(A);const n=r.map((r=>typeof r==="string"?stringToUint8Array(r):r)).map((r=>s.write(r)));const a=s.end();return a===""?n:[...n,a]};const joinToUint8Array=r=>{if(r.length===1&&isUint8Array(r[0])){return r[0]}return concatUint8Arrays(stringsToUint8Arrays(r))};const stringsToUint8Arrays=r=>r.map((r=>typeof r==="string"?stringToUint8Array(r):r));const concatUint8Arrays=r=>{const A=new Uint8Array(getJoinLength(r));let s=0;for(const n of r){A.set(n,s);s+=n.length}return A};const getJoinLength=r=>{let A=0;for(const s of r){A+=s.length}return A};const isTemplateString=r=>Array.isArray(r)&&Array.isArray(r.raw);const parseTemplates=(r,A)=>{let s=[];for(const[n,a]of r.entries()){s=parseTemplate({templates:r,expressions:A,tokens:s,index:n,template:a})}if(s.length===0){throw new TypeError("Template script must not be empty")}const[n,...a]=s;return[n,a,{}]};const parseTemplate=({templates:r,expressions:A,tokens:s,index:n,template:a})=>{if(a===undefined){throw new TypeError(`Invalid backslash sequence: ${r.raw[n]}`)}const{nextTokens:u,leadingWhitespaces:l,trailingWhitespaces:g}=splitByWhitespaces(a,r.raw[n]);const E=concatTokens(s,u,l);if(n===A.length){return E}const d=A[n];const p=Array.isArray(d)?d.map((r=>parseExpression(r))):[parseExpression(d)];return concatTokens(E,p,g)};const splitByWhitespaces=(r,A)=>{if(A.length===0){return{nextTokens:[],leadingWhitespaces:false,trailingWhitespaces:false}}const s=[];let n=0;const a=Q.has(A[0]);for(let a=0,u=0;as||r.length===0||A.length===0?[...r,...A]:[...r.slice(0,-1),`${r.at(-1)}${A[0]}`,...A.slice(1)];const parseExpression=r=>{const A=typeof r;if(A==="string"){return r}if(A==="number"){return String(r)}if(isPlainObject(r)&&("stdout"in r||"isMaxBuffer"in r)){return getSubprocessResult(r)}if(r instanceof E.ChildProcess||Object.prototype.toString.call(r)==="[object Promise]"){throw new TypeError("Unexpected subprocess in template expression. Please use ${await subprocess} instead of ${subprocess}.")}throw new TypeError(`Unexpected "${A}" in template expression`)};const getSubprocessResult=({stdout:r})=>{if(typeof r==="string"){return r}if(isUint8Array(r)){return uint8ArrayToString(r)}if(r===undefined){throw new TypeError('Missing result.stdout in template expression. This is probably due to the previous subprocess\' "stdout" option.')}throw new TypeError(`Unexpected "${typeof r}" stdout in template expression`)};var m=s(7975);const y=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:process");const isStandardStream=r=>w.includes(r);const w=[y.stdin,y.stdout,y.stderr];const D=["stdin","stdout","stderr"];const getStreamName=r=>D[r]??`stdio[${r}]`;const normalizeFdSpecificOptions=r=>{const A={...r};for(const s of k){A[s]=normalizeFdSpecificOption(r,s)}return A};const normalizeFdSpecificOption=(r,A)=>{const s=Array.from({length:getStdioLength(r)+1});const n=normalizeFdSpecificValue(r[A],s,A);return addDefaultValue(n,A)};const getStdioLength=({stdio:r})=>Array.isArray(r)?Math.max(r.length,D.length):D.length;const normalizeFdSpecificValue=(r,A,s)=>isPlainObject(r)?normalizeOptionObject(r,A,s):A.fill(r);const normalizeOptionObject=(r,A,s)=>{for(const n of Object.keys(r).sort(compareFdName)){for(const a of parseFdName(n,s,A)){A[a]=r[n]}}return A};const compareFdName=(r,A)=>getFdNameOrder(r){if(r==="stdout"||r==="stderr"){return 0}return r==="all"?2:1};const parseFdName=(r,A,s)=>{if(r==="ipc"){return[s.length-1]}const n=parseFd(r);if(n===undefined||n===0){throw new TypeError(`"${A}.${r}" is invalid.\nIt must be "${A}.stdout", "${A}.stderr", "${A}.all", "${A}.ipc", or "${A}.fd3", "${A}.fd4" (and so on).`)}if(n>=s.length){throw new TypeError(`"${A}.${r}" is invalid: that file descriptor does not exist.\nPlease set the "stdio" option to ensure that file descriptor exists.`)}return n==="all"?[1,2]:[n]};const parseFd=r=>{if(r==="all"){return r}if(D.includes(r)){return D.indexOf(r)}const A=b.exec(r);if(A!==null){return Number(A[1])}};const b=/^fd(\d+)$/;const addDefaultValue=(r,A)=>r.map((r=>r===undefined?S[A]:r));const R=(0,m.debuglog)("execa").enabled?"full":"none";const S={lines:false,buffer:true,maxBuffer:1e3*1e3*100,verbose:R,stripFinalNewline:true};const k=["lines","buffer","maxBuffer","verbose","stripFinalNewline"];const getFdSpecificValue=(r,A)=>A==="ipc"?r.at(-1):r[A];const isVerbose=({verbose:r},A)=>getFdVerbose(r,A)!=="none";const isFullVerbose=({verbose:r},A)=>!["none","short"].includes(getFdVerbose(r,A));const getVerboseFunction=({verbose:r},A)=>{const s=getFdVerbose(r,A);return isVerboseFunction(s)?s:undefined};const getFdVerbose=(r,A)=>A===undefined?getFdGenericVerbose(r):getFdSpecificValue(r,A);const getFdGenericVerbose=r=>r.find((r=>isVerboseFunction(r)))??F.findLast((A=>r.includes(A)));const isVerboseFunction=r=>typeof r==="function";const F=["none","short","full"];const joinCommand=(r,A)=>{const s=[r,...A];const n=s.join(" ");const a=s.map((r=>quoteString(escapeControlCharacters(r)))).join(" ");return{command:n,escapedCommand:a}};const escapeLines=r=>(0,m.stripVTControlCharacters)(r).split("\n").map((r=>escapeControlCharacters(r))).join("\n");const escapeControlCharacters=r=>r.replaceAll(T,(r=>escapeControlCharacter(r)));const escapeControlCharacter=r=>{const A=N[r];if(A!==undefined){return A}const s=r.codePointAt(0);const n=s.toString(16);return s<=v?`\\u${n.padStart(4,"0")}`:`\\U${n}`};const getSpecialCharRegExp=()=>{try{return new RegExp("\\p{Separator}|\\p{Other}","gu")}catch{return/[\s\u0000-\u001F\u007F-\u009F\u00AD]/g}};const T=getSpecialCharRegExp();const N={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};const v=65535;const quoteString=r=>{if(_.test(r)){return r}return y.platform==="win32"?`"${r.replaceAll('"','""')}"`:`'${r.replaceAll("'","'\\''")}'`};const _=/^[\w./-]+$/;function isUnicodeSupported(){const{env:r}=y;const{TERM:A,TERM_PROGRAM:s}=r;if(y.platform!=="win32"){return A!=="linux"}return Boolean(r.WT_SESSION)||Boolean(r.TERMINUS_SUBLIME)||r.ConEmuTask==="{cmd::Cmder}"||s==="Terminus-Sublime"||s==="vscode"||A==="xterm-256color"||A==="alacritty"||A==="rxvt-unicode"||A==="rxvt-unicode-256color"||r.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const U={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"█",squareDarkShade:"▓",squareMediumShade:"▒",squareLightShade:"░",squareTop:"▀",squareBottom:"▄",squareLeft:"▌",squareRight:"▐",squareCenter:"■",bullet:"●",dot:"․",ellipsis:"…",pointerSmall:"›",triangleUp:"▲",triangleUpSmall:"▴",triangleDown:"▼",triangleDownSmall:"▾",triangleLeftSmall:"◂",triangleRightSmall:"▸",home:"⌂",heart:"♥",musicNote:"♪",musicNoteBeamed:"♫",arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",arrowLeftRight:"↔",arrowUpDown:"↕",almostEqual:"≈",notEqual:"≠",lessOrEqual:"≤",greaterOrEqual:"≥",identical:"≡",infinity:"∞",subscriptZero:"₀",subscriptOne:"₁",subscriptTwo:"₂",subscriptThree:"₃",subscriptFour:"₄",subscriptFive:"₅",subscriptSix:"₆",subscriptSeven:"₇",subscriptEight:"₈",subscriptNine:"₉",oneHalf:"½",oneThird:"⅓",oneQuarter:"¼",oneFifth:"⅕",oneSixth:"⅙",oneEighth:"⅛",twoThirds:"⅔",twoFifths:"⅖",threeQuarters:"¾",threeFifths:"⅗",threeEighths:"⅜",fourFifths:"⅘",fiveSixths:"⅚",fiveEighths:"⅝",sevenEighths:"⅞",line:"─",lineBold:"━",lineDouble:"═",lineDashed0:"┄",lineDashed1:"┅",lineDashed2:"┈",lineDashed3:"┉",lineDashed4:"╌",lineDashed5:"╍",lineDashed6:"╴",lineDashed7:"╶",lineDashed8:"╸",lineDashed9:"╺",lineDashed10:"╼",lineDashed11:"╾",lineDashed12:"−",lineDashed13:"–",lineDashed14:"‐",lineDashed15:"⁃",lineVertical:"│",lineVerticalBold:"┃",lineVerticalDouble:"║",lineVerticalDashed0:"┆",lineVerticalDashed1:"┇",lineVerticalDashed2:"┊",lineVerticalDashed3:"┋",lineVerticalDashed4:"╎",lineVerticalDashed5:"╏",lineVerticalDashed6:"╵",lineVerticalDashed7:"╷",lineVerticalDashed8:"╹",lineVerticalDashed9:"╻",lineVerticalDashed10:"╽",lineVerticalDashed11:"╿",lineDownLeft:"┐",lineDownLeftArc:"╮",lineDownBoldLeftBold:"┓",lineDownBoldLeft:"┒",lineDownLeftBold:"┑",lineDownDoubleLeftDouble:"╗",lineDownDoubleLeft:"╖",lineDownLeftDouble:"╕",lineDownRight:"┌",lineDownRightArc:"╭",lineDownBoldRightBold:"┏",lineDownBoldRight:"┎",lineDownRightBold:"┍",lineDownDoubleRightDouble:"╔",lineDownDoubleRight:"╓",lineDownRightDouble:"╒",lineUpLeft:"┘",lineUpLeftArc:"╯",lineUpBoldLeftBold:"┛",lineUpBoldLeft:"┚",lineUpLeftBold:"┙",lineUpDoubleLeftDouble:"╝",lineUpDoubleLeft:"╜",lineUpLeftDouble:"╛",lineUpRight:"└",lineUpRightArc:"╰",lineUpBoldRightBold:"┗",lineUpBoldRight:"┖",lineUpRightBold:"┕",lineUpDoubleRightDouble:"╚",lineUpDoubleRight:"╙",lineUpRightDouble:"╘",lineUpDownLeft:"┤",lineUpBoldDownBoldLeftBold:"┫",lineUpBoldDownBoldLeft:"┨",lineUpDownLeftBold:"┥",lineUpBoldDownLeftBold:"┩",lineUpDownBoldLeftBold:"┪",lineUpDownBoldLeft:"┧",lineUpBoldDownLeft:"┦",lineUpDoubleDownDoubleLeftDouble:"╣",lineUpDoubleDownDoubleLeft:"╢",lineUpDownLeftDouble:"╡",lineUpDownRight:"├",lineUpBoldDownBoldRightBold:"┣",lineUpBoldDownBoldRight:"┠",lineUpDownRightBold:"┝",lineUpBoldDownRightBold:"┡",lineUpDownBoldRightBold:"┢",lineUpDownBoldRight:"┟",lineUpBoldDownRight:"┞",lineUpDoubleDownDoubleRightDouble:"╠",lineUpDoubleDownDoubleRight:"╟",lineUpDownRightDouble:"╞",lineDownLeftRight:"┬",lineDownBoldLeftBoldRightBold:"┳",lineDownLeftBoldRightBold:"┯",lineDownBoldLeftRight:"┰",lineDownBoldLeftBoldRight:"┱",lineDownBoldLeftRightBold:"┲",lineDownLeftRightBold:"┮",lineDownLeftBoldRight:"┭",lineDownDoubleLeftDoubleRightDouble:"╦",lineDownDoubleLeftRight:"╥",lineDownLeftDoubleRightDouble:"╤",lineUpLeftRight:"┴",lineUpBoldLeftBoldRightBold:"┻",lineUpLeftBoldRightBold:"┷",lineUpBoldLeftRight:"┸",lineUpBoldLeftBoldRight:"┹",lineUpBoldLeftRightBold:"┺",lineUpLeftRightBold:"┶",lineUpLeftBoldRight:"┵",lineUpDoubleLeftDoubleRightDouble:"╩",lineUpDoubleLeftRight:"╨",lineUpLeftDoubleRightDouble:"╧",lineUpDownLeftRight:"┼",lineUpBoldDownBoldLeftBoldRightBold:"╋",lineUpDownBoldLeftBoldRightBold:"╈",lineUpBoldDownLeftBoldRightBold:"╇",lineUpBoldDownBoldLeftRightBold:"╊",lineUpBoldDownBoldLeftBoldRight:"╉",lineUpBoldDownLeftRight:"╀",lineUpDownBoldLeftRight:"╁",lineUpDownLeftBoldRight:"┽",lineUpDownLeftRightBold:"┾",lineUpBoldDownBoldLeftRight:"╂",lineUpDownLeftBoldRightBold:"┿",lineUpBoldDownLeftBoldRight:"╃",lineUpBoldDownLeftRightBold:"╄",lineUpDownBoldLeftBoldRight:"╅",lineUpDownBoldLeftRightBold:"╆",lineUpDoubleDownDoubleLeftDoubleRightDouble:"╬",lineUpDoubleDownDoubleLeftRight:"╫",lineUpDownLeftDoubleRightDouble:"╪",lineCross:"╳",lineBackslash:"╲",lineSlash:"╱"};const L={tick:"✔",info:"ℹ",warning:"⚠",cross:"✘",squareSmall:"◻",squareSmallFilled:"◼",circle:"◯",circleFilled:"◉",circleDotted:"◌",circleDouble:"◎",circleCircle:"ⓞ",circleCross:"ⓧ",circlePipe:"Ⓘ",radioOn:"◉",radioOff:"◯",checkboxOn:"☒",checkboxOff:"☐",checkboxCircleOn:"ⓧ",checkboxCircleOff:"Ⓘ",pointer:"❯",triangleUpOutline:"△",triangleLeft:"◀",triangleRight:"▶",lozenge:"◆",lozengeOutline:"◇",hamburger:"☰",smiley:"㋡",mustache:"෴",star:"★",play:"▶",nodejs:"⬢",oneSeventh:"⅐",oneNinth:"⅑",oneTenth:"⅒"};const M={tick:"√",info:"i",warning:"‼",cross:"×",squareSmall:"□",squareSmallFilled:"■",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(○)",circleCross:"(×)",circlePipe:"(│)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[×]",checkboxOff:"[ ]",checkboxCircleOn:"(×)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"∆",triangleLeft:"◄",triangleRight:"►",lozenge:"♦",lozengeOutline:"◊",hamburger:"≡",smiley:"☺",mustache:"┌─┐",star:"✶",play:"►",nodejs:"♦",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"};const P={...U,...L};const G={...U,...M};const x=isUnicodeSupported();const O=x?P:G;const H=O;const Y=Object.entries(L);const replaceSymbols=(r,{useFallback:A=!x}={})=>{if(A){for(const[A,s]of Y){r=r.replaceAll(s,G[A])}}return r};const J=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:tty");const V=J?.WriteStream?.prototype?.hasColors?.()??false;const format=(r,A)=>{if(!V){return r=>r}const s=`[${r}m`;const n=`[${A}m`;return r=>{const A=r+"";let a=A.indexOf(n);if(a===-1){return s+A+n}let u=s;let l=0;while(a!==-1){u+=A.slice(l,a)+s;l=a+n.length;a=A.indexOf(n,l)}u+=A.slice(l)+n;return u}};const W=format(0,0);const q=format(1,22);const j=format(2,22);const K=format(3,23);const $=format(4,24);const z=format(53,55);const Z=format(7,27);const X=format(8,28);const ee=format(9,29);const te=format(30,39);const re=format(31,39);const Ae=format(32,39);const se=format(33,39);const ne=format(34,39);const oe=format(35,39);const ie=format(36,39);const ae=format(37,39);const ce=format(90,39);const ue=format(40,49);const le=format(41,49);const ge=format(42,49);const he=format(43,49);const Ee=format(44,49);const de=format(45,49);const pe=format(46,49);const fe=format(47,49);const Ce=format(100,49);const Be=format(91,39);const Qe=format(92,39);const Ie=format(93,39);const me=format(94,39);const ye=format(95,39);const we=format(96,39);const De=format(97,39);const be=format(101,49);const Re=format(102,49);const Se=format(103,49);const ke=format(104,49);const Fe=format(105,49);const Te=format(106,49);const Ne=format(107,49);const defaultVerboseFunction=({type:r,message:A,timestamp:s,piped:n,commandId:a,result:{failed:u=false}={},options:{reject:l=true}})=>{const g=serializeTimestamp(s);const E=ve[r]({failed:u,reject:l,piped:n});const d=_e[r]({reject:l});return`${ce(`[${g}]`)} ${ce(`[${a}]`)} ${d(E)} ${d(A)}`};const serializeTimestamp=r=>`${padField(r.getHours(),2)}:${padField(r.getMinutes(),2)}:${padField(r.getSeconds(),2)}.${padField(r.getMilliseconds(),3)}`;const padField=(r,A)=>String(r).padStart(A,"0");const getFinalIcon=({failed:r,reject:A})=>{if(!r){return H.tick}return A?H.cross:H.warning};const ve={command:({piped:r})=>r?"|":"$",output:()=>" ",ipc:()=>"*",error:getFinalIcon,duration:getFinalIcon};const identity=r=>r;const _e={command:()=>q,output:()=>identity,ipc:()=>identity,error:({reject:r})=>r?Be:Ie,duration:()=>ce};const applyVerboseOnLines=(r,A,s)=>{const n=getVerboseFunction(A,s);return r.map((({verboseLine:r,verboseObject:A})=>applyVerboseFunction(r,A,n))).filter((r=>r!==undefined)).map((r=>appendNewline(r))).join("")};const applyVerboseFunction=(r,A,s)=>{if(s===undefined){return r}const n=s(r,A);if(typeof n==="string"){return n}};const appendNewline=r=>r.endsWith("\n")?r:`${r}\n`;const verboseLog=({type:r,verboseMessage:A,fdNumber:s,verboseInfo:n,result:a})=>{const u=getVerboseObject({type:r,result:a,verboseInfo:n});const l=getPrintedLines(A,u);const g=applyVerboseOnLines(l,n,s);if(g!==""){console.warn(g.slice(0,-1))}};const getVerboseObject=({type:r,result:A,verboseInfo:{escapedCommand:s,commandId:n,rawOptions:{piped:a=false,...u}}})=>({type:r,escapedCommand:s,commandId:`${n}`,timestamp:new Date,piped:a,result:A,options:u});const getPrintedLines=(r,A)=>r.split("\n").map((r=>getPrintedLine({...A,message:r})));const getPrintedLine=r=>{const A=defaultVerboseFunction(r);return{verboseLine:A,verboseObject:r}};const serializeVerboseMessage=r=>{const A=typeof r==="string"?r:(0,m.inspect)(r);const s=escapeLines(A);return s.replaceAll("\t"," ".repeat(Ue))};const Ue=2;const logCommand=(r,A)=>{if(!isVerbose(A)){return}verboseLog({type:"command",verboseMessage:r,verboseInfo:A})};const getVerboseInfo=(r,A,s)=>{validateVerbose(r);const n=getCommandId(r);return{verbose:r,escapedCommand:A,commandId:n,rawOptions:s}};const getCommandId=r=>isVerbose({verbose:r})?Le++:undefined;let Le=0n;const validateVerbose=r=>{for(const A of r){if(A===false){throw new TypeError('The "verbose: false" option was renamed to "verbose: \'none\'".')}if(A===true){throw new TypeError('The "verbose: true" option was renamed to "verbose: \'short\'".')}if(!F.includes(A)&&!isVerboseFunction(A)){const r=F.map((r=>`'${r}'`)).join(", ");throw new TypeError(`The "verbose" option must not be ${A}. Allowed values are: ${r} or a function.`)}}};const getStartTime=()=>y.hrtime.bigint();const getDurationMs=r=>Number(y.hrtime.bigint()-r)/1e6;const handleCommand=(r,A,s)=>{const n=getStartTime();const{command:a,escapedCommand:u}=joinCommand(r,A);const l=normalizeFdSpecificOption(s,"verbose");const g=getVerboseInfo(l,u,{...s});logCommand(u,g);return{command:a,escapedCommand:u,startTime:n,verboseInfo:g}};var Me=s(4791);function pathKey(r={}){const{env:A=process.env,platform:s=process.platform}=r;if(s!=="win32"){return"PATH"}return Object.keys(A).reverse().find((r=>r.toUpperCase()==="PATH"))||"Path"}const Pe=(0,m.promisify)(E.execFile);function toPath(r){return r instanceof URL?(0,g.fileURLToPath)(r):r}function rootDirectory(r){return path.parse(toPath(r)).root}function traversePathUp(r){return{*[Symbol.iterator](){let A=a.resolve(toPath(r));let s;while(s!==A){yield A;s=A;A=a.resolve(A,"..")}}}}const Ge=null&&10*1024*1024;async function execFile(r,A,s={}){return Pe(r,A,{maxBuffer:Ge,...s})}function execFileSync(r,A=[],s={}){return execFileSyncOriginal(r,A,{maxBuffer:Ge,encoding:"utf8",stdio:"pipe",...s})}const npmRunPath=({cwd:r=y.cwd(),path:A=y.env[pathKey()],preferLocal:s=true,execPath:n=y.execPath,addExecPath:u=true}={})=>{const l=a.resolve(toPath(r));const g=[];const E=A.split(a.delimiter);if(s){applyPreferLocal(g,E,l)}if(u){applyExecPath(g,E,n,l)}return A===""||A===a.delimiter?`${g.join(a.delimiter)}${A}`:[...g,A].join(a.delimiter)};const applyPreferLocal=(r,A,s)=>{for(const n of traversePathUp(s)){const s=a.join(n,"node_modules/.bin");if(!A.includes(s)){r.push(s)}}};const applyExecPath=(r,A,s,n)=>{const u=a.resolve(n,toPath(s),"..");if(!A.includes(u)){r.push(u)}};const npmRunPathEnv=({env:r=y.env,...A}={})=>{r={...r};const s=pathKey({env:r});A.path=r[s];r[s]=npmRunPath(A);return r};const xe=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:timers/promises");const getFinalError=(r,A,s)=>{const n=s?ExecaSyncError:ExecaError;const a=r instanceof DiscardedError?{}:{cause:r};return new n(A,a)};class DiscardedError extends Error{}const setErrorName=(r,A)=>{Object.defineProperty(r.prototype,"name",{value:A,writable:true,enumerable:false,configurable:true});Object.defineProperty(r.prototype,Oe,{value:true,writable:false,enumerable:false,configurable:false})};const isExecaError=r=>isErrorInstance(r)&&Oe in r;const Oe=Symbol("isExecaError");const isErrorInstance=r=>Object.prototype.toString.call(r)==="[object Error]";class ExecaError extends Error{}setErrorName(ExecaError,ExecaError.name);class ExecaSyncError extends Error{}setErrorName(ExecaSyncError,ExecaSyncError.name);const He=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:os");const getRealtimeSignals=()=>{const r=Je-Ye+1;return Array.from({length:r},getRealtimeSignal)};const getRealtimeSignal=(r,A)=>({name:`SIGRT${A+1}`,number:Ye+A,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"});const Ye=34;const Je=64;const Ve=[{name:"SIGHUP",number:1,action:"terminate",description:"Terminal closed",standard:"posix"},{name:"SIGINT",number:2,action:"terminate",description:"User interruption with CTRL-C",standard:"ansi"},{name:"SIGQUIT",number:3,action:"core",description:"User interruption with CTRL-\\",standard:"posix"},{name:"SIGILL",number:4,action:"core",description:"Invalid machine instruction",standard:"ansi"},{name:"SIGTRAP",number:5,action:"core",description:"Debugger breakpoint",standard:"posix"},{name:"SIGABRT",number:6,action:"core",description:"Aborted",standard:"ansi"},{name:"SIGIOT",number:6,action:"core",description:"Aborted",standard:"bsd"},{name:"SIGBUS",number:7,action:"core",description:"Bus error due to misaligned, non-existing address or paging error",standard:"bsd"},{name:"SIGEMT",number:7,action:"terminate",description:"Command should be emulated but is not implemented",standard:"other"},{name:"SIGFPE",number:8,action:"core",description:"Floating point arithmetic error",standard:"ansi"},{name:"SIGKILL",number:9,action:"terminate",description:"Forced termination",standard:"posix",forced:true},{name:"SIGUSR1",number:10,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGSEGV",number:11,action:"core",description:"Segmentation fault",standard:"ansi"},{name:"SIGUSR2",number:12,action:"terminate",description:"Application-specific signal",standard:"posix"},{name:"SIGPIPE",number:13,action:"terminate",description:"Broken pipe or socket",standard:"posix"},{name:"SIGALRM",number:14,action:"terminate",description:"Timeout or timer",standard:"posix"},{name:"SIGTERM",number:15,action:"terminate",description:"Termination",standard:"ansi"},{name:"SIGSTKFLT",number:16,action:"terminate",description:"Stack is empty or overflowed",standard:"other"},{name:"SIGCHLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"posix"},{name:"SIGCLD",number:17,action:"ignore",description:"Child process terminated, paused or unpaused",standard:"other"},{name:"SIGCONT",number:18,action:"unpause",description:"Unpaused",standard:"posix",forced:true},{name:"SIGSTOP",number:19,action:"pause",description:"Paused",standard:"posix",forced:true},{name:"SIGTSTP",number:20,action:"pause",description:'Paused using CTRL-Z or "suspend"',standard:"posix"},{name:"SIGTTIN",number:21,action:"pause",description:"Background process cannot read terminal input",standard:"posix"},{name:"SIGBREAK",number:21,action:"terminate",description:"User interruption with CTRL-BREAK",standard:"other"},{name:"SIGTTOU",number:22,action:"pause",description:"Background process cannot write to terminal output",standard:"posix"},{name:"SIGURG",number:23,action:"ignore",description:"Socket received out-of-band data",standard:"bsd"},{name:"SIGXCPU",number:24,action:"core",description:"Process timed out",standard:"bsd"},{name:"SIGXFSZ",number:25,action:"core",description:"File too big",standard:"bsd"},{name:"SIGVTALRM",number:26,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGPROF",number:27,action:"terminate",description:"Timeout or timer",standard:"bsd"},{name:"SIGWINCH",number:28,action:"ignore",description:"Terminal window size changed",standard:"bsd"},{name:"SIGIO",number:29,action:"terminate",description:"I/O is available",standard:"other"},{name:"SIGPOLL",number:29,action:"terminate",description:"Watched event",standard:"other"},{name:"SIGINFO",number:29,action:"ignore",description:"Request for process information",standard:"other"},{name:"SIGPWR",number:30,action:"terminate",description:"Device running out of power",standard:"systemv"},{name:"SIGSYS",number:31,action:"core",description:"Invalid system call",standard:"other"},{name:"SIGUNUSED",number:31,action:"terminate",description:"Invalid system call",standard:"other"}];const getSignals=()=>{const r=getRealtimeSignals();const A=[...Ve,...r].map(normalizeSignal);return A};const normalizeSignal=({name:r,number:A,description:s,action:n,forced:a=false,standard:u})=>{const{signals:{[r]:l}}=He.constants;const g=l!==undefined;const E=g?l:A;return{name:r,number:E,description:s,supported:g,action:n,forced:a,standard:u}};const getSignalsByName=()=>{const r=getSignals();return Object.fromEntries(r.map(getSignalByName))};const getSignalByName=({name:r,number:A,description:s,supported:n,action:a,forced:u,standard:l})=>[r,{name:r,number:A,description:s,supported:n,action:a,forced:u,standard:l}];const We=getSignalsByName();const getSignalsByNumber=()=>{const r=getSignals();const A=Je+1;const s=Array.from({length:A},((A,s)=>getSignalByNumber(s,r)));return Object.assign({},...s)};const getSignalByNumber=(r,A)=>{const s=findSignalByNumber(r,A);if(s===undefined){return{}}const{name:n,description:a,supported:u,action:l,forced:g,standard:E}=s;return{[r]:{name:n,number:r,description:a,supported:u,action:l,forced:g,standard:E}}};const findSignalByNumber=(r,A)=>{const s=A.find((({name:A})=>He.constants.signals[A]===r));if(s!==undefined){return s}return A.find((A=>A.number===r))};const qe=getSignalsByNumber();const normalizeKillSignal=r=>{const A="option `killSignal`";if(r===0){throw new TypeError(`Invalid ${A}: 0 cannot be used.`)}return signal_normalizeSignal(r,A)};const normalizeSignalArgument=r=>r===0?r:signal_normalizeSignal(r,"`subprocess.kill()`'s argument");const signal_normalizeSignal=(r,A)=>{if(Number.isInteger(r)){return normalizeSignalInteger(r,A)}if(typeof r==="string"){return normalizeSignalName(r,A)}throw new TypeError(`Invalid ${A} ${String(r)}: it must be a string or an integer.\n${getAvailableSignals()}`)};const normalizeSignalInteger=(r,A)=>{if(je.has(r)){return je.get(r)}throw new TypeError(`Invalid ${A} ${r}: this signal integer does not exist.\n${getAvailableSignals()}`)};const getSignalsIntegerToName=()=>new Map(Object.entries(He.constants.signals).reverse().map((([r,A])=>[A,r])));const je=getSignalsIntegerToName();const normalizeSignalName=(r,A)=>{if(r in He.constants.signals){return r}if(r.toUpperCase()in He.constants.signals){throw new TypeError(`Invalid ${A} '${r}': please rename it to '${r.toUpperCase()}'.`)}throw new TypeError(`Invalid ${A} '${r}': this signal name does not exist.\n${getAvailableSignals()}`)};const getAvailableSignals=()=>`Available signal names: ${getAvailableSignalNames()}.\nAvailable signal numbers: ${getAvailableSignalIntegers()}.`;const getAvailableSignalNames=()=>Object.keys(He.constants.signals).sort().map((r=>`'${r}'`)).join(", ");const getAvailableSignalIntegers=()=>[...new Set(Object.values(He.constants.signals).sort(((r,A)=>r-A)))].join(", ");const getSignalDescription=r=>We[r].description;const normalizeForceKillAfterDelay=r=>{if(r===false){return r}if(r===true){return Ke}if(!Number.isFinite(r)||r<0){throw new TypeError(`Expected the \`forceKillAfterDelay\` option to be a non-negative integer, got \`${r}\` (${typeof r})`)}return r};const Ke=1e3*5;const subprocessKill=({kill:r,options:{forceKillAfterDelay:A,killSignal:s},onInternalError:n,context:a,controller:u},l,g)=>{const{signal:E,error:d}=parseKillArguments(l,g,s);emitKillError(d,n);const p=r(E);setKillTimeout({kill:r,signal:E,forceKillAfterDelay:A,killSignal:s,killResult:p,context:a,controller:u});return p};const parseKillArguments=(r,A,s)=>{const[n=s,a]=isErrorInstance(r)?[undefined,r]:[r,A];if(typeof n!=="string"&&!Number.isInteger(n)){throw new TypeError(`The first argument must be an error instance or a signal name string/integer: ${String(n)}`)}if(a!==undefined&&!isErrorInstance(a)){throw new TypeError(`The second argument is optional. If specified, it must be an error instance: ${a}`)}return{signal:normalizeSignalArgument(n),error:a}};const emitKillError=(r,A)=>{if(r!==undefined){A.reject(r)}};const setKillTimeout=async({kill:r,signal:A,forceKillAfterDelay:s,killSignal:n,killResult:a,context:u,controller:l})=>{if(A===n&&a){killOnTimeout({kill:r,forceKillAfterDelay:s,context:u,controllerSignal:l.signal})}};const killOnTimeout=async({kill:r,forceKillAfterDelay:A,context:s,controllerSignal:n})=>{if(A===false){return}try{await(0,xe.setTimeout)(A,undefined,{signal:n});if(r("SIGKILL")){s.isForcefullyTerminated??=true}}catch{}};var $e=s(8474);const onAbortedSignal=async(r,A)=>{if(!r.aborted){await(0,$e.once)(r,"abort",{signal:A})}};const validateCancelSignal=({cancelSignal:r})=>{if(r!==undefined&&Object.prototype.toString.call(r)!=="[object AbortSignal]"){throw new Error(`The \`cancelSignal\` option must be an AbortSignal: ${String(r)}`)}};const throwOnCancel=({subprocess:r,cancelSignal:A,gracefulCancel:s,context:n,controller:a})=>A===undefined||s?[]:[terminateOnCancel(r,A,n,a)];const terminateOnCancel=async(r,A,s,{signal:n})=>{await onAbortedSignal(A,n);s.terminationReason??="cancel";r.kill();throw A.reason};const validateIpcMethod=({methodName:r,isSubprocess:A,ipc:s,isConnected:n})=>{validateIpcOption(r,A,s);validateConnection(r,A,n)};const validateIpcOption=(r,A,s)=>{if(!s){throw new Error(`${getMethodName(r,A)} can only be used if the \`ipc\` option is \`true\`.`)}};const validateConnection=(r,A,s)=>{if(!s){throw new Error(`${getMethodName(r,A)} cannot be used: the ${getOtherProcessName(A)} has already exited or disconnected.`)}};const throwOnEarlyDisconnect=r=>{throw new Error(`${getMethodName("getOneMessage",r)} could not complete: the ${getOtherProcessName(r)} exited or disconnected.`)};const throwOnStrictDeadlockError=r=>{throw new Error(`${getMethodName("sendMessage",r)} failed: the ${getOtherProcessName(r)} is sending a message too, instead of listening to incoming messages.\nThis can be fixed by both sending a message and listening to incoming messages at the same time:\n\nconst [receivedMessage] = await Promise.all([\n\t${getMethodName("getOneMessage",r)},\n\t${getMethodName("sendMessage",r,"message, {strict: true}")},\n]);`)};const getStrictResponseError=(r,A)=>new Error(`${getMethodName("sendMessage",A)} failed when sending an acknowledgment response to the ${getOtherProcessName(A)}.`,{cause:r});const throwOnMissingStrict=r=>{throw new Error(`${getMethodName("sendMessage",r)} failed: the ${getOtherProcessName(r)} is not listening to incoming messages.`)};const throwOnStrictDisconnect=r=>{throw new Error(`${getMethodName("sendMessage",r)} failed: the ${getOtherProcessName(r)} exited without listening to incoming messages.`)};const getAbortDisconnectError=()=>new Error(`\`cancelSignal\` aborted: the ${getOtherProcessName(true)} disconnected.`);const throwOnMissingParent=()=>{throw new Error("`getCancelSignal()` cannot be used without setting the `cancelSignal` subprocess option.")};const handleEpipeError=({error:r,methodName:A,isSubprocess:s})=>{if(r.code==="EPIPE"){throw new Error(`${getMethodName(A,s)} cannot be used: the ${getOtherProcessName(s)} is disconnecting.`,{cause:r})}};const handleSerializationError=({error:r,methodName:A,isSubprocess:s,message:n})=>{if(isSerializationError(r)){throw new Error(`${getMethodName(A,s)}'s argument type is invalid: the message cannot be serialized: ${String(n)}.`,{cause:r})}};const isSerializationError=({code:r,message:A})=>ze.has(r)||Ze.some((r=>A.includes(r)));const ze=new Set(["ERR_MISSING_ARGS","ERR_INVALID_ARG_TYPE"]);const Ze=["could not be cloned","circular structure","call stack size exceeded"];const getMethodName=(r,A,s="")=>r==="cancelSignal"?"`cancelSignal`'s `controller.abort()`":`${getNamespaceName(A)}${r}(${s})`;const getNamespaceName=r=>r?"":"subprocess.";const getOtherProcessName=r=>r?"parent process":"subprocess";const disconnect=r=>{if(r.connected){r.disconnect()}};const createDeferred=()=>{const r={};const A=new Promise(((A,s)=>{Object.assign(r,{resolve:A,reject:s})}));return Object.assign(A,r)};const getToStream=(r,A="stdin")=>{const s=true;const{options:n,fileDescriptors:a}=Xe.get(r);const u=getFdNumber(a,A,s);const l=r.stdio[u];if(l===null){throw new TypeError(getInvalidStdioOptionMessage(u,A,n,s))}return l};const getFromStream=(r,A="stdout")=>{const s=false;const{options:n,fileDescriptors:a}=Xe.get(r);const u=getFdNumber(a,A,s);const l=u==="all"?r.all:r.stdio[u];if(l===null||l===undefined){throw new TypeError(getInvalidStdioOptionMessage(u,A,n,s))}return l};const Xe=new WeakMap;const getFdNumber=(r,A,s)=>{const n=parseFdNumber(A,s);validateFdNumber(n,A,s,r);return n};const parseFdNumber=(r,A)=>{const s=parseFd(r);if(s!==undefined){return s}const{validOptions:n,defaultValue:a}=A?{validOptions:'"stdin"',defaultValue:"stdin"}:{validOptions:'"stdout", "stderr", "all"',defaultValue:"stdout"};throw new TypeError(`"${getOptionName(A)}" must not be "${r}".\nIt must be ${n} or "fd3", "fd4" (and so on).\nIt is optional and defaults to "${a}".`)};const validateFdNumber=(r,A,s,n)=>{const a=n[getUsedDescriptor(r)];if(a===undefined){throw new TypeError(`"${getOptionName(s)}" must not be ${A}. That file descriptor does not exist.\nPlease set the "stdio" option to ensure that file descriptor exists.`)}if(a.direction==="input"&&!s){throw new TypeError(`"${getOptionName(s)}" must not be ${A}. It must be a readable stream, not writable.`)}if(a.direction!=="input"&&s){throw new TypeError(`"${getOptionName(s)}" must not be ${A}. It must be a writable stream, not readable.`)}};const getInvalidStdioOptionMessage=(r,A,s,n)=>{if(r==="all"&&!s.all){return'The "all" option must be true to use "from: \'all\'".'}const{optionName:a,optionValue:u}=getInvalidStdioOption(r,s);return`The "${a}: ${serializeOptionValue(u)}" option is incompatible with using "${getOptionName(n)}: ${serializeOptionValue(A)}".\nPlease set this option with "pipe" instead.`};const getInvalidStdioOption=(r,{stdin:A,stdout:s,stderr:n,stdio:a})=>{const u=getUsedDescriptor(r);if(u===0&&A!==undefined){return{optionName:"stdin",optionValue:A}}if(u===1&&s!==undefined){return{optionName:"stdout",optionValue:s}}if(u===2&&n!==undefined){return{optionName:"stderr",optionValue:n}}return{optionName:`stdio[${u}]`,optionValue:a[u]}};const getUsedDescriptor=r=>r==="all"?1:r;const getOptionName=r=>r?"to":"from";const serializeOptionValue=r=>{if(typeof r==="string"){return`'${r}'`}return typeof r==="number"?`${r}`:"Stream"};const incrementMaxListeners=(r,A,s)=>{const n=r.getMaxListeners();if(n===0||n===Number.POSITIVE_INFINITY){return}r.setMaxListeners(n+A);(0,$e.addAbortListener)(s,(()=>{r.setMaxListeners(r.getMaxListeners()-A)}))};const addReference=(r,A)=>{if(A){addReferenceCount(r)}};const addReferenceCount=r=>{r.refCounted()};const removeReference=(r,A)=>{if(A){removeReferenceCount(r)}};const removeReferenceCount=r=>{r.unrefCounted()};const undoAddedReferences=(r,A)=>{if(A){removeReferenceCount(r);removeReferenceCount(r)}};const redoAddedReferences=(r,A)=>{if(A){addReferenceCount(r);addReferenceCount(r)}};const onMessage=async({anyProcess:r,channel:A,isSubprocess:s,ipcEmitter:n},a)=>{if(handleStrictResponse(a)||handleAbort(a)){return}if(!et.has(r)){et.set(r,[])}const u=et.get(r);u.push(a);if(u.length>1){return}while(u.length>0){await waitForOutgoingMessages(r,n,a);await xe.scheduler.yield();const l=await handleStrictRequest({wrappedMessage:u[0],anyProcess:r,channel:A,isSubprocess:s,ipcEmitter:n});u.shift();n.emit("message",l);n.emit("message:done")}};const onDisconnect=async({anyProcess:r,channel:A,isSubprocess:s,ipcEmitter:n,boundOnMessage:a})=>{abortOnDisconnect();const u=et.get(r);while(u?.length>0){await(0,$e.once)(n,"message:done")}r.removeListener("message",a);redoAddedReferences(A,s);n.connected=false;n.emit("disconnect")};const et=new WeakMap;const getIpcEmitter=(r,A,s)=>{if(tt.has(r)){return tt.get(r)}const n=new $e.EventEmitter;n.connected=true;tt.set(r,n);forwardEvents({ipcEmitter:n,anyProcess:r,channel:A,isSubprocess:s});return n};const tt=new WeakMap;const forwardEvents=({ipcEmitter:r,anyProcess:A,channel:s,isSubprocess:n})=>{const a=onMessage.bind(undefined,{anyProcess:A,channel:s,isSubprocess:n,ipcEmitter:r});A.on("message",a);A.once("disconnect",onDisconnect.bind(undefined,{anyProcess:A,channel:s,isSubprocess:n,ipcEmitter:r,boundOnMessage:a}));undoAddedReferences(s,n)};const isConnected=r=>{const A=tt.get(r);return A===undefined?r.channel!==null:A.connected};const handleSendStrict=({anyProcess:r,channel:A,isSubprocess:s,message:n,strict:a})=>{if(!a){return n}const u=getIpcEmitter(r,A,s);const l=hasMessageListeners(r,u);return{id:rt++,type:st,message:n,hasListeners:l}};let rt=0n;const validateStrictDeadlock=(r,A)=>{if(A?.type!==st||A.hasListeners){return}for(const{id:A}of r){if(A!==undefined){At[A].resolve({isDeadlock:true,hasListeners:false})}}};const handleStrictRequest=async({wrappedMessage:r,anyProcess:A,channel:s,isSubprocess:n,ipcEmitter:a})=>{if(r?.type!==st||!A.connected){return r}const{id:u,message:l}=r;const g={id:u,type:nt,message:hasMessageListeners(A,a)};try{await sendMessage({anyProcess:A,channel:s,isSubprocess:n,ipc:true},g)}catch(r){a.emit("strict:error",r)}return l};const handleStrictResponse=r=>{if(r?.type!==nt){return false}const{id:A,message:s}=r;At[A]?.resolve({isDeadlock:false,hasListeners:s});return true};const waitForStrictResponse=async(r,A,s)=>{if(r?.type!==st){return}const n=createDeferred();At[r.id]=n;const a=new AbortController;try{const{isDeadlock:r,hasListeners:u}=await Promise.race([n,throwOnDisconnect(A,s,a)]);if(r){throwOnStrictDeadlockError(s)}if(!u){throwOnMissingStrict(s)}}finally{a.abort();delete At[r.id]}};const At={};const throwOnDisconnect=async(r,A,{signal:s})=>{incrementMaxListeners(r,1,s);await(0,$e.once)(r,"disconnect",{signal:s});throwOnStrictDisconnect(A)};const st="execa:ipc:request";const nt="execa:ipc:response";const startSendMessage=(r,A,s)=>{if(!ot.has(r)){ot.set(r,new Set)}const n=ot.get(r);const a=createDeferred();const u=s?A.id:undefined;const l={onMessageSent:a,id:u};n.add(l);return{outgoingMessages:n,outgoingMessage:l}};const endSendMessage=({outgoingMessages:r,outgoingMessage:A})=>{r.delete(A);A.onMessageSent.resolve()};const waitForOutgoingMessages=async(r,A,s)=>{while(!hasMessageListeners(r,A)&&ot.get(r)?.size>0){const A=[...ot.get(r)];validateStrictDeadlock(A,s);await Promise.all(A.map((({onMessageSent:r})=>r)))}};const ot=new WeakMap;const hasMessageListeners=(r,A)=>A.listenerCount("message")>getMinListenerCount(r);const getMinListenerCount=r=>Xe.has(r)&&!getFdSpecificValue(Xe.get(r).options.buffer,"ipc")?1:0;const sendMessage=({anyProcess:r,channel:A,isSubprocess:s,ipc:n},a,{strict:u=false}={})=>{const l="sendMessage";validateIpcMethod({methodName:l,isSubprocess:s,ipc:n,isConnected:r.connected});return sendMessageAsync({anyProcess:r,channel:A,methodName:l,isSubprocess:s,message:a,strict:u})};const sendMessageAsync=async({anyProcess:r,channel:A,methodName:s,isSubprocess:n,message:a,strict:u})=>{const l=handleSendStrict({anyProcess:r,channel:A,isSubprocess:n,message:a,strict:u});const g=startSendMessage(r,l,u);try{await sendOneMessage({anyProcess:r,methodName:s,isSubprocess:n,wrappedMessage:l,message:a})}catch(A){disconnect(r);throw A}finally{endSendMessage(g)}};const sendOneMessage=async({anyProcess:r,methodName:A,isSubprocess:s,wrappedMessage:n,message:a})=>{const u=getSendMethod(r);try{await Promise.all([waitForStrictResponse(n,r,s),u(n)])}catch(r){handleEpipeError({error:r,methodName:A,isSubprocess:s});handleSerializationError({error:r,methodName:A,isSubprocess:s,message:a});throw r}};const getSendMethod=r=>{if(it.has(r)){return it.get(r)}const A=(0,m.promisify)(r.send.bind(r));it.set(r,A);return A};const it=new WeakMap;const sendAbort=(r,A)=>{const s="cancelSignal";validateConnection(s,false,r.connected);return sendOneMessage({anyProcess:r,methodName:s,isSubprocess:false,wrappedMessage:{type:ct,message:A},message:A})};const getCancelSignal=async({anyProcess:r,channel:A,isSubprocess:s,ipc:n})=>{await startIpc({anyProcess:r,channel:A,isSubprocess:s,ipc:n});return ut.signal};const startIpc=async({anyProcess:r,channel:A,isSubprocess:s,ipc:n})=>{if(at){return}at=true;if(!n){throwOnMissingParent();return}if(A===null){abortOnDisconnect();return}getIpcEmitter(r,A,s);await xe.scheduler.yield()};let at=false;const handleAbort=r=>{if(r?.type!==ct){return false}ut.abort(r.message);return true};const ct="execa:ipc:cancel";const abortOnDisconnect=()=>{ut.abort(getAbortDisconnectError())};const ut=new AbortController;const validateGracefulCancel=({gracefulCancel:r,cancelSignal:A,ipc:s,serialization:n})=>{if(!r){return}if(A===undefined){throw new Error("The `cancelSignal` option must be defined when setting the `gracefulCancel` option.")}if(!s){throw new Error("The `ipc` option cannot be false when setting the `gracefulCancel` option.")}if(n==="json"){throw new Error("The `serialization` option cannot be 'json' when setting the `gracefulCancel` option.")}};const throwOnGracefulCancel=({subprocess:r,cancelSignal:A,gracefulCancel:s,forceKillAfterDelay:n,context:a,controller:u})=>s?[sendOnAbort({subprocess:r,cancelSignal:A,forceKillAfterDelay:n,context:a,controller:u})]:[];const sendOnAbort=async({subprocess:r,cancelSignal:A,forceKillAfterDelay:s,context:n,controller:{signal:a}})=>{await onAbortedSignal(A,a);const u=getReason(A);await sendAbort(r,u);killOnTimeout({kill:r.kill,forceKillAfterDelay:s,context:n,controllerSignal:a});n.terminationReason??="gracefulCancel";throw A.reason};const getReason=({reason:r})=>{if(!(r instanceof DOMException)){return r}const A=new Error(r.message);Object.defineProperty(A,"stack",{value:r.stack,enumerable:false,configurable:true,writable:true});return A};const validateTimeout=({timeout:r})=>{if(r!==undefined&&(!Number.isFinite(r)||r<0)){throw new TypeError(`Expected the \`timeout\` option to be a non-negative integer, got \`${r}\` (${typeof r})`)}};const throwOnTimeout=(r,A,s,n)=>A===0||A===undefined?[]:[killAfterTimeout(r,A,s,n)];const killAfterTimeout=async(r,A,s,{signal:n})=>{await(0,xe.setTimeout)(A,undefined,{signal:n});s.terminationReason??="timeout";r.kill();throw new DiscardedError};const mapNode=({options:r})=>{if(r.node===false){throw new TypeError('The "node" option cannot be false with `execaNode()`.')}return{options:{...r,node:true}}};const handleNodeOption=(r,A,{node:s=false,nodePath:n=y.execPath,nodeOptions:u=y.execArgv.filter((r=>!r.startsWith("--inspect"))),cwd:l,execPath:g,...E})=>{if(g!==undefined){throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.')}const d=safeNormalizeFileUrl(n,'The "nodePath" option');const p=a.resolve(l,d);const C={...E,nodePath:p,node:s,cwd:l};if(!s){return[r,A,C]}if(a.basename(r,".exe")==="node"){throw new TypeError('When the "node" option is true, the first argument does not need to be "node".')}return[p,[...u,r,...A],{ipc:true,...C,shell:false}]};const lt=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:v8");const validateIpcInputOption=({ipcInput:r,ipc:A,serialization:s})=>{if(r===undefined){return}if(!A){throw new Error("The `ipcInput` option cannot be set unless the `ipc` option is `true`.")}gt[s](r)};const validateAdvancedInput=r=>{try{(0,lt.serialize)(r)}catch(r){throw new Error("The `ipcInput` option is not serializable with a structured clone.",{cause:r})}};const validateJsonInput=r=>{try{JSON.stringify(r)}catch(r){throw new Error("The `ipcInput` option is not serializable with JSON.",{cause:r})}};const gt={advanced:validateAdvancedInput,json:validateJsonInput};const sendIpcInput=async(r,A)=>{if(A===undefined){return}await r.sendMessage(A)};const validateEncoding=({encoding:r})=>{if(dt.has(r)){return}const A=getCorrectEncoding(r);if(A!==undefined){throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(r)}\`.\nPlease rename it to ${serializeEncoding(A)}.`)}const s=[...dt].map((r=>serializeEncoding(r))).join(", ");throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(r)}\`.\nPlease rename it to one of: ${s}.`)};const ht=new Set(["utf8","utf16le"]);const Et=new Set(["buffer","hex","base64","base64url","latin1","ascii"]);const dt=new Set([...ht,...Et]);const getCorrectEncoding=r=>{if(r===null){return"buffer"}if(typeof r!=="string"){return}const A=r.toLowerCase();if(A in pt){return pt[A]}if(dt.has(A)){return A}};const pt={"utf-8":"utf8","utf-16le":"utf16le","ucs-2":"utf16le",ucs2:"utf16le",binary:"latin1"};const serializeEncoding=r=>typeof r==="string"?`"${r}"`:String(r);const normalizeCwd=(r=getDefaultCwd())=>{const A=safeNormalizeFileUrl(r,'The "cwd" option');return a.resolve(A)};const getDefaultCwd=()=>{try{return y.cwd()}catch(r){r.message=`The current directory does not exist.\n${r.message}`;throw r}};const fixCwdError=(r,A)=>{if(A===getDefaultCwd()){return r}let s;try{s=(0,n.statSync)(A)}catch(s){return`The "cwd" option is invalid: ${A}.\n${s.message}\n${r}`}if(!s.isDirectory()){return`The "cwd" option is not a directory: ${A}.\n${r}`}return r};const normalizeOptions=(r,A,s)=>{s.cwd=normalizeCwd(s.cwd);const[n,u,l]=handleNodeOption(r,A,s);const{command:g,args:E,options:d}=Me._parse(n,u,l);const p=normalizeFdSpecificOptions(d);const C=addDefaultOptions(p);validateTimeout(C);validateEncoding(C);validateIpcInputOption(C);validateCancelSignal(C);validateGracefulCancel(C);C.shell=normalizeFileUrl(C.shell);C.env=getEnv(C);C.killSignal=normalizeKillSignal(C.killSignal);C.forceKillAfterDelay=normalizeForceKillAfterDelay(C.forceKillAfterDelay);C.lines=C.lines.map(((r,A)=>r&&!Et.has(C.encoding)&&C.buffer[A]));if(y.platform==="win32"&&a.basename(g,".exe")==="cmd"){E.unshift("/q")}return{file:g,commandArguments:E,options:C}};const addDefaultOptions=({extendEnv:r=true,preferLocal:A=false,cwd:s,localDir:n=s,encoding:a="utf8",reject:u=true,cleanup:l=true,all:g=false,windowsHide:E=true,killSignal:d="SIGTERM",forceKillAfterDelay:p=true,gracefulCancel:C=false,ipcInput:B,ipc:Q=B!==undefined||C,serialization:I="advanced",...m})=>({...m,extendEnv:r,preferLocal:A,cwd:s,localDirectory:n,encoding:a,reject:u,cleanup:l,all:g,windowsHide:E,killSignal:d,forceKillAfterDelay:p,gracefulCancel:C,ipcInput:B,ipc:Q,serialization:I});const getEnv=({env:r,extendEnv:A,preferLocal:s,node:n,localDirectory:a,nodePath:u})=>{const l=A?{...y.env,...r}:r;if(s||n){return npmRunPathEnv({env:l,cwd:a,execPath:u,preferLocal:s,addExecPath:n})}return l};function strip_final_newline_stripFinalNewline(r){if(typeof r==="string"){return stripFinalNewlineString(r)}if(!(ArrayBuffer.isView(r)&&r.BYTES_PER_ELEMENT===1)){throw new Error("Input must be a string or a Uint8Array")}return stripFinalNewlineBinary(r)}const stripFinalNewlineString=r=>r.at(-1)===ft?r.slice(0,r.at(-2)===Bt?-2:-1):r;const stripFinalNewlineBinary=r=>r.at(-1)===Ct?r.subarray(0,r.at(-2)===Qt?-2:-1):r;const ft="\n";const Ct=ft.codePointAt(0);const Bt="\r";const Qt=Bt.codePointAt(0);function isStream(r,{checkOpen:A=true}={}){return r!==null&&typeof r==="object"&&(r.writable||r.readable||!A||r.writable===undefined&&r.readable===undefined)&&typeof r.pipe==="function"}function isWritableStream(r,{checkOpen:A=true}={}){return isStream(r,{checkOpen:A})&&(r.writable||!A)&&typeof r.write==="function"&&typeof r.end==="function"&&typeof r.writable==="boolean"&&typeof r.writableObjectMode==="boolean"&&typeof r.destroy==="function"&&typeof r.destroyed==="boolean"}function isReadableStream(r,{checkOpen:A=true}={}){return isStream(r,{checkOpen:A})&&(r.readable||!A)&&typeof r.read==="function"&&typeof r.readable==="boolean"&&typeof r.readableObjectMode==="boolean"&&typeof r.destroy==="function"&&typeof r.destroyed==="boolean"}function isDuplexStream(r,A){return isWritableStream(r,A)&&isReadableStream(r,A)}function isTransformStream(r,A){return isDuplexStream(r,A)&&typeof r._transform==="function"}const It=Object.getPrototypeOf(Object.getPrototypeOf((async function*(){})).prototype);class c{#p;#f;#C=!1;#B=void 0;constructor(r,A){this.#p=r,this.#f=A}next(){const e=()=>this.#Q();return this.#B=this.#B?this.#B.then(e,e):e(),this.#B}return(r){const t=()=>this.#I(r);return this.#B?this.#B.then(t,t):t()}async#Q(){if(this.#C)return{done:!0,value:void 0};let r;try{r=await this.#p.read()}catch(r){throw this.#B=void 0,this.#C=!0,this.#p.releaseLock(),r}return r.done&&(this.#B=void 0,this.#C=!0,this.#p.releaseLock()),r}async#I(r){if(this.#C)return{done:!0,value:r};if(this.#C=!0,!this.#f){const A=this.#p.cancel(r);return this.#p.releaseLock(),await A,{done:!0,value:r}}return this.#p.releaseLock(),{done:!0,value:r}}}const mt=Symbol();function i(){return this[mt].next()}Object.defineProperty(i,"name",{value:"next"});function o(r){return this[mt].return(r)}Object.defineProperty(o,"name",{value:"return"});const yt=Object.create(It,{next:{enumerable:!0,configurable:!0,writable:!0,value:i},return:{enumerable:!0,configurable:!0,writable:!0,value:o}});function h({preventCancel:r=!1}={}){const A=this.getReader(),s=new c(A,r),n=Object.create(yt);return n[mt]=s,n}const getAsyncIterable=r=>{if(isReadableStream(r,{checkOpen:false})&&Dt.on!==undefined){return getStreamIterable(r)}if(typeof r?.[Symbol.asyncIterator]==="function"){return r}if(wt.call(r)==="[object ReadableStream]"){return h.call(r)}throw new TypeError("The first argument must be a Readable, a ReadableStream, or an async iterable.")};const{toString:wt}=Object.prototype;const getStreamIterable=async function*(r){const A=new AbortController;const s={};handleStreamEnd(r,A,s);try{for await(const[s]of Dt.on(r,"data",{signal:A.signal})){yield s}}catch(r){if(s.error!==undefined){throw s.error}else if(!A.signal.aborted){throw r}}finally{r.destroy()}};const handleStreamEnd=async(r,A,s)=>{try{await Dt.finished(r,{cleanup:true,readable:true,writable:false,error:false})}catch(r){s.error=r}finally{A.abort()}};const Dt={};const getStreamContents=async(r,{init:A,convertChunk:s,getSize:n,truncateChunk:a,addChunk:u,getFinalChunk:l,finalize:g},{maxBuffer:E=Number.POSITIVE_INFINITY}={})=>{const d=getAsyncIterable(r);const p=A();p.length=0;try{for await(const r of d){const A=getChunkType(r);const l=s[A](r,p);appendChunk({convertedChunk:l,state:p,getSize:n,truncateChunk:a,addChunk:u,maxBuffer:E})}appendFinalChunk({state:p,convertChunk:s,getSize:n,truncateChunk:a,addChunk:u,getFinalChunk:l,maxBuffer:E});return g(p)}catch(r){const A=typeof r==="object"&&r!==null?r:new Error(r);A.bufferedData=g(p);throw A}};const appendFinalChunk=({state:r,getSize:A,truncateChunk:s,addChunk:n,getFinalChunk:a,maxBuffer:u})=>{const l=a(r);if(l!==undefined){appendChunk({convertedChunk:l,state:r,getSize:A,truncateChunk:s,addChunk:n,maxBuffer:u})}};const appendChunk=({convertedChunk:r,state:A,getSize:s,truncateChunk:n,addChunk:a,maxBuffer:u})=>{const l=s(r);const g=A.length+l;if(g<=u){addNewChunk(r,A,a,g);return}const E=n(r,u-A.length);if(E!==undefined){addNewChunk(E,A,a,u)}throw new MaxBufferError};const addNewChunk=(r,A,s,n)=>{A.contents=s(r,A,n);A.length=n};const getChunkType=r=>{const A=typeof r;if(A==="string"){return"string"}if(A!=="object"||r===null){return"others"}if(globalThis.Buffer?.isBuffer(r)){return"buffer"}const s=bt.call(r);if(s==="[object ArrayBuffer]"){return"arrayBuffer"}if(s==="[object DataView]"){return"dataView"}if(Number.isInteger(r.byteLength)&&Number.isInteger(r.byteOffset)&&bt.call(r.buffer)==="[object ArrayBuffer]"){return"typedArray"}return"others"};const{toString:bt}=Object.prototype;class MaxBufferError extends Error{name="MaxBufferError";constructor(){super("maxBuffer exceeded")}}const handleMaxBuffer=({error:r,stream:A,readableObjectMode:s,lines:n,encoding:a,fdNumber:u})=>{if(!(r instanceof MaxBufferError)){throw r}if(u==="all"){return r}const l=getMaxBufferUnit(s,n,a);r.maxBufferInfo={fdNumber:u,unit:l};A.destroy();throw r};const getMaxBufferUnit=(r,A,s)=>{if(r){return"objects"}if(A){return"lines"}if(s==="buffer"){return"bytes"}return"characters"};const checkIpcMaxBuffer=(r,A,s)=>{if(A.length!==s){return}const n=new MaxBufferError;n.maxBufferInfo={fdNumber:"ipc"};throw n};const getMaxBufferMessage=(r,A)=>{const{streamName:s,threshold:n,unit:a}=getMaxBufferInfo(r,A);return`Command's ${s} was larger than ${n} ${a}`};const getMaxBufferInfo=(r,A)=>{if(r?.maxBufferInfo===undefined){return{streamName:"output",threshold:A[1],unit:"bytes"}}const{maxBufferInfo:{fdNumber:s,unit:n}}=r;delete r.maxBufferInfo;const a=getFdSpecificValue(A,s);if(s==="ipc"){return{streamName:"IPC output",threshold:a,unit:"messages"}}return{streamName:getStreamName(s),threshold:a,unit:n}};const isMaxBufferSync=(r,A,s)=>r?.code==="ENOBUFS"&&A!==null&&A.some((r=>r!==null&&r.length>getMaxBufferSync(s)));const truncateMaxBufferSync=(r,A,s)=>{if(!A){return r}const n=getMaxBufferSync(s);return r.length>n?r.slice(0,n):r};const getMaxBufferSync=([,r])=>r;const createMessages=({stdio:r,all:A,ipcOutput:s,originalError:n,signal:a,signalDescription:u,exitCode:l,escapedCommand:g,timedOut:E,isCanceled:d,isGracefullyCanceled:p,isMaxBuffer:C,isForcefullyTerminated:B,forceKillAfterDelay:Q,killSignal:I,maxBuffer:m,timeout:y,cwd:w})=>{const D=n?.code;const b=getErrorPrefix({originalError:n,timedOut:E,timeout:y,isMaxBuffer:C,maxBuffer:m,errorCode:D,signal:a,signalDescription:u,exitCode:l,isCanceled:d,isGracefullyCanceled:p,isForcefullyTerminated:B,forceKillAfterDelay:Q,killSignal:I});const R=getOriginalMessage(n,w);const S=R===undefined?"":`\n${R}`;const k=`${b}: ${g}${S}`;const F=A===undefined?[r[2],r[1]]:[A];const T=[k,...F,...r.slice(3),s.map((r=>serializeIpcMessage(r))).join("\n")].map((r=>escapeLines(strip_final_newline_stripFinalNewline(serializeMessagePart(r))))).filter(Boolean).join("\n\n");return{originalMessage:R,shortMessage:k,message:T}};const getErrorPrefix=({originalError:r,timedOut:A,timeout:s,isMaxBuffer:n,maxBuffer:a,errorCode:u,signal:l,signalDescription:g,exitCode:E,isCanceled:d,isGracefullyCanceled:p,isForcefullyTerminated:C,forceKillAfterDelay:B,killSignal:Q})=>{const I=getForcefulSuffix(C,B);if(A){return`Command timed out after ${s} milliseconds${I}`}if(p){if(l===undefined){return`Command was gracefully canceled with exit code ${E}`}return C?`Command was gracefully canceled${I}`:`Command was gracefully canceled with ${l} (${g})`}if(d){return`Command was canceled${I}`}if(n){return`${getMaxBufferMessage(r,a)}${I}`}if(u!==undefined){return`Command failed with ${u}${I}`}if(C){return`Command was killed with ${Q} (${getSignalDescription(Q)})${I}`}if(l!==undefined){return`Command was killed with ${l} (${g})`}if(E!==undefined){return`Command failed with exit code ${E}`}return"Command failed"};const getForcefulSuffix=(r,A)=>r?` and was forcefully terminated after ${A} milliseconds`:"";const getOriginalMessage=(r,A)=>{if(r instanceof DiscardedError){return}const s=isExecaError(r)?r.originalMessage:String(r?.message??r);const n=escapeLines(fixCwdError(s,A));return n===""?undefined:n};const serializeIpcMessage=r=>typeof r==="string"?r:(0,m.inspect)(r);const serializeMessagePart=r=>Array.isArray(r)?r.map((r=>strip_final_newline_stripFinalNewline(serializeMessageItem(r)))).filter(Boolean).join("\n"):serializeMessageItem(r);const serializeMessageItem=r=>{if(typeof r==="string"){return r}if(isUint8Array(r)){return uint8ArrayToString(r)}return""};const makeSuccessResult=({command:r,escapedCommand:A,stdio:s,all:n,ipcOutput:a,options:{cwd:u},startTime:l})=>omitUndefinedProperties({command:r,escapedCommand:A,cwd:u,durationMs:getDurationMs(l),failed:false,timedOut:false,isCanceled:false,isGracefullyCanceled:false,isTerminated:false,isMaxBuffer:false,isForcefullyTerminated:false,exitCode:0,stdout:s[1],stderr:s[2],all:n,stdio:s,ipcOutput:a,pipedFrom:[]});const makeEarlyError=({error:r,command:A,escapedCommand:s,fileDescriptors:n,options:a,startTime:u,isSync:l})=>makeError({error:r,command:A,escapedCommand:s,startTime:u,timedOut:false,isCanceled:false,isGracefullyCanceled:false,isMaxBuffer:false,isForcefullyTerminated:false,stdio:Array.from({length:n.length}),ipcOutput:[],options:a,isSync:l});const makeError=({error:r,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isGracefullyCanceled:l,isMaxBuffer:g,isForcefullyTerminated:E,exitCode:d,signal:p,stdio:C,all:B,ipcOutput:Q,options:{timeoutDuration:I,timeout:m=I,forceKillAfterDelay:y,killSignal:w,cwd:D,maxBuffer:b},isSync:R})=>{const{exitCode:S,signal:k,signalDescription:F}=normalizeExitPayload(d,p);const{originalMessage:T,shortMessage:N,message:v}=createMessages({stdio:C,all:B,ipcOutput:Q,originalError:r,signal:k,signalDescription:F,exitCode:S,escapedCommand:s,timedOut:a,isCanceled:u,isGracefullyCanceled:l,isMaxBuffer:g,isForcefullyTerminated:E,forceKillAfterDelay:y,killSignal:w,maxBuffer:b,timeout:m,cwd:D});const _=getFinalError(r,v,R);Object.assign(_,getErrorProperties({error:_,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isGracefullyCanceled:l,isMaxBuffer:g,isForcefullyTerminated:E,exitCode:S,signal:k,signalDescription:F,stdio:C,all:B,ipcOutput:Q,cwd:D,originalMessage:T,shortMessage:N}));return _};const getErrorProperties=({error:r,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isGracefullyCanceled:l,isMaxBuffer:g,isForcefullyTerminated:E,exitCode:d,signal:p,signalDescription:C,stdio:B,all:Q,ipcOutput:I,cwd:m,originalMessage:y,shortMessage:w})=>omitUndefinedProperties({shortMessage:w,originalMessage:y,command:A,escapedCommand:s,cwd:m,durationMs:getDurationMs(n),failed:true,timedOut:a,isCanceled:u,isGracefullyCanceled:l,isTerminated:p!==undefined,isMaxBuffer:g,isForcefullyTerminated:E,exitCode:d,signal:p,signalDescription:C,code:r.cause?.code,stdout:B[1],stderr:B[2],all:Q,stdio:B,ipcOutput:I,pipedFrom:[]});const omitUndefinedProperties=r=>Object.fromEntries(Object.entries(r).filter((([,r])=>r!==undefined)));const normalizeExitPayload=(r,A)=>{const s=r===null?undefined:r;const n=A===null?undefined:A;const a=n===undefined?undefined:getSignalDescription(A);return{exitCode:s,signal:n,signalDescription:a}};const toZeroIfInfinity=r=>Number.isFinite(r)?r:0;function parseNumber(r){return{days:Math.trunc(r/864e5),hours:Math.trunc(r/36e5%24),minutes:Math.trunc(r/6e4%60),seconds:Math.trunc(r/1e3%60),milliseconds:Math.trunc(r%1e3),microseconds:Math.trunc(toZeroIfInfinity(r*1e3)%1e3),nanoseconds:Math.trunc(toZeroIfInfinity(r*1e6)%1e3)}}function parseBigint(r){return{days:r/86400000n,hours:r/3600000n%24n,minutes:r/60000n%60n,seconds:r/1000n%60n,milliseconds:r%1000n,microseconds:0n,nanoseconds:0n}}function parseMilliseconds(r){switch(typeof r){case"number":{if(Number.isFinite(r)){return parseNumber(r)}break}case"bigint":{return parseBigint(r)}}throw new TypeError("Expected a finite number or bigint")}const isZero=r=>r===0||r===0n;const pluralize=(r,A)=>A===1||A===1n?r:`${r}s`;const Rt=1e-7;const St=24n*60n*60n*1000n;function prettyMilliseconds(r,A){const s=typeof r==="bigint";if(!s&&!Number.isFinite(r)){throw new TypeError("Expected a finite number or bigint")}A={...A};const n=r<0?"-":"";r=r<0?-r:r;if(A.colonNotation){A.compact=false;A.formatSubMilliseconds=false;A.separateMilliseconds=false;A.verbose=false}if(A.compact){A.unitCount=1;A.secondsDecimalDigits=0;A.millisecondsDecimalDigits=0}let a=[];const floorDecimals=(r,A)=>{const s=Math.floor(r*10**A+Rt);const n=Math.round(s)/10**A;return n.toFixed(A)};const add=(r,s,n,u)=>{if((a.length===0||!A.colonNotation)&&isZero(r)&&!(A.colonNotation&&n==="m")){return}u??=String(r);if(A.colonNotation){const r=u.includes(".")?u.split(".")[0].length:u.length;const A=a.length>0?2:1;u="0".repeat(Math.max(0,A-r))+u}else{u+=A.verbose?" "+pluralize(s,r):n}a.push(u)};const u=parseMilliseconds(r);const l=BigInt(u.days);if(A.hideYearAndDays){add(BigInt(l)*24n+BigInt(u.hours),"hour","h")}else{if(A.hideYear){add(l,"day","d")}else{add(l/365n,"year","y");add(l%365n,"day","d")}add(Number(u.hours),"hour","h")}add(Number(u.minutes),"minute","m");if(!A.hideSeconds){if(A.separateMilliseconds||A.formatSubMilliseconds||!A.colonNotation&&r<1e3){const r=Number(u.seconds);const s=Number(u.milliseconds);const n=Number(u.microseconds);const a=Number(u.nanoseconds);add(r,"second","s");if(A.formatSubMilliseconds){add(s,"millisecond","ms");add(n,"microsecond","µs");add(a,"nanosecond","ns")}else{const r=s+n/1e3+a/1e6;const u=typeof A.millisecondsDecimalDigits==="number"?A.millisecondsDecimalDigits:0;const l=r>=1?Math.round(r):Math.ceil(r);const g=u?r.toFixed(u):l;add(Number.parseFloat(g),"millisecond","ms",g)}}else{const n=(s?Number(r%St):r)/1e3%60;const a=typeof A.secondsDecimalDigits==="number"?A.secondsDecimalDigits:1;const u=floorDecimals(n,a);const l=A.keepDecimalsOnWholeSeconds?u:u.replace(/\.0+$/,"");add(Number.parseFloat(l),"second","s",l)}}if(a.length===0){return n+"0"+(A.verbose?" milliseconds":"ms")}const g=A.colonNotation?":":" ";if(typeof A.unitCount==="number"){a=a.slice(0,Math.max(A.unitCount,1))}return n+a.join(g)}const logError=(r,A)=>{if(r.failed){verboseLog({type:"error",verboseMessage:r.shortMessage,verboseInfo:A,result:r})}};const logResult=(r,A)=>{if(!isVerbose(A)){return}logError(r,A);logDuration(r,A)};const logDuration=(r,A)=>{const s=`(done in ${prettyMilliseconds(r.durationMs)})`;verboseLog({type:"duration",verboseMessage:s,verboseInfo:A,result:r})};const handleResult=(r,A,{reject:s})=>{logResult(r,A);if(r.failed&&s){throw r}return r};const getStdioItemType=(r,A)=>{if(isAsyncGenerator(r)){return"asyncGenerator"}if(isSyncGenerator(r)){return"generator"}if(isUrl(r)){return"fileUrl"}if(isFilePathObject(r)){return"filePath"}if(isWebStream(r)){return"webStream"}if(isStream(r,{checkOpen:false})){return"native"}if(isUint8Array(r)){return"uint8Array"}if(isAsyncIterableObject(r)){return"asyncIterable"}if(isIterableObject(r)){return"iterable"}if(type_isTransformStream(r)){return getTransformStreamType({transform:r},A)}if(isTransformOptions(r)){return getTransformObjectType(r,A)}return"native"};const getTransformObjectType=(r,A)=>{if(isDuplexStream(r.transform,{checkOpen:false})){return getDuplexType(r,A)}if(type_isTransformStream(r.transform)){return getTransformStreamType(r,A)}return getGeneratorObjectType(r,A)};const getDuplexType=(r,A)=>{validateNonGeneratorType(r,A,"Duplex stream");return"duplex"};const getTransformStreamType=(r,A)=>{validateNonGeneratorType(r,A,"web TransformStream");return"webTransform"};const validateNonGeneratorType=({final:r,binary:A,objectMode:s},n,a)=>{checkUndefinedOption(r,`${n}.final`,a);checkUndefinedOption(A,`${n}.binary`,a);checkBooleanOption(s,`${n}.objectMode`)};const checkUndefinedOption=(r,A,s)=>{if(r!==undefined){throw new TypeError(`The \`${A}\` option can only be defined when using a generator, not a ${s}.`)}};const getGeneratorObjectType=({transform:r,final:A,binary:s,objectMode:n},a)=>{if(r!==undefined&&!isGenerator(r)){throw new TypeError(`The \`${a}.transform\` option must be a generator, a Duplex stream or a web TransformStream.`)}if(isDuplexStream(A,{checkOpen:false})){throw new TypeError(`The \`${a}.final\` option must not be a Duplex stream.`)}if(type_isTransformStream(A)){throw new TypeError(`The \`${a}.final\` option must not be a web TransformStream.`)}if(A!==undefined&&!isGenerator(A)){throw new TypeError(`The \`${a}.final\` option must be a generator.`)}checkBooleanOption(s,`${a}.binary`);checkBooleanOption(n,`${a}.objectMode`);return isAsyncGenerator(r)||isAsyncGenerator(A)?"asyncGenerator":"generator"};const checkBooleanOption=(r,A)=>{if(r!==undefined&&typeof r!=="boolean"){throw new TypeError(`The \`${A}\` option must use a boolean.`)}};const isGenerator=r=>isAsyncGenerator(r)||isSyncGenerator(r);const isAsyncGenerator=r=>Object.prototype.toString.call(r)==="[object AsyncGeneratorFunction]";const isSyncGenerator=r=>Object.prototype.toString.call(r)==="[object GeneratorFunction]";const isTransformOptions=r=>isPlainObject(r)&&(r.transform!==undefined||r.final!==undefined);const isUrl=r=>Object.prototype.toString.call(r)==="[object URL]";const isRegularUrl=r=>isUrl(r)&&r.protocol!=="file:";const isFilePathObject=r=>isPlainObject(r)&&Object.keys(r).length>0&&Object.keys(r).every((r=>kt.has(r)))&&isFilePathString(r.file);const kt=new Set(["file","append"]);const isFilePathString=r=>typeof r==="string";const isUnknownStdioString=(r,A)=>r==="native"&&typeof A==="string"&&!Ft.has(A);const Ft=new Set(["ipc","ignore","inherit","overlapped","pipe"]);const type_isReadableStream=r=>Object.prototype.toString.call(r)==="[object ReadableStream]";const type_isWritableStream=r=>Object.prototype.toString.call(r)==="[object WritableStream]";const isWebStream=r=>type_isReadableStream(r)||type_isWritableStream(r);const type_isTransformStream=r=>type_isReadableStream(r?.readable)&&type_isWritableStream(r?.writable);const isAsyncIterableObject=r=>isObject(r)&&typeof r[Symbol.asyncIterator]==="function";const isIterableObject=r=>isObject(r)&&typeof r[Symbol.iterator]==="function";const isObject=r=>typeof r==="object"&&r!==null;const Tt=new Set(["generator","asyncGenerator","duplex","webTransform"]);const Nt=new Set(["fileUrl","filePath","fileNumber"]);const vt=new Set(["fileUrl","filePath"]);const _t=new Set([...vt,"webStream","nodeStream"]);const Ut=new Set(["webTransform","duplex"]);const Lt={generator:"a generator",asyncGenerator:"an async generator",fileUrl:"a file URL",filePath:"a file path string",fileNumber:"a file descriptor number",webStream:"a web stream",nodeStream:"a Node.js stream",webTransform:"a web TransformStream",duplex:"a Duplex stream",native:"any value",iterable:"an iterable",asyncIterable:"an async iterable",string:"a string",uint8Array:"a Uint8Array"};const getTransformObjectModes=(r,A,s,n)=>n==="output"?getOutputObjectModes(r,A,s):getInputObjectModes(r,A,s);const getOutputObjectModes=(r,A,s)=>{const n=A!==0&&s[A-1].value.readableObjectMode;const a=r??n;return{writableObjectMode:n,readableObjectMode:a}};const getInputObjectModes=(r,A,s)=>{const n=A===0?r===true:s[A-1].value.readableObjectMode;const a=A!==s.length-1&&(r??n);return{writableObjectMode:n,readableObjectMode:a}};const getFdObjectMode=(r,A)=>{const s=r.findLast((({type:r})=>Tt.has(r)));if(s===undefined){return false}return A==="input"?s.value.writableObjectMode:s.value.readableObjectMode};const normalizeTransforms=(r,A,s,n)=>[...r.filter((({type:r})=>!Tt.has(r))),...getTransforms(r,A,s,n)];const getTransforms=(r,A,s,{encoding:n})=>{const a=r.filter((({type:r})=>Tt.has(r)));const u=Array.from({length:a.length});for(const[r,l]of Object.entries(a)){u[r]=normalizeTransform({stdioItem:l,index:Number(r),newTransforms:u,optionName:A,direction:s,encoding:n})}return sortTransforms(u,s)};const normalizeTransform=({stdioItem:r,stdioItem:{type:A},index:s,newTransforms:n,optionName:a,direction:u,encoding:l})=>{if(A==="duplex"){return normalizeDuplex({stdioItem:r,optionName:a})}if(A==="webTransform"){return normalizeTransformStream({stdioItem:r,index:s,newTransforms:n,direction:u})}return normalizeGenerator({stdioItem:r,index:s,newTransforms:n,direction:u,encoding:l})};const normalizeDuplex=({stdioItem:r,stdioItem:{value:{transform:A,transform:{writableObjectMode:s,readableObjectMode:n},objectMode:a=n}},optionName:u})=>{if(a&&!n){throw new TypeError(`The \`${u}.objectMode\` option can only be \`true\` if \`new Duplex({objectMode: true})\` is used.`)}if(!a&&n){throw new TypeError(`The \`${u}.objectMode\` option cannot be \`false\` if \`new Duplex({objectMode: true})\` is used.`)}return{...r,value:{transform:A,writableObjectMode:s,readableObjectMode:n}}};const normalizeTransformStream=({stdioItem:r,stdioItem:{value:A},index:s,newTransforms:n,direction:a})=>{const{transform:u,objectMode:l}=isPlainObject(A)?A:{transform:A};const{writableObjectMode:g,readableObjectMode:E}=getTransformObjectModes(l,s,n,a);return{...r,value:{transform:u,writableObjectMode:g,readableObjectMode:E}}};const normalizeGenerator=({stdioItem:r,stdioItem:{value:A},index:s,newTransforms:n,direction:a,encoding:u})=>{const{transform:l,final:g,binary:E=false,preserveNewlines:d=false,objectMode:p}=isPlainObject(A)?A:{transform:A};const C=E||Et.has(u);const{writableObjectMode:B,readableObjectMode:Q}=getTransformObjectModes(p,s,n,a);return{...r,value:{transform:l,final:g,binary:C,preserveNewlines:d,writableObjectMode:B,readableObjectMode:Q}}};const sortTransforms=(r,A)=>A==="input"?r.reverse():r;const getStreamDirection=(r,A,s)=>{const n=r.map((r=>getStdioItemDirection(r,A)));if(n.includes("input")&&n.includes("output")){throw new TypeError(`The \`${s}\` option must not be an array of both readable and writable values.`)}return n.find(Boolean)??Gt};const getStdioItemDirection=({type:r,value:A},s)=>Mt[s]??Pt[r](A);const Mt=["input","output","output"];const anyDirection=()=>undefined;const alwaysInput=()=>"input";const Pt={generator:anyDirection,asyncGenerator:anyDirection,fileUrl:anyDirection,filePath:anyDirection,iterable:alwaysInput,asyncIterable:alwaysInput,uint8Array:alwaysInput,webStream:r=>type_isWritableStream(r)?"output":"input",nodeStream(r){if(!isReadableStream(r,{checkOpen:false})){return"output"}return isWritableStream(r,{checkOpen:false})?undefined:"input"},webTransform:anyDirection,duplex:anyDirection,native(r){const A=getStandardStreamDirection(r);if(A!==undefined){return A}if(isStream(r,{checkOpen:false})){return Pt.nodeStream(r)}}};const getStandardStreamDirection=r=>{if([0,y.stdin].includes(r)){return"input"}if([1,2,y.stdout,y.stderr].includes(r)){return"output"}};const Gt="output";const normalizeIpcStdioArray=(r,A)=>A&&!r.includes("ipc")?[...r,"ipc"]:r;const normalizeStdioOption=({stdio:r,ipc:A,buffer:s,...n},a,u)=>{const l=getStdioArray(r,n).map(((r,A)=>stdio_option_addDefaultValue(r,A)));return u?normalizeStdioSync(l,s,a):normalizeIpcStdioArray(l,A)};const getStdioArray=(r,A)=>{if(r===undefined){return D.map((r=>A[r]))}if(hasAlias(A)){throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${D.map((r=>`\`${r}\``)).join(", ")}`)}if(typeof r==="string"){return[r,r,r]}if(!Array.isArray(r)){throw new TypeError(`Expected \`stdio\` to be of type \`string\` or \`Array\`, got \`${typeof r}\``)}const s=Math.max(r.length,D.length);return Array.from({length:s},((A,s)=>r[s]))};const hasAlias=r=>D.some((A=>r[A]!==undefined));const stdio_option_addDefaultValue=(r,A)=>{if(Array.isArray(r)){return r.map((r=>stdio_option_addDefaultValue(r,A)))}if(r===null||r===undefined){return A>=D.length?"ignore":"pipe"}return r};const normalizeStdioSync=(r,A,s)=>r.map(((r,n)=>!A[n]&&n!==0&&!isFullVerbose(s,n)&&isOutputPipeOnly(r)?"ignore":r));const isOutputPipeOnly=r=>r==="pipe"||Array.isArray(r)&&r.every((r=>r==="pipe"));const handleNativeStream=({stdioItem:r,stdioItem:{type:A},isStdioArray:s,fdNumber:n,direction:a,isSync:u})=>{if(!s||A!=="native"){return r}return u?handleNativeStreamSync({stdioItem:r,fdNumber:n,direction:a}):handleNativeStreamAsync({stdioItem:r,fdNumber:n})};const handleNativeStreamSync=({stdioItem:r,stdioItem:{value:A,optionName:s},fdNumber:n,direction:a})=>{const u=getTargetFd({value:A,optionName:s,fdNumber:n,direction:a});if(u!==undefined){return u}if(isStream(A,{checkOpen:false})){throw new TypeError(`The \`${s}: Stream\` option cannot both be an array and include a stream with synchronous methods.`)}return r};const getTargetFd=({value:r,optionName:A,fdNumber:s,direction:a})=>{const u=getTargetFdNumber(r,s);if(u===undefined){return}if(a==="output"){return{type:"fileNumber",value:u,optionName:A}}if(J.isatty(u)){throw new TypeError(`The \`${A}: ${serializeOptionValue(r)}\` option is invalid: it cannot be a TTY with synchronous methods.`)}return{type:"uint8Array",value:bufferToUint8Array((0,n.readFileSync)(u)),optionName:A}};const getTargetFdNumber=(r,A)=>{if(r==="inherit"){return A}if(typeof r==="number"){return r}const s=w.indexOf(r);if(s!==-1){return s}};const handleNativeStreamAsync=({stdioItem:r,stdioItem:{value:A,optionName:s},fdNumber:n})=>{if(A==="inherit"){return{type:"nodeStream",value:getStandardStream(n,A,s),optionName:s}}if(typeof A==="number"){return{type:"nodeStream",value:getStandardStream(A,A,s),optionName:s}}if(isStream(A,{checkOpen:false})){return{type:"nodeStream",value:A,optionName:s}}return r};const getStandardStream=(r,A,s)=>{const n=w[r];if(n===undefined){throw new TypeError(`The \`${s}: ${A}\` option is invalid: no such standard stream.`)}return n};const handleInputOptions=({input:r,inputFile:A},s)=>s===0?[...handleInputOption(r),...handleInputFileOption(A)]:[];const handleInputOption=r=>r===undefined?[]:[{type:getInputType(r),value:r,optionName:"input"}];const getInputType=r=>{if(isReadableStream(r,{checkOpen:false})){return"nodeStream"}if(typeof r==="string"){return"string"}if(isUint8Array(r)){return"uint8Array"}throw new Error("The `input` option must be a string, a Uint8Array or a Node.js Readable stream.")};const handleInputFileOption=r=>r===undefined?[]:[{...getInputFileType(r),optionName:"inputFile"}];const getInputFileType=r=>{if(isUrl(r)){return{type:"fileUrl",value:r}}if(isFilePathString(r)){return{type:"filePath",value:{file:r}}}throw new Error("The `inputFile` option must be a file path string or a file URL.")};const filterDuplicates=r=>r.filter(((A,s)=>r.every(((r,n)=>A.value!==r.value||s>=n||A.type==="generator"||A.type==="asyncGenerator"))));const getDuplicateStream=({stdioItem:{type:r,value:A,optionName:s},direction:n,fileDescriptors:a,isSync:u})=>{const l=getOtherStdioItems(a,r);if(l.length===0){return}if(u){validateDuplicateStreamSync({otherStdioItems:l,type:r,value:A,optionName:s,direction:n});return}if(_t.has(r)){return getDuplicateStreamInstance({otherStdioItems:l,type:r,value:A,optionName:s,direction:n})}if(Ut.has(r)){validateDuplicateTransform({otherStdioItems:l,type:r,value:A,optionName:s})}};const getOtherStdioItems=(r,A)=>r.flatMap((({direction:r,stdioItems:s})=>s.filter((r=>r.type===A)).map((A=>({...A,direction:r})))));const validateDuplicateStreamSync=({otherStdioItems:r,type:A,value:s,optionName:n,direction:a})=>{if(vt.has(A)){getDuplicateStreamInstance({otherStdioItems:r,type:A,value:s,optionName:n,direction:a})}};const getDuplicateStreamInstance=({otherStdioItems:r,type:A,value:s,optionName:n,direction:a})=>{const u=r.filter((r=>hasSameValue(r,s)));if(u.length===0){return}const l=u.find((r=>r.direction!==a));throwOnDuplicateStream(l,n,A);return a==="output"?u[0].stream:undefined};const hasSameValue=({type:r,value:A},s)=>{if(r==="filePath"){return A.file===s.file}if(r==="fileUrl"){return A.href===s.href}return A===s};const validateDuplicateTransform=({otherStdioItems:r,type:A,value:s,optionName:n})=>{const a=r.find((({value:{transform:r}})=>r===s.transform));throwOnDuplicateStream(a,n,A)};const throwOnDuplicateStream=(r,A,s)=>{if(r!==undefined){throw new TypeError(`The \`${r.optionName}\` and \`${A}\` options must not target ${Lt[s]} that is the same.`)}};const handleStdio=(r,A,s,n)=>{const a=normalizeStdioOption(A,s,n);const u=a.map(((r,s)=>getFileDescriptor({stdioOption:r,fdNumber:s,options:A,isSync:n})));const l=getFinalFileDescriptors({initialFileDescriptors:u,addProperties:r,options:A,isSync:n});A.stdio=l.map((({stdioItems:r})=>forwardStdio(r)));return l};const getFileDescriptor=({stdioOption:r,fdNumber:A,options:s,isSync:n})=>{const a=getStreamName(A);const{stdioItems:u,isStdioArray:l}=initializeStdioItems({stdioOption:r,fdNumber:A,options:s,optionName:a});const g=getStreamDirection(u,A,a);const E=u.map((r=>handleNativeStream({stdioItem:r,isStdioArray:l,fdNumber:A,direction:g,isSync:n})));const d=normalizeTransforms(E,a,g,s);const p=getFdObjectMode(d,g);validateFileObjectMode(d,p);return{direction:g,objectMode:p,stdioItems:d}};const initializeStdioItems=({stdioOption:r,fdNumber:A,options:s,optionName:n})=>{const a=Array.isArray(r)?r:[r];const u=[...a.map((r=>initializeStdioItem(r,n))),...handleInputOptions(s,A)];const l=filterDuplicates(u);const g=l.length>1;validateStdioArray(l,g,n);validateStreams(l);return{stdioItems:l,isStdioArray:g}};const initializeStdioItem=(r,A)=>({type:getStdioItemType(r,A),value:r,optionName:A});const validateStdioArray=(r,A,s)=>{if(r.length===0){throw new TypeError(`The \`${s}\` option must not be an empty array.`)}if(!A){return}for(const{value:A,optionName:s}of r){if(xt.has(A)){throw new Error(`The \`${s}\` option must not include \`${A}\`.`)}}};const xt=new Set(["ignore","ipc"]);const validateStreams=r=>{for(const A of r){validateFileStdio(A)}};const validateFileStdio=({type:r,value:A,optionName:s})=>{if(isRegularUrl(A)){throw new TypeError(`The \`${s}: URL\` option must use the \`file:\` scheme.\nFor example, you can use the \`pathToFileURL()\` method of the \`url\` core module.`)}if(isUnknownStdioString(r,A)){throw new TypeError(`The \`${s}: { file: '...' }\` option must be used instead of \`${s}: '...'\`.`)}};const validateFileObjectMode=(r,A)=>{if(!A){return}const s=r.find((({type:r})=>Nt.has(r)));if(s!==undefined){throw new TypeError(`The \`${s.optionName}\` option cannot use both files and transforms in objectMode.`)}};const getFinalFileDescriptors=({initialFileDescriptors:r,addProperties:A,options:s,isSync:n})=>{const a=[];try{for(const u of r){a.push(getFinalFileDescriptor({fileDescriptor:u,fileDescriptors:a,addProperties:A,options:s,isSync:n}))}return a}catch(r){cleanupCustomStreams(a);throw r}};const getFinalFileDescriptor=({fileDescriptor:{direction:r,objectMode:A,stdioItems:s},fileDescriptors:n,addProperties:a,options:u,isSync:l})=>{const g=s.map((A=>addStreamProperties({stdioItem:A,addProperties:a,direction:r,options:u,fileDescriptors:n,isSync:l})));return{direction:r,objectMode:A,stdioItems:g}};const addStreamProperties=({stdioItem:r,addProperties:A,direction:s,options:n,fileDescriptors:a,isSync:u})=>{const l=getDuplicateStream({stdioItem:r,direction:s,fileDescriptors:a,isSync:u});if(l!==undefined){return{...r,stream:l}}return{...r,...A[s][r.type](r,n)}};const cleanupCustomStreams=r=>{for(const{stdioItems:A}of r){for(const{stream:r}of A){if(r!==undefined&&!isStandardStream(r)){r.destroy()}}}};const forwardStdio=r=>{if(r.length>1){return r.some((({value:r})=>r==="overlapped"))?"overlapped":"pipe"}const[{type:A,value:s}]=r;return A==="native"?s:"pipe"};const handleStdioSync=(r,A)=>handleStdio(Ht,r,A,true);const forbiddenIfSync=({type:r,optionName:A})=>{throwInvalidSyncValue(A,Lt[r])};const forbiddenNativeIfSync=({optionName:r,value:A})=>{if(A==="ipc"||A==="overlapped"){throwInvalidSyncValue(r,`"${A}"`)}return{}};const throwInvalidSyncValue=(r,A)=>{throw new TypeError(`The \`${r}\` option cannot be ${A} with synchronous methods.`)};const Ot={generator(){},asyncGenerator:forbiddenIfSync,webStream:forbiddenIfSync,nodeStream:forbiddenIfSync,webTransform:forbiddenIfSync,duplex:forbiddenIfSync,asyncIterable:forbiddenIfSync,native:forbiddenNativeIfSync};const Ht={input:{...Ot,fileUrl:({value:r})=>({contents:[bufferToUint8Array((0,n.readFileSync)(r))]}),filePath:({value:{file:r}})=>({contents:[bufferToUint8Array((0,n.readFileSync)(r))]}),fileNumber:forbiddenIfSync,iterable:({value:r})=>({contents:[...r]}),string:({value:r})=>({contents:[r]}),uint8Array:({value:r})=>({contents:[r]})},output:{...Ot,fileUrl:({value:r})=>({path:r}),filePath:({value:{file:r,append:A}})=>({path:r,append:A}),fileNumber:({value:r})=>({path:r}),iterable:forbiddenIfSync,string:forbiddenIfSync,uint8Array:forbiddenIfSync}};const stripNewline=(r,{stripFinalNewline:A},s)=>getStripFinalNewline(A,s)&&r!==undefined&&!Array.isArray(r)?strip_final_newline_stripFinalNewline(r):r;const getStripFinalNewline=(r,A)=>A==="all"?r[1]||r[2]:r[A];var Yt=s(7075);const getSplitLinesGenerator=(r,A,s,n)=>r||s?undefined:initializeSplitLines(A,n);const splitLinesSync=(r,A,s)=>s?r.flatMap((r=>splitLinesItemSync(r,A))):splitLinesItemSync(r,A);const splitLinesItemSync=(r,A)=>{const{transform:s,final:n}=initializeSplitLines(A,{});return[...s(r),...n()]};const initializeSplitLines=(r,A)=>{A.previousChunks="";return{transform:splitGenerator.bind(undefined,A,r),final:linesFinal.bind(undefined,A)}};const splitGenerator=function*(r,A,s){if(typeof s!=="string"){yield s;return}let{previousChunks:n}=r;let a=-1;for(let u=0;u0){g=concatString(n,g);n=""}yield g;a=u}}if(a!==s.length-1){n=concatString(n,s.slice(a+1))}r.previousChunks=n};const getNewlineLength=(r,A,s,n)=>{if(s){return 0}n.isWindowsNewline=A!==0&&r[A-1]==="\r";return n.isWindowsNewline?2:1};const linesFinal=function*({previousChunks:r}){if(r.length>0){yield r}};const getAppendNewlineGenerator=({binary:r,preserveNewlines:A,readableObjectMode:s,state:n})=>r||A||s?undefined:{transform:appendNewlineGenerator.bind(undefined,n)};const appendNewlineGenerator=function*({isWindowsNewline:r=false},A){const{unixNewline:s,windowsNewline:n,LF:a,concatBytes:u}=typeof A==="string"?Jt:Vt;if(A.at(-1)===a){yield A;return}const l=r?n:s;yield u(A,l)};const concatString=(r,A)=>`${r}${A}`;const Jt={windowsNewline:"\r\n",unixNewline:"\n",LF:"\n",concatBytes:concatString};const concatUint8Array=(r,A)=>{const s=new Uint8Array(r.length+A.length);s.set(r,0);s.set(A,r.length);return s};const Vt={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:concatUint8Array};const Wt=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:buffer");const getValidateTransformInput=(r,A)=>r?undefined:validateStringTransformInput.bind(undefined,A);const validateStringTransformInput=function*(r,A){if(typeof A!=="string"&&!isUint8Array(A)&&!Wt.Buffer.isBuffer(A)){throw new TypeError(`The \`${r}\` option's transform must use "objectMode: true" to receive as input: ${typeof A}.`)}yield A};const getValidateTransformReturn=(r,A)=>r?validateObjectTransformReturn.bind(undefined,A):validateStringTransformReturn.bind(undefined,A);const validateObjectTransformReturn=function*(r,A){validateEmptyReturn(r,A);yield A};const validateStringTransformReturn=function*(r,A){validateEmptyReturn(r,A);if(typeof A!=="string"&&!isUint8Array(A)){throw new TypeError(`The \`${r}\` option's function must yield a string or an Uint8Array, not ${typeof A}.`)}yield A};const validateEmptyReturn=(r,A)=>{if(A===null||A===undefined){throw new TypeError(`The \`${r}\` option's function must not call \`yield ${A}\`.\nInstead, \`yield\` should either be called with a value, or not be called at all. For example:\n if (condition) { yield value; }`)}};const getEncodingTransformGenerator=(r,A,s)=>{if(s){return}if(r){return{transform:encodingUint8ArrayGenerator.bind(undefined,new TextEncoder)}}const n=new d.StringDecoder(A);return{transform:encodingStringGenerator.bind(undefined,n),final:encodingStringFinal.bind(undefined,n)}};const encodingUint8ArrayGenerator=function*(r,A){if(Wt.Buffer.isBuffer(A)){yield bufferToUint8Array(A)}else if(typeof A==="string"){yield r.encode(A)}else{yield A}};const encodingStringGenerator=function*(r,A){yield isUint8Array(A)?r.write(A):A};const encodingStringFinal=function*(r){const A=r.end();if(A!==""){yield A}};const qt=(0,m.callbackify)((async(r,A,s,n)=>{A.currentIterable=r(...s);try{for await(const r of A.currentIterable){n.push(r)}}finally{delete A.currentIterable}}));const transformChunk=async function*(r,A,s){if(s===A.length){yield r;return}const{transform:n=identityGenerator}=A[s];for await(const a of n(r)){yield*transformChunk(a,A,s+1)}};const finalChunks=async function*(r){for(const[A,{final:s}]of Object.entries(r)){yield*generatorFinalChunks(s,Number(A),r)}};const generatorFinalChunks=async function*(r,A,s){if(r===undefined){return}for await(const n of r()){yield*transformChunk(n,s,A+1)}};const jt=(0,m.callbackify)((async({currentIterable:r},A)=>{if(r!==undefined){await(A?r.throw(A):r.return());return}if(A){throw A}}));const identityGenerator=function*(r){yield r};const pushChunksSync=(r,A,s,n)=>{try{for(const n of r(...A)){s.push(n)}n()}catch(r){n(r)}};const runTransformSync=(r,A)=>[...A.flatMap((A=>[...transformChunkSync(A,r,0)])),...finalChunksSync(r)];const transformChunkSync=function*(r,A,s){if(s===A.length){yield r;return}const{transform:n=run_sync_identityGenerator}=A[s];for(const a of n(r)){yield*transformChunkSync(a,A,s+1)}};const finalChunksSync=function*(r){for(const[A,{final:s}]of Object.entries(r)){yield*generatorFinalChunksSync(s,Number(A),r)}};const generatorFinalChunksSync=function*(r,A,s){if(r===undefined){return}for(const n of r()){yield*transformChunkSync(n,s,A+1)}};const run_sync_identityGenerator=function*(r){yield r};const generatorToStream=({value:r,value:{transform:A,final:s,writableObjectMode:n,readableObjectMode:a},optionName:u},{encoding:l})=>{const g={};const E=addInternalGenerators(r,l,u);const d=isAsyncGenerator(A);const p=isAsyncGenerator(s);const C=d?qt.bind(undefined,transformChunk,g):pushChunksSync.bind(undefined,transformChunkSync);const B=d||p?qt.bind(undefined,finalChunks,g):pushChunksSync.bind(undefined,finalChunksSync);const Q=d||p?jt.bind(undefined,g):undefined;const I=new Yt.Transform({writableObjectMode:n,writableHighWaterMark:(0,Yt.getDefaultHighWaterMark)(n),readableObjectMode:a,readableHighWaterMark:(0,Yt.getDefaultHighWaterMark)(a),transform(r,A,s){C([r,E,0],this,s)},flush(r){B([E],this,r)},destroy:Q});return{stream:I}};const runGeneratorsSync=(r,A,s,n)=>{const a=A.filter((({type:r})=>r==="generator"));const u=n?a.reverse():a;for(const{value:A,optionName:n}of u){const a=addInternalGenerators(A,s,n);r=runTransformSync(a,r)}return r};const addInternalGenerators=({transform:r,final:A,binary:s,writableObjectMode:n,readableObjectMode:a,preserveNewlines:u},l,g)=>{const E={};return[{transform:getValidateTransformInput(n,g)},getEncodingTransformGenerator(s,l,n),getSplitLinesGenerator(s,u,n,E),{transform:r,final:A},{transform:getValidateTransformReturn(a,g)},getAppendNewlineGenerator({binary:s,preserveNewlines:u,readableObjectMode:a,state:E})].filter(Boolean)};const addInputOptionsSync=(r,A)=>{for(const s of getInputFdNumbers(r)){addInputOptionSync(r,s,A)}};const getInputFdNumbers=r=>new Set(Object.entries(r).filter((([,{direction:r}])=>r==="input")).map((([r])=>Number(r))));const addInputOptionSync=(r,A,s)=>{const{stdioItems:n}=r[A];const a=n.filter((({contents:r})=>r!==undefined));if(a.length===0){return}if(A!==0){const[{type:r,optionName:A}]=a;throw new TypeError(`Only the \`stdin\` option, not \`${A}\`, can be ${Lt[r]} with synchronous methods.`)}const u=a.map((({contents:r})=>r));const l=u.map((r=>applySingleInputGeneratorsSync(r,n)));s.input=joinToUint8Array(l)};const applySingleInputGeneratorsSync=(r,A)=>{const s=runGeneratorsSync(r,A,"utf8",true);validateSerializable(s);return joinToUint8Array(s)};const validateSerializable=r=>{const A=r.find((r=>typeof r!=="string"&&!isUint8Array(r)));if(A!==undefined){throw new TypeError(`The \`stdin\` option is invalid: when passing objects as input, a transform must be used to serialize them to strings or Uint8Arrays: ${A}.`)}};const shouldLogOutput=({stdioItems:r,encoding:A,verboseInfo:s,fdNumber:n})=>n!=="all"&&isFullVerbose(s,n)&&!Et.has(A)&&fdUsesVerbose(n)&&(r.some((({type:r,value:A})=>r==="native"&&Kt.has(A)))||r.every((({type:r})=>Tt.has(r))));const fdUsesVerbose=r=>r===1||r===2;const Kt=new Set(["pipe","overlapped"]);const logLines=async(r,A,s,n)=>{for await(const a of r){if(!isPipingStream(A)){logLine(a,s,n)}}};const logLinesSync=(r,A,s)=>{for(const n of r){logLine(n,A,s)}};const isPipingStream=r=>r._readableState.pipes.length>0;const logLine=(r,A,s)=>{const n=serializeVerboseMessage(r);verboseLog({type:"output",verboseMessage:n,fdNumber:A,verboseInfo:s})};const transformOutputSync=({fileDescriptors:r,syncResult:{output:A},options:s,isMaxBuffer:n,verboseInfo:a})=>{if(A===null){return{output:Array.from({length:3})}}const u={};const l=new Set([]);const g=A.map(((A,g)=>transformOutputResultSync({result:A,fileDescriptors:r,fdNumber:g,state:u,outputFiles:l,isMaxBuffer:n,verboseInfo:a},s)));return{output:g,...u}};const transformOutputResultSync=({result:r,fileDescriptors:A,fdNumber:s,state:n,outputFiles:a,isMaxBuffer:u,verboseInfo:l},{buffer:g,encoding:E,lines:d,stripFinalNewline:p,maxBuffer:C})=>{if(r===null){return}const B=truncateMaxBufferSync(r,u,C);const Q=bufferToUint8Array(B);const{stdioItems:I,objectMode:m}=A[s];const y=runOutputGeneratorsSync([Q],I,E,n);const{serializedResult:w,finalResult:D=w}=serializeChunks({chunks:y,objectMode:m,encoding:E,lines:d,stripFinalNewline:p,fdNumber:s});logOutputSync({serializedResult:w,fdNumber:s,state:n,verboseInfo:l,encoding:E,stdioItems:I,objectMode:m});const b=g[s]?D:undefined;try{if(n.error===undefined){writeToFiles(w,I,a)}return b}catch(r){n.error=r;return b}};const runOutputGeneratorsSync=(r,A,s,n)=>{try{return runGeneratorsSync(r,A,s,false)}catch(A){n.error=A;return r}};const serializeChunks=({chunks:r,objectMode:A,encoding:s,lines:n,stripFinalNewline:a,fdNumber:u})=>{if(A){return{serializedResult:r}}if(s==="buffer"){return{serializedResult:joinToUint8Array(r)}}const l=joinToString(r,s);if(n[u]){return{serializedResult:l,finalResult:splitLinesSync(l,!a[u],A)}}return{serializedResult:l}};const logOutputSync=({serializedResult:r,fdNumber:A,state:s,verboseInfo:n,encoding:a,stdioItems:u,objectMode:l})=>{if(!shouldLogOutput({stdioItems:u,encoding:a,verboseInfo:n,fdNumber:A})){return}const g=splitLinesSync(r,false,l);try{logLinesSync(g,A,n)}catch(r){s.error??=r}};const writeToFiles=(r,A,s)=>{for(const{path:a,append:u}of A.filter((({type:r})=>Nt.has(r)))){const A=typeof a==="string"?a:a.toString();if(u||s.has(A)){(0,n.appendFileSync)(a,r)}else{s.add(A);(0,n.writeFileSync)(a,r)}}};const getAllSync=([,r,A],s)=>{if(!s.all){return}if(r===undefined){return A}if(A===undefined){return r}if(Array.isArray(r)){return Array.isArray(A)?[...r,...A]:[...r,stripNewline(A,s,"all")]}if(Array.isArray(A)){return[stripNewline(r,s,"all"),...A]}if(isUint8Array(r)&&isUint8Array(A)){return concatUint8Arrays([r,A])}return`${r}${A}`};const waitForExit=async(r,A)=>{const[s,n]=await waitForExitOrError(r);A.isForcefullyTerminated??=false;return[s,n]};const waitForExitOrError=async r=>{const[A,s]=await Promise.allSettled([(0,$e.once)(r,"spawn"),(0,$e.once)(r,"exit")]);if(A.status==="rejected"){return[]}return s.status==="rejected"?waitForSubprocessExit(r):s.value};const waitForSubprocessExit=async r=>{try{return await(0,$e.once)(r,"exit")}catch{return waitForSubprocessExit(r)}};const waitForSuccessfulExit=async r=>{const[A,s]=await r;if(!isSubprocessErrorExit(A,s)&&isFailedExit(A,s)){throw new DiscardedError}return[A,s]};const isSubprocessErrorExit=(r,A)=>r===undefined&&A===undefined;const isFailedExit=(r,A)=>r!==0||A!==null;const getExitResultSync=({error:r,status:A,signal:s,output:n},{maxBuffer:a})=>{const u=getResultError(r,A,s);const l=u?.code==="ETIMEDOUT";const g=isMaxBufferSync(u,n,a);return{resultError:u,exitCode:A,signal:s,timedOut:l,isMaxBuffer:g}};const getResultError=(r,A,s)=>{if(r!==undefined){return r}return isFailedExit(A,s)?new DiscardedError:undefined};const execaCoreSync=(r,A,s)=>{const{file:n,commandArguments:a,command:u,escapedCommand:l,startTime:g,verboseInfo:E,options:d,fileDescriptors:p}=handleSyncArguments(r,A,s);const C=spawnSubprocessSync({file:n,commandArguments:a,options:d,command:u,escapedCommand:l,verboseInfo:E,fileDescriptors:p,startTime:g});return handleResult(C,E,d)};const handleSyncArguments=(r,A,s)=>{const{command:n,escapedCommand:a,startTime:u,verboseInfo:l}=handleCommand(r,A,s);const g=normalizeSyncOptions(s);const{file:E,commandArguments:d,options:p}=normalizeOptions(r,A,g);validateSyncOptions(p);const C=handleStdioSync(p,l);return{file:E,commandArguments:d,command:n,escapedCommand:a,startTime:u,verboseInfo:l,options:p,fileDescriptors:C}};const normalizeSyncOptions=r=>r.node&&!r.ipc?{...r,ipc:false}:r;const validateSyncOptions=({ipc:r,ipcInput:A,detached:s,cancelSignal:n})=>{if(A){throwInvalidSyncOption("ipcInput")}if(r){throwInvalidSyncOption("ipc: true")}if(s){throwInvalidSyncOption("detached: true")}if(n){throwInvalidSyncOption("cancelSignal")}};const throwInvalidSyncOption=r=>{throw new TypeError(`The "${r}" option cannot be used with synchronous methods.`)};const spawnSubprocessSync=({file:r,commandArguments:A,options:s,command:n,escapedCommand:a,verboseInfo:u,fileDescriptors:l,startTime:g})=>{const E=runSubprocessSync({file:r,commandArguments:A,options:s,command:n,escapedCommand:a,fileDescriptors:l,startTime:g});if(E.failed){return E}const{resultError:d,exitCode:p,signal:C,timedOut:B,isMaxBuffer:Q}=getExitResultSync(E,s);const{output:I,error:m=d}=transformOutputSync({fileDescriptors:l,syncResult:E,options:s,isMaxBuffer:Q,verboseInfo:u});const y=I.map(((r,A)=>stripNewline(r,s,A)));const w=stripNewline(getAllSync(I,s),s,"all");return getSyncResult({error:m,exitCode:p,signal:C,timedOut:B,isMaxBuffer:Q,stdio:y,all:w,options:s,command:n,escapedCommand:a,startTime:g})};const runSubprocessSync=({file:r,commandArguments:A,options:s,command:n,escapedCommand:a,fileDescriptors:u,startTime:l})=>{try{addInputOptionsSync(u,s);const n=normalizeSpawnSyncOptions(s);return(0,E.spawnSync)(r,A,n)}catch(r){return makeEarlyError({error:r,command:n,escapedCommand:a,fileDescriptors:u,options:s,startTime:l,isSync:true})}};const normalizeSpawnSyncOptions=({encoding:r,maxBuffer:A,...s})=>({...s,encoding:"buffer",maxBuffer:getMaxBufferSync(A)});const getSyncResult=({error:r,exitCode:A,signal:s,timedOut:n,isMaxBuffer:a,stdio:u,all:l,options:g,command:E,escapedCommand:d,startTime:p})=>r===undefined?makeSuccessResult({command:E,escapedCommand:d,stdio:u,all:l,ipcOutput:[],options:g,startTime:p}):makeError({error:r,command:E,escapedCommand:d,timedOut:n,isCanceled:false,isGracefullyCanceled:false,isMaxBuffer:a,isForcefullyTerminated:false,exitCode:A,signal:s,stdio:u,all:l,ipcOutput:[],options:g,startTime:p,isSync:true});const getOneMessage=({anyProcess:r,channel:A,isSubprocess:s,ipc:n},{reference:a=true,filter:u}={})=>{validateIpcMethod({methodName:"getOneMessage",isSubprocess:s,ipc:n,isConnected:isConnected(r)});return getOneMessageAsync({anyProcess:r,channel:A,isSubprocess:s,filter:u,reference:a})};const getOneMessageAsync=async({anyProcess:r,channel:A,isSubprocess:s,filter:n,reference:a})=>{addReference(A,a);const u=getIpcEmitter(r,A,s);const l=new AbortController;try{return await Promise.race([getMessage(u,n,l),get_one_throwOnDisconnect(u,s,l),throwOnStrictError(u,s,l)])}catch(A){disconnect(r);throw A}finally{l.abort();removeReference(A,a)}};const getMessage=async(r,A,{signal:s})=>{if(A===undefined){const[A]=await(0,$e.once)(r,"message",{signal:s});return A}for await(const[n]of(0,$e.on)(r,"message",{signal:s})){if(A(n)){return n}}};const get_one_throwOnDisconnect=async(r,A,{signal:s})=>{await(0,$e.once)(r,"disconnect",{signal:s});throwOnEarlyDisconnect(A)};const throwOnStrictError=async(r,A,{signal:s})=>{const[n]=await(0,$e.once)(r,"strict:error",{signal:s});throw getStrictResponseError(n,A)};const getEachMessage=({anyProcess:r,channel:A,isSubprocess:s,ipc:n},{reference:a=true}={})=>loopOnMessages({anyProcess:r,channel:A,isSubprocess:s,ipc:n,shouldAwait:!s,reference:a});const loopOnMessages=({anyProcess:r,channel:A,isSubprocess:s,ipc:n,shouldAwait:a,reference:u})=>{validateIpcMethod({methodName:"getEachMessage",isSubprocess:s,ipc:n,isConnected:isConnected(r)});addReference(A,u);const l=getIpcEmitter(r,A,s);const g=new AbortController;const E={};stopOnDisconnect(r,l,g);abortOnStrictError({ipcEmitter:l,isSubprocess:s,controller:g,state:E});return iterateOnMessages({anyProcess:r,channel:A,ipcEmitter:l,isSubprocess:s,shouldAwait:a,controller:g,state:E,reference:u})};const stopOnDisconnect=async(r,A,s)=>{try{await(0,$e.once)(A,"disconnect",{signal:s.signal});s.abort()}catch{}};const abortOnStrictError=async({ipcEmitter:r,isSubprocess:A,controller:s,state:n})=>{try{const[a]=await(0,$e.once)(r,"strict:error",{signal:s.signal});n.error=getStrictResponseError(a,A);s.abort()}catch{}};const iterateOnMessages=async function*({anyProcess:r,channel:A,ipcEmitter:s,isSubprocess:n,shouldAwait:a,controller:u,state:l,reference:g}){try{for await(const[r]of(0,$e.on)(s,"message",{signal:u.signal})){throwIfStrictError(l);yield r}}catch{throwIfStrictError(l)}finally{u.abort();removeReference(A,g);if(!n){disconnect(r)}if(a){await r}}};const throwIfStrictError=({error:r})=>{if(r){throw r}};const addIpcMethods=(r,{ipc:A})=>{Object.assign(r,getIpcMethods(r,false,A))};const getIpcExport=()=>{const r=y;const A=true;const s=y.channel!==undefined;return{...getIpcMethods(r,A,s),getCancelSignal:getCancelSignal.bind(undefined,{anyProcess:r,channel:r.channel,isSubprocess:A,ipc:s})}};const getIpcMethods=(r,A,s)=>({sendMessage:sendMessage.bind(undefined,{anyProcess:r,channel:r.channel,isSubprocess:A,ipc:s}),getOneMessage:getOneMessage.bind(undefined,{anyProcess:r,channel:r.channel,isSubprocess:A,ipc:s}),getEachMessage:getEachMessage.bind(undefined,{anyProcess:r,channel:r.channel,isSubprocess:A,ipc:s})});const handleEarlyError=({error:r,command:A,escapedCommand:s,fileDescriptors:n,options:a,startTime:u,verboseInfo:l})=>{cleanupCustomStreams(n);const g=new E.ChildProcess;createDummyStreams(g,n);Object.assign(g,{readable:readable,writable:writable,duplex:duplex});const d=makeEarlyError({error:r,command:A,escapedCommand:s,fileDescriptors:n,options:a,startTime:u,isSync:false});const p=handleDummyPromise(d,l,a);return{subprocess:g,promise:p}};const createDummyStreams=(r,A)=>{const s=createDummyStream();const n=createDummyStream();const a=createDummyStream();const u=Array.from({length:A.length-3},createDummyStream);const l=createDummyStream();const g=[s,n,a,...u];Object.assign(r,{stdin:s,stdout:n,stderr:a,all:l,stdio:g})};const createDummyStream=()=>{const r=new Yt.PassThrough;r.end();return r};const readable=()=>new Yt.Readable({read(){}});const writable=()=>new Yt.Writable({write(){}});const duplex=()=>new Yt.Duplex({read(){},write(){}});const handleDummyPromise=async(r,A,s)=>handleResult(r,A,s);const handleStdioAsync=(r,A)=>handleStdio(zt,r,A,false);const forbiddenIfAsync=({type:r,optionName:A})=>{throw new TypeError(`The \`${A}\` option cannot be ${Lt[r]}.`)};const $t={fileNumber:forbiddenIfAsync,generator:generatorToStream,asyncGenerator:generatorToStream,nodeStream:({value:r})=>({stream:r}),webTransform({value:{transform:r,writableObjectMode:A,readableObjectMode:s}}){const n=A||s;const a=Yt.Duplex.fromWeb(r,{objectMode:n});return{stream:a}},duplex:({value:{transform:r}})=>({stream:r}),native(){}};const zt={input:{...$t,fileUrl:({value:r})=>({stream:(0,n.createReadStream)(r)}),filePath:({value:{file:r}})=>({stream:(0,n.createReadStream)(r)}),webStream:({value:r})=>({stream:Yt.Readable.fromWeb(r)}),iterable:({value:r})=>({stream:Yt.Readable.from(r)}),asyncIterable:({value:r})=>({stream:Yt.Readable.from(r)}),string:({value:r})=>({stream:Yt.Readable.from(r)}),uint8Array:({value:r})=>({stream:Yt.Readable.from(Wt.Buffer.from(r))})},output:{...$t,fileUrl:({value:r})=>({stream:(0,n.createWriteStream)(r)}),filePath:({value:{file:r,append:A}})=>({stream:(0,n.createWriteStream)(r,A?{flags:"a"}:{})}),webStream:({value:r})=>({stream:Yt.Writable.fromWeb(r)}),iterable:forbiddenIfAsync,asyncIterable:forbiddenIfAsync,string:forbiddenIfAsync,uint8Array:forbiddenIfAsync}};const Zt=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream/promises");function mergeStreams(r){if(!Array.isArray(r)){throw new TypeError(`Expected an array, got \`${typeof r}\`.`)}for(const A of r){validateStream(A)}const A=r.some((({readableObjectMode:r})=>r));const s=getHighWaterMark(r,A);const n=new MergedStream({objectMode:A,writableHighWaterMark:s,readableHighWaterMark:s});for(const A of r){n.add(A)}return n}const getHighWaterMark=(r,A)=>{if(r.length===0){return(0,Yt.getDefaultHighWaterMark)(A)}const s=r.filter((({readableObjectMode:r})=>r===A)).map((({readableHighWaterMark:r})=>r));return Math.max(...s)};class MergedStream extends Yt.PassThrough{#m=new Set([]);#y=new Set([]);#w=new Set([]);#D;#b=Symbol("unpipe");#R=new WeakMap;add(r){validateStream(r);if(this.#m.has(r)){return}this.#m.add(r);this.#D??=onMergedStreamFinished(this,this.#m,this.#b);const A=endWhenStreamsDone({passThroughStream:this,stream:r,streams:this.#m,ended:this.#y,aborted:this.#w,onFinished:this.#D,unpipeEvent:this.#b});this.#R.set(r,A);r.pipe(this,{end:false})}async remove(r){validateStream(r);if(!this.#m.has(r)){return false}const A=this.#R.get(r);if(A===undefined){return false}this.#R.delete(r);r.unpipe(this);await A;return true}}const onMergedStreamFinished=async(r,A,s)=>{updateMaxListeners(r,Xt);const n=new AbortController;try{await Promise.race([onMergedStreamEnd(r,n),onInputStreamsUnpipe(r,A,s,n)])}finally{n.abort();updateMaxListeners(r,-Xt)}};const onMergedStreamEnd=async(r,{signal:A})=>{try{await(0,Zt.finished)(r,{signal:A,cleanup:true})}catch(A){errorOrAbortStream(r,A);throw A}};const onInputStreamsUnpipe=async(r,A,s,{signal:n})=>{for await(const[a]of(0,$e.on)(r,"unpipe",{signal:n})){if(A.has(a)){a.emit(s)}}};const validateStream=r=>{if(typeof r?.pipe!=="function"){throw new TypeError(`Expected a readable stream, got: \`${typeof r}\`.`)}};const endWhenStreamsDone=async({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,onFinished:u,unpipeEvent:l})=>{updateMaxListeners(r,er);const g=new AbortController;try{await Promise.race([afterMergedStreamFinished(u,A,g),onInputStreamEnd({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,controller:g}),onInputStreamUnpipe({stream:A,streams:s,ended:n,aborted:a,unpipeEvent:l,controller:g})])}finally{g.abort();updateMaxListeners(r,-er)}if(s.size>0&&s.size===n.size+a.size){if(n.size===0&&a.size>0){abortStream(r)}else{endStream(r)}}};const afterMergedStreamFinished=async(r,A,{signal:s})=>{try{await r;if(!s.aborted){abortStream(A)}}catch(r){if(!s.aborted){errorOrAbortStream(A,r)}}};const onInputStreamEnd=async({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,controller:{signal:u}})=>{try{await(0,Zt.finished)(A,{signal:u,cleanup:true,readable:true,writable:false});if(s.has(A)){n.add(A)}}catch(n){if(u.aborted||!s.has(A)){return}if(isAbortError(n)){a.add(A)}else{errorStream(r,n)}}};const onInputStreamUnpipe=async({stream:r,streams:A,ended:s,aborted:n,unpipeEvent:a,controller:{signal:u}})=>{await(0,$e.once)(r,a,{signal:u});if(!r.readable){return(0,$e.once)(u,"abort",{signal:u})}A.delete(r);s.delete(r);n.delete(r)};const endStream=r=>{if(r.writable){r.end()}};const errorOrAbortStream=(r,A)=>{if(isAbortError(A)){abortStream(r)}else{errorStream(r,A)}};const isAbortError=r=>r?.code==="ERR_STREAM_PREMATURE_CLOSE";const abortStream=r=>{if(r.readable||r.writable){r.destroy()}};const errorStream=(r,A)=>{if(!r.destroyed){r.once("error",noop);r.destroy(A)}};const noop=()=>{};const updateMaxListeners=(r,A)=>{const s=r.getMaxListeners();if(s!==0&&s!==Number.POSITIVE_INFINITY){r.setMaxListeners(s+A)}};const Xt=2;const er=1;const pipeStreams=(r,A)=>{r.pipe(A);onSourceFinish(r,A);onDestinationFinish(r,A)};const onSourceFinish=async(r,A)=>{if(isStandardStream(r)||isStandardStream(A)){return}try{await(0,Zt.finished)(r,{cleanup:true,readable:true,writable:false})}catch{}endDestinationStream(A)};const endDestinationStream=r=>{if(r.writable){r.end()}};const onDestinationFinish=async(r,A)=>{if(isStandardStream(r)||isStandardStream(A)){return}try{await(0,Zt.finished)(A,{cleanup:true,readable:false,writable:true})}catch{}abortSourceStream(r)};const abortSourceStream=r=>{if(r.readable){r.destroy()}};const pipeOutputAsync=(r,A,s)=>{const n=new Map;for(const[a,{stdioItems:u,direction:l}]of Object.entries(A)){for(const{stream:A}of u.filter((({type:r})=>Tt.has(r)))){pipeTransform(r,A,l,a)}for(const{stream:A}of u.filter((({type:r})=>!Tt.has(r)))){pipeStdioItem({subprocess:r,stream:A,direction:l,fdNumber:a,pipeGroups:n,controller:s})}}for(const[r,A]of n.entries()){const s=A.length===1?A[0]:mergeStreams(A);pipeStreams(s,r)}};const pipeTransform=(r,A,s,n)=>{if(s==="output"){pipeStreams(r.stdio[n],A)}else{pipeStreams(A,r.stdio[n])}const a=tr[n];if(a!==undefined){r[a]=A}r.stdio[n]=A};const tr=["stdin","stdout","stderr"];const pipeStdioItem=({subprocess:r,stream:A,direction:s,fdNumber:n,pipeGroups:a,controller:u})=>{if(A===undefined){return}setStandardStreamMaxListeners(A,u);const[l,g]=s==="output"?[A,r.stdio[n]]:[r.stdio[n],A];const E=a.get(l)??[];a.set(l,[...E,g])};const setStandardStreamMaxListeners=(r,{signal:A})=>{if(isStandardStream(r)){incrementMaxListeners(r,rr,A)}};const rr=2;const Ar=[];Ar.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32"){Ar.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(process.platform==="linux"){Ar.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")}const processOk=r=>!!r&&typeof r==="object"&&typeof r.removeListener==="function"&&typeof r.emit==="function"&&typeof r.reallyExit==="function"&&typeof r.listeners==="function"&&typeof r.kill==="function"&&typeof r.pid==="number"&&typeof r.on==="function";const sr=Symbol.for("signal-exit emitter");const nr=globalThis;const or=Object.defineProperty.bind(Object);class Emitter{emitted={afterExit:false,exit:false};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(nr[sr]){return nr[sr]}or(nr,sr,{value:this,writable:false,enumerable:false,configurable:false})}on(r,A){this.listeners[r].push(A)}removeListener(r,A){const s=this.listeners[r];const n=s.indexOf(A);if(n===-1){return}if(n===0&&s.length===1){s.length=0}else{s.splice(n,1)}}emit(r,A,s){if(this.emitted[r]){return false}this.emitted[r]=true;let n=false;for(const a of this.listeners[r]){n=a(A,s)===true||n}if(r==="exit"){n=this.emit("afterExit",A,s)||n}return n}}class SignalExitBase{}const signalExitWrap=r=>({onExit(A,s){return r.onExit(A,s)},load(){return r.load()},unload(){return r.unload()}});class SignalExitFallback extends SignalExitBase{onExit(){return()=>{}}load(){}unload(){}}class SignalExit extends SignalExitBase{#S=ir.platform==="win32"?"SIGINT":"SIGHUP";#k=new Emitter;#F;#T;#N;#v={};#_=false;constructor(r){super();this.#F=r;this.#v={};for(const A of Ar){this.#v[A]=()=>{const s=this.#F.listeners(A);let{count:n}=this.#k;const a=r;if(typeof a.__signal_exit_emitter__==="object"&&typeof a.__signal_exit_emitter__.count==="number"){n+=a.__signal_exit_emitter__.count}if(s.length===n){this.unload();const s=this.#k.emit("exit",null,A);const n=A==="SIGHUP"?this.#S:A;if(!s)r.kill(r.pid,n)}}}this.#N=r.reallyExit;this.#T=r.emit}onExit(r,A){if(!processOk(this.#F)){return()=>{}}if(this.#_===false){this.load()}const s=A?.alwaysLast?"afterExit":"exit";this.#k.on(s,r);return()=>{this.#k.removeListener(s,r);if(this.#k.listeners["exit"].length===0&&this.#k.listeners["afterExit"].length===0){this.unload()}}}load(){if(this.#_){return}this.#_=true;this.#k.count+=1;for(const r of Ar){try{const A=this.#v[r];if(A)this.#F.on(r,A)}catch(r){}}this.#F.emit=(r,...A)=>this.#U(r,...A);this.#F.reallyExit=r=>this.#L(r)}unload(){if(!this.#_){return}this.#_=false;Ar.forEach((r=>{const A=this.#v[r];if(!A){throw new Error("Listener not defined for signal: "+r)}try{this.#F.removeListener(r,A)}catch(r){}}));this.#F.emit=this.#T;this.#F.reallyExit=this.#N;this.#k.count-=1}#L(r){if(!processOk(this.#F)){return 0}this.#F.exitCode=r||0;this.#k.emit("exit",this.#F.exitCode,null);return this.#N.call(this.#F,this.#F.exitCode)}#U(r,...A){const s=this.#T;if(r==="exit"&&processOk(this.#F)){if(typeof A[0]==="number"){this.#F.exitCode=A[0]}const n=s.call(this.#F,r,...A);this.#k.emit("exit",this.#F.exitCode,null);return n}else{return s.call(this.#F,r,...A)}}}const ir=globalThis.process;const{onExit:ar,load:cr,unload:ur}=signalExitWrap(processOk(ir)?new SignalExit(ir):new SignalExitFallback);const cleanupOnExit=(r,{cleanup:A,detached:s},{signal:n})=>{if(!A||s){return}const a=ar((()=>{r.kill()}));(0,$e.addAbortListener)(n,(()=>{a()}))};const normalizePipeArguments=({source:r,sourcePromise:A,boundOptions:s,createNested:n},...a)=>{const u=getStartTime();const{destination:l,destinationStream:g,destinationError:E,from:d,unpipeSignal:p}=getDestinationStream(s,n,a);const{sourceStream:C,sourceError:B}=getSourceStream(r,d);const{options:Q,fileDescriptors:I}=Xe.get(r);return{sourcePromise:A,sourceStream:C,sourceOptions:Q,sourceError:B,destination:l,destinationStream:g,destinationError:E,unpipeSignal:p,fileDescriptors:I,startTime:u}};const getDestinationStream=(r,A,s)=>{try{const{destination:n,pipeOptions:{from:a,to:u,unpipeSignal:l}={}}=getDestination(r,A,...s);const g=getToStream(n,u);return{destination:n,destinationStream:g,from:a,unpipeSignal:l}}catch(r){return{destinationError:r}}};const getDestination=(r,A,s,...n)=>{if(Array.isArray(s)){const a=A(mapDestinationArguments,r)(s,...n);return{destination:a,pipeOptions:r}}if(typeof s==="string"||s instanceof URL||isDenoExecPath(s)){if(Object.keys(r).length>0){throw new TypeError('Please use .pipe("file", ..., options) or .pipe(execa("file", ..., options)) instead of .pipe(options)("file", ...).')}const[a,u,l]=normalizeParameters(s,...n);const g=A(mapDestinationArguments)(a,u,l);return{destination:g,pipeOptions:l}}if(Xe.has(s)){if(Object.keys(r).length>0){throw new TypeError("Please use .pipe(options)`command` or .pipe($(options)`command`) instead of .pipe(options)($`command`).")}return{destination:s,pipeOptions:n[0]}}throw new TypeError(`The first argument must be a template string, an options object, or an Execa subprocess: ${s}`)};const mapDestinationArguments=({options:r})=>({options:{...r,stdin:"pipe",piped:true}});const getSourceStream=(r,A)=>{try{const s=getFromStream(r,A);return{sourceStream:s}}catch(r){return{sourceError:r}}};const handlePipeArgumentsError=({sourceStream:r,sourceError:A,destinationStream:s,destinationError:n,fileDescriptors:a,sourceOptions:u,startTime:l})=>{const g=getPipeArgumentsError({sourceStream:r,sourceError:A,destinationStream:s,destinationError:n});if(g!==undefined){throw createNonCommandError({error:g,fileDescriptors:a,sourceOptions:u,startTime:l})}};const getPipeArgumentsError=({sourceStream:r,sourceError:A,destinationStream:s,destinationError:n})=>{if(A!==undefined&&n!==undefined){return n}if(n!==undefined){abortSourceStream(r);return n}if(A!==undefined){endDestinationStream(s);return A}};const createNonCommandError=({error:r,fileDescriptors:A,sourceOptions:s,startTime:n})=>makeEarlyError({error:r,command:lr,escapedCommand:lr,fileDescriptors:A,options:s,startTime:n,isSync:false});const lr="source.pipe(destination)";const waitForBothSubprocesses=async r=>{const[{status:A,reason:s,value:n=s},{status:a,reason:u,value:l=u}]=await r;if(!l.pipedFrom.includes(n)){l.pipedFrom.push(n)}if(a==="rejected"){throw l}if(A==="rejected"){throw n}return l};const pipeSubprocessStream=(r,A,s)=>{const n=gr.has(A)?pipeMoreSubprocessStream(r,A):pipeFirstSubprocessStream(r,A);incrementMaxListeners(r,hr,s.signal);incrementMaxListeners(A,Er,s.signal);cleanupMergedStreamsMap(A);return n};const pipeFirstSubprocessStream=(r,A)=>{const s=mergeStreams([r]);pipeStreams(s,A);gr.set(A,s);return s};const pipeMoreSubprocessStream=(r,A)=>{const s=gr.get(A);s.add(r);return s};const cleanupMergedStreamsMap=async r=>{try{await(0,Zt.finished)(r,{cleanup:true,readable:false,writable:true})}catch{}gr.delete(r)};const gr=new WeakMap;const hr=2;const Er=1;const unpipeOnAbort=(r,A)=>r===undefined?[]:[unpipeOnSignalAbort(r,A)];const unpipeOnSignalAbort=async(r,{sourceStream:A,mergedStream:s,fileDescriptors:n,sourceOptions:a,startTime:u})=>{await(0,m.aborted)(r,A);await s.remove(A);const l=new Error("Pipe canceled by `unpipeSignal` option.");throw createNonCommandError({error:l,fileDescriptors:n,sourceOptions:a,startTime:u})};const pipeToSubprocess=(r,...A)=>{if(isPlainObject(A[0])){return pipeToSubprocess.bind(undefined,{...r,boundOptions:{...r.boundOptions,...A[0]}})}const{destination:s,...n}=normalizePipeArguments(r,...A);const a=handlePipePromise({...n,destination:s});a.pipe=pipeToSubprocess.bind(undefined,{...r,source:s,sourcePromise:a,boundOptions:{}});return a};const handlePipePromise=async({sourcePromise:r,sourceStream:A,sourceOptions:s,sourceError:n,destination:a,destinationStream:u,destinationError:l,unpipeSignal:g,fileDescriptors:E,startTime:d})=>{const p=getSubprocessPromises(r,a);handlePipeArgumentsError({sourceStream:A,sourceError:n,destinationStream:u,destinationError:l,fileDescriptors:E,sourceOptions:s,startTime:d});const C=new AbortController;try{const r=pipeSubprocessStream(A,u,C);return await Promise.race([waitForBothSubprocesses(p),...unpipeOnAbort(g,{sourceStream:A,mergedStream:r,sourceOptions:s,fileDescriptors:E,startTime:d})])}finally{C.abort()}};const getSubprocessPromises=(r,A)=>Promise.allSettled([r,A]);const utils_identity=r=>r;const utils_noop=()=>undefined;const getContentsProperty=({contents:r})=>r;const throwObjectStream=r=>{throw new Error(`Streams in object mode are not supported: ${String(r)}`)};const getLengthProperty=r=>r.length;async function getStreamAsArray(r,A){return getStreamContents(r,dr,A)}const initArray=()=>({contents:[]});const increment=()=>1;const addArrayChunk=(r,{contents:A})=>{A.push(r);return A};const dr={init:initArray,convertChunk:{string:utils_identity,buffer:utils_identity,arrayBuffer:utils_identity,dataView:utils_identity,typedArray:utils_identity,others:utils_identity},getSize:increment,truncateChunk:utils_noop,addChunk:addArrayChunk,getFinalChunk:utils_noop,finalize:getContentsProperty};async function getStreamAsArrayBuffer(r,A){return getStreamContents(r,Cr,A)}const initArrayBuffer=()=>({contents:new ArrayBuffer(0)});const useTextEncoder=r=>pr.encode(r);const pr=new TextEncoder;const useUint8Array=r=>new Uint8Array(r);const useUint8ArrayWithOffset=r=>new Uint8Array(r.buffer,r.byteOffset,r.byteLength);const truncateArrayBufferChunk=(r,A)=>r.slice(0,A);const addArrayBufferChunk=(r,{contents:A,length:s},n)=>{const a=hasArrayBufferResize()?resizeArrayBuffer(A,n):resizeArrayBufferSlow(A,n);new Uint8Array(a).set(r,s);return a};const resizeArrayBufferSlow=(r,A)=>{if(A<=r.byteLength){return r}const s=new ArrayBuffer(getNewContentsLength(A));new Uint8Array(s).set(new Uint8Array(r),0);return s};const resizeArrayBuffer=(r,A)=>{if(A<=r.maxByteLength){r.resize(A);return r}const s=new ArrayBuffer(A,{maxByteLength:getNewContentsLength(A)});new Uint8Array(s).set(new Uint8Array(r),0);return s};const getNewContentsLength=r=>fr**Math.ceil(Math.log(r)/Math.log(fr));const fr=2;const finalizeArrayBuffer=({contents:r,length:A})=>hasArrayBufferResize()?r:r.slice(0,A);const hasArrayBufferResize=()=>"resize"in ArrayBuffer.prototype;const Cr={init:initArrayBuffer,convertChunk:{string:useTextEncoder,buffer:useUint8Array,arrayBuffer:useUint8Array,dataView:useUint8ArrayWithOffset,typedArray:useUint8ArrayWithOffset,others:throwObjectStream},getSize:getLengthProperty,truncateChunk:truncateArrayBufferChunk,addChunk:addArrayBufferChunk,getFinalChunk:utils_noop,finalize:finalizeArrayBuffer};async function getStreamAsString(r,A){return getStreamContents(r,Br,A)}const initString=()=>({contents:"",textDecoder:new TextDecoder});const useTextDecoder=(r,{textDecoder:A})=>A.decode(r,{stream:true});const addStringChunk=(r,{contents:A})=>A+r;const truncateStringChunk=(r,A)=>r.slice(0,A);const getFinalStringChunk=({textDecoder:r})=>{const A=r.decode();return A===""?undefined:A};const Br={init:initString,convertChunk:{string:utils_identity,buffer:useTextDecoder,arrayBuffer:useTextDecoder,dataView:useTextDecoder,typedArray:useTextDecoder,others:throwObjectStream},getSize:getLengthProperty,truncateChunk:truncateStringChunk,addChunk:addStringChunk,getFinalChunk:getFinalStringChunk,finalize:getContentsProperty};const iterateOnSubprocessStream=({subprocessStdout:r,subprocess:A,binary:s,shouldEncode:n,encoding:a,preserveNewlines:u})=>{const l=new AbortController;stopReadingOnExit(A,l);return iterateOnStream({stream:r,controller:l,binary:s,shouldEncode:!r.readableObjectMode&&n,encoding:a,shouldSplit:!r.readableObjectMode,preserveNewlines:u})};const stopReadingOnExit=async(r,A)=>{try{await r}catch{}finally{A.abort()}};const iterateForResult=({stream:r,onStreamEnd:A,lines:s,encoding:n,stripFinalNewline:a,allMixed:u})=>{const l=new AbortController;stopReadingOnStreamEnd(A,l,r);const g=r.readableObjectMode&&!u;return iterateOnStream({stream:r,controller:l,binary:n==="buffer",shouldEncode:!g,encoding:n,shouldSplit:!g&&s,preserveNewlines:!a})};const stopReadingOnStreamEnd=async(r,A,s)=>{try{await r}catch{s.destroy()}finally{A.abort()}};const iterateOnStream=({stream:r,controller:A,binary:s,shouldEncode:n,encoding:a,shouldSplit:u,preserveNewlines:l})=>{const g=(0,$e.on)(r,"data",{signal:A.signal,highWaterMark:Ir,highWatermark:Ir});return iterateOnData({onStdoutChunk:g,controller:A,binary:s,shouldEncode:n,encoding:a,shouldSplit:u,preserveNewlines:l})};const Qr=(0,Yt.getDefaultHighWaterMark)(true);const Ir=Qr;const iterateOnData=async function*({onStdoutChunk:r,controller:A,binary:s,shouldEncode:n,encoding:a,shouldSplit:u,preserveNewlines:l}){const g=getGenerators({binary:s,shouldEncode:n,encoding:a,shouldSplit:u,preserveNewlines:l});try{for await(const[A]of r){yield*transformChunkSync(A,g,0)}}catch(r){if(!A.signal.aborted){throw r}}finally{yield*finalChunksSync(g)}};const getGenerators=({binary:r,shouldEncode:A,encoding:s,shouldSplit:n,preserveNewlines:a})=>[getEncodingTransformGenerator(r,s,!A),getSplitLinesGenerator(r,a,!n,{})].filter(Boolean);const getStreamOutput=async({stream:r,onStreamEnd:A,fdNumber:s,encoding:n,buffer:a,maxBuffer:u,lines:l,allMixed:g,stripFinalNewline:E,verboseInfo:d,streamInfo:p})=>{const C=logOutputAsync({stream:r,onStreamEnd:A,fdNumber:s,encoding:n,allMixed:g,verboseInfo:d,streamInfo:p});if(!a){await Promise.all([resumeStream(r),C]);return}const B=getStripFinalNewline(E,s);const Q=iterateForResult({stream:r,onStreamEnd:A,lines:l,encoding:n,stripFinalNewline:B,allMixed:g});const[I]=await Promise.all([contents_getStreamContents({stream:r,iterable:Q,fdNumber:s,encoding:n,maxBuffer:u,lines:l}),C]);return I};const logOutputAsync=async({stream:r,onStreamEnd:A,fdNumber:s,encoding:n,allMixed:a,verboseInfo:u,streamInfo:{fileDescriptors:l}})=>{if(!shouldLogOutput({stdioItems:l[s]?.stdioItems,encoding:n,verboseInfo:u,fdNumber:s})){return}const g=iterateForResult({stream:r,onStreamEnd:A,lines:true,encoding:n,stripFinalNewline:true,allMixed:a});await logLines(g,r,s,u)};const resumeStream=async r=>{await(0,xe.setImmediate)();if(r.readableFlowing===null){r.resume()}};const contents_getStreamContents=async({stream:r,stream:{readableObjectMode:A},iterable:s,fdNumber:n,encoding:a,maxBuffer:u,lines:l})=>{try{if(A||l){return await getStreamAsArray(s,{maxBuffer:u})}if(a==="buffer"){return new Uint8Array(await getStreamAsArrayBuffer(s,{maxBuffer:u}))}return await getStreamAsString(s,{maxBuffer:u})}catch(s){return handleBufferedData(handleMaxBuffer({error:s,stream:r,readableObjectMode:A,lines:l,encoding:a,fdNumber:n}))}};const getBufferedData=async r=>{try{return await r}catch(r){return handleBufferedData(r)}};const handleBufferedData=({bufferedData:r})=>isArrayBuffer(r)?new Uint8Array(r):r;const waitForStream=async(r,A,s,{isSameDirection:n,stopOnExit:a=false}={})=>{const u=handleStdinDestroy(r,s);const l=new AbortController;try{await Promise.race([...a?[s.exitPromise]:[],(0,Zt.finished)(r,{cleanup:true,signal:l.signal})])}catch(r){if(!u.stdinCleanedUp){handleStreamError(r,A,s,n)}}finally{l.abort()}};const handleStdinDestroy=(r,{originalStreams:[A],subprocess:s})=>{const n={stdinCleanedUp:false};if(r===A){spyOnStdinDestroy(r,s,n)}return n};const spyOnStdinDestroy=(r,A,s)=>{const{_destroy:n}=r;r._destroy=(...a)=>{setStdinCleanedUp(A,s);n.call(r,...a)}};const setStdinCleanedUp=({exitCode:r,signalCode:A},s)=>{if(r!==null||A!==null){s.stdinCleanedUp=true}};const handleStreamError=(r,A,s,n)=>{if(!shouldIgnoreStreamError(r,A,s,n)){throw r}};const shouldIgnoreStreamError=(r,A,s,n=true)=>{if(s.propagating){return isStreamEpipe(r)||isStreamAbort(r)}s.propagating=true;return isInputFileDescriptor(s,A)===n?isStreamEpipe(r):isStreamAbort(r)};const isInputFileDescriptor=({fileDescriptors:r},A)=>A!=="all"&&r[A].direction==="input";const isStreamAbort=r=>r?.code==="ERR_STREAM_PREMATURE_CLOSE";const isStreamEpipe=r=>r?.code==="EPIPE";const waitForStdioStreams=({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:u,verboseInfo:l,streamInfo:g})=>r.stdio.map(((r,E)=>waitForSubprocessStream({stream:r,fdNumber:E,encoding:A,buffer:s[E],maxBuffer:n[E],lines:a[E],allMixed:false,stripFinalNewline:u,verboseInfo:l,streamInfo:g})));const waitForSubprocessStream=async({stream:r,fdNumber:A,encoding:s,buffer:n,maxBuffer:a,lines:u,allMixed:l,stripFinalNewline:g,verboseInfo:E,streamInfo:d})=>{if(!r){return}const p=waitForStream(r,A,d);if(isInputFileDescriptor(d,A)){await p;return}const[C]=await Promise.all([getStreamOutput({stream:r,onStreamEnd:p,fdNumber:A,encoding:s,buffer:n,maxBuffer:a,lines:u,allMixed:l,stripFinalNewline:g,verboseInfo:E,streamInfo:d}),p]);return C};const makeAllStream=({stdout:r,stderr:A},{all:s})=>s&&(r||A)?mergeStreams([r,A].filter(Boolean)):undefined;const waitForAllStream=({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:u,verboseInfo:l,streamInfo:g})=>waitForSubprocessStream({...getAllStream(r,s),fdNumber:"all",encoding:A,maxBuffer:n[1]+n[2],lines:a[1]||a[2],allMixed:getAllMixed(r),stripFinalNewline:u,verboseInfo:l,streamInfo:g});const getAllStream=({stdout:r,stderr:A,all:s},[,n,a])=>{const u=n||a;if(!u){return{stream:s,buffer:u}}if(!n){return{stream:A,buffer:u}}if(!a){return{stream:r,buffer:u}}return{stream:s,buffer:u}};const getAllMixed=({all:r,stdout:A,stderr:s})=>r&&A&&s&&A.readableObjectMode!==s.readableObjectMode;const shouldLogIpc=r=>isFullVerbose(r,"ipc");const logIpcOutput=(r,A)=>{const s=serializeVerboseMessage(r);verboseLog({type:"ipc",verboseMessage:s,fdNumber:"ipc",verboseInfo:A})};const waitForIpcOutput=async({subprocess:r,buffer:A,maxBuffer:s,ipc:n,ipcOutput:a,verboseInfo:u})=>{if(!n){return a}const l=shouldLogIpc(u);const g=getFdSpecificValue(A,"ipc");const E=getFdSpecificValue(s,"ipc");for await(const A of loopOnMessages({anyProcess:r,channel:r.channel,isSubprocess:false,ipc:n,shouldAwait:false,reference:true})){if(g){checkIpcMaxBuffer(r,a,E);a.push(A)}if(l){logIpcOutput(A,u)}}return a};const getBufferedIpcOutput=async(r,A)=>{await Promise.allSettled([r]);return A};const waitForSubprocessResult=async({subprocess:r,options:{encoding:A,buffer:s,maxBuffer:n,lines:a,timeoutDuration:u,cancelSignal:l,gracefulCancel:g,forceKillAfterDelay:E,stripFinalNewline:d,ipc:p,ipcInput:C},context:B,verboseInfo:Q,fileDescriptors:I,originalStreams:m,onInternalError:y,controller:w})=>{const D=waitForExit(r,B);const b={originalStreams:m,fileDescriptors:I,subprocess:r,exitPromise:D,propagating:false};const R=waitForStdioStreams({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:d,verboseInfo:Q,streamInfo:b});const S=waitForAllStream({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:d,verboseInfo:Q,streamInfo:b});const k=[];const F=waitForIpcOutput({subprocess:r,buffer:s,maxBuffer:n,ipc:p,ipcOutput:k,verboseInfo:Q});const T=waitForOriginalStreams(m,r,b);const N=waitForCustomStreamsEnd(I,b);try{return await Promise.race([Promise.all([{},waitForSuccessfulExit(D),Promise.all(R),S,F,sendIpcInput(r,C),...T,...N]),y,throwOnSubprocessError(r,w),...throwOnTimeout(r,u,B,w),...throwOnCancel({subprocess:r,cancelSignal:l,gracefulCancel:g,context:B,controller:w}),...throwOnGracefulCancel({subprocess:r,cancelSignal:l,gracefulCancel:g,forceKillAfterDelay:E,context:B,controller:w})])}catch(r){B.terminationReason??="other";return Promise.all([{error:r},D,Promise.all(R.map((r=>getBufferedData(r)))),getBufferedData(S),getBufferedIpcOutput(F,k),Promise.allSettled(T),Promise.allSettled(N)])}};const waitForOriginalStreams=(r,A,s)=>r.map(((r,n)=>r===A.stdio[n]?undefined:waitForStream(r,n,s)));const waitForCustomStreamsEnd=(r,A)=>r.flatMap((({stdioItems:r},s)=>r.filter((({value:r,stream:A=r})=>isStream(A,{checkOpen:false})&&!isStandardStream(A))).map((({type:r,value:n,stream:a=n})=>waitForStream(a,s,A,{isSameDirection:Tt.has(r),stopOnExit:r==="native"})))));const throwOnSubprocessError=async(r,{signal:A})=>{const[s]=await(0,$e.once)(r,"error",{signal:A});throw s};const initializeConcurrentStreams=()=>({readableDestroy:new WeakMap,writableFinal:new WeakMap,writableDestroy:new WeakMap});const addConcurrentStream=(r,A,s)=>{const n=r[s];if(!n.has(A)){n.set(A,[])}const a=n.get(A);const u=createDeferred();a.push(u);const l=u.resolve.bind(u);return{resolve:l,promises:a}};const waitForConcurrentStreams=async({resolve:r,promises:A},s)=>{r();const[n]=await Promise.race([Promise.allSettled([true,s]),Promise.all([false,...A])]);return!n};const safeWaitForSubprocessStdin=async r=>{if(r===undefined){return}try{await waitForSubprocessStdin(r)}catch{}};const safeWaitForSubprocessStdout=async r=>{if(r===undefined){return}try{await waitForSubprocessStdout(r)}catch{}};const waitForSubprocessStdin=async r=>{await(0,Zt.finished)(r,{cleanup:true,readable:false,writable:true})};const waitForSubprocessStdout=async r=>{await(0,Zt.finished)(r,{cleanup:true,readable:true,writable:false})};const waitForSubprocess=async(r,A)=>{await r;if(A){throw A}};const destroyOtherStream=(r,A,s)=>{if(s&&!isStreamAbort(s)){r.destroy(s)}else if(A){r.destroy()}};const createReadable=({subprocess:r,concurrentStreams:A,encoding:s},{from:n,binary:a=true,preserveNewlines:u=true}={})=>{const l=a||Et.has(s);const{subprocessStdout:g,waitReadableDestroy:E}=getSubprocessStdout(r,n,A);const{readableEncoding:d,readableObjectMode:p,readableHighWaterMark:C}=getReadableOptions(g,l);const{read:B,onStdoutDataDone:Q}=getReadableMethods({subprocessStdout:g,subprocess:r,binary:l,encoding:s,preserveNewlines:u});const I=new Yt.Readable({read:B,destroy:(0,m.callbackify)(onReadableDestroy.bind(undefined,{subprocessStdout:g,subprocess:r,waitReadableDestroy:E})),highWaterMark:C,objectMode:p,encoding:d});onStdoutFinished({subprocessStdout:g,onStdoutDataDone:Q,readable:I,subprocess:r});return I};const getSubprocessStdout=(r,A,s)=>{const n=getFromStream(r,A);const a=addConcurrentStream(s,n,"readableDestroy");return{subprocessStdout:n,waitReadableDestroy:a}};const getReadableOptions=({readableEncoding:r,readableObjectMode:A,readableHighWaterMark:s},n)=>n?{readableEncoding:r,readableObjectMode:A,readableHighWaterMark:s}:{readableEncoding:r,readableObjectMode:true,readableHighWaterMark:Qr};const getReadableMethods=({subprocessStdout:r,subprocess:A,binary:s,encoding:n,preserveNewlines:a})=>{const u=createDeferred();const l=iterateOnSubprocessStream({subprocessStdout:r,subprocess:A,binary:s,shouldEncode:!s,encoding:n,preserveNewlines:a});return{read(){onRead(this,l,u)},onStdoutDataDone:u}};const onRead=async(r,A,s)=>{try{const{value:n,done:a}=await A.next();if(a){s.resolve()}else{r.push(n)}}catch{}};const onStdoutFinished=async({subprocessStdout:r,onStdoutDataDone:A,readable:s,subprocess:n,subprocessStdin:a})=>{try{await waitForSubprocessStdout(r);await n;await safeWaitForSubprocessStdin(a);await A;if(s.readable){s.push(null)}}catch(r){await safeWaitForSubprocessStdin(a);destroyOtherReadable(s,r)}};const onReadableDestroy=async({subprocessStdout:r,subprocess:A,waitReadableDestroy:s},n)=>{if(await waitForConcurrentStreams(s,A)){destroyOtherReadable(r,n);await waitForSubprocess(A,n)}};const destroyOtherReadable=(r,A)=>{destroyOtherStream(r,r.readable,A)};const createWritable=({subprocess:r,concurrentStreams:A},{to:s}={})=>{const{subprocessStdin:n,waitWritableFinal:a,waitWritableDestroy:u}=getSubprocessStdin(r,s,A);const l=new Yt.Writable({...getWritableMethods(n,r,a),destroy:(0,m.callbackify)(onWritableDestroy.bind(undefined,{subprocessStdin:n,subprocess:r,waitWritableFinal:a,waitWritableDestroy:u})),highWaterMark:n.writableHighWaterMark,objectMode:n.writableObjectMode});onStdinFinished(n,l);return l};const getSubprocessStdin=(r,A,s)=>{const n=getToStream(r,A);const a=addConcurrentStream(s,n,"writableFinal");const u=addConcurrentStream(s,n,"writableDestroy");return{subprocessStdin:n,waitWritableFinal:a,waitWritableDestroy:u}};const getWritableMethods=(r,A,s)=>({write:onWrite.bind(undefined,r),final:(0,m.callbackify)(onWritableFinal.bind(undefined,r,A,s))});const onWrite=(r,A,s,n)=>{if(r.write(A,s)){n()}else{r.once("drain",n)}};const onWritableFinal=async(r,A,s)=>{if(await waitForConcurrentStreams(s,A)){if(r.writable){r.end()}await A}};const onStdinFinished=async(r,A,s)=>{try{await waitForSubprocessStdin(r);if(A.writable){A.end()}}catch(r){await safeWaitForSubprocessStdout(s);destroyOtherWritable(A,r)}};const onWritableDestroy=async({subprocessStdin:r,subprocess:A,waitWritableFinal:s,waitWritableDestroy:n},a)=>{await waitForConcurrentStreams(s,A);if(await waitForConcurrentStreams(n,A)){destroyOtherWritable(r,a);await waitForSubprocess(A,a)}};const destroyOtherWritable=(r,A)=>{destroyOtherStream(r,r.writable,A)};const createDuplex=({subprocess:r,concurrentStreams:A,encoding:s},{from:n,to:a,binary:u=true,preserveNewlines:l=true}={})=>{const g=u||Et.has(s);const{subprocessStdout:E,waitReadableDestroy:d}=getSubprocessStdout(r,n,A);const{subprocessStdin:p,waitWritableFinal:C,waitWritableDestroy:B}=getSubprocessStdin(r,a,A);const{readableEncoding:Q,readableObjectMode:I,readableHighWaterMark:y}=getReadableOptions(E,g);const{read:w,onStdoutDataDone:D}=getReadableMethods({subprocessStdout:E,subprocess:r,binary:g,encoding:s,preserveNewlines:l});const b=new Yt.Duplex({read:w,...getWritableMethods(p,r,C),destroy:(0,m.callbackify)(onDuplexDestroy.bind(undefined,{subprocessStdout:E,subprocessStdin:p,subprocess:r,waitReadableDestroy:d,waitWritableFinal:C,waitWritableDestroy:B})),readableHighWaterMark:y,writableHighWaterMark:p.writableHighWaterMark,readableObjectMode:I,writableObjectMode:p.writableObjectMode,encoding:Q});onStdoutFinished({subprocessStdout:E,onStdoutDataDone:D,readable:b,subprocess:r,subprocessStdin:p});onStdinFinished(p,b,E);return b};const onDuplexDestroy=async({subprocessStdout:r,subprocessStdin:A,subprocess:s,waitReadableDestroy:n,waitWritableFinal:a,waitWritableDestroy:u},l)=>{await Promise.all([onReadableDestroy({subprocessStdout:r,subprocess:s,waitReadableDestroy:n},l),onWritableDestroy({subprocessStdin:A,subprocess:s,waitWritableFinal:a,waitWritableDestroy:u},l)])};const createIterable=(r,A,{from:s,binary:n=false,preserveNewlines:a=false}={})=>{const u=n||Et.has(A);const l=getFromStream(r,s);const g=iterateOnSubprocessStream({subprocessStdout:l,subprocess:r,binary:u,shouldEncode:true,encoding:A,preserveNewlines:a});return iterateOnStdoutData(g,l,r)};const iterateOnStdoutData=async function*(r,A,s){try{yield*r}finally{if(A.readable){A.destroy()}await s}};const addConvertedStreams=(r,{encoding:A})=>{const s=initializeConcurrentStreams();r.readable=createReadable.bind(undefined,{subprocess:r,concurrentStreams:s,encoding:A});r.writable=createWritable.bind(undefined,{subprocess:r,concurrentStreams:s});r.duplex=createDuplex.bind(undefined,{subprocess:r,concurrentStreams:s,encoding:A});r.iterable=createIterable.bind(undefined,r,A);r[Symbol.asyncIterator]=createIterable.bind(undefined,r,A,{})};const mergePromise=(r,A)=>{for(const[s,n]of yr){const a=n.value.bind(A);Reflect.defineProperty(r,s,{...n,value:a})}};const mr=(async()=>{})().constructor.prototype;const yr=["then","catch","finally"].map((r=>[r,Reflect.getOwnPropertyDescriptor(mr,r)]));const execaCoreAsync=(r,A,s,n)=>{const{file:a,commandArguments:u,command:l,escapedCommand:g,startTime:E,verboseInfo:d,options:p,fileDescriptors:C}=handleAsyncArguments(r,A,s);const{subprocess:B,promise:Q}=spawnSubprocessAsync({file:a,commandArguments:u,options:p,startTime:E,verboseInfo:d,command:l,escapedCommand:g,fileDescriptors:C});B.pipe=pipeToSubprocess.bind(undefined,{source:B,sourcePromise:Q,boundOptions:{},createNested:n});mergePromise(B,Q);Xe.set(B,{options:p,fileDescriptors:C});return B};const handleAsyncArguments=(r,A,s)=>{const{command:n,escapedCommand:a,startTime:u,verboseInfo:l}=handleCommand(r,A,s);const{file:g,commandArguments:E,options:d}=normalizeOptions(r,A,s);const p=handleAsyncOptions(d);const C=handleStdioAsync(p,l);return{file:g,commandArguments:E,command:n,escapedCommand:a,startTime:u,verboseInfo:l,options:p,fileDescriptors:C}};const handleAsyncOptions=({timeout:r,signal:A,...s})=>{if(A!==undefined){throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.')}return{...s,timeoutDuration:r}};const spawnSubprocessAsync=({file:r,commandArguments:A,options:s,startTime:n,verboseInfo:a,command:u,escapedCommand:l,fileDescriptors:g})=>{let d;try{d=(0,E.spawn)(r,A,s)}catch(r){return handleEarlyError({error:r,command:u,escapedCommand:l,fileDescriptors:g,options:s,startTime:n,verboseInfo:a})}const p=new AbortController;(0,$e.setMaxListeners)(Number.POSITIVE_INFINITY,p.signal);const C=[...d.stdio];pipeOutputAsync(d,g,p);cleanupOnExit(d,s,p);const B={};const Q=createDeferred();d.kill=subprocessKill.bind(undefined,{kill:d.kill.bind(d),options:s,onInternalError:Q,context:B,controller:p});d.all=makeAllStream(d,s);addConvertedStreams(d,s);addIpcMethods(d,s);const I=handlePromise({subprocess:d,options:s,startTime:n,verboseInfo:a,fileDescriptors:g,originalStreams:C,command:u,escapedCommand:l,context:B,onInternalError:Q,controller:p});return{subprocess:d,promise:I}};const handlePromise=async({subprocess:r,options:A,startTime:s,verboseInfo:n,fileDescriptors:a,originalStreams:u,command:l,escapedCommand:g,context:E,onInternalError:d,controller:p})=>{const[C,[B,Q],I,m,y]=await waitForSubprocessResult({subprocess:r,options:A,context:E,verboseInfo:n,fileDescriptors:a,originalStreams:u,onInternalError:d,controller:p});p.abort();d.resolve();const w=I.map(((r,s)=>stripNewline(r,A,s)));const D=stripNewline(m,A,"all");const b=getAsyncResult({errorInfo:C,exitCode:B,signal:Q,stdio:w,all:D,ipcOutput:y,context:E,options:A,command:l,escapedCommand:g,startTime:s});return handleResult(b,n,A)};const getAsyncResult=({errorInfo:r,exitCode:A,signal:s,stdio:n,all:a,ipcOutput:u,context:l,options:g,command:E,escapedCommand:d,startTime:p})=>"error"in r?makeError({error:r.error,command:E,escapedCommand:d,timedOut:l.terminationReason==="timeout",isCanceled:l.terminationReason==="cancel"||l.terminationReason==="gracefulCancel",isGracefullyCanceled:l.terminationReason==="gracefulCancel",isMaxBuffer:r.error instanceof MaxBufferError,isForcefullyTerminated:l.isForcefullyTerminated,exitCode:A,signal:s,stdio:n,all:a,ipcOutput:u,options:g,startTime:p,isSync:false}):makeSuccessResult({command:E,escapedCommand:d,stdio:n,all:a,ipcOutput:u,options:g,startTime:p});const mergeOptions=(r,A)=>{const s=Object.fromEntries(Object.entries(A).map((([A,s])=>[A,mergeOption(A,r[A],s)])));return{...r,...s}};const mergeOption=(r,A,s)=>{if(wr.has(r)&&isPlainObject(A)&&isPlainObject(s)){return{...A,...s}}return s};const wr=new Set(["env",...k]);const createExeca=(r,A,s,n)=>{const createNested=(r,A,n)=>createExeca(r,A,s,n);const boundExeca=(...a)=>callBoundExeca({mapArguments:r,deepOptions:s,boundOptions:A,setBoundExeca:n,createNested:createNested},...a);if(n!==undefined){n(boundExeca,createNested,A)}return boundExeca};const callBoundExeca=({mapArguments:r,deepOptions:A={},boundOptions:s={},setBoundExeca:n,createNested:a},u,...l)=>{if(isPlainObject(u)){return a(r,mergeOptions(s,u),n)}const{file:g,commandArguments:E,options:d,isSync:p}=parseArguments({mapArguments:r,firstArgument:u,nextArguments:l,deepOptions:A,boundOptions:s});return p?execaCoreSync(g,E,d):execaCoreAsync(g,E,d,a)};const parseArguments=({mapArguments:r,firstArgument:A,nextArguments:s,deepOptions:n,boundOptions:a})=>{const u=isTemplateString(A)?parseTemplates(A,s):[A,...s];const[l,g,E]=normalizeParameters(...u);const d=mergeOptions(mergeOptions(n,a),E);const{file:p=l,commandArguments:C=g,options:B=d,isSync:Q=false}=r({file:l,commandArguments:g,options:d});return{file:p,commandArguments:C,options:B,isSync:Q}};const mapCommandAsync=({file:r,commandArguments:A})=>parseCommand(r,A);const mapCommandSync=({file:r,commandArguments:A})=>({...parseCommand(r,A),isSync:true});const parseCommand=(r,A)=>{if(A.length>0){throw new TypeError(`The command and its arguments must be passed as a single string: ${r} ${A}.`)}const[s,...n]=parseCommandString(r);return{file:s,commandArguments:n}};const parseCommandString=r=>{if(typeof r!=="string"){throw new TypeError(`The command must be a string: ${String(r)}.`)}const A=r.trim();if(A===""){return[]}const s=[];for(const r of A.split(Dr)){const A=s.at(-1);if(A&&A.endsWith("\\")){s[s.length-1]=`${A.slice(0,-1)} ${r}`}else{s.push(r)}}return s};const Dr=/ +/g;const setScriptSync=(r,A,s)=>{r.sync=A(mapScriptSync,s);r.s=r.sync};const mapScriptAsync=({options:r})=>getScriptOptions(r);const mapScriptSync=({options:r})=>({...getScriptOptions(r),isSync:true});const getScriptOptions=r=>({options:{...getScriptStdinOption(r),...r}});const getScriptStdinOption=({input:r,inputFile:A,stdio:s})=>r===undefined&&A===undefined&&s===undefined?{stdin:"inherit"}:{};const br={preferLocal:true};const Rr=createExeca((()=>({})));const Sr=createExeca((()=>({isSync:true})));const kr=createExeca(mapCommandAsync);const Fr=createExeca(mapCommandSync);const Tr=createExeca(mapNode);const Nr=createExeca(mapScriptAsync,{},br,setScriptSync);const{sendMessage:vr,getOneMessage:_r,getEachMessage:Ur,getCancelSignal:Lr}=getIpcExport();function merge_streams_mergeStreams(r){if(!Array.isArray(r)){throw new TypeError(`Expected an array, got \`${typeof r}\`.`)}for(const A of r){merge_streams_validateStream(A)}const A=r.some((({readableObjectMode:r})=>r));const s=merge_streams_getHighWaterMark(r,A);const n=new merge_streams_MergedStream({objectMode:A,writableHighWaterMark:s,readableHighWaterMark:s});for(const A of r){n.add(A)}if(r.length===0){merge_streams_endStream(n)}return n}const merge_streams_getHighWaterMark=(r,A)=>{if(r.length===0){return 16384}const s=r.filter((({readableObjectMode:r})=>r===A)).map((({readableHighWaterMark:r})=>r));return Math.max(...s)};class merge_streams_MergedStream extends Yt.PassThrough{#m=new Set([]);#y=new Set([]);#w=new Set([]);#D;add(r){merge_streams_validateStream(r);if(this.#m.has(r)){return}this.#m.add(r);this.#D??=merge_streams_onMergedStreamFinished(this,this.#m);merge_streams_endWhenStreamsDone({passThroughStream:this,stream:r,streams:this.#m,ended:this.#y,aborted:this.#w,onFinished:this.#D});r.pipe(this,{end:false})}remove(r){merge_streams_validateStream(r);if(!this.#m.has(r)){return false}r.unpipe(this);return true}}const merge_streams_onMergedStreamFinished=async(r,A)=>{merge_streams_updateMaxListeners(r,Pr);const s=new AbortController;try{await Promise.race([merge_streams_onMergedStreamEnd(r,s),merge_streams_onInputStreamsUnpipe(r,A,s)])}finally{s.abort();merge_streams_updateMaxListeners(r,-Pr)}};const merge_streams_onMergedStreamEnd=async(r,{signal:A})=>{await(0,Zt.finished)(r,{signal:A,cleanup:true})};const merge_streams_onInputStreamsUnpipe=async(r,A,{signal:s})=>{for await(const[n]of(0,$e.on)(r,"unpipe",{signal:s})){if(A.has(n)){n.emit(Mr)}}};const merge_streams_validateStream=r=>{if(typeof r?.pipe!=="function"){throw new TypeError(`Expected a readable stream, got: \`${typeof r}\`.`)}};const merge_streams_endWhenStreamsDone=async({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,onFinished:u})=>{merge_streams_updateMaxListeners(r,Gr);const l=new AbortController;try{await Promise.race([merge_streams_afterMergedStreamFinished(u,A),merge_streams_onInputStreamEnd({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,controller:l}),merge_streams_onInputStreamUnpipe({stream:A,streams:s,ended:n,aborted:a,controller:l})])}finally{l.abort();merge_streams_updateMaxListeners(r,-Gr)}if(s.size===n.size+a.size){if(n.size===0&&a.size>0){merge_streams_abortStream(r)}else{merge_streams_endStream(r)}}};const merge_streams_isAbortError=r=>r?.code==="ERR_STREAM_PREMATURE_CLOSE";const merge_streams_afterMergedStreamFinished=async(r,A)=>{try{await r;merge_streams_abortStream(A)}catch(r){if(merge_streams_isAbortError(r)){merge_streams_abortStream(A)}else{merge_streams_errorStream(A,r)}}};const merge_streams_onInputStreamEnd=async({passThroughStream:r,stream:A,streams:s,ended:n,aborted:a,controller:{signal:u}})=>{try{await(0,Zt.finished)(A,{signal:u,cleanup:true,readable:true,writable:false});if(s.has(A)){n.add(A)}}catch(n){if(u.aborted||!s.has(A)){return}if(merge_streams_isAbortError(n)){a.add(A)}else{merge_streams_errorStream(r,n)}}};const merge_streams_onInputStreamUnpipe=async({stream:r,streams:A,ended:s,aborted:n,controller:{signal:a}})=>{await(0,$e.once)(r,Mr,{signal:a});A.delete(r);s.delete(r);n.delete(r)};const Mr=Symbol("unpipe");const merge_streams_endStream=r=>{if(r.writable){r.end()}};const merge_streams_abortStream=r=>{if(r.readable||r.writable){r.destroy()}};const merge_streams_errorStream=(r,A)=>{if(!r.destroyed){r.once("error",merge_streams_noop);r.destroy(A)}};const merge_streams_noop=()=>{};const merge_streams_updateMaxListeners=(r,A)=>{const s=r.getMaxListeners();if(s!==0&&s!==Number.POSITIVE_INFINITY){r.setMaxListeners(s+A)}};const Pr=2;const Gr=1;var xr=s(2485);var Or=s(9896);async function isType(r,A,s){if(typeof s!=="string"){throw new TypeError(`Expected a string, got ${typeof s}`)}try{const n=await Or.promises[r](s);return n[A]()}catch(r){if(r.code==="ENOENT"){return false}throw r}}function isTypeSync(r,A,s){if(typeof s!=="string"){throw new TypeError(`Expected a string, got ${typeof s}`)}try{return Or[r](s)[A]()}catch(r){if(r.code==="ENOENT"){return false}throw r}}const Hr=isType.bind(null,"stat","isFile");const Yr=isType.bind(null,"stat","isDirectory");const Jr=isType.bind(null,"lstat","isSymbolicLink");const Vr=isTypeSync.bind(null,"statSync","isFile");const Wr=isTypeSync.bind(null,"statSync","isDirectory");const qr=isTypeSync.bind(null,"lstatSync","isSymbolicLink");function node_toPath(r){return r instanceof URL?(0,g.fileURLToPath)(r):r}const jr=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs/promises");var Kr=s(2146);function slash(r){const A=r.startsWith("\\\\?\\");if(A){return r}return r.replace(/\\/g,"/")}const isNegativePattern=r=>r[0]==="!";const $r=["**/node_modules","**/flow-typed","**/coverage","**/.git"];const zr={absolute:true,dot:true};const Zr="**/.gitignore";const applyBaseToPattern=(r,A)=>isNegativePattern(r)?"!"+a.posix.join(A,r.slice(1)):a.posix.join(A,r);const parseIgnoreFile=(r,A)=>{const s=slash(a.relative(A,a.dirname(r.filePath)));return r.content.split(/\r?\n/).filter((r=>r&&!r.startsWith("#"))).map((r=>applyBaseToPattern(r,s)))};const toRelativePath=(r,A)=>{A=slash(A);if(a.isAbsolute(r)){if(slash(r).startsWith(A)){return a.relative(A,r)}throw new Error(`Path ${r} is not in cwd ${A}`)}return r};const getIsIgnoredPredicate=(r,A)=>{const s=r.flatMap((r=>parseIgnoreFile(r,A)));const n=Kr().add(s);return r=>{r=node_toPath(r);r=toRelativePath(r,A);return r?n.ignores(slash(r)):false}};const ignore_normalizeOptions=(r={})=>({cwd:node_toPath(r.cwd)??y.cwd(),suppressErrors:Boolean(r.suppressErrors),deep:typeof r.deep==="number"?r.deep:Number.POSITIVE_INFINITY,ignore:[...r.ignore??[],...$r]});const isIgnoredByIgnoreFiles=async(r,A)=>{const{cwd:s,suppressErrors:n,deep:a,ignore:u}=ignore_normalizeOptions(A);const l=await xr(r,{cwd:s,suppressErrors:n,deep:a,ignore:u,...zr});const g=await Promise.all(l.map((async r=>({filePath:r,content:await jr.readFile(r,"utf8")}))));return getIsIgnoredPredicate(g,s)};const isIgnoredByIgnoreFilesSync=(r,A)=>{const{cwd:s,suppressErrors:a,deep:u,ignore:l}=ignore_normalizeOptions(A);const g=xr.sync(r,{cwd:s,suppressErrors:a,deep:u,ignore:l,...zr});const E=g.map((r=>({filePath:r,content:n.readFileSync(r,"utf8")})));return getIsIgnoredPredicate(E,s)};const isGitIgnored=r=>isIgnoredByIgnoreFiles(Zr,r);const isGitIgnoredSync=r=>isIgnoredByIgnoreFilesSync(Zr,r);const assertPatternsInput=r=>{if(r.some((r=>typeof r!=="string"))){throw new TypeError("Patterns must be a string or an array of strings")}};const normalizePathForDirectoryGlob=(r,A)=>{const s=isNegativePattern(r)?r.slice(1):r;return a.isAbsolute(s)?s:a.join(A,s)};const getDirectoryGlob=({directoryPath:r,files:A,extensions:s})=>{const n=s?.length>0?`.${s.length>1?`{${s.join(",")}}`:s[0]}`:"";return A?A.map((A=>a.posix.join(r,`**/${a.extname(A)?A:`${A}${n}`}`))):[a.posix.join(r,`**${n?`/*${n}`:""}`)]};const directoryToGlob=async(r,{cwd:A=y.cwd(),files:s,extensions:n}={})=>{const a=await Promise.all(r.map((async r=>await Yr(normalizePathForDirectoryGlob(r,A))?getDirectoryGlob({directoryPath:r,files:s,extensions:n}):r)));return a.flat()};const directoryToGlobSync=(r,{cwd:A=y.cwd(),files:s,extensions:n}={})=>r.flatMap((r=>Wr(normalizePathForDirectoryGlob(r,A))?getDirectoryGlob({directoryPath:r,files:s,extensions:n}):r));const toPatternsArray=r=>{r=[...new Set([r].flat())];assertPatternsInput(r);return r};const checkCwdOption=r=>{if(!r){return}let A;try{A=n.statSync(r)}catch{return}if(!A.isDirectory()){throw new Error("The `cwd` option must be a path to a directory")}};const globby_normalizeOptions=(r={})=>{r={...r,ignore:r.ignore??[],expandDirectories:r.expandDirectories??true,cwd:node_toPath(r.cwd)};checkCwdOption(r.cwd);return r};const normalizeArguments=r=>async(A,s)=>r(toPatternsArray(A),globby_normalizeOptions(s));const normalizeArgumentsSync=r=>(A,s)=>r(toPatternsArray(A),globby_normalizeOptions(s));const getIgnoreFilesPatterns=r=>{const{ignoreFiles:A,gitignore:s}=r;const n=A?toPatternsArray(A):[];if(s){n.push(Zr)}return n};const getFilter=async r=>{const A=getIgnoreFilesPatterns(r);return createFilterFunction(A.length>0&&await isIgnoredByIgnoreFiles(A,r))};const getFilterSync=r=>{const A=getIgnoreFilesPatterns(r);return createFilterFunction(A.length>0&&isIgnoredByIgnoreFilesSync(A,r))};const createFilterFunction=r=>{const A=new Set;return s=>{const n=a.normalize(s.path??s);if(A.has(n)||r&&r(n)){return false}A.add(n);return true}};const unionFastGlobResults=(r,A)=>r.flat().filter((r=>A(r)));const convertNegativePatterns=(r,A)=>{const s=[];while(r.length>0){const n=r.findIndex((r=>isNegativePattern(r)));if(n===-1){s.push({patterns:r,options:A});break}const a=r[n].slice(1);for(const r of s){r.options.ignore.push(a)}if(n!==0){s.push({patterns:r.slice(0,n),options:{...A,ignore:[...A.ignore,a]}})}r=r.slice(n+1)}return s};const normalizeExpandDirectoriesOption=(r,A)=>({...A?{cwd:A}:{},...Array.isArray(r)?{files:r}:r});const generateTasks=async(r,A)=>{const s=convertNegativePatterns(r,A);const{cwd:n,expandDirectories:a}=A;if(!a){return s}const u=normalizeExpandDirectoriesOption(a,n);return Promise.all(s.map((async r=>{let{patterns:A,options:s}=r;[A,s.ignore]=await Promise.all([directoryToGlob(A,u),directoryToGlob(s.ignore,{cwd:n})]);return{patterns:A,options:s}})))};const generateTasksSync=(r,A)=>{const s=convertNegativePatterns(r,A);const{cwd:n,expandDirectories:a}=A;if(!a){return s}const u=normalizeExpandDirectoriesOption(a,n);return s.map((r=>{let{patterns:A,options:s}=r;A=directoryToGlobSync(A,u);s.ignore=directoryToGlobSync(s.ignore,{cwd:n});return{patterns:A,options:s}}))};const Xr=normalizeArguments((async(r,A)=>{const[s,n]=await Promise.all([generateTasks(r,A),getFilter(A)]);const a=await Promise.all(s.map((r=>xr(r.patterns,r.options))));return unionFastGlobResults(a,n)}));const eA=normalizeArgumentsSync(((r,A)=>{const s=generateTasksSync(r,A);const n=getFilterSync(A);const a=s.map((r=>xr.sync(r.patterns,r.options)));return unionFastGlobResults(a,n)}));const tA=normalizeArgumentsSync(((r,A)=>{const s=generateTasksSync(r,A);const n=getFilterSync(A);const a=s.map((r=>xr.stream(r.patterns,r.options)));const u=merge_streams_mergeStreams(a).filter((r=>n(r)));return u}));const rA=normalizeArgumentsSync(((r,A)=>r.some((r=>xr.isDynamicPattern(r,A)))));const AA=normalizeArguments(generateTasks);const sA=normalizeArgumentsSync(generateTasksSync);const{convertPathToPattern:nA}=xr;var oA=s(3167);const iA=[".app.tar.gz.sig",".app.tar.gz",".dmg",".AppImage.tar.gz.sig",".AppImage.tar.gz",".AppImage.sig",".AppImage",".deb",".rpm",".msi.zip.sig",".msi.zip",".msi.sig",".msi",".nsis.zip.sig",".nsis.zip",".exe.sig",".exe"];function getAssetName(r){const A=u().basename(r);const s=iA.filter((r=>A.includes(r)));const n=s[0]||u().extname(r);const a=A.replace(n,"");let l="";if(n===".app.tar.gz.sig"||n===".app.tar.gz"){if(r.includes("universal-apple-darwin")){l="_universal"}else if(r.includes("aarch64-apple-darwin")){l="_aarch64"}else if(r.includes("x86_64-apple-darwin")){l="_x64"}else{l=process.arch==="arm64"?"_aarch64":"_x64"}}return r.includes(`${u().sep}debug${u().sep}`)?`${a}-debug${l}${n}`:`${a}${l}${n}`}function getPackageJson(r){const A=(0,a.join)(r,"package.json");if((0,n.existsSync)(A)){const r=(0,n.readFileSync)(A).toString();return JSON.parse(r)}return null}function getTauriDir(r){const A=eA(["**/tauri.conf.json","**/tauri.conf.json5","**/Tauri.toml"],{gitignore:true,cwd:r,ignore:["**/target","**/node_modules"]});if(A.length===0){return null}return(0,a.resolve)(r,A[0],"..")}function getWorkspaceDir(r){const A=r;while(r.length&&r[r.length-1]!==a.sep){const s=(0,a.join)(r,"Cargo.toml");if((0,n.existsSync)(s)){const u=(0,l.parse)((0,n.readFileSync)(s).toString());if(u.workspace?.members){const s=["**/target","**/node_modules"];if(u.workspace.exclude)s.push(...u.workspace.exclude);const n=eA(u.workspace.members,{cwd:r,ignore:s,expandDirectories:false,onlyFiles:false});if(n.some((s=>(0,a.resolve)(r,s)===A))){return r}}}r=(0,a.normalize)((0,a.join)(r,".."))}return null}function getTargetDir(r,A,s){const g=(0,a.join)(r,"target");let E=A;let d;let p;if(process.env.CARGO_TARGET_DIR){d=process.env.CARGO_TARGET_DIR??g}while(E.length&&E[E.length-1]!==a.sep){let r=(0,a.join)(E,".cargo/config");if(!(0,n.existsSync)(r)){r=(0,a.join)(E,".cargo/config.toml")}if((0,n.existsSync)(r)){const A=(0,l.parse)((0,n.readFileSync)(r).toString());if(!d&&A.build?.["target-dir"]){const r=A.build["target-dir"];if(u().isAbsolute(r)){d=r}else{d=(0,a.normalize)((0,a.join)(E,r))}}if(!s&&!p&&typeof A.build?.target==="string"){p=A.build.target}}if(d&&p)break;E=(0,a.normalize)((0,a.join)(E,".."))}if(d){return(0,a.normalize)((0,a.join)(d,p??""))}return(0,a.normalize)((0,a.join)(g,p??""))}function getCargoManifest(r){const A=(0,a.join)(r,"Cargo.toml");const s=(0,l.parse)((0,n.readFileSync)(A).toString());let u=s.package.name;let g=s.package.version;if(typeof s.package.version=="object"||typeof s.package.name=="object"){const A=getWorkspaceDir(r);if(!A){throw new Error("Could not find workspace directory, but version and/or name specifies to use workspace package")}const s=(0,a.join)(A,"Cargo.toml");const E=(0,l.parse)((0,n.readFileSync)(s).toString());if(typeof u==="object"&&E?.workspace?.package?.name!==undefined){u=E.workspace.package.name}if(typeof g==="object"&&E?.workspace?.package?.version!==undefined){g=E.workspace.package.version}}return{...s,package:{...s.package,name:u,version:g}}}function hasDependency(r,A){const s=getPackageJson(A);return s&&(s.dependencies?.[r]||s.devDependencies?.[r])}function usesYarn(r){return(0,n.existsSync)((0,a.join)(r,"yarn.lock"))}function usesPnpm(r){return(0,n.existsSync)((0,a.join)(r,"pnpm-lock.yaml"))}function usesBun(r){return(0,n.existsSync)((0,a.join)(r,"bun.lockb"))}async function execCommand(r,A,{cwd:s}={},n={}){console.log(`running ${r}`,A);const a=Rr(r,A,{cwd:s,env:{FORCE_COLOR:"0",...n},lines:true,stdio:"pipe",reject:false});a.stdout?.on("data",(r=>{process.stdout.write(r)}));a.stderr?.on("data",(r=>{process.stderr.write(r)}));return new Promise(((s,n)=>{a.on("exit",(a=>{if(a&&a>0){n(new Error(`Command "${r} ${JSON.stringify(A)}" failed with exit code ${a}`))}else{s()}}))}))}function getInfo(r,A,s){const u=getTauriDir(r);if(u!==null){let l;let g;let E="en-US";let d="1";const p=oA.K.fromBaseConfig(u);if(A){p.mergePlatformConfig(u,A.platform)}if(s){p.mergeUserConfig(r,s)}l=p?.productName;if(p.version?.endsWith(".json")){const r=(0,a.join)(u,p?.version);const A=(0,n.readFileSync)(r).toString();g=JSON.parse(A).version}else{g=p?.version}if(!(l&&g)){const r=getCargoManifest(u);l=l??r.package.name;g=g??r.package.version}if(!(l&&g)){console.error("Could not determine package name and version.");process.exit(1)}const C=g.replace(/[-+]/g,".");if(p.wixLanguage){E=p.wixLanguage}if(p.rpmRelease){d=p.rpmRelease}return{tauriPath:u,name:l,version:g,wixLanguage:E,wixAppVersion:C,rpmRelease:d,unzippedSigs:p.unzippedSigs===true}}else{throw Error("Couldn't detect Tauri dir")}}function getTargetInfo(r){let A=process.arch;let s=process.platform==="win32"?"windows":process.platform==="darwin"?"macos":"linux";if(r){if(r.includes("windows")){s="windows"}else if(r.includes("darwin")||r.includes("macos")){s="macos"}else if(r.includes("linux")){s="linux"}else if(r.includes("android")){s="android"}else if(r.includes("ios")){s="ios"}if(r.includes("-")){A=r.split("-")[0]}}return{arch:A,platform:s}}async function retry(r,A){for(let s=1;s<=A;s++){try{return await r()}catch(r){if(s===A)throw r;console.log(`Attempt ${s} failed, retrying...`)}}}},2613:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("assert")},290:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("async_hooks")},181:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("buffer")},5317:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("child_process")},4236:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("console")},6982:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("crypto")},1637:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("diagnostics_channel")},4434:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("events")},9896:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("fs")},8611:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http")},5675:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http2")},5692:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("https")},9278:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("net")},8474:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:events")},3024:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs")},6760:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:path")},7075:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream")},7975:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:util")},857:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("os")},6928:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("path")},2987:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("perf_hooks")},3480:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("querystring")},2203:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream")},3774:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream/web")},3193:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("string_decoder")},3557:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("timers")},4756:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("tls")},7016:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("url")},9023:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util")},8253:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util/types")},8167:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("worker_threads")},3106:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("zlib")},6917:(r,A,s)=>{const n=s(7075).Writable;const a=s(7975).inherits;const u=s(439);const l=s(5341);const g=s(6890);const E=45;const d=Buffer.from("-");const p=Buffer.from("\r\n");const EMPTY_FN=function(){};function Dicer(r){if(!(this instanceof Dicer)){return new Dicer(r)}n.call(this,r);if(!r||!r.headerFirst&&typeof r.boundary!=="string"){throw new TypeError("Boundary required")}if(typeof r.boundary==="string"){this.setBoundary(r.boundary)}else{this._bparser=undefined}this._headerFirst=r.headerFirst;this._dashes=0;this._parts=0;this._finished=false;this._realFinish=false;this._isPreamble=true;this._justMatched=false;this._firstWrite=true;this._inHeader=true;this._part=undefined;this._cb=undefined;this._ignoreData=false;this._partOpts={highWaterMark:r.partHwm};this._pause=false;const A=this;this._hparser=new g(r);this._hparser.on("header",(function(r){A._inHeader=false;A._part.emit("header",r)}))}a(Dicer,n);Dicer.prototype.emit=function(r){if(r==="finish"&&!this._realFinish){if(!this._finished){const r=this;process.nextTick((function(){r.emit("error",new Error("Unexpected end of multipart data"));if(r._part&&!r._ignoreData){const A=r._isPreamble?"Preamble":"Part";r._part.emit("error",new Error(A+" terminated early due to unexpected end of multipart data"));r._part.push(null);process.nextTick((function(){r._realFinish=true;r.emit("finish");r._realFinish=false}));return}r._realFinish=true;r.emit("finish");r._realFinish=false}))}}else{n.prototype.emit.apply(this,arguments)}};Dicer.prototype._write=function(r,A,s){if(!this._hparser&&!this._bparser){return s()}if(this._headerFirst&&this._isPreamble){if(!this._part){this._part=new l(this._partOpts);if(this.listenerCount("preamble")!==0){this.emit("preamble",this._part)}else{this._ignore()}}const A=this._hparser.push(r);if(!this._inHeader&&A!==undefined&&A{const n=s(8474).EventEmitter;const a=s(7975).inherits;const u=s(1954);const l=s(439);const g=Buffer.from("\r\n\r\n");const E=/\r\n/g;const d=/^([^:]+):[ \t]?([\x00-\xFF]+)?$/;function HeaderParser(r){n.call(this);r=r||{};const A=this;this.nread=0;this.maxed=false;this.npairs=0;this.maxHeaderPairs=u(r,"maxHeaderPairs",2e3);this.maxHeaderSize=u(r,"maxHeaderSize",80*1024);this.buffer="";this.header={};this.finished=false;this.ss=new l(g);this.ss.on("info",(function(r,s,n,a){if(s&&!A.maxed){if(A.nread+a-n>=A.maxHeaderSize){a=A.maxHeaderSize-A.nread+n;A.nread=A.maxHeaderSize;A.maxed=true}else{A.nread+=a-n}A.buffer+=s.toString("binary",n,a)}if(r){A._finish()}}))}a(HeaderParser,n);HeaderParser.prototype.push=function(r){const A=this.ss.push(r);if(this.finished){return A}};HeaderParser.prototype.reset=function(){this.finished=false;this.buffer="";this.header={};this.ss.reset()};HeaderParser.prototype._finish=function(){if(this.buffer){this._parseHeader()}this.ss.matches=this.ss.maxMatches;const r=this.header;this.header={};this.buffer="";this.finished=true;this.nread=this.npairs=0;this.maxed=false;this.emit("header",r)};HeaderParser.prototype._parseHeader=function(){if(this.npairs===this.maxHeaderPairs){return}const r=this.buffer.split(E);const A=r.length;let s,n;for(var a=0;a{const n=s(7975).inherits;const a=s(7075).Readable;function PartStream(r){a.call(this,r)}n(PartStream,a);PartStream.prototype._read=function(r){};r.exports=PartStream},439:(r,A,s)=>{const n=s(8474).EventEmitter;const a=s(7975).inherits;function SBMH(r){if(typeof r==="string"){r=Buffer.from(r)}if(!Buffer.isBuffer(r)){throw new TypeError("The needle has to be a String or a Buffer.")}const A=r.length;if(A===0){throw new Error("The needle cannot be an empty String/Buffer.")}if(A>256){throw new Error("The needle cannot have a length bigger than 256.")}this.maxMatches=Infinity;this.matches=0;this._occ=new Array(256).fill(A);this._lookbehind_size=0;this._needle=r;this._bufpos=0;this._lookbehind=Buffer.alloc(A);for(var s=0;s=0){this.emit("info",false,this._lookbehind,0,this._lookbehind_size);this._lookbehind_size=0}else{const s=this._lookbehind_size+u;if(s>0){this.emit("info",false,this._lookbehind,0,s)}this._lookbehind.copy(this._lookbehind,0,s,this._lookbehind_size-s);this._lookbehind_size-=s;r.copy(this._lookbehind,this._lookbehind_size);this._lookbehind_size+=A;this._bufpos=A;return A}}u+=(u>=0)*this._bufpos;if(r.indexOf(s,u)!==-1){u=r.indexOf(s,u);++this.matches;if(u>0){this.emit("info",true,r,this._bufpos,u)}else{this.emit("info",true)}return this._bufpos=u+n}else{u=A-n}while(u0){this.emit("info",false,r,this._bufpos,u{const n=s(7075).Writable;const{inherits:a}=s(7975);const u=s(6917);const l=s(4945);const g=s(1724);const E=s(6812);function Busboy(r){if(!(this instanceof Busboy)){return new Busboy(r)}if(typeof r!=="object"){throw new TypeError("Busboy expected an options-Object.")}if(typeof r.headers!=="object"){throw new TypeError("Busboy expected an options-Object with headers-attribute.")}if(typeof r.headers["content-type"]!=="string"){throw new TypeError("Missing Content-Type-header.")}const{headers:A,...s}=r;this.opts={autoDestroy:false,...s};n.call(this,this.opts);this._done=false;this._parser=this.getParserByHeaders(A);this._finished=false}a(Busboy,n);Busboy.prototype.emit=function(r){if(r==="finish"){if(!this._done){this._parser?.end();return}else if(this._finished){return}this._finished=true}n.prototype.emit.apply(this,arguments)};Busboy.prototype.getParserByHeaders=function(r){const A=E(r["content-type"]);const s={defCharset:this.opts.defCharset,fileHwm:this.opts.fileHwm,headers:r,highWaterMark:this.opts.highWaterMark,isPartAFile:this.opts.isPartAFile,limits:this.opts.limits,parsedConType:A,preservePath:this.opts.preservePath};if(l.detect.test(A[0])){return new l(this,s)}if(g.detect.test(A[0])){return new g(this,s)}throw new Error("Unsupported Content-Type.")};Busboy.prototype._write=function(r,A,s){this._parser.write(r,s)};r.exports=Busboy;r.exports["default"]=Busboy;r.exports.Busboy=Busboy;r.exports.Dicer=u},4945:(r,A,s)=>{const{Readable:n}=s(7075);const{inherits:a}=s(7975);const u=s(6917);const l=s(6812);const g=s(3772);const E=s(4935);const d=s(1954);const p=/^boundary$/i;const C=/^form-data$/i;const B=/^charset$/i;const Q=/^filename$/i;const I=/^name$/i;Multipart.detect=/^multipart\/form-data/i;function Multipart(r,A){let s;let n;const a=this;let m;const y=A.limits;const w=A.isPartAFile||((r,A,s)=>A==="application/octet-stream"||s!==undefined);const D=A.parsedConType||[];const b=A.defCharset||"utf8";const R=A.preservePath;const S={highWaterMark:A.fileHwm};for(s=0,n=D.length;sv){a.parser.removeListener("part",onPart);a.parser.on("part",skipPart);r.hitPartsLimit=true;r.emit("partsLimit");return skipPart(A)}if(x){const r=x;r.emit("end");r.removeAllListeners("end")}A.on("header",(function(u){let d;let p;let m;let y;let D;let v;let _=0;if(u["content-type"]){m=l(u["content-type"][0]);if(m[0]){d=m[0].toLowerCase();for(s=0,n=m.length;sF){const n=F-_+r.length;if(n>0){s.push(r.slice(0,n))}s.truncated=true;s.bytesRead=F;A.removeAllListeners("data");s.emit("limit");return}else if(!s.push(r)){a._pause=true}s.bytesRead=_};O=function(){G=undefined;s.push(null)}}else{if(M===N){if(!r.hitFieldsLimit){r.hitFieldsLimit=true;r.emit("fieldsLimit")}return skipPart(A)}++M;++P;let s="";let n=false;x=A;U=function(r){if((_+=r.length)>k){const a=k-(_-r.length);s+=r.toString("binary",0,a);n=true;A.removeAllListeners("data")}else{s+=r.toString("binary")}};O=function(){x=undefined;if(s.length){s=g(s,"binary",y)}r.emit("field",p,s,false,n,D,d);--P;checkFinished()}}A._readableState.sync=false;A.on("data",U);A.on("end",O)})).on("error",(function(r){if(G){G.emit("error",r)}}))})).on("error",(function(A){r.emit("error",A)})).on("finish",(function(){O=true;checkFinished()}))}Multipart.prototype.write=function(r,A){const s=this.parser.write(r);if(s&&!this._pause){A()}else{this._needDrain=!s;this._cb=A}};Multipart.prototype.end=function(){const r=this;if(r.parser.writable){r.parser.end()}else if(!r._boy._done){process.nextTick((function(){r._boy._done=true;r._boy.emit("finish")}))}};function skipPart(r){r.resume()}function FileStream(r){n.call(this,r);this.bytesRead=0;this.truncated=false}a(FileStream,n);FileStream.prototype._read=function(r){};r.exports=Multipart},1724:(r,A,s)=>{const n=s(393);const a=s(3772);const u=s(1954);const l=/^charset$/i;UrlEncoded.detect=/^application\/x-www-form-urlencoded/i;function UrlEncoded(r,A){const s=A.limits;const a=A.parsedConType;this.boy=r;this.fieldSizeLimit=u(s,"fieldSize",1*1024*1024);this.fieldNameSizeLimit=u(s,"fieldNameSize",100);this.fieldsLimit=u(s,"fields",Infinity);let g;for(var E=0,d=a.length;El){this._key+=this.decoder.write(r.toString("binary",l,s))}this._state="val";this._hitLimit=false;this._checkingBytes=true;this._val="";this._bytesVal=0;this._valTrunc=false;this.decoder.reset();l=s+1}else if(n!==undefined){++this._fields;let s;const u=this._keyTrunc;if(n>l){s=this._key+=this.decoder.write(r.toString("binary",l,n))}else{s=this._key}this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();if(s.length){this.boy.emit("field",a(s,"binary",this.charset),"",u,false)}l=n+1;if(this._fields===this.fieldsLimit){return A()}}else if(this._hitLimit){if(u>l){this._key+=this.decoder.write(r.toString("binary",l,u))}l=u;if((this._bytesKey=this._key.length)===this.fieldNameSizeLimit){this._checkingBytes=false;this._keyTrunc=true}}else{if(ll){this._val+=this.decoder.write(r.toString("binary",l,n))}this.boy.emit("field",a(this._key,"binary",this.charset),a(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc);this._state="key";this._hitLimit=false;this._checkingBytes=true;this._key="";this._bytesKey=0;this._keyTrunc=false;this.decoder.reset();l=n+1;if(this._fields===this.fieldsLimit){return A()}}else if(this._hitLimit){if(u>l){this._val+=this.decoder.write(r.toString("binary",l,u))}l=u;if(this._val===""&&this.fieldSizeLimit===0||(this._bytesVal=this._val.length)===this.fieldSizeLimit){this._checkingBytes=false;this._valTrunc=true}}else{if(l0){this.boy.emit("field",a(this._key,"binary",this.charset),"",this._keyTrunc,false)}else if(this._state==="val"){this.boy.emit("field",a(this._key,"binary",this.charset),a(this._val,"binary",this.charset),this._keyTrunc,this._valTrunc)}this.boy._done=true;this.boy.emit("finish")};r.exports=UrlEncoded},393:r=>{const A=/\+/g;const s=[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,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,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,1,1,1,1,1,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];function Decoder(){this.buffer=undefined}Decoder.prototype.write=function(r){r=r.replace(A," ");let n="";let a=0;let u=0;const l=r.length;for(;au){n+=r.substring(u,a);u=a}this.buffer="";++u}}if(u{r.exports=function basename(r){if(typeof r!=="string"){return""}for(var A=r.length-1;A>=0;--A){switch(r.charCodeAt(A)){case 47:case 92:r=r.slice(A+1);return r===".."||r==="."?"":r}}return r===".."||r==="."?"":r}},3772:function(r){const A=new TextDecoder("utf-8");const s=new Map([["utf-8",A],["utf8",A]]);function getDecoder(r){let A;while(true){switch(r){case"utf-8":case"utf8":return n.utf8;case"latin1":case"ascii":case"us-ascii":case"iso-8859-1":case"iso8859-1":case"iso88591":case"iso_8859-1":case"windows-1252":case"iso_8859-1:1987":case"cp1252":case"x-cp1252":return n.latin1;case"utf16le":case"utf-16le":case"ucs2":case"ucs-2":return n.utf16le;case"base64":return n.base64;default:if(A===undefined){A=true;r=r.toLowerCase();continue}return n.other.bind(r)}}}const n={utf8:(r,A)=>{if(r.length===0){return""}if(typeof r==="string"){r=Buffer.from(r,A)}return r.utf8Slice(0,r.length)},latin1:(r,A)=>{if(r.length===0){return""}if(typeof r==="string"){return r}return r.latin1Slice(0,r.length)},utf16le:(r,A)=>{if(r.length===0){return""}if(typeof r==="string"){r=Buffer.from(r,A)}return r.ucs2Slice(0,r.length)},base64:(r,A)=>{if(r.length===0){return""}if(typeof r==="string"){r=Buffer.from(r,A)}return r.base64Slice(0,r.length)},other:(r,A)=>{if(r.length===0){return""}if(typeof r==="string"){r=Buffer.from(r,A)}if(s.has(this.toString())){try{return s.get(this).decode(r)}catch{}}return typeof r==="string"?r:r.toString()}};function decodeText(r,A,s){if(r){return getDecoder(s)(r,A)}return r}r.exports=decodeText},1954:r=>{r.exports=function getLimit(r,A,s){if(!r||r[A]===undefined||r[A]===null){return s}if(typeof r[A]!=="number"||isNaN(r[A])){throw new TypeError("Limit "+A+" is not a valid number")}return r[A]}},6812:(r,A,s)=>{const n=s(3772);const a=/%[a-fA-F0-9][a-fA-F0-9]/g;const u={"%00":"\0","%01":"","%02":"","%03":"","%04":"","%05":"","%06":"","%07":"","%08":"\b","%09":"\t","%0a":"\n","%0A":"\n","%0b":"\v","%0B":"\v","%0c":"\f","%0C":"\f","%0d":"\r","%0D":"\r","%0e":"","%0E":"","%0f":"","%0F":"","%10":"","%11":"","%12":"","%13":"","%14":"","%15":"","%16":"","%17":"","%18":"","%19":"","%1a":"","%1A":"","%1b":"","%1B":"","%1c":"","%1C":"","%1d":"","%1D":"","%1e":"","%1E":"","%1f":"","%1F":"","%20":" ","%21":"!","%22":'"',"%23":"#","%24":"$","%25":"%","%26":"&","%27":"'","%28":"(","%29":")","%2a":"*","%2A":"*","%2b":"+","%2B":"+","%2c":",","%2C":",","%2d":"-","%2D":"-","%2e":".","%2E":".","%2f":"/","%2F":"/","%30":"0","%31":"1","%32":"2","%33":"3","%34":"4","%35":"5","%36":"6","%37":"7","%38":"8","%39":"9","%3a":":","%3A":":","%3b":";","%3B":";","%3c":"<","%3C":"<","%3d":"=","%3D":"=","%3e":">","%3E":">","%3f":"?","%3F":"?","%40":"@","%41":"A","%42":"B","%43":"C","%44":"D","%45":"E","%46":"F","%47":"G","%48":"H","%49":"I","%4a":"J","%4A":"J","%4b":"K","%4B":"K","%4c":"L","%4C":"L","%4d":"M","%4D":"M","%4e":"N","%4E":"N","%4f":"O","%4F":"O","%50":"P","%51":"Q","%52":"R","%53":"S","%54":"T","%55":"U","%56":"V","%57":"W","%58":"X","%59":"Y","%5a":"Z","%5A":"Z","%5b":"[","%5B":"[","%5c":"\\","%5C":"\\","%5d":"]","%5D":"]","%5e":"^","%5E":"^","%5f":"_","%5F":"_","%60":"`","%61":"a","%62":"b","%63":"c","%64":"d","%65":"e","%66":"f","%67":"g","%68":"h","%69":"i","%6a":"j","%6A":"j","%6b":"k","%6B":"k","%6c":"l","%6C":"l","%6d":"m","%6D":"m","%6e":"n","%6E":"n","%6f":"o","%6F":"o","%70":"p","%71":"q","%72":"r","%73":"s","%74":"t","%75":"u","%76":"v","%77":"w","%78":"x","%79":"y","%7a":"z","%7A":"z","%7b":"{","%7B":"{","%7c":"|","%7C":"|","%7d":"}","%7D":"}","%7e":"~","%7E":"~","%7f":"","%7F":"","%80":"€","%81":"","%82":"‚","%83":"ƒ","%84":"„","%85":"…","%86":"†","%87":"‡","%88":"ˆ","%89":"‰","%8a":"Š","%8A":"Š","%8b":"‹","%8B":"‹","%8c":"Œ","%8C":"Œ","%8d":"","%8D":"","%8e":"Ž","%8E":"Ž","%8f":"","%8F":"","%90":"","%91":"‘","%92":"’","%93":"“","%94":"”","%95":"•","%96":"–","%97":"—","%98":"˜","%99":"™","%9a":"š","%9A":"š","%9b":"›","%9B":"›","%9c":"œ","%9C":"œ","%9d":"","%9D":"","%9e":"ž","%9E":"ž","%9f":"Ÿ","%9F":"Ÿ","%a0":" ","%A0":" ","%a1":"¡","%A1":"¡","%a2":"¢","%A2":"¢","%a3":"£","%A3":"£","%a4":"¤","%A4":"¤","%a5":"¥","%A5":"¥","%a6":"¦","%A6":"¦","%a7":"§","%A7":"§","%a8":"¨","%A8":"¨","%a9":"©","%A9":"©","%aa":"ª","%Aa":"ª","%aA":"ª","%AA":"ª","%ab":"«","%Ab":"«","%aB":"«","%AB":"«","%ac":"¬","%Ac":"¬","%aC":"¬","%AC":"¬","%ad":"­","%Ad":"­","%aD":"­","%AD":"­","%ae":"®","%Ae":"®","%aE":"®","%AE":"®","%af":"¯","%Af":"¯","%aF":"¯","%AF":"¯","%b0":"°","%B0":"°","%b1":"±","%B1":"±","%b2":"²","%B2":"²","%b3":"³","%B3":"³","%b4":"´","%B4":"´","%b5":"µ","%B5":"µ","%b6":"¶","%B6":"¶","%b7":"·","%B7":"·","%b8":"¸","%B8":"¸","%b9":"¹","%B9":"¹","%ba":"º","%Ba":"º","%bA":"º","%BA":"º","%bb":"»","%Bb":"»","%bB":"»","%BB":"»","%bc":"¼","%Bc":"¼","%bC":"¼","%BC":"¼","%bd":"½","%Bd":"½","%bD":"½","%BD":"½","%be":"¾","%Be":"¾","%bE":"¾","%BE":"¾","%bf":"¿","%Bf":"¿","%bF":"¿","%BF":"¿","%c0":"À","%C0":"À","%c1":"Á","%C1":"Á","%c2":"Â","%C2":"Â","%c3":"Ã","%C3":"Ã","%c4":"Ä","%C4":"Ä","%c5":"Å","%C5":"Å","%c6":"Æ","%C6":"Æ","%c7":"Ç","%C7":"Ç","%c8":"È","%C8":"È","%c9":"É","%C9":"É","%ca":"Ê","%Ca":"Ê","%cA":"Ê","%CA":"Ê","%cb":"Ë","%Cb":"Ë","%cB":"Ë","%CB":"Ë","%cc":"Ì","%Cc":"Ì","%cC":"Ì","%CC":"Ì","%cd":"Í","%Cd":"Í","%cD":"Í","%CD":"Í","%ce":"Î","%Ce":"Î","%cE":"Î","%CE":"Î","%cf":"Ï","%Cf":"Ï","%cF":"Ï","%CF":"Ï","%d0":"Ð","%D0":"Ð","%d1":"Ñ","%D1":"Ñ","%d2":"Ò","%D2":"Ò","%d3":"Ó","%D3":"Ó","%d4":"Ô","%D4":"Ô","%d5":"Õ","%D5":"Õ","%d6":"Ö","%D6":"Ö","%d7":"×","%D7":"×","%d8":"Ø","%D8":"Ø","%d9":"Ù","%D9":"Ù","%da":"Ú","%Da":"Ú","%dA":"Ú","%DA":"Ú","%db":"Û","%Db":"Û","%dB":"Û","%DB":"Û","%dc":"Ü","%Dc":"Ü","%dC":"Ü","%DC":"Ü","%dd":"Ý","%Dd":"Ý","%dD":"Ý","%DD":"Ý","%de":"Þ","%De":"Þ","%dE":"Þ","%DE":"Þ","%df":"ß","%Df":"ß","%dF":"ß","%DF":"ß","%e0":"à","%E0":"à","%e1":"á","%E1":"á","%e2":"â","%E2":"â","%e3":"ã","%E3":"ã","%e4":"ä","%E4":"ä","%e5":"å","%E5":"å","%e6":"æ","%E6":"æ","%e7":"ç","%E7":"ç","%e8":"è","%E8":"è","%e9":"é","%E9":"é","%ea":"ê","%Ea":"ê","%eA":"ê","%EA":"ê","%eb":"ë","%Eb":"ë","%eB":"ë","%EB":"ë","%ec":"ì","%Ec":"ì","%eC":"ì","%EC":"ì","%ed":"í","%Ed":"í","%eD":"í","%ED":"í","%ee":"î","%Ee":"î","%eE":"î","%EE":"î","%ef":"ï","%Ef":"ï","%eF":"ï","%EF":"ï","%f0":"ð","%F0":"ð","%f1":"ñ","%F1":"ñ","%f2":"ò","%F2":"ò","%f3":"ó","%F3":"ó","%f4":"ô","%F4":"ô","%f5":"õ","%F5":"õ","%f6":"ö","%F6":"ö","%f7":"÷","%F7":"÷","%f8":"ø","%F8":"ø","%f9":"ù","%F9":"ù","%fa":"ú","%Fa":"ú","%fA":"ú","%FA":"ú","%fb":"û","%Fb":"û","%fB":"û","%FB":"û","%fc":"ü","%Fc":"ü","%fC":"ü","%FC":"ü","%fd":"ý","%Fd":"ý","%fD":"ý","%FD":"ý","%fe":"þ","%Fe":"þ","%fE":"þ","%FE":"þ","%ff":"ÿ","%Ff":"ÿ","%fF":"ÿ","%FF":"ÿ"};function encodedReplacer(r){return u[r]}const l=0;const g=1;const E=2;const d=3;function parseParams(r){const A=[];let s=l;let u="";let p=false;let C=false;let B=0;let Q="";const I=r.length;for(var m=0;m{s.d(A,{A:()=>parseArgsStringToArgv});function parseArgsStringToArgv(r,A,s){var n=/([^\s'"]([^\s'"]*(['"])([^\3]*?)\3)+[^\s'"]*)|[^\s'"]+|(['"])([^\5]*?)\5/gi;var a=r;var u=[];if(A){u.push(A)}if(s){u.push(s)}var l;do{l=n.exec(a);if(l!==null){u.push(firstString(l[1],l[6],l[0]))}}while(l!==null);return u}function firstString(){var r=[];for(var A=0;A{var r=typeof Symbol==="function"?Symbol("webpack queues"):"__webpack_queues__";var A=typeof Symbol==="function"?Symbol("webpack exports"):"__webpack_exports__";var s=typeof Symbol==="function"?Symbol("webpack error"):"__webpack_error__";var resolveQueue=r=>{if(r&&r.d<1){r.d=1;r.forEach((r=>r.r--));r.forEach((r=>r.r--?r.r++:r()))}};var wrapDeps=n=>n.map((n=>{if(n!==null&&typeof n==="object"){if(n[r])return n;if(n.then){var a=[];a.d=0;n.then((r=>{u[A]=r;resolveQueue(a)}),(r=>{u[s]=r;resolveQueue(a)}));var u={};u[r]=r=>r(a);return u}}var l={};l[r]=r=>{};l[A]=n;return l}));__nccwpck_require__.a=(n,a,u)=>{var l;u&&((l=[]).d=-1);var g=new Set;var E=n.exports;var d;var p;var C;var B=new Promise(((r,A)=>{C=A;p=r}));B[A]=E;B[r]=r=>(l&&r(l),g.forEach(r),B["catch"]((r=>{})));n.exports=B;a((n=>{d=wrapDeps(n);var a;var getResult=()=>d.map((r=>{if(r[s])throw r[s];return r[A]}));var u=new Promise((A=>{a=()=>A(getResult);a.r=0;var fnQueue=r=>r!==l&&!g.has(r)&&(g.add(r),r&&!r.d&&(a.r++,r.push(a)));d.map((A=>A[r](fnQueue)))}));return a.r?u:getResult()}),(r=>(r?C(B[s]=r):p(E),resolveQueue(l))));l&&l.d<0&&(l.d=0)}})();(()=>{__nccwpck_require__.n=r=>{var A=r&&r.__esModule?()=>r["default"]:()=>r;__nccwpck_require__.d(A,{a:A});return A}})();(()=>{__nccwpck_require__.d=(r,A)=>{for(var s in A){if(__nccwpck_require__.o(A,s)&&!__nccwpck_require__.o(r,s)){Object.defineProperty(r,s,{enumerable:true,get:A[s]})}}}})();(()=>{__nccwpck_require__.o=(r,A)=>Object.prototype.hasOwnProperty.call(r,A)})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=new URL(".",import.meta.url).pathname.slice(import.meta.url.match(/^file:\/\/\/\w:/)?1:0,-1)+"/";var __webpack_exports__=__nccwpck_require__(6677);__webpack_exports__=await __webpack_exports__; \ No newline at end of file diff --git a/package.json b/package.json index d372444715..fab12528b6 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@actions/core": "1.11.1", "@actions/github": "6.0.0", "@iarna/toml": "2.2.5", - "execa": "9.5.1", + "execa": "^9.5.2", "globby": "14.0.2", "json5": "2.2.3", "string-argv": "0.3.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1138ea4f58..2b6111c75c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18,8 +18,8 @@ importers: specifier: 2.2.5 version: 2.2.5 execa: - specifier: 9.5.1 - version: 9.5.1 + specifier: ^9.5.2 + version: 9.5.2 globby: specifier: 14.0.2 version: 14.0.2 @@ -590,8 +590,8 @@ packages: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} - execa@9.5.1: - resolution: {integrity: sha512-QY5PPtSonnGwhhHDNI7+3RvY285c7iuJFFB+lU+oEzMY/gEGJ808owqJsrr8Otd1E/x07po1LkUBmdAc5duPAg==} + execa@9.5.2: + resolution: {integrity: sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==} engines: {node: ^18.19.0 || >=20.5.0} extend@3.0.2: @@ -1324,9 +1324,9 @@ snapshots: - encoding - mocha - '@covector/assemble@0.12.0': + '@covector/assemble@0.12.0(mocha@10.4.0)': dependencies: - '@covector/command': 0.8.0 + '@covector/command': 0.8.0(mocha@10.4.0) '@covector/files': 0.8.0 effection: 2.0.8(mocha@10.4.0) js-yaml: 4.1.0 @@ -1337,9 +1337,10 @@ snapshots: unified: 9.2.2 transitivePeerDependencies: - encoding + - mocha - supports-color - '@covector/changelog@0.12.0': + '@covector/changelog@0.12.0(mocha@10.4.0)': dependencies: '@covector/files': 0.8.0 effection: 2.0.8(mocha@10.4.0) @@ -1349,14 +1350,16 @@ snapshots: unified: 9.2.2 transitivePeerDependencies: - encoding + - mocha - supports-color - '@covector/command@0.8.0': + '@covector/command@0.8.0(mocha@10.4.0)': dependencies: - '@effection/process': 2.1.4 + '@effection/process': 2.1.4(mocha@10.4.0) effection: 2.0.8(mocha@10.4.0) transitivePeerDependencies: - encoding + - mocha '@covector/files@0.8.0': dependencies: @@ -1403,10 +1406,8 @@ snapshots: dependencies: effection: 2.0.8(mocha@10.4.0) mocha: 10.4.0 - transitivePeerDependencies: - - encoding - '@effection/process@2.1.4': + '@effection/process@2.1.4(mocha@10.4.0)': dependencies: cross-spawn: 7.0.6 ctrlc-windows: 2.1.0 @@ -1414,6 +1415,7 @@ snapshots: shellwords: 0.1.1 transitivePeerDependencies: - encoding + - mocha '@effection/stream@2.0.6': dependencies: @@ -1771,9 +1773,9 @@ snapshots: dependencies: '@clack/prompts': 0.7.0 '@covector/apply': 0.10.0(mocha@10.4.0) - '@covector/assemble': 0.12.0 - '@covector/changelog': 0.12.0 - '@covector/command': 0.8.0 + '@covector/assemble': 0.12.0(mocha@10.4.0) + '@covector/changelog': 0.12.0(mocha@10.4.0) + '@covector/command': 0.8.0(mocha@10.4.0) '@covector/files': 0.8.0 effection: 2.0.8(mocha@10.4.0) globby: 11.1.0 @@ -1917,7 +1919,7 @@ snapshots: events@3.3.0: {} - execa@9.5.1: + execa@9.5.2: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.6 diff --git a/src/build.ts b/src/build.ts index 75f1dc43a1..ce9f2f7b16 100644 --- a/src/build.ts +++ b/src/build.ts @@ -18,6 +18,7 @@ export async function buildProject( debug: boolean, buildOpts: BuildOptions, initOpts: InitOptions, + retryAttempts: number, ): Promise { const runner = await getRunner(root, buildOpts.tauriScript); @@ -73,6 +74,7 @@ export async function buildProject( process.env.TAURI_BUNDLER_DMG_IGNORE_CI ?? 'true', } : undefined, + retryAttempts, ); // on Linux, the app product name is converted to kebab-case and `()[]{}` will be removed diff --git a/src/index.ts b/src/index.ts index 2a6c08bf97..c61d365b79 100644 --- a/src/index.ts +++ b/src/index.ts @@ -29,6 +29,7 @@ async function run(): Promise { const updaterJsonKeepUniversal = core.getBooleanInput( 'updaterJsonKeepUniversal', ); + const retryAttempts = parseInt(core.getInput('retryAttempts') || '0', 10); const tauriScript = core.getInput('tauriScript'); const args = stringArgv(core.getInput('args')); const bundleIdentifier = core.getInput('bundleIdentifier'); @@ -84,14 +85,27 @@ async function run(): Promise { const releaseArtifacts: Artifact[] = []; const debugArtifacts: Artifact[] = []; + if (includeRelease) { releaseArtifacts.push( - ...(await buildProject(projectPath, false, buildOptions, initOptions)), + ...(await buildProject( + projectPath, + false, + buildOptions, + initOptions, + retryAttempts, + )), ); } if (includeDebug) { debugArtifacts.push( - ...(await buildProject(projectPath, true, buildOptions, initOptions)), + ...(await buildProject( + projectPath, + true, + buildOptions, + initOptions, + retryAttempts, + )), ); } const artifacts = releaseArtifacts.concat(debugArtifacts); @@ -117,7 +131,7 @@ async function run(): Promise { const info = getInfo(projectPath, targetInfo, configArg); core.setOutput('appVersion', info.version); - // Other steps may benfit from this so we do this whether or not we want to upload it. + // Other steps may benefit from this so we do this whether or not we want to upload it. if (targetInfo.platform === 'macos') { let i = 0; for (const artifact of artifacts) { diff --git a/src/runner.ts b/src/runner.ts index 4a70ffeaac..3160cc2e8e 100644 --- a/src/runner.ts +++ b/src/runner.ts @@ -3,6 +3,7 @@ import { execCommand, getTauriDir, hasDependency, + retry, usesBun, usesPnpm, usesYarn, @@ -24,6 +25,7 @@ class Runner { commandOptions: string[], cwd?: string, env?: Record, + retryAttempts: number = 0, ): Promise { const args: string[] = []; @@ -41,7 +43,10 @@ class Runner { args.push(...commandOptions); - return execCommand(this.bin, args, { cwd }, env); + return retry( + () => execCommand(this.bin, args, { cwd }, env), + retryAttempts + 1, + ) as Promise; } } diff --git a/src/utils.ts b/src/utils.ts index 5af335a293..585ac5abef 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -1,8 +1,8 @@ import { existsSync, readFileSync } from 'node:fs'; import path, { join, normalize, resolve, sep } from 'node:path'; -import { execa } from 'execa'; import { parse as parseToml } from '@iarna/toml'; +import { execa } from 'execa'; import { globbySync } from 'globby'; import { TauriConfig } from './config'; @@ -265,7 +265,7 @@ export function usesBun(root: string): boolean { return existsSync(join(root, 'bun.lockb')); } -export function execCommand( +export async function execCommand( command: string, args: string[], { cwd }: { cwd?: string } = {}, @@ -273,11 +273,37 @@ export function execCommand( ): Promise { console.log(`running ${command}`, args); - return execa(command, args, { + const child = execa(command, args, { cwd, - stdio: 'inherit', env: { FORCE_COLOR: '0', ...env }, - }).then(); + lines: true, + stdio: 'pipe', + reject: false, + }); + + child.stdout?.on('data', (data) => { + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + process.stdout.write(data); + }); + + child.stderr?.on('data', (data) => { + // eslint-disable-next-line @typescript-eslint/no-unsafe-argument + process.stderr.write(data); + }); + + return new Promise((resolve, reject) => { + child.on('exit', (code) => { + if (code && code > 0) { + reject( + new Error( + `Command "${command} ${JSON.stringify(args)}" failed with exit code ${code}`, + ), + ); + } else { + resolve(); + } + }); + }); } export function getInfo( @@ -379,4 +405,18 @@ export function getTargetInfo(targetPath?: string): TargetInfo { return { arch, platform }; } +export async function retry( + fn: () => Promise, + attempts: number, +): Promise { + for (let attempt = 1; attempt <= attempts; attempt++) { + try { + return await fn(); + } catch (error) { + if (attempt === attempts) throw error; + console.log(`Attempt ${attempt} failed, retrying...`); + } + } +} + // TODO: Properly resolve the eslint issues in this file.