From 10eca12d4b7138e3c7dca7bccaa170a8784ea3f5 Mon Sep 17 00:00:00 2001 From: Fabian-Lars Date: Mon, 3 Jun 2024 15:18:54 +0200 Subject: [PATCH] fix: Add support for new linux bundle naming scheme in cli@v2-beta.19 (#810) * fix: Add support for new linux bundle format added in cli@v2-beta.19 * typo * fix -> patch * don't search for same artifacts twice if productName is not set --- .changes/v2-bundle-compat.md | 5 ++ dist/index.js | 2 +- src/build.ts | 88 +++++++++++++++++++++++++----------- 3 files changed, 68 insertions(+), 27 deletions(-) create mode 100644 .changes/v2-bundle-compat.md diff --git a/.changes/v2-bundle-compat.md b/.changes/v2-bundle-compat.md new file mode 100644 index 000000000..b6bbc64ec --- /dev/null +++ b/.changes/v2-bundle-compat.md @@ -0,0 +1,5 @@ +--- +action: patch +--- + +The action can now detects Linux bundles with the new naming convention added in tauri cli 2.0.0-beta.19 diff --git a/dist/index.js b/dist/index.js index 2919339b6..a3aaaea04 100644 --- a/dist/index.js +++ b/dist/index.js @@ -39,4 +39,4 @@ r.exports=runParallel;const n=s(1504);function runParallel(r,A){let s,a,u;let l= */ const n=s(7378);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},4225:(r,A,s)=>{r.exports=s(4030)},4030:(r,A,s)=>{var n=s(1808);var a=s(4404);var u=s(3685);var l=s(5687);var g=s(2361);var E=s(9491);var d=s(3837);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(8352);const a=s(3954);const u=s(3501);const l=s(9859);const g=s(1579);const E=s(8551);const d=s(9647);const{InvalidArgumentError:p}=u;const C=s(7750);const B=s(6840);const Q=s(9103);const I=s(1045);const m=s(1153);const y=s(5458);const D=s(7929);const w=s(6734);const{getGlobalDispatcher:b,setGlobalDispatcher:R}=s(5683);const S=s(3563);const k=s(6086);const F=s(3163);let T;try{s(6113);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=D;r.exports.RetryHandler=w;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(3254).fetch}try{return await A(...arguments)}catch(r){if(typeof r==="object"){Error.captureStackTrace(r,this)}throw r}};r.exports.Headers=s(6909).Headers;r.exports.Response=s(6913).Response;r.exports.Request=s(9787).Request;r.exports.FormData=s(8076).FormData;r.exports.File=s(1575).File;r.exports.FileReader=s(6528).FileReader;const{setGlobalOrigin:n,getGlobalOrigin:a}=s(128);r.exports.setGlobalOrigin=n;r.exports.getGlobalOrigin=a;const{CacheStorage:u}=s(3187);const{kConstruct:l}=s(2994);r.exports.caches=new u(l)}if(d.nodeMajor>=16){const{deleteCookie:A,getCookies:n,getSetCookies:a,setCookie:u}=s(9351);r.exports.deleteCookie=A;r.exports.getCookies=n;r.exports.getSetCookies=a;r.exports.setCookie=u;const{parseMIMEType:l,serializeAMimeType:g}=s(6932);r.exports.parseMIMEType=l;r.exports.serializeAMimeType=g}if(d.nodeMajor>=18&&T){const{WebSocket:A}=s(553);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},8551:(r,A,s)=>{const{InvalidArgumentError:n}=s(3501);const{kClients:a,kRunning:u,kClose:l,kDestroy:g,kDispatch:E,kInterceptors:d}=s(7621);const p=s(6775);const C=s(9859);const B=s(8352);const Q=s(9647);const I=s(3163);const{WeakRef:m,FinalizationRegistry:y}=s(9374)();const D=Symbol("onConnect");const w=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[D]=(r,A)=>{l.emit("connect",r,[l,...A])};this[w]=(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[D]).on("disconnect",this[w]).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},4125:(r,A,s)=>{const{addAbortListener:n}=s(9647);const{RequestAbortedError:a}=s(3501);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}},2745:(r,A,s)=>{const{AsyncResource:n}=s(852);const{InvalidArgumentError:a,RequestAbortedError:u,SocketError:l}=s(3501);const g=s(9647);const{addSignal:E,removeSignal:d}=s(4125);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},1747:(r,A,s)=>{const{Readable:n,Duplex:a,PassThrough:u}=s(2781);const{InvalidArgumentError:l,InvalidReturnValueError:g,RequestAbortedError:E}=s(3501);const d=s(9647);const{AsyncResource:p}=s(852);const{addSignal:C,removeSignal:B}=s(4125);const Q=s(9491);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},414:(r,A,s)=>{const n=s(7040);const{InvalidArgumentError:a,RequestAbortedError:u}=s(3501);const l=s(9647);const{getResolveErrorBodyCallback:g}=s(7323);const{AsyncResource:E}=s(852);const{addSignal:d,removeSignal:p}=s(4125);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},7835:(r,A,s)=>{const{finished:n,PassThrough:a}=s(2781);const{InvalidArgumentError:u,InvalidReturnValueError:l,RequestAbortedError:g}=s(3501);const E=s(9647);const{getResolveErrorBodyCallback:d}=s(7323);const{AsyncResource:p}=s(852);const{addSignal:C,removeSignal:B}=s(4125);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},9706:(r,A,s)=>{const{InvalidArgumentError:n,RequestAbortedError:a,SocketError:u}=s(3501);const{AsyncResource:l}=s(852);const g=s(9647);const{addSignal:E,removeSignal:d}=s(4125);const p=s(9491);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},7750:(r,A,s)=>{r.exports.request=s(414);r.exports.stream=s(7835);r.exports.pipeline=s(1747);r.exports.upgrade=s(9706);r.exports.connect=s(2745)},7040:(r,A,s)=>{const n=s(9491);const{Readable:a}=s(2781);const{RequestAbortedError:u,NotSupportedError:l,InvalidArgumentError:g}=s(3501);const E=s(9647);const{ReadableStreamFrom:d,toUSVString:p}=s(9647);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(4300).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}},7323:(r,A,s)=>{const n=s(9491);const{ResponseStatusCodeError:a}=s(3501);const{toUSVString:u}=s(9647);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}},1579:(r,A,s)=>{const{BalancedPoolMissingUpstreamError:n,InvalidArgumentError:a}=s(3501);const{PoolBase:u,kClients:l,kNeedDrain:g,kAddClient:E,kRemoveClient:d,kGetDispatcher:p}=s(5411);const C=s(9859);const{kUrl:B,kInterceptors:Q}=s(7621);const{parseOrigin:I}=s(9647);const m=Symbol("factory");const y=Symbol("options");const D=Symbol("kGreatestCommonDivisor");const w=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[w]=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[D]=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[w]=this[w]-this[D];if(this[w]<=0){this[w]=this[S]}}if(r[R]>=this[w]&&!r[g]){return r}}this[w]=this[l][a][R];this[b]=a;return this[l][a]}}r.exports=BalancedPool},5075:(r,A,s)=>{const{kConstruct:n}=s(2994);const{urlEquals:a,fieldValues:u}=s(8826);const{kEnumerableProperty:l,isDisturbed:g}=s(9647);const{kHeadersList:E}=s(7621);const{webidl:d}=s(3721);const{Response:p,cloneResponse:C}=s(6913);const{Request:B}=s(9787);const{kState:Q,kHeaders:I,kGuard:m,kRealm:y}=s(3386);const{fetching:D}=s(3254);const{urlIsHttpHttpsScheme:w,createDeferredPromise:b,readAllBytes:R}=s(6860);const S=s(9491);const{getGlobalDispatcher:k}=s(5683);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(!w(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(!w(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(D({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(!w(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(!w(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}},3187:(r,A,s)=>{const{kConstruct:n}=s(2994);const{Cache:a}=s(5075);const{webidl:u}=s(3721);const{kEnumerableProperty:l}=s(9647);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}},2994:(r,A,s)=>{r.exports={kConstruct:s(7621).kConstruct}},8826:(r,A,s)=>{const n=s(9491);const{URLSerializer:a}=s(6932);const{isValidHeaderName:u}=s(6860);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}},8352:(r,A,s)=>{const n=s(9491);const a=s(1808);const u=s(3685);const{pipeline:l}=s(2781);const g=s(9647);const E=s(8748);const d=s(2619);const p=s(6775);const{RequestContentLengthMismatchError:C,ResponseContentLengthMismatchError:B,InvalidArgumentError:Q,RequestAbortedError:I,HeadersTimeoutError:m,HeadersOverflowError:y,SocketError:D,InformationalError:w,BodyTimeoutError:b,HTTPParserError:R,ResponseExceededMaxSizeError:S,ClientDestroyedError:k}=s(3501);const F=s(6840);const{kUrl:T,kReset:N,kServerName:v,kClient:_,kBusy:U,kParser:L,kConnect:M,kBlocking:G,kResuming:P,kRunning:O,kPending:x,kSize:H,kWriting:Y,kQueue:J,kConnected:V,kConnecting:W,kNeedDrain:q,kNoRef:j,kKeepAliveDefaultTimeout:K,kHostHeader:z,kPendingIdx:Z,kRunningIdx:X,kError:$,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:Ee,kDestroy:he,kDispatch:de,kInterceptors:pe,kLocalAddress:Ce,kMaxResponseSize:fe,kHTTPConnVersion:Be,kHost:Qe,kHTTP2Session:Ie,kHTTP2SessionState:me,kHTTP2BuildRequest:ye,kHTTP2CopyHeaders:De,kHTTP1BuildRequest:we}=s(7621);let be;try{be=s(5158)}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(7643);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:D,socketPath:w,pipelining:b,tls:R,strictContentLength:S,maxCachedSessions:k,maxRedirections:N,connect:_,maxRequestsPerClient:U,localAddress:L,maxResponseSize:M,autoSelectFamily:G,autoSelectFamilyAttemptTimeout:O,allowH2:x,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(w!=null&&typeof w!=="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(D!=null&&!Number.isFinite(D)){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(O!=null&&(!Number.isInteger(O)||O<-1)){throw new Q("autoSelectFamilyAttemptTimeout must be a positive number")}if(x!=null&&typeof x!=="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:x,socketPath:w,timeout:d,...g.nodeHasAutoSelectFamily&&G?{autoSelectFamily:G,autoSelectFamilyAttemptTimeout:O}:undefined,..._})}this[pe]=A&&A.Client&&Array.isArray(A.Client)?A.Client:[Pe({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]=D==null?1e3:D;this[re]=this[K];this[v]=null;this[Ce]=L!=null?L:null;this[P]=0;this[q]=0;this[z]=`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[fe]=M>-1?M:-1;this[Be]="h1";this[Ie]=null;this[me]=!x?null:{openStreams:0,maxConcurrentStreams:H!=null?H:100};this[Qe]=`${this[T].hostname}${this[T].port?`:${this[T].port}`:""}`;this[J]=[];this[X]=0;this[Z]=0}get pipelining(){return this[ee]}set pipelining(r){this[ee]=r;resume(this,true)}get[x](){return this[J].length-this[Z]}get[O](){return this[Z]-this[X]}get[H](){return this[J].length-this[X]}get[V](){return!!this[te]&&!this[W]&&!this[te].destroyed}get[U](){const r=this[te];return r&&(r[N]||r[Y]||r[G])||this[H]>=(this[ee]||1)||this[x]>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[we](s,r,A);this[J].push(n);if(this[P]){}else if(g.bodyLength(n.body)==null&&g.isIterable(n.body)){this[P]=1;process.nextTick(resume,this)}else{resume(this,true)}if(this[P]&&this[q]!==2&&this[U]){this[q]=2}return this[q]<2}async[Ee](){return new Promise((r=>{if(!this[H]){r(null)}else{this[Le]=r}}))}async[he](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][$]=r;onError(this[_],r)}function onHttp2FrameError(r,A,s){const n=new w(`HTTP/2: "frameError" received - type ${r}, code ${A}`);if(s===0){this[te][$]=n;onError(this[_],n)}}function onHttp2SessionEnd(){g.destroy(this,new D("other side closed"));g.destroy(this[te],new D("other side closed"))}function onHTTP2GoAway(r){const A=this[_];const s=new w(`HTTP/2: "GOAWAY" frame received with code ${r}`);A[te]=null;A[Ie]=null;if(A.destroyed){n(this[x]===0);const r=A[J].splice(A[X]);for(let A=0;A0){const r=A[J][A[X]];A[J][A[X]++]=null;errorRequest(A,r,s)}A[Z]=A[X];n(A[O]===0);A.emit("disconnect",A[T],[A],s);resume(A)}const Ge=s(446);const Pe=s(3163);const Oe=Buffer.alloc(0);async function lazyllhttp(){const r=process.env.JEST_WORKER_ID?s(2959):undefined;let A;try{A=await WebAssembly.compile(Buffer.from(s(5674),"base64"))}catch(n){A=await WebAssembly.compile(Buffer.from(r||s(2959),"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 xe=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(Ge.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[fe]}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()||Oe);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===Ge.ERROR.PAUSED_UPGRADE){this.onUpgrade(r.slice(a))}else if(n===Ge.ERROR.PAUSED){this.paused=true;A.unshift(r.slice(a))}else if(n!==Ge.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,Ge.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[X]];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[X]];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[$]=null;a.removeListener("error",onSocketError).removeListener("readable",onSocketReadable).removeListener("end",onSocketEnd).removeListener("close",onSocketClose);s[te]=null;s[J][s[X]++]=null;s.emit("disconnect",s[T],[s],new w("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[X]];if(!d){return-1}n(!this.upgrade);n(this.statusCode<200);if(r===100){g.destroy(u,new D("bad response",g.getSocketInfo(u)));return-1}if(A&&!d.upgrade){g.destroy(u,new D("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[O]===1);this.upgrade=true;return 2}if(A){n(a[O]===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[G]){u[G]=false;resume(a)}return p?Ge.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[X]];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 Ge.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[X]];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[X]++]=null;if(A[Y]){n.strictEqual(r[O],0);g.destroy(A,new w("reset"));return Ge.ERROR.PAUSED}else if(!d){g.destroy(A,new w("reset"));return Ge.ERROR.PAUSED}else if(A[N]&&r[O]===0){g.destroy(A,new w("reset"));return Ge.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[O]>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[O]===0&&a[re]);g.destroy(A,new w("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[$]=r;onError(this[_],r)}function onError(r,A){if(r[O]===0&&A.code!=="UND_ERR_INFO"&&A.code!=="UND_ERR_SOCKET"){n(r[Z]===r[X]);const s=r[J].splice(r[X]);for(let n=0;n0&&s.code!=="UND_ERR_INFO"){const A=r[J][r[X]];r[J][r[X]++]=null;errorRequest(r,A,s)}r[Z]=r[X];n(r[O]===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[Ce]},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[Ce]},((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(!xe){xe=await He;He=null}a[j]=false;a[Y]=false;a[N]=false;a[G]=false;a[L]=new Parser(r,a,xe)}a[ge]=0;a[le]=r[le];a[_]=r;a[$]=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[Ce]},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[Ce]},connector:r[ce],error:a})}if(a.code==="ERR_TLS_CERT_ALTNAME_INVALID"){n(r[O]===0);while(r[x]>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[P]===2){return}r[P]=2;_resume(r,A);r[P]=0;if(r[X]>256){r[J].splice(0,r[X]);r[Z]-=r[X];r[X]=0}}function _resume(r,A){while(true){if(r.destroyed){n(r[x]===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[O]>0&&s[L].statusCode<200){if(s[L].timeoutType!==qe){const A=r[J][r[X]];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[x]===0){return}if(r[O]>=(r[ee]||1)){return}const a=r[J][r[Z]];if(r[T].protocol==="https:"&&r[v]!==a.servername){if(r[O]>0){return}r[v]=a.servername;if(s&&s.servername!==a.servername){g.destroy(s,new w("servername changed"));return}}if(r[W]){return}if(!s&&!r[Ie]){connect(r);return}if(s.destroyed||s[Y]||s[N]||s[G]){return}if(r[O]>0&&!a.idempotent){return}if(r[O]>0&&(a.upgrade||a.method==="CONNECT")){return}if(r[O]>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 D=r[te];try{A.onConnect((s=>{if(A.aborted||A.completed){return}errorRequest(r,A,s||new I);g.destroy(D,new w("aborted"))}))}catch(s){errorRequest(r,A,s)}if(A.aborted){return false}if(a==="HEAD"){D[N]=true}if(E||a==="CONNECT"){D[N]=true}if(B!=null){D[N]=B}if(r[le]&&D[ge]++>=r[le]){D[N]=true}if(p){D[G]=true}let b=`${a} ${u} HTTP/1.1\r\n`;if(typeof l==="string"){b+=`host: ${l}\r\n`}else{b+=r[z]}if(E){b+=`connection: upgrade\r\nupgrade: ${E}\r\n`}else if(r[ee]&&!D[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:D})}if(!s||m===0){if(y===0){D.write(`${b}content-length: 0\r\n\r\n`,"latin1")}else{n(y===null,"no body must not have content length");D.write(`${b}\r\n`,"latin1")}A.onRequestSent()}else if(g.isBuffer(s)){n(y===s.byteLength,"buffer body must have content length");D.cork();D.write(`${b}content-length: ${y}\r\n\r\n`,"latin1");D.write(s);D.uncork();A.onBodySent(s);A.onRequestSent();if(!Q){D[N]=true}}else if(g.isBlobLike(s)){if(typeof s.stream==="function"){writeIterable({body:s.stream(),client:r,request:A,socket:D,contentLength:y,header:b,expectsPayload:Q})}else{writeBlob({body:s,client:r,request:A,socket:D,contentLength:y,header:b,expectsPayload:Q})}}else if(g.isStream(s)){writeStream({body:s,client:r,request:A,socket:D,contentLength:y,header:b,expectsPayload:Q})}else if(g.isIterable(s)){writeIterable({body:s,client:r,request:A,socket:D,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[De](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 D;const b=r[me];y[Re]=E||r[Qe];y[Se]=u;if(u==="CONNECT"){A.ref();D=A.request(y,{endStream:false,signal:Q});if(D.id&&!D.pending){s.onUpgrade(null,null,D);++b.openStreams}else{D.once("ready",(()=>{s.onUpgrade(null,null,D);++b.openStreams}))}D.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";D=A.request(y,{endStream:k,signal:Q});D.once("continue",writeBodyH2)}else{D=A.request(y,{endStream:k,signal:Q});writeBodyH2()}++b.openStreams;D.once("response",(r=>{const{[ve]:A,...n}=r;if(s.onHeaders(Number(A),n,D.resume.bind(D),"")===false){D.pause()}}));D.once("end",(()=>{s.onComplete([])}));D.on("data",(r=>{if(s.onData(r)===false){D.pause()}}));D.once("close",(()=>{b.openStreams-=1;if(b.openStreams===0){A.unref()}}));D.once("error",(function(A){if(r[Ie]&&!r[Ie].destroyed&&!this.closed&&!this.destroyed){b.streams-=1;g.destroy(D,A)}}));D.once("frameError",((A,n)=>{const a=new w(`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(D,a)}}));return true;function writeBodyH2(){if(!a){s.onRequestSent()}else if(g.isBuffer(a)){n(S===a.byteLength,"buffer body must have content length");D.cork();D.write(a);D.uncork();D.end();s.onBodySent(a);s.onRequestSent()}else if(g.isBlobLike(a)){if(typeof a.stream==="function"){writeIterable({client:r,request:s,contentLength:S,h2stream:D,expectsPayload:R,body:a.stream(),socket:r[te],header:""})}else{writeBlob({body:a,client:r,request:s,contentLength:S,expectsPayload:R,h2stream:D,header:"",socket:r[te]})}}else if(g.isStream(a)){writeStream({body:a,client:r,request:s,contentLength:S,expectsPayload:R,socket:r[te],h2stream:D,header:""})}else if(g.isIterable(a)){writeIterable({body:a,client:r,request:s,contentLength:S,expectsPayload:R,header:"",h2stream:D,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[O]===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[O]<=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[O]===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[$]){A(u[$])}else{d=r}}));if(s[Be]==="h2"){r.on("close",onDrain).on("drain",onDrain);try{for await(const s of A){if(u[$]){throw u[$]}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[$]){throw u[$]}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[$]){throw A[$]}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[$]){throw r[$]}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[O]<=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},9374:(r,A,s)=>{const{kConnected:n,kSize:a}=s(7621);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}}},4791:r=>{const A=1024;const s=4096;r.exports={maxAttributeValueSize:A,maxNameValuePairSize:s}},9351:(r,A,s)=>{const{parseSetCookie:n}=s(2805);const{stringify:a,getHeadersList:u}=s(3319);const{webidl:l}=s(3721);const{Headers:g}=s(6909);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}},2805:(r,A,s)=>{const{maxNameValuePairSize:n,maxAttributeValueSize:a}=s(4791);const{isCTLExcludingHtab:u}=s(3319);const{collectASequenceOfCodePointsFast:l}=s(6932);const g=s(9491);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}},3319:(r,A,s)=>{const n=s(9491);const{kHeadersList:a}=s(7621);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}},6840:(r,A,s)=>{const n=s(1808);const a=s(9491);const u=s(9647);const{InvalidArgumentError:l,ConnectTimeoutError:g}=s(3501);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 D;if(g==="https:"){if(!E){E=s(4404)}C=C||B.servername||u.getServerName(l)||null;const n=C||A;const g=Q.get(n)||null;a(n);D=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});D.on("session",(function(r){Q.set(n,r)}))}else{a(!m,"httpSocket can only be sent on TLS update");D=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;D.setKeepAlive(true,r)}const w=setupTimeout((()=>onConnectTimeout(D)),p);D.setNoDelay(true).once(g==="https:"?"secureConnect":"connect",(function(){w();if(y){const r=y;y=null;r(null,this)}})).on("error",(function(r){w();if(y){const A=y;y=null;A(r)}}));return D}}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},2306: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}},2619:(r,A,s)=>{const{InvalidArgumentError:n,NotSupportedError:a}=s(3501);const u=s(9491);const{kHTTP2BuildRequest:l,kHTTP2CopyHeaders:g,kHTTP1BuildRequest:E}=s(7621);const d=s(9647);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(7643);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:D,bodyTimeout:w,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(D!=null&&(!Number.isFinite(D)||D<0)){throw new n("invalid headersTimeout")}if(w!=null&&(!Number.isFinite(w)||w<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=D;this.bodyTimeout=w;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")}},9647:(r,A,s)=>{const n=s(9491);const{kDestroyed:a,kBodyUsed:u}=s(7621);const{IncomingMessage:l}=s(3685);const g=s(2781);const E=s(1808);const{InvalidArgumentError:d}=s(3501);const{Blob:p}=s(4300);const C=s(3837);const{stringify:B}=s(3477);const{headerNameLowerCasedRecord:Q}=s(2306);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 w=!!String.prototype.toWellFormed;function toUSVString(r){if(w){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"]}},6775:(r,A,s)=>{const n=s(3954);const{ClientDestroyedError:a,ClientClosedError:u,InvalidArgumentError:l}=s(3501);const{kDestroy:g,kClose:E,kDispatch:d,kInterceptors:p}=s(7621);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},3954:(r,A,s)=>{const n=s(2361);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},6477:(r,A,s)=>{const n=s(6954);const a=s(9647);const{ReadableStreamFrom:u,isBlobLike:l,isReadableStreamLike:g,readableStreamClose:E,createDeferredPromise:d,fullyReadBody:p}=s(6860);const{FormData:C}=s(8076);const{kState:B}=s(3386);const{webidl:Q}=s(3721);const{DOMException:I,structuredClone:m}=s(756);const{Blob:y,File:D}=s(4300);const{kBodyUsed:w}=s(7621);const b=s(9491);const{isErrored:R}=s(9647);const{isUint8Array:S,isArrayBuffer:k}=s(9830);const{File:F}=s(1575);const{parseMIMEType:T,serializeAMimeType:N}=s(6932);let v=globalThis.ReadableStream;const _=D??F;const U=new TextEncoder;const L=new TextDecoder;function extractBody(r,A=false){if(!v){v=s(5356).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(5356).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[w]=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}},756:(r,A,s)=>{const{MessageChannel:n,receiveMessageOnPort:a}=s(1267);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 D=["navigate","same-origin","no-cors","cors"];const w=["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:D,requestCredentials:w,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}},6932:(r,A,s)=>{const n=s(9491);const{atob:a}=s(4300);const{isomorphicDecode:u}=s(6860);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}},1575:(r,A,s)=>{const{Blob:n,File:a}=s(4300);const{types:u}=s(3837);const{kState:l}=s(3386);const{isBlobLike:g}=s(6860);const{webidl:E}=s(3721);const{parseMIMEType:d,serializeAMimeType:p}=s(6932);const{kEnumerableProperty:C}=s(9647);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}},8076:(r,A,s)=>{const{isBlobLike:n,toUSVString:a,makeIterator:u}=s(6860);const{kState:l}=s(3386);const{File:g,FileLike:E,isFileLike:d}=s(1575);const{webidl:p}=s(3721);const{Blob:C,File:B}=s(4300);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}},128: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}},6909:(r,A,s)=>{const{kHeadersList:n,kConstruct:a}=s(7621);const{kGuard:u}=s(3386);const{kEnumerableProperty:l}=s(9647);const{makeIterator:g,isValidHeaderName:E,isValidHeaderValue:d}=s(6860);const{webidl:p}=s(3721);const C=s(9491);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}},3254:(r,A,s)=>{const{Response:n,makeNetworkError:a,makeAppropriateNetworkError:u,filterResponse:l,makeResponse:g}=s(6913);const{Headers:E}=s(6909);const{Request:d,makeRequest:p}=s(9787);const C=s(9796);const{bytesMatch:B,makePolicyContainer:Q,clonePolicyContainer:I,requestBadPort:m,TAOCheck:y,appendRequestOriginHeader:D,responseLocationURL:w,requestCurrentURL:b,setRequestReferrerPolicyOnRedirect:R,tryUpgradeRequestToAPotentiallyTrustworthyURL:S,createOpaqueTimingInfo:k,appendFetchMetadata:F,corsCheck:T,crossOriginResourcePolicyCheck:N,determineRequestsReferrer:v,coarsenedSharedCurrentTime:_,createDeferredPromise:U,isBlobLike:L,sameOrigin:M,isCancelled:G,isAborted:P,isErrorLike:O,fullyReadBody:x,readableStreamClose:H,isomorphicEncode:Y,urlIsLocal:J,urlIsHttpHttpsScheme:V,urlHasHttpsScheme:W}=s(6860);const{kState:q,kHeaders:j,kGuard:K,kRealm:z}=s(3386);const Z=s(9491);const{safelyExtractBody:X}=s(6477);const{redirectStatusSet:$,nullBodyStatus:ee,safeMethodsSet:te,requestBodyHeader:re,subresourceSet:Ae,DOMException:se}=s(756);const{kHeadersList:ne}=s(7621);const oe=s(2361);const{Readable:ie,pipeline:ae}=s(2781);const{addAbortListener:ce,isErrored:ue,isReadable:le,nodeMajor:ge,nodeMinor:Ee}=s(9647);const{dataURLProcessor:he,serializeAMimeType:de}=s(6932);const{TransformStream:pe}=s(5356);const{getGlobalDispatcher:Ce}=s(5683);const{webidl:fe}=s(3721);const{STATUS_CODES:Be}=s(3685);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={}){fe.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[z]=E;g[j][ne]=r.headersList;g[j][K]="immutable";g[j][z]=E;s.resolve(g)};C=fetching({request:u,processResponseEndOfBody:handleFetchDone,processResponse:processResponse,dispatcher:A.dispatcher??Ce()});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&&Ee>=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=X(A)[0];fetchFinale(r,n)};await x(n.body,processBody,processBodyError)}else{fetchFinale(r,n)}}function schemeFetch(r){if(G(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(4300).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=X(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=he(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:X(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 x(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($.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=w(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=X(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))}D(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(G(r)){return u(r)}return a("proxy authentication required")}if(E.status===421&&!s&&(n.body==null||n.body.source!=null)){if(G(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(G(r)){return}yield A;r.processRequestBodyChunkLength?.(A.byteLength)};const processEndOfBody=()=>{if(G(r)){return}if(r.processRequestEndOfBody){r.processRequestEndOfBody()}};const processBodyError=A=>{if(G(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(5356).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(P(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(P(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:O(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&&$.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(6477);const{Headers:l,fill:g,HeadersList:E}=s(6909);const{FinalizationRegistry:d}=s(9374)();const p=s(9647);const{isValidHTTPToken:C,sameOrigin:B,normalizeMethod:Q,makePolicyContainer:I,normalizeMethodRecord:m}=s(6860);const{forbiddenMethodsSet:y,corsSafeListedMethodsSet:D,referrerPolicy:w,requestRedirect:b,requestMode:R,requestCredentials:S,requestCache:k,requestDuplex:F}=s(756);const{kEnumerableProperty:T}=p;const{kHeaders:N,kSignal:v,kState:_,kGuard:U,kRealm:L}=s(3386);const{webidl:M}=s(3721);const{getGlobalOrigin:G}=s(128);const{URLSerializer:P}=s(6932);const{kHeadersList:O,kConstruct:x}=s(7621);const H=s(9491);const{getMaxListeners:Y,setMaxListeners:J,getEventListeners:V,defaultMaxListeners:W}=s(2361);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===x){return}M.argumentLengthCheck(arguments,1,{header:"Request constructor"});r=M.converters.RequestInfo(r);A=M.converters.RequestInit(A);this[L]={settingsObject:{baseUrl:G(),get origin(){return this.baseUrl?.origin},policyContainer:I()}};let a=null;let u=null;const d=this[L].settingsObject.baseUrl;let w=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[_];w=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){w=A.signal}this[_]=a;const F=new AbortController;this[v]=F.signal;this[v][L]=this[L];if(w!=null){if(!w||typeof w.aborted!=="boolean"||typeof w.addEventListener!=="function"){throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.")}if(w.aborted){F.abort(w.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(w)===W){J(100,w)}else if(V(w,"abort").length>=W){J(100,w)}}catch{}p.addAbortListener(w,abort);K.register(F,{signal:w,abort:abort})}}this[N]=new l(x);this[N][O]=a.headersList;this[N][U]="request";this[N][L]=this[L];if(k==="no-cors"){if(!D.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][O];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 P=null;if(A.body!=null){const[r,s]=n(A.body,a.keepalive);P=r;if(s&&!this[N][O].contains("content-type")){this[N].append("content-type",s)}}const z=P??T;if(z!=null&&z.source==null){if(P!=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=z;if(P==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(5356).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 P(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(x);A[_]=r;A[L]=this[L];A[N]=new l(x);A[N][O]=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:w},{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}},6913:(r,A,s)=>{const{Headers:n,HeadersList:a,fill:u}=s(6909);const{extractBody:l,cloneBody:g,mixinBody:E}=s(6477);const d=s(9647);const{kEnumerableProperty:p}=d;const{isValidReasonPhrase:C,isCancelled:B,isAborted:Q,isBlobLike:I,serializeJavascriptValueToJSONString:m,isErrorLike:y,isomorphicEncode:D}=s(6860);const{redirectStatusSet:w,nullBodyStatus:b,DOMException:R}=s(756);const{kState:S,kHeaders:k,kGuard:F,kRealm:T}=s(3386);const{webidl:N}=s(3721);const{FormData:v}=s(8076);const{getGlobalOrigin:_}=s(128);const{URLSerializer:U}=s(6932);const{kHeadersList:L,kConstruct:M}=s(7621);const G=s(9491);const{types:P}=s(3837);const O=globalThis.ReadableStream||s(5356).ReadableStream;const x=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=x.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(!w.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=D(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){G(!(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{G(false)}}function makeAppropriateNetworkError(r,A=null){G(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(O);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(P.isArrayBuffer(r)||P.isTypedArray(r)||P.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 O){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}},3386:r=>{r.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kGuard:Symbol("guard"),kRealm:Symbol("realm")}},6860:(r,A,s)=>{const{redirectStatusSet:n,referrerPolicySet:a,badPortsSet:u}=s(756);const{getGlobalOrigin:l}=s(128);const{performance:g}=s(4074);const{isBlobLike:E,toUSVString:d,ReadableStreamFrom:p}=s(9647);const C=s(9491);const{isUint8Array:B}=s(9830);let Q=[];let I;try{I=s(6113);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 D=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,D);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 w=globalThis.ReadableStream;function isReadableStreamLike(r){if(!w){w=s(5356).ReadableStream}return r instanceof w||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}},3721:(r,A,s)=>{const{types:n}=s(3837);const{hasOwn:a,toUSVString:u}=s(6860);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}},2444: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}},6528:(r,A,s)=>{const{staticPropertyDescriptors:n,readOperation:a,fireAProgressEvent:u}=s(2882);const{kState:l,kError:g,kResult:E,kEvents:d,kAborted:p}=s(3738);const{webidl:C}=s(3721);const{kEnumerableProperty:B}=s(9647);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}},6002:(r,A,s)=>{const{webidl:n}=s(3721);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}},3738: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")}},2882:(r,A,s)=>{const{kState:n,kError:a,kResult:u,kAborted:l,kLastProgressEventFired:g}=s(3738);const{ProgressEvent:E}=s(6002);const{getEncoding:d}=s(2444);const{DOMException:p}=s(756);const{serializeAMimeType:C,parseMIMEType:B}=s(6932);const{types:Q}=s(3837);const{StringDecoder:I}=s(1576);const{btoa:m}=s(4300);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}},5683:(r,A,s)=>{const n=Symbol.for("undici.globalDispatcher.1");const{InvalidArgumentError:a}=s(3501);const u=s(8551);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}},3563: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)}}},6086:(r,A,s)=>{const n=s(9647);const{kBodyUsed:a}=s(7621);const u=s(9491);const{InvalidArgumentError:l}=s(3501);const g=s(2361);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(9491);const{kRetryHandlerDefaultRetry:a}=s(7621);const{RequestRetryError:u}=s(3501);const{isDisturbed:l,parseHeaders:g,parseRangeHeader:E}=s(9647);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:D}=A;D=D!=null&&D>0?D: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 w=l!=null&&l["retry-after"];if(w){w=Number(w);w=isNaN(w)?calculateRetryAfterHeader(w):w*1e3}const b=w>0?Math.min(w,C):Math.min(D*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},3163:(r,A,s)=>{const n=s(6086);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},446:(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(8675);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}},2959: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="},5674:r=>{r.exports="AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw=="},8675:(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},1045:(r,A,s)=>{const{kClients:n}=s(7621);const a=s(8551);const{kAgent:u,kMockAgentSet:l,kMockAgentGet:g,kDispatches:E,kIsMockActive:d,kNetConnect:p,kGetNetConnect:C,kOptions:B,kFactory:Q}=s(6978);const I=s(9103);const m=s(1153);const{matchValue:y,buildMockOptions:D}=s(8121);const{InvalidArgumentError:w,UndiciError:b}=s(3501);const R=s(3954);const S=s(2799);const k=s(7175);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 w("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]=D(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 w("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},9103:(r,A,s)=>{const{promisify:n}=s(3837);const a=s(8352);const{buildMockDispatch:u}=s(8121);const{kDispatches:l,kMockAgent:g,kClose:E,kOriginalClose:d,kOrigin:p,kOriginalDispatch:C,kConnected:B}=s(6978);const{MockInterceptor:Q}=s(448);const I=s(7621);const{InvalidArgumentError:m}=s(3501);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},5458:(r,A,s)=>{const{UndiciError:n}=s(3501);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}},448:(r,A,s)=>{const{getResponseData:n,buildKey:a,addMockDispatch:u}=s(8121);const{kDispatches:l,kDispatchKey:g,kDefaultHeaders:E,kDefaultTrailers:d,kContentLength:p,kMockDispatch:C}=s(6978);const{InvalidArgumentError:B}=s(3501);const{buildURL:Q}=s(9647);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},1153:(r,A,s)=>{const{promisify:n}=s(3837);const a=s(9859);const{buildMockDispatch:u}=s(8121);const{kDispatches:l,kMockAgent:g,kClose:E,kOriginalClose:d,kOrigin:p,kOriginalDispatch:C,kConnected:B}=s(6978);const{MockInterceptor:Q}=s(448);const I=s(7621);const{InvalidArgumentError:m}=s(3501);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},6978: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")}},8121:(r,A,s)=>{const{MockNotMatchedError:n}=s(5458);const{kDispatches:a,kMockAgent:u,kOriginalDispatch:l,kOrigin:g,kGetNetConnect:E}=s(6978);const{buildURL:d,nop:p}=s(9647);const{STATUS_CODES:C}=s(3685);const{types:{isPromise:B}}=s(3837);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}},7175:(r,A,s)=>{const{Transform:n}=s(2781);const{Console:a}=s(6206);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()}}},2799: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}}}},4680: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}}},5411:(r,A,s)=>{const n=s(6775);const a=s(4680);const{kConnected:u,kSize:l,kRunning:g,kPending:E,kQueued:d,kBusy:p,kFree:C,kUrl:B,kClose:Q,kDestroy:I,kDispatch:m}=s(7621);const y=s(8294);const D=Symbol("clients");const w=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[D]=[];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[w]=a;if(!this[w]&&r[w]){r[w]=false;r.emit("drain",A,[r,...s])}if(r[R]&&n.isEmpty()){Promise.all(r[D].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[w]}get[u](){return this[D].filter((r=>r[u])).length}get[C](){return this[D].filter((r=>r[u]&&!r[w])).length}get[E](){let r=this[d];for(const{[E]:A}of this[D]){r+=A}return r}get[g](){let r=0;for(const{[g]:A}of this[D]){r+=A}return r}get[l](){let r=this[d];for(const{[l]:A}of this[D]){r+=A}return r}get stats(){return this[U]}async[Q](){if(this[b].isEmpty()){return Promise.all(this[D].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[D].map((A=>A.destroy(r))))}[m](r,A){const s=this[N]();if(!s){this[w]=true;this[b].push({opts:r,handler:A});this[d]++}else if(!s.dispatch(r,A)){s[w]=true;this[w]=!this[N]()}return!this[w]}[v](r){r.on("drain",this[S]).on("connect",this[k]).on("disconnect",this[F]).on("connectionError",this[T]);this[D].push(r);if(this[w]){process.nextTick((()=>{if(this[w]){this[S](r[B],[this,r])}}))}return this}[_](r){r.close((()=>{const A=this[D].indexOf(r);if(A!==-1){this[D].splice(A,1)}}));this[w]=this[D].some((r=>!r[w]&&r.closed!==true&&r.destroyed!==true))}}r.exports={PoolBase:PoolBase,kClients:D,kNeedDrain:w,kAddClient:v,kRemoveClient:_,kGetDispatcher:N}},8294:(r,A,s)=>{const{kFree:n,kConnected:a,kPending:u,kQueued:l,kRunning:g,kSize:E}=s(7621);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},9859:(r,A,s)=>{const{PoolBase:n,kClients:a,kNeedDrain:u,kAddClient:l,kGetDispatcher:g}=s(5411);const E=s(8352);const{InvalidArgumentError:d}=s(3501);const p=s(9647);const{kUrl:C,kInterceptors:B}=s(7621);const Q=s(6840);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:D,allowH2:w,...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:w,socketPath:g,timeout:a,...p.nodeHasAutoSelectFamily&&E?{autoSelectFamily:E,autoSelectFamilyAttemptTimeout:D}: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:w};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(7621);const{URL:g}=s(7310);const E=s(8551);const d=s(9859);const p=s(6775);const{InvalidArgumentError:C,RequestAbortedError:B}=s(3501);const Q=s(6840);const I=Symbol("proxy agent");const m=Symbol("proxy client");const y=Symbol("proxy headers");const D=Symbol("request tls settings");const w=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[D]=r.requestTls;this[w]=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[D]){g=this[D].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},8748: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)}}}},3592:(r,A,s)=>{const n=s(7643);const{uid:a,states:u}=s(7479);const{kReadyState:l,kSentClose:g,kByteParser:E,kReceivedClose:d}=s(6949);const{fireEvent:p,failWebsocketConnection:C}=s(4603);const{CloseEvent:B}=s(9134);const{makeRequest:Q}=s(9787);const{fetching:I}=s(3254);const{Headers:m}=s(6909);const{getGlobalDispatcher:y}=s(5683);const{kHeadersList:D}=s(7621);const w={};w.open=n.channel("undici:websocket:open");w.close=n.channel("undici:websocket:close");w.socketError=n.channel("undici:websocket:socket_error");let b;try{b=s(6113)}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)[D];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(w.open.hasSubscribers){w.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(w.close.hasSubscribers){w.close.publish({websocket:r,code:s,reason:n})}}function onSocketError(r){const{ws:A}=this;A[l]=u.CLOSING;if(w.socketError.hasSubscribers){w.socketError.publish(r)}this.destroy()}r.exports={establishWebSocketConnection:establishWebSocketConnection}},7479: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}},9134:(r,A,s)=>{const{webidl:n}=s(3721);const{kEnumerableProperty:a}=s(9647);const{MessagePort:u}=s(1267);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}},5156:(r,A,s)=>{const{maxUnsigned16Bit:n}=s(7479);let a;try{a=s(6113)}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(2781);const a=s(7643);const{parserStates:u,opcodes:l,states:g,emptyBuffer:E}=s(7479);const{kReadyState:d,kSentClose:p,kResponse:C,kReceivedClose:B}=s(6949);const{isValidStatusCode:Q,failWebsocketConnection:I,websocketMessageReceived:m}=s(4603);const{WebsocketFrameSend:y}=s(5156);const D={};D.ping=a.channel("undici:websocket:ping");D.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(D.ping.hasSubscribers){D.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(D.pong.hasSubscribers){D.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}},6949: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")}},4603:(r,A,s)=>{const{kReadyState:n,kController:a,kResponse:u,kBinaryType:l,kWebSocketURL:g}=s(6949);const{states:E,opcodes:d}=s(7479);const{MessageEvent:p,ErrorEvent:C}=s(9134);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}},553:(r,A,s)=>{const{webidl:n}=s(3721);const{DOMException:a}=s(756);const{URLSerializer:u}=s(6932);const{getGlobalOrigin:l}=s(128);const{staticPropertyDescriptors:g,states:E,opcodes:d,emptyBuffer:p}=s(7479);const{kWebSocketURL:C,kReadyState:B,kController:Q,kBinaryType:I,kResponse:m,kSentClose:y,kByteParser:D}=s(6949);const{isEstablished:w,isClosing:b,isValidSubprotocol:R,failWebsocketConnection:S,fireEvent:k}=s(4603);const{establishWebSocketConnection:F}=s(3592);const{WebsocketFrameSend:T}=s(5156);const{ByteParser:N}=s(4944);const{kEnumerableProperty:v,isBlobLike:_}=s(9647);const{getGlobalDispatcher:U}=s(5683);const{types:L}=s(3837);let M=false;class WebSocket extends EventTarget{#l={open:null,error:null,close:null,message:null};#g=0;#E="";#h="";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(!w(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(!w(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.#h}get protocol(){n.brandCheck(this,WebSocket);return this.#E}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[D]=A;this[B]=E.OPEN;const s=r.headersList.get("sec-websocket-extensions");if(s!==null){this.#h=s}const n=r.headersList.get("sec-websocket-protocol");if(n!==null){this.#E=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}},5592:(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},7338:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});Object.defineProperty(A,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(A,"v3",{enumerable:true,get:function(){return a.default}});Object.defineProperty(A,"v4",{enumerable:true,get:function(){return u.default}});Object.defineProperty(A,"v5",{enumerable:true,get:function(){return l.default}});Object.defineProperty(A,"NIL",{enumerable:true,get:function(){return g.default}});Object.defineProperty(A,"version",{enumerable:true,get:function(){return E.default}});Object.defineProperty(A,"validate",{enumerable:true,get:function(){return d.default}});Object.defineProperty(A,"stringify",{enumerable:true,get:function(){return p.default}});Object.defineProperty(A,"parse",{enumerable:true,get:function(){return C.default}});var n=_interopRequireDefault(s(6101));var a=_interopRequireDefault(s(9456));var u=_interopRequireDefault(s(1071));var l=_interopRequireDefault(s(8057));var g=_interopRequireDefault(s(7448));var E=_interopRequireDefault(s(5530));var d=_interopRequireDefault(s(324));var p=_interopRequireDefault(s(5284));var C=_interopRequireDefault(s(6067));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}},8612:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(6113));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function md5(r){if(Array.isArray(r)){r=Buffer.from(r)}else if(typeof r==="string"){r=Buffer.from(r,"utf8")}return n.default.createHash("md5").update(r).digest()}var a=md5;A["default"]=a},7448:(r,A)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var s="00000000-0000-0000-0000-000000000000";A["default"]=s},6067:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(324));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function parse(r){if(!(0,n.default)(r)){throw TypeError("Invalid UUID")}let A;const s=new Uint8Array(16);s[0]=(A=parseInt(r.slice(0,8),16))>>>24;s[1]=A>>>16&255;s[2]=A>>>8&255;s[3]=A&255;s[4]=(A=parseInt(r.slice(9,13),16))>>>8;s[5]=A&255;s[6]=(A=parseInt(r.slice(14,18),16))>>>8;s[7]=A&255;s[8]=(A=parseInt(r.slice(19,23),16))>>>8;s[9]=A&255;s[10]=(A=parseInt(r.slice(24,36),16))/1099511627776&255;s[11]=A/4294967296&255;s[12]=A>>>24&255;s[13]=A>>>16&255;s[14]=A>>>8&255;s[15]=A&255;return s}var a=parse;A["default"]=a},7610:(r,A)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var s=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;A["default"]=s},6750:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=rng;var n=_interopRequireDefault(s(6113));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}const a=new Uint8Array(256);let u=a.length;function rng(){if(u>a.length-16){n.default.randomFillSync(a);u=0}return a.slice(u,u+=16)}},4920:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(6113));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function sha1(r){if(Array.isArray(r)){r=Buffer.from(r)}else if(typeof r==="string"){r=Buffer.from(r,"utf8")}return n.default.createHash("sha1").update(r).digest()}var a=sha1;A["default"]=a},5284:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(324));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}const a=[];for(let r=0;r<256;++r){a.push((r+256).toString(16).substr(1))}function stringify(r,A=0){const s=(a[r[A+0]]+a[r[A+1]]+a[r[A+2]]+a[r[A+3]]+"-"+a[r[A+4]]+a[r[A+5]]+"-"+a[r[A+6]]+a[r[A+7]]+"-"+a[r[A+8]]+a[r[A+9]]+"-"+a[r[A+10]]+a[r[A+11]]+a[r[A+12]]+a[r[A+13]]+a[r[A+14]]+a[r[A+15]]).toLowerCase();if(!(0,n.default)(s)){throw TypeError("Stringified UUID is invalid")}return s}var u=stringify;A["default"]=u},6101:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(6750));var a=_interopRequireDefault(s(5284));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}let u;let l;let g=0;let E=0;function v1(r,A,s){let d=A&&s||0;const p=A||new Array(16);r=r||{};let C=r.node||u;let B=r.clockseq!==undefined?r.clockseq:l;if(C==null||B==null){const A=r.random||(r.rng||n.default)();if(C==null){C=u=[A[0]|1,A[1],A[2],A[3],A[4],A[5]]}if(B==null){B=l=(A[6]<<8|A[7])&16383}}let Q=r.msecs!==undefined?r.msecs:Date.now();let I=r.nsecs!==undefined?r.nsecs:E+1;const m=Q-g+(I-E)/1e4;if(m<0&&r.clockseq===undefined){B=B+1&16383}if((m<0||Q>g)&&r.nsecs===undefined){I=0}if(I>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}g=Q;E=I;l=B;Q+=122192928e5;const y=((Q&268435455)*1e4+I)%4294967296;p[d++]=y>>>24&255;p[d++]=y>>>16&255;p[d++]=y>>>8&255;p[d++]=y&255;const D=Q/4294967296*1e4&268435455;p[d++]=D>>>8&255;p[d++]=D&255;p[d++]=D>>>24&15|16;p[d++]=D>>>16&255;p[d++]=B>>>8|128;p[d++]=B&255;for(let r=0;r<6;++r){p[d+r]=C[r]}return A||(0,a.default)(p)}var d=v1;A["default"]=d},9456:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(9390));var a=_interopRequireDefault(s(8612));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}const u=(0,n.default)("v3",48,a.default);var l=u;A["default"]=l},9390:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=_default;A.URL=A.DNS=void 0;var n=_interopRequireDefault(s(5284));var a=_interopRequireDefault(s(6067));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function stringToBytes(r){r=unescape(encodeURIComponent(r));const A=[];for(let s=0;s{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(6750));var a=_interopRequireDefault(s(5284));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function v4(r,A,s){r=r||{};const u=r.random||(r.rng||n.default)();u[6]=u[6]&15|64;u[8]=u[8]&63|128;if(A){s=s||0;for(let r=0;r<16;++r){A[s+r]=u[r]}return A}return(0,a.default)(u)}var u=v4;A["default"]=u},8057:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(9390));var a=_interopRequireDefault(s(4920));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}const u=(0,n.default)("v5",80,a.default);var l=u;A["default"]=l},324:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(7610));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function validate(r){return typeof r==="string"&&n.default.test(r)}var a=validate;A["default"]=a},5530:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(324));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function version(r){if(!(0,n.default)(r)){throw TypeError("Invalid UUID")}return parseInt(r.substr(14,1),16)}var a=version;A["default"]=a},6594:(r,A,s)=>{const n=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";const a=s(1017);const u=n?";":":";const l=s(1784);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,{_:()=>buildProject});var n=s(7147);var a=s(1017);var u=s(9598);var l=s(1188);async function initProject(r,A,s){await A.execTauriCommand(["init"],["--ci"],r);const n=(0,l.tK)(r);if(n===null){console.error("Failed to resolve Tauri path");process.exit(1)}const g=u.u.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){const n=[];if(this.bin==="npm"&&this.tauriScript[0]!=="run"){n.push("run")}n.push(...this.tauriScript);n.push(...r);if(this.bin==="npm"&&A.length){n.push("--")}n.push(...A);return(0,l.ic)(this.bin,n,{cwd:s})}}async function getRunner(r,A){if(A){const[r,...s]=A.split(" ");return new Runner(r,s)}if((0,l.SM)("@tauri-apps/cli",r)){if((0,l.og)(r))return new Runner("yarn",["tauri"]);if((0,l.m5)(r))return new Runner("pnpm",["tauri"]);return new Runner("npm",["run","tauri"])}await(0,l.ic)("npm",["install","-g","@tauri-apps/cli"],{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.sA)(p);if(!(0,l.tK)(r)){await initProject(r,g,u)}const y=(0,l.C5)(r,m,B);if(!y.tauriPath){throw Error("Couldn't detect path of tauri app")}const D={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);let w=D.name;if(m.platform==="linux"){w=w.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z])(?=[a-z])/g,"$1-$2").replace(/[ _.]/g,"-").toLowerCase()}const b=(0,l.pZ)(D.tauriPath)??D.tauriPath;const R=(0,a.join)((0,l.Uv)(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}_${D.version}_${k}.dmg`),(0,a.join)(R,`bundle/macos/${w}.app`),(0,a.join)(R,`bundle/macos/${w}.app.tar.gz`),(0,a.join)(R,`bundle/macos/${w}.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 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)(R,`bundle/msi/${w}_${D.wixAppVersion}_${k}_${r}.msi`));A.push((0,a.join)(R,`bundle/msi/${w}_${D.wixAppVersion}_${k}_${r}.msi.zip`));A.push((0,a.join)(R,`bundle/msi/${w}_${D.wixAppVersion}_${k}_${r}.msi.zip.sig`))}));A.push((0,a.join)(R,`bundle/nsis/${w}_${D.version}_${k}-setup.exe`));A.push((0,a.join)(R,`bundle/nsis/${w}_${D.version}_${k}-setup.nsis.zip`));A.push((0,a.join)(R,`bundle/nsis/${w}_${D.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;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}_${D.version}_${r}.deb`),arch:r},{path:(0,a.join)(R,`bundle/rpm/${w}-${D.version}-${D.rpmRelease}.${A}.rpm`),arch:A},{path:(0,a.join)(R,`bundle/appimage/${w}_${D.version}_${s}.AppImage`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${w}_${D.version}_${s}.AppImage.tar.gz`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${w}_${D.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)))}},9598:(r,A,s)=>{s.d(A,{u:()=>TauriConfig});var n=s(7147);var a=s.n(n);var u=s(1017);var l=s.n(u);var g=s(1220);var E=s(1482);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}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;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}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))}}}},3551:(r,A,s)=>{s.d(A,{r:()=>createRelease});var n=s(7147);var a=s.n(n);var u=s(9093);var l=s.n(u);var g=s(5942);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}}},2694:(r,A,s)=>{s.a(r,(async(r,A)=>{try{var n=s(7147);var a=s.n(n);var u=s(1017);var l=s.n(u);var g=s(9093);var E=s.n(g);var d=s(5942);var p=s.n(d);var C=s(314);var B=s(3551);var Q=s(6188);var I=s(9173);var m=s(7023);var y=s(1188);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 D=g.getBooleanInput("includeUpdaterJson");const w=g.getBooleanInput("updaterJsonKeepUniversal");const b=g.getInput("tauriScript");const R=(0,C.Z)(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 G=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 P={tauriScript:b,args:R};const O={distPath:A,iconPath:s,bundleIdentifier:S,appName:a,appVersion:l};const x=[...R].findIndex((r=>r==="-t"||r==="--target"));const H=x>=0?[...R][x+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._)(r,false,P,O))}if(p){W.push(...await(0,m._)(r,true,P,O))}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.sA)(H);const K=(0,y.C5)(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.ic)("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.r)(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.u)(v,_,F,q);if(D){await(0,I.A)({owner:v,repo:_,version:K.version,notes:N,tagName:k,releaseId:F,artifacts:V.length!==0?V:W,targetInfo:j,updaterJsonPreferNsis:G,updaterJsonKeepUniversal:w})}}else{console.log("No releaseId or tagName provided, skipping all uploads...")}}catch(r){g.setFailed(r.message)}}await run();A()}catch(D){A(D)}}),1)},6188:(r,A,s)=>{s.d(A,{u:()=>uploadAssets});var n=s(7147);var a=s.n(n);var u=s(5942);var l=s.n(u);var g=s(1188);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:50})).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.HW)(u.path);const p=E.find((r=>r.name===d.trim().replace(/ /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().readFileSync(u.path),owner:r,repo:A,release_id:s})}}},9173:(r,A,s)=>{s.d(A,{A:()=>uploadVersionJSON});var n=s(7147);var a=s.n(n);var u=s(1017);var l=s.n(u);var g=s(5942);var E=s.n(g);var d=s(6188);var p=s(1188);async function uploadVersionJSON({owner:r,repo:A,version:s,notes:a,tagName:l,releaseId:E,artifacts:C,targetInfo:B,updaterJsonPreferNsis:Q,updaterJsonKeepUniversal:I}){if(process.env.GITHUB_TOKEN===undefined){throw new Error("GITHUB_TOKEN is required")}const m=(0,g.getOctokit)(process.env.GITHUB_TOKEN);const y="latest.json";const D=(0,u.resolve)(process.cwd(),y);const w={version:s,notes:a,pub_date:(new Date).toISOString(),platforms:{}};const b=await m.rest.repos.listReleaseAssets({owner:r,repo:A,release_id:E,per_page:50});const R=b.data.find((r=>r.name===y));if(R){const s=(await m.request("GET /repos/{owner}/{repo}/releases/assets/{asset_id}",{owner:r,repo:A,asset_id:R.id,headers:{accept:"application/octet-stream"}})).data;w.platforms=JSON.parse(Buffer.from(s).toString()).platforms}let S=C.find((r=>r.path.endsWith(Q?".nsis.zip.sig":"msi.zip.sig")));if(!S){S=C.find((r=>r.path.endsWith(".sig")))}const k=new Set(C.map((r=>(0,p.HW)(r.path).trim().replace(/ /g,"."))));let F;{const r=b.data.filter((r=>k.has(r.name)));const A=r.find((r=>r.name.endsWith(Q?".nsis.zip":".msi.zip")));if(A){F=A.browser_download_url}else{F=r.find((r=>r.name.endsWith(".tar.gz")||r.name.endsWith(".zip")))?.browser_download_url}}F=F?.replace(/\/download\/(untagged-[^/]+)\//,l?`/download/${l}/`:"/latest/download/");let T=B.platform;if(T==="macos"){T="darwin"}if(F&&S){let s=S.arch;s=s==="amd64"||s==="x86_64"||s==="x64"?"x86_64":s==="x86"||s==="i386"?"i686":s==="arm"?"armv7":s==="arm64"?"aarch64":s;if(T==="darwin"&&s==="universal"){if(!w.platforms["darwin-aarch64"]){w.platforms["darwin-aarch64"]={signature:(0,n.readFileSync)(S.path).toString(),url:F}}if(!w.platforms["darwin-x86_64"]){w.platforms["darwin-x86_64"]={signature:(0,n.readFileSync)(S.path).toString(),url:F}}}if(I||T!=="darwin"||s!=="universal"){w.platforms[`${T}-${s}`]={signature:(0,n.readFileSync)(S.path).toString(),url:F}}(0,n.writeFileSync)(D,JSON.stringify(w,null,2));if(R){await m.rest.repos.deleteReleaseAsset({owner:r,repo:A,release_id:E,asset_id:R.id})}console.log(`Uploading ${D}...`);await(0,d.u)(r,A,E,[{path:D,arch:""}])}else{const r=F?"Signature":S?"Asset":"Asset and signature";console.warn(`${r} not found for the updater JSON. Skipping upload...`)}}},1188:(r,A,s)=>{s.d(A,{ic:()=>execCommand,HW:()=>getAssetName,C5:()=>getInfo,Uv:()=>getTargetDir,sA:()=>getTargetInfo,tK:()=>getTauriDir,pZ:()=>getWorkspaceDir,SM:()=>hasDependency,m5:()=>usesPnpm,og:()=>usesYarn});var n=s(7147);var a=s(1017);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(r);if(typeof s!=="string"){throw new TypeError(`${A} must be a string or a file URL: ${s}.`)}return s};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`)};const I=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:tty");const m=I.WriteStream.prototype.hasColors();const format=(r,A)=>{if(!m){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 y=format(0,0);const D=format(1,22);const w=format(2,22);const b=format(3,23);const R=format(4,24);const S=format(53,55);const k=format(7,27);const F=format(8,28);const T=format(9,29);const N=format(30,39);const v=format(31,39);const _=format(32,39);const U=format(33,39);const L=format(34,39);const M=format(35,39);const G=format(36,39);const P=format(37,39);const O=format(90,39);const x=format(40,49);const H=format(41,49);const Y=format(42,49);const J=format(43,49);const V=format(44,49);const W=format(45,49);const q=format(46,49);const j=format(47,49);const K=format(100,49);const z=format(91,39);const Z=format(92,39);const X=format(93,39);const $=format(94,39);const ee=format(95,39);const te=format(96,39);const re=format(97,39);const Ae=format(101,49);const se=format(102,49);const ne=format(103,49);const oe=format(104,49);const ie=format(105,49);const ae=format(106,49);const ce=format(107,49);var ue=s(7261);const le=(0,ue.debuglog)("execa").enabled?"full":"none";const getVerboseInfo=r=>{const A=isVerbose(r)?ge++:undefined;validateVerbose(r);return{verbose:r,verboseId:A}};let ge=0n;const isVerbose=r=>r.some((r=>r!=="none"));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(!Ee.has(A)){const r=[...Ee].map((r=>`'${r}'`)).join(", ");throw new TypeError(`The "verbose" option must not be ${A}. Allowed values are: ${r}.`)}}};const Ee=new Set(["none","short","full"]);const he=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs");const de=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:process");function isUnicodeSupported(){if(de.platform!=="win32"){return de.env.TERM!=="linux"}return Boolean(de.env.WT_SESSION)||Boolean(de.env.TERMINUS_SUBLIME)||de.env.ConEmuTask==="{cmd::Cmder}"||de.env.TERM_PROGRAM==="Terminus-Sublime"||de.env.TERM_PROGRAM==="vscode"||de.env.TERM==="xterm-256color"||de.env.TERM==="alacritty"||de.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const pe={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 Ce={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 fe={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 Be={...pe,...Ce};const Qe={...pe,...fe};const Ie=isUnicodeSupported();const me=Ie?Be:Qe;const ye=me;const De=Object.entries(Ce);const replaceSymbols=(r,{useFallback:A=!Ie}={})=>{if(A){for(const[A,s]of De){r=r.replaceAll(s,Qe[A])}}return r};const verboseLog=(r,A,s,n)=>{const a=addPrefix(r,A,s,n);(0,he.writeFileSync)(we,`${a}\n`)};const we=2;const addPrefix=(r,A,s,n)=>r.includes("\n")?r.split("\n").map((r=>addPrefixToLine(r,A,s,n))).join("\n"):addPrefixToLine(r,A,s,n);const addPrefixToLine=(r,A,s,n=identity)=>[O(`[${getTimestamp()}]`),O(`[${A}]`),n(be[s]),n(r)].join(" ");const identity=r=>r;const getTimestamp=()=>{const r=new Date;return`${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 be={command:"$",pipedCommand:"|",output:" ",error:ye.cross,warning:ye.warning,success:ye.tick};const logCommand=(r,{verbose:A,verboseId:s},{piped:n=false})=>{if(!isVerbose(A)){return}const a=n?"pipedCommand":"command";verboseLog(r,s,a,D)};const getStartTime=()=>de.hrtime.bigint();const getDurationMs=r=>Number(de.hrtime.bigint()-r)/1e6;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,ue.stripVTControlCharacters)(r).split("\n").map((r=>escapeControlCharacters(r))).join("\n");const escapeControlCharacters=r=>r.replaceAll(Re,(r=>escapeControlCharacter(r)));const escapeControlCharacter=r=>{const A=Se[r];if(A!==undefined){return A}const s=r.codePointAt(0);const n=s.toString(16);return s<=ke?`\\u${n.padStart(4,"0")}`:`\\U${n}`};const Re=/\p{Separator}|\p{Other}/gu;const Se={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};const ke=65535;const quoteString=r=>{if(Fe.test(r)){return r}return de.platform==="win32"?`"${r.replaceAll('"','""')}"`:`'${r.replaceAll("'","'\\''")}'`};const Fe=/^[\w./-]+$/;const isStandardStream=r=>Te.includes(r);const Te=[de.stdin,de.stdout,de.stderr];const Ne=["stdin","stdout","stderr"];const getStreamName=r=>Ne[r]??`stdio[${r}]`;const normalizeFdSpecificOptions=r=>{const A={...r};for(const s of Ue){A[s]=normalizeFdSpecificOption(r,s)}return A};const normalizeFdSpecificOption=(r,A)=>{const s=Array.from({length:getStdioLength(r)});const n=normalizeFdSpecificValue(r[A],s,A);return addDefaultValue(n,A)};const getStdioLength=({stdio:r})=>Array.isArray(r)?Math.max(r.length,Ne.length):Ne.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)=>{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", 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(Ne.includes(r)){return Ne.indexOf(r)}const A=ve.exec(r);if(A!==null){return Number(A[1])}};const ve=/^fd(\d+)$/;const addDefaultValue=(r,A)=>r.map((r=>r===undefined?_e[A]:r));const _e={lines:false,buffer:true,maxBuffer:1e3*1e3*100,verbose:le,stripFinalNewline:true};const Ue=["lines","buffer","maxBuffer","verbose","stripFinalNewline"];const handleCommand=(r,A,s)=>{const n=getStartTime();const{command:a,escapedCommand:u}=joinCommand(r,A);const l=getVerboseInfo(normalizeFdSpecificOption(s,"verbose"));logCommand(u,l,s);return{command:a,escapedCommand:u,startTime:n,verboseInfo:l}};const Le=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:path");var Me=s(3641);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 npmRunPath=({cwd:r=de.cwd(),path:A=de.env[pathKey()],preferLocal:s=true,execPath:n=de.execPath,addExecPath:a=true}={})=>{const u=r instanceof URL?(0,l.fileURLToPath)(r):r;const g=Le.resolve(u);const E=[];if(s){applyPreferLocal(E,g)}if(a){applyExecPath(E,n,g)}return[...E,A].join(Le.delimiter)};const applyPreferLocal=(r,A)=>{let s;while(s!==A){r.push(Le.join(A,"node_modules/.bin"));s=A;A=Le.resolve(A,"..")}};const applyExecPath=(r,A,s)=>{const n=A instanceof URL?(0,l.fileURLToPath)(A):A;r.push(Le.resolve(s,n,".."))};const npmRunPathEnv=({env:r=de.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,Pe,{value:true,writable:false,enumerable:false,configurable:false})};const isExecaError=r=>isErrorInstance(r)&&Pe in r;const Pe=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 normalizeKillSignal=r=>{const A="option `killSignal`";if(r===0){throw new TypeError(`Invalid ${A}: 0 cannot be used.`)}return normalizeSignal(r,A)};const normalizeSignalArgument=r=>r===0?r:normalizeSignal(r,"`subprocess.kill()`'s argument");const 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(xe.has(r)){return xe.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 xe=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 normalizeForceKillAfterDelay=r=>{if(r===false){return r}if(r===true){return He}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 He=1e3*5;const subprocessKill=({kill:r,options:{forceKillAfterDelay:A,killSignal:s},onInternalError:n,controller:a},u,l)=>{const{signal:g,error:E}=parseKillArguments(u,l,s);emitKillError(E,n);const d=r(g);setKillTimeout({kill:r,signal:g,forceKillAfterDelay:A,killSignal:s,killResult:d,controller:a});return d};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,controller:u})=>{if(!shouldForceKill(A,s,n,a)){return}try{await(0,Ge.setTimeout)(s,undefined,{signal:u.signal});r("SIGKILL")}catch{}};const shouldForceKill=(r,A,s,n)=>r===s&&A!==false&&n;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.timedOut=true;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=de.execPath,nodeOptions:a=de.execArgv.filter((r=>!r.startsWith("--inspect"))),cwd:u,execPath:l,...g})=>{if(l!==undefined){throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.')}const E=safeNormalizeFileUrl(n,'The "nodePath" option');const d=(0,Le.resolve)(u,E);const p={...g,nodePath:d,node:s,cwd:u};if(!s){return[r,A,p]}if((0,Le.basename)(r,".exe")==="node"){throw new TypeError('When the "node" option is true, the first argument does not need to be "node".')}return[d,[...a,r,...A],{ipc:true,...p,shell:false}]};const validateEncoding=({encoding:r})=>{if(Ve.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=[...Ve].map((r=>serializeEncoding(r))).join(", ");throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(r)}\`.\nPlease rename it to one of: ${s}.`)};const Ye=new Set(["utf8","utf16le"]);const Je=new Set(["buffer","hex","base64","base64url","latin1","ascii"]);const Ve=new Set([...Ye,...Je]);const getCorrectEncoding=r=>{if(r===null){return"buffer"}if(typeof r!=="string"){return}const A=r.toLowerCase();if(A in We){return We[A]}if(Ve.has(A)){return A}};const We={"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(0,Le.resolve)(A)};const getDefaultCwd=()=>{try{return de.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,he.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,a,u]=handleNodeOption(r,A,s);const{command:l,args:g,options:E}=Me._parse(n,a,u);const d=normalizeFdSpecificOptions(E);const p=addDefaultOptions(d);validateTimeout(p);validateEncoding(p);p.shell=normalizeFileUrl(p.shell);p.env=getEnv(p);p.killSignal=normalizeKillSignal(p.killSignal);p.forceKillAfterDelay=normalizeForceKillAfterDelay(p.forceKillAfterDelay);p.lines=p.lines.map(((r,A)=>r&&!Je.has(p.encoding)&&p.buffer[A]));if(de.platform==="win32"&&(0,Le.basename)(l,".exe")==="cmd"){g.unshift("/q")}return{file:l,commandArguments:g,options:p}};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,ipc:C=false,serialization:B="advanced",...Q})=>({...Q,extendEnv:r,preferLocal:A,cwd:s,localDirectory:n,encoding:a,reject:u,cleanup:l,all:g,windowsHide:E,killSignal:d,forceKillAfterDelay:p,ipc:C,serialization:B});const getEnv=({env:r,extendEnv:A,preferLocal:s,node:n,localDirectory:a,nodePath:u})=>{const l=A?{...de.env,...r}:r;if(s||n){return npmRunPathEnv({env:l,cwd:a,execPath:u,preferLocal:s,addExecPath:n})}return l};const getRealtimeSignals=()=>{const r=je-qe+1;return Array.from({length:r},getRealtimeSignal)};const getRealtimeSignal=(r,A)=>({name:`SIGRT${A+1}`,number:qe+A,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"});const qe=34;const je=64;const Ke=[{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=[...Ke,...r].map(signals_normalizeSignal);return A};const signals_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 ze=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})=>Oe.constants.signals[A]===r));if(s!==undefined){return s}return A.find((A=>A.number===r))};const Ze=getSignalsByNumber();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)===Xe?r.slice(0,r.at(-2)===et?-2:-1):r;const stripFinalNewlineBinary=r=>r.at(-1)===$e?r.subarray(0,r.at(-2)===tt?-2:-1):r;const Xe="\n";const $e=Xe.codePointAt(0);const et="\r";const tt=et.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 rt=Object.getPrototypeOf(Object.getPrototypeOf((async function*(){})).prototype);class c{#p;#C;#f=!1;#B=void 0;constructor(r,A){this.#p=r,this.#C=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.#f)return{done:!0,value:void 0};let r;try{r=await this.#p.read()}catch(r){throw this.#B=void 0,this.#f=!0,this.#p.releaseLock(),r}return r.done&&(this.#B=void 0,this.#f=!0,this.#p.releaseLock()),r}async#I(r){if(this.#f)return{done:!0,value:r};if(this.#f=!0,!this.#C){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 At=Symbol();function i(){return this[At].next()}Object.defineProperty(i,"name",{value:"next"});function o(r){return this[At].return(r)}Object.defineProperty(o,"name",{value:"return"});const st=Object.create(rt,{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(st);return n[At]=s,n}const getAsyncIterable=r=>{if(isReadableStream(r,{checkOpen:false})&&ot.on!==undefined){return getStreamIterable(r)}if(typeof r?.[Symbol.asyncIterator]==="function"){return r}if(nt.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:nt}=Object.prototype;const getStreamIterable=async function*(r){const A=new AbortController;const s={};handleStreamEnd(r,A,s);try{for await(const[s]of ot.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 ot.finished(r,{cleanup:true,readable:true,writable:false,error:false})}catch(r){s.error=r}finally{A.abort()}};const ot={};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=it.call(r);if(s==="[object ArrayBuffer]"){return"arrayBuffer"}if(s==="[object DataView]"){return"dataView"}if(Number.isInteger(r.byteLength)&&Number.isInteger(r.byteOffset)&&it.call(r.buffer)==="[object ArrayBuffer]"){return"typedArray"}return"others"};const{toString:it}=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 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;return{streamName:getStreamName(s),threshold:A[s],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,originalError:s,signal:n,signalDescription:a,exitCode:u,escapedCommand:l,timedOut:g,isCanceled:E,isMaxBuffer:d,maxBuffer:p,timeout:C,cwd:B})=>{const Q=s?.code;const I=getErrorPrefix({originalError:s,timedOut:g,timeout:C,isMaxBuffer:d,maxBuffer:p,errorCode:Q,signal:n,signalDescription:a,exitCode:u,isCanceled:E});const m=getOriginalMessage(s,B);const y=m===undefined?"":`\n${m}`;const D=`${I}: ${l}${y}`;const w=A===undefined?[r[2],r[1]]:[A];const b=[D,...w,...r.slice(3)].map((r=>escapeLines(strip_final_newline_stripFinalNewline(serializeMessagePart(r))))).filter(Boolean).join("\n\n");return{originalMessage:m,shortMessage:D,message:b}};const getErrorPrefix=({originalError:r,timedOut:A,timeout:s,isMaxBuffer:n,maxBuffer:a,errorCode:u,signal:l,signalDescription:g,exitCode:E,isCanceled:d})=>{if(A){return`Command timed out after ${s} milliseconds`}if(d){return"Command was canceled"}if(n){return getMaxBufferMessage(r,a)}if(u!==undefined){return`Command failed with ${u}`}if(l!==undefined){return`Command was killed with ${l} (${g})`}if(E!==undefined){return`Command failed with exit code ${E}`}return"Command failed"};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 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,options:{cwd:a},startTime:u})=>omitUndefinedProperties({command:r,escapedCommand:A,cwd:a,durationMs:getDurationMs(u),failed:false,timedOut:false,isCanceled:false,isTerminated:false,isMaxBuffer:false,exitCode:0,stdout:s[1],stderr:s[2],all:n,stdio:s,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,isMaxBuffer:false,stdio:Array.from({length:n.length}),options:a,isSync:l});const makeError=({error:r,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isMaxBuffer:l,exitCode:g,signal:E,stdio:d,all:p,options:{timeoutDuration:C,timeout:B=C,cwd:Q,maxBuffer:I},isSync:m})=>{const{exitCode:y,signal:D,signalDescription:w}=normalizeExitPayload(g,E);const{originalMessage:b,shortMessage:R,message:S}=createMessages({stdio:d,all:p,originalError:r,signal:D,signalDescription:w,exitCode:y,escapedCommand:s,timedOut:a,isCanceled:u,isMaxBuffer:l,maxBuffer:I,timeout:B,cwd:Q});const k=getFinalError(r,S,m);Object.assign(k,getErrorProperties({error:k,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isMaxBuffer:l,exitCode:y,signal:D,signalDescription:w,stdio:d,all:p,cwd:Q,originalMessage:b,shortMessage:R}));return k};const getErrorProperties=({error:r,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isMaxBuffer:l,exitCode:g,signal:E,signalDescription:d,stdio:p,all:C,cwd:B,originalMessage:Q,shortMessage:I})=>omitUndefinedProperties({shortMessage:I,originalMessage:Q,command:A,escapedCommand:s,cwd:B,durationMs:getDurationMs(n),failed:true,timedOut:a,isCanceled:u,isTerminated:E!==undefined,isMaxBuffer:l,exitCode:g,signal:E,signalDescription:d,code:r.cause?.code,stdout:p[1],stderr:p[2],all:C,stdio:p,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:ze[A].description;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 at=1e-7;const ct=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};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 n=[];const floorDecimals=(r,A)=>{const s=Math.floor(r*10**A+at);const n=Math.round(s)/10**A;return n.toFixed(A)};const add=(r,s,a,u)=>{if((n.length===0||!A.colonNotation)&&isZero(r)&&!(A.colonNotation&&a==="m")){return}u=u??String(r);if(A.colonNotation){const r=u.includes(".")?u.split(".")[0].length:u.length;const A=n.length>0?2:1;u="0".repeat(Math.max(0,A-r))+u}else{u+=A.verbose?" "+pluralize(s,r):a}n.push(u)};const a=parseMilliseconds(r);const u=BigInt(a.days);add(u/365n,"year","y");add(u%365n,"day","d");add(Number(a.hours),"hour","h");add(Number(a.minutes),"minute","m");if(A.separateMilliseconds||A.formatSubMilliseconds||!A.colonNotation&&r<1e3){const r=Number(a.seconds);const s=Number(a.milliseconds);const n=Number(a.microseconds);const u=Number(a.nanoseconds);add(r,"second","s");if(A.formatSubMilliseconds){add(s,"millisecond","ms");add(n,"microsecond","µs");add(u,"nanosecond","ns")}else{const r=s+n/1e3+u/1e6;const a=typeof A.millisecondsDecimalDigits==="number"?A.millisecondsDecimalDigits:0;const l=r>=1?Math.round(r):Math.ceil(r);const g=a?r.toFixed(a):l;add(Number.parseFloat(g),"millisecond","ms",g)}}else{const n=(s?Number(r%ct):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(n.length===0){return"0"+(A.verbose?" milliseconds":"ms")}const l=A.colonNotation?":":" ";if(typeof A.unitCount==="number"){n=n.slice(0,Math.max(A.unitCount,1))}return n.join(l)}const logError=({message:r,failed:A,reject:s,verboseId:n,icon:a})=>{if(!A){return}const u=s?z:X;verboseLog(r,n,a,u)};const logFinalResult=({shortMessage:r,failed:A,durationMs:s},n,a)=>{logResult({message:r,failed:A,reject:n,durationMs:s,verboseInfo:a})};const logEarlyResult=(r,A,s)=>{logResult({message:escapeLines(String(r)),failed:true,reject:true,durationMs:getDurationMs(A),verboseInfo:s})};const logResult=({message:r,failed:A,reject:s,durationMs:n,verboseInfo:{verbose:a,verboseId:u}})=>{if(!isVerbose(a)){return}const l=getIcon(A,s);logError({message:r,failed:A,reject:s,verboseId:u,icon:l});logDuration(n,u,l)};const logDuration=(r,A,s)=>{const n=`(done in ${prettyMilliseconds(r)})`;verboseLog(n,A,s,O)};const getIcon=(r,A)=>{if(!r){return"success"}return A?"error":"warning"};const handleResult=(r,A,{reject:s})=>{logFinalResult(r,s,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===1&&isFilePathString(r.file);const isFilePathString=r=>typeof r==="string";const isUnknownStdioString=(r,A)=>r==="native"&&typeof A==="string"&&!ut.has(A);const ut=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 lt=new Set(["generator","asyncGenerator","duplex","webTransform"]);const gt=new Set(["fileUrl","filePath","fileNumber"]);const Et=new Set(["fileUrl","filePath"]);const ht=new Set([...Et,"webStream","nodeStream"]);const dt=new Set(["webTransform","duplex"]);const pt={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})=>lt.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})=>!lt.has(r))),...getTransforms(r,A,s,n)];const getTransforms=(r,A,s,{encoding:n})=>{const a=r.filter((({type:r})=>lt.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||Je.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)??Bt};const getStdioItemDirection=({type:r,value:A},s)=>Ct[s]??ft[r](A);const Ct=["input","output","output"];const anyDirection=()=>undefined;const alwaysInput=()=>"input";const ft={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 ft.nodeStream(r)}}};const getStandardStreamDirection=r=>{if([0,de.stdin].includes(r)){return"input"}if([1,2,de.stdout,de.stderr].includes(r)){return"output"}};const Bt="output";const normalizeStdioOption=({stdio:r,ipc:A,buffer:s,verbose:n,...a},u)=>{const l=getStdioArray(r,a).map(((r,A)=>stdio_option_addDefaultValue(r,A)));return u?normalizeStdioSync(l,s,n):normalizeStdioAsync(l,A)};const getStdioArray=(r,A)=>{if(r===undefined){return Ne.map((r=>A[r]))}if(hasAlias(A)){throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${Ne.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,Ne.length);return Array.from({length:s},((A,s)=>r[s]))};const hasAlias=r=>Ne.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>=Ne.length?"ignore":"pipe"}return r};const normalizeStdioSync=(r,A,s)=>r.map(((r,n)=>!A[n]&&n!==0&&s[n]!=="full"&&isOutputPipeOnly(r)?"ignore":r));const isOutputPipeOnly=r=>r==="pipe"||Array.isArray(r)&&r.every((r=>r==="pipe"));const normalizeStdioAsync=(r,A)=>A&&!r.includes("ipc")?[...r,"ipc"]:r;const getToStream=(r,A="stdin")=>{const s=true;const{options:n,fileDescriptors:a}=Qt.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}=Qt.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 Qt=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 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:n})=>{const a=getTargetFdNumber(r,s);if(a===undefined){return}if(n==="output"){return{type:"fileNumber",value:a,optionName:A}}if(I.isatty(a)){throw new TypeError(`The \`${A}: ${serializeOptionValue(r)}\` option is invalid: it cannot be a TTY with synchronous methods.`)}return{type:"uint8Array",value:bufferToUint8Array((0,he.readFileSync)(a)),optionName:A}};const getTargetFdNumber=(r,A)=>{if(r==="inherit"){return A}if(typeof r==="number"){return r}const s=Te.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=Te[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(ht.has(r)){return getDuplicateStreamInstance({otherStdioItems:l,type:r,value:A,optionName:s,direction:n})}if(dt.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(Et.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.path===s.path}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 ${pt[s]} that is the same.`)}};const handleStdio=(r,A,s,n)=>{const a=normalizeStdioOption(A,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(It.has(A)){throw new Error(`The \`${s}\` option must not include \`${A}\`.`)}}};const It=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})=>gt.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(yt,r,A,true);const forbiddenIfSync=({type:r,optionName:A})=>{throwInvalidSyncValue(A,pt[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 mt={generator(){},asyncGenerator:forbiddenIfSync,webStream:forbiddenIfSync,nodeStream:forbiddenIfSync,webTransform:forbiddenIfSync,duplex:forbiddenIfSync,asyncIterable:forbiddenIfSync,native:forbiddenNativeIfSync};const yt={input:{...mt,fileUrl:({value:r})=>({contents:[bufferToUint8Array((0,he.readFileSync)(r))]}),filePath:({value:{file:r}})=>({contents:[bufferToUint8Array((0,he.readFileSync)(r))]}),fileNumber:forbiddenIfSync,iterable:({value:r})=>({contents:[...r]}),string:({value:r})=>({contents:[r]}),uint8Array:({value:r})=>({contents:[r]})},output:{...mt,fileUrl:({value:r})=>({path:r}),filePath:({value:{file:r}})=>({path:r}),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 Dt=s(4492);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"?wt:bt;if(A.at(-1)===a){yield A;return}const l=r?n:s;yield u(A,l)};const concatString=(r,A)=>`${r}${A}`;const wt={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 bt={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:concatUint8Array};const Rt=__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)&&!Rt.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(Rt.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 St=(0,ue.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 kt=(0,ue.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?St.bind(undefined,transformChunk,g):pushChunksSync.bind(undefined,transformChunkSync);const B=d||p?St.bind(undefined,finalChunks,g):pushChunksSync.bind(undefined,finalChunksSync);const Q=d||p?kt.bind(undefined,g):undefined;const I=new Dt.Transform({writableObjectMode:n,writableHighWaterMark:(0,Dt.getDefaultHighWaterMark)(n),readableObjectMode:a,readableHighWaterMark:(0,Dt.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 ${pt[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:{verbose:s},fdNumber:n})=>n!=="all"&&s[n]==="full"&&!Je.has(A)&&fdUsesVerbose(n)&&(r.some((({type:r,value:A})=>r==="native"&&Ft.has(A)))||r.every((({type:r})=>lt.has(r))));const fdUsesVerbose=r=>r===1||r===2;const Ft=new Set(["pipe","overlapped"]);const logLines=async(r,A,s)=>{for await(const n of r){if(!isPipingStream(A)){logLine(n,s)}}};const logLinesSync=(r,A)=>{for(const s of r){logLine(s,A)}};const isPipingStream=r=>r._readableState.pipes.length>0;const logLine=(r,{verboseId:A})=>{const s=typeof r==="string"?r:(0,ue.inspect)(r);const n=escapeLines(s);const a=n.replaceAll("\t"," ".repeat(Tt));verboseLog(a,A,"output")};const Tt=2;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:D,finalResult:w=D}=serializeChunks({chunks:y,objectMode:m,encoding:E,lines:d,stripFinalNewline:p,fdNumber:s});if(shouldLogOutput({stdioItems:I,encoding:E,verboseInfo:l,fdNumber:s})){const r=splitLinesSync(D,false,m);logLinesSync(r,l)}const b=g[s]?w:undefined;try{if(n.error===undefined){writeToFiles(D,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 writeToFiles=(r,A,s)=>{for(const{path:n}of A.filter((({type:r})=>gt.has(r)))){const A=typeof n==="string"?n:n.toString();if(s.has(A)){(0,he.appendFileSync)(n,r)}else{s.add(A);(0,he.writeFileSync)(n,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}`};var Nt=s(5673);const waitForExit=async r=>{const[A,s]=await Promise.allSettled([(0,Nt.once)(r,"spawn"),(0,Nt.once)(r,"exit")]);if(A.status==="rejected"){return[]}return s.status==="rejected"?waitForSubprocessExit(r):s.value};const waitForSubprocessExit=async r=>{try{return await(0,Nt.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);try{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}}catch(r){logEarlyResult(r,u,l);throw r}};const normalizeSyncOptions=r=>r.node&&!r.ipc?{...r,ipc:false}:r;const validateSyncOptions=({ipc:r,detached:A,cancelSignal:s})=>{if(r){throwInvalidSyncOption("ipc: true")}if(A){throwInvalidSyncOption("detached: true")}if(s){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 D=stripNewline(getAllSync(I,s),s,"all");return getSyncResult({error:m,exitCode:p,signal:C,timedOut:B,isMaxBuffer:Q,stdio:y,all:D,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,options:g,startTime:p}):makeError({error:r,command:E,escapedCommand:d,timedOut:n,isCanceled:false,isMaxBuffer:a,exitCode:A,signal:s,stdio:u,all:l,options:g,startTime:p,isSync:true});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 Dt.PassThrough;r.end();return r};const readable=()=>new Dt.Readable({read(){}});const writable=()=>new Dt.Writable({write(){}});const duplex=()=>new Dt.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 ${pt[r]}.`)};const vt={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=Dt.Duplex.fromWeb(r,{objectMode:n});return{stream:a}},duplex:({value:{transform:r}})=>({stream:r}),native(){}};const _t={input:{...vt,fileUrl:({value:r})=>({stream:(0,he.createReadStream)(r)}),filePath:({value:{file:r}})=>({stream:(0,he.createReadStream)(r)}),webStream:({value:r})=>({stream:Dt.Readable.fromWeb(r)}),iterable:({value:r})=>({stream:Dt.Readable.from(r)}),asyncIterable:({value:r})=>({stream:Dt.Readable.from(r)}),string:({value:r})=>({stream:Dt.Readable.from(r)}),uint8Array:({value:r})=>({stream:Dt.Readable.from(Rt.Buffer.from(r))})},output:{...vt,fileUrl:({value:r})=>({stream:(0,he.createWriteStream)(r)}),filePath:({value:{file:r}})=>({stream:(0,he.createWriteStream)(r)}),webStream:({value:r})=>({stream:Dt.Writable.fromWeb(r)}),iterable:forbiddenIfAsync,asyncIterable:forbiddenIfAsync,string:forbiddenIfAsync,uint8Array:forbiddenIfAsync}};const Ut=__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,Dt.getDefaultHighWaterMark)(A)}const s=r.filter((({readableObjectMode:r})=>r===A)).map((({readableHighWaterMark:r})=>r));return Math.max(...s)};class MergedStream extends Dt.PassThrough{#m=new Set([]);#y=new Set([]);#D=new Set([]);#w;#b=Symbol("unpipe");#R=new WeakMap;add(r){validateStream(r);if(this.#m.has(r)){return}this.#m.add(r);this.#w??=onMergedStreamFinished(this,this.#m,this.#b);const A=endWhenStreamsDone({passThroughStream:this,stream:r,streams:this.#m,ended:this.#y,aborted:this.#D,onFinished:this.#w,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,Lt);const n=new AbortController;try{await Promise.race([onMergedStreamEnd(r,n),onInputStreamsUnpipe(r,A,s,n)])}finally{n.abort();updateMaxListeners(r,-Lt)}};const onMergedStreamEnd=async(r,{signal:A})=>{try{await(0,Ut.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,Nt.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,Mt);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,-Mt)}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,Ut.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,Nt.once)(r,a,{signal:u});if(!r.readable){return(0,Nt.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 Lt=2;const Mt=1;const incrementMaxListeners=(r,A,s)=>{const n=r.getMaxListeners();if(n===0||n===Number.POSITIVE_INFINITY){return}r.setMaxListeners(n+A);(0,Nt.addAbortListener)(s,(()=>{r.setMaxListeners(r.getMaxListeners()-A)}))};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,Ut.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,Ut.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})=>lt.has(r)))){pipeTransform(r,A,l,a)}for(const{stream:A}of u.filter((({type:r})=>!lt.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=Gt[n];if(a!==undefined){r[a]=A}r.stdio[n]=A};const Gt=["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,Pt,A)}};const Pt=2;const Ot=[];Ot.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32"){Ot.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(process.platform==="linux"){Ot.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 xt=Symbol.for("signal-exit emitter");const Ht=globalThis;const Yt=Object.defineProperty.bind(Object);class Emitter{emitted={afterExit:false,exit:false};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Ht[xt]){return Ht[xt]}Yt(Ht,xt,{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=Jt.platform==="win32"?"SIGINT":"SIGHUP";#k=new Emitter;#F;#T;#N;#v={};#_=false;constructor(r){super();this.#F=r;this.#v={};for(const A of Ot){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 Ot){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;Ot.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 Jt=globalThis.process;const{onExit:Vt,load:Wt,unload:qt}=signalExitWrap(processOk(Jt)?new SignalExit(Jt):new SignalExitFallback);const cleanupOnExit=(r,{cleanup:A,detached:s},{signal:n})=>{if(!A||s){return}const a=Vt((()=>{r.kill()}));(0,Nt.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}=Qt.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){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(Qt.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:jt,escapedCommand:jt,fileDescriptors:A,options:s,startTime:n,isSync:false});const jt="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=Kt.has(A)?pipeMoreSubprocessStream(r,A):pipeFirstSubprocessStream(r,A);incrementMaxListeners(r,zt,s.signal);incrementMaxListeners(A,Zt,s.signal);cleanupMergedStreamsMap(A);return n};const pipeFirstSubprocessStream=(r,A)=>{const s=mergeStreams([r]);pipeStreams(s,A);Kt.set(A,s);return s};const pipeMoreSubprocessStream=(r,A)=>{const s=Kt.get(A);s.add(r);return s};const cleanupMergedStreamsMap=async r=>{try{await(0,Ut.finished)(r,{cleanup:true,readable:false,writable:true})}catch{}Kt.delete(r)};const Kt=new WeakMap;const zt=2;const Zt=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,ue.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,Xt,A)}const initArray=()=>({contents:[]});const increment=()=>1;const addArrayChunk=(r,{contents:A})=>{A.push(r);return A};const Xt={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,tr,A)}const initArrayBuffer=()=>({contents:new ArrayBuffer(0)});const useTextEncoder=r=>$t.encode(r);const $t=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=>er**Math.ceil(Math.log(r)/Math.log(er));const er=2;const finalizeArrayBuffer=({contents:r,length:A})=>hasArrayBufferResize()?r:r.slice(0,A);const hasArrayBufferResize=()=>"resize"in ArrayBuffer.prototype;const tr={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,rr,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 rr={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,Nt.on)(r,"data",{signal:A.signal,highWaterMark:sr,highWatermark:sr});return iterateOnData({onStdoutChunk:g,controller:A,binary:s,shouldEncode:n,encoding:a,shouldSplit:u,preserveNewlines:l})};const Ar=(0,Dt.getDefaultHighWaterMark)(true);const sr=Ar;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:{fileDescriptors:p}})=>{if(shouldLogOutput({stdioItems:p[s]?.stdioItems,encoding:n,verboseInfo:d,fdNumber:s})){const s=iterateForResult({stream:r,onStreamEnd:A,lines:true,encoding:n,stripFinalNewline:true,allMixed:g});logLines(s,r,d)}if(!a){await resumeStream(r);return}const C=getStripFinalNewline(E,s);const B=iterateForResult({stream:r,onStreamEnd:A,lines:l,encoding:n,stripFinalNewline:C,allMixed:g});return contents_getStreamContents({stream:r,iterable:B,fdNumber:s,encoding:n,maxBuffer:u,lines:l})};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,Ut.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 waitForSubprocessResult=async({subprocess:r,options:{encoding:A,buffer:s,maxBuffer:n,lines:a,timeoutDuration:u,stripFinalNewline:l},context:g,verboseInfo:E,fileDescriptors:d,originalStreams:p,onInternalError:C,controller:B})=>{const Q=waitForExit(r);const I={originalStreams:p,fileDescriptors:d,subprocess:r,exitPromise:Q,propagating:false};const m=waitForStdioStreams({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:l,verboseInfo:E,streamInfo:I});const y=waitForAllStream({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:l,verboseInfo:E,streamInfo:I});const D=waitForOriginalStreams(p,r,I);const w=waitForCustomStreamsEnd(d,I);try{return await Promise.race([Promise.all([{},waitForSuccessfulExit(Q),Promise.all(m),y,...D,...w]),C,throwOnSubprocessError(r,B),...throwOnTimeout(r,u,g,B)])}catch(r){return Promise.all([{error:r},Q,Promise.all(m.map((r=>getBufferedData(r)))),getBufferedData(y),Promise.allSettled(D),Promise.allSettled(w)])}};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:lt.has(r),stopOnExit:r==="native"})))));const throwOnSubprocessError=async(r,{signal:A})=>{const[s]=await(0,Nt.once)(r,"error",{signal:A});throw s};const createDeferred=()=>{const r={};const A=new Promise(((A,s)=>{Object.assign(r,{resolve:A,reject:s})}));return Object.assign(A,r)};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,Ut.finished)(r,{cleanup:true,readable:false,writable:true})};const waitForSubprocessStdout=async r=>{await(0,Ut.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||Je.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 Dt.Readable({read:B,destroy:(0,ue.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:Ar};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 Dt.Writable({...getWritableMethods(n,r,a),destroy:(0,ue.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,ue.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||Je.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:m}=getReadableOptions(E,g);const{read:y,onStdoutDataDone:D}=getReadableMethods({subprocessStdout:E,subprocess:r,binary:g,encoding:s,preserveNewlines:l});const w=new Dt.Duplex({read:y,...getWritableMethods(p,r,C),destroy:(0,ue.callbackify)(onDuplexDestroy.bind(undefined,{subprocessStdout:E,subprocessStdin:p,subprocess:r,waitReadableDestroy:d,waitWritableFinal:C,waitWritableDestroy:B})),readableHighWaterMark:m,writableHighWaterMark:p.writableHighWaterMark,readableObjectMode:I,writableObjectMode:p.writableObjectMode,encoding:Q});onStdoutFinished({subprocessStdout:E,onStdoutDataDone:D,readable:w,subprocess:r,subprocessStdin:p});onStdinFinished(p,w,E);return w};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||Je.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 or){const a=n.value.bind(A);Reflect.defineProperty(r,s,{...n,value:a})}};const nr=(async()=>{})().constructor.prototype;const or=["then","catch","finally"].map((r=>[r,Reflect.getOwnPropertyDescriptor(nr,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);Qt.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);try{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}}catch(r){logEarlyResult(r,u,l);throw r}};const handleAsyncOptions=({timeout:r,signal:A,cancelSignal:s,...n})=>{if(A!==undefined){throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.')}return{...n,timeoutDuration:r,signal:s}};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,Nt.setMaxListeners)(Number.POSITIVE_INFINITY,p.signal);const C=[...d.stdio];pipeOutputAsync(d,E,p);cleanupOnExit(d,s,p);const B=createDeferred();d.kill=subprocessKill.bind(undefined,{kill:d.kill.bind(d),options:s,onInternalError:B,controller:p});d.all=makeAllStream(d,s);addConvertedStreams(d,s);const Q=handlePromise({subprocess:d,options:s,startTime:n,verboseInfo:a,fileDescriptors:E,originalStreams:C,command:u,escapedCommand:l,onInternalError:B,controller:p});return{subprocess:d,promise:Q}};const handlePromise=async({subprocess:r,options:A,startTime:s,verboseInfo:n,fileDescriptors:a,originalStreams:u,command:l,escapedCommand:g,onInternalError:E,controller:d})=>{const p={timedOut:false};const[C,[B,Q],I,m]=await waitForSubprocessResult({subprocess:r,options:A,context:p,verboseInfo:n,fileDescriptors:a,originalStreams:u,onInternalError:E,controller:d});d.abort();E.resolve();const y=I.map(((r,s)=>stripNewline(r,A,s)));const D=stripNewline(m,A,"all");const w=getAsyncResult({errorInfo:C,exitCode:B,signal:Q,stdio:y,all:D,context:p,options:A,command:l,escapedCommand:g,startTime:s});return handleResult(w,n,A)};const getAsyncResult=({errorInfo:r,exitCode:A,signal:s,stdio:n,all:a,context:u,options:l,command:g,escapedCommand:E,startTime:d})=>"error"in r?makeError({error:r.error,command:g,escapedCommand:E,timedOut:u.timedOut,isCanceled:l.signal?.aborted===true,isMaxBuffer:r.error instanceof MaxBufferError,exitCode:A,signal:s,stdio:n,all:a,options:l,startTime:d,isSync:false}):makeSuccessResult({command:g,escapedCommand:E,stdio:n,all:a,options:l,startTime:d});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(ir.has(r)&&isPlainObject(A)&&isPlainObject(s)){return{...A,...s}}return s};const ir=new Set(["env",...Ue]);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=[];for(const A of r.trim().split(ar)){const r=s.at(-1);if(r&&r.endsWith("\\")){s[s.length-1]=`${r.slice(0,-1)} ${A}`}else{s.push(A)}}const[n,...a]=s;return{file:n,commandArguments:a}};const ar=/ +/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 cr={preferLocal:true};const ur=createExeca((()=>({})));const lr=createExeca((()=>({isSync:true})));const gr=createExeca(mapCommandAsync);const Er=createExeca(mapCommandSync);const hr=createExeca(mapNode);const dr=createExeca(mapScriptAsync,{},cr,setScriptSync);var pr=s(1220);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 Dt.PassThrough{#m=new Set([]);#y=new Set([]);#D=new Set([]);#w;add(r){merge_streams_validateStream(r);if(this.#m.has(r)){return}this.#m.add(r);this.#w??=merge_streams_onMergedStreamFinished(this,this.#m);merge_streams_endWhenStreamsDone({passThroughStream:this,stream:r,streams:this.#m,ended:this.#y,aborted:this.#D,onFinished:this.#w});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,fr);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,-fr)}};const merge_streams_onMergedStreamEnd=async(r,{signal:A})=>{await(0,Ut.finished)(r,{signal:A,cleanup:true})};const merge_streams_onInputStreamsUnpipe=async(r,A,{signal:s})=>{for await(const[n]of(0,Nt.on)(r,"unpipe",{signal:s})){if(A.has(n)){n.emit(Cr)}}};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,Br);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,-Br)}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,Ut.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,Nt.once)(r,Cr,{signal:a});A.delete(r);s.delete(r);n.delete(r)};const Cr=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 fr=2;const Br=1;var Qr=s(6581);async function isType(r,A,s){if(typeof s!=="string"){throw new TypeError(`Expected a string, got ${typeof s}`)}try{const a=await n.promises[r](s);return a[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 n[r](s)[A]()}catch(r){if(r.code==="ENOENT"){return false}throw r}}const Ir=isType.bind(null,"stat","isFile");const mr=isType.bind(null,"stat","isDirectory");const yr=isType.bind(null,"lstat","isSymbolicLink");const Dr=isTypeSync.bind(null,"statSync","isFile");const wr=isTypeSync.bind(null,"statSync","isDirectory");const br=isTypeSync.bind(null,"lstatSync","isSymbolicLink");function toPath(r){return r instanceof URL?(0,l.fileURLToPath)(r):r}const Rr=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs/promises");var Sr=s(9910);function slash(r){const A=r.startsWith("\\\\?\\");if(A){return r}return r.replace(/\\/g,"/")}const isNegativePattern=r=>r[0]==="!";const kr=["**/node_modules","**/flow-typed","**/coverage","**/.git"];const Fr={absolute:true,dot:true};const Tr="**/.gitignore";const applyBaseToPattern=(r,A)=>isNegativePattern(r)?"!"+Le.posix.join(A,r.slice(1)):Le.posix.join(A,r);const parseIgnoreFile=(r,A)=>{const s=slash(Le.relative(A,Le.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(Le.isAbsolute(r)){if(slash(r).startsWith(A)){return Le.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=Sr().add(s);return r=>{r=toPath(r);r=toRelativePath(r,A);return r?n.ignores(slash(r)):false}};const ignore_normalizeOptions=(r={})=>({cwd:toPath(r.cwd)??de.cwd(),suppressErrors:Boolean(r.suppressErrors),deep:typeof r.deep==="number"?r.deep:Number.POSITIVE_INFINITY,ignore:[...r.ignore??[],...kr]});const isIgnoredByIgnoreFiles=async(r,A)=>{const{cwd:s,suppressErrors:n,deep:a,ignore:u}=ignore_normalizeOptions(A);const l=await Qr(r,{cwd:s,suppressErrors:n,deep:a,ignore:u,...Fr});const g=await Promise.all(l.map((async r=>({filePath:r,content:await Rr.readFile(r,"utf8")}))));return getIsIgnoredPredicate(g,s)};const isIgnoredByIgnoreFilesSync=(r,A)=>{const{cwd:s,suppressErrors:n,deep:a,ignore:u}=ignore_normalizeOptions(A);const l=Qr.sync(r,{cwd:s,suppressErrors:n,deep:a,ignore:u,...Fr});const g=l.map((r=>({filePath:r,content:he.readFileSync(r,"utf8")})));return getIsIgnoredPredicate(g,s)};const isGitIgnored=r=>isIgnoredByIgnoreFiles(Tr,r);const isGitIgnoredSync=r=>isIgnoredByIgnoreFilesSync(Tr,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 Le.isAbsolute(s)?s:Le.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=>Le.posix.join(r,`**/${Le.extname(A)?A:`${A}${n}`}`))):[Le.posix.join(r,`**${n?`/*${n}`:""}`)]};const directoryToGlob=async(r,{cwd:A=de.cwd(),files:s,extensions:n}={})=>{const a=await Promise.all(r.map((async r=>await mr(normalizePathForDirectoryGlob(r,A))?getDirectoryGlob({directoryPath:r,files:s,extensions:n}):r)));return a.flat()};const directoryToGlobSync=(r,{cwd:A=de.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=he.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: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(Tr)}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=Le.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 Nr=normalizeArguments((async(r,A)=>{const[s,n]=await Promise.all([generateTasks(r,A),getFilter(A)]);const a=await Promise.all(s.map((r=>Qr(r.patterns,r.options))));return unionFastGlobResults(a,n)}));const vr=normalizeArgumentsSync(((r,A)=>{const s=generateTasksSync(r,A);const n=getFilterSync(A);const a=s.map((r=>Qr.sync(r.patterns,r.options)));return unionFastGlobResults(a,n)}));const _r=normalizeArgumentsSync(((r,A)=>{const s=generateTasksSync(r,A);const n=getFilterSync(A);const a=s.map((r=>Qr.stream(r.patterns,r.options)));const u=merge_streams_mergeStreams(a).filter((r=>n(r)));return u}));const Ur=normalizeArgumentsSync(((r,A)=>r.some((r=>Qr.isDynamicPattern(r,A)))));const Lr=normalizeArguments(generateTasks);const Mr=normalizeArgumentsSync(generateTasksSync);const{convertPathToPattern:Gr}=Qr;var Pr=s(9598);const Or=[".app.tar.gz.sig",".app.tar.gz",".dmg",".AppImage.tar.gz.sig",".AppImage.tar.gz",".AppImage",".deb",".rpm",".msi.zip.sig",".msi.zip",".msi",".nsis.zip.sig",".nsis.zip",".exe"];function getAssetName(r){const A=u().basename(r);const s=Or.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=vr(["**/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,pr.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=vr(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,pr.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,pr.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,pr.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 execCommand(r,A,{cwd:s}={}){console.log(`running ${r}`,A);return ur(r,A,{cwd:s,stdio:"inherit",env:{FORCE_COLOR:"0"}}).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=Pr.u.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}}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}}},9491:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("assert")},852:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("async_hooks")},4300:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("buffer")},2081:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("child_process")},6206:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("console")},6113:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("crypto")},7643:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("diagnostics_channel")},2361:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("events")},7147:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("fs")},3685:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http")},5158:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http2")},5687:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("https")},1808:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("net")},5673:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:events")},4492:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream")},7261:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:util")},2037:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("os")},1017:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("path")},4074:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("perf_hooks")},3477:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("querystring")},2781:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream")},5356:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream/web")},1576:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("string_decoder")},4404:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("tls")},7310:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("url")},3837:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util")},9830:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util/types")},1267:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("worker_threads")},9796:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("zlib")},5992:(r,A,s)=>{const n=s(4492).Writable;const a=s(7261).inherits;const u=s(3304);const l=s(4215);const g=s(5412);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(5673).EventEmitter;const a=s(7261).inherits;const u=s(2160);const l=s(3304);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(7261).inherits;const a=s(4492).Readable;function PartStream(r){a.call(this,r)}n(PartStream,a);PartStream.prototype._read=function(r){};r.exports=PartStream},3304:(r,A,s)=>{const n=s(5673).EventEmitter;const a=s(7261).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(4492).Writable;const{inherits:a}=s(7261);const u=s(5992);const l=s(6311);const g=s(6173);const E=s(3576);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},6311:(r,A,s)=>{const{Readable:n}=s(4492);const{inherits:a}=s(7261);const u=s(5992);const l=s(3576);const g=s(884);const E=s(6504);const d=s(2160);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 D=A.isPartAFile||((r,A,s)=>A==="application/octet-stream"||s!==undefined);const w=A.parsedConType||[];const b=A.defCharset||"utf8";const R=A.preservePath;const S={highWaterMark:A.fileHwm};for(s=0,n=w.length;sv){a.parser.removeListener("part",onPart);a.parser.on("part",skipPart);r.hitPartsLimit=true;r.emit("partsLimit");return skipPart(A)}if(O){const r=O;r.emit("end");r.removeAllListeners("end")}A.on("header",(function(u){let d;let p;let m;let y;let w;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=_};x=function(){P=undefined;s.push(null)}}else{if(M===N){if(!r.hitFieldsLimit){r.hitFieldsLimit=true;r.emit("fieldsLimit")}return skipPart(A)}++M;++G;let s="";let n=false;O=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")}};x=function(){O=undefined;if(s.length){s=g(s,"binary",y)}r.emit("field",p,s,false,n,w,d);--G;checkFinished()}}A._readableState.sync=false;A.on("data",U);A.on("end",x)})).on("error",(function(r){if(P){P.emit("error",r)}}))})).on("error",(function(A){r.emit("error",A)})).on("finish",(function(){x=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},6173:(r,A,s)=>{const n=s(9687);const a=s(884);const u=s(2160);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},9687: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}},884: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},2160: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]}},3576:(r,A,s)=>{const n=s(884);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,{Z:()=>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){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)}})();(()=>{__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__(2694);__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(2781);const a=s(7643);const{parserStates:u,opcodes:l,states:g,emptyBuffer:E}=s(7479);const{kReadyState:d,kSentClose:p,kResponse:C,kReceivedClose:B}=s(6949);const{isValidStatusCode:Q,failWebsocketConnection:I,websocketMessageReceived:m}=s(4603);const{WebsocketFrameSend:y}=s(5156);const D={};D.ping=a.channel("undici:websocket:ping");D.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(D.ping.hasSubscribers){D.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(D.pong.hasSubscribers){D.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}},6949: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")}},4603:(r,A,s)=>{const{kReadyState:n,kController:a,kResponse:u,kBinaryType:l,kWebSocketURL:g}=s(6949);const{states:E,opcodes:d}=s(7479);const{MessageEvent:p,ErrorEvent:C}=s(9134);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}},553:(r,A,s)=>{const{webidl:n}=s(3721);const{DOMException:a}=s(756);const{URLSerializer:u}=s(6932);const{getGlobalOrigin:l}=s(128);const{staticPropertyDescriptors:g,states:E,opcodes:d,emptyBuffer:p}=s(7479);const{kWebSocketURL:C,kReadyState:B,kController:Q,kBinaryType:I,kResponse:m,kSentClose:y,kByteParser:D}=s(6949);const{isEstablished:w,isClosing:b,isValidSubprotocol:R,failWebsocketConnection:S,fireEvent:k}=s(4603);const{establishWebSocketConnection:F}=s(3592);const{WebsocketFrameSend:T}=s(5156);const{ByteParser:N}=s(4944);const{kEnumerableProperty:v,isBlobLike:_}=s(9647);const{getGlobalDispatcher:U}=s(5683);const{types:L}=s(3837);let M=false;class WebSocket extends EventTarget{#l={open:null,error:null,close:null,message:null};#g=0;#E="";#h="";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(!w(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(!w(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.#h}get protocol(){n.brandCheck(this,WebSocket);return this.#E}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[D]=A;this[B]=E.OPEN;const s=r.headersList.get("sec-websocket-extensions");if(s!==null){this.#h=s}const n=r.headersList.get("sec-websocket-protocol");if(n!==null){this.#E=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}},5592:(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},7338:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});Object.defineProperty(A,"v1",{enumerable:true,get:function(){return n.default}});Object.defineProperty(A,"v3",{enumerable:true,get:function(){return a.default}});Object.defineProperty(A,"v4",{enumerable:true,get:function(){return u.default}});Object.defineProperty(A,"v5",{enumerable:true,get:function(){return l.default}});Object.defineProperty(A,"NIL",{enumerable:true,get:function(){return g.default}});Object.defineProperty(A,"version",{enumerable:true,get:function(){return E.default}});Object.defineProperty(A,"validate",{enumerable:true,get:function(){return d.default}});Object.defineProperty(A,"stringify",{enumerable:true,get:function(){return p.default}});Object.defineProperty(A,"parse",{enumerable:true,get:function(){return C.default}});var n=_interopRequireDefault(s(6101));var a=_interopRequireDefault(s(9456));var u=_interopRequireDefault(s(1071));var l=_interopRequireDefault(s(8057));var g=_interopRequireDefault(s(7448));var E=_interopRequireDefault(s(5530));var d=_interopRequireDefault(s(324));var p=_interopRequireDefault(s(5284));var C=_interopRequireDefault(s(6067));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}},8612:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(6113));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function md5(r){if(Array.isArray(r)){r=Buffer.from(r)}else if(typeof r==="string"){r=Buffer.from(r,"utf8")}return n.default.createHash("md5").update(r).digest()}var a=md5;A["default"]=a},7448:(r,A)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var s="00000000-0000-0000-0000-000000000000";A["default"]=s},6067:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(324));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function parse(r){if(!(0,n.default)(r)){throw TypeError("Invalid UUID")}let A;const s=new Uint8Array(16);s[0]=(A=parseInt(r.slice(0,8),16))>>>24;s[1]=A>>>16&255;s[2]=A>>>8&255;s[3]=A&255;s[4]=(A=parseInt(r.slice(9,13),16))>>>8;s[5]=A&255;s[6]=(A=parseInt(r.slice(14,18),16))>>>8;s[7]=A&255;s[8]=(A=parseInt(r.slice(19,23),16))>>>8;s[9]=A&255;s[10]=(A=parseInt(r.slice(24,36),16))/1099511627776&255;s[11]=A/4294967296&255;s[12]=A>>>24&255;s[13]=A>>>16&255;s[14]=A>>>8&255;s[15]=A&255;return s}var a=parse;A["default"]=a},7610:(r,A)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var s=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;A["default"]=s},6750:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=rng;var n=_interopRequireDefault(s(6113));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}const a=new Uint8Array(256);let u=a.length;function rng(){if(u>a.length-16){n.default.randomFillSync(a);u=0}return a.slice(u,u+=16)}},4920:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(6113));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function sha1(r){if(Array.isArray(r)){r=Buffer.from(r)}else if(typeof r==="string"){r=Buffer.from(r,"utf8")}return n.default.createHash("sha1").update(r).digest()}var a=sha1;A["default"]=a},5284:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(324));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}const a=[];for(let r=0;r<256;++r){a.push((r+256).toString(16).substr(1))}function stringify(r,A=0){const s=(a[r[A+0]]+a[r[A+1]]+a[r[A+2]]+a[r[A+3]]+"-"+a[r[A+4]]+a[r[A+5]]+"-"+a[r[A+6]]+a[r[A+7]]+"-"+a[r[A+8]]+a[r[A+9]]+"-"+a[r[A+10]]+a[r[A+11]]+a[r[A+12]]+a[r[A+13]]+a[r[A+14]]+a[r[A+15]]).toLowerCase();if(!(0,n.default)(s)){throw TypeError("Stringified UUID is invalid")}return s}var u=stringify;A["default"]=u},6101:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(6750));var a=_interopRequireDefault(s(5284));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}let u;let l;let g=0;let E=0;function v1(r,A,s){let d=A&&s||0;const p=A||new Array(16);r=r||{};let C=r.node||u;let B=r.clockseq!==undefined?r.clockseq:l;if(C==null||B==null){const A=r.random||(r.rng||n.default)();if(C==null){C=u=[A[0]|1,A[1],A[2],A[3],A[4],A[5]]}if(B==null){B=l=(A[6]<<8|A[7])&16383}}let Q=r.msecs!==undefined?r.msecs:Date.now();let I=r.nsecs!==undefined?r.nsecs:E+1;const m=Q-g+(I-E)/1e4;if(m<0&&r.clockseq===undefined){B=B+1&16383}if((m<0||Q>g)&&r.nsecs===undefined){I=0}if(I>=1e4){throw new Error("uuid.v1(): Can't create more than 10M uuids/sec")}g=Q;E=I;l=B;Q+=122192928e5;const y=((Q&268435455)*1e4+I)%4294967296;p[d++]=y>>>24&255;p[d++]=y>>>16&255;p[d++]=y>>>8&255;p[d++]=y&255;const D=Q/4294967296*1e4&268435455;p[d++]=D>>>8&255;p[d++]=D&255;p[d++]=D>>>24&15|16;p[d++]=D>>>16&255;p[d++]=B>>>8|128;p[d++]=B&255;for(let r=0;r<6;++r){p[d+r]=C[r]}return A||(0,a.default)(p)}var d=v1;A["default"]=d},9456:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(9390));var a=_interopRequireDefault(s(8612));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}const u=(0,n.default)("v3",48,a.default);var l=u;A["default"]=l},9390:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=_default;A.URL=A.DNS=void 0;var n=_interopRequireDefault(s(5284));var a=_interopRequireDefault(s(6067));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function stringToBytes(r){r=unescape(encodeURIComponent(r));const A=[];for(let s=0;s{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(6750));var a=_interopRequireDefault(s(5284));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function v4(r,A,s){r=r||{};const u=r.random||(r.rng||n.default)();u[6]=u[6]&15|64;u[8]=u[8]&63|128;if(A){s=s||0;for(let r=0;r<16;++r){A[s+r]=u[r]}return A}return(0,a.default)(u)}var u=v4;A["default"]=u},8057:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(9390));var a=_interopRequireDefault(s(4920));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}const u=(0,n.default)("v5",80,a.default);var l=u;A["default"]=l},324:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(7610));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function validate(r){return typeof r==="string"&&n.default.test(r)}var a=validate;A["default"]=a},5530:(r,A,s)=>{Object.defineProperty(A,"__esModule",{value:true});A["default"]=void 0;var n=_interopRequireDefault(s(324));function _interopRequireDefault(r){return r&&r.__esModule?r:{default:r}}function version(r){if(!(0,n.default)(r)){throw TypeError("Invalid UUID")}return parseInt(r.substr(14,1),16)}var a=version;A["default"]=a},6594:(r,A,s)=>{const n=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";const a=s(1017);const u=n?";":":";const l=s(1784);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,{_:()=>buildProject});var n=s(7147);var a=s(1017);var u=s(9598);var l=s(1188);async function initProject(r,A,s){await A.execTauriCommand(["init"],["--ci"],r);const n=(0,l.tK)(r);if(n===null){console.error("Failed to resolve Tauri path");process.exit(1)}const g=u.u.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){const n=[];if(this.bin==="npm"&&this.tauriScript[0]!=="run"){n.push("run")}n.push(...this.tauriScript);n.push(...r);if(this.bin==="npm"&&A.length){n.push("--")}n.push(...A);return(0,l.ic)(this.bin,n,{cwd:s})}}async function getRunner(r,A){if(A){const[r,...s]=A.split(" ");return new Runner(r,s)}if((0,l.SM)("@tauri-apps/cli",r)){if((0,l.og)(r))return new Runner("yarn",["tauri"]);if((0,l.m5)(r))return new Runner("pnpm",["tauri"]);return new Runner("npm",["run","tauri"])}await(0,l.ic)("npm",["install","-g","@tauri-apps/cli"],{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.sA)(p);if(!(0,l.tK)(r)){await initProject(r,g,u)}const y=(0,l.C5)(r,m,B);if(!y.tauriPath){throw Error("Couldn't detect path of tauri app")}const D={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);const w=D.name.replace(/([a-z0-9])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z])(?=[a-z])/g,"$1-$2").replace(/[ _.]/g,"-").toLowerCase();const b=(0,l.pZ)(D.tauriPath)??D.tauriPath;const R=(0,a.join)((0,l.Uv)(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/${D.name}_${D.version}_${k}.dmg`),(0,a.join)(R,`bundle/macos/${D.name}.app`),(0,a.join)(R,`bundle/macos/${D.name}.app.tar.gz`),(0,a.join)(R,`bundle/macos/${D.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 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)(R,`bundle/msi/${D.name}_${D.wixAppVersion}_${k}_${r}.msi`));A.push((0,a.join)(R,`bundle/msi/${D.name}_${D.wixAppVersion}_${k}_${r}.msi.zip`));A.push((0,a.join)(R,`bundle/msi/${D.name}_${D.wixAppVersion}_${k}_${r}.msi.zip.sig`))}));A.push((0,a.join)(R,`bundle/nsis/${D.name}_${D.version}_${k}-setup.exe`));A.push((0,a.join)(R,`bundle/nsis/${D.name}_${D.version}_${k}-setup.nsis.zip`));A.push((0,a.join)(R,`bundle/nsis/${D.name}_${D.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;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/${D.name}_${D.version}_${r}.deb`),arch:r},{path:(0,a.join)(R,`bundle/rpm/${w}-${D.version}-${D.rpmRelease}.${A}.rpm`),arch:A},{path:(0,a.join)(R,`bundle/appimage/${D.name}_${D.version}_${s}.AppImage`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${D.name}_${D.version}_${s}.AppImage.tar.gz`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${D.name}_${D.version}_${s}.AppImage.tar.gz.sig`),arch:s}];if(D.name!=w){S.push({path:(0,a.join)(R,`bundle/deb/${w}_${D.version}_${r}.deb`),arch:r},{path:(0,a.join)(R,`bundle/appimage/${w}_${D.version}_${s}.AppImage`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${w}_${D.version}_${s}.AppImage.tar.gz`),arch:s},{path:(0,a.join)(R,`bundle/appimage/${w}_${D.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)))}},9598:(r,A,s)=>{s.d(A,{u:()=>TauriConfig});var n=s(7147);var a=s.n(n);var u=s(1017);var l=s.n(u);var g=s(1220);var E=s(1482);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}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;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}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))}}}},3551:(r,A,s)=>{s.d(A,{r:()=>createRelease});var n=s(7147);var a=s.n(n);var u=s(9093);var l=s.n(u);var g=s(5942);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}}},2694:(r,A,s)=>{s.a(r,(async(r,A)=>{try{var n=s(7147);var a=s.n(n);var u=s(1017);var l=s.n(u);var g=s(9093);var E=s.n(g);var d=s(5942);var p=s.n(d);var C=s(314);var B=s(3551);var Q=s(6188);var I=s(9173);var m=s(7023);var y=s(1188);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 D=g.getBooleanInput("includeUpdaterJson");const w=g.getBooleanInput("updaterJsonKeepUniversal");const b=g.getInput("tauriScript");const R=(0,C.Z)(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 G=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 P={tauriScript:b,args:R};const O={distPath:A,iconPath:s,bundleIdentifier:S,appName:a,appVersion:l};const x=[...R].findIndex((r=>r==="-t"||r==="--target"));const H=x>=0?[...R][x+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._)(r,false,P,O))}if(p){W.push(...await(0,m._)(r,true,P,O))}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.sA)(H);const K=(0,y.C5)(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.ic)("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.r)(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.u)(v,_,F,q);if(D){await(0,I.A)({owner:v,repo:_,version:K.version,notes:N,tagName:k,releaseId:F,artifacts:V.length!==0?V:W,targetInfo:j,updaterJsonPreferNsis:G,updaterJsonKeepUniversal:w})}}else{console.log("No releaseId or tagName provided, skipping all uploads...")}}catch(r){g.setFailed(r.message)}}await run();A()}catch(D){A(D)}}),1)},6188:(r,A,s)=>{s.d(A,{u:()=>uploadAssets});var n=s(7147);var a=s.n(n);var u=s(5942);var l=s.n(u);var g=s(1188);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:50})).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.HW)(u.path);const p=E.find((r=>r.name===d.trim().replace(/ /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().readFileSync(u.path),owner:r,repo:A,release_id:s})}}},9173:(r,A,s)=>{s.d(A,{A:()=>uploadVersionJSON});var n=s(7147);var a=s.n(n);var u=s(1017);var l=s.n(u);var g=s(5942);var E=s.n(g);var d=s(6188);var p=s(1188);async function uploadVersionJSON({owner:r,repo:A,version:s,notes:a,tagName:l,releaseId:E,artifacts:C,targetInfo:B,updaterJsonPreferNsis:Q,updaterJsonKeepUniversal:I}){if(process.env.GITHUB_TOKEN===undefined){throw new Error("GITHUB_TOKEN is required")}const m=(0,g.getOctokit)(process.env.GITHUB_TOKEN);const y="latest.json";const D=(0,u.resolve)(process.cwd(),y);const w={version:s,notes:a,pub_date:(new Date).toISOString(),platforms:{}};const b=await m.rest.repos.listReleaseAssets({owner:r,repo:A,release_id:E,per_page:50});const R=b.data.find((r=>r.name===y));if(R){const s=(await m.request("GET /repos/{owner}/{repo}/releases/assets/{asset_id}",{owner:r,repo:A,asset_id:R.id,headers:{accept:"application/octet-stream"}})).data;w.platforms=JSON.parse(Buffer.from(s).toString()).platforms}let S=C.find((r=>r.path.endsWith(Q?".nsis.zip.sig":"msi.zip.sig")));if(!S){S=C.find((r=>r.path.endsWith(".sig")))}const k=new Set(C.map((r=>(0,p.HW)(r.path).trim().replace(/ /g,"."))));let F;{const r=b.data.filter((r=>k.has(r.name)));const A=r.find((r=>r.name.endsWith(Q?".nsis.zip":".msi.zip")));if(A){F=A.browser_download_url}else{F=r.find((r=>r.name.endsWith(".tar.gz")||r.name.endsWith(".zip")))?.browser_download_url}}F=F?.replace(/\/download\/(untagged-[^/]+)\//,l?`/download/${l}/`:"/latest/download/");let T=B.platform;if(T==="macos"){T="darwin"}if(F&&S){let s=S.arch;s=s==="amd64"||s==="x86_64"||s==="x64"?"x86_64":s==="x86"||s==="i386"?"i686":s==="arm"?"armv7":s==="arm64"?"aarch64":s;if(T==="darwin"&&s==="universal"){if(!w.platforms["darwin-aarch64"]){w.platforms["darwin-aarch64"]={signature:(0,n.readFileSync)(S.path).toString(),url:F}}if(!w.platforms["darwin-x86_64"]){w.platforms["darwin-x86_64"]={signature:(0,n.readFileSync)(S.path).toString(),url:F}}}if(I||T!=="darwin"||s!=="universal"){w.platforms[`${T}-${s}`]={signature:(0,n.readFileSync)(S.path).toString(),url:F}}(0,n.writeFileSync)(D,JSON.stringify(w,null,2));if(R){await m.rest.repos.deleteReleaseAsset({owner:r,repo:A,release_id:E,asset_id:R.id})}console.log(`Uploading ${D}...`);await(0,d.u)(r,A,E,[{path:D,arch:""}])}else{const r=F?"Signature":S?"Asset":"Asset and signature";console.warn(`${r} not found for the updater JSON. Skipping upload...`)}}},1188:(r,A,s)=>{s.d(A,{ic:()=>execCommand,HW:()=>getAssetName,C5:()=>getInfo,Uv:()=>getTargetDir,sA:()=>getTargetInfo,tK:()=>getTauriDir,pZ:()=>getWorkspaceDir,SM:()=>hasDependency,m5:()=>usesPnpm,og:()=>usesYarn});var n=s(7147);var a=s(1017);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(r);if(typeof s!=="string"){throw new TypeError(`${A} must be a string or a file URL: ${s}.`)}return s};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`)};const I=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:tty");const m=I.WriteStream.prototype.hasColors();const format=(r,A)=>{if(!m){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 y=format(0,0);const D=format(1,22);const w=format(2,22);const b=format(3,23);const R=format(4,24);const S=format(53,55);const k=format(7,27);const F=format(8,28);const T=format(9,29);const N=format(30,39);const v=format(31,39);const _=format(32,39);const U=format(33,39);const L=format(34,39);const M=format(35,39);const G=format(36,39);const P=format(37,39);const O=format(90,39);const x=format(40,49);const H=format(41,49);const Y=format(42,49);const J=format(43,49);const V=format(44,49);const W=format(45,49);const q=format(46,49);const j=format(47,49);const K=format(100,49);const z=format(91,39);const Z=format(92,39);const X=format(93,39);const $=format(94,39);const ee=format(95,39);const te=format(96,39);const re=format(97,39);const Ae=format(101,49);const se=format(102,49);const ne=format(103,49);const oe=format(104,49);const ie=format(105,49);const ae=format(106,49);const ce=format(107,49);var ue=s(7261);const le=(0,ue.debuglog)("execa").enabled?"full":"none";const getVerboseInfo=r=>{const A=isVerbose(r)?ge++:undefined;validateVerbose(r);return{verbose:r,verboseId:A}};let ge=0n;const isVerbose=r=>r.some((r=>r!=="none"));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(!Ee.has(A)){const r=[...Ee].map((r=>`'${r}'`)).join(", ");throw new TypeError(`The "verbose" option must not be ${A}. Allowed values are: ${r}.`)}}};const Ee=new Set(["none","short","full"]);const he=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs");const de=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:process");function isUnicodeSupported(){if(de.platform!=="win32"){return de.env.TERM!=="linux"}return Boolean(de.env.WT_SESSION)||Boolean(de.env.TERMINUS_SUBLIME)||de.env.ConEmuTask==="{cmd::Cmder}"||de.env.TERM_PROGRAM==="Terminus-Sublime"||de.env.TERM_PROGRAM==="vscode"||de.env.TERM==="xterm-256color"||de.env.TERM==="alacritty"||de.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}const pe={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 Ce={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 fe={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 Be={...pe,...Ce};const Qe={...pe,...fe};const Ie=isUnicodeSupported();const me=Ie?Be:Qe;const ye=me;const De=Object.entries(Ce);const replaceSymbols=(r,{useFallback:A=!Ie}={})=>{if(A){for(const[A,s]of De){r=r.replaceAll(s,Qe[A])}}return r};const verboseLog=(r,A,s,n)=>{const a=addPrefix(r,A,s,n);(0,he.writeFileSync)(we,`${a}\n`)};const we=2;const addPrefix=(r,A,s,n)=>r.includes("\n")?r.split("\n").map((r=>addPrefixToLine(r,A,s,n))).join("\n"):addPrefixToLine(r,A,s,n);const addPrefixToLine=(r,A,s,n=identity)=>[O(`[${getTimestamp()}]`),O(`[${A}]`),n(be[s]),n(r)].join(" ");const identity=r=>r;const getTimestamp=()=>{const r=new Date;return`${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 be={command:"$",pipedCommand:"|",output:" ",error:ye.cross,warning:ye.warning,success:ye.tick};const logCommand=(r,{verbose:A,verboseId:s},{piped:n=false})=>{if(!isVerbose(A)){return}const a=n?"pipedCommand":"command";verboseLog(r,s,a,D)};const getStartTime=()=>de.hrtime.bigint();const getDurationMs=r=>Number(de.hrtime.bigint()-r)/1e6;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,ue.stripVTControlCharacters)(r).split("\n").map((r=>escapeControlCharacters(r))).join("\n");const escapeControlCharacters=r=>r.replaceAll(Re,(r=>escapeControlCharacter(r)));const escapeControlCharacter=r=>{const A=Se[r];if(A!==undefined){return A}const s=r.codePointAt(0);const n=s.toString(16);return s<=ke?`\\u${n.padStart(4,"0")}`:`\\U${n}`};const Re=/\p{Separator}|\p{Other}/gu;const Se={" ":" ","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t"};const ke=65535;const quoteString=r=>{if(Fe.test(r)){return r}return de.platform==="win32"?`"${r.replaceAll('"','""')}"`:`'${r.replaceAll("'","'\\''")}'`};const Fe=/^[\w./-]+$/;const isStandardStream=r=>Te.includes(r);const Te=[de.stdin,de.stdout,de.stderr];const Ne=["stdin","stdout","stderr"];const getStreamName=r=>Ne[r]??`stdio[${r}]`;const normalizeFdSpecificOptions=r=>{const A={...r};for(const s of Ue){A[s]=normalizeFdSpecificOption(r,s)}return A};const normalizeFdSpecificOption=(r,A)=>{const s=Array.from({length:getStdioLength(r)});const n=normalizeFdSpecificValue(r[A],s,A);return addDefaultValue(n,A)};const getStdioLength=({stdio:r})=>Array.isArray(r)?Math.max(r.length,Ne.length):Ne.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)=>{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", 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(Ne.includes(r)){return Ne.indexOf(r)}const A=ve.exec(r);if(A!==null){return Number(A[1])}};const ve=/^fd(\d+)$/;const addDefaultValue=(r,A)=>r.map((r=>r===undefined?_e[A]:r));const _e={lines:false,buffer:true,maxBuffer:1e3*1e3*100,verbose:le,stripFinalNewline:true};const Ue=["lines","buffer","maxBuffer","verbose","stripFinalNewline"];const handleCommand=(r,A,s)=>{const n=getStartTime();const{command:a,escapedCommand:u}=joinCommand(r,A);const l=getVerboseInfo(normalizeFdSpecificOption(s,"verbose"));logCommand(u,l,s);return{command:a,escapedCommand:u,startTime:n,verboseInfo:l}};const Le=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:path");var Me=s(3641);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 npmRunPath=({cwd:r=de.cwd(),path:A=de.env[pathKey()],preferLocal:s=true,execPath:n=de.execPath,addExecPath:a=true}={})=>{const u=r instanceof URL?(0,l.fileURLToPath)(r):r;const g=Le.resolve(u);const E=[];if(s){applyPreferLocal(E,g)}if(a){applyExecPath(E,n,g)}return[...E,A].join(Le.delimiter)};const applyPreferLocal=(r,A)=>{let s;while(s!==A){r.push(Le.join(A,"node_modules/.bin"));s=A;A=Le.resolve(A,"..")}};const applyExecPath=(r,A,s)=>{const n=A instanceof URL?(0,l.fileURLToPath)(A):A;r.push(Le.resolve(s,n,".."))};const npmRunPathEnv=({env:r=de.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,Pe,{value:true,writable:false,enumerable:false,configurable:false})};const isExecaError=r=>isErrorInstance(r)&&Pe in r;const Pe=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 normalizeKillSignal=r=>{const A="option `killSignal`";if(r===0){throw new TypeError(`Invalid ${A}: 0 cannot be used.`)}return normalizeSignal(r,A)};const normalizeSignalArgument=r=>r===0?r:normalizeSignal(r,"`subprocess.kill()`'s argument");const 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(xe.has(r)){return xe.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 xe=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 normalizeForceKillAfterDelay=r=>{if(r===false){return r}if(r===true){return He}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 He=1e3*5;const subprocessKill=({kill:r,options:{forceKillAfterDelay:A,killSignal:s},onInternalError:n,controller:a},u,l)=>{const{signal:g,error:E}=parseKillArguments(u,l,s);emitKillError(E,n);const d=r(g);setKillTimeout({kill:r,signal:g,forceKillAfterDelay:A,killSignal:s,killResult:d,controller:a});return d};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,controller:u})=>{if(!shouldForceKill(A,s,n,a)){return}try{await(0,Ge.setTimeout)(s,undefined,{signal:u.signal});r("SIGKILL")}catch{}};const shouldForceKill=(r,A,s,n)=>r===s&&A!==false&&n;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.timedOut=true;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=de.execPath,nodeOptions:a=de.execArgv.filter((r=>!r.startsWith("--inspect"))),cwd:u,execPath:l,...g})=>{if(l!==undefined){throw new TypeError('The "execPath" option has been removed. Please use the "nodePath" option instead.')}const E=safeNormalizeFileUrl(n,'The "nodePath" option');const d=(0,Le.resolve)(u,E);const p={...g,nodePath:d,node:s,cwd:u};if(!s){return[r,A,p]}if((0,Le.basename)(r,".exe")==="node"){throw new TypeError('When the "node" option is true, the first argument does not need to be "node".')}return[d,[...a,r,...A],{ipc:true,...p,shell:false}]};const validateEncoding=({encoding:r})=>{if(Ve.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=[...Ve].map((r=>serializeEncoding(r))).join(", ");throw new TypeError(`Invalid option \`encoding: ${serializeEncoding(r)}\`.\nPlease rename it to one of: ${s}.`)};const Ye=new Set(["utf8","utf16le"]);const Je=new Set(["buffer","hex","base64","base64url","latin1","ascii"]);const Ve=new Set([...Ye,...Je]);const getCorrectEncoding=r=>{if(r===null){return"buffer"}if(typeof r!=="string"){return}const A=r.toLowerCase();if(A in We){return We[A]}if(Ve.has(A)){return A}};const We={"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(0,Le.resolve)(A)};const getDefaultCwd=()=>{try{return de.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,he.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,a,u]=handleNodeOption(r,A,s);const{command:l,args:g,options:E}=Me._parse(n,a,u);const d=normalizeFdSpecificOptions(E);const p=addDefaultOptions(d);validateTimeout(p);validateEncoding(p);p.shell=normalizeFileUrl(p.shell);p.env=getEnv(p);p.killSignal=normalizeKillSignal(p.killSignal);p.forceKillAfterDelay=normalizeForceKillAfterDelay(p.forceKillAfterDelay);p.lines=p.lines.map(((r,A)=>r&&!Je.has(p.encoding)&&p.buffer[A]));if(de.platform==="win32"&&(0,Le.basename)(l,".exe")==="cmd"){g.unshift("/q")}return{file:l,commandArguments:g,options:p}};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,ipc:C=false,serialization:B="advanced",...Q})=>({...Q,extendEnv:r,preferLocal:A,cwd:s,localDirectory:n,encoding:a,reject:u,cleanup:l,all:g,windowsHide:E,killSignal:d,forceKillAfterDelay:p,ipc:C,serialization:B});const getEnv=({env:r,extendEnv:A,preferLocal:s,node:n,localDirectory:a,nodePath:u})=>{const l=A?{...de.env,...r}:r;if(s||n){return npmRunPathEnv({env:l,cwd:a,execPath:u,preferLocal:s,addExecPath:n})}return l};const getRealtimeSignals=()=>{const r=je-qe+1;return Array.from({length:r},getRealtimeSignal)};const getRealtimeSignal=(r,A)=>({name:`SIGRT${A+1}`,number:qe+A,action:"terminate",description:"Application-specific signal (realtime)",standard:"posix"});const qe=34;const je=64;const Ke=[{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=[...Ke,...r].map(signals_normalizeSignal);return A};const signals_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 ze=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})=>Oe.constants.signals[A]===r));if(s!==undefined){return s}return A.find((A=>A.number===r))};const Ze=getSignalsByNumber();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)===Xe?r.slice(0,r.at(-2)===et?-2:-1):r;const stripFinalNewlineBinary=r=>r.at(-1)===$e?r.subarray(0,r.at(-2)===tt?-2:-1):r;const Xe="\n";const $e=Xe.codePointAt(0);const et="\r";const tt=et.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 rt=Object.getPrototypeOf(Object.getPrototypeOf((async function*(){})).prototype);class c{#p;#C;#f=!1;#B=void 0;constructor(r,A){this.#p=r,this.#C=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.#f)return{done:!0,value:void 0};let r;try{r=await this.#p.read()}catch(r){throw this.#B=void 0,this.#f=!0,this.#p.releaseLock(),r}return r.done&&(this.#B=void 0,this.#f=!0,this.#p.releaseLock()),r}async#I(r){if(this.#f)return{done:!0,value:r};if(this.#f=!0,!this.#C){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 At=Symbol();function i(){return this[At].next()}Object.defineProperty(i,"name",{value:"next"});function o(r){return this[At].return(r)}Object.defineProperty(o,"name",{value:"return"});const st=Object.create(rt,{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(st);return n[At]=s,n}const getAsyncIterable=r=>{if(isReadableStream(r,{checkOpen:false})&&ot.on!==undefined){return getStreamIterable(r)}if(typeof r?.[Symbol.asyncIterator]==="function"){return r}if(nt.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:nt}=Object.prototype;const getStreamIterable=async function*(r){const A=new AbortController;const s={};handleStreamEnd(r,A,s);try{for await(const[s]of ot.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 ot.finished(r,{cleanup:true,readable:true,writable:false,error:false})}catch(r){s.error=r}finally{A.abort()}};const ot={};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=it.call(r);if(s==="[object ArrayBuffer]"){return"arrayBuffer"}if(s==="[object DataView]"){return"dataView"}if(Number.isInteger(r.byteLength)&&Number.isInteger(r.byteOffset)&&it.call(r.buffer)==="[object ArrayBuffer]"){return"typedArray"}return"others"};const{toString:it}=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 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;return{streamName:getStreamName(s),threshold:A[s],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,originalError:s,signal:n,signalDescription:a,exitCode:u,escapedCommand:l,timedOut:g,isCanceled:E,isMaxBuffer:d,maxBuffer:p,timeout:C,cwd:B})=>{const Q=s?.code;const I=getErrorPrefix({originalError:s,timedOut:g,timeout:C,isMaxBuffer:d,maxBuffer:p,errorCode:Q,signal:n,signalDescription:a,exitCode:u,isCanceled:E});const m=getOriginalMessage(s,B);const y=m===undefined?"":`\n${m}`;const D=`${I}: ${l}${y}`;const w=A===undefined?[r[2],r[1]]:[A];const b=[D,...w,...r.slice(3)].map((r=>escapeLines(strip_final_newline_stripFinalNewline(serializeMessagePart(r))))).filter(Boolean).join("\n\n");return{originalMessage:m,shortMessage:D,message:b}};const getErrorPrefix=({originalError:r,timedOut:A,timeout:s,isMaxBuffer:n,maxBuffer:a,errorCode:u,signal:l,signalDescription:g,exitCode:E,isCanceled:d})=>{if(A){return`Command timed out after ${s} milliseconds`}if(d){return"Command was canceled"}if(n){return getMaxBufferMessage(r,a)}if(u!==undefined){return`Command failed with ${u}`}if(l!==undefined){return`Command was killed with ${l} (${g})`}if(E!==undefined){return`Command failed with exit code ${E}`}return"Command failed"};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 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,options:{cwd:a},startTime:u})=>omitUndefinedProperties({command:r,escapedCommand:A,cwd:a,durationMs:getDurationMs(u),failed:false,timedOut:false,isCanceled:false,isTerminated:false,isMaxBuffer:false,exitCode:0,stdout:s[1],stderr:s[2],all:n,stdio:s,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,isMaxBuffer:false,stdio:Array.from({length:n.length}),options:a,isSync:l});const makeError=({error:r,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isMaxBuffer:l,exitCode:g,signal:E,stdio:d,all:p,options:{timeoutDuration:C,timeout:B=C,cwd:Q,maxBuffer:I},isSync:m})=>{const{exitCode:y,signal:D,signalDescription:w}=normalizeExitPayload(g,E);const{originalMessage:b,shortMessage:R,message:S}=createMessages({stdio:d,all:p,originalError:r,signal:D,signalDescription:w,exitCode:y,escapedCommand:s,timedOut:a,isCanceled:u,isMaxBuffer:l,maxBuffer:I,timeout:B,cwd:Q});const k=getFinalError(r,S,m);Object.assign(k,getErrorProperties({error:k,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isMaxBuffer:l,exitCode:y,signal:D,signalDescription:w,stdio:d,all:p,cwd:Q,originalMessage:b,shortMessage:R}));return k};const getErrorProperties=({error:r,command:A,escapedCommand:s,startTime:n,timedOut:a,isCanceled:u,isMaxBuffer:l,exitCode:g,signal:E,signalDescription:d,stdio:p,all:C,cwd:B,originalMessage:Q,shortMessage:I})=>omitUndefinedProperties({shortMessage:I,originalMessage:Q,command:A,escapedCommand:s,cwd:B,durationMs:getDurationMs(n),failed:true,timedOut:a,isCanceled:u,isTerminated:E!==undefined,isMaxBuffer:l,exitCode:g,signal:E,signalDescription:d,code:r.cause?.code,stdout:p[1],stderr:p[2],all:C,stdio:p,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:ze[A].description;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 at=1e-7;const ct=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};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 n=[];const floorDecimals=(r,A)=>{const s=Math.floor(r*10**A+at);const n=Math.round(s)/10**A;return n.toFixed(A)};const add=(r,s,a,u)=>{if((n.length===0||!A.colonNotation)&&isZero(r)&&!(A.colonNotation&&a==="m")){return}u=u??String(r);if(A.colonNotation){const r=u.includes(".")?u.split(".")[0].length:u.length;const A=n.length>0?2:1;u="0".repeat(Math.max(0,A-r))+u}else{u+=A.verbose?" "+pluralize(s,r):a}n.push(u)};const a=parseMilliseconds(r);const u=BigInt(a.days);add(u/365n,"year","y");add(u%365n,"day","d");add(Number(a.hours),"hour","h");add(Number(a.minutes),"minute","m");if(A.separateMilliseconds||A.formatSubMilliseconds||!A.colonNotation&&r<1e3){const r=Number(a.seconds);const s=Number(a.milliseconds);const n=Number(a.microseconds);const u=Number(a.nanoseconds);add(r,"second","s");if(A.formatSubMilliseconds){add(s,"millisecond","ms");add(n,"microsecond","µs");add(u,"nanosecond","ns")}else{const r=s+n/1e3+u/1e6;const a=typeof A.millisecondsDecimalDigits==="number"?A.millisecondsDecimalDigits:0;const l=r>=1?Math.round(r):Math.ceil(r);const g=a?r.toFixed(a):l;add(Number.parseFloat(g),"millisecond","ms",g)}}else{const n=(s?Number(r%ct):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(n.length===0){return"0"+(A.verbose?" milliseconds":"ms")}const l=A.colonNotation?":":" ";if(typeof A.unitCount==="number"){n=n.slice(0,Math.max(A.unitCount,1))}return n.join(l)}const logError=({message:r,failed:A,reject:s,verboseId:n,icon:a})=>{if(!A){return}const u=s?z:X;verboseLog(r,n,a,u)};const logFinalResult=({shortMessage:r,failed:A,durationMs:s},n,a)=>{logResult({message:r,failed:A,reject:n,durationMs:s,verboseInfo:a})};const logEarlyResult=(r,A,s)=>{logResult({message:escapeLines(String(r)),failed:true,reject:true,durationMs:getDurationMs(A),verboseInfo:s})};const logResult=({message:r,failed:A,reject:s,durationMs:n,verboseInfo:{verbose:a,verboseId:u}})=>{if(!isVerbose(a)){return}const l=getIcon(A,s);logError({message:r,failed:A,reject:s,verboseId:u,icon:l});logDuration(n,u,l)};const logDuration=(r,A,s)=>{const n=`(done in ${prettyMilliseconds(r)})`;verboseLog(n,A,s,O)};const getIcon=(r,A)=>{if(!r){return"success"}return A?"error":"warning"};const handleResult=(r,A,{reject:s})=>{logFinalResult(r,s,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===1&&isFilePathString(r.file);const isFilePathString=r=>typeof r==="string";const isUnknownStdioString=(r,A)=>r==="native"&&typeof A==="string"&&!ut.has(A);const ut=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 lt=new Set(["generator","asyncGenerator","duplex","webTransform"]);const gt=new Set(["fileUrl","filePath","fileNumber"]);const Et=new Set(["fileUrl","filePath"]);const ht=new Set([...Et,"webStream","nodeStream"]);const dt=new Set(["webTransform","duplex"]);const pt={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})=>lt.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})=>!lt.has(r))),...getTransforms(r,A,s,n)];const getTransforms=(r,A,s,{encoding:n})=>{const a=r.filter((({type:r})=>lt.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||Je.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)??Bt};const getStdioItemDirection=({type:r,value:A},s)=>Ct[s]??ft[r](A);const Ct=["input","output","output"];const anyDirection=()=>undefined;const alwaysInput=()=>"input";const ft={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 ft.nodeStream(r)}}};const getStandardStreamDirection=r=>{if([0,de.stdin].includes(r)){return"input"}if([1,2,de.stdout,de.stderr].includes(r)){return"output"}};const Bt="output";const normalizeStdioOption=({stdio:r,ipc:A,buffer:s,verbose:n,...a},u)=>{const l=getStdioArray(r,a).map(((r,A)=>stdio_option_addDefaultValue(r,A)));return u?normalizeStdioSync(l,s,n):normalizeStdioAsync(l,A)};const getStdioArray=(r,A)=>{if(r===undefined){return Ne.map((r=>A[r]))}if(hasAlias(A)){throw new Error(`It's not possible to provide \`stdio\` in combination with one of ${Ne.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,Ne.length);return Array.from({length:s},((A,s)=>r[s]))};const hasAlias=r=>Ne.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>=Ne.length?"ignore":"pipe"}return r};const normalizeStdioSync=(r,A,s)=>r.map(((r,n)=>!A[n]&&n!==0&&s[n]!=="full"&&isOutputPipeOnly(r)?"ignore":r));const isOutputPipeOnly=r=>r==="pipe"||Array.isArray(r)&&r.every((r=>r==="pipe"));const normalizeStdioAsync=(r,A)=>A&&!r.includes("ipc")?[...r,"ipc"]:r;const getToStream=(r,A="stdin")=>{const s=true;const{options:n,fileDescriptors:a}=Qt.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}=Qt.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 Qt=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 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:n})=>{const a=getTargetFdNumber(r,s);if(a===undefined){return}if(n==="output"){return{type:"fileNumber",value:a,optionName:A}}if(I.isatty(a)){throw new TypeError(`The \`${A}: ${serializeOptionValue(r)}\` option is invalid: it cannot be a TTY with synchronous methods.`)}return{type:"uint8Array",value:bufferToUint8Array((0,he.readFileSync)(a)),optionName:A}};const getTargetFdNumber=(r,A)=>{if(r==="inherit"){return A}if(typeof r==="number"){return r}const s=Te.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=Te[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(ht.has(r)){return getDuplicateStreamInstance({otherStdioItems:l,type:r,value:A,optionName:s,direction:n})}if(dt.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(Et.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.path===s.path}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 ${pt[s]} that is the same.`)}};const handleStdio=(r,A,s,n)=>{const a=normalizeStdioOption(A,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(It.has(A)){throw new Error(`The \`${s}\` option must not include \`${A}\`.`)}}};const It=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})=>gt.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(yt,r,A,true);const forbiddenIfSync=({type:r,optionName:A})=>{throwInvalidSyncValue(A,pt[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 mt={generator(){},asyncGenerator:forbiddenIfSync,webStream:forbiddenIfSync,nodeStream:forbiddenIfSync,webTransform:forbiddenIfSync,duplex:forbiddenIfSync,asyncIterable:forbiddenIfSync,native:forbiddenNativeIfSync};const yt={input:{...mt,fileUrl:({value:r})=>({contents:[bufferToUint8Array((0,he.readFileSync)(r))]}),filePath:({value:{file:r}})=>({contents:[bufferToUint8Array((0,he.readFileSync)(r))]}),fileNumber:forbiddenIfSync,iterable:({value:r})=>({contents:[...r]}),string:({value:r})=>({contents:[r]}),uint8Array:({value:r})=>({contents:[r]})},output:{...mt,fileUrl:({value:r})=>({path:r}),filePath:({value:{file:r}})=>({path:r}),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 Dt=s(4492);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"?wt:bt;if(A.at(-1)===a){yield A;return}const l=r?n:s;yield u(A,l)};const concatString=(r,A)=>`${r}${A}`;const wt={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 bt={windowsNewline:new Uint8Array([13,10]),unixNewline:new Uint8Array([10]),LF:10,concatBytes:concatUint8Array};const Rt=__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)&&!Rt.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(Rt.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 St=(0,ue.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 kt=(0,ue.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?St.bind(undefined,transformChunk,g):pushChunksSync.bind(undefined,transformChunkSync);const B=d||p?St.bind(undefined,finalChunks,g):pushChunksSync.bind(undefined,finalChunksSync);const Q=d||p?kt.bind(undefined,g):undefined;const I=new Dt.Transform({writableObjectMode:n,writableHighWaterMark:(0,Dt.getDefaultHighWaterMark)(n),readableObjectMode:a,readableHighWaterMark:(0,Dt.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 ${pt[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:{verbose:s},fdNumber:n})=>n!=="all"&&s[n]==="full"&&!Je.has(A)&&fdUsesVerbose(n)&&(r.some((({type:r,value:A})=>r==="native"&&Ft.has(A)))||r.every((({type:r})=>lt.has(r))));const fdUsesVerbose=r=>r===1||r===2;const Ft=new Set(["pipe","overlapped"]);const logLines=async(r,A,s)=>{for await(const n of r){if(!isPipingStream(A)){logLine(n,s)}}};const logLinesSync=(r,A)=>{for(const s of r){logLine(s,A)}};const isPipingStream=r=>r._readableState.pipes.length>0;const logLine=(r,{verboseId:A})=>{const s=typeof r==="string"?r:(0,ue.inspect)(r);const n=escapeLines(s);const a=n.replaceAll("\t"," ".repeat(Tt));verboseLog(a,A,"output")};const Tt=2;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:D,finalResult:w=D}=serializeChunks({chunks:y,objectMode:m,encoding:E,lines:d,stripFinalNewline:p,fdNumber:s});if(shouldLogOutput({stdioItems:I,encoding:E,verboseInfo:l,fdNumber:s})){const r=splitLinesSync(D,false,m);logLinesSync(r,l)}const b=g[s]?w:undefined;try{if(n.error===undefined){writeToFiles(D,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 writeToFiles=(r,A,s)=>{for(const{path:n}of A.filter((({type:r})=>gt.has(r)))){const A=typeof n==="string"?n:n.toString();if(s.has(A)){(0,he.appendFileSync)(n,r)}else{s.add(A);(0,he.writeFileSync)(n,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}`};var Nt=s(5673);const waitForExit=async r=>{const[A,s]=await Promise.allSettled([(0,Nt.once)(r,"spawn"),(0,Nt.once)(r,"exit")]);if(A.status==="rejected"){return[]}return s.status==="rejected"?waitForSubprocessExit(r):s.value};const waitForSubprocessExit=async r=>{try{return await(0,Nt.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);try{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}}catch(r){logEarlyResult(r,u,l);throw r}};const normalizeSyncOptions=r=>r.node&&!r.ipc?{...r,ipc:false}:r;const validateSyncOptions=({ipc:r,detached:A,cancelSignal:s})=>{if(r){throwInvalidSyncOption("ipc: true")}if(A){throwInvalidSyncOption("detached: true")}if(s){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 D=stripNewline(getAllSync(I,s),s,"all");return getSyncResult({error:m,exitCode:p,signal:C,timedOut:B,isMaxBuffer:Q,stdio:y,all:D,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,options:g,startTime:p}):makeError({error:r,command:E,escapedCommand:d,timedOut:n,isCanceled:false,isMaxBuffer:a,exitCode:A,signal:s,stdio:u,all:l,options:g,startTime:p,isSync:true});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 Dt.PassThrough;r.end();return r};const readable=()=>new Dt.Readable({read(){}});const writable=()=>new Dt.Writable({write(){}});const duplex=()=>new Dt.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 ${pt[r]}.`)};const vt={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=Dt.Duplex.fromWeb(r,{objectMode:n});return{stream:a}},duplex:({value:{transform:r}})=>({stream:r}),native(){}};const _t={input:{...vt,fileUrl:({value:r})=>({stream:(0,he.createReadStream)(r)}),filePath:({value:{file:r}})=>({stream:(0,he.createReadStream)(r)}),webStream:({value:r})=>({stream:Dt.Readable.fromWeb(r)}),iterable:({value:r})=>({stream:Dt.Readable.from(r)}),asyncIterable:({value:r})=>({stream:Dt.Readable.from(r)}),string:({value:r})=>({stream:Dt.Readable.from(r)}),uint8Array:({value:r})=>({stream:Dt.Readable.from(Rt.Buffer.from(r))})},output:{...vt,fileUrl:({value:r})=>({stream:(0,he.createWriteStream)(r)}),filePath:({value:{file:r}})=>({stream:(0,he.createWriteStream)(r)}),webStream:({value:r})=>({stream:Dt.Writable.fromWeb(r)}),iterable:forbiddenIfAsync,asyncIterable:forbiddenIfAsync,string:forbiddenIfAsync,uint8Array:forbiddenIfAsync}};const Ut=__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,Dt.getDefaultHighWaterMark)(A)}const s=r.filter((({readableObjectMode:r})=>r===A)).map((({readableHighWaterMark:r})=>r));return Math.max(...s)};class MergedStream extends Dt.PassThrough{#m=new Set([]);#y=new Set([]);#D=new Set([]);#w;#b=Symbol("unpipe");#R=new WeakMap;add(r){validateStream(r);if(this.#m.has(r)){return}this.#m.add(r);this.#w??=onMergedStreamFinished(this,this.#m,this.#b);const A=endWhenStreamsDone({passThroughStream:this,stream:r,streams:this.#m,ended:this.#y,aborted:this.#D,onFinished:this.#w,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,Lt);const n=new AbortController;try{await Promise.race([onMergedStreamEnd(r,n),onInputStreamsUnpipe(r,A,s,n)])}finally{n.abort();updateMaxListeners(r,-Lt)}};const onMergedStreamEnd=async(r,{signal:A})=>{try{await(0,Ut.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,Nt.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,Mt);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,-Mt)}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,Ut.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,Nt.once)(r,a,{signal:u});if(!r.readable){return(0,Nt.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 Lt=2;const Mt=1;const incrementMaxListeners=(r,A,s)=>{const n=r.getMaxListeners();if(n===0||n===Number.POSITIVE_INFINITY){return}r.setMaxListeners(n+A);(0,Nt.addAbortListener)(s,(()=>{r.setMaxListeners(r.getMaxListeners()-A)}))};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,Ut.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,Ut.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})=>lt.has(r)))){pipeTransform(r,A,l,a)}for(const{stream:A}of u.filter((({type:r})=>!lt.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=Gt[n];if(a!==undefined){r[a]=A}r.stdio[n]=A};const Gt=["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,Pt,A)}};const Pt=2;const Ot=[];Ot.push("SIGHUP","SIGINT","SIGTERM");if(process.platform!=="win32"){Ot.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(process.platform==="linux"){Ot.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 xt=Symbol.for("signal-exit emitter");const Ht=globalThis;const Yt=Object.defineProperty.bind(Object);class Emitter{emitted={afterExit:false,exit:false};listeners={afterExit:[],exit:[]};count=0;id=Math.random();constructor(){if(Ht[xt]){return Ht[xt]}Yt(Ht,xt,{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=Jt.platform==="win32"?"SIGINT":"SIGHUP";#k=new Emitter;#F;#T;#N;#v={};#_=false;constructor(r){super();this.#F=r;this.#v={};for(const A of Ot){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 Ot){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;Ot.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 Jt=globalThis.process;const{onExit:Vt,load:Wt,unload:qt}=signalExitWrap(processOk(Jt)?new SignalExit(Jt):new SignalExitFallback);const cleanupOnExit=(r,{cleanup:A,detached:s},{signal:n})=>{if(!A||s){return}const a=Vt((()=>{r.kill()}));(0,Nt.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}=Qt.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){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(Qt.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:jt,escapedCommand:jt,fileDescriptors:A,options:s,startTime:n,isSync:false});const jt="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=Kt.has(A)?pipeMoreSubprocessStream(r,A):pipeFirstSubprocessStream(r,A);incrementMaxListeners(r,zt,s.signal);incrementMaxListeners(A,Zt,s.signal);cleanupMergedStreamsMap(A);return n};const pipeFirstSubprocessStream=(r,A)=>{const s=mergeStreams([r]);pipeStreams(s,A);Kt.set(A,s);return s};const pipeMoreSubprocessStream=(r,A)=>{const s=Kt.get(A);s.add(r);return s};const cleanupMergedStreamsMap=async r=>{try{await(0,Ut.finished)(r,{cleanup:true,readable:false,writable:true})}catch{}Kt.delete(r)};const Kt=new WeakMap;const zt=2;const Zt=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,ue.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,Xt,A)}const initArray=()=>({contents:[]});const increment=()=>1;const addArrayChunk=(r,{contents:A})=>{A.push(r);return A};const Xt={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,tr,A)}const initArrayBuffer=()=>({contents:new ArrayBuffer(0)});const useTextEncoder=r=>$t.encode(r);const $t=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=>er**Math.ceil(Math.log(r)/Math.log(er));const er=2;const finalizeArrayBuffer=({contents:r,length:A})=>hasArrayBufferResize()?r:r.slice(0,A);const hasArrayBufferResize=()=>"resize"in ArrayBuffer.prototype;const tr={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,rr,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 rr={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,Nt.on)(r,"data",{signal:A.signal,highWaterMark:sr,highWatermark:sr});return iterateOnData({onStdoutChunk:g,controller:A,binary:s,shouldEncode:n,encoding:a,shouldSplit:u,preserveNewlines:l})};const Ar=(0,Dt.getDefaultHighWaterMark)(true);const sr=Ar;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:{fileDescriptors:p}})=>{if(shouldLogOutput({stdioItems:p[s]?.stdioItems,encoding:n,verboseInfo:d,fdNumber:s})){const s=iterateForResult({stream:r,onStreamEnd:A,lines:true,encoding:n,stripFinalNewline:true,allMixed:g});logLines(s,r,d)}if(!a){await resumeStream(r);return}const C=getStripFinalNewline(E,s);const B=iterateForResult({stream:r,onStreamEnd:A,lines:l,encoding:n,stripFinalNewline:C,allMixed:g});return contents_getStreamContents({stream:r,iterable:B,fdNumber:s,encoding:n,maxBuffer:u,lines:l})};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,Ut.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 waitForSubprocessResult=async({subprocess:r,options:{encoding:A,buffer:s,maxBuffer:n,lines:a,timeoutDuration:u,stripFinalNewline:l},context:g,verboseInfo:E,fileDescriptors:d,originalStreams:p,onInternalError:C,controller:B})=>{const Q=waitForExit(r);const I={originalStreams:p,fileDescriptors:d,subprocess:r,exitPromise:Q,propagating:false};const m=waitForStdioStreams({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:l,verboseInfo:E,streamInfo:I});const y=waitForAllStream({subprocess:r,encoding:A,buffer:s,maxBuffer:n,lines:a,stripFinalNewline:l,verboseInfo:E,streamInfo:I});const D=waitForOriginalStreams(p,r,I);const w=waitForCustomStreamsEnd(d,I);try{return await Promise.race([Promise.all([{},waitForSuccessfulExit(Q),Promise.all(m),y,...D,...w]),C,throwOnSubprocessError(r,B),...throwOnTimeout(r,u,g,B)])}catch(r){return Promise.all([{error:r},Q,Promise.all(m.map((r=>getBufferedData(r)))),getBufferedData(y),Promise.allSettled(D),Promise.allSettled(w)])}};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:lt.has(r),stopOnExit:r==="native"})))));const throwOnSubprocessError=async(r,{signal:A})=>{const[s]=await(0,Nt.once)(r,"error",{signal:A});throw s};const createDeferred=()=>{const r={};const A=new Promise(((A,s)=>{Object.assign(r,{resolve:A,reject:s})}));return Object.assign(A,r)};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,Ut.finished)(r,{cleanup:true,readable:false,writable:true})};const waitForSubprocessStdout=async r=>{await(0,Ut.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||Je.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 Dt.Readable({read:B,destroy:(0,ue.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:Ar};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 Dt.Writable({...getWritableMethods(n,r,a),destroy:(0,ue.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,ue.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||Je.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:m}=getReadableOptions(E,g);const{read:y,onStdoutDataDone:D}=getReadableMethods({subprocessStdout:E,subprocess:r,binary:g,encoding:s,preserveNewlines:l});const w=new Dt.Duplex({read:y,...getWritableMethods(p,r,C),destroy:(0,ue.callbackify)(onDuplexDestroy.bind(undefined,{subprocessStdout:E,subprocessStdin:p,subprocess:r,waitReadableDestroy:d,waitWritableFinal:C,waitWritableDestroy:B})),readableHighWaterMark:m,writableHighWaterMark:p.writableHighWaterMark,readableObjectMode:I,writableObjectMode:p.writableObjectMode,encoding:Q});onStdoutFinished({subprocessStdout:E,onStdoutDataDone:D,readable:w,subprocess:r,subprocessStdin:p});onStdinFinished(p,w,E);return w};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||Je.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 or){const a=n.value.bind(A);Reflect.defineProperty(r,s,{...n,value:a})}};const nr=(async()=>{})().constructor.prototype;const or=["then","catch","finally"].map((r=>[r,Reflect.getOwnPropertyDescriptor(nr,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);Qt.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);try{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}}catch(r){logEarlyResult(r,u,l);throw r}};const handleAsyncOptions=({timeout:r,signal:A,cancelSignal:s,...n})=>{if(A!==undefined){throw new TypeError('The "signal" option has been renamed to "cancelSignal" instead.')}return{...n,timeoutDuration:r,signal:s}};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,Nt.setMaxListeners)(Number.POSITIVE_INFINITY,p.signal);const C=[...d.stdio];pipeOutputAsync(d,E,p);cleanupOnExit(d,s,p);const B=createDeferred();d.kill=subprocessKill.bind(undefined,{kill:d.kill.bind(d),options:s,onInternalError:B,controller:p});d.all=makeAllStream(d,s);addConvertedStreams(d,s);const Q=handlePromise({subprocess:d,options:s,startTime:n,verboseInfo:a,fileDescriptors:E,originalStreams:C,command:u,escapedCommand:l,onInternalError:B,controller:p});return{subprocess:d,promise:Q}};const handlePromise=async({subprocess:r,options:A,startTime:s,verboseInfo:n,fileDescriptors:a,originalStreams:u,command:l,escapedCommand:g,onInternalError:E,controller:d})=>{const p={timedOut:false};const[C,[B,Q],I,m]=await waitForSubprocessResult({subprocess:r,options:A,context:p,verboseInfo:n,fileDescriptors:a,originalStreams:u,onInternalError:E,controller:d});d.abort();E.resolve();const y=I.map(((r,s)=>stripNewline(r,A,s)));const D=stripNewline(m,A,"all");const w=getAsyncResult({errorInfo:C,exitCode:B,signal:Q,stdio:y,all:D,context:p,options:A,command:l,escapedCommand:g,startTime:s});return handleResult(w,n,A)};const getAsyncResult=({errorInfo:r,exitCode:A,signal:s,stdio:n,all:a,context:u,options:l,command:g,escapedCommand:E,startTime:d})=>"error"in r?makeError({error:r.error,command:g,escapedCommand:E,timedOut:u.timedOut,isCanceled:l.signal?.aborted===true,isMaxBuffer:r.error instanceof MaxBufferError,exitCode:A,signal:s,stdio:n,all:a,options:l,startTime:d,isSync:false}):makeSuccessResult({command:g,escapedCommand:E,stdio:n,all:a,options:l,startTime:d});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(ir.has(r)&&isPlainObject(A)&&isPlainObject(s)){return{...A,...s}}return s};const ir=new Set(["env",...Ue]);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=[];for(const A of r.trim().split(ar)){const r=s.at(-1);if(r&&r.endsWith("\\")){s[s.length-1]=`${r.slice(0,-1)} ${A}`}else{s.push(A)}}const[n,...a]=s;return{file:n,commandArguments:a}};const ar=/ +/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 cr={preferLocal:true};const ur=createExeca((()=>({})));const lr=createExeca((()=>({isSync:true})));const gr=createExeca(mapCommandAsync);const Er=createExeca(mapCommandSync);const hr=createExeca(mapNode);const dr=createExeca(mapScriptAsync,{},cr,setScriptSync);var pr=s(1220);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 Dt.PassThrough{#m=new Set([]);#y=new Set([]);#D=new Set([]);#w;add(r){merge_streams_validateStream(r);if(this.#m.has(r)){return}this.#m.add(r);this.#w??=merge_streams_onMergedStreamFinished(this,this.#m);merge_streams_endWhenStreamsDone({passThroughStream:this,stream:r,streams:this.#m,ended:this.#y,aborted:this.#D,onFinished:this.#w});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,fr);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,-fr)}};const merge_streams_onMergedStreamEnd=async(r,{signal:A})=>{await(0,Ut.finished)(r,{signal:A,cleanup:true})};const merge_streams_onInputStreamsUnpipe=async(r,A,{signal:s})=>{for await(const[n]of(0,Nt.on)(r,"unpipe",{signal:s})){if(A.has(n)){n.emit(Cr)}}};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,Br);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,-Br)}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,Ut.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,Nt.once)(r,Cr,{signal:a});A.delete(r);s.delete(r);n.delete(r)};const Cr=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 fr=2;const Br=1;var Qr=s(6581);async function isType(r,A,s){if(typeof s!=="string"){throw new TypeError(`Expected a string, got ${typeof s}`)}try{const a=await n.promises[r](s);return a[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 n[r](s)[A]()}catch(r){if(r.code==="ENOENT"){return false}throw r}}const Ir=isType.bind(null,"stat","isFile");const mr=isType.bind(null,"stat","isDirectory");const yr=isType.bind(null,"lstat","isSymbolicLink");const Dr=isTypeSync.bind(null,"statSync","isFile");const wr=isTypeSync.bind(null,"statSync","isDirectory");const br=isTypeSync.bind(null,"lstatSync","isSymbolicLink");function toPath(r){return r instanceof URL?(0,l.fileURLToPath)(r):r}const Rr=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:fs/promises");var Sr=s(9910);function slash(r){const A=r.startsWith("\\\\?\\");if(A){return r}return r.replace(/\\/g,"/")}const isNegativePattern=r=>r[0]==="!";const kr=["**/node_modules","**/flow-typed","**/coverage","**/.git"];const Fr={absolute:true,dot:true};const Tr="**/.gitignore";const applyBaseToPattern=(r,A)=>isNegativePattern(r)?"!"+Le.posix.join(A,r.slice(1)):Le.posix.join(A,r);const parseIgnoreFile=(r,A)=>{const s=slash(Le.relative(A,Le.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(Le.isAbsolute(r)){if(slash(r).startsWith(A)){return Le.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=Sr().add(s);return r=>{r=toPath(r);r=toRelativePath(r,A);return r?n.ignores(slash(r)):false}};const ignore_normalizeOptions=(r={})=>({cwd:toPath(r.cwd)??de.cwd(),suppressErrors:Boolean(r.suppressErrors),deep:typeof r.deep==="number"?r.deep:Number.POSITIVE_INFINITY,ignore:[...r.ignore??[],...kr]});const isIgnoredByIgnoreFiles=async(r,A)=>{const{cwd:s,suppressErrors:n,deep:a,ignore:u}=ignore_normalizeOptions(A);const l=await Qr(r,{cwd:s,suppressErrors:n,deep:a,ignore:u,...Fr});const g=await Promise.all(l.map((async r=>({filePath:r,content:await Rr.readFile(r,"utf8")}))));return getIsIgnoredPredicate(g,s)};const isIgnoredByIgnoreFilesSync=(r,A)=>{const{cwd:s,suppressErrors:n,deep:a,ignore:u}=ignore_normalizeOptions(A);const l=Qr.sync(r,{cwd:s,suppressErrors:n,deep:a,ignore:u,...Fr});const g=l.map((r=>({filePath:r,content:he.readFileSync(r,"utf8")})));return getIsIgnoredPredicate(g,s)};const isGitIgnored=r=>isIgnoredByIgnoreFiles(Tr,r);const isGitIgnoredSync=r=>isIgnoredByIgnoreFilesSync(Tr,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 Le.isAbsolute(s)?s:Le.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=>Le.posix.join(r,`**/${Le.extname(A)?A:`${A}${n}`}`))):[Le.posix.join(r,`**${n?`/*${n}`:""}`)]};const directoryToGlob=async(r,{cwd:A=de.cwd(),files:s,extensions:n}={})=>{const a=await Promise.all(r.map((async r=>await mr(normalizePathForDirectoryGlob(r,A))?getDirectoryGlob({directoryPath:r,files:s,extensions:n}):r)));return a.flat()};const directoryToGlobSync=(r,{cwd:A=de.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=he.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: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(Tr)}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=Le.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 Nr=normalizeArguments((async(r,A)=>{const[s,n]=await Promise.all([generateTasks(r,A),getFilter(A)]);const a=await Promise.all(s.map((r=>Qr(r.patterns,r.options))));return unionFastGlobResults(a,n)}));const vr=normalizeArgumentsSync(((r,A)=>{const s=generateTasksSync(r,A);const n=getFilterSync(A);const a=s.map((r=>Qr.sync(r.patterns,r.options)));return unionFastGlobResults(a,n)}));const _r=normalizeArgumentsSync(((r,A)=>{const s=generateTasksSync(r,A);const n=getFilterSync(A);const a=s.map((r=>Qr.stream(r.patterns,r.options)));const u=merge_streams_mergeStreams(a).filter((r=>n(r)));return u}));const Ur=normalizeArgumentsSync(((r,A)=>r.some((r=>Qr.isDynamicPattern(r,A)))));const Lr=normalizeArguments(generateTasks);const Mr=normalizeArgumentsSync(generateTasksSync);const{convertPathToPattern:Gr}=Qr;var Pr=s(9598);const Or=[".app.tar.gz.sig",".app.tar.gz",".dmg",".AppImage.tar.gz.sig",".AppImage.tar.gz",".AppImage",".deb",".rpm",".msi.zip.sig",".msi.zip",".msi",".nsis.zip.sig",".nsis.zip",".exe"];function getAssetName(r){const A=u().basename(r);const s=Or.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=vr(["**/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,pr.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=vr(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,pr.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,pr.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,pr.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 execCommand(r,A,{cwd:s}={}){console.log(`running ${r}`,A);return ur(r,A,{cwd:s,stdio:"inherit",env:{FORCE_COLOR:"0"}}).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=Pr.u.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}}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}}},9491:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("assert")},852:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("async_hooks")},4300:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("buffer")},2081:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("child_process")},6206:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("console")},6113:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("crypto")},7643:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("diagnostics_channel")},2361:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("events")},7147:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("fs")},3685:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http")},5158:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("http2")},5687:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("https")},1808:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("net")},5673:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:events")},4492:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:stream")},7261:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("node:util")},2037:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("os")},1017:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("path")},4074:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("perf_hooks")},3477:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("querystring")},2781:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream")},5356:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("stream/web")},1576:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("string_decoder")},4404:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("tls")},7310:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("url")},3837:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util")},9830:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("util/types")},1267:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("worker_threads")},9796:r=>{r.exports=__WEBPACK_EXTERNAL_createRequire(import.meta.url)("zlib")},5992:(r,A,s)=>{const n=s(4492).Writable;const a=s(7261).inherits;const u=s(3304);const l=s(4215);const g=s(5412);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(5673).EventEmitter;const a=s(7261).inherits;const u=s(2160);const l=s(3304);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(7261).inherits;const a=s(4492).Readable;function PartStream(r){a.call(this,r)}n(PartStream,a);PartStream.prototype._read=function(r){};r.exports=PartStream},3304:(r,A,s)=>{const n=s(5673).EventEmitter;const a=s(7261).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(4492).Writable;const{inherits:a}=s(7261);const u=s(5992);const l=s(6311);const g=s(6173);const E=s(3576);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},6311:(r,A,s)=>{const{Readable:n}=s(4492);const{inherits:a}=s(7261);const u=s(5992);const l=s(3576);const g=s(884);const E=s(6504);const d=s(2160);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 D=A.isPartAFile||((r,A,s)=>A==="application/octet-stream"||s!==undefined);const w=A.parsedConType||[];const b=A.defCharset||"utf8";const R=A.preservePath;const S={highWaterMark:A.fileHwm};for(s=0,n=w.length;sv){a.parser.removeListener("part",onPart);a.parser.on("part",skipPart);r.hitPartsLimit=true;r.emit("partsLimit");return skipPart(A)}if(O){const r=O;r.emit("end");r.removeAllListeners("end")}A.on("header",(function(u){let d;let p;let m;let y;let w;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=_};x=function(){P=undefined;s.push(null)}}else{if(M===N){if(!r.hitFieldsLimit){r.hitFieldsLimit=true;r.emit("fieldsLimit")}return skipPart(A)}++M;++G;let s="";let n=false;O=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")}};x=function(){O=undefined;if(s.length){s=g(s,"binary",y)}r.emit("field",p,s,false,n,w,d);--G;checkFinished()}}A._readableState.sync=false;A.on("data",U);A.on("end",x)})).on("error",(function(r){if(P){P.emit("error",r)}}))})).on("error",(function(A){r.emit("error",A)})).on("finish",(function(){x=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},6173:(r,A,s)=>{const n=s(9687);const a=s(884);const u=s(2160);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},9687: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}},884: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},2160: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]}},3576:(r,A,s)=>{const n=s(884);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,{Z:()=>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){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)}})();(()=>{__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__(2694);__webpack_exports__=await __webpack_exports__; \ No newline at end of file diff --git a/src/build.ts b/src/build.ts index 863d6096e..b04dd6cf7 100644 --- a/src/build.ts +++ b/src/build.ts @@ -65,15 +65,13 @@ export async function buildProject( await runner.execTauriCommand(['build'], [...tauriArgs], root); - let fileAppName = app.name; // on Linux, the app product name is converted to kebab-case - if (targetInfo.platform === 'linux') { - fileAppName = fileAppName - .replace(/([a-z0-9])([A-Z])/g, '$1-$2') - .replace(/([A-Z])([A-Z])(?=[a-z])/g, '$1-$2') - .replace(/[ _.]/g, '-') - .toLowerCase(); - } + // with tauri-cli 2.0.0-beta.19 deb and appimage will now use the product name as on the other platforms. + const linuxFileAppName = app.name + .replace(/([a-z0-9])([A-Z])/g, '$1-$2') + .replace(/([A-Z])([A-Z])(?=[a-z])/g, '$1-$2') + .replace(/[ _.]/g, '-') + .toLowerCase(); const workspacePath = getWorkspaceDir(app.tauriPath) ?? app.tauriPath; @@ -95,13 +93,10 @@ export async function buildProject( } artifacts = [ - join( - artifactsPath, - `bundle/dmg/${fileAppName}_${app.version}_${arch}.dmg`, - ), - join(artifactsPath, `bundle/macos/${fileAppName}.app`), - join(artifactsPath, `bundle/macos/${fileAppName}.app.tar.gz`), - join(artifactsPath, `bundle/macos/${fileAppName}.app.tar.gz.sig`), + join(artifactsPath, `bundle/dmg/${app.name}_${app.version}_${arch}.dmg`), + join(artifactsPath, `bundle/macos/${app.name}.app`), + join(artifactsPath, `bundle/macos/${app.name}.app.tar.gz`), + join(artifactsPath, `bundle/macos/${app.name}.app.tar.gz.sig`), ].map((path) => ({ path, arch })); } else if (targetInfo.platform === 'windows') { if (arch.startsWith('i')) { @@ -129,19 +124,19 @@ export async function buildProject( winArtifacts.push( join( artifactsPath, - `bundle/msi/${fileAppName}_${app.wixAppVersion}_${arch}_${lang}.msi`, + `bundle/msi/${app.name}_${app.wixAppVersion}_${arch}_${lang}.msi`, ), ); winArtifacts.push( join( artifactsPath, - `bundle/msi/${fileAppName}_${app.wixAppVersion}_${arch}_${lang}.msi.zip`, + `bundle/msi/${app.name}_${app.wixAppVersion}_${arch}_${lang}.msi.zip`, ), ); winArtifacts.push( join( artifactsPath, - `bundle/msi/${fileAppName}_${app.wixAppVersion}_${arch}_${lang}.msi.zip.sig`, + `bundle/msi/${app.name}_${app.wixAppVersion}_${arch}_${lang}.msi.zip.sig`, ), ); }); @@ -149,19 +144,19 @@ export async function buildProject( winArtifacts.push( join( artifactsPath, - `bundle/nsis/${fileAppName}_${app.version}_${arch}-setup.exe`, + `bundle/nsis/${app.name}_${app.version}_${arch}-setup.exe`, ), ); winArtifacts.push( join( artifactsPath, - `bundle/nsis/${fileAppName}_${app.version}_${arch}-setup.nsis.zip`, + `bundle/nsis/${app.name}_${app.version}_${arch}-setup.nsis.zip`, ), ); winArtifacts.push( join( artifactsPath, - `bundle/nsis/${fileAppName}_${app.version}_${arch}-setup.nsis.zip.sig`, + `bundle/nsis/${app.name}_${app.version}_${arch}-setup.nsis.zip.sig`, ), ); @@ -200,39 +195,80 @@ export async function buildProject( { path: join( artifactsPath, - `bundle/deb/${fileAppName}_${app.version}_${debianArch}.deb`, + `bundle/deb/${app.name}_${app.version}_${debianArch}.deb`, ), arch: debianArch, }, { path: join( artifactsPath, - `bundle/rpm/${fileAppName}-${app.version}-${app.rpmRelease}.${rpmArch}.rpm`, + // TODO: Upstream bug? + `bundle/rpm/${linuxFileAppName}-${app.version}-${app.rpmRelease}.${rpmArch}.rpm`, ), arch: rpmArch, }, { path: join( artifactsPath, - `bundle/appimage/${fileAppName}_${app.version}_${appImageArch}.AppImage`, + `bundle/appimage/${app.name}_${app.version}_${appImageArch}.AppImage`, ), arch: appImageArch, }, { path: join( artifactsPath, - `bundle/appimage/${fileAppName}_${app.version}_${appImageArch}.AppImage.tar.gz`, + `bundle/appimage/${app.name}_${app.version}_${appImageArch}.AppImage.tar.gz`, ), arch: appImageArch, }, { path: join( artifactsPath, - `bundle/appimage/${fileAppName}_${app.version}_${appImageArch}.AppImage.tar.gz.sig`, + `bundle/appimage/${app.name}_${app.version}_${appImageArch}.AppImage.tar.gz.sig`, ), arch: appImageArch, }, ]; + + if (app.name != linuxFileAppName) { + artifacts.push( + { + path: join( + artifactsPath, + `bundle/deb/${linuxFileAppName}_${app.version}_${debianArch}.deb`, + ), + arch: debianArch, + }, + /* { + path: join( + artifactsPath, + `bundle/rpm/${linuxFileAppName}-${app.version}-${app.rpmRelease}.${rpmArch}.rpm`, + ), + arch: rpmArch, + }, */ + { + path: join( + artifactsPath, + `bundle/appimage/${linuxFileAppName}_${app.version}_${appImageArch}.AppImage`, + ), + arch: appImageArch, + }, + { + path: join( + artifactsPath, + `bundle/appimage/${linuxFileAppName}_${app.version}_${appImageArch}.AppImage.tar.gz`, + ), + arch: appImageArch, + }, + { + path: join( + artifactsPath, + `bundle/appimage/${linuxFileAppName}_${app.version}_${appImageArch}.AppImage.tar.gz.sig`, + ), + arch: appImageArch, + }, + ); + } } console.log(