@skyramp/testbot-core 0.13.0-v3.183 → 0.13.0-v3.185
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/VERSION.json +1 -1
- package/dist/main.js +487 -630
- package/dist/post.js +365 -555
- package/dist/runner-client.cjs +29 -29
- package/package.json +3 -4
package/dist/runner-client.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`,h.message,h.stack);var f=new Error("tunneling socket could not be established, cause="+h.message);f.code="ECONNRESET",e.request.emit("error",f),r.removeSocket(s)}o(g,"onError")},"createSocket");Mn.prototype.removeSocket=o(function(e){var n=this.sockets.indexOf(e);if(n!==-1){this.sockets.splice(n,1);var r=this.requests.shift();r&&this.createSocket(r,function(s){r.request.onSocket(s)})}},"removeSocket");function NE(t,e){var n=this;Mn.prototype.createSocket.call(n,t,function(r){var s=t.request.getHeader("host"),i=rd({},n.options,{socket:r,servername:s?s.replace(/:.*$/,""):t.host}),a=dD.connect(0,i);n.sockets[n.sockets.indexOf(r)]=a,e(a)})}o(NE,"createSecureSocket");function FE(t,e,n){return typeof t=="string"?{host:t,port:e,localAddress:n}:t}o(FE,"toOptions");function rd(t){for(var e=1,n=arguments.length;e<n;++e){var r=arguments[e];if(typeof r=="object")for(var s=Object.keys(r),i=0,a=s.length;i<a;++i){var c=s[i];r[c]!==void 0&&(t[c]=r[c])}}return t}o(rd,"mergeOptions");var gr;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?gr=o(function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)},"debug"):gr=o(function(){},"debug");ni.debug=gr});var LE=T((AK,ME)=>{ME.exports=UE()});var Re=T((cK,_E)=>{_E.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var pe=T((uK,cC)=>{"use strict";var PE=Symbol.for("undici.error.UND_ERR"),Se=class extends Error{static{o(this,"UndiciError")}constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[PE]===!0}[PE]=!0},OE=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),sd=class extends Se{static{o(this,"ConnectTimeoutError")}constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[OE]===!0}[OE]=!0},GE=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),id=class extends Se{static{o(this,"HeadersTimeoutError")}constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[GE]===!0}[GE]=!0},$E=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),od=class extends Se{static{o(this,"HeadersOverflowError")}constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[$E]===!0}[$E]=!0},YE=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),ad=class extends Se{static{o(this,"BodyTimeoutError")}constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[YE]===!0}[YE]=!0},HE=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"),Ad=class extends Se{static{o(this,"ResponseStatusCodeError")}constructor(e,n,r,s){super(e),this.name="ResponseStatusCodeError",this.message=e||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=s,this.status=n,this.statusCode=n,this.headers=r}static[Symbol.hasInstance](e){return e&&e[HE]===!0}[HE]=!0},VE=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),cd=class extends Se{static{o(this,"InvalidArgumentError")}constructor(e){super(e),this.name="InvalidArgumentError",this.message=e||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](e){return e&&e[VE]===!0}[VE]=!0},JE=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),ud=class extends Se{static{o(this,"InvalidReturnValueError")}constructor(e){super(e),this.name="InvalidReturnValueError",this.message=e||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](e){return e&&e[JE]===!0}[JE]=!0},qE=Symbol.for("undici.error.UND_ERR_ABORT"),vA=class extends Se{static{o(this,"AbortError")}constructor(e){super(e),this.name="AbortError",this.message=e||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](e){return e&&e[qE]===!0}[qE]=!0},jE=Symbol.for("undici.error.UND_ERR_ABORTED"),ld=class extends vA{static{o(this,"RequestAbortedError")}constructor(e){super(e),this.name="AbortError",this.message=e||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[jE]===!0}[jE]=!0},WE=Symbol.for("undici.error.UND_ERR_INFO"),dd=class extends Se{static{o(this,"InformationalError")}constructor(e){super(e),this.name="InformationalError",this.message=e||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[WE]===!0}[WE]=!0},zE=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),gd=class extends Se{static{o(this,"RequestContentLengthMismatchError")}constructor(e){super(e),this.name="RequestContentLengthMismatchError",this.message=e||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[zE]===!0}[zE]=!0},ZE=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),hd=class extends Se{static{o(this,"ResponseContentLengthMismatchError")}constructor(e){super(e),this.name="ResponseContentLengthMismatchError",this.message=e||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[ZE]===!0}[ZE]=!0},KE=Symbol.for("undici.error.UND_ERR_DESTROYED"),pd=class extends Se{static{o(this,"ClientDestroyedError")}constructor(e){super(e),this.name="ClientDestroyedError",this.message=e||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](e){return e&&e[KE]===!0}[KE]=!0},XE=Symbol.for("undici.error.UND_ERR_CLOSED"),fd=class extends Se{static{o(this,"ClientClosedError")}constructor(e){super(e),this.name="ClientClosedError",this.message=e||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](e){return e&&e[XE]===!0}[XE]=!0},eC=Symbol.for("undici.error.UND_ERR_SOCKET"),md=class extends Se{static{o(this,"SocketError")}constructor(e,n){super(e),this.name="SocketError",this.message=e||"Socket error",this.code="UND_ERR_SOCKET",this.socket=n}static[Symbol.hasInstance](e){return e&&e[eC]===!0}[eC]=!0},tC=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),Ed=class extends Se{static{o(this,"NotSupportedError")}constructor(e){super(e),this.name="NotSupportedError",this.message=e||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](e){return e&&e[tC]===!0}[tC]=!0},nC=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),Cd=class extends Se{static{o(this,"BalancedPoolMissingUpstreamError")}constructor(e){super(e),this.name="MissingUpstreamError",this.message=e||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](e){return e&&e[nC]===!0}[nC]=!0},rC=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),Id=class extends Error{static{o(this,"HTTPParserError")}constructor(e,n,r){super(e),this.name="HTTPParserError",this.code=n?`HPE_${n}`:void 0,this.data=r?r.toString():void 0}static[Symbol.hasInstance](e){return e&&e[rC]===!0}[rC]=!0},sC=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),yd=class extends Se{static{o(this,"ResponseExceededMaxSizeError")}constructor(e){super(e),this.name="ResponseExceededMaxSizeError",this.message=e||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](e){return e&&e[sC]===!0}[sC]=!0},iC=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),Qd=class extends Se{static{o(this,"RequestRetryError")}constructor(e,n,{headers:r,data:s}){super(e),this.name="RequestRetryError",this.message=e||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=n,this.data=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[iC]===!0}[iC]=!0},oC=Symbol.for("undici.error.UND_ERR_RESPONSE"),Bd=class extends Se{static{o(this,"ResponseError")}constructor(e,n,{headers:r,data:s}){super(e),this.name="ResponseError",this.message=e||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=n,this.data=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[oC]===!0}[oC]=!0},aC=Symbol.for("undici.error.UND_ERR_PRX_TLS"),wd=class extends Se{static{o(this,"SecureProxyConnectionError")}constructor(e,n,r){super(n,{cause:e,...r??{}}),this.name="SecureProxyConnectionError",this.message=n||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=e}static[Symbol.hasInstance](e){return e&&e[aC]===!0}[aC]=!0},AC=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),bd=class extends Se{static{o(this,"MessageSizeExceededError")}constructor(e){super(e),this.name="MessageSizeExceededError",this.message=e||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](e){return e&&e[AC]===!0}get[AC](){return!0}};cC.exports={AbortError:vA,HTTPParserError:Id,UndiciError:Se,HeadersTimeoutError:id,HeadersOverflowError:od,BodyTimeoutError:ad,RequestContentLengthMismatchError:gd,ConnectTimeoutError:sd,ResponseStatusCodeError:Ad,InvalidArgumentError:cd,InvalidReturnValueError:ud,RequestAbortedError:ld,ClientDestroyedError:pd,ClientClosedError:fd,InformationalError:dd,SocketError:md,NotSupportedError:Ed,ResponseContentLengthMismatchError:hd,BalancedPoolMissingUpstreamError:Cd,ResponseExceededMaxSizeError:yd,RequestRetryError:Qd,ResponseError:Bd,SecureProxyConnectionError:wd,MessageSizeExceededError:bd}});var DA=T((dK,uC)=>{"use strict";var xA={},kd=["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 t=0;t<kd.length;++t){let e=kd[t],n=e.toLowerCase();xA[e]=xA[n]=n}Object.setPrototypeOf(xA,null);uC.exports={wellknownHeaderNames:kd,headerNameLowerCasedRecord:xA}});var hC=T((gK,gC)=>{"use strict";var{wellknownHeaderNames:lC,headerNameLowerCasedRecord:CD}=DA(),Rd=class t{static{o(this,"TstNode")}value=null;left=null;middle=null;right=null;code;constructor(e,n,r){if(r===void 0||r>=e.length)throw new TypeError("Unreachable");if((this.code=e.charCodeAt(r))>127)throw new TypeError("key must be ascii string");e.length!==++r?this.middle=new t(e,n,r):this.value=n}add(e,n){let r=e.length;if(r===0)throw new TypeError("Unreachable");let s=0,i=this;for(;;){let a=e.charCodeAt(s);if(a>127)throw new TypeError("key must be ascii string");if(i.code===a)if(r===++s){i.value=n;break}else if(i.middle!==null)i=i.middle;else{i.middle=new t(e,n,s);break}else if(i.code<a)if(i.left!==null)i=i.left;else{i.left=new t(e,n,s);break}else if(i.right!==null)i=i.right;else{i.right=new t(e,n,s);break}}}search(e){let n=e.length,r=0,s=this;for(;s!==null&&r<n;){let i=e[r];for(i<=90&&i>=65&&(i|=32);s!==null;){if(i===s.code){if(n===++r)return s;s=s.middle;break}s=s.code<i?s.left:s.right}}return null}},TA=class{static{o(this,"TernarySearchTree")}node=null;insert(e,n){this.node===null?this.node=new Rd(e,n,0):this.node.add(e,n)}lookup(e){return this.node?.search(e)?.value??null}},dC=new TA;for(let t=0;t<lC.length;++t){let e=CD[lC[t]];dC.insert(e,e)}gC.exports={TernarySearchTree:TA,tree:dC}});var ue=T((pK,xC)=>{"use strict";var No=require("node:assert"),{kDestroyed:fC,kBodyUsed:ri,kListeners:Sd,kBody:pC}=Re(),{IncomingMessage:ID}=require("node:http"),UA=require("node:stream"),yD=require("node:net"),{Blob:QD}=require("node:buffer"),BD=require("node:util"),{stringify:wD}=require("node:querystring"),{EventEmitter:bD}=require("node:events"),{InvalidArgumentError:$e}=pe(),{headerNameLowerCasedRecord:kD}=DA(),{tree:mC}=hC(),[RD,SD]=process.versions.node.split(".").map(t=>Number(t)),FA=class{static{o(this,"BodyAsyncIterable")}constructor(e){this[pC]=e,this[ri]=!1}async*[Symbol.asyncIterator](){No(!this[ri],"disturbed"),this[ri]=!0,yield*this[pC]}};function vD(t){return MA(t)?(QC(t)===0&&t.on("data",function(){No(!1)}),typeof t.readableDidRead!="boolean"&&(t[ri]=!1,bD.prototype.on.call(t,"data",function(){this[ri]=!0})),t):t&&typeof t.pipeTo=="function"?new FA(t):t&&typeof t!="string"&&!ArrayBuffer.isView(t)&&yC(t)?new FA(t):t}o(vD,"wrapRequestBody");function xD(){}o(xD,"nop");function MA(t){return t&&typeof t=="object"&&typeof t.pipe=="function"&&typeof t.on=="function"}o(MA,"isStream");function EC(t){if(t===null)return!1;if(t instanceof QD)return!0;if(typeof t!="object")return!1;{let e=t[Symbol.toStringTag];return(e==="Blob"||e==="File")&&("stream"in t&&typeof t.stream=="function"||"arrayBuffer"in t&&typeof t.arrayBuffer=="function")}}o(EC,"isBlobLike");function DD(t,e){if(t.includes("?")||t.includes("#"))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let n=wD(e);return n&&(t+="?"+n),t}o(DD,"buildURL");function CC(t){let e=parseInt(t,10);return e===Number(t)&&e>=0&&e<=65535}o(CC,"isValidPort");function NA(t){return t!=null&&t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p"&&(t[4]===":"||t[4]==="s"&&t[5]===":")}o(NA,"isHttpOrHttpsPrefixed");function IC(t){if(typeof t=="string"){if(t=new URL(t),!NA(t.origin||t.protocol))throw new $e("Invalid URL protocol: the URL must start with `http:` or `https:`.");return t}if(!t||typeof t!="object")throw new $e("Invalid URL: The URL argument must be a non-null object.");if(!(t instanceof URL)){if(t.port!=null&&t.port!==""&&CC(t.port)===!1)throw new $e("Invalid URL: port must be a valid integer or a string representation of an integer.");if(t.path!=null&&typeof t.path!="string")throw new $e("Invalid URL path: the path must be a string or null/undefined.");if(t.pathname!=null&&typeof t.pathname!="string")throw new $e("Invalid URL pathname: the pathname must be a string or null/undefined.");if(t.hostname!=null&&typeof t.hostname!="string")throw new $e("Invalid URL hostname: the hostname must be a string or null/undefined.");if(t.origin!=null&&typeof t.origin!="string")throw new $e("Invalid URL origin: the origin must be a string or null/undefined.");if(!NA(t.origin||t.protocol))throw new $e("Invalid URL protocol: the URL must start with `http:` or `https:`.");let e=t.port!=null?t.port:t.protocol==="https:"?443:80,n=t.origin!=null?t.origin:`${t.protocol||""}//${t.hostname||""}:${e}`,r=t.path!=null?t.path:`${t.pathname||""}${t.search||""}`;return n[n.length-1]==="/"&&(n=n.slice(0,n.length-1)),r&&r[0]!=="/"&&(r=`/${r}`),new URL(`${n}${r}`)}if(!NA(t.origin||t.protocol))throw new $e("Invalid URL protocol: the URL must start with `http:` or `https:`.");return t}o(IC,"parseURL");function TD(t){if(t=IC(t),t.pathname!=="/"||t.search||t.hash)throw new $e("invalid url");return t}o(TD,"parseOrigin");function ND(t){if(t[0]==="["){let n=t.indexOf("]");return No(n!==-1),t.substring(1,n)}let e=t.indexOf(":");return e===-1?t:t.substring(0,e)}o(ND,"getHostname");function FD(t){if(!t)return null;No(typeof t=="string");let e=ND(t);return yD.isIP(e)?"":e}o(FD,"getServerName");function UD(t){return JSON.parse(JSON.stringify(t))}o(UD,"deepClone");function MD(t){return t!=null&&typeof t[Symbol.asyncIterator]=="function"}o(MD,"isAsyncIterable");function yC(t){return t!=null&&(typeof t[Symbol.iterator]=="function"||typeof t[Symbol.asyncIterator]=="function")}o(yC,"isIterable");function QC(t){if(t==null)return 0;if(MA(t)){let e=t._readableState;return e&&e.objectMode===!1&&e.ended===!0&&Number.isFinite(e.length)?e.length:null}else{if(EC(t))return t.size!=null?t.size:null;if(bC(t))return t.byteLength}return null}o(QC,"bodyLength");function BC(t){return t&&!!(t.destroyed||t[fC]||UA.isDestroyed?.(t))}o(BC,"isDestroyed");function LD(t,e){t==null||!MA(t)||BC(t)||(typeof t.destroy=="function"?(Object.getPrototypeOf(t).constructor===ID&&(t.socket=null),t.destroy(e)):e&&queueMicrotask(()=>{t.emit("error",e)}),t.destroyed!==!0&&(t[fC]=!0))}o(LD,"destroy");var _D=/timeout=(\d+)/;function PD(t){let e=t.toString().match(_D);return e?parseInt(e[1],10)*1e3:null}o(PD,"parseKeepAliveTimeout");function wC(t){return typeof t=="string"?kD[t]??t.toLowerCase():mC.lookup(t)??t.toString("latin1").toLowerCase()}o(wC,"headerNameToString");function OD(t){return mC.lookup(t)??t.toString("latin1").toLowerCase()}o(OD,"bufferToLowerCasedHeaderName");function GD(t,e){e===void 0&&(e={});for(let n=0;n<t.length;n+=2){let r=wC(t[n]),s=e[r];if(s)typeof s=="string"&&(s=[s],e[r]=s),s.push(t[n+1].toString("utf8"));else{let i=t[n+1];typeof i=="string"?e[r]=i:e[r]=Array.isArray(i)?i.map(a=>a.toString("utf8")):i.toString("utf8")}}return"content-length"in e&&"content-disposition"in e&&(e["content-disposition"]=Buffer.from(e["content-disposition"]).toString("latin1")),e}o(GD,"parseHeaders");function $D(t){let e=t.length,n=new Array(e),r=!1,s=-1,i,a,c=0;for(let l=0;l<t.length;l+=2)i=t[l],a=t[l+1],typeof i!="string"&&(i=i.toString()),typeof a!="string"&&(a=a.toString("utf8")),c=i.length,c===14&&i[7]==="-"&&(i==="content-length"||i.toLowerCase()==="content-length")?r=!0:c===19&&i[7]==="-"&&(i==="content-disposition"||i.toLowerCase()==="content-disposition")&&(s=l+1),n[l]=i,n[l+1]=a;return r&&s!==-1&&(n[s]=Buffer.from(n[s]).toString("latin1")),n}o($D,"parseRawHeaders");function bC(t){return t instanceof Uint8Array||Buffer.isBuffer(t)}o(bC,"isBuffer");function YD(t,e,n){if(!t||typeof t!="object")throw new $e("handler must be an object");if(typeof t.onConnect!="function")throw new $e("invalid onConnect method");if(typeof t.onError!="function")throw new $e("invalid onError method");if(typeof t.onBodySent!="function"&&t.onBodySent!==void 0)throw new $e("invalid onBodySent method");if(n||e==="CONNECT"){if(typeof t.onUpgrade!="function")throw new $e("invalid onUpgrade method")}else{if(typeof t.onHeaders!="function")throw new $e("invalid onHeaders method");if(typeof t.onData!="function")throw new $e("invalid onData method");if(typeof t.onComplete!="function")throw new $e("invalid onComplete method")}}o(YD,"validateHandler");function HD(t){return!!(t&&(UA.isDisturbed(t)||t[ri]))}o(HD,"isDisturbed");function VD(t){return!!(t&&UA.isErrored(t))}o(VD,"isErrored");function JD(t){return!!(t&&UA.isReadable(t))}o(JD,"isReadable");function qD(t){return{localAddress:t.localAddress,localPort:t.localPort,remoteAddress:t.remoteAddress,remotePort:t.remotePort,remoteFamily:t.remoteFamily,timeout:t.timeout,bytesWritten:t.bytesWritten,bytesRead:t.bytesRead}}o(qD,"getSocketInfo");function jD(t){let e;return new ReadableStream({async start(){e=t[Symbol.asyncIterator]()},async pull(n){let{done:r,value:s}=await e.next();if(r)queueMicrotask(()=>{n.close(),n.byobRequest?.respond(0)});else{let i=Buffer.isBuffer(s)?s:Buffer.from(s);i.byteLength&&n.enqueue(new Uint8Array(i))}return n.desiredSize>0},async cancel(n){await e.return()},type:"bytes"})}o(jD,"ReadableStreamFrom");function WD(t){return t&&typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&t[Symbol.toStringTag]==="FormData"}o(WD,"isFormDataLike");function zD(t,e){return"addEventListener"in t?(t.addEventListener("abort",e,{once:!0}),()=>t.removeEventListener("abort",e)):(t.addListener("abort",e),()=>t.removeListener("abort",e))}o(zD,"addAbortListener");var ZD=typeof String.prototype.toWellFormed=="function",KD=typeof String.prototype.isWellFormed=="function";function kC(t){return ZD?`${t}`.toWellFormed():BD.toUSVString(t)}o(kC,"toUSVString");function XD(t){return KD?`${t}`.isWellFormed():kC(t)===`${t}`}o(XD,"isUSVString");function RC(t){switch(t){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!1;default:return t>=33&&t<=126}}o(RC,"isTokenCharCode");function eT(t){if(t.length===0)return!1;for(let e=0;e<t.length;++e)if(!RC(t.charCodeAt(e)))return!1;return!0}o(eT,"isValidHTTPToken");var tT=/[^\t\x20-\x7e\x80-\xff]/;function nT(t){return!tT.test(t)}o(nT,"isValidHeaderValue");function rT(t){if(t==null||t==="")return{start:0,end:null,size:null};let e=t?t.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return e?{start:parseInt(e[1]),end:e[2]?parseInt(e[2]):null,size:e[3]?parseInt(e[3]):null}:null}o(rT,"parseRangeHeader");function sT(t,e,n){return(t[Sd]??=[]).push([e,n]),t.on(e,n),t}o(sT,"addListener");function iT(t){for(let[e,n]of t[Sd]??[])t.removeListener(e,n);t[Sd]=null}o(iT,"removeAllListeners");function oT(t,e,n){try{e.onError(n),No(e.aborted)}catch(r){t.emit("error",r)}}o(oT,"errorRequest");var SC=Object.create(null);SC.enumerable=!0;var vd={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},vC={...vd,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(vd,null);Object.setPrototypeOf(vC,null);xC.exports={kEnumerableProperty:SC,nop:xD,isDisturbed:HD,isErrored:VD,isReadable:JD,toUSVString:kC,isUSVString:XD,isBlobLike:EC,parseOrigin:TD,parseURL:IC,getServerName:FD,isStream:MA,isIterable:yC,isAsyncIterable:MD,isDestroyed:BC,headerNameToString:wC,bufferToLowerCasedHeaderName:OD,addListener:sT,removeAllListeners:iT,errorRequest:oT,parseRawHeaders:$D,parseHeaders:GD,parseKeepAliveTimeout:PD,destroy:LD,bodyLength:QC,deepClone:UD,ReadableStreamFrom:jD,isBuffer:bC,validateHandler:YD,getSocketInfo:qD,isFormDataLike:WD,buildURL:DD,addAbortListener:zD,isValidHTTPToken:eT,isValidHeaderValue:nT,isTokenCharCode:RC,parseRangeHeader:rT,normalizedMethodRecordsBase:vd,normalizedMethodRecords:vC,isValidPort:CC,isHttpOrHttpsPrefixed:NA,nodeMajor:RD,nodeMinor:SD,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"],wrapRequestBody:vD}});var si=T((mK,TC)=>{"use strict";var me=require("node:diagnostics_channel"),Dd=require("node:util"),LA=Dd.debuglog("undici"),xd=Dd.debuglog("fetch"),ts=Dd.debuglog("websocket"),DC=!1,aT={beforeConnect:me.channel("undici:client:beforeConnect"),connected:me.channel("undici:client:connected"),connectError:me.channel("undici:client:connectError"),sendHeaders:me.channel("undici:client:sendHeaders"),create:me.channel("undici:request:create"),bodySent:me.channel("undici:request:bodySent"),headers:me.channel("undici:request:headers"),trailers:me.channel("undici:request:trailers"),error:me.channel("undici:request:error"),open:me.channel("undici:websocket:open"),close:me.channel("undici:websocket:close"),socketError:me.channel("undici:websocket:socket_error"),ping:me.channel("undici:websocket:ping"),pong:me.channel("undici:websocket:pong")};if(LA.enabled||xd.enabled){let t=xd.enabled?xd:LA;me.channel("undici:client:beforeConnect").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i}}=e;t("connecting to %s using %s%s",`${i}${s?`:${s}`:""}`,r,n)}),me.channel("undici:client:connected").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i}}=e;t("connected to %s using %s%s",`${i}${s?`:${s}`:""}`,r,n)}),me.channel("undici:client:connectError").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i},error:a}=e;t("connection to %s using %s%s errored - %s",`${i}${s?`:${s}`:""}`,r,n,a.message)}),me.channel("undici:client:sendHeaders").subscribe(e=>{let{request:{method:n,path:r,origin:s}}=e;t("sending request to %s %s/%s",n,s,r)}),me.channel("undici:request:headers").subscribe(e=>{let{request:{method:n,path:r,origin:s},response:{statusCode:i}}=e;t("received response to %s %s/%s - HTTP %d",n,s,r,i)}),me.channel("undici:request:trailers").subscribe(e=>{let{request:{method:n,path:r,origin:s}}=e;t("trailers received from %s %s/%s",n,s,r)}),me.channel("undici:request:error").subscribe(e=>{let{request:{method:n,path:r,origin:s},error:i}=e;t("request to %s %s/%s errored - %s",n,s,r,i.message)}),DC=!0}if(ts.enabled){if(!DC){let t=LA.enabled?LA:ts;me.channel("undici:client:beforeConnect").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i}}=e;t("connecting to %s%s using %s%s",i,s?`:${s}`:"",r,n)}),me.channel("undici:client:connected").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i}}=e;t("connected to %s%s using %s%s",i,s?`:${s}`:"",r,n)}),me.channel("undici:client:connectError").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i},error:a}=e;t("connection to %s%s using %s%s errored - %s",i,s?`:${s}`:"",r,n,a.message)}),me.channel("undici:client:sendHeaders").subscribe(e=>{let{request:{method:n,path:r,origin:s}}=e;t("sending request to %s %s/%s",n,s,r)})}me.channel("undici:websocket:open").subscribe(t=>{let{address:{address:e,port:n}}=t;ts("connection opened %s%s",e,n?`:${n}`:"")}),me.channel("undici:websocket:close").subscribe(t=>{let{websocket:e,code:n,reason:r}=t;ts("closed connection to %s - %s %s",e.url,n,r)}),me.channel("undici:websocket:socket_error").subscribe(t=>{ts("connection errored - %s",t.message)}),me.channel("undici:websocket:ping").subscribe(t=>{ts("ping received")}),me.channel("undici:websocket:pong").subscribe(t=>{ts("pong received")})}TC.exports={channels:aT}});var MC=T((EK,UC)=>{"use strict";var{InvalidArgumentError:Qe,NotSupportedError:AT}=pe(),yt=require("node:assert"),{isValidHTTPToken:FC,isValidHeaderValue:Fo,isStream:cT,destroy:uT,isBuffer:lT,isFormDataLike:dT,isIterable:gT,isBlobLike:hT,buildURL:pT,validateHandler:fT,getServerName:mT,normalizedMethodRecords:ET}=ue(),{channels:qe}=si(),{headerNameLowerCasedRecord:NC}=DA(),CT=/[^\u0021-\u00ff]/,Pt=Symbol("handler"),Td=class{static{o(this,"Request")}constructor(e,{path:n,method:r,body:s,headers:i,query:a,idempotent:c,blocking:l,upgrade:d,headersTimeout:g,bodyTimeout:h,reset:f,throwOnError:m,expectContinue:C,servername:y},v){if(typeof n!="string")throw new Qe("path must be a string");if(n[0]!=="/"&&!(n.startsWith("http://")||n.startsWith("https://"))&&r!=="CONNECT")throw new Qe("path must be an absolute URL or start with a slash");if(CT.test(n))throw new Qe("invalid request path");if(typeof r!="string")throw new Qe("method must be a string");if(ET[r]===void 0&&!FC(r))throw new Qe("invalid request method");if(d&&typeof d!="string")throw new Qe("upgrade must be a string");if(d&&!Fo(d))throw new Qe("invalid upgrade header");if(g!=null&&(!Number.isFinite(g)||g<0))throw new Qe("invalid headersTimeout");if(h!=null&&(!Number.isFinite(h)||h<0))throw new Qe("invalid bodyTimeout");if(f!=null&&typeof f!="boolean")throw new Qe("invalid reset");if(C!=null&&typeof C!="boolean")throw new Qe("invalid expectContinue");if(this.headersTimeout=g,this.bodyTimeout=h,this.throwOnError=m===!0,this.method=r,this.abort=null,s==null)this.body=null;else if(cT(s)){this.body=s;let Q=this.body._readableState;(!Q||!Q.autoDestroy)&&(this.endHandler=o(function(){uT(this)},"autoDestroy"),this.body.on("end",this.endHandler)),this.errorHandler=D=>{this.abort?this.abort(D):this.error=D},this.body.on("error",this.errorHandler)}else if(lT(s))this.body=s.byteLength?s:null;else if(ArrayBuffer.isView(s))this.body=s.buffer.byteLength?Buffer.from(s.buffer,s.byteOffset,s.byteLength):null;else if(s instanceof ArrayBuffer)this.body=s.byteLength?Buffer.from(s):null;else if(typeof s=="string")this.body=s.length?Buffer.from(s):null;else if(dT(s)||gT(s)||hT(s))this.body=s;else throw new Qe("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=d||null,this.path=a?pT(n,a):n,this.origin=e,this.idempotent=c??(r==="HEAD"||r==="GET"),this.blocking=l??!1,this.reset=f??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=C??!1,Array.isArray(i)){if(i.length%2!==0)throw new Qe("headers array must be even");for(let Q=0;Q<i.length;Q+=2)_A(this,i[Q],i[Q+1])}else if(i&&typeof i=="object")if(i[Symbol.iterator])for(let Q of i){if(!Array.isArray(Q)||Q.length!==2)throw new Qe("headers must be in key-value pair format");_A(this,Q[0],Q[1])}else{let Q=Object.keys(i);for(let D=0;D<Q.length;++D)_A(this,Q[D],i[Q[D]])}else if(i!=null)throw new Qe("headers must be an object or an array");fT(v,r,d),this.servername=y||mT(this.host),this[Pt]=v,qe.create.hasSubscribers&&qe.create.publish({request:this})}onBodySent(e){if(this[Pt].onBodySent)try{return this[Pt].onBodySent(e)}catch(n){this.abort(n)}}onRequestSent(){if(qe.bodySent.hasSubscribers&&qe.bodySent.publish({request:this}),this[Pt].onRequestSent)try{return this[Pt].onRequestSent()}catch(e){this.abort(e)}}onConnect(e){if(yt(!this.aborted),yt(!this.completed),this.error)e(this.error);else return this.abort=e,this[Pt].onConnect(e)}onResponseStarted(){return this[Pt].onResponseStarted?.()}onHeaders(e,n,r,s){yt(!this.aborted),yt(!this.completed),qe.headers.hasSubscribers&&qe.headers.publish({request:this,response:{statusCode:e,headers:n,statusText:s}});try{return this[Pt].onHeaders(e,n,r,s)}catch(i){this.abort(i)}}onData(e){yt(!this.aborted),yt(!this.completed);try{return this[Pt].onData(e)}catch(n){return this.abort(n),!1}}onUpgrade(e,n,r,s=""){this.onFinally(),yt(!this.aborted),yt(!this.completed),e!==null&&this.#e(e,n,s);let i=this[Pt].onUpgrade(e,n,r);return this.aborted||(this.completed=!0,e!==null&&this.#t()),i}onUpgradeResponse(e,n,r,s=""){yt(!this.aborted),yt(this.completed),qe.headers.hasSubscribers&&this.#e(e,r(n),s),this.#t()}onUpgradeError(e){yt(!this.aborted),yt(this.completed),qe.error.hasSubscribers&&qe.error.publish({request:this,error:e})}#e(e,n,r){qe.headers.hasSubscribers&&qe.headers.publish({request:this,response:{statusCode:e,headers:n,statusText:r}})}#t(){qe.trailers.hasSubscribers&&qe.trailers.publish({request:this,trailers:[]})}onComplete(e){this.onFinally(),yt(!this.aborted),this.completed=!0,qe.trailers.hasSubscribers&&qe.trailers.publish({request:this,trailers:e});try{return this[Pt].onComplete(e)}catch(n){this.onError(n)}}onError(e){if(this.onFinally(),qe.error.hasSubscribers&&qe.error.publish({request:this,error:e}),!this.aborted)return this.aborted=!0,this[Pt].onError(e)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(e,n){return _A(this,e,n),this}};function _A(t,e,n){if(n&&typeof n=="object"&&!Array.isArray(n))throw new Qe(`invalid ${e} header`);if(n===void 0)return;let r=NC[e];if(r===void 0&&(r=e.toLowerCase(),NC[r]===void 0&&!FC(r)))throw new Qe("invalid header key");if(Array.isArray(n)){let s=[];for(let i=0;i<n.length;i++)if(typeof n[i]=="string"){if(!Fo(n[i]))throw new Qe(`invalid ${e} header`);s.push(n[i])}else if(n[i]===null)s.push("");else{if(typeof n[i]=="object")throw new Qe(`invalid ${e} header`);{let a=`${n[i]}`;if(!Fo(a))throw new Qe(`invalid ${e} header`);s.push(a)}}n=s}else if(typeof n=="string"){if(!Fo(n))throw new Qe(`invalid ${e} header`)}else if(n===null)n="";else if(n=`${n}`,!Fo(n))throw new Qe(`invalid ${e} header`);if(r==="host"){if(t.host!==null)throw new Qe("duplicate host header");if(typeof n!="string")throw new Qe("invalid host header");t.host=n}else if(r==="content-length"){if(t.contentLength!==null)throw new Qe("duplicate content-length header");if(t.contentLength=parseInt(n,10),!Number.isFinite(t.contentLength))throw new Qe("invalid content-length header")}else if(t.contentType===null&&r==="content-type")t.contentType=n,t.headers.push(e,n);else{if(r==="transfer-encoding"||r==="keep-alive"||r==="upgrade")throw new Qe(`invalid ${r} header`);if(r==="connection"){let s=typeof n=="string"?n.toLowerCase():null;if(s!=="close"&&s!=="keep-alive")throw new Qe("invalid connection header");s==="close"&&(t.reset=!0)}else{if(r==="expect")throw new AT("expect header not supported");t.headers.push(e,n)}}}o(_A,"processHeader");UC.exports=Td});var Uo=T((IK,LC)=>{"use strict";var IT=require("node:events"),PA=class extends IT{static{o(this,"Dispatcher")}dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){let n=Array.isArray(e[0])?e[0]:e,r=this.dispatch.bind(this);for(let s of n)if(s!=null){if(typeof s!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof s}`);if(r=s(r),r==null||typeof r!="function"||r.length!==2)throw new TypeError("invalid interceptor")}return new Nd(this,r)}},Nd=class extends PA{static{o(this,"ComposedDispatcher")}#e=null;#t=null;constructor(e,n){super(),this.#e=e,this.#t=n}dispatch(...e){this.#t(...e)}close(...e){return this.#e.close(...e)}destroy(...e){return this.#e.destroy(...e)}};LC.exports=PA});var Ai=T((QK,PC)=>{"use strict";var yT=require("node:buffer"),QT=Uo(),{ClientDestroyedError:Fd,ClientClosedError:BT,InvalidArgumentError:ii}=pe(),{kDestroy:wT,kClose:bT,kClosed:Mo,kDestroyed:oi,kDispatch:Ud,kInterceptors:ns}=Re(),Ln=Symbol("onDestroyed"),ai=Symbol("onClosed"),OA=Symbol("Intercepted Dispatch"),Md=Symbol("webSocketOptions"),_C=Symbol("eventSourceOptions"),Ld=class extends QT{static{o(this,"DispatcherBase")}constructor(e){super(),this[oi]=!1,this[Ln]=null,this[Mo]=!1,this[ai]=[],this[Md]=e?.webSocket??{},this[_C]=e?.eventSource??{}}get webSocketOptions(){return{maxFragments:this[Md].maxFragments??131072,maxPayloadSize:this[Md].maxPayloadSize??128*1024*1024}}get eventSourceOptions(){return{maxEventSize:this[_C].maxEventSize??yT.kStringMaxLength}}get destroyed(){return this[oi]}get closed(){return this[Mo]}get interceptors(){return this[ns]}set interceptors(e){if(e){for(let n=e.length-1;n>=0;n--)if(typeof this[ns][n]!="function")throw new ii("interceptor must be an function")}this[ns]=e}close(e){if(e===void 0)return new Promise((r,s)=>{this.close((i,a)=>i?s(i):r(a))});if(typeof e!="function")throw new ii("invalid callback");if(this[oi]){queueMicrotask(()=>e(new Fd,null));return}if(this[Mo]){this[ai]?this[ai].push(e):queueMicrotask(()=>e(null,null));return}this[Mo]=!0,this[ai].push(e);let n=o(()=>{let r=this[ai];this[ai]=null;for(let s=0;s<r.length;s++)r[s](null,null)},"onClosed");this[bT]().then(()=>this.destroy()).then(()=>{queueMicrotask(n)})}destroy(e,n){if(typeof e=="function"&&(n=e,e=null),n===void 0)return new Promise((s,i)=>{this.destroy(e,(a,c)=>a?i(a):s(c))});if(typeof n!="function")throw new ii("invalid callback");if(this[oi]){this[Ln]?this[Ln].push(n):queueMicrotask(()=>n(null,null));return}e||(e=new Fd),this[oi]=!0,this[Ln]=this[Ln]||[],this[Ln].push(n);let r=o(()=>{let s=this[Ln];this[Ln]=null;for(let i=0;i<s.length;i++)s[i](null,null)},"onDestroyed");this[wT](e).then(()=>{queueMicrotask(r)})}[OA](e,n){if(!this[ns]||this[ns].length===0)return this[OA]=this[Ud],this[Ud](e,n);let r=this[Ud].bind(this);for(let s=this[ns].length-1;s>=0;s--)r=this[ns][s](r);return this[OA]=r,r(e,n)}dispatch(e,n){if(!n||typeof n!="object")throw new ii("handler must be an object");try{if(!e||typeof e!="object")throw new ii("opts must be an object.");if(this[oi]||this[Ln])throw new Fd;if(this[Mo])throw new BT;return this[OA](e,n)}catch(r){if(typeof n.onError!="function")throw new ii("invalid onError method");return n.onError(r),!1}}};PC.exports=Ld});var Hd=T((wK,YC)=>{"use strict";var ci=0,_d=1e3,Pd=(_d>>1)-1,_n,Od=Symbol("kFastTimer"),Pn=[],Gd=-2,$d=-1,GC=0,OC=1;function Yd(){ci+=Pd;let t=0,e=Pn.length;for(;t<e;){let n=Pn[t];n._state===GC?(n._idleStart=ci-Pd,n._state=OC):n._state===OC&&ci>=n._idleStart+n._idleTimeout&&(n._state=$d,n._idleStart=-1,n._onTimeout(n._timerArg)),n._state===$d?(n._state=Gd,--e!==0&&(Pn[t]=Pn[e])):++t}Pn.length=e,Pn.length!==0&&$C()}o(Yd,"onTick");function $C(){_n?_n.refresh():(clearTimeout(_n),_n=setTimeout(Yd,Pd),_n.unref&&_n.unref())}o($C,"refreshTimeout");var GA=class{static{o(this,"FastTimer")}[Od]=!0;_state=Gd;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,n,r){this._onTimeout=e,this._idleTimeout=n,this._timerArg=r,this.refresh()}refresh(){this._state===Gd&&Pn.push(this),(!_n||Pn.length===1)&&$C(),this._state=GC}clear(){this._state=$d,this._idleStart=-1}};YC.exports={setTimeout(t,e,n){return e<=_d?setTimeout(t,e,n):new GA(t,e,n)},clearTimeout(t){t[Od]?t.clear():clearTimeout(t)},setFastTimeout(t,e,n){return new GA(t,e,n)},clearFastTimeout(t){t.clear()},now(){return ci},tick(t=0){ci+=t-_d+1,Yd(),Yd()},reset(){ci=0,Pn.length=0,clearTimeout(_n),_n=null},kFastTimer:Od}});var Lo=T((SK,jC)=>{"use strict";var kT=require("node:net"),HC=require("node:assert"),qC=ue(),{InvalidArgumentError:RT,ConnectTimeoutError:ST}=pe(),$A=Hd();function VC(){}o(VC,"noop");var Vd,Jd;global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG)?Jd=class{static{o(this,"WeakSessionCache")}constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new global.FinalizationRegistry(n=>{if(this._sessionCache.size<this._maxCachedSessions)return;let r=this._sessionCache.get(n);r!==void 0&&r.deref()===void 0&&this._sessionCache.delete(n)})}get(e){let n=this._sessionCache.get(e);return n?n.deref():null}set(e,n){this._maxCachedSessions!==0&&(this._sessionCache.set(e,new WeakRef(n)),this._sessionRegistry.register(n,e))}}:Jd=class{static{o(this,"SimpleSessionCache")}constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map}get(e){return this._sessionCache.get(e)}set(e,n){if(this._maxCachedSessions!==0){if(this._sessionCache.size>=this._maxCachedSessions){let{value:r}=this._sessionCache.keys().next();this._sessionCache.delete(r)}this._sessionCache.set(e,n)}}};function vT({allowH2:t,maxCachedSessions:e,socketPath:n,timeout:r,session:s,...i}){if(e!=null&&(!Number.isInteger(e)||e<0))throw new RT("maxCachedSessions must be a positive integer or zero");let a={path:n,...i},c=new Jd(e??100);return r=r??1e4,t=t??!1,o(function({hostname:d,host:g,protocol:h,port:f,servername:m,localAddress:C,httpSocket:y},v){let Q;if(h==="https:"){Vd||(Vd=require("node:tls")),m=m||a.servername||qC.getServerName(g)||null;let G=m||d;HC(G);let P=s||c.get(G)||null;f=f||443,Q=Vd.connect({highWaterMark:16384,...a,servername:m,session:P,localAddress:C,ALPNProtocols:t?["http/1.1","h2"]:["http/1.1"],socket:y,port:f,host:d}),Q.on("session",function(ae){c.set(G,ae)})}else HC(!y,"httpSocket can only be sent on TLS update"),f=f||80,Q=kT.connect({highWaterMark:64*1024,...a,localAddress:C,port:f,host:d});if(a.keepAlive==null||a.keepAlive){let G=a.keepAliveInitialDelay===void 0?6e4:a.keepAliveInitialDelay;Q.setKeepAlive(!0,G)}let D=xT(new WeakRef(Q),{timeout:r,hostname:d,port:f});return Q.setNoDelay(!0).once(h==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(D),v){let G=v;v=null,G(null,this)}}).on("error",function(G){if(queueMicrotask(D),v){let P=v;v=null,P(G)}}),Q},"connect")}o(vT,"buildConnector");var xT=process.platform==="win32"?(t,e)=>{if(!e.timeout)return VC;let n=null,r=null,s=$A.setFastTimeout(()=>{n=setImmediate(()=>{r=setImmediate(()=>JC(t.deref(),e))})},e.timeout);return()=>{$A.clearFastTimeout(s),clearImmediate(n),clearImmediate(r)}}:(t,e)=>{if(!e.timeout)return VC;let n=null,r=$A.setFastTimeout(()=>{n=setImmediate(()=>{JC(t.deref(),e)})},e.timeout);return()=>{$A.clearFastTimeout(r),clearImmediate(n)}};function JC(t,e){if(t==null)return;let n="Connect Timeout Error";Array.isArray(t.autoSelectFamilyAttemptedAddresses)?n+=` (attempted addresses: ${t.autoSelectFamilyAttemptedAddresses.join(", ")},`:n+=` (attempted address: ${e.hostname}:${e.port},`,n+=` timeout: ${e.timeout}ms)`,qC.destroy(t,new ST(n))}o(JC,"onConnectTimeout");jC.exports=vT});var WC=T(YA=>{"use strict";Object.defineProperty(YA,"__esModule",{value:!0});YA.enumToMap=void 0;function DT(t){let e={};return Object.keys(t).forEach(n=>{let r=t[n];typeof r=="number"&&(e[n]=r)}),e}o(DT,"enumToMap");YA.enumToMap=DT});var zC=T(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.SPECIAL_HEADERS=L.HEADER_STATE=L.MINOR=L.MAJOR=L.CONNECTION_TOKEN_CHARS=L.HEADER_CHARS=L.TOKEN=L.STRICT_TOKEN=L.HEX=L.URL_CHAR=L.STRICT_URL_CHAR=L.USERINFO_CHARS=L.MARK=L.ALPHANUM=L.NUM=L.HEX_MAP=L.NUM_MAP=L.ALPHA=L.FINISH=L.H_METHOD_MAP=L.METHOD_MAP=L.METHODS_RTSP=L.METHODS_ICE=L.METHODS_HTTP=L.METHODS=L.LENIENT_FLAGS=L.FLAGS=L.TYPE=L.ERROR=void 0;var TT=WC(),NT;(function(t){t[t.OK=0]="OK",t[t.INTERNAL=1]="INTERNAL",t[t.STRICT=2]="STRICT",t[t.LF_EXPECTED=3]="LF_EXPECTED",t[t.UNEXPECTED_CONTENT_LENGTH=4]="UNEXPECTED_CONTENT_LENGTH",t[t.CLOSED_CONNECTION=5]="CLOSED_CONNECTION",t[t.INVALID_METHOD=6]="INVALID_METHOD",t[t.INVALID_URL=7]="INVALID_URL",t[t.INVALID_CONSTANT=8]="INVALID_CONSTANT",t[t.INVALID_VERSION=9]="INVALID_VERSION",t[t.INVALID_HEADER_TOKEN=10]="INVALID_HEADER_TOKEN",t[t.INVALID_CONTENT_LENGTH=11]="INVALID_CONTENT_LENGTH",t[t.INVALID_CHUNK_SIZE=12]="INVALID_CHUNK_SIZE",t[t.INVALID_STATUS=13]="INVALID_STATUS",t[t.INVALID_EOF_STATE=14]="INVALID_EOF_STATE",t[t.INVALID_TRANSFER_ENCODING=15]="INVALID_TRANSFER_ENCODING",t[t.CB_MESSAGE_BEGIN=16]="CB_MESSAGE_BEGIN",t[t.CB_HEADERS_COMPLETE=17]="CB_HEADERS_COMPLETE",t[t.CB_MESSAGE_COMPLETE=18]="CB_MESSAGE_COMPLETE",t[t.CB_CHUNK_HEADER=19]="CB_CHUNK_HEADER",t[t.CB_CHUNK_COMPLETE=20]="CB_CHUNK_COMPLETE",t[t.PAUSED=21]="PAUSED",t[t.PAUSED_UPGRADE=22]="PAUSED_UPGRADE",t[t.PAUSED_H2_UPGRADE=23]="PAUSED_H2_UPGRADE",t[t.USER=24]="USER"})(NT=L.ERROR||(L.ERROR={}));var FT;(function(t){t[t.BOTH=0]="BOTH",t[t.REQUEST=1]="REQUEST",t[t.RESPONSE=2]="RESPONSE"})(FT=L.TYPE||(L.TYPE={}));var UT;(function(t){t[t.CONNECTION_KEEP_ALIVE=1]="CONNECTION_KEEP_ALIVE",t[t.CONNECTION_CLOSE=2]="CONNECTION_CLOSE",t[t.CONNECTION_UPGRADE=4]="CONNECTION_UPGRADE",t[t.CHUNKED=8]="CHUNKED",t[t.UPGRADE=16]="UPGRADE",t[t.CONTENT_LENGTH=32]="CONTENT_LENGTH",t[t.SKIPBODY=64]="SKIPBODY",t[t.TRAILING=128]="TRAILING",t[t.TRANSFER_ENCODING=512]="TRANSFER_ENCODING"})(UT=L.FLAGS||(L.FLAGS={}));var MT;(function(t){t[t.HEADERS=1]="HEADERS",t[t.CHUNKED_LENGTH=2]="CHUNKED_LENGTH",t[t.KEEP_ALIVE=4]="KEEP_ALIVE"})(MT=L.LENIENT_FLAGS||(L.LENIENT_FLAGS={}));var j;(function(t){t[t.DELETE=0]="DELETE",t[t.GET=1]="GET",t[t.HEAD=2]="HEAD",t[t.POST=3]="POST",t[t.PUT=4]="PUT",t[t.CONNECT=5]="CONNECT",t[t.OPTIONS=6]="OPTIONS",t[t.TRACE=7]="TRACE",t[t.COPY=8]="COPY",t[t.LOCK=9]="LOCK",t[t.MKCOL=10]="MKCOL",t[t.MOVE=11]="MOVE",t[t.PROPFIND=12]="PROPFIND",t[t.PROPPATCH=13]="PROPPATCH",t[t.SEARCH=14]="SEARCH",t[t.UNLOCK=15]="UNLOCK",t[t.BIND=16]="BIND",t[t.REBIND=17]="REBIND",t[t.UNBIND=18]="UNBIND",t[t.ACL=19]="ACL",t[t.REPORT=20]="REPORT",t[t.MKACTIVITY=21]="MKACTIVITY",t[t.CHECKOUT=22]="CHECKOUT",t[t.MERGE=23]="MERGE",t[t["M-SEARCH"]=24]="M-SEARCH",t[t.NOTIFY=25]="NOTIFY",t[t.SUBSCRIBE=26]="SUBSCRIBE",t[t.UNSUBSCRIBE=27]="UNSUBSCRIBE",t[t.PATCH=28]="PATCH",t[t.PURGE=29]="PURGE",t[t.MKCALENDAR=30]="MKCALENDAR",t[t.LINK=31]="LINK",t[t.UNLINK=32]="UNLINK",t[t.SOURCE=33]="SOURCE",t[t.PRI=34]="PRI",t[t.DESCRIBE=35]="DESCRIBE",t[t.ANNOUNCE=36]="ANNOUNCE",t[t.SETUP=37]="SETUP",t[t.PLAY=38]="PLAY",t[t.PAUSE=39]="PAUSE",t[t.TEARDOWN=40]="TEARDOWN",t[t.GET_PARAMETER=41]="GET_PARAMETER",t[t.SET_PARAMETER=42]="SET_PARAMETER",t[t.REDIRECT=43]="REDIRECT",t[t.RECORD=44]="RECORD",t[t.FLUSH=45]="FLUSH"})(j=L.METHODS||(L.METHODS={}));L.METHODS_HTTP=[j.DELETE,j.GET,j.HEAD,j.POST,j.PUT,j.CONNECT,j.OPTIONS,j.TRACE,j.COPY,j.LOCK,j.MKCOL,j.MOVE,j.PROPFIND,j.PROPPATCH,j.SEARCH,j.UNLOCK,j.BIND,j.REBIND,j.UNBIND,j.ACL,j.REPORT,j.MKACTIVITY,j.CHECKOUT,j.MERGE,j["M-SEARCH"],j.NOTIFY,j.SUBSCRIBE,j.UNSUBSCRIBE,j.PATCH,j.PURGE,j.MKCALENDAR,j.LINK,j.UNLINK,j.PRI,j.SOURCE];L.METHODS_ICE=[j.SOURCE];L.METHODS_RTSP=[j.OPTIONS,j.DESCRIBE,j.ANNOUNCE,j.SETUP,j.PLAY,j.PAUSE,j.TEARDOWN,j.GET_PARAMETER,j.SET_PARAMETER,j.REDIRECT,j.RECORD,j.FLUSH,j.GET,j.POST];L.METHOD_MAP=TT.enumToMap(j);L.H_METHOD_MAP={};Object.keys(L.METHOD_MAP).forEach(t=>{/^H/.test(t)&&(L.H_METHOD_MAP[t]=L.METHOD_MAP[t])});var LT;(function(t){t[t.SAFE=0]="SAFE",t[t.SAFE_WITH_CB=1]="SAFE_WITH_CB",t[t.UNSAFE=2]="UNSAFE"})(LT=L.FINISH||(L.FINISH={}));L.ALPHA=[];for(let t=65;t<=90;t++)L.ALPHA.push(String.fromCharCode(t)),L.ALPHA.push(String.fromCharCode(t+32));L.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};L.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};L.NUM=["0","1","2","3","4","5","6","7","8","9"];L.ALPHANUM=L.ALPHA.concat(L.NUM);L.MARK=["-","_",".","!","~","*","'","(",")"];L.USERINFO_CHARS=L.ALPHANUM.concat(L.MARK).concat(["%",";",":","&","=","+","$",","]);L.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(L.ALPHANUM);L.URL_CHAR=L.STRICT_URL_CHAR.concat([" ","\f"]);for(let t=128;t<=255;t++)L.URL_CHAR.push(t);L.HEX=L.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);L.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(L.ALPHANUM);L.TOKEN=L.STRICT_TOKEN.concat([" "]);L.HEADER_CHARS=[" "];for(let t=32;t<=255;t++)t!==127&&L.HEADER_CHARS.push(t);L.CONNECTION_TOKEN_CHARS=L.HEADER_CHARS.filter(t=>t!==44);L.MAJOR=L.NUM_MAP;L.MINOR=L.MAJOR;var ui;(function(t){t[t.GENERAL=0]="GENERAL",t[t.CONNECTION=1]="CONNECTION",t[t.CONTENT_LENGTH=2]="CONTENT_LENGTH",t[t.TRANSFER_ENCODING=3]="TRANSFER_ENCODING",t[t.UPGRADE=4]="UPGRADE",t[t.CONNECTION_KEEP_ALIVE=5]="CONNECTION_KEEP_ALIVE",t[t.CONNECTION_CLOSE=6]="CONNECTION_CLOSE",t[t.CONNECTION_UPGRADE=7]="CONNECTION_UPGRADE",t[t.TRANSFER_ENCODING_CHUNKED=8]="TRANSFER_ENCODING_CHUNKED"})(ui=L.HEADER_STATE||(L.HEADER_STATE={}));L.SPECIAL_HEADERS={connection:ui.CONNECTION,"content-length":ui.CONTENT_LENGTH,"proxy-connection":ui.CONNECTION,"transfer-encoding":ui.TRANSFER_ENCODING,upgrade:ui.UPGRADE}});var qd=T((NK,ZC)=>{"use strict";var{Buffer:_T}=require("node:buffer");ZC.exports=_T.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv","base64")});var XC=T((FK,KC)=>{"use strict";var{Buffer:PT}=require("node:buffer");KC.exports=PT.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==","base64")});var _o=T((UK,aI)=>{"use strict";var eI=["GET","HEAD","POST"],OT=new Set(eI),GT=[101,204,205,304],tI=[301,302,303,307,308],$T=new Set(tI),nI=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],YT=new Set(nI),rI=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],HT=new Set(rI),VT=["follow","manual","error"],sI=["GET","HEAD","OPTIONS","TRACE"],JT=new Set(sI),qT=["navigate","same-origin","no-cors","cors"],jT=["omit","same-origin","include"],WT=["default","no-store","reload","no-cache","force-cache","only-if-cached"],zT=["content-encoding","content-language","content-location","content-type","content-length"],ZT=["half"],iI=["CONNECT","TRACE","TRACK"],KT=new Set(iI),oI=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],XT=new Set(oI);aI.exports={subresource:oI,forbiddenMethods:iI,requestBodyHeader:zT,referrerPolicy:rI,requestRedirect:VT,requestMode:qT,requestCredentials:jT,requestCache:WT,redirectStatus:tI,corsSafeListedMethods:eI,nullBodyStatus:GT,safeMethods:sI,badPorts:nI,requestDuplex:ZT,subresourceSet:XT,badPortsSet:YT,redirectStatusSet:$T,corsSafeListedMethodsSet:OT,safeMethodsSet:JT,forbiddenMethodsSet:KT,referrerPolicySet:HT}});var Wd=T((MK,AI)=>{"use strict";var jd=Symbol.for("undici.globalOrigin.1");function eN(){return globalThis[jd]}o(eN,"getGlobalOrigin");function tN(t){if(t===void 0){Object.defineProperty(globalThis,jd,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let e=new URL(t);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${e.protocol}`);Object.defineProperty(globalThis,jd,{value:e,writable:!0,enumerable:!1,configurable:!1})}o(tN,"setGlobalOrigin");AI.exports={getGlobalOrigin:eN,setGlobalOrigin:tN}});var gt=T((_K,pI)=>{"use strict";var VA=require("node:assert"),nN=new TextEncoder,Po=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/,rN=/[\u000A\u000D\u0009\u0020]/,sN=/[\u0009\u000A\u000C\u000D\u0020]/g,iN=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function oN(t){VA(t.protocol==="data:");let e=lI(t,!0);e=e.slice(5);let n={position:0},r=li(",",e,n),s=r.length;if(r=dN(r,!0,!0),n.position>=e.length)return"failure";n.position++;let i=e.slice(s+1),a=dI(i);if(/;(\u0020){0,}base64$/i.test(r)){let l=hI(a);if(a=AN(l),a==="failure")return"failure";r=r.slice(0,-6),r=r.replace(/(\u0020)+$/,""),r=r.slice(0,-1)}r.startsWith(";")&&(r="text/plain"+r);let c=zd(r);return c==="failure"&&(c=zd("text/plain;charset=US-ASCII")),{mimeType:c,body:a}}o(oN,"dataURLProcessor");function lI(t,e=!1){if(!e)return t.href;let n=t.href,r=t.hash.length,s=r===0?n:n.substring(0,n.length-r);return!r&&n.endsWith("#")?s.slice(0,-1):s}o(lI,"URLSerializer");function JA(t,e,n){let r="";for(;n.position<e.length&&t(e[n.position]);)r+=e[n.position],n.position++;return r}o(JA,"collectASequenceOfCodePoints");function li(t,e,n){let r=e.indexOf(t,n.position),s=n.position;return r===-1?(n.position=e.length,e.slice(s)):(n.position=r,e.slice(s,n.position))}o(li,"collectASequenceOfCodePointsFast");function dI(t){let e=nN.encode(t);return aN(e)}o(dI,"stringPercentDecode");function cI(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}o(cI,"isHexCharByte");function uI(t){return t>=48&&t<=57?t-48:(t&223)-55}o(uI,"hexByteToNumber");function aN(t){let e=t.length,n=new Uint8Array(e),r=0;for(let s=0;s<e;++s){let i=t[s];i!==37?n[r++]=i:i===37&&!(cI(t[s+1])&&cI(t[s+2]))?n[r++]=37:(n[r++]=uI(t[s+1])<<4|uI(t[s+2]),s+=2)}return e===r?n:n.subarray(0,r)}o(aN,"percentDecode");function zd(t){t=HA(t,!0,!0);let e={position:0},n=li("/",t,e);if(n.length===0||!Po.test(n)||e.position>t.length)return"failure";e.position++;let r=li(";",t,e);if(r=HA(r,!1,!0),r.length===0||!Po.test(r))return"failure";let s=n.toLowerCase(),i=r.toLowerCase(),a={type:s,subtype:i,parameters:new Map,essence:`${s}/${i}`};for(;e.position<t.length;){e.position++,JA(d=>rN.test(d),t,e);let c=JA(d=>d!==";"&&d!=="=",t,e);if(c=c.toLowerCase(),e.position<t.length){if(t[e.position]===";")continue;e.position++}if(e.position>t.length)break;let l=null;if(t[e.position]==='"')l=gI(t,e,!0),li(";",t,e);else if(l=li(";",t,e),l=HA(l,!1,!0),l.length===0)continue;c.length!==0&&Po.test(c)&&(l.length===0||iN.test(l))&&!a.parameters.has(c)&&a.parameters.set(c,l)}return a}o(zd,"parseMIMEType");function AN(t){t=t.replace(sN,"");let e=t.length;if(e%4===0&&t.charCodeAt(e-1)===61&&(--e,t.charCodeAt(e-1)===61&&--e),e%4===1||/[^+/0-9A-Za-z]/.test(t.length===e?t:t.substring(0,e)))return"failure";let n=Buffer.from(t,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}o(AN,"forgivingBase64");function gI(t,e,n){let r=e.position,s="";for(VA(t[e.position]==='"'),e.position++;s+=JA(a=>a!=='"'&&a!=="\\",t,e),!(e.position>=t.length);){let i=t[e.position];if(e.position++,i==="\\"){if(e.position>=t.length){s+="\\";break}s+=t[e.position],e.position++}else{VA(i==='"');break}}return n?s:t.slice(r,e.position)}o(gI,"collectAnHTTPQuotedString");function cN(t){VA(t!=="failure");let{parameters:e,essence:n}=t,r=n;for(let[s,i]of e.entries())r+=";",r+=s,r+="=",Po.test(i)||(i=i.replace(/(\\|")/g,"\\$1"),i='"'+i,i+='"'),r+=i;return r}o(cN,"serializeAMimeType");function uN(t){return t===13||t===10||t===9||t===32}o(uN,"isHTTPWhiteSpace");function HA(t,e=!0,n=!0){return Zd(t,e,n,uN)}o(HA,"removeHTTPWhitespace");function lN(t){return t===13||t===10||t===9||t===12||t===32}o(lN,"isASCIIWhitespace");function dN(t,e=!0,n=!0){return Zd(t,e,n,lN)}o(dN,"removeASCIIWhitespace");function Zd(t,e,n,r){let s=0,i=t.length-1;if(e)for(;s<t.length&&r(t.charCodeAt(s));)s++;if(n)for(;i>0&&r(t.charCodeAt(i));)i--;return s===0&&i===t.length-1?t:t.slice(s,i+1)}o(Zd,"removeChars");function hI(t){let e=t.length;if(65535>e)return String.fromCharCode.apply(null,t);let n="",r=0,s=65535;for(;r<e;)r+s>e&&(s=e-r),n+=String.fromCharCode.apply(null,t.subarray(r,r+=s));return n}o(hI,"isomorphicDecode");function gN(t){switch(t.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return t.subtype.endsWith("+json")?"application/json":t.subtype.endsWith("+xml")?"application/xml":""}o(gN,"minimizeSupportedMimeType");pI.exports={dataURLProcessor:oN,URLSerializer:lI,collectASequenceOfCodePoints:JA,collectASequenceOfCodePointsFast:li,stringPercentDecode:dI,parseMIMEType:zd,collectAnHTTPQuotedString:gI,serializeAMimeType:cN,removeChars:Zd,removeHTTPWhitespace:HA,minimizeSupportedMimeType:gN,HTTP_TOKEN_CODEPOINTS:Po,isomorphicDecode:hI}});var je=T((OK,fI)=>{"use strict";var{types:dn,inspect:hN}=require("node:util"),{markAsUncloneable:pN}=require("node:worker_threads"),{toUSVString:fN}=ue(),U={};U.converters={};U.util={};U.errors={};U.errors.exception=function(t){return new TypeError(`${t.header}: ${t.message}`)};U.errors.conversionFailed=function(t){let e=t.types.length===1?"":" one of",n=`${t.argument} could not be converted to${e}: ${t.types.join(", ")}.`;return U.errors.exception({header:t.prefix,message:n})};U.errors.invalidArgument=function(t){return U.errors.exception({header:t.prefix,message:`"${t.value}" is an invalid ${t.type}.`})};U.brandCheck=function(t,e,n){if(n?.strict!==!1){if(!(t instanceof e)){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}}else if(t?.[Symbol.toStringTag]!==e.prototype[Symbol.toStringTag]){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}};U.argumentLengthCheck=function({length:t},e,n){if(t<e)throw U.errors.exception({message:`${e} argument${e!==1?"s":""} required, but${t?" only":""} ${t} found.`,header:n})};U.illegalConstructor=function(){throw U.errors.exception({header:"TypeError",message:"Illegal constructor"})};U.util.Type=function(t){switch(typeof t){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":return t===null?"Null":"Object"}};U.util.markAsUncloneable=pN||(()=>{});U.util.ConvertToInt=function(t,e,n,r){let s,i;e===64?(s=Math.pow(2,53)-1,n==="unsigned"?i=0:i=Math.pow(-2,53)+1):n==="unsigned"?(i=0,s=Math.pow(2,e)-1):(i=Math.pow(-2,e)-1,s=Math.pow(2,e-1)-1);let a=Number(t);if(a===0&&(a=0),r?.enforceRange===!0){if(Number.isNaN(a)||a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY)throw U.errors.exception({header:"Integer conversion",message:`Could not convert ${U.util.Stringify(t)} to an integer.`});if(a=U.util.IntegerPart(a),a<i||a>s)throw U.errors.exception({header:"Integer conversion",message:`Value must be between ${i}-${s}, got ${a}.`});return a}return!Number.isNaN(a)&&r?.clamp===!0?(a=Math.min(Math.max(a,i),s),Math.floor(a)%2===0?a=Math.floor(a):a=Math.ceil(a),a):Number.isNaN(a)||a===0&&Object.is(0,a)||a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY?0:(a=U.util.IntegerPart(a),a=a%Math.pow(2,e),n==="signed"&&a>=Math.pow(2,e)-1?a-Math.pow(2,e):a)};U.util.IntegerPart=function(t){let e=Math.floor(Math.abs(t));return t<0?-1*e:e};U.util.Stringify=function(t){switch(U.util.Type(t)){case"Symbol":return`Symbol(${t.description})`;case"Object":return hN(t);case"String":return`"${t}"`;default:return`${t}`}};U.sequenceConverter=function(t){return(e,n,r,s)=>{if(U.util.Type(e)!=="Object")throw U.errors.exception({header:n,message:`${r} (${U.util.Stringify(e)}) is not iterable.`});let i=typeof s=="function"?s():e?.[Symbol.iterator]?.(),a=[],c=0;if(i===void 0||typeof i.next!="function")throw U.errors.exception({header:n,message:`${r} is not iterable.`});for(;;){let{done:l,value:d}=i.next();if(l)break;a.push(t(d,n,`${r}[${c++}]`))}return a}};U.recordConverter=function(t,e){return(n,r,s)=>{if(U.util.Type(n)!=="Object")throw U.errors.exception({header:r,message:`${s} ("${U.util.Type(n)}") is not an Object.`});let i={};if(!dn.isProxy(n)){let c=[...Object.getOwnPropertyNames(n),...Object.getOwnPropertySymbols(n)];for(let l of c){let d=t(l,r,s),g=e(n[l],r,s);i[d]=g}return i}let a=Reflect.ownKeys(n);for(let c of a)if(Reflect.getOwnPropertyDescriptor(n,c)?.enumerable){let d=t(c,r,s),g=e(n[c],r,s);i[d]=g}return i}};U.interfaceConverter=function(t){return(e,n,r,s)=>{if(s?.strict!==!1&&!(e instanceof t))throw U.errors.exception({header:n,message:`Expected ${r} ("${U.util.Stringify(e)}") to be an instance of ${t.name}.`});return e}};U.dictionaryConverter=function(t){return(e,n,r)=>{let s=U.util.Type(e),i={};if(s==="Null"||s==="Undefined")return i;if(s!=="Object")throw U.errors.exception({header:n,message:`Expected ${e} to be one of: Null, Undefined, Object.`});for(let a of t){let{key:c,defaultValue:l,required:d,converter:g}=a;if(d===!0&&!Object.hasOwn(e,c))throw U.errors.exception({header:n,message:`Missing required key "${c}".`});let h=e[c],f=Object.hasOwn(a,"defaultValue");if(f&&h!==null&&(h??=l()),d||f||h!==void 0){if(h=g(h,n,`${r}.${c}`),a.allowedValues&&!a.allowedValues.includes(h))throw U.errors.exception({header:n,message:`${h} is not an accepted type. Expected one of ${a.allowedValues.join(", ")}.`});i[c]=h}}return i}};U.nullableConverter=function(t){return(e,n,r)=>e===null?e:t(e,n,r)};U.converters.DOMString=function(t,e,n,r){if(t===null&&r?.legacyNullToEmptyString)return"";if(typeof t=="symbol")throw U.errors.exception({header:e,message:`${n} is a symbol, which cannot be converted to a DOMString.`});return String(t)};U.converters.ByteString=function(t,e,n){let r=U.converters.DOMString(t,e,n);for(let s=0;s<r.length;s++)if(r.charCodeAt(s)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${s} has a value of ${r.charCodeAt(s)} which is greater than 255.`);return r};U.converters.USVString=fN;U.converters.boolean=function(t){return!!t};U.converters.any=function(t){return t};U.converters["long long"]=function(t,e,n){return U.util.ConvertToInt(t,64,"signed",void 0,e,n)};U.converters["unsigned long long"]=function(t,e,n){return U.util.ConvertToInt(t,64,"unsigned",void 0,e,n)};U.converters["unsigned long"]=function(t,e,n){return U.util.ConvertToInt(t,32,"unsigned",void 0,e,n)};U.converters["unsigned short"]=function(t,e,n,r){return U.util.ConvertToInt(t,16,"unsigned",r,e,n)};U.converters.ArrayBuffer=function(t,e,n,r){if(U.util.Type(t)!=="Object"||!dn.isAnyArrayBuffer(t))throw U.errors.conversionFailed({prefix:e,argument:`${n} ("${U.util.Stringify(t)}")`,types:["ArrayBuffer"]});if(r?.allowShared===!1&&dn.isSharedArrayBuffer(t))throw U.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(t.resizable||t.growable)throw U.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return t};U.converters.TypedArray=function(t,e,n,r,s){if(U.util.Type(t)!=="Object"||!dn.isTypedArray(t)||t.constructor.name!==e.name)throw U.errors.conversionFailed({prefix:n,argument:`${r} ("${U.util.Stringify(t)}")`,types:[e.name]});if(s?.allowShared===!1&&dn.isSharedArrayBuffer(t.buffer))throw U.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(t.buffer.resizable||t.buffer.growable)throw U.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return t};U.converters.DataView=function(t,e,n,r){if(U.util.Type(t)!=="Object"||!dn.isDataView(t))throw U.errors.exception({header:e,message:`${n} is not a DataView.`});if(r?.allowShared===!1&&dn.isSharedArrayBuffer(t.buffer))throw U.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(t.buffer.resizable||t.buffer.growable)throw U.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return t};U.converters.BufferSource=function(t,e,n,r){if(dn.isAnyArrayBuffer(t))return U.converters.ArrayBuffer(t,e,n,{...r,allowShared:!1});if(dn.isTypedArray(t))return U.converters.TypedArray(t,t.constructor,e,n,{...r,allowShared:!1});if(dn.isDataView(t))return U.converters.DataView(t,e,n,{...r,allowShared:!1});throw U.errors.conversionFailed({prefix:e,argument:`${n} ("${U.util.Stringify(t)}")`,types:["BufferSource"]})};U.converters["sequence<ByteString>"]=U.sequenceConverter(U.converters.ByteString);U.converters["sequence<sequence<ByteString>>"]=U.sequenceConverter(U.converters["sequence<ByteString>"]);U.converters["record<ByteString, ByteString>"]=U.recordConverter(U.converters.ByteString,U.converters.ByteString);fI.exports={webidl:U}});var Qt=T((GK,xI)=>{"use strict";var{Transform:mN}=require("node:stream"),mI=require("node:zlib"),{redirectStatusSet:EN,referrerPolicySet:CN,badPortsSet:IN}=_o(),{getGlobalOrigin:EI}=Wd(),{collectASequenceOfCodePoints:rs,collectAnHTTPQuotedString:yN,removeChars:QN,parseMIMEType:BN}=gt(),{performance:wN}=require("node:perf_hooks"),{isBlobLike:bN,ReadableStreamFrom:kN,isValidHTTPToken:CI,normalizedMethodRecordsBase:RN}=ue(),ss=require("node:assert"),{isUint8Array:SN}=require("node:util/types"),{webidl:Oo}=je(),II=[],jA;try{jA=require("node:crypto");let t=["sha256","sha384","sha512"];II=jA.getHashes().filter(e=>t.includes(e))}catch{}function yI(t){let e=t.urlList,n=e.length;return n===0?null:e[n-1].toString()}o(yI,"responseURL");function vN(t,e){if(!EN.has(t.status))return null;let n=t.headersList.get("location",!0);return n!==null&&BI(n)&&(QI(n)||(n=xN(n)),n=new URL(n,yI(t))),n&&!n.hash&&(n.hash=e),n}o(vN,"responseLocationURL");function QI(t){for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(n>126||n<32)return!1}return!0}o(QI,"isValidEncodedURL");function xN(t){return Buffer.from(t,"binary").toString("utf8")}o(xN,"normalizeBinaryStringToUtf8");function $o(t){return t.urlList[t.urlList.length-1]}o($o,"requestCurrentURL");function DN(t){let e=$o(t);return SI(e)&&IN.has(e.port)?"blocked":"allowed"}o(DN,"requestBadPort");function TN(t){return t instanceof Error||t?.constructor?.name==="Error"||t?.constructor?.name==="DOMException"}o(TN,"isErrorLike");function NN(t){for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(!(n===9||n>=32&&n<=126||n>=128&&n<=255))return!1}return!0}o(NN,"isValidReasonPhrase");var FN=CI;function BI(t){return(t[0]===" "||t[0]===" "||t[t.length-1]===" "||t[t.length-1]===" "||t.includes(`
|
|
3
|
-
`)||t.includes("\r")||t.includes("\0"))===!1}o(BI,"isValidHeaderValue");function UN(t,e){let{headersList:n}=e,r=(n.get("referrer-policy",!0)??"").split(","),s="";if(r.length>0)for(let i=r.length;i!==0;i--){let a=r[i-1].trim();if(CN.has(a)){s=a;break}}s!==""&&(t.referrerPolicy=s)}o(UN,"setRequestReferrerPolicyOnRedirect");function MN(){return"allowed"}o(MN,"crossOriginResourcePolicyCheck");function LN(){return"success"}o(LN,"corsCheck");function _N(){return"success"}o(_N,"TAOCheck");function PN(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}o(PN,"appendFetchMetadata");function ON(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&Xd(t.origin)&&!Xd($o(t))&&(e=null);break;case"same-origin":WA(t,$o(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}o(ON,"appendRequestOriginHeader");function di(t,e){return t}o(di,"coarsenTime");function GN(t,e,n){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:di(t.domainLookupStartTime,n),domainLookupEndTime:di(t.domainLookupEndTime,n),connectionStartTime:di(t.connectionStartTime,n),connectionEndTime:di(t.connectionEndTime,n),secureConnectionStartTime:di(t.secureConnectionStartTime,n),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}o(GN,"clampAndCoarsenConnectionTimingInfo");function $N(t){return di(wN.now(),t)}o($N,"coarsenedSharedCurrentTime");function YN(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}o(YN,"createOpaqueTimingInfo");function wI(){return{referrerPolicy:"strict-origin-when-cross-origin"}}o(wI,"makePolicyContainer");function HN(t){return{referrerPolicy:t.referrerPolicy}}o(HN,"clonePolicyContainer");function VN(t){let e=t.referrerPolicy;ss(e);let n=null;if(t.referrer==="client"){let c=EI();if(!c||c.origin==="null")return"no-referrer";n=new URL(c)}else t.referrer instanceof URL&&(n=t.referrer);let r=Kd(n),s=Kd(n,!0);r.toString().length>4096&&(r=s);let i=WA(t,r),a=Go(r)&&!Go(t.url);switch(e){case"origin":return s??Kd(n,!0);case"unsafe-url":return r;case"same-origin":return i?s:"no-referrer";case"origin-when-cross-origin":return i?r:s;case"strict-origin-when-cross-origin":{let c=$o(t);return WA(r,c)?r:Go(r)&&!Go(c)?"no-referrer":s}default:return a?"no-referrer":s}}o(VN,"determineRequestsReferrer");function Kd(t,e){return ss(t instanceof URL),t=new URL(t),t.protocol==="file:"||t.protocol==="about:"||t.protocol==="blank:"?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}o(Kd,"stripURLForReferrer");function Go(t){if(!(t instanceof URL))return!1;if(t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="file:")return!0;return e(t.origin);function e(n){if(n==null||n==="null")return!1;let r=new URL(n);return!!(r.protocol==="https:"||r.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(r.hostname)||r.hostname==="localhost"||r.hostname.includes("localhost.")||r.hostname.endsWith(".localhost"))}}o(Go,"isURLPotentiallyTrustworthy");function JN(t,e){if(jA===void 0)return!0;let n=bI(e);if(n==="no metadata"||n.length===0)return!0;let r=jN(n),s=WN(n,r);for(let i of s){let a=i.algo,c=i.hash,l=jA.createHash(a).update(t).digest("base64");if(l[l.length-1]==="="&&(l[l.length-2]==="="?l=l.slice(0,-2):l=l.slice(0,-1)),zN(l,c))return!0}return!1}o(JN,"bytesMatch");var qN=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function bI(t){let e=[],n=!0;for(let r of t.split(" ")){n=!1;let s=qN.exec(r);if(s===null||s.groups===void 0||s.groups.algo===void 0)continue;let i=s.groups.algo.toLowerCase();II.includes(i)&&e.push(s.groups)}return n===!0?"no metadata":e}o(bI,"parseMetadata");function jN(t){let e=t[0].algo;if(e[3]==="5")return e;for(let n=1;n<t.length;++n){let r=t[n];if(r.algo[3]==="5"){e="sha512";break}else{if(e[3]==="3")continue;r.algo[3]==="3"&&(e="sha384")}}return e}o(jN,"getStrongestMetadata");function WN(t,e){if(t.length===1)return t;let n=0;for(let r=0;r<t.length;++r)t[r].algo===e&&(t[n++]=t[r]);return t.length=n,t}o(WN,"filterMetadataListByAlgorithm");function zN(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;++n)if(t[n]!==e[n]){if(t[n]==="+"&&e[n]==="-"||t[n]==="/"&&e[n]==="_")continue;return!1}return!0}o(zN,"compareBase64Mixed");function ZN(t){}o(ZN,"tryUpgradeRequestToAPotentiallyTrustworthyURL");function WA(t,e){return t.origin===e.origin&&t.origin==="null"||t.protocol===e.protocol&&t.hostname===e.hostname&&t.port===e.port}o(WA,"sameOrigin");function KN(){let t,e;return{promise:new Promise((r,s)=>{t=r,e=s}),resolve:t,reject:e}}o(KN,"createDeferredPromise");function XN(t){return t.controller.state==="aborted"}o(XN,"isAborted");function eF(t){return t.controller.state==="aborted"||t.controller.state==="terminated"}o(eF,"isCancelled");function tF(t){return RN[t.toLowerCase()]??t}o(tF,"normalizeMethod");function nF(t){let e=JSON.stringify(t);if(e===void 0)throw new TypeError("Value is not JSON serializable");return ss(typeof e=="string"),e}o(nF,"serializeJavascriptValueToJSONString");var rF=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function kI(t,e,n=0,r=1){class s{static{o(this,"FastIterableIterator")}#e;#t;#n;constructor(a,c){this.#e=a,this.#t=c,this.#n=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`);let a=this.#n,c=this.#e[e],l=c.length;if(a>=l)return{value:void 0,done:!0};let{[n]:d,[r]:g}=c[a];this.#n=a+1;let h;switch(this.#t){case"key":h=d;break;case"value":h=g;break;case"key+value":h=[d,g];break}return{value:h,done:!1}}}return delete s.prototype.constructor,Object.setPrototypeOf(s.prototype,rF),Object.defineProperties(s.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${t} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(i,a){return new s(i,a)}}o(kI,"createIterator");function sF(t,e,n,r=0,s=1){let i=kI(t,n,r,s),a={keys:{writable:!0,enumerable:!0,configurable:!0,value:o(function(){return Oo.brandCheck(this,e),i(this,"key")},"keys")},values:{writable:!0,enumerable:!0,configurable:!0,value:o(function(){return Oo.brandCheck(this,e),i(this,"value")},"values")},entries:{writable:!0,enumerable:!0,configurable:!0,value:o(function(){return Oo.brandCheck(this,e),i(this,"key+value")},"entries")},forEach:{writable:!0,enumerable:!0,configurable:!0,value:o(function(l,d=globalThis){if(Oo.brandCheck(this,e),Oo.argumentLengthCheck(arguments,1,`${t}.forEach`),typeof l!="function")throw new TypeError(`Failed to execute 'forEach' on '${t}': parameter 1 is not of type 'Function'.`);for(let{0:g,1:h}of i(this,"key+value"))l.call(d,h,g,this)},"forEach")}};return Object.defineProperties(e.prototype,{...a,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:a.entries.value}})}o(sF,"iteratorMixin");async function iF(t,e,n){let r=e,s=n,i;try{i=t.stream.getReader()}catch(a){s(a);return}try{r(await RI(i))}catch(a){s(a)}}o(iF,"fullyReadBody");function oF(t){return t instanceof ReadableStream||t[Symbol.toStringTag]==="ReadableStream"&&typeof t.tee=="function"}o(oF,"isReadableStreamLike");function aF(t){try{t.close(),t.byobRequest?.respond(0)}catch(e){if(!e.message.includes("Controller is already closed")&&!e.message.includes("ReadableStream is already closed"))throw e}}o(aF,"readableStreamClose");var AF=/[^\x00-\xFF]/;function qA(t){return ss(!AF.test(t)),t}o(qA,"isomorphicEncode");async function RI(t){let e=[],n=0;for(;;){let{done:r,value:s}=await t.read();if(r)return Buffer.concat(e,n);if(!SN(s))throw new TypeError("Received non-Uint8Array chunk");e.push(s),n+=s.length}}o(RI,"readAllBytes");function cF(t){ss("protocol"in t);let e=t.protocol;return e==="about:"||e==="blob:"||e==="data:"}o(cF,"urlIsLocal");function Xd(t){return typeof t=="string"&&t[5]===":"&&t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p"&&t[4]==="s"||t.protocol==="https:"}o(Xd,"urlHasHttpsScheme");function SI(t){ss("protocol"in t);let e=t.protocol;return e==="http:"||e==="https:"}o(SI,"urlIsHttpHttpsScheme");function uF(t,e){let n=t;if(!n.startsWith("bytes"))return"failure";let r={position:5};if(e&&rs(l=>l===" "||l===" ",n,r),n.charCodeAt(r.position)!==61)return"failure";r.position++,e&&rs(l=>l===" "||l===" ",n,r);let s=rs(l=>{let d=l.charCodeAt(0);return d>=48&&d<=57},n,r),i=s.length?Number(s):null;if(e&&rs(l=>l===" "||l===" ",n,r),n.charCodeAt(r.position)!==45)return"failure";r.position++,e&&rs(l=>l===" "||l===" ",n,r);let a=rs(l=>{let d=l.charCodeAt(0);return d>=48&&d<=57},n,r),c=a.length?Number(a):null;return r.position<n.length||c===null&&i===null||i>c?"failure":{rangeStartValue:i,rangeEndValue:c}}o(uF,"simpleRangeHeaderValue");function lF(t,e,n){let r="bytes ";return r+=qA(`${t}`),r+="-",r+=qA(`${e}`),r+="/",r+=qA(`${n}`),r}o(lF,"buildContentRange");var eg=class extends mN{static{o(this,"InflateStream")}#e;constructor(e){super(),this.#e=e}_transform(e,n,r){if(!this._inflateStream){if(e.length===0){r();return}this._inflateStream=(e[0]&15)===8?mI.createInflate(this.#e):mI.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",s=>this.destroy(s))}this._inflateStream.write(e,n,r)}_final(e){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),e()}};function dF(t){return new eg(t)}o(dF,"createInflate");function gF(t){let e=null,n=null,r=null,s=vI("content-type",t);if(s===null)return"failure";for(let i of s){let a=BN(i);a==="failure"||a.essence==="*/*"||(r=a,r.essence!==n?(e=null,r.parameters.has("charset")&&(e=r.parameters.get("charset")),n=r.essence):!r.parameters.has("charset")&&e!==null&&r.parameters.set("charset",e))}return r??"failure"}o(gF,"extractMimeType");function hF(t){let e=t,n={position:0},r=[],s="";for(;n.position<e.length;){if(s+=rs(i=>i!=='"'&&i!==",",e,n),n.position<e.length)if(e.charCodeAt(n.position)===34){if(s+=yN(e,n),n.position<e.length)continue}else ss(e.charCodeAt(n.position)===44),n.position++;s=QN(s,!0,!0,i=>i===9||i===32),r.push(s),s=""}return r}o(hF,"gettingDecodingSplitting");function vI(t,e){let n=e.get(t,!0);return n===null?null:hF(n)}o(vI,"getDecodeSplit");var pF=new TextDecoder;function fF(t){return t.length===0?"":(t[0]===239&&t[1]===187&&t[2]===191&&(t=t.subarray(3)),pF.decode(t))}o(fF,"utf8DecodeBytes");var tg=class{static{o(this,"EnvironmentSettingsObjectBase")}get baseUrl(){return EI()}get origin(){return this.baseUrl?.origin}policyContainer=wI()},ng=class{static{o(this,"EnvironmentSettingsObject")}settingsObject=new tg},mF=new ng;xI.exports={isAborted:XN,isCancelled:eF,isValidEncodedURL:QI,createDeferredPromise:KN,ReadableStreamFrom:kN,tryUpgradeRequestToAPotentiallyTrustworthyURL:ZN,clampAndCoarsenConnectionTimingInfo:GN,coarsenedSharedCurrentTime:$N,determineRequestsReferrer:VN,makePolicyContainer:wI,clonePolicyContainer:HN,appendFetchMetadata:PN,appendRequestOriginHeader:ON,TAOCheck:_N,corsCheck:LN,crossOriginResourcePolicyCheck:MN,createOpaqueTimingInfo:YN,setRequestReferrerPolicyOnRedirect:UN,isValidHTTPToken:CI,requestBadPort:DN,requestCurrentURL:$o,responseURL:yI,responseLocationURL:vN,isBlobLike:bN,isURLPotentiallyTrustworthy:Go,isValidReasonPhrase:NN,sameOrigin:WA,normalizeMethod:tF,serializeJavascriptValueToJSONString:nF,iteratorMixin:sF,createIterator:kI,isValidHeaderName:FN,isValidHeaderValue:BI,isErrorLike:TN,fullyReadBody:iF,bytesMatch:JN,isReadableStreamLike:oF,readableStreamClose:aF,isomorphicEncode:qA,urlIsLocal:cF,urlHasHttpsScheme:Xd,urlIsHttpHttpsScheme:SI,readAllBytes:RI,simpleRangeHeaderValue:uF,buildContentRange:lF,parseMetadata:bI,createInflate:dF,extractMimeType:gF,getDecodeSplit:vI,utf8DecodeBytes:fF,environmentSettingsObject:mF}});var hr=T((YK,DI)=>{"use strict";DI.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kDispatcher:Symbol("dispatcher")}});var sg=T((HK,TI)=>{"use strict";var{Blob:EF,File:CF}=require("node:buffer"),{kState:On}=hr(),{webidl:gn}=je(),rg=class t{static{o(this,"FileLike")}constructor(e,n,r={}){let s=n,i=r.type,a=r.lastModified??Date.now();this[On]={blobLike:e,name:s,type:i,lastModified:a}}stream(...e){return gn.brandCheck(this,t),this[On].blobLike.stream(...e)}arrayBuffer(...e){return gn.brandCheck(this,t),this[On].blobLike.arrayBuffer(...e)}slice(...e){return gn.brandCheck(this,t),this[On].blobLike.slice(...e)}text(...e){return gn.brandCheck(this,t),this[On].blobLike.text(...e)}get size(){return gn.brandCheck(this,t),this[On].blobLike.size}get type(){return gn.brandCheck(this,t),this[On].blobLike.type}get name(){return gn.brandCheck(this,t),this[On].name}get lastModified(){return gn.brandCheck(this,t),this[On].lastModified}get[Symbol.toStringTag](){return"File"}};gn.converters.Blob=gn.interfaceConverter(EF);function IF(t){return t instanceof CF||t&&(typeof t.stream=="function"||typeof t.arrayBuffer=="function")&&t[Symbol.toStringTag]==="File"}o(IF,"isFileLike");TI.exports={FileLike:rg,isFileLike:IF}});var Ho=T((JK,LI)=>{"use strict";var{isBlobLike:zA,iteratorMixin:yF}=Qt(),{kState:st}=hr(),{kEnumerableProperty:gi}=ue(),{FileLike:NI,isFileLike:QF}=sg(),{webidl:we}=je(),{File:MI}=require("node:buffer"),FI=require("node:util"),UI=globalThis.File??MI,Yo=class t{static{o(this,"FormData")}constructor(e){if(we.util.markAsUncloneable(this),e!==void 0)throw we.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]});this[st]=[]}append(e,n,r=void 0){we.brandCheck(this,t);let s="FormData.append";if(we.argumentLengthCheck(arguments,2,s),arguments.length===3&&!zA(n))throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'");e=we.converters.USVString(e,s,"name"),n=zA(n)?we.converters.Blob(n,s,"value",{strict:!1}):we.converters.USVString(n,s,"value"),r=arguments.length===3?we.converters.USVString(r,s,"filename"):void 0;let i=ig(e,n,r);this[st].push(i)}delete(e){we.brandCheck(this,t);let n="FormData.delete";we.argumentLengthCheck(arguments,1,n),e=we.converters.USVString(e,n,"name"),this[st]=this[st].filter(r=>r.name!==e)}get(e){we.brandCheck(this,t);let n="FormData.get";we.argumentLengthCheck(arguments,1,n),e=we.converters.USVString(e,n,"name");let r=this[st].findIndex(s=>s.name===e);return r===-1?null:this[st][r].value}getAll(e){we.brandCheck(this,t);let n="FormData.getAll";return we.argumentLengthCheck(arguments,1,n),e=we.converters.USVString(e,n,"name"),this[st].filter(r=>r.name===e).map(r=>r.value)}has(e){we.brandCheck(this,t);let n="FormData.has";return we.argumentLengthCheck(arguments,1,n),e=we.converters.USVString(e,n,"name"),this[st].findIndex(r=>r.name===e)!==-1}set(e,n,r=void 0){we.brandCheck(this,t);let s="FormData.set";if(we.argumentLengthCheck(arguments,2,s),arguments.length===3&&!zA(n))throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'");e=we.converters.USVString(e,s,"name"),n=zA(n)?we.converters.Blob(n,s,"name",{strict:!1}):we.converters.USVString(n,s,"name"),r=arguments.length===3?we.converters.USVString(r,s,"name"):void 0;let i=ig(e,n,r),a=this[st].findIndex(c=>c.name===e);a!==-1?this[st]=[...this[st].slice(0,a),i,...this[st].slice(a+1).filter(c=>c.name!==e)]:this[st].push(i)}[FI.inspect.custom](e,n){let r=this[st].reduce((i,a)=>(i[a.name]?Array.isArray(i[a.name])?i[a.name].push(a.value):i[a.name]=[i[a.name],a.value]:i[a.name]=a.value,i),{__proto__:null});n.depth??=e,n.colors??=!0;let s=FI.formatWithOptions(n,r);return`FormData ${s.slice(s.indexOf("]")+2)}`}};yF("FormData",Yo,st,"name","value");Object.defineProperties(Yo.prototype,{append:gi,delete:gi,get:gi,getAll:gi,has:gi,set:gi,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function ig(t,e,n){if(typeof e!="string"){if(QF(e)||(e=e instanceof Blob?new UI([e],"blob",{type:e.type}):new NI(e,"blob",{type:e.type})),n!==void 0){let r={type:e.type,lastModified:e.lastModified};e=e instanceof MI?new UI([e],n,r):new NI(e,n,r)}}return{name:t,value:e}}o(ig,"makeEntry");LI.exports={FormData:Yo,makeEntry:ig}});var YI=T((jK,$I)=>{"use strict";var{isUSVString:_I,bufferToLowerCasedHeaderName:BF}=ue(),{utf8DecodeBytes:wF}=Qt(),{HTTP_TOKEN_CODEPOINTS:bF,isomorphicDecode:PI}=gt(),{isFileLike:kF}=sg(),{makeEntry:RF}=Ho(),ZA=require("node:assert"),{File:SF}=require("node:buffer"),vF=globalThis.File??SF,xF=Buffer.from('form-data; name="'),OI=Buffer.from("; filename"),DF=Buffer.from("--"),TF=Buffer.from(`--\r
|
|
4
|
-
`);function NF(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}o(NF,"isAsciiString");function FF(t){let e=t.length;if(e<27||e>70)return!1;for(let n=0;n<e;++n){let r=t.charCodeAt(n);if(!(r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r===39||r===45||r===95))return!1}return!0}o(FF,"validateBoundary");function UF(t,e){ZA(e!=="failure"&&e.essence==="multipart/form-data");let n=e.parameters.get("boundary");if(n===void 0)return"failure";let r=Buffer.from(`--${n}`,"utf8"),s=[],i={position:0};for(;t[i.position]===13&&t[i.position+1]===10;)i.position+=2;let a=t.length;for(;t[a-1]===10&&t[a-2]===13;)a-=2;for(a!==t.length&&(t=t.subarray(0,a));;){if(t.subarray(i.position,i.position+r.length).equals(r))i.position+=r.length;else return"failure";if(i.position===t.length-2&&KA(t,DF,i)||i.position===t.length-4&&KA(t,TF,i))return s;if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let c=MF(t,i);if(c==="failure")return"failure";let{name:l,filename:d,contentType:g,encoding:h}=c;i.position+=2;let f;{let C=t.indexOf(r.subarray(2),i.position);if(C===-1)return"failure";f=t.subarray(i.position,C-4),i.position+=f.length,h==="base64"&&(f=Buffer.from(f.toString(),"base64"))}if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let m;d!==null?(g??="text/plain",NF(g)||(g=""),m=new vF([f],d,{type:g})):m=wF(Buffer.from(f)),ZA(_I(l)),ZA(typeof m=="string"&&_I(m)||
|
|
5
|
-
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),n)}o(GI,"parseMultipartFormDataName");function hi(t,e,n){let r=n.position;for(;r<e.length&&t(e[r]);)++r;return e.subarray(n.position,n.position=r)}o(hi,"collectASequenceOfBytes");function og(t,e,n,r){let s=0,i=t.length-1;if(e)for(;s<t.length&&r(t[s]);)s++;if(n)for(;i>0&&r(t[i]);)i--;return s===0&&i===t.length-1?t:t.subarray(s,i+1)}o(og,"removeChars");function KA(t,e,n){if(t.length<e.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[n.position+r])return!1;return!0}o(KA,"bufferStartsWith");$I.exports={multipartFormDataParser:UF,validateBoundary:FF}});var mi=T((zK,XI)=>{"use strict";var
|
|
1
|
+
"use strict";var vk=Object.create;var oo=Object.defineProperty;var xk=Object.getOwnPropertyDescriptor;var Dk=Object.getOwnPropertyNames;var Tk=Object.getPrototypeOf,Nk=Object.prototype.hasOwnProperty;var o=(t,e)=>oo(t,"name",{value:e,configurable:!0});var T=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}},Op=(t,e)=>{for(var n in e)oo(t,n,{get:e[n],enumerable:!0})},Gp=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Dk(e))!Nk.call(t,s)&&s!==n&&oo(t,s,{get:()=>e[s],enumerable:!(r=xk(e,s))||r.enumerable});return t};var Ve=(t,e,n)=>(n=t!=null?vk(Tk(t)):{},Gp(e||!t||!t.__esModule?oo(n,"default",{value:t,enumerable:!0}):n,t)),Fk=t=>Gp(oo({},"__esModule",{value:!0}),t);var UE=T(ni=>{"use strict";var sK=require("net"),dD=require("tls"),nd=require("http"),TE=require("https"),gD=require("events"),iK=require("assert"),hD=require("util");ni.httpOverHttp=pD;ni.httpsOverHttp=fD;ni.httpOverHttps=mD;ni.httpsOverHttps=ED;function pD(t){var e=new Mn(t);return e.request=nd.request,e}o(pD,"httpOverHttp");function fD(t){var e=new Mn(t);return e.request=nd.request,e.createSocket=NE,e.defaultPort=443,e}o(fD,"httpsOverHttp");function mD(t){var e=new Mn(t);return e.request=TE.request,e}o(mD,"httpOverHttps");function ED(t){var e=new Mn(t);return e.request=TE.request,e.createSocket=NE,e.defaultPort=443,e}o(ED,"httpsOverHttps");function Mn(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||nd.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",o(function(r,s,i,a){for(var c=FE(s,i,a),l=0,d=e.requests.length;l<d;++l){var g=e.requests[l];if(g.host===c.host&&g.port===c.port){e.requests.splice(l,1),g.request.onSocket(r);return}}r.destroy(),e.removeSocket(r)},"onFree"))}o(Mn,"TunnelingAgent");hD.inherits(Mn,gD.EventEmitter);Mn.prototype.addRequest=o(function(e,n,r,s){var i=this,a=rd({request:e},i.options,FE(n,r,s));if(i.sockets.length>=this.maxSockets){i.requests.push(a);return}i.createSocket(a,function(c){c.on("free",l),c.on("close",d),c.on("agentRemove",d),e.onSocket(c);function l(){i.emit("free",c,a)}o(l,"onFree");function d(g){i.removeSocket(c),c.removeListener("free",l),c.removeListener("close",d),c.removeListener("agentRemove",d)}o(d,"onCloseOrRemove")})},"addRequest");Mn.prototype.createSocket=o(function(e,n){var r=this,s={};r.sockets.push(s);var i=rd({},r.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(i.localAddress=e.localAddress),i.proxyAuth&&(i.headers=i.headers||{},i.headers["Proxy-Authorization"]="Basic "+new Buffer(i.proxyAuth).toString("base64")),gr("making CONNECT request");var a=r.request(i);a.useChunkedEncodingByDefault=!1,a.once("response",c),a.once("upgrade",l),a.once("connect",d),a.once("error",g),a.end();function c(h){h.upgrade=!0}o(c,"onResponse");function l(h,f,m){process.nextTick(function(){d(h,f,m)})}o(l,"onUpgrade");function d(h,f,m){if(a.removeAllListeners(),f.removeAllListeners(),h.statusCode!==200){gr("tunneling socket could not be established, statusCode=%d",h.statusCode),f.destroy();var C=new Error("tunneling socket could not be established, statusCode="+h.statusCode);C.code="ECONNRESET",e.request.emit("error",C),r.removeSocket(s);return}if(m.length>0){gr("got illegal response body from proxy"),f.destroy();var C=new Error("got illegal response body from proxy");C.code="ECONNRESET",e.request.emit("error",C),r.removeSocket(s);return}return gr("tunneling connection has established"),r.sockets[r.sockets.indexOf(s)]=f,n(f)}o(d,"onConnect");function g(h){a.removeAllListeners(),gr(`tunneling socket could not be established, cause=%s
|
|
2
|
+
`,h.message,h.stack);var f=new Error("tunneling socket could not be established, cause="+h.message);f.code="ECONNRESET",e.request.emit("error",f),r.removeSocket(s)}o(g,"onError")},"createSocket");Mn.prototype.removeSocket=o(function(e){var n=this.sockets.indexOf(e);if(n!==-1){this.sockets.splice(n,1);var r=this.requests.shift();r&&this.createSocket(r,function(s){r.request.onSocket(s)})}},"removeSocket");function NE(t,e){var n=this;Mn.prototype.createSocket.call(n,t,function(r){var s=t.request.getHeader("host"),i=rd({},n.options,{socket:r,servername:s?s.replace(/:.*$/,""):t.host}),a=dD.connect(0,i);n.sockets[n.sockets.indexOf(r)]=a,e(a)})}o(NE,"createSecureSocket");function FE(t,e,n){return typeof t=="string"?{host:t,port:e,localAddress:n}:t}o(FE,"toOptions");function rd(t){for(var e=1,n=arguments.length;e<n;++e){var r=arguments[e];if(typeof r=="object")for(var s=Object.keys(r),i=0,a=s.length;i<a;++i){var c=s[i];r[c]!==void 0&&(t[c]=r[c])}}return t}o(rd,"mergeOptions");var gr;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?gr=o(function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)},"debug"):gr=o(function(){},"debug");ni.debug=gr});var LE=T((AK,ME)=>{ME.exports=UE()});var ke=T((cK,_E)=>{_E.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var pe=T((uK,cC)=>{"use strict";var PE=Symbol.for("undici.error.UND_ERR"),Se=class extends Error{static{o(this,"UndiciError")}constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[PE]===!0}[PE]=!0},OE=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),sd=class extends Se{static{o(this,"ConnectTimeoutError")}constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[OE]===!0}[OE]=!0},GE=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),id=class extends Se{static{o(this,"HeadersTimeoutError")}constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[GE]===!0}[GE]=!0},$E=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),od=class extends Se{static{o(this,"HeadersOverflowError")}constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[$E]===!0}[$E]=!0},YE=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),ad=class extends Se{static{o(this,"BodyTimeoutError")}constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[YE]===!0}[YE]=!0},VE=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"),Ad=class extends Se{static{o(this,"ResponseStatusCodeError")}constructor(e,n,r,s){super(e),this.name="ResponseStatusCodeError",this.message=e||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=s,this.status=n,this.statusCode=n,this.headers=r}static[Symbol.hasInstance](e){return e&&e[VE]===!0}[VE]=!0},HE=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),cd=class extends Se{static{o(this,"InvalidArgumentError")}constructor(e){super(e),this.name="InvalidArgumentError",this.message=e||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](e){return e&&e[HE]===!0}[HE]=!0},JE=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),ud=class extends Se{static{o(this,"InvalidReturnValueError")}constructor(e){super(e),this.name="InvalidReturnValueError",this.message=e||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](e){return e&&e[JE]===!0}[JE]=!0},qE=Symbol.for("undici.error.UND_ERR_ABORT"),vA=class extends Se{static{o(this,"AbortError")}constructor(e){super(e),this.name="AbortError",this.message=e||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](e){return e&&e[qE]===!0}[qE]=!0},jE=Symbol.for("undici.error.UND_ERR_ABORTED"),ld=class extends vA{static{o(this,"RequestAbortedError")}constructor(e){super(e),this.name="AbortError",this.message=e||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[jE]===!0}[jE]=!0},WE=Symbol.for("undici.error.UND_ERR_INFO"),dd=class extends Se{static{o(this,"InformationalError")}constructor(e){super(e),this.name="InformationalError",this.message=e||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[WE]===!0}[WE]=!0},zE=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),gd=class extends Se{static{o(this,"RequestContentLengthMismatchError")}constructor(e){super(e),this.name="RequestContentLengthMismatchError",this.message=e||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[zE]===!0}[zE]=!0},ZE=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),hd=class extends Se{static{o(this,"ResponseContentLengthMismatchError")}constructor(e){super(e),this.name="ResponseContentLengthMismatchError",this.message=e||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](e){return e&&e[ZE]===!0}[ZE]=!0},KE=Symbol.for("undici.error.UND_ERR_DESTROYED"),pd=class extends Se{static{o(this,"ClientDestroyedError")}constructor(e){super(e),this.name="ClientDestroyedError",this.message=e||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](e){return e&&e[KE]===!0}[KE]=!0},XE=Symbol.for("undici.error.UND_ERR_CLOSED"),fd=class extends Se{static{o(this,"ClientClosedError")}constructor(e){super(e),this.name="ClientClosedError",this.message=e||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](e){return e&&e[XE]===!0}[XE]=!0},eC=Symbol.for("undici.error.UND_ERR_SOCKET"),md=class extends Se{static{o(this,"SocketError")}constructor(e,n){super(e),this.name="SocketError",this.message=e||"Socket error",this.code="UND_ERR_SOCKET",this.socket=n}static[Symbol.hasInstance](e){return e&&e[eC]===!0}[eC]=!0},tC=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),Ed=class extends Se{static{o(this,"NotSupportedError")}constructor(e){super(e),this.name="NotSupportedError",this.message=e||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](e){return e&&e[tC]===!0}[tC]=!0},nC=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),Cd=class extends Se{static{o(this,"BalancedPoolMissingUpstreamError")}constructor(e){super(e),this.name="MissingUpstreamError",this.message=e||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](e){return e&&e[nC]===!0}[nC]=!0},rC=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),Id=class extends Error{static{o(this,"HTTPParserError")}constructor(e,n,r){super(e),this.name="HTTPParserError",this.code=n?`HPE_${n}`:void 0,this.data=r?r.toString():void 0}static[Symbol.hasInstance](e){return e&&e[rC]===!0}[rC]=!0},sC=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),yd=class extends Se{static{o(this,"ResponseExceededMaxSizeError")}constructor(e){super(e),this.name="ResponseExceededMaxSizeError",this.message=e||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](e){return e&&e[sC]===!0}[sC]=!0},iC=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),Qd=class extends Se{static{o(this,"RequestRetryError")}constructor(e,n,{headers:r,data:s}){super(e),this.name="RequestRetryError",this.message=e||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=n,this.data=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[iC]===!0}[iC]=!0},oC=Symbol.for("undici.error.UND_ERR_RESPONSE"),Bd=class extends Se{static{o(this,"ResponseError")}constructor(e,n,{headers:r,data:s}){super(e),this.name="ResponseError",this.message=e||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=n,this.data=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[oC]===!0}[oC]=!0},aC=Symbol.for("undici.error.UND_ERR_PRX_TLS"),wd=class extends Se{static{o(this,"SecureProxyConnectionError")}constructor(e,n,r){super(n,{cause:e,...r??{}}),this.name="SecureProxyConnectionError",this.message=n||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=e}static[Symbol.hasInstance](e){return e&&e[aC]===!0}[aC]=!0},AC=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),bd=class extends Se{static{o(this,"MessageSizeExceededError")}constructor(e){super(e),this.name="MessageSizeExceededError",this.message=e||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](e){return e&&e[AC]===!0}get[AC](){return!0}};cC.exports={AbortError:vA,HTTPParserError:Id,UndiciError:Se,HeadersTimeoutError:id,HeadersOverflowError:od,BodyTimeoutError:ad,RequestContentLengthMismatchError:gd,ConnectTimeoutError:sd,ResponseStatusCodeError:Ad,InvalidArgumentError:cd,InvalidReturnValueError:ud,RequestAbortedError:ld,ClientDestroyedError:pd,ClientClosedError:fd,InformationalError:dd,SocketError:md,NotSupportedError:Ed,ResponseContentLengthMismatchError:hd,BalancedPoolMissingUpstreamError:Cd,ResponseExceededMaxSizeError:yd,RequestRetryError:Qd,ResponseError:Bd,SecureProxyConnectionError:wd,MessageSizeExceededError:bd}});var DA=T((dK,uC)=>{"use strict";var xA={},Rd=["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 t=0;t<Rd.length;++t){let e=Rd[t],n=e.toLowerCase();xA[e]=xA[n]=n}Object.setPrototypeOf(xA,null);uC.exports={wellknownHeaderNames:Rd,headerNameLowerCasedRecord:xA}});var hC=T((gK,gC)=>{"use strict";var{wellknownHeaderNames:lC,headerNameLowerCasedRecord:CD}=DA(),kd=class t{static{o(this,"TstNode")}value=null;left=null;middle=null;right=null;code;constructor(e,n,r){if(r===void 0||r>=e.length)throw new TypeError("Unreachable");if((this.code=e.charCodeAt(r))>127)throw new TypeError("key must be ascii string");e.length!==++r?this.middle=new t(e,n,r):this.value=n}add(e,n){let r=e.length;if(r===0)throw new TypeError("Unreachable");let s=0,i=this;for(;;){let a=e.charCodeAt(s);if(a>127)throw new TypeError("key must be ascii string");if(i.code===a)if(r===++s){i.value=n;break}else if(i.middle!==null)i=i.middle;else{i.middle=new t(e,n,s);break}else if(i.code<a)if(i.left!==null)i=i.left;else{i.left=new t(e,n,s);break}else if(i.right!==null)i=i.right;else{i.right=new t(e,n,s);break}}}search(e){let n=e.length,r=0,s=this;for(;s!==null&&r<n;){let i=e[r];for(i<=90&&i>=65&&(i|=32);s!==null;){if(i===s.code){if(n===++r)return s;s=s.middle;break}s=s.code<i?s.left:s.right}}return null}},TA=class{static{o(this,"TernarySearchTree")}node=null;insert(e,n){this.node===null?this.node=new kd(e,n,0):this.node.add(e,n)}lookup(e){return this.node?.search(e)?.value??null}},dC=new TA;for(let t=0;t<lC.length;++t){let e=CD[lC[t]];dC.insert(e,e)}gC.exports={TernarySearchTree:TA,tree:dC}});var ue=T((pK,xC)=>{"use strict";var No=require("node:assert"),{kDestroyed:fC,kBodyUsed:ri,kListeners:Sd,kBody:pC}=ke(),{IncomingMessage:ID}=require("node:http"),UA=require("node:stream"),yD=require("node:net"),{Blob:QD}=require("node:buffer"),BD=require("node:util"),{stringify:wD}=require("node:querystring"),{EventEmitter:bD}=require("node:events"),{InvalidArgumentError:$e}=pe(),{headerNameLowerCasedRecord:RD}=DA(),{tree:mC}=hC(),[kD,SD]=process.versions.node.split(".").map(t=>Number(t)),FA=class{static{o(this,"BodyAsyncIterable")}constructor(e){this[pC]=e,this[ri]=!1}async*[Symbol.asyncIterator](){No(!this[ri],"disturbed"),this[ri]=!0,yield*this[pC]}};function vD(t){return MA(t)?(QC(t)===0&&t.on("data",function(){No(!1)}),typeof t.readableDidRead!="boolean"&&(t[ri]=!1,bD.prototype.on.call(t,"data",function(){this[ri]=!0})),t):t&&typeof t.pipeTo=="function"?new FA(t):t&&typeof t!="string"&&!ArrayBuffer.isView(t)&&yC(t)?new FA(t):t}o(vD,"wrapRequestBody");function xD(){}o(xD,"nop");function MA(t){return t&&typeof t=="object"&&typeof t.pipe=="function"&&typeof t.on=="function"}o(MA,"isStream");function EC(t){if(t===null)return!1;if(t instanceof QD)return!0;if(typeof t!="object")return!1;{let e=t[Symbol.toStringTag];return(e==="Blob"||e==="File")&&("stream"in t&&typeof t.stream=="function"||"arrayBuffer"in t&&typeof t.arrayBuffer=="function")}}o(EC,"isBlobLike");function DD(t,e){if(t.includes("?")||t.includes("#"))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let n=wD(e);return n&&(t+="?"+n),t}o(DD,"buildURL");function CC(t){let e=parseInt(t,10);return e===Number(t)&&e>=0&&e<=65535}o(CC,"isValidPort");function NA(t){return t!=null&&t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p"&&(t[4]===":"||t[4]==="s"&&t[5]===":")}o(NA,"isHttpOrHttpsPrefixed");function IC(t){if(typeof t=="string"){if(t=new URL(t),!NA(t.origin||t.protocol))throw new $e("Invalid URL protocol: the URL must start with `http:` or `https:`.");return t}if(!t||typeof t!="object")throw new $e("Invalid URL: The URL argument must be a non-null object.");if(!(t instanceof URL)){if(t.port!=null&&t.port!==""&&CC(t.port)===!1)throw new $e("Invalid URL: port must be a valid integer or a string representation of an integer.");if(t.path!=null&&typeof t.path!="string")throw new $e("Invalid URL path: the path must be a string or null/undefined.");if(t.pathname!=null&&typeof t.pathname!="string")throw new $e("Invalid URL pathname: the pathname must be a string or null/undefined.");if(t.hostname!=null&&typeof t.hostname!="string")throw new $e("Invalid URL hostname: the hostname must be a string or null/undefined.");if(t.origin!=null&&typeof t.origin!="string")throw new $e("Invalid URL origin: the origin must be a string or null/undefined.");if(!NA(t.origin||t.protocol))throw new $e("Invalid URL protocol: the URL must start with `http:` or `https:`.");let e=t.port!=null?t.port:t.protocol==="https:"?443:80,n=t.origin!=null?t.origin:`${t.protocol||""}//${t.hostname||""}:${e}`,r=t.path!=null?t.path:`${t.pathname||""}${t.search||""}`;return n[n.length-1]==="/"&&(n=n.slice(0,n.length-1)),r&&r[0]!=="/"&&(r=`/${r}`),new URL(`${n}${r}`)}if(!NA(t.origin||t.protocol))throw new $e("Invalid URL protocol: the URL must start with `http:` or `https:`.");return t}o(IC,"parseURL");function TD(t){if(t=IC(t),t.pathname!=="/"||t.search||t.hash)throw new $e("invalid url");return t}o(TD,"parseOrigin");function ND(t){if(t[0]==="["){let n=t.indexOf("]");return No(n!==-1),t.substring(1,n)}let e=t.indexOf(":");return e===-1?t:t.substring(0,e)}o(ND,"getHostname");function FD(t){if(!t)return null;No(typeof t=="string");let e=ND(t);return yD.isIP(e)?"":e}o(FD,"getServerName");function UD(t){return JSON.parse(JSON.stringify(t))}o(UD,"deepClone");function MD(t){return t!=null&&typeof t[Symbol.asyncIterator]=="function"}o(MD,"isAsyncIterable");function yC(t){return t!=null&&(typeof t[Symbol.iterator]=="function"||typeof t[Symbol.asyncIterator]=="function")}o(yC,"isIterable");function QC(t){if(t==null)return 0;if(MA(t)){let e=t._readableState;return e&&e.objectMode===!1&&e.ended===!0&&Number.isFinite(e.length)?e.length:null}else{if(EC(t))return t.size!=null?t.size:null;if(bC(t))return t.byteLength}return null}o(QC,"bodyLength");function BC(t){return t&&!!(t.destroyed||t[fC]||UA.isDestroyed?.(t))}o(BC,"isDestroyed");function LD(t,e){t==null||!MA(t)||BC(t)||(typeof t.destroy=="function"?(Object.getPrototypeOf(t).constructor===ID&&(t.socket=null),t.destroy(e)):e&&queueMicrotask(()=>{t.emit("error",e)}),t.destroyed!==!0&&(t[fC]=!0))}o(LD,"destroy");var _D=/timeout=(\d+)/;function PD(t){let e=t.toString().match(_D);return e?parseInt(e[1],10)*1e3:null}o(PD,"parseKeepAliveTimeout");function wC(t){return typeof t=="string"?RD[t]??t.toLowerCase():mC.lookup(t)??t.toString("latin1").toLowerCase()}o(wC,"headerNameToString");function OD(t){return mC.lookup(t)??t.toString("latin1").toLowerCase()}o(OD,"bufferToLowerCasedHeaderName");function GD(t,e){e===void 0&&(e={});for(let n=0;n<t.length;n+=2){let r=wC(t[n]),s=e[r];if(s)typeof s=="string"&&(s=[s],e[r]=s),s.push(t[n+1].toString("utf8"));else{let i=t[n+1];typeof i=="string"?e[r]=i:e[r]=Array.isArray(i)?i.map(a=>a.toString("utf8")):i.toString("utf8")}}return"content-length"in e&&"content-disposition"in e&&(e["content-disposition"]=Buffer.from(e["content-disposition"]).toString("latin1")),e}o(GD,"parseHeaders");function $D(t){let e=t.length,n=new Array(e),r=!1,s=-1,i,a,c=0;for(let l=0;l<t.length;l+=2)i=t[l],a=t[l+1],typeof i!="string"&&(i=i.toString()),typeof a!="string"&&(a=a.toString("utf8")),c=i.length,c===14&&i[7]==="-"&&(i==="content-length"||i.toLowerCase()==="content-length")?r=!0:c===19&&i[7]==="-"&&(i==="content-disposition"||i.toLowerCase()==="content-disposition")&&(s=l+1),n[l]=i,n[l+1]=a;return r&&s!==-1&&(n[s]=Buffer.from(n[s]).toString("latin1")),n}o($D,"parseRawHeaders");function bC(t){return t instanceof Uint8Array||Buffer.isBuffer(t)}o(bC,"isBuffer");function YD(t,e,n){if(!t||typeof t!="object")throw new $e("handler must be an object");if(typeof t.onConnect!="function")throw new $e("invalid onConnect method");if(typeof t.onError!="function")throw new $e("invalid onError method");if(typeof t.onBodySent!="function"&&t.onBodySent!==void 0)throw new $e("invalid onBodySent method");if(n||e==="CONNECT"){if(typeof t.onUpgrade!="function")throw new $e("invalid onUpgrade method")}else{if(typeof t.onHeaders!="function")throw new $e("invalid onHeaders method");if(typeof t.onData!="function")throw new $e("invalid onData method");if(typeof t.onComplete!="function")throw new $e("invalid onComplete method")}}o(YD,"validateHandler");function VD(t){return!!(t&&(UA.isDisturbed(t)||t[ri]))}o(VD,"isDisturbed");function HD(t){return!!(t&&UA.isErrored(t))}o(HD,"isErrored");function JD(t){return!!(t&&UA.isReadable(t))}o(JD,"isReadable");function qD(t){return{localAddress:t.localAddress,localPort:t.localPort,remoteAddress:t.remoteAddress,remotePort:t.remotePort,remoteFamily:t.remoteFamily,timeout:t.timeout,bytesWritten:t.bytesWritten,bytesRead:t.bytesRead}}o(qD,"getSocketInfo");function jD(t){let e;return new ReadableStream({async start(){e=t[Symbol.asyncIterator]()},async pull(n){let{done:r,value:s}=await e.next();if(r)queueMicrotask(()=>{n.close(),n.byobRequest?.respond(0)});else{let i=Buffer.isBuffer(s)?s:Buffer.from(s);i.byteLength&&n.enqueue(new Uint8Array(i))}return n.desiredSize>0},async cancel(n){await e.return()},type:"bytes"})}o(jD,"ReadableStreamFrom");function WD(t){return t&&typeof t=="object"&&typeof t.append=="function"&&typeof t.delete=="function"&&typeof t.get=="function"&&typeof t.getAll=="function"&&typeof t.has=="function"&&typeof t.set=="function"&&t[Symbol.toStringTag]==="FormData"}o(WD,"isFormDataLike");function zD(t,e){return"addEventListener"in t?(t.addEventListener("abort",e,{once:!0}),()=>t.removeEventListener("abort",e)):(t.addListener("abort",e),()=>t.removeListener("abort",e))}o(zD,"addAbortListener");var ZD=typeof String.prototype.toWellFormed=="function",KD=typeof String.prototype.isWellFormed=="function";function RC(t){return ZD?`${t}`.toWellFormed():BD.toUSVString(t)}o(RC,"toUSVString");function XD(t){return KD?`${t}`.isWellFormed():RC(t)===`${t}`}o(XD,"isUSVString");function kC(t){switch(t){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!1;default:return t>=33&&t<=126}}o(kC,"isTokenCharCode");function eT(t){if(t.length===0)return!1;for(let e=0;e<t.length;++e)if(!kC(t.charCodeAt(e)))return!1;return!0}o(eT,"isValidHTTPToken");var tT=/[^\t\x20-\x7e\x80-\xff]/;function nT(t){return!tT.test(t)}o(nT,"isValidHeaderValue");function rT(t){if(t==null||t==="")return{start:0,end:null,size:null};let e=t?t.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return e?{start:parseInt(e[1]),end:e[2]?parseInt(e[2]):null,size:e[3]?parseInt(e[3]):null}:null}o(rT,"parseRangeHeader");function sT(t,e,n){return(t[Sd]??=[]).push([e,n]),t.on(e,n),t}o(sT,"addListener");function iT(t){for(let[e,n]of t[Sd]??[])t.removeListener(e,n);t[Sd]=null}o(iT,"removeAllListeners");function oT(t,e,n){try{e.onError(n),No(e.aborted)}catch(r){t.emit("error",r)}}o(oT,"errorRequest");var SC=Object.create(null);SC.enumerable=!0;var vd={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},vC={...vd,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(vd,null);Object.setPrototypeOf(vC,null);xC.exports={kEnumerableProperty:SC,nop:xD,isDisturbed:VD,isErrored:HD,isReadable:JD,toUSVString:RC,isUSVString:XD,isBlobLike:EC,parseOrigin:TD,parseURL:IC,getServerName:FD,isStream:MA,isIterable:yC,isAsyncIterable:MD,isDestroyed:BC,headerNameToString:wC,bufferToLowerCasedHeaderName:OD,addListener:sT,removeAllListeners:iT,errorRequest:oT,parseRawHeaders:$D,parseHeaders:GD,parseKeepAliveTimeout:PD,destroy:LD,bodyLength:QC,deepClone:UD,ReadableStreamFrom:jD,isBuffer:bC,validateHandler:YD,getSocketInfo:qD,isFormDataLike:WD,buildURL:DD,addAbortListener:zD,isValidHTTPToken:eT,isValidHeaderValue:nT,isTokenCharCode:kC,parseRangeHeader:rT,normalizedMethodRecordsBase:vd,normalizedMethodRecords:vC,isValidPort:CC,isHttpOrHttpsPrefixed:NA,nodeMajor:kD,nodeMinor:SD,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"],wrapRequestBody:vD}});var si=T((mK,TC)=>{"use strict";var me=require("node:diagnostics_channel"),Dd=require("node:util"),LA=Dd.debuglog("undici"),xd=Dd.debuglog("fetch"),ts=Dd.debuglog("websocket"),DC=!1,aT={beforeConnect:me.channel("undici:client:beforeConnect"),connected:me.channel("undici:client:connected"),connectError:me.channel("undici:client:connectError"),sendHeaders:me.channel("undici:client:sendHeaders"),create:me.channel("undici:request:create"),bodySent:me.channel("undici:request:bodySent"),headers:me.channel("undici:request:headers"),trailers:me.channel("undici:request:trailers"),error:me.channel("undici:request:error"),open:me.channel("undici:websocket:open"),close:me.channel("undici:websocket:close"),socketError:me.channel("undici:websocket:socket_error"),ping:me.channel("undici:websocket:ping"),pong:me.channel("undici:websocket:pong")};if(LA.enabled||xd.enabled){let t=xd.enabled?xd:LA;me.channel("undici:client:beforeConnect").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i}}=e;t("connecting to %s using %s%s",`${i}${s?`:${s}`:""}`,r,n)}),me.channel("undici:client:connected").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i}}=e;t("connected to %s using %s%s",`${i}${s?`:${s}`:""}`,r,n)}),me.channel("undici:client:connectError").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i},error:a}=e;t("connection to %s using %s%s errored - %s",`${i}${s?`:${s}`:""}`,r,n,a.message)}),me.channel("undici:client:sendHeaders").subscribe(e=>{let{request:{method:n,path:r,origin:s}}=e;t("sending request to %s %s/%s",n,s,r)}),me.channel("undici:request:headers").subscribe(e=>{let{request:{method:n,path:r,origin:s},response:{statusCode:i}}=e;t("received response to %s %s/%s - HTTP %d",n,s,r,i)}),me.channel("undici:request:trailers").subscribe(e=>{let{request:{method:n,path:r,origin:s}}=e;t("trailers received from %s %s/%s",n,s,r)}),me.channel("undici:request:error").subscribe(e=>{let{request:{method:n,path:r,origin:s},error:i}=e;t("request to %s %s/%s errored - %s",n,s,r,i.message)}),DC=!0}if(ts.enabled){if(!DC){let t=LA.enabled?LA:ts;me.channel("undici:client:beforeConnect").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i}}=e;t("connecting to %s%s using %s%s",i,s?`:${s}`:"",r,n)}),me.channel("undici:client:connected").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i}}=e;t("connected to %s%s using %s%s",i,s?`:${s}`:"",r,n)}),me.channel("undici:client:connectError").subscribe(e=>{let{connectParams:{version:n,protocol:r,port:s,host:i},error:a}=e;t("connection to %s%s using %s%s errored - %s",i,s?`:${s}`:"",r,n,a.message)}),me.channel("undici:client:sendHeaders").subscribe(e=>{let{request:{method:n,path:r,origin:s}}=e;t("sending request to %s %s/%s",n,s,r)})}me.channel("undici:websocket:open").subscribe(t=>{let{address:{address:e,port:n}}=t;ts("connection opened %s%s",e,n?`:${n}`:"")}),me.channel("undici:websocket:close").subscribe(t=>{let{websocket:e,code:n,reason:r}=t;ts("closed connection to %s - %s %s",e.url,n,r)}),me.channel("undici:websocket:socket_error").subscribe(t=>{ts("connection errored - %s",t.message)}),me.channel("undici:websocket:ping").subscribe(t=>{ts("ping received")}),me.channel("undici:websocket:pong").subscribe(t=>{ts("pong received")})}TC.exports={channels:aT}});var MC=T((EK,UC)=>{"use strict";var{InvalidArgumentError:Qe,NotSupportedError:AT}=pe(),yt=require("node:assert"),{isValidHTTPToken:FC,isValidHeaderValue:Fo,isStream:cT,destroy:uT,isBuffer:lT,isFormDataLike:dT,isIterable:gT,isBlobLike:hT,buildURL:pT,validateHandler:fT,getServerName:mT,normalizedMethodRecords:ET}=ue(),{channels:qe}=si(),{headerNameLowerCasedRecord:NC}=DA(),CT=/[^\u0021-\u00ff]/,Pt=Symbol("handler"),Td=class{static{o(this,"Request")}constructor(e,{path:n,method:r,body:s,headers:i,query:a,idempotent:c,blocking:l,upgrade:d,headersTimeout:g,bodyTimeout:h,reset:f,throwOnError:m,expectContinue:C,servername:y},v){if(typeof n!="string")throw new Qe("path must be a string");if(n[0]!=="/"&&!(n.startsWith("http://")||n.startsWith("https://"))&&r!=="CONNECT")throw new Qe("path must be an absolute URL or start with a slash");if(CT.test(n))throw new Qe("invalid request path");if(typeof r!="string")throw new Qe("method must be a string");if(ET[r]===void 0&&!FC(r))throw new Qe("invalid request method");if(d&&typeof d!="string")throw new Qe("upgrade must be a string");if(d&&!Fo(d))throw new Qe("invalid upgrade header");if(g!=null&&(!Number.isFinite(g)||g<0))throw new Qe("invalid headersTimeout");if(h!=null&&(!Number.isFinite(h)||h<0))throw new Qe("invalid bodyTimeout");if(f!=null&&typeof f!="boolean")throw new Qe("invalid reset");if(C!=null&&typeof C!="boolean")throw new Qe("invalid expectContinue");if(this.headersTimeout=g,this.bodyTimeout=h,this.throwOnError=m===!0,this.method=r,this.abort=null,s==null)this.body=null;else if(cT(s)){this.body=s;let Q=this.body._readableState;(!Q||!Q.autoDestroy)&&(this.endHandler=o(function(){uT(this)},"autoDestroy"),this.body.on("end",this.endHandler)),this.errorHandler=D=>{this.abort?this.abort(D):this.error=D},this.body.on("error",this.errorHandler)}else if(lT(s))this.body=s.byteLength?s:null;else if(ArrayBuffer.isView(s))this.body=s.buffer.byteLength?Buffer.from(s.buffer,s.byteOffset,s.byteLength):null;else if(s instanceof ArrayBuffer)this.body=s.byteLength?Buffer.from(s):null;else if(typeof s=="string")this.body=s.length?Buffer.from(s):null;else if(dT(s)||gT(s)||hT(s))this.body=s;else throw new Qe("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=d||null,this.path=a?pT(n,a):n,this.origin=e,this.idempotent=c??(r==="HEAD"||r==="GET"),this.blocking=l??!1,this.reset=f??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=C??!1,Array.isArray(i)){if(i.length%2!==0)throw new Qe("headers array must be even");for(let Q=0;Q<i.length;Q+=2)_A(this,i[Q],i[Q+1])}else if(i&&typeof i=="object")if(i[Symbol.iterator])for(let Q of i){if(!Array.isArray(Q)||Q.length!==2)throw new Qe("headers must be in key-value pair format");_A(this,Q[0],Q[1])}else{let Q=Object.keys(i);for(let D=0;D<Q.length;++D)_A(this,Q[D],i[Q[D]])}else if(i!=null)throw new Qe("headers must be an object or an array");fT(v,r,d),this.servername=y||mT(this.host),this[Pt]=v,qe.create.hasSubscribers&&qe.create.publish({request:this})}onBodySent(e){if(this[Pt].onBodySent)try{return this[Pt].onBodySent(e)}catch(n){this.abort(n)}}onRequestSent(){if(qe.bodySent.hasSubscribers&&qe.bodySent.publish({request:this}),this[Pt].onRequestSent)try{return this[Pt].onRequestSent()}catch(e){this.abort(e)}}onConnect(e){if(yt(!this.aborted),yt(!this.completed),this.error)e(this.error);else return this.abort=e,this[Pt].onConnect(e)}onResponseStarted(){return this[Pt].onResponseStarted?.()}onHeaders(e,n,r,s){yt(!this.aborted),yt(!this.completed),qe.headers.hasSubscribers&&qe.headers.publish({request:this,response:{statusCode:e,headers:n,statusText:s}});try{return this[Pt].onHeaders(e,n,r,s)}catch(i){this.abort(i)}}onData(e){yt(!this.aborted),yt(!this.completed);try{return this[Pt].onData(e)}catch(n){return this.abort(n),!1}}onUpgrade(e,n,r,s=""){this.onFinally(),yt(!this.aborted),yt(!this.completed),e!==null&&this.#e(e,n,s);let i=this[Pt].onUpgrade(e,n,r);return this.aborted||(this.completed=!0,e!==null&&this.#t()),i}onUpgradeResponse(e,n,r,s=""){yt(!this.aborted),yt(this.completed),qe.headers.hasSubscribers&&this.#e(e,r(n),s),this.#t()}onUpgradeError(e){yt(!this.aborted),yt(this.completed),qe.error.hasSubscribers&&qe.error.publish({request:this,error:e})}#e(e,n,r){qe.headers.hasSubscribers&&qe.headers.publish({request:this,response:{statusCode:e,headers:n,statusText:r}})}#t(){qe.trailers.hasSubscribers&&qe.trailers.publish({request:this,trailers:[]})}onComplete(e){this.onFinally(),yt(!this.aborted),this.completed=!0,qe.trailers.hasSubscribers&&qe.trailers.publish({request:this,trailers:e});try{return this[Pt].onComplete(e)}catch(n){this.onError(n)}}onError(e){if(this.onFinally(),qe.error.hasSubscribers&&qe.error.publish({request:this,error:e}),!this.aborted)return this.aborted=!0,this[Pt].onError(e)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(e,n){return _A(this,e,n),this}};function _A(t,e,n){if(n&&typeof n=="object"&&!Array.isArray(n))throw new Qe(`invalid ${e} header`);if(n===void 0)return;let r=NC[e];if(r===void 0&&(r=e.toLowerCase(),NC[r]===void 0&&!FC(r)))throw new Qe("invalid header key");if(Array.isArray(n)){let s=[];for(let i=0;i<n.length;i++)if(typeof n[i]=="string"){if(!Fo(n[i]))throw new Qe(`invalid ${e} header`);s.push(n[i])}else if(n[i]===null)s.push("");else{if(typeof n[i]=="object")throw new Qe(`invalid ${e} header`);{let a=`${n[i]}`;if(!Fo(a))throw new Qe(`invalid ${e} header`);s.push(a)}}n=s}else if(typeof n=="string"){if(!Fo(n))throw new Qe(`invalid ${e} header`)}else if(n===null)n="";else if(n=`${n}`,!Fo(n))throw new Qe(`invalid ${e} header`);if(r==="host"){if(t.host!==null)throw new Qe("duplicate host header");if(typeof n!="string")throw new Qe("invalid host header");t.host=n}else if(r==="content-length"){if(t.contentLength!==null)throw new Qe("duplicate content-length header");if(t.contentLength=parseInt(n,10),!Number.isFinite(t.contentLength))throw new Qe("invalid content-length header")}else if(t.contentType===null&&r==="content-type")t.contentType=n,t.headers.push(e,n);else{if(r==="transfer-encoding"||r==="keep-alive"||r==="upgrade")throw new Qe(`invalid ${r} header`);if(r==="connection"){let s=typeof n=="string"?n.toLowerCase():null;if(s!=="close"&&s!=="keep-alive")throw new Qe("invalid connection header");s==="close"&&(t.reset=!0)}else{if(r==="expect")throw new AT("expect header not supported");t.headers.push(e,n)}}}o(_A,"processHeader");UC.exports=Td});var Uo=T((IK,LC)=>{"use strict";var IT=require("node:events"),PA=class extends IT{static{o(this,"Dispatcher")}dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){let n=Array.isArray(e[0])?e[0]:e,r=this.dispatch.bind(this);for(let s of n)if(s!=null){if(typeof s!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof s}`);if(r=s(r),r==null||typeof r!="function"||r.length!==2)throw new TypeError("invalid interceptor")}return new Nd(this,r)}},Nd=class extends PA{static{o(this,"ComposedDispatcher")}#e=null;#t=null;constructor(e,n){super(),this.#e=e,this.#t=n}dispatch(...e){this.#t(...e)}close(...e){return this.#e.close(...e)}destroy(...e){return this.#e.destroy(...e)}};LC.exports=PA});var Ai=T((QK,PC)=>{"use strict";var yT=require("node:buffer"),QT=Uo(),{ClientDestroyedError:Fd,ClientClosedError:BT,InvalidArgumentError:ii}=pe(),{kDestroy:wT,kClose:bT,kClosed:Mo,kDestroyed:oi,kDispatch:Ud,kInterceptors:ns}=ke(),Ln=Symbol("onDestroyed"),ai=Symbol("onClosed"),OA=Symbol("Intercepted Dispatch"),Md=Symbol("webSocketOptions"),_C=Symbol("eventSourceOptions"),Ld=class extends QT{static{o(this,"DispatcherBase")}constructor(e){super(),this[oi]=!1,this[Ln]=null,this[Mo]=!1,this[ai]=[],this[Md]=e?.webSocket??{},this[_C]=e?.eventSource??{}}get webSocketOptions(){return{maxFragments:this[Md].maxFragments??131072,maxPayloadSize:this[Md].maxPayloadSize??128*1024*1024}}get eventSourceOptions(){return{maxEventSize:this[_C].maxEventSize??yT.kStringMaxLength}}get destroyed(){return this[oi]}get closed(){return this[Mo]}get interceptors(){return this[ns]}set interceptors(e){if(e){for(let n=e.length-1;n>=0;n--)if(typeof this[ns][n]!="function")throw new ii("interceptor must be an function")}this[ns]=e}close(e){if(e===void 0)return new Promise((r,s)=>{this.close((i,a)=>i?s(i):r(a))});if(typeof e!="function")throw new ii("invalid callback");if(this[oi]){queueMicrotask(()=>e(new Fd,null));return}if(this[Mo]){this[ai]?this[ai].push(e):queueMicrotask(()=>e(null,null));return}this[Mo]=!0,this[ai].push(e);let n=o(()=>{let r=this[ai];this[ai]=null;for(let s=0;s<r.length;s++)r[s](null,null)},"onClosed");this[bT]().then(()=>this.destroy()).then(()=>{queueMicrotask(n)})}destroy(e,n){if(typeof e=="function"&&(n=e,e=null),n===void 0)return new Promise((s,i)=>{this.destroy(e,(a,c)=>a?i(a):s(c))});if(typeof n!="function")throw new ii("invalid callback");if(this[oi]){this[Ln]?this[Ln].push(n):queueMicrotask(()=>n(null,null));return}e||(e=new Fd),this[oi]=!0,this[Ln]=this[Ln]||[],this[Ln].push(n);let r=o(()=>{let s=this[Ln];this[Ln]=null;for(let i=0;i<s.length;i++)s[i](null,null)},"onDestroyed");this[wT](e).then(()=>{queueMicrotask(r)})}[OA](e,n){if(!this[ns]||this[ns].length===0)return this[OA]=this[Ud],this[Ud](e,n);let r=this[Ud].bind(this);for(let s=this[ns].length-1;s>=0;s--)r=this[ns][s](r);return this[OA]=r,r(e,n)}dispatch(e,n){if(!n||typeof n!="object")throw new ii("handler must be an object");try{if(!e||typeof e!="object")throw new ii("opts must be an object.");if(this[oi]||this[Ln])throw new Fd;if(this[Mo])throw new BT;return this[OA](e,n)}catch(r){if(typeof n.onError!="function")throw new ii("invalid onError method");return n.onError(r),!1}}};PC.exports=Ld});var Vd=T((wK,YC)=>{"use strict";var ci=0,_d=1e3,Pd=(_d>>1)-1,_n,Od=Symbol("kFastTimer"),Pn=[],Gd=-2,$d=-1,GC=0,OC=1;function Yd(){ci+=Pd;let t=0,e=Pn.length;for(;t<e;){let n=Pn[t];n._state===GC?(n._idleStart=ci-Pd,n._state=OC):n._state===OC&&ci>=n._idleStart+n._idleTimeout&&(n._state=$d,n._idleStart=-1,n._onTimeout(n._timerArg)),n._state===$d?(n._state=Gd,--e!==0&&(Pn[t]=Pn[e])):++t}Pn.length=e,Pn.length!==0&&$C()}o(Yd,"onTick");function $C(){_n?_n.refresh():(clearTimeout(_n),_n=setTimeout(Yd,Pd),_n.unref&&_n.unref())}o($C,"refreshTimeout");var GA=class{static{o(this,"FastTimer")}[Od]=!0;_state=Gd;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,n,r){this._onTimeout=e,this._idleTimeout=n,this._timerArg=r,this.refresh()}refresh(){this._state===Gd&&Pn.push(this),(!_n||Pn.length===1)&&$C(),this._state=GC}clear(){this._state=$d,this._idleStart=-1}};YC.exports={setTimeout(t,e,n){return e<=_d?setTimeout(t,e,n):new GA(t,e,n)},clearTimeout(t){t[Od]?t.clear():clearTimeout(t)},setFastTimeout(t,e,n){return new GA(t,e,n)},clearFastTimeout(t){t.clear()},now(){return ci},tick(t=0){ci+=t-_d+1,Yd(),Yd()},reset(){ci=0,Pn.length=0,clearTimeout(_n),_n=null},kFastTimer:Od}});var Lo=T((SK,jC)=>{"use strict";var RT=require("node:net"),VC=require("node:assert"),qC=ue(),{InvalidArgumentError:kT,ConnectTimeoutError:ST}=pe(),$A=Vd();function HC(){}o(HC,"noop");var Hd,Jd;global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG)?Jd=class{static{o(this,"WeakSessionCache")}constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new global.FinalizationRegistry(n=>{if(this._sessionCache.size<this._maxCachedSessions)return;let r=this._sessionCache.get(n);r!==void 0&&r.deref()===void 0&&this._sessionCache.delete(n)})}get(e){let n=this._sessionCache.get(e);return n?n.deref():null}set(e,n){this._maxCachedSessions!==0&&(this._sessionCache.set(e,new WeakRef(n)),this._sessionRegistry.register(n,e))}}:Jd=class{static{o(this,"SimpleSessionCache")}constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map}get(e){return this._sessionCache.get(e)}set(e,n){if(this._maxCachedSessions!==0){if(this._sessionCache.size>=this._maxCachedSessions){let{value:r}=this._sessionCache.keys().next();this._sessionCache.delete(r)}this._sessionCache.set(e,n)}}};function vT({allowH2:t,maxCachedSessions:e,socketPath:n,timeout:r,session:s,...i}){if(e!=null&&(!Number.isInteger(e)||e<0))throw new kT("maxCachedSessions must be a positive integer or zero");let a={path:n,...i},c=new Jd(e??100);return r=r??1e4,t=t??!1,o(function({hostname:d,host:g,protocol:h,port:f,servername:m,localAddress:C,httpSocket:y},v){let Q;if(h==="https:"){Hd||(Hd=require("node:tls")),m=m||a.servername||qC.getServerName(g)||null;let G=m||d;VC(G);let P=s||c.get(G)||null;f=f||443,Q=Hd.connect({highWaterMark:16384,...a,servername:m,session:P,localAddress:C,ALPNProtocols:t?["http/1.1","h2"]:["http/1.1"],socket:y,port:f,host:d}),Q.on("session",function(ae){c.set(G,ae)})}else VC(!y,"httpSocket can only be sent on TLS update"),f=f||80,Q=RT.connect({highWaterMark:64*1024,...a,localAddress:C,port:f,host:d});if(a.keepAlive==null||a.keepAlive){let G=a.keepAliveInitialDelay===void 0?6e4:a.keepAliveInitialDelay;Q.setKeepAlive(!0,G)}let D=xT(new WeakRef(Q),{timeout:r,hostname:d,port:f});return Q.setNoDelay(!0).once(h==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(D),v){let G=v;v=null,G(null,this)}}).on("error",function(G){if(queueMicrotask(D),v){let P=v;v=null,P(G)}}),Q},"connect")}o(vT,"buildConnector");var xT=process.platform==="win32"?(t,e)=>{if(!e.timeout)return HC;let n=null,r=null,s=$A.setFastTimeout(()=>{n=setImmediate(()=>{r=setImmediate(()=>JC(t.deref(),e))})},e.timeout);return()=>{$A.clearFastTimeout(s),clearImmediate(n),clearImmediate(r)}}:(t,e)=>{if(!e.timeout)return HC;let n=null,r=$A.setFastTimeout(()=>{n=setImmediate(()=>{JC(t.deref(),e)})},e.timeout);return()=>{$A.clearFastTimeout(r),clearImmediate(n)}};function JC(t,e){if(t==null)return;let n="Connect Timeout Error";Array.isArray(t.autoSelectFamilyAttemptedAddresses)?n+=` (attempted addresses: ${t.autoSelectFamilyAttemptedAddresses.join(", ")},`:n+=` (attempted address: ${e.hostname}:${e.port},`,n+=` timeout: ${e.timeout}ms)`,qC.destroy(t,new ST(n))}o(JC,"onConnectTimeout");jC.exports=vT});var WC=T(YA=>{"use strict";Object.defineProperty(YA,"__esModule",{value:!0});YA.enumToMap=void 0;function DT(t){let e={};return Object.keys(t).forEach(n=>{let r=t[n];typeof r=="number"&&(e[n]=r)}),e}o(DT,"enumToMap");YA.enumToMap=DT});var zC=T(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.SPECIAL_HEADERS=L.HEADER_STATE=L.MINOR=L.MAJOR=L.CONNECTION_TOKEN_CHARS=L.HEADER_CHARS=L.TOKEN=L.STRICT_TOKEN=L.HEX=L.URL_CHAR=L.STRICT_URL_CHAR=L.USERINFO_CHARS=L.MARK=L.ALPHANUM=L.NUM=L.HEX_MAP=L.NUM_MAP=L.ALPHA=L.FINISH=L.H_METHOD_MAP=L.METHOD_MAP=L.METHODS_RTSP=L.METHODS_ICE=L.METHODS_HTTP=L.METHODS=L.LENIENT_FLAGS=L.FLAGS=L.TYPE=L.ERROR=void 0;var TT=WC(),NT;(function(t){t[t.OK=0]="OK",t[t.INTERNAL=1]="INTERNAL",t[t.STRICT=2]="STRICT",t[t.LF_EXPECTED=3]="LF_EXPECTED",t[t.UNEXPECTED_CONTENT_LENGTH=4]="UNEXPECTED_CONTENT_LENGTH",t[t.CLOSED_CONNECTION=5]="CLOSED_CONNECTION",t[t.INVALID_METHOD=6]="INVALID_METHOD",t[t.INVALID_URL=7]="INVALID_URL",t[t.INVALID_CONSTANT=8]="INVALID_CONSTANT",t[t.INVALID_VERSION=9]="INVALID_VERSION",t[t.INVALID_HEADER_TOKEN=10]="INVALID_HEADER_TOKEN",t[t.INVALID_CONTENT_LENGTH=11]="INVALID_CONTENT_LENGTH",t[t.INVALID_CHUNK_SIZE=12]="INVALID_CHUNK_SIZE",t[t.INVALID_STATUS=13]="INVALID_STATUS",t[t.INVALID_EOF_STATE=14]="INVALID_EOF_STATE",t[t.INVALID_TRANSFER_ENCODING=15]="INVALID_TRANSFER_ENCODING",t[t.CB_MESSAGE_BEGIN=16]="CB_MESSAGE_BEGIN",t[t.CB_HEADERS_COMPLETE=17]="CB_HEADERS_COMPLETE",t[t.CB_MESSAGE_COMPLETE=18]="CB_MESSAGE_COMPLETE",t[t.CB_CHUNK_HEADER=19]="CB_CHUNK_HEADER",t[t.CB_CHUNK_COMPLETE=20]="CB_CHUNK_COMPLETE",t[t.PAUSED=21]="PAUSED",t[t.PAUSED_UPGRADE=22]="PAUSED_UPGRADE",t[t.PAUSED_H2_UPGRADE=23]="PAUSED_H2_UPGRADE",t[t.USER=24]="USER"})(NT=L.ERROR||(L.ERROR={}));var FT;(function(t){t[t.BOTH=0]="BOTH",t[t.REQUEST=1]="REQUEST",t[t.RESPONSE=2]="RESPONSE"})(FT=L.TYPE||(L.TYPE={}));var UT;(function(t){t[t.CONNECTION_KEEP_ALIVE=1]="CONNECTION_KEEP_ALIVE",t[t.CONNECTION_CLOSE=2]="CONNECTION_CLOSE",t[t.CONNECTION_UPGRADE=4]="CONNECTION_UPGRADE",t[t.CHUNKED=8]="CHUNKED",t[t.UPGRADE=16]="UPGRADE",t[t.CONTENT_LENGTH=32]="CONTENT_LENGTH",t[t.SKIPBODY=64]="SKIPBODY",t[t.TRAILING=128]="TRAILING",t[t.TRANSFER_ENCODING=512]="TRANSFER_ENCODING"})(UT=L.FLAGS||(L.FLAGS={}));var MT;(function(t){t[t.HEADERS=1]="HEADERS",t[t.CHUNKED_LENGTH=2]="CHUNKED_LENGTH",t[t.KEEP_ALIVE=4]="KEEP_ALIVE"})(MT=L.LENIENT_FLAGS||(L.LENIENT_FLAGS={}));var j;(function(t){t[t.DELETE=0]="DELETE",t[t.GET=1]="GET",t[t.HEAD=2]="HEAD",t[t.POST=3]="POST",t[t.PUT=4]="PUT",t[t.CONNECT=5]="CONNECT",t[t.OPTIONS=6]="OPTIONS",t[t.TRACE=7]="TRACE",t[t.COPY=8]="COPY",t[t.LOCK=9]="LOCK",t[t.MKCOL=10]="MKCOL",t[t.MOVE=11]="MOVE",t[t.PROPFIND=12]="PROPFIND",t[t.PROPPATCH=13]="PROPPATCH",t[t.SEARCH=14]="SEARCH",t[t.UNLOCK=15]="UNLOCK",t[t.BIND=16]="BIND",t[t.REBIND=17]="REBIND",t[t.UNBIND=18]="UNBIND",t[t.ACL=19]="ACL",t[t.REPORT=20]="REPORT",t[t.MKACTIVITY=21]="MKACTIVITY",t[t.CHECKOUT=22]="CHECKOUT",t[t.MERGE=23]="MERGE",t[t["M-SEARCH"]=24]="M-SEARCH",t[t.NOTIFY=25]="NOTIFY",t[t.SUBSCRIBE=26]="SUBSCRIBE",t[t.UNSUBSCRIBE=27]="UNSUBSCRIBE",t[t.PATCH=28]="PATCH",t[t.PURGE=29]="PURGE",t[t.MKCALENDAR=30]="MKCALENDAR",t[t.LINK=31]="LINK",t[t.UNLINK=32]="UNLINK",t[t.SOURCE=33]="SOURCE",t[t.PRI=34]="PRI",t[t.DESCRIBE=35]="DESCRIBE",t[t.ANNOUNCE=36]="ANNOUNCE",t[t.SETUP=37]="SETUP",t[t.PLAY=38]="PLAY",t[t.PAUSE=39]="PAUSE",t[t.TEARDOWN=40]="TEARDOWN",t[t.GET_PARAMETER=41]="GET_PARAMETER",t[t.SET_PARAMETER=42]="SET_PARAMETER",t[t.REDIRECT=43]="REDIRECT",t[t.RECORD=44]="RECORD",t[t.FLUSH=45]="FLUSH"})(j=L.METHODS||(L.METHODS={}));L.METHODS_HTTP=[j.DELETE,j.GET,j.HEAD,j.POST,j.PUT,j.CONNECT,j.OPTIONS,j.TRACE,j.COPY,j.LOCK,j.MKCOL,j.MOVE,j.PROPFIND,j.PROPPATCH,j.SEARCH,j.UNLOCK,j.BIND,j.REBIND,j.UNBIND,j.ACL,j.REPORT,j.MKACTIVITY,j.CHECKOUT,j.MERGE,j["M-SEARCH"],j.NOTIFY,j.SUBSCRIBE,j.UNSUBSCRIBE,j.PATCH,j.PURGE,j.MKCALENDAR,j.LINK,j.UNLINK,j.PRI,j.SOURCE];L.METHODS_ICE=[j.SOURCE];L.METHODS_RTSP=[j.OPTIONS,j.DESCRIBE,j.ANNOUNCE,j.SETUP,j.PLAY,j.PAUSE,j.TEARDOWN,j.GET_PARAMETER,j.SET_PARAMETER,j.REDIRECT,j.RECORD,j.FLUSH,j.GET,j.POST];L.METHOD_MAP=TT.enumToMap(j);L.H_METHOD_MAP={};Object.keys(L.METHOD_MAP).forEach(t=>{/^H/.test(t)&&(L.H_METHOD_MAP[t]=L.METHOD_MAP[t])});var LT;(function(t){t[t.SAFE=0]="SAFE",t[t.SAFE_WITH_CB=1]="SAFE_WITH_CB",t[t.UNSAFE=2]="UNSAFE"})(LT=L.FINISH||(L.FINISH={}));L.ALPHA=[];for(let t=65;t<=90;t++)L.ALPHA.push(String.fromCharCode(t)),L.ALPHA.push(String.fromCharCode(t+32));L.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};L.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};L.NUM=["0","1","2","3","4","5","6","7","8","9"];L.ALPHANUM=L.ALPHA.concat(L.NUM);L.MARK=["-","_",".","!","~","*","'","(",")"];L.USERINFO_CHARS=L.ALPHANUM.concat(L.MARK).concat(["%",";",":","&","=","+","$",","]);L.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(L.ALPHANUM);L.URL_CHAR=L.STRICT_URL_CHAR.concat([" ","\f"]);for(let t=128;t<=255;t++)L.URL_CHAR.push(t);L.HEX=L.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);L.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(L.ALPHANUM);L.TOKEN=L.STRICT_TOKEN.concat([" "]);L.HEADER_CHARS=[" "];for(let t=32;t<=255;t++)t!==127&&L.HEADER_CHARS.push(t);L.CONNECTION_TOKEN_CHARS=L.HEADER_CHARS.filter(t=>t!==44);L.MAJOR=L.NUM_MAP;L.MINOR=L.MAJOR;var ui;(function(t){t[t.GENERAL=0]="GENERAL",t[t.CONNECTION=1]="CONNECTION",t[t.CONTENT_LENGTH=2]="CONTENT_LENGTH",t[t.TRANSFER_ENCODING=3]="TRANSFER_ENCODING",t[t.UPGRADE=4]="UPGRADE",t[t.CONNECTION_KEEP_ALIVE=5]="CONNECTION_KEEP_ALIVE",t[t.CONNECTION_CLOSE=6]="CONNECTION_CLOSE",t[t.CONNECTION_UPGRADE=7]="CONNECTION_UPGRADE",t[t.TRANSFER_ENCODING_CHUNKED=8]="TRANSFER_ENCODING_CHUNKED"})(ui=L.HEADER_STATE||(L.HEADER_STATE={}));L.SPECIAL_HEADERS={connection:ui.CONNECTION,"content-length":ui.CONTENT_LENGTH,"proxy-connection":ui.CONNECTION,"transfer-encoding":ui.TRANSFER_ENCODING,upgrade:ui.UPGRADE}});var qd=T((NK,ZC)=>{"use strict";var{Buffer:_T}=require("node:buffer");ZC.exports=_T.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv","base64")});var XC=T((FK,KC)=>{"use strict";var{Buffer:PT}=require("node:buffer");KC.exports=PT.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==","base64")});var _o=T((UK,aI)=>{"use strict";var eI=["GET","HEAD","POST"],OT=new Set(eI),GT=[101,204,205,304],tI=[301,302,303,307,308],$T=new Set(tI),nI=["1","7","9","11","13","15","17","19","20","21","22","23","25","37","42","43","53","69","77","79","87","95","101","102","103","104","109","110","111","113","115","117","119","123","135","137","139","143","161","179","389","427","465","512","513","514","515","526","530","531","532","540","548","554","556","563","587","601","636","989","990","993","995","1719","1720","1723","2049","3659","4045","4190","5060","5061","6000","6566","6665","6666","6667","6668","6669","6679","6697","10080"],YT=new Set(nI),rI=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],VT=new Set(rI),HT=["follow","manual","error"],sI=["GET","HEAD","OPTIONS","TRACE"],JT=new Set(sI),qT=["navigate","same-origin","no-cors","cors"],jT=["omit","same-origin","include"],WT=["default","no-store","reload","no-cache","force-cache","only-if-cached"],zT=["content-encoding","content-language","content-location","content-type","content-length"],ZT=["half"],iI=["CONNECT","TRACE","TRACK"],KT=new Set(iI),oI=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],XT=new Set(oI);aI.exports={subresource:oI,forbiddenMethods:iI,requestBodyHeader:zT,referrerPolicy:rI,requestRedirect:HT,requestMode:qT,requestCredentials:jT,requestCache:WT,redirectStatus:tI,corsSafeListedMethods:eI,nullBodyStatus:GT,safeMethods:sI,badPorts:nI,requestDuplex:ZT,subresourceSet:XT,badPortsSet:YT,redirectStatusSet:$T,corsSafeListedMethodsSet:OT,safeMethodsSet:JT,forbiddenMethodsSet:KT,referrerPolicySet:VT}});var Wd=T((MK,AI)=>{"use strict";var jd=Symbol.for("undici.globalOrigin.1");function eN(){return globalThis[jd]}o(eN,"getGlobalOrigin");function tN(t){if(t===void 0){Object.defineProperty(globalThis,jd,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let e=new URL(t);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${e.protocol}`);Object.defineProperty(globalThis,jd,{value:e,writable:!0,enumerable:!1,configurable:!1})}o(tN,"setGlobalOrigin");AI.exports={getGlobalOrigin:eN,setGlobalOrigin:tN}});var gt=T((_K,pI)=>{"use strict";var HA=require("node:assert"),nN=new TextEncoder,Po=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/,rN=/[\u000A\u000D\u0009\u0020]/,sN=/[\u0009\u000A\u000C\u000D\u0020]/g,iN=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function oN(t){HA(t.protocol==="data:");let e=lI(t,!0);e=e.slice(5);let n={position:0},r=li(",",e,n),s=r.length;if(r=dN(r,!0,!0),n.position>=e.length)return"failure";n.position++;let i=e.slice(s+1),a=dI(i);if(/;(\u0020){0,}base64$/i.test(r)){let l=hI(a);if(a=AN(l),a==="failure")return"failure";r=r.slice(0,-6),r=r.replace(/(\u0020)+$/,""),r=r.slice(0,-1)}r.startsWith(";")&&(r="text/plain"+r);let c=zd(r);return c==="failure"&&(c=zd("text/plain;charset=US-ASCII")),{mimeType:c,body:a}}o(oN,"dataURLProcessor");function lI(t,e=!1){if(!e)return t.href;let n=t.href,r=t.hash.length,s=r===0?n:n.substring(0,n.length-r);return!r&&n.endsWith("#")?s.slice(0,-1):s}o(lI,"URLSerializer");function JA(t,e,n){let r="";for(;n.position<e.length&&t(e[n.position]);)r+=e[n.position],n.position++;return r}o(JA,"collectASequenceOfCodePoints");function li(t,e,n){let r=e.indexOf(t,n.position),s=n.position;return r===-1?(n.position=e.length,e.slice(s)):(n.position=r,e.slice(s,n.position))}o(li,"collectASequenceOfCodePointsFast");function dI(t){let e=nN.encode(t);return aN(e)}o(dI,"stringPercentDecode");function cI(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}o(cI,"isHexCharByte");function uI(t){return t>=48&&t<=57?t-48:(t&223)-55}o(uI,"hexByteToNumber");function aN(t){let e=t.length,n=new Uint8Array(e),r=0;for(let s=0;s<e;++s){let i=t[s];i!==37?n[r++]=i:i===37&&!(cI(t[s+1])&&cI(t[s+2]))?n[r++]=37:(n[r++]=uI(t[s+1])<<4|uI(t[s+2]),s+=2)}return e===r?n:n.subarray(0,r)}o(aN,"percentDecode");function zd(t){t=VA(t,!0,!0);let e={position:0},n=li("/",t,e);if(n.length===0||!Po.test(n)||e.position>t.length)return"failure";e.position++;let r=li(";",t,e);if(r=VA(r,!1,!0),r.length===0||!Po.test(r))return"failure";let s=n.toLowerCase(),i=r.toLowerCase(),a={type:s,subtype:i,parameters:new Map,essence:`${s}/${i}`};for(;e.position<t.length;){e.position++,JA(d=>rN.test(d),t,e);let c=JA(d=>d!==";"&&d!=="=",t,e);if(c=c.toLowerCase(),e.position<t.length){if(t[e.position]===";")continue;e.position++}if(e.position>t.length)break;let l=null;if(t[e.position]==='"')l=gI(t,e,!0),li(";",t,e);else if(l=li(";",t,e),l=VA(l,!1,!0),l.length===0)continue;c.length!==0&&Po.test(c)&&(l.length===0||iN.test(l))&&!a.parameters.has(c)&&a.parameters.set(c,l)}return a}o(zd,"parseMIMEType");function AN(t){t=t.replace(sN,"");let e=t.length;if(e%4===0&&t.charCodeAt(e-1)===61&&(--e,t.charCodeAt(e-1)===61&&--e),e%4===1||/[^+/0-9A-Za-z]/.test(t.length===e?t:t.substring(0,e)))return"failure";let n=Buffer.from(t,"base64");return new Uint8Array(n.buffer,n.byteOffset,n.byteLength)}o(AN,"forgivingBase64");function gI(t,e,n){let r=e.position,s="";for(HA(t[e.position]==='"'),e.position++;s+=JA(a=>a!=='"'&&a!=="\\",t,e),!(e.position>=t.length);){let i=t[e.position];if(e.position++,i==="\\"){if(e.position>=t.length){s+="\\";break}s+=t[e.position],e.position++}else{HA(i==='"');break}}return n?s:t.slice(r,e.position)}o(gI,"collectAnHTTPQuotedString");function cN(t){HA(t!=="failure");let{parameters:e,essence:n}=t,r=n;for(let[s,i]of e.entries())r+=";",r+=s,r+="=",Po.test(i)||(i=i.replace(/(\\|")/g,"\\$1"),i='"'+i,i+='"'),r+=i;return r}o(cN,"serializeAMimeType");function uN(t){return t===13||t===10||t===9||t===32}o(uN,"isHTTPWhiteSpace");function VA(t,e=!0,n=!0){return Zd(t,e,n,uN)}o(VA,"removeHTTPWhitespace");function lN(t){return t===13||t===10||t===9||t===12||t===32}o(lN,"isASCIIWhitespace");function dN(t,e=!0,n=!0){return Zd(t,e,n,lN)}o(dN,"removeASCIIWhitespace");function Zd(t,e,n,r){let s=0,i=t.length-1;if(e)for(;s<t.length&&r(t.charCodeAt(s));)s++;if(n)for(;i>0&&r(t.charCodeAt(i));)i--;return s===0&&i===t.length-1?t:t.slice(s,i+1)}o(Zd,"removeChars");function hI(t){let e=t.length;if(65535>e)return String.fromCharCode.apply(null,t);let n="",r=0,s=65535;for(;r<e;)r+s>e&&(s=e-r),n+=String.fromCharCode.apply(null,t.subarray(r,r+=s));return n}o(hI,"isomorphicDecode");function gN(t){switch(t.essence){case"application/ecmascript":case"application/javascript":case"application/x-ecmascript":case"application/x-javascript":case"text/ecmascript":case"text/javascript":case"text/javascript1.0":case"text/javascript1.1":case"text/javascript1.2":case"text/javascript1.3":case"text/javascript1.4":case"text/javascript1.5":case"text/jscript":case"text/livescript":case"text/x-ecmascript":case"text/x-javascript":return"text/javascript";case"application/json":case"text/json":return"application/json";case"image/svg+xml":return"image/svg+xml";case"text/xml":case"application/xml":return"application/xml"}return t.subtype.endsWith("+json")?"application/json":t.subtype.endsWith("+xml")?"application/xml":""}o(gN,"minimizeSupportedMimeType");pI.exports={dataURLProcessor:oN,URLSerializer:lI,collectASequenceOfCodePoints:JA,collectASequenceOfCodePointsFast:li,stringPercentDecode:dI,parseMIMEType:zd,collectAnHTTPQuotedString:gI,serializeAMimeType:cN,removeChars:Zd,removeHTTPWhitespace:VA,minimizeSupportedMimeType:gN,HTTP_TOKEN_CODEPOINTS:Po,isomorphicDecode:hI}});var je=T((OK,fI)=>{"use strict";var{types:dn,inspect:hN}=require("node:util"),{markAsUncloneable:pN}=require("node:worker_threads"),{toUSVString:fN}=ue(),U={};U.converters={};U.util={};U.errors={};U.errors.exception=function(t){return new TypeError(`${t.header}: ${t.message}`)};U.errors.conversionFailed=function(t){let e=t.types.length===1?"":" one of",n=`${t.argument} could not be converted to${e}: ${t.types.join(", ")}.`;return U.errors.exception({header:t.prefix,message:n})};U.errors.invalidArgument=function(t){return U.errors.exception({header:t.prefix,message:`"${t.value}" is an invalid ${t.type}.`})};U.brandCheck=function(t,e,n){if(n?.strict!==!1){if(!(t instanceof e)){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}}else if(t?.[Symbol.toStringTag]!==e.prototype[Symbol.toStringTag]){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}};U.argumentLengthCheck=function({length:t},e,n){if(t<e)throw U.errors.exception({message:`${e} argument${e!==1?"s":""} required, but${t?" only":""} ${t} found.`,header:n})};U.illegalConstructor=function(){throw U.errors.exception({header:"TypeError",message:"Illegal constructor"})};U.util.Type=function(t){switch(typeof t){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":return t===null?"Null":"Object"}};U.util.markAsUncloneable=pN||(()=>{});U.util.ConvertToInt=function(t,e,n,r){let s,i;e===64?(s=Math.pow(2,53)-1,n==="unsigned"?i=0:i=Math.pow(-2,53)+1):n==="unsigned"?(i=0,s=Math.pow(2,e)-1):(i=Math.pow(-2,e)-1,s=Math.pow(2,e-1)-1);let a=Number(t);if(a===0&&(a=0),r?.enforceRange===!0){if(Number.isNaN(a)||a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY)throw U.errors.exception({header:"Integer conversion",message:`Could not convert ${U.util.Stringify(t)} to an integer.`});if(a=U.util.IntegerPart(a),a<i||a>s)throw U.errors.exception({header:"Integer conversion",message:`Value must be between ${i}-${s}, got ${a}.`});return a}return!Number.isNaN(a)&&r?.clamp===!0?(a=Math.min(Math.max(a,i),s),Math.floor(a)%2===0?a=Math.floor(a):a=Math.ceil(a),a):Number.isNaN(a)||a===0&&Object.is(0,a)||a===Number.POSITIVE_INFINITY||a===Number.NEGATIVE_INFINITY?0:(a=U.util.IntegerPart(a),a=a%Math.pow(2,e),n==="signed"&&a>=Math.pow(2,e)-1?a-Math.pow(2,e):a)};U.util.IntegerPart=function(t){let e=Math.floor(Math.abs(t));return t<0?-1*e:e};U.util.Stringify=function(t){switch(U.util.Type(t)){case"Symbol":return`Symbol(${t.description})`;case"Object":return hN(t);case"String":return`"${t}"`;default:return`${t}`}};U.sequenceConverter=function(t){return(e,n,r,s)=>{if(U.util.Type(e)!=="Object")throw U.errors.exception({header:n,message:`${r} (${U.util.Stringify(e)}) is not iterable.`});let i=typeof s=="function"?s():e?.[Symbol.iterator]?.(),a=[],c=0;if(i===void 0||typeof i.next!="function")throw U.errors.exception({header:n,message:`${r} is not iterable.`});for(;;){let{done:l,value:d}=i.next();if(l)break;a.push(t(d,n,`${r}[${c++}]`))}return a}};U.recordConverter=function(t,e){return(n,r,s)=>{if(U.util.Type(n)!=="Object")throw U.errors.exception({header:r,message:`${s} ("${U.util.Type(n)}") is not an Object.`});let i={};if(!dn.isProxy(n)){let c=[...Object.getOwnPropertyNames(n),...Object.getOwnPropertySymbols(n)];for(let l of c){let d=t(l,r,s),g=e(n[l],r,s);i[d]=g}return i}let a=Reflect.ownKeys(n);for(let c of a)if(Reflect.getOwnPropertyDescriptor(n,c)?.enumerable){let d=t(c,r,s),g=e(n[c],r,s);i[d]=g}return i}};U.interfaceConverter=function(t){return(e,n,r,s)=>{if(s?.strict!==!1&&!(e instanceof t))throw U.errors.exception({header:n,message:`Expected ${r} ("${U.util.Stringify(e)}") to be an instance of ${t.name}.`});return e}};U.dictionaryConverter=function(t){return(e,n,r)=>{let s=U.util.Type(e),i={};if(s==="Null"||s==="Undefined")return i;if(s!=="Object")throw U.errors.exception({header:n,message:`Expected ${e} to be one of: Null, Undefined, Object.`});for(let a of t){let{key:c,defaultValue:l,required:d,converter:g}=a;if(d===!0&&!Object.hasOwn(e,c))throw U.errors.exception({header:n,message:`Missing required key "${c}".`});let h=e[c],f=Object.hasOwn(a,"defaultValue");if(f&&h!==null&&(h??=l()),d||f||h!==void 0){if(h=g(h,n,`${r}.${c}`),a.allowedValues&&!a.allowedValues.includes(h))throw U.errors.exception({header:n,message:`${h} is not an accepted type. Expected one of ${a.allowedValues.join(", ")}.`});i[c]=h}}return i}};U.nullableConverter=function(t){return(e,n,r)=>e===null?e:t(e,n,r)};U.converters.DOMString=function(t,e,n,r){if(t===null&&r?.legacyNullToEmptyString)return"";if(typeof t=="symbol")throw U.errors.exception({header:e,message:`${n} is a symbol, which cannot be converted to a DOMString.`});return String(t)};U.converters.ByteString=function(t,e,n){let r=U.converters.DOMString(t,e,n);for(let s=0;s<r.length;s++)if(r.charCodeAt(s)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${s} has a value of ${r.charCodeAt(s)} which is greater than 255.`);return r};U.converters.USVString=fN;U.converters.boolean=function(t){return!!t};U.converters.any=function(t){return t};U.converters["long long"]=function(t,e,n){return U.util.ConvertToInt(t,64,"signed",void 0,e,n)};U.converters["unsigned long long"]=function(t,e,n){return U.util.ConvertToInt(t,64,"unsigned",void 0,e,n)};U.converters["unsigned long"]=function(t,e,n){return U.util.ConvertToInt(t,32,"unsigned",void 0,e,n)};U.converters["unsigned short"]=function(t,e,n,r){return U.util.ConvertToInt(t,16,"unsigned",r,e,n)};U.converters.ArrayBuffer=function(t,e,n,r){if(U.util.Type(t)!=="Object"||!dn.isAnyArrayBuffer(t))throw U.errors.conversionFailed({prefix:e,argument:`${n} ("${U.util.Stringify(t)}")`,types:["ArrayBuffer"]});if(r?.allowShared===!1&&dn.isSharedArrayBuffer(t))throw U.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(t.resizable||t.growable)throw U.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return t};U.converters.TypedArray=function(t,e,n,r,s){if(U.util.Type(t)!=="Object"||!dn.isTypedArray(t)||t.constructor.name!==e.name)throw U.errors.conversionFailed({prefix:n,argument:`${r} ("${U.util.Stringify(t)}")`,types:[e.name]});if(s?.allowShared===!1&&dn.isSharedArrayBuffer(t.buffer))throw U.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(t.buffer.resizable||t.buffer.growable)throw U.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return t};U.converters.DataView=function(t,e,n,r){if(U.util.Type(t)!=="Object"||!dn.isDataView(t))throw U.errors.exception({header:e,message:`${n} is not a DataView.`});if(r?.allowShared===!1&&dn.isSharedArrayBuffer(t.buffer))throw U.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(t.buffer.resizable||t.buffer.growable)throw U.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return t};U.converters.BufferSource=function(t,e,n,r){if(dn.isAnyArrayBuffer(t))return U.converters.ArrayBuffer(t,e,n,{...r,allowShared:!1});if(dn.isTypedArray(t))return U.converters.TypedArray(t,t.constructor,e,n,{...r,allowShared:!1});if(dn.isDataView(t))return U.converters.DataView(t,e,n,{...r,allowShared:!1});throw U.errors.conversionFailed({prefix:e,argument:`${n} ("${U.util.Stringify(t)}")`,types:["BufferSource"]})};U.converters["sequence<ByteString>"]=U.sequenceConverter(U.converters.ByteString);U.converters["sequence<sequence<ByteString>>"]=U.sequenceConverter(U.converters["sequence<ByteString>"]);U.converters["record<ByteString, ByteString>"]=U.recordConverter(U.converters.ByteString,U.converters.ByteString);fI.exports={webidl:U}});var Qt=T((GK,xI)=>{"use strict";var{Transform:mN}=require("node:stream"),mI=require("node:zlib"),{redirectStatusSet:EN,referrerPolicySet:CN,badPortsSet:IN}=_o(),{getGlobalOrigin:EI}=Wd(),{collectASequenceOfCodePoints:rs,collectAnHTTPQuotedString:yN,removeChars:QN,parseMIMEType:BN}=gt(),{performance:wN}=require("node:perf_hooks"),{isBlobLike:bN,ReadableStreamFrom:RN,isValidHTTPToken:CI,normalizedMethodRecordsBase:kN}=ue(),ss=require("node:assert"),{isUint8Array:SN}=require("node:util/types"),{webidl:Oo}=je(),II=[],jA;try{jA=require("node:crypto");let t=["sha256","sha384","sha512"];II=jA.getHashes().filter(e=>t.includes(e))}catch{}function yI(t){let e=t.urlList,n=e.length;return n===0?null:e[n-1].toString()}o(yI,"responseURL");function vN(t,e){if(!EN.has(t.status))return null;let n=t.headersList.get("location",!0);return n!==null&&BI(n)&&(QI(n)||(n=xN(n)),n=new URL(n,yI(t))),n&&!n.hash&&(n.hash=e),n}o(vN,"responseLocationURL");function QI(t){for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(n>126||n<32)return!1}return!0}o(QI,"isValidEncodedURL");function xN(t){return Buffer.from(t,"binary").toString("utf8")}o(xN,"normalizeBinaryStringToUtf8");function $o(t){return t.urlList[t.urlList.length-1]}o($o,"requestCurrentURL");function DN(t){let e=$o(t);return SI(e)&&IN.has(e.port)?"blocked":"allowed"}o(DN,"requestBadPort");function TN(t){return t instanceof Error||t?.constructor?.name==="Error"||t?.constructor?.name==="DOMException"}o(TN,"isErrorLike");function NN(t){for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(!(n===9||n>=32&&n<=126||n>=128&&n<=255))return!1}return!0}o(NN,"isValidReasonPhrase");var FN=CI;function BI(t){return(t[0]===" "||t[0]===" "||t[t.length-1]===" "||t[t.length-1]===" "||t.includes(`
|
|
3
|
+
`)||t.includes("\r")||t.includes("\0"))===!1}o(BI,"isValidHeaderValue");function UN(t,e){let{headersList:n}=e,r=(n.get("referrer-policy",!0)??"").split(","),s="";if(r.length>0)for(let i=r.length;i!==0;i--){let a=r[i-1].trim();if(CN.has(a)){s=a;break}}s!==""&&(t.referrerPolicy=s)}o(UN,"setRequestReferrerPolicyOnRedirect");function MN(){return"allowed"}o(MN,"crossOriginResourcePolicyCheck");function LN(){return"success"}o(LN,"corsCheck");function _N(){return"success"}o(_N,"TAOCheck");function PN(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}o(PN,"appendFetchMetadata");function ON(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&Xd(t.origin)&&!Xd($o(t))&&(e=null);break;case"same-origin":WA(t,$o(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}o(ON,"appendRequestOriginHeader");function di(t,e){return t}o(di,"coarsenTime");function GN(t,e,n){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:di(t.domainLookupStartTime,n),domainLookupEndTime:di(t.domainLookupEndTime,n),connectionStartTime:di(t.connectionStartTime,n),connectionEndTime:di(t.connectionEndTime,n),secureConnectionStartTime:di(t.secureConnectionStartTime,n),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}o(GN,"clampAndCoarsenConnectionTimingInfo");function $N(t){return di(wN.now(),t)}o($N,"coarsenedSharedCurrentTime");function YN(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}o(YN,"createOpaqueTimingInfo");function wI(){return{referrerPolicy:"strict-origin-when-cross-origin"}}o(wI,"makePolicyContainer");function VN(t){return{referrerPolicy:t.referrerPolicy}}o(VN,"clonePolicyContainer");function HN(t){let e=t.referrerPolicy;ss(e);let n=null;if(t.referrer==="client"){let c=EI();if(!c||c.origin==="null")return"no-referrer";n=new URL(c)}else t.referrer instanceof URL&&(n=t.referrer);let r=Kd(n),s=Kd(n,!0);r.toString().length>4096&&(r=s);let i=WA(t,r),a=Go(r)&&!Go(t.url);switch(e){case"origin":return s??Kd(n,!0);case"unsafe-url":return r;case"same-origin":return i?s:"no-referrer";case"origin-when-cross-origin":return i?r:s;case"strict-origin-when-cross-origin":{let c=$o(t);return WA(r,c)?r:Go(r)&&!Go(c)?"no-referrer":s}default:return a?"no-referrer":s}}o(HN,"determineRequestsReferrer");function Kd(t,e){return ss(t instanceof URL),t=new URL(t),t.protocol==="file:"||t.protocol==="about:"||t.protocol==="blank:"?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}o(Kd,"stripURLForReferrer");function Go(t){if(!(t instanceof URL))return!1;if(t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="file:")return!0;return e(t.origin);function e(n){if(n==null||n==="null")return!1;let r=new URL(n);return!!(r.protocol==="https:"||r.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(r.hostname)||r.hostname==="localhost"||r.hostname.includes("localhost.")||r.hostname.endsWith(".localhost"))}}o(Go,"isURLPotentiallyTrustworthy");function JN(t,e){if(jA===void 0)return!0;let n=bI(e);if(n==="no metadata"||n.length===0)return!0;let r=jN(n),s=WN(n,r);for(let i of s){let a=i.algo,c=i.hash,l=jA.createHash(a).update(t).digest("base64");if(l[l.length-1]==="="&&(l[l.length-2]==="="?l=l.slice(0,-2):l=l.slice(0,-1)),zN(l,c))return!0}return!1}o(JN,"bytesMatch");var qN=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function bI(t){let e=[],n=!0;for(let r of t.split(" ")){n=!1;let s=qN.exec(r);if(s===null||s.groups===void 0||s.groups.algo===void 0)continue;let i=s.groups.algo.toLowerCase();II.includes(i)&&e.push(s.groups)}return n===!0?"no metadata":e}o(bI,"parseMetadata");function jN(t){let e=t[0].algo;if(e[3]==="5")return e;for(let n=1;n<t.length;++n){let r=t[n];if(r.algo[3]==="5"){e="sha512";break}else{if(e[3]==="3")continue;r.algo[3]==="3"&&(e="sha384")}}return e}o(jN,"getStrongestMetadata");function WN(t,e){if(t.length===1)return t;let n=0;for(let r=0;r<t.length;++r)t[r].algo===e&&(t[n++]=t[r]);return t.length=n,t}o(WN,"filterMetadataListByAlgorithm");function zN(t,e){if(t.length!==e.length)return!1;for(let n=0;n<t.length;++n)if(t[n]!==e[n]){if(t[n]==="+"&&e[n]==="-"||t[n]==="/"&&e[n]==="_")continue;return!1}return!0}o(zN,"compareBase64Mixed");function ZN(t){}o(ZN,"tryUpgradeRequestToAPotentiallyTrustworthyURL");function WA(t,e){return t.origin===e.origin&&t.origin==="null"||t.protocol===e.protocol&&t.hostname===e.hostname&&t.port===e.port}o(WA,"sameOrigin");function KN(){let t,e;return{promise:new Promise((r,s)=>{t=r,e=s}),resolve:t,reject:e}}o(KN,"createDeferredPromise");function XN(t){return t.controller.state==="aborted"}o(XN,"isAborted");function eF(t){return t.controller.state==="aborted"||t.controller.state==="terminated"}o(eF,"isCancelled");function tF(t){return kN[t.toLowerCase()]??t}o(tF,"normalizeMethod");function nF(t){let e=JSON.stringify(t);if(e===void 0)throw new TypeError("Value is not JSON serializable");return ss(typeof e=="string"),e}o(nF,"serializeJavascriptValueToJSONString");var rF=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function RI(t,e,n=0,r=1){class s{static{o(this,"FastIterableIterator")}#e;#t;#n;constructor(a,c){this.#e=a,this.#t=c,this.#n=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${t} Iterator.`);let a=this.#n,c=this.#e[e],l=c.length;if(a>=l)return{value:void 0,done:!0};let{[n]:d,[r]:g}=c[a];this.#n=a+1;let h;switch(this.#t){case"key":h=d;break;case"value":h=g;break;case"key+value":h=[d,g];break}return{value:h,done:!1}}}return delete s.prototype.constructor,Object.setPrototypeOf(s.prototype,rF),Object.defineProperties(s.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${t} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(i,a){return new s(i,a)}}o(RI,"createIterator");function sF(t,e,n,r=0,s=1){let i=RI(t,n,r,s),a={keys:{writable:!0,enumerable:!0,configurable:!0,value:o(function(){return Oo.brandCheck(this,e),i(this,"key")},"keys")},values:{writable:!0,enumerable:!0,configurable:!0,value:o(function(){return Oo.brandCheck(this,e),i(this,"value")},"values")},entries:{writable:!0,enumerable:!0,configurable:!0,value:o(function(){return Oo.brandCheck(this,e),i(this,"key+value")},"entries")},forEach:{writable:!0,enumerable:!0,configurable:!0,value:o(function(l,d=globalThis){if(Oo.brandCheck(this,e),Oo.argumentLengthCheck(arguments,1,`${t}.forEach`),typeof l!="function")throw new TypeError(`Failed to execute 'forEach' on '${t}': parameter 1 is not of type 'Function'.`);for(let{0:g,1:h}of i(this,"key+value"))l.call(d,h,g,this)},"forEach")}};return Object.defineProperties(e.prototype,{...a,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:a.entries.value}})}o(sF,"iteratorMixin");async function iF(t,e,n){let r=e,s=n,i;try{i=t.stream.getReader()}catch(a){s(a);return}try{r(await kI(i))}catch(a){s(a)}}o(iF,"fullyReadBody");function oF(t){return t instanceof ReadableStream||t[Symbol.toStringTag]==="ReadableStream"&&typeof t.tee=="function"}o(oF,"isReadableStreamLike");function aF(t){try{t.close(),t.byobRequest?.respond(0)}catch(e){if(!e.message.includes("Controller is already closed")&&!e.message.includes("ReadableStream is already closed"))throw e}}o(aF,"readableStreamClose");var AF=/[^\x00-\xFF]/;function qA(t){return ss(!AF.test(t)),t}o(qA,"isomorphicEncode");async function kI(t){let e=[],n=0;for(;;){let{done:r,value:s}=await t.read();if(r)return Buffer.concat(e,n);if(!SN(s))throw new TypeError("Received non-Uint8Array chunk");e.push(s),n+=s.length}}o(kI,"readAllBytes");function cF(t){ss("protocol"in t);let e=t.protocol;return e==="about:"||e==="blob:"||e==="data:"}o(cF,"urlIsLocal");function Xd(t){return typeof t=="string"&&t[5]===":"&&t[0]==="h"&&t[1]==="t"&&t[2]==="t"&&t[3]==="p"&&t[4]==="s"||t.protocol==="https:"}o(Xd,"urlHasHttpsScheme");function SI(t){ss("protocol"in t);let e=t.protocol;return e==="http:"||e==="https:"}o(SI,"urlIsHttpHttpsScheme");function uF(t,e){let n=t;if(!n.startsWith("bytes"))return"failure";let r={position:5};if(e&&rs(l=>l===" "||l===" ",n,r),n.charCodeAt(r.position)!==61)return"failure";r.position++,e&&rs(l=>l===" "||l===" ",n,r);let s=rs(l=>{let d=l.charCodeAt(0);return d>=48&&d<=57},n,r),i=s.length?Number(s):null;if(e&&rs(l=>l===" "||l===" ",n,r),n.charCodeAt(r.position)!==45)return"failure";r.position++,e&&rs(l=>l===" "||l===" ",n,r);let a=rs(l=>{let d=l.charCodeAt(0);return d>=48&&d<=57},n,r),c=a.length?Number(a):null;return r.position<n.length||c===null&&i===null||i>c?"failure":{rangeStartValue:i,rangeEndValue:c}}o(uF,"simpleRangeHeaderValue");function lF(t,e,n){let r="bytes ";return r+=qA(`${t}`),r+="-",r+=qA(`${e}`),r+="/",r+=qA(`${n}`),r}o(lF,"buildContentRange");var eg=class extends mN{static{o(this,"InflateStream")}#e;constructor(e){super(),this.#e=e}_transform(e,n,r){if(!this._inflateStream){if(e.length===0){r();return}this._inflateStream=(e[0]&15)===8?mI.createInflate(this.#e):mI.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",s=>this.destroy(s))}this._inflateStream.write(e,n,r)}_final(e){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),e()}};function dF(t){return new eg(t)}o(dF,"createInflate");function gF(t){let e=null,n=null,r=null,s=vI("content-type",t);if(s===null)return"failure";for(let i of s){let a=BN(i);a==="failure"||a.essence==="*/*"||(r=a,r.essence!==n?(e=null,r.parameters.has("charset")&&(e=r.parameters.get("charset")),n=r.essence):!r.parameters.has("charset")&&e!==null&&r.parameters.set("charset",e))}return r??"failure"}o(gF,"extractMimeType");function hF(t){let e=t,n={position:0},r=[],s="";for(;n.position<e.length;){if(s+=rs(i=>i!=='"'&&i!==",",e,n),n.position<e.length)if(e.charCodeAt(n.position)===34){if(s+=yN(e,n),n.position<e.length)continue}else ss(e.charCodeAt(n.position)===44),n.position++;s=QN(s,!0,!0,i=>i===9||i===32),r.push(s),s=""}return r}o(hF,"gettingDecodingSplitting");function vI(t,e){let n=e.get(t,!0);return n===null?null:hF(n)}o(vI,"getDecodeSplit");var pF=new TextDecoder;function fF(t){return t.length===0?"":(t[0]===239&&t[1]===187&&t[2]===191&&(t=t.subarray(3)),pF.decode(t))}o(fF,"utf8DecodeBytes");var tg=class{static{o(this,"EnvironmentSettingsObjectBase")}get baseUrl(){return EI()}get origin(){return this.baseUrl?.origin}policyContainer=wI()},ng=class{static{o(this,"EnvironmentSettingsObject")}settingsObject=new tg},mF=new ng;xI.exports={isAborted:XN,isCancelled:eF,isValidEncodedURL:QI,createDeferredPromise:KN,ReadableStreamFrom:RN,tryUpgradeRequestToAPotentiallyTrustworthyURL:ZN,clampAndCoarsenConnectionTimingInfo:GN,coarsenedSharedCurrentTime:$N,determineRequestsReferrer:HN,makePolicyContainer:wI,clonePolicyContainer:VN,appendFetchMetadata:PN,appendRequestOriginHeader:ON,TAOCheck:_N,corsCheck:LN,crossOriginResourcePolicyCheck:MN,createOpaqueTimingInfo:YN,setRequestReferrerPolicyOnRedirect:UN,isValidHTTPToken:CI,requestBadPort:DN,requestCurrentURL:$o,responseURL:yI,responseLocationURL:vN,isBlobLike:bN,isURLPotentiallyTrustworthy:Go,isValidReasonPhrase:NN,sameOrigin:WA,normalizeMethod:tF,serializeJavascriptValueToJSONString:nF,iteratorMixin:sF,createIterator:RI,isValidHeaderName:FN,isValidHeaderValue:BI,isErrorLike:TN,fullyReadBody:iF,bytesMatch:JN,isReadableStreamLike:oF,readableStreamClose:aF,isomorphicEncode:qA,urlIsLocal:cF,urlHasHttpsScheme:Xd,urlIsHttpHttpsScheme:SI,readAllBytes:kI,simpleRangeHeaderValue:uF,buildContentRange:lF,parseMetadata:bI,createInflate:dF,extractMimeType:gF,getDecodeSplit:vI,utf8DecodeBytes:fF,environmentSettingsObject:mF}});var hr=T((YK,DI)=>{"use strict";DI.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kDispatcher:Symbol("dispatcher")}});var sg=T((VK,TI)=>{"use strict";var{Blob:EF,File:CF}=require("node:buffer"),{kState:On}=hr(),{webidl:gn}=je(),rg=class t{static{o(this,"FileLike")}constructor(e,n,r={}){let s=n,i=r.type,a=r.lastModified??Date.now();this[On]={blobLike:e,name:s,type:i,lastModified:a}}stream(...e){return gn.brandCheck(this,t),this[On].blobLike.stream(...e)}arrayBuffer(...e){return gn.brandCheck(this,t),this[On].blobLike.arrayBuffer(...e)}slice(...e){return gn.brandCheck(this,t),this[On].blobLike.slice(...e)}text(...e){return gn.brandCheck(this,t),this[On].blobLike.text(...e)}get size(){return gn.brandCheck(this,t),this[On].blobLike.size}get type(){return gn.brandCheck(this,t),this[On].blobLike.type}get name(){return gn.brandCheck(this,t),this[On].name}get lastModified(){return gn.brandCheck(this,t),this[On].lastModified}get[Symbol.toStringTag](){return"File"}};gn.converters.Blob=gn.interfaceConverter(EF);function IF(t){return t instanceof CF||t&&(typeof t.stream=="function"||typeof t.arrayBuffer=="function")&&t[Symbol.toStringTag]==="File"}o(IF,"isFileLike");TI.exports={FileLike:rg,isFileLike:IF}});var Vo=T((JK,LI)=>{"use strict";var{isBlobLike:zA,iteratorMixin:yF}=Qt(),{kState:st}=hr(),{kEnumerableProperty:gi}=ue(),{FileLike:NI,isFileLike:QF}=sg(),{webidl:we}=je(),{File:MI}=require("node:buffer"),FI=require("node:util"),UI=globalThis.File??MI,Yo=class t{static{o(this,"FormData")}constructor(e){if(we.util.markAsUncloneable(this),e!==void 0)throw we.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]});this[st]=[]}append(e,n,r=void 0){we.brandCheck(this,t);let s="FormData.append";if(we.argumentLengthCheck(arguments,2,s),arguments.length===3&&!zA(n))throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'");e=we.converters.USVString(e,s,"name"),n=zA(n)?we.converters.Blob(n,s,"value",{strict:!1}):we.converters.USVString(n,s,"value"),r=arguments.length===3?we.converters.USVString(r,s,"filename"):void 0;let i=ig(e,n,r);this[st].push(i)}delete(e){we.brandCheck(this,t);let n="FormData.delete";we.argumentLengthCheck(arguments,1,n),e=we.converters.USVString(e,n,"name"),this[st]=this[st].filter(r=>r.name!==e)}get(e){we.brandCheck(this,t);let n="FormData.get";we.argumentLengthCheck(arguments,1,n),e=we.converters.USVString(e,n,"name");let r=this[st].findIndex(s=>s.name===e);return r===-1?null:this[st][r].value}getAll(e){we.brandCheck(this,t);let n="FormData.getAll";return we.argumentLengthCheck(arguments,1,n),e=we.converters.USVString(e,n,"name"),this[st].filter(r=>r.name===e).map(r=>r.value)}has(e){we.brandCheck(this,t);let n="FormData.has";return we.argumentLengthCheck(arguments,1,n),e=we.converters.USVString(e,n,"name"),this[st].findIndex(r=>r.name===e)!==-1}set(e,n,r=void 0){we.brandCheck(this,t);let s="FormData.set";if(we.argumentLengthCheck(arguments,2,s),arguments.length===3&&!zA(n))throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'");e=we.converters.USVString(e,s,"name"),n=zA(n)?we.converters.Blob(n,s,"name",{strict:!1}):we.converters.USVString(n,s,"name"),r=arguments.length===3?we.converters.USVString(r,s,"name"):void 0;let i=ig(e,n,r),a=this[st].findIndex(c=>c.name===e);a!==-1?this[st]=[...this[st].slice(0,a),i,...this[st].slice(a+1).filter(c=>c.name!==e)]:this[st].push(i)}[FI.inspect.custom](e,n){let r=this[st].reduce((i,a)=>(i[a.name]?Array.isArray(i[a.name])?i[a.name].push(a.value):i[a.name]=[i[a.name],a.value]:i[a.name]=a.value,i),{__proto__:null});n.depth??=e,n.colors??=!0;let s=FI.formatWithOptions(n,r);return`FormData ${s.slice(s.indexOf("]")+2)}`}};yF("FormData",Yo,st,"name","value");Object.defineProperties(Yo.prototype,{append:gi,delete:gi,get:gi,getAll:gi,has:gi,set:gi,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function ig(t,e,n){if(typeof e!="string"){if(QF(e)||(e=e instanceof Blob?new UI([e],"blob",{type:e.type}):new NI(e,"blob",{type:e.type})),n!==void 0){let r={type:e.type,lastModified:e.lastModified};e=e instanceof MI?new UI([e],n,r):new NI(e,n,r)}}return{name:t,value:e}}o(ig,"makeEntry");LI.exports={FormData:Yo,makeEntry:ig}});var YI=T((jK,$I)=>{"use strict";var{isUSVString:_I,bufferToLowerCasedHeaderName:BF}=ue(),{utf8DecodeBytes:wF}=Qt(),{HTTP_TOKEN_CODEPOINTS:bF,isomorphicDecode:PI}=gt(),{isFileLike:RF}=sg(),{makeEntry:kF}=Vo(),ZA=require("node:assert"),{File:SF}=require("node:buffer"),vF=globalThis.File??SF,xF=Buffer.from('form-data; name="'),OI=Buffer.from("; filename"),DF=Buffer.from("--"),TF=Buffer.from(`--\r
|
|
4
|
+
`);function NF(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}o(NF,"isAsciiString");function FF(t){let e=t.length;if(e<27||e>70)return!1;for(let n=0;n<e;++n){let r=t.charCodeAt(n);if(!(r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r===39||r===45||r===95))return!1}return!0}o(FF,"validateBoundary");function UF(t,e){ZA(e!=="failure"&&e.essence==="multipart/form-data");let n=e.parameters.get("boundary");if(n===void 0)return"failure";let r=Buffer.from(`--${n}`,"utf8"),s=[],i={position:0};for(;t[i.position]===13&&t[i.position+1]===10;)i.position+=2;let a=t.length;for(;t[a-1]===10&&t[a-2]===13;)a-=2;for(a!==t.length&&(t=t.subarray(0,a));;){if(t.subarray(i.position,i.position+r.length).equals(r))i.position+=r.length;else return"failure";if(i.position===t.length-2&&KA(t,DF,i)||i.position===t.length-4&&KA(t,TF,i))return s;if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let c=MF(t,i);if(c==="failure")return"failure";let{name:l,filename:d,contentType:g,encoding:h}=c;i.position+=2;let f;{let C=t.indexOf(r.subarray(2),i.position);if(C===-1)return"failure";f=t.subarray(i.position,C-4),i.position+=f.length,h==="base64"&&(f=Buffer.from(f.toString(),"base64"))}if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let m;d!==null?(g??="text/plain",NF(g)||(g=""),m=new vF([f],d,{type:g})):m=wF(Buffer.from(f)),ZA(_I(l)),ZA(typeof m=="string"&&_I(m)||RF(m)),s.push(kF(l,m,d))}}o(UF,"multipartFormDataParser");function MF(t,e){let n=null,r=null,s=null,i=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10)return n===null?"failure":{name:n,filename:r,contentType:s,encoding:i};let a=hi(c=>c!==10&&c!==13&&c!==58,t,e);if(a=og(a,!0,!0,c=>c===9||c===32),!bF.test(a.toString())||t[e.position]!==58)return"failure";switch(e.position++,hi(c=>c===32||c===9,t,e),BF(a)){case"content-disposition":{if(n=r=null,!KA(t,xF,e)||(e.position+=17,n=GI(t,e),n===null))return"failure";if(KA(t,OI,e)){let c=e.position+OI.length;if(t[c]===42&&(e.position+=1,c+=1),t[c]!==61||t[c+1]!==34||(e.position+=12,r=GI(t,e),r===null))return"failure"}break}case"content-type":{let c=hi(l=>l!==10&&l!==13,t,e);c=og(c,!1,!0,l=>l===9||l===32),s=PI(c);break}case"content-transfer-encoding":{let c=hi(l=>l!==10&&l!==13,t,e);c=og(c,!1,!0,l=>l===9||l===32),i=PI(c);break}default:hi(c=>c!==10&&c!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}o(MF,"parseMultipartFormDataHeaders");function GI(t,e){ZA(t[e.position-1]===34);let n=hi(r=>r!==10&&r!==13&&r!==34,t,e);return t[e.position]!==34?null:(e.position++,n=new TextDecoder().decode(n).replace(/%0A/ig,`
|
|
5
|
+
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),n)}o(GI,"parseMultipartFormDataName");function hi(t,e,n){let r=n.position;for(;r<e.length&&t(e[r]);)++r;return e.subarray(n.position,n.position=r)}o(hi,"collectASequenceOfBytes");function og(t,e,n,r){let s=0,i=t.length-1;if(e)for(;s<t.length&&r(t[s]);)s++;if(n)for(;i>0&&r(t[i]);)i--;return s===0&&i===t.length-1?t:t.subarray(s,i+1)}o(og,"removeChars");function KA(t,e,n){if(t.length<e.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[n.position+r])return!1;return!0}o(KA,"bufferStartsWith");$I.exports={multipartFormDataParser:UF,validateBoundary:FF}});var mi=T((zK,XI)=>{"use strict";var Ho=ue(),{ReadableStreamFrom:LF,isBlobLike:VI,isReadableStreamLike:_F,readableStreamClose:PF,createDeferredPromise:OF,fullyReadBody:GF,extractMimeType:$F,utf8DecodeBytes:qI}=Qt(),{FormData:HI}=Vo(),{kState:fi}=hr(),{webidl:YF}=je(),{Blob:VF}=require("node:buffer"),ag=require("node:assert"),{isErrored:jI,isDisturbed:HF}=require("node:stream"),{isArrayBuffer:JF}=require("node:util/types"),{serializeAMimeType:qF}=gt(),{multipartFormDataParser:jF}=YI(),Ag;try{let t=require("node:crypto");Ag=o(e=>t.randomInt(0,e),"random")}catch{Ag=o(t=>Math.floor(Math.random(t)),"random")}var XA=new TextEncoder;function WF(){}o(WF,"noop");var WI=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,zI;WI&&(zI=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!HF(e)&&!jI(e)&&e.cancel("Response object has been garbage collected").catch(WF)}));function ZI(t,e=!1){let n=null;t instanceof ReadableStream?n=t:VI(t)?n=t.stream():n=new ReadableStream({async pull(l){let d=typeof s=="string"?XA.encode(s):s;d.byteLength&&l.enqueue(d),queueMicrotask(()=>PF(l))},start(){},type:"bytes"}),ag(_F(n));let r=null,s=null,i=null,a=null;if(typeof t=="string")s=t,a="text/plain;charset=UTF-8";else if(t instanceof URLSearchParams)s=t.toString(),a="application/x-www-form-urlencoded;charset=UTF-8";else if(JF(t))s=new Uint8Array(t.slice());else if(ArrayBuffer.isView(t))s=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));else if(Ho.isFormDataLike(t)){let l=`----formdata-undici-0${`${Ag(1e11)}`.padStart(11,"0")}`,d=`--${l}\r
|
|
6
6
|
Content-Disposition: form-data`;let g=o(v=>v.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),"escape"),h=o(v=>v.replace(/\r?\n|\r/g,`\r
|
|
7
7
|
`),"normalizeLinefeeds"),f=[],m=new Uint8Array([13,10]);i=0;let C=!1;for(let[v,Q]of t)if(typeof Q=="string"){let D=XA.encode(d+`; name="${g(h(v))}"\r
|
|
8
8
|
\r
|
|
@@ -11,7 +11,7 @@ ${h(Q)}\r
|
|
|
11
11
|
Content-Type: ${Q.type||"application/octet-stream"}\r
|
|
12
12
|
\r
|
|
13
13
|
`);f.push(D,Q,m),typeof Q.size=="number"?i+=D.byteLength+Q.size+m.byteLength:C=!0}let y=XA.encode(`--${l}--\r
|
|
14
|
-
`);f.push(y),i+=y.byteLength,C&&(i=null),s=t,r=o(async function*(){for(let v of f)v.stream?yield*v.stream():yield v},"action"),a=`multipart/form-data; boundary=${l}`}else if(HI(t))s=t,i=t.size,t.type&&(a=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(Vo.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");n=t instanceof ReadableStream?t:LF(t)}if((typeof s=="string"||Vo.isBuffer(s))&&(i=Buffer.byteLength(s)),r!=null){let l;n=new ReadableStream({async start(){l=r(t)[Symbol.asyncIterator]()},async pull(d){let{value:g,done:h}=await l.next();if(h)queueMicrotask(()=>{d.close(),d.byobRequest?.respond(0)});else if(!jI(n)){let f=new Uint8Array(g);f.byteLength&&d.enqueue(f)}return d.desiredSize>0},async cancel(d){await l.return()},type:"bytes"})}return[{stream:n,source:s,length:i},a]}o(ZI,"extractBody");function zF(t,e=!1){return t instanceof ReadableStream&&(ag(!Vo.isDisturbed(t),"The body has already been consumed."),ag(!t.locked,"The stream is locked.")),ZI(t,e)}o(zF,"safelyExtractBody");function ZF(t,e){let[n,r]=e.stream.tee();return e.stream=n,{stream:r,length:e.length,source:e.source}}o(ZF,"cloneBody");function KF(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}o(KF,"throwIfAborted");function XF(t){return{blob(){return pi(this,n=>{let r=JI(this);return r===null?r="":r&&(r=qF(r)),new HF([n],{type:r})},t)},arrayBuffer(){return pi(this,n=>new Uint8Array(n).buffer,t)},text(){return pi(this,qI,t)},json(){return pi(this,tU,t)},formData(){return pi(this,n=>{let r=JI(this);if(r!==null)switch(r.essence){case"multipart/form-data":{let s=jF(n,r);if(s==="failure")throw new TypeError("Failed to parse body as FormData.");let i=new VI;return i[fi]=s,i}case"application/x-www-form-urlencoded":{let s=new URLSearchParams(n.toString()),i=new VI;for(let[a,c]of s)i.append(a,c);return i}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return pi(this,n=>new Uint8Array(n),t)}}}o(XF,"bodyMixinMethods");function eU(t){Object.assign(t.prototype,XF(t))}o(eU,"mixinBody");async function pi(t,e,n){if(YF.brandCheck(t,n),KI(t))throw new TypeError("Body is unusable: Body has already been read");KF(t[fi]);let r=OF(),s=o(a=>r.reject(a),"errorSteps"),i=o(a=>{try{r.resolve(e(a))}catch(c){s(c)}},"successSteps");return t[fi].body==null?(i(Buffer.allocUnsafe(0)),r.promise):(await GF(t[fi].body,i,s),r.promise)}o(pi,"consumeBody");function KI(t){let e=t[fi].body;return e!=null&&(e.stream.locked||Vo.isDisturbed(e.stream))}o(KI,"bodyUnusable");function tU(t){return JSON.parse(qI(t))}o(tU,"parseJSONFromBytes");function JI(t){let e=t[fi].headersList,n=$F(e);return n==="failure"?null:n}o(JI,"bodyMimeType");XI.exports={extractBody:ZI,safelyExtractBody:zF,cloneBody:ZF,mixinBody:eU,streamRegistry:zI,hasFinalizationRegistry:WI,bodyUnusable:KI}});var py=T((KK,hy)=>{"use strict";var W=require("node:assert"),J=ue(),{channels:ey}=si(),cg=Hd(),{RequestContentLengthMismatchError:is,ResponseContentLengthMismatchError:ty,RequestAbortedError:cy,InvalidArgumentError:nU,HeadersTimeoutError:rU,HeadersOverflowError:sU,SocketError:Ei,InformationalError:os,BodyTimeoutError:iU,HTTPParserError:oU,ResponseExceededMaxSizeError:aU}=pe(),{kUrl:uy,kReset:ht,kClient:rc,kParser:be,kBlocking:jo,kRunning:_e,kPending:ly,kSize:ny,kWriting:pr,kQueue:Wt,kNoRef:Jo,kKeepAliveDefaultTimeout:AU,kHostHeader:cU,kPendingIdx:uU,kRunningIdx:Ot,kError:it,kPipelining:sc,kSocket:as,kKeepAliveTimeoutValue:oc,kMaxHeadersSize:ug,kKeepAliveMaxTimeout:lU,kKeepAliveTimeoutThreshold:dU,kHeadersTimeout:gU,kBodyTimeout:hU,kStrictContentLength:gg,kMaxRequests:ry,kCounter:pU,kMaxResponseSize:fU,kOnError:sy,kResume:Gn,kHTTPContext:dy}=Re(),Bt=zC(),iy=Buffer.alloc(0),ec=Buffer[Symbol.species],tc=J.addListener,mU=J.removeAllListeners,As=Symbol("kIdleSocketValidation"),Ci=Symbol("kIdleSocketValidationTimeout"),mg=Symbol("kSocketUsed"),lg;async function EU(){let t=process.env.JEST_WORKER_ID?qd():void 0,e;try{e=await WebAssembly.compile(XC())}catch{e=await WebAssembly.compile(t||qd())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:o((n,r,s)=>0,"wasm_on_url"),wasm_on_status:o((n,r,s)=>{W(Fe.ptr===n);let i=r-pn+hn.byteOffset;return Fe.onStatus(new ec(hn.buffer,i,s))||0},"wasm_on_status"),wasm_on_message_begin:o(n=>(W(Fe.ptr===n),Fe.onMessageBegin()||0),"wasm_on_message_begin"),wasm_on_header_field:o((n,r,s)=>{W(Fe.ptr===n);let i=r-pn+hn.byteOffset;return Fe.onHeaderField(new ec(hn.buffer,i,s))||0},"wasm_on_header_field"),wasm_on_header_value:o((n,r,s)=>{W(Fe.ptr===n);let i=r-pn+hn.byteOffset;return Fe.onHeaderValue(new ec(hn.buffer,i,s))||0},"wasm_on_header_value"),wasm_on_headers_complete:o((n,r,s,i)=>(W(Fe.ptr===n),Fe.onHeadersComplete(r,!!s,!!i)||0),"wasm_on_headers_complete"),wasm_on_body:o((n,r,s)=>{W(Fe.ptr===n);let i=r-pn+hn.byteOffset;return Fe.onBody(new ec(hn.buffer,i,s))||0},"wasm_on_body"),wasm_on_message_complete:o(n=>(W(Fe.ptr===n),Fe.onMessageComplete()||0),"wasm_on_message_complete")}})}o(EU,"lazyllhttp");var dg=null,hg=EU();hg.catch();var Fe=null,hn=null,nc=0,pn=null,CU=0,qo=1,Ii=2|qo,ic=4|qo,pg=8|CU,fg=class{static{o(this,"Parser")}constructor(e,n,{exports:r}){W(Number.isFinite(e[ug])&&e[ug]>0),this.llhttp=r,this.ptr=this.llhttp.llhttp_alloc(Bt.TYPE.RESPONSE),this.client=e,this.socket=n,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=null,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=e[ug],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=e[fU]}setTimeout(e,n){e!==this.timeoutValue||n&qo^this.timeoutType&qo?(this.timeout&&(cg.clearTimeout(this.timeout),this.timeout=null),e&&(n&qo?this.timeout=cg.setFastTimeout(oy,e,new WeakRef(this)):(this.timeout=setTimeout(oy,e,new WeakRef(this)),this.timeout.unref())),this.timeoutValue=e):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=n}resume(){this.socket.destroyed||!this.paused||(W(this.ptr!=null),W(Fe==null),this.llhttp.llhttp_resume(this.ptr),W(this.timeoutType===ic),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||iy),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let e=this.socket.read();if(e===null)break;this.execute(e)}}execute(e){W(this.ptr!=null),W(Fe==null),W(!this.paused);let{socket:n,llhttp:r}=this;e.length>nc&&(pn&&r.free(pn),nc=Math.ceil(e.length/4096)*4096,pn=r.malloc(nc)),new Uint8Array(r.memory.buffer,pn,nc).set(e);try{let s;try{hn=e,Fe=this,s=r.llhttp_execute(this.ptr,pn,e.length)}catch(a){throw a}finally{Fe=null,hn=null}let i=r.llhttp_get_error_pos(this.ptr)-pn;if(s!==Bt.ERROR.OK){let a=e.subarray(i);if(s===Bt.ERROR.PAUSED_UPGRADE)this.onUpgrade(a);else if(s===Bt.ERROR.PAUSED)this.paused=!0,n.unshift(a);else throw this.createError(s,a)}}catch(s){J.destroy(n,s)}}finish(){W(Fe===null),W(this.ptr!=null),W(!this.paused);let{llhttp:e}=this,n;try{Fe=this,n=e.llhttp_finish(this.ptr)}finally{Fe=null}return n===Bt.ERROR.OK?null:n===Bt.ERROR.PAUSED||n===Bt.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(n,iy)}createError(e,n){let{llhttp:r,contentLength:s,bytesRead:i}=this;if(s&&i!==parseInt(s,10))return new ty;let a=r.llhttp_get_error_reason(this.ptr),c="";if(a){let l=new Uint8Array(r.memory.buffer,a).indexOf(0);c="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,a,l).toString()+")"}return new oU(c,Bt.ERROR[e],n)}destroy(){W(this.ptr!=null),W(Fe==null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&cg.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(e){this.statusText=e.toString()}onMessageBegin(){let{socket:e,client:n}=this;if(e.destroyed)return-1;if(n[_e]===0)return J.destroy(e,new Ei("bad response",J.getSocketInfo(e))),-1;let r=n[Wt][n[Ot]];if(!r)return-1;r.onResponseStarted()}onHeaderField(e){let n=this.headers.length;(n&1)===0?this.headers.push(e):this.headers[n-1]=Buffer.concat([this.headers[n-1],e]),this.trackHeader(e.length)}onHeaderValue(e){let n=this.headers.length;(n&1)===1?(this.headers.push(e),n+=1):this.headers[n-1]=Buffer.concat([this.headers[n-1],e]);let r=this.headers[n-2];if(r.length===10){let s=J.bufferToLowerCasedHeaderName(r);s==="keep-alive"?this.keepAlive+=e.toString():s==="connection"&&(this.connection+=e.toString())}else r.length===14&&J.bufferToLowerCasedHeaderName(r)==="content-length"&&(this.contentLength+=e.toString());this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e,this.headersSize>=this.headersMaxSize&&J.destroy(this.socket,new sU)}onUpgrade(e){let{upgrade:n,client:r,socket:s,headers:i,statusCode:a,statusText:c}=this;W(n),W(r[as]===s),W(!s.destroyed),W(!this.paused),W((i.length&1)===0);let l=r[Wt][r[Ot]];W(l),W(l.upgrade||l.method==="CONNECT"),this.statusCode=null,this.statusText="",this.shouldKeepAlive=null,this.headers=[],this.headersSize=0,s.unshift(e),s[be].destroy(),s[be]=null,s[rc]=null,s[it]=null,mU(s),r[as]=null,r[dy]=null,r[Wt][r[Ot]++]=null,r.emit("disconnect",r[uy],[r],new os("upgrade"));try{l.onUpgrade(a,i,s,c)}catch(d){J.errorRequest(r,l,d),J.destroy(s,d)}r[Gn]()}onHeadersComplete(e,n,r){let{client:s,socket:i,headers:a,statusText:c}=this;if(i.destroyed)return-1;if(s[_e]===0)return J.destroy(i,new Ei("bad response",J.getSocketInfo(i))),-1;let l=s[Wt][s[Ot]];if(!l)return-1;if(W(!this.upgrade),W(this.statusCode<200),e===100)return J.destroy(i,new Ei("bad response",J.getSocketInfo(i))),-1;if(n&&!l.upgrade)return J.destroy(i,new Ei("bad upgrade",J.getSocketInfo(i))),-1;if(W(this.timeoutType===Ii),this.statusCode=e,this.shouldKeepAlive=r||l.method==="HEAD"&&!i[ht]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let g=l.bodyTimeout!=null?l.bodyTimeout:s[hU];this.setTimeout(g,ic)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(l.method==="CONNECT")return W(s[_e]===1),this.upgrade=!0,2;if(n)return W(s[_e]===1),this.upgrade=!0,2;if(W((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&s[sc]){let g=this.keepAlive?J.parseKeepAliveTimeout(this.keepAlive):null;if(g!=null){let h=Math.min(g-s[dU],s[lU]);h<=0?i[ht]=!0:s[oc]=h}else s[oc]=s[AU]}else i[ht]=!0;let d=l.onHeaders(e,a,this.resume,c)===!1;return l.aborted?-1:l.method==="HEAD"||e<200?1:(i[jo]&&(i[jo]=!1,s[Gn]()),d?Bt.ERROR.PAUSED:0)}onBody(e){let{client:n,socket:r,statusCode:s,maxResponseSize:i}=this;if(r.destroyed)return-1;let a=n[Wt][n[Ot]];if(W(a),W(this.timeoutType===ic),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),W(s>=200),i>-1&&this.bytesRead+e.length>i)return J.destroy(r,new aU),-1;if(this.bytesRead+=e.length,a.onData(e)===!1)return Bt.ERROR.PAUSED}onMessageComplete(){let{client:e,socket:n,statusCode:r,upgrade:s,headers:i,contentLength:a,bytesRead:c,shouldKeepAlive:l}=this;if(n.destroyed&&(!r||l))return-1;if(s)return;W(r>=100),W((this.headers.length&1)===0);let d=e[Wt][e[Ot]];if(W(d),this.statusCode=null,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,!(r<200)){if(d.method!=="HEAD"&&a&&c!==parseInt(a,10))return J.destroy(n,new ty),-1;if(d.onComplete(i),e[Wt][e[Ot]++]=null,n[mg]=!0,n[pr])return W(e[_e]===0),J.destroy(n,new os("reset")),Bt.ERROR.PAUSED;if(l){if(n[ht]&&e[_e]===0)return J.destroy(n,new os("reset")),Bt.ERROR.PAUSED;e[sc]==null||e[sc]===1?setImmediate(()=>e[Gn]()):e[Gn]()}else return J.destroy(n,new os("reset")),Bt.ERROR.PAUSED}}};function oy(t){let{socket:e,timeoutType:n,client:r,paused:s}=t.deref();n===Ii?(!e[pr]||e.writableNeedDrain||r[_e]>1)&&(W(!s,"cannot be paused while waiting for headers"),J.destroy(e,new rU)):n===ic?s||J.destroy(e,new iU):n===pg&&(W(r[_e]===0&&r[oc]),J.destroy(e,new os("socket idle timeout")))}o(oy,"onParserTimeout");async function IU(t,e){t[as]=e,dg||(dg=await hg,hg=null),e[Jo]=!1,e[pr]=!1,e[ht]=!1,e[jo]=!1,e[As]=0,e[Ci]=null,e[mg]=!1,e[be]=new fg(t,e,dg),tc(e,"error",function(r){let s=this[be];if(r.code==="ECONNRESET"&&s.statusCode&&!s.shouldKeepAlive){let i=s.finish();i&&(this[it]=i,this[rc][sy](i));return}this[it]=r,this[rc][sy](r)}),tc(e,"readable",function(){let r=this[be];r&&r.readMore()}),tc(e,"end",function(){let r=this[be];if(r.statusCode&&!r.shouldKeepAlive){let s=r.finish();s&&J.destroy(this,s);return}J.destroy(this,new Ei("other side closed",J.getSocketInfo(this)))}),tc(e,"close",function(){let r=this[rc],s=this[be];gy(this),s&&(!this[it]&&s.statusCode&&!s.shouldKeepAlive&&(this[it]=s.finish()||this[it]),this[be].destroy(),this[be]=null);let i=this[it]||new Ei("closed",J.getSocketInfo(this));if(r[as]=null,r[dy]=null,r.destroyed){W(r[ly]===0);let a=r[Wt].splice(r[Ot]);for(let c=0;c<a.length;c++){let l=a[c];J.errorRequest(r,l,i)}}else if(r[_e]>0&&i.code!=="UND_ERR_INFO"){let a=r[Wt][r[Ot]];r[Wt][r[Ot]++]=null,J.errorRequest(r,a,i)}r[uU]=r[Ot],W(r[_e]===0),r.emit("disconnect",r[uy],[r],i),r[Gn]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h1",defaultPipelining:1,write(...r){return wU(t,...r)},resume(){QU(t)},destroy(r,s){n?queueMicrotask(s):e.destroy(r).on("close",s)},get destroyed(){return e.destroyed},busy(r){return!!(e[pr]||e[ht]||e[jo]||e[As]===1||r&&(t[_e]>0&&!r.idempotent||t[_e]>0&&(r.upgrade||r.method==="CONNECT")||t[_e]>0&&J.bodyLength(r.body)!==0&&(J.isStream(r.body)||J.isAsyncIterable(r.body)||J.isFormDataLike(r.body))))}}}o(IU,"connectH1");function gy(t){t[Ci]&&(clearImmediate(t[Ci]),t[Ci]=null),t[As]=0}o(gy,"clearIdleSocketValidation");function yU(t,e){e[As]=1,e[Ci]=setImmediate(()=>{e[Ci]=null,e[As]=2,t[as]===e&&!e.destroyed&&t[Gn]()})}o(yU,"scheduleIdleSocketValidation");function QU(t){let e=t[as];if(e&&!e.destroyed){if(t[ny]===0?!e[Jo]&&e.unref&&(e.unref(),e[Jo]=!0):e[Jo]&&e.ref&&(e.ref(),e[Jo]=!1),t[_e]===0&&t[ly]>0&&e[mg]){if(e[As]===0)return yU(t,e),e[be].readMore(),e.destroyed,void 0;if(e[As]===1)return e[be].readMore(),e.destroyed,void 0}if(t[_e]===0&&(e[be].readMore(),e.destroyed))return;if(t[ny]===0)e[be].timeoutType!==pg&&e[be].setTimeout(t[oc],pg);else if(t[_e]>0&&e[be].statusCode<200&&e[be].timeoutType!==Ii){let n=t[Wt][t[Ot]],r=n.headersTimeout!=null?n.headersTimeout:t[gU];e[be].setTimeout(r,Ii)}}}o(QU,"resumeH1");function BU(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}o(BU,"shouldSendContentLength");function wU(t,e){let{method:n,path:r,host:s,upgrade:i,blocking:a,reset:c}=e,{body:l,headers:d,contentLength:g}=e,h=n==="PUT"||n==="POST"||n==="PATCH"||n==="QUERY"||n==="PROPFIND"||n==="PROPPATCH";if(J.isFormDataLike(l)){lg||(lg=mi().extractBody);let[v,Q]=lg(l);e.contentType==null&&d.push("content-type",Q),l=v.stream,g=v.length}else if(J.isBlobLike(l)&&e.contentType==null){let v=l.type;if(v){let Q=`${v}`;if(!J.isValidHeaderValue(Q))return J.errorRequest(t,e,new nU("invalid content-type header")),!1;d.push("content-type",Q)}}l&&typeof l.read=="function"&&l.read(0);let f=J.bodyLength(l);if(g=f??g,g===null&&(g=e.contentLength),g===0&&!h&&(g=null),BU(n)&&g>0&&e.contentLength!==null&&e.contentLength!==g){if(t[gg])return J.errorRequest(t,e,new is),!1;process.emitWarning(new is)}let m=t[as];gy(m);let C=o(v=>{if(!e.aborted){if(e.completed){(e.upgrade||e.method==="CONNECT")&&J.destroy(m,new os("aborted"));return}J.errorRequest(t,e,v||new cy),J.destroy(l),J.destroy(m,new os("aborted"))}},"abort");try{e.onConnect(C)}catch(v){J.errorRequest(t,e,v)}if(e.aborted)return!1;n==="HEAD"&&(m[ht]=!0),(i||n==="CONNECT")&&(m[ht]=!0),c!=null&&(m[ht]=c),t[ry]&&m[pU]++>=t[ry]&&(m[ht]=!0),a&&(m[jo]=!0);let y=`${n} ${r} HTTP/1.1\r
|
|
14
|
+
`);f.push(y),i+=y.byteLength,C&&(i=null),s=t,r=o(async function*(){for(let v of f)v.stream?yield*v.stream():yield v},"action"),a=`multipart/form-data; boundary=${l}`}else if(VI(t))s=t,i=t.size,t.type&&(a=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(Ho.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");n=t instanceof ReadableStream?t:LF(t)}if((typeof s=="string"||Ho.isBuffer(s))&&(i=Buffer.byteLength(s)),r!=null){let l;n=new ReadableStream({async start(){l=r(t)[Symbol.asyncIterator]()},async pull(d){let{value:g,done:h}=await l.next();if(h)queueMicrotask(()=>{d.close(),d.byobRequest?.respond(0)});else if(!jI(n)){let f=new Uint8Array(g);f.byteLength&&d.enqueue(f)}return d.desiredSize>0},async cancel(d){await l.return()},type:"bytes"})}return[{stream:n,source:s,length:i},a]}o(ZI,"extractBody");function zF(t,e=!1){return t instanceof ReadableStream&&(ag(!Ho.isDisturbed(t),"The body has already been consumed."),ag(!t.locked,"The stream is locked.")),ZI(t,e)}o(zF,"safelyExtractBody");function ZF(t,e){let[n,r]=e.stream.tee();return e.stream=n,{stream:r,length:e.length,source:e.source}}o(ZF,"cloneBody");function KF(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}o(KF,"throwIfAborted");function XF(t){return{blob(){return pi(this,n=>{let r=JI(this);return r===null?r="":r&&(r=qF(r)),new VF([n],{type:r})},t)},arrayBuffer(){return pi(this,n=>new Uint8Array(n).buffer,t)},text(){return pi(this,qI,t)},json(){return pi(this,tU,t)},formData(){return pi(this,n=>{let r=JI(this);if(r!==null)switch(r.essence){case"multipart/form-data":{let s=jF(n,r);if(s==="failure")throw new TypeError("Failed to parse body as FormData.");let i=new HI;return i[fi]=s,i}case"application/x-www-form-urlencoded":{let s=new URLSearchParams(n.toString()),i=new HI;for(let[a,c]of s)i.append(a,c);return i}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return pi(this,n=>new Uint8Array(n),t)}}}o(XF,"bodyMixinMethods");function eU(t){Object.assign(t.prototype,XF(t))}o(eU,"mixinBody");async function pi(t,e,n){if(YF.brandCheck(t,n),KI(t))throw new TypeError("Body is unusable: Body has already been read");KF(t[fi]);let r=OF(),s=o(a=>r.reject(a),"errorSteps"),i=o(a=>{try{r.resolve(e(a))}catch(c){s(c)}},"successSteps");return t[fi].body==null?(i(Buffer.allocUnsafe(0)),r.promise):(await GF(t[fi].body,i,s),r.promise)}o(pi,"consumeBody");function KI(t){let e=t[fi].body;return e!=null&&(e.stream.locked||Ho.isDisturbed(e.stream))}o(KI,"bodyUnusable");function tU(t){return JSON.parse(qI(t))}o(tU,"parseJSONFromBytes");function JI(t){let e=t[fi].headersList,n=$F(e);return n==="failure"?null:n}o(JI,"bodyMimeType");XI.exports={extractBody:ZI,safelyExtractBody:zF,cloneBody:ZF,mixinBody:eU,streamRegistry:zI,hasFinalizationRegistry:WI,bodyUnusable:KI}});var py=T((KK,hy)=>{"use strict";var W=require("node:assert"),J=ue(),{channels:ey}=si(),cg=Vd(),{RequestContentLengthMismatchError:is,ResponseContentLengthMismatchError:ty,RequestAbortedError:cy,InvalidArgumentError:nU,HeadersTimeoutError:rU,HeadersOverflowError:sU,SocketError:Ei,InformationalError:os,BodyTimeoutError:iU,HTTPParserError:oU,ResponseExceededMaxSizeError:aU}=pe(),{kUrl:uy,kReset:ht,kClient:rc,kParser:be,kBlocking:jo,kRunning:_e,kPending:ly,kSize:ny,kWriting:pr,kQueue:Wt,kNoRef:Jo,kKeepAliveDefaultTimeout:AU,kHostHeader:cU,kPendingIdx:uU,kRunningIdx:Ot,kError:it,kPipelining:sc,kSocket:as,kKeepAliveTimeoutValue:oc,kMaxHeadersSize:ug,kKeepAliveMaxTimeout:lU,kKeepAliveTimeoutThreshold:dU,kHeadersTimeout:gU,kBodyTimeout:hU,kStrictContentLength:gg,kMaxRequests:ry,kCounter:pU,kMaxResponseSize:fU,kOnError:sy,kResume:Gn,kHTTPContext:dy}=ke(),Bt=zC(),iy=Buffer.alloc(0),ec=Buffer[Symbol.species],tc=J.addListener,mU=J.removeAllListeners,As=Symbol("kIdleSocketValidation"),Ci=Symbol("kIdleSocketValidationTimeout"),mg=Symbol("kSocketUsed"),lg;async function EU(){let t=process.env.JEST_WORKER_ID?qd():void 0,e;try{e=await WebAssembly.compile(XC())}catch{e=await WebAssembly.compile(t||qd())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:o((n,r,s)=>0,"wasm_on_url"),wasm_on_status:o((n,r,s)=>{W(Fe.ptr===n);let i=r-pn+hn.byteOffset;return Fe.onStatus(new ec(hn.buffer,i,s))||0},"wasm_on_status"),wasm_on_message_begin:o(n=>(W(Fe.ptr===n),Fe.onMessageBegin()||0),"wasm_on_message_begin"),wasm_on_header_field:o((n,r,s)=>{W(Fe.ptr===n);let i=r-pn+hn.byteOffset;return Fe.onHeaderField(new ec(hn.buffer,i,s))||0},"wasm_on_header_field"),wasm_on_header_value:o((n,r,s)=>{W(Fe.ptr===n);let i=r-pn+hn.byteOffset;return Fe.onHeaderValue(new ec(hn.buffer,i,s))||0},"wasm_on_header_value"),wasm_on_headers_complete:o((n,r,s,i)=>(W(Fe.ptr===n),Fe.onHeadersComplete(r,!!s,!!i)||0),"wasm_on_headers_complete"),wasm_on_body:o((n,r,s)=>{W(Fe.ptr===n);let i=r-pn+hn.byteOffset;return Fe.onBody(new ec(hn.buffer,i,s))||0},"wasm_on_body"),wasm_on_message_complete:o(n=>(W(Fe.ptr===n),Fe.onMessageComplete()||0),"wasm_on_message_complete")}})}o(EU,"lazyllhttp");var dg=null,hg=EU();hg.catch();var Fe=null,hn=null,nc=0,pn=null,CU=0,qo=1,Ii=2|qo,ic=4|qo,pg=8|CU,fg=class{static{o(this,"Parser")}constructor(e,n,{exports:r}){W(Number.isFinite(e[ug])&&e[ug]>0),this.llhttp=r,this.ptr=this.llhttp.llhttp_alloc(Bt.TYPE.RESPONSE),this.client=e,this.socket=n,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=null,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=e[ug],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=e[fU]}setTimeout(e,n){e!==this.timeoutValue||n&qo^this.timeoutType&qo?(this.timeout&&(cg.clearTimeout(this.timeout),this.timeout=null),e&&(n&qo?this.timeout=cg.setFastTimeout(oy,e,new WeakRef(this)):(this.timeout=setTimeout(oy,e,new WeakRef(this)),this.timeout.unref())),this.timeoutValue=e):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=n}resume(){this.socket.destroyed||!this.paused||(W(this.ptr!=null),W(Fe==null),this.llhttp.llhttp_resume(this.ptr),W(this.timeoutType===ic),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||iy),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let e=this.socket.read();if(e===null)break;this.execute(e)}}execute(e){W(this.ptr!=null),W(Fe==null),W(!this.paused);let{socket:n,llhttp:r}=this;e.length>nc&&(pn&&r.free(pn),nc=Math.ceil(e.length/4096)*4096,pn=r.malloc(nc)),new Uint8Array(r.memory.buffer,pn,nc).set(e);try{let s;try{hn=e,Fe=this,s=r.llhttp_execute(this.ptr,pn,e.length)}catch(a){throw a}finally{Fe=null,hn=null}let i=r.llhttp_get_error_pos(this.ptr)-pn;if(s!==Bt.ERROR.OK){let a=e.subarray(i);if(s===Bt.ERROR.PAUSED_UPGRADE)this.onUpgrade(a);else if(s===Bt.ERROR.PAUSED)this.paused=!0,n.unshift(a);else throw this.createError(s,a)}}catch(s){J.destroy(n,s)}}finish(){W(Fe===null),W(this.ptr!=null),W(!this.paused);let{llhttp:e}=this,n;try{Fe=this,n=e.llhttp_finish(this.ptr)}finally{Fe=null}return n===Bt.ERROR.OK?null:n===Bt.ERROR.PAUSED||n===Bt.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(n,iy)}createError(e,n){let{llhttp:r,contentLength:s,bytesRead:i}=this;if(s&&i!==parseInt(s,10))return new ty;let a=r.llhttp_get_error_reason(this.ptr),c="";if(a){let l=new Uint8Array(r.memory.buffer,a).indexOf(0);c="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,a,l).toString()+")"}return new oU(c,Bt.ERROR[e],n)}destroy(){W(this.ptr!=null),W(Fe==null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&cg.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(e){this.statusText=e.toString()}onMessageBegin(){let{socket:e,client:n}=this;if(e.destroyed)return-1;if(n[_e]===0)return J.destroy(e,new Ei("bad response",J.getSocketInfo(e))),-1;let r=n[Wt][n[Ot]];if(!r)return-1;r.onResponseStarted()}onHeaderField(e){let n=this.headers.length;(n&1)===0?this.headers.push(e):this.headers[n-1]=Buffer.concat([this.headers[n-1],e]),this.trackHeader(e.length)}onHeaderValue(e){let n=this.headers.length;(n&1)===1?(this.headers.push(e),n+=1):this.headers[n-1]=Buffer.concat([this.headers[n-1],e]);let r=this.headers[n-2];if(r.length===10){let s=J.bufferToLowerCasedHeaderName(r);s==="keep-alive"?this.keepAlive+=e.toString():s==="connection"&&(this.connection+=e.toString())}else r.length===14&&J.bufferToLowerCasedHeaderName(r)==="content-length"&&(this.contentLength+=e.toString());this.trackHeader(e.length)}trackHeader(e){this.headersSize+=e,this.headersSize>=this.headersMaxSize&&J.destroy(this.socket,new sU)}onUpgrade(e){let{upgrade:n,client:r,socket:s,headers:i,statusCode:a,statusText:c}=this;W(n),W(r[as]===s),W(!s.destroyed),W(!this.paused),W((i.length&1)===0);let l=r[Wt][r[Ot]];W(l),W(l.upgrade||l.method==="CONNECT"),this.statusCode=null,this.statusText="",this.shouldKeepAlive=null,this.headers=[],this.headersSize=0,s.unshift(e),s[be].destroy(),s[be]=null,s[rc]=null,s[it]=null,mU(s),r[as]=null,r[dy]=null,r[Wt][r[Ot]++]=null,r.emit("disconnect",r[uy],[r],new os("upgrade"));try{l.onUpgrade(a,i,s,c)}catch(d){J.errorRequest(r,l,d),J.destroy(s,d)}r[Gn]()}onHeadersComplete(e,n,r){let{client:s,socket:i,headers:a,statusText:c}=this;if(i.destroyed)return-1;if(s[_e]===0)return J.destroy(i,new Ei("bad response",J.getSocketInfo(i))),-1;let l=s[Wt][s[Ot]];if(!l)return-1;if(W(!this.upgrade),W(this.statusCode<200),e===100)return J.destroy(i,new Ei("bad response",J.getSocketInfo(i))),-1;if(n&&!l.upgrade)return J.destroy(i,new Ei("bad upgrade",J.getSocketInfo(i))),-1;if(W(this.timeoutType===Ii),this.statusCode=e,this.shouldKeepAlive=r||l.method==="HEAD"&&!i[ht]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let g=l.bodyTimeout!=null?l.bodyTimeout:s[hU];this.setTimeout(g,ic)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(l.method==="CONNECT")return W(s[_e]===1),this.upgrade=!0,2;if(n)return W(s[_e]===1),this.upgrade=!0,2;if(W((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&s[sc]){let g=this.keepAlive?J.parseKeepAliveTimeout(this.keepAlive):null;if(g!=null){let h=Math.min(g-s[dU],s[lU]);h<=0?i[ht]=!0:s[oc]=h}else s[oc]=s[AU]}else i[ht]=!0;let d=l.onHeaders(e,a,this.resume,c)===!1;return l.aborted?-1:l.method==="HEAD"||e<200?1:(i[jo]&&(i[jo]=!1,s[Gn]()),d?Bt.ERROR.PAUSED:0)}onBody(e){let{client:n,socket:r,statusCode:s,maxResponseSize:i}=this;if(r.destroyed)return-1;let a=n[Wt][n[Ot]];if(W(a),W(this.timeoutType===ic),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),W(s>=200),i>-1&&this.bytesRead+e.length>i)return J.destroy(r,new aU),-1;if(this.bytesRead+=e.length,a.onData(e)===!1)return Bt.ERROR.PAUSED}onMessageComplete(){let{client:e,socket:n,statusCode:r,upgrade:s,headers:i,contentLength:a,bytesRead:c,shouldKeepAlive:l}=this;if(n.destroyed&&(!r||l))return-1;if(s)return;W(r>=100),W((this.headers.length&1)===0);let d=e[Wt][e[Ot]];if(W(d),this.statusCode=null,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,!(r<200)){if(d.method!=="HEAD"&&a&&c!==parseInt(a,10))return J.destroy(n,new ty),-1;if(d.onComplete(i),e[Wt][e[Ot]++]=null,n[mg]=!0,n[pr])return W(e[_e]===0),J.destroy(n,new os("reset")),Bt.ERROR.PAUSED;if(l){if(n[ht]&&e[_e]===0)return J.destroy(n,new os("reset")),Bt.ERROR.PAUSED;e[sc]==null||e[sc]===1?setImmediate(()=>e[Gn]()):e[Gn]()}else return J.destroy(n,new os("reset")),Bt.ERROR.PAUSED}}};function oy(t){let{socket:e,timeoutType:n,client:r,paused:s}=t.deref();n===Ii?(!e[pr]||e.writableNeedDrain||r[_e]>1)&&(W(!s,"cannot be paused while waiting for headers"),J.destroy(e,new rU)):n===ic?s||J.destroy(e,new iU):n===pg&&(W(r[_e]===0&&r[oc]),J.destroy(e,new os("socket idle timeout")))}o(oy,"onParserTimeout");async function IU(t,e){t[as]=e,dg||(dg=await hg,hg=null),e[Jo]=!1,e[pr]=!1,e[ht]=!1,e[jo]=!1,e[As]=0,e[Ci]=null,e[mg]=!1,e[be]=new fg(t,e,dg),tc(e,"error",function(r){let s=this[be];if(r.code==="ECONNRESET"&&s.statusCode&&!s.shouldKeepAlive){let i=s.finish();i&&(this[it]=i,this[rc][sy](i));return}this[it]=r,this[rc][sy](r)}),tc(e,"readable",function(){let r=this[be];r&&r.readMore()}),tc(e,"end",function(){let r=this[be];if(r.statusCode&&!r.shouldKeepAlive){let s=r.finish();s&&J.destroy(this,s);return}J.destroy(this,new Ei("other side closed",J.getSocketInfo(this)))}),tc(e,"close",function(){let r=this[rc],s=this[be];gy(this),s&&(!this[it]&&s.statusCode&&!s.shouldKeepAlive&&(this[it]=s.finish()||this[it]),this[be].destroy(),this[be]=null);let i=this[it]||new Ei("closed",J.getSocketInfo(this));if(r[as]=null,r[dy]=null,r.destroyed){W(r[ly]===0);let a=r[Wt].splice(r[Ot]);for(let c=0;c<a.length;c++){let l=a[c];J.errorRequest(r,l,i)}}else if(r[_e]>0&&i.code!=="UND_ERR_INFO"){let a=r[Wt][r[Ot]];r[Wt][r[Ot]++]=null,J.errorRequest(r,a,i)}r[uU]=r[Ot],W(r[_e]===0),r.emit("disconnect",r[uy],[r],i),r[Gn]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h1",defaultPipelining:1,write(...r){return wU(t,...r)},resume(){QU(t)},destroy(r,s){n?queueMicrotask(s):e.destroy(r).on("close",s)},get destroyed(){return e.destroyed},busy(r){return!!(e[pr]||e[ht]||e[jo]||e[As]===1||r&&(t[_e]>0&&!r.idempotent||t[_e]>0&&(r.upgrade||r.method==="CONNECT")||t[_e]>0&&J.bodyLength(r.body)!==0&&(J.isStream(r.body)||J.isAsyncIterable(r.body)||J.isFormDataLike(r.body))))}}}o(IU,"connectH1");function gy(t){t[Ci]&&(clearImmediate(t[Ci]),t[Ci]=null),t[As]=0}o(gy,"clearIdleSocketValidation");function yU(t,e){e[As]=1,e[Ci]=setImmediate(()=>{e[Ci]=null,e[As]=2,t[as]===e&&!e.destroyed&&t[Gn]()})}o(yU,"scheduleIdleSocketValidation");function QU(t){let e=t[as];if(e&&!e.destroyed){if(t[ny]===0?!e[Jo]&&e.unref&&(e.unref(),e[Jo]=!0):e[Jo]&&e.ref&&(e.ref(),e[Jo]=!1),t[_e]===0&&t[ly]>0&&e[mg]){if(e[As]===0)return yU(t,e),e[be].readMore(),e.destroyed,void 0;if(e[As]===1)return e[be].readMore(),e.destroyed,void 0}if(t[_e]===0&&(e[be].readMore(),e.destroyed))return;if(t[ny]===0)e[be].timeoutType!==pg&&e[be].setTimeout(t[oc],pg);else if(t[_e]>0&&e[be].statusCode<200&&e[be].timeoutType!==Ii){let n=t[Wt][t[Ot]],r=n.headersTimeout!=null?n.headersTimeout:t[gU];e[be].setTimeout(r,Ii)}}}o(QU,"resumeH1");function BU(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}o(BU,"shouldSendContentLength");function wU(t,e){let{method:n,path:r,host:s,upgrade:i,blocking:a,reset:c}=e,{body:l,headers:d,contentLength:g}=e,h=n==="PUT"||n==="POST"||n==="PATCH"||n==="QUERY"||n==="PROPFIND"||n==="PROPPATCH";if(J.isFormDataLike(l)){lg||(lg=mi().extractBody);let[v,Q]=lg(l);e.contentType==null&&d.push("content-type",Q),l=v.stream,g=v.length}else if(J.isBlobLike(l)&&e.contentType==null){let v=l.type;if(v){let Q=`${v}`;if(!J.isValidHeaderValue(Q))return J.errorRequest(t,e,new nU("invalid content-type header")),!1;d.push("content-type",Q)}}l&&typeof l.read=="function"&&l.read(0);let f=J.bodyLength(l);if(g=f??g,g===null&&(g=e.contentLength),g===0&&!h&&(g=null),BU(n)&&g>0&&e.contentLength!==null&&e.contentLength!==g){if(t[gg])return J.errorRequest(t,e,new is),!1;process.emitWarning(new is)}let m=t[as];gy(m);let C=o(v=>{if(!e.aborted){if(e.completed){(e.upgrade||e.method==="CONNECT")&&J.destroy(m,new os("aborted"));return}J.errorRequest(t,e,v||new cy),J.destroy(l),J.destroy(m,new os("aborted"))}},"abort");try{e.onConnect(C)}catch(v){J.errorRequest(t,e,v)}if(e.aborted)return!1;n==="HEAD"&&(m[ht]=!0),(i||n==="CONNECT")&&(m[ht]=!0),c!=null&&(m[ht]=c),t[ry]&&m[pU]++>=t[ry]&&(m[ht]=!0),a&&(m[jo]=!0);let y=`${n} ${r} HTTP/1.1\r
|
|
15
15
|
`;if(typeof s=="string"?y+=`host: ${s}\r
|
|
16
16
|
`:y+=t[cU],i?y+=`connection: upgrade\r
|
|
17
17
|
upgrade: ${i}\r
|
|
@@ -19,14 +19,14 @@ upgrade: ${i}\r
|
|
|
19
19
|
`:y+=`connection: close\r
|
|
20
20
|
`,Array.isArray(d))for(let v=0;v<d.length;v+=2){let Q=d[v+0],D=d[v+1];if(Array.isArray(D))for(let G=0;G<D.length;G++)y+=`${Q}: ${D[G]}\r
|
|
21
21
|
`;else y+=`${Q}: ${D}\r
|
|
22
|
-
`}return ey.sendHeaders.hasSubscribers&&ey.sendHeaders.publish({request:e,headers:y,socket:m}),!l||f===0?ay(C,null,t,e,m,g,y,h):J.isBuffer(l)?ay(C,l,t,e,m,g,y,h):J.isBlobLike(l)?typeof l.stream=="function"?Ay(C,l.stream(),t,e,m,g,y,h):
|
|
22
|
+
`}return ey.sendHeaders.hasSubscribers&&ey.sendHeaders.publish({request:e,headers:y,socket:m}),!l||f===0?ay(C,null,t,e,m,g,y,h):J.isBuffer(l)?ay(C,l,t,e,m,g,y,h):J.isBlobLike(l)?typeof l.stream=="function"?Ay(C,l.stream(),t,e,m,g,y,h):RU(C,l,t,e,m,g,y,h):J.isStream(l)?bU(C,l,t,e,m,g,y,h):J.isIterable(l)?Ay(C,l,t,e,m,g,y,h):W(!1),!0}o(wU,"writeH1");function bU(t,e,n,r,s,i,a,c){W(i!==0||n[_e]===0,"stream body cannot be pipelined");let l=!1,d=new ac({abort:t,socket:s,request:r,contentLength:i,client:n,expectsPayload:c,header:a}),g=o(function(C){if(!l)try{!d.write(C)&&this.pause&&this.pause()}catch(y){J.destroy(this,y)}},"onData"),h=o(function(){l||e.resume&&e.resume()},"onDrain"),f=o(function(){if(queueMicrotask(()=>{e.removeListener("error",m)}),!l){let C=new cy;queueMicrotask(()=>m(C))}},"onClose"),m=o(function(C){if(!l){if(l=!0,W(s.destroyed||s[pr]&&n[_e]<=1),s.off("drain",h).off("error",m),e.removeListener("data",g).removeListener("end",m).removeListener("close",f),!C)try{d.end()}catch(y){C=y}d.destroy(C),C&&(C.code!=="UND_ERR_INFO"||C.message!=="reset")?J.destroy(e,C):J.destroy(e)}},"onFinished");e.on("data",g).on("end",m).on("error",m).on("close",f),e.resume&&e.resume(),s.on("drain",h).on("error",m),e.errorEmitted??e.errored?setImmediate(()=>m(e.errored)):(e.endEmitted??e.readableEnded)&&setImmediate(()=>m(null)),(e.closeEmitted??e.closed)&&setImmediate(f)}o(bU,"writeStream");function ay(t,e,n,r,s,i,a,c){try{e?J.isBuffer(e)&&(W(i===e.byteLength,"buffer body must have content length"),s.cork(),s.write(`${a}content-length: ${i}\r
|
|
23
23
|
\r
|
|
24
24
|
`,"latin1"),s.write(e),s.uncork(),r.onBodySent(e),!c&&r.reset!==!1&&(s[ht]=!0)):i===0?s.write(`${a}content-length: 0\r
|
|
25
25
|
\r
|
|
26
26
|
`,"latin1"):(W(i===null,"no body must not have content length"),s.write(`${a}\r
|
|
27
|
-
`,"latin1")),r.onRequestSent(),n[Gn]()}catch(l){t(l)}}o(ay,"writeBuffer");async function
|
|
27
|
+
`,"latin1")),r.onRequestSent(),n[Gn]()}catch(l){t(l)}}o(ay,"writeBuffer");async function RU(t,e,n,r,s,i,a,c){W(i===e.size,"blob body must have content length");try{if(i!=null&&i!==e.size)throw new is;let l=Buffer.from(await e.arrayBuffer());s.cork(),s.write(`${a}content-length: ${i}\r
|
|
28
28
|
\r
|
|
29
|
-
`,"latin1"),s.write(l),s.uncork(),r.onBodySent(l),r.onRequestSent(),!c&&r.reset!==!1&&(s[ht]=!0),n[Gn]()}catch(l){t(l)}}o(
|
|
29
|
+
`,"latin1"),s.write(l),s.uncork(),r.onBodySent(l),r.onRequestSent(),!c&&r.reset!==!1&&(s[ht]=!0),n[Gn]()}catch(l){t(l)}}o(RU,"writeBlob");async function Ay(t,e,n,r,s,i,a,c){W(i!==0||n[_e]===0,"iterator body cannot be pipelined");let l=null;function d(){if(l){let f=l;l=null,f()}}o(d,"onDrain");let g=o(()=>new Promise((f,m)=>{W(l===null),s[it]?m(s[it]):l=f}),"waitForDrain");s.on("close",d).on("drain",d);let h=new ac({abort:t,socket:s,request:r,contentLength:i,client:n,expectsPayload:c,header:a});try{for await(let f of e){if(s[it])throw s[it];h.write(f)||await g()}h.end()}catch(f){h.destroy(f)}finally{s.off("close",d).off("drain",d)}}o(Ay,"writeIterable");var ac=class{static{o(this,"AsyncWriter")}constructor({abort:e,socket:n,request:r,contentLength:s,client:i,expectsPayload:a,header:c}){this.socket=n,this.request=r,this.contentLength=s,this.client=i,this.bytesWritten=0,this.expectsPayload=a,this.header=c,this.abort=e,n[pr]=!0}write(e){let{socket:n,request:r,contentLength:s,client:i,bytesWritten:a,expectsPayload:c,header:l}=this;if(n[it])throw n[it];if(n.destroyed)return!1;let d=Buffer.byteLength(e);if(!d)return!0;if(s!==null&&a+d>s){if(i[gg])throw new is;process.emitWarning(new is)}n.cork(),a===0&&(!c&&r.reset!==!1&&(n[ht]=!0),s===null?n.write(`${l}transfer-encoding: chunked\r
|
|
30
30
|
`,"latin1"):n.write(`${l}content-length: ${s}\r
|
|
31
31
|
\r
|
|
32
32
|
`,"latin1")),s===null&&n.write(`\r
|
|
@@ -37,32 +37,32 @@ ${d.toString(16)}\r
|
|
|
37
37
|
`,"latin1"):n===null&&e.write(`\r
|
|
38
38
|
0\r
|
|
39
39
|
\r
|
|
40
|
-
`,"latin1"),n!==null&&s!==n){if(r[gg])throw new is;process.emitWarning(new is)}e[be].timeout&&e[be].timeoutType===Ii&&e[be].timeout.refresh&&e[be].timeout.refresh(),r[Gn]()}}destroy(e){let{socket:n,client:r,abort:s}=this;n[pr]=!1,e&&(W(r[_e]<=1,"pipeline should only contain this request"),s(e))}};hy.exports=IU});var By=T((e8,Qy)=>{"use strict";var mn=require("node:assert"),{errorMonitor:Eg}=require("node:events"),{pipeline:RU}=require("node:stream"),de=ue(),{RequestContentLengthMismatchError:Ig,RequestAbortedError:Cg,SocketError:Wo,InformationalError:Ac}=pe(),{kUrl:cc,kReset:lc,kClient:yi,kRunning:dc,kPending:SU,kQueue:cs,kPendingIdx:Qg,kRunningIdx:fn,kError:Zt,kSocket:Ye,kStrictContentLength:vU,kOnError:Bg,kMaxConcurrentStreams:Iy,kHTTP2Session:zt,kResume:mr,kSize:xU,kHTTPContext:DU}=Re(),fr=Symbol("open streams"),fy,my=!1,uc;try{uc=require("node:http2")}catch{uc={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:TU,HTTP2_HEADER_METHOD:NU,HTTP2_HEADER_PATH:FU,HTTP2_HEADER_SCHEME:UU,HTTP2_HEADER_CONTENT_LENGTH:MU,HTTP2_HEADER_EXPECT:LU,HTTP2_HEADER_STATUS:yg}}=uc;function yy(t){let e=[];for(let[n,r]of Object.entries(t))if(Array.isArray(r))for(let s of r)e.push(Buffer.from(n),Buffer.from(s));else e.push(Buffer.from(n),Buffer.from(r));return e}o(yy,"parseH2Headers");function _U(t){let{[yg]:e,...n}=t;return yy(n)}o(_U,"parseH2ResponseHeaders");async function PU(t,e){t[Ye]=e,my||(my=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let n=uc.connect(t[cc],{createConnection:o(()=>e,"createConnection"),peerMaxConcurrentStreams:t[Iy]});n[fr]=0,n[yi]=t,n[Ye]=e,de.addListener(n,"error",GU),de.addListener(n,"frameError",$U),de.addListener(n,"end",YU),de.addListener(n,"goaway",HU),de.addListener(n,"close",function(){let{[yi]:s}=this,{[Ye]:i}=s,a=this[Ye][Zt]||this[Zt]||new Wo("closed",de.getSocketInfo(i));if(s[zt]=null,s.destroyed){mn(s[SU]===0);let c=s[cs].splice(s[fn]);for(let l=0;l<c.length;l++){let d=c[l];de.errorRequest(s,d,a)}}}),n.unref(),t[zt]=n,e[zt]=n,de.addListener(e,"error",function(s){this[Zt]=s,this[yi][Bg](s)}),de.addListener(e,"end",function(){de.destroy(this,new Wo("other side closed",de.getSocketInfo(this)))}),de.addListener(e,"close",function(){let s=this[Zt]||new Wo("closed",de.getSocketInfo(this));t[Ye]=null,this[zt]!=null&&this[zt].destroy(s),t[Qg]=t[fn],mn(t[dc]===0),t.emit("disconnect",t[cc],[t],s),t[mr]()});let r=!1;return e.on("close",()=>{r=!0}),{version:"h2",defaultPipelining:1/0,write(...s){return JU(t,...s)},resume(){OU(t)},destroy(s,i){r?queueMicrotask(i):e.destroy(s).on("close",i)},get destroyed(){return e.destroyed},busy(){return!1}}}o(PU,"connectH2");function OU(t){let e=t[Ye];e?.destroyed===!1&&(t[xU]===0&&t[Iy]===0?(e.unref(),t[zt].unref()):(e.ref(),t[zt].ref()))}o(OU,"resumeH2");function GU(t){this[Ye][Zt]=t,this[yi][Bg](t)}o(GU,"onHttp2SessionError");function $U(t,e,n){if(n===0){let r=new Ac(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[Ye][Zt]=r,this[yi][Bg](r)}}o($U,"onHttp2FrameError");function YU(){let t=new Wo("other side closed",de.getSocketInfo(this[Ye]));this.destroy(t),de.destroy(this[Ye],t)}o(YU,"onHttp2SessionEnd");function HU(t){let e=this[Zt]||new Wo(`HTTP/2: "GOAWAY" frame received with code ${t}`,de.getSocketInfo(this)),n=this[yi];if(n[Ye]=null,n[DU]=null,this[zt]!=null&&(this[zt].destroy(e),this[zt]=null),de.destroy(this[Ye],e),n[fn]<n[cs].length){let r=n[cs][n[fn]];n[cs][n[fn]++]=null,de.errorRequest(n,r,e),n[Qg]=n[fn]}mn(n[dc]===0),n.emit("disconnect",n[cc],[n],e),n[mr]()}o(HU,"onHTTP2GoAway");function VU(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}o(VU,"shouldSendContentLength");function JU(t,e){let n=t[zt],{method:r,path:s,host:i,upgrade:a,expectContinue:c,signal:l,headers:d}=e,{body:g}=e;if(a)return de.errorRequest(t,e,new Error("Upgrade not supported for H2")),!1;let h={};for(let P=0;P<d.length;P+=2){let ae=d[P+0],Ee=d[P+1];if(Array.isArray(Ee))for(let Ce=0;Ce<Ee.length;Ce++)h[ae]?h[ae]+=`,${Ee[Ce]}`:h[ae]=Ee[Ce];else h[ae]=Ee}let f,{hostname:m,port:C}=t[cc];h[TU]=i||`${m}${C?`:${C}`:""}`,h[NU]=r;let y=o(P=>{if(!e.aborted){if(e.completed){r==="CONNECT"&&f!=null&&de.destroy(f,P||new Cg);return}P=P||new Cg,de.errorRequest(t,e,P),f!=null&&de.destroy(f,P),de.destroy(g,P),t[cs][t[fn]++]=null,t[mr]()}},"abort");try{e.onConnect(y)}catch(P){de.errorRequest(t,e,P)}if(e.aborted)return!1;if(r==="CONNECT"){n.ref(),f=n.request(h,{endStream:!1,signal:l});let P=!1,ae=o(De=>{P=!0,f.off(Eg,Ee),e.onUpgradeResponse(Number(De[yg]),De,_U)},"onResponse"),Ee=o(De=>{P=!0,f.off("response",ae),e.onUpgradeError(De)},"onUpgradeError"),Ce=o(()=>{try{e.onUpgrade(null,null,f)}catch(De){f.off("response",ae),y(De);return}e.aborted||(f.off("error",y),f.once(Eg,Ee),t[cs][t[fn]++]=null)},"onReady");return f.once("response",ae),f.once("error",y),++n[fr],Ce(),f.once("close",()=>{!P&&e.completed&&(f.off("response",ae),f.off(Eg,Ee),e.onUpgradeError(new Ac(`HTTP/2: "stream error" received - code ${f.rstCode}`))),n[fr]-=1,n[fr]===0&&n.unref()}),!0}h[FU]=s,h[UU]="https";let v=r==="PUT"||r==="POST"||r==="PATCH";g&&typeof g.read=="function"&&g.read(0);let Q=de.bodyLength(g);if(de.isFormDataLike(g)){fy??=mi().extractBody;let[P,ae]=fy(g);h["content-type"]=ae,g=P.stream,Q=P.length}if(Q==null&&(Q=e.contentLength),(Q===0||!v)&&(Q=null),VU(r)&&Q>0&&e.contentLength!=null&&e.contentLength!==Q){if(t[vU])return de.errorRequest(t,e,new Ig),!1;process.emitWarning(new Ig)}Q!=null&&(mn(g,"no body must not have content length"),h[MU]=`${Q}`),n.ref();let D=r==="GET"||r==="HEAD"||g===null;return c?(h[LU]="100-continue",f=n.request(h,{endStream:D,signal:l}),f.once("continue",G)):(f=n.request(h,{endStream:D,signal:l}),G()),++n[fr],f.once("response",P=>{let{[yg]:ae,...Ee}=P;if(e.onResponseStarted(),e.aborted){let Ce=new Cg;de.errorRequest(t,e,Ce),de.destroy(f,Ce);return}e.onHeaders(Number(ae),yy(Ee),f.resume.bind(f),"")===!1&&f.pause(),f.on("data",Ce=>{e.onData(Ce)===!1&&f.pause()})}),f.once("end",()=>{(f.state?.state==null||f.state.state<6)&&e.onComplete([]),n[fr]===0&&n.unref(),y(new Ac("HTTP/2: stream half-closed (remote)")),t[cs][t[fn]++]=null,t[Qg]=t[fn],t[mr]()}),f.once("close",()=>{n[fr]-=1,n[fr]===0&&n.unref()}),f.once("error",function(P){y(P)}),f.once("frameError",(P,ae)=>{y(new Ac(`HTTP/2: "frameError" received - type ${P}, code ${ae}`))}),!0;function G(){!g||Q===0?Ey(y,f,null,t,e,t[Ye],Q,v):de.isBuffer(g)?Ey(y,f,g,t,e,t[Ye],Q,v):de.isBlobLike(g)?typeof g.stream=="function"?Cy(y,f,g.stream(),t,e,t[Ye],Q,v):jU(y,f,g,t,e,t[Ye],Q,v):de.isStream(g)?qU(y,t[Ye],v,f,g,t,e,Q):de.isIterable(g)?Cy(y,f,g,t,e,t[Ye],Q,v):mn(!1)}o(G,"writeBodyH2")}o(JU,"writeH2");function Ey(t,e,n,r,s,i,a,c){try{n!=null&&de.isBuffer(n)&&(mn(a===n.byteLength,"buffer body must have content length"),e.cork(),e.write(n),e.uncork(),e.end(),s.onBodySent(n)),c||(i[lc]=!0),s.onRequestSent(),r[mr]()}catch(l){t(l)}}o(Ey,"writeBuffer");function qU(t,e,n,r,s,i,a,c){mn(c!==0||i[dc]===0,"stream body cannot be pipelined");let l=RU(s,r,g=>{g?(de.destroy(l,g),t(g)):(de.removeAllListeners(l),a.onRequestSent(),n||(e[lc]=!0),i[mr]())});de.addListener(l,"data",d);function d(g){a.onBodySent(g)}o(d,"onPipeData")}o(qU,"writeStream");async function jU(t,e,n,r,s,i,a,c){mn(a===n.size,"blob body must have content length");try{if(a!=null&&a!==n.size)throw new Ig;let l=Buffer.from(await n.arrayBuffer());e.cork(),e.write(l),e.uncork(),e.end(),s.onBodySent(l),s.onRequestSent(),c||(i[lc]=!0),r[mr]()}catch(l){t(l)}}o(jU,"writeBlob");async function Cy(t,e,n,r,s,i,a,c){mn(a!==0||r[dc]===0,"iterator body cannot be pipelined");let l=null;function d(){if(l){let h=l;l=null,h()}}o(d,"onDrain");let g=o(()=>new Promise((h,f)=>{mn(l===null),i[Zt]?f(i[Zt]):l=h}),"waitForDrain");e.on("close",d).on("drain",d);try{for await(let h of n){if(i[Zt])throw i[Zt];let f=e.write(h);s.onBodySent(h),f||await g()}e.end(),s.onRequestSent(),c||(i[lc]=!0),r[mr]()}catch(h){t(h)}finally{e.off("close",d).off("drain",d)}}o(Cy,"writeIterable");Qy.exports=PU});var hc=T((n8,ky)=>{"use strict";var En=ue(),{kBodyUsed:zo}=Re(),bg=require("node:assert"),{InvalidArgumentError:WU}=pe(),zU=require("node:events"),ZU=[300,301,302,303,307,308],wy=Symbol("body"),gc=class{static{o(this,"BodyAsyncIterable")}constructor(e){this[wy]=e,this[zo]=!1}async*[Symbol.asyncIterator](){bg(!this[zo],"disturbed"),this[zo]=!0,yield*this[wy]}},wg=class{static{o(this,"RedirectHandler")}constructor(e,n,r,s){if(n!=null&&(!Number.isInteger(n)||n<0))throw new WU("maxRedirections must be a positive number");En.validateHandler(s,r.method,r.upgrade),this.dispatch=e,this.location=null,this.abort=null,this.opts={...r,maxRedirections:0},this.maxRedirections=n,this.handler=s,this.history=[],this.redirectionLimitReached=!1,En.isStream(this.opts.body)?(En.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){bg(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[zo]=!1,zU.prototype.on.call(this.opts.body,"data",function(){this[zo]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new gc(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&En.isIterable(this.opts.body)&&(this.opts.body=new gc(this.opts.body))}onConnect(e){this.abort=e,this.handler.onConnect(e,{history:this.history})}onUpgrade(e,n,r){this.handler.onUpgrade(e,n,r)}onError(e){this.handler.onError(e)}onHeaders(e,n,r,s){if(this.location=this.history.length>=this.maxRedirections||En.isDisturbed(this.opts.body)?null:KU(e,n),this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections){this.request&&this.request.abort(new Error("max redirects")),this.redirectionLimitReached=!0,this.abort(new Error("max redirects"));return}if(this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location)return this.handler.onHeaders(e,n,r,s);let{origin:i,pathname:a,search:c}=En.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),l=c?`${a}${c}`:a;this.opts.headers=XU(this.opts.headers,e===303,this.opts.origin!==i),this.opts.path=l,this.opts.origin=i,this.opts.maxRedirections=0,this.opts.query=null,e===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",this.opts.body=null)}onData(e){if(!this.location)return this.handler.onData(e)}onComplete(e){this.location?(this.location=null,this.abort=null,this.dispatch(this.opts,this)):this.handler.onComplete(e)}onBodySent(e){this.handler.onBodySent&&this.handler.onBodySent(e)}};function KU(t,e){if(ZU.indexOf(t)===-1)return null;for(let n=0;n<e.length;n+=2)if(e[n].length===8&&En.headerNameToString(e[n])==="location")return e[n+1]}o(KU,"parseLocation");function by(t,e,n){if(t.length===4)return En.headerNameToString(t)==="host";if(e&&En.headerNameToString(t).startsWith("content-"))return!0;if(n&&(t.length===13||t.length===6||t.length===19)){let r=En.headerNameToString(t);return r==="authorization"||r==="cookie"||r==="proxy-authorization"}return!1}o(by,"shouldRemoveHeader");function XU(t,e,n){let r=[];if(Array.isArray(t))for(let s=0;s<t.length;s+=2)by(t[s],e,n)||r.push(t[s],t[s+1]);else if(t&&typeof t=="object")for(let s of Object.keys(t))by(s,e,n)||r.push(s,t[s]);else bg(t==null,"headers must be an object or an array");return r}o(XU,"cleanRequestHeaders");ky.exports=wg});var pc=T((s8,Ry)=>{"use strict";var eM=hc();function tM({maxRedirections:t}){return e=>o(function(r,s){let{maxRedirections:i=t}=r;if(!i)return e(r,s);let a=new eM(e,i,r,s);return r={...r,maxRedirections:0},e(r,a)},"Intercept")}o(tM,"createRedirectInterceptor");Ry.exports=tM});var wi=T((o8,Ly)=>{"use strict";var $n=require("node:assert"),Ny=require("node:net"),nM=require("node:http"),us=ue(),{channels:Qi}=si(),rM=MC(),sM=Ai(),{InvalidArgumentError:Ue,InformationalError:iM,ClientDestroyedError:oM}=pe(),aM=Lo(),{kUrl:Cn,kServerName:Er,kClient:AM,kBusy:kg,kConnect:cM,kResuming:ls,kRunning:ta,kPending:na,kSize:ea,kQueue:Kt,kConnected:uM,kConnecting:Bi,kNeedDrain:Ir,kKeepAliveDefaultTimeout:Sy,kHostHeader:lM,kPendingIdx:Xt,kRunningIdx:Yn,kError:dM,kPipelining:fc,kKeepAliveTimeoutValue:gM,kMaxHeadersSize:hM,kKeepAliveMaxTimeout:pM,kKeepAliveTimeoutThreshold:fM,kHeadersTimeout:mM,kBodyTimeout:EM,kStrictContentLength:CM,kConnector:Zo,kMaxRedirections:IM,kMaxRequests:Rg,kCounter:yM,kClose:QM,kDestroy:BM,kDispatch:wM,kInterceptors:vy,kLocalAddress:Ko,kMaxResponseSize:bM,kOnError:kM,kHTTPContext:Me,kMaxConcurrentStreams:RM,kResume:Xo}=Re(),SM=py(),vM=By(),xy=!1,Cr=Symbol("kClosedResolve"),Dy=o(()=>{},"noop");function Fy(t){return t[fc]??t[Me]?.defaultPipelining??1}o(Fy,"getPipelining");var Sg=class extends sM{static{o(this,"Client")}constructor(e,{interceptors:n,maxHeaderSize:r,headersTimeout:s,socketTimeout:i,requestTimeout:a,connectTimeout:c,bodyTimeout:l,idleTimeout:d,keepAlive:g,keepAliveTimeout:h,maxKeepAliveTimeout:f,keepAliveMaxTimeout:m,keepAliveTimeoutThreshold:C,socketPath:y,pipelining:v,tls:Q,strictContentLength:D,maxCachedSessions:G,maxRedirections:P,connect:ae,maxRequestsPerClient:Ee,localAddress:Ce,maxResponseSize:De,autoSelectFamily:et,autoSelectFamilyAttemptTimeout:sn,maxConcurrentStreams:At,allowH2:Ge,webSocket:Tt,eventSource:xe}={}){if(super({webSocket:Tt,eventSource:xe}),g!==void 0)throw new Ue("unsupported keepAlive, use pipelining=0 instead");if(i!==void 0)throw new Ue("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(a!==void 0)throw new Ue("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(d!==void 0)throw new Ue("unsupported idleTimeout, use keepAliveTimeout instead");if(f!==void 0)throw new Ue("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(r!=null&&!Number.isFinite(r))throw new Ue("invalid maxHeaderSize");if(y!=null&&typeof y!="string")throw new Ue("invalid socketPath");if(c!=null&&(!Number.isFinite(c)||c<0))throw new Ue("invalid connectTimeout");if(h!=null&&(!Number.isFinite(h)||h<=0))throw new Ue("invalid keepAliveTimeout");if(m!=null&&(!Number.isFinite(m)||m<=0))throw new Ue("invalid keepAliveMaxTimeout");if(C!=null&&!Number.isFinite(C))throw new Ue("invalid keepAliveTimeoutThreshold");if(s!=null&&(!Number.isInteger(s)||s<0))throw new Ue("headersTimeout must be a positive integer or zero");if(l!=null&&(!Number.isInteger(l)||l<0))throw new Ue("bodyTimeout must be a positive integer or zero");if(ae!=null&&typeof ae!="function"&&typeof ae!="object")throw new Ue("connect must be a function or an object");if(P!=null&&(!Number.isInteger(P)||P<0))throw new Ue("maxRedirections must be a positive number");if(Ee!=null&&(!Number.isInteger(Ee)||Ee<0))throw new Ue("maxRequestsPerClient must be a positive number");if(Ce!=null&&(typeof Ce!="string"||Ny.isIP(Ce)===0))throw new Ue("localAddress must be valid string IP address");if(De!=null&&(!Number.isInteger(De)||De<-1))throw new Ue("maxResponseSize must be a positive number");if(sn!=null&&(!Number.isInteger(sn)||sn<-1))throw new Ue("autoSelectFamilyAttemptTimeout must be a positive number");if(Ge!=null&&typeof Ge!="boolean")throw new Ue("allowH2 must be a valid boolean value");if(At!=null&&(typeof At!="number"||At<1))throw new Ue("maxConcurrentStreams must be a positive integer, greater than 0");typeof ae!="function"&&(ae=aM({...Q,maxCachedSessions:G,allowH2:Ge,socketPath:y,timeout:c,...et?{autoSelectFamily:et,autoSelectFamilyAttemptTimeout:sn}:void 0,...ae})),n?.Client&&Array.isArray(n.Client)?(this[vy]=n.Client,xy||(xy=!0,process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.",{code:"UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"}))):this[vy]=[xM({maxRedirections:P})],this[Cn]=us.parseOrigin(e),this[Zo]=ae,this[fc]=v??1,this[hM]=r||nM.maxHeaderSize,this[Sy]=h??4e3,this[pM]=m??6e5,this[fM]=C??2e3,this[gM]=this[Sy],this[Er]=null,this[Ko]=Ce??null,this[ls]=0,this[Ir]=0,this[lM]=`host: ${this[Cn].hostname}${this[Cn].port?`:${this[Cn].port}`:""}\r
|
|
41
|
-
`,this[EM]=l??3e5,this[mM]=s??3e5,this[CM]=D??!0,this[IM]=P,this[Rg]=Ee,this[Cr]=null,this[bM]=De>-1?De:-1,this[RM]=At??100,this[Me]=null,this[Kt]=[],this[Yn]=0,this[Xt]=0,this[Xo]=Nt=>vg(this,Nt),this[kM]=Nt=>Uy(this,Nt)}get pipelining(){return this[fc]}set pipelining(e){this[fc]=e,this[Xo](!0)}get[na](){return this[Kt].length-this[Xt]}get[ta](){return this[Xt]-this[Yn]}get[ea](){return this[Kt].length-this[Yn]}get[uM](){return!!this[Me]&&!this[Bi]&&!this[Me].destroyed}get[kg](){return!!(this[Me]?.busy(null)||this[ea]>=(Fy(this)||1)||this[na]>0)}[cM](e){My(this),this.once("connect",e)}[wM](e,n){let r=e.origin||this[Cn].origin,s=new rM(r,e,n);return this[Kt].push(s),this[ls]||(us.bodyLength(s.body)==null&&us.isIterable(s.body)?(this[ls]=1,queueMicrotask(()=>vg(this))):this[Xo](!0)),this[ls]&&this[Ir]!==2&&this[kg]&&(this[Ir]=2),this[Ir]<2}async[QM](){return new Promise(e=>{this[ea]?this[Cr]=e:e(null)})}async[BM](e){return new Promise(n=>{let r=this[Kt].splice(this[Xt]);for(let i=0;i<r.length;i++){let a=r[i];us.errorRequest(this,a,e)}let s=o(()=>{this[Cr]&&(this[Cr](),this[Cr]=null),n(null)},"callback");this[Me]?(this[Me].destroy(e,s),this[Me]=null):queueMicrotask(s),this[Xo]()})}},xM=pc();function Uy(t,e){if(t[ta]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){$n(t[Xt]===t[Yn]);let n=t[Kt].splice(t[Yn]);for(let r=0;r<n.length;r++){let s=n[r];us.errorRequest(t,s,e)}$n(t[ea]===0)}}o(Uy,"onError");async function My(t){$n(!t[Bi]),$n(!t[Me]);let{host:e,hostname:n,protocol:r,port:s}=t[Cn];if(n[0]==="["){let i=n.indexOf("]");$n(i!==-1);let a=n.substring(1,i);$n(Ny.isIP(a)),n=a}t[Bi]=!0,Qi.beforeConnect.hasSubscribers&&Qi.beforeConnect.publish({connectParams:{host:e,hostname:n,protocol:r,port:s,version:t[Me]?.version,servername:t[Er],localAddress:t[Ko]},connector:t[Zo]});try{let i=await new Promise((a,c)=>{t[Zo]({host:e,hostname:n,protocol:r,port:s,servername:t[Er],localAddress:t[Ko]},(l,d)=>{l?c(l):a(d)})});if(t.destroyed){us.destroy(i.on("error",Dy),new oM);return}$n(i);try{t[Me]=i.alpnProtocol==="h2"?await vM(t,i):await SM(t,i)}catch(a){throw i.destroy().on("error",Dy),a}t[Bi]=!1,i[yM]=0,i[Rg]=t[Rg],i[AM]=t,i[dM]=null,Qi.connected.hasSubscribers&&Qi.connected.publish({connectParams:{host:e,hostname:n,protocol:r,port:s,version:t[Me]?.version,servername:t[Er],localAddress:t[Ko]},connector:t[Zo],socket:i}),t.emit("connect",t[Cn],[t])}catch(i){if(t.destroyed)return;if(t[Bi]=!1,Qi.connectError.hasSubscribers&&Qi.connectError.publish({connectParams:{host:e,hostname:n,protocol:r,port:s,version:t[Me]?.version,servername:t[Er],localAddress:t[Ko]},connector:t[Zo],error:i}),i.code==="ERR_TLS_CERT_ALTNAME_INVALID")for($n(t[ta]===0);t[na]>0&&t[Kt][t[Xt]].servername===t[Er];){let a=t[Kt][t[Xt]++];us.errorRequest(t,a,i)}else Uy(t,i);t.emit("connectionError",t[Cn],[t],i)}t[Xo]()}o(My,"connect");function Ty(t){t[Ir]=0,t.emit("drain",t[Cn],[t])}o(Ty,"emitDrain");function vg(t,e){t[ls]!==2&&(t[ls]=2,DM(t,e),t[ls]=0,t[Yn]>256&&(t[Kt].splice(0,t[Yn]),t[Xt]-=t[Yn],t[Yn]=0))}o(vg,"resume");function DM(t,e){for(;;){if(t.destroyed){$n(t[na]===0);return}if(t[Cr]&&!t[ea]){t[Cr](),t[Cr]=null;return}if(t[Me]&&t[Me].resume(),t[kg])t[Ir]=2;else if(t[Ir]===2){e?(t[Ir]=1,queueMicrotask(()=>Ty(t))):Ty(t);continue}if(t[na]===0||t[ta]>=(Fy(t)||1))return;let n=t[Kt][t[Xt]];if(t[Cn].protocol==="https:"&&t[Er]!==n.servername){if(t[ta]>0)return;t[Er]=n.servername,t[Me]?.destroy(new iM("servername changed"),()=>{t[Me]=null,vg(t)})}if(t[Bi])return;if(!t[Me]){My(t);return}if(t[Me].destroyed||t[Me].busy(n))return;!n.aborted&&t[Me].write(n)?t[Xt]++:t[Kt].splice(t[Xt],1)}}o(DM,"_resume");Ly.exports=Sg});var xg=T((c8,_y)=>{"use strict";var mc=class{static{o(this,"FixedCircularBuffer")}constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};_y.exports=class{static{o(this,"FixedQueue")}constructor(){this.head=this.tail=new mc}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new mc),this.head.push(e)}shift(){let e=this.tail,n=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),n}}});var Oy=T((l8,Py)=>{var{kFree:TM,kConnected:NM,kPending:FM,kQueued:UM,kRunning:MM,kSize:LM}=Re(),ds=Symbol("pool"),Dg=class{static{o(this,"PoolStats")}constructor(e){this[ds]=e}get connected(){return this[ds][NM]}get free(){return this[ds][TM]}get pending(){return this[ds][FM]}get queued(){return this[ds][UM]}get running(){return this[ds][MM]}get size(){return this[ds][LM]}};Py.exports=Dg});var Lg=T((g8,zy)=>{"use strict";var _M=Ai(),PM=xg(),{kConnected:Tg,kSize:Gy,kRunning:$y,kPending:Yy,kQueued:ra,kBusy:OM,kFree:GM,kUrl:$M,kClose:YM,kDestroy:HM,kDispatch:VM}=Re(),JM=Oy(),pt=Symbol("clients"),ot=Symbol("needDrain"),sa=Symbol("queue"),Ng=Symbol("closed resolve"),Fg=Symbol("onDrain"),Hy=Symbol("onConnect"),Vy=Symbol("onDisconnect"),Jy=Symbol("onConnectionError"),Ug=Symbol("get dispatcher"),jy=Symbol("add client"),Wy=Symbol("remove client"),qy=Symbol("stats"),Mg=class extends _M{static{o(this,"PoolBase")}constructor(e){super(e),this[sa]=new PM,this[pt]=[],this[ra]=0;let n=this;this[Fg]=o(function(s,i){let a=n[sa],c=!1;for(;!c;){let l=a.shift();if(!l)break;n[ra]--,c=!this.dispatch(l.opts,l.handler)}this[ot]=c,!this[ot]&&n[ot]&&(n[ot]=!1,n.emit("drain",s,[n,...i])),n[Ng]&&a.isEmpty()&&Promise.all(n[pt].map(l=>l.close())).then(n[Ng])},"onDrain"),this[Hy]=(r,s)=>{n.emit("connect",r,[n,...s])},this[Vy]=(r,s,i)=>{n.emit("disconnect",r,[n,...s],i)},this[Jy]=(r,s,i)=>{n.emit("connectionError",r,[n,...s],i)},this[qy]=new JM(this)}get[OM](){return this[ot]}get[Tg](){return this[pt].filter(e=>e[Tg]).length}get[GM](){return this[pt].filter(e=>e[Tg]&&!e[ot]).length}get[Yy](){let e=this[ra];for(let{[Yy]:n}of this[pt])e+=n;return e}get[$y](){let e=0;for(let{[$y]:n}of this[pt])e+=n;return e}get[Gy](){let e=this[ra];for(let{[Gy]:n}of this[pt])e+=n;return e}get stats(){return this[qy]}async[YM](){this[sa].isEmpty()?await Promise.all(this[pt].map(e=>e.close())):await new Promise(e=>{this[Ng]=e})}async[HM](e){for(;;){let n=this[sa].shift();if(!n)break;n.handler.onError(e)}await Promise.all(this[pt].map(n=>n.destroy(e)))}[VM](e,n){let r=this[Ug]();return r?r.dispatch(e,n)||(r[ot]=!0,this[ot]=!this[Ug]()):(this[ot]=!0,this[sa].push({opts:e,handler:n}),this[ra]++),!this[ot]}[jy](e){return e.on("drain",this[Fg]).on("connect",this[Hy]).on("disconnect",this[Vy]).on("connectionError",this[Jy]),this[pt].push(e),this[ot]&&queueMicrotask(()=>{this[ot]&&this[Fg](e[$M],[this,e])}),this}[Wy](e){e.close(()=>{let n=this[pt].indexOf(e);n!==-1&&this[pt].splice(n,1)}),this[ot]=this[pt].some(n=>!n[ot]&&n.closed!==!0&&n.destroyed!==!0)}};zy.exports={PoolBase:Mg,kClients:pt,kNeedDrain:ot,kAddClient:jy,kRemoveClient:Wy,kGetDispatcher:Ug}});var bi=T((p8,eQ)=>{"use strict";var{PoolBase:qM,kClients:Ec,kNeedDrain:jM,kAddClient:WM,kGetDispatcher:zM}=Lg(),ZM=wi(),{InvalidArgumentError:_g}=pe(),Zy=ue(),{kUrl:Ky,kInterceptors:KM}=Re(),XM=Lo(),Pg=Symbol("options"),Og=Symbol("connections"),Xy=Symbol("factory");function eL(t,e){return new ZM(t,e)}o(eL,"defaultFactory");var Gg=class extends qM{static{o(this,"Pool")}constructor(e,{connections:n,factory:r=eL,connect:s,connectTimeout:i,tls:a,maxCachedSessions:c,socketPath:l,autoSelectFamily:d,autoSelectFamilyAttemptTimeout:g,allowH2:h,...f}={}){if(n!=null&&(!Number.isFinite(n)||n<0))throw new _g("invalid connections");if(typeof r!="function")throw new _g("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new _g("connect must be a function or an object");typeof s!="function"&&(s=XM({...a,maxCachedSessions:c,allowH2:h,socketPath:l,timeout:i,...d?{autoSelectFamily:d,autoSelectFamilyAttemptTimeout:g}:void 0,...s})),super(f),this[KM]=f.interceptors?.Pool&&Array.isArray(f.interceptors.Pool)?f.interceptors.Pool:[],this[Og]=n||null,this[Ky]=Zy.parseOrigin(e),this[Pg]={...Zy.deepClone(f),connect:s,allowH2:h},this[Pg].interceptors=f.interceptors?{...f.interceptors}:void 0,this[Xy]=r,this.on("connectionError",(m,C,y)=>{for(let v of C){let Q=this[Ec].indexOf(v);Q!==-1&&this[Ec].splice(Q,1)}})}[zM](){for(let e of this[Ec])if(!e[jM])return e;if(!this[Og]||this[Ec].length<this[Og]){let e=this[Xy](this[Ky],this[Pg]);return this[WM](e),e}}};eQ.exports=Gg});var iQ=T((m8,sQ)=>{"use strict";var{BalancedPoolMissingUpstreamError:tL,InvalidArgumentError:nL}=pe(),{PoolBase:rL,kClients:Ke,kNeedDrain:ia,kAddClient:sL,kRemoveClient:iL,kGetDispatcher:oL}=Lg(),aL=bi(),{kUrl:$g,kInterceptors:AL}=Re(),{parseOrigin:tQ}=ue(),nQ=Symbol("factory"),Cc=Symbol("options"),rQ=Symbol("kGreatestCommonDivisor"),gs=Symbol("kCurrentWeight"),hs=Symbol("kIndex"),Gt=Symbol("kWeight"),Ic=Symbol("kMaxWeightPerServer"),yc=Symbol("kErrorPenalty");function cL(t,e){if(t===0)return e;for(;e!==0;){let n=e;e=t%e,t=n}return t}o(cL,"getGreatestCommonDivisor");function uL(t,e){return new aL(t,e)}o(uL,"defaultFactory");var Yg=class extends rL{static{o(this,"BalancedPool")}constructor(e=[],{factory:n=uL,...r}={}){if(super(),this[Cc]=r,this[hs]=-1,this[gs]=0,this[Ic]=this[Cc].maxWeightPerServer||100,this[yc]=this[Cc].errorPenalty||15,Array.isArray(e)||(e=[e]),typeof n!="function")throw new nL("factory must be a function.");this[AL]=r.interceptors?.BalancedPool&&Array.isArray(r.interceptors.BalancedPool)?r.interceptors.BalancedPool:[],this[nQ]=n;for(let s of e)this.addUpstream(s);this._updateBalancedPoolStats()}addUpstream(e){let n=tQ(e).origin;if(this[Ke].find(s=>s[$g].origin===n&&s.closed!==!0&&s.destroyed!==!0))return this;let r=this[nQ](n,Object.assign({},this[Cc]));this[sL](r),r.on("connect",()=>{r[Gt]=Math.min(this[Ic],r[Gt]+this[yc])}),r.on("connectionError",()=>{r[Gt]=Math.max(1,r[Gt]-this[yc]),this._updateBalancedPoolStats()}),r.on("disconnect",(...s)=>{let i=s[2];i&&i.code==="UND_ERR_SOCKET"&&(r[Gt]=Math.max(1,r[Gt]-this[yc]),this._updateBalancedPoolStats())});for(let s of this[Ke])s[Gt]=this[Ic];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let e=0;for(let n=0;n<this[Ke].length;n++)e=cL(this[Ke][n][Gt],e);this[rQ]=e}removeUpstream(e){let n=tQ(e).origin,r=this[Ke].find(s=>s[$g].origin===n&&s.closed!==!0&&s.destroyed!==!0);return r&&this[iL](r),this}get upstreams(){return this[Ke].filter(e=>e.closed!==!0&&e.destroyed!==!0).map(e=>e[$g].origin)}[oL](){if(this[Ke].length===0)throw new tL;if(!this[Ke].find(i=>!i[ia]&&i.closed!==!0&&i.destroyed!==!0)||this[Ke].map(i=>i[ia]).reduce((i,a)=>i&&a,!0))return;let r=0,s=this[Ke].findIndex(i=>!i[ia]);for(;r++<this[Ke].length;){this[hs]=(this[hs]+1)%this[Ke].length;let i=this[Ke][this[hs]];if(i[Gt]>this[Ke][s][Gt]&&!i[ia]&&(s=this[hs]),this[hs]===0&&(this[gs]=this[gs]-this[rQ],this[gs]<=0&&(this[gs]=this[Ic])),i[Gt]>=this[gs]&&!i[ia])return i}return this[gs]=this[Ke][s][Gt],this[hs]=s,this[Ke][s]}};sQ.exports=Yg});var ki=T((C8,dQ)=>{"use strict";var{InvalidArgumentError:Qc}=pe(),{kClients:yr,kRunning:oQ,kClose:lL,kDestroy:dL,kDispatch:gL,kInterceptors:hL}=Re(),pL=Ai(),fL=bi(),mL=wi(),EL=ue(),CL=pc(),aQ=Symbol("onConnect"),AQ=Symbol("onDisconnect"),cQ=Symbol("onConnectionError"),IL=Symbol("maxRedirections"),uQ=Symbol("onDrain"),lQ=Symbol("factory"),Hg=Symbol("options");function yL(t,e){return e&&e.connections===1?new mL(t,e):new fL(t,e)}o(yL,"defaultFactory");var Vg=class extends pL{static{o(this,"Agent")}constructor({factory:e=yL,maxRedirections:n=0,connect:r,tls:s,...i}={}){if(typeof e!="function")throw new Qc("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new Qc("connect must be a function or an object");if(!Number.isInteger(n)||n<0)throw new Qc("maxRedirections must be a positive number");super(i),r&&typeof r!="function"&&(r={...r}),s&&typeof s!="function"&&(s={...s}),this[hL]=i.interceptors?.Agent&&Array.isArray(i.interceptors.Agent)?i.interceptors.Agent:[CL({maxRedirections:n})],this[Hg]={...EL.deepClone(i),connect:r,tls:s},this[Hg].interceptors=i.interceptors?{...i.interceptors}:void 0,this[IL]=n,this[lQ]=e,this[yr]=new Map,this[uQ]=(a,c)=>{this.emit("drain",a,[this,...c])},this[aQ]=(a,c)=>{this.emit("connect",a,[this,...c])},this[AQ]=(a,c,l)=>{this.emit("disconnect",a,[this,...c],l)},this[cQ]=(a,c,l)=>{this.emit("connectionError",a,[this,...c],l)}}get[oQ](){let e=0;for(let n of this[yr].values())e+=n[oQ];return e}[gL](e,n){let r;if(e.origin&&(typeof e.origin=="string"||e.origin instanceof URL))r=String(e.origin);else throw new Qc("opts.origin must be a non-empty string or URL.");let s=this[yr].get(r);return s||(s=this[lQ](e.origin,this[Hg]).on("drain",this[uQ]).on("connect",this[aQ]).on("disconnect",this[AQ]).on("connectionError",this[cQ]),this[yr].set(r,s)),s.dispatch(e,n)}async[lL](){let e=[];for(let n of this[yr].values())e.push(n.close());this[yr].clear(),await Promise.all(e)}async[dL](e){let n=[];for(let r of this[yr].values())n.push(r.destroy(e));this[yr].clear(),await Promise.all(n)}};dQ.exports=Vg});var zg=T((y8,BQ)=>{"use strict";var{kProxy:Jg,kClose:EQ,kDestroy:CQ,kDispatch:gQ,kInterceptors:QL}=Re(),{URL:ps}=require("node:url"),BL=ki(),IQ=bi(),yQ=Ai(),{InvalidArgumentError:Ri,RequestAbortedError:wL,SecureProxyConnectionError:bL}=pe(),hQ=Lo(),QQ=wi(),Bc=Symbol("proxy agent"),wc=Symbol("proxy client"),Qr=Symbol("proxy headers"),qg=Symbol("request tls settings"),pQ=Symbol("proxy tls settings"),fQ=Symbol("connect endpoint function"),mQ=Symbol("tunnel proxy");function kL(t){return t==="https:"?443:80}o(kL,"defaultProtocolPort");function RL(t,e){return new IQ(t,e)}o(RL,"defaultFactory");var SL=o(()=>{},"noop");function vL(t,e){return e.connections===1?new QQ(t,e):new IQ(t,e)}o(vL,"defaultAgentFactory");var jg=class extends yQ{static{o(this,"Http1ProxyWrapper")}#e;constructor(e,{headers:n={},connect:r,factory:s}){if(super(),!e)throw new Ri("Proxy URL is mandatory");this[Qr]=n,s?this.#e=s(e,{connect:r}):this.#e=new QQ(e,{connect:r})}[gQ](e,n){let r=n.onHeaders;n.onHeaders=function(c,l,d){if(c===407){typeof n.onError=="function"&&n.onError(new Ri("Proxy Authentication Required (407)"));return}r&&r.call(this,c,l,d)};let{origin:s,path:i="/",headers:a={}}=e;if(e.path=s+i,!("host"in a)&&!("Host"in a)){let{host:c}=new ps(s);a.host=c}return e.headers={...this[Qr],...a},this.#e[gQ](e,n)}async[EQ](){return this.#e.close()}async[CQ](e){return this.#e.destroy(e)}},Wg=class extends yQ{static{o(this,"ProxyAgent")}constructor(e){if(super(),!e||typeof e=="object"&&!(e instanceof ps)&&!e.uri)throw new Ri("Proxy uri is mandatory");let{clientFactory:n=RL}=e;if(typeof n!="function")throw new Ri("Proxy opts.clientFactory must be a function.");let{proxyTunnel:r=!0}=e,s=this.#e(e),{href:i,origin:a,port:c,protocol:l,username:d,password:g,hostname:h}=s;if(this[Jg]={uri:i,protocol:l},this[QL]=e.interceptors?.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[],this[qg]=e.requestTls,this[pQ]=e.proxyTls,this[Qr]=e.headers||{},this[mQ]=r,e.auth&&e.token)throw new Ri("opts.auth cannot be used in combination with opts.token");e.auth?this[Qr]["proxy-authorization"]=`Basic ${e.auth}`:e.token?this[Qr]["proxy-authorization"]=e.token:d&&g&&(this[Qr]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(d)}:${decodeURIComponent(g)}`).toString("base64")}`);let f=hQ({...e.proxyTls});this[fQ]=hQ({...e.requestTls});let m=e.factory||vL,C=o((y,v)=>{let{protocol:Q}=new ps(y);return!this[mQ]&&Q==="http:"&&this[Jg].protocol==="http:"?new jg(this[Jg].uri,{headers:this[Qr],connect:f,factory:m}):m(y,v)},"factory");this[wc]=n(s,{connect:f}),this[Bc]=new BL({...e,factory:C,connect:o(async(y,v)=>{let Q=y.host;y.port||(Q+=`:${kL(y.protocol)}`);try{let{socket:D,statusCode:G}=await this[wc].connect({origin:a,port:c,path:Q,signal:y.signal,headers:{...this[Qr],host:y.host},servername:this[pQ]?.servername||h});if(G!==200&&(D.on("error",SL).destroy(),v(new wL(`Proxy response (${G}) !== 200 when HTTP Tunneling`))),y.protocol!=="https:"){v(null,D);return}let P;this[qg]?P=this[qg].servername:P=y.servername,this[fQ]({...y,servername:P,httpSocket:D},v)}catch(D){D.code==="ERR_TLS_CERT_ALTNAME_INVALID"?v(new bL(D)):v(D)}},"connect")})}dispatch(e,n){let r=xL(e.headers);if(DL(r),r&&!("host"in r)&&!("Host"in r)){let{host:s}=new ps(e.origin);r.host=s}return this[Bc].dispatch({...e,headers:r},n)}#e(e){return typeof e=="string"?new ps(e):e instanceof ps?e:new ps(e.uri)}async[EQ](){await this[Bc].close(),await this[wc].close()}async[CQ](){await this[Bc].destroy(),await this[wc].destroy()}};function xL(t){if(Array.isArray(t)){let e={};for(let n=0;n<t.length;n+=2)e[t[n]]=t[n+1];return e}return t}o(xL,"buildHeaders");function DL(t){if(t&&Object.keys(t).find(n=>n.toLowerCase()==="proxy-authorization"))throw new Ri("Proxy-Authorization should be sent in ProxyAgent constructor")}o(DL,"throwIfProxyAuthIsSent");BQ.exports=Wg});var vQ=T((B8,SQ)=>{"use strict";var TL=Ai(),{kClose:NL,kDestroy:FL,kClosed:wQ,kDestroyed:bQ,kDispatch:UL,kNoProxyAgent:oa,kHttpProxyAgent:Br,kHttpsProxyAgent:fs}=Re(),kQ=zg(),ML=ki(),LL={"http:":80,"https:":443},RQ=!1,Zg=class extends TL{static{o(this,"EnvHttpProxyAgent")}#e=null;#t=null;#n=null;constructor(e={}){super(),this.#n=e,RQ||(RQ=!0,process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.",{code:"UNDICI-EHPA"}));let{httpProxy:n,httpsProxy:r,noProxy:s,...i}=e;this[oa]=new ML(i);let a=n??process.env.http_proxy??process.env.HTTP_PROXY;a?this[Br]=new kQ({...i,uri:a}):this[Br]=this[oa];let c=r??process.env.https_proxy??process.env.HTTPS_PROXY;c?this[fs]=new kQ({...i,uri:c}):this[fs]=this[Br],this.#r()}[UL](e,n){let r=new URL(e.origin);return this.#s(r).dispatch(e,n)}async[NL](){await this[oa].close(),this[Br][wQ]||await this[Br].close(),this[fs][wQ]||await this[fs].close()}async[FL](e){await this[oa].destroy(e),this[Br][bQ]||await this[Br].destroy(e),this[fs][bQ]||await this[fs].destroy(e)}#s(e){let{protocol:n,host:r,port:s}=e;return r=r.replace(/:\d*$/,"").toLowerCase(),s=Number.parseInt(s,10)||LL[n]||0,this.#i(r,s)?n==="https:"?this[fs]:this[Br]:this[oa]}#i(e,n){if(this.#o&&this.#r(),this.#t.length===0)return!0;if(this.#e==="*")return!1;for(let r=0;r<this.#t.length;r++){let s=this.#t[r];if(!(s.port&&s.port!==n)){if(/^[.*]/.test(s.hostname)){if(e.endsWith(s.hostname.replace(/^\*/,"")))return!1}else if(e===s.hostname)return!1}}return!0}#r(){let e=this.#n.noProxy??this.#a,n=e.split(/[,\s]/),r=[];for(let s=0;s<n.length;s++){let i=n[s];if(!i)continue;let a=i.match(/^(.+):(\d+)$/);r.push({hostname:(a?a[1]:i).toLowerCase(),port:a?Number.parseInt(a[2],10):0})}this.#e=e,this.#t=r}get#o(){return this.#n.noProxy!==void 0?!1:this.#e!==this.#a}get#a(){return process.env.no_proxy??process.env.NO_PROXY??""}};SQ.exports=Zg});var bc=T((b8,FQ)=>{"use strict";var aa=require("node:assert"),{kRetryHandlerDefaultRetry:xQ}=Re(),{RequestRetryError:ms}=pe(),{isDisturbed:DQ,parseHeaders:_L,parseRangeHeader:TQ,wrapRequestBody:PL}=ue();function OL(t){let e=Date.now();return new Date(t).getTime()-e}o(OL,"calculateRetryAfterHeader");function NQ(t,e,n,r){let s=t["content-length"];if(s==null||!Number.isFinite(e.start)||!Number.isFinite(e.end))return null;let i=Number(s),a=e.end-e.start+1;return!Number.isFinite(i)||i!==a?new ms("Content-Length mismatch",n,{headers:t,data:{count:r}}):null}o(NQ,"validatePartialResponseContentLength");var Kg=class t{static{o(this,"RetryHandler")}constructor(e,n){let{retryOptions:r,...s}=e,{retry:i,maxRetries:a,maxTimeout:c,minTimeout:l,timeoutFactor:d,methods:g,errorCodes:h,retryAfter:f,statusCodes:m}=r??{};this.dispatch=n.dispatch,this.handler=n.handler,this.opts={...s,body:PL(e.body)},this.abort=null,this.aborted=!1,this.retryOpts={retry:i??t[xQ],retryAfter:f??!0,maxTimeout:c??30*1e3,minTimeout:l??500,timeoutFactor:d??2,maxRetries:a??5,methods:g??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:m??[500,502,503,504,429],errorCodes:h??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.start=0,this.end=null,this.etag=null,this.resume=null,this.headersSent=!1,this.handler.onConnect(C=>{this.aborted=!0,this.abort?this.abort(C):this.reason=C})}checkpointResponseEnd(e,n){if(this.end==null&&this.opts.method!=="HEAD"){let r=e["content-length"];this.end=r!=null?Number(r)-1:null,aa(this.end==null||Number.isFinite(this.end),"invalid content-length")}this.resume=this.end!=null?n:null}onRequestSent(){this.handler.onRequestSent&&this.handler.onRequestSent()}onUpgrade(e,n,r){this.handler.onUpgrade&&this.handler.onUpgrade(e,n,r)}onConnect(e){this.aborted?e(this.reason):this.abort=e}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[xQ](e,{state:n,opts:r},s){let{statusCode:i,code:a,headers:c}=e,{method:l,retryOptions:d}=r,{maxRetries:g,minTimeout:h,maxTimeout:f,timeoutFactor:m,statusCodes:C,errorCodes:y,methods:v}=d,{counter:Q}=n;if(a&&a!=="UND_ERR_REQ_RETRY"&&!y.includes(a)){s(e);return}if(Array.isArray(v)&&!v.includes(l)){s(e);return}if(i!=null&&Array.isArray(C)&&!C.includes(i)){s(e);return}if(Q>g){s(e);return}let D=c?.["retry-after"];D&&(D=Number(D),D=Number.isNaN(D)?OL(D):D*1e3);let G=D>0?Math.min(D,f):Math.min(h*m**(Q-1),f);setTimeout(()=>s(null),G)}onHeaders(e,n,r,s){let i=_L(n);if(this.retryCount+=1,e>=300)return!this.headersSent&&this.retryOpts.statusCodes.includes(e)===!1?(this.headersSent=!0,this.checkpointResponseEnd(i,r),this.handler.onHeaders(e,n,r,s)):(this.abort(new ms("Request failed",e,{headers:i,data:{count:this.retryCount}})),!1);if(this.resume!=null){if(this.resume=null,e!==206&&(this.start>0||e!==200))return this.abort(new ms("server does not support the range header and the payload was partially consumed",e,{headers:i,data:{count:this.retryCount}})),!1;let c=TQ(i["content-range"]);if(!c)return this.abort(new ms("Content-Range mismatch",e,{headers:i,data:{count:this.retryCount}})),!1;if(this.etag!=null&&this.etag!==i.etag)return this.abort(new ms("ETag mismatch",e,{headers:i,data:{count:this.retryCount}})),!1;let l=NQ(i,c,e,this.retryCount);if(l!=null)return this.abort(l),!1;let{start:d,size:g,end:h=g-1}=c;return this.start!==d||this.end!=null&&this.end!==h?(this.abort(new ms("Content-Range mismatch",e,{headers:i,data:{count:this.retryCount}})),!1):(this.resume=r,!0)}if(this.end==null){if(e===206){let c=TQ(i["content-range"]);if(c==null)return this.headersSent=!0,this.handler.onHeaders(e,n,r,s);let l=NQ(i,c,e,this.retryCount);if(l!=null)return this.abort(l),!1;let{start:d,size:g,end:h=g-1}=c;aa(d!=null&&Number.isFinite(d),"content-range mismatch"),aa(h!=null&&Number.isFinite(h),"invalid content-length"),this.start=d,this.end=h}if(this.end==null){let c=i["content-length"];this.end=c!=null?Number(c)-1:null}return aa(Number.isFinite(this.start)),aa(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=r,this.headersSent=!0,this.etag=i.etag!=null?i.etag:null,this.etag!=null&&this.etag.startsWith("W/")&&(this.etag=null),this.handler.onHeaders(e,n,r,s)}let a=new ms("Request failed",e,{headers:i,data:{count:this.retryCount}});return this.abort(a),!1}onData(e){return this.start+=e.length,this.handler.onData(e)}onComplete(e){return this.retryCount=0,this.handler.onComplete(e)}onError(e){if(this.aborted||DQ(this.opts.body)||this.headersSent&&this.resume==null)return this.handler.onError(e);this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(e,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},n.bind(this));function n(r){if(r!=null||this.aborted||DQ(this.opts.body))return this.handler.onError(r);if(this.start!==0){let s={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(s["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...s}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(s){this.handler.onError(s)}}o(n,"onRetry")}};FQ.exports=Kg});var MQ=T((R8,UQ)=>{"use strict";var GL=Uo(),$L=bc(),Xg=class extends GL{static{o(this,"RetryAgent")}#e=null;#t=null;constructor(e,n={}){super(n),this.#e=e,this.#t=n}dispatch(e,n){let r=new $L({...e,retryOptions:this.#t},{dispatch:this.#e.dispatch.bind(this.#e),handler:n});return this.#e.dispatch(e,r)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}};UQ.exports=Xg});var ih=T((v8,VQ)=>{"use strict";var GQ=require("node:assert"),{Readable:YL}=require("node:stream"),{RequestAbortedError:$Q,NotSupportedError:HL,InvalidArgumentError:VL,AbortError:eh}=pe(),YQ=ue(),{ReadableStreamFrom:JL}=ue(),wt=Symbol("kConsume"),Aa=Symbol("kReading"),wr=Symbol("kBody"),LQ=Symbol("kAbort"),HQ=Symbol("kContentType"),_Q=Symbol("kContentLength"),qL=o(()=>{},"noop"),th=class extends YL{static{o(this,"BodyReadable")}constructor({resume:e,abort:n,contentType:r="",contentLength:s,highWaterMark:i=64*1024}){super({autoDestroy:!0,read:e,highWaterMark:i}),this._readableState.dataEmitted=!1,this[LQ]=n,this[wt]=null,this[wr]=null,this[HQ]=r,this[_Q]=s,this[Aa]=!1}destroy(e){return!e&&!this._readableState.endEmitted&&(e=new $Q),e&&this[LQ](),super.destroy(e)}_destroy(e,n){this[Aa]?n(e):setImmediate(()=>{n(e)})}on(e,...n){return(e==="data"||e==="readable")&&(this[Aa]=!0),super.on(e,...n)}addListener(e,...n){return this.on(e,...n)}off(e,...n){let r=super.off(e,...n);return(e==="data"||e==="readable")&&(this[Aa]=this.listenerCount("data")>0||this.listenerCount("readable")>0),r}removeListener(e,...n){return this.off(e,...n)}push(e){return this[wt]&&e!==null?(rh(this[wt],e),this[Aa]?super.push(e):!0):super.push(e)}async text(){return ca(this,"text")}async json(){return ca(this,"json")}async blob(){return ca(this,"blob")}async bytes(){return ca(this,"bytes")}async arrayBuffer(){return ca(this,"arrayBuffer")}async formData(){throw new HL}get bodyUsed(){return YQ.isDisturbed(this)}get body(){return this[wr]||(this[wr]=JL(this),this[wt]&&(this[wr].getReader(),GQ(this[wr].locked))),this[wr]}async dump(e){let n=Number.isFinite(e?.limit)?e.limit:131072,r=e?.signal;if(r!=null&&(typeof r!="object"||!("aborted"in r)))throw new VL("signal must be an AbortSignal");return r?.throwIfAborted(),this._readableState.closeEmitted?null:await new Promise((s,i)=>{this[_Q]>n&&this.destroy(new eh);let a=o(()=>{this.destroy(r.reason??new eh)},"onAbort");r?.addEventListener("abort",a),this.on("close",function(){r?.removeEventListener("abort",a),r?.aborted?i(r.reason??new eh):s(null)}).on("error",qL).on("data",function(c){n-=c.length,n<=0&&this.destroy()}).resume()})}};function jL(t){return t[wr]&&t[wr].locked===!0||t[wt]}o(jL,"isLocked");function WL(t){return YQ.isDisturbed(t)||jL(t)}o(WL,"isUnusable");async function ca(t,e){return GQ(!t[wt]),new Promise((n,r)=>{if(WL(t)){let s=t._readableState;s.destroyed&&s.closeEmitted===!1?t.on("error",i=>{r(i)}).on("close",()=>{r(new TypeError("unusable"))}):r(s.errored??new TypeError("unusable"))}else queueMicrotask(()=>{t[wt]={type:e,stream:t,resolve:n,reject:r,length:0,body:[]},t.on("error",function(s){sh(this[wt],s)}).on("close",function(){this[wt].body!==null&&sh(this[wt],new $Q)}),zL(t[wt])})})}o(ca,"consume");function zL(t){if(t.body===null)return;let{_readableState:e}=t.stream;if(e.bufferIndex){let n=e.bufferIndex,r=e.buffer.length;for(let s=n;s<r;s++)rh(t,e.buffer[s])}else for(let n of e.buffer)rh(t,n);for(e.endEmitted?OQ(this[wt]):t.stream.on("end",function(){OQ(this[wt])}),t.stream.resume();t.stream.read()!=null;);}o(zL,"consumeStart");function nh(t,e){if(t.length===0||e===0)return"";let n=t.length===1?t[0]:Buffer.concat(t,e),r=n.length,s=r>2&&n[0]===239&&n[1]===187&&n[2]===191?3:0;return n.utf8Slice(s,r)}o(nh,"chunksDecode");function PQ(t,e){if(t.length===0||e===0)return new Uint8Array(0);if(t.length===1)return new Uint8Array(t[0]);let n=new Uint8Array(Buffer.allocUnsafeSlow(e).buffer),r=0;for(let s=0;s<t.length;++s){let i=t[s];n.set(i,r),r+=i.length}return n}o(PQ,"chunksConcat");function OQ(t){let{type:e,body:n,resolve:r,stream:s,length:i}=t;try{e==="text"?r(nh(n,i)):e==="json"?r(JSON.parse(nh(n,i))):e==="arrayBuffer"?r(PQ(n,i).buffer):e==="blob"?r(new Blob(n,{type:s[HQ]})):e==="bytes"&&r(PQ(n,i)),sh(t)}catch(a){s.destroy(a)}}o(OQ,"consumeEnd");function rh(t,e){t.length+=e.length,t.body.push(e)}o(rh,"consumePush");function sh(t,e){t.body!==null&&(e?t.reject(e):t.resolve(),t.type=null,t.stream=null,t.resolve=null,t.reject=null,t.length=0,t.body=null)}o(sh,"consumeFinish");VQ.exports={Readable:th,chunksDecode:nh}});var oh=T((D8,zQ)=>{var ZL=require("node:assert"),{ResponseStatusCodeError:JQ}=pe(),{chunksDecode:qQ}=ih(),KL=128*1024;async function XL({callback:t,body:e,contentType:n,statusCode:r,statusMessage:s,headers:i}){ZL(e);let a=[],c=0;try{for await(let h of e)if(a.push(h),c+=h.length,c>KL){a=[],c=0;break}}catch{a=[],c=0}let l=`Response status code ${r}${s?`: ${s}`:""}`;if(r===204||!n||!c){queueMicrotask(()=>t(new JQ(l,r,i)));return}let d=Error.stackTraceLimit;Error.stackTraceLimit=0;let g;try{jQ(n)?g=JSON.parse(qQ(a,c)):WQ(n)&&(g=qQ(a,c))}catch{}finally{Error.stackTraceLimit=d}queueMicrotask(()=>t(new JQ(l,r,i,g)))}o(XL,"getResolveErrorBodyCallback");var jQ=o(t=>t.length>15&&t[11]==="/"&&t[0]==="a"&&t[1]==="p"&&t[2]==="p"&&t[3]==="l"&&t[4]==="i"&&t[5]==="c"&&t[6]==="a"&&t[7]==="t"&&t[8]==="i"&&t[9]==="o"&&t[10]==="n"&&t[12]==="j"&&t[13]==="s"&&t[14]==="o"&&t[15]==="n","isContentTypeApplicationJson"),WQ=o(t=>t.length>4&&t[4]==="/"&&t[0]==="t"&&t[1]==="e"&&t[2]==="x"&&t[3]==="t","isContentTypeText");zQ.exports={getResolveErrorBodyCallback:XL,isContentTypeApplicationJson:jQ,isContentTypeText:WQ}});var XQ=T((N8,ah)=>{"use strict";var e_=require("node:assert"),{Readable:t_}=ih(),{InvalidArgumentError:Si,RequestAbortedError:ZQ}=pe(),bt=ue(),{getResolveErrorBodyCallback:n_}=oh(),{AsyncResource:r_}=require("node:async_hooks"),kc=class extends r_{static{o(this,"RequestHandler")}constructor(e,n){if(!e||typeof e!="object")throw new Si("invalid opts");let{signal:r,method:s,opaque:i,body:a,onInfo:c,responseHeaders:l,throwOnError:d,highWaterMark:g}=e;try{if(typeof n!="function")throw new Si("invalid callback");if(g&&(typeof g!="number"||g<0))throw new Si("invalid highWaterMark");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new Si("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new Si("invalid method");if(c&&typeof c!="function")throw new Si("invalid onInfo callback");super("UNDICI_REQUEST")}catch(h){throw bt.isStream(a)&&bt.destroy(a.on("error",bt.nop),h),h}this.method=s,this.responseHeaders=l||null,this.opaque=i||null,this.callback=n,this.res=null,this.abort=null,this.body=a,this.trailers={},this.context=null,this.onInfo=c||null,this.throwOnError=d,this.highWaterMark=g,this.signal=r,this.reason=null,this.removeAbortListener=null,bt.isStream(a)&&a.on("error",h=>{this.onError(h)}),this.signal&&(this.signal.aborted?this.reason=this.signal.reason??new ZQ:this.removeAbortListener=bt.addAbortListener(this.signal,()=>{this.reason=this.signal.reason??new ZQ,this.res?bt.destroy(this.res.on("error",bt.nop),this.reason):this.abort&&this.abort(this.reason),this.removeAbortListener&&(this.res?.off("close",this.removeAbortListener),this.removeAbortListener(),this.removeAbortListener=null)}))}onConnect(e,n){if(this.reason){e(this.reason);return}e_(this.callback),this.abort=e,this.context=n}onHeaders(e,n,r,s){let{callback:i,opaque:a,abort:c,context:l,responseHeaders:d,highWaterMark:g}=this,h=d==="raw"?bt.parseRawHeaders(n):bt.parseHeaders(n);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:h});return}let f=d==="raw"?bt.parseHeaders(n):h,m=f["content-type"],C=f["content-length"],y=new t_({resume:r,abort:c,contentType:m,contentLength:this.method!=="HEAD"&&C?Number(C):null,highWaterMark:g});this.removeAbortListener&&y.on("close",this.removeAbortListener),this.callback=null,this.res=y,i!==null&&(this.throwOnError&&e>=400?this.runInAsyncScope(n_,null,{callback:i,body:y,contentType:m,statusCode:e,statusMessage:s,headers:h}):this.runInAsyncScope(i,null,null,{statusCode:e,headers:h,trailers:this.trailers,opaque:a,body:y,context:l}))}onData(e){return this.res.push(e)}onComplete(e){bt.parseHeaders(e,this.trailers),this.res.push(null)}onError(e){let{res:n,callback:r,body:s,opaque:i}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:i})})),n&&(this.res=null,queueMicrotask(()=>{bt.destroy(n,e)})),s&&(this.body=null,bt.destroy(s,e)),this.removeAbortListener&&(n?.off("close",this.removeAbortListener),this.removeAbortListener(),this.removeAbortListener=null)}};function KQ(t,e){if(e===void 0)return new Promise((n,r)=>{KQ.call(this,t,(s,i)=>s?r(s):n(i))});try{this.dispatch(t,new kc(t,e))}catch(n){if(typeof e!="function")throw n;let r=t?.opaque;queueMicrotask(()=>e(n,{opaque:r}))}}o(KQ,"request");ah.exports=KQ;ah.exports.RequestHandler=kc});var ua=T((U8,nB)=>{var{addAbortListener:s_}=ue(),{RequestAbortedError:i_}=pe(),vi=Symbol("kListener"),In=Symbol("kSignal");function eB(t){t.abort?t.abort(t[In]?.reason):t.reason=t[In]?.reason??new i_,tB(t)}o(eB,"abort");function o_(t,e){if(t.reason=null,t[In]=null,t[vi]=null,!!e){if(e.aborted){eB(t);return}t[In]=e,t[vi]=()=>{eB(t)},s_(t[In],t[vi])}}o(o_,"addSignal");function tB(t){t[In]&&("removeEventListener"in t[In]?t[In].removeEventListener("abort",t[vi]):t[In].removeListener("abort",t[vi]),t[In]=null,t[vi]=null)}o(tB,"removeSignal");nB.exports={addSignal:o_,removeSignal:tB}});var oB=T((L8,iB)=>{"use strict";var a_=require("node:assert"),{finished:A_,PassThrough:c_}=require("node:stream"),{InvalidArgumentError:xi,InvalidReturnValueError:u_}=pe(),en=ue(),{getResolveErrorBodyCallback:l_}=oh(),{AsyncResource:d_}=require("node:async_hooks"),{addSignal:g_,removeSignal:rB}=ua(),Ah=class extends d_{static{o(this,"StreamHandler")}constructor(e,n,r){if(!e||typeof e!="object")throw new xi("invalid opts");let{signal:s,method:i,opaque:a,body:c,onInfo:l,responseHeaders:d,throwOnError:g}=e;try{if(typeof r!="function")throw new xi("invalid callback");if(typeof n!="function")throw new xi("invalid factory");if(s&&typeof s.on!="function"&&typeof s.addEventListener!="function")throw new xi("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new xi("invalid method");if(l&&typeof l!="function")throw new xi("invalid onInfo callback");super("UNDICI_STREAM")}catch(h){throw en.isStream(c)&&en.destroy(c.on("error",en.nop),h),h}this.responseHeaders=d||null,this.opaque=a||null,this.factory=n,this.callback=r,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=c,this.onInfo=l||null,this.throwOnError=g||!1,en.isStream(c)&&c.on("error",h=>{this.onError(h)}),g_(this,s)}onConnect(e,n){if(this.reason){e(this.reason);return}a_(this.callback),this.abort=e,this.context=n}onHeaders(e,n,r,s){let{factory:i,opaque:a,context:c,callback:l,responseHeaders:d}=this,g=d==="raw"?en.parseRawHeaders(n):en.parseHeaders(n);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:g});return}this.factory=null;let h;if(this.throwOnError&&e>=400){let C=(d==="raw"?en.parseHeaders(n):g)["content-type"];h=new c_,this.callback=null,this.runInAsyncScope(l_,null,{callback:l,body:h,contentType:C,statusCode:e,statusMessage:s,headers:g})}else{if(i===null)return;if(h=this.runInAsyncScope(i,null,{statusCode:e,headers:g,opaque:a,context:c}),!h||typeof h.write!="function"||typeof h.end!="function"||typeof h.on!="function")throw new u_("expected Writable");A_(h,{readable:!1},m=>{let{callback:C,res:y,opaque:v,trailers:Q,abort:D}=this;this.res=null,(m||!y.readable)&&en.destroy(y,m),this.callback=null,this.runInAsyncScope(C,null,m||null,{opaque:v,trailers:Q}),m&&D()})}return h.on("drain",r),this.res=h,(h.writableNeedDrain!==void 0?h.writableNeedDrain:h._writableState?.needDrain)!==!0}onData(e){let{res:n}=this;return n?n.write(e):!0}onComplete(e){let{res:n}=this;rB(this),n&&(this.trailers=en.parseHeaders(e),n.end())}onError(e){let{res:n,callback:r,opaque:s,body:i}=this;rB(this),this.factory=null,n?(this.res=null,en.destroy(n,e)):r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:s})})),i&&(this.body=null,en.destroy(i,e))}};function sB(t,e,n){if(n===void 0)return new Promise((r,s)=>{sB.call(this,t,e,(i,a)=>i?s(i):r(a))});try{this.dispatch(t,new Ah(t,e,n))}catch(r){if(typeof n!="function")throw r;let s=t?.opaque;queueMicrotask(()=>n(r,{opaque:s}))}}o(sB,"stream");iB.exports=sB});var uB=T((P8,cB)=>{"use strict";var{Readable:AB,Duplex:h_,PassThrough:p_}=require("node:stream"),{InvalidArgumentError:la,InvalidReturnValueError:f_,RequestAbortedError:ch}=pe(),$t=ue(),{AsyncResource:m_}=require("node:async_hooks"),{addSignal:E_,removeSignal:C_}=ua(),aB=require("node:assert"),Di=Symbol("resume"),uh=class extends AB{static{o(this,"PipelineRequest")}constructor(){super({autoDestroy:!0}),this[Di]=null}_read(){let{[Di]:e}=this;e&&(this[Di]=null,e())}_destroy(e,n){this._read(),n(e)}},lh=class extends AB{static{o(this,"PipelineResponse")}constructor(e){super({autoDestroy:!0}),this[Di]=e}_read(){this[Di]()}_destroy(e,n){!e&&!this._readableState.endEmitted&&(e=new ch),n(e)}},dh=class extends m_{static{o(this,"PipelineHandler")}constructor(e,n){if(!e||typeof e!="object")throw new la("invalid opts");if(typeof n!="function")throw new la("invalid handler");let{signal:r,method:s,opaque:i,onInfo:a,responseHeaders:c}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new la("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new la("invalid method");if(a&&typeof a!="function")throw new la("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=i||null,this.responseHeaders=c||null,this.handler=n,this.abort=null,this.context=null,this.onInfo=a||null,this.req=new uh().on("error",$t.nop),this.ret=new h_({readableObjectMode:e.objectMode,autoDestroy:!0,read:o(()=>{let{body:l}=this;l?.resume&&l.resume()},"read"),write:o((l,d,g)=>{let{req:h}=this;h.push(l,d)||h._readableState.destroyed?g():h[Di]=g},"write"),destroy:o((l,d)=>{let{body:g,req:h,res:f,ret:m,abort:C}=this;!l&&!m._readableState.endEmitted&&(l=new ch),C&&l&&C(),$t.destroy(g,l),$t.destroy(h,l),$t.destroy(f,l),C_(this),d(l)},"destroy")}).on("prefinish",()=>{let{req:l}=this;l.push(null)}),this.res=null,E_(this,r)}onConnect(e,n){let{ret:r,res:s}=this;if(this.reason){e(this.reason);return}aB(!s,"pipeline cannot be retried"),aB(!r.destroyed),this.abort=e,this.context=n}onHeaders(e,n,r){let{opaque:s,handler:i,context:a}=this;if(e<200){if(this.onInfo){let l=this.responseHeaders==="raw"?$t.parseRawHeaders(n):$t.parseHeaders(n);this.onInfo({statusCode:e,headers:l})}return}this.res=new lh(r);let c;try{this.handler=null;let l=this.responseHeaders==="raw"?$t.parseRawHeaders(n):$t.parseHeaders(n);c=this.runInAsyncScope(i,null,{statusCode:e,headers:l,opaque:s,body:this.res,context:a})}catch(l){throw this.res.on("error",$t.nop),l}if(!c||typeof c.on!="function")throw new f_("expected Readable");c.on("data",l=>{let{ret:d,body:g}=this;!d.push(l)&&g.pause&&g.pause()}).on("error",l=>{let{ret:d}=this;$t.destroy(d,l)}).on("end",()=>{let{ret:l}=this;l.push(null)}).on("close",()=>{let{ret:l}=this;l._readableState.ended||$t.destroy(l,new ch)}),this.body=c}onData(e){let{res:n}=this;return n.push(e)}onComplete(e){let{res:n}=this;n.push(null)}onError(e){let{ret:n}=this;this.handler=null,$t.destroy(n,e)}};function I_(t,e){try{let n=new dh(t,e);return this.dispatch({...t,body:n.req},n),n.ret}catch(n){return new p_().destroy(n)}}o(I_,"pipeline");cB.exports=I_});var fB=T((G8,pB)=>{"use strict";var{InvalidArgumentError:gh,SocketError:y_}=pe(),{AsyncResource:Q_}=require("node:async_hooks"),lB=ue(),{addSignal:B_,removeSignal:dB}=ua(),gB=require("node:assert"),hh=class extends Q_{static{o(this,"UpgradeHandler")}constructor(e,n){if(!e||typeof e!="object")throw new gh("invalid opts");if(typeof n!="function")throw new gh("invalid callback");let{signal:r,opaque:s,responseHeaders:i}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new gh("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=i||null,this.opaque=s||null,this.callback=n,this.abort=null,this.context=null,B_(this,r)}onConnect(e,n){if(this.reason){e(this.reason);return}gB(this.callback),this.abort=e,this.context=null}onHeaders(){throw new y_("bad upgrade",null)}onUpgrade(e,n,r){gB(e===101);let{callback:s,opaque:i,context:a}=this;dB(this),this.callback=null;let c=this.responseHeaders==="raw"?lB.parseRawHeaders(n):lB.parseHeaders(n);this.runInAsyncScope(s,null,null,{headers:c,socket:r,opaque:i,context:a})}onError(e){let{callback:n,opaque:r}=this;dB(this),n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,e,{opaque:r})}))}};function hB(t,e){if(e===void 0)return new Promise((n,r)=>{hB.call(this,t,(s,i)=>s?r(s):n(i))});try{let n=new hh(t,e);this.dispatch({...t,method:t.method||"GET",upgrade:t.protocol||"Websocket"},n)}catch(n){if(typeof e!="function")throw n;let r=t?.opaque;queueMicrotask(()=>e(n,{opaque:r}))}}o(hB,"upgrade");pB.exports=hB});var yB=T((Y8,IB)=>{"use strict";var w_=require("node:assert"),{AsyncResource:b_}=require("node:async_hooks"),{InvalidArgumentError:ph,SocketError:k_}=pe(),mB=ue(),{addSignal:R_,removeSignal:EB}=ua(),fh=class extends b_{static{o(this,"ConnectHandler")}constructor(e,n){if(!e||typeof e!="object")throw new ph("invalid opts");if(typeof n!="function")throw new ph("invalid callback");let{signal:r,opaque:s,responseHeaders:i}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new ph("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=s||null,this.responseHeaders=i||null,this.callback=n,this.abort=null,R_(this,r)}onConnect(e,n){if(this.reason){e(this.reason);return}w_(this.callback),this.abort=e,this.context=n}onHeaders(){throw new k_("bad connect",null)}onUpgrade(e,n,r){let{callback:s,opaque:i,context:a}=this;EB(this),this.callback=null;let c=n;c!=null&&(c=this.responseHeaders==="raw"?mB.parseRawHeaders(n):mB.parseHeaders(n)),this.runInAsyncScope(s,null,null,{statusCode:e,headers:c,socket:r,opaque:i,context:a})}onError(e){let{callback:n,opaque:r}=this;EB(this),n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,e,{opaque:r})}))}};function CB(t,e){if(e===void 0)return new Promise((n,r)=>{CB.call(this,t,(s,i)=>s?r(s):n(i))});try{let n=new fh(t,e);this.dispatch({...t,method:"CONNECT"},n)}catch(n){if(typeof e!="function")throw n;let r=t?.opaque;queueMicrotask(()=>e(n,{opaque:r}))}}o(CB,"connect");IB.exports=CB});var QB=T((V8,Ti)=>{"use strict";Ti.exports.request=XQ();Ti.exports.stream=oB();Ti.exports.pipeline=uB();Ti.exports.upgrade=fB();Ti.exports.connect=yB()});var Eh=T((J8,wB)=>{"use strict";var{UndiciError:S_}=pe(),BB=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"),mh=class t extends S_{static{o(this,"MockNotMatchedError")}constructor(e){super(e),Error.captureStackTrace(this,t),this.name="MockNotMatchedError",this.message=e||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](e){return e&&e[BB]===!0}[BB]=!0};wB.exports={MockNotMatchedError:mh}});var Ni=T((j8,bB)=>{"use strict";bB.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")}});var da=T((W8,MB)=>{"use strict";var{MockNotMatchedError:Es}=Eh(),{kDispatches:Rc,kMockAgent:v_,kOriginalDispatch:x_,kOrigin:D_,kGetNetConnect:T_}=Ni(),{buildURL:N_}=ue(),{STATUS_CODES:F_}=require("node:http"),{types:{isPromise:U_}}=require("node:util");function Hn(t,e){return typeof t=="string"?t===e:t instanceof RegExp?t.test(e):typeof t=="function"?t(e)===!0:!1}o(Hn,"matchValue");function RB(t){return Object.fromEntries(Object.entries(t).map(([e,n])=>[e.toLocaleLowerCase(),n]))}o(RB,"lowerCaseEntries");function SB(t,e){if(Array.isArray(t)){for(let n=0;n<t.length;n+=2)if(t[n].toLocaleLowerCase()===e.toLocaleLowerCase())return t[n+1];return}else return typeof t.get=="function"?t.get(e):RB(t)[e.toLocaleLowerCase()]}o(SB,"getHeaderByName");function yh(t){let e=t.slice(),n=[];for(let r=0;r<e.length;r+=2)n.push([e[r],e[r+1]]);return Object.fromEntries(n)}o(yh,"buildHeadersFromArray");function vB(t,e){if(typeof t.headers=="function")return Array.isArray(e)&&(e=yh(e)),t.headers(e?RB(e):{});if(typeof t.headers>"u")return!0;if(typeof e!="object"||typeof t.headers!="object")return!1;for(let[n,r]of Object.entries(t.headers)){let s=SB(e,n);if(!Hn(r,s))return!1}return!0}o(vB,"matchHeaders");function kB(t){if(typeof t!="string")return t;let e=t.split("?");if(e.length!==2)return t;let n=new URLSearchParams(e.pop());return n.sort(),[...e,n.toString()].join("?")}o(kB,"safeUrl");function M_(t,{path:e,method:n,body:r,headers:s}){let i=Hn(t.path,e),a=Hn(t.method,n),c=typeof t.body<"u"?Hn(t.body,r):!0,l=vB(t,s);return i&&a&&c&&l}o(M_,"matchKey");function xB(t){return Buffer.isBuffer(t)||t instanceof Uint8Array||t instanceof ArrayBuffer?t:typeof t=="object"?JSON.stringify(t):t.toString()}o(xB,"getResponseData");function DB(t,e){let n=e.query?N_(e.path,e.query):e.path,r=typeof n=="string"?kB(n):n,s=t.filter(({consumed:i})=>!i).filter(({path:i})=>Hn(kB(i),r));if(s.length===0)throw new Es(`Mock dispatch not matched for path '${r}'`);if(s=s.filter(({method:i})=>Hn(i,e.method)),s.length===0)throw new Es(`Mock dispatch not matched for method '${e.method}' on path '${r}'`);if(s=s.filter(({body:i})=>typeof i<"u"?Hn(i,e.body):!0),s.length===0)throw new Es(`Mock dispatch not matched for body '${e.body}' on path '${r}'`);if(s=s.filter(i=>vB(i,e.headers)),s.length===0){let i=typeof e.headers=="object"?JSON.stringify(e.headers):e.headers;throw new Es(`Mock dispatch not matched for headers '${i}' on path '${r}'`)}return s[0]}o(DB,"getMockDispatch");function L_(t,e,n){let r={timesInvoked:0,times:1,persist:!1,consumed:!1},s=typeof n=="function"?{callback:n}:{...n},i={...r,...e,pending:!0,data:{error:null,...s}};return t.push(i),i}o(L_,"addMockDispatch");function Ch(t,e){let n=t.findIndex(r=>r.consumed?M_(r,e):!1);n!==-1&&t.splice(n,1)}o(Ch,"deleteMockDispatch");function TB(t){let{path:e,method:n,body:r,headers:s,query:i}=t;return{path:e,method:n,body:r,headers:s,query:i}}o(TB,"buildKey");function Ih(t){let e=Object.keys(t),n=[];for(let r=0;r<e.length;++r){let s=e[r],i=t[s],a=Buffer.from(`${s}`);if(Array.isArray(i))for(let c=0;c<i.length;++c)n.push(a,Buffer.from(`${i[c]}`));else n.push(a,Buffer.from(`${i}`))}return n}o(Ih,"generateKeyValues");function NB(t){return F_[t]||"unknown"}o(NB,"getStatusText");async function __(t){let e=[];for await(let n of t)e.push(n);return Buffer.concat(e).toString("utf8")}o(__,"getResponse");function FB(t,e){let n=TB(t),r=DB(this[Rc],n);r.timesInvoked++,r.data.callback&&(r.data={...r.data,...r.data.callback(t)});let{data:{statusCode:s,data:i,headers:a,trailers:c,error:l},delay:d,persist:g}=r,{timesInvoked:h,times:f}=r;if(r.consumed=!g&&h>=f,r.pending=h<f,l!==null)return Ch(this[Rc],n),e.onError(l),!0;typeof d=="number"&&d>0?setTimeout(()=>{m(this[Rc])},d):m(this[Rc]);function m(y,v=i){let Q=Array.isArray(t.headers)?yh(t.headers):t.headers,D=typeof v=="function"?v({...t,headers:Q}):v;if(U_(D)){D.then(Ee=>m(y,Ee));return}let G=xB(D),P=Ih(a),ae=Ih(c);e.onConnect?.(Ee=>e.onError(Ee),null),e.onHeaders?.(s,P,C,NB(s)),e.onData?.(Buffer.from(G)),e.onComplete?.(ae),Ch(y,n)}o(m,"handleReply");function C(){}return o(C,"resume"),!0}o(FB,"mockDispatch");function P_(){let t=this[v_],e=this[D_],n=this[x_];return o(function(s,i){if(t.isMockActive)try{FB.call(this,s,i)}catch(a){if(a instanceof Es){let c=t[T_]();if(c===!1)throw new Es(`${a.message}: subsequent request to origin ${e} was not allowed (net.connect disabled)`);if(UB(c,e))n.call(this,s,i);else throw new Es(`${a.message}: subsequent request to origin ${e} was not allowed (net.connect is not enabled for this origin)`)}else throw a}else n.call(this,s,i)},"dispatch")}o(P_,"buildMockDispatch");function UB(t,e){let n=new URL(e);return t===!0?!0:!!(Array.isArray(t)&&t.some(r=>Hn(r,n.host)))}o(UB,"checkNetConnect");function O_(t){if(t){let{agent:e,...n}=t;return n}}o(O_,"buildMockOptions");MB.exports={getResponseData:xB,getMockDispatch:DB,addMockDispatch:L_,deleteMockDispatch:Ch,buildKey:TB,generateKeyValues:Ih,matchValue:Hn,getResponse:__,getStatusText:NB,mockDispatch:FB,buildMockDispatch:P_,checkNetConnect:UB,buildMockOptions:O_,getHeaderByName:SB,buildHeadersFromArray:yh}});var Sh=T((Z8,Rh)=>{"use strict";var{getResponseData:G_,buildKey:$_,addMockDispatch:Qh}=da(),{kDispatches:Sc,kDispatchKey:vc,kDefaultHeaders:Bh,kDefaultTrailers:wh,kContentLength:bh,kMockDispatch:xc}=Ni(),{InvalidArgumentError:yn}=pe(),{buildURL:Y_}=ue(),Fi=class{static{o(this,"MockScope")}constructor(e){this[xc]=e}delay(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new yn("waitInMs must be a valid integer > 0");return this[xc].delay=e,this}persist(){return this[xc].persist=!0,this}times(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new yn("repeatTimes must be a valid integer > 0");return this[xc].times=e,this}},kh=class{static{o(this,"MockInterceptor")}constructor(e,n){if(typeof e!="object")throw new yn("opts must be an object");if(typeof e.path>"u")throw new yn("opts.path must be defined");if(typeof e.method>"u"&&(e.method="GET"),typeof e.path=="string")if(e.query)e.path=Y_(e.path,e.query);else{let r=new URL(e.path,"data://");e.path=r.pathname+r.search}typeof e.method=="string"&&(e.method=e.method.toUpperCase()),this[vc]=$_(e),this[Sc]=n,this[Bh]={},this[wh]={},this[bh]=!1}createMockScopeDispatchData({statusCode:e,data:n,responseOptions:r}){let s=G_(n),i=this[bh]?{"content-length":s.length}:{},a={...this[Bh],...i,...r.headers},c={...this[wh],...r.trailers};return{statusCode:e,data:n,headers:a,trailers:c}}validateReplyParameters(e){if(typeof e.statusCode>"u")throw new yn("statusCode must be defined");if(typeof e.responseOptions!="object"||e.responseOptions===null)throw new yn("responseOptions must be an object")}reply(e){if(typeof e=="function"){let i=o(c=>{let l=e(c);if(typeof l!="object"||l===null)throw new yn("reply options callback must return an object");let d={data:"",responseOptions:{},...l};return this.validateReplyParameters(d),{...this.createMockScopeDispatchData(d)}},"wrappedDefaultsCallback"),a=Qh(this[Sc],this[vc],i);return new Fi(a)}let n={statusCode:e,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(n);let r=this.createMockScopeDispatchData(n),s=Qh(this[Sc],this[vc],r);return new Fi(s)}replyWithError(e){if(typeof e>"u")throw new yn("error must be defined");let n=Qh(this[Sc],this[vc],{error:e});return new Fi(n)}defaultReplyHeaders(e){if(typeof e>"u")throw new yn("headers must be defined");return this[Bh]=e,this}defaultReplyTrailers(e){if(typeof e>"u")throw new yn("trailers must be defined");return this[wh]=e,this}replyContentLength(){return this[bh]=!0,this}};Rh.exports.MockInterceptor=kh;Rh.exports.MockScope=Fi});var Dh=T((X8,YB)=>{"use strict";var{promisify:H_}=require("node:util"),V_=wi(),{buildMockDispatch:J_}=da(),{kDispatches:LB,kMockAgent:_B,kClose:PB,kOriginalClose:OB,kOrigin:GB,kOriginalDispatch:q_,kConnected:vh}=Ni(),{MockInterceptor:j_}=Sh(),$B=Re(),{InvalidArgumentError:W_}=pe(),xh=class extends V_{static{o(this,"MockClient")}constructor(e,n){if(super(e,n),!n||!n.agent||typeof n.agent.dispatch!="function")throw new W_("Argument opts.agent must implement Agent");this[_B]=n.agent,this[GB]=e,this[LB]=[],this[vh]=1,this[q_]=this.dispatch,this[OB]=this.close.bind(this),this.dispatch=J_.call(this),this.close=this[PB]}get[$B.kConnected](){return this[vh]}intercept(e){return new j_(e,this[LB])}async[PB](){await H_(this[OB])(),this[vh]=0,this[_B][$B.kClients].delete(this[GB])}};YB.exports=xh});var Fh=T((t4,zB)=>{"use strict";var{promisify:z_}=require("node:util"),Z_=bi(),{buildMockDispatch:K_}=da(),{kDispatches:HB,kMockAgent:VB,kClose:JB,kOriginalClose:qB,kOrigin:jB,kOriginalDispatch:X_,kConnected:Th}=Ni(),{MockInterceptor:eP}=Sh(),WB=Re(),{InvalidArgumentError:tP}=pe(),Nh=class extends Z_{static{o(this,"MockPool")}constructor(e,n){if(super(e,n),!n||!n.agent||typeof n.agent.dispatch!="function")throw new tP("Argument opts.agent must implement Agent");this[VB]=n.agent,this[jB]=e,this[HB]=[],this[Th]=1,this[X_]=this.dispatch,this[qB]=this.close.bind(this),this.dispatch=K_.call(this),this.close=this[JB]}get[WB.kConnected](){return this[Th]}intercept(e){return new eP(e,this[HB])}async[JB](){await z_(this[qB])(),this[Th]=0,this[VB][WB.kClients].delete(this[jB])}};zB.exports=Nh});var KB=T((s4,ZB)=>{"use strict";var nP={pronoun:"it",is:"is",was:"was",this:"this"},rP={pronoun:"they",is:"are",was:"were",this:"these"};ZB.exports=class{static{o(this,"Pluralizer")}constructor(e,n){this.singular=e,this.plural=n}pluralize(e){let n=e===1,r=n?nP:rP,s=n?this.singular:this.plural;return{...r,count:e,noun:s}}}});var ew=T((a4,XB)=>{"use strict";var{Transform:sP}=require("node:stream"),{Console:iP}=require("node:console"),oP=process.versions.icu?"\u2705":"Y ",aP=process.versions.icu?"\u274C":"N ";XB.exports=class{static{o(this,"PendingInterceptorsFormatter")}constructor({disableColors:e}={}){this.transform=new sP({transform(n,r,s){s(null,n)}}),this.logger=new iP({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){let n=e.map(({method:r,path:s,data:{statusCode:i},persist:a,times:c,timesInvoked:l,origin:d})=>({Method:r,Origin:d,Path:s,"Status code":i,Persistent:a?oP:aP,Invocations:l,Remaining:a?1/0:c-l}));return this.logger.table(n),this.transform.read().toString()}}});var sw=T((c4,rw)=>{"use strict";var{kClients:Cs}=Re(),AP=ki(),{kAgent:Uh,kMockAgentSet:Dc,kMockAgentGet:tw,kDispatches:Mh,kIsMockActive:Tc,kNetConnect:Is,kGetNetConnect:cP,kOptions:Nc,kFactory:Fc}=Ni(),uP=Dh(),lP=Fh(),{matchValue:dP,buildMockOptions:gP}=da(),{InvalidArgumentError:nw,UndiciError:hP}=pe(),pP=Uo(),fP=KB(),mP=ew(),Lh=class extends pP{static{o(this,"MockAgent")}constructor(e){if(super(e),this[Is]=!0,this[Tc]=!0,e?.agent&&typeof e.agent.dispatch!="function")throw new nw("Argument opts.agent must implement Agent");let n=e?.agent?e.agent:new AP(e);this[Uh]=n,this[Cs]=n[Cs],this[Nc]=gP(e)}get(e){let n=this[tw](e);return n||(n=this[Fc](e),this[Dc](e,n)),n}dispatch(e,n){return this.get(e.origin),this[Uh].dispatch(e,n)}async close(){await this[Uh].close(),this[Cs].clear()}deactivate(){this[Tc]=!1}activate(){this[Tc]=!0}enableNetConnect(e){if(typeof e=="string"||typeof e=="function"||e instanceof RegExp)Array.isArray(this[Is])?this[Is].push(e):this[Is]=[e];else if(typeof e>"u")this[Is]=!0;else throw new nw("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[Is]=!1}get isMockActive(){return this[Tc]}[Dc](e,n){this[Cs].set(e,n)}[Fc](e){let n=Object.assign({agent:this},this[Nc]);return this[Nc]&&this[Nc].connections===1?new uP(e,n):new lP(e,n)}[tw](e){let n=this[Cs].get(e);if(n)return n;if(typeof e!="string"){let r=this[Fc]("http://localhost:9999");return this[Dc](e,r),r}for(let[r,s]of Array.from(this[Cs]))if(s&&typeof r!="string"&&dP(r,e)){let i=this[Fc](e);return this[Dc](e,i),i[Mh]=s[Mh],i}}[cP](){return this[Is]}pendingInterceptors(){let e=this[Cs];return Array.from(e.entries()).flatMap(([n,r])=>r[Mh].map(s=>({...s,origin:n}))).filter(({pending:n})=>n)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new mP}={}){let n=this.pendingInterceptors();if(n.length===0)return;let r=new fP("interceptor","interceptors").pluralize(n.length);throw new hP(`
|
|
40
|
+
`,"latin1"),n!==null&&s!==n){if(r[gg])throw new is;process.emitWarning(new is)}e[be].timeout&&e[be].timeoutType===Ii&&e[be].timeout.refresh&&e[be].timeout.refresh(),r[Gn]()}}destroy(e){let{socket:n,client:r,abort:s}=this;n[pr]=!1,e&&(W(r[_e]<=1,"pipeline should only contain this request"),s(e))}};hy.exports=IU});var By=T((e8,Qy)=>{"use strict";var mn=require("node:assert"),{errorMonitor:Eg}=require("node:events"),{pipeline:kU}=require("node:stream"),de=ue(),{RequestContentLengthMismatchError:Ig,RequestAbortedError:Cg,SocketError:Wo,InformationalError:Ac}=pe(),{kUrl:cc,kReset:lc,kClient:yi,kRunning:dc,kPending:SU,kQueue:cs,kPendingIdx:Qg,kRunningIdx:fn,kError:Zt,kSocket:Ye,kStrictContentLength:vU,kOnError:Bg,kMaxConcurrentStreams:Iy,kHTTP2Session:zt,kResume:mr,kSize:xU,kHTTPContext:DU}=ke(),fr=Symbol("open streams"),fy,my=!1,uc;try{uc=require("node:http2")}catch{uc={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:TU,HTTP2_HEADER_METHOD:NU,HTTP2_HEADER_PATH:FU,HTTP2_HEADER_SCHEME:UU,HTTP2_HEADER_CONTENT_LENGTH:MU,HTTP2_HEADER_EXPECT:LU,HTTP2_HEADER_STATUS:yg}}=uc;function yy(t){let e=[];for(let[n,r]of Object.entries(t))if(Array.isArray(r))for(let s of r)e.push(Buffer.from(n),Buffer.from(s));else e.push(Buffer.from(n),Buffer.from(r));return e}o(yy,"parseH2Headers");function _U(t){let{[yg]:e,...n}=t;return yy(n)}o(_U,"parseH2ResponseHeaders");async function PU(t,e){t[Ye]=e,my||(my=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let n=uc.connect(t[cc],{createConnection:o(()=>e,"createConnection"),peerMaxConcurrentStreams:t[Iy]});n[fr]=0,n[yi]=t,n[Ye]=e,de.addListener(n,"error",GU),de.addListener(n,"frameError",$U),de.addListener(n,"end",YU),de.addListener(n,"goaway",VU),de.addListener(n,"close",function(){let{[yi]:s}=this,{[Ye]:i}=s,a=this[Ye][Zt]||this[Zt]||new Wo("closed",de.getSocketInfo(i));if(s[zt]=null,s.destroyed){mn(s[SU]===0);let c=s[cs].splice(s[fn]);for(let l=0;l<c.length;l++){let d=c[l];de.errorRequest(s,d,a)}}}),n.unref(),t[zt]=n,e[zt]=n,de.addListener(e,"error",function(s){this[Zt]=s,this[yi][Bg](s)}),de.addListener(e,"end",function(){de.destroy(this,new Wo("other side closed",de.getSocketInfo(this)))}),de.addListener(e,"close",function(){let s=this[Zt]||new Wo("closed",de.getSocketInfo(this));t[Ye]=null,this[zt]!=null&&this[zt].destroy(s),t[Qg]=t[fn],mn(t[dc]===0),t.emit("disconnect",t[cc],[t],s),t[mr]()});let r=!1;return e.on("close",()=>{r=!0}),{version:"h2",defaultPipelining:1/0,write(...s){return JU(t,...s)},resume(){OU(t)},destroy(s,i){r?queueMicrotask(i):e.destroy(s).on("close",i)},get destroyed(){return e.destroyed},busy(){return!1}}}o(PU,"connectH2");function OU(t){let e=t[Ye];e?.destroyed===!1&&(t[xU]===0&&t[Iy]===0?(e.unref(),t[zt].unref()):(e.ref(),t[zt].ref()))}o(OU,"resumeH2");function GU(t){this[Ye][Zt]=t,this[yi][Bg](t)}o(GU,"onHttp2SessionError");function $U(t,e,n){if(n===0){let r=new Ac(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[Ye][Zt]=r,this[yi][Bg](r)}}o($U,"onHttp2FrameError");function YU(){let t=new Wo("other side closed",de.getSocketInfo(this[Ye]));this.destroy(t),de.destroy(this[Ye],t)}o(YU,"onHttp2SessionEnd");function VU(t){let e=this[Zt]||new Wo(`HTTP/2: "GOAWAY" frame received with code ${t}`,de.getSocketInfo(this)),n=this[yi];if(n[Ye]=null,n[DU]=null,this[zt]!=null&&(this[zt].destroy(e),this[zt]=null),de.destroy(this[Ye],e),n[fn]<n[cs].length){let r=n[cs][n[fn]];n[cs][n[fn]++]=null,de.errorRequest(n,r,e),n[Qg]=n[fn]}mn(n[dc]===0),n.emit("disconnect",n[cc],[n],e),n[mr]()}o(VU,"onHTTP2GoAway");function HU(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}o(HU,"shouldSendContentLength");function JU(t,e){let n=t[zt],{method:r,path:s,host:i,upgrade:a,expectContinue:c,signal:l,headers:d}=e,{body:g}=e;if(a)return de.errorRequest(t,e,new Error("Upgrade not supported for H2")),!1;let h={};for(let P=0;P<d.length;P+=2){let ae=d[P+0],Ee=d[P+1];if(Array.isArray(Ee))for(let Ce=0;Ce<Ee.length;Ce++)h[ae]?h[ae]+=`,${Ee[Ce]}`:h[ae]=Ee[Ce];else h[ae]=Ee}let f,{hostname:m,port:C}=t[cc];h[TU]=i||`${m}${C?`:${C}`:""}`,h[NU]=r;let y=o(P=>{if(!e.aborted){if(e.completed){r==="CONNECT"&&f!=null&&de.destroy(f,P||new Cg);return}P=P||new Cg,de.errorRequest(t,e,P),f!=null&&de.destroy(f,P),de.destroy(g,P),t[cs][t[fn]++]=null,t[mr]()}},"abort");try{e.onConnect(y)}catch(P){de.errorRequest(t,e,P)}if(e.aborted)return!1;if(r==="CONNECT"){n.ref(),f=n.request(h,{endStream:!1,signal:l});let P=!1,ae=o(De=>{P=!0,f.off(Eg,Ee),e.onUpgradeResponse(Number(De[yg]),De,_U)},"onResponse"),Ee=o(De=>{P=!0,f.off("response",ae),e.onUpgradeError(De)},"onUpgradeError"),Ce=o(()=>{try{e.onUpgrade(null,null,f)}catch(De){f.off("response",ae),y(De);return}e.aborted||(f.off("error",y),f.once(Eg,Ee),t[cs][t[fn]++]=null)},"onReady");return f.once("response",ae),f.once("error",y),++n[fr],Ce(),f.once("close",()=>{!P&&e.completed&&(f.off("response",ae),f.off(Eg,Ee),e.onUpgradeError(new Ac(`HTTP/2: "stream error" received - code ${f.rstCode}`))),n[fr]-=1,n[fr]===0&&n.unref()}),!0}h[FU]=s,h[UU]="https";let v=r==="PUT"||r==="POST"||r==="PATCH";g&&typeof g.read=="function"&&g.read(0);let Q=de.bodyLength(g);if(de.isFormDataLike(g)){fy??=mi().extractBody;let[P,ae]=fy(g);h["content-type"]=ae,g=P.stream,Q=P.length}if(Q==null&&(Q=e.contentLength),(Q===0||!v)&&(Q=null),HU(r)&&Q>0&&e.contentLength!=null&&e.contentLength!==Q){if(t[vU])return de.errorRequest(t,e,new Ig),!1;process.emitWarning(new Ig)}Q!=null&&(mn(g,"no body must not have content length"),h[MU]=`${Q}`),n.ref();let D=r==="GET"||r==="HEAD"||g===null;return c?(h[LU]="100-continue",f=n.request(h,{endStream:D,signal:l}),f.once("continue",G)):(f=n.request(h,{endStream:D,signal:l}),G()),++n[fr],f.once("response",P=>{let{[yg]:ae,...Ee}=P;if(e.onResponseStarted(),e.aborted){let Ce=new Cg;de.errorRequest(t,e,Ce),de.destroy(f,Ce);return}e.onHeaders(Number(ae),yy(Ee),f.resume.bind(f),"")===!1&&f.pause(),f.on("data",Ce=>{e.onData(Ce)===!1&&f.pause()})}),f.once("end",()=>{(f.state?.state==null||f.state.state<6)&&e.onComplete([]),n[fr]===0&&n.unref(),y(new Ac("HTTP/2: stream half-closed (remote)")),t[cs][t[fn]++]=null,t[Qg]=t[fn],t[mr]()}),f.once("close",()=>{n[fr]-=1,n[fr]===0&&n.unref()}),f.once("error",function(P){y(P)}),f.once("frameError",(P,ae)=>{y(new Ac(`HTTP/2: "frameError" received - type ${P}, code ${ae}`))}),!0;function G(){!g||Q===0?Ey(y,f,null,t,e,t[Ye],Q,v):de.isBuffer(g)?Ey(y,f,g,t,e,t[Ye],Q,v):de.isBlobLike(g)?typeof g.stream=="function"?Cy(y,f,g.stream(),t,e,t[Ye],Q,v):jU(y,f,g,t,e,t[Ye],Q,v):de.isStream(g)?qU(y,t[Ye],v,f,g,t,e,Q):de.isIterable(g)?Cy(y,f,g,t,e,t[Ye],Q,v):mn(!1)}o(G,"writeBodyH2")}o(JU,"writeH2");function Ey(t,e,n,r,s,i,a,c){try{n!=null&&de.isBuffer(n)&&(mn(a===n.byteLength,"buffer body must have content length"),e.cork(),e.write(n),e.uncork(),e.end(),s.onBodySent(n)),c||(i[lc]=!0),s.onRequestSent(),r[mr]()}catch(l){t(l)}}o(Ey,"writeBuffer");function qU(t,e,n,r,s,i,a,c){mn(c!==0||i[dc]===0,"stream body cannot be pipelined");let l=kU(s,r,g=>{g?(de.destroy(l,g),t(g)):(de.removeAllListeners(l),a.onRequestSent(),n||(e[lc]=!0),i[mr]())});de.addListener(l,"data",d);function d(g){a.onBodySent(g)}o(d,"onPipeData")}o(qU,"writeStream");async function jU(t,e,n,r,s,i,a,c){mn(a===n.size,"blob body must have content length");try{if(a!=null&&a!==n.size)throw new Ig;let l=Buffer.from(await n.arrayBuffer());e.cork(),e.write(l),e.uncork(),e.end(),s.onBodySent(l),s.onRequestSent(),c||(i[lc]=!0),r[mr]()}catch(l){t(l)}}o(jU,"writeBlob");async function Cy(t,e,n,r,s,i,a,c){mn(a!==0||r[dc]===0,"iterator body cannot be pipelined");let l=null;function d(){if(l){let h=l;l=null,h()}}o(d,"onDrain");let g=o(()=>new Promise((h,f)=>{mn(l===null),i[Zt]?f(i[Zt]):l=h}),"waitForDrain");e.on("close",d).on("drain",d);try{for await(let h of n){if(i[Zt])throw i[Zt];let f=e.write(h);s.onBodySent(h),f||await g()}e.end(),s.onRequestSent(),c||(i[lc]=!0),r[mr]()}catch(h){t(h)}finally{e.off("close",d).off("drain",d)}}o(Cy,"writeIterable");Qy.exports=PU});var hc=T((n8,Ry)=>{"use strict";var En=ue(),{kBodyUsed:zo}=ke(),bg=require("node:assert"),{InvalidArgumentError:WU}=pe(),zU=require("node:events"),ZU=[300,301,302,303,307,308],wy=Symbol("body"),gc=class{static{o(this,"BodyAsyncIterable")}constructor(e){this[wy]=e,this[zo]=!1}async*[Symbol.asyncIterator](){bg(!this[zo],"disturbed"),this[zo]=!0,yield*this[wy]}},wg=class{static{o(this,"RedirectHandler")}constructor(e,n,r,s){if(n!=null&&(!Number.isInteger(n)||n<0))throw new WU("maxRedirections must be a positive number");En.validateHandler(s,r.method,r.upgrade),this.dispatch=e,this.location=null,this.abort=null,this.opts={...r,maxRedirections:0},this.maxRedirections=n,this.handler=s,this.history=[],this.redirectionLimitReached=!1,En.isStream(this.opts.body)?(En.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){bg(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[zo]=!1,zU.prototype.on.call(this.opts.body,"data",function(){this[zo]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new gc(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&En.isIterable(this.opts.body)&&(this.opts.body=new gc(this.opts.body))}onConnect(e){this.abort=e,this.handler.onConnect(e,{history:this.history})}onUpgrade(e,n,r){this.handler.onUpgrade(e,n,r)}onError(e){this.handler.onError(e)}onHeaders(e,n,r,s){if(this.location=this.history.length>=this.maxRedirections||En.isDisturbed(this.opts.body)?null:KU(e,n),this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections){this.request&&this.request.abort(new Error("max redirects")),this.redirectionLimitReached=!0,this.abort(new Error("max redirects"));return}if(this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location)return this.handler.onHeaders(e,n,r,s);let{origin:i,pathname:a,search:c}=En.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),l=c?`${a}${c}`:a;this.opts.headers=XU(this.opts.headers,e===303,this.opts.origin!==i),this.opts.path=l,this.opts.origin=i,this.opts.maxRedirections=0,this.opts.query=null,e===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",this.opts.body=null)}onData(e){if(!this.location)return this.handler.onData(e)}onComplete(e){this.location?(this.location=null,this.abort=null,this.dispatch(this.opts,this)):this.handler.onComplete(e)}onBodySent(e){this.handler.onBodySent&&this.handler.onBodySent(e)}};function KU(t,e){if(ZU.indexOf(t)===-1)return null;for(let n=0;n<e.length;n+=2)if(e[n].length===8&&En.headerNameToString(e[n])==="location")return e[n+1]}o(KU,"parseLocation");function by(t,e,n){if(t.length===4)return En.headerNameToString(t)==="host";if(e&&En.headerNameToString(t).startsWith("content-"))return!0;if(n&&(t.length===13||t.length===6||t.length===19)){let r=En.headerNameToString(t);return r==="authorization"||r==="cookie"||r==="proxy-authorization"}return!1}o(by,"shouldRemoveHeader");function XU(t,e,n){let r=[];if(Array.isArray(t))for(let s=0;s<t.length;s+=2)by(t[s],e,n)||r.push(t[s],t[s+1]);else if(t&&typeof t=="object")for(let s of Object.keys(t))by(s,e,n)||r.push(s,t[s]);else bg(t==null,"headers must be an object or an array");return r}o(XU,"cleanRequestHeaders");Ry.exports=wg});var pc=T((s8,ky)=>{"use strict";var eM=hc();function tM({maxRedirections:t}){return e=>o(function(r,s){let{maxRedirections:i=t}=r;if(!i)return e(r,s);let a=new eM(e,i,r,s);return r={...r,maxRedirections:0},e(r,a)},"Intercept")}o(tM,"createRedirectInterceptor");ky.exports=tM});var wi=T((o8,Ly)=>{"use strict";var $n=require("node:assert"),Ny=require("node:net"),nM=require("node:http"),us=ue(),{channels:Qi}=si(),rM=MC(),sM=Ai(),{InvalidArgumentError:Ue,InformationalError:iM,ClientDestroyedError:oM}=pe(),aM=Lo(),{kUrl:Cn,kServerName:Er,kClient:AM,kBusy:Rg,kConnect:cM,kResuming:ls,kRunning:ta,kPending:na,kSize:ea,kQueue:Kt,kConnected:uM,kConnecting:Bi,kNeedDrain:Ir,kKeepAliveDefaultTimeout:Sy,kHostHeader:lM,kPendingIdx:Xt,kRunningIdx:Yn,kError:dM,kPipelining:fc,kKeepAliveTimeoutValue:gM,kMaxHeadersSize:hM,kKeepAliveMaxTimeout:pM,kKeepAliveTimeoutThreshold:fM,kHeadersTimeout:mM,kBodyTimeout:EM,kStrictContentLength:CM,kConnector:Zo,kMaxRedirections:IM,kMaxRequests:kg,kCounter:yM,kClose:QM,kDestroy:BM,kDispatch:wM,kInterceptors:vy,kLocalAddress:Ko,kMaxResponseSize:bM,kOnError:RM,kHTTPContext:Me,kMaxConcurrentStreams:kM,kResume:Xo}=ke(),SM=py(),vM=By(),xy=!1,Cr=Symbol("kClosedResolve"),Dy=o(()=>{},"noop");function Fy(t){return t[fc]??t[Me]?.defaultPipelining??1}o(Fy,"getPipelining");var Sg=class extends sM{static{o(this,"Client")}constructor(e,{interceptors:n,maxHeaderSize:r,headersTimeout:s,socketTimeout:i,requestTimeout:a,connectTimeout:c,bodyTimeout:l,idleTimeout:d,keepAlive:g,keepAliveTimeout:h,maxKeepAliveTimeout:f,keepAliveMaxTimeout:m,keepAliveTimeoutThreshold:C,socketPath:y,pipelining:v,tls:Q,strictContentLength:D,maxCachedSessions:G,maxRedirections:P,connect:ae,maxRequestsPerClient:Ee,localAddress:Ce,maxResponseSize:De,autoSelectFamily:et,autoSelectFamilyAttemptTimeout:sn,maxConcurrentStreams:At,allowH2:Ge,webSocket:Tt,eventSource:xe}={}){if(super({webSocket:Tt,eventSource:xe}),g!==void 0)throw new Ue("unsupported keepAlive, use pipelining=0 instead");if(i!==void 0)throw new Ue("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(a!==void 0)throw new Ue("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(d!==void 0)throw new Ue("unsupported idleTimeout, use keepAliveTimeout instead");if(f!==void 0)throw new Ue("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(r!=null&&!Number.isFinite(r))throw new Ue("invalid maxHeaderSize");if(y!=null&&typeof y!="string")throw new Ue("invalid socketPath");if(c!=null&&(!Number.isFinite(c)||c<0))throw new Ue("invalid connectTimeout");if(h!=null&&(!Number.isFinite(h)||h<=0))throw new Ue("invalid keepAliveTimeout");if(m!=null&&(!Number.isFinite(m)||m<=0))throw new Ue("invalid keepAliveMaxTimeout");if(C!=null&&!Number.isFinite(C))throw new Ue("invalid keepAliveTimeoutThreshold");if(s!=null&&(!Number.isInteger(s)||s<0))throw new Ue("headersTimeout must be a positive integer or zero");if(l!=null&&(!Number.isInteger(l)||l<0))throw new Ue("bodyTimeout must be a positive integer or zero");if(ae!=null&&typeof ae!="function"&&typeof ae!="object")throw new Ue("connect must be a function or an object");if(P!=null&&(!Number.isInteger(P)||P<0))throw new Ue("maxRedirections must be a positive number");if(Ee!=null&&(!Number.isInteger(Ee)||Ee<0))throw new Ue("maxRequestsPerClient must be a positive number");if(Ce!=null&&(typeof Ce!="string"||Ny.isIP(Ce)===0))throw new Ue("localAddress must be valid string IP address");if(De!=null&&(!Number.isInteger(De)||De<-1))throw new Ue("maxResponseSize must be a positive number");if(sn!=null&&(!Number.isInteger(sn)||sn<-1))throw new Ue("autoSelectFamilyAttemptTimeout must be a positive number");if(Ge!=null&&typeof Ge!="boolean")throw new Ue("allowH2 must be a valid boolean value");if(At!=null&&(typeof At!="number"||At<1))throw new Ue("maxConcurrentStreams must be a positive integer, greater than 0");typeof ae!="function"&&(ae=aM({...Q,maxCachedSessions:G,allowH2:Ge,socketPath:y,timeout:c,...et?{autoSelectFamily:et,autoSelectFamilyAttemptTimeout:sn}:void 0,...ae})),n?.Client&&Array.isArray(n.Client)?(this[vy]=n.Client,xy||(xy=!0,process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.",{code:"UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"}))):this[vy]=[xM({maxRedirections:P})],this[Cn]=us.parseOrigin(e),this[Zo]=ae,this[fc]=v??1,this[hM]=r||nM.maxHeaderSize,this[Sy]=h??4e3,this[pM]=m??6e5,this[fM]=C??2e3,this[gM]=this[Sy],this[Er]=null,this[Ko]=Ce??null,this[ls]=0,this[Ir]=0,this[lM]=`host: ${this[Cn].hostname}${this[Cn].port?`:${this[Cn].port}`:""}\r
|
|
41
|
+
`,this[EM]=l??3e5,this[mM]=s??3e5,this[CM]=D??!0,this[IM]=P,this[kg]=Ee,this[Cr]=null,this[bM]=De>-1?De:-1,this[kM]=At??100,this[Me]=null,this[Kt]=[],this[Yn]=0,this[Xt]=0,this[Xo]=Nt=>vg(this,Nt),this[RM]=Nt=>Uy(this,Nt)}get pipelining(){return this[fc]}set pipelining(e){this[fc]=e,this[Xo](!0)}get[na](){return this[Kt].length-this[Xt]}get[ta](){return this[Xt]-this[Yn]}get[ea](){return this[Kt].length-this[Yn]}get[uM](){return!!this[Me]&&!this[Bi]&&!this[Me].destroyed}get[Rg](){return!!(this[Me]?.busy(null)||this[ea]>=(Fy(this)||1)||this[na]>0)}[cM](e){My(this),this.once("connect",e)}[wM](e,n){let r=e.origin||this[Cn].origin,s=new rM(r,e,n);return this[Kt].push(s),this[ls]||(us.bodyLength(s.body)==null&&us.isIterable(s.body)?(this[ls]=1,queueMicrotask(()=>vg(this))):this[Xo](!0)),this[ls]&&this[Ir]!==2&&this[Rg]&&(this[Ir]=2),this[Ir]<2}async[QM](){return new Promise(e=>{this[ea]?this[Cr]=e:e(null)})}async[BM](e){return new Promise(n=>{let r=this[Kt].splice(this[Xt]);for(let i=0;i<r.length;i++){let a=r[i];us.errorRequest(this,a,e)}let s=o(()=>{this[Cr]&&(this[Cr](),this[Cr]=null),n(null)},"callback");this[Me]?(this[Me].destroy(e,s),this[Me]=null):queueMicrotask(s),this[Xo]()})}},xM=pc();function Uy(t,e){if(t[ta]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){$n(t[Xt]===t[Yn]);let n=t[Kt].splice(t[Yn]);for(let r=0;r<n.length;r++){let s=n[r];us.errorRequest(t,s,e)}$n(t[ea]===0)}}o(Uy,"onError");async function My(t){$n(!t[Bi]),$n(!t[Me]);let{host:e,hostname:n,protocol:r,port:s}=t[Cn];if(n[0]==="["){let i=n.indexOf("]");$n(i!==-1);let a=n.substring(1,i);$n(Ny.isIP(a)),n=a}t[Bi]=!0,Qi.beforeConnect.hasSubscribers&&Qi.beforeConnect.publish({connectParams:{host:e,hostname:n,protocol:r,port:s,version:t[Me]?.version,servername:t[Er],localAddress:t[Ko]},connector:t[Zo]});try{let i=await new Promise((a,c)=>{t[Zo]({host:e,hostname:n,protocol:r,port:s,servername:t[Er],localAddress:t[Ko]},(l,d)=>{l?c(l):a(d)})});if(t.destroyed){us.destroy(i.on("error",Dy),new oM);return}$n(i);try{t[Me]=i.alpnProtocol==="h2"?await vM(t,i):await SM(t,i)}catch(a){throw i.destroy().on("error",Dy),a}t[Bi]=!1,i[yM]=0,i[kg]=t[kg],i[AM]=t,i[dM]=null,Qi.connected.hasSubscribers&&Qi.connected.publish({connectParams:{host:e,hostname:n,protocol:r,port:s,version:t[Me]?.version,servername:t[Er],localAddress:t[Ko]},connector:t[Zo],socket:i}),t.emit("connect",t[Cn],[t])}catch(i){if(t.destroyed)return;if(t[Bi]=!1,Qi.connectError.hasSubscribers&&Qi.connectError.publish({connectParams:{host:e,hostname:n,protocol:r,port:s,version:t[Me]?.version,servername:t[Er],localAddress:t[Ko]},connector:t[Zo],error:i}),i.code==="ERR_TLS_CERT_ALTNAME_INVALID")for($n(t[ta]===0);t[na]>0&&t[Kt][t[Xt]].servername===t[Er];){let a=t[Kt][t[Xt]++];us.errorRequest(t,a,i)}else Uy(t,i);t.emit("connectionError",t[Cn],[t],i)}t[Xo]()}o(My,"connect");function Ty(t){t[Ir]=0,t.emit("drain",t[Cn],[t])}o(Ty,"emitDrain");function vg(t,e){t[ls]!==2&&(t[ls]=2,DM(t,e),t[ls]=0,t[Yn]>256&&(t[Kt].splice(0,t[Yn]),t[Xt]-=t[Yn],t[Yn]=0))}o(vg,"resume");function DM(t,e){for(;;){if(t.destroyed){$n(t[na]===0);return}if(t[Cr]&&!t[ea]){t[Cr](),t[Cr]=null;return}if(t[Me]&&t[Me].resume(),t[Rg])t[Ir]=2;else if(t[Ir]===2){e?(t[Ir]=1,queueMicrotask(()=>Ty(t))):Ty(t);continue}if(t[na]===0||t[ta]>=(Fy(t)||1))return;let n=t[Kt][t[Xt]];if(t[Cn].protocol==="https:"&&t[Er]!==n.servername){if(t[ta]>0)return;t[Er]=n.servername,t[Me]?.destroy(new iM("servername changed"),()=>{t[Me]=null,vg(t)})}if(t[Bi])return;if(!t[Me]){My(t);return}if(t[Me].destroyed||t[Me].busy(n))return;!n.aborted&&t[Me].write(n)?t[Xt]++:t[Kt].splice(t[Xt],1)}}o(DM,"_resume");Ly.exports=Sg});var xg=T((c8,_y)=>{"use strict";var mc=class{static{o(this,"FixedCircularBuffer")}constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};_y.exports=class{static{o(this,"FixedQueue")}constructor(){this.head=this.tail=new mc}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new mc),this.head.push(e)}shift(){let e=this.tail,n=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),n}}});var Oy=T((l8,Py)=>{var{kFree:TM,kConnected:NM,kPending:FM,kQueued:UM,kRunning:MM,kSize:LM}=ke(),ds=Symbol("pool"),Dg=class{static{o(this,"PoolStats")}constructor(e){this[ds]=e}get connected(){return this[ds][NM]}get free(){return this[ds][TM]}get pending(){return this[ds][FM]}get queued(){return this[ds][UM]}get running(){return this[ds][MM]}get size(){return this[ds][LM]}};Py.exports=Dg});var Lg=T((g8,zy)=>{"use strict";var _M=Ai(),PM=xg(),{kConnected:Tg,kSize:Gy,kRunning:$y,kPending:Yy,kQueued:ra,kBusy:OM,kFree:GM,kUrl:$M,kClose:YM,kDestroy:VM,kDispatch:HM}=ke(),JM=Oy(),pt=Symbol("clients"),ot=Symbol("needDrain"),sa=Symbol("queue"),Ng=Symbol("closed resolve"),Fg=Symbol("onDrain"),Vy=Symbol("onConnect"),Hy=Symbol("onDisconnect"),Jy=Symbol("onConnectionError"),Ug=Symbol("get dispatcher"),jy=Symbol("add client"),Wy=Symbol("remove client"),qy=Symbol("stats"),Mg=class extends _M{static{o(this,"PoolBase")}constructor(e){super(e),this[sa]=new PM,this[pt]=[],this[ra]=0;let n=this;this[Fg]=o(function(s,i){let a=n[sa],c=!1;for(;!c;){let l=a.shift();if(!l)break;n[ra]--,c=!this.dispatch(l.opts,l.handler)}this[ot]=c,!this[ot]&&n[ot]&&(n[ot]=!1,n.emit("drain",s,[n,...i])),n[Ng]&&a.isEmpty()&&Promise.all(n[pt].map(l=>l.close())).then(n[Ng])},"onDrain"),this[Vy]=(r,s)=>{n.emit("connect",r,[n,...s])},this[Hy]=(r,s,i)=>{n.emit("disconnect",r,[n,...s],i)},this[Jy]=(r,s,i)=>{n.emit("connectionError",r,[n,...s],i)},this[qy]=new JM(this)}get[OM](){return this[ot]}get[Tg](){return this[pt].filter(e=>e[Tg]).length}get[GM](){return this[pt].filter(e=>e[Tg]&&!e[ot]).length}get[Yy](){let e=this[ra];for(let{[Yy]:n}of this[pt])e+=n;return e}get[$y](){let e=0;for(let{[$y]:n}of this[pt])e+=n;return e}get[Gy](){let e=this[ra];for(let{[Gy]:n}of this[pt])e+=n;return e}get stats(){return this[qy]}async[YM](){this[sa].isEmpty()?await Promise.all(this[pt].map(e=>e.close())):await new Promise(e=>{this[Ng]=e})}async[VM](e){for(;;){let n=this[sa].shift();if(!n)break;n.handler.onError(e)}await Promise.all(this[pt].map(n=>n.destroy(e)))}[HM](e,n){let r=this[Ug]();return r?r.dispatch(e,n)||(r[ot]=!0,this[ot]=!this[Ug]()):(this[ot]=!0,this[sa].push({opts:e,handler:n}),this[ra]++),!this[ot]}[jy](e){return e.on("drain",this[Fg]).on("connect",this[Vy]).on("disconnect",this[Hy]).on("connectionError",this[Jy]),this[pt].push(e),this[ot]&&queueMicrotask(()=>{this[ot]&&this[Fg](e[$M],[this,e])}),this}[Wy](e){e.close(()=>{let n=this[pt].indexOf(e);n!==-1&&this[pt].splice(n,1)}),this[ot]=this[pt].some(n=>!n[ot]&&n.closed!==!0&&n.destroyed!==!0)}};zy.exports={PoolBase:Mg,kClients:pt,kNeedDrain:ot,kAddClient:jy,kRemoveClient:Wy,kGetDispatcher:Ug}});var bi=T((p8,eQ)=>{"use strict";var{PoolBase:qM,kClients:Ec,kNeedDrain:jM,kAddClient:WM,kGetDispatcher:zM}=Lg(),ZM=wi(),{InvalidArgumentError:_g}=pe(),Zy=ue(),{kUrl:Ky,kInterceptors:KM}=ke(),XM=Lo(),Pg=Symbol("options"),Og=Symbol("connections"),Xy=Symbol("factory");function eL(t,e){return new ZM(t,e)}o(eL,"defaultFactory");var Gg=class extends qM{static{o(this,"Pool")}constructor(e,{connections:n,factory:r=eL,connect:s,connectTimeout:i,tls:a,maxCachedSessions:c,socketPath:l,autoSelectFamily:d,autoSelectFamilyAttemptTimeout:g,allowH2:h,...f}={}){if(n!=null&&(!Number.isFinite(n)||n<0))throw new _g("invalid connections");if(typeof r!="function")throw new _g("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new _g("connect must be a function or an object");typeof s!="function"&&(s=XM({...a,maxCachedSessions:c,allowH2:h,socketPath:l,timeout:i,...d?{autoSelectFamily:d,autoSelectFamilyAttemptTimeout:g}:void 0,...s})),super(f),this[KM]=f.interceptors?.Pool&&Array.isArray(f.interceptors.Pool)?f.interceptors.Pool:[],this[Og]=n||null,this[Ky]=Zy.parseOrigin(e),this[Pg]={...Zy.deepClone(f),connect:s,allowH2:h},this[Pg].interceptors=f.interceptors?{...f.interceptors}:void 0,this[Xy]=r,this.on("connectionError",(m,C,y)=>{for(let v of C){let Q=this[Ec].indexOf(v);Q!==-1&&this[Ec].splice(Q,1)}})}[zM](){for(let e of this[Ec])if(!e[jM])return e;if(!this[Og]||this[Ec].length<this[Og]){let e=this[Xy](this[Ky],this[Pg]);return this[WM](e),e}}};eQ.exports=Gg});var iQ=T((m8,sQ)=>{"use strict";var{BalancedPoolMissingUpstreamError:tL,InvalidArgumentError:nL}=pe(),{PoolBase:rL,kClients:Ke,kNeedDrain:ia,kAddClient:sL,kRemoveClient:iL,kGetDispatcher:oL}=Lg(),aL=bi(),{kUrl:$g,kInterceptors:AL}=ke(),{parseOrigin:tQ}=ue(),nQ=Symbol("factory"),Cc=Symbol("options"),rQ=Symbol("kGreatestCommonDivisor"),gs=Symbol("kCurrentWeight"),hs=Symbol("kIndex"),Gt=Symbol("kWeight"),Ic=Symbol("kMaxWeightPerServer"),yc=Symbol("kErrorPenalty");function cL(t,e){if(t===0)return e;for(;e!==0;){let n=e;e=t%e,t=n}return t}o(cL,"getGreatestCommonDivisor");function uL(t,e){return new aL(t,e)}o(uL,"defaultFactory");var Yg=class extends rL{static{o(this,"BalancedPool")}constructor(e=[],{factory:n=uL,...r}={}){if(super(),this[Cc]=r,this[hs]=-1,this[gs]=0,this[Ic]=this[Cc].maxWeightPerServer||100,this[yc]=this[Cc].errorPenalty||15,Array.isArray(e)||(e=[e]),typeof n!="function")throw new nL("factory must be a function.");this[AL]=r.interceptors?.BalancedPool&&Array.isArray(r.interceptors.BalancedPool)?r.interceptors.BalancedPool:[],this[nQ]=n;for(let s of e)this.addUpstream(s);this._updateBalancedPoolStats()}addUpstream(e){let n=tQ(e).origin;if(this[Ke].find(s=>s[$g].origin===n&&s.closed!==!0&&s.destroyed!==!0))return this;let r=this[nQ](n,Object.assign({},this[Cc]));this[sL](r),r.on("connect",()=>{r[Gt]=Math.min(this[Ic],r[Gt]+this[yc])}),r.on("connectionError",()=>{r[Gt]=Math.max(1,r[Gt]-this[yc]),this._updateBalancedPoolStats()}),r.on("disconnect",(...s)=>{let i=s[2];i&&i.code==="UND_ERR_SOCKET"&&(r[Gt]=Math.max(1,r[Gt]-this[yc]),this._updateBalancedPoolStats())});for(let s of this[Ke])s[Gt]=this[Ic];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let e=0;for(let n=0;n<this[Ke].length;n++)e=cL(this[Ke][n][Gt],e);this[rQ]=e}removeUpstream(e){let n=tQ(e).origin,r=this[Ke].find(s=>s[$g].origin===n&&s.closed!==!0&&s.destroyed!==!0);return r&&this[iL](r),this}get upstreams(){return this[Ke].filter(e=>e.closed!==!0&&e.destroyed!==!0).map(e=>e[$g].origin)}[oL](){if(this[Ke].length===0)throw new tL;if(!this[Ke].find(i=>!i[ia]&&i.closed!==!0&&i.destroyed!==!0)||this[Ke].map(i=>i[ia]).reduce((i,a)=>i&&a,!0))return;let r=0,s=this[Ke].findIndex(i=>!i[ia]);for(;r++<this[Ke].length;){this[hs]=(this[hs]+1)%this[Ke].length;let i=this[Ke][this[hs]];if(i[Gt]>this[Ke][s][Gt]&&!i[ia]&&(s=this[hs]),this[hs]===0&&(this[gs]=this[gs]-this[rQ],this[gs]<=0&&(this[gs]=this[Ic])),i[Gt]>=this[gs]&&!i[ia])return i}return this[gs]=this[Ke][s][Gt],this[hs]=s,this[Ke][s]}};sQ.exports=Yg});var Ri=T((C8,dQ)=>{"use strict";var{InvalidArgumentError:Qc}=pe(),{kClients:yr,kRunning:oQ,kClose:lL,kDestroy:dL,kDispatch:gL,kInterceptors:hL}=ke(),pL=Ai(),fL=bi(),mL=wi(),EL=ue(),CL=pc(),aQ=Symbol("onConnect"),AQ=Symbol("onDisconnect"),cQ=Symbol("onConnectionError"),IL=Symbol("maxRedirections"),uQ=Symbol("onDrain"),lQ=Symbol("factory"),Vg=Symbol("options");function yL(t,e){return e&&e.connections===1?new mL(t,e):new fL(t,e)}o(yL,"defaultFactory");var Hg=class extends pL{static{o(this,"Agent")}constructor({factory:e=yL,maxRedirections:n=0,connect:r,tls:s,...i}={}){if(typeof e!="function")throw new Qc("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new Qc("connect must be a function or an object");if(!Number.isInteger(n)||n<0)throw new Qc("maxRedirections must be a positive number");super(i),r&&typeof r!="function"&&(r={...r}),s&&typeof s!="function"&&(s={...s}),this[hL]=i.interceptors?.Agent&&Array.isArray(i.interceptors.Agent)?i.interceptors.Agent:[CL({maxRedirections:n})],this[Vg]={...EL.deepClone(i),connect:r,tls:s},this[Vg].interceptors=i.interceptors?{...i.interceptors}:void 0,this[IL]=n,this[lQ]=e,this[yr]=new Map,this[uQ]=(a,c)=>{this.emit("drain",a,[this,...c])},this[aQ]=(a,c)=>{this.emit("connect",a,[this,...c])},this[AQ]=(a,c,l)=>{this.emit("disconnect",a,[this,...c],l)},this[cQ]=(a,c,l)=>{this.emit("connectionError",a,[this,...c],l)}}get[oQ](){let e=0;for(let n of this[yr].values())e+=n[oQ];return e}[gL](e,n){let r;if(e.origin&&(typeof e.origin=="string"||e.origin instanceof URL))r=String(e.origin);else throw new Qc("opts.origin must be a non-empty string or URL.");let s=this[yr].get(r);return s||(s=this[lQ](e.origin,this[Vg]).on("drain",this[uQ]).on("connect",this[aQ]).on("disconnect",this[AQ]).on("connectionError",this[cQ]),this[yr].set(r,s)),s.dispatch(e,n)}async[lL](){let e=[];for(let n of this[yr].values())e.push(n.close());this[yr].clear(),await Promise.all(e)}async[dL](e){let n=[];for(let r of this[yr].values())n.push(r.destroy(e));this[yr].clear(),await Promise.all(n)}};dQ.exports=Hg});var zg=T((y8,BQ)=>{"use strict";var{kProxy:Jg,kClose:EQ,kDestroy:CQ,kDispatch:gQ,kInterceptors:QL}=ke(),{URL:ps}=require("node:url"),BL=Ri(),IQ=bi(),yQ=Ai(),{InvalidArgumentError:ki,RequestAbortedError:wL,SecureProxyConnectionError:bL}=pe(),hQ=Lo(),QQ=wi(),Bc=Symbol("proxy agent"),wc=Symbol("proxy client"),Qr=Symbol("proxy headers"),qg=Symbol("request tls settings"),pQ=Symbol("proxy tls settings"),fQ=Symbol("connect endpoint function"),mQ=Symbol("tunnel proxy");function RL(t){return t==="https:"?443:80}o(RL,"defaultProtocolPort");function kL(t,e){return new IQ(t,e)}o(kL,"defaultFactory");var SL=o(()=>{},"noop");function vL(t,e){return e.connections===1?new QQ(t,e):new IQ(t,e)}o(vL,"defaultAgentFactory");var jg=class extends yQ{static{o(this,"Http1ProxyWrapper")}#e;constructor(e,{headers:n={},connect:r,factory:s}){if(super(),!e)throw new ki("Proxy URL is mandatory");this[Qr]=n,s?this.#e=s(e,{connect:r}):this.#e=new QQ(e,{connect:r})}[gQ](e,n){let r=n.onHeaders;n.onHeaders=function(c,l,d){if(c===407){typeof n.onError=="function"&&n.onError(new ki("Proxy Authentication Required (407)"));return}r&&r.call(this,c,l,d)};let{origin:s,path:i="/",headers:a={}}=e;if(e.path=s+i,!("host"in a)&&!("Host"in a)){let{host:c}=new ps(s);a.host=c}return e.headers={...this[Qr],...a},this.#e[gQ](e,n)}async[EQ](){return this.#e.close()}async[CQ](e){return this.#e.destroy(e)}},Wg=class extends yQ{static{o(this,"ProxyAgent")}constructor(e){if(super(),!e||typeof e=="object"&&!(e instanceof ps)&&!e.uri)throw new ki("Proxy uri is mandatory");let{clientFactory:n=kL}=e;if(typeof n!="function")throw new ki("Proxy opts.clientFactory must be a function.");let{proxyTunnel:r=!0}=e,s=this.#e(e),{href:i,origin:a,port:c,protocol:l,username:d,password:g,hostname:h}=s;if(this[Jg]={uri:i,protocol:l},this[QL]=e.interceptors?.ProxyAgent&&Array.isArray(e.interceptors.ProxyAgent)?e.interceptors.ProxyAgent:[],this[qg]=e.requestTls,this[pQ]=e.proxyTls,this[Qr]=e.headers||{},this[mQ]=r,e.auth&&e.token)throw new ki("opts.auth cannot be used in combination with opts.token");e.auth?this[Qr]["proxy-authorization"]=`Basic ${e.auth}`:e.token?this[Qr]["proxy-authorization"]=e.token:d&&g&&(this[Qr]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(d)}:${decodeURIComponent(g)}`).toString("base64")}`);let f=hQ({...e.proxyTls});this[fQ]=hQ({...e.requestTls});let m=e.factory||vL,C=o((y,v)=>{let{protocol:Q}=new ps(y);return!this[mQ]&&Q==="http:"&&this[Jg].protocol==="http:"?new jg(this[Jg].uri,{headers:this[Qr],connect:f,factory:m}):m(y,v)},"factory");this[wc]=n(s,{connect:f}),this[Bc]=new BL({...e,factory:C,connect:o(async(y,v)=>{let Q=y.host;y.port||(Q+=`:${RL(y.protocol)}`);try{let{socket:D,statusCode:G}=await this[wc].connect({origin:a,port:c,path:Q,signal:y.signal,headers:{...this[Qr],host:y.host},servername:this[pQ]?.servername||h});if(G!==200&&(D.on("error",SL).destroy(),v(new wL(`Proxy response (${G}) !== 200 when HTTP Tunneling`))),y.protocol!=="https:"){v(null,D);return}let P;this[qg]?P=this[qg].servername:P=y.servername,this[fQ]({...y,servername:P,httpSocket:D},v)}catch(D){D.code==="ERR_TLS_CERT_ALTNAME_INVALID"?v(new bL(D)):v(D)}},"connect")})}dispatch(e,n){let r=xL(e.headers);if(DL(r),r&&!("host"in r)&&!("Host"in r)){let{host:s}=new ps(e.origin);r.host=s}return this[Bc].dispatch({...e,headers:r},n)}#e(e){return typeof e=="string"?new ps(e):e instanceof ps?e:new ps(e.uri)}async[EQ](){await this[Bc].close(),await this[wc].close()}async[CQ](){await this[Bc].destroy(),await this[wc].destroy()}};function xL(t){if(Array.isArray(t)){let e={};for(let n=0;n<t.length;n+=2)e[t[n]]=t[n+1];return e}return t}o(xL,"buildHeaders");function DL(t){if(t&&Object.keys(t).find(n=>n.toLowerCase()==="proxy-authorization"))throw new ki("Proxy-Authorization should be sent in ProxyAgent constructor")}o(DL,"throwIfProxyAuthIsSent");BQ.exports=Wg});var vQ=T((B8,SQ)=>{"use strict";var TL=Ai(),{kClose:NL,kDestroy:FL,kClosed:wQ,kDestroyed:bQ,kDispatch:UL,kNoProxyAgent:oa,kHttpProxyAgent:Br,kHttpsProxyAgent:fs}=ke(),RQ=zg(),ML=Ri(),LL={"http:":80,"https:":443},kQ=!1,Zg=class extends TL{static{o(this,"EnvHttpProxyAgent")}#e=null;#t=null;#n=null;constructor(e={}){super(),this.#n=e,kQ||(kQ=!0,process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.",{code:"UNDICI-EHPA"}));let{httpProxy:n,httpsProxy:r,noProxy:s,...i}=e;this[oa]=new ML(i);let a=n??process.env.http_proxy??process.env.HTTP_PROXY;a?this[Br]=new RQ({...i,uri:a}):this[Br]=this[oa];let c=r??process.env.https_proxy??process.env.HTTPS_PROXY;c?this[fs]=new RQ({...i,uri:c}):this[fs]=this[Br],this.#r()}[UL](e,n){let r=new URL(e.origin);return this.#s(r).dispatch(e,n)}async[NL](){await this[oa].close(),this[Br][wQ]||await this[Br].close(),this[fs][wQ]||await this[fs].close()}async[FL](e){await this[oa].destroy(e),this[Br][bQ]||await this[Br].destroy(e),this[fs][bQ]||await this[fs].destroy(e)}#s(e){let{protocol:n,host:r,port:s}=e;return r=r.replace(/:\d*$/,"").toLowerCase(),s=Number.parseInt(s,10)||LL[n]||0,this.#i(r,s)?n==="https:"?this[fs]:this[Br]:this[oa]}#i(e,n){if(this.#o&&this.#r(),this.#t.length===0)return!0;if(this.#e==="*")return!1;for(let r=0;r<this.#t.length;r++){let s=this.#t[r];if(!(s.port&&s.port!==n)){if(/^[.*]/.test(s.hostname)){if(e.endsWith(s.hostname.replace(/^\*/,"")))return!1}else if(e===s.hostname)return!1}}return!0}#r(){let e=this.#n.noProxy??this.#a,n=e.split(/[,\s]/),r=[];for(let s=0;s<n.length;s++){let i=n[s];if(!i)continue;let a=i.match(/^(.+):(\d+)$/);r.push({hostname:(a?a[1]:i).toLowerCase(),port:a?Number.parseInt(a[2],10):0})}this.#e=e,this.#t=r}get#o(){return this.#n.noProxy!==void 0?!1:this.#e!==this.#a}get#a(){return process.env.no_proxy??process.env.NO_PROXY??""}};SQ.exports=Zg});var bc=T((b8,FQ)=>{"use strict";var aa=require("node:assert"),{kRetryHandlerDefaultRetry:xQ}=ke(),{RequestRetryError:ms}=pe(),{isDisturbed:DQ,parseHeaders:_L,parseRangeHeader:TQ,wrapRequestBody:PL}=ue();function OL(t){let e=Date.now();return new Date(t).getTime()-e}o(OL,"calculateRetryAfterHeader");function NQ(t,e,n,r){let s=t["content-length"];if(s==null||!Number.isFinite(e.start)||!Number.isFinite(e.end))return null;let i=Number(s),a=e.end-e.start+1;return!Number.isFinite(i)||i!==a?new ms("Content-Length mismatch",n,{headers:t,data:{count:r}}):null}o(NQ,"validatePartialResponseContentLength");var Kg=class t{static{o(this,"RetryHandler")}constructor(e,n){let{retryOptions:r,...s}=e,{retry:i,maxRetries:a,maxTimeout:c,minTimeout:l,timeoutFactor:d,methods:g,errorCodes:h,retryAfter:f,statusCodes:m}=r??{};this.dispatch=n.dispatch,this.handler=n.handler,this.opts={...s,body:PL(e.body)},this.abort=null,this.aborted=!1,this.retryOpts={retry:i??t[xQ],retryAfter:f??!0,maxTimeout:c??30*1e3,minTimeout:l??500,timeoutFactor:d??2,maxRetries:a??5,methods:g??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:m??[500,502,503,504,429],errorCodes:h??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.start=0,this.end=null,this.etag=null,this.resume=null,this.headersSent=!1,this.handler.onConnect(C=>{this.aborted=!0,this.abort?this.abort(C):this.reason=C})}checkpointResponseEnd(e,n){if(this.end==null&&this.opts.method!=="HEAD"){let r=e["content-length"];this.end=r!=null?Number(r)-1:null,aa(this.end==null||Number.isFinite(this.end),"invalid content-length")}this.resume=this.end!=null?n:null}onRequestSent(){this.handler.onRequestSent&&this.handler.onRequestSent()}onUpgrade(e,n,r){this.handler.onUpgrade&&this.handler.onUpgrade(e,n,r)}onConnect(e){this.aborted?e(this.reason):this.abort=e}onBodySent(e){if(this.handler.onBodySent)return this.handler.onBodySent(e)}static[xQ](e,{state:n,opts:r},s){let{statusCode:i,code:a,headers:c}=e,{method:l,retryOptions:d}=r,{maxRetries:g,minTimeout:h,maxTimeout:f,timeoutFactor:m,statusCodes:C,errorCodes:y,methods:v}=d,{counter:Q}=n;if(a&&a!=="UND_ERR_REQ_RETRY"&&!y.includes(a)){s(e);return}if(Array.isArray(v)&&!v.includes(l)){s(e);return}if(i!=null&&Array.isArray(C)&&!C.includes(i)){s(e);return}if(Q>g){s(e);return}let D=c?.["retry-after"];D&&(D=Number(D),D=Number.isNaN(D)?OL(D):D*1e3);let G=D>0?Math.min(D,f):Math.min(h*m**(Q-1),f);setTimeout(()=>s(null),G)}onHeaders(e,n,r,s){let i=_L(n);if(this.retryCount+=1,e>=300)return!this.headersSent&&this.retryOpts.statusCodes.includes(e)===!1?(this.headersSent=!0,this.checkpointResponseEnd(i,r),this.handler.onHeaders(e,n,r,s)):(this.abort(new ms("Request failed",e,{headers:i,data:{count:this.retryCount}})),!1);if(this.resume!=null){if(this.resume=null,e!==206&&(this.start>0||e!==200))return this.abort(new ms("server does not support the range header and the payload was partially consumed",e,{headers:i,data:{count:this.retryCount}})),!1;let c=TQ(i["content-range"]);if(!c)return this.abort(new ms("Content-Range mismatch",e,{headers:i,data:{count:this.retryCount}})),!1;if(this.etag!=null&&this.etag!==i.etag)return this.abort(new ms("ETag mismatch",e,{headers:i,data:{count:this.retryCount}})),!1;let l=NQ(i,c,e,this.retryCount);if(l!=null)return this.abort(l),!1;let{start:d,size:g,end:h=g-1}=c;return this.start!==d||this.end!=null&&this.end!==h?(this.abort(new ms("Content-Range mismatch",e,{headers:i,data:{count:this.retryCount}})),!1):(this.resume=r,!0)}if(this.end==null){if(e===206){let c=TQ(i["content-range"]);if(c==null)return this.headersSent=!0,this.handler.onHeaders(e,n,r,s);let l=NQ(i,c,e,this.retryCount);if(l!=null)return this.abort(l),!1;let{start:d,size:g,end:h=g-1}=c;aa(d!=null&&Number.isFinite(d),"content-range mismatch"),aa(h!=null&&Number.isFinite(h),"invalid content-length"),this.start=d,this.end=h}if(this.end==null){let c=i["content-length"];this.end=c!=null?Number(c)-1:null}return aa(Number.isFinite(this.start)),aa(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=r,this.headersSent=!0,this.etag=i.etag!=null?i.etag:null,this.etag!=null&&this.etag.startsWith("W/")&&(this.etag=null),this.handler.onHeaders(e,n,r,s)}let a=new ms("Request failed",e,{headers:i,data:{count:this.retryCount}});return this.abort(a),!1}onData(e){return this.start+=e.length,this.handler.onData(e)}onComplete(e){return this.retryCount=0,this.handler.onComplete(e)}onError(e){if(this.aborted||DQ(this.opts.body)||this.headersSent&&this.resume==null)return this.handler.onError(e);this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(e,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},n.bind(this));function n(r){if(r!=null||this.aborted||DQ(this.opts.body))return this.handler.onError(r);if(this.start!==0){let s={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(s["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...s}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(s){this.handler.onError(s)}}o(n,"onRetry")}};FQ.exports=Kg});var MQ=T((k8,UQ)=>{"use strict";var GL=Uo(),$L=bc(),Xg=class extends GL{static{o(this,"RetryAgent")}#e=null;#t=null;constructor(e,n={}){super(n),this.#e=e,this.#t=n}dispatch(e,n){let r=new $L({...e,retryOptions:this.#t},{dispatch:this.#e.dispatch.bind(this.#e),handler:n});return this.#e.dispatch(e,r)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}};UQ.exports=Xg});var ih=T((v8,HQ)=>{"use strict";var GQ=require("node:assert"),{Readable:YL}=require("node:stream"),{RequestAbortedError:$Q,NotSupportedError:VL,InvalidArgumentError:HL,AbortError:eh}=pe(),YQ=ue(),{ReadableStreamFrom:JL}=ue(),wt=Symbol("kConsume"),Aa=Symbol("kReading"),wr=Symbol("kBody"),LQ=Symbol("kAbort"),VQ=Symbol("kContentType"),_Q=Symbol("kContentLength"),qL=o(()=>{},"noop"),th=class extends YL{static{o(this,"BodyReadable")}constructor({resume:e,abort:n,contentType:r="",contentLength:s,highWaterMark:i=64*1024}){super({autoDestroy:!0,read:e,highWaterMark:i}),this._readableState.dataEmitted=!1,this[LQ]=n,this[wt]=null,this[wr]=null,this[VQ]=r,this[_Q]=s,this[Aa]=!1}destroy(e){return!e&&!this._readableState.endEmitted&&(e=new $Q),e&&this[LQ](),super.destroy(e)}_destroy(e,n){this[Aa]?n(e):setImmediate(()=>{n(e)})}on(e,...n){return(e==="data"||e==="readable")&&(this[Aa]=!0),super.on(e,...n)}addListener(e,...n){return this.on(e,...n)}off(e,...n){let r=super.off(e,...n);return(e==="data"||e==="readable")&&(this[Aa]=this.listenerCount("data")>0||this.listenerCount("readable")>0),r}removeListener(e,...n){return this.off(e,...n)}push(e){return this[wt]&&e!==null?(rh(this[wt],e),this[Aa]?super.push(e):!0):super.push(e)}async text(){return ca(this,"text")}async json(){return ca(this,"json")}async blob(){return ca(this,"blob")}async bytes(){return ca(this,"bytes")}async arrayBuffer(){return ca(this,"arrayBuffer")}async formData(){throw new VL}get bodyUsed(){return YQ.isDisturbed(this)}get body(){return this[wr]||(this[wr]=JL(this),this[wt]&&(this[wr].getReader(),GQ(this[wr].locked))),this[wr]}async dump(e){let n=Number.isFinite(e?.limit)?e.limit:131072,r=e?.signal;if(r!=null&&(typeof r!="object"||!("aborted"in r)))throw new HL("signal must be an AbortSignal");return r?.throwIfAborted(),this._readableState.closeEmitted?null:await new Promise((s,i)=>{this[_Q]>n&&this.destroy(new eh);let a=o(()=>{this.destroy(r.reason??new eh)},"onAbort");r?.addEventListener("abort",a),this.on("close",function(){r?.removeEventListener("abort",a),r?.aborted?i(r.reason??new eh):s(null)}).on("error",qL).on("data",function(c){n-=c.length,n<=0&&this.destroy()}).resume()})}};function jL(t){return t[wr]&&t[wr].locked===!0||t[wt]}o(jL,"isLocked");function WL(t){return YQ.isDisturbed(t)||jL(t)}o(WL,"isUnusable");async function ca(t,e){return GQ(!t[wt]),new Promise((n,r)=>{if(WL(t)){let s=t._readableState;s.destroyed&&s.closeEmitted===!1?t.on("error",i=>{r(i)}).on("close",()=>{r(new TypeError("unusable"))}):r(s.errored??new TypeError("unusable"))}else queueMicrotask(()=>{t[wt]={type:e,stream:t,resolve:n,reject:r,length:0,body:[]},t.on("error",function(s){sh(this[wt],s)}).on("close",function(){this[wt].body!==null&&sh(this[wt],new $Q)}),zL(t[wt])})})}o(ca,"consume");function zL(t){if(t.body===null)return;let{_readableState:e}=t.stream;if(e.bufferIndex){let n=e.bufferIndex,r=e.buffer.length;for(let s=n;s<r;s++)rh(t,e.buffer[s])}else for(let n of e.buffer)rh(t,n);for(e.endEmitted?OQ(this[wt]):t.stream.on("end",function(){OQ(this[wt])}),t.stream.resume();t.stream.read()!=null;);}o(zL,"consumeStart");function nh(t,e){if(t.length===0||e===0)return"";let n=t.length===1?t[0]:Buffer.concat(t,e),r=n.length,s=r>2&&n[0]===239&&n[1]===187&&n[2]===191?3:0;return n.utf8Slice(s,r)}o(nh,"chunksDecode");function PQ(t,e){if(t.length===0||e===0)return new Uint8Array(0);if(t.length===1)return new Uint8Array(t[0]);let n=new Uint8Array(Buffer.allocUnsafeSlow(e).buffer),r=0;for(let s=0;s<t.length;++s){let i=t[s];n.set(i,r),r+=i.length}return n}o(PQ,"chunksConcat");function OQ(t){let{type:e,body:n,resolve:r,stream:s,length:i}=t;try{e==="text"?r(nh(n,i)):e==="json"?r(JSON.parse(nh(n,i))):e==="arrayBuffer"?r(PQ(n,i).buffer):e==="blob"?r(new Blob(n,{type:s[VQ]})):e==="bytes"&&r(PQ(n,i)),sh(t)}catch(a){s.destroy(a)}}o(OQ,"consumeEnd");function rh(t,e){t.length+=e.length,t.body.push(e)}o(rh,"consumePush");function sh(t,e){t.body!==null&&(e?t.reject(e):t.resolve(),t.type=null,t.stream=null,t.resolve=null,t.reject=null,t.length=0,t.body=null)}o(sh,"consumeFinish");HQ.exports={Readable:th,chunksDecode:nh}});var oh=T((D8,zQ)=>{var ZL=require("node:assert"),{ResponseStatusCodeError:JQ}=pe(),{chunksDecode:qQ}=ih(),KL=128*1024;async function XL({callback:t,body:e,contentType:n,statusCode:r,statusMessage:s,headers:i}){ZL(e);let a=[],c=0;try{for await(let h of e)if(a.push(h),c+=h.length,c>KL){a=[],c=0;break}}catch{a=[],c=0}let l=`Response status code ${r}${s?`: ${s}`:""}`;if(r===204||!n||!c){queueMicrotask(()=>t(new JQ(l,r,i)));return}let d=Error.stackTraceLimit;Error.stackTraceLimit=0;let g;try{jQ(n)?g=JSON.parse(qQ(a,c)):WQ(n)&&(g=qQ(a,c))}catch{}finally{Error.stackTraceLimit=d}queueMicrotask(()=>t(new JQ(l,r,i,g)))}o(XL,"getResolveErrorBodyCallback");var jQ=o(t=>t.length>15&&t[11]==="/"&&t[0]==="a"&&t[1]==="p"&&t[2]==="p"&&t[3]==="l"&&t[4]==="i"&&t[5]==="c"&&t[6]==="a"&&t[7]==="t"&&t[8]==="i"&&t[9]==="o"&&t[10]==="n"&&t[12]==="j"&&t[13]==="s"&&t[14]==="o"&&t[15]==="n","isContentTypeApplicationJson"),WQ=o(t=>t.length>4&&t[4]==="/"&&t[0]==="t"&&t[1]==="e"&&t[2]==="x"&&t[3]==="t","isContentTypeText");zQ.exports={getResolveErrorBodyCallback:XL,isContentTypeApplicationJson:jQ,isContentTypeText:WQ}});var XQ=T((N8,ah)=>{"use strict";var e_=require("node:assert"),{Readable:t_}=ih(),{InvalidArgumentError:Si,RequestAbortedError:ZQ}=pe(),bt=ue(),{getResolveErrorBodyCallback:n_}=oh(),{AsyncResource:r_}=require("node:async_hooks"),Rc=class extends r_{static{o(this,"RequestHandler")}constructor(e,n){if(!e||typeof e!="object")throw new Si("invalid opts");let{signal:r,method:s,opaque:i,body:a,onInfo:c,responseHeaders:l,throwOnError:d,highWaterMark:g}=e;try{if(typeof n!="function")throw new Si("invalid callback");if(g&&(typeof g!="number"||g<0))throw new Si("invalid highWaterMark");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new Si("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new Si("invalid method");if(c&&typeof c!="function")throw new Si("invalid onInfo callback");super("UNDICI_REQUEST")}catch(h){throw bt.isStream(a)&&bt.destroy(a.on("error",bt.nop),h),h}this.method=s,this.responseHeaders=l||null,this.opaque=i||null,this.callback=n,this.res=null,this.abort=null,this.body=a,this.trailers={},this.context=null,this.onInfo=c||null,this.throwOnError=d,this.highWaterMark=g,this.signal=r,this.reason=null,this.removeAbortListener=null,bt.isStream(a)&&a.on("error",h=>{this.onError(h)}),this.signal&&(this.signal.aborted?this.reason=this.signal.reason??new ZQ:this.removeAbortListener=bt.addAbortListener(this.signal,()=>{this.reason=this.signal.reason??new ZQ,this.res?bt.destroy(this.res.on("error",bt.nop),this.reason):this.abort&&this.abort(this.reason),this.removeAbortListener&&(this.res?.off("close",this.removeAbortListener),this.removeAbortListener(),this.removeAbortListener=null)}))}onConnect(e,n){if(this.reason){e(this.reason);return}e_(this.callback),this.abort=e,this.context=n}onHeaders(e,n,r,s){let{callback:i,opaque:a,abort:c,context:l,responseHeaders:d,highWaterMark:g}=this,h=d==="raw"?bt.parseRawHeaders(n):bt.parseHeaders(n);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:h});return}let f=d==="raw"?bt.parseHeaders(n):h,m=f["content-type"],C=f["content-length"],y=new t_({resume:r,abort:c,contentType:m,contentLength:this.method!=="HEAD"&&C?Number(C):null,highWaterMark:g});this.removeAbortListener&&y.on("close",this.removeAbortListener),this.callback=null,this.res=y,i!==null&&(this.throwOnError&&e>=400?this.runInAsyncScope(n_,null,{callback:i,body:y,contentType:m,statusCode:e,statusMessage:s,headers:h}):this.runInAsyncScope(i,null,null,{statusCode:e,headers:h,trailers:this.trailers,opaque:a,body:y,context:l}))}onData(e){return this.res.push(e)}onComplete(e){bt.parseHeaders(e,this.trailers),this.res.push(null)}onError(e){let{res:n,callback:r,body:s,opaque:i}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:i})})),n&&(this.res=null,queueMicrotask(()=>{bt.destroy(n,e)})),s&&(this.body=null,bt.destroy(s,e)),this.removeAbortListener&&(n?.off("close",this.removeAbortListener),this.removeAbortListener(),this.removeAbortListener=null)}};function KQ(t,e){if(e===void 0)return new Promise((n,r)=>{KQ.call(this,t,(s,i)=>s?r(s):n(i))});try{this.dispatch(t,new Rc(t,e))}catch(n){if(typeof e!="function")throw n;let r=t?.opaque;queueMicrotask(()=>e(n,{opaque:r}))}}o(KQ,"request");ah.exports=KQ;ah.exports.RequestHandler=Rc});var ua=T((U8,nB)=>{var{addAbortListener:s_}=ue(),{RequestAbortedError:i_}=pe(),vi=Symbol("kListener"),In=Symbol("kSignal");function eB(t){t.abort?t.abort(t[In]?.reason):t.reason=t[In]?.reason??new i_,tB(t)}o(eB,"abort");function o_(t,e){if(t.reason=null,t[In]=null,t[vi]=null,!!e){if(e.aborted){eB(t);return}t[In]=e,t[vi]=()=>{eB(t)},s_(t[In],t[vi])}}o(o_,"addSignal");function tB(t){t[In]&&("removeEventListener"in t[In]?t[In].removeEventListener("abort",t[vi]):t[In].removeListener("abort",t[vi]),t[In]=null,t[vi]=null)}o(tB,"removeSignal");nB.exports={addSignal:o_,removeSignal:tB}});var oB=T((L8,iB)=>{"use strict";var a_=require("node:assert"),{finished:A_,PassThrough:c_}=require("node:stream"),{InvalidArgumentError:xi,InvalidReturnValueError:u_}=pe(),en=ue(),{getResolveErrorBodyCallback:l_}=oh(),{AsyncResource:d_}=require("node:async_hooks"),{addSignal:g_,removeSignal:rB}=ua(),Ah=class extends d_{static{o(this,"StreamHandler")}constructor(e,n,r){if(!e||typeof e!="object")throw new xi("invalid opts");let{signal:s,method:i,opaque:a,body:c,onInfo:l,responseHeaders:d,throwOnError:g}=e;try{if(typeof r!="function")throw new xi("invalid callback");if(typeof n!="function")throw new xi("invalid factory");if(s&&typeof s.on!="function"&&typeof s.addEventListener!="function")throw new xi("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new xi("invalid method");if(l&&typeof l!="function")throw new xi("invalid onInfo callback");super("UNDICI_STREAM")}catch(h){throw en.isStream(c)&&en.destroy(c.on("error",en.nop),h),h}this.responseHeaders=d||null,this.opaque=a||null,this.factory=n,this.callback=r,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=c,this.onInfo=l||null,this.throwOnError=g||!1,en.isStream(c)&&c.on("error",h=>{this.onError(h)}),g_(this,s)}onConnect(e,n){if(this.reason){e(this.reason);return}a_(this.callback),this.abort=e,this.context=n}onHeaders(e,n,r,s){let{factory:i,opaque:a,context:c,callback:l,responseHeaders:d}=this,g=d==="raw"?en.parseRawHeaders(n):en.parseHeaders(n);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:g});return}this.factory=null;let h;if(this.throwOnError&&e>=400){let C=(d==="raw"?en.parseHeaders(n):g)["content-type"];h=new c_,this.callback=null,this.runInAsyncScope(l_,null,{callback:l,body:h,contentType:C,statusCode:e,statusMessage:s,headers:g})}else{if(i===null)return;if(h=this.runInAsyncScope(i,null,{statusCode:e,headers:g,opaque:a,context:c}),!h||typeof h.write!="function"||typeof h.end!="function"||typeof h.on!="function")throw new u_("expected Writable");A_(h,{readable:!1},m=>{let{callback:C,res:y,opaque:v,trailers:Q,abort:D}=this;this.res=null,(m||!y.readable)&&en.destroy(y,m),this.callback=null,this.runInAsyncScope(C,null,m||null,{opaque:v,trailers:Q}),m&&D()})}return h.on("drain",r),this.res=h,(h.writableNeedDrain!==void 0?h.writableNeedDrain:h._writableState?.needDrain)!==!0}onData(e){let{res:n}=this;return n?n.write(e):!0}onComplete(e){let{res:n}=this;rB(this),n&&(this.trailers=en.parseHeaders(e),n.end())}onError(e){let{res:n,callback:r,opaque:s,body:i}=this;rB(this),this.factory=null,n?(this.res=null,en.destroy(n,e)):r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:s})})),i&&(this.body=null,en.destroy(i,e))}};function sB(t,e,n){if(n===void 0)return new Promise((r,s)=>{sB.call(this,t,e,(i,a)=>i?s(i):r(a))});try{this.dispatch(t,new Ah(t,e,n))}catch(r){if(typeof n!="function")throw r;let s=t?.opaque;queueMicrotask(()=>n(r,{opaque:s}))}}o(sB,"stream");iB.exports=sB});var uB=T((P8,cB)=>{"use strict";var{Readable:AB,Duplex:h_,PassThrough:p_}=require("node:stream"),{InvalidArgumentError:la,InvalidReturnValueError:f_,RequestAbortedError:ch}=pe(),$t=ue(),{AsyncResource:m_}=require("node:async_hooks"),{addSignal:E_,removeSignal:C_}=ua(),aB=require("node:assert"),Di=Symbol("resume"),uh=class extends AB{static{o(this,"PipelineRequest")}constructor(){super({autoDestroy:!0}),this[Di]=null}_read(){let{[Di]:e}=this;e&&(this[Di]=null,e())}_destroy(e,n){this._read(),n(e)}},lh=class extends AB{static{o(this,"PipelineResponse")}constructor(e){super({autoDestroy:!0}),this[Di]=e}_read(){this[Di]()}_destroy(e,n){!e&&!this._readableState.endEmitted&&(e=new ch),n(e)}},dh=class extends m_{static{o(this,"PipelineHandler")}constructor(e,n){if(!e||typeof e!="object")throw new la("invalid opts");if(typeof n!="function")throw new la("invalid handler");let{signal:r,method:s,opaque:i,onInfo:a,responseHeaders:c}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new la("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new la("invalid method");if(a&&typeof a!="function")throw new la("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=i||null,this.responseHeaders=c||null,this.handler=n,this.abort=null,this.context=null,this.onInfo=a||null,this.req=new uh().on("error",$t.nop),this.ret=new h_({readableObjectMode:e.objectMode,autoDestroy:!0,read:o(()=>{let{body:l}=this;l?.resume&&l.resume()},"read"),write:o((l,d,g)=>{let{req:h}=this;h.push(l,d)||h._readableState.destroyed?g():h[Di]=g},"write"),destroy:o((l,d)=>{let{body:g,req:h,res:f,ret:m,abort:C}=this;!l&&!m._readableState.endEmitted&&(l=new ch),C&&l&&C(),$t.destroy(g,l),$t.destroy(h,l),$t.destroy(f,l),C_(this),d(l)},"destroy")}).on("prefinish",()=>{let{req:l}=this;l.push(null)}),this.res=null,E_(this,r)}onConnect(e,n){let{ret:r,res:s}=this;if(this.reason){e(this.reason);return}aB(!s,"pipeline cannot be retried"),aB(!r.destroyed),this.abort=e,this.context=n}onHeaders(e,n,r){let{opaque:s,handler:i,context:a}=this;if(e<200){if(this.onInfo){let l=this.responseHeaders==="raw"?$t.parseRawHeaders(n):$t.parseHeaders(n);this.onInfo({statusCode:e,headers:l})}return}this.res=new lh(r);let c;try{this.handler=null;let l=this.responseHeaders==="raw"?$t.parseRawHeaders(n):$t.parseHeaders(n);c=this.runInAsyncScope(i,null,{statusCode:e,headers:l,opaque:s,body:this.res,context:a})}catch(l){throw this.res.on("error",$t.nop),l}if(!c||typeof c.on!="function")throw new f_("expected Readable");c.on("data",l=>{let{ret:d,body:g}=this;!d.push(l)&&g.pause&&g.pause()}).on("error",l=>{let{ret:d}=this;$t.destroy(d,l)}).on("end",()=>{let{ret:l}=this;l.push(null)}).on("close",()=>{let{ret:l}=this;l._readableState.ended||$t.destroy(l,new ch)}),this.body=c}onData(e){let{res:n}=this;return n.push(e)}onComplete(e){let{res:n}=this;n.push(null)}onError(e){let{ret:n}=this;this.handler=null,$t.destroy(n,e)}};function I_(t,e){try{let n=new dh(t,e);return this.dispatch({...t,body:n.req},n),n.ret}catch(n){return new p_().destroy(n)}}o(I_,"pipeline");cB.exports=I_});var fB=T((G8,pB)=>{"use strict";var{InvalidArgumentError:gh,SocketError:y_}=pe(),{AsyncResource:Q_}=require("node:async_hooks"),lB=ue(),{addSignal:B_,removeSignal:dB}=ua(),gB=require("node:assert"),hh=class extends Q_{static{o(this,"UpgradeHandler")}constructor(e,n){if(!e||typeof e!="object")throw new gh("invalid opts");if(typeof n!="function")throw new gh("invalid callback");let{signal:r,opaque:s,responseHeaders:i}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new gh("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=i||null,this.opaque=s||null,this.callback=n,this.abort=null,this.context=null,B_(this,r)}onConnect(e,n){if(this.reason){e(this.reason);return}gB(this.callback),this.abort=e,this.context=null}onHeaders(){throw new y_("bad upgrade",null)}onUpgrade(e,n,r){gB(e===101);let{callback:s,opaque:i,context:a}=this;dB(this),this.callback=null;let c=this.responseHeaders==="raw"?lB.parseRawHeaders(n):lB.parseHeaders(n);this.runInAsyncScope(s,null,null,{headers:c,socket:r,opaque:i,context:a})}onError(e){let{callback:n,opaque:r}=this;dB(this),n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,e,{opaque:r})}))}};function hB(t,e){if(e===void 0)return new Promise((n,r)=>{hB.call(this,t,(s,i)=>s?r(s):n(i))});try{let n=new hh(t,e);this.dispatch({...t,method:t.method||"GET",upgrade:t.protocol||"Websocket"},n)}catch(n){if(typeof e!="function")throw n;let r=t?.opaque;queueMicrotask(()=>e(n,{opaque:r}))}}o(hB,"upgrade");pB.exports=hB});var yB=T((Y8,IB)=>{"use strict";var w_=require("node:assert"),{AsyncResource:b_}=require("node:async_hooks"),{InvalidArgumentError:ph,SocketError:R_}=pe(),mB=ue(),{addSignal:k_,removeSignal:EB}=ua(),fh=class extends b_{static{o(this,"ConnectHandler")}constructor(e,n){if(!e||typeof e!="object")throw new ph("invalid opts");if(typeof n!="function")throw new ph("invalid callback");let{signal:r,opaque:s,responseHeaders:i}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new ph("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=s||null,this.responseHeaders=i||null,this.callback=n,this.abort=null,k_(this,r)}onConnect(e,n){if(this.reason){e(this.reason);return}w_(this.callback),this.abort=e,this.context=n}onHeaders(){throw new R_("bad connect",null)}onUpgrade(e,n,r){let{callback:s,opaque:i,context:a}=this;EB(this),this.callback=null;let c=n;c!=null&&(c=this.responseHeaders==="raw"?mB.parseRawHeaders(n):mB.parseHeaders(n)),this.runInAsyncScope(s,null,null,{statusCode:e,headers:c,socket:r,opaque:i,context:a})}onError(e){let{callback:n,opaque:r}=this;EB(this),n&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(n,null,e,{opaque:r})}))}};function CB(t,e){if(e===void 0)return new Promise((n,r)=>{CB.call(this,t,(s,i)=>s?r(s):n(i))});try{let n=new fh(t,e);this.dispatch({...t,method:"CONNECT"},n)}catch(n){if(typeof e!="function")throw n;let r=t?.opaque;queueMicrotask(()=>e(n,{opaque:r}))}}o(CB,"connect");IB.exports=CB});var QB=T((H8,Ti)=>{"use strict";Ti.exports.request=XQ();Ti.exports.stream=oB();Ti.exports.pipeline=uB();Ti.exports.upgrade=fB();Ti.exports.connect=yB()});var Eh=T((J8,wB)=>{"use strict";var{UndiciError:S_}=pe(),BB=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"),mh=class t extends S_{static{o(this,"MockNotMatchedError")}constructor(e){super(e),Error.captureStackTrace(this,t),this.name="MockNotMatchedError",this.message=e||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](e){return e&&e[BB]===!0}[BB]=!0};wB.exports={MockNotMatchedError:mh}});var Ni=T((j8,bB)=>{"use strict";bB.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")}});var da=T((W8,MB)=>{"use strict";var{MockNotMatchedError:Es}=Eh(),{kDispatches:kc,kMockAgent:v_,kOriginalDispatch:x_,kOrigin:D_,kGetNetConnect:T_}=Ni(),{buildURL:N_}=ue(),{STATUS_CODES:F_}=require("node:http"),{types:{isPromise:U_}}=require("node:util");function Vn(t,e){return typeof t=="string"?t===e:t instanceof RegExp?t.test(e):typeof t=="function"?t(e)===!0:!1}o(Vn,"matchValue");function kB(t){return Object.fromEntries(Object.entries(t).map(([e,n])=>[e.toLocaleLowerCase(),n]))}o(kB,"lowerCaseEntries");function SB(t,e){if(Array.isArray(t)){for(let n=0;n<t.length;n+=2)if(t[n].toLocaleLowerCase()===e.toLocaleLowerCase())return t[n+1];return}else return typeof t.get=="function"?t.get(e):kB(t)[e.toLocaleLowerCase()]}o(SB,"getHeaderByName");function yh(t){let e=t.slice(),n=[];for(let r=0;r<e.length;r+=2)n.push([e[r],e[r+1]]);return Object.fromEntries(n)}o(yh,"buildHeadersFromArray");function vB(t,e){if(typeof t.headers=="function")return Array.isArray(e)&&(e=yh(e)),t.headers(e?kB(e):{});if(typeof t.headers>"u")return!0;if(typeof e!="object"||typeof t.headers!="object")return!1;for(let[n,r]of Object.entries(t.headers)){let s=SB(e,n);if(!Vn(r,s))return!1}return!0}o(vB,"matchHeaders");function RB(t){if(typeof t!="string")return t;let e=t.split("?");if(e.length!==2)return t;let n=new URLSearchParams(e.pop());return n.sort(),[...e,n.toString()].join("?")}o(RB,"safeUrl");function M_(t,{path:e,method:n,body:r,headers:s}){let i=Vn(t.path,e),a=Vn(t.method,n),c=typeof t.body<"u"?Vn(t.body,r):!0,l=vB(t,s);return i&&a&&c&&l}o(M_,"matchKey");function xB(t){return Buffer.isBuffer(t)||t instanceof Uint8Array||t instanceof ArrayBuffer?t:typeof t=="object"?JSON.stringify(t):t.toString()}o(xB,"getResponseData");function DB(t,e){let n=e.query?N_(e.path,e.query):e.path,r=typeof n=="string"?RB(n):n,s=t.filter(({consumed:i})=>!i).filter(({path:i})=>Vn(RB(i),r));if(s.length===0)throw new Es(`Mock dispatch not matched for path '${r}'`);if(s=s.filter(({method:i})=>Vn(i,e.method)),s.length===0)throw new Es(`Mock dispatch not matched for method '${e.method}' on path '${r}'`);if(s=s.filter(({body:i})=>typeof i<"u"?Vn(i,e.body):!0),s.length===0)throw new Es(`Mock dispatch not matched for body '${e.body}' on path '${r}'`);if(s=s.filter(i=>vB(i,e.headers)),s.length===0){let i=typeof e.headers=="object"?JSON.stringify(e.headers):e.headers;throw new Es(`Mock dispatch not matched for headers '${i}' on path '${r}'`)}return s[0]}o(DB,"getMockDispatch");function L_(t,e,n){let r={timesInvoked:0,times:1,persist:!1,consumed:!1},s=typeof n=="function"?{callback:n}:{...n},i={...r,...e,pending:!0,data:{error:null,...s}};return t.push(i),i}o(L_,"addMockDispatch");function Ch(t,e){let n=t.findIndex(r=>r.consumed?M_(r,e):!1);n!==-1&&t.splice(n,1)}o(Ch,"deleteMockDispatch");function TB(t){let{path:e,method:n,body:r,headers:s,query:i}=t;return{path:e,method:n,body:r,headers:s,query:i}}o(TB,"buildKey");function Ih(t){let e=Object.keys(t),n=[];for(let r=0;r<e.length;++r){let s=e[r],i=t[s],a=Buffer.from(`${s}`);if(Array.isArray(i))for(let c=0;c<i.length;++c)n.push(a,Buffer.from(`${i[c]}`));else n.push(a,Buffer.from(`${i}`))}return n}o(Ih,"generateKeyValues");function NB(t){return F_[t]||"unknown"}o(NB,"getStatusText");async function __(t){let e=[];for await(let n of t)e.push(n);return Buffer.concat(e).toString("utf8")}o(__,"getResponse");function FB(t,e){let n=TB(t),r=DB(this[kc],n);r.timesInvoked++,r.data.callback&&(r.data={...r.data,...r.data.callback(t)});let{data:{statusCode:s,data:i,headers:a,trailers:c,error:l},delay:d,persist:g}=r,{timesInvoked:h,times:f}=r;if(r.consumed=!g&&h>=f,r.pending=h<f,l!==null)return Ch(this[kc],n),e.onError(l),!0;typeof d=="number"&&d>0?setTimeout(()=>{m(this[kc])},d):m(this[kc]);function m(y,v=i){let Q=Array.isArray(t.headers)?yh(t.headers):t.headers,D=typeof v=="function"?v({...t,headers:Q}):v;if(U_(D)){D.then(Ee=>m(y,Ee));return}let G=xB(D),P=Ih(a),ae=Ih(c);e.onConnect?.(Ee=>e.onError(Ee),null),e.onHeaders?.(s,P,C,NB(s)),e.onData?.(Buffer.from(G)),e.onComplete?.(ae),Ch(y,n)}o(m,"handleReply");function C(){}return o(C,"resume"),!0}o(FB,"mockDispatch");function P_(){let t=this[v_],e=this[D_],n=this[x_];return o(function(s,i){if(t.isMockActive)try{FB.call(this,s,i)}catch(a){if(a instanceof Es){let c=t[T_]();if(c===!1)throw new Es(`${a.message}: subsequent request to origin ${e} was not allowed (net.connect disabled)`);if(UB(c,e))n.call(this,s,i);else throw new Es(`${a.message}: subsequent request to origin ${e} was not allowed (net.connect is not enabled for this origin)`)}else throw a}else n.call(this,s,i)},"dispatch")}o(P_,"buildMockDispatch");function UB(t,e){let n=new URL(e);return t===!0?!0:!!(Array.isArray(t)&&t.some(r=>Vn(r,n.host)))}o(UB,"checkNetConnect");function O_(t){if(t){let{agent:e,...n}=t;return n}}o(O_,"buildMockOptions");MB.exports={getResponseData:xB,getMockDispatch:DB,addMockDispatch:L_,deleteMockDispatch:Ch,buildKey:TB,generateKeyValues:Ih,matchValue:Vn,getResponse:__,getStatusText:NB,mockDispatch:FB,buildMockDispatch:P_,checkNetConnect:UB,buildMockOptions:O_,getHeaderByName:SB,buildHeadersFromArray:yh}});var Sh=T((Z8,kh)=>{"use strict";var{getResponseData:G_,buildKey:$_,addMockDispatch:Qh}=da(),{kDispatches:Sc,kDispatchKey:vc,kDefaultHeaders:Bh,kDefaultTrailers:wh,kContentLength:bh,kMockDispatch:xc}=Ni(),{InvalidArgumentError:yn}=pe(),{buildURL:Y_}=ue(),Fi=class{static{o(this,"MockScope")}constructor(e){this[xc]=e}delay(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new yn("waitInMs must be a valid integer > 0");return this[xc].delay=e,this}persist(){return this[xc].persist=!0,this}times(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new yn("repeatTimes must be a valid integer > 0");return this[xc].times=e,this}},Rh=class{static{o(this,"MockInterceptor")}constructor(e,n){if(typeof e!="object")throw new yn("opts must be an object");if(typeof e.path>"u")throw new yn("opts.path must be defined");if(typeof e.method>"u"&&(e.method="GET"),typeof e.path=="string")if(e.query)e.path=Y_(e.path,e.query);else{let r=new URL(e.path,"data://");e.path=r.pathname+r.search}typeof e.method=="string"&&(e.method=e.method.toUpperCase()),this[vc]=$_(e),this[Sc]=n,this[Bh]={},this[wh]={},this[bh]=!1}createMockScopeDispatchData({statusCode:e,data:n,responseOptions:r}){let s=G_(n),i=this[bh]?{"content-length":s.length}:{},a={...this[Bh],...i,...r.headers},c={...this[wh],...r.trailers};return{statusCode:e,data:n,headers:a,trailers:c}}validateReplyParameters(e){if(typeof e.statusCode>"u")throw new yn("statusCode must be defined");if(typeof e.responseOptions!="object"||e.responseOptions===null)throw new yn("responseOptions must be an object")}reply(e){if(typeof e=="function"){let i=o(c=>{let l=e(c);if(typeof l!="object"||l===null)throw new yn("reply options callback must return an object");let d={data:"",responseOptions:{},...l};return this.validateReplyParameters(d),{...this.createMockScopeDispatchData(d)}},"wrappedDefaultsCallback"),a=Qh(this[Sc],this[vc],i);return new Fi(a)}let n={statusCode:e,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(n);let r=this.createMockScopeDispatchData(n),s=Qh(this[Sc],this[vc],r);return new Fi(s)}replyWithError(e){if(typeof e>"u")throw new yn("error must be defined");let n=Qh(this[Sc],this[vc],{error:e});return new Fi(n)}defaultReplyHeaders(e){if(typeof e>"u")throw new yn("headers must be defined");return this[Bh]=e,this}defaultReplyTrailers(e){if(typeof e>"u")throw new yn("trailers must be defined");return this[wh]=e,this}replyContentLength(){return this[bh]=!0,this}};kh.exports.MockInterceptor=Rh;kh.exports.MockScope=Fi});var Dh=T((X8,YB)=>{"use strict";var{promisify:V_}=require("node:util"),H_=wi(),{buildMockDispatch:J_}=da(),{kDispatches:LB,kMockAgent:_B,kClose:PB,kOriginalClose:OB,kOrigin:GB,kOriginalDispatch:q_,kConnected:vh}=Ni(),{MockInterceptor:j_}=Sh(),$B=ke(),{InvalidArgumentError:W_}=pe(),xh=class extends H_{static{o(this,"MockClient")}constructor(e,n){if(super(e,n),!n||!n.agent||typeof n.agent.dispatch!="function")throw new W_("Argument opts.agent must implement Agent");this[_B]=n.agent,this[GB]=e,this[LB]=[],this[vh]=1,this[q_]=this.dispatch,this[OB]=this.close.bind(this),this.dispatch=J_.call(this),this.close=this[PB]}get[$B.kConnected](){return this[vh]}intercept(e){return new j_(e,this[LB])}async[PB](){await V_(this[OB])(),this[vh]=0,this[_B][$B.kClients].delete(this[GB])}};YB.exports=xh});var Fh=T((t4,zB)=>{"use strict";var{promisify:z_}=require("node:util"),Z_=bi(),{buildMockDispatch:K_}=da(),{kDispatches:VB,kMockAgent:HB,kClose:JB,kOriginalClose:qB,kOrigin:jB,kOriginalDispatch:X_,kConnected:Th}=Ni(),{MockInterceptor:eP}=Sh(),WB=ke(),{InvalidArgumentError:tP}=pe(),Nh=class extends Z_{static{o(this,"MockPool")}constructor(e,n){if(super(e,n),!n||!n.agent||typeof n.agent.dispatch!="function")throw new tP("Argument opts.agent must implement Agent");this[HB]=n.agent,this[jB]=e,this[VB]=[],this[Th]=1,this[X_]=this.dispatch,this[qB]=this.close.bind(this),this.dispatch=K_.call(this),this.close=this[JB]}get[WB.kConnected](){return this[Th]}intercept(e){return new eP(e,this[VB])}async[JB](){await z_(this[qB])(),this[Th]=0,this[HB][WB.kClients].delete(this[jB])}};zB.exports=Nh});var KB=T((s4,ZB)=>{"use strict";var nP={pronoun:"it",is:"is",was:"was",this:"this"},rP={pronoun:"they",is:"are",was:"were",this:"these"};ZB.exports=class{static{o(this,"Pluralizer")}constructor(e,n){this.singular=e,this.plural=n}pluralize(e){let n=e===1,r=n?nP:rP,s=n?this.singular:this.plural;return{...r,count:e,noun:s}}}});var ew=T((a4,XB)=>{"use strict";var{Transform:sP}=require("node:stream"),{Console:iP}=require("node:console"),oP=process.versions.icu?"\u2705":"Y ",aP=process.versions.icu?"\u274C":"N ";XB.exports=class{static{o(this,"PendingInterceptorsFormatter")}constructor({disableColors:e}={}){this.transform=new sP({transform(n,r,s){s(null,n)}}),this.logger=new iP({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){let n=e.map(({method:r,path:s,data:{statusCode:i},persist:a,times:c,timesInvoked:l,origin:d})=>({Method:r,Origin:d,Path:s,"Status code":i,Persistent:a?oP:aP,Invocations:l,Remaining:a?1/0:c-l}));return this.logger.table(n),this.transform.read().toString()}}});var sw=T((c4,rw)=>{"use strict";var{kClients:Cs}=ke(),AP=Ri(),{kAgent:Uh,kMockAgentSet:Dc,kMockAgentGet:tw,kDispatches:Mh,kIsMockActive:Tc,kNetConnect:Is,kGetNetConnect:cP,kOptions:Nc,kFactory:Fc}=Ni(),uP=Dh(),lP=Fh(),{matchValue:dP,buildMockOptions:gP}=da(),{InvalidArgumentError:nw,UndiciError:hP}=pe(),pP=Uo(),fP=KB(),mP=ew(),Lh=class extends pP{static{o(this,"MockAgent")}constructor(e){if(super(e),this[Is]=!0,this[Tc]=!0,e?.agent&&typeof e.agent.dispatch!="function")throw new nw("Argument opts.agent must implement Agent");let n=e?.agent?e.agent:new AP(e);this[Uh]=n,this[Cs]=n[Cs],this[Nc]=gP(e)}get(e){let n=this[tw](e);return n||(n=this[Fc](e),this[Dc](e,n)),n}dispatch(e,n){return this.get(e.origin),this[Uh].dispatch(e,n)}async close(){await this[Uh].close(),this[Cs].clear()}deactivate(){this[Tc]=!1}activate(){this[Tc]=!0}enableNetConnect(e){if(typeof e=="string"||typeof e=="function"||e instanceof RegExp)Array.isArray(this[Is])?this[Is].push(e):this[Is]=[e];else if(typeof e>"u")this[Is]=!0;else throw new nw("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[Is]=!1}get isMockActive(){return this[Tc]}[Dc](e,n){this[Cs].set(e,n)}[Fc](e){let n=Object.assign({agent:this},this[Nc]);return this[Nc]&&this[Nc].connections===1?new uP(e,n):new lP(e,n)}[tw](e){let n=this[Cs].get(e);if(n)return n;if(typeof e!="string"){let r=this[Fc]("http://localhost:9999");return this[Dc](e,r),r}for(let[r,s]of Array.from(this[Cs]))if(s&&typeof r!="string"&&dP(r,e)){let i=this[Fc](e);return this[Dc](e,i),i[Mh]=s[Mh],i}}[cP](){return this[Is]}pendingInterceptors(){let e=this[Cs];return Array.from(e.entries()).flatMap(([n,r])=>r[Mh].map(s=>({...s,origin:n}))).filter(({pending:n})=>n)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new mP}={}){let n=this.pendingInterceptors();if(n.length===0)return;let r=new fP("interceptor","interceptors").pluralize(n.length);throw new hP(`
|
|
42
42
|
${r.count} ${r.noun} ${r.is} pending:
|
|
43
43
|
|
|
44
44
|
${e.format(n)}
|
|
45
|
-
`.trim())}};rw.exports=Lh});var ga=T((l4,Aw)=>{"use strict";var iw=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:EP}=pe(),CP=ki();aw()===void 0&&ow(new CP);function ow(t){if(!t||typeof t.dispatch!="function")throw new EP("Argument agent must implement Agent");Object.defineProperty(globalThis,iw,{value:t,writable:!0,enumerable:!1,configurable:!1})}o(ow,"setGlobalDispatcher");function aw(){return globalThis[iw]}o(aw,"getGlobalDispatcher");Aw.exports={setGlobalDispatcher:ow,getGlobalDispatcher:aw}});var Uc=T((h4,cw)=>{"use strict";cw.exports=class{static{o(this,"DecoratorHandler")}#e;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=e}onConnect(...e){return this.#e.onConnect?.(...e)}onError(...e){return this.#e.onError?.(...e)}onUpgrade(...e){return this.#e.onUpgrade?.(...e)}onResponseStarted(...e){return this.#e.onResponseStarted?.(...e)}onHeaders(...e){return this.#e.onHeaders?.(...e)}onData(...e){return this.#e.onData?.(...e)}onComplete(...e){return this.#e.onComplete?.(...e)}onBodySent(...e){return this.#e.onBodySent?.(...e)}}});var lw=T((f4,uw)=>{"use strict";var IP=hc();uw.exports=t=>{let e=t?.maxRedirections;return n=>o(function(s,i){let{maxRedirections:a=e,...c}=s;if(!a)return n(s,i);let l=new IP(n,a,s,i);return n(c,l)},"redirectInterceptor")}});var gw=T((E4,dw)=>{"use strict";var yP=bc();dw.exports=t=>e=>o(function(r,s){return e(r,new yP({...r,retryOptions:{...t,...r.retryOptions}},{handler:s,dispatch:e}))},"retryInterceptor")});var pw=T((I4,hw)=>{"use strict";var QP=ue(),{InvalidArgumentError:BP,RequestAbortedError:wP}=pe(),bP=Uc(),_h=class extends bP{static{o(this,"DumpHandler")}#e=1024*1024;#t=null;#n=!1;#s=!1;#i=0;#r=null;#o=null;constructor({maxSize:e},n){if(super(n),e!=null&&(!Number.isFinite(e)||e<1))throw new BP("maxSize must be a number greater than 0");this.#e=e??this.#e,this.#o=n}onConnect(e){this.#t=e,this.#o.onConnect(this.#a.bind(this))}#a(e){this.#s=!0,this.#r=e}onHeaders(e,n,r,s){let a=QP.parseHeaders(n)["content-length"];if(a!=null&&a>this.#e)throw new wP(`Response size (${a}) larger than maxSize (${this.#e})`);return this.#s?!0:this.#o.onHeaders(e,n,r,s)}onError(e){this.#n||(e=this.#r??e,this.#o.onError(e))}onData(e){return this.#i=this.#i+e.length,this.#i>=this.#e&&(this.#n=!0,this.#s?this.#o.onError(this.#r):this.#o.onComplete([])),!0}onComplete(e){if(!this.#n){if(this.#s){this.#o.onError(this.reason);return}this.#o.onComplete(e)}}};function kP({maxSize:t}={maxSize:1024*1024}){return e=>o(function(r,s){let{dumpMaxSize:i=t}=r,a=new _h({maxSize:i},s);return e(r,a)},"Intercept")}o(kP,"createDumpInterceptor");hw.exports=kP});var Ew=T((Q4,mw)=>{"use strict";var{isIP:RP}=require("node:net"),{lookup:SP}=require("node:dns"),vP=Uc(),{InvalidArgumentError:Ui,InformationalError:xP}=pe(),fw=Math.pow(2,31)-1,Ph=class{static{o(this,"DNSInstance")}#e=0;#t=0;#n=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#s,this.pick=e.pick??this.#i}get full(){return this.#n.size===this.#t}runLookup(e,n,r){let s=this.#n.get(e.hostname);if(s==null&&this.full){r(null,e.origin);return}let i={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...n.dns,maxTTL:this.#e,maxItems:this.#t};if(s==null)this.lookup(e,i,(a,c)=>{if(a||c==null||c.length===0){r(a??new xP("No DNS entries found"));return}this.setRecords(e,c);let l=this.#n.get(e.hostname),d=this.pick(e,l,i.affinity),g;typeof d.port=="number"?g=`:${d.port}`:e.port!==""?g=`:${e.port}`:g="",r(null,`${e.protocol}//${d.family===6?`[${d.address}]`:d.address}${g}`)});else{let a=this.pick(e,s,i.affinity);if(a==null){this.#n.delete(e.hostname),this.runLookup(e,n,r);return}let c;typeof a.port=="number"?c=`:${a.port}`:e.port!==""?c=`:${e.port}`:c="",r(null,`${e.protocol}//${a.family===6?`[${a.address}]`:a.address}${c}`)}}#s(e,n,r){SP(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,i)=>{if(s)return r(s);let a=new Map;for(let c of i)a.set(`${c.address}:${c.family}`,c);r(null,a.values())})}#i(e,n,r){let s=null,{records:i,offset:a}=n,c;if(this.dualStack?(r==null&&(a==null||a===fw?(n.offset=0,r=4):(n.offset++,r=(n.offset&1)===1?6:4)),i[r]!=null&&i[r].ips.length>0?c=i[r]:c=i[r===4?6:4]):c=i[r],c==null||c.ips.length===0)return s;c.offset==null||c.offset===fw?c.offset=0:c.offset++;let l=c.offset%c.ips.length;return s=c.ips[l]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(c.ips.splice(l,1),this.pick(e,n,r)):s}setRecords(e,n){let r=Date.now(),s={records:{4:null,6:null}};for(let i of n){i.timestamp=r,typeof i.ttl=="number"?i.ttl=Math.min(i.ttl,this.#e):i.ttl=this.#e;let a=s.records[i.family]??{ips:[]};a.ips.push(i),s.records[i.family]=a}this.#n.set(e.hostname,s)}getHandler(e,n){return new Oh(this,e,n)}},Oh=class extends vP{static{o(this,"DNSDispatchHandler")}#e=null;#t=null;#n=null;#s=null;#i=null;constructor(e,{origin:n,handler:r,dispatch:s},i){super(r),this.#i=n,this.#s=r,this.#t={...i},this.#e=e,this.#n=s}onError(e){switch(e.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){this.#e.runLookup(this.#i,this.#t,(n,r)=>{if(n)return this.#s.onError(n);let s={...this.#t,origin:r};this.#n(s,this)});return}this.#s.onError(e);return}case"ENOTFOUND":this.#e.deleteRecord(this.#i);default:this.#s.onError(e);break}}};mw.exports=t=>{if(t?.maxTTL!=null&&(typeof t?.maxTTL!="number"||t?.maxTTL<0))throw new Ui("Invalid maxTTL. Must be a positive number");if(t?.maxItems!=null&&(typeof t?.maxItems!="number"||t?.maxItems<1))throw new Ui("Invalid maxItems. Must be a positive number and greater than zero");if(t?.affinity!=null&&t?.affinity!==4&&t?.affinity!==6)throw new Ui("Invalid affinity. Must be either 4 or 6");if(t?.dualStack!=null&&typeof t?.dualStack!="boolean")throw new Ui("Invalid dualStack. Must be a boolean");if(t?.lookup!=null&&typeof t?.lookup!="function")throw new Ui("Invalid lookup. Must be a function");if(t?.pick!=null&&typeof t?.pick!="function")throw new Ui("Invalid pick. Must be a function");let e=t?.dualStack??!0,n;e?n=t?.affinity??null:n=t?.affinity??4;let r={maxTTL:t?.maxTTL??1e4,lookup:t?.lookup??null,pick:t?.pick??null,dualStack:e,affinity:n,maxItems:t?.maxItems??1/0},s=new Ph(r);return i=>o(function(c,l){let d=c.origin.constructor===URL?c.origin:new URL(c.origin);return RP(d.hostname)!==0?i(c,l):(s.runLookup(d,c,(g,h)=>{if(g)return l.onError(g);let f=null;f={...c,servername:d.hostname,origin:h,headers:{host:d.hostname,...c.headers}},i(f,s.getHandler({origin:d,dispatch:i,handler:l},c))}),!0)},"dnsInterceptor")}});var ys=T((w4,bw)=>{"use strict";var{kConstruct:DP}=Re(),{kEnumerableProperty:Mi}=ue(),{iteratorMixin:TP,isValidHeaderName:ha,isValidHeaderValue:Iw}=Qt(),{webidl:he}=je(),Gh=require("node:assert"),Mc=require("node:util"),Pe=Symbol("headers map"),kt=Symbol("headers map sorted");function Cw(t){return t===10||t===13||t===9||t===32}o(Cw,"isHTTPWhiteSpaceCharCode");function yw(t){let e=0,n=t.length;for(;n>e&&Cw(t.charCodeAt(n-1));)--n;for(;n>e&&Cw(t.charCodeAt(e));)++e;return e===0&&n===t.length?t:t.substring(e,n)}o(yw,"headerValueNormalize");function Qw(t,e){if(Array.isArray(e))for(let n=0;n<e.length;++n){let r=e[n];if(r.length!==2)throw he.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${r.length}.`});$h(t,r[0],r[1])}else if(typeof e=="object"&&e!==null){let n=Object.keys(e);for(let r=0;r<n.length;++r)$h(t,n[r],e[n[r]])}else throw he.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}o(Qw,"fill");function $h(t,e,n){if(n=yw(n),ha(e)){if(!Iw(n))throw he.errors.invalidArgument({prefix:"Headers.append",value:n,type:"header value"})}else throw he.errors.invalidArgument({prefix:"Headers.append",value:e,type:"header name"});if(ww(t)==="immutable")throw new TypeError("immutable");return Yh(t).append(e,n,!1)}o($h,"appendHeader");function Bw(t,e){return t[0]<e[0]?-1:1}o(Bw,"compareHeaderName");var Lc=class t{static{o(this,"HeadersList")}cookies=null;constructor(e){e instanceof t?(this[Pe]=new Map(e[Pe]),this[kt]=e[kt],this.cookies=e.cookies===null?null:[...e.cookies]):(this[Pe]=new Map(e),this[kt]=null)}contains(e,n){return this[Pe].has(n?e:e.toLowerCase())}clear(){this[Pe].clear(),this[kt]=null,this.cookies=null}append(e,n,r){this[kt]=null;let s=r?e:e.toLowerCase(),i=this[Pe].get(s);if(i){let a=s==="cookie"?"; ":", ";this[Pe].set(s,{name:i.name,value:`${i.value}${a}${n}`})}else this[Pe].set(s,{name:e,value:n});s==="set-cookie"&&(this.cookies??=[]).push(n)}set(e,n,r){this[kt]=null;let s=r?e:e.toLowerCase();s==="set-cookie"&&(this.cookies=[n]),this[Pe].set(s,{name:e,value:n})}delete(e,n){this[kt]=null,n||(e=e.toLowerCase()),e==="set-cookie"&&(this.cookies=null),this[Pe].delete(e)}get(e,n){return this[Pe].get(n?e:e.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:e,1:{value:n}}of this[Pe])yield[e,n]}get entries(){let e={};if(this[Pe].size!==0)for(let{name:n,value:r}of this[Pe].values())e[n]=r;return e}rawValues(){return this[Pe].values()}get entriesList(){let e=[];if(this[Pe].size!==0)for(let{0:n,1:{name:r,value:s}}of this[Pe])if(n==="set-cookie")for(let i of this.cookies)e.push([r,i]);else e.push([r,s]);return e}toSortedArray(){let e=this[Pe].size,n=new Array(e);if(e<=32){if(e===0)return n;let r=this[Pe][Symbol.iterator](),s=r.next().value;n[0]=[s[0],s[1].value],Gh(s[1].value!==null);for(let i=1,a=0,c=0,l=0,d=0,g,h;i<e;++i){for(h=r.next().value,g=n[i]=[h[0],h[1].value],Gh(g[1]!==null),l=0,c=i;l<c;)d=l+(c-l>>1),n[d][0]<=g[0]?l=d+1:c=d;if(i!==d){for(a=i;a>l;)n[a]=n[--a];n[l]=g}}if(!r.next().done)throw new TypeError("Unreachable");return n}else{let r=0;for(let{0:s,1:{value:i}}of this[Pe])n[r++]=[s,i],Gh(i!==null);return n.sort(Bw)}}},tn=class t{static{o(this,"Headers")}#e;#t;constructor(e=void 0){he.util.markAsUncloneable(this),e!==DP&&(this.#t=new Lc,this.#e="none",e!==void 0&&(e=he.converters.HeadersInit(e,"Headers contructor","init"),Qw(this,e)))}append(e,n){he.brandCheck(this,t),he.argumentLengthCheck(arguments,2,"Headers.append");let r="Headers.append";return e=he.converters.ByteString(e,r,"name"),n=he.converters.ByteString(n,r,"value"),$h(this,e,n)}delete(e){if(he.brandCheck(this,t),he.argumentLengthCheck(arguments,1,"Headers.delete"),e=he.converters.ByteString(e,"Headers.delete","name"),!ha(e))throw he.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.contains(e,!1)&&this.#t.delete(e,!1)}get(e){he.brandCheck(this,t),he.argumentLengthCheck(arguments,1,"Headers.get");let n="Headers.get";if(e=he.converters.ByteString(e,n,"name"),!ha(e))throw he.errors.invalidArgument({prefix:n,value:e,type:"header name"});return this.#t.get(e,!1)}has(e){he.brandCheck(this,t),he.argumentLengthCheck(arguments,1,"Headers.has");let n="Headers.has";if(e=he.converters.ByteString(e,n,"name"),!ha(e))throw he.errors.invalidArgument({prefix:n,value:e,type:"header name"});return this.#t.contains(e,!1)}set(e,n){he.brandCheck(this,t),he.argumentLengthCheck(arguments,2,"Headers.set");let r="Headers.set";if(e=he.converters.ByteString(e,r,"name"),n=he.converters.ByteString(n,r,"value"),n=yw(n),ha(e)){if(!Iw(n))throw he.errors.invalidArgument({prefix:r,value:n,type:"header value"})}else throw he.errors.invalidArgument({prefix:r,value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.set(e,n,!1)}getSetCookie(){he.brandCheck(this,t);let e=this.#t.cookies;return e?[...e]:[]}get[kt](){if(this.#t[kt])return this.#t[kt];let e=[],n=this.#t.toSortedArray(),r=this.#t.cookies;if(r===null||r.length===1)return this.#t[kt]=n;for(let s=0;s<n.length;++s){let{0:i,1:a}=n[s];if(i==="set-cookie")for(let c=0;c<r.length;++c)e.push([i,r[c]]);else e.push([i,a])}return this.#t[kt]=e}[Mc.inspect.custom](e,n){return n.depth??=e,`Headers ${Mc.formatWithOptions(n,this.#t.entries)}`}static getHeadersGuard(e){return e.#e}static setHeadersGuard(e,n){e.#e=n}static getHeadersList(e){return e.#t}static setHeadersList(e,n){e.#t=n}},{getHeadersGuard:ww,setHeadersGuard:NP,getHeadersList:Yh,setHeadersList:FP}=tn;Reflect.deleteProperty(tn,"getHeadersGuard");Reflect.deleteProperty(tn,"setHeadersGuard");Reflect.deleteProperty(tn,"getHeadersList");Reflect.deleteProperty(tn,"setHeadersList");TP("Headers",tn,kt,0,1);Object.defineProperties(tn.prototype,{append:Mi,delete:Mi,get:Mi,has:Mi,set:Mi,getSetCookie:Mi,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[Mc.inspect.custom]:{enumerable:!1}});he.converters.HeadersInit=function(t,e,n){if(he.util.Type(t)==="Object"){let r=Reflect.get(t,Symbol.iterator);if(!Mc.types.isProxy(t)&&r===tn.prototype.entries)try{return Yh(t).entriesList}catch{}return typeof r=="function"?he.converters["sequence<sequence<ByteString>>"](t,e,n,r.bind(t)):he.converters["record<ByteString, ByteString>"](t,e,n)}throw he.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};bw.exports={fill:Qw,compareHeaderName:Bw,Headers:tn,HeadersList:Lc,getHeadersGuard:ww,setHeadersGuard:NP,setHeadersList:FP,getHeadersList:Yh}});var fa=T((k4,Lw)=>{"use strict";var{Headers:Dw,HeadersList:kw,fill:UP,getHeadersGuard:MP,setHeadersGuard:Tw,setHeadersList:Nw}=ys(),{extractBody:Rw,cloneBody:LP,mixinBody:_P,hasFinalizationRegistry:Fw,streamRegistry:Uw,bodyUnusable:PP}=mi(),Hh=ue(),Sw=require("node:util"),{kEnumerableProperty:Rt}=Hh,{isValidReasonPhrase:OP,isCancelled:GP,isAborted:$P,isBlobLike:YP,serializeJavascriptValueToJSONString:HP,isErrorLike:VP,isomorphicEncode:JP,environmentSettingsObject:qP}=Qt(),{redirectStatusSet:jP,nullBodyStatus:WP}=_o(),{kState:ve,kHeaders:Vn}=hr(),{webidl:oe}=je(),{FormData:zP}=Ho(),{URLSerializer:vw}=gt(),{kConstruct:Pc}=Re(),Vh=require("node:assert"),{types:ZP}=require("node:util"),KP=new TextEncoder("utf-8"),Qs=class t{static{o(this,"Response")}static error(){return pa(Oc(),"immutable")}static json(e,n={}){oe.argumentLengthCheck(arguments,1,"Response.json"),n!==null&&(n=oe.converters.ResponseInit(n));let r=KP.encode(HP(e)),s=Rw(r),i=pa(Li({}),"response");return xw(i,n,{body:s[0],type:"application/json"}),i}static redirect(e,n=302){oe.argumentLengthCheck(arguments,1,"Response.redirect"),e=oe.converters.USVString(e),n=oe.converters["unsigned short"](n);let r;try{r=new URL(e,qP.settingsObject.baseUrl)}catch(a){throw new TypeError(`Failed to parse URL from ${e}`,{cause:a})}if(!jP.has(n))throw new RangeError(`Invalid status code ${n}`);let s=pa(Li({}),"immutable");s[ve].status=n;let i=JP(vw(r));return s[ve].headersList.append("location",i,!0),s}constructor(e=null,n={}){if(oe.util.markAsUncloneable(this),e===Pc)return;e!==null&&(e=oe.converters.BodyInit(e)),n=oe.converters.ResponseInit(n),this[ve]=Li({}),this[Vn]=new Dw(Pc),Tw(this[Vn],"response"),Nw(this[Vn],this[ve].headersList);let r=null;if(e!=null){let[s,i]=Rw(e);r={body:s,type:i}}xw(this,n,r)}get type(){return oe.brandCheck(this,t),this[ve].type}get url(){oe.brandCheck(this,t);let e=this[ve].urlList,n=e[e.length-1]??null;return n===null?"":vw(n,!0)}get redirected(){return oe.brandCheck(this,t),this[ve].urlList.length>1}get status(){return oe.brandCheck(this,t),this[ve].status}get ok(){return oe.brandCheck(this,t),this[ve].status>=200&&this[ve].status<=299}get statusText(){return oe.brandCheck(this,t),this[ve].statusText}get headers(){return oe.brandCheck(this,t),this[Vn]}get body(){return oe.brandCheck(this,t),this[ve].body?this[ve].body.stream:null}get bodyUsed(){return oe.brandCheck(this,t),!!this[ve].body&&Hh.isDisturbed(this[ve].body.stream)}clone(){if(oe.brandCheck(this,t),PP(this))throw oe.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let e=Jh(this[ve]);return Fw&&this[ve].body?.stream&&Uw.register(this,new WeakRef(this[ve].body.stream)),pa(e,MP(this[Vn]))}[Sw.inspect.custom](e,n){n.depth===null&&(n.depth=2),n.colors??=!0;let r={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${Sw.formatWithOptions(n,r)}`}};_P(Qs);Object.defineProperties(Qs.prototype,{type:Rt,url:Rt,status:Rt,ok:Rt,redirected:Rt,statusText:Rt,headers:Rt,clone:Rt,body:Rt,bodyUsed:Rt,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(Qs,{json:Rt,redirect:Rt,error:Rt});function Jh(t){if(t.internalResponse)return Mw(Jh(t.internalResponse),t.type);let e=Li({...t,body:null});return t.body!=null&&(e.body=LP(e,t.body)),e}o(Jh,"cloneResponse");function Li(t){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...t,headersList:t?.headersList?new kw(t?.headersList):new kw,urlList:t?.urlList?[...t.urlList]:[]}}o(Li,"makeResponse");function Oc(t){let e=VP(t);return Li({type:"error",status:0,error:e?t:new Error(t&&String(t)),aborted:t&&t.name==="AbortError"})}o(Oc,"makeNetworkError");function XP(t){return t.type==="error"&&t.status===0}o(XP,"isNetworkError");function _c(t,e){return e={internalResponse:t,...e},new Proxy(t,{get(n,r){return r in e?e[r]:n[r]},set(n,r,s){return Vh(!(r in e)),n[r]=s,!0}})}o(_c,"makeFilteredResponse");function Mw(t,e){if(e==="basic")return _c(t,{type:"basic",headersList:t.headersList});if(e==="cors")return _c(t,{type:"cors",headersList:t.headersList});if(e==="opaque")return _c(t,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(e==="opaqueredirect")return _c(t,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});Vh(!1)}o(Mw,"filterResponse");function eO(t,e=null){return Vh(GP(t)),$P(t)?Oc(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:e})):Oc(Object.assign(new DOMException("Request was cancelled."),{cause:e}))}o(eO,"makeAppropriateNetworkError");function xw(t,e,n){if(e.status!==null&&(e.status<200||e.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in e&&e.statusText!=null&&!OP(String(e.statusText)))throw new TypeError("Invalid statusText");if("status"in e&&e.status!=null&&(t[ve].status=e.status),"statusText"in e&&e.statusText!=null&&(t[ve].statusText=e.statusText),"headers"in e&&e.headers!=null&&UP(t[Vn],e.headers),n){if(WP.includes(t.status))throw oe.errors.exception({header:"Response constructor",message:`Invalid response status code ${t.status}`});t[ve].body=n.body,n.type!=null&&!t[ve].headersList.contains("content-type",!0)&&t[ve].headersList.append("content-type",n.type,!0)}}o(xw,"initializeResponse");function pa(t,e){let n=new Qs(Pc);return n[ve]=t,n[Vn]=new Dw(Pc),Nw(n[Vn],t.headersList),Tw(n[Vn],e),Fw&&t.body?.stream&&Uw.register(n,new WeakRef(t.body.stream)),n}o(pa,"fromInnerResponse");oe.converters.ReadableStream=oe.interfaceConverter(ReadableStream);oe.converters.FormData=oe.interfaceConverter(zP);oe.converters.URLSearchParams=oe.interfaceConverter(URLSearchParams);oe.converters.XMLHttpRequestBodyInit=function(t,e,n){return typeof t=="string"?oe.converters.USVString(t,e,n):YP(t)?oe.converters.Blob(t,e,n,{strict:!1}):ArrayBuffer.isView(t)||ZP.isArrayBuffer(t)?oe.converters.BufferSource(t,e,n):Hh.isFormDataLike(t)?oe.converters.FormData(t,e,n,{strict:!1}):t instanceof URLSearchParams?oe.converters.URLSearchParams(t,e,n):oe.converters.DOMString(t,e,n)};oe.converters.BodyInit=function(t,e,n){return t instanceof ReadableStream?oe.converters.ReadableStream(t,e,n):t?.[Symbol.asyncIterator]?t:oe.converters.XMLHttpRequestBodyInit(t,e,n)};oe.converters.ResponseInit=oe.dictionaryConverter([{key:"status",converter:oe.converters["unsigned short"],defaultValue:o(()=>200,"defaultValue")},{key:"statusText",converter:oe.converters.ByteString,defaultValue:o(()=>"","defaultValue")},{key:"headers",converter:oe.converters.HeadersInit}]);Lw.exports={isNetworkError:XP,makeNetworkError:Oc,makeResponse:Li,makeAppropriateNetworkError:eO,filterResponse:Mw,Response:Qs,cloneResponse:Jh,fromInnerResponse:pa}});var Gw=T((S4,Ow)=>{"use strict";var{kConnected:_w,kSize:Pw}=Re(),qh=class{static{o(this,"CompatWeakRef")}constructor(e){this.value=e}deref(){return this.value[_w]===0&&this.value[Pw]===0?void 0:this.value}},jh=class{static{o(this,"CompatFinalizer")}constructor(e){this.finalizer=e}register(e,n){e.on&&e.on("disconnect",()=>{e[_w]===0&&e[Pw]===0&&this.finalizer(n)})}unregister(e){}};Ow.exports=function(){return process.env.NODE_V8_COVERAGE&&process.version.startsWith("v18")?(process._rawDebug("Using compatibility WeakRef and FinalizationRegistry"),{WeakRef:qh,FinalizationRegistry:jh}):{WeakRef,FinalizationRegistry}}});var _i=T((x4,nb)=>{"use strict";var{extractBody:tO,mixinBody:nO,cloneBody:rO,bodyUnusable:$w}=mi(),{Headers:Zw,fill:sO,HeadersList:Hc,setHeadersGuard:zh,getHeadersGuard:iO,setHeadersList:Kw,getHeadersList:Yw}=ys(),{FinalizationRegistry:oO}=Gw()(),$c=ue(),Hw=require("node:util"),{isValidHTTPToken:aO,sameOrigin:Vw,environmentSettingsObject:Gc}=Qt(),{forbiddenMethodsSet:AO,corsSafeListedMethodsSet:cO,referrerPolicy:uO,requestRedirect:lO,requestMode:dO,requestCredentials:gO,requestCache:hO,requestDuplex:pO}=_o(),{kEnumerableProperty:Oe,normalizedMethodRecordsBase:fO,normalizedMethodRecords:mO}=$c,{kHeaders:St,kSignal:Yc,kState:ke,kDispatcher:Wh}=hr(),{webidl:X}=je(),{URLSerializer:EO}=gt(),{kConstruct:Vc}=Re(),CO=require("node:assert"),{getMaxListeners:Jw,setMaxListeners:qw,getEventListeners:IO,defaultMaxListeners:jw}=require("node:events"),yO=Symbol("abortController"),Xw=new oO(({signal:t,abort:e})=>{t.removeEventListener("abort",e)}),Jc=new WeakMap;function Ww(t){return e;function e(){let n=t.deref();if(n!==void 0){Xw.unregister(e),this.removeEventListener("abort",e),n.abort(this.reason);let r=Jc.get(n.signal);if(r!==void 0){if(r.size!==0){for(let s of r){let i=s.deref();i!==void 0&&i.abort(this.reason)}r.clear()}Jc.delete(n.signal)}}}}o(Ww,"buildAbort");var zw=!1,br=class t{static{o(this,"Request")}constructor(e,n={}){if(X.util.markAsUncloneable(this),e===Vc)return;let r="Request constructor";X.argumentLengthCheck(arguments,1,r),e=X.converters.RequestInfo(e,r,"input"),n=X.converters.RequestInit(n,r,"init");let s=null,i=null,a=Gc.settingsObject.baseUrl,c=null;if(typeof e=="string"){this[Wh]=n.dispatcher;let Q;try{Q=new URL(e,a)}catch(D){throw new TypeError("Failed to parse URL from "+e,{cause:D})}if(Q.username||Q.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e);s=qc({urlList:[Q]}),i="cors"}else this[Wh]=n.dispatcher||e[Wh],CO(e instanceof t),s=e[ke],c=e[Yc];let l=Gc.settingsObject.origin,d="client";if(s.window?.constructor?.name==="EnvironmentSettingsObject"&&Vw(s.window,l)&&(d=s.window),n.window!=null)throw new TypeError(`'window' option '${d}' must be null`);"window"in n&&(d="no-window"),s=qc({method:s.method,headersList:s.headersList,unsafeRequest:s.unsafeRequest,client:Gc.settingsObject,window:d,priority:s.priority,origin:s.origin,referrer:s.referrer,referrerPolicy:s.referrerPolicy,mode:s.mode,credentials:s.credentials,cache:s.cache,redirect:s.redirect,integrity:s.integrity,keepalive:s.keepalive,reloadNavigation:s.reloadNavigation,historyNavigation:s.historyNavigation,urlList:[...s.urlList]});let g=Object.keys(n).length!==0;if(g&&(s.mode==="navigate"&&(s.mode="same-origin"),s.reloadNavigation=!1,s.historyNavigation=!1,s.origin="client",s.referrer="client",s.referrerPolicy="",s.url=s.urlList[s.urlList.length-1],s.urlList=[s.url]),n.referrer!==void 0){let Q=n.referrer;if(Q==="")s.referrer="no-referrer";else{let D;try{D=new URL(Q,a)}catch(G){throw new TypeError(`Referrer "${Q}" is not a valid URL.`,{cause:G})}D.protocol==="about:"&&D.hostname==="client"||l&&!Vw(D,Gc.settingsObject.baseUrl)?s.referrer="client":s.referrer=D}}n.referrerPolicy!==void 0&&(s.referrerPolicy=n.referrerPolicy);let h;if(n.mode!==void 0?h=n.mode:h=i,h==="navigate")throw X.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(h!=null&&(s.mode=h),n.credentials!==void 0&&(s.credentials=n.credentials),n.cache!==void 0&&(s.cache=n.cache),s.cache==="only-if-cached"&&s.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(n.redirect!==void 0&&(s.redirect=n.redirect),n.integrity!=null&&(s.integrity=String(n.integrity)),n.keepalive!==void 0&&(s.keepalive=!!n.keepalive),n.method!==void 0){let Q=n.method,D=mO[Q];if(D!==void 0)s.method=D;else{if(!aO(Q))throw new TypeError(`'${Q}' is not a valid HTTP method.`);let G=Q.toUpperCase();if(AO.has(G))throw new TypeError(`'${Q}' HTTP method is unsupported.`);Q=fO[G]??Q,s.method=Q}!zw&&s.method==="patch"&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),zw=!0)}n.signal!==void 0&&(c=n.signal),this[ke]=s;let f=new AbortController;if(this[Yc]=f.signal,c!=null){if(!c||typeof c.aborted!="boolean"||typeof c.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(c.aborted)f.abort(c.reason);else{this[yO]=f;let Q=new WeakRef(f),D=Ww(Q);try{(typeof Jw=="function"&&Jw(c)===jw||IO(c,"abort").length>=jw)&&qw(1500,c)}catch{}$c.addAbortListener(c,D),Xw.register(f,{signal:c,abort:D},D)}}if(this[St]=new Zw(Vc),Kw(this[St],s.headersList),zh(this[St],"request"),h==="no-cors"){if(!cO.has(s.method))throw new TypeError(`'${s.method} is unsupported in no-cors mode.`);zh(this[St],"request-no-cors")}if(g){let Q=Yw(this[St]),D=n.headers!==void 0?n.headers:new Hc(Q);if(Q.clear(),D instanceof Hc){for(let{name:G,value:P}of D.rawValues())Q.append(G,P,!1);Q.cookies=D.cookies}else sO(this[St],D)}let m=e instanceof t?e[ke].body:null;if((n.body!=null||m!=null)&&(s.method==="GET"||s.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let C=null;if(n.body!=null){let[Q,D]=tO(n.body,s.keepalive);C=Q,D&&!Yw(this[St]).contains("content-type",!0)&&this[St].append("content-type",D)}let y=C??m;if(y!=null&&y.source==null){if(C!=null&&n.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(s.mode!=="same-origin"&&s.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');s.useCORSPreflightFlag=!0}let v=y;if(C==null&&m!=null){if($w(e))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let Q=new TransformStream;m.stream.pipeThrough(Q),v={source:m.source,length:m.length,stream:Q.readable}}this[ke].body=v}get method(){return X.brandCheck(this,t),this[ke].method}get url(){return X.brandCheck(this,t),EO(this[ke].url)}get headers(){return X.brandCheck(this,t),this[St]}get destination(){return X.brandCheck(this,t),this[ke].destination}get referrer(){return X.brandCheck(this,t),this[ke].referrer==="no-referrer"?"":this[ke].referrer==="client"?"about:client":this[ke].referrer.toString()}get referrerPolicy(){return X.brandCheck(this,t),this[ke].referrerPolicy}get mode(){return X.brandCheck(this,t),this[ke].mode}get credentials(){return this[ke].credentials}get cache(){return X.brandCheck(this,t),this[ke].cache}get redirect(){return X.brandCheck(this,t),this[ke].redirect}get integrity(){return X.brandCheck(this,t),this[ke].integrity}get keepalive(){return X.brandCheck(this,t),this[ke].keepalive}get isReloadNavigation(){return X.brandCheck(this,t),this[ke].reloadNavigation}get isHistoryNavigation(){return X.brandCheck(this,t),this[ke].historyNavigation}get signal(){return X.brandCheck(this,t),this[Yc]}get body(){return X.brandCheck(this,t),this[ke].body?this[ke].body.stream:null}get bodyUsed(){return X.brandCheck(this,t),!!this[ke].body&&$c.isDisturbed(this[ke].body.stream)}get duplex(){return X.brandCheck(this,t),"half"}clone(){if(X.brandCheck(this,t),$w(this))throw new TypeError("unusable");let e=eb(this[ke]),n=new AbortController;if(this.signal.aborted)n.abort(this.signal.reason);else{let r=Jc.get(this.signal);r===void 0&&(r=new Set,Jc.set(this.signal,r));let s=new WeakRef(n);r.add(s),$c.addAbortListener(n.signal,Ww(s))}return tb(e,n.signal,iO(this[St]))}[Hw.inspect.custom](e,n){n.depth===null&&(n.depth=2),n.colors??=!0;let r={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${Hw.formatWithOptions(n,r)}`}};nO(br);function qc(t){return{method:t.method??"GET",localURLsOnly:t.localURLsOnly??!1,unsafeRequest:t.unsafeRequest??!1,body:t.body??null,client:t.client??null,reservedClient:t.reservedClient??null,replacesClientId:t.replacesClientId??"",window:t.window??"client",keepalive:t.keepalive??!1,serviceWorkers:t.serviceWorkers??"all",initiator:t.initiator??"",destination:t.destination??"",priority:t.priority??null,origin:t.origin??"client",policyContainer:t.policyContainer??"client",referrer:t.referrer??"client",referrerPolicy:t.referrerPolicy??"",mode:t.mode??"no-cors",useCORSPreflightFlag:t.useCORSPreflightFlag??!1,credentials:t.credentials??"same-origin",useCredentials:t.useCredentials??!1,cache:t.cache??"default",redirect:t.redirect??"follow",integrity:t.integrity??"",cryptoGraphicsNonceMetadata:t.cryptoGraphicsNonceMetadata??"",parserMetadata:t.parserMetadata??"",reloadNavigation:t.reloadNavigation??!1,historyNavigation:t.historyNavigation??!1,userActivation:t.userActivation??!1,taintedOrigin:t.taintedOrigin??!1,redirectCount:t.redirectCount??0,responseTainting:t.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:t.preventNoCacheCacheControlHeaderModification??!1,done:t.done??!1,timingAllowFailed:t.timingAllowFailed??!1,urlList:t.urlList,url:t.urlList[0],headersList:t.headersList?new Hc(t.headersList):new Hc}}o(qc,"makeRequest");function eb(t){let e=qc({...t,body:null});return t.body!=null&&(e.body=rO(e,t.body)),e}o(eb,"cloneRequest");function tb(t,e,n){let r=new br(Vc);return r[ke]=t,r[Yc]=e,r[St]=new Zw(Vc),Kw(r[St],t.headersList),zh(r[St],n),r}o(tb,"fromInnerRequest");Object.defineProperties(br.prototype,{method:Oe,url:Oe,headers:Oe,redirect:Oe,clone:Oe,signal:Oe,duplex:Oe,destination:Oe,body:Oe,bodyUsed:Oe,isHistoryNavigation:Oe,isReloadNavigation:Oe,keepalive:Oe,integrity:Oe,cache:Oe,credentials:Oe,attribute:Oe,referrerPolicy:Oe,referrer:Oe,mode:Oe,[Symbol.toStringTag]:{value:"Request",configurable:!0}});X.converters.Request=X.interfaceConverter(br);X.converters.RequestInfo=function(t,e,n){return typeof t=="string"?X.converters.USVString(t,e,n):t instanceof br?X.converters.Request(t,e,n):X.converters.USVString(t,e,n)};X.converters.AbortSignal=X.interfaceConverter(AbortSignal);X.converters.RequestInit=X.dictionaryConverter([{key:"method",converter:X.converters.ByteString},{key:"headers",converter:X.converters.HeadersInit},{key:"body",converter:X.nullableConverter(X.converters.BodyInit)},{key:"referrer",converter:X.converters.USVString},{key:"referrerPolicy",converter:X.converters.DOMString,allowedValues:uO},{key:"mode",converter:X.converters.DOMString,allowedValues:dO},{key:"credentials",converter:X.converters.DOMString,allowedValues:gO},{key:"cache",converter:X.converters.DOMString,allowedValues:hO},{key:"redirect",converter:X.converters.DOMString,allowedValues:lO},{key:"integrity",converter:X.converters.DOMString},{key:"keepalive",converter:X.converters.boolean},{key:"signal",converter:X.nullableConverter(t=>X.converters.AbortSignal(t,"RequestInit","signal",{strict:!1}))},{key:"window",converter:X.converters.any},{key:"duplex",converter:X.converters.DOMString,allowedValues:pO},{key:"dispatcher",converter:X.converters.any}]);nb.exports={Request:br,makeRequest:qc,fromInnerRequest:tb,cloneRequest:eb}});var Ea=T((T4,mb)=>{"use strict";var{makeNetworkError:ye,makeAppropriateNetworkError:jc,filterResponse:Zh,makeResponse:Wc,fromInnerResponse:QO}=fa(),{HeadersList:rb}=ys(),{Request:BO,cloneRequest:wO}=_i(),kr=require("node:zlib"),{bytesMatch:bO,makePolicyContainer:kO,clonePolicyContainer:RO,requestBadPort:SO,TAOCheck:vO,appendRequestOriginHeader:xO,responseLocationURL:DO,requestCurrentURL:Qn,setRequestReferrerPolicyOnRedirect:TO,tryUpgradeRequestToAPotentiallyTrustworthyURL:NO,createOpaqueTimingInfo:np,appendFetchMetadata:FO,corsCheck:UO,crossOriginResourcePolicyCheck:MO,determineRequestsReferrer:LO,coarsenedSharedCurrentTime:ma,createDeferredPromise:_O,isBlobLike:PO,sameOrigin:tp,isCancelled:Bs,isAborted:sb,isErrorLike:OO,fullyReadBody:GO,readableStreamClose:$O,isomorphicEncode:zc,urlIsLocal:YO,urlIsHttpHttpsScheme:rp,urlHasHttpsScheme:HO,clampAndCoarsenConnectionTimingInfo:VO,simpleRangeHeaderValue:JO,buildContentRange:qO,createInflate:jO,extractMimeType:WO}=Qt(),{kState:Ab,kDispatcher:zO}=hr(),ws=require("node:assert"),{safelyExtractBody:sp,extractBody:ib}=mi(),{redirectStatusSet:cb,nullBodyStatus:ub,safeMethodsSet:ZO,requestBodyHeader:KO,subresourceSet:XO}=_o(),eG=require("node:events"),{Readable:tG,pipeline:nG,finished:rG}=require("node:stream"),{addAbortListener:sG,isErrored:iG,isReadable:Zc,bufferToLowerCasedHeaderName:ob}=ue(),{dataURLProcessor:oG,serializeAMimeType:aG,minimizeSupportedMimeType:AG}=gt(),{getGlobalDispatcher:cG}=ga(),{webidl:uG}=je(),{STATUS_CODES:lG}=require("node:http"),dG=["GET","HEAD"],gG=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",Kh,Kc=class extends eG{static{o(this,"Fetch")}constructor(e){super(),this.dispatcher=e,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(e){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(e),this.emit("terminated",e))}abort(e){this.state==="ongoing"&&(this.state="aborted",e||(e=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=e,this.connection?.destroy(e),this.emit("terminated",e))}};function hG(t){lb(t,"fetch")}o(hG,"handleFetchDone");function pG(t,e=void 0){uG.argumentLengthCheck(arguments,1,"globalThis.fetch");let n=_O(),r;try{r=new BO(t,e)}catch(g){return n.reject(g),n.promise}let s=r[Ab];if(r.signal.aborted)return Xh(n,s,null,r.signal.reason),n.promise;s.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(s.serviceWorkers="none");let a=null,c=!1,l=null;return sG(r.signal,()=>{c=!0,ws(l!=null),l.abort(r.signal.reason);let g=a?.deref();Xh(n,s,g,r.signal.reason)}),l=gb({request:s,processResponseEndOfBody:hG,processResponse:o(g=>{if(!c){if(g.aborted){Xh(n,s,a,l.serializedAbortReason);return}if(g.type==="error"){n.reject(new TypeError("fetch failed",{cause:g.error}));return}a=new WeakRef(QO(g,"immutable")),n.resolve(a.deref()),n=null}},"processResponse"),dispatcher:r[zO]}),n.promise}o(pG,"fetch");function lb(t,e="other"){if(t.type==="error"&&t.aborted||!t.urlList?.length)return;let n=t.urlList[0],r=t.timingInfo,s=t.cacheState;rp(n)&&r!==null&&(t.timingAllowPassed||(r=np({startTime:r.startTime}),s=""),r.endTime=ma(),t.timingInfo=r,db(r,n.href,e,globalThis,s))}o(lb,"finalizeAndReportTiming");var db=performance.markResourceTiming;function Xh(t,e,n,r){if(t&&t.reject(r),e.body!=null&&Zc(e.body?.stream)&&e.body.stream.cancel(r).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i}),n==null)return;let s=n[Ab];s.body!=null&&Zc(s.body?.stream)&&s.body.stream.cancel(r).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i})}o(Xh,"abortFetch");function gb({request:t,processRequestBodyChunkLength:e,processRequestEndOfBody:n,processResponse:r,processResponseEndOfBody:s,processResponseConsumeBody:i,useParallelQueue:a=!1,dispatcher:c=cG()}){ws(c);let l=null,d=!1;t.client!=null&&(l=t.client.globalObject,d=t.client.crossOriginIsolatedCapability);let g=ma(d),h=np({startTime:g}),f={controller:new Kc(c),request:t,timingInfo:h,processRequestBodyChunkLength:e,processRequestEndOfBody:n,processResponse:r,processResponseConsumeBody:i,processResponseEndOfBody:s,taskDestination:l,crossOriginIsolatedCapability:d};return ws(!t.body||t.body.stream),t.window==="client"&&(t.window=t.client?.globalObject?.constructor?.name==="Window"?t.client:"no-window"),t.origin==="client"&&(t.origin=t.client.origin),t.policyContainer==="client"&&(t.client!=null?t.policyContainer=RO(t.client.policyContainer):t.policyContainer=kO()),t.headersList.contains("accept",!0)||t.headersList.append("accept","*/*",!0),t.headersList.contains("accept-language",!0)||t.headersList.append("accept-language","*",!0),t.priority,XO.has(t.destination),hb(f).catch(m=>{f.controller.terminate(m)}),f.controller}o(gb,"fetching");async function hb(t,e=!1){let n=t.request,r=null;if(n.localURLsOnly&&!YO(Qn(n))&&(r=ye("local URLs only")),NO(n),SO(n)==="blocked"&&(r=ye("bad port")),n.referrerPolicy===""&&(n.referrerPolicy=n.policyContainer.referrerPolicy),n.referrer!=="no-referrer"&&(n.referrer=LO(n)),r===null&&(r=await(async()=>{let i=Qn(n);return tp(i,n.url)&&n.responseTainting==="basic"||i.protocol==="data:"||n.mode==="navigate"||n.mode==="websocket"?(n.responseTainting="basic",await ab(t)):n.mode==="same-origin"?ye('request mode cannot be "same-origin"'):n.mode==="no-cors"?n.redirect!=="follow"?ye('redirect mode cannot be "follow" for "no-cors" request'):(n.responseTainting="opaque",await ab(t)):rp(Qn(n))?(n.responseTainting="cors",await pb(t)):ye("URL scheme must be a HTTP(S) scheme")})()),e)return r;r.status!==0&&!r.internalResponse&&(n.responseTainting,n.responseTainting==="basic"?r=Zh(r,"basic"):n.responseTainting==="cors"?r=Zh(r,"cors"):n.responseTainting==="opaque"?r=Zh(r,"opaque"):ws(!1));let s=r.status===0?r:r.internalResponse;if(s.urlList.length===0&&s.urlList.push(...n.urlList),n.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&s.status===206&&s.rangeRequested&&!n.headers.contains("range",!0)&&(r=s=ye()),r.status!==0&&(n.method==="HEAD"||n.method==="CONNECT"||ub.includes(s.status))&&(s.body=null,t.controller.dump=!0),n.integrity){let i=o(c=>ep(t,ye(c)),"processBodyError");if(n.responseTainting==="opaque"||r.body==null){i(r.error);return}let a=o(c=>{if(!bO(c,n.integrity)){i("integrity mismatch");return}r.body=sp(c)[0],ep(t,r)},"processBody");await GO(r.body,a,i)}else ep(t,r)}o(hb,"mainFetch");function ab(t){if(Bs(t)&&t.request.redirectCount===0)return Promise.resolve(jc(t));let{request:e}=t,{protocol:n}=Qn(e);switch(n){case"about:":return Promise.resolve(ye("about scheme is not supported"));case"blob:":{Kh||(Kh=require("node:buffer").resolveObjectURL);let r=Qn(e);if(r.search.length!==0)return Promise.resolve(ye("NetworkError when attempting to fetch resource."));let s=Kh(r.toString());if(e.method!=="GET"||!PO(s))return Promise.resolve(ye("invalid method"));let i=Wc(),a=s.size,c=zc(`${a}`),l=s.type;if(e.headersList.contains("range",!0)){i.rangeRequested=!0;let d=e.headersList.get("range",!0),g=JO(d,!0);if(g==="failure")return Promise.resolve(ye("failed to fetch the data URL"));let{rangeStartValue:h,rangeEndValue:f}=g;if(h===null)h=a-f,f=h+f-1;else{if(h>=a)return Promise.resolve(ye("Range start is greater than the blob's size."));(f===null||f>=a)&&(f=a-1)}let m=s.slice(h,f,l),C=ib(m);i.body=C[0];let y=zc(`${m.size}`),v=qO(h,f,a);i.status=206,i.statusText="Partial Content",i.headersList.set("content-length",y,!0),i.headersList.set("content-type",l,!0),i.headersList.set("content-range",v,!0)}else{let d=ib(s);i.statusText="OK",i.body=d[0],i.headersList.set("content-length",c,!0),i.headersList.set("content-type",l,!0)}return Promise.resolve(i)}case"data:":{let r=Qn(e),s=oG(r);if(s==="failure")return Promise.resolve(ye("failed to fetch the data URL"));let i=aG(s.mimeType);return Promise.resolve(Wc({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:i}]],body:sp(s.body)[0]}))}case"file:":return Promise.resolve(ye("not implemented... yet..."));case"http:":case"https:":return pb(t).catch(r=>ye(r));default:return Promise.resolve(ye("unknown scheme"))}}o(ab,"schemeFetch");function fG(t,e){t.request.done=!0,t.processResponseDone!=null&&queueMicrotask(()=>t.processResponseDone(e))}o(fG,"finalizeResponse");function ep(t,e){let n=t.timingInfo,r=o(()=>{let i=Date.now();t.request.destination==="document"&&(t.controller.fullTimingInfo=n),t.controller.reportTimingSteps=()=>{if(t.request.url.protocol!=="https:")return;n.endTime=i;let c=e.cacheState,l=e.bodyInfo;e.timingAllowPassed||(n=np(n),c="");let d=0;if(t.request.mode!=="navigator"||!e.hasCrossOriginRedirects){d=e.status;let g=WO(e.headersList);g!=="failure"&&(l.contentType=AG(g))}t.request.initiatorType!=null&&db(n,t.request.url.href,t.request.initiatorType,globalThis,c,l,d)};let a=o(()=>{t.request.done=!0,t.processResponseEndOfBody!=null&&queueMicrotask(()=>t.processResponseEndOfBody(e)),t.request.initiatorType!=null&&t.controller.reportTimingSteps()},"processResponseEndOfBodyTask");queueMicrotask(()=>a())},"processResponseEndOfBody");t.processResponse!=null&&queueMicrotask(()=>{t.processResponse(e),t.processResponse=null});let s=e.type==="error"?e:e.internalResponse??e;s.body==null?r():rG(s.body.stream,()=>{r()})}o(ep,"fetchFinale");async function pb(t){let e=t.request,n=null,r=null,s=t.timingInfo;if(e.serviceWorkers,n===null){if(e.redirect==="follow"&&(e.serviceWorkers="none"),r=n=await fb(t),e.responseTainting==="cors"&&UO(e,n)==="failure")return ye("cors failure");vO(e,n)==="failure"&&(e.timingAllowFailed=!0)}return(e.responseTainting==="opaque"||n.type==="opaque")&&MO(e.origin,e.client,e.destination,r)==="blocked"?ye("blocked"):(cb.has(r.status)&&(e.redirect!=="manual"&&t.controller.connection.destroy(void 0,!1),e.redirect==="error"?n=ye("unexpected redirect"):e.redirect==="manual"?n=r:e.redirect==="follow"?n=await mG(t,n):ws(!1)),n.timingInfo=s,n)}o(pb,"httpFetch");function mG(t,e){let n=t.request,r=e.internalResponse?e.internalResponse:e,s;try{if(s=DO(r,Qn(n).hash),s==null)return e}catch(a){return Promise.resolve(ye(a))}if(!rp(s))return Promise.resolve(ye("URL scheme must be a HTTP(S) scheme"));if(n.redirectCount===20)return Promise.resolve(ye("redirect count exceeded"));if(n.redirectCount+=1,n.mode==="cors"&&(s.username||s.password)&&!tp(n,s))return Promise.resolve(ye('cross origin not allowed for request mode "cors"'));if(n.responseTainting==="cors"&&(s.username||s.password))return Promise.resolve(ye('URL cannot contain credentials for request mode "cors"'));if(r.status!==303&&n.body!=null&&n.body.source==null)return Promise.resolve(ye());if([301,302].includes(r.status)&&n.method==="POST"||r.status===303&&!dG.includes(n.method)){n.method="GET",n.body=null;for(let a of KO)n.headersList.delete(a)}tp(Qn(n),s)||(n.headersList.delete("authorization",!0),n.headersList.delete("proxy-authorization",!0),n.headersList.delete("cookie",!0),n.headersList.delete("host",!0)),n.body!=null&&(ws(n.body.source!=null),n.body=sp(n.body.source)[0]);let i=t.timingInfo;return i.redirectEndTime=i.postRedirectStartTime=ma(t.crossOriginIsolatedCapability),i.redirectStartTime===0&&(i.redirectStartTime=i.startTime),n.urlList.push(s),TO(n,r),hb(t,!0)}o(mG,"httpRedirectFetch");async function fb(t,e=!1,n=!1){let r=t.request,s=null,i=null,a=null,c=null,l=!1;r.window==="no-window"&&r.redirect==="error"?(s=t,i=r):(i=wO(r),s={...t},s.request=i);let d=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",g=i.body?i.body.length:null,h=null;if(i.body==null&&["POST","PUT"].includes(i.method)&&(h="0"),g!=null&&(h=zc(`${g}`)),h!=null&&i.headersList.append("content-length",h,!0),g!=null&&i.keepalive,i.referrer instanceof URL&&i.headersList.append("referer",zc(i.referrer.href),!0),xO(i),FO(i),i.headersList.contains("user-agent",!0)||i.headersList.append("user-agent",gG),i.cache==="default"&&(i.headersList.contains("if-modified-since",!0)||i.headersList.contains("if-none-match",!0)||i.headersList.contains("if-unmodified-since",!0)||i.headersList.contains("if-match",!0)||i.headersList.contains("if-range",!0))&&(i.cache="no-store"),i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control",!0)&&i.headersList.append("cache-control","max-age=0",!0),(i.cache==="no-store"||i.cache==="reload")&&(i.headersList.contains("pragma",!0)||i.headersList.append("pragma","no-cache",!0),i.headersList.contains("cache-control",!0)||i.headersList.append("cache-control","no-cache",!0)),i.headersList.contains("range",!0)&&i.headersList.append("accept-encoding","identity",!0),i.headersList.contains("accept-encoding",!0)||(HO(Qn(i))?i.headersList.append("accept-encoding","br, gzip, deflate",!0):i.headersList.append("accept-encoding","gzip, deflate",!0)),i.headersList.delete("host",!0),c==null&&(i.cache="no-store"),i.cache!=="no-store"&&i.cache,a==null){if(i.cache==="only-if-cached")return ye("only if cached");let f=await EG(s,d,n);!ZO.has(i.method)&&f.status>=200&&f.status<=399,l&&f.status,a==null&&(a=f)}if(a.urlList=[...i.urlList],i.headersList.contains("range",!0)&&(a.rangeRequested=!0),a.requestIncludesCredentials=d,a.status===407)return r.window==="no-window"?ye():Bs(t)?jc(t):ye("proxy authentication required");if(a.status===421&&!n&&(r.body==null||r.body.source!=null)){if(Bs(t))return jc(t);t.controller.connection.destroy(),a=await fb(t,e,!0)}return a}o(fb,"httpNetworkOrCacheFetch");async function EG(t,e=!1,n=!1){ws(!t.controller.connection||t.controller.connection.destroyed),t.controller.connection={abort:null,destroyed:!1,destroy(C,y=!0){this.destroyed||(this.destroyed=!0,y&&this.abort?.(C??new DOMException("The operation was aborted.","AbortError")))}};let r=t.request,s=null,i=t.timingInfo;null==null&&(r.cache="no-store");let c=n?"yes":"no";r.mode;let l=null;if(r.body==null&&t.processRequestEndOfBody)queueMicrotask(()=>t.processRequestEndOfBody());else if(r.body!=null){let C=o(async function*(Q){Bs(t)||(yield Q,t.processRequestBodyChunkLength?.(Q.byteLength))},"processBodyChunk"),y=o(()=>{Bs(t)||t.processRequestEndOfBody&&t.processRequestEndOfBody()},"processEndOfBody"),v=o(Q=>{Bs(t)||(Q.name==="AbortError"?t.controller.abort():t.controller.terminate(Q))},"processBodyError");l=(async function*(){try{for await(let Q of r.body.stream)yield*C(Q);y()}catch(Q){v(Q)}})()}try{let{body:C,status:y,statusText:v,headersList:Q,socket:D}=await m({body:l});if(D)s=Wc({status:y,statusText:v,headersList:Q,socket:D});else{let G=C[Symbol.asyncIterator]();t.controller.next=()=>G.next(),s=Wc({status:y,statusText:v,headersList:Q})}}catch(C){return C.name==="AbortError"?(t.controller.connection.destroy(),jc(t,C)):ye(C)}let d=o(async()=>{await t.controller.resume()},"pullAlgorithm"),g=o(C=>{Bs(t)||t.controller.abort(C)},"cancelAlgorithm"),h=new ReadableStream({async start(C){t.controller.controller=C},async pull(C){await d(C)},async cancel(C){await g(C)},type:"bytes"});s.body={stream:h,source:null,length:null},t.controller.resume||t.controller.on("terminated",f),t.controller.resume=async()=>{for(;;){let C,y;try{let{done:Q,value:D}=await t.controller.next();if(sb(t))break;C=Q?void 0:D}catch(Q){t.controller.ended&&!i.encodedBodySize?C=void 0:(C=Q,y=!0)}if(C===void 0){$O(t.controller.controller),fG(t,s);return}if(i.decodedBodySize+=C?.byteLength??0,y){t.controller.terminate(C);return}let v=new Uint8Array(C);if(v.byteLength&&t.controller.controller.enqueue(v),iG(h)){t.controller.terminate();return}if(t.controller.controller.desiredSize<=0)return}};function f(C){sb(t)?(s.aborted=!0,Zc(h)&&t.controller.controller.error(t.controller.serializedAbortReason)):Zc(h)&&t.controller.controller.error(new TypeError("terminated",{cause:OO(C)?C:void 0})),t.controller.connection.destroy()}return o(f,"onAborted"),s;function m({body:C}){let y=Qn(r),v=t.controller.dispatcher;return new Promise((Q,D)=>v.dispatch({path:y.pathname+y.search,origin:y.origin,method:r.method,body:v.isMockActive?r.body&&(r.body.source||r.body.stream):C,headers:r.headersList.entries,maxRedirections:0,upgrade:r.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(G){let{connection:P}=t.controller;i.finalConnectionTimingInfo=VO(void 0,i.postRedirectStartTime,t.crossOriginIsolatedCapability),P.destroyed?G(new DOMException("The operation was aborted.","AbortError")):(t.controller.on("terminated",G),this.abort=P.abort=G),i.finalNetworkRequestStartTime=ma(t.crossOriginIsolatedCapability)},onResponseStarted(){i.finalNetworkResponseStartTime=ma(t.crossOriginIsolatedCapability)},onHeaders(G,P,ae,Ee){if(G<200)return;let Ce="",De=new rb;for(let Ge=0;Ge<P.length;Ge+=2)De.append(ob(P[Ge]),P[Ge+1].toString("latin1"),!0);Ce=De.get("location",!0);let et=[],sn=Ce&&r.redirect==="follow"&&cb.has(G);if(r.method!=="HEAD"&&r.method!=="CONNECT"&&!ub.includes(G)&&!sn){let Ge=De.get("content-encoding",!0),Tt=Ge?Ge.toLowerCase().split(","):[],xe=5;if(Tt.length>xe)return this.abort(new Error(`too many content-encodings in response: ${Tt.length}, maximum allowed is ${xe}`)),!0;for(let Nt=Tt.length-1;Nt>=0;--Nt){let $=Tt[Nt].trim();if($==="x-gzip"||$==="gzip")et.push(kr.createGunzip({flush:kr.constants.Z_SYNC_FLUSH,finishFlush:kr.constants.Z_SYNC_FLUSH}));else if($==="deflate")et.push(jO({flush:kr.constants.Z_SYNC_FLUSH,finishFlush:kr.constants.Z_SYNC_FLUSH}));else if($==="br")et.push(kr.createBrotliDecompress({flush:kr.constants.BROTLI_OPERATION_FLUSH,finishFlush:kr.constants.BROTLI_OPERATION_FLUSH}));else{et.length=0;break}}}this.body=new tG({read:ae});let At=this.onError.bind(this);return Q({status:G,statusText:Ee,headersList:De,body:et.length?nG(this.body,...et,Ge=>{Ge&&this.onError(Ge)}).on("error",At):this.body.on("error",At)}),!0},onData(G){if(t.controller.dump)return;let P=G;return i.encodedBodySize+=P.byteLength,this.body.push(P)},onComplete(){this.abort&&t.controller.off("terminated",this.abort),t.controller.ended=!0,this.body.push(null)},onError(G){this.abort&&t.controller.off("terminated",this.abort),this.body?.destroy(G),t.controller.terminate(G),D(G)},onUpgrade(G,P,ae){if(G!==101)return;let Ee=new rb;for(let Ce=0;Ce<P.length;Ce+=2)Ee.append(ob(P[Ce]),P[Ce+1].toString("latin1"),!0);return Q({status:G,statusText:lG[G],headersList:Ee,socket:ae}),!0}}))}o(m,"dispatch")}o(EG,"httpNetworkFetch");mb.exports={fetch:pG,Fetch:Kc,fetching:gb,finalizeAndReportTiming:lb}});var ip=T((F4,Eb)=>{"use strict";Eb.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")}});var Ib=T((U4,Cb)=>{"use strict";var{webidl:vt}=je(),Xc=Symbol("ProgressEvent state"),op=class t extends Event{static{o(this,"ProgressEvent")}constructor(e,n={}){e=vt.converters.DOMString(e,"ProgressEvent constructor","type"),n=vt.converters.ProgressEventInit(n??{}),super(e,n),this[Xc]={lengthComputable:n.lengthComputable,loaded:n.loaded,total:n.total}}get lengthComputable(){return vt.brandCheck(this,t),this[Xc].lengthComputable}get loaded(){return vt.brandCheck(this,t),this[Xc].loaded}get total(){return vt.brandCheck(this,t),this[Xc].total}};vt.converters.ProgressEventInit=vt.dictionaryConverter([{key:"lengthComputable",converter:vt.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"loaded",converter:vt.converters["unsigned long long"],defaultValue:o(()=>0,"defaultValue")},{key:"total",converter:vt.converters["unsigned long long"],defaultValue:o(()=>0,"defaultValue")},{key:"bubbles",converter:vt.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"cancelable",converter:vt.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"composed",converter:vt.converters.boolean,defaultValue:o(()=>!1,"defaultValue")}]);Cb.exports={ProgressEvent:op}});var Qb=T((L4,yb)=>{"use strict";function CG(t){if(!t)return"failure";switch(t.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"}}o(CG,"getEncoding");yb.exports={getEncoding:CG}});var xb=T((P4,vb)=>{"use strict";var{kState:Pi,kError:ap,kResult:Bb,kAborted:Ca,kLastProgressEventFired:Ap}=ip(),{ProgressEvent:IG}=Ib(),{getEncoding:wb}=Qb(),{serializeAMimeType:yG,parseMIMEType:bb}=gt(),{types:QG}=require("node:util"),{StringDecoder:kb}=require("string_decoder"),{btoa:Rb}=require("node:buffer"),BG={enumerable:!0,writable:!1,configurable:!1};function wG(t,e,n,r){if(t[Pi]==="loading")throw new DOMException("Invalid state","InvalidStateError");t[Pi]="loading",t[Bb]=null,t[ap]=null;let i=e.stream().getReader(),a=[],c=i.read(),l=!0;(async()=>{for(;!t[Ca];)try{let{done:d,value:g}=await c;if(l&&!t[Ca]&&queueMicrotask(()=>{Rr("loadstart",t)}),l=!1,!d&&QG.isUint8Array(g))a.push(g),(t[Ap]===void 0||Date.now()-t[Ap]>=50)&&!t[Ca]&&(t[Ap]=Date.now(),queueMicrotask(()=>{Rr("progress",t)})),c=i.read();else if(d){queueMicrotask(()=>{t[Pi]="done";try{let h=bG(a,n,e.type,r);if(t[Ca])return;t[Bb]=h,Rr("load",t)}catch(h){t[ap]=h,Rr("error",t)}t[Pi]!=="loading"&&Rr("loadend",t)});break}}catch(d){if(t[Ca])return;queueMicrotask(()=>{t[Pi]="done",t[ap]=d,Rr("error",t),t[Pi]!=="loading"&&Rr("loadend",t)});break}})()}o(wG,"readOperation");function Rr(t,e){let n=new IG(t,{bubbles:!1,cancelable:!1});e.dispatchEvent(n)}o(Rr,"fireAProgressEvent");function bG(t,e,n,r){switch(e){case"DataURL":{let s="data:",i=bb(n||"application/octet-stream");i!=="failure"&&(s+=yG(i)),s+=";base64,";let a=new kb("latin1");for(let c of t)s+=Rb(a.write(c));return s+=Rb(a.end()),s}case"Text":{let s="failure";if(r&&(s=wb(r)),s==="failure"&&n){let i=bb(n);i!=="failure"&&(s=wb(i.parameters.get("charset")))}return s==="failure"&&(s="UTF-8"),kG(t,s)}case"ArrayBuffer":return Sb(t).buffer;case"BinaryString":{let s="",i=new kb("latin1");for(let a of t)s+=i.write(a);return s+=i.end(),s}}}o(bG,"packageData");function kG(t,e){let n=Sb(t),r=RG(n),s=0;r!==null&&(e=r,s=r==="UTF-8"?3:2);let i=n.slice(s);return new TextDecoder(e).decode(i)}o(kG,"decode");function RG(t){let[e,n,r]=t;return e===239&&n===187&&r===191?"UTF-8":e===254&&n===255?"UTF-16BE":e===255&&n===254?"UTF-16LE":null}o(RG,"BOMSniffing");function Sb(t){let e=t.reduce((r,s)=>r+s.byteLength,0),n=0;return t.reduce((r,s)=>(r.set(s,n),n+=s.byteLength,r),new Uint8Array(e))}o(Sb,"combineByteSequences");vb.exports={staticPropertyDescriptors:BG,readOperation:wG,fireAProgressEvent:Rr}});var Fb=T((G4,Nb)=>{"use strict";var{staticPropertyDescriptors:Oi,readOperation:eu,fireAProgressEvent:Db}=xb(),{kState:bs,kError:Tb,kResult:tu,kEvents:fe,kAborted:SG}=ip(),{webidl:Be}=je(),{kEnumerableProperty:ft}=ue(),nn=class t extends EventTarget{static{o(this,"FileReader")}constructor(){super(),this[bs]="empty",this[tu]=null,this[Tb]=null,this[fe]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){Be.brandCheck(this,t),Be.argumentLengthCheck(arguments,1,"FileReader.readAsArrayBuffer"),e=Be.converters.Blob(e,{strict:!1}),eu(this,e,"ArrayBuffer")}readAsBinaryString(e){Be.brandCheck(this,t),Be.argumentLengthCheck(arguments,1,"FileReader.readAsBinaryString"),e=Be.converters.Blob(e,{strict:!1}),eu(this,e,"BinaryString")}readAsText(e,n=void 0){Be.brandCheck(this,t),Be.argumentLengthCheck(arguments,1,"FileReader.readAsText"),e=Be.converters.Blob(e,{strict:!1}),n!==void 0&&(n=Be.converters.DOMString(n,"FileReader.readAsText","encoding")),eu(this,e,"Text",n)}readAsDataURL(e){Be.brandCheck(this,t),Be.argumentLengthCheck(arguments,1,"FileReader.readAsDataURL"),e=Be.converters.Blob(e,{strict:!1}),eu(this,e,"DataURL")}abort(){if(this[bs]==="empty"||this[bs]==="done"){this[tu]=null;return}this[bs]==="loading"&&(this[bs]="done",this[tu]=null),this[SG]=!0,Db("abort",this),this[bs]!=="loading"&&Db("loadend",this)}get readyState(){switch(Be.brandCheck(this,t),this[bs]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return Be.brandCheck(this,t),this[tu]}get error(){return Be.brandCheck(this,t),this[Tb]}get onloadend(){return Be.brandCheck(this,t),this[fe].loadend}set onloadend(e){Be.brandCheck(this,t),this[fe].loadend&&this.removeEventListener("loadend",this[fe].loadend),typeof e=="function"?(this[fe].loadend=e,this.addEventListener("loadend",e)):this[fe].loadend=null}get onerror(){return Be.brandCheck(this,t),this[fe].error}set onerror(e){Be.brandCheck(this,t),this[fe].error&&this.removeEventListener("error",this[fe].error),typeof e=="function"?(this[fe].error=e,this.addEventListener("error",e)):this[fe].error=null}get onloadstart(){return Be.brandCheck(this,t),this[fe].loadstart}set onloadstart(e){Be.brandCheck(this,t),this[fe].loadstart&&this.removeEventListener("loadstart",this[fe].loadstart),typeof e=="function"?(this[fe].loadstart=e,this.addEventListener("loadstart",e)):this[fe].loadstart=null}get onprogress(){return Be.brandCheck(this,t),this[fe].progress}set onprogress(e){Be.brandCheck(this,t),this[fe].progress&&this.removeEventListener("progress",this[fe].progress),typeof e=="function"?(this[fe].progress=e,this.addEventListener("progress",e)):this[fe].progress=null}get onload(){return Be.brandCheck(this,t),this[fe].load}set onload(e){Be.brandCheck(this,t),this[fe].load&&this.removeEventListener("load",this[fe].load),typeof e=="function"?(this[fe].load=e,this.addEventListener("load",e)):this[fe].load=null}get onabort(){return Be.brandCheck(this,t),this[fe].abort}set onabort(e){Be.brandCheck(this,t),this[fe].abort&&this.removeEventListener("abort",this[fe].abort),typeof e=="function"?(this[fe].abort=e,this.addEventListener("abort",e)):this[fe].abort=null}};nn.EMPTY=nn.prototype.EMPTY=0;nn.LOADING=nn.prototype.LOADING=1;nn.DONE=nn.prototype.DONE=2;Object.defineProperties(nn.prototype,{EMPTY:Oi,LOADING:Oi,DONE:Oi,readAsArrayBuffer:ft,readAsBinaryString:ft,readAsText:ft,readAsDataURL:ft,abort:ft,readyState:ft,result:ft,error:ft,onloadstart:ft,onprogress:ft,onload:ft,onabort:ft,onerror:ft,onloadend:ft,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(nn,{EMPTY:Oi,LOADING:Oi,DONE:Oi});Nb.exports={FileReader:nn}});var nu=T((Y4,Ub)=>{"use strict";Ub.exports={kConstruct:Re().kConstruct}});var _b=T((H4,Lb)=>{"use strict";var vG=require("node:assert"),{URLSerializer:Mb}=gt(),{isValidHeaderName:xG}=Qt();function DG(t,e,n=!1){let r=Mb(t,n),s=Mb(e,n);return r===s}o(DG,"urlEquals");function TG(t){vG(t!==null);let e=[];for(let n of t.split(","))n=n.trim(),xG(n)&&e.push(n);return e}o(TG,"getFieldValues");Lb.exports={urlEquals:DG,getFieldValues:TG}});var Gb=T((J4,Ob)=>{"use strict";var{kConstruct:NG}=nu(),{urlEquals:FG,getFieldValues:cp}=_b(),{kEnumerableProperty:ks,isDisturbed:UG}=ue(),{webidl:q}=je(),{Response:MG,cloneResponse:LG,fromInnerResponse:_G}=fa(),{Request:Jn,fromInnerRequest:PG}=_i(),{kState:rn}=hr(),{fetching:OG}=Ea(),{urlIsHttpHttpsScheme:ru,createDeferredPromise:Gi,readAllBytes:GG}=Qt(),up=require("node:assert"),su=class t{static{o(this,"Cache")}#e;constructor(){arguments[0]!==NG&&q.illegalConstructor(),q.util.markAsUncloneable(this),this.#e=arguments[1]}async match(e,n={}){q.brandCheck(this,t);let r="Cache.match";q.argumentLengthCheck(arguments,1,r),e=q.converters.RequestInfo(e,r,"request"),n=q.converters.CacheQueryOptions(n,r,"options");let s=this.#i(e,n,1);if(s.length!==0)return s[0]}async matchAll(e=void 0,n={}){q.brandCheck(this,t);let r="Cache.matchAll";return e!==void 0&&(e=q.converters.RequestInfo(e,r,"request")),n=q.converters.CacheQueryOptions(n,r,"options"),this.#i(e,n)}async add(e){q.brandCheck(this,t);let n="Cache.add";q.argumentLengthCheck(arguments,1,n),e=q.converters.RequestInfo(e,n,"request");let r=[e];return await this.addAll(r)}async addAll(e){q.brandCheck(this,t);let n="Cache.addAll";q.argumentLengthCheck(arguments,1,n);let r=[],s=[];for(let f of e){if(f===void 0)throw q.errors.conversionFailed({prefix:n,argument:"Argument 1",types:["undefined is not allowed"]});if(f=q.converters.RequestInfo(f),typeof f=="string")continue;let m=f[rn];if(!ru(m.url)||m.method!=="GET")throw q.errors.exception({header:n,message:"Expected http/s scheme when method is not GET."})}let i=[];for(let f of e){let m=new Jn(f)[rn];if(!ru(m.url))throw q.errors.exception({header:n,message:"Expected http/s scheme."});m.initiator="fetch",m.destination="subresource",s.push(m);let C=Gi();i.push(OG({request:m,processResponse(y){if(y.type==="error"||y.status===206||y.status<200||y.status>299)C.reject(q.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(y.headersList.contains("vary")){let v=cp(y.headersList.get("vary"));for(let Q of v)if(Q==="*"){C.reject(q.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let D of i)D.abort();return}}},processResponseEndOfBody(y){if(y.aborted){C.reject(new DOMException("aborted","AbortError"));return}C.resolve(y)}})),r.push(C.promise)}let c=await Promise.all(r),l=[],d=0;for(let f of c){let m={type:"put",request:s[d],response:f};l.push(m),d++}let g=Gi(),h=null;try{this.#t(l)}catch(f){h=f}return queueMicrotask(()=>{h===null?g.resolve(void 0):g.reject(h)}),g.promise}async put(e,n){q.brandCheck(this,t);let r="Cache.put";q.argumentLengthCheck(arguments,2,r),e=q.converters.RequestInfo(e,r,"request"),n=q.converters.Response(n,r,"response");let s=null;if(e instanceof Jn?s=e[rn]:s=new Jn(e)[rn],!ru(s.url)||s.method!=="GET")throw q.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"});let i=n[rn];if(i.status===206)throw q.errors.exception({header:r,message:"Got 206 status"});if(i.headersList.contains("vary")){let m=cp(i.headersList.get("vary"));for(let C of m)if(C==="*")throw q.errors.exception({header:r,message:"Got * vary field value"})}if(i.body&&(UG(i.body.stream)||i.body.stream.locked))throw q.errors.exception({header:r,message:"Response body is locked or disturbed"});let a=LG(i),c=Gi();if(i.body!=null){let C=i.body.stream.getReader();GG(C).then(c.resolve,c.reject)}else c.resolve(void 0);let l=[],d={type:"put",request:s,response:a};l.push(d);let g=await c.promise;a.body!=null&&(a.body.source=g);let h=Gi(),f=null;try{this.#t(l)}catch(m){f=m}return queueMicrotask(()=>{f===null?h.resolve():h.reject(f)}),h.promise}async delete(e,n={}){q.brandCheck(this,t);let r="Cache.delete";q.argumentLengthCheck(arguments,1,r),e=q.converters.RequestInfo(e,r,"request"),n=q.converters.CacheQueryOptions(n,r,"options");let s=null;if(e instanceof Jn){if(s=e[rn],s.method!=="GET"&&!n.ignoreMethod)return!1}else up(typeof e=="string"),s=new Jn(e)[rn];let i=[],a={type:"delete",request:s,options:n};i.push(a);let c=Gi(),l=null,d;try{d=this.#t(i)}catch(g){l=g}return queueMicrotask(()=>{l===null?c.resolve(!!d?.length):c.reject(l)}),c.promise}async keys(e=void 0,n={}){q.brandCheck(this,t);let r="Cache.keys";e!==void 0&&(e=q.converters.RequestInfo(e,r,"request")),n=q.converters.CacheQueryOptions(n,r,"options");let s=null;if(e!==void 0)if(e instanceof Jn){if(s=e[rn],s.method!=="GET"&&!n.ignoreMethod)return[]}else typeof e=="string"&&(s=new Jn(e)[rn]);let i=Gi(),a=[];if(e===void 0)for(let c of this.#e)a.push(c[0]);else{let c=this.#n(s,n);for(let l of c)a.push(l[0])}return queueMicrotask(()=>{let c=[];for(let l of a){let d=PG(l,new AbortController().signal,"immutable");c.push(d)}i.resolve(Object.freeze(c))}),i.promise}#t(e){let n=this.#e,r=[...n],s=[],i=[];try{for(let a of e){if(a.type!=="delete"&&a.type!=="put")throw q.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(a.type==="delete"&&a.response!=null)throw q.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#n(a.request,a.options,s).length)throw new DOMException("???","InvalidStateError");let c;if(a.type==="delete"){if(c=this.#n(a.request,a.options),c.length===0)return[];for(let l of c){let d=n.indexOf(l);up(d!==-1),n.splice(d,1)}}else if(a.type==="put"){if(a.response==null)throw q.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let l=a.request;if(!ru(l.url))throw q.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(l.method!=="GET")throw q.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(a.options!=null)throw q.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});c=this.#n(a.request);for(let d of c){let g=n.indexOf(d);up(g!==-1),n.splice(g,1)}n.push([a.request,a.response]),s.push([a.request,a.response])}i.push([a.request,a.response])}return i}catch(a){throw this.#e.length=0,this.#e=r,a}}#n(e,n,r){let s=[],i=r??this.#e;for(let a of i){let[c,l]=a;this.#s(e,c,l,n)&&s.push(a)}return s}#s(e,n,r=null,s){let i=new URL(e.url),a=new URL(n.url);if(s?.ignoreSearch&&(a.search="",i.search=""),!FG(i,a,!0))return!1;if(r==null||s?.ignoreVary||!r.headersList.contains("vary"))return!0;let c=cp(r.headersList.get("vary"));for(let l of c){if(l==="*")return!1;let d=n.headersList.get(l),g=e.headersList.get(l);if(d!==g)return!1}return!0}#i(e,n,r=1/0){let s=null;if(e!==void 0)if(e instanceof Jn){if(s=e[rn],s.method!=="GET"&&!n.ignoreMethod)return[]}else typeof e=="string"&&(s=new Jn(e)[rn]);let i=[];if(e===void 0)for(let c of this.#e)i.push(c[1]);else{let c=this.#n(s,n);for(let l of c)i.push(l[1])}let a=[];for(let c of i){let l=_G(c,"immutable");if(a.push(l.clone()),a.length>=r)break}return Object.freeze(a)}};Object.defineProperties(su.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:ks,matchAll:ks,add:ks,addAll:ks,put:ks,delete:ks,keys:ks});var Pb=[{key:"ignoreSearch",converter:q.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"ignoreMethod",converter:q.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"ignoreVary",converter:q.converters.boolean,defaultValue:o(()=>!1,"defaultValue")}];q.converters.CacheQueryOptions=q.dictionaryConverter(Pb);q.converters.MultiCacheQueryOptions=q.dictionaryConverter([...Pb,{key:"cacheName",converter:q.converters.DOMString}]);q.converters.Response=q.interfaceConverter(MG);q.converters["sequence<RequestInfo>"]=q.sequenceConverter(q.converters.RequestInfo);Ob.exports={Cache:su}});var Yb=T((j4,$b)=>{"use strict";var{kConstruct:Ia}=nu(),{Cache:iu}=Gb(),{webidl:Xe}=je(),{kEnumerableProperty:ya}=ue(),ou=class t{static{o(this,"CacheStorage")}#e=new Map;constructor(){arguments[0]!==Ia&&Xe.illegalConstructor(),Xe.util.markAsUncloneable(this)}async match(e,n={}){if(Xe.brandCheck(this,t),Xe.argumentLengthCheck(arguments,1,"CacheStorage.match"),e=Xe.converters.RequestInfo(e),n=Xe.converters.MultiCacheQueryOptions(n),n.cacheName!=null){if(this.#e.has(n.cacheName)){let r=this.#e.get(n.cacheName);return await new iu(Ia,r).match(e,n)}}else for(let r of this.#e.values()){let i=await new iu(Ia,r).match(e,n);if(i!==void 0)return i}}async has(e){Xe.brandCheck(this,t);let n="CacheStorage.has";return Xe.argumentLengthCheck(arguments,1,n),e=Xe.converters.DOMString(e,n,"cacheName"),this.#e.has(e)}async open(e){Xe.brandCheck(this,t);let n="CacheStorage.open";if(Xe.argumentLengthCheck(arguments,1,n),e=Xe.converters.DOMString(e,n,"cacheName"),this.#e.has(e)){let s=this.#e.get(e);return new iu(Ia,s)}let r=[];return this.#e.set(e,r),new iu(Ia,r)}async delete(e){Xe.brandCheck(this,t);let n="CacheStorage.delete";return Xe.argumentLengthCheck(arguments,1,n),e=Xe.converters.DOMString(e,n,"cacheName"),this.#e.delete(e)}async keys(){return Xe.brandCheck(this,t),[...this.#e.keys()]}};Object.defineProperties(ou.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:ya,has:ya,open:ya,delete:ya,keys:ya});$b.exports={CacheStorage:ou}});var Vb=T((z4,Hb)=>{"use strict";Hb.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var gp=T((Z4,Wb)=>{"use strict";function $G(t){for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(n>=0&&n<=8||n>=10&&n<=31||n===127)return!0}return!1}o($G,"isCTLExcludingHtab");function lp(t){for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(n<33||n>126||n===34||n===40||n===41||n===60||n===62||n===64||n===44||n===59||n===58||n===92||n===47||n===91||n===93||n===63||n===61||n===123||n===125)throw new Error("Invalid cookie name")}}o(lp,"validateCookieName");function dp(t){let e=t.length,n=0;if(t[0]==='"'){if(e===1||t[e-1]!=='"')throw new Error("Invalid cookie value");--e,++n}for(;n<e;){let r=t.charCodeAt(n++);if(r<33||r>126||r===34||r===44||r===59||r===92)throw new Error("Invalid cookie value")}}o(dp,"validateCookieValue");function qb(t){for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(n<32||n>126||n===59)throw new Error("Invalid cookie path")}}o(qb,"validateCookiePath");function Jb(t){return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122}o(Jb,"isLetterOrDigit");function YG(t){if(t===" ")return;if(t.length>255)throw new Error("Invalid cookie domain");let e=0;for(let n=0;n<t.length;++n){let r=t.charCodeAt(n);if(r===46){if(e===0)throw new Error("Invalid cookie domain");if(t.charCodeAt(n-1)===45)throw new Error("Invalid cookie domain");e=0;continue}if(e===0&&!Jb(r))throw new Error("Invalid cookie domain");if(!Jb(r)&&r!==45)throw new Error("Invalid cookie domain");if(++e>63)throw new Error("Invalid cookie domain")}if(e===0||t.charCodeAt(t.length-1)===45)throw new Error("Invalid cookie domain")}o(YG,"validateCookieDomain");var HG=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],VG=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],au=Array(61).fill(0).map((t,e)=>e.toString().padStart(2,"0"));function jb(t){return typeof t=="number"&&(t=new Date(t)),`${HG[t.getUTCDay()]}, ${au[t.getUTCDate()]} ${VG[t.getUTCMonth()]} ${t.getUTCFullYear()} ${au[t.getUTCHours()]}:${au[t.getUTCMinutes()]}:${au[t.getUTCSeconds()]} GMT`}o(jb,"toIMFDate");function JG(t){if(t<0)throw new Error("Invalid cookie max-age")}o(JG,"validateCookieMaxAge");function qG(t){if(t.name.length===0)return null;lp(t.name),dp(t.value);let e=[`${t.name}=${t.value}`];t.name.startsWith("__Secure-")&&(t.secure=!0),t.name.startsWith("__Host-")&&(t.secure=!0,t.domain=null,t.path="/"),t.secure&&e.push("Secure"),t.httpOnly&&e.push("HttpOnly"),typeof t.maxAge=="number"&&(JG(t.maxAge),e.push(`Max-Age=${t.maxAge}`)),t.domain&&(YG(t.domain),e.push(`Domain=${t.domain}`)),t.path&&(qb(t.path),e.push(`Path=${t.path}`)),t.expires&&t.expires.toString()!=="Invalid Date"&&e.push(`Expires=${jb(t.expires)}`),t.sameSite&&e.push(`SameSite=${t.sameSite}`);for(let n of t.unparsed){if(!n.includes("="))throw new Error("Invalid unparsed");let[r,...s]=n.split("="),i=r.trim(),a=s.join("=");lp(i),dp(a),e.push(`${i}=${a}`)}return e.join("; ")}o(qG,"stringify");Wb.exports={isCTLExcludingHtab:$G,validateCookieName:lp,validateCookiePath:qb,validateCookieValue:dp,toIMFDate:jb,stringify:qG}});var Zb=T((X4,zb)=>{"use strict";var{maxNameValuePairSize:jG,maxAttributeValueSize:WG}=Vb(),{isCTLExcludingHtab:zG}=gp(),{collectASequenceOfCodePointsFast:Au}=gt(),ZG=require("node:assert");function KG(t){if(zG(t))return null;let e="",n="",r="",s="";if(t.includes(";")){let i={position:0};e=Au(";",t,i),n=t.slice(i.position)}else e=t;if(!e.includes("="))s=e;else{let i={position:0};r=Au("=",e,i),s=e.slice(i.position+1)}return r=r.trim(),s=s.trim(),r.length+s.length>jG?null:{name:r,value:s,...$i(n)}}o(KG,"parseSetCookie");function $i(t,e={}){if(t.length===0)return e;ZG(t[0]===";"),t=t.slice(1);let n="";t.includes(";")?(n=Au(";",t,{position:0}),t=t.slice(n.length)):(n=t,t="");let r="",s="";if(n.includes("=")){let a={position:0};r=Au("=",n,a),s=n.slice(a.position+1)}else r=n;if(r=r.trim(),s=s.trim(),s.length>WG)return $i(t,e);let i=r.toLowerCase();if(i==="expires"){let a=new Date(s);e.expires=a}else if(i==="max-age"){let a=s.charCodeAt(0);if((a<48||a>57)&&s[0]!=="-"||!/^\d+$/.test(s))return $i(t,e);let c=Number(s);e.maxAge=c}else if(i==="domain"){let a=s;a[0]==="."&&(a=a.slice(1)),a=a.toLowerCase(),e.domain=a}else if(i==="path"){let a="";s.length===0||s[0]!=="/"?a="/":a=s,e.path=a}else if(i==="secure")e.secure=!0;else if(i==="httponly")e.httpOnly=!0;else if(i==="samesite"){let a=s.toLowerCase();a==="none"?e.sameSite="None":a==="strict"?e.sameSite="Strict":a==="lax"&&(e.sameSite="Lax")}else e.unparsed??=[],e.unparsed.push(`${r}=${s}`);return $i(t,e)}o($i,"parseUnparsedAttributes");zb.exports={parseSetCookie:KG,parseUnparsedAttributes:$i}});var ek=T((t3,Xb)=>{"use strict";var{parseSetCookie:XG}=Zb(),{stringify:e1}=gp(),{webidl:ge}=je(),{Headers:cu}=ys();function t1(t){ge.argumentLengthCheck(arguments,1,"getCookies"),ge.brandCheck(t,cu,{strict:!1});let e=t.get("cookie"),n={};if(!e)return n;for(let r of e.split(";")){let[s,...i]=r.split("=");n[s.trim()]=i.join("=")}return n}o(t1,"getCookies");function n1(t,e,n){ge.brandCheck(t,cu,{strict:!1});let r="deleteCookie";ge.argumentLengthCheck(arguments,2,r),e=ge.converters.DOMString(e,r,"name"),n=ge.converters.DeleteCookieAttributes(n),Kb(t,{name:e,value:"",expires:new Date(0),...n})}o(n1,"deleteCookie");function r1(t){ge.argumentLengthCheck(arguments,1,"getSetCookies"),ge.brandCheck(t,cu,{strict:!1});let e=t.getSetCookie();return e?e.map(n=>XG(n)):[]}o(r1,"getSetCookies");function Kb(t,e){ge.argumentLengthCheck(arguments,2,"setCookie"),ge.brandCheck(t,cu,{strict:!1}),e=ge.converters.Cookie(e);let n=e1(e);n&&t.append("Set-Cookie",n)}o(Kb,"setCookie");ge.converters.DeleteCookieAttributes=ge.dictionaryConverter([{converter:ge.nullableConverter(ge.converters.DOMString),key:"path",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters.DOMString),key:"domain",defaultValue:o(()=>null,"defaultValue")}]);ge.converters.Cookie=ge.dictionaryConverter([{converter:ge.converters.DOMString,key:"name"},{converter:ge.converters.DOMString,key:"value"},{converter:ge.nullableConverter(t=>typeof t=="number"?ge.converters["unsigned long long"](t):new Date(t)),key:"expires",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters["long long"]),key:"maxAge",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters.DOMString),key:"domain",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters.DOMString),key:"path",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters.boolean),key:"secure",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters.boolean),key:"httpOnly",defaultValue:o(()=>null,"defaultValue")},{converter:ge.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:ge.sequenceConverter(ge.converters.DOMString),key:"unparsed",defaultValue:o(()=>new Array(0),"defaultValue")}]);Xb.exports={getCookies:t1,deleteCookie:n1,getSetCookies:r1,setCookie:Kb}});var Hi=T((r3,nk)=>{"use strict";var{webidl:V}=je(),{kEnumerableProperty:mt}=ue(),{kConstruct:tk}=Re(),{MessagePort:s1}=require("node:worker_threads"),Yi=class t extends Event{static{o(this,"MessageEvent")}#e;constructor(e,n={}){if(e===tk){super(arguments[1],arguments[2]),V.util.markAsUncloneable(this);return}let r="MessageEvent constructor";V.argumentLengthCheck(arguments,1,r),e=V.converters.DOMString(e,r,"type"),n=V.converters.MessageEventInit(n,r,"eventInitDict"),super(e,n),this.#e=n,V.util.markAsUncloneable(this)}get data(){return V.brandCheck(this,t),this.#e.data}get origin(){return V.brandCheck(this,t),this.#e.origin}get lastEventId(){return V.brandCheck(this,t),this.#e.lastEventId}get source(){return V.brandCheck(this,t),this.#e.source}get ports(){return V.brandCheck(this,t),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(e,n=!1,r=!1,s=null,i="",a="",c=null,l=[]){return V.brandCheck(this,t),V.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new t(e,{bubbles:n,cancelable:r,data:s,origin:i,lastEventId:a,source:c,ports:l})}static createFastMessageEvent(e,n){let r=new t(tk,e,n);return r.#e=n,r.#e.data??=null,r.#e.origin??="",r.#e.lastEventId??="",r.#e.source??=null,r.#e.ports??=[],r}},{createFastMessageEvent:i1}=Yi;delete Yi.createFastMessageEvent;var uu=class t extends Event{static{o(this,"CloseEvent")}#e;constructor(e,n={}){let r="CloseEvent constructor";V.argumentLengthCheck(arguments,1,r),e=V.converters.DOMString(e,r,"type"),n=V.converters.CloseEventInit(n),super(e,n),this.#e=n,V.util.markAsUncloneable(this)}get wasClean(){return V.brandCheck(this,t),this.#e.wasClean}get code(){return V.brandCheck(this,t),this.#e.code}get reason(){return V.brandCheck(this,t),this.#e.reason}},lu=class t extends Event{static{o(this,"ErrorEvent")}#e;constructor(e,n){let r="ErrorEvent constructor";V.argumentLengthCheck(arguments,1,r),super(e,n),V.util.markAsUncloneable(this),e=V.converters.DOMString(e,r,"type"),n=V.converters.ErrorEventInit(n??{}),this.#e=n}get message(){return V.brandCheck(this,t),this.#e.message}get filename(){return V.brandCheck(this,t),this.#e.filename}get lineno(){return V.brandCheck(this,t),this.#e.lineno}get colno(){return V.brandCheck(this,t),this.#e.colno}get error(){return V.brandCheck(this,t),this.#e.error}};Object.defineProperties(Yi.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:mt,origin:mt,lastEventId:mt,source:mt,ports:mt,initMessageEvent:mt});Object.defineProperties(uu.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:mt,code:mt,wasClean:mt});Object.defineProperties(lu.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:mt,filename:mt,lineno:mt,colno:mt,error:mt});V.converters.MessagePort=V.interfaceConverter(s1);V.converters["sequence<MessagePort>"]=V.sequenceConverter(V.converters.MessagePort);var hp=[{key:"bubbles",converter:V.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"cancelable",converter:V.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"composed",converter:V.converters.boolean,defaultValue:o(()=>!1,"defaultValue")}];V.converters.MessageEventInit=V.dictionaryConverter([...hp,{key:"data",converter:V.converters.any,defaultValue:o(()=>null,"defaultValue")},{key:"origin",converter:V.converters.USVString,defaultValue:o(()=>"","defaultValue")},{key:"lastEventId",converter:V.converters.DOMString,defaultValue:o(()=>"","defaultValue")},{key:"source",converter:V.nullableConverter(V.converters.MessagePort),defaultValue:o(()=>null,"defaultValue")},{key:"ports",converter:V.converters["sequence<MessagePort>"],defaultValue:o(()=>new Array(0),"defaultValue")}]);V.converters.CloseEventInit=V.dictionaryConverter([...hp,{key:"wasClean",converter:V.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"code",converter:V.converters["unsigned short"],defaultValue:o(()=>0,"defaultValue")},{key:"reason",converter:V.converters.USVString,defaultValue:o(()=>"","defaultValue")}]);V.converters.ErrorEventInit=V.dictionaryConverter([...hp,{key:"message",converter:V.converters.DOMString,defaultValue:o(()=>"","defaultValue")},{key:"filename",converter:V.converters.USVString,defaultValue:o(()=>"","defaultValue")},{key:"lineno",converter:V.converters["unsigned long"],defaultValue:o(()=>0,"defaultValue")},{key:"colno",converter:V.converters["unsigned long"],defaultValue:o(()=>0,"defaultValue")},{key:"error",converter:V.converters.any}]);nk.exports={MessageEvent:Yi,CloseEvent:uu,ErrorEvent:lu,createFastMessageEvent:i1}});var Rs=T((i3,rk)=>{"use strict";var o1="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",a1={enumerable:!0,writable:!1,configurable:!1},A1={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},c1={NOT_SENT:0,PROCESSING:1,SENT:2},u1={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},l1=2**16-1,d1={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},g1=Buffer.allocUnsafe(0),h1={string:1,typedArray:2,arrayBuffer:3,blob:4};rk.exports={uid:o1,sentCloseFrameState:c1,staticPropertyDescriptors:a1,states:A1,opcodes:u1,maxUnsigned16Bit:l1,parserStates:d1,emptyBuffer:g1,sendHints:h1}});var Qa=T((o3,sk)=>{"use strict";sk.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")}});var ba=T((a3,gk)=>{"use strict";var{kReadyState:Ba,kController:p1,kResponse:f1,kBinaryType:m1,kWebSocketURL:E1}=Qa(),{states:wa,opcodes:Sr}=Rs(),{ErrorEvent:C1,createFastMessageEvent:I1}=Hi(),{isUtf8:y1}=require("node:buffer"),{collectASequenceOfCodePointsFast:Q1,removeHTTPWhitespace:ik}=gt();function B1(t){return t[Ba]===wa.CONNECTING}o(B1,"isConnecting");function w1(t){return t[Ba]===wa.OPEN}o(w1,"isEstablished");function b1(t){return t[Ba]===wa.CLOSING}o(b1,"isClosing");function k1(t){return t[Ba]===wa.CLOSED}o(k1,"isClosed");function pp(t,e,n=(s,i)=>new Event(s,i),r={}){let s=n(t,r);e.dispatchEvent(s)}o(pp,"fireEvent");function R1(t,e,n){if(t[Ba]!==wa.OPEN)return;let r;if(e===Sr.TEXT)try{r=dk(n)}catch{ak(t,"Received invalid UTF-8 in text frame.");return}else e===Sr.BINARY&&(t[m1]==="blob"?r=new Blob([n]):r=S1(n));pp("message",t,I1,{origin:t[E1].origin,data:r})}o(R1,"websocketMessageReceived");function S1(t){return t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}o(S1,"toArrayBuffer");function v1(t){if(t.length===0)return!1;for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(n<33||n>126||n===34||n===40||n===41||n===44||n===47||n===58||n===59||n===60||n===61||n===62||n===63||n===64||n===91||n===92||n===93||n===123||n===125)return!1}return!0}o(v1,"isValidSubprotocol");function x1(t){return t>=1e3&&t<1015?t!==1004&&t!==1005&&t!==1006:t>=3e3&&t<=4999}o(x1,"isValidStatusCode");function ak(t,e){let{[p1]:n,[f1]:r}=t;n.abort(),r?.socket&&!r.socket.destroyed&&r.socket.destroy(),e&&pp("error",t,(s,i)=>new C1(s,i),{error:new Error(e),message:e})}o(ak,"failWebsocketConnection");function Ak(t){return t===Sr.CLOSE||t===Sr.PING||t===Sr.PONG}o(Ak,"isControlFrame");function ck(t){return t===Sr.CONTINUATION}o(ck,"isContinuationFrame");function uk(t){return t===Sr.TEXT||t===Sr.BINARY}o(uk,"isTextBinaryFrame");function D1(t){return uk(t)||ck(t)||Ak(t)}o(D1,"isValidOpcode");function T1(t){let e={position:0},n=new Map;for(;e.position<t.length;){let r=Q1(";",t,e),[s,i=""]=r.split("=");n.set(ik(s,!0,!1),ik(i,!1,!0)),e.position++}return n}o(T1,"parseExtensions");function N1(t){if(t.length===0)return!1;for(let n=0;n<t.length;n++){let r=t.charCodeAt(n);if(r<48||r>57)return!1}let e=Number.parseInt(t,10);return e>=8&&e<=15}o(N1,"isValidClientWindowBits");var lk=typeof process.versions.icu=="string",ok=lk?new TextDecoder("utf-8",{fatal:!0}):void 0,dk=lk?ok.decode.bind(ok):function(t){if(y1(t))return t.toString("utf-8");throw new TypeError("Invalid utf-8 received.")};gk.exports={isConnecting:B1,isEstablished:w1,isClosing:b1,isClosed:k1,fireEvent:pp,isValidSubprotocol:v1,isValidStatusCode:x1,failWebsocketConnection:ak,websocketMessageReceived:R1,utf8Decode:dk,isControlFrame:Ak,isContinuationFrame:ck,isTextBinaryFrame:uk,isValidOpcode:D1,parseExtensions:T1,isValidClientWindowBits:N1}});var gu=T((c3,hk)=>{"use strict";var{maxUnsigned16Bit:F1}=Rs(),du=16386,fp,ka=null,Vi=du;try{fp=require("node:crypto")}catch{fp={randomFillSync:o(function(e,n,r){for(let s=0;s<e.length;++s)e[s]=Math.random()*255|0;return e},"randomFillSync")}}function U1(){return Vi===du&&(Vi=0,fp.randomFillSync(ka??=Buffer.allocUnsafe(du),0,du)),[ka[Vi++],ka[Vi++],ka[Vi++],ka[Vi++]]}o(U1,"generateMask");var mp=class{static{o(this,"WebsocketFrameSend")}constructor(e){this.frameData=e}createFrame(e){let n=this.frameData,r=U1(),s=n?.byteLength??0,i=s,a=6;s>F1?(a+=8,i=127):s>125&&(a+=2,i=126);let c=Buffer.allocUnsafe(s+a);c[0]=c[1]=0,c[0]|=128,c[0]=(c[0]&240)+e;c[a-4]=r[0],c[a-3]=r[1],c[a-2]=r[2],c[a-1]=r[3],c[1]=i,i===126?c.writeUInt16BE(s,2):i===127&&(c[2]=c[3]=0,c.writeUIntBE(s,4,6)),c[1]|=128;for(let l=0;l<s;++l)c[a+l]=n[l]^r[l&3];return c}};hk.exports={WebsocketFrameSend:mp}});var Cp=T((l3,yk)=>{"use strict";var{uid:M1,states:Ra,sentCloseFrameState:hu,emptyBuffer:L1,opcodes:_1}=Rs(),{kReadyState:Sa,kSentClose:pu,kByteParser:fk,kReceivedClose:pk,kResponse:mk}=Qa(),{fireEvent:P1,failWebsocketConnection:vr,isClosing:O1,isClosed:G1,isEstablished:$1,parseExtensions:Y1}=ba(),{channels:Ji}=si(),{CloseEvent:H1}=Hi(),{makeRequest:V1}=_i(),{fetching:J1}=Ea(),{Headers:q1,getHeadersList:j1}=ys(),{getDecodeSplit:W1}=Qt(),{WebsocketFrameSend:z1}=gu(),Ep;try{Ep=require("node:crypto")}catch{}function Z1(t,e,n,r,s,i){let a=t;a.protocol=t.protocol==="ws:"?"http:":"https:";let c=V1({urlList:[a],client:n,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(i.headers){let h=j1(new q1(i.headers));c.headersList=h}let l=Ep.randomBytes(16).toString("base64");c.headersList.append("sec-websocket-key",l),c.headersList.append("sec-websocket-version","13");for(let h of e)c.headersList.append("sec-websocket-protocol",h);return c.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits"),J1({request:c,useParallelQueue:!0,dispatcher:i.dispatcher,processResponse(h){if(h.type==="error"||h.status!==101){vr(r,"Received network error or non-101 status code.");return}if(e.length!==0&&!h.headersList.get("Sec-WebSocket-Protocol")){vr(r,"Server did not respond with sent protocols.");return}if(h.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){vr(r,'Server did not set Upgrade header to "websocket".');return}if(h.headersList.get("Connection")?.toLowerCase()!=="upgrade"){vr(r,'Server did not set Connection header to "upgrade".');return}let f=h.headersList.get("Sec-WebSocket-Accept"),m=Ep.createHash("sha1").update(l+M1).digest("base64");if(f!==m){vr(r,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let C=h.headersList.get("Sec-WebSocket-Extensions"),y;if(C!==null&&(y=Y1(C),!y.has("permessage-deflate"))){vr(r,"Sec-WebSocket-Extensions header does not match.");return}let v=h.headersList.get("Sec-WebSocket-Protocol");if(v!==null){let Q=W1("sec-websocket-protocol",c.headersList);if(Q===null||!Q.includes(v)){vr(r,"Protocol was not set in the opening handshake.");return}}h.socket.on("data",Ek),h.socket.on("close",Ck),h.socket.on("error",Ik),Ji.open.hasSubscribers&&Ji.open.publish({address:h.socket.address(),protocol:v,extensions:C}),s(h,y)}})}o(Z1,"establishWebSocketConnection");function K1(t,e,n,r){if(!(O1(t)||G1(t)))if(!$1(t))vr(t,"Connection was closed before it was established."),t[Sa]=Ra.CLOSING;else if(t[pu]===hu.NOT_SENT){t[pu]=hu.PROCESSING;let s=new z1;e!==void 0&&n===void 0?(s.frameData=Buffer.allocUnsafe(2),s.frameData.writeUInt16BE(e,0)):e!==void 0&&n!==void 0?(s.frameData=Buffer.allocUnsafe(2+r),s.frameData.writeUInt16BE(e,0),s.frameData.write(n,2,"utf-8")):s.frameData=L1,t[mk].socket.write(s.createFrame(_1.CLOSE)),t[pu]=hu.SENT,t[Sa]=Ra.CLOSING}else t[Sa]=Ra.CLOSING}o(K1,"closeWebSocketConnection");function Ek(t){this.ws[fk].write(t)||this.pause()}o(Ek,"onSocketData");function Ck(){let{ws:t}=this,{[mk]:e}=t;e.socket.off("data",Ek),e.socket.off("close",Ck),e.socket.off("error",Ik);let n=t[pu]===hu.SENT&&t[pk],r=1005,s="",i=t[fk].closingInfo;i&&!i.error?(r=i.code??1005,s=i.reason):t[pk]||(r=1006),t[Sa]=Ra.CLOSED,P1("close",t,(a,c)=>new H1(a,c),{wasClean:n,code:r,reason:s}),Ji.close.hasSubscribers&&Ji.close.publish({websocket:t,code:r,reason:s})}o(Ck,"onSocketClose");function Ik(t){let{ws:e}=this;e[Sa]=Ra.CLOSING,Ji.socketError.hasSubscribers&&Ji.socketError.publish(t),this.destroy()}o(Ik,"onSocketError");yk.exports={establishWebSocketConnection:Z1,closeWebSocketConnection:K1}});var Bk=T((g3,Qk)=>{"use strict";var{createInflateRaw:X1,Z_DEFAULT_WINDOWBITS:e$}=require("node:zlib"),{isValidClientWindowBits:t$}=ba(),{MessageSizeExceededError:n$}=pe(),r$=Buffer.from([0,0,255,255]),fu=Symbol("kBuffer"),va=Symbol("kLength"),Ip=class{static{o(this,"PerMessageDeflate")}#e;#t={};#n=0;constructor(e,n){this.#t.serverNoContextTakeover=e.has("server_no_context_takeover"),this.#t.serverMaxWindowBits=e.get("server_max_window_bits"),this.#n=n.maxPayloadSize}decompress(e,n,r){if(!this.#e){let s=e$;if(this.#t.serverMaxWindowBits){if(!t$(this.#t.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}s=Number.parseInt(this.#t.serverMaxWindowBits)}try{this.#e=X1({windowBits:s})}catch(i){r(i);return}this.#e[fu]=[],this.#e[va]=0,this.#e.on("data",i=>{if(this.#e[va]+=i.length,this.#n>0&&this.#e[va]>this.#n){r(new n$),this.#e.removeAllListeners(),this.#e.destroy(),this.#e=null;return}this.#e[fu].push(i)}),this.#e.on("error",i=>{this.#e=null,r(i)})}this.#e.write(e),n&&this.#e.write(r$),this.#e.flush(()=>{if(!this.#e)return;let s=Buffer.concat(this.#e[fu],this.#e[va]);this.#e[fu].length=0,this.#e[va]=0,r(null,s)})}};Qk.exports={PerMessageDeflate:Ip}});var Tk=T((p3,Dk)=>{"use strict";var{Writable:s$}=require("node:stream"),i$=require("node:assert"),{parserStates:Et,opcodes:qi,states:o$,emptyBuffer:wk,sentCloseFrameState:bk}=Rs(),{kReadyState:a$,kSentClose:kk,kResponse:yp,kReceivedClose:Rk}=Qa(),{channels:mu}=si(),{isValidStatusCode:A$,isValidOpcode:c$,failWebsocketConnection:xt,websocketMessageReceived:Sk,utf8Decode:u$,isControlFrame:Qp,isTextBinaryFrame:Bp,isContinuationFrame:l$}=ba(),{WebsocketFrameSend:vk}=gu(),{closeWebSocketConnection:xk}=Cp(),{PerMessageDeflate:d$}=Bk(),{MessageSizeExceededError:wp}=pe();function xa(t,e,n){xk(t,e,n,Buffer.byteLength(n)),xt(t,n)}o(xa,"failWebsocketConnectionWithCode");var bp=class extends s${static{o(this,"ByteParser")}#e=[];#t=0;#n=0;#s=!1;#i=Et.INFO;#r={};#o=[];#a;#c;#A;constructor(e,n,r={}){super(),this.ws=e,this.#a=n??new Map,this.#c=r.maxFragments??0,this.#A=r.maxPayloadSize??0,this.#a.has("permessage-deflate")&&this.#a.set("permessage-deflate",new d$(n,r))}_write(e,n,r){this.#e.push(e),this.#n+=e.length,this.#s=!0,this.run(r)}#u(){return this.#A>0&&!Qp(this.#r.opcode)&&this.#r.payloadLength+this.#t>this.#A?(xa(this.ws,1009,"Payload size exceeds maximum allowed size"),!1):!0}run(e){for(;this.#s;)if(this.#i===Et.INFO){if(this.#n<2)return e();let n=this.consume(2),r=(n[0]&128)!==0,s=n[0]&15,i=(n[1]&128)===128,a=!r&&s!==qi.CONTINUATION,c=n[1]&127,l=n[0]&64,d=n[0]&32,g=n[0]&16;if(!c$(s))return xt(this.ws,"Invalid opcode received"),e();if(i)return xt(this.ws,"Frame cannot be masked"),e();if(l!==0&&!this.#a.has("permessage-deflate")){xt(this.ws,"Expected RSV1 to be clear.");return}if(d!==0||g!==0){xt(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(a&&!Bp(s)){xt(this.ws,"Invalid frame type was fragmented.");return}if(Bp(s)&&this.#o.length>0){xt(this.ws,"Expected continuation frame");return}if(this.#r.fragmented&&a){xt(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((c>125||a)&&Qp(s)){xt(this.ws,"Control frame either too large or fragmented");return}if(l$(s)&&this.#o.length===0&&!this.#r.compressed){xt(this.ws,"Unexpected continuation frame");return}if(c<=125){if(this.#r.payloadLength=c,this.#i=Et.READ_DATA,!this.#u())return}else c===126?this.#i=Et.PAYLOADLENGTH_16:c===127&&(this.#i=Et.PAYLOADLENGTH_64);Bp(s)&&(this.#r.binaryType=s,this.#r.compressed=l!==0),this.#r.opcode=s,this.#r.masked=i,this.#r.fin=r,this.#r.fragmented=a}else if(this.#i===Et.PAYLOADLENGTH_16){if(this.#n<2)return e();let n=this.consume(2);if(this.#r.payloadLength=n.readUInt16BE(0),this.#i=Et.READ_DATA,!this.#u())return}else if(this.#i===Et.PAYLOADLENGTH_64){if(this.#n<8)return e();let n=this.consume(8),r=n.readUInt32BE(0),s=n.readUInt32BE(4);if(r!==0||s>2**31-1){xt(this.ws,"Received payload length > 2^31 bytes.");return}if(this.#r.payloadLength=s,this.#i=Et.READ_DATA,!this.#u())return}else if(this.#i===Et.READ_DATA){if(this.#n<this.#r.payloadLength)return e();let n=this.consume(this.#r.payloadLength);if(Qp(this.#r.opcode)){this.#s=this.parseControlFrame(n),this.#i=Et.INFO;let r=this.ws[yp].socket;if(this.#s&&r.writableNeedDrain){this.#s=!1,r.once("drain",()=>{this.destroyed||(this.#s=!0,this.run(e))});return}}else if(this.#r.compressed){this.#a.get("permessage-deflate").decompress(n,this.#r.fin,(r,s)=>{if(r){let i=r instanceof wp?1009:1007;xa(this.ws,i,r.message);return}if(this.writeFragments(s)){if(this.#A>0&&this.#t>this.#A){xa(this.ws,1009,new wp().message);return}if(!this.#r.fin){this.#i=Et.INFO,this.#s=!0,this.run(e);return}Sk(this.ws,this.#r.binaryType,this.consumeFragments()),this.#s=!0,this.#i=Et.INFO,this.run(e)}}),this.#s=!1;break}else{if(!this.writeFragments(n))return;if(this.#A>0&&this.#t>this.#A){xa(this.ws,1009,new wp().message);return}!this.#r.fragmented&&this.#r.fin&&Sk(this.ws,this.#r.binaryType,this.consumeFragments()),this.#i=Et.INFO}}}consume(e){if(e>this.#n)throw new Error("Called consume() before buffers satiated.");if(e===0)return wk;if(this.#e[0].length===e)return this.#n-=this.#e[0].length,this.#e.shift();let n=Buffer.allocUnsafe(e),r=0;for(;r!==e;){let s=this.#e[0],{length:i}=s;if(i+r===e){n.set(this.#e.shift(),r);break}else if(i+r>e){n.set(s.subarray(0,e-r),r),this.#e[0]=s.subarray(e-r);break}else n.set(this.#e.shift(),r),r+=s.length}return this.#n-=e,n}writeFragments(e){return this.#c>0&&this.#o.length===this.#c?(xa(this.ws,1008,"Too many message fragments"),!1):(this.#t+=e.length,this.#o.push(e),!0)}consumeFragments(){let e=this.#o;if(e.length===1)return this.#t=0,e.shift();let n=Buffer.concat(e,this.#t);return this.#o=[],this.#t=0,n}parseCloseBody(e){i$(e.length!==1);let n;if(e.length>=2&&(n=e.readUInt16BE(0)),n!==void 0&&!A$(n))return{code:1002,reason:"Invalid status code",error:!0};let r=e.subarray(2);r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3));try{r=u$(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:n,reason:r,error:!1}}parseControlFrame(e){let{opcode:n,payloadLength:r}=this.#r;if(n===qi.CLOSE){if(r===1)return xt(this.ws,"Received close frame with a 1-byte body."),!1;if(this.#r.closeInfo=this.parseCloseBody(e),this.#r.closeInfo.error){let{code:s,reason:i}=this.#r.closeInfo;return xk(this.ws,s,i,i.length),xt(this.ws,i),!1}if(this.ws[kk]!==bk.SENT){let s=wk;this.#r.closeInfo.code&&(s=Buffer.allocUnsafe(2),s.writeUInt16BE(this.#r.closeInfo.code,0));let i=new vk(s);this.ws[yp].socket.write(i.createFrame(qi.CLOSE),a=>{a||(this.ws[kk]=bk.SENT)})}return this.ws[a$]=o$.CLOSING,this.ws[Rk]=!0,!1}else if(n===qi.PING){if(!this.ws[Rk]){let s=new vk(e);this.ws[yp].socket.write(s.createFrame(qi.PONG)),mu.ping.hasSubscribers&&mu.ping.publish({payload:e})}}else n===qi.PONG&&mu.pong.hasSubscribers&&mu.pong.publish({payload:e});return!0}get closingInfo(){return this.#r.closeInfo}};Dk.exports={ByteParser:bp}});var Lk=T((m3,Mk)=>{"use strict";var{WebsocketFrameSend:g$}=gu(),{opcodes:Nk,sendHints:ji}=Rs(),h$=xg(),Fk=Buffer[Symbol.species],kp=class{static{o(this,"SendQueue")}#e=new h$;#t=!1;#n;constructor(e){this.#n=e}add(e,n,r){if(r!==ji.blob){let i=Uk(e,r);if(!this.#t)this.#n.write(i,n);else{let a={promise:null,callback:n,frame:i};this.#e.push(a)}return}let s={promise:e.arrayBuffer().then(i=>{s.promise=null,s.frame=Uk(i,r)}),callback:n,frame:null};this.#e.push(s),this.#t||this.#s()}async#s(){this.#t=!0;let e=this.#e;for(;!e.isEmpty();){let n=e.shift();n.promise!==null&&await n.promise,this.#n.write(n.frame,n.callback),n.callback=n.frame=null}this.#t=!1}};function Uk(t,e){return new g$(p$(t,e)).createFrame(e===ji.string?Nk.TEXT:Nk.BINARY)}o(Uk,"createFrame");function p$(t,e){switch(e){case ji.string:return Buffer.from(t);case ji.arrayBuffer:case ji.blob:return new Fk(t);case ji.typedArray:return new Fk(t.buffer,t.byteOffset,t.byteLength)}}o(p$,"toBuffer");Mk.exports={SendQueue:kp}});var qk=T((C3,Jk)=>{"use strict";var{webidl:re}=je(),{URLSerializer:f$}=gt(),{environmentSettingsObject:_k}=Qt(),{staticPropertyDescriptors:xr,states:Da,sentCloseFrameState:m$,sendHints:Eu}=Rs(),{kWebSocketURL:Pk,kReadyState:Rp,kController:Ok,kBinaryType:Cu,kResponse:Gk,kSentClose:E$,kByteParser:C$}=Qa(),{isConnecting:I$,isEstablished:y$,isClosing:Q$,isValidSubprotocol:B$,fireEvent:$k}=ba(),{establishWebSocketConnection:w$,closeWebSocketConnection:Yk}=Cp(),{ByteParser:b$}=Tk(),{kEnumerableProperty:Yt,isBlobLike:Hk}=ue(),{getGlobalDispatcher:k$}=ga(),{types:Vk}=require("node:util"),{ErrorEvent:R$,CloseEvent:S$}=Hi(),{SendQueue:v$}=Lk(),Dt=class t extends EventTarget{static{o(this,"WebSocket")}#e={open:null,error:null,close:null,message:null};#t=0;#n="";#s="";#i;constructor(e,n=[]){super(),re.util.markAsUncloneable(this);let r="WebSocket constructor";re.argumentLengthCheck(arguments,1,r);let s=re.converters["DOMString or sequence<DOMString> or WebSocketInit"](n,r,"options");e=re.converters.USVString(e,r,"url"),n=s.protocols;let i=_k.settingsObject.baseUrl,a;try{a=new URL(e,i)}catch(l){throw new DOMException(l,"SyntaxError")}if(a.protocol==="http:"?a.protocol="ws:":a.protocol==="https:"&&(a.protocol="wss:"),a.protocol!=="ws:"&&a.protocol!=="wss:")throw new DOMException(`Expected a ws: or wss: protocol, got ${a.protocol}`,"SyntaxError");if(a.hash||a.href.endsWith("#"))throw new DOMException("Got fragment","SyntaxError");if(typeof n=="string"&&(n=[n]),n.length!==new Set(n.map(l=>l.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(n.length>0&&!n.every(l=>B$(l)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[Pk]=new URL(a.href);let c=_k.settingsObject;this[Ok]=w$(a,n,c,this,(l,d)=>this.#r(l,d),s),this[Rp]=t.CONNECTING,this[E$]=m$.NOT_SENT,this[Cu]="blob"}close(e=void 0,n=void 0){re.brandCheck(this,t);let r="WebSocket.close";if(e!==void 0&&(e=re.converters["unsigned short"](e,r,"code",{clamp:!0})),n!==void 0&&(n=re.converters.USVString(n,r,"reason")),e!==void 0&&e!==1e3&&(e<3e3||e>4999))throw new DOMException("invalid code","InvalidAccessError");let s=0;if(n!==void 0&&(s=Buffer.byteLength(n),s>123))throw new DOMException(`Reason must be less than 123 bytes; received ${s}`,"SyntaxError");Yk(this,e,n,s)}send(e){re.brandCheck(this,t);let n="WebSocket.send";if(re.argumentLengthCheck(arguments,1,n),e=re.converters.WebSocketSendData(e,n,"data"),I$(this))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!y$(this)||Q$(this)))if(typeof e=="string"){let r=Buffer.byteLength(e);this.#t+=r,this.#i.add(e,()=>{this.#t-=r},Eu.string)}else Vk.isArrayBuffer(e)?(this.#t+=e.byteLength,this.#i.add(e,()=>{this.#t-=e.byteLength},Eu.arrayBuffer)):ArrayBuffer.isView(e)?(this.#t+=e.byteLength,this.#i.add(e,()=>{this.#t-=e.byteLength},Eu.typedArray)):Hk(e)&&(this.#t+=e.size,this.#i.add(e,()=>{this.#t-=e.size},Eu.blob))}get readyState(){return re.brandCheck(this,t),this[Rp]}get bufferedAmount(){return re.brandCheck(this,t),this.#t}get url(){return re.brandCheck(this,t),f$(this[Pk])}get extensions(){return re.brandCheck(this,t),this.#s}get protocol(){return re.brandCheck(this,t),this.#n}get onopen(){return re.brandCheck(this,t),this.#e.open}set onopen(e){re.brandCheck(this,t),this.#e.open&&this.removeEventListener("open",this.#e.open),typeof e=="function"?(this.#e.open=e,this.addEventListener("open",e)):this.#e.open=null}get onerror(){return re.brandCheck(this,t),this.#e.error}set onerror(e){re.brandCheck(this,t),this.#e.error&&this.removeEventListener("error",this.#e.error),typeof e=="function"?(this.#e.error=e,this.addEventListener("error",e)):this.#e.error=null}get onclose(){return re.brandCheck(this,t),this.#e.close}set onclose(e){re.brandCheck(this,t),this.#e.close&&this.removeEventListener("close",this.#e.close),typeof e=="function"?(this.#e.close=e,this.addEventListener("close",e)):this.#e.close=null}get onmessage(){return re.brandCheck(this,t),this.#e.message}set onmessage(e){re.brandCheck(this,t),this.#e.message&&this.removeEventListener("message",this.#e.message),typeof e=="function"?(this.#e.message=e,this.addEventListener("message",e)):this.#e.message=null}get binaryType(){return re.brandCheck(this,t),this[Cu]}set binaryType(e){re.brandCheck(this,t),e!=="blob"&&e!=="arraybuffer"?this[Cu]="blob":this[Cu]=e}#r(e,n){this[Gk]=e;let r=this[Ok]?.dispatcher?.webSocketOptions,s=r?.maxFragments,i=r?.maxPayloadSize,a=new b$(this,n,{maxFragments:s,maxPayloadSize:i});a.on("drain",x$),a.on("error",D$.bind(this)),e.socket.ws=this,this[C$]=a,this.#i=new v$(e.socket),this[Rp]=Da.OPEN;let c=e.headersList.get("sec-websocket-extensions");c!==null&&(this.#s=c);let l=e.headersList.get("sec-websocket-protocol");l!==null&&(this.#n=l),$k("open",this)}};Dt.CONNECTING=Dt.prototype.CONNECTING=Da.CONNECTING;Dt.OPEN=Dt.prototype.OPEN=Da.OPEN;Dt.CLOSING=Dt.prototype.CLOSING=Da.CLOSING;Dt.CLOSED=Dt.prototype.CLOSED=Da.CLOSED;Object.defineProperties(Dt.prototype,{CONNECTING:xr,OPEN:xr,CLOSING:xr,CLOSED:xr,url:Yt,readyState:Yt,bufferedAmount:Yt,onopen:Yt,onerror:Yt,onclose:Yt,close:Yt,onmessage:Yt,binaryType:Yt,send:Yt,extensions:Yt,protocol:Yt,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(Dt,{CONNECTING:xr,OPEN:xr,CLOSING:xr,CLOSED:xr});re.converters["sequence<DOMString>"]=re.sequenceConverter(re.converters.DOMString);re.converters["DOMString or sequence<DOMString>"]=function(t,e,n){return re.util.Type(t)==="Object"&&Symbol.iterator in t?re.converters["sequence<DOMString>"](t):re.converters.DOMString(t,e,n)};re.converters.WebSocketInit=re.dictionaryConverter([{key:"protocols",converter:re.converters["DOMString or sequence<DOMString>"],defaultValue:o(()=>new Array(0),"defaultValue")},{key:"dispatcher",converter:re.converters.any,defaultValue:o(()=>k$(),"defaultValue")},{key:"headers",converter:re.nullableConverter(re.converters.HeadersInit)}]);re.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(t){return re.util.Type(t)==="Object"&&!(Symbol.iterator in t)?re.converters.WebSocketInit(t):{protocols:re.converters["DOMString or sequence<DOMString>"](t)}};re.converters.WebSocketSendData=function(t){if(re.util.Type(t)==="Object"){if(Hk(t))return re.converters.Blob(t,{strict:!1});if(ArrayBuffer.isView(t)||Vk.isArrayBuffer(t))return re.converters.BufferSource(t)}return re.converters.USVString(t)};function x$(){this.ws[Gk].socket.resume()}o(x$,"onParserDrain");function D$(t){let e,n;t instanceof S$?(e=t.reason,n=t.code):e=t.message,$k("error",this,()=>new R$("error",{error:t,message:e})),Yk(this,n)}o(D$,"onParserError");Jk.exports={WebSocket:Dt}});var Sp=T((y3,jk)=>{"use strict";function T$(t){return t.indexOf("\0")===-1}o(T$,"isValidLastEventId");function N$(t){if(t.length===0)return!1;for(let e=0;e<t.length;e++)if(t.charCodeAt(e)<48||t.charCodeAt(e)>57)return!1;return!0}o(N$,"isASCIINumber");function F$(t){return new Promise(e=>{setTimeout(e,t).unref()})}o(F$,"delay");jk.exports={isValidLastEventId:T$,isASCIINumber:N$,delay:F$}});var zk=T((B3,Wk)=>{"use strict";var U$=require("node:buffer"),{Transform:M$}=require("node:stream"),{isASCIINumber:L$,isValidLastEventId:_$}=Sp(),Wi=[239,187,191],Iu=10,Ta=13,P$=58,O$=32,G$=U$.kStringMaxLength,$$=Buffer.from("data"),Y$=Buffer.from("event"),H$=Buffer.from("id"),V$=Buffer.from("retry"),J$=1024,q$=131072,j$=128;function W$(t,e){if(e>=t.length)return!1;for(let n=e;n<t.length;n++)if(t[n]<48||t[n]>57)return!1;return!0}o(W$,"isASCIINumberBytes");function z$(t,e){for(let n=e;n<t.length;n++)if(t[n]===0)return!1;return!0}o(z$,"isValidLastEventIdBytes");function yu(t,e,n){if(e!==n.length)return!1;for(let r=0;r<e;r++)if(t[r]!==n[r])return!1;return!0}o(yu,"isFieldName");function Qu(){let t=new Error("EventSource message size exceeded");return t.aborted=!1,t}o(Qu,"createMaxEventSizeExceededError");var vp=class extends M${static{o(this,"EventSourceStream")}state=null;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;chunks=[];chunkIndex=0;pos=0;lineChunkIndex=0;linePos=0;lineLength=0;eventSize=0;eventFieldSizes={data:0,event:0,id:0,retry:0};dataLineCount=0;maxEventSize;maxDataLines;maxBufferedChunks;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(e={}){e.readableObjectMode=!0,super(e),this.state=e.eventSourceSettings||{},this.maxEventSize=e.maxEventSize??G$;let n=this.maxEventSize>0?Math.min(q$,Math.max(J$,Math.floor(this.maxEventSize/j$))):0;this.maxDataLines=n,this.maxBufferedChunks=n,e.push&&(this.push=e.push)}_transform(e,n,r){if(e.length===0){r();return}if(this.maxEventSize>0&&this.chunks.length>=this.maxBufferedChunks&&e[0]!==Iu&&e[0]!==Ta){r(Qu());return}if(this.chunks.push(e),this.checkBOM&&this.handleBOM()){r();return}for(;this.hasCurrentByte();){let s=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(s===Iu){this.crlfCheck=!1,this.consumeCurrentByte();continue}this.crlfCheck=!1}if(s===Iu||s===Ta){s===Ta&&(this.crlfCheck=!0),this.consumeCurrentByte(),this.hasPendingEvent()&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(s===Iu||s===Ta){s===Ta&&(this.crlfCheck=!0);try{this.parseLine(this.readLine(),this.event)}catch(i){r(i);return}this.consumeCurrentByte(),this.eventEndCheck=!0;continue}if(this.maxEventSize>0&&++this.lineLength>this.maxEventSize+7){r(Qu());return}this.advanceCursor()}r()}_destroy(e,n){this.chunks.length=0,this.clearEvent(),super._destroy(e,n)}parseLine(e,n){if(e.length===0)return;let r=e.indexOf(P$);if(r===0)return;let s=e.length,i=e.length;if(r!==-1&&(s=r,i=r+1,e[i]===O$&&++i),yu(e,s,$$)){if(this.maxEventSize>0&&this.dataLineCount>=this.maxDataLines)throw Qu();let a=e.length-i,c=this.eventFieldSizes.data+(n.data===void 0?0:1)+a;this.setEventFieldSize("data",c);let l=e.toString("utf8",i);n.data===void 0?n.data=l:n.data+=`
|
|
46
|
-
${l}`,this.dataLineCount++;return}if(yu(e,s,V$)){W$(e,i)&&(this.setEventFieldSize("retry",e.length-i),n.retry=e.toString("utf8",i));return}if(yu(e,s,H$)){z$(e,i)&&(this.setEventFieldSize("id",e.length-i),n.id=e.toString("utf8",i));return}yu(e,s,Y$)&&i<e.length&&(this.setEventFieldSize("event",e.length-i),n.event=e.toString("utf8",i))}setEventFieldSize(e,n){let r=this.eventSize-this.eventFieldSizes[e]+n;if(this.maxEventSize>0&&r>this.maxEventSize)throw Qu();this.eventSize=r,this.eventFieldSizes[e]=n}processEvent(e){e.retry&&L$(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&_$(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event.data=void 0,this.event.event=void 0,this.event.id=void 0,this.event.retry=void 0,this.eventSize=0,this.dataLineCount=0,this.eventFieldSizes.data=0,this.eventFieldSizes.event=0,this.eventFieldSizes.id=0,this.eventFieldSizes.retry=0}hasPendingEvent(){return this.event.data!==void 0||this.event.event!==void 0||this.event.id!==void 0||this.event.retry!==void 0}hasCurrentByte(){return this.chunkIndex<this.chunks.length&&this.pos<this.chunks[this.chunkIndex].length}currentByte(){return this.chunks[this.chunkIndex][this.pos]}consumeCurrentByte(){this.advanceCursor(),this.syncLineStartToCursor()}advanceCursor(){for(this.pos++;this.chunkIndex<this.chunks.length&&this.pos>=this.chunks[this.chunkIndex].length;)this.chunkIndex++,this.pos=0}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex,this.linePos=this.pos,this.lineLength=0,this.dropConsumedChunks()}dropConsumedChunks(){if(this.lineChunkIndex>0){let e=this.lineChunkIndex;this.chunks.splice(0,e),this.lineChunkIndex=0,this.chunkIndex-=e}this.chunkIndex===this.chunks.length&&(this.chunks.length=0,this.chunkIndex=0,this.pos=0,this.lineChunkIndex=0,this.linePos=0)}readLine(){if(this.lineChunkIndex===this.chunkIndex)return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos);let e=[],n=0;for(let r=this.lineChunkIndex;r<=this.chunkIndex;r++){let s=this.chunks[r],i=r===this.lineChunkIndex?this.linePos:0,a=r===this.chunkIndex?this.pos:s.length,c=s.subarray(i,a);n+=c.length,e.push(c)}return Buffer.concat(e,n)}peekBufferedByte(e){let n=this.lineChunkIndex,r=this.linePos;for(;n<this.chunks.length;){let s=this.chunks[n],i=s.length-r;if(e<i)return s[r+e];e-=i,n++,r=0}}discardLeadingBytes(e){for(;e>0&&this.lineChunkIndex<this.chunks.length;){let r=this.chunks[this.lineChunkIndex].length-this.linePos;e<r?(this.linePos+=e,e=0):(e-=r,this.lineChunkIndex++,this.linePos=0)}this.chunkIndex=this.lineChunkIndex,this.pos=this.linePos,this.dropConsumedChunks()}handleBOM(){let e=this.peekBufferedByte(0),n=this.peekBufferedByte(1),r=this.peekBufferedByte(2);return n===void 0?(e===Wi[0]||(this.checkBOM=!1),!0):r===void 0?e===Wi[0]&&n===Wi[1]?!0:(this.checkBOM=!1,!1):(e===Wi[0]&&n===Wi[1]&&r===Wi[2]&&this.discardLeadingBytes(3),this.checkBOM=!1,!this.hasCurrentByte())}};Wk.exports={EventSourceStream:vp}});var sR=T((b3,rR)=>{"use strict";var{pipeline:Z$}=require("node:stream"),{fetching:K$}=Ea(),{makeRequest:X$}=_i(),{webidl:qn}=je(),{EventSourceStream:eY}=zk(),{parseMIMEType:tY}=gt(),{createFastMessageEvent:nY}=Hi(),{isNetworkError:Zk}=fa(),{delay:rY}=Sp(),{kEnumerableProperty:Ss}=ue(),{environmentSettingsObject:Kk}=Qt(),{getGlobalDispatcher:sY}=ga(),Xk=!1,eR=3e3,Na=0,tR=1,Fa=2,iY="anonymous",oY="use-credentials",zi=class t extends EventTarget{static{o(this,"EventSource")}#e={open:null,error:null,message:null};#t=null;#n=!1;#s=Na;#i=null;#r=null;#o;#a;constructor(e,n={}){super(),qn.util.markAsUncloneable(this);let r="EventSource constructor";qn.argumentLengthCheck(arguments,1,r),Xk||(Xk=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=qn.converters.USVString(e,r,"url"),n=qn.converters.EventSourceInitDict(n,r,"eventSourceInitDict"),this.#o=n.dispatcher,this.#a={lastEventId:"",reconnectionTime:eR};let s=Kk,i;try{i=new URL(e,s.settingsObject.baseUrl),this.#a.origin=i.origin}catch(l){throw new DOMException(l,"SyntaxError")}this.#t=i.href;let a=iY;n.withCredentials&&(a=oY,this.#n=!0);let c={redirect:"follow",keepalive:!0,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};c.client=Kk.settingsObject,c.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],c.cache="no-store",c.initiator="other",c.urlList=[new URL(this.#t)],this.#i=X$(c),this.#c()}get readyState(){return this.#s}get url(){return this.#t}get withCredentials(){return this.#n}#c(){if(this.#s===Fa)return;this.#s=Na;let e={request:this.#i,dispatcher:this.#o},n=o(r=>{Zk(r)&&(this.dispatchEvent(new Event("error")),this.close()),this.#A()},"processEventSourceEndOfBody");e.processResponseEndOfBody=n,e.processResponse=r=>{if(Zk(r))if(r.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#A();return}let s=r.headersList.get("content-type",!0),i=s!==null?tY(s):"failure",a=i!=="failure"&&i.essence==="text/event-stream";if(r.status!==200||a===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#s=tR,this.dispatchEvent(new Event("open")),this.#a.origin=r.urlList[r.urlList.length-1].origin;let c=new eY({eventSourceSettings:this.#a,maxEventSize:this.#o.eventSourceOptions?.maxEventSize,push:o(l=>{this.dispatchEvent(nY(l.type,l.options))},"push")});Z$(r.body.stream,c,l=>{l?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#r=K$(e)}async#A(){this.#s!==Fa&&(this.#s=Na,this.dispatchEvent(new Event("error")),await rY(this.#a.reconnectionTime),this.#s===Na&&(this.#a.lastEventId.length&&this.#i.headersList.set("last-event-id",this.#a.lastEventId,!0),this.#c()))}close(){qn.brandCheck(this,t),this.#s!==Fa&&(this.#s=Fa,this.#r.abort(),this.#i=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof e=="function"?(this.#e.open=e,this.addEventListener("open",e)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof e=="function"?(this.#e.message=e,this.addEventListener("message",e)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof e=="function"?(this.#e.error=e,this.addEventListener("error",e)):this.#e.error=null}},nR={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:Na,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:tR,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:Fa,writable:!1}};Object.defineProperties(zi,nR);Object.defineProperties(zi.prototype,nR);Object.defineProperties(zi.prototype,{close:Ss,onerror:Ss,onmessage:Ss,onopen:Ss,readyState:Ss,url:Ss,withCredentials:Ss});qn.converters.EventSourceInitDict=qn.dictionaryConverter([{key:"withCredentials",converter:qn.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"dispatcher",converter:qn.converters.any,defaultValue:o(()=>sY(),"defaultValue")}]);rR.exports={EventSource:zi,defaultReconnectionTime:eR}});var AR=T((R3,te)=>{"use strict";var aY=wi(),iR=Uo(),AY=bi(),cY=iQ(),uY=ki(),lY=zg(),dY=vQ(),gY=MQ(),oR=pe(),wu=ue(),{InvalidArgumentError:Bu}=oR,Zi=QB(),hY=Lo(),pY=Dh(),fY=sw(),mY=Fh(),EY=Eh(),CY=bc(),{getGlobalDispatcher:aR,setGlobalDispatcher:IY}=ga(),yY=Uc(),QY=hc(),BY=pc();Object.assign(iR.prototype,Zi);te.exports.Dispatcher=iR;te.exports.Client=aY;te.exports.Pool=AY;te.exports.BalancedPool=cY;te.exports.Agent=uY;te.exports.ProxyAgent=lY;te.exports.EnvHttpProxyAgent=dY;te.exports.RetryAgent=gY;te.exports.RetryHandler=CY;te.exports.DecoratorHandler=yY;te.exports.RedirectHandler=QY;te.exports.createRedirectInterceptor=BY;te.exports.interceptors={redirect:lw(),retry:gw(),dump:pw(),dns:Ew()};te.exports.buildConnector=hY;te.exports.errors=oR;te.exports.util={parseHeaders:wu.parseHeaders,headerNameToString:wu.headerNameToString};function Ua(t){return(e,n,r)=>{if(typeof n=="function"&&(r=n,n=null),!e||typeof e!="string"&&typeof e!="object"&&!(e instanceof URL))throw new Bu("invalid url");if(n!=null&&typeof n!="object")throw new Bu("invalid opts");if(n&&n.path!=null){if(typeof n.path!="string")throw new Bu("invalid opts.path");let a=n.path;n.path.startsWith("/")||(a=`/${a}`),e=new URL(wu.parseOrigin(e).origin+a)}else n||(n=typeof e=="object"?e:{}),e=wu.parseURL(e);let{agent:s,dispatcher:i=aR()}=n;if(s)throw new Bu("unsupported opts.agent. Did you mean opts.client?");return t.call(i,{...n,origin:e.origin,path:e.search?`${e.pathname}${e.search}`:e.pathname,method:n.method||(n.body?"PUT":"GET")},r)}}o(Ua,"makeDispatcher");te.exports.setGlobalDispatcher=IY;te.exports.getGlobalDispatcher=aR;var wY=Ea().fetch;te.exports.fetch=o(async function(e,n=void 0){try{return await wY(e,n)}catch(r){throw r&&typeof r=="object"&&Error.captureStackTrace(r),r}},"fetch");te.exports.Headers=ys().Headers;te.exports.Response=fa().Response;te.exports.Request=_i().Request;te.exports.FormData=Ho().FormData;te.exports.File=globalThis.File??require("node:buffer").File;te.exports.FileReader=Fb().FileReader;var{setGlobalOrigin:bY,getGlobalOrigin:kY}=Wd();te.exports.setGlobalOrigin=bY;te.exports.getGlobalOrigin=kY;var{CacheStorage:RY}=Yb(),{kConstruct:SY}=nu();te.exports.caches=new RY(SY);var{deleteCookie:vY,getCookies:xY,getSetCookies:DY,setCookie:TY}=ek();te.exports.deleteCookie=vY;te.exports.getCookies=xY;te.exports.getSetCookies=DY;te.exports.setCookie=TY;var{parseMIMEType:NY,serializeAMimeType:FY}=gt();te.exports.parseMIMEType=NY;te.exports.serializeAMimeType=FY;var{CloseEvent:UY,ErrorEvent:MY,MessageEvent:LY}=Hi();te.exports.WebSocket=qk().WebSocket;te.exports.CloseEvent=UY;te.exports.ErrorEvent=MY;te.exports.MessageEvent=LY;te.exports.request=Ua(Zi.request);te.exports.stream=Ua(Zi.stream);te.exports.pipeline=Ua(Zi.pipeline);te.exports.connect=Ua(Zi.connect);te.exports.upgrade=Ua(Zi.upgrade);te.exports.MockClient=pY;te.exports.MockPool=mY;te.exports.MockAgent=fY;te.exports.mockErrors=EY;var{EventSource:_Y}=sR();te.exports.EventSource=_Y});var R2={};Op(R2,{AppRefusal:()=>Bn,AppUnreachable:()=>Ki,AttemptEndReason:()=>po,DeliveryStatus:()=>cA,GitHubWriteKind:()=>dA,NoReportCause:()=>fo,SourceProvider:()=>Ys,V3Attempt:()=>Oa,ValidationSufficiency:()=>zr,closedV3Attempt:()=>bR,endV3Attempt:()=>SR,heartbeatV3Attempt:()=>Pp,startV3Attempt:()=>wR,uploadV3Report:()=>RR});module.exports=FR(R2);var A={};Op(A,{BRAND:()=>oS,DIRTY:()=>Nr,EMPTY_PATH:()=>_R,INVALID:()=>Z,NEVER:()=>HS,OK:()=>We,ParseStatus:()=>Ve,Schema:()=>Ae,ZodAny:()=>tr,ZodArray:()=>vn,ZodBigInt:()=>Ur,ZodBoolean:()=>Mr,ZodBranded:()=>Ao,ZodCatch:()=>qr,ZodDate:()=>Lr,ZodDefault:()=>Jr,ZodDiscriminatedUnion:()=>Ka,ZodEffects:()=>Mt,ZodEnum:()=>Hr,ZodError:()=>ct,ZodFirstPartyTypeKind:()=>ee,ZodFunction:()=>eA,ZodIntersection:()=>Gr,ZodIssueCode:()=>N,ZodLazy:()=>$r,ZodLiteral:()=>Yr,ZodMap:()=>Ls,ZodNaN:()=>Ps,ZodNativeEnum:()=>Vr,ZodNever:()=>Vt,ZodNull:()=>Pr,ZodNullable:()=>cn,ZodNumber:()=>Fr,ZodObject:()=>ut,ZodOptional:()=>Ft,ZodParsedType:()=>O,ZodPipeline:()=>co,ZodPromise:()=>nr,ZodReadonly:()=>jr,ZodRecord:()=>Xa,ZodSchema:()=>Ae,ZodSet:()=>_s,ZodString:()=>er,ZodSymbol:()=>Us,ZodTransformer:()=>Mt,ZodTuple:()=>An,ZodType:()=>Ae,ZodUndefined:()=>_r,ZodUnion:()=>Or,ZodUnknown:()=>Sn,ZodVoid:()=>Ms,addIssueToContext:()=>_,any:()=>pS,array:()=>CS,bigint:()=>uS,boolean:()=>Kp,coerce:()=>YS,custom:()=>Wp,date:()=>lS,datetimeRegex:()=>qp,defaultErrorMap:()=>kn,discriminatedUnion:()=>BS,effect:()=>US,enum:()=>TS,function:()=>vS,getErrorMap:()=>Ts,getParsedType:()=>an,instanceof:()=>AS,intersection:()=>wS,isAborted:()=>za,isAsync:()=>Ns,isDirty:()=>Za,isValid:()=>Xn,late:()=>aS,lazy:()=>xS,literal:()=>DS,makeIssue:()=>ao,map:()=>RS,nan:()=>cS,nativeEnum:()=>NS,never:()=>mS,null:()=>hS,nullable:()=>LS,number:()=>Zp,object:()=>IS,objectUtil:()=>Uu,oboolean:()=>$S,onumber:()=>GS,optional:()=>MS,ostring:()=>OS,pipeline:()=>PS,preprocess:()=>_S,promise:()=>FS,quotelessJson:()=>UR,record:()=>kS,set:()=>SS,setErrorMap:()=>LR,strictObject:()=>yS,string:()=>zp,symbol:()=>dS,transformer:()=>US,tuple:()=>bS,undefined:()=>gS,union:()=>QS,unknown:()=>fS,util:()=>le,void:()=>ES});var le;(function(t){t.assertEqual=s=>{};function e(s){}o(e,"assertIs"),t.assertIs=e;function n(s){throw new Error}o(n,"assertNever"),t.assertNever=n,t.arrayToEnum=s=>{let i={};for(let a of s)i[a]=a;return i},t.getValidEnumValues=s=>{let i=t.objectKeys(s).filter(c=>typeof s[s[c]]!="number"),a={};for(let c of i)a[c]=s[c];return t.objectValues(a)},t.objectValues=s=>t.objectKeys(s).map(function(i){return s[i]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let i=[];for(let a in s)Object.prototype.hasOwnProperty.call(s,a)&&i.push(a);return i},t.find=(s,i)=>{for(let a of s)if(i(a))return a},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,i=" | "){return s.map(a=>typeof a=="string"?`'${a}'`:a).join(i)}o(r,"joinValues"),t.joinValues=r,t.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(le||(le={}));var Uu;(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(Uu||(Uu={}));var O=le.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),an=o(t=>{switch(typeof t){case"undefined":return O.undefined;case"string":return O.string;case"number":return Number.isNaN(t)?O.nan:O.number;case"boolean":return O.boolean;case"function":return O.function;case"bigint":return O.bigint;case"symbol":return O.symbol;case"object":return Array.isArray(t)?O.array:t===null?O.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?O.promise:typeof Map<"u"&&t instanceof Map?O.map:typeof Set<"u"&&t instanceof Set?O.set:typeof Date<"u"&&t instanceof Date?O.date:O.object;default:return O.unknown}},"getParsedType");var N=le.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),UR=o(t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),"quotelessJson"),ct=class t extends Error{static{o(this,"ZodError")}get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(i){return i.message},r={_errors:[]},s=o(i=>{for(let a of i.issues)if(a.code==="invalid_union")a.unionErrors.map(s);else if(a.code==="invalid_return_type")s(a.returnTypeError);else if(a.code==="invalid_arguments")s(a.argumentsError);else if(a.path.length===0)r._errors.push(n(a));else{let c=r,l=0;for(;l<a.path.length;){let d=a.path[l];l===a.path.length-1?(c[d]=c[d]||{_errors:[]},c[d]._errors.push(n(a))):c[d]=c[d]||{_errors:[]},c=c[d],l++}}},"processError");return s(this),r}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,le.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let i=s.path[0];n[i]=n[i]||[],n[i].push(e(s))}else r.push(e(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};ct.create=t=>new ct(t);var MR=o((t,e)=>{let n;switch(t.code){case N.invalid_type:t.received===O.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case N.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,le.jsonStringifyReplacer)}`;break;case N.unrecognized_keys:n=`Unrecognized key(s) in object: ${le.joinValues(t.keys,", ")}`;break;case N.invalid_union:n="Invalid input";break;case N.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${le.joinValues(t.options)}`;break;case N.invalid_enum_value:n=`Invalid enum value. Expected ${le.joinValues(t.options)}, received '${t.received}'`;break;case N.invalid_arguments:n="Invalid function arguments";break;case N.invalid_return_type:n="Invalid function return type";break;case N.invalid_date:n="Invalid date";break;case N.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:le.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case N.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case N.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case N.custom:n="Invalid input";break;case N.invalid_intersection_types:n="Intersection results could not be merged";break;case N.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case N.not_finite:n="Number must be finite";break;default:n=e.defaultError,le.assertNever(t)}return{message:n}},"errorMap"),kn=MR;var $p=kn;function LR(t){$p=t}o(LR,"setErrorMap");function Ts(){return $p}o(Ts,"getErrorMap");var ao=o(t=>{let{data:e,path:n,errorMaps:r,issueData:s}=t,i=[...n,...s.path||[]],a={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let c="",l=r.filter(d=>!!d).slice().reverse();for(let d of l)c=d(a,{data:e,defaultError:c}).message;return{...s,path:i,message:c}},"makeIssue"),_R=[];function _(t,e){let n=Ts(),r=ao({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===kn?void 0:kn].filter(s=>!!s)});t.common.issues.push(r)}o(_,"addIssueToContext");var Ve=class t{static{o(this,"ParseStatus")}constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let s of n){if(s.status==="aborted")return Z;s.status==="dirty"&&e.dirty(),r.push(s.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let s of n){let i=await s.key,a=await s.value;r.push({key:i,value:a})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let s of n){let{key:i,value:a}=s;if(i.status==="aborted"||a.status==="aborted")return Z;i.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof a.value<"u"||s.alwaysSet)&&(r[i.value]=a.value)}return{status:e.value,value:r}}},Z=Object.freeze({status:"aborted"}),Nr=o(t=>({status:"dirty",value:t}),"DIRTY"),We=o(t=>({status:"valid",value:t}),"OK"),za=o(t=>t.status==="aborted","isAborted"),Za=o(t=>t.status==="dirty","isDirty"),Xn=o(t=>t.status==="valid","isValid"),Ns=o(t=>typeof Promise<"u"&&t instanceof Promise,"isAsync");var H;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(H||(H={}));var Ut=class{static{o(this,"ParseInputLazyPath")}constructor(e,n,r,s){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Yp=o((t,e)=>{if(Xn(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new ct(t.common.issues);return this._error=n,this._error}}},"handleResult");function ie(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:s}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:o((a,c)=>{let{message:l}=t;return a.code==="invalid_enum_value"?{message:l??c.defaultError}:typeof c.data>"u"?{message:l??r??c.defaultError}:a.code!=="invalid_type"?{message:c.defaultError}:{message:l??n??c.defaultError}},"customMap"),description:s}}o(ie,"processCreateParams");var Ae=class{static{o(this,"ZodType")}get description(){return this._def.description}_getType(e){return an(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:an(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new Ve,ctx:{common:e.parent.common,data:e.data,parsedType:an(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(Ns(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)},s=this._parseSync({data:e,path:r.path,parent:r});return Yp(r,s)}"~validate"(e){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:n});return Xn(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>Xn(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)},s=this._parse({data:e,path:r.path,parent:r}),i=await(Ns(s)?s:Promise.resolve(s));return Yp(r,i)}refine(e,n){let r=o(s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n,"getIssueProperties");return this._refinement((s,i)=>{let a=e(s),c=o(()=>i.addIssue({code:N.custom,...r(s)}),"setError");return typeof Promise<"u"&&a instanceof Promise?a.then(l=>l?!0:(c(),!1)):a?!0:(c(),!1)})}refinement(e,n){return this._refinement((r,s)=>e(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(e){return new Mt({schema:this,typeName:ee.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:o(n=>this["~validate"](n),"validate")}}optional(){return Ft.create(this,this._def)}nullable(){return cn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return vn.create(this)}promise(){return nr.create(this,this._def)}or(e){return Or.create([this,e],this._def)}and(e){return Gr.create(this,e,this._def)}transform(e){return new Mt({...ie(this._def),schema:this,typeName:ee.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new Jr({...ie(this._def),innerType:this,defaultValue:n,typeName:ee.ZodDefault})}brand(){return new Ao({typeName:ee.ZodBranded,type:this,...ie(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new qr({...ie(this._def),innerType:this,catchValue:n,typeName:ee.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return co.create(this,e)}readonly(){return jr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},PR=/^c[^\s-]{8,}$/i,OR=/^[0-9a-z]+$/,GR=/^[0-9A-HJKMNP-TV-Z]{26}$/i,$R=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,YR=/^[a-z0-9_-]{21}$/i,HR=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,VR=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,JR=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,qR="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Mu,jR=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,WR=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,zR=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,ZR=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,KR=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,XR=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Vp="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",eS=new RegExp(`^${Vp}$`);function Jp(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}o(Jp,"timeRegexSource");function tS(t){return new RegExp(`^${Jp(t)}$`)}o(tS,"timeRegex");function qp(t){let e=`${Vp}T${Jp(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}o(qp,"datetimeRegex");function nS(t,e){return!!((e==="v4"||!e)&&jR.test(t)||(e==="v6"||!e)&&zR.test(t))}o(nS,"isValidIP");function rS(t,e){if(!HR.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||e&&s.alg!==e)}catch{return!1}}o(rS,"isValidJWT");function sS(t,e){return!!((e==="v4"||!e)&&WR.test(t)||(e==="v6"||!e)&&ZR.test(t))}o(sS,"isValidCidr");var er=class t extends Ae{static{o(this,"ZodString")}_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==O.string){let i=this._getOrReturnCtx(e);return _(i,{code:N.invalid_type,expected:O.string,received:i.parsedType}),Z}let r=new Ve,s;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(s=this._getOrReturnCtx(e,s),_(s,{code:N.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="max")e.data.length>i.value&&(s=this._getOrReturnCtx(e,s),_(s,{code:N.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="length"){let a=e.data.length>i.value,c=e.data.length<i.value;(a||c)&&(s=this._getOrReturnCtx(e,s),a?_(s,{code:N.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):c&&_(s,{code:N.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if(i.kind==="email")JR.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"email",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="emoji")Mu||(Mu=new RegExp(qR,"u")),Mu.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"emoji",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="uuid")$R.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"uuid",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="nanoid")YR.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"nanoid",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid")PR.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"cuid",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid2")OR.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"cuid2",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="ulid")GR.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"ulid",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),_(s,{validation:"url",code:N.invalid_string,message:i.message}),r.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"regex",code:N.invalid_string,message:i.message}),r.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):i.kind==="datetime"?qp(i).test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:"datetime",message:i.message}),r.dirty()):i.kind==="date"?eS.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:"date",message:i.message}),r.dirty()):i.kind==="time"?tS(i).test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:"time",message:i.message}),r.dirty()):i.kind==="duration"?VR.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"duration",code:N.invalid_string,message:i.message}),r.dirty()):i.kind==="ip"?nS(e.data,i.version)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"ip",code:N.invalid_string,message:i.message}),r.dirty()):i.kind==="jwt"?rS(e.data,i.alg)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"jwt",code:N.invalid_string,message:i.message}),r.dirty()):i.kind==="cidr"?sS(e.data,i.version)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"cidr",code:N.invalid_string,message:i.message}),r.dirty()):i.kind==="base64"?KR.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"base64",code:N.invalid_string,message:i.message}),r.dirty()):i.kind==="base64url"?XR.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"base64url",code:N.invalid_string,message:i.message}),r.dirty()):le.assertNever(i);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(s=>e.test(s),{validation:n,code:N.invalid_string,...H.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...H.errToObj(e)})}url(e){return this._addCheck({kind:"url",...H.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...H.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...H.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...H.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...H.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...H.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...H.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...H.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...H.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...H.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...H.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...H.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...H.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...H.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...H.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...H.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n?.position,...H.errToObj(n?.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...H.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...H.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...H.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...H.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...H.errToObj(n)})}nonempty(e){return this.min(1,H.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};er.create=t=>new er({checks:[],typeName:ee.ZodString,coerce:t?.coerce??!1,...ie(t)});function iS(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,s=n>r?n:r,i=Number.parseInt(t.toFixed(s).replace(".","")),a=Number.parseInt(e.toFixed(s).replace(".",""));return i%a/10**s}o(iS,"floatSafeRemainder");var Fr=class t extends Ae{static{o(this,"ZodNumber")}constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==O.number){let i=this._getOrReturnCtx(e);return _(i,{code:N.invalid_type,expected:O.number,received:i.parsedType}),Z}let r,s=new Ve;for(let i of this._def.checks)i.kind==="int"?le.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),_(r,{code:N.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?iS(e.data,i.value)!==0&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),_(r,{code:N.not_finite,message:i.message}),s.dirty()):le.assertNever(i);return{status:s.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,H.toString(n))}gt(e,n){return this.setLimit("min",e,!1,H.toString(n))}lte(e,n){return this.setLimit("max",e,!0,H.toString(n))}lt(e,n){return this.setLimit("max",e,!1,H.toString(n))}setLimit(e,n,r,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:H.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:H.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:H.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:H.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:H.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:H.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:H.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:H.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:H.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:H.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&le.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};Fr.create=t=>new Fr({checks:[],typeName:ee.ZodNumber,coerce:t?.coerce||!1,...ie(t)});var Ur=class t extends Ae{static{o(this,"ZodBigInt")}constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==O.bigint)return this._getInvalidInput(e);let r,s=new Ve;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):le.assertNever(i);return{status:s.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return _(n,{code:N.invalid_type,expected:O.bigint,received:n.parsedType}),Z}gte(e,n){return this.setLimit("min",e,!0,H.toString(n))}gt(e,n){return this.setLimit("min",e,!1,H.toString(n))}lte(e,n){return this.setLimit("max",e,!0,H.toString(n))}lt(e,n){return this.setLimit("max",e,!1,H.toString(n))}setLimit(e,n,r,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:H.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:H.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:H.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:H.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:H.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:H.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};Ur.create=t=>new Ur({checks:[],typeName:ee.ZodBigInt,coerce:t?.coerce??!1,...ie(t)});var Mr=class extends Ae{static{o(this,"ZodBoolean")}_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==O.boolean){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.boolean,received:r.parsedType}),Z}return We(e.data)}};Mr.create=t=>new Mr({typeName:ee.ZodBoolean,coerce:t?.coerce||!1,...ie(t)});var Lr=class t extends Ae{static{o(this,"ZodDate")}_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==O.date){let i=this._getOrReturnCtx(e);return _(i,{code:N.invalid_type,expected:O.date,received:i.parsedType}),Z}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return _(i,{code:N.invalid_date}),Z}let r=new Ve,s;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(s=this._getOrReturnCtx(e,s),_(s,{code:N.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),r.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(s=this._getOrReturnCtx(e,s),_(s,{code:N.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),r.dirty()):le.assertNever(i);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:H.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:H.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};Lr.create=t=>new Lr({checks:[],coerce:t?.coerce||!1,typeName:ee.ZodDate,...ie(t)});var Us=class extends Ae{static{o(this,"ZodSymbol")}_parse(e){if(this._getType(e)!==O.symbol){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.symbol,received:r.parsedType}),Z}return We(e.data)}};Us.create=t=>new Us({typeName:ee.ZodSymbol,...ie(t)});var _r=class extends Ae{static{o(this,"ZodUndefined")}_parse(e){if(this._getType(e)!==O.undefined){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.undefined,received:r.parsedType}),Z}return We(e.data)}};_r.create=t=>new _r({typeName:ee.ZodUndefined,...ie(t)});var Pr=class extends Ae{static{o(this,"ZodNull")}_parse(e){if(this._getType(e)!==O.null){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.null,received:r.parsedType}),Z}return We(e.data)}};Pr.create=t=>new Pr({typeName:ee.ZodNull,...ie(t)});var tr=class extends Ae{static{o(this,"ZodAny")}constructor(){super(...arguments),this._any=!0}_parse(e){return We(e.data)}};tr.create=t=>new tr({typeName:ee.ZodAny,...ie(t)});var Sn=class extends Ae{static{o(this,"ZodUnknown")}constructor(){super(...arguments),this._unknown=!0}_parse(e){return We(e.data)}};Sn.create=t=>new Sn({typeName:ee.ZodUnknown,...ie(t)});var Vt=class extends Ae{static{o(this,"ZodNever")}_parse(e){let n=this._getOrReturnCtx(e);return _(n,{code:N.invalid_type,expected:O.never,received:n.parsedType}),Z}};Vt.create=t=>new Vt({typeName:ee.ZodNever,...ie(t)});var Ms=class extends Ae{static{o(this,"ZodVoid")}_parse(e){if(this._getType(e)!==O.undefined){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.void,received:r.parsedType}),Z}return We(e.data)}};Ms.create=t=>new Ms({typeName:ee.ZodVoid,...ie(t)});var vn=class t extends Ae{static{o(this,"ZodArray")}_parse(e){let{ctx:n,status:r}=this._processInputParams(e),s=this._def;if(n.parsedType!==O.array)return _(n,{code:N.invalid_type,expected:O.array,received:n.parsedType}),Z;if(s.exactLength!==null){let a=n.data.length>s.exactLength.value,c=n.data.length<s.exactLength.value;(a||c)&&(_(n,{code:a?N.too_big:N.too_small,minimum:c?s.exactLength.value:void 0,maximum:a?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(_(n,{code:N.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(_(n,{code:N.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((a,c)=>s.type._parseAsync(new Ut(n,a,n.path,c)))).then(a=>Ve.mergeArray(r,a));let i=[...n.data].map((a,c)=>s.type._parseSync(new Ut(n,a,n.path,c)));return Ve.mergeArray(r,i)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:H.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:H.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:H.toString(n)}})}nonempty(e){return this.min(1,e)}};vn.create=(t,e)=>new vn({type:t,minLength:null,maxLength:null,exactLength:null,typeName:ee.ZodArray,...ie(e)});function Fs(t){if(t instanceof ut){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=Ft.create(Fs(r))}return new ut({...t._def,shape:o(()=>e,"shape")})}else return t instanceof vn?new vn({...t._def,type:Fs(t.element)}):t instanceof Ft?Ft.create(Fs(t.unwrap())):t instanceof cn?cn.create(Fs(t.unwrap())):t instanceof An?An.create(t.items.map(e=>Fs(e))):t}o(Fs,"deepPartialify");var ut=class t extends Ae{static{o(this,"ZodObject")}constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=le.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==O.object){let d=this._getOrReturnCtx(e);return _(d,{code:N.invalid_type,expected:O.object,received:d.parsedType}),Z}let{status:r,ctx:s}=this._processInputParams(e),{shape:i,keys:a}=this._getCached(),c=[];if(!(this._def.catchall instanceof Vt&&this._def.unknownKeys==="strip"))for(let d in s.data)a.includes(d)||c.push(d);let l=[];for(let d of a){let g=i[d],h=s.data[d];l.push({key:{status:"valid",value:d},value:g._parse(new Ut(s,h,s.path,d)),alwaysSet:d in s.data})}if(this._def.catchall instanceof Vt){let d=this._def.unknownKeys;if(d==="passthrough")for(let g of c)l.push({key:{status:"valid",value:g},value:{status:"valid",value:s.data[g]}});else if(d==="strict")c.length>0&&(_(s,{code:N.unrecognized_keys,keys:c}),r.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let g of c){let h=s.data[g];l.push({key:{status:"valid",value:g},value:d._parse(new Ut(s,h,s.path,g)),alwaysSet:g in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let d=[];for(let g of l){let h=await g.key,f=await g.value;d.push({key:h,value:f,alwaysSet:g.alwaysSet})}return d}).then(d=>Ve.mergeObjectSync(r,d)):Ve.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(e){return H.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:o((n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:H.errToObj(e).message??s}:{message:s}},"errorMap")}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:o(()=>({...this._def.shape(),...e}),"shape")})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:o(()=>({...this._def.shape(),...e._def.shape()}),"shape"),typeName:ee.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let n={};for(let r of le.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new t({...this._def,shape:o(()=>n,"shape")})}omit(e){let n={};for(let r of le.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:o(()=>n,"shape")})}deepPartial(){return Fs(this)}partial(e){let n={};for(let r of le.objectKeys(this.shape)){let s=this.shape[r];e&&!e[r]?n[r]=s:n[r]=s.optional()}return new t({...this._def,shape:o(()=>n,"shape")})}required(e){let n={};for(let r of le.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let i=this.shape[r];for(;i instanceof Ft;)i=i._def.innerType;n[r]=i}return new t({...this._def,shape:o(()=>n,"shape")})}keyof(){return jp(le.objectKeys(this.shape))}};ut.create=(t,e)=>new ut({shape:o(()=>t,"shape"),unknownKeys:"strip",catchall:Vt.create(),typeName:ee.ZodObject,...ie(e)});ut.strictCreate=(t,e)=>new ut({shape:o(()=>t,"shape"),unknownKeys:"strict",catchall:Vt.create(),typeName:ee.ZodObject,...ie(e)});ut.lazycreate=(t,e)=>new ut({shape:t,unknownKeys:"strip",catchall:Vt.create(),typeName:ee.ZodObject,...ie(e)});var Or=class extends Ae{static{o(this,"ZodUnion")}_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function s(i){for(let c of i)if(c.result.status==="valid")return c.result;for(let c of i)if(c.result.status==="dirty")return n.common.issues.push(...c.ctx.common.issues),c.result;let a=i.map(c=>new ct(c.ctx.common.issues));return _(n,{code:N.invalid_union,unionErrors:a}),Z}if(o(s,"handleResults"),n.common.async)return Promise.all(r.map(async i=>{let a={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(s);{let i,a=[];for(let l of r){let d={...n,common:{...n.common,issues:[]},parent:null},g=l._parseSync({data:n.data,path:n.path,parent:d});if(g.status==="valid")return g;g.status==="dirty"&&!i&&(i={result:g,ctx:d}),d.common.issues.length&&a.push(d.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;let c=a.map(l=>new ct(l));return _(n,{code:N.invalid_union,unionErrors:c}),Z}}get options(){return this._def.options}};Or.create=(t,e)=>new Or({options:t,typeName:ee.ZodUnion,...ie(e)});var Rn=o(t=>t instanceof $r?Rn(t.schema):t instanceof Mt?Rn(t.innerType()):t instanceof Yr?[t.value]:t instanceof Hr?t.options:t instanceof Vr?le.objectValues(t.enum):t instanceof Jr?Rn(t._def.innerType):t instanceof _r?[void 0]:t instanceof Pr?[null]:t instanceof Ft?[void 0,...Rn(t.unwrap())]:t instanceof cn?[null,...Rn(t.unwrap())]:t instanceof Ao||t instanceof jr?Rn(t.unwrap()):t instanceof qr?Rn(t._def.innerType):[],"getDiscriminator"),Ka=class t extends Ae{static{o(this,"ZodDiscriminatedUnion")}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.object)return _(n,{code:N.invalid_type,expected:O.object,received:n.parsedType}),Z;let r=this.discriminator,s=n.data[r],i=this.optionsMap.get(s);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(_(n,{code:N.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Z)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let s=new Map;for(let i of n){let a=Rn(i.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let c of a){if(s.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);s.set(c,i)}}return new t({typeName:ee.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:s,...ie(r)})}};function Lu(t,e){let n=an(t),r=an(e);if(t===e)return{valid:!0,data:t};if(n===O.object&&r===O.object){let s=le.objectKeys(e),i=le.objectKeys(t).filter(c=>s.indexOf(c)!==-1),a={...t,...e};for(let c of i){let l=Lu(t[c],e[c]);if(!l.valid)return{valid:!1};a[c]=l.data}return{valid:!0,data:a}}else if(n===O.array&&r===O.array){if(t.length!==e.length)return{valid:!1};let s=[];for(let i=0;i<t.length;i++){let a=t[i],c=e[i],l=Lu(a,c);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===O.date&&r===O.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}o(Lu,"mergeValues");var Gr=class extends Ae{static{o(this,"ZodIntersection")}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),s=o((i,a)=>{if(za(i)||za(a))return Z;let c=Lu(i.value,a.value);return c.valid?((Za(i)||Za(a))&&n.dirty(),{status:n.value,value:c.data}):(_(r,{code:N.invalid_intersection_types}),Z)},"handleParsed");return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([i,a])=>s(i,a)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};Gr.create=(t,e,n)=>new Gr({left:t,right:e,typeName:ee.ZodIntersection,...ie(n)});var An=class t extends Ae{static{o(this,"ZodTuple")}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.array)return _(r,{code:N.invalid_type,expected:O.array,received:r.parsedType}),Z;if(r.data.length<this._def.items.length)return _(r,{code:N.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Z;!this._def.rest&&r.data.length>this._def.items.length&&(_(r,{code:N.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let i=[...r.data].map((a,c)=>{let l=this._def.items[c]||this._def.rest;return l?l._parse(new Ut(r,a,r.path,c)):null}).filter(a=>!!a);return r.common.async?Promise.all(i).then(a=>Ve.mergeArray(n,a)):Ve.mergeArray(n,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};An.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new An({items:t,typeName:ee.ZodTuple,rest:null,...ie(e)})};var Xa=class t extends Ae{static{o(this,"ZodRecord")}get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.object)return _(r,{code:N.invalid_type,expected:O.object,received:r.parsedType}),Z;let s=[],i=this._def.keyType,a=this._def.valueType;for(let c in r.data)s.push({key:i._parse(new Ut(r,c,r.path,c)),value:a._parse(new Ut(r,r.data[c],r.path,c)),alwaysSet:c in r.data});return r.common.async?Ve.mergeObjectAsync(n,s):Ve.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof Ae?new t({keyType:e,valueType:n,typeName:ee.ZodRecord,...ie(r)}):new t({keyType:er.create(),valueType:e,typeName:ee.ZodRecord,...ie(n)})}},Ls=class extends Ae{static{o(this,"ZodMap")}get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.map)return _(r,{code:N.invalid_type,expected:O.map,received:r.parsedType}),Z;let s=this._def.keyType,i=this._def.valueType,a=[...r.data.entries()].map(([c,l],d)=>({key:s._parse(new Ut(r,c,r.path,[d,"key"])),value:i._parse(new Ut(r,l,r.path,[d,"value"]))}));if(r.common.async){let c=new Map;return Promise.resolve().then(async()=>{for(let l of a){let d=await l.key,g=await l.value;if(d.status==="aborted"||g.status==="aborted")return Z;(d.status==="dirty"||g.status==="dirty")&&n.dirty(),c.set(d.value,g.value)}return{status:n.value,value:c}})}else{let c=new Map;for(let l of a){let d=l.key,g=l.value;if(d.status==="aborted"||g.status==="aborted")return Z;(d.status==="dirty"||g.status==="dirty")&&n.dirty(),c.set(d.value,g.value)}return{status:n.value,value:c}}}};Ls.create=(t,e,n)=>new Ls({valueType:e,keyType:t,typeName:ee.ZodMap,...ie(n)});var _s=class t extends Ae{static{o(this,"ZodSet")}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.set)return _(r,{code:N.invalid_type,expected:O.set,received:r.parsedType}),Z;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:N.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(_(r,{code:N.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let i=this._def.valueType;function a(l){let d=new Set;for(let g of l){if(g.status==="aborted")return Z;g.status==="dirty"&&n.dirty(),d.add(g.value)}return{status:n.value,value:d}}o(a,"finalizeSet");let c=[...r.data.values()].map((l,d)=>i._parse(new Ut(r,l,r.path,d)));return r.common.async?Promise.all(c).then(l=>a(l)):a(c)}min(e,n){return new t({...this._def,minSize:{value:e,message:H.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:H.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};_s.create=(t,e)=>new _s({valueType:t,minSize:null,maxSize:null,typeName:ee.ZodSet,...ie(e)});var eA=class t extends Ae{static{o(this,"ZodFunction")}constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.function)return _(n,{code:N.invalid_type,expected:O.function,received:n.parsedType}),Z;function r(c,l){return ao({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ts(),kn].filter(d=>!!d),issueData:{code:N.invalid_arguments,argumentsError:l}})}o(r,"makeArgsIssue");function s(c,l){return ao({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ts(),kn].filter(d=>!!d),issueData:{code:N.invalid_return_type,returnTypeError:l}})}o(s,"makeReturnsIssue");let i={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof nr){let c=this;return We(async function(...l){let d=new ct([]),g=await c._def.args.parseAsync(l,i).catch(m=>{throw d.addIssue(r(l,m)),d}),h=await Reflect.apply(a,this,g);return await c._def.returns._def.type.parseAsync(h,i).catch(m=>{throw d.addIssue(s(h,m)),d})})}else{let c=this;return We(function(...l){let d=c._def.args.safeParse(l,i);if(!d.success)throw new ct([r(l,d.error)]);let g=Reflect.apply(a,this,d.data),h=c._def.returns.safeParse(g,i);if(!h.success)throw new ct([s(g,h.error)]);return h.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:An.create(e).rest(Sn.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new t({args:e||An.create([]).rest(Sn.create()),returns:n||Sn.create(),typeName:ee.ZodFunction,...ie(r)})}},$r=class extends Ae{static{o(this,"ZodLazy")}get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};$r.create=(t,e)=>new $r({getter:t,typeName:ee.ZodLazy,...ie(e)});var Yr=class extends Ae{static{o(this,"ZodLiteral")}_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return _(n,{received:n.data,code:N.invalid_literal,expected:this._def.value}),Z}return{status:"valid",value:e.data}}get value(){return this._def.value}};Yr.create=(t,e)=>new Yr({value:t,typeName:ee.ZodLiteral,...ie(e)});function jp(t,e){return new Hr({values:t,typeName:ee.ZodEnum,...ie(e)})}o(jp,"createZodEnum");var Hr=class t extends Ae{static{o(this,"ZodEnum")}_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return _(n,{expected:le.joinValues(r),received:n.parsedType,code:N.invalid_type}),Z}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return _(n,{received:n.data,code:N.invalid_enum_value,options:r}),Z}return We(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return t.create(e,{...this._def,...n})}exclude(e,n=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};Hr.create=jp;var Vr=class extends Ae{static{o(this,"ZodNativeEnum")}_parse(e){let n=le.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==O.string&&r.parsedType!==O.number){let s=le.objectValues(n);return _(r,{expected:le.joinValues(s),received:r.parsedType,code:N.invalid_type}),Z}if(this._cache||(this._cache=new Set(le.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let s=le.objectValues(n);return _(r,{received:r.data,code:N.invalid_enum_value,options:s}),Z}return We(e.data)}get enum(){return this._def.values}};Vr.create=(t,e)=>new Vr({values:t,typeName:ee.ZodNativeEnum,...ie(e)});var nr=class extends Ae{static{o(this,"ZodPromise")}unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.promise&&n.common.async===!1)return _(n,{code:N.invalid_type,expected:O.promise,received:n.parsedType}),Z;let r=n.parsedType===O.promise?n.data:Promise.resolve(n.data);return We(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};nr.create=(t,e)=>new nr({type:t,typeName:ee.ZodPromise,...ie(e)});var Mt=class extends Ae{static{o(this,"ZodEffects")}innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ee.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),s=this._def.effect||null,i={addIssue:o(a=>{_(r,a),a.fatal?n.abort():n.dirty()},"addIssue"),get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){let a=s.transform(r.data,i);if(r.common.async)return Promise.resolve(a).then(async c=>{if(n.value==="aborted")return Z;let l=await this._def.schema._parseAsync({data:c,path:r.path,parent:r});return l.status==="aborted"?Z:l.status==="dirty"?Nr(l.value):n.value==="dirty"?Nr(l.value):l});{if(n.value==="aborted")return Z;let c=this._def.schema._parseSync({data:a,path:r.path,parent:r});return c.status==="aborted"?Z:c.status==="dirty"?Nr(c.value):n.value==="dirty"?Nr(c.value):c}}if(s.type==="refinement"){let a=o(c=>{let l=s.refinement(c,i);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c},"executeRefinement");if(r.common.async===!1){let c=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return c.status==="aborted"?Z:(c.status==="dirty"&&n.dirty(),a(c.value),{status:n.value,value:c.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(c=>c.status==="aborted"?Z:(c.status==="dirty"&&n.dirty(),a(c.value).then(()=>({status:n.value,value:c.value}))))}if(s.type==="transform")if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Xn(a))return Z;let c=s.transform(a.value,i);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:c}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>Xn(a)?Promise.resolve(s.transform(a.value,i)).then(c=>({status:n.value,value:c})):Z);le.assertNever(s)}};Mt.create=(t,e,n)=>new Mt({schema:t,typeName:ee.ZodEffects,effect:e,...ie(n)});Mt.createWithPreprocess=(t,e,n)=>new Mt({schema:e,effect:{type:"preprocess",transform:t},typeName:ee.ZodEffects,...ie(n)});var Ft=class extends Ae{static{o(this,"ZodOptional")}_parse(e){return this._getType(e)===O.undefined?We(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ft.create=(t,e)=>new Ft({innerType:t,typeName:ee.ZodOptional,...ie(e)});var cn=class extends Ae{static{o(this,"ZodNullable")}_parse(e){return this._getType(e)===O.null?We(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};cn.create=(t,e)=>new cn({innerType:t,typeName:ee.ZodNullable,...ie(e)});var Jr=class extends Ae{static{o(this,"ZodDefault")}_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===O.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Jr.create=(t,e)=>new Jr({innerType:t,typeName:ee.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...ie(e)});var qr=class extends Ae{static{o(this,"ZodCatch")}_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Ns(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ct(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ct(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};qr.create=(t,e)=>new qr({innerType:t,typeName:ee.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...ie(e)});var Ps=class extends Ae{static{o(this,"ZodNaN")}_parse(e){if(this._getType(e)!==O.nan){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.nan,received:r.parsedType}),Z}return{status:"valid",value:e.data}}};Ps.create=t=>new Ps({typeName:ee.ZodNaN,...ie(t)});var oS=Symbol("zod_brand"),Ao=class extends Ae{static{o(this,"ZodBranded")}_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},co=class t extends Ae{static{o(this,"ZodPipeline")}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return o(async()=>{let i=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Z:i.status==="dirty"?(n.dirty(),Nr(i.value)):this._def.out._parseAsync({data:i.value,path:r.path,parent:r})},"handleAsync")();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?Z:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(e,n){return new t({in:e,out:n,typeName:ee.ZodPipeline})}},jr=class extends Ae{static{o(this,"ZodReadonly")}_parse(e){let n=this._def.innerType._parse(e),r=o(s=>(Xn(s)&&(s.value=Object.freeze(s.value)),s),"freeze");return Ns(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};jr.create=(t,e)=>new jr({innerType:t,typeName:ee.ZodReadonly,...ie(e)});function Hp(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}o(Hp,"cleanParams");function Wp(t,e={},n){return t?tr.create().superRefine((r,s)=>{let i=t(r);if(i instanceof Promise)return i.then(a=>{if(!a){let c=Hp(e,r),l=c.fatal??n??!0;s.addIssue({code:"custom",...c,fatal:l})}});if(!i){let a=Hp(e,r),c=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:c})}}):tr.create()}o(Wp,"custom");var aS={object:ut.lazycreate},ee;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(ee||(ee={}));var AS=o((t,e={message:`Input not instance of ${t.name}`})=>Wp(n=>n instanceof t,e),"instanceOfType"),zp=er.create,Zp=Fr.create,cS=Ps.create,uS=Ur.create,Kp=Mr.create,lS=Lr.create,dS=Us.create,gS=_r.create,hS=Pr.create,pS=tr.create,fS=Sn.create,mS=Vt.create,ES=Ms.create,CS=vn.create,IS=ut.create,yS=ut.strictCreate,QS=Or.create,BS=Ka.create,wS=Gr.create,bS=An.create,kS=Xa.create,RS=Ls.create,SS=_s.create,vS=eA.create,xS=$r.create,DS=Yr.create,TS=Hr.create,NS=Vr.create,FS=nr.create,US=Mt.create,MS=Ft.create,LS=cn.create,_S=Mt.createWithPreprocess,PS=co.create,OS=o(()=>zp().optional(),"ostring"),GS=o(()=>Zp().optional(),"onumber"),$S=o(()=>Kp().optional(),"oboolean"),YS={string:o((t=>er.create({...t,coerce:!0})),"string"),number:o((t=>Fr.create({...t,coerce:!0})),"number"),boolean:o((t=>Mr.create({...t,coerce:!0})),"boolean"),bigint:o((t=>Ur.create({...t,coerce:!0})),"bigint"),date:o((t=>Lr.create({...t,coerce:!0})),"date")};var HS=Z;var Ef=require("node:crypto");var Wr=(i=>(i.NotFound="not_found",i.NoAccess="no_access",i.Unavailable="unavailable",i.AccessLost="access_lost",i.CannotOpen="cannot_open",i))(Wr||{});var _u=o(t=>`${t.source}:${t.site??""}:${t.key}`,"requirementItemId");var tA=/^pasted-[0-9a-f]{16}$/,uo=/^file-[0-9a-f]{16}$/,lo=(s=>(s.Pdf="application/pdf",s.Csv="text/csv",s.Docx="application/vnd.openxmlformats-officedocument.wordprocessingml.document",s.Xlsx="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",s))(lo||{});var zr=(n=>(n.Sufficient="sufficient",n.Insufficient="insufficient",n))(zr||{}),go=(f=>(f.RelatedChangeConflict="related_change_conflict",f.ReferenceOutsideTarget="reference_outside_target",f.SourceAccessLost="source_access_lost",f.ConfigurationIncomplete="configuration_incomplete",f.CredentialUnavailable="credential_unavailable",f.WorkflowBindingUnverified="workflow_binding_unverified",f.WorkflowRefUnprotected="workflow_ref_unprotected",f.BedrockWorkflowRequired="bedrock_workflow_required",f.DeploymentReview="deployment_review",f.SutRevisionMismatch="sut_revision_mismatch",f.IsolationUnavailable="isolation_unavailable",f.EvidenceInsufficient="evidence_insufficient",f))(go||{}),rr=(i=>(i.CiCheck="ci_check",i.TestReport="test_report",i.StaticAnalysis="static_analysis",i.CodeReview="code_review",i.Other="other",i))(rr||{}),Pu=(r=>(r.Application="application",r.Environment="environment",r.TestDefect="test_defect",r))(Pu||{}),Ou=(c=>(c.AuthToken="auth_token",c.Secret="secret",c.DataConnection="data_connection",c.AppNotStarted="app_not_started",c.Login="login",c.ExternalDependency="external_dependency",c.RecordingReplay="recording_replay",c))(Ou||{});var nA=(n=>(n.Probe="probe",n.Agent="agent",n))(nA||{}),rA=(r=>(r.Seed="seed",r.RuntimeMock="runtime_mock",r.EnvOverride="env_override",r))(rA||{}),sA=(r=>(r.TestCode="test_code",r.SkyrampMocker="skyramp_mocker",r.RecipeOverride="recipe_override",r))(sA||{});var Gu=(n=>(n.Ready="ready",n.Blocked="blocked",n))(Gu||{}),Ne=A.string().trim().min(1),VS=A.object({action:A.enum(["start","run","wait"]),text:Ne,source:A.enum(["file","notes","testbot"]).describe("file: a file in the repository; notes: the Target's notes; testbot: Testbot's own finding"),file:Ne.nullable().describe("the file the step came from, relative to the component's repository; null unless source is file")}).strict().refine(t=>t.source==="file"==(t.file!==null),{path:["file"],message:"a file exactly when the step came from one"}),JS=/^[A-Za-z_][A-Za-z0-9_]*$/,ho=/^(?!GITHUB_)(?!SKYRAMP_RUNNER_)[A-Z][A-Z0-9_]{0,99}$/,Os=(a=>(a.VersionEndpoint="version_endpoint",a.DeployWorkflow="deploy_workflow",a.KubernetesLabels="kubernetes_labels",a.Command="command",a.Api="api",a.NotTracked="not_tracked",a))(Os||{}),un="shared",qS=Ne.refine(t=>{try{let e=new URL(t);return["http:","https:"].includes(e.protocol)&&!e.username&&!e.password}catch{return!1}},"an http(s) URL with no login in it"),Gs=A.object({address:qS,readyWhen:Ne.nullable(),credentials:A.array(A.string().regex(ho)).max(50),revisionSources:A.array(A.object({method:A.nativeEnum(Os),detail:Ne.describe("what Testbot reads, such as GET /version or the deploy workflow's name; for not_tracked, why nothing shows it"),components:A.array(Ne).min(1).describe("the components it tells the revision of, by name")}).strict()).max(50)}).strict(),$u={steps:A.array(VS).max(20).optional().describe("how it starts, in order"),kind:A.enum(["web_app","service","database","external_service"]).optional(),from:A.object({file:Ne,service:Ne.nullable()}).strict().optional(),credentials:A.array(A.string().max(100).regex(JS)).max(50).optional().describe("the Target's credentials this component's recipe uses: a sign-in (a test user, password or token) or an API key, which the workflow supplies from a GitHub Actions secret as the environment variable of the credential's name; give each name exactly as the recipe reads it. Names only, never a value, and not a secret the recipe generates itself")},jS=A.object({name:Ne,repository:Ne.describe("owner/repo of the Target repository the component is built or started from, such as the one whose compose file starts its database"),healthy:A.boolean(),...$u,deployed:Ne.nullable().optional().describe('only with "environment": the revision the component runs, as you read it from its revision source, or null when you could not tell')}),WS=A.object({component:Ne,problem:Ne,evidence:Ne.describe("the exact command and output that shows it"),fix:Ne.describe("what the user must provide, and where")}),zS=A.object({framework:Ne,file:Ne.describe("the test file run, relative to its repository root"),result:A.enum(["pass","fail","error"])}),ZS=A.object({input:Ne.describe("the part of the user's SUT input, as given"),reason:Ne}),uH=A.object({schemaVersion:A.literal(1),status:A.nativeEnum(Gu).describe("ready only if every component came up healthy and the recipe is written"),components:A.array(jS),suites:A.array(zS).default([]).describe("one run per test suite the Target's repositories have; empty when they have none"),inputsUsed:A.array(Ne).default([]).describe("the parts of the user's SUT input the recipe used as given"),inputsUsedHow:A.array(A.object({input:Ne.describe("exactly as written in inputsUsed; an entry that is not there is left out"),how:Ne.describe("what the recipe did with it")})).optional(),inputsNotUsed:A.array(ZS).default([]).describe("the parts it did not use, and why. A part that is wrong goes here, with what was wrong, even when the recipe does something like it instead: one that names a file, command, port, route or setting that does not exist or does not work (SKYR-5265)"),blockers:A.array(WS).describe("required (non-empty) when status is blocked"),environment:Gs.optional().describe("only when the whole SUT is an existing deployment you tested where it runs, building and starting nothing: its address, what says it is ready, the credentials that reach it, and how to read what each component runs. Leave it out when any part was built or started on the runner, or reaching it needed something there (a tunnel, port-forward, proxy or client certificate)")});var Yu=64*1024,Hu=512*1024,Xp=/[\u0000-\u0008\u000b\u000e-\u001f\u007f]|[\ud800-\udbff](?![\udc00-\udfff])|(?<![\ud800-\udbff])[\udc00-\udfff]/;var tf=He(require("path"));var ir=(s=>(s.Clean="clean",s.RecipeDrift="recipe-drift",s.ChangeBrokeBringup="change-broke-bringup",s.BringupFailed="bringup-failed",s))(ir||{}),sr=A.string().trim().min(1),KS=A.object({url:A.string().optional().describe("the URL probed, if the check is an HTTP request"),command:A.string().optional().describe("the command run, if the check is a script \u2014 preferred when auth is needed"),headers:A.record(A.string()).optional(),status:A.union([A.number(),A.string()]).optional().describe("expected HTTP status for a url check (default 200)"),output:sr.describe("what the check returned, VERBATIM \u2014 the bytes, nothing appended; this gate RE-RUNS the check")}),Vu=A.array(A.object({component:sr.describe("a shared component listed above"),url:sr.describe("the URL on the component's own origin (scheme, host and port) that answers with its deployed commit"),output:sr.describe("what the URL returned, VERBATIM; this gate FETCHES each url")})).describe("only when shared components are listed above: one check per component whose deployed commit you found"),ef=A.object({schemaVersion:A.literal(1),baseUrls:A.record(A.string()).optional().describe("service \u2192 base URL of the running app; omit on a failed bring-up, never invent one"),health:KS.optional(),teardown:sr.describe("command that tears the SUT down"),dependencies:A.record(A.boolean()).optional().describe("EVERY backing service: true = really deployed, false = mocked; REQUIRED when the app came up"),outcome:A.nativeEnum(ir).describe("clean | recipe-drift (you corrected the recipe) | change-broke-bringup (the PR broke it) | bringup-failed (environment, not the PR)"),recipeFixes:A.array(A.string()).optional().describe("required when outcome is recipe-drift: what was corrected"),bringupError:A.object({command:sr,output:sr}).optional().describe("required when bring-up failed: the exact failing command and what it printed"),suspectFiles:A.array(A.string()).optional().describe("required for change-broke-bringup: files THIS PR changed that the failure points at, relative to your working directory (a file in another checkout of the run: its absolute path)"),seeded:A.boolean(),startedAt:sr.describe("ISO timestamp"),revisions:Vu.optional()});var ze=A.string().trim().min(1),Ju=(n=>(n.TestbotManaged="testbot_managed",n.CustomerDeployed="customer_deployed",n))(Ju||{}),qu=[".skyramp/sut/setup.sh",".skyramp/sut/teardown.sh"],nf=A.object({schemaVersion:A.literal(1),type:A.nativeEnum(Ju).optional(),status:A.enum(["ready","blocked"]),environment:Gs.optional(),components:A.array(A.object({name:ze,repository:ze.describe(`owner/repo, or "${un}" for a customer-deployed component no repository builds`),healthy:A.boolean(),url:A.string().min(1).nullable(),...$u,credentials:A.array(A.string().regex(ho)).max(50).optional(),deployed:ze.nullable().optional().describe("customer_deployed only: the revision the component runs, as setup read it (WF-SETUP-22's Deployed now), or null when it could not tell")}).strict()),suites:A.array(A.object({framework:ze,file:ze,result:A.enum(["pass","fail","error"])}).strict()),inputsUsed:A.array(ze),inputsUsedHow:A.array(A.object({input:ze,how:ze}).strict()).optional(),inputsNotUsed:A.array(A.object({input:ze,reason:ze}).strict()),blockers:A.array(A.object({component:ze,problem:ze,evidence:ze,fix:ze}).strict()),replay:A.object({outcome:ze,durationSeconds:A.number().nonnegative().nullable()}).strict().nullable(),files:A.array(A.object({path:ze,content:A.string()}).strict())}).strict().superRefine((t,e)=>{t.inputsUsedHow?.forEach((s,i)=>{t.inputsUsed.includes(s.input)||e.addIssue({code:A.ZodIssueCode.custom,path:["inputsUsedHow",i,"input"],message:"not one of inputsUsed"})}),t.components.forEach((s,i)=>{s.credentials&&new Set(s.credentials).size!==s.credentials.length&&e.addIssue({code:A.ZodIssueCode.custom,path:["components",i,"credentials"],message:"names a credential twice"})});let n=t.type==="customer_deployed";n!==(t.environment!==void 0)&&e.addIssue({code:A.ZodIssueCode.custom,path:["environment"],message:"an environment exactly when the plan's type is customer_deployed"}),t.environment&&new Set(t.environment.credentials).size!==t.environment.credentials.length&&e.addIssue({code:A.ZodIssueCode.custom,path:["environment","credentials"],message:"names a credential twice"});let r=new Set(t.components.map(s=>s.name));if(t.environment?.revisionSources.forEach((s,i)=>{s.components.forEach((a,c)=>{r.has(a)||e.addIssue({code:A.ZodIssueCode.custom,path:["environment","revisionSources",i,"components",c],message:"not one of components"})})}),t.components.forEach((s,i)=>{s.deployed!==void 0!==n&&e.addIssue({code:A.ZodIssueCode.custom,path:["components",i,"deployed"],message:"what a component runs exactly when the plan is customer_deployed"}),s.repository===un&&!n&&e.addIssue({code:A.ZodIssueCode.custom,path:["components",i,"repository"],message:`only a customer_deployed component is ${un}`})}),n&&(t.components.forEach((s,i)=>{t.components.findIndex(a=>a.name===s.name)!==i&&e.addIssue({code:A.ZodIssueCode.custom,path:["components",i,"name"],message:"names a component twice"})}),t.replay!==null&&e.addIssue({code:A.ZodIssueCode.custom,path:["replay"],message:"a customer_deployed plan is never replayed"}),t.files.forEach((s,i)=>{qu.includes(s.path)&&e.addIssue({code:A.ZodIssueCode.custom,path:["files",i,"path"],message:"a customer_deployed plan has no script that starts or stops the system"})})),n&&t.status==="ready"){let s=new Set(t.environment?.revisionSources.flatMap(i=>i.components));t.components.forEach((i,a)=>{i.repository!==un&&!s.has(i.name)&&e.addIssue({code:A.ZodIssueCode.custom,path:["components",a,"name"],message:"a ready customer_deployed plan reads what every component a repository builds runs"})})}});var CH=["clean","recipe-drift"];function iA(t){let e=tf.posix.normalize(t);return e===t&&(e===".skyramp/workspace.yml"||e.startsWith(".skyramp/sut/")&&e.length>13)}o(iA,"isRuntimePlanFile");var Ys=(n=>(n.GitHub="github",n.AzureDevOps="azure-devops",n))(Ys||{}),Ku=(i=>(i.Trigger="TRIGGER",i.Baseline="BASELINE",i.AuthoritativeRelatedChange="AUTHORITATIVE_RELATED_CHANGE",i.ConfiguredSharedDependency="CONFIGURED_SHARED_DEPENDENCY",i.ManualOverride="MANUAL_OVERRIDE",i))(Ku||{}),Xu=(a=>(a.PullRequest="pull_request",a.ReadyForReview="ready_for_review",a.Schedule="schedule",a.Manual="manual",a.SutSetup="sut_setup",a.RevisionRead="revision_read",a))(Xu||{}),XS=["sut_setup"],ev=["sut_setup","schedule","revision_read"],tv=["sut_setup"],el=(e=>(e.PullRequest="pull_request",e))(el||{}),Cf=(s=>(s.ModelProvider="model_provider",s.SutAccess="sut_access",s.Skyramp="skyramp",s.Other="other",s))(Cf||{}),cA=(s=>(s.None="none",s.Delivered="delivered",s.Partial="partial",s.Failed="failed",s))(cA||{}),po=(i=>(i.ReportUploaded="report_uploaded",i.NoReport="no_report",i.Cancelled="cancelled",i.RecipeUploaded="recipe_uploaded",i.RevisionsUploaded="revisions_uploaded",i))(po||{}),If=(n=>(n.Running="running",n.Ended="ended",n))(If||{}),fo=(c=>(c.TimedOut="timed_out",c.AgentFailed="agent_failed",c.SetupFailed="setup_failed",c.CredentialMissing="credential_missing",c.RunnerLost="runner_lost",c.CheckoutFailed="checkout_failed",c.EnvironmentUnverified="environment_unverified",c))(fo||{}),yf=(r=>(r.Onboard="onboard",r.Deploy="deploy",r.Recheck="recheck",r))(yf||{}),Qf=(n=>(n.Started="started",n.Finished="finished",n))(Qf||{}),Bf=(r=>(r.Passed="passed",r.Failed="failed",r.Skipped="skipped",r))(Bf||{});var wf=(r=>(r.ChooseCredential="choose_credential",r.FreeText="free_text",r.ChooseSource="choose_source",r))(wf||{});var tl=(r=>(r.Discover="discover",r.Start="start",r.Check="check",r))(tl||{}),nl=(s=>(s.Found="found",s.Starting="starting",s.Up="up",s.OutOfScope="out_of_scope",s))(nl||{}),Jt=A.string().regex(/^[1-9][0-9]{0,18}$/),or=A.string().regex(/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/),Hs=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,tt=A.string().regex(Hs),nt=A.string().regex(/^[0-9a-f]{64}$/),aA=A.object({id:tt,revision:Jt}).strict(),uA={provider:A.literal("github"),providerAccountId:Jt,providerRepositoryId:Jt},lA={provider:A.literal("azure-devops"),providerAccountId:tt,providerRepositoryId:tt},ar=A.discriminatedUnion("provider",[A.object(uA).strict(),A.object(lA).strict()]),rl=A.discriminatedUnion("provider",[A.object(uA).passthrough(),A.object(lA).passthrough()]),xn=o(t=>`${t.provider}:${t.providerRepositoryId}`,"sourceKey"),rf={namespace:A.string().min(1),name:A.string().min(1)},bf=A.discriminatedUnion("provider",[A.object({...uA,...rf}).strict(),A.object({...lA,...rf}).strict()]),sf=A.object({ref:A.string().min(1),revision:or}).strict(),nv=A.object({repository:bf,revision:or,ref:A.string().nullable(),reason:A.nativeEnum(Ku),change:A.object({kind:A.nativeEnum(el),number:Jt,base:sf.optional()}).strict().nullable(),compareWith:sf.optional()}).strict();function rv(t){if(t.trigger.kind==="revision_read"!=!t.baseline)return t.baseline?"a revision_read run names no baseline":"names its baseline";if(!t.baseline)return null;let{confirmedRunId:e,initialBaselineId:n,sources:r}=t.baseline;if(e!==null&&n!==void 0)return"a run compares with one baseline";let s=t.trigger.kind==="schedule"&&e!==null||n!==void 0;if(!r)return s?"names every source of the snapshot, once":null;if(e===null&&n===void 0)return"a run with no Confirmed Baseline names no baseline sources";let i=new Set(t.sources.map(l=>xn(l.repository))),a=new Set(r.map(l=>xn(l.repository)));return a.size===r.length&&a.size===i.size&&[...a].every(l=>i.has(l))?null:"names every source of the snapshot, once"}o(rv,"baselineSourcesIssue");var kf=/^[A-Z][A-Z0-9_]+-[1-9][0-9]*$/,Rf=/^[1-9][0-9]{0,18}$/,of=new RegExp(`${kf.source}|${Rf.source}`),af=/^https:\/\/[a-z0-9-]+(\.[a-z0-9-]+)+$/,sv=A.union([A.object({source:A.literal("jira"),site:A.string().regex(af),key:A.string().regex(kf),updated:A.string().datetime(),contentHash:nt}).strict(),A.object({source:A.literal("confluence"),site:A.string().regex(af),key:A.string().regex(Rf),version:A.number().int().positive(),contentHash:nt}).strict(),A.object({source:A.literal("other"),key:A.string().regex(tA),contentHash:nt}).strict(),A.object({source:A.literal("other"),key:A.string().regex(uo),contentHash:nt,fileName:A.string().min(1).max(255),mediaType:A.nativeEnum(lo)}).strict()]),Af=A.union([A.literal("jira"),A.literal("confluence")]),iv=A.object({schemaVersion:A.literal(1),items:A.array(A.union([A.object({source:Af,site:A.string(),key:A.string().regex(of),state:A.literal("read"),text:A.string(),version:A.string().min(1),contentMatches:A.boolean()}).strict(),A.object({source:Af,site:A.string(),key:A.string().regex(of),state:A.literal("not_read"),reason:A.nativeEnum(Wr)}).strict(),A.object({source:A.literal("other"),key:A.string().regex(tA),state:A.literal("read"),text:A.string(),version:A.string().min(1),contentMatches:A.boolean()}).strict(),A.object({source:A.literal("other"),key:A.string().regex(tA),state:A.literal("not_read"),reason:A.nativeEnum(Wr)}).strict(),A.object({source:A.literal("other"),key:A.string().regex(uo),state:A.literal("read"),version:nt,fileName:A.string().min(1).max(255),mediaType:A.nativeEnum(lo)}).strict(),A.object({source:A.literal("other"),key:A.string().regex(uo),state:A.literal("not_read"),reason:A.nativeEnum(Wr)}).strict()])),instructions:A.array(A.string()).optional()}).strict(),ov=A.object({schemaVersion:A.literal(1),runId:tt,skyrampOrgId:tt,target:aA,policy:aA.nullable(),trigger:A.object({kind:A.nativeEnum(Xu),requestedAt:A.string().datetime()}).strict(),configuration:A.object({captureId:tt,revision:Jt.nullable(),hash:nt}).strict(),baseline:A.object({confirmedRunId:tt.nullable(),initialBaselineId:tt.optional(),sources:A.array(A.object({repository:ar,revision:or}).strict()).optional()}).strict().optional(),sources:A.array(nv).min(1),execution:A.object({provider:A.nativeEnum(Ys),repository:bf,workflowPath:A.string(),ref:A.string()}).strict(),credentials:A.array(A.object({name:A.string(),purpose:A.nativeEnum(Cf),required:A.boolean()}).strict()),requirements:A.array(sv).min(1).optional(),instructions:A.object({contentHash:nt}).strict().optional(),deployedRevisions:A.array(A.object({repository:ar,revision:or}).strict()).min(1).optional()}).strict().superRefine((t,e)=>{let n=new Set;(t.requirements??[]).forEach((l,d)=>{let g="fileName"in l?"file":"pasted";l.source==="other"&&l.key!==`${g}-${l.contentHash.slice(0,16)}`&&e.addIssue({code:A.ZodIssueCode.custom,message:"is not the key of its content hash",path:["requirements",d,"key"]});let h=_u({source:l.source,key:l.key});n.has(h)&&e.addIssue({code:A.ZodIssueCode.custom,message:"names an item that the run already names",path:["requirements",d,"key"]}),n.add(h)});let r=t.trigger.kind,s=XS.includes(r);s!==(t.policy===null)&&e.addIssue({code:A.ZodIssueCode.custom,path:["policy"],message:s?`a ${r} run has no policy`:"names the policy revision"});let i=rv(t);i&&e.addIssue({code:A.ZodIssueCode.custom,path:t.baseline?["baseline","sources"]:["baseline"],message:i}),ev.includes(r)&&t.sources.forEach((l,d)=>{l.reason!=="BASELINE"&&e.addIssue({code:A.ZodIssueCode.custom,path:["sources",d,"reason"],message:`a ${r} run selects only BASELINE sources`})}),t.deployedRevisions&&r!=="manual"&&e.addIssue({code:A.ZodIssueCode.custom,path:["deployedRevisions"],message:"only a manual run pins deployed revisions"});let a=new Set(t.sources.map(l=>xn(l.repository))),c=new Set;(t.deployedRevisions??[]).forEach((l,d)=>{let g=xn(l.repository);a.has(g)?c.has(g)&&e.addIssue({code:A.ZodIssueCode.custom,path:["deployedRevisions",d,"repository"],message:"repository appears twice"}):e.addIssue({code:A.ZodIssueCode.custom,path:["deployedRevisions",d,"repository"],message:"names a repository outside the snapshot"}),c.add(g)}),t.sources.forEach((l,d)=>{l.compareWith&&(l.reason!=="MANUAL_OVERRIDE"||l.change)&&e.addIssue({code:A.ZodIssueCode.custom,path:["sources",d,"compareWith"],message:"only a MANUAL_OVERRIDE source without a change names a revision to compare with"})})});var Sf=(n=>(n.Person="person",n.Policy="policy",n))(Sf||{}),av=A.object({kind:A.nativeEnum(Sf),name:A.string().min(1).max(256)}).strict(),Av=A.object({schemaVersion:A.literal(1),attempt:A.object({id:tt,number:A.number().int().positive(),deadlineAt:A.string().datetime()}).strict(),manifest:ov,manifestHash:nt,entitlements:A.array(A.string()).optional(),runToken:A.string().min(1).optional(),requestedBy:av.nullable().optional(),writeAllowed:A.boolean().optional(),claudeCodeVersion:A.string().regex(/^[0-9]+\.[0-9]+\.[0-9]+$/,"an exact version, such as 2.1.290").nullable().optional(),deployedRevisions:A.array(A.object({repository:ar,revision:or}).strict()).optional()}).strict(),cf={providerRunAttempt:A.number().int().positive(),workflowRef:A.string().min(1)},cv=A.string().regex(/^[^/]+\/[^/]+\/[1-9][0-9]{0,15}\/[1-9][0-9]{0,15}$/),uv=A.object({schemaVersion:A.literal(1),runId:tt,execution:A.discriminatedUnion("provider",[A.object({...cf,provider:A.literal("github"),repository:A.object(uA).strict(),providerRunId:Jt}).strict(),A.object({...cf,provider:A.literal("azure-devops"),repository:A.object(lA).strict(),providerRunId:cv}).strict()]),requester:A.literal(!0).optional(),writeCheck:A.literal(!0).optional(),claudeCodePin:A.literal(!0).optional(),deployedPins:A.literal(!0).optional()}).strict(),uf=A.object({repository:ar,number:Jt}).strict(),lv=A.discriminatedUnion("status",[A.object({status:A.literal("none")}).strict(),A.object({status:A.literal("delivered"),pullRequests:A.array(uf).min(1)}).strict(),A.object({status:A.literal("partial"),pullRequests:A.array(uf).min(1),failures:A.array(A.object({repository:ar,message:A.string()}).strict()).min(1)}).strict(),A.object({status:A.literal("failed"),message:A.string()}).strict()]),dv=A.object({sufficiency:A.nativeEnum(zr),rationale:A.string().min(1),gaps:A.array(A.string().min(1)),acceptedEvidence:A.array(A.object({kind:A.nativeEnum(rr),repository:A.string().min(1),revision:or,reference:A.string().min(1),summary:A.string().min(1)}).strict()),actionRequired:A.array(A.nativeEnum(go))}).strict().superRefine((t,e)=>{t.sufficiency==="sufficient"!=(t.gaps.length===0)&&e.addIssue({code:A.ZodIssueCode.custom,path:["gaps"],message:"sufficient evidence has no gaps, and insufficient evidence names at least one"}),new Set(t.actionRequired).size!==t.actionRequired.length&&e.addIssue({code:A.ZodIssueCode.custom,path:["actionRequired"],message:"a reason appears twice"})}),ju=500,gv=2048,hv=1e3,pv=/[\\/:*?"<>|;#$*{},+=[\]%\p{Cc}\p{Cf}]/u,lf=o(t=>t.length>0&&t.length<=64&&t===t.trim()&&!pv.test(t)&&!/[^\S ]/u.test(t)&&!/^[._]/.test(t)&&!t.endsWith("."),"isAzureName"),fv=o(t=>{if(/^[A-Za-z0-9._-]{1,100}\/[A-Za-z0-9._-]{1,100}$/.test(t))return!0;let[e,n,r,...s]=t.split("/");return t.length<=201&&s.length===0&&r!==void 0&&/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,48}[A-Za-z0-9])?$/.test(e)&&lf(n)&&lf(r)},"isResultRepository"),mv=A.object({testResults:A.array(A.object({resultId:A.string().regex(/^[^\u0000-\u001f]{1,512}$/),repository:A.string().refine(fv,"Invalid"),testType:A.string(),endpoint:A.string(),status:A.enum(["Pass","Fail","Skipped"]),details:A.string(),fileName:A.string().optional(),testId:A.string().regex(/^[^\u0000-\u001f]{1,512}$/).optional(),failureCause:A.object({kind:A.nativeEnum(Pu),family:A.nativeEnum(Ou).optional()}).strict().optional()}).strict()),validation:dv,changes:A.array(A.object({id:A.string().min(1).max(512),text:A.string().max(16384),source:A.string().max(gv),testedBy:A.array(A.string().min(1).max(1024)).max(ju),writtenBy:A.array(A.string().min(1).max(1024)).max(ju),maintainedBy:A.array(A.string().min(1).max(1024)).max(ju)}).strict()).max(hv).optional(),traceVersion:A.literal(1)}).passthrough().superRefine((t,e)=>{let n=new Set;t.testResults.forEach((r,s)=>{let i=r.failureCause;i&&r.status==="Pass"&&e.addIssue({code:A.ZodIssueCode.custom,path:["testResults",s,"failureCause"],message:"a passing result has no failure cause"}),i&&i.kind==="environment"!=(i.family!==void 0)&&e.addIssue({code:A.ZodIssueCode.custom,path:["testResults",s,"failureCause"],message:"an environment cause names its family, and no other cause does"});let a=["testResults",s,"resultId"],c=r.resultId.slice(`${r.repository}:${r.testType}:`.length);(!r.resultId.startsWith(`${r.repository}:${r.testType}:`)||c===""||c.startsWith("/")||c.startsWith("#"))&&e.addIssue({code:A.ZodIssueCode.custom,path:a,message:"is not repository:testType:path for this result"}),n.has(r.resultId)&&e.addIssue({code:A.ZodIssueCode.custom,path:a,message:"stable identity repeated"}),n.add(r.resultId)})}),df=o(t=>t.replace(/[%:#]/g,e=>encodeURIComponent(e)),"encodeIdPart");function vf(t,e,n,r){let s=n.replace(/\\/g,"/"),i=s.split("/").filter(l=>l!==""&&l!==".");if(s.startsWith("/")||/^[A-Za-z]:/.test(s)||i.length===0||i.includes(".."))throw new Error(`testResultId needs a path relative to the repository root, got "${n}"`);let a=i.join("/"),c=`${t}:${e}:${df(a)}`;return r?`${c}#${df(r)}`:c}o(vf,"testResultId");var dA=(r=>(r.BranchPushed="branch_pushed",r.PullRequestOpened="pull_request_opened",r.PullRequestEdited="pull_request_edited",r))(dA||{}),xf=50,gf=A.string().regex(/^(?!.*\.\.)(?!\/)(?!.*\/$)[A-Za-z0-9._/-]{1,255}$/),Df=A.discriminatedUnion("kind",[A.object({kind:A.literal("branch_pushed"),repository:ar,branch:gf,commit:or}).strict(),A.object({kind:A.enum(["pull_request_opened","pull_request_edited"]),repository:ar,number:Jt,branch:gf}).strict()]),Tf=A.object({schemaVersion:A.literal(1),run:A.object({runId:tt,attemptNumber:A.number().int().positive(),manifestHash:nt}).strict(),target:aA,policy:aA,provenance:A.object({sources:A.array(A.object({repository:ar,revision:or}).strict()),firstQualification:A.literal(!0).optional()}).strict(),delivery:A.object({generatedTests:lv}).strict(),producer:A.object({testbot:A.string().regex(/^[0-9A-Za-z.+-]{1,64}$/),mcp:A.string().regex(/^[0-9A-Za-z.+-]{1,64}$/)}).strict(),report:mv,githubWrites:A.array(Df).max(xf).optional()}).strict(),RH=Tf.pick({schemaVersion:!0,run:!0,target:!0,provenance:!0,producer:!0}).extend({recipe:nf}).strict().superRefine(({recipe:t},e)=>{let n=o((i,a)=>e.addIssue({code:A.ZodIssueCode.custom,path:["recipe",...i],message:a}),"issue");t.status==="blocked"&&t.blockers.length===0&&n(["blockers"],"a blocked recipe names at least one blocker");let r=new Set,s=0;t.files.forEach((i,a)=>{iA(i.path)||n(["files",a,"path"],"is not .skyramp/workspace.yml or a file under .skyramp/sut/"),r.has(i.path)&&n(["files",a,"path"],"file repeated"),r.add(i.path),Xp.test(i.content)&&n(["files",a,"content"],"is not text");let c=Buffer.byteLength(i.content,"utf8");s+=c,c>Yu&&n(["files",a,"content"],`larger than ${Yu} bytes`)}),s>Hu&&n(["files"],`recipe text over ${Hu} bytes in total`)}),SH=A.object({components:A.array(A.object({name:A.string().min(1),repository:A.string().regex(/^[A-Za-z0-9._-]{1,100}\/[A-Za-z0-9._-]{1,100}$/),observedRevision:A.string().regex(/^[0-9a-f]{7,64}$/).nullable(),source:A.nativeEnum(nA),evidence:A.string()}).strict().refine(t=>t.source!=="agent"||t.observedRevision===null,{path:["observedRevision"],message:"a component only an agent session can read names no revision"}))}).strict();var Ev=A.object({schemaVersion:A.literal(1),stage:A.nativeEnum(yf),event:A.nativeEnum(Qf),status:A.nativeEnum(Bf).optional()}).strict().refine(t=>t.status===void 0||t.event==="finished",{path:["status"],message:"only a finished stage has a status"}),Nf=100,Cv=5e3,Wu=2e3,hf=100,Ff=/^[A-Za-z0-9_-]{1,64}$/,Iv=20,yv=200,Qv=100,Bv=100,wv=200,pf="[^/\\s](?:(?:[^/\\s]| )*[^/\\s])?",bv=new RegExp(`^(?:[^/\\s]+/[^/\\s]+|[^/\\s]+/${pf}/${pf})$`),kv=500,Rv=50,Sv=/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]|[\ud800-\udbff](?![\udc00-\udfff])|(?<![\ud800-\udbff])[\udc00-\udfff]/,ln=o(t=>A.string().max(t).refine(e=>e.trim().length>0&&!Sv.test(e),"blank, or not text"),"setupText"),$s={sequence:A.number().int().min(1).max(Cv),at:A.string().regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,6})?Z$/)},vv=A.discriminatedUnion("kind",[A.object({...$s,kind:A.literal("log"),phase:A.nativeEnum(tl),text:ln(Wu)}).strict(),A.object({...$s,kind:A.literal("component"),name:ln(hf),repository:ln(wv).refine(t=>bv.test(t)||t===un,"not owner/name"),file:ln(kv).nullable(),status:A.nativeEnum(nl),version:ln(Bv).optional()}).strict(),A.object({...$s,kind:A.literal("reply"),to:A.string().uuid(),accepted:A.boolean(),text:ln(Wu)}).strict(),A.object({...$s,kind:A.literal("question"),id:A.string().regex(Ff),type:A.nativeEnum(wf),text:ln(Wu),component:ln(hf).nullable(),choices:A.array(ln(yv)).max(Iv),placeholder:ln(Qv).optional()}).strict(),A.object({...$s,kind:A.literal("delivered"),ids:A.array(A.string().uuid()).max(Nf)}).strict(),A.object({...$s,kind:A.literal("credentials"),names:A.array(A.string().regex(ho)).min(1).max(Rv)}).strict()]).superRefine((t,e)=>{t.kind==="credentials"&&new Set(t.names).size!==t.names.length&&e.addIssue({code:A.ZodIssueCode.custom,path:["names"],message:"a name twice"}),t.kind==="question"&&(t.type==="free_text"!=(t.choices.length===0)&&e.addIssue({code:A.ZodIssueCode.custom,path:["choices"],message:"choices exactly when the question is not free_text"}),new Set(t.choices).size!==t.choices.length&&e.addIssue({code:A.ZodIssueCode.custom,path:["choices"],message:"a choice twice"}))}),xv=A.object({schemaVersion:A.literal(1),events:A.array(vv).max(Nf)}).strict(),ff={id:A.string().uuid(),text:A.string(),by:A.string().nullable(),at:A.string(),replied:A.literal(!0).optional()},Dv=A.discriminatedUnion("kind",[A.object({...ff,kind:A.literal("instruction"),question:A.null()}),A.object({...ff,kind:A.literal("answer"),question:A.string().regex(Ff)})]),Uf=A.string().regex(/^[A-Za-z0-9+/]{43}=$/),Tv=A.object({id:A.string().uuid(),revision:A.string(),by:A.string().nullable(),at:A.string(),target:A.string(),own:A.object({source:A.enum(["policy","test_environment"]),text:A.string()}).nullable()}),Nv=A.object({schemaVersion:A.literal(1),leftOut:A.array(A.string()),messages:A.array(Dv).optional(),stop:A.object({key:Uf}).optional(),notes:Tv.optional()});var Fv=500*1024*1024,Mf=A.object({id:Jt,name:A.string().regex(/^[A-Za-z0-9._-]{1,200}$/),providerRunId:Jt,expiresAt:A.string().datetime()}).strict(),Uv=A.object({schemaVersion:A.literal(1),artifact:Mf,sessionId:tt,contentHash:nt,bytes:A.number().int().min(1).max(Fv)}).strict(),Mv=A.object({schemaVersion:A.literal(1),checkpoint:A.object({artifact:Mf,repository:A.object({namespace:A.string().min(1),name:A.string().min(1)}).strict(),sessionId:tt,contentHash:nt,key:Uf}).strict().nullable()}).strict(),Lv=200,oA=100,Lf=(r=>(r.Resume="resume",r.Retry="retry",r.Update="update",r))(Lf||{}),_v=A.object({kind:A.nativeEnum(Lf),setup:A.object({runId:tt,endedAt:A.string().nullable(),outcome:A.string().nullable()}).strict(),components:A.array(A.object({name:A.string().min(1),repository:A.string().min(1),status:A.nativeEnum(nl)}).strict()).max(oA),credentials:A.array(A.string().min(1)).max(oA),answers:A.array(A.object({question:A.string(),answer:A.string().nullable()}).strict()).max(oA),instructions:A.array(A.object({text:A.string(),reply:A.string().nullable()}).strict()).max(oA),log:A.array(A.object({phase:A.nativeEnum(tl),text:A.string()}).strict()).max(Lv)}).strict(),Pv=A.object({schemaVersion:A.literal(1),context:_v.nullable()}).strict(),Ov=A.object({schemaVersion:A.literal(1),configuration:A.object({captureId:tt,revision:Jt.nullable(),hash:nt}).strict(),capture:A.object({schemaVersion:A.literal(1),settings:A.object({target:A.object({environment:A.unknown()}).passthrough(),timeoutMinutes:A.number().int().positive(),answerWaitMinutes:A.number().int().positive().optional(),testEnvironment:A.object({name:A.string().min(1),address:A.string().min(1).optional(),readyWhen:A.string().min(1).optional()}).passthrough().optional()}).passthrough(),provenance:A.object({}).passthrough(),hash:nt}).strict()}).strict(),Gv=Gs.extend({version:A.number().int().positive(),components:A.array(A.object({name:A.string().min(1),repository:A.string().min(1)}).strict()),contentHash:nt.optional(),files:A.array(A.object({path:A.string().refine(t=>iA(t)&&!qu.includes(t),"not a file of a customer_deployed plan"),content:A.string()}).strict()).optional()}).strict(),$v=A.object({schemaVersion:A.literal(1),testEnvironment:Gv.nullable().optional(),runtimePlan:A.object({version:A.number().int().positive(),contentHash:nt,files:A.array(A.object({path:A.string().refine(iA,"not a recipe file path"),content:A.string()}).strict()).min(1),recipe:A.record(A.unknown()).optional()}).strict().nullable()}).strict().refine(t=>!(t.runtimePlan&&t.testEnvironment),{message:"a run pins a recipe or a customer's Test Environment, never both",path:["testEnvironment"]}),_f=A.object({schemaVersion:A.literal(1),state:A.nativeEnum(If),ending:A.nativeEnum(po).nullable(),cause:A.nativeEnum(fo).nullable(),deadlineAt:A.string().datetime()}).strict();function Pf(t,e){return t.state==="ended"?t.ending==="cancelled"?"cancelled":t.cause==="runner_lost"?"expired":"ended":e.getTime()>=Date.parse(t.deadlineAt)?"expired":null}o(Pf,"attemptClosure");function zu(t){if(typeof t=="number"&&!Number.isFinite(t))throw new TypeError("Canonical JSON requires JSON values");if(Array.isArray(t))return`[${t.map(zu).join(",")}]`;if(t!==null&&typeof t=="object"){let n=t;return`{${Object.keys(n).sort().map(r=>`${JSON.stringify(r)}:${zu(n[r])}`).join(",")}}`}let e=JSON.stringify(t);if(e===void 0)throw new TypeError("Canonical JSON requires JSON values");return e}o(zu,"canonicalJson");function Of(t){return(0,Ef.createHash)("sha256").update(zu(t),"utf8").digest("hex")}o(Of,"manifestHash");var AA=o(t=>({provider:t.provider,providerAccountId:t.providerAccountId,providerRepositoryId:t.providerRepositoryId}),"toSourceRef");function Gf(t,e){return uv.parse({schemaVersion:1,runId:t,execution:e.execution(),requester:!0,writeCheck:!0,claudeCodePin:!0,deployedPins:!0})}o(Gf,"handshakeRequest");function $f(t){let e=Av.parse(t);if(Of(e.manifest)!==e.manifestHash)throw new Error("The handshake manifest hash does not match its manifest");return e}o($f,"parseHandshakeResponse");function Yv(t){let e=o(n=>n.map(r=>({repository:AA(r.repository),number:r.number})),"pullRequests");return t.status==="delivered"?{status:t.status,pullRequests:e(t.pullRequests)}:t.status==="partial"?{status:t.status,pullRequests:e(t.pullRequests),failures:t.failures.map(n=>({repository:AA(n.repository),message:n.message}))}:t}o(Yv,"toDelivery");function Hv(t){return t.issues.map(e=>`${e.path.map((r,s)=>typeof r=="number"?`[${r}]`:s===0?r:`.${r}`).join("")}: ${e.message}`).join("; ")}o(Hv,"describeIssues");function Yf(t){let{manifest:e}=t;if(tv.includes(e.trigger.kind))throw new Error(`The report upload is invalid: a ${e.trigger.kind} run uploads its SUT recipe, never a report`);if(e.trigger.kind==="revision_read")throw new Error("The report upload is invalid: a revision_read run uploads what each component runs, never a report");if(t.firstQualification&&!e.baseline?.sources)throw new Error("The report upload is invalid: only a run whose manifest names baseline sources can be a first qualification");let n=Tf.safeParse({schemaVersion:1,run:{runId:e.runId,attemptNumber:t.attemptNumber,manifestHash:Of(e)},target:{id:e.target.id,revision:e.target.revision},policy:e.policy&&{id:e.policy.id,revision:e.policy.revision},provenance:{sources:t.checkedOut.map(r=>({repository:AA(r.repository),revision:r.revision})),...t.firstQualification?{firstQualification:!0}:{}},delivery:{generatedTests:Yv(t.generatedTests)},producer:t.producer,report:t.report,...t.githubWrites?.length?{githubWrites:t.githubWrites.map(r=>({...r,repository:AA(r.repository)}))}:{}});if(!n.success)throw new Error(`The report upload is invalid: ${Hv(n.error)}`);return Vv(n.data,e,t.checkedOut),n.data}o(Yf,"buildReportUpload");function Vv(t,e,n){let r=o(i=>n.find(a=>xn(a.repository)===xn(i.repository))?.revision??i.revision,"revisionOf"),s=new Map(e.sources.map(i=>[`${i.repository.namespace}/${i.repository.name}`.toLowerCase(),r(i)]));t.report.validation.acceptedEvidence.forEach((i,a)=>{let c=`report.validation.acceptedEvidence[${a}]`,l=s.get(i.repository.toLowerCase());if(!l)throw new Error(`${c}.repository: ${i.repository} is outside the run's snapshot`);if(i.revision!==l)throw new Error(`${c}.revision: evidence is not from the checked-out revision ${l}`)})}o(Vv,"assertEvidenceFromSnapshot");function Hf(t){return t.reportUploaded?{schemaVersion:1,reason:"report_uploaded",cause:null}:t.recipeUploaded?{schemaVersion:1,reason:"recipe_uploaded",cause:null}:t.revisionsUploaded?{schemaVersion:1,reason:"revisions_uploaded",cause:null}:t.cancelled?{schemaVersion:1,reason:"cancelled",cause:null}:{schemaVersion:1,reason:"no_report",cause:Jv(t)}}o(Hf,"attemptEndFor");function Jv(t){return t.credentialMissing?"credential_missing":t.checkoutFailed?"checkout_failed":t.environmentUnverified?"environment_unverified":t.setupFailed?"setup_failed":t.timedOut?"timed_out":"agent_failed"}o(Jv,"noReportCause");var NH={"application/pdf":"PDF","text/csv":"CSV","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"DOCX","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"XLSX"};var jv=10*1024*1024;var Wv=["generate-unit","native-run"],PH=["preflight","plan","write",...Wv,"report","deliver"];var gA=(r=>(r.Unit="unit",r.Integration="integration",r.E2e="e2e",r))(gA||{});var mo=He(require("fs")),Eo=He(require("path"));var zv=8;function lt(t,e,n={}){let r=e.slice(0,zv),s=e.length-r.length;return{name:t,passed:!1,details:r.join("; ")+(s>0?`; \u2026and ${s} more`:""),...n.fatal?{fatal:!0}:{}}}o(lt,"fail");function Vs(t){if(mo.existsSync(t))try{return JSON.parse(mo.readFileSync(t,"utf-8"))}catch{return}}o(Vs,"readJsonFile");function qt(t,e){return Vs(Eo.join(t.outputsDir,e))}o(qt,"readArtifact");function Ar(t,e){return{name:t,verify(n,r){let{errors:s}=e(n,r);return s.length===0?{name:this.name,passed:!0}:lt(this.name,s,{fatal:!0})}}}o(Ar,"schemaGate");function Co(t){return t.replace(/\s+/g," ").trim()}o(Co,"normalizeCode");var hA=new RegExp("(^|/)("+["test_[^/]+\\.py","[^/]+_test\\.py","[^/]+\\.(spec|test)\\.[cm]?[jt]sx?","[^/]+\\.e2e-(spec|test)\\.[cm]?[jt]sx?","[^/]+_test\\.go","[^/]+Tests?\\.(java|kts?)","[^/]+_(test|spec)\\.rb","[^/]+\\.feature","[^/]+Tests?\\.cs","[^/]+_test\\.rs","tests/[^/]+\\.rs","[^/]+Test\\.php","[^/]+(Test|Spec|Suite)\\.scala","[^/]+Tests?\\.swift","[^/]+_test\\.exs","[^/]+_test\\.dart","[^/]+_test\\.(c|cc|cpp|cxx)","test_[^/]+\\.(c|cc|cpp|cxx)","[^/]+(Spec|Test)\\.groovy"].join("|")+")$","i");var Zv=4,Vf="\xABredacted\xBB";function Jf(t){let e=new Set;for(let n of t){let r=(n??"").trim();r.length>=Zv&&e.add(r)}return[...e].sort((n,r)=>r.length-n.length)}o(Jf,"redactionsFrom");function Js(t,e){if(!t||e.length===0)return t;let n=t;for(let r of e)!r||!n.includes(r)||(n=n.split(r).join(Vf));return n}o(Js,"redactSecrets");function Kv(t,e){let n=o(r=>typeof r=="string"?e(r):Array.isArray(r)?r.map(n):r&&typeof r=="object"?Object.fromEntries(Object.entries(r).map(([s,i])=>[s,n(i)])):r,"walk");return n(t)}o(Kv,"mapStrings");function qs(t,e){return e.length===0?t:Kv(t,n=>Js(n,e))}o(qs,"redactDeep");var zH=new TextDecoder("utf-8",{fatal:!0});var iV=new Set(Object.values(rr));var oV=A.object({checks:A.array(A.object({repository:A.string().optional(),name:A.string().min(1),headSha:A.string().regex(/^[0-9a-f]{40}$|^[0-9a-f]{64}$/i),status:A.string().default("completed"),conclusion:A.string().nullable().optional(),url:A.string().optional(),summary:A.string().optional()}))});var Io=(n=>(n.Full="full",n.Static="static",n))(Io||{}),cr=(r=>(r.Contract="contract",r.Integration="integration",r.Ui="ui",r))(cr||{}),yo=(i=>(i.OwnSurface="own_surface",i.StateReadBack="state_read_back",i.Referential="referential",i.Lifecycle="lifecycle",i.Boundaries="boundaries",i))(yo||{}),Zr=(s=>(s.Update="update",s.Regenerate="regenerate",s.Delete="delete",s.Verify="verify",s))(Zr||{}),pA=(d=>(d.Equals="equals",d.NotEquals="not_equals",d.GreaterThan="greater_than",d.LessThan="less_than",d.Contains="contains",d.NotContains="not_contains",d.Matches="matches",d.Absent="absent",d.Present="present",d))(pA||{});var It=A.string().trim().min(1),e0=A.object({subject:It.describe('what the test READS: a response field path, the literal "status", or the on-screen text for a ui case \u2014 the FINAL read in a multi-step case'),comparator:A.nativeEnum(pA),value:A.union([A.string(),A.number(),A.boolean(),A.null()]).optional().describe("the ONE value a broken build would not produce; OMIT for absent/present")}),t0=A.object({test:It.describe("existing test path, relative to its repository"),repository:It.optional().describe("owner/repo the test lives in, when the run has several checkouts; omit for the working checkout"),action:A.nativeEnum(Zr),evidence:It.describe("why \u2014 drift vs the diff, or a finding"),covers_behaviors:A.array(A.string()).optional().describe("analyze behavior ids this maintenance covers")});var n0=A.object({surface:It.describe("a surface from the list, copied verbatim"),axis:A.nativeEnum(yo)}),r0=A.object({id:It.describe("short-slug, unique across generate[]"),type:A.nativeEnum(cr),target:It.describe('"METHOD /path", or a business-flow name'),from_finding:A.string().optional().describe("analyze finding id this case catches"),from_behavior:A.string().optional().describe("analyze behavior id this case pins"),derived_from:n0.optional().describe("the surface \xD7 axis this case pins when no analyze behavior or finding names it \u2014 one of the three is required"),rationale:It.describe("why this test matters"),expected_observable:It.describe("one sentence for a human: what a catching test asserts, and what a broken build does instead"),expected:e0.describe("the same intent AS DATA \u2014 see the rules below"),seededPrecondition:It.optional().describe("seeded non-initial state + how to reach it; only when a seeded-state transition applies"),verifiable:A.boolean().describe("true only when a live SUT could confirm this test (full mode)")}),s0=A.object({covered:A.array(A.string()).optional(),abstain:A.string().optional()}).superRefine((t,e)=>{let n=Array.isArray(t.covered),r=typeof t.abstain=="string";if(n===r)return void e.addIssue({code:A.ZodIssueCode.custom,message:"must have exactly one of covered[] or abstain"});n&&t.covered.length===0&&e.addIssue({code:A.ZodIssueCode.custom,path:["covered"],message:"must list at least one id (else abstain)"}),r&&!t.abstain.trim()&&e.addIssue({code:A.ZodIssueCode.custom,path:["abstain"],message:"must give a reason"})}).describe('{ "covered": [ids] } OR { "abstain": "reason" } \u2014 exactly one'),i0=A.object({surface:It.describe("a surface from the list, copied verbatim"),axes:A.object(Object.fromEntries(Object.values(yo).map(t=>[t,s0])))}),qf=A.object({schemaVersion:A.literal(1),mode:A.nativeEnum(Io),maintenance:A.array(t0),generate:A.array(r0),surfaces:A.array(i0).describe("one entry per changed surface in the list \u2014 none missing, none invented"),budget:A.object({total:A.number().describe("case count"),rationale:It}),summary:It.describe("one paragraph")});var fA=["-c","core.fsmonitor=false"],o0=new Set(["GH_TOKEN","GITHUB_TOKEN","GH_ENTERPRISE_TOKEN","GITHUB_ENTERPRISE_TOKEN","ACTIONS_RUNTIME_TOKEN","ACTIONS_ID_TOKEN_REQUEST_TOKEN","ACTIONS_ID_TOKEN_REQUEST_URL","SYSTEM_ACCESSTOKEN","SYSTEM_OIDCREQUESTURI","SKYRAMP_MCP_GITHUB_TOKEN","SSH_AUTH_SOCK","GIT_SSH","GIT_SSH_COMMAND","GITHUB_STEP_SUMMARY"]),a0=new Set(["ANTHROPIC_API_KEY","ANTHROPIC_AUTH_TOKEN","CLAUDE_CODE_OAUTH_TOKEN","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","AWS_BEARER_TOKEN_BEDROCK","AWS_PROFILE","AWS_WEB_IDENTITY_TOKEN_FILE","AWS_ROLE_ARN","AWS_ROLE_SESSION_NAME","AWS_CONTAINER_CREDENTIALS_FULL_URI","AWS_CONTAINER_CREDENTIALS_RELATIVE_URI","AWS_CONTAINER_AUTHORIZATION_TOKEN","AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE"]);function Dn(t=process.env,e,n="repo-command"){let r={};for(let[s,i]of Object.entries(t))n==="repo-command"&&a0.has(s)||(r[s]=i);Object.assign(r,e??{});for(let s of Object.keys(r))(o0.has(s)||s.startsWith("INPUT_"))&&delete r[s];return r}o(Dn,"untrustedChildEnv");var A0=".skyramp/sut/deployed-revisions.sh",sl=(n=>(n.Running="running",n.Requested="requested",n))(sl||{});var BV=new Set(Object.values(sl));var wV=`Fix ${A0} so it prints the full commit each component runs, then set it up again.`;var il="shared-environment";var OV=64*1024;var GV=new Set(["version_endpoint","api"]);function ol(t){return(t?.components??[]).filter(e=>!!e.repository&&!!e.expectedRevision)}o(ol,"verifiableComponents");function jf(t){return ol(t).length>0||(t?.dependencies.length??0)>0}o(jf,"hasSharedSystem");function c0(t){let e=t.inputs?.sharedEnvironment;if(!jf(e))return;let n=qt(t,`${il}.json`);if(n)return{components:u0(e,n.components),dependencies:n.dependencies};let r="Not checked: the run ended before it checked the shared environment.";return{components:ol(e).map(s=>Wf(s,r)),dependencies:e.dependencies.map(s=>({name:s.name,url:s.url,version:null,evidence:r}))}}o(c0,"sharedSystem");var Wf=o((t,e)=>({name:t.name,repository:t.repository,url:t.url,expectedRevision:t.expectedRevision,observedRevision:null,status:"unverifiable",source:t.revisionUrl||t.revisionScript?"probe":"agent",evidence:e}),"unrecordedRow");function u0(t,e){let n=new Set(e.map(s=>s.name.toLowerCase())),r=ol(t).filter(s=>s.touched&&!n.has(s.name.toLowerCase()));return[...e,...r.map(s=>Wf(s,"Not checked: the run recorded no read of it."))]}o(u0,"withUnrecordedTouched");function al(t){return(c0(t)?.components??[]).filter(e=>e.status!=="verified")}o(al,"unverifiedComponents");function Al(t){return(t?.components??[]).filter(e=>!!e.repository&&!e.expectedRevision)}o(Al,"unfrozenComponents");function Lt(t,e=[]){let n=t.trim();if(!n)return{error:"session produced no output"};let r=o(l=>{try{let d=JSON.parse(l);return typeof d=="object"&&d!==null&&!Array.isArray(d)?d:void 0}catch{return}},"tryParse"),s=r(n);if(s!==void 0)return{value:s};let i;if(n.startsWith("{")&&n.endsWith("}"))try{JSON.parse(n)}catch(l){i=l instanceof Error?l.message:String(l)}let a=[...n.matchAll(/```(?:json)?\s*\n([\s\S]*?)```/g)];for(let l=a.length-1;l>=0;l--){let d=r(a[l][1].trim());if(d!==void 0)return{value:d}}let c;for(let l=n.indexOf("{");l!==-1;l=n.indexOf("{",l+1)){let d=0,g=!1,h=!1;for(let f=l;f<n.length;f++){let m=n[f];if(h){h=!1;continue}if(m==="\\"){h=g;continue}if(m==='"'){g=!g;continue}if(!g){if(m==="{")d++;else if(m==="}"&&(d--,d===0)){let C=r(n.slice(l,f+1));C!==void 0&&Object.keys(C).length>0&&(c=C,l=f);break}}}}return i&&(c===void 0||Object.keys(c).length<3)?{error:`final message is not valid JSON \u2014 ${i}. Most often an unescaped double quote inside a string (e.g. in "summary" or "evidence"): escape it as \\" or use single quotes in prose`}:c!==void 0?{value:c}:i?{error:`final message is not valid JSON \u2014 ${i}. Most often an unescaped double quote inside a string (e.g. in "summary" or "evidence"): escape it as \\" or use single quotes in prose`}:{error:`no parseable JSON object found in session output \u2014 the final message was: "${l0(Js(n,e))}"`}}o(Lt,"extractJsonObject");var zf=240;function l0(t){let e=t.replace(/\s+/g," ").trim();return e.length<=zf?e:`\u2026${e.slice(-zf)}`}o(l0,"snippetOf");function d0(t){return t.issues.map(e=>{let n=e.path.map(s=>typeof s=="number"?`[${s}]`:`.${s}`).join("").replace(/^\./,""),r=n||"output";if(!/^(Expected |Required$|Invalid |String must|Array must|Number must)/.test(e.message))return`${r} ${e.message}`;switch(e.code){case"invalid_type":return n?e.expected==="object"?`${r} must be an object`:e.received==="undefined"?`${r} is required`:`${r} must be ${e.expected}, got ${e.received}`:"output is not a JSON object";case"invalid_enum_value":{let s=JSON.stringify(e.received),i=e.options.find(c=>typeof c=="string"&&typeof e.received=="string"&&e.received.startsWith(c)),a=i?` \u2014 you sent ${s}; the value must be exactly ${JSON.stringify(i)}, with any qualifier moved to a field that takes free text`:` \u2014 you sent ${s}`;return`${r} must be one of: ${e.options.join(", ")}${a}`}case"invalid_literal":return`${r} must be ${JSON.stringify(e.expected)}`;case"too_small":return e.type==="string"?`${r} must be a non-empty string`:`${r} must have at least ${e.minimum} item(s)`;case"unrecognized_keys":return`${r} has unknown key(s): ${e.keys.join(", ")}`;default:return`${r}: ${e.message}`}})}o(d0,"issuesToMessages");function Tn(t,e){let n=t.safeParse(e);if(n.success)return{value:n.data,errors:[]};let r=o((i,a)=>a.reduce((c,l)=>c&&typeof c=="object"?c[l]:void 0,i),"at"),s=n.error.issues.filter(i=>i.path.length&&r(e,i.path)===null);if(s.length===n.error.issues.length)try{let i=t.safeParse(s.reduce((a,{path:c})=>Zf(a,c),e));if(i.success)return{value:i.data,errors:[]}}catch{}return{errors:d0(n.error)}}o(Tn,"validateWith");function Zf(t,e){if(!e.length||!t||typeof t!="object")return t;let[n,...r]=e,s=Array.isArray(t)?t.slice():{...t};return r.length?s[n]=Zf(s[n],r):delete s[n],s}o(Zf,"withoutAt");var Ws=He(require("path"));function g0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}o(g0,"getDefaultExportFromCjs");var Ze={},mA={},ur={},Kf;function Qo(){if(Kf)return ur;Kf=1;function t(a){return typeof a>"u"||a===null}o(t,"isNothing");function e(a){return typeof a=="object"&&a!==null}o(e,"isObject");function n(a){return Array.isArray(a)?a:t(a)?[]:[a]}o(n,"toArray");function r(a,c){if(c){let l=Object.keys(c);for(let d=0,g=l.length;d<g;d+=1){let h=l[d];a[h]=c[h]}}return a}o(r,"extend");function s(a,c){let l="";for(let d=0;d<c;d+=1)l+=a;return l}o(s,"repeat");function i(a){return a===0&&Number.NEGATIVE_INFINITY===1/a}return o(i,"isNegativeZero"),ur.isNothing=t,ur.isObject=e,ur.toArray=n,ur.repeat=s,ur.isNegativeZero=i,ur.extend=r,ur}o(Qo,"requireCommon");var cl,Xf;function Bo(){if(Xf)return cl;Xf=1;function t(n,r){let s="",i=n.reason||"(unknown reason)";return n.mark?(n.mark.name&&(s+='in "'+n.mark.name+'" '),s+="("+(n.mark.line+1)+":"+(n.mark.column+1)+")",!r&&n.mark.snippet&&(s+=`
|
|
45
|
+
`.trim())}};rw.exports=Lh});var ga=T((l4,Aw)=>{"use strict";var iw=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:EP}=pe(),CP=Ri();aw()===void 0&&ow(new CP);function ow(t){if(!t||typeof t.dispatch!="function")throw new EP("Argument agent must implement Agent");Object.defineProperty(globalThis,iw,{value:t,writable:!0,enumerable:!1,configurable:!1})}o(ow,"setGlobalDispatcher");function aw(){return globalThis[iw]}o(aw,"getGlobalDispatcher");Aw.exports={setGlobalDispatcher:ow,getGlobalDispatcher:aw}});var Uc=T((h4,cw)=>{"use strict";cw.exports=class{static{o(this,"DecoratorHandler")}#e;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=e}onConnect(...e){return this.#e.onConnect?.(...e)}onError(...e){return this.#e.onError?.(...e)}onUpgrade(...e){return this.#e.onUpgrade?.(...e)}onResponseStarted(...e){return this.#e.onResponseStarted?.(...e)}onHeaders(...e){return this.#e.onHeaders?.(...e)}onData(...e){return this.#e.onData?.(...e)}onComplete(...e){return this.#e.onComplete?.(...e)}onBodySent(...e){return this.#e.onBodySent?.(...e)}}});var lw=T((f4,uw)=>{"use strict";var IP=hc();uw.exports=t=>{let e=t?.maxRedirections;return n=>o(function(s,i){let{maxRedirections:a=e,...c}=s;if(!a)return n(s,i);let l=new IP(n,a,s,i);return n(c,l)},"redirectInterceptor")}});var gw=T((E4,dw)=>{"use strict";var yP=bc();dw.exports=t=>e=>o(function(r,s){return e(r,new yP({...r,retryOptions:{...t,...r.retryOptions}},{handler:s,dispatch:e}))},"retryInterceptor")});var pw=T((I4,hw)=>{"use strict";var QP=ue(),{InvalidArgumentError:BP,RequestAbortedError:wP}=pe(),bP=Uc(),_h=class extends bP{static{o(this,"DumpHandler")}#e=1024*1024;#t=null;#n=!1;#s=!1;#i=0;#r=null;#o=null;constructor({maxSize:e},n){if(super(n),e!=null&&(!Number.isFinite(e)||e<1))throw new BP("maxSize must be a number greater than 0");this.#e=e??this.#e,this.#o=n}onConnect(e){this.#t=e,this.#o.onConnect(this.#a.bind(this))}#a(e){this.#s=!0,this.#r=e}onHeaders(e,n,r,s){let a=QP.parseHeaders(n)["content-length"];if(a!=null&&a>this.#e)throw new wP(`Response size (${a}) larger than maxSize (${this.#e})`);return this.#s?!0:this.#o.onHeaders(e,n,r,s)}onError(e){this.#n||(e=this.#r??e,this.#o.onError(e))}onData(e){return this.#i=this.#i+e.length,this.#i>=this.#e&&(this.#n=!0,this.#s?this.#o.onError(this.#r):this.#o.onComplete([])),!0}onComplete(e){if(!this.#n){if(this.#s){this.#o.onError(this.reason);return}this.#o.onComplete(e)}}};function RP({maxSize:t}={maxSize:1024*1024}){return e=>o(function(r,s){let{dumpMaxSize:i=t}=r,a=new _h({maxSize:i},s);return e(r,a)},"Intercept")}o(RP,"createDumpInterceptor");hw.exports=RP});var Ew=T((Q4,mw)=>{"use strict";var{isIP:kP}=require("node:net"),{lookup:SP}=require("node:dns"),vP=Uc(),{InvalidArgumentError:Ui,InformationalError:xP}=pe(),fw=Math.pow(2,31)-1,Ph=class{static{o(this,"DNSInstance")}#e=0;#t=0;#n=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#s,this.pick=e.pick??this.#i}get full(){return this.#n.size===this.#t}runLookup(e,n,r){let s=this.#n.get(e.hostname);if(s==null&&this.full){r(null,e.origin);return}let i={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...n.dns,maxTTL:this.#e,maxItems:this.#t};if(s==null)this.lookup(e,i,(a,c)=>{if(a||c==null||c.length===0){r(a??new xP("No DNS entries found"));return}this.setRecords(e,c);let l=this.#n.get(e.hostname),d=this.pick(e,l,i.affinity),g;typeof d.port=="number"?g=`:${d.port}`:e.port!==""?g=`:${e.port}`:g="",r(null,`${e.protocol}//${d.family===6?`[${d.address}]`:d.address}${g}`)});else{let a=this.pick(e,s,i.affinity);if(a==null){this.#n.delete(e.hostname),this.runLookup(e,n,r);return}let c;typeof a.port=="number"?c=`:${a.port}`:e.port!==""?c=`:${e.port}`:c="",r(null,`${e.protocol}//${a.family===6?`[${a.address}]`:a.address}${c}`)}}#s(e,n,r){SP(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,i)=>{if(s)return r(s);let a=new Map;for(let c of i)a.set(`${c.address}:${c.family}`,c);r(null,a.values())})}#i(e,n,r){let s=null,{records:i,offset:a}=n,c;if(this.dualStack?(r==null&&(a==null||a===fw?(n.offset=0,r=4):(n.offset++,r=(n.offset&1)===1?6:4)),i[r]!=null&&i[r].ips.length>0?c=i[r]:c=i[r===4?6:4]):c=i[r],c==null||c.ips.length===0)return s;c.offset==null||c.offset===fw?c.offset=0:c.offset++;let l=c.offset%c.ips.length;return s=c.ips[l]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(c.ips.splice(l,1),this.pick(e,n,r)):s}setRecords(e,n){let r=Date.now(),s={records:{4:null,6:null}};for(let i of n){i.timestamp=r,typeof i.ttl=="number"?i.ttl=Math.min(i.ttl,this.#e):i.ttl=this.#e;let a=s.records[i.family]??{ips:[]};a.ips.push(i),s.records[i.family]=a}this.#n.set(e.hostname,s)}getHandler(e,n){return new Oh(this,e,n)}},Oh=class extends vP{static{o(this,"DNSDispatchHandler")}#e=null;#t=null;#n=null;#s=null;#i=null;constructor(e,{origin:n,handler:r,dispatch:s},i){super(r),this.#i=n,this.#s=r,this.#t={...i},this.#e=e,this.#n=s}onError(e){switch(e.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){this.#e.runLookup(this.#i,this.#t,(n,r)=>{if(n)return this.#s.onError(n);let s={...this.#t,origin:r};this.#n(s,this)});return}this.#s.onError(e);return}case"ENOTFOUND":this.#e.deleteRecord(this.#i);default:this.#s.onError(e);break}}};mw.exports=t=>{if(t?.maxTTL!=null&&(typeof t?.maxTTL!="number"||t?.maxTTL<0))throw new Ui("Invalid maxTTL. Must be a positive number");if(t?.maxItems!=null&&(typeof t?.maxItems!="number"||t?.maxItems<1))throw new Ui("Invalid maxItems. Must be a positive number and greater than zero");if(t?.affinity!=null&&t?.affinity!==4&&t?.affinity!==6)throw new Ui("Invalid affinity. Must be either 4 or 6");if(t?.dualStack!=null&&typeof t?.dualStack!="boolean")throw new Ui("Invalid dualStack. Must be a boolean");if(t?.lookup!=null&&typeof t?.lookup!="function")throw new Ui("Invalid lookup. Must be a function");if(t?.pick!=null&&typeof t?.pick!="function")throw new Ui("Invalid pick. Must be a function");let e=t?.dualStack??!0,n;e?n=t?.affinity??null:n=t?.affinity??4;let r={maxTTL:t?.maxTTL??1e4,lookup:t?.lookup??null,pick:t?.pick??null,dualStack:e,affinity:n,maxItems:t?.maxItems??1/0},s=new Ph(r);return i=>o(function(c,l){let d=c.origin.constructor===URL?c.origin:new URL(c.origin);return kP(d.hostname)!==0?i(c,l):(s.runLookup(d,c,(g,h)=>{if(g)return l.onError(g);let f=null;f={...c,servername:d.hostname,origin:h,headers:{host:d.hostname,...c.headers}},i(f,s.getHandler({origin:d,dispatch:i,handler:l},c))}),!0)},"dnsInterceptor")}});var ys=T((w4,bw)=>{"use strict";var{kConstruct:DP}=ke(),{kEnumerableProperty:Mi}=ue(),{iteratorMixin:TP,isValidHeaderName:ha,isValidHeaderValue:Iw}=Qt(),{webidl:he}=je(),Gh=require("node:assert"),Mc=require("node:util"),Pe=Symbol("headers map"),Rt=Symbol("headers map sorted");function Cw(t){return t===10||t===13||t===9||t===32}o(Cw,"isHTTPWhiteSpaceCharCode");function yw(t){let e=0,n=t.length;for(;n>e&&Cw(t.charCodeAt(n-1));)--n;for(;n>e&&Cw(t.charCodeAt(e));)++e;return e===0&&n===t.length?t:t.substring(e,n)}o(yw,"headerValueNormalize");function Qw(t,e){if(Array.isArray(e))for(let n=0;n<e.length;++n){let r=e[n];if(r.length!==2)throw he.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${r.length}.`});$h(t,r[0],r[1])}else if(typeof e=="object"&&e!==null){let n=Object.keys(e);for(let r=0;r<n.length;++r)$h(t,n[r],e[n[r]])}else throw he.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}o(Qw,"fill");function $h(t,e,n){if(n=yw(n),ha(e)){if(!Iw(n))throw he.errors.invalidArgument({prefix:"Headers.append",value:n,type:"header value"})}else throw he.errors.invalidArgument({prefix:"Headers.append",value:e,type:"header name"});if(ww(t)==="immutable")throw new TypeError("immutable");return Yh(t).append(e,n,!1)}o($h,"appendHeader");function Bw(t,e){return t[0]<e[0]?-1:1}o(Bw,"compareHeaderName");var Lc=class t{static{o(this,"HeadersList")}cookies=null;constructor(e){e instanceof t?(this[Pe]=new Map(e[Pe]),this[Rt]=e[Rt],this.cookies=e.cookies===null?null:[...e.cookies]):(this[Pe]=new Map(e),this[Rt]=null)}contains(e,n){return this[Pe].has(n?e:e.toLowerCase())}clear(){this[Pe].clear(),this[Rt]=null,this.cookies=null}append(e,n,r){this[Rt]=null;let s=r?e:e.toLowerCase(),i=this[Pe].get(s);if(i){let a=s==="cookie"?"; ":", ";this[Pe].set(s,{name:i.name,value:`${i.value}${a}${n}`})}else this[Pe].set(s,{name:e,value:n});s==="set-cookie"&&(this.cookies??=[]).push(n)}set(e,n,r){this[Rt]=null;let s=r?e:e.toLowerCase();s==="set-cookie"&&(this.cookies=[n]),this[Pe].set(s,{name:e,value:n})}delete(e,n){this[Rt]=null,n||(e=e.toLowerCase()),e==="set-cookie"&&(this.cookies=null),this[Pe].delete(e)}get(e,n){return this[Pe].get(n?e:e.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:e,1:{value:n}}of this[Pe])yield[e,n]}get entries(){let e={};if(this[Pe].size!==0)for(let{name:n,value:r}of this[Pe].values())e[n]=r;return e}rawValues(){return this[Pe].values()}get entriesList(){let e=[];if(this[Pe].size!==0)for(let{0:n,1:{name:r,value:s}}of this[Pe])if(n==="set-cookie")for(let i of this.cookies)e.push([r,i]);else e.push([r,s]);return e}toSortedArray(){let e=this[Pe].size,n=new Array(e);if(e<=32){if(e===0)return n;let r=this[Pe][Symbol.iterator](),s=r.next().value;n[0]=[s[0],s[1].value],Gh(s[1].value!==null);for(let i=1,a=0,c=0,l=0,d=0,g,h;i<e;++i){for(h=r.next().value,g=n[i]=[h[0],h[1].value],Gh(g[1]!==null),l=0,c=i;l<c;)d=l+(c-l>>1),n[d][0]<=g[0]?l=d+1:c=d;if(i!==d){for(a=i;a>l;)n[a]=n[--a];n[l]=g}}if(!r.next().done)throw new TypeError("Unreachable");return n}else{let r=0;for(let{0:s,1:{value:i}}of this[Pe])n[r++]=[s,i],Gh(i!==null);return n.sort(Bw)}}},tn=class t{static{o(this,"Headers")}#e;#t;constructor(e=void 0){he.util.markAsUncloneable(this),e!==DP&&(this.#t=new Lc,this.#e="none",e!==void 0&&(e=he.converters.HeadersInit(e,"Headers contructor","init"),Qw(this,e)))}append(e,n){he.brandCheck(this,t),he.argumentLengthCheck(arguments,2,"Headers.append");let r="Headers.append";return e=he.converters.ByteString(e,r,"name"),n=he.converters.ByteString(n,r,"value"),$h(this,e,n)}delete(e){if(he.brandCheck(this,t),he.argumentLengthCheck(arguments,1,"Headers.delete"),e=he.converters.ByteString(e,"Headers.delete","name"),!ha(e))throw he.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.contains(e,!1)&&this.#t.delete(e,!1)}get(e){he.brandCheck(this,t),he.argumentLengthCheck(arguments,1,"Headers.get");let n="Headers.get";if(e=he.converters.ByteString(e,n,"name"),!ha(e))throw he.errors.invalidArgument({prefix:n,value:e,type:"header name"});return this.#t.get(e,!1)}has(e){he.brandCheck(this,t),he.argumentLengthCheck(arguments,1,"Headers.has");let n="Headers.has";if(e=he.converters.ByteString(e,n,"name"),!ha(e))throw he.errors.invalidArgument({prefix:n,value:e,type:"header name"});return this.#t.contains(e,!1)}set(e,n){he.brandCheck(this,t),he.argumentLengthCheck(arguments,2,"Headers.set");let r="Headers.set";if(e=he.converters.ByteString(e,r,"name"),n=he.converters.ByteString(n,r,"value"),n=yw(n),ha(e)){if(!Iw(n))throw he.errors.invalidArgument({prefix:r,value:n,type:"header value"})}else throw he.errors.invalidArgument({prefix:r,value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#t.set(e,n,!1)}getSetCookie(){he.brandCheck(this,t);let e=this.#t.cookies;return e?[...e]:[]}get[Rt](){if(this.#t[Rt])return this.#t[Rt];let e=[],n=this.#t.toSortedArray(),r=this.#t.cookies;if(r===null||r.length===1)return this.#t[Rt]=n;for(let s=0;s<n.length;++s){let{0:i,1:a}=n[s];if(i==="set-cookie")for(let c=0;c<r.length;++c)e.push([i,r[c]]);else e.push([i,a])}return this.#t[Rt]=e}[Mc.inspect.custom](e,n){return n.depth??=e,`Headers ${Mc.formatWithOptions(n,this.#t.entries)}`}static getHeadersGuard(e){return e.#e}static setHeadersGuard(e,n){e.#e=n}static getHeadersList(e){return e.#t}static setHeadersList(e,n){e.#t=n}},{getHeadersGuard:ww,setHeadersGuard:NP,getHeadersList:Yh,setHeadersList:FP}=tn;Reflect.deleteProperty(tn,"getHeadersGuard");Reflect.deleteProperty(tn,"setHeadersGuard");Reflect.deleteProperty(tn,"getHeadersList");Reflect.deleteProperty(tn,"setHeadersList");TP("Headers",tn,Rt,0,1);Object.defineProperties(tn.prototype,{append:Mi,delete:Mi,get:Mi,has:Mi,set:Mi,getSetCookie:Mi,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[Mc.inspect.custom]:{enumerable:!1}});he.converters.HeadersInit=function(t,e,n){if(he.util.Type(t)==="Object"){let r=Reflect.get(t,Symbol.iterator);if(!Mc.types.isProxy(t)&&r===tn.prototype.entries)try{return Yh(t).entriesList}catch{}return typeof r=="function"?he.converters["sequence<sequence<ByteString>>"](t,e,n,r.bind(t)):he.converters["record<ByteString, ByteString>"](t,e,n)}throw he.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};bw.exports={fill:Qw,compareHeaderName:Bw,Headers:tn,HeadersList:Lc,getHeadersGuard:ww,setHeadersGuard:NP,setHeadersList:FP,getHeadersList:Yh}});var fa=T((R4,Lw)=>{"use strict";var{Headers:Dw,HeadersList:Rw,fill:UP,getHeadersGuard:MP,setHeadersGuard:Tw,setHeadersList:Nw}=ys(),{extractBody:kw,cloneBody:LP,mixinBody:_P,hasFinalizationRegistry:Fw,streamRegistry:Uw,bodyUnusable:PP}=mi(),Vh=ue(),Sw=require("node:util"),{kEnumerableProperty:kt}=Vh,{isValidReasonPhrase:OP,isCancelled:GP,isAborted:$P,isBlobLike:YP,serializeJavascriptValueToJSONString:VP,isErrorLike:HP,isomorphicEncode:JP,environmentSettingsObject:qP}=Qt(),{redirectStatusSet:jP,nullBodyStatus:WP}=_o(),{kState:ve,kHeaders:Hn}=hr(),{webidl:oe}=je(),{FormData:zP}=Vo(),{URLSerializer:vw}=gt(),{kConstruct:Pc}=ke(),Hh=require("node:assert"),{types:ZP}=require("node:util"),KP=new TextEncoder("utf-8"),Qs=class t{static{o(this,"Response")}static error(){return pa(Oc(),"immutable")}static json(e,n={}){oe.argumentLengthCheck(arguments,1,"Response.json"),n!==null&&(n=oe.converters.ResponseInit(n));let r=KP.encode(VP(e)),s=kw(r),i=pa(Li({}),"response");return xw(i,n,{body:s[0],type:"application/json"}),i}static redirect(e,n=302){oe.argumentLengthCheck(arguments,1,"Response.redirect"),e=oe.converters.USVString(e),n=oe.converters["unsigned short"](n);let r;try{r=new URL(e,qP.settingsObject.baseUrl)}catch(a){throw new TypeError(`Failed to parse URL from ${e}`,{cause:a})}if(!jP.has(n))throw new RangeError(`Invalid status code ${n}`);let s=pa(Li({}),"immutable");s[ve].status=n;let i=JP(vw(r));return s[ve].headersList.append("location",i,!0),s}constructor(e=null,n={}){if(oe.util.markAsUncloneable(this),e===Pc)return;e!==null&&(e=oe.converters.BodyInit(e)),n=oe.converters.ResponseInit(n),this[ve]=Li({}),this[Hn]=new Dw(Pc),Tw(this[Hn],"response"),Nw(this[Hn],this[ve].headersList);let r=null;if(e!=null){let[s,i]=kw(e);r={body:s,type:i}}xw(this,n,r)}get type(){return oe.brandCheck(this,t),this[ve].type}get url(){oe.brandCheck(this,t);let e=this[ve].urlList,n=e[e.length-1]??null;return n===null?"":vw(n,!0)}get redirected(){return oe.brandCheck(this,t),this[ve].urlList.length>1}get status(){return oe.brandCheck(this,t),this[ve].status}get ok(){return oe.brandCheck(this,t),this[ve].status>=200&&this[ve].status<=299}get statusText(){return oe.brandCheck(this,t),this[ve].statusText}get headers(){return oe.brandCheck(this,t),this[Hn]}get body(){return oe.brandCheck(this,t),this[ve].body?this[ve].body.stream:null}get bodyUsed(){return oe.brandCheck(this,t),!!this[ve].body&&Vh.isDisturbed(this[ve].body.stream)}clone(){if(oe.brandCheck(this,t),PP(this))throw oe.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let e=Jh(this[ve]);return Fw&&this[ve].body?.stream&&Uw.register(this,new WeakRef(this[ve].body.stream)),pa(e,MP(this[Hn]))}[Sw.inspect.custom](e,n){n.depth===null&&(n.depth=2),n.colors??=!0;let r={status:this.status,statusText:this.statusText,headers:this.headers,body:this.body,bodyUsed:this.bodyUsed,ok:this.ok,redirected:this.redirected,type:this.type,url:this.url};return`Response ${Sw.formatWithOptions(n,r)}`}};_P(Qs);Object.defineProperties(Qs.prototype,{type:kt,url:kt,status:kt,ok:kt,redirected:kt,statusText:kt,headers:kt,clone:kt,body:kt,bodyUsed:kt,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(Qs,{json:kt,redirect:kt,error:kt});function Jh(t){if(t.internalResponse)return Mw(Jh(t.internalResponse),t.type);let e=Li({...t,body:null});return t.body!=null&&(e.body=LP(e,t.body)),e}o(Jh,"cloneResponse");function Li(t){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...t,headersList:t?.headersList?new Rw(t?.headersList):new Rw,urlList:t?.urlList?[...t.urlList]:[]}}o(Li,"makeResponse");function Oc(t){let e=HP(t);return Li({type:"error",status:0,error:e?t:new Error(t&&String(t)),aborted:t&&t.name==="AbortError"})}o(Oc,"makeNetworkError");function XP(t){return t.type==="error"&&t.status===0}o(XP,"isNetworkError");function _c(t,e){return e={internalResponse:t,...e},new Proxy(t,{get(n,r){return r in e?e[r]:n[r]},set(n,r,s){return Hh(!(r in e)),n[r]=s,!0}})}o(_c,"makeFilteredResponse");function Mw(t,e){if(e==="basic")return _c(t,{type:"basic",headersList:t.headersList});if(e==="cors")return _c(t,{type:"cors",headersList:t.headersList});if(e==="opaque")return _c(t,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(e==="opaqueredirect")return _c(t,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});Hh(!1)}o(Mw,"filterResponse");function eO(t,e=null){return Hh(GP(t)),$P(t)?Oc(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:e})):Oc(Object.assign(new DOMException("Request was cancelled."),{cause:e}))}o(eO,"makeAppropriateNetworkError");function xw(t,e,n){if(e.status!==null&&(e.status<200||e.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in e&&e.statusText!=null&&!OP(String(e.statusText)))throw new TypeError("Invalid statusText");if("status"in e&&e.status!=null&&(t[ve].status=e.status),"statusText"in e&&e.statusText!=null&&(t[ve].statusText=e.statusText),"headers"in e&&e.headers!=null&&UP(t[Hn],e.headers),n){if(WP.includes(t.status))throw oe.errors.exception({header:"Response constructor",message:`Invalid response status code ${t.status}`});t[ve].body=n.body,n.type!=null&&!t[ve].headersList.contains("content-type",!0)&&t[ve].headersList.append("content-type",n.type,!0)}}o(xw,"initializeResponse");function pa(t,e){let n=new Qs(Pc);return n[ve]=t,n[Hn]=new Dw(Pc),Nw(n[Hn],t.headersList),Tw(n[Hn],e),Fw&&t.body?.stream&&Uw.register(n,new WeakRef(t.body.stream)),n}o(pa,"fromInnerResponse");oe.converters.ReadableStream=oe.interfaceConverter(ReadableStream);oe.converters.FormData=oe.interfaceConverter(zP);oe.converters.URLSearchParams=oe.interfaceConverter(URLSearchParams);oe.converters.XMLHttpRequestBodyInit=function(t,e,n){return typeof t=="string"?oe.converters.USVString(t,e,n):YP(t)?oe.converters.Blob(t,e,n,{strict:!1}):ArrayBuffer.isView(t)||ZP.isArrayBuffer(t)?oe.converters.BufferSource(t,e,n):Vh.isFormDataLike(t)?oe.converters.FormData(t,e,n,{strict:!1}):t instanceof URLSearchParams?oe.converters.URLSearchParams(t,e,n):oe.converters.DOMString(t,e,n)};oe.converters.BodyInit=function(t,e,n){return t instanceof ReadableStream?oe.converters.ReadableStream(t,e,n):t?.[Symbol.asyncIterator]?t:oe.converters.XMLHttpRequestBodyInit(t,e,n)};oe.converters.ResponseInit=oe.dictionaryConverter([{key:"status",converter:oe.converters["unsigned short"],defaultValue:o(()=>200,"defaultValue")},{key:"statusText",converter:oe.converters.ByteString,defaultValue:o(()=>"","defaultValue")},{key:"headers",converter:oe.converters.HeadersInit}]);Lw.exports={isNetworkError:XP,makeNetworkError:Oc,makeResponse:Li,makeAppropriateNetworkError:eO,filterResponse:Mw,Response:Qs,cloneResponse:Jh,fromInnerResponse:pa}});var Gw=T((S4,Ow)=>{"use strict";var{kConnected:_w,kSize:Pw}=ke(),qh=class{static{o(this,"CompatWeakRef")}constructor(e){this.value=e}deref(){return this.value[_w]===0&&this.value[Pw]===0?void 0:this.value}},jh=class{static{o(this,"CompatFinalizer")}constructor(e){this.finalizer=e}register(e,n){e.on&&e.on("disconnect",()=>{e[_w]===0&&e[Pw]===0&&this.finalizer(n)})}unregister(e){}};Ow.exports=function(){return process.env.NODE_V8_COVERAGE&&process.version.startsWith("v18")?(process._rawDebug("Using compatibility WeakRef and FinalizationRegistry"),{WeakRef:qh,FinalizationRegistry:jh}):{WeakRef,FinalizationRegistry}}});var _i=T((x4,nb)=>{"use strict";var{extractBody:tO,mixinBody:nO,cloneBody:rO,bodyUnusable:$w}=mi(),{Headers:Zw,fill:sO,HeadersList:Vc,setHeadersGuard:zh,getHeadersGuard:iO,setHeadersList:Kw,getHeadersList:Yw}=ys(),{FinalizationRegistry:oO}=Gw()(),$c=ue(),Vw=require("node:util"),{isValidHTTPToken:aO,sameOrigin:Hw,environmentSettingsObject:Gc}=Qt(),{forbiddenMethodsSet:AO,corsSafeListedMethodsSet:cO,referrerPolicy:uO,requestRedirect:lO,requestMode:dO,requestCredentials:gO,requestCache:hO,requestDuplex:pO}=_o(),{kEnumerableProperty:Oe,normalizedMethodRecordsBase:fO,normalizedMethodRecords:mO}=$c,{kHeaders:St,kSignal:Yc,kState:Re,kDispatcher:Wh}=hr(),{webidl:X}=je(),{URLSerializer:EO}=gt(),{kConstruct:Hc}=ke(),CO=require("node:assert"),{getMaxListeners:Jw,setMaxListeners:qw,getEventListeners:IO,defaultMaxListeners:jw}=require("node:events"),yO=Symbol("abortController"),Xw=new oO(({signal:t,abort:e})=>{t.removeEventListener("abort",e)}),Jc=new WeakMap;function Ww(t){return e;function e(){let n=t.deref();if(n!==void 0){Xw.unregister(e),this.removeEventListener("abort",e),n.abort(this.reason);let r=Jc.get(n.signal);if(r!==void 0){if(r.size!==0){for(let s of r){let i=s.deref();i!==void 0&&i.abort(this.reason)}r.clear()}Jc.delete(n.signal)}}}}o(Ww,"buildAbort");var zw=!1,br=class t{static{o(this,"Request")}constructor(e,n={}){if(X.util.markAsUncloneable(this),e===Hc)return;let r="Request constructor";X.argumentLengthCheck(arguments,1,r),e=X.converters.RequestInfo(e,r,"input"),n=X.converters.RequestInit(n,r,"init");let s=null,i=null,a=Gc.settingsObject.baseUrl,c=null;if(typeof e=="string"){this[Wh]=n.dispatcher;let Q;try{Q=new URL(e,a)}catch(D){throw new TypeError("Failed to parse URL from "+e,{cause:D})}if(Q.username||Q.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e);s=qc({urlList:[Q]}),i="cors"}else this[Wh]=n.dispatcher||e[Wh],CO(e instanceof t),s=e[Re],c=e[Yc];let l=Gc.settingsObject.origin,d="client";if(s.window?.constructor?.name==="EnvironmentSettingsObject"&&Hw(s.window,l)&&(d=s.window),n.window!=null)throw new TypeError(`'window' option '${d}' must be null`);"window"in n&&(d="no-window"),s=qc({method:s.method,headersList:s.headersList,unsafeRequest:s.unsafeRequest,client:Gc.settingsObject,window:d,priority:s.priority,origin:s.origin,referrer:s.referrer,referrerPolicy:s.referrerPolicy,mode:s.mode,credentials:s.credentials,cache:s.cache,redirect:s.redirect,integrity:s.integrity,keepalive:s.keepalive,reloadNavigation:s.reloadNavigation,historyNavigation:s.historyNavigation,urlList:[...s.urlList]});let g=Object.keys(n).length!==0;if(g&&(s.mode==="navigate"&&(s.mode="same-origin"),s.reloadNavigation=!1,s.historyNavigation=!1,s.origin="client",s.referrer="client",s.referrerPolicy="",s.url=s.urlList[s.urlList.length-1],s.urlList=[s.url]),n.referrer!==void 0){let Q=n.referrer;if(Q==="")s.referrer="no-referrer";else{let D;try{D=new URL(Q,a)}catch(G){throw new TypeError(`Referrer "${Q}" is not a valid URL.`,{cause:G})}D.protocol==="about:"&&D.hostname==="client"||l&&!Hw(D,Gc.settingsObject.baseUrl)?s.referrer="client":s.referrer=D}}n.referrerPolicy!==void 0&&(s.referrerPolicy=n.referrerPolicy);let h;if(n.mode!==void 0?h=n.mode:h=i,h==="navigate")throw X.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(h!=null&&(s.mode=h),n.credentials!==void 0&&(s.credentials=n.credentials),n.cache!==void 0&&(s.cache=n.cache),s.cache==="only-if-cached"&&s.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(n.redirect!==void 0&&(s.redirect=n.redirect),n.integrity!=null&&(s.integrity=String(n.integrity)),n.keepalive!==void 0&&(s.keepalive=!!n.keepalive),n.method!==void 0){let Q=n.method,D=mO[Q];if(D!==void 0)s.method=D;else{if(!aO(Q))throw new TypeError(`'${Q}' is not a valid HTTP method.`);let G=Q.toUpperCase();if(AO.has(G))throw new TypeError(`'${Q}' HTTP method is unsupported.`);Q=fO[G]??Q,s.method=Q}!zw&&s.method==="patch"&&(process.emitWarning("Using `patch` is highly likely to result in a `405 Method Not Allowed`. `PATCH` is much more likely to succeed.",{code:"UNDICI-FETCH-patch"}),zw=!0)}n.signal!==void 0&&(c=n.signal),this[Re]=s;let f=new AbortController;if(this[Yc]=f.signal,c!=null){if(!c||typeof c.aborted!="boolean"||typeof c.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(c.aborted)f.abort(c.reason);else{this[yO]=f;let Q=new WeakRef(f),D=Ww(Q);try{(typeof Jw=="function"&&Jw(c)===jw||IO(c,"abort").length>=jw)&&qw(1500,c)}catch{}$c.addAbortListener(c,D),Xw.register(f,{signal:c,abort:D},D)}}if(this[St]=new Zw(Hc),Kw(this[St],s.headersList),zh(this[St],"request"),h==="no-cors"){if(!cO.has(s.method))throw new TypeError(`'${s.method} is unsupported in no-cors mode.`);zh(this[St],"request-no-cors")}if(g){let Q=Yw(this[St]),D=n.headers!==void 0?n.headers:new Vc(Q);if(Q.clear(),D instanceof Vc){for(let{name:G,value:P}of D.rawValues())Q.append(G,P,!1);Q.cookies=D.cookies}else sO(this[St],D)}let m=e instanceof t?e[Re].body:null;if((n.body!=null||m!=null)&&(s.method==="GET"||s.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let C=null;if(n.body!=null){let[Q,D]=tO(n.body,s.keepalive);C=Q,D&&!Yw(this[St]).contains("content-type",!0)&&this[St].append("content-type",D)}let y=C??m;if(y!=null&&y.source==null){if(C!=null&&n.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(s.mode!=="same-origin"&&s.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');s.useCORSPreflightFlag=!0}let v=y;if(C==null&&m!=null){if($w(e))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let Q=new TransformStream;m.stream.pipeThrough(Q),v={source:m.source,length:m.length,stream:Q.readable}}this[Re].body=v}get method(){return X.brandCheck(this,t),this[Re].method}get url(){return X.brandCheck(this,t),EO(this[Re].url)}get headers(){return X.brandCheck(this,t),this[St]}get destination(){return X.brandCheck(this,t),this[Re].destination}get referrer(){return X.brandCheck(this,t),this[Re].referrer==="no-referrer"?"":this[Re].referrer==="client"?"about:client":this[Re].referrer.toString()}get referrerPolicy(){return X.brandCheck(this,t),this[Re].referrerPolicy}get mode(){return X.brandCheck(this,t),this[Re].mode}get credentials(){return this[Re].credentials}get cache(){return X.brandCheck(this,t),this[Re].cache}get redirect(){return X.brandCheck(this,t),this[Re].redirect}get integrity(){return X.brandCheck(this,t),this[Re].integrity}get keepalive(){return X.brandCheck(this,t),this[Re].keepalive}get isReloadNavigation(){return X.brandCheck(this,t),this[Re].reloadNavigation}get isHistoryNavigation(){return X.brandCheck(this,t),this[Re].historyNavigation}get signal(){return X.brandCheck(this,t),this[Yc]}get body(){return X.brandCheck(this,t),this[Re].body?this[Re].body.stream:null}get bodyUsed(){return X.brandCheck(this,t),!!this[Re].body&&$c.isDisturbed(this[Re].body.stream)}get duplex(){return X.brandCheck(this,t),"half"}clone(){if(X.brandCheck(this,t),$w(this))throw new TypeError("unusable");let e=eb(this[Re]),n=new AbortController;if(this.signal.aborted)n.abort(this.signal.reason);else{let r=Jc.get(this.signal);r===void 0&&(r=new Set,Jc.set(this.signal,r));let s=new WeakRef(n);r.add(s),$c.addAbortListener(n.signal,Ww(s))}return tb(e,n.signal,iO(this[St]))}[Vw.inspect.custom](e,n){n.depth===null&&(n.depth=2),n.colors??=!0;let r={method:this.method,url:this.url,headers:this.headers,destination:this.destination,referrer:this.referrer,referrerPolicy:this.referrerPolicy,mode:this.mode,credentials:this.credentials,cache:this.cache,redirect:this.redirect,integrity:this.integrity,keepalive:this.keepalive,isReloadNavigation:this.isReloadNavigation,isHistoryNavigation:this.isHistoryNavigation,signal:this.signal};return`Request ${Vw.formatWithOptions(n,r)}`}};nO(br);function qc(t){return{method:t.method??"GET",localURLsOnly:t.localURLsOnly??!1,unsafeRequest:t.unsafeRequest??!1,body:t.body??null,client:t.client??null,reservedClient:t.reservedClient??null,replacesClientId:t.replacesClientId??"",window:t.window??"client",keepalive:t.keepalive??!1,serviceWorkers:t.serviceWorkers??"all",initiator:t.initiator??"",destination:t.destination??"",priority:t.priority??null,origin:t.origin??"client",policyContainer:t.policyContainer??"client",referrer:t.referrer??"client",referrerPolicy:t.referrerPolicy??"",mode:t.mode??"no-cors",useCORSPreflightFlag:t.useCORSPreflightFlag??!1,credentials:t.credentials??"same-origin",useCredentials:t.useCredentials??!1,cache:t.cache??"default",redirect:t.redirect??"follow",integrity:t.integrity??"",cryptoGraphicsNonceMetadata:t.cryptoGraphicsNonceMetadata??"",parserMetadata:t.parserMetadata??"",reloadNavigation:t.reloadNavigation??!1,historyNavigation:t.historyNavigation??!1,userActivation:t.userActivation??!1,taintedOrigin:t.taintedOrigin??!1,redirectCount:t.redirectCount??0,responseTainting:t.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:t.preventNoCacheCacheControlHeaderModification??!1,done:t.done??!1,timingAllowFailed:t.timingAllowFailed??!1,urlList:t.urlList,url:t.urlList[0],headersList:t.headersList?new Vc(t.headersList):new Vc}}o(qc,"makeRequest");function eb(t){let e=qc({...t,body:null});return t.body!=null&&(e.body=rO(e,t.body)),e}o(eb,"cloneRequest");function tb(t,e,n){let r=new br(Hc);return r[Re]=t,r[Yc]=e,r[St]=new Zw(Hc),Kw(r[St],t.headersList),zh(r[St],n),r}o(tb,"fromInnerRequest");Object.defineProperties(br.prototype,{method:Oe,url:Oe,headers:Oe,redirect:Oe,clone:Oe,signal:Oe,duplex:Oe,destination:Oe,body:Oe,bodyUsed:Oe,isHistoryNavigation:Oe,isReloadNavigation:Oe,keepalive:Oe,integrity:Oe,cache:Oe,credentials:Oe,attribute:Oe,referrerPolicy:Oe,referrer:Oe,mode:Oe,[Symbol.toStringTag]:{value:"Request",configurable:!0}});X.converters.Request=X.interfaceConverter(br);X.converters.RequestInfo=function(t,e,n){return typeof t=="string"?X.converters.USVString(t,e,n):t instanceof br?X.converters.Request(t,e,n):X.converters.USVString(t,e,n)};X.converters.AbortSignal=X.interfaceConverter(AbortSignal);X.converters.RequestInit=X.dictionaryConverter([{key:"method",converter:X.converters.ByteString},{key:"headers",converter:X.converters.HeadersInit},{key:"body",converter:X.nullableConverter(X.converters.BodyInit)},{key:"referrer",converter:X.converters.USVString},{key:"referrerPolicy",converter:X.converters.DOMString,allowedValues:uO},{key:"mode",converter:X.converters.DOMString,allowedValues:dO},{key:"credentials",converter:X.converters.DOMString,allowedValues:gO},{key:"cache",converter:X.converters.DOMString,allowedValues:hO},{key:"redirect",converter:X.converters.DOMString,allowedValues:lO},{key:"integrity",converter:X.converters.DOMString},{key:"keepalive",converter:X.converters.boolean},{key:"signal",converter:X.nullableConverter(t=>X.converters.AbortSignal(t,"RequestInit","signal",{strict:!1}))},{key:"window",converter:X.converters.any},{key:"duplex",converter:X.converters.DOMString,allowedValues:pO},{key:"dispatcher",converter:X.converters.any}]);nb.exports={Request:br,makeRequest:qc,fromInnerRequest:tb,cloneRequest:eb}});var Ea=T((T4,mb)=>{"use strict";var{makeNetworkError:ye,makeAppropriateNetworkError:jc,filterResponse:Zh,makeResponse:Wc,fromInnerResponse:QO}=fa(),{HeadersList:rb}=ys(),{Request:BO,cloneRequest:wO}=_i(),Rr=require("node:zlib"),{bytesMatch:bO,makePolicyContainer:RO,clonePolicyContainer:kO,requestBadPort:SO,TAOCheck:vO,appendRequestOriginHeader:xO,responseLocationURL:DO,requestCurrentURL:Qn,setRequestReferrerPolicyOnRedirect:TO,tryUpgradeRequestToAPotentiallyTrustworthyURL:NO,createOpaqueTimingInfo:np,appendFetchMetadata:FO,corsCheck:UO,crossOriginResourcePolicyCheck:MO,determineRequestsReferrer:LO,coarsenedSharedCurrentTime:ma,createDeferredPromise:_O,isBlobLike:PO,sameOrigin:tp,isCancelled:Bs,isAborted:sb,isErrorLike:OO,fullyReadBody:GO,readableStreamClose:$O,isomorphicEncode:zc,urlIsLocal:YO,urlIsHttpHttpsScheme:rp,urlHasHttpsScheme:VO,clampAndCoarsenConnectionTimingInfo:HO,simpleRangeHeaderValue:JO,buildContentRange:qO,createInflate:jO,extractMimeType:WO}=Qt(),{kState:Ab,kDispatcher:zO}=hr(),ws=require("node:assert"),{safelyExtractBody:sp,extractBody:ib}=mi(),{redirectStatusSet:cb,nullBodyStatus:ub,safeMethodsSet:ZO,requestBodyHeader:KO,subresourceSet:XO}=_o(),e1=require("node:events"),{Readable:t1,pipeline:n1,finished:r1}=require("node:stream"),{addAbortListener:s1,isErrored:i1,isReadable:Zc,bufferToLowerCasedHeaderName:ob}=ue(),{dataURLProcessor:o1,serializeAMimeType:a1,minimizeSupportedMimeType:A1}=gt(),{getGlobalDispatcher:c1}=ga(),{webidl:u1}=je(),{STATUS_CODES:l1}=require("node:http"),d1=["GET","HEAD"],g1=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",Kh,Kc=class extends e1{static{o(this,"Fetch")}constructor(e){super(),this.dispatcher=e,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(e){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(e),this.emit("terminated",e))}abort(e){this.state==="ongoing"&&(this.state="aborted",e||(e=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=e,this.connection?.destroy(e),this.emit("terminated",e))}};function h1(t){lb(t,"fetch")}o(h1,"handleFetchDone");function p1(t,e=void 0){u1.argumentLengthCheck(arguments,1,"globalThis.fetch");let n=_O(),r;try{r=new BO(t,e)}catch(g){return n.reject(g),n.promise}let s=r[Ab];if(r.signal.aborted)return Xh(n,s,null,r.signal.reason),n.promise;s.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(s.serviceWorkers="none");let a=null,c=!1,l=null;return s1(r.signal,()=>{c=!0,ws(l!=null),l.abort(r.signal.reason);let g=a?.deref();Xh(n,s,g,r.signal.reason)}),l=gb({request:s,processResponseEndOfBody:h1,processResponse:o(g=>{if(!c){if(g.aborted){Xh(n,s,a,l.serializedAbortReason);return}if(g.type==="error"){n.reject(new TypeError("fetch failed",{cause:g.error}));return}a=new WeakRef(QO(g,"immutable")),n.resolve(a.deref()),n=null}},"processResponse"),dispatcher:r[zO]}),n.promise}o(p1,"fetch");function lb(t,e="other"){if(t.type==="error"&&t.aborted||!t.urlList?.length)return;let n=t.urlList[0],r=t.timingInfo,s=t.cacheState;rp(n)&&r!==null&&(t.timingAllowPassed||(r=np({startTime:r.startTime}),s=""),r.endTime=ma(),t.timingInfo=r,db(r,n.href,e,globalThis,s))}o(lb,"finalizeAndReportTiming");var db=performance.markResourceTiming;function Xh(t,e,n,r){if(t&&t.reject(r),e.body!=null&&Zc(e.body?.stream)&&e.body.stream.cancel(r).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i}),n==null)return;let s=n[Ab];s.body!=null&&Zc(s.body?.stream)&&s.body.stream.cancel(r).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i})}o(Xh,"abortFetch");function gb({request:t,processRequestBodyChunkLength:e,processRequestEndOfBody:n,processResponse:r,processResponseEndOfBody:s,processResponseConsumeBody:i,useParallelQueue:a=!1,dispatcher:c=c1()}){ws(c);let l=null,d=!1;t.client!=null&&(l=t.client.globalObject,d=t.client.crossOriginIsolatedCapability);let g=ma(d),h=np({startTime:g}),f={controller:new Kc(c),request:t,timingInfo:h,processRequestBodyChunkLength:e,processRequestEndOfBody:n,processResponse:r,processResponseConsumeBody:i,processResponseEndOfBody:s,taskDestination:l,crossOriginIsolatedCapability:d};return ws(!t.body||t.body.stream),t.window==="client"&&(t.window=t.client?.globalObject?.constructor?.name==="Window"?t.client:"no-window"),t.origin==="client"&&(t.origin=t.client.origin),t.policyContainer==="client"&&(t.client!=null?t.policyContainer=kO(t.client.policyContainer):t.policyContainer=RO()),t.headersList.contains("accept",!0)||t.headersList.append("accept","*/*",!0),t.headersList.contains("accept-language",!0)||t.headersList.append("accept-language","*",!0),t.priority,XO.has(t.destination),hb(f).catch(m=>{f.controller.terminate(m)}),f.controller}o(gb,"fetching");async function hb(t,e=!1){let n=t.request,r=null;if(n.localURLsOnly&&!YO(Qn(n))&&(r=ye("local URLs only")),NO(n),SO(n)==="blocked"&&(r=ye("bad port")),n.referrerPolicy===""&&(n.referrerPolicy=n.policyContainer.referrerPolicy),n.referrer!=="no-referrer"&&(n.referrer=LO(n)),r===null&&(r=await(async()=>{let i=Qn(n);return tp(i,n.url)&&n.responseTainting==="basic"||i.protocol==="data:"||n.mode==="navigate"||n.mode==="websocket"?(n.responseTainting="basic",await ab(t)):n.mode==="same-origin"?ye('request mode cannot be "same-origin"'):n.mode==="no-cors"?n.redirect!=="follow"?ye('redirect mode cannot be "follow" for "no-cors" request'):(n.responseTainting="opaque",await ab(t)):rp(Qn(n))?(n.responseTainting="cors",await pb(t)):ye("URL scheme must be a HTTP(S) scheme")})()),e)return r;r.status!==0&&!r.internalResponse&&(n.responseTainting,n.responseTainting==="basic"?r=Zh(r,"basic"):n.responseTainting==="cors"?r=Zh(r,"cors"):n.responseTainting==="opaque"?r=Zh(r,"opaque"):ws(!1));let s=r.status===0?r:r.internalResponse;if(s.urlList.length===0&&s.urlList.push(...n.urlList),n.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&s.status===206&&s.rangeRequested&&!n.headers.contains("range",!0)&&(r=s=ye()),r.status!==0&&(n.method==="HEAD"||n.method==="CONNECT"||ub.includes(s.status))&&(s.body=null,t.controller.dump=!0),n.integrity){let i=o(c=>ep(t,ye(c)),"processBodyError");if(n.responseTainting==="opaque"||r.body==null){i(r.error);return}let a=o(c=>{if(!bO(c,n.integrity)){i("integrity mismatch");return}r.body=sp(c)[0],ep(t,r)},"processBody");await GO(r.body,a,i)}else ep(t,r)}o(hb,"mainFetch");function ab(t){if(Bs(t)&&t.request.redirectCount===0)return Promise.resolve(jc(t));let{request:e}=t,{protocol:n}=Qn(e);switch(n){case"about:":return Promise.resolve(ye("about scheme is not supported"));case"blob:":{Kh||(Kh=require("node:buffer").resolveObjectURL);let r=Qn(e);if(r.search.length!==0)return Promise.resolve(ye("NetworkError when attempting to fetch resource."));let s=Kh(r.toString());if(e.method!=="GET"||!PO(s))return Promise.resolve(ye("invalid method"));let i=Wc(),a=s.size,c=zc(`${a}`),l=s.type;if(e.headersList.contains("range",!0)){i.rangeRequested=!0;let d=e.headersList.get("range",!0),g=JO(d,!0);if(g==="failure")return Promise.resolve(ye("failed to fetch the data URL"));let{rangeStartValue:h,rangeEndValue:f}=g;if(h===null)h=a-f,f=h+f-1;else{if(h>=a)return Promise.resolve(ye("Range start is greater than the blob's size."));(f===null||f>=a)&&(f=a-1)}let m=s.slice(h,f,l),C=ib(m);i.body=C[0];let y=zc(`${m.size}`),v=qO(h,f,a);i.status=206,i.statusText="Partial Content",i.headersList.set("content-length",y,!0),i.headersList.set("content-type",l,!0),i.headersList.set("content-range",v,!0)}else{let d=ib(s);i.statusText="OK",i.body=d[0],i.headersList.set("content-length",c,!0),i.headersList.set("content-type",l,!0)}return Promise.resolve(i)}case"data:":{let r=Qn(e),s=o1(r);if(s==="failure")return Promise.resolve(ye("failed to fetch the data URL"));let i=a1(s.mimeType);return Promise.resolve(Wc({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:i}]],body:sp(s.body)[0]}))}case"file:":return Promise.resolve(ye("not implemented... yet..."));case"http:":case"https:":return pb(t).catch(r=>ye(r));default:return Promise.resolve(ye("unknown scheme"))}}o(ab,"schemeFetch");function f1(t,e){t.request.done=!0,t.processResponseDone!=null&&queueMicrotask(()=>t.processResponseDone(e))}o(f1,"finalizeResponse");function ep(t,e){let n=t.timingInfo,r=o(()=>{let i=Date.now();t.request.destination==="document"&&(t.controller.fullTimingInfo=n),t.controller.reportTimingSteps=()=>{if(t.request.url.protocol!=="https:")return;n.endTime=i;let c=e.cacheState,l=e.bodyInfo;e.timingAllowPassed||(n=np(n),c="");let d=0;if(t.request.mode!=="navigator"||!e.hasCrossOriginRedirects){d=e.status;let g=WO(e.headersList);g!=="failure"&&(l.contentType=A1(g))}t.request.initiatorType!=null&&db(n,t.request.url.href,t.request.initiatorType,globalThis,c,l,d)};let a=o(()=>{t.request.done=!0,t.processResponseEndOfBody!=null&&queueMicrotask(()=>t.processResponseEndOfBody(e)),t.request.initiatorType!=null&&t.controller.reportTimingSteps()},"processResponseEndOfBodyTask");queueMicrotask(()=>a())},"processResponseEndOfBody");t.processResponse!=null&&queueMicrotask(()=>{t.processResponse(e),t.processResponse=null});let s=e.type==="error"?e:e.internalResponse??e;s.body==null?r():r1(s.body.stream,()=>{r()})}o(ep,"fetchFinale");async function pb(t){let e=t.request,n=null,r=null,s=t.timingInfo;if(e.serviceWorkers,n===null){if(e.redirect==="follow"&&(e.serviceWorkers="none"),r=n=await fb(t),e.responseTainting==="cors"&&UO(e,n)==="failure")return ye("cors failure");vO(e,n)==="failure"&&(e.timingAllowFailed=!0)}return(e.responseTainting==="opaque"||n.type==="opaque")&&MO(e.origin,e.client,e.destination,r)==="blocked"?ye("blocked"):(cb.has(r.status)&&(e.redirect!=="manual"&&t.controller.connection.destroy(void 0,!1),e.redirect==="error"?n=ye("unexpected redirect"):e.redirect==="manual"?n=r:e.redirect==="follow"?n=await m1(t,n):ws(!1)),n.timingInfo=s,n)}o(pb,"httpFetch");function m1(t,e){let n=t.request,r=e.internalResponse?e.internalResponse:e,s;try{if(s=DO(r,Qn(n).hash),s==null)return e}catch(a){return Promise.resolve(ye(a))}if(!rp(s))return Promise.resolve(ye("URL scheme must be a HTTP(S) scheme"));if(n.redirectCount===20)return Promise.resolve(ye("redirect count exceeded"));if(n.redirectCount+=1,n.mode==="cors"&&(s.username||s.password)&&!tp(n,s))return Promise.resolve(ye('cross origin not allowed for request mode "cors"'));if(n.responseTainting==="cors"&&(s.username||s.password))return Promise.resolve(ye('URL cannot contain credentials for request mode "cors"'));if(r.status!==303&&n.body!=null&&n.body.source==null)return Promise.resolve(ye());if([301,302].includes(r.status)&&n.method==="POST"||r.status===303&&!d1.includes(n.method)){n.method="GET",n.body=null;for(let a of KO)n.headersList.delete(a)}tp(Qn(n),s)||(n.headersList.delete("authorization",!0),n.headersList.delete("proxy-authorization",!0),n.headersList.delete("cookie",!0),n.headersList.delete("host",!0)),n.body!=null&&(ws(n.body.source!=null),n.body=sp(n.body.source)[0]);let i=t.timingInfo;return i.redirectEndTime=i.postRedirectStartTime=ma(t.crossOriginIsolatedCapability),i.redirectStartTime===0&&(i.redirectStartTime=i.startTime),n.urlList.push(s),TO(n,r),hb(t,!0)}o(m1,"httpRedirectFetch");async function fb(t,e=!1,n=!1){let r=t.request,s=null,i=null,a=null,c=null,l=!1;r.window==="no-window"&&r.redirect==="error"?(s=t,i=r):(i=wO(r),s={...t},s.request=i);let d=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",g=i.body?i.body.length:null,h=null;if(i.body==null&&["POST","PUT"].includes(i.method)&&(h="0"),g!=null&&(h=zc(`${g}`)),h!=null&&i.headersList.append("content-length",h,!0),g!=null&&i.keepalive,i.referrer instanceof URL&&i.headersList.append("referer",zc(i.referrer.href),!0),xO(i),FO(i),i.headersList.contains("user-agent",!0)||i.headersList.append("user-agent",g1),i.cache==="default"&&(i.headersList.contains("if-modified-since",!0)||i.headersList.contains("if-none-match",!0)||i.headersList.contains("if-unmodified-since",!0)||i.headersList.contains("if-match",!0)||i.headersList.contains("if-range",!0))&&(i.cache="no-store"),i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control",!0)&&i.headersList.append("cache-control","max-age=0",!0),(i.cache==="no-store"||i.cache==="reload")&&(i.headersList.contains("pragma",!0)||i.headersList.append("pragma","no-cache",!0),i.headersList.contains("cache-control",!0)||i.headersList.append("cache-control","no-cache",!0)),i.headersList.contains("range",!0)&&i.headersList.append("accept-encoding","identity",!0),i.headersList.contains("accept-encoding",!0)||(VO(Qn(i))?i.headersList.append("accept-encoding","br, gzip, deflate",!0):i.headersList.append("accept-encoding","gzip, deflate",!0)),i.headersList.delete("host",!0),c==null&&(i.cache="no-store"),i.cache!=="no-store"&&i.cache,a==null){if(i.cache==="only-if-cached")return ye("only if cached");let f=await E1(s,d,n);!ZO.has(i.method)&&f.status>=200&&f.status<=399,l&&f.status,a==null&&(a=f)}if(a.urlList=[...i.urlList],i.headersList.contains("range",!0)&&(a.rangeRequested=!0),a.requestIncludesCredentials=d,a.status===407)return r.window==="no-window"?ye():Bs(t)?jc(t):ye("proxy authentication required");if(a.status===421&&!n&&(r.body==null||r.body.source!=null)){if(Bs(t))return jc(t);t.controller.connection.destroy(),a=await fb(t,e,!0)}return a}o(fb,"httpNetworkOrCacheFetch");async function E1(t,e=!1,n=!1){ws(!t.controller.connection||t.controller.connection.destroyed),t.controller.connection={abort:null,destroyed:!1,destroy(C,y=!0){this.destroyed||(this.destroyed=!0,y&&this.abort?.(C??new DOMException("The operation was aborted.","AbortError")))}};let r=t.request,s=null,i=t.timingInfo;null==null&&(r.cache="no-store");let c=n?"yes":"no";r.mode;let l=null;if(r.body==null&&t.processRequestEndOfBody)queueMicrotask(()=>t.processRequestEndOfBody());else if(r.body!=null){let C=o(async function*(Q){Bs(t)||(yield Q,t.processRequestBodyChunkLength?.(Q.byteLength))},"processBodyChunk"),y=o(()=>{Bs(t)||t.processRequestEndOfBody&&t.processRequestEndOfBody()},"processEndOfBody"),v=o(Q=>{Bs(t)||(Q.name==="AbortError"?t.controller.abort():t.controller.terminate(Q))},"processBodyError");l=(async function*(){try{for await(let Q of r.body.stream)yield*C(Q);y()}catch(Q){v(Q)}})()}try{let{body:C,status:y,statusText:v,headersList:Q,socket:D}=await m({body:l});if(D)s=Wc({status:y,statusText:v,headersList:Q,socket:D});else{let G=C[Symbol.asyncIterator]();t.controller.next=()=>G.next(),s=Wc({status:y,statusText:v,headersList:Q})}}catch(C){return C.name==="AbortError"?(t.controller.connection.destroy(),jc(t,C)):ye(C)}let d=o(async()=>{await t.controller.resume()},"pullAlgorithm"),g=o(C=>{Bs(t)||t.controller.abort(C)},"cancelAlgorithm"),h=new ReadableStream({async start(C){t.controller.controller=C},async pull(C){await d(C)},async cancel(C){await g(C)},type:"bytes"});s.body={stream:h,source:null,length:null},t.controller.resume||t.controller.on("terminated",f),t.controller.resume=async()=>{for(;;){let C,y;try{let{done:Q,value:D}=await t.controller.next();if(sb(t))break;C=Q?void 0:D}catch(Q){t.controller.ended&&!i.encodedBodySize?C=void 0:(C=Q,y=!0)}if(C===void 0){$O(t.controller.controller),f1(t,s);return}if(i.decodedBodySize+=C?.byteLength??0,y){t.controller.terminate(C);return}let v=new Uint8Array(C);if(v.byteLength&&t.controller.controller.enqueue(v),i1(h)){t.controller.terminate();return}if(t.controller.controller.desiredSize<=0)return}};function f(C){sb(t)?(s.aborted=!0,Zc(h)&&t.controller.controller.error(t.controller.serializedAbortReason)):Zc(h)&&t.controller.controller.error(new TypeError("terminated",{cause:OO(C)?C:void 0})),t.controller.connection.destroy()}return o(f,"onAborted"),s;function m({body:C}){let y=Qn(r),v=t.controller.dispatcher;return new Promise((Q,D)=>v.dispatch({path:y.pathname+y.search,origin:y.origin,method:r.method,body:v.isMockActive?r.body&&(r.body.source||r.body.stream):C,headers:r.headersList.entries,maxRedirections:0,upgrade:r.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(G){let{connection:P}=t.controller;i.finalConnectionTimingInfo=HO(void 0,i.postRedirectStartTime,t.crossOriginIsolatedCapability),P.destroyed?G(new DOMException("The operation was aborted.","AbortError")):(t.controller.on("terminated",G),this.abort=P.abort=G),i.finalNetworkRequestStartTime=ma(t.crossOriginIsolatedCapability)},onResponseStarted(){i.finalNetworkResponseStartTime=ma(t.crossOriginIsolatedCapability)},onHeaders(G,P,ae,Ee){if(G<200)return;let Ce="",De=new rb;for(let Ge=0;Ge<P.length;Ge+=2)De.append(ob(P[Ge]),P[Ge+1].toString("latin1"),!0);Ce=De.get("location",!0);let et=[],sn=Ce&&r.redirect==="follow"&&cb.has(G);if(r.method!=="HEAD"&&r.method!=="CONNECT"&&!ub.includes(G)&&!sn){let Ge=De.get("content-encoding",!0),Tt=Ge?Ge.toLowerCase().split(","):[],xe=5;if(Tt.length>xe)return this.abort(new Error(`too many content-encodings in response: ${Tt.length}, maximum allowed is ${xe}`)),!0;for(let Nt=Tt.length-1;Nt>=0;--Nt){let $=Tt[Nt].trim();if($==="x-gzip"||$==="gzip")et.push(Rr.createGunzip({flush:Rr.constants.Z_SYNC_FLUSH,finishFlush:Rr.constants.Z_SYNC_FLUSH}));else if($==="deflate")et.push(jO({flush:Rr.constants.Z_SYNC_FLUSH,finishFlush:Rr.constants.Z_SYNC_FLUSH}));else if($==="br")et.push(Rr.createBrotliDecompress({flush:Rr.constants.BROTLI_OPERATION_FLUSH,finishFlush:Rr.constants.BROTLI_OPERATION_FLUSH}));else{et.length=0;break}}}this.body=new t1({read:ae});let At=this.onError.bind(this);return Q({status:G,statusText:Ee,headersList:De,body:et.length?n1(this.body,...et,Ge=>{Ge&&this.onError(Ge)}).on("error",At):this.body.on("error",At)}),!0},onData(G){if(t.controller.dump)return;let P=G;return i.encodedBodySize+=P.byteLength,this.body.push(P)},onComplete(){this.abort&&t.controller.off("terminated",this.abort),t.controller.ended=!0,this.body.push(null)},onError(G){this.abort&&t.controller.off("terminated",this.abort),this.body?.destroy(G),t.controller.terminate(G),D(G)},onUpgrade(G,P,ae){if(G!==101)return;let Ee=new rb;for(let Ce=0;Ce<P.length;Ce+=2)Ee.append(ob(P[Ce]),P[Ce+1].toString("latin1"),!0);return Q({status:G,statusText:l1[G],headersList:Ee,socket:ae}),!0}}))}o(m,"dispatch")}o(E1,"httpNetworkFetch");mb.exports={fetch:p1,Fetch:Kc,fetching:gb,finalizeAndReportTiming:lb}});var ip=T((F4,Eb)=>{"use strict";Eb.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")}});var Ib=T((U4,Cb)=>{"use strict";var{webidl:vt}=je(),Xc=Symbol("ProgressEvent state"),op=class t extends Event{static{o(this,"ProgressEvent")}constructor(e,n={}){e=vt.converters.DOMString(e,"ProgressEvent constructor","type"),n=vt.converters.ProgressEventInit(n??{}),super(e,n),this[Xc]={lengthComputable:n.lengthComputable,loaded:n.loaded,total:n.total}}get lengthComputable(){return vt.brandCheck(this,t),this[Xc].lengthComputable}get loaded(){return vt.brandCheck(this,t),this[Xc].loaded}get total(){return vt.brandCheck(this,t),this[Xc].total}};vt.converters.ProgressEventInit=vt.dictionaryConverter([{key:"lengthComputable",converter:vt.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"loaded",converter:vt.converters["unsigned long long"],defaultValue:o(()=>0,"defaultValue")},{key:"total",converter:vt.converters["unsigned long long"],defaultValue:o(()=>0,"defaultValue")},{key:"bubbles",converter:vt.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"cancelable",converter:vt.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"composed",converter:vt.converters.boolean,defaultValue:o(()=>!1,"defaultValue")}]);Cb.exports={ProgressEvent:op}});var Qb=T((L4,yb)=>{"use strict";function C1(t){if(!t)return"failure";switch(t.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"}}o(C1,"getEncoding");yb.exports={getEncoding:C1}});var xb=T((P4,vb)=>{"use strict";var{kState:Pi,kError:ap,kResult:Bb,kAborted:Ca,kLastProgressEventFired:Ap}=ip(),{ProgressEvent:I1}=Ib(),{getEncoding:wb}=Qb(),{serializeAMimeType:y1,parseMIMEType:bb}=gt(),{types:Q1}=require("node:util"),{StringDecoder:Rb}=require("string_decoder"),{btoa:kb}=require("node:buffer"),B1={enumerable:!0,writable:!1,configurable:!1};function w1(t,e,n,r){if(t[Pi]==="loading")throw new DOMException("Invalid state","InvalidStateError");t[Pi]="loading",t[Bb]=null,t[ap]=null;let i=e.stream().getReader(),a=[],c=i.read(),l=!0;(async()=>{for(;!t[Ca];)try{let{done:d,value:g}=await c;if(l&&!t[Ca]&&queueMicrotask(()=>{kr("loadstart",t)}),l=!1,!d&&Q1.isUint8Array(g))a.push(g),(t[Ap]===void 0||Date.now()-t[Ap]>=50)&&!t[Ca]&&(t[Ap]=Date.now(),queueMicrotask(()=>{kr("progress",t)})),c=i.read();else if(d){queueMicrotask(()=>{t[Pi]="done";try{let h=b1(a,n,e.type,r);if(t[Ca])return;t[Bb]=h,kr("load",t)}catch(h){t[ap]=h,kr("error",t)}t[Pi]!=="loading"&&kr("loadend",t)});break}}catch(d){if(t[Ca])return;queueMicrotask(()=>{t[Pi]="done",t[ap]=d,kr("error",t),t[Pi]!=="loading"&&kr("loadend",t)});break}})()}o(w1,"readOperation");function kr(t,e){let n=new I1(t,{bubbles:!1,cancelable:!1});e.dispatchEvent(n)}o(kr,"fireAProgressEvent");function b1(t,e,n,r){switch(e){case"DataURL":{let s="data:",i=bb(n||"application/octet-stream");i!=="failure"&&(s+=y1(i)),s+=";base64,";let a=new Rb("latin1");for(let c of t)s+=kb(a.write(c));return s+=kb(a.end()),s}case"Text":{let s="failure";if(r&&(s=wb(r)),s==="failure"&&n){let i=bb(n);i!=="failure"&&(s=wb(i.parameters.get("charset")))}return s==="failure"&&(s="UTF-8"),R1(t,s)}case"ArrayBuffer":return Sb(t).buffer;case"BinaryString":{let s="",i=new Rb("latin1");for(let a of t)s+=i.write(a);return s+=i.end(),s}}}o(b1,"packageData");function R1(t,e){let n=Sb(t),r=k1(n),s=0;r!==null&&(e=r,s=r==="UTF-8"?3:2);let i=n.slice(s);return new TextDecoder(e).decode(i)}o(R1,"decode");function k1(t){let[e,n,r]=t;return e===239&&n===187&&r===191?"UTF-8":e===254&&n===255?"UTF-16BE":e===255&&n===254?"UTF-16LE":null}o(k1,"BOMSniffing");function Sb(t){let e=t.reduce((r,s)=>r+s.byteLength,0),n=0;return t.reduce((r,s)=>(r.set(s,n),n+=s.byteLength,r),new Uint8Array(e))}o(Sb,"combineByteSequences");vb.exports={staticPropertyDescriptors:B1,readOperation:w1,fireAProgressEvent:kr}});var Fb=T((G4,Nb)=>{"use strict";var{staticPropertyDescriptors:Oi,readOperation:eu,fireAProgressEvent:Db}=xb(),{kState:bs,kError:Tb,kResult:tu,kEvents:fe,kAborted:S1}=ip(),{webidl:Be}=je(),{kEnumerableProperty:ft}=ue(),nn=class t extends EventTarget{static{o(this,"FileReader")}constructor(){super(),this[bs]="empty",this[tu]=null,this[Tb]=null,this[fe]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(e){Be.brandCheck(this,t),Be.argumentLengthCheck(arguments,1,"FileReader.readAsArrayBuffer"),e=Be.converters.Blob(e,{strict:!1}),eu(this,e,"ArrayBuffer")}readAsBinaryString(e){Be.brandCheck(this,t),Be.argumentLengthCheck(arguments,1,"FileReader.readAsBinaryString"),e=Be.converters.Blob(e,{strict:!1}),eu(this,e,"BinaryString")}readAsText(e,n=void 0){Be.brandCheck(this,t),Be.argumentLengthCheck(arguments,1,"FileReader.readAsText"),e=Be.converters.Blob(e,{strict:!1}),n!==void 0&&(n=Be.converters.DOMString(n,"FileReader.readAsText","encoding")),eu(this,e,"Text",n)}readAsDataURL(e){Be.brandCheck(this,t),Be.argumentLengthCheck(arguments,1,"FileReader.readAsDataURL"),e=Be.converters.Blob(e,{strict:!1}),eu(this,e,"DataURL")}abort(){if(this[bs]==="empty"||this[bs]==="done"){this[tu]=null;return}this[bs]==="loading"&&(this[bs]="done",this[tu]=null),this[S1]=!0,Db("abort",this),this[bs]!=="loading"&&Db("loadend",this)}get readyState(){switch(Be.brandCheck(this,t),this[bs]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return Be.brandCheck(this,t),this[tu]}get error(){return Be.brandCheck(this,t),this[Tb]}get onloadend(){return Be.brandCheck(this,t),this[fe].loadend}set onloadend(e){Be.brandCheck(this,t),this[fe].loadend&&this.removeEventListener("loadend",this[fe].loadend),typeof e=="function"?(this[fe].loadend=e,this.addEventListener("loadend",e)):this[fe].loadend=null}get onerror(){return Be.brandCheck(this,t),this[fe].error}set onerror(e){Be.brandCheck(this,t),this[fe].error&&this.removeEventListener("error",this[fe].error),typeof e=="function"?(this[fe].error=e,this.addEventListener("error",e)):this[fe].error=null}get onloadstart(){return Be.brandCheck(this,t),this[fe].loadstart}set onloadstart(e){Be.brandCheck(this,t),this[fe].loadstart&&this.removeEventListener("loadstart",this[fe].loadstart),typeof e=="function"?(this[fe].loadstart=e,this.addEventListener("loadstart",e)):this[fe].loadstart=null}get onprogress(){return Be.brandCheck(this,t),this[fe].progress}set onprogress(e){Be.brandCheck(this,t),this[fe].progress&&this.removeEventListener("progress",this[fe].progress),typeof e=="function"?(this[fe].progress=e,this.addEventListener("progress",e)):this[fe].progress=null}get onload(){return Be.brandCheck(this,t),this[fe].load}set onload(e){Be.brandCheck(this,t),this[fe].load&&this.removeEventListener("load",this[fe].load),typeof e=="function"?(this[fe].load=e,this.addEventListener("load",e)):this[fe].load=null}get onabort(){return Be.brandCheck(this,t),this[fe].abort}set onabort(e){Be.brandCheck(this,t),this[fe].abort&&this.removeEventListener("abort",this[fe].abort),typeof e=="function"?(this[fe].abort=e,this.addEventListener("abort",e)):this[fe].abort=null}};nn.EMPTY=nn.prototype.EMPTY=0;nn.LOADING=nn.prototype.LOADING=1;nn.DONE=nn.prototype.DONE=2;Object.defineProperties(nn.prototype,{EMPTY:Oi,LOADING:Oi,DONE:Oi,readAsArrayBuffer:ft,readAsBinaryString:ft,readAsText:ft,readAsDataURL:ft,abort:ft,readyState:ft,result:ft,error:ft,onloadstart:ft,onprogress:ft,onload:ft,onabort:ft,onerror:ft,onloadend:ft,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(nn,{EMPTY:Oi,LOADING:Oi,DONE:Oi});Nb.exports={FileReader:nn}});var nu=T((Y4,Ub)=>{"use strict";Ub.exports={kConstruct:ke().kConstruct}});var _b=T((V4,Lb)=>{"use strict";var v1=require("node:assert"),{URLSerializer:Mb}=gt(),{isValidHeaderName:x1}=Qt();function D1(t,e,n=!1){let r=Mb(t,n),s=Mb(e,n);return r===s}o(D1,"urlEquals");function T1(t){v1(t!==null);let e=[];for(let n of t.split(","))n=n.trim(),x1(n)&&e.push(n);return e}o(T1,"getFieldValues");Lb.exports={urlEquals:D1,getFieldValues:T1}});var Gb=T((J4,Ob)=>{"use strict";var{kConstruct:N1}=nu(),{urlEquals:F1,getFieldValues:cp}=_b(),{kEnumerableProperty:Rs,isDisturbed:U1}=ue(),{webidl:q}=je(),{Response:M1,cloneResponse:L1,fromInnerResponse:_1}=fa(),{Request:Jn,fromInnerRequest:P1}=_i(),{kState:rn}=hr(),{fetching:O1}=Ea(),{urlIsHttpHttpsScheme:ru,createDeferredPromise:Gi,readAllBytes:G1}=Qt(),up=require("node:assert"),su=class t{static{o(this,"Cache")}#e;constructor(){arguments[0]!==N1&&q.illegalConstructor(),q.util.markAsUncloneable(this),this.#e=arguments[1]}async match(e,n={}){q.brandCheck(this,t);let r="Cache.match";q.argumentLengthCheck(arguments,1,r),e=q.converters.RequestInfo(e,r,"request"),n=q.converters.CacheQueryOptions(n,r,"options");let s=this.#i(e,n,1);if(s.length!==0)return s[0]}async matchAll(e=void 0,n={}){q.brandCheck(this,t);let r="Cache.matchAll";return e!==void 0&&(e=q.converters.RequestInfo(e,r,"request")),n=q.converters.CacheQueryOptions(n,r,"options"),this.#i(e,n)}async add(e){q.brandCheck(this,t);let n="Cache.add";q.argumentLengthCheck(arguments,1,n),e=q.converters.RequestInfo(e,n,"request");let r=[e];return await this.addAll(r)}async addAll(e){q.brandCheck(this,t);let n="Cache.addAll";q.argumentLengthCheck(arguments,1,n);let r=[],s=[];for(let f of e){if(f===void 0)throw q.errors.conversionFailed({prefix:n,argument:"Argument 1",types:["undefined is not allowed"]});if(f=q.converters.RequestInfo(f),typeof f=="string")continue;let m=f[rn];if(!ru(m.url)||m.method!=="GET")throw q.errors.exception({header:n,message:"Expected http/s scheme when method is not GET."})}let i=[];for(let f of e){let m=new Jn(f)[rn];if(!ru(m.url))throw q.errors.exception({header:n,message:"Expected http/s scheme."});m.initiator="fetch",m.destination="subresource",s.push(m);let C=Gi();i.push(O1({request:m,processResponse(y){if(y.type==="error"||y.status===206||y.status<200||y.status>299)C.reject(q.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(y.headersList.contains("vary")){let v=cp(y.headersList.get("vary"));for(let Q of v)if(Q==="*"){C.reject(q.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let D of i)D.abort();return}}},processResponseEndOfBody(y){if(y.aborted){C.reject(new DOMException("aborted","AbortError"));return}C.resolve(y)}})),r.push(C.promise)}let c=await Promise.all(r),l=[],d=0;for(let f of c){let m={type:"put",request:s[d],response:f};l.push(m),d++}let g=Gi(),h=null;try{this.#t(l)}catch(f){h=f}return queueMicrotask(()=>{h===null?g.resolve(void 0):g.reject(h)}),g.promise}async put(e,n){q.brandCheck(this,t);let r="Cache.put";q.argumentLengthCheck(arguments,2,r),e=q.converters.RequestInfo(e,r,"request"),n=q.converters.Response(n,r,"response");let s=null;if(e instanceof Jn?s=e[rn]:s=new Jn(e)[rn],!ru(s.url)||s.method!=="GET")throw q.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"});let i=n[rn];if(i.status===206)throw q.errors.exception({header:r,message:"Got 206 status"});if(i.headersList.contains("vary")){let m=cp(i.headersList.get("vary"));for(let C of m)if(C==="*")throw q.errors.exception({header:r,message:"Got * vary field value"})}if(i.body&&(U1(i.body.stream)||i.body.stream.locked))throw q.errors.exception({header:r,message:"Response body is locked or disturbed"});let a=L1(i),c=Gi();if(i.body!=null){let C=i.body.stream.getReader();G1(C).then(c.resolve,c.reject)}else c.resolve(void 0);let l=[],d={type:"put",request:s,response:a};l.push(d);let g=await c.promise;a.body!=null&&(a.body.source=g);let h=Gi(),f=null;try{this.#t(l)}catch(m){f=m}return queueMicrotask(()=>{f===null?h.resolve():h.reject(f)}),h.promise}async delete(e,n={}){q.brandCheck(this,t);let r="Cache.delete";q.argumentLengthCheck(arguments,1,r),e=q.converters.RequestInfo(e,r,"request"),n=q.converters.CacheQueryOptions(n,r,"options");let s=null;if(e instanceof Jn){if(s=e[rn],s.method!=="GET"&&!n.ignoreMethod)return!1}else up(typeof e=="string"),s=new Jn(e)[rn];let i=[],a={type:"delete",request:s,options:n};i.push(a);let c=Gi(),l=null,d;try{d=this.#t(i)}catch(g){l=g}return queueMicrotask(()=>{l===null?c.resolve(!!d?.length):c.reject(l)}),c.promise}async keys(e=void 0,n={}){q.brandCheck(this,t);let r="Cache.keys";e!==void 0&&(e=q.converters.RequestInfo(e,r,"request")),n=q.converters.CacheQueryOptions(n,r,"options");let s=null;if(e!==void 0)if(e instanceof Jn){if(s=e[rn],s.method!=="GET"&&!n.ignoreMethod)return[]}else typeof e=="string"&&(s=new Jn(e)[rn]);let i=Gi(),a=[];if(e===void 0)for(let c of this.#e)a.push(c[0]);else{let c=this.#n(s,n);for(let l of c)a.push(l[0])}return queueMicrotask(()=>{let c=[];for(let l of a){let d=P1(l,new AbortController().signal,"immutable");c.push(d)}i.resolve(Object.freeze(c))}),i.promise}#t(e){let n=this.#e,r=[...n],s=[],i=[];try{for(let a of e){if(a.type!=="delete"&&a.type!=="put")throw q.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(a.type==="delete"&&a.response!=null)throw q.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#n(a.request,a.options,s).length)throw new DOMException("???","InvalidStateError");let c;if(a.type==="delete"){if(c=this.#n(a.request,a.options),c.length===0)return[];for(let l of c){let d=n.indexOf(l);up(d!==-1),n.splice(d,1)}}else if(a.type==="put"){if(a.response==null)throw q.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let l=a.request;if(!ru(l.url))throw q.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(l.method!=="GET")throw q.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(a.options!=null)throw q.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});c=this.#n(a.request);for(let d of c){let g=n.indexOf(d);up(g!==-1),n.splice(g,1)}n.push([a.request,a.response]),s.push([a.request,a.response])}i.push([a.request,a.response])}return i}catch(a){throw this.#e.length=0,this.#e=r,a}}#n(e,n,r){let s=[],i=r??this.#e;for(let a of i){let[c,l]=a;this.#s(e,c,l,n)&&s.push(a)}return s}#s(e,n,r=null,s){let i=new URL(e.url),a=new URL(n.url);if(s?.ignoreSearch&&(a.search="",i.search=""),!F1(i,a,!0))return!1;if(r==null||s?.ignoreVary||!r.headersList.contains("vary"))return!0;let c=cp(r.headersList.get("vary"));for(let l of c){if(l==="*")return!1;let d=n.headersList.get(l),g=e.headersList.get(l);if(d!==g)return!1}return!0}#i(e,n,r=1/0){let s=null;if(e!==void 0)if(e instanceof Jn){if(s=e[rn],s.method!=="GET"&&!n.ignoreMethod)return[]}else typeof e=="string"&&(s=new Jn(e)[rn]);let i=[];if(e===void 0)for(let c of this.#e)i.push(c[1]);else{let c=this.#n(s,n);for(let l of c)i.push(l[1])}let a=[];for(let c of i){let l=_1(c,"immutable");if(a.push(l.clone()),a.length>=r)break}return Object.freeze(a)}};Object.defineProperties(su.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:Rs,matchAll:Rs,add:Rs,addAll:Rs,put:Rs,delete:Rs,keys:Rs});var Pb=[{key:"ignoreSearch",converter:q.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"ignoreMethod",converter:q.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"ignoreVary",converter:q.converters.boolean,defaultValue:o(()=>!1,"defaultValue")}];q.converters.CacheQueryOptions=q.dictionaryConverter(Pb);q.converters.MultiCacheQueryOptions=q.dictionaryConverter([...Pb,{key:"cacheName",converter:q.converters.DOMString}]);q.converters.Response=q.interfaceConverter(M1);q.converters["sequence<RequestInfo>"]=q.sequenceConverter(q.converters.RequestInfo);Ob.exports={Cache:su}});var Yb=T((j4,$b)=>{"use strict";var{kConstruct:Ia}=nu(),{Cache:iu}=Gb(),{webidl:Xe}=je(),{kEnumerableProperty:ya}=ue(),ou=class t{static{o(this,"CacheStorage")}#e=new Map;constructor(){arguments[0]!==Ia&&Xe.illegalConstructor(),Xe.util.markAsUncloneable(this)}async match(e,n={}){if(Xe.brandCheck(this,t),Xe.argumentLengthCheck(arguments,1,"CacheStorage.match"),e=Xe.converters.RequestInfo(e),n=Xe.converters.MultiCacheQueryOptions(n),n.cacheName!=null){if(this.#e.has(n.cacheName)){let r=this.#e.get(n.cacheName);return await new iu(Ia,r).match(e,n)}}else for(let r of this.#e.values()){let i=await new iu(Ia,r).match(e,n);if(i!==void 0)return i}}async has(e){Xe.brandCheck(this,t);let n="CacheStorage.has";return Xe.argumentLengthCheck(arguments,1,n),e=Xe.converters.DOMString(e,n,"cacheName"),this.#e.has(e)}async open(e){Xe.brandCheck(this,t);let n="CacheStorage.open";if(Xe.argumentLengthCheck(arguments,1,n),e=Xe.converters.DOMString(e,n,"cacheName"),this.#e.has(e)){let s=this.#e.get(e);return new iu(Ia,s)}let r=[];return this.#e.set(e,r),new iu(Ia,r)}async delete(e){Xe.brandCheck(this,t);let n="CacheStorage.delete";return Xe.argumentLengthCheck(arguments,1,n),e=Xe.converters.DOMString(e,n,"cacheName"),this.#e.delete(e)}async keys(){return Xe.brandCheck(this,t),[...this.#e.keys()]}};Object.defineProperties(ou.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:ya,has:ya,open:ya,delete:ya,keys:ya});$b.exports={CacheStorage:ou}});var Hb=T((z4,Vb)=>{"use strict";Vb.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var gp=T((Z4,Wb)=>{"use strict";function $1(t){for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(n>=0&&n<=8||n>=10&&n<=31||n===127)return!0}return!1}o($1,"isCTLExcludingHtab");function lp(t){for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(n<33||n>126||n===34||n===40||n===41||n===60||n===62||n===64||n===44||n===59||n===58||n===92||n===47||n===91||n===93||n===63||n===61||n===123||n===125)throw new Error("Invalid cookie name")}}o(lp,"validateCookieName");function dp(t){let e=t.length,n=0;if(t[0]==='"'){if(e===1||t[e-1]!=='"')throw new Error("Invalid cookie value");--e,++n}for(;n<e;){let r=t.charCodeAt(n++);if(r<33||r>126||r===34||r===44||r===59||r===92)throw new Error("Invalid cookie value")}}o(dp,"validateCookieValue");function qb(t){for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(n<32||n>126||n===59)throw new Error("Invalid cookie path")}}o(qb,"validateCookiePath");function Jb(t){return t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122}o(Jb,"isLetterOrDigit");function Y1(t){if(t===" ")return;if(t.length>255)throw new Error("Invalid cookie domain");let e=0;for(let n=0;n<t.length;++n){let r=t.charCodeAt(n);if(r===46){if(e===0)throw new Error("Invalid cookie domain");if(t.charCodeAt(n-1)===45)throw new Error("Invalid cookie domain");e=0;continue}if(e===0&&!Jb(r))throw new Error("Invalid cookie domain");if(!Jb(r)&&r!==45)throw new Error("Invalid cookie domain");if(++e>63)throw new Error("Invalid cookie domain")}if(e===0||t.charCodeAt(t.length-1)===45)throw new Error("Invalid cookie domain")}o(Y1,"validateCookieDomain");var V1=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],H1=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],au=Array(61).fill(0).map((t,e)=>e.toString().padStart(2,"0"));function jb(t){return typeof t=="number"&&(t=new Date(t)),`${V1[t.getUTCDay()]}, ${au[t.getUTCDate()]} ${H1[t.getUTCMonth()]} ${t.getUTCFullYear()} ${au[t.getUTCHours()]}:${au[t.getUTCMinutes()]}:${au[t.getUTCSeconds()]} GMT`}o(jb,"toIMFDate");function J1(t){if(t<0)throw new Error("Invalid cookie max-age")}o(J1,"validateCookieMaxAge");function q1(t){if(t.name.length===0)return null;lp(t.name),dp(t.value);let e=[`${t.name}=${t.value}`];t.name.startsWith("__Secure-")&&(t.secure=!0),t.name.startsWith("__Host-")&&(t.secure=!0,t.domain=null,t.path="/"),t.secure&&e.push("Secure"),t.httpOnly&&e.push("HttpOnly"),typeof t.maxAge=="number"&&(J1(t.maxAge),e.push(`Max-Age=${t.maxAge}`)),t.domain&&(Y1(t.domain),e.push(`Domain=${t.domain}`)),t.path&&(qb(t.path),e.push(`Path=${t.path}`)),t.expires&&t.expires.toString()!=="Invalid Date"&&e.push(`Expires=${jb(t.expires)}`),t.sameSite&&e.push(`SameSite=${t.sameSite}`);for(let n of t.unparsed){if(!n.includes("="))throw new Error("Invalid unparsed");let[r,...s]=n.split("="),i=r.trim(),a=s.join("=");lp(i),dp(a),e.push(`${i}=${a}`)}return e.join("; ")}o(q1,"stringify");Wb.exports={isCTLExcludingHtab:$1,validateCookieName:lp,validateCookiePath:qb,validateCookieValue:dp,toIMFDate:jb,stringify:q1}});var Zb=T((X4,zb)=>{"use strict";var{maxNameValuePairSize:j1,maxAttributeValueSize:W1}=Hb(),{isCTLExcludingHtab:z1}=gp(),{collectASequenceOfCodePointsFast:Au}=gt(),Z1=require("node:assert");function K1(t){if(z1(t))return null;let e="",n="",r="",s="";if(t.includes(";")){let i={position:0};e=Au(";",t,i),n=t.slice(i.position)}else e=t;if(!e.includes("="))s=e;else{let i={position:0};r=Au("=",e,i),s=e.slice(i.position+1)}return r=r.trim(),s=s.trim(),r.length+s.length>j1?null:{name:r,value:s,...$i(n)}}o(K1,"parseSetCookie");function $i(t,e={}){if(t.length===0)return e;Z1(t[0]===";"),t=t.slice(1);let n="";t.includes(";")?(n=Au(";",t,{position:0}),t=t.slice(n.length)):(n=t,t="");let r="",s="";if(n.includes("=")){let a={position:0};r=Au("=",n,a),s=n.slice(a.position+1)}else r=n;if(r=r.trim(),s=s.trim(),s.length>W1)return $i(t,e);let i=r.toLowerCase();if(i==="expires"){let a=new Date(s);e.expires=a}else if(i==="max-age"){let a=s.charCodeAt(0);if((a<48||a>57)&&s[0]!=="-"||!/^\d+$/.test(s))return $i(t,e);let c=Number(s);e.maxAge=c}else if(i==="domain"){let a=s;a[0]==="."&&(a=a.slice(1)),a=a.toLowerCase(),e.domain=a}else if(i==="path"){let a="";s.length===0||s[0]!=="/"?a="/":a=s,e.path=a}else if(i==="secure")e.secure=!0;else if(i==="httponly")e.httpOnly=!0;else if(i==="samesite"){let a=s.toLowerCase();a==="none"?e.sameSite="None":a==="strict"?e.sameSite="Strict":a==="lax"&&(e.sameSite="Lax")}else e.unparsed??=[],e.unparsed.push(`${r}=${s}`);return $i(t,e)}o($i,"parseUnparsedAttributes");zb.exports={parseSetCookie:K1,parseUnparsedAttributes:$i}});var eR=T((t3,Xb)=>{"use strict";var{parseSetCookie:X1}=Zb(),{stringify:eG}=gp(),{webidl:ge}=je(),{Headers:cu}=ys();function tG(t){ge.argumentLengthCheck(arguments,1,"getCookies"),ge.brandCheck(t,cu,{strict:!1});let e=t.get("cookie"),n={};if(!e)return n;for(let r of e.split(";")){let[s,...i]=r.split("=");n[s.trim()]=i.join("=")}return n}o(tG,"getCookies");function nG(t,e,n){ge.brandCheck(t,cu,{strict:!1});let r="deleteCookie";ge.argumentLengthCheck(arguments,2,r),e=ge.converters.DOMString(e,r,"name"),n=ge.converters.DeleteCookieAttributes(n),Kb(t,{name:e,value:"",expires:new Date(0),...n})}o(nG,"deleteCookie");function rG(t){ge.argumentLengthCheck(arguments,1,"getSetCookies"),ge.brandCheck(t,cu,{strict:!1});let e=t.getSetCookie();return e?e.map(n=>X1(n)):[]}o(rG,"getSetCookies");function Kb(t,e){ge.argumentLengthCheck(arguments,2,"setCookie"),ge.brandCheck(t,cu,{strict:!1}),e=ge.converters.Cookie(e);let n=eG(e);n&&t.append("Set-Cookie",n)}o(Kb,"setCookie");ge.converters.DeleteCookieAttributes=ge.dictionaryConverter([{converter:ge.nullableConverter(ge.converters.DOMString),key:"path",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters.DOMString),key:"domain",defaultValue:o(()=>null,"defaultValue")}]);ge.converters.Cookie=ge.dictionaryConverter([{converter:ge.converters.DOMString,key:"name"},{converter:ge.converters.DOMString,key:"value"},{converter:ge.nullableConverter(t=>typeof t=="number"?ge.converters["unsigned long long"](t):new Date(t)),key:"expires",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters["long long"]),key:"maxAge",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters.DOMString),key:"domain",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters.DOMString),key:"path",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters.boolean),key:"secure",defaultValue:o(()=>null,"defaultValue")},{converter:ge.nullableConverter(ge.converters.boolean),key:"httpOnly",defaultValue:o(()=>null,"defaultValue")},{converter:ge.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:ge.sequenceConverter(ge.converters.DOMString),key:"unparsed",defaultValue:o(()=>new Array(0),"defaultValue")}]);Xb.exports={getCookies:tG,deleteCookie:nG,getSetCookies:rG,setCookie:Kb}});var Vi=T((r3,nR)=>{"use strict";var{webidl:H}=je(),{kEnumerableProperty:mt}=ue(),{kConstruct:tR}=ke(),{MessagePort:sG}=require("node:worker_threads"),Yi=class t extends Event{static{o(this,"MessageEvent")}#e;constructor(e,n={}){if(e===tR){super(arguments[1],arguments[2]),H.util.markAsUncloneable(this);return}let r="MessageEvent constructor";H.argumentLengthCheck(arguments,1,r),e=H.converters.DOMString(e,r,"type"),n=H.converters.MessageEventInit(n,r,"eventInitDict"),super(e,n),this.#e=n,H.util.markAsUncloneable(this)}get data(){return H.brandCheck(this,t),this.#e.data}get origin(){return H.brandCheck(this,t),this.#e.origin}get lastEventId(){return H.brandCheck(this,t),this.#e.lastEventId}get source(){return H.brandCheck(this,t),this.#e.source}get ports(){return H.brandCheck(this,t),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(e,n=!1,r=!1,s=null,i="",a="",c=null,l=[]){return H.brandCheck(this,t),H.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new t(e,{bubbles:n,cancelable:r,data:s,origin:i,lastEventId:a,source:c,ports:l})}static createFastMessageEvent(e,n){let r=new t(tR,e,n);return r.#e=n,r.#e.data??=null,r.#e.origin??="",r.#e.lastEventId??="",r.#e.source??=null,r.#e.ports??=[],r}},{createFastMessageEvent:iG}=Yi;delete Yi.createFastMessageEvent;var uu=class t extends Event{static{o(this,"CloseEvent")}#e;constructor(e,n={}){let r="CloseEvent constructor";H.argumentLengthCheck(arguments,1,r),e=H.converters.DOMString(e,r,"type"),n=H.converters.CloseEventInit(n),super(e,n),this.#e=n,H.util.markAsUncloneable(this)}get wasClean(){return H.brandCheck(this,t),this.#e.wasClean}get code(){return H.brandCheck(this,t),this.#e.code}get reason(){return H.brandCheck(this,t),this.#e.reason}},lu=class t extends Event{static{o(this,"ErrorEvent")}#e;constructor(e,n){let r="ErrorEvent constructor";H.argumentLengthCheck(arguments,1,r),super(e,n),H.util.markAsUncloneable(this),e=H.converters.DOMString(e,r,"type"),n=H.converters.ErrorEventInit(n??{}),this.#e=n}get message(){return H.brandCheck(this,t),this.#e.message}get filename(){return H.brandCheck(this,t),this.#e.filename}get lineno(){return H.brandCheck(this,t),this.#e.lineno}get colno(){return H.brandCheck(this,t),this.#e.colno}get error(){return H.brandCheck(this,t),this.#e.error}};Object.defineProperties(Yi.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:mt,origin:mt,lastEventId:mt,source:mt,ports:mt,initMessageEvent:mt});Object.defineProperties(uu.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:mt,code:mt,wasClean:mt});Object.defineProperties(lu.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:mt,filename:mt,lineno:mt,colno:mt,error:mt});H.converters.MessagePort=H.interfaceConverter(sG);H.converters["sequence<MessagePort>"]=H.sequenceConverter(H.converters.MessagePort);var hp=[{key:"bubbles",converter:H.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"cancelable",converter:H.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"composed",converter:H.converters.boolean,defaultValue:o(()=>!1,"defaultValue")}];H.converters.MessageEventInit=H.dictionaryConverter([...hp,{key:"data",converter:H.converters.any,defaultValue:o(()=>null,"defaultValue")},{key:"origin",converter:H.converters.USVString,defaultValue:o(()=>"","defaultValue")},{key:"lastEventId",converter:H.converters.DOMString,defaultValue:o(()=>"","defaultValue")},{key:"source",converter:H.nullableConverter(H.converters.MessagePort),defaultValue:o(()=>null,"defaultValue")},{key:"ports",converter:H.converters["sequence<MessagePort>"],defaultValue:o(()=>new Array(0),"defaultValue")}]);H.converters.CloseEventInit=H.dictionaryConverter([...hp,{key:"wasClean",converter:H.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"code",converter:H.converters["unsigned short"],defaultValue:o(()=>0,"defaultValue")},{key:"reason",converter:H.converters.USVString,defaultValue:o(()=>"","defaultValue")}]);H.converters.ErrorEventInit=H.dictionaryConverter([...hp,{key:"message",converter:H.converters.DOMString,defaultValue:o(()=>"","defaultValue")},{key:"filename",converter:H.converters.USVString,defaultValue:o(()=>"","defaultValue")},{key:"lineno",converter:H.converters["unsigned long"],defaultValue:o(()=>0,"defaultValue")},{key:"colno",converter:H.converters["unsigned long"],defaultValue:o(()=>0,"defaultValue")},{key:"error",converter:H.converters.any}]);nR.exports={MessageEvent:Yi,CloseEvent:uu,ErrorEvent:lu,createFastMessageEvent:iG}});var ks=T((i3,rR)=>{"use strict";var oG="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",aG={enumerable:!0,writable:!1,configurable:!1},AG={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},cG={NOT_SENT:0,PROCESSING:1,SENT:2},uG={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},lG=2**16-1,dG={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},gG=Buffer.allocUnsafe(0),hG={string:1,typedArray:2,arrayBuffer:3,blob:4};rR.exports={uid:oG,sentCloseFrameState:cG,staticPropertyDescriptors:aG,states:AG,opcodes:uG,maxUnsigned16Bit:lG,parserStates:dG,emptyBuffer:gG,sendHints:hG}});var Qa=T((o3,sR)=>{"use strict";sR.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")}});var ba=T((a3,gR)=>{"use strict";var{kReadyState:Ba,kController:pG,kResponse:fG,kBinaryType:mG,kWebSocketURL:EG}=Qa(),{states:wa,opcodes:Sr}=ks(),{ErrorEvent:CG,createFastMessageEvent:IG}=Vi(),{isUtf8:yG}=require("node:buffer"),{collectASequenceOfCodePointsFast:QG,removeHTTPWhitespace:iR}=gt();function BG(t){return t[Ba]===wa.CONNECTING}o(BG,"isConnecting");function wG(t){return t[Ba]===wa.OPEN}o(wG,"isEstablished");function bG(t){return t[Ba]===wa.CLOSING}o(bG,"isClosing");function RG(t){return t[Ba]===wa.CLOSED}o(RG,"isClosed");function pp(t,e,n=(s,i)=>new Event(s,i),r={}){let s=n(t,r);e.dispatchEvent(s)}o(pp,"fireEvent");function kG(t,e,n){if(t[Ba]!==wa.OPEN)return;let r;if(e===Sr.TEXT)try{r=dR(n)}catch{aR(t,"Received invalid UTF-8 in text frame.");return}else e===Sr.BINARY&&(t[mG]==="blob"?r=new Blob([n]):r=SG(n));pp("message",t,IG,{origin:t[EG].origin,data:r})}o(kG,"websocketMessageReceived");function SG(t){return t.byteLength===t.buffer.byteLength?t.buffer:t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength)}o(SG,"toArrayBuffer");function vG(t){if(t.length===0)return!1;for(let e=0;e<t.length;++e){let n=t.charCodeAt(e);if(n<33||n>126||n===34||n===40||n===41||n===44||n===47||n===58||n===59||n===60||n===61||n===62||n===63||n===64||n===91||n===92||n===93||n===123||n===125)return!1}return!0}o(vG,"isValidSubprotocol");function xG(t){return t>=1e3&&t<1015?t!==1004&&t!==1005&&t!==1006:t>=3e3&&t<=4999}o(xG,"isValidStatusCode");function aR(t,e){let{[pG]:n,[fG]:r}=t;n.abort(),r?.socket&&!r.socket.destroyed&&r.socket.destroy(),e&&pp("error",t,(s,i)=>new CG(s,i),{error:new Error(e),message:e})}o(aR,"failWebsocketConnection");function AR(t){return t===Sr.CLOSE||t===Sr.PING||t===Sr.PONG}o(AR,"isControlFrame");function cR(t){return t===Sr.CONTINUATION}o(cR,"isContinuationFrame");function uR(t){return t===Sr.TEXT||t===Sr.BINARY}o(uR,"isTextBinaryFrame");function DG(t){return uR(t)||cR(t)||AR(t)}o(DG,"isValidOpcode");function TG(t){let e={position:0},n=new Map;for(;e.position<t.length;){let r=QG(";",t,e),[s,i=""]=r.split("=");n.set(iR(s,!0,!1),iR(i,!1,!0)),e.position++}return n}o(TG,"parseExtensions");function NG(t){if(t.length===0)return!1;for(let n=0;n<t.length;n++){let r=t.charCodeAt(n);if(r<48||r>57)return!1}let e=Number.parseInt(t,10);return e>=8&&e<=15}o(NG,"isValidClientWindowBits");var lR=typeof process.versions.icu=="string",oR=lR?new TextDecoder("utf-8",{fatal:!0}):void 0,dR=lR?oR.decode.bind(oR):function(t){if(yG(t))return t.toString("utf-8");throw new TypeError("Invalid utf-8 received.")};gR.exports={isConnecting:BG,isEstablished:wG,isClosing:bG,isClosed:RG,fireEvent:pp,isValidSubprotocol:vG,isValidStatusCode:xG,failWebsocketConnection:aR,websocketMessageReceived:kG,utf8Decode:dR,isControlFrame:AR,isContinuationFrame:cR,isTextBinaryFrame:uR,isValidOpcode:DG,parseExtensions:TG,isValidClientWindowBits:NG}});var gu=T((c3,hR)=>{"use strict";var{maxUnsigned16Bit:FG}=ks(),du=16386,fp,Ra=null,Hi=du;try{fp=require("node:crypto")}catch{fp={randomFillSync:o(function(e,n,r){for(let s=0;s<e.length;++s)e[s]=Math.random()*255|0;return e},"randomFillSync")}}function UG(){return Hi===du&&(Hi=0,fp.randomFillSync(Ra??=Buffer.allocUnsafe(du),0,du)),[Ra[Hi++],Ra[Hi++],Ra[Hi++],Ra[Hi++]]}o(UG,"generateMask");var mp=class{static{o(this,"WebsocketFrameSend")}constructor(e){this.frameData=e}createFrame(e){let n=this.frameData,r=UG(),s=n?.byteLength??0,i=s,a=6;s>FG?(a+=8,i=127):s>125&&(a+=2,i=126);let c=Buffer.allocUnsafe(s+a);c[0]=c[1]=0,c[0]|=128,c[0]=(c[0]&240)+e;c[a-4]=r[0],c[a-3]=r[1],c[a-2]=r[2],c[a-1]=r[3],c[1]=i,i===126?c.writeUInt16BE(s,2):i===127&&(c[2]=c[3]=0,c.writeUIntBE(s,4,6)),c[1]|=128;for(let l=0;l<s;++l)c[a+l]=n[l]^r[l&3];return c}};hR.exports={WebsocketFrameSend:mp}});var Cp=T((l3,yR)=>{"use strict";var{uid:MG,states:ka,sentCloseFrameState:hu,emptyBuffer:LG,opcodes:_G}=ks(),{kReadyState:Sa,kSentClose:pu,kByteParser:fR,kReceivedClose:pR,kResponse:mR}=Qa(),{fireEvent:PG,failWebsocketConnection:vr,isClosing:OG,isClosed:GG,isEstablished:$G,parseExtensions:YG}=ba(),{channels:Ji}=si(),{CloseEvent:VG}=Vi(),{makeRequest:HG}=_i(),{fetching:JG}=Ea(),{Headers:qG,getHeadersList:jG}=ys(),{getDecodeSplit:WG}=Qt(),{WebsocketFrameSend:zG}=gu(),Ep;try{Ep=require("node:crypto")}catch{}function ZG(t,e,n,r,s,i){let a=t;a.protocol=t.protocol==="ws:"?"http:":"https:";let c=HG({urlList:[a],client:n,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(i.headers){let h=jG(new qG(i.headers));c.headersList=h}let l=Ep.randomBytes(16).toString("base64");c.headersList.append("sec-websocket-key",l),c.headersList.append("sec-websocket-version","13");for(let h of e)c.headersList.append("sec-websocket-protocol",h);return c.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits"),JG({request:c,useParallelQueue:!0,dispatcher:i.dispatcher,processResponse(h){if(h.type==="error"||h.status!==101){vr(r,"Received network error or non-101 status code.");return}if(e.length!==0&&!h.headersList.get("Sec-WebSocket-Protocol")){vr(r,"Server did not respond with sent protocols.");return}if(h.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){vr(r,'Server did not set Upgrade header to "websocket".');return}if(h.headersList.get("Connection")?.toLowerCase()!=="upgrade"){vr(r,'Server did not set Connection header to "upgrade".');return}let f=h.headersList.get("Sec-WebSocket-Accept"),m=Ep.createHash("sha1").update(l+MG).digest("base64");if(f!==m){vr(r,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let C=h.headersList.get("Sec-WebSocket-Extensions"),y;if(C!==null&&(y=YG(C),!y.has("permessage-deflate"))){vr(r,"Sec-WebSocket-Extensions header does not match.");return}let v=h.headersList.get("Sec-WebSocket-Protocol");if(v!==null){let Q=WG("sec-websocket-protocol",c.headersList);if(Q===null||!Q.includes(v)){vr(r,"Protocol was not set in the opening handshake.");return}}h.socket.on("data",ER),h.socket.on("close",CR),h.socket.on("error",IR),Ji.open.hasSubscribers&&Ji.open.publish({address:h.socket.address(),protocol:v,extensions:C}),s(h,y)}})}o(ZG,"establishWebSocketConnection");function KG(t,e,n,r){if(!(OG(t)||GG(t)))if(!$G(t))vr(t,"Connection was closed before it was established."),t[Sa]=ka.CLOSING;else if(t[pu]===hu.NOT_SENT){t[pu]=hu.PROCESSING;let s=new zG;e!==void 0&&n===void 0?(s.frameData=Buffer.allocUnsafe(2),s.frameData.writeUInt16BE(e,0)):e!==void 0&&n!==void 0?(s.frameData=Buffer.allocUnsafe(2+r),s.frameData.writeUInt16BE(e,0),s.frameData.write(n,2,"utf-8")):s.frameData=LG,t[mR].socket.write(s.createFrame(_G.CLOSE)),t[pu]=hu.SENT,t[Sa]=ka.CLOSING}else t[Sa]=ka.CLOSING}o(KG,"closeWebSocketConnection");function ER(t){this.ws[fR].write(t)||this.pause()}o(ER,"onSocketData");function CR(){let{ws:t}=this,{[mR]:e}=t;e.socket.off("data",ER),e.socket.off("close",CR),e.socket.off("error",IR);let n=t[pu]===hu.SENT&&t[pR],r=1005,s="",i=t[fR].closingInfo;i&&!i.error?(r=i.code??1005,s=i.reason):t[pR]||(r=1006),t[Sa]=ka.CLOSED,PG("close",t,(a,c)=>new VG(a,c),{wasClean:n,code:r,reason:s}),Ji.close.hasSubscribers&&Ji.close.publish({websocket:t,code:r,reason:s})}o(CR,"onSocketClose");function IR(t){let{ws:e}=this;e[Sa]=ka.CLOSING,Ji.socketError.hasSubscribers&&Ji.socketError.publish(t),this.destroy()}o(IR,"onSocketError");yR.exports={establishWebSocketConnection:ZG,closeWebSocketConnection:KG}});var BR=T((g3,QR)=>{"use strict";var{createInflateRaw:XG,Z_DEFAULT_WINDOWBITS:e$}=require("node:zlib"),{isValidClientWindowBits:t$}=ba(),{MessageSizeExceededError:n$}=pe(),r$=Buffer.from([0,0,255,255]),fu=Symbol("kBuffer"),va=Symbol("kLength"),Ip=class{static{o(this,"PerMessageDeflate")}#e;#t={};#n=0;constructor(e,n){this.#t.serverNoContextTakeover=e.has("server_no_context_takeover"),this.#t.serverMaxWindowBits=e.get("server_max_window_bits"),this.#n=n.maxPayloadSize}decompress(e,n,r){if(!this.#e){let s=e$;if(this.#t.serverMaxWindowBits){if(!t$(this.#t.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}s=Number.parseInt(this.#t.serverMaxWindowBits)}try{this.#e=XG({windowBits:s})}catch(i){r(i);return}this.#e[fu]=[],this.#e[va]=0,this.#e.on("data",i=>{if(this.#e[va]+=i.length,this.#n>0&&this.#e[va]>this.#n){r(new n$),this.#e.removeAllListeners(),this.#e.destroy(),this.#e=null;return}this.#e[fu].push(i)}),this.#e.on("error",i=>{this.#e=null,r(i)})}this.#e.write(e),n&&this.#e.write(r$),this.#e.flush(()=>{if(!this.#e)return;let s=Buffer.concat(this.#e[fu],this.#e[va]);this.#e[fu].length=0,this.#e[va]=0,r(null,s)})}};QR.exports={PerMessageDeflate:Ip}});var TR=T((p3,DR)=>{"use strict";var{Writable:s$}=require("node:stream"),i$=require("node:assert"),{parserStates:Et,opcodes:qi,states:o$,emptyBuffer:wR,sentCloseFrameState:bR}=ks(),{kReadyState:a$,kSentClose:RR,kResponse:yp,kReceivedClose:kR}=Qa(),{channels:mu}=si(),{isValidStatusCode:A$,isValidOpcode:c$,failWebsocketConnection:xt,websocketMessageReceived:SR,utf8Decode:u$,isControlFrame:Qp,isTextBinaryFrame:Bp,isContinuationFrame:l$}=ba(),{WebsocketFrameSend:vR}=gu(),{closeWebSocketConnection:xR}=Cp(),{PerMessageDeflate:d$}=BR(),{MessageSizeExceededError:wp}=pe();function xa(t,e,n){xR(t,e,n,Buffer.byteLength(n)),xt(t,n)}o(xa,"failWebsocketConnectionWithCode");var bp=class extends s${static{o(this,"ByteParser")}#e=[];#t=0;#n=0;#s=!1;#i=Et.INFO;#r={};#o=[];#a;#c;#A;constructor(e,n,r={}){super(),this.ws=e,this.#a=n??new Map,this.#c=r.maxFragments??0,this.#A=r.maxPayloadSize??0,this.#a.has("permessage-deflate")&&this.#a.set("permessage-deflate",new d$(n,r))}_write(e,n,r){this.#e.push(e),this.#n+=e.length,this.#s=!0,this.run(r)}#u(){return this.#A>0&&!Qp(this.#r.opcode)&&this.#r.payloadLength+this.#t>this.#A?(xa(this.ws,1009,"Payload size exceeds maximum allowed size"),!1):!0}run(e){for(;this.#s;)if(this.#i===Et.INFO){if(this.#n<2)return e();let n=this.consume(2),r=(n[0]&128)!==0,s=n[0]&15,i=(n[1]&128)===128,a=!r&&s!==qi.CONTINUATION,c=n[1]&127,l=n[0]&64,d=n[0]&32,g=n[0]&16;if(!c$(s))return xt(this.ws,"Invalid opcode received"),e();if(i)return xt(this.ws,"Frame cannot be masked"),e();if(l!==0&&!this.#a.has("permessage-deflate")){xt(this.ws,"Expected RSV1 to be clear.");return}if(d!==0||g!==0){xt(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(a&&!Bp(s)){xt(this.ws,"Invalid frame type was fragmented.");return}if(Bp(s)&&this.#o.length>0){xt(this.ws,"Expected continuation frame");return}if(this.#r.fragmented&&a){xt(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((c>125||a)&&Qp(s)){xt(this.ws,"Control frame either too large or fragmented");return}if(l$(s)&&this.#o.length===0&&!this.#r.compressed){xt(this.ws,"Unexpected continuation frame");return}if(c<=125){if(this.#r.payloadLength=c,this.#i=Et.READ_DATA,!this.#u())return}else c===126?this.#i=Et.PAYLOADLENGTH_16:c===127&&(this.#i=Et.PAYLOADLENGTH_64);Bp(s)&&(this.#r.binaryType=s,this.#r.compressed=l!==0),this.#r.opcode=s,this.#r.masked=i,this.#r.fin=r,this.#r.fragmented=a}else if(this.#i===Et.PAYLOADLENGTH_16){if(this.#n<2)return e();let n=this.consume(2);if(this.#r.payloadLength=n.readUInt16BE(0),this.#i=Et.READ_DATA,!this.#u())return}else if(this.#i===Et.PAYLOADLENGTH_64){if(this.#n<8)return e();let n=this.consume(8),r=n.readUInt32BE(0),s=n.readUInt32BE(4);if(r!==0||s>2**31-1){xt(this.ws,"Received payload length > 2^31 bytes.");return}if(this.#r.payloadLength=s,this.#i=Et.READ_DATA,!this.#u())return}else if(this.#i===Et.READ_DATA){if(this.#n<this.#r.payloadLength)return e();let n=this.consume(this.#r.payloadLength);if(Qp(this.#r.opcode)){this.#s=this.parseControlFrame(n),this.#i=Et.INFO;let r=this.ws[yp].socket;if(this.#s&&r.writableNeedDrain){this.#s=!1,r.once("drain",()=>{this.destroyed||(this.#s=!0,this.run(e))});return}}else if(this.#r.compressed){this.#a.get("permessage-deflate").decompress(n,this.#r.fin,(r,s)=>{if(r){let i=r instanceof wp?1009:1007;xa(this.ws,i,r.message);return}if(this.writeFragments(s)){if(this.#A>0&&this.#t>this.#A){xa(this.ws,1009,new wp().message);return}if(!this.#r.fin){this.#i=Et.INFO,this.#s=!0,this.run(e);return}SR(this.ws,this.#r.binaryType,this.consumeFragments()),this.#s=!0,this.#i=Et.INFO,this.run(e)}}),this.#s=!1;break}else{if(!this.writeFragments(n))return;if(this.#A>0&&this.#t>this.#A){xa(this.ws,1009,new wp().message);return}!this.#r.fragmented&&this.#r.fin&&SR(this.ws,this.#r.binaryType,this.consumeFragments()),this.#i=Et.INFO}}}consume(e){if(e>this.#n)throw new Error("Called consume() before buffers satiated.");if(e===0)return wR;if(this.#e[0].length===e)return this.#n-=this.#e[0].length,this.#e.shift();let n=Buffer.allocUnsafe(e),r=0;for(;r!==e;){let s=this.#e[0],{length:i}=s;if(i+r===e){n.set(this.#e.shift(),r);break}else if(i+r>e){n.set(s.subarray(0,e-r),r),this.#e[0]=s.subarray(e-r);break}else n.set(this.#e.shift(),r),r+=s.length}return this.#n-=e,n}writeFragments(e){return this.#c>0&&this.#o.length===this.#c?(xa(this.ws,1008,"Too many message fragments"),!1):(this.#t+=e.length,this.#o.push(e),!0)}consumeFragments(){let e=this.#o;if(e.length===1)return this.#t=0,e.shift();let n=Buffer.concat(e,this.#t);return this.#o=[],this.#t=0,n}parseCloseBody(e){i$(e.length!==1);let n;if(e.length>=2&&(n=e.readUInt16BE(0)),n!==void 0&&!A$(n))return{code:1002,reason:"Invalid status code",error:!0};let r=e.subarray(2);r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3));try{r=u$(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:n,reason:r,error:!1}}parseControlFrame(e){let{opcode:n,payloadLength:r}=this.#r;if(n===qi.CLOSE){if(r===1)return xt(this.ws,"Received close frame with a 1-byte body."),!1;if(this.#r.closeInfo=this.parseCloseBody(e),this.#r.closeInfo.error){let{code:s,reason:i}=this.#r.closeInfo;return xR(this.ws,s,i,i.length),xt(this.ws,i),!1}if(this.ws[RR]!==bR.SENT){let s=wR;this.#r.closeInfo.code&&(s=Buffer.allocUnsafe(2),s.writeUInt16BE(this.#r.closeInfo.code,0));let i=new vR(s);this.ws[yp].socket.write(i.createFrame(qi.CLOSE),a=>{a||(this.ws[RR]=bR.SENT)})}return this.ws[a$]=o$.CLOSING,this.ws[kR]=!0,!1}else if(n===qi.PING){if(!this.ws[kR]){let s=new vR(e);this.ws[yp].socket.write(s.createFrame(qi.PONG)),mu.ping.hasSubscribers&&mu.ping.publish({payload:e})}}else n===qi.PONG&&mu.pong.hasSubscribers&&mu.pong.publish({payload:e});return!0}get closingInfo(){return this.#r.closeInfo}};DR.exports={ByteParser:bp}});var LR=T((m3,MR)=>{"use strict";var{WebsocketFrameSend:g$}=gu(),{opcodes:NR,sendHints:ji}=ks(),h$=xg(),FR=Buffer[Symbol.species],Rp=class{static{o(this,"SendQueue")}#e=new h$;#t=!1;#n;constructor(e){this.#n=e}add(e,n,r){if(r!==ji.blob){let i=UR(e,r);if(!this.#t)this.#n.write(i,n);else{let a={promise:null,callback:n,frame:i};this.#e.push(a)}return}let s={promise:e.arrayBuffer().then(i=>{s.promise=null,s.frame=UR(i,r)}),callback:n,frame:null};this.#e.push(s),this.#t||this.#s()}async#s(){this.#t=!0;let e=this.#e;for(;!e.isEmpty();){let n=e.shift();n.promise!==null&&await n.promise,this.#n.write(n.frame,n.callback),n.callback=n.frame=null}this.#t=!1}};function UR(t,e){return new g$(p$(t,e)).createFrame(e===ji.string?NR.TEXT:NR.BINARY)}o(UR,"createFrame");function p$(t,e){switch(e){case ji.string:return Buffer.from(t);case ji.arrayBuffer:case ji.blob:return new FR(t);case ji.typedArray:return new FR(t.buffer,t.byteOffset,t.byteLength)}}o(p$,"toBuffer");MR.exports={SendQueue:Rp}});var qR=T((C3,JR)=>{"use strict";var{webidl:re}=je(),{URLSerializer:f$}=gt(),{environmentSettingsObject:_R}=Qt(),{staticPropertyDescriptors:xr,states:Da,sentCloseFrameState:m$,sendHints:Eu}=ks(),{kWebSocketURL:PR,kReadyState:kp,kController:OR,kBinaryType:Cu,kResponse:GR,kSentClose:E$,kByteParser:C$}=Qa(),{isConnecting:I$,isEstablished:y$,isClosing:Q$,isValidSubprotocol:B$,fireEvent:$R}=ba(),{establishWebSocketConnection:w$,closeWebSocketConnection:YR}=Cp(),{ByteParser:b$}=TR(),{kEnumerableProperty:Yt,isBlobLike:VR}=ue(),{getGlobalDispatcher:R$}=ga(),{types:HR}=require("node:util"),{ErrorEvent:k$,CloseEvent:S$}=Vi(),{SendQueue:v$}=LR(),Dt=class t extends EventTarget{static{o(this,"WebSocket")}#e={open:null,error:null,close:null,message:null};#t=0;#n="";#s="";#i;constructor(e,n=[]){super(),re.util.markAsUncloneable(this);let r="WebSocket constructor";re.argumentLengthCheck(arguments,1,r);let s=re.converters["DOMString or sequence<DOMString> or WebSocketInit"](n,r,"options");e=re.converters.USVString(e,r,"url"),n=s.protocols;let i=_R.settingsObject.baseUrl,a;try{a=new URL(e,i)}catch(l){throw new DOMException(l,"SyntaxError")}if(a.protocol==="http:"?a.protocol="ws:":a.protocol==="https:"&&(a.protocol="wss:"),a.protocol!=="ws:"&&a.protocol!=="wss:")throw new DOMException(`Expected a ws: or wss: protocol, got ${a.protocol}`,"SyntaxError");if(a.hash||a.href.endsWith("#"))throw new DOMException("Got fragment","SyntaxError");if(typeof n=="string"&&(n=[n]),n.length!==new Set(n.map(l=>l.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(n.length>0&&!n.every(l=>B$(l)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[PR]=new URL(a.href);let c=_R.settingsObject;this[OR]=w$(a,n,c,this,(l,d)=>this.#r(l,d),s),this[kp]=t.CONNECTING,this[E$]=m$.NOT_SENT,this[Cu]="blob"}close(e=void 0,n=void 0){re.brandCheck(this,t);let r="WebSocket.close";if(e!==void 0&&(e=re.converters["unsigned short"](e,r,"code",{clamp:!0})),n!==void 0&&(n=re.converters.USVString(n,r,"reason")),e!==void 0&&e!==1e3&&(e<3e3||e>4999))throw new DOMException("invalid code","InvalidAccessError");let s=0;if(n!==void 0&&(s=Buffer.byteLength(n),s>123))throw new DOMException(`Reason must be less than 123 bytes; received ${s}`,"SyntaxError");YR(this,e,n,s)}send(e){re.brandCheck(this,t);let n="WebSocket.send";if(re.argumentLengthCheck(arguments,1,n),e=re.converters.WebSocketSendData(e,n,"data"),I$(this))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!y$(this)||Q$(this)))if(typeof e=="string"){let r=Buffer.byteLength(e);this.#t+=r,this.#i.add(e,()=>{this.#t-=r},Eu.string)}else HR.isArrayBuffer(e)?(this.#t+=e.byteLength,this.#i.add(e,()=>{this.#t-=e.byteLength},Eu.arrayBuffer)):ArrayBuffer.isView(e)?(this.#t+=e.byteLength,this.#i.add(e,()=>{this.#t-=e.byteLength},Eu.typedArray)):VR(e)&&(this.#t+=e.size,this.#i.add(e,()=>{this.#t-=e.size},Eu.blob))}get readyState(){return re.brandCheck(this,t),this[kp]}get bufferedAmount(){return re.brandCheck(this,t),this.#t}get url(){return re.brandCheck(this,t),f$(this[PR])}get extensions(){return re.brandCheck(this,t),this.#s}get protocol(){return re.brandCheck(this,t),this.#n}get onopen(){return re.brandCheck(this,t),this.#e.open}set onopen(e){re.brandCheck(this,t),this.#e.open&&this.removeEventListener("open",this.#e.open),typeof e=="function"?(this.#e.open=e,this.addEventListener("open",e)):this.#e.open=null}get onerror(){return re.brandCheck(this,t),this.#e.error}set onerror(e){re.brandCheck(this,t),this.#e.error&&this.removeEventListener("error",this.#e.error),typeof e=="function"?(this.#e.error=e,this.addEventListener("error",e)):this.#e.error=null}get onclose(){return re.brandCheck(this,t),this.#e.close}set onclose(e){re.brandCheck(this,t),this.#e.close&&this.removeEventListener("close",this.#e.close),typeof e=="function"?(this.#e.close=e,this.addEventListener("close",e)):this.#e.close=null}get onmessage(){return re.brandCheck(this,t),this.#e.message}set onmessage(e){re.brandCheck(this,t),this.#e.message&&this.removeEventListener("message",this.#e.message),typeof e=="function"?(this.#e.message=e,this.addEventListener("message",e)):this.#e.message=null}get binaryType(){return re.brandCheck(this,t),this[Cu]}set binaryType(e){re.brandCheck(this,t),e!=="blob"&&e!=="arraybuffer"?this[Cu]="blob":this[Cu]=e}#r(e,n){this[GR]=e;let r=this[OR]?.dispatcher?.webSocketOptions,s=r?.maxFragments,i=r?.maxPayloadSize,a=new b$(this,n,{maxFragments:s,maxPayloadSize:i});a.on("drain",x$),a.on("error",D$.bind(this)),e.socket.ws=this,this[C$]=a,this.#i=new v$(e.socket),this[kp]=Da.OPEN;let c=e.headersList.get("sec-websocket-extensions");c!==null&&(this.#s=c);let l=e.headersList.get("sec-websocket-protocol");l!==null&&(this.#n=l),$R("open",this)}};Dt.CONNECTING=Dt.prototype.CONNECTING=Da.CONNECTING;Dt.OPEN=Dt.prototype.OPEN=Da.OPEN;Dt.CLOSING=Dt.prototype.CLOSING=Da.CLOSING;Dt.CLOSED=Dt.prototype.CLOSED=Da.CLOSED;Object.defineProperties(Dt.prototype,{CONNECTING:xr,OPEN:xr,CLOSING:xr,CLOSED:xr,url:Yt,readyState:Yt,bufferedAmount:Yt,onopen:Yt,onerror:Yt,onclose:Yt,close:Yt,onmessage:Yt,binaryType:Yt,send:Yt,extensions:Yt,protocol:Yt,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(Dt,{CONNECTING:xr,OPEN:xr,CLOSING:xr,CLOSED:xr});re.converters["sequence<DOMString>"]=re.sequenceConverter(re.converters.DOMString);re.converters["DOMString or sequence<DOMString>"]=function(t,e,n){return re.util.Type(t)==="Object"&&Symbol.iterator in t?re.converters["sequence<DOMString>"](t):re.converters.DOMString(t,e,n)};re.converters.WebSocketInit=re.dictionaryConverter([{key:"protocols",converter:re.converters["DOMString or sequence<DOMString>"],defaultValue:o(()=>new Array(0),"defaultValue")},{key:"dispatcher",converter:re.converters.any,defaultValue:o(()=>R$(),"defaultValue")},{key:"headers",converter:re.nullableConverter(re.converters.HeadersInit)}]);re.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(t){return re.util.Type(t)==="Object"&&!(Symbol.iterator in t)?re.converters.WebSocketInit(t):{protocols:re.converters["DOMString or sequence<DOMString>"](t)}};re.converters.WebSocketSendData=function(t){if(re.util.Type(t)==="Object"){if(VR(t))return re.converters.Blob(t,{strict:!1});if(ArrayBuffer.isView(t)||HR.isArrayBuffer(t))return re.converters.BufferSource(t)}return re.converters.USVString(t)};function x$(){this.ws[GR].socket.resume()}o(x$,"onParserDrain");function D$(t){let e,n;t instanceof S$?(e=t.reason,n=t.code):e=t.message,$R("error",this,()=>new k$("error",{error:t,message:e})),YR(this,n)}o(D$,"onParserError");JR.exports={WebSocket:Dt}});var Sp=T((y3,jR)=>{"use strict";function T$(t){return t.indexOf("\0")===-1}o(T$,"isValidLastEventId");function N$(t){if(t.length===0)return!1;for(let e=0;e<t.length;e++)if(t.charCodeAt(e)<48||t.charCodeAt(e)>57)return!1;return!0}o(N$,"isASCIINumber");function F$(t){return new Promise(e=>{setTimeout(e,t).unref()})}o(F$,"delay");jR.exports={isValidLastEventId:T$,isASCIINumber:N$,delay:F$}});var zR=T((B3,WR)=>{"use strict";var U$=require("node:buffer"),{Transform:M$}=require("node:stream"),{isASCIINumber:L$,isValidLastEventId:_$}=Sp(),Wi=[239,187,191],Iu=10,Ta=13,P$=58,O$=32,G$=U$.kStringMaxLength,$$=Buffer.from("data"),Y$=Buffer.from("event"),V$=Buffer.from("id"),H$=Buffer.from("retry"),J$=1024,q$=131072,j$=128;function W$(t,e){if(e>=t.length)return!1;for(let n=e;n<t.length;n++)if(t[n]<48||t[n]>57)return!1;return!0}o(W$,"isASCIINumberBytes");function z$(t,e){for(let n=e;n<t.length;n++)if(t[n]===0)return!1;return!0}o(z$,"isValidLastEventIdBytes");function yu(t,e,n){if(e!==n.length)return!1;for(let r=0;r<e;r++)if(t[r]!==n[r])return!1;return!0}o(yu,"isFieldName");function Qu(){let t=new Error("EventSource message size exceeded");return t.aborted=!1,t}o(Qu,"createMaxEventSizeExceededError");var vp=class extends M${static{o(this,"EventSourceStream")}state=null;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;chunks=[];chunkIndex=0;pos=0;lineChunkIndex=0;linePos=0;lineLength=0;eventSize=0;eventFieldSizes={data:0,event:0,id:0,retry:0};dataLineCount=0;maxEventSize;maxDataLines;maxBufferedChunks;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(e={}){e.readableObjectMode=!0,super(e),this.state=e.eventSourceSettings||{},this.maxEventSize=e.maxEventSize??G$;let n=this.maxEventSize>0?Math.min(q$,Math.max(J$,Math.floor(this.maxEventSize/j$))):0;this.maxDataLines=n,this.maxBufferedChunks=n,e.push&&(this.push=e.push)}_transform(e,n,r){if(e.length===0){r();return}if(this.maxEventSize>0&&this.chunks.length>=this.maxBufferedChunks&&e[0]!==Iu&&e[0]!==Ta){r(Qu());return}if(this.chunks.push(e),this.checkBOM&&this.handleBOM()){r();return}for(;this.hasCurrentByte();){let s=this.currentByte();if(this.eventEndCheck){if(this.crlfCheck){if(s===Iu){this.crlfCheck=!1,this.consumeCurrentByte();continue}this.crlfCheck=!1}if(s===Iu||s===Ta){s===Ta&&(this.crlfCheck=!0),this.consumeCurrentByte(),this.hasPendingEvent()&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(s===Iu||s===Ta){s===Ta&&(this.crlfCheck=!0);try{this.parseLine(this.readLine(),this.event)}catch(i){r(i);return}this.consumeCurrentByte(),this.eventEndCheck=!0;continue}if(this.maxEventSize>0&&++this.lineLength>this.maxEventSize+7){r(Qu());return}this.advanceCursor()}r()}_destroy(e,n){this.chunks.length=0,this.clearEvent(),super._destroy(e,n)}parseLine(e,n){if(e.length===0)return;let r=e.indexOf(P$);if(r===0)return;let s=e.length,i=e.length;if(r!==-1&&(s=r,i=r+1,e[i]===O$&&++i),yu(e,s,$$)){if(this.maxEventSize>0&&this.dataLineCount>=this.maxDataLines)throw Qu();let a=e.length-i,c=this.eventFieldSizes.data+(n.data===void 0?0:1)+a;this.setEventFieldSize("data",c);let l=e.toString("utf8",i);n.data===void 0?n.data=l:n.data+=`
|
|
46
|
+
${l}`,this.dataLineCount++;return}if(yu(e,s,H$)){W$(e,i)&&(this.setEventFieldSize("retry",e.length-i),n.retry=e.toString("utf8",i));return}if(yu(e,s,V$)){z$(e,i)&&(this.setEventFieldSize("id",e.length-i),n.id=e.toString("utf8",i));return}yu(e,s,Y$)&&i<e.length&&(this.setEventFieldSize("event",e.length-i),n.event=e.toString("utf8",i))}setEventFieldSize(e,n){let r=this.eventSize-this.eventFieldSizes[e]+n;if(this.maxEventSize>0&&r>this.maxEventSize)throw Qu();this.eventSize=r,this.eventFieldSizes[e]=n}processEvent(e){e.retry&&L$(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&_$(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event.data=void 0,this.event.event=void 0,this.event.id=void 0,this.event.retry=void 0,this.eventSize=0,this.dataLineCount=0,this.eventFieldSizes.data=0,this.eventFieldSizes.event=0,this.eventFieldSizes.id=0,this.eventFieldSizes.retry=0}hasPendingEvent(){return this.event.data!==void 0||this.event.event!==void 0||this.event.id!==void 0||this.event.retry!==void 0}hasCurrentByte(){return this.chunkIndex<this.chunks.length&&this.pos<this.chunks[this.chunkIndex].length}currentByte(){return this.chunks[this.chunkIndex][this.pos]}consumeCurrentByte(){this.advanceCursor(),this.syncLineStartToCursor()}advanceCursor(){for(this.pos++;this.chunkIndex<this.chunks.length&&this.pos>=this.chunks[this.chunkIndex].length;)this.chunkIndex++,this.pos=0}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex,this.linePos=this.pos,this.lineLength=0,this.dropConsumedChunks()}dropConsumedChunks(){if(this.lineChunkIndex>0){let e=this.lineChunkIndex;this.chunks.splice(0,e),this.lineChunkIndex=0,this.chunkIndex-=e}this.chunkIndex===this.chunks.length&&(this.chunks.length=0,this.chunkIndex=0,this.pos=0,this.lineChunkIndex=0,this.linePos=0)}readLine(){if(this.lineChunkIndex===this.chunkIndex)return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos);let e=[],n=0;for(let r=this.lineChunkIndex;r<=this.chunkIndex;r++){let s=this.chunks[r],i=r===this.lineChunkIndex?this.linePos:0,a=r===this.chunkIndex?this.pos:s.length,c=s.subarray(i,a);n+=c.length,e.push(c)}return Buffer.concat(e,n)}peekBufferedByte(e){let n=this.lineChunkIndex,r=this.linePos;for(;n<this.chunks.length;){let s=this.chunks[n],i=s.length-r;if(e<i)return s[r+e];e-=i,n++,r=0}}discardLeadingBytes(e){for(;e>0&&this.lineChunkIndex<this.chunks.length;){let r=this.chunks[this.lineChunkIndex].length-this.linePos;e<r?(this.linePos+=e,e=0):(e-=r,this.lineChunkIndex++,this.linePos=0)}this.chunkIndex=this.lineChunkIndex,this.pos=this.linePos,this.dropConsumedChunks()}handleBOM(){let e=this.peekBufferedByte(0),n=this.peekBufferedByte(1),r=this.peekBufferedByte(2);return n===void 0?(e===Wi[0]||(this.checkBOM=!1),!0):r===void 0?e===Wi[0]&&n===Wi[1]?!0:(this.checkBOM=!1,!1):(e===Wi[0]&&n===Wi[1]&&r===Wi[2]&&this.discardLeadingBytes(3),this.checkBOM=!1,!this.hasCurrentByte())}};WR.exports={EventSourceStream:vp}});var sk=T((b3,rk)=>{"use strict";var{pipeline:Z$}=require("node:stream"),{fetching:K$}=Ea(),{makeRequest:X$}=_i(),{webidl:qn}=je(),{EventSourceStream:eY}=zR(),{parseMIMEType:tY}=gt(),{createFastMessageEvent:nY}=Vi(),{isNetworkError:ZR}=fa(),{delay:rY}=Sp(),{kEnumerableProperty:Ss}=ue(),{environmentSettingsObject:KR}=Qt(),{getGlobalDispatcher:sY}=ga(),XR=!1,ek=3e3,Na=0,tk=1,Fa=2,iY="anonymous",oY="use-credentials",zi=class t extends EventTarget{static{o(this,"EventSource")}#e={open:null,error:null,message:null};#t=null;#n=!1;#s=Na;#i=null;#r=null;#o;#a;constructor(e,n={}){super(),qn.util.markAsUncloneable(this);let r="EventSource constructor";qn.argumentLengthCheck(arguments,1,r),XR||(XR=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=qn.converters.USVString(e,r,"url"),n=qn.converters.EventSourceInitDict(n,r,"eventSourceInitDict"),this.#o=n.dispatcher,this.#a={lastEventId:"",reconnectionTime:ek};let s=KR,i;try{i=new URL(e,s.settingsObject.baseUrl),this.#a.origin=i.origin}catch(l){throw new DOMException(l,"SyntaxError")}this.#t=i.href;let a=iY;n.withCredentials&&(a=oY,this.#n=!0);let c={redirect:"follow",keepalive:!0,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};c.client=KR.settingsObject,c.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],c.cache="no-store",c.initiator="other",c.urlList=[new URL(this.#t)],this.#i=X$(c),this.#c()}get readyState(){return this.#s}get url(){return this.#t}get withCredentials(){return this.#n}#c(){if(this.#s===Fa)return;this.#s=Na;let e={request:this.#i,dispatcher:this.#o},n=o(r=>{ZR(r)&&(this.dispatchEvent(new Event("error")),this.close()),this.#A()},"processEventSourceEndOfBody");e.processResponseEndOfBody=n,e.processResponse=r=>{if(ZR(r))if(r.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#A();return}let s=r.headersList.get("content-type",!0),i=s!==null?tY(s):"failure",a=i!=="failure"&&i.essence==="text/event-stream";if(r.status!==200||a===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#s=tk,this.dispatchEvent(new Event("open")),this.#a.origin=r.urlList[r.urlList.length-1].origin;let c=new eY({eventSourceSettings:this.#a,maxEventSize:this.#o.eventSourceOptions?.maxEventSize,push:o(l=>{this.dispatchEvent(nY(l.type,l.options))},"push")});Z$(r.body.stream,c,l=>{l?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#r=K$(e)}async#A(){this.#s!==Fa&&(this.#s=Na,this.dispatchEvent(new Event("error")),await rY(this.#a.reconnectionTime),this.#s===Na&&(this.#a.lastEventId.length&&this.#i.headersList.set("last-event-id",this.#a.lastEventId,!0),this.#c()))}close(){qn.brandCheck(this,t),this.#s!==Fa&&(this.#s=Fa,this.#r.abort(),this.#i=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof e=="function"?(this.#e.open=e,this.addEventListener("open",e)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof e=="function"?(this.#e.message=e,this.addEventListener("message",e)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof e=="function"?(this.#e.error=e,this.addEventListener("error",e)):this.#e.error=null}},nk={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:Na,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:tk,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:Fa,writable:!1}};Object.defineProperties(zi,nk);Object.defineProperties(zi.prototype,nk);Object.defineProperties(zi.prototype,{close:Ss,onerror:Ss,onmessage:Ss,onopen:Ss,readyState:Ss,url:Ss,withCredentials:Ss});qn.converters.EventSourceInitDict=qn.dictionaryConverter([{key:"withCredentials",converter:qn.converters.boolean,defaultValue:o(()=>!1,"defaultValue")},{key:"dispatcher",converter:qn.converters.any,defaultValue:o(()=>sY(),"defaultValue")}]);rk.exports={EventSource:zi,defaultReconnectionTime:ek}});var Ak=T((k3,te)=>{"use strict";var aY=wi(),ik=Uo(),AY=bi(),cY=iQ(),uY=Ri(),lY=zg(),dY=vQ(),gY=MQ(),ok=pe(),wu=ue(),{InvalidArgumentError:Bu}=ok,Zi=QB(),hY=Lo(),pY=Dh(),fY=sw(),mY=Fh(),EY=Eh(),CY=bc(),{getGlobalDispatcher:ak,setGlobalDispatcher:IY}=ga(),yY=Uc(),QY=hc(),BY=pc();Object.assign(ik.prototype,Zi);te.exports.Dispatcher=ik;te.exports.Client=aY;te.exports.Pool=AY;te.exports.BalancedPool=cY;te.exports.Agent=uY;te.exports.ProxyAgent=lY;te.exports.EnvHttpProxyAgent=dY;te.exports.RetryAgent=gY;te.exports.RetryHandler=CY;te.exports.DecoratorHandler=yY;te.exports.RedirectHandler=QY;te.exports.createRedirectInterceptor=BY;te.exports.interceptors={redirect:lw(),retry:gw(),dump:pw(),dns:Ew()};te.exports.buildConnector=hY;te.exports.errors=ok;te.exports.util={parseHeaders:wu.parseHeaders,headerNameToString:wu.headerNameToString};function Ua(t){return(e,n,r)=>{if(typeof n=="function"&&(r=n,n=null),!e||typeof e!="string"&&typeof e!="object"&&!(e instanceof URL))throw new Bu("invalid url");if(n!=null&&typeof n!="object")throw new Bu("invalid opts");if(n&&n.path!=null){if(typeof n.path!="string")throw new Bu("invalid opts.path");let a=n.path;n.path.startsWith("/")||(a=`/${a}`),e=new URL(wu.parseOrigin(e).origin+a)}else n||(n=typeof e=="object"?e:{}),e=wu.parseURL(e);let{agent:s,dispatcher:i=ak()}=n;if(s)throw new Bu("unsupported opts.agent. Did you mean opts.client?");return t.call(i,{...n,origin:e.origin,path:e.search?`${e.pathname}${e.search}`:e.pathname,method:n.method||(n.body?"PUT":"GET")},r)}}o(Ua,"makeDispatcher");te.exports.setGlobalDispatcher=IY;te.exports.getGlobalDispatcher=ak;var wY=Ea().fetch;te.exports.fetch=o(async function(e,n=void 0){try{return await wY(e,n)}catch(r){throw r&&typeof r=="object"&&Error.captureStackTrace(r),r}},"fetch");te.exports.Headers=ys().Headers;te.exports.Response=fa().Response;te.exports.Request=_i().Request;te.exports.FormData=Vo().FormData;te.exports.File=globalThis.File??require("node:buffer").File;te.exports.FileReader=Fb().FileReader;var{setGlobalOrigin:bY,getGlobalOrigin:RY}=Wd();te.exports.setGlobalOrigin=bY;te.exports.getGlobalOrigin=RY;var{CacheStorage:kY}=Yb(),{kConstruct:SY}=nu();te.exports.caches=new kY(SY);var{deleteCookie:vY,getCookies:xY,getSetCookies:DY,setCookie:TY}=eR();te.exports.deleteCookie=vY;te.exports.getCookies=xY;te.exports.getSetCookies=DY;te.exports.setCookie=TY;var{parseMIMEType:NY,serializeAMimeType:FY}=gt();te.exports.parseMIMEType=NY;te.exports.serializeAMimeType=FY;var{CloseEvent:UY,ErrorEvent:MY,MessageEvent:LY}=Vi();te.exports.WebSocket=qR().WebSocket;te.exports.CloseEvent=UY;te.exports.ErrorEvent=MY;te.exports.MessageEvent=LY;te.exports.request=Ua(Zi.request);te.exports.stream=Ua(Zi.stream);te.exports.pipeline=Ua(Zi.pipeline);te.exports.connect=Ua(Zi.connect);te.exports.upgrade=Ua(Zi.upgrade);te.exports.MockClient=pY;te.exports.MockPool=mY;te.exports.MockAgent=fY;te.exports.mockErrors=EY;var{EventSource:_Y}=sk();te.exports.EventSource=_Y});var k2={};Op(k2,{AppRefusal:()=>Bn,AppUnreachable:()=>Ki,AttemptEndReason:()=>po,DeliveryStatus:()=>cA,GitHubWriteKind:()=>dA,NoReportCause:()=>fo,SourceProvider:()=>Ys,V3Attempt:()=>Oa,ValidationSufficiency:()=>zr,closedV3Attempt:()=>bk,endV3Attempt:()=>Sk,heartbeatV3Attempt:()=>Pp,startV3Attempt:()=>wk,uploadV3Report:()=>kk});module.exports=Fk(k2);var A={};Op(A,{BRAND:()=>oS,DIRTY:()=>Nr,EMPTY_PATH:()=>_k,INVALID:()=>Z,NEVER:()=>VS,OK:()=>We,ParseStatus:()=>He,Schema:()=>Ae,ZodAny:()=>tr,ZodArray:()=>vn,ZodBigInt:()=>Ur,ZodBoolean:()=>Mr,ZodBranded:()=>Ao,ZodCatch:()=>qr,ZodDate:()=>Lr,ZodDefault:()=>Jr,ZodDiscriminatedUnion:()=>Ka,ZodEffects:()=>Mt,ZodEnum:()=>Vr,ZodError:()=>ct,ZodFirstPartyTypeKind:()=>ee,ZodFunction:()=>eA,ZodIntersection:()=>Gr,ZodIssueCode:()=>N,ZodLazy:()=>$r,ZodLiteral:()=>Yr,ZodMap:()=>Ls,ZodNaN:()=>Ps,ZodNativeEnum:()=>Hr,ZodNever:()=>Ht,ZodNull:()=>Pr,ZodNullable:()=>cn,ZodNumber:()=>Fr,ZodObject:()=>ut,ZodOptional:()=>Ft,ZodParsedType:()=>O,ZodPipeline:()=>co,ZodPromise:()=>nr,ZodReadonly:()=>jr,ZodRecord:()=>Xa,ZodSchema:()=>Ae,ZodSet:()=>_s,ZodString:()=>er,ZodSymbol:()=>Us,ZodTransformer:()=>Mt,ZodTuple:()=>An,ZodType:()=>Ae,ZodUndefined:()=>_r,ZodUnion:()=>Or,ZodUnknown:()=>Sn,ZodVoid:()=>Ms,addIssueToContext:()=>_,any:()=>pS,array:()=>CS,bigint:()=>uS,boolean:()=>Kp,coerce:()=>YS,custom:()=>Wp,date:()=>lS,datetimeRegex:()=>qp,defaultErrorMap:()=>Rn,discriminatedUnion:()=>BS,effect:()=>US,enum:()=>TS,function:()=>vS,getErrorMap:()=>Ts,getParsedType:()=>an,instanceof:()=>AS,intersection:()=>wS,isAborted:()=>za,isAsync:()=>Ns,isDirty:()=>Za,isValid:()=>Xn,late:()=>aS,lazy:()=>xS,literal:()=>DS,makeIssue:()=>ao,map:()=>kS,nan:()=>cS,nativeEnum:()=>NS,never:()=>mS,null:()=>hS,nullable:()=>LS,number:()=>Zp,object:()=>IS,objectUtil:()=>Uu,oboolean:()=>$S,onumber:()=>GS,optional:()=>MS,ostring:()=>OS,pipeline:()=>PS,preprocess:()=>_S,promise:()=>FS,quotelessJson:()=>Uk,record:()=>RS,set:()=>SS,setErrorMap:()=>Lk,strictObject:()=>yS,string:()=>zp,symbol:()=>dS,transformer:()=>US,tuple:()=>bS,undefined:()=>gS,union:()=>QS,unknown:()=>fS,util:()=>le,void:()=>ES});var le;(function(t){t.assertEqual=s=>{};function e(s){}o(e,"assertIs"),t.assertIs=e;function n(s){throw new Error}o(n,"assertNever"),t.assertNever=n,t.arrayToEnum=s=>{let i={};for(let a of s)i[a]=a;return i},t.getValidEnumValues=s=>{let i=t.objectKeys(s).filter(c=>typeof s[s[c]]!="number"),a={};for(let c of i)a[c]=s[c];return t.objectValues(a)},t.objectValues=s=>t.objectKeys(s).map(function(i){return s[i]}),t.objectKeys=typeof Object.keys=="function"?s=>Object.keys(s):s=>{let i=[];for(let a in s)Object.prototype.hasOwnProperty.call(s,a)&&i.push(a);return i},t.find=(s,i)=>{for(let a of s)if(i(a))return a},t.isInteger=typeof Number.isInteger=="function"?s=>Number.isInteger(s):s=>typeof s=="number"&&Number.isFinite(s)&&Math.floor(s)===s;function r(s,i=" | "){return s.map(a=>typeof a=="string"?`'${a}'`:a).join(i)}o(r,"joinValues"),t.joinValues=r,t.jsonStringifyReplacer=(s,i)=>typeof i=="bigint"?i.toString():i})(le||(le={}));var Uu;(function(t){t.mergeShapes=(e,n)=>({...e,...n})})(Uu||(Uu={}));var O=le.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),an=o(t=>{switch(typeof t){case"undefined":return O.undefined;case"string":return O.string;case"number":return Number.isNaN(t)?O.nan:O.number;case"boolean":return O.boolean;case"function":return O.function;case"bigint":return O.bigint;case"symbol":return O.symbol;case"object":return Array.isArray(t)?O.array:t===null?O.null:t.then&&typeof t.then=="function"&&t.catch&&typeof t.catch=="function"?O.promise:typeof Map<"u"&&t instanceof Map?O.map:typeof Set<"u"&&t instanceof Set?O.set:typeof Date<"u"&&t instanceof Date?O.date:O.object;default:return O.unknown}},"getParsedType");var N=le.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Uk=o(t=>JSON.stringify(t,null,2).replace(/"([^"]+)":/g,"$1:"),"quotelessJson"),ct=class t extends Error{static{o(this,"ZodError")}get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=r=>{this.issues=[...this.issues,r]},this.addIssues=(r=[])=>{this.issues=[...this.issues,...r]};let n=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,n):this.__proto__=n,this.name="ZodError",this.issues=e}format(e){let n=e||function(i){return i.message},r={_errors:[]},s=o(i=>{for(let a of i.issues)if(a.code==="invalid_union")a.unionErrors.map(s);else if(a.code==="invalid_return_type")s(a.returnTypeError);else if(a.code==="invalid_arguments")s(a.argumentsError);else if(a.path.length===0)r._errors.push(n(a));else{let c=r,l=0;for(;l<a.path.length;){let d=a.path[l];l===a.path.length-1?(c[d]=c[d]||{_errors:[]},c[d]._errors.push(n(a))):c[d]=c[d]||{_errors:[]},c=c[d],l++}}},"processError");return s(this),r}static assert(e){if(!(e instanceof t))throw new Error(`Not a ZodError: ${e}`)}toString(){return this.message}get message(){return JSON.stringify(this.issues,le.jsonStringifyReplacer,2)}get isEmpty(){return this.issues.length===0}flatten(e=n=>n.message){let n={},r=[];for(let s of this.issues)if(s.path.length>0){let i=s.path[0];n[i]=n[i]||[],n[i].push(e(s))}else r.push(e(s));return{formErrors:r,fieldErrors:n}}get formErrors(){return this.flatten()}};ct.create=t=>new ct(t);var Mk=o((t,e)=>{let n;switch(t.code){case N.invalid_type:t.received===O.undefined?n="Required":n=`Expected ${t.expected}, received ${t.received}`;break;case N.invalid_literal:n=`Invalid literal value, expected ${JSON.stringify(t.expected,le.jsonStringifyReplacer)}`;break;case N.unrecognized_keys:n=`Unrecognized key(s) in object: ${le.joinValues(t.keys,", ")}`;break;case N.invalid_union:n="Invalid input";break;case N.invalid_union_discriminator:n=`Invalid discriminator value. Expected ${le.joinValues(t.options)}`;break;case N.invalid_enum_value:n=`Invalid enum value. Expected ${le.joinValues(t.options)}, received '${t.received}'`;break;case N.invalid_arguments:n="Invalid function arguments";break;case N.invalid_return_type:n="Invalid function return type";break;case N.invalid_date:n="Invalid date";break;case N.invalid_string:typeof t.validation=="object"?"includes"in t.validation?(n=`Invalid input: must include "${t.validation.includes}"`,typeof t.validation.position=="number"&&(n=`${n} at one or more positions greater than or equal to ${t.validation.position}`)):"startsWith"in t.validation?n=`Invalid input: must start with "${t.validation.startsWith}"`:"endsWith"in t.validation?n=`Invalid input: must end with "${t.validation.endsWith}"`:le.assertNever(t.validation):t.validation!=="regex"?n=`Invalid ${t.validation}`:n="Invalid";break;case N.too_small:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at least":"more than"} ${t.minimum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at least":"over"} ${t.minimum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="bigint"?n=`Number must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${t.minimum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly equal to ":t.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(t.minimum))}`:n="Invalid input";break;case N.too_big:t.type==="array"?n=`Array must contain ${t.exact?"exactly":t.inclusive?"at most":"less than"} ${t.maximum} element(s)`:t.type==="string"?n=`String must contain ${t.exact?"exactly":t.inclusive?"at most":"under"} ${t.maximum} character(s)`:t.type==="number"?n=`Number must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="bigint"?n=`BigInt must be ${t.exact?"exactly":t.inclusive?"less than or equal to":"less than"} ${t.maximum}`:t.type==="date"?n=`Date must be ${t.exact?"exactly":t.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(t.maximum))}`:n="Invalid input";break;case N.custom:n="Invalid input";break;case N.invalid_intersection_types:n="Intersection results could not be merged";break;case N.not_multiple_of:n=`Number must be a multiple of ${t.multipleOf}`;break;case N.not_finite:n="Number must be finite";break;default:n=e.defaultError,le.assertNever(t)}return{message:n}},"errorMap"),Rn=Mk;var $p=Rn;function Lk(t){$p=t}o(Lk,"setErrorMap");function Ts(){return $p}o(Ts,"getErrorMap");var ao=o(t=>{let{data:e,path:n,errorMaps:r,issueData:s}=t,i=[...n,...s.path||[]],a={...s,path:i};if(s.message!==void 0)return{...s,path:i,message:s.message};let c="",l=r.filter(d=>!!d).slice().reverse();for(let d of l)c=d(a,{data:e,defaultError:c}).message;return{...s,path:i,message:c}},"makeIssue"),_k=[];function _(t,e){let n=Ts(),r=ao({issueData:e,data:t.data,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,n,n===Rn?void 0:Rn].filter(s=>!!s)});t.common.issues.push(r)}o(_,"addIssueToContext");var He=class t{static{o(this,"ParseStatus")}constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,n){let r=[];for(let s of n){if(s.status==="aborted")return Z;s.status==="dirty"&&e.dirty(),r.push(s.value)}return{status:e.value,value:r}}static async mergeObjectAsync(e,n){let r=[];for(let s of n){let i=await s.key,a=await s.value;r.push({key:i,value:a})}return t.mergeObjectSync(e,r)}static mergeObjectSync(e,n){let r={};for(let s of n){let{key:i,value:a}=s;if(i.status==="aborted"||a.status==="aborted")return Z;i.status==="dirty"&&e.dirty(),a.status==="dirty"&&e.dirty(),i.value!=="__proto__"&&(typeof a.value<"u"||s.alwaysSet)&&(r[i.value]=a.value)}return{status:e.value,value:r}}},Z=Object.freeze({status:"aborted"}),Nr=o(t=>({status:"dirty",value:t}),"DIRTY"),We=o(t=>({status:"valid",value:t}),"OK"),za=o(t=>t.status==="aborted","isAborted"),Za=o(t=>t.status==="dirty","isDirty"),Xn=o(t=>t.status==="valid","isValid"),Ns=o(t=>typeof Promise<"u"&&t instanceof Promise,"isAsync");var V;(function(t){t.errToObj=e=>typeof e=="string"?{message:e}:e||{},t.toString=e=>typeof e=="string"?e:e?.message})(V||(V={}));var Ut=class{static{o(this,"ParseInputLazyPath")}constructor(e,n,r,s){this._cachedPath=[],this.parent=e,this.data=n,this._path=r,this._key=s}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},Yp=o((t,e)=>{if(Xn(e))return{success:!0,data:e.value};if(!t.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let n=new ct(t.common.issues);return this._error=n,this._error}}},"handleResult");function ie(t){if(!t)return{};let{errorMap:e,invalid_type_error:n,required_error:r,description:s}=t;if(e&&(n||r))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:s}:{errorMap:o((a,c)=>{let{message:l}=t;return a.code==="invalid_enum_value"?{message:l??c.defaultError}:typeof c.data>"u"?{message:l??r??c.defaultError}:a.code!=="invalid_type"?{message:c.defaultError}:{message:l??n??c.defaultError}},"customMap"),description:s}}o(ie,"processCreateParams");var Ae=class{static{o(this,"ZodType")}get description(){return this._def.description}_getType(e){return an(e.data)}_getOrReturnCtx(e,n){return n||{common:e.parent.common,data:e.data,parsedType:an(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new He,ctx:{common:e.parent.common,data:e.data,parsedType:an(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let n=this._parse(e);if(Ns(n))throw new Error("Synchronous parse encountered promise.");return n}_parseAsync(e){let n=this._parse(e);return Promise.resolve(n)}parse(e,n){let r=this.safeParse(e,n);if(r.success)return r.data;throw r.error}safeParse(e,n){let r={common:{issues:[],async:n?.async??!1,contextualErrorMap:n?.errorMap},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)},s=this._parseSync({data:e,path:r.path,parent:r});return Yp(r,s)}"~validate"(e){let n={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)};if(!this["~standard"].async)try{let r=this._parseSync({data:e,path:[],parent:n});return Xn(r)?{value:r.value}:{issues:n.common.issues}}catch(r){r?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),n.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:n}).then(r=>Xn(r)?{value:r.value}:{issues:n.common.issues})}async parseAsync(e,n){let r=await this.safeParseAsync(e,n);if(r.success)return r.data;throw r.error}async safeParseAsync(e,n){let r={common:{issues:[],contextualErrorMap:n?.errorMap,async:!0},path:n?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:an(e)},s=this._parse({data:e,path:r.path,parent:r}),i=await(Ns(s)?s:Promise.resolve(s));return Yp(r,i)}refine(e,n){let r=o(s=>typeof n=="string"||typeof n>"u"?{message:n}:typeof n=="function"?n(s):n,"getIssueProperties");return this._refinement((s,i)=>{let a=e(s),c=o(()=>i.addIssue({code:N.custom,...r(s)}),"setError");return typeof Promise<"u"&&a instanceof Promise?a.then(l=>l?!0:(c(),!1)):a?!0:(c(),!1)})}refinement(e,n){return this._refinement((r,s)=>e(r)?!0:(s.addIssue(typeof n=="function"?n(r,s):n),!1))}_refinement(e){return new Mt({schema:this,typeName:ee.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:o(n=>this["~validate"](n),"validate")}}optional(){return Ft.create(this,this._def)}nullable(){return cn.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return vn.create(this)}promise(){return nr.create(this,this._def)}or(e){return Or.create([this,e],this._def)}and(e){return Gr.create(this,e,this._def)}transform(e){return new Mt({...ie(this._def),schema:this,typeName:ee.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let n=typeof e=="function"?e:()=>e;return new Jr({...ie(this._def),innerType:this,defaultValue:n,typeName:ee.ZodDefault})}brand(){return new Ao({typeName:ee.ZodBranded,type:this,...ie(this._def)})}catch(e){let n=typeof e=="function"?e:()=>e;return new qr({...ie(this._def),innerType:this,catchValue:n,typeName:ee.ZodCatch})}describe(e){let n=this.constructor;return new n({...this._def,description:e})}pipe(e){return co.create(this,e)}readonly(){return jr.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Pk=/^c[^\s-]{8,}$/i,Ok=/^[0-9a-z]+$/,Gk=/^[0-9A-HJKMNP-TV-Z]{26}$/i,$k=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Yk=/^[a-z0-9_-]{21}$/i,Vk=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Hk=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Jk=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,qk="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",Mu,jk=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,Wk=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,zk=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,Zk=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Kk=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,Xk=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Hp="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",eS=new RegExp(`^${Hp}$`);function Jp(t){let e="[0-5]\\d";t.precision?e=`${e}\\.\\d{${t.precision}}`:t.precision==null&&(e=`${e}(\\.\\d+)?`);let n=t.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${n}`}o(Jp,"timeRegexSource");function tS(t){return new RegExp(`^${Jp(t)}$`)}o(tS,"timeRegex");function qp(t){let e=`${Hp}T${Jp(t)}`,n=[];return n.push(t.local?"Z?":"Z"),t.offset&&n.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${n.join("|")})`,new RegExp(`^${e}$`)}o(qp,"datetimeRegex");function nS(t,e){return!!((e==="v4"||!e)&&jk.test(t)||(e==="v6"||!e)&&zk.test(t))}o(nS,"isValidIP");function rS(t,e){if(!Vk.test(t))return!1;try{let[n]=t.split(".");if(!n)return!1;let r=n.replace(/-/g,"+").replace(/_/g,"/").padEnd(n.length+(4-n.length%4)%4,"="),s=JSON.parse(atob(r));return!(typeof s!="object"||s===null||"typ"in s&&s?.typ!=="JWT"||!s.alg||e&&s.alg!==e)}catch{return!1}}o(rS,"isValidJWT");function sS(t,e){return!!((e==="v4"||!e)&&Wk.test(t)||(e==="v6"||!e)&&Zk.test(t))}o(sS,"isValidCidr");var er=class t extends Ae{static{o(this,"ZodString")}_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==O.string){let i=this._getOrReturnCtx(e);return _(i,{code:N.invalid_type,expected:O.string,received:i.parsedType}),Z}let r=new He,s;for(let i of this._def.checks)if(i.kind==="min")e.data.length<i.value&&(s=this._getOrReturnCtx(e,s),_(s,{code:N.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="max")e.data.length>i.value&&(s=this._getOrReturnCtx(e,s),_(s,{code:N.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!1,message:i.message}),r.dirty());else if(i.kind==="length"){let a=e.data.length>i.value,c=e.data.length<i.value;(a||c)&&(s=this._getOrReturnCtx(e,s),a?_(s,{code:N.too_big,maximum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}):c&&_(s,{code:N.too_small,minimum:i.value,type:"string",inclusive:!0,exact:!0,message:i.message}),r.dirty())}else if(i.kind==="email")Jk.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"email",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="emoji")Mu||(Mu=new RegExp(qk,"u")),Mu.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"emoji",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="uuid")$k.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"uuid",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="nanoid")Yk.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"nanoid",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid")Pk.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"cuid",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="cuid2")Ok.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"cuid2",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="ulid")Gk.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"ulid",code:N.invalid_string,message:i.message}),r.dirty());else if(i.kind==="url")try{new URL(e.data)}catch{s=this._getOrReturnCtx(e,s),_(s,{validation:"url",code:N.invalid_string,message:i.message}),r.dirty()}else i.kind==="regex"?(i.regex.lastIndex=0,i.regex.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"regex",code:N.invalid_string,message:i.message}),r.dirty())):i.kind==="trim"?e.data=e.data.trim():i.kind==="includes"?e.data.includes(i.value,i.position)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:{includes:i.value,position:i.position},message:i.message}),r.dirty()):i.kind==="toLowerCase"?e.data=e.data.toLowerCase():i.kind==="toUpperCase"?e.data=e.data.toUpperCase():i.kind==="startsWith"?e.data.startsWith(i.value)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:{startsWith:i.value},message:i.message}),r.dirty()):i.kind==="endsWith"?e.data.endsWith(i.value)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:{endsWith:i.value},message:i.message}),r.dirty()):i.kind==="datetime"?qp(i).test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:"datetime",message:i.message}),r.dirty()):i.kind==="date"?eS.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:"date",message:i.message}),r.dirty()):i.kind==="time"?tS(i).test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{code:N.invalid_string,validation:"time",message:i.message}),r.dirty()):i.kind==="duration"?Hk.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"duration",code:N.invalid_string,message:i.message}),r.dirty()):i.kind==="ip"?nS(e.data,i.version)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"ip",code:N.invalid_string,message:i.message}),r.dirty()):i.kind==="jwt"?rS(e.data,i.alg)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"jwt",code:N.invalid_string,message:i.message}),r.dirty()):i.kind==="cidr"?sS(e.data,i.version)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"cidr",code:N.invalid_string,message:i.message}),r.dirty()):i.kind==="base64"?Kk.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"base64",code:N.invalid_string,message:i.message}),r.dirty()):i.kind==="base64url"?Xk.test(e.data)||(s=this._getOrReturnCtx(e,s),_(s,{validation:"base64url",code:N.invalid_string,message:i.message}),r.dirty()):le.assertNever(i);return{status:r.value,value:e.data}}_regex(e,n,r){return this.refinement(s=>e.test(s),{validation:n,code:N.invalid_string,...V.errToObj(r)})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...V.errToObj(e)})}url(e){return this._addCheck({kind:"url",...V.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...V.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...V.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...V.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...V.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...V.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...V.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...V.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...V.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...V.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...V.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...V.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...V.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...V.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...V.errToObj(e)})}regex(e,n){return this._addCheck({kind:"regex",regex:e,...V.errToObj(n)})}includes(e,n){return this._addCheck({kind:"includes",value:e,position:n?.position,...V.errToObj(n?.message)})}startsWith(e,n){return this._addCheck({kind:"startsWith",value:e,...V.errToObj(n)})}endsWith(e,n){return this._addCheck({kind:"endsWith",value:e,...V.errToObj(n)})}min(e,n){return this._addCheck({kind:"min",value:e,...V.errToObj(n)})}max(e,n){return this._addCheck({kind:"max",value:e,...V.errToObj(n)})}length(e,n){return this._addCheck({kind:"length",value:e,...V.errToObj(n)})}nonempty(e){return this.min(1,V.errToObj(e))}trim(){return new t({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new t({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxLength(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};er.create=t=>new er({checks:[],typeName:ee.ZodString,coerce:t?.coerce??!1,...ie(t)});function iS(t,e){let n=(t.toString().split(".")[1]||"").length,r=(e.toString().split(".")[1]||"").length,s=n>r?n:r,i=Number.parseInt(t.toFixed(s).replace(".","")),a=Number.parseInt(e.toFixed(s).replace(".",""));return i%a/10**s}o(iS,"floatSafeRemainder");var Fr=class t extends Ae{static{o(this,"ZodNumber")}constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==O.number){let i=this._getOrReturnCtx(e);return _(i,{code:N.invalid_type,expected:O.number,received:i.parsedType}),Z}let r,s=new He;for(let i of this._def.checks)i.kind==="int"?le.isInteger(e.data)||(r=this._getOrReturnCtx(e,r),_(r,{code:N.invalid_type,expected:"integer",received:"float",message:i.message}),s.dirty()):i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.too_small,minimum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),s.dirty()):i.kind==="multipleOf"?iS(e.data,i.value)!==0&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):i.kind==="finite"?Number.isFinite(e.data)||(r=this._getOrReturnCtx(e,r),_(r,{code:N.not_finite,message:i.message}),s.dirty()):le.assertNever(i);return{status:s.value,value:e.data}}gte(e,n){return this.setLimit("min",e,!0,V.toString(n))}gt(e,n){return this.setLimit("min",e,!1,V.toString(n))}lte(e,n){return this.setLimit("max",e,!0,V.toString(n))}lt(e,n){return this.setLimit("max",e,!1,V.toString(n))}setLimit(e,n,r,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:V.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:V.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:V.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(n)})}finite(e){return this._addCheck({kind:"finite",message:V.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:V.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:V.toString(e)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}get isInt(){return!!this._def.checks.find(e=>e.kind==="int"||e.kind==="multipleOf"&&le.isInteger(e.value))}get isFinite(){let e=null,n=null;for(let r of this._def.checks){if(r.kind==="finite"||r.kind==="int"||r.kind==="multipleOf")return!0;r.kind==="min"?(n===null||r.value>n)&&(n=r.value):r.kind==="max"&&(e===null||r.value<e)&&(e=r.value)}return Number.isFinite(n)&&Number.isFinite(e)}};Fr.create=t=>new Fr({checks:[],typeName:ee.ZodNumber,coerce:t?.coerce||!1,...ie(t)});var Ur=class t extends Ae{static{o(this,"ZodBigInt")}constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==O.bigint)return this._getInvalidInput(e);let r,s=new He;for(let i of this._def.checks)i.kind==="min"?(i.inclusive?e.data<i.value:e.data<=i.value)&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.too_small,type:"bigint",minimum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="max"?(i.inclusive?e.data>i.value:e.data>=i.value)&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),s.dirty()):i.kind==="multipleOf"?e.data%i.value!==BigInt(0)&&(r=this._getOrReturnCtx(e,r),_(r,{code:N.not_multiple_of,multipleOf:i.value,message:i.message}),s.dirty()):le.assertNever(i);return{status:s.value,value:e.data}}_getInvalidInput(e){let n=this._getOrReturnCtx(e);return _(n,{code:N.invalid_type,expected:O.bigint,received:n.parsedType}),Z}gte(e,n){return this.setLimit("min",e,!0,V.toString(n))}gt(e,n){return this.setLimit("min",e,!1,V.toString(n))}lte(e,n){return this.setLimit("max",e,!0,V.toString(n))}lt(e,n){return this.setLimit("max",e,!1,V.toString(n))}setLimit(e,n,r,s){return new t({...this._def,checks:[...this._def.checks,{kind:e,value:n,inclusive:r,message:V.toString(s)}]})}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:V.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:V.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:V.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:V.toString(e)})}multipleOf(e,n){return this._addCheck({kind:"multipleOf",value:e,message:V.toString(n)})}get minValue(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e}get maxValue(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e}};Ur.create=t=>new Ur({checks:[],typeName:ee.ZodBigInt,coerce:t?.coerce??!1,...ie(t)});var Mr=class extends Ae{static{o(this,"ZodBoolean")}_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==O.boolean){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.boolean,received:r.parsedType}),Z}return We(e.data)}};Mr.create=t=>new Mr({typeName:ee.ZodBoolean,coerce:t?.coerce||!1,...ie(t)});var Lr=class t extends Ae{static{o(this,"ZodDate")}_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==O.date){let i=this._getOrReturnCtx(e);return _(i,{code:N.invalid_type,expected:O.date,received:i.parsedType}),Z}if(Number.isNaN(e.data.getTime())){let i=this._getOrReturnCtx(e);return _(i,{code:N.invalid_date}),Z}let r=new He,s;for(let i of this._def.checks)i.kind==="min"?e.data.getTime()<i.value&&(s=this._getOrReturnCtx(e,s),_(s,{code:N.too_small,message:i.message,inclusive:!0,exact:!1,minimum:i.value,type:"date"}),r.dirty()):i.kind==="max"?e.data.getTime()>i.value&&(s=this._getOrReturnCtx(e,s),_(s,{code:N.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),r.dirty()):le.assertNever(i);return{status:r.value,value:new Date(e.data.getTime())}}_addCheck(e){return new t({...this._def,checks:[...this._def.checks,e]})}min(e,n){return this._addCheck({kind:"min",value:e.getTime(),message:V.toString(n)})}max(e,n){return this._addCheck({kind:"max",value:e.getTime(),message:V.toString(n)})}get minDate(){let e=null;for(let n of this._def.checks)n.kind==="min"&&(e===null||n.value>e)&&(e=n.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let n of this._def.checks)n.kind==="max"&&(e===null||n.value<e)&&(e=n.value);return e!=null?new Date(e):null}};Lr.create=t=>new Lr({checks:[],coerce:t?.coerce||!1,typeName:ee.ZodDate,...ie(t)});var Us=class extends Ae{static{o(this,"ZodSymbol")}_parse(e){if(this._getType(e)!==O.symbol){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.symbol,received:r.parsedType}),Z}return We(e.data)}};Us.create=t=>new Us({typeName:ee.ZodSymbol,...ie(t)});var _r=class extends Ae{static{o(this,"ZodUndefined")}_parse(e){if(this._getType(e)!==O.undefined){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.undefined,received:r.parsedType}),Z}return We(e.data)}};_r.create=t=>new _r({typeName:ee.ZodUndefined,...ie(t)});var Pr=class extends Ae{static{o(this,"ZodNull")}_parse(e){if(this._getType(e)!==O.null){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.null,received:r.parsedType}),Z}return We(e.data)}};Pr.create=t=>new Pr({typeName:ee.ZodNull,...ie(t)});var tr=class extends Ae{static{o(this,"ZodAny")}constructor(){super(...arguments),this._any=!0}_parse(e){return We(e.data)}};tr.create=t=>new tr({typeName:ee.ZodAny,...ie(t)});var Sn=class extends Ae{static{o(this,"ZodUnknown")}constructor(){super(...arguments),this._unknown=!0}_parse(e){return We(e.data)}};Sn.create=t=>new Sn({typeName:ee.ZodUnknown,...ie(t)});var Ht=class extends Ae{static{o(this,"ZodNever")}_parse(e){let n=this._getOrReturnCtx(e);return _(n,{code:N.invalid_type,expected:O.never,received:n.parsedType}),Z}};Ht.create=t=>new Ht({typeName:ee.ZodNever,...ie(t)});var Ms=class extends Ae{static{o(this,"ZodVoid")}_parse(e){if(this._getType(e)!==O.undefined){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.void,received:r.parsedType}),Z}return We(e.data)}};Ms.create=t=>new Ms({typeName:ee.ZodVoid,...ie(t)});var vn=class t extends Ae{static{o(this,"ZodArray")}_parse(e){let{ctx:n,status:r}=this._processInputParams(e),s=this._def;if(n.parsedType!==O.array)return _(n,{code:N.invalid_type,expected:O.array,received:n.parsedType}),Z;if(s.exactLength!==null){let a=n.data.length>s.exactLength.value,c=n.data.length<s.exactLength.value;(a||c)&&(_(n,{code:a?N.too_big:N.too_small,minimum:c?s.exactLength.value:void 0,maximum:a?s.exactLength.value:void 0,type:"array",inclusive:!0,exact:!0,message:s.exactLength.message}),r.dirty())}if(s.minLength!==null&&n.data.length<s.minLength.value&&(_(n,{code:N.too_small,minimum:s.minLength.value,type:"array",inclusive:!0,exact:!1,message:s.minLength.message}),r.dirty()),s.maxLength!==null&&n.data.length>s.maxLength.value&&(_(n,{code:N.too_big,maximum:s.maxLength.value,type:"array",inclusive:!0,exact:!1,message:s.maxLength.message}),r.dirty()),n.common.async)return Promise.all([...n.data].map((a,c)=>s.type._parseAsync(new Ut(n,a,n.path,c)))).then(a=>He.mergeArray(r,a));let i=[...n.data].map((a,c)=>s.type._parseSync(new Ut(n,a,n.path,c)));return He.mergeArray(r,i)}get element(){return this._def.type}min(e,n){return new t({...this._def,minLength:{value:e,message:V.toString(n)}})}max(e,n){return new t({...this._def,maxLength:{value:e,message:V.toString(n)}})}length(e,n){return new t({...this._def,exactLength:{value:e,message:V.toString(n)}})}nonempty(e){return this.min(1,e)}};vn.create=(t,e)=>new vn({type:t,minLength:null,maxLength:null,exactLength:null,typeName:ee.ZodArray,...ie(e)});function Fs(t){if(t instanceof ut){let e={};for(let n in t.shape){let r=t.shape[n];e[n]=Ft.create(Fs(r))}return new ut({...t._def,shape:o(()=>e,"shape")})}else return t instanceof vn?new vn({...t._def,type:Fs(t.element)}):t instanceof Ft?Ft.create(Fs(t.unwrap())):t instanceof cn?cn.create(Fs(t.unwrap())):t instanceof An?An.create(t.items.map(e=>Fs(e))):t}o(Fs,"deepPartialify");var ut=class t extends Ae{static{o(this,"ZodObject")}constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),n=le.objectKeys(e);return this._cached={shape:e,keys:n},this._cached}_parse(e){if(this._getType(e)!==O.object){let d=this._getOrReturnCtx(e);return _(d,{code:N.invalid_type,expected:O.object,received:d.parsedType}),Z}let{status:r,ctx:s}=this._processInputParams(e),{shape:i,keys:a}=this._getCached(),c=[];if(!(this._def.catchall instanceof Ht&&this._def.unknownKeys==="strip"))for(let d in s.data)a.includes(d)||c.push(d);let l=[];for(let d of a){let g=i[d],h=s.data[d];l.push({key:{status:"valid",value:d},value:g._parse(new Ut(s,h,s.path,d)),alwaysSet:d in s.data})}if(this._def.catchall instanceof Ht){let d=this._def.unknownKeys;if(d==="passthrough")for(let g of c)l.push({key:{status:"valid",value:g},value:{status:"valid",value:s.data[g]}});else if(d==="strict")c.length>0&&(_(s,{code:N.unrecognized_keys,keys:c}),r.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let g of c){let h=s.data[g];l.push({key:{status:"valid",value:g},value:d._parse(new Ut(s,h,s.path,g)),alwaysSet:g in s.data})}}return s.common.async?Promise.resolve().then(async()=>{let d=[];for(let g of l){let h=await g.key,f=await g.value;d.push({key:h,value:f,alwaysSet:g.alwaysSet})}return d}).then(d=>He.mergeObjectSync(r,d)):He.mergeObjectSync(r,l)}get shape(){return this._def.shape()}strict(e){return V.errToObj,new t({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:o((n,r)=>{let s=this._def.errorMap?.(n,r).message??r.defaultError;return n.code==="unrecognized_keys"?{message:V.errToObj(e).message??s}:{message:s}},"errorMap")}:{}})}strip(){return new t({...this._def,unknownKeys:"strip"})}passthrough(){return new t({...this._def,unknownKeys:"passthrough"})}extend(e){return new t({...this._def,shape:o(()=>({...this._def.shape(),...e}),"shape")})}merge(e){return new t({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:o(()=>({...this._def.shape(),...e._def.shape()}),"shape"),typeName:ee.ZodObject})}setKey(e,n){return this.augment({[e]:n})}catchall(e){return new t({...this._def,catchall:e})}pick(e){let n={};for(let r of le.objectKeys(e))e[r]&&this.shape[r]&&(n[r]=this.shape[r]);return new t({...this._def,shape:o(()=>n,"shape")})}omit(e){let n={};for(let r of le.objectKeys(this.shape))e[r]||(n[r]=this.shape[r]);return new t({...this._def,shape:o(()=>n,"shape")})}deepPartial(){return Fs(this)}partial(e){let n={};for(let r of le.objectKeys(this.shape)){let s=this.shape[r];e&&!e[r]?n[r]=s:n[r]=s.optional()}return new t({...this._def,shape:o(()=>n,"shape")})}required(e){let n={};for(let r of le.objectKeys(this.shape))if(e&&!e[r])n[r]=this.shape[r];else{let i=this.shape[r];for(;i instanceof Ft;)i=i._def.innerType;n[r]=i}return new t({...this._def,shape:o(()=>n,"shape")})}keyof(){return jp(le.objectKeys(this.shape))}};ut.create=(t,e)=>new ut({shape:o(()=>t,"shape"),unknownKeys:"strip",catchall:Ht.create(),typeName:ee.ZodObject,...ie(e)});ut.strictCreate=(t,e)=>new ut({shape:o(()=>t,"shape"),unknownKeys:"strict",catchall:Ht.create(),typeName:ee.ZodObject,...ie(e)});ut.lazycreate=(t,e)=>new ut({shape:t,unknownKeys:"strip",catchall:Ht.create(),typeName:ee.ZodObject,...ie(e)});var Or=class extends Ae{static{o(this,"ZodUnion")}_parse(e){let{ctx:n}=this._processInputParams(e),r=this._def.options;function s(i){for(let c of i)if(c.result.status==="valid")return c.result;for(let c of i)if(c.result.status==="dirty")return n.common.issues.push(...c.ctx.common.issues),c.result;let a=i.map(c=>new ct(c.ctx.common.issues));return _(n,{code:N.invalid_union,unionErrors:a}),Z}if(o(s,"handleResults"),n.common.async)return Promise.all(r.map(async i=>{let a={...n,common:{...n.common,issues:[]},parent:null};return{result:await i._parseAsync({data:n.data,path:n.path,parent:a}),ctx:a}})).then(s);{let i,a=[];for(let l of r){let d={...n,common:{...n.common,issues:[]},parent:null},g=l._parseSync({data:n.data,path:n.path,parent:d});if(g.status==="valid")return g;g.status==="dirty"&&!i&&(i={result:g,ctx:d}),d.common.issues.length&&a.push(d.common.issues)}if(i)return n.common.issues.push(...i.ctx.common.issues),i.result;let c=a.map(l=>new ct(l));return _(n,{code:N.invalid_union,unionErrors:c}),Z}}get options(){return this._def.options}};Or.create=(t,e)=>new Or({options:t,typeName:ee.ZodUnion,...ie(e)});var kn=o(t=>t instanceof $r?kn(t.schema):t instanceof Mt?kn(t.innerType()):t instanceof Yr?[t.value]:t instanceof Vr?t.options:t instanceof Hr?le.objectValues(t.enum):t instanceof Jr?kn(t._def.innerType):t instanceof _r?[void 0]:t instanceof Pr?[null]:t instanceof Ft?[void 0,...kn(t.unwrap())]:t instanceof cn?[null,...kn(t.unwrap())]:t instanceof Ao||t instanceof jr?kn(t.unwrap()):t instanceof qr?kn(t._def.innerType):[],"getDiscriminator"),Ka=class t extends Ae{static{o(this,"ZodDiscriminatedUnion")}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.object)return _(n,{code:N.invalid_type,expected:O.object,received:n.parsedType}),Z;let r=this.discriminator,s=n.data[r],i=this.optionsMap.get(s);return i?n.common.async?i._parseAsync({data:n.data,path:n.path,parent:n}):i._parseSync({data:n.data,path:n.path,parent:n}):(_(n,{code:N.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[r]}),Z)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,n,r){let s=new Map;for(let i of n){let a=kn(i.shape[e]);if(!a.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let c of a){if(s.has(c))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(c)}`);s.set(c,i)}}return new t({typeName:ee.ZodDiscriminatedUnion,discriminator:e,options:n,optionsMap:s,...ie(r)})}};function Lu(t,e){let n=an(t),r=an(e);if(t===e)return{valid:!0,data:t};if(n===O.object&&r===O.object){let s=le.objectKeys(e),i=le.objectKeys(t).filter(c=>s.indexOf(c)!==-1),a={...t,...e};for(let c of i){let l=Lu(t[c],e[c]);if(!l.valid)return{valid:!1};a[c]=l.data}return{valid:!0,data:a}}else if(n===O.array&&r===O.array){if(t.length!==e.length)return{valid:!1};let s=[];for(let i=0;i<t.length;i++){let a=t[i],c=e[i],l=Lu(a,c);if(!l.valid)return{valid:!1};s.push(l.data)}return{valid:!0,data:s}}else return n===O.date&&r===O.date&&+t==+e?{valid:!0,data:t}:{valid:!1}}o(Lu,"mergeValues");var Gr=class extends Ae{static{o(this,"ZodIntersection")}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),s=o((i,a)=>{if(za(i)||za(a))return Z;let c=Lu(i.value,a.value);return c.valid?((Za(i)||Za(a))&&n.dirty(),{status:n.value,value:c.data}):(_(r,{code:N.invalid_intersection_types}),Z)},"handleParsed");return r.common.async?Promise.all([this._def.left._parseAsync({data:r.data,path:r.path,parent:r}),this._def.right._parseAsync({data:r.data,path:r.path,parent:r})]).then(([i,a])=>s(i,a)):s(this._def.left._parseSync({data:r.data,path:r.path,parent:r}),this._def.right._parseSync({data:r.data,path:r.path,parent:r}))}};Gr.create=(t,e,n)=>new Gr({left:t,right:e,typeName:ee.ZodIntersection,...ie(n)});var An=class t extends Ae{static{o(this,"ZodTuple")}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.array)return _(r,{code:N.invalid_type,expected:O.array,received:r.parsedType}),Z;if(r.data.length<this._def.items.length)return _(r,{code:N.too_small,minimum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),Z;!this._def.rest&&r.data.length>this._def.items.length&&(_(r,{code:N.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),n.dirty());let i=[...r.data].map((a,c)=>{let l=this._def.items[c]||this._def.rest;return l?l._parse(new Ut(r,a,r.path,c)):null}).filter(a=>!!a);return r.common.async?Promise.all(i).then(a=>He.mergeArray(n,a)):He.mergeArray(n,i)}get items(){return this._def.items}rest(e){return new t({...this._def,rest:e})}};An.create=(t,e)=>{if(!Array.isArray(t))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new An({items:t,typeName:ee.ZodTuple,rest:null,...ie(e)})};var Xa=class t extends Ae{static{o(this,"ZodRecord")}get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.object)return _(r,{code:N.invalid_type,expected:O.object,received:r.parsedType}),Z;let s=[],i=this._def.keyType,a=this._def.valueType;for(let c in r.data)s.push({key:i._parse(new Ut(r,c,r.path,c)),value:a._parse(new Ut(r,r.data[c],r.path,c)),alwaysSet:c in r.data});return r.common.async?He.mergeObjectAsync(n,s):He.mergeObjectSync(n,s)}get element(){return this._def.valueType}static create(e,n,r){return n instanceof Ae?new t({keyType:e,valueType:n,typeName:ee.ZodRecord,...ie(r)}):new t({keyType:er.create(),valueType:e,typeName:ee.ZodRecord,...ie(n)})}},Ls=class extends Ae{static{o(this,"ZodMap")}get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.map)return _(r,{code:N.invalid_type,expected:O.map,received:r.parsedType}),Z;let s=this._def.keyType,i=this._def.valueType,a=[...r.data.entries()].map(([c,l],d)=>({key:s._parse(new Ut(r,c,r.path,[d,"key"])),value:i._parse(new Ut(r,l,r.path,[d,"value"]))}));if(r.common.async){let c=new Map;return Promise.resolve().then(async()=>{for(let l of a){let d=await l.key,g=await l.value;if(d.status==="aborted"||g.status==="aborted")return Z;(d.status==="dirty"||g.status==="dirty")&&n.dirty(),c.set(d.value,g.value)}return{status:n.value,value:c}})}else{let c=new Map;for(let l of a){let d=l.key,g=l.value;if(d.status==="aborted"||g.status==="aborted")return Z;(d.status==="dirty"||g.status==="dirty")&&n.dirty(),c.set(d.value,g.value)}return{status:n.value,value:c}}}};Ls.create=(t,e,n)=>new Ls({valueType:e,keyType:t,typeName:ee.ZodMap,...ie(n)});var _s=class t extends Ae{static{o(this,"ZodSet")}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.parsedType!==O.set)return _(r,{code:N.invalid_type,expected:O.set,received:r.parsedType}),Z;let s=this._def;s.minSize!==null&&r.data.size<s.minSize.value&&(_(r,{code:N.too_small,minimum:s.minSize.value,type:"set",inclusive:!0,exact:!1,message:s.minSize.message}),n.dirty()),s.maxSize!==null&&r.data.size>s.maxSize.value&&(_(r,{code:N.too_big,maximum:s.maxSize.value,type:"set",inclusive:!0,exact:!1,message:s.maxSize.message}),n.dirty());let i=this._def.valueType;function a(l){let d=new Set;for(let g of l){if(g.status==="aborted")return Z;g.status==="dirty"&&n.dirty(),d.add(g.value)}return{status:n.value,value:d}}o(a,"finalizeSet");let c=[...r.data.values()].map((l,d)=>i._parse(new Ut(r,l,r.path,d)));return r.common.async?Promise.all(c).then(l=>a(l)):a(c)}min(e,n){return new t({...this._def,minSize:{value:e,message:V.toString(n)}})}max(e,n){return new t({...this._def,maxSize:{value:e,message:V.toString(n)}})}size(e,n){return this.min(e,n).max(e,n)}nonempty(e){return this.min(1,e)}};_s.create=(t,e)=>new _s({valueType:t,minSize:null,maxSize:null,typeName:ee.ZodSet,...ie(e)});var eA=class t extends Ae{static{o(this,"ZodFunction")}constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.function)return _(n,{code:N.invalid_type,expected:O.function,received:n.parsedType}),Z;function r(c,l){return ao({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ts(),Rn].filter(d=>!!d),issueData:{code:N.invalid_arguments,argumentsError:l}})}o(r,"makeArgsIssue");function s(c,l){return ao({data:c,path:n.path,errorMaps:[n.common.contextualErrorMap,n.schemaErrorMap,Ts(),Rn].filter(d=>!!d),issueData:{code:N.invalid_return_type,returnTypeError:l}})}o(s,"makeReturnsIssue");let i={errorMap:n.common.contextualErrorMap},a=n.data;if(this._def.returns instanceof nr){let c=this;return We(async function(...l){let d=new ct([]),g=await c._def.args.parseAsync(l,i).catch(m=>{throw d.addIssue(r(l,m)),d}),h=await Reflect.apply(a,this,g);return await c._def.returns._def.type.parseAsync(h,i).catch(m=>{throw d.addIssue(s(h,m)),d})})}else{let c=this;return We(function(...l){let d=c._def.args.safeParse(l,i);if(!d.success)throw new ct([r(l,d.error)]);let g=Reflect.apply(a,this,d.data),h=c._def.returns.safeParse(g,i);if(!h.success)throw new ct([s(g,h.error)]);return h.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new t({...this._def,args:An.create(e).rest(Sn.create())})}returns(e){return new t({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,n,r){return new t({args:e||An.create([]).rest(Sn.create()),returns:n||Sn.create(),typeName:ee.ZodFunction,...ie(r)})}},$r=class extends Ae{static{o(this,"ZodLazy")}get schema(){return this._def.getter()}_parse(e){let{ctx:n}=this._processInputParams(e);return this._def.getter()._parse({data:n.data,path:n.path,parent:n})}};$r.create=(t,e)=>new $r({getter:t,typeName:ee.ZodLazy,...ie(e)});var Yr=class extends Ae{static{o(this,"ZodLiteral")}_parse(e){if(e.data!==this._def.value){let n=this._getOrReturnCtx(e);return _(n,{received:n.data,code:N.invalid_literal,expected:this._def.value}),Z}return{status:"valid",value:e.data}}get value(){return this._def.value}};Yr.create=(t,e)=>new Yr({value:t,typeName:ee.ZodLiteral,...ie(e)});function jp(t,e){return new Vr({values:t,typeName:ee.ZodEnum,...ie(e)})}o(jp,"createZodEnum");var Vr=class t extends Ae{static{o(this,"ZodEnum")}_parse(e){if(typeof e.data!="string"){let n=this._getOrReturnCtx(e),r=this._def.values;return _(n,{expected:le.joinValues(r),received:n.parsedType,code:N.invalid_type}),Z}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let n=this._getOrReturnCtx(e),r=this._def.values;return _(n,{received:n.data,code:N.invalid_enum_value,options:r}),Z}return We(e.data)}get options(){return this._def.values}get enum(){let e={};for(let n of this._def.values)e[n]=n;return e}get Values(){let e={};for(let n of this._def.values)e[n]=n;return e}get Enum(){let e={};for(let n of this._def.values)e[n]=n;return e}extract(e,n=this._def){return t.create(e,{...this._def,...n})}exclude(e,n=this._def){return t.create(this.options.filter(r=>!e.includes(r)),{...this._def,...n})}};Vr.create=jp;var Hr=class extends Ae{static{o(this,"ZodNativeEnum")}_parse(e){let n=le.getValidEnumValues(this._def.values),r=this._getOrReturnCtx(e);if(r.parsedType!==O.string&&r.parsedType!==O.number){let s=le.objectValues(n);return _(r,{expected:le.joinValues(s),received:r.parsedType,code:N.invalid_type}),Z}if(this._cache||(this._cache=new Set(le.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let s=le.objectValues(n);return _(r,{received:r.data,code:N.invalid_enum_value,options:s}),Z}return We(e.data)}get enum(){return this._def.values}};Hr.create=(t,e)=>new Hr({values:t,typeName:ee.ZodNativeEnum,...ie(e)});var nr=class extends Ae{static{o(this,"ZodPromise")}unwrap(){return this._def.type}_parse(e){let{ctx:n}=this._processInputParams(e);if(n.parsedType!==O.promise&&n.common.async===!1)return _(n,{code:N.invalid_type,expected:O.promise,received:n.parsedType}),Z;let r=n.parsedType===O.promise?n.data:Promise.resolve(n.data);return We(r.then(s=>this._def.type.parseAsync(s,{path:n.path,errorMap:n.common.contextualErrorMap})))}};nr.create=(t,e)=>new nr({type:t,typeName:ee.ZodPromise,...ie(e)});var Mt=class extends Ae{static{o(this,"ZodEffects")}innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===ee.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:n,ctx:r}=this._processInputParams(e),s=this._def.effect||null,i={addIssue:o(a=>{_(r,a),a.fatal?n.abort():n.dirty()},"addIssue"),get path(){return r.path}};if(i.addIssue=i.addIssue.bind(i),s.type==="preprocess"){let a=s.transform(r.data,i);if(r.common.async)return Promise.resolve(a).then(async c=>{if(n.value==="aborted")return Z;let l=await this._def.schema._parseAsync({data:c,path:r.path,parent:r});return l.status==="aborted"?Z:l.status==="dirty"?Nr(l.value):n.value==="dirty"?Nr(l.value):l});{if(n.value==="aborted")return Z;let c=this._def.schema._parseSync({data:a,path:r.path,parent:r});return c.status==="aborted"?Z:c.status==="dirty"?Nr(c.value):n.value==="dirty"?Nr(c.value):c}}if(s.type==="refinement"){let a=o(c=>{let l=s.refinement(c,i);if(r.common.async)return Promise.resolve(l);if(l instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return c},"executeRefinement");if(r.common.async===!1){let c=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});return c.status==="aborted"?Z:(c.status==="dirty"&&n.dirty(),a(c.value),{status:n.value,value:c.value})}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(c=>c.status==="aborted"?Z:(c.status==="dirty"&&n.dirty(),a(c.value).then(()=>({status:n.value,value:c.value}))))}if(s.type==="transform")if(r.common.async===!1){let a=this._def.schema._parseSync({data:r.data,path:r.path,parent:r});if(!Xn(a))return Z;let c=s.transform(a.value,i);if(c instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:n.value,value:c}}else return this._def.schema._parseAsync({data:r.data,path:r.path,parent:r}).then(a=>Xn(a)?Promise.resolve(s.transform(a.value,i)).then(c=>({status:n.value,value:c})):Z);le.assertNever(s)}};Mt.create=(t,e,n)=>new Mt({schema:t,typeName:ee.ZodEffects,effect:e,...ie(n)});Mt.createWithPreprocess=(t,e,n)=>new Mt({schema:e,effect:{type:"preprocess",transform:t},typeName:ee.ZodEffects,...ie(n)});var Ft=class extends Ae{static{o(this,"ZodOptional")}_parse(e){return this._getType(e)===O.undefined?We(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Ft.create=(t,e)=>new Ft({innerType:t,typeName:ee.ZodOptional,...ie(e)});var cn=class extends Ae{static{o(this,"ZodNullable")}_parse(e){return this._getType(e)===O.null?We(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};cn.create=(t,e)=>new cn({innerType:t,typeName:ee.ZodNullable,...ie(e)});var Jr=class extends Ae{static{o(this,"ZodDefault")}_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return n.parsedType===O.undefined&&(r=this._def.defaultValue()),this._def.innerType._parse({data:r,path:n.path,parent:n})}removeDefault(){return this._def.innerType}};Jr.create=(t,e)=>new Jr({innerType:t,typeName:ee.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...ie(e)});var qr=class extends Ae{static{o(this,"ZodCatch")}_parse(e){let{ctx:n}=this._processInputParams(e),r={...n,common:{...n.common,issues:[]}},s=this._def.innerType._parse({data:r.data,path:r.path,parent:{...r}});return Ns(s)?s.then(i=>({status:"valid",value:i.status==="valid"?i.value:this._def.catchValue({get error(){return new ct(r.common.issues)},input:r.data})})):{status:"valid",value:s.status==="valid"?s.value:this._def.catchValue({get error(){return new ct(r.common.issues)},input:r.data})}}removeCatch(){return this._def.innerType}};qr.create=(t,e)=>new qr({innerType:t,typeName:ee.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...ie(e)});var Ps=class extends Ae{static{o(this,"ZodNaN")}_parse(e){if(this._getType(e)!==O.nan){let r=this._getOrReturnCtx(e);return _(r,{code:N.invalid_type,expected:O.nan,received:r.parsedType}),Z}return{status:"valid",value:e.data}}};Ps.create=t=>new Ps({typeName:ee.ZodNaN,...ie(t)});var oS=Symbol("zod_brand"),Ao=class extends Ae{static{o(this,"ZodBranded")}_parse(e){let{ctx:n}=this._processInputParams(e),r=n.data;return this._def.type._parse({data:r,path:n.path,parent:n})}unwrap(){return this._def.type}},co=class t extends Ae{static{o(this,"ZodPipeline")}_parse(e){let{status:n,ctx:r}=this._processInputParams(e);if(r.common.async)return o(async()=>{let i=await this._def.in._parseAsync({data:r.data,path:r.path,parent:r});return i.status==="aborted"?Z:i.status==="dirty"?(n.dirty(),Nr(i.value)):this._def.out._parseAsync({data:i.value,path:r.path,parent:r})},"handleAsync")();{let s=this._def.in._parseSync({data:r.data,path:r.path,parent:r});return s.status==="aborted"?Z:s.status==="dirty"?(n.dirty(),{status:"dirty",value:s.value}):this._def.out._parseSync({data:s.value,path:r.path,parent:r})}}static create(e,n){return new t({in:e,out:n,typeName:ee.ZodPipeline})}},jr=class extends Ae{static{o(this,"ZodReadonly")}_parse(e){let n=this._def.innerType._parse(e),r=o(s=>(Xn(s)&&(s.value=Object.freeze(s.value)),s),"freeze");return Ns(n)?n.then(s=>r(s)):r(n)}unwrap(){return this._def.innerType}};jr.create=(t,e)=>new jr({innerType:t,typeName:ee.ZodReadonly,...ie(e)});function Vp(t,e){let n=typeof t=="function"?t(e):typeof t=="string"?{message:t}:t;return typeof n=="string"?{message:n}:n}o(Vp,"cleanParams");function Wp(t,e={},n){return t?tr.create().superRefine((r,s)=>{let i=t(r);if(i instanceof Promise)return i.then(a=>{if(!a){let c=Vp(e,r),l=c.fatal??n??!0;s.addIssue({code:"custom",...c,fatal:l})}});if(!i){let a=Vp(e,r),c=a.fatal??n??!0;s.addIssue({code:"custom",...a,fatal:c})}}):tr.create()}o(Wp,"custom");var aS={object:ut.lazycreate},ee;(function(t){t.ZodString="ZodString",t.ZodNumber="ZodNumber",t.ZodNaN="ZodNaN",t.ZodBigInt="ZodBigInt",t.ZodBoolean="ZodBoolean",t.ZodDate="ZodDate",t.ZodSymbol="ZodSymbol",t.ZodUndefined="ZodUndefined",t.ZodNull="ZodNull",t.ZodAny="ZodAny",t.ZodUnknown="ZodUnknown",t.ZodNever="ZodNever",t.ZodVoid="ZodVoid",t.ZodArray="ZodArray",t.ZodObject="ZodObject",t.ZodUnion="ZodUnion",t.ZodDiscriminatedUnion="ZodDiscriminatedUnion",t.ZodIntersection="ZodIntersection",t.ZodTuple="ZodTuple",t.ZodRecord="ZodRecord",t.ZodMap="ZodMap",t.ZodSet="ZodSet",t.ZodFunction="ZodFunction",t.ZodLazy="ZodLazy",t.ZodLiteral="ZodLiteral",t.ZodEnum="ZodEnum",t.ZodEffects="ZodEffects",t.ZodNativeEnum="ZodNativeEnum",t.ZodOptional="ZodOptional",t.ZodNullable="ZodNullable",t.ZodDefault="ZodDefault",t.ZodCatch="ZodCatch",t.ZodPromise="ZodPromise",t.ZodBranded="ZodBranded",t.ZodPipeline="ZodPipeline",t.ZodReadonly="ZodReadonly"})(ee||(ee={}));var AS=o((t,e={message:`Input not instance of ${t.name}`})=>Wp(n=>n instanceof t,e),"instanceOfType"),zp=er.create,Zp=Fr.create,cS=Ps.create,uS=Ur.create,Kp=Mr.create,lS=Lr.create,dS=Us.create,gS=_r.create,hS=Pr.create,pS=tr.create,fS=Sn.create,mS=Ht.create,ES=Ms.create,CS=vn.create,IS=ut.create,yS=ut.strictCreate,QS=Or.create,BS=Ka.create,wS=Gr.create,bS=An.create,RS=Xa.create,kS=Ls.create,SS=_s.create,vS=eA.create,xS=$r.create,DS=Yr.create,TS=Vr.create,NS=Hr.create,FS=nr.create,US=Mt.create,MS=Ft.create,LS=cn.create,_S=Mt.createWithPreprocess,PS=co.create,OS=o(()=>zp().optional(),"ostring"),GS=o(()=>Zp().optional(),"onumber"),$S=o(()=>Kp().optional(),"oboolean"),YS={string:o((t=>er.create({...t,coerce:!0})),"string"),number:o((t=>Fr.create({...t,coerce:!0})),"number"),boolean:o((t=>Mr.create({...t,coerce:!0})),"boolean"),bigint:o((t=>Ur.create({...t,coerce:!0})),"bigint"),date:o((t=>Lr.create({...t,coerce:!0})),"date")};var VS=Z;var Ef=require("node:crypto");var Wr=(i=>(i.NotFound="not_found",i.NoAccess="no_access",i.Unavailable="unavailable",i.AccessLost="access_lost",i.CannotOpen="cannot_open",i))(Wr||{});var _u=o(t=>`${t.source}:${t.site??""}:${t.key}`,"requirementItemId");var tA=/^pasted-[0-9a-f]{16}$/,uo=/^file-[0-9a-f]{16}$/,lo=(s=>(s.Pdf="application/pdf",s.Csv="text/csv",s.Docx="application/vnd.openxmlformats-officedocument.wordprocessingml.document",s.Xlsx="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",s))(lo||{});var zr=(n=>(n.Sufficient="sufficient",n.Insufficient="insufficient",n))(zr||{}),go=(f=>(f.RelatedChangeConflict="related_change_conflict",f.ReferenceOutsideTarget="reference_outside_target",f.SourceAccessLost="source_access_lost",f.ConfigurationIncomplete="configuration_incomplete",f.CredentialUnavailable="credential_unavailable",f.WorkflowBindingUnverified="workflow_binding_unverified",f.WorkflowRefUnprotected="workflow_ref_unprotected",f.BedrockWorkflowRequired="bedrock_workflow_required",f.DeploymentReview="deployment_review",f.SutRevisionMismatch="sut_revision_mismatch",f.IsolationUnavailable="isolation_unavailable",f.EvidenceInsufficient="evidence_insufficient",f))(go||{}),rr=(i=>(i.CiCheck="ci_check",i.TestReport="test_report",i.StaticAnalysis="static_analysis",i.CodeReview="code_review",i.Other="other",i))(rr||{}),Pu=(r=>(r.Application="application",r.Environment="environment",r.TestDefect="test_defect",r))(Pu||{}),Ou=(c=>(c.AuthToken="auth_token",c.Secret="secret",c.DataConnection="data_connection",c.AppNotStarted="app_not_started",c.Login="login",c.ExternalDependency="external_dependency",c.RecordingReplay="recording_replay",c))(Ou||{});var nA=(n=>(n.Probe="probe",n.Agent="agent",n))(nA||{}),rA=(r=>(r.Seed="seed",r.RuntimeMock="runtime_mock",r.EnvOverride="env_override",r))(rA||{}),sA=(r=>(r.TestCode="test_code",r.SkyrampMocker="skyramp_mocker",r.RecipeOverride="recipe_override",r))(sA||{});var Gu=(n=>(n.Ready="ready",n.Blocked="blocked",n))(Gu||{}),Ne=A.string().trim().min(1),HS=A.object({action:A.enum(["start","run","wait"]),text:Ne,source:A.enum(["file","notes","testbot"]).describe("file: a file in the repository; notes: the Target's notes; testbot: Testbot's own finding"),file:Ne.nullable().describe("the file the step came from, relative to the component's repository; null unless source is file")}).strict().refine(t=>t.source==="file"==(t.file!==null),{path:["file"],message:"a file exactly when the step came from one"}),JS=/^[A-Za-z_][A-Za-z0-9_]*$/,ho=/^(?!GITHUB_)(?!SKYRAMP_RUNNER_)[A-Z][A-Z0-9_]{0,99}$/,Os=(a=>(a.VersionEndpoint="version_endpoint",a.DeployWorkflow="deploy_workflow",a.KubernetesLabels="kubernetes_labels",a.Command="command",a.Api="api",a.NotTracked="not_tracked",a))(Os||{}),un="shared",qS=Ne.refine(t=>{try{let e=new URL(t);return["http:","https:"].includes(e.protocol)&&!e.username&&!e.password}catch{return!1}},"an http(s) URL with no login in it"),Gs=A.object({address:qS,readyWhen:Ne.nullable(),credentials:A.array(A.string().regex(ho)).max(50),revisionSources:A.array(A.object({method:A.nativeEnum(Os),detail:Ne.describe("what Testbot reads, such as GET /version or the deploy workflow's name; for not_tracked, why nothing shows it"),components:A.array(Ne).min(1).describe("the components it tells the revision of, by name")}).strict()).max(50)}).strict(),$u={steps:A.array(HS).max(20).optional().describe("how it starts, in order"),kind:A.enum(["web_app","service","database","external_service"]).optional(),from:A.object({file:Ne,service:Ne.nullable()}).strict().optional(),credentials:A.array(A.string().max(100).regex(JS)).max(50).optional().describe("the Target's credentials this component's recipe uses: a sign-in (a test user, password or token) or an API key, which the workflow supplies from a GitHub Actions secret as the environment variable of the credential's name; give each name exactly as the recipe reads it. Names only, never a value, and not a secret the recipe generates itself")},jS=A.object({name:Ne,repository:Ne.describe("owner/repo of the Target repository the component is built or started from, such as the one whose compose file starts its database"),healthy:A.boolean(),...$u,deployed:Ne.nullable().optional().describe('only with "environment": the revision the component runs, as you read it from its revision source, or null when you could not tell')}),WS=A.object({component:Ne,problem:Ne,evidence:Ne.describe("the exact command and output that shows it"),fix:Ne.describe("what the user must provide, and where")}),zS=A.object({framework:Ne,file:Ne.describe("the test file run, relative to its repository root"),result:A.enum(["pass","fail","error"])}),ZS=A.object({input:Ne.describe("the part of the user's SUT input, as given"),reason:Ne}),uV=A.object({schemaVersion:A.literal(1),status:A.nativeEnum(Gu).describe("ready only if every component came up healthy and the recipe is written"),components:A.array(jS),suites:A.array(zS).default([]).describe("one run per test suite the Target's repositories have; empty when they have none"),inputsUsed:A.array(Ne).default([]).describe("the parts of the user's SUT input the recipe used as given"),inputsUsedHow:A.array(A.object({input:Ne.describe("exactly as written in inputsUsed; an entry that is not there is left out"),how:Ne.describe("what the recipe did with it")})).optional(),inputsNotUsed:A.array(ZS).default([]).describe("the parts it did not use, and why. A part that is wrong goes here, with what was wrong, even when the recipe does something like it instead: one that names a file, command, port, route or setting that does not exist or does not work (SKYR-5265)"),blockers:A.array(WS).describe("required (non-empty) when status is blocked"),environment:Gs.optional().describe("only when the whole SUT is an existing deployment you tested where it runs, building and starting nothing: its address, what says it is ready, the credentials that reach it, and how to read what each component runs. Leave it out when any part was built or started on the runner, or reaching it needed something there (a tunnel, port-forward, proxy or client certificate)")});var Yu=64*1024,Vu=512*1024,Xp=/[\u0000-\u0008\u000b\u000e-\u001f\u007f]|[\ud800-\udbff](?![\udc00-\udfff])|(?<![\ud800-\udbff])[\udc00-\udfff]/;var tf=Ve(require("path"));var ir=(s=>(s.Clean="clean",s.RecipeDrift="recipe-drift",s.ChangeBrokeBringup="change-broke-bringup",s.BringupFailed="bringup-failed",s))(ir||{}),sr=A.string().trim().min(1),KS=A.object({url:A.string().optional().describe("the URL probed, if the check is an HTTP request"),command:A.string().optional().describe("the command run, if the check is a script \u2014 preferred when auth is needed"),headers:A.record(A.string()).optional(),status:A.union([A.number(),A.string()]).optional().describe("expected HTTP status for a url check (default 200)"),output:sr.describe("what the check returned, VERBATIM \u2014 the bytes, nothing appended; this gate RE-RUNS the check")}),Hu=A.array(A.object({component:sr.describe("a shared component listed above"),url:sr.describe("the URL on the component's own origin (scheme, host and port) that answers with its deployed commit"),output:sr.describe("what the URL returned, VERBATIM; this gate FETCHES each url")})).describe("only when shared components are listed above: one check per component whose deployed commit you found"),ef=A.object({schemaVersion:A.literal(1),baseUrls:A.record(A.string()).optional().describe("service \u2192 base URL of the running app; omit on a failed bring-up, never invent one"),health:KS.optional(),teardown:sr.describe("command that tears the SUT down"),dependencies:A.record(A.boolean()).optional().describe("EVERY backing service: true = really deployed, false = mocked; REQUIRED when the app came up"),outcome:A.nativeEnum(ir).describe("clean | recipe-drift (you corrected the recipe) | change-broke-bringup (the PR broke it) | bringup-failed (environment, not the PR)"),recipeFixes:A.array(A.string()).optional().describe("required when outcome is recipe-drift: what was corrected"),bringupError:A.object({command:sr,output:sr}).optional().describe("required when bring-up failed: the exact failing command and what it printed"),suspectFiles:A.array(A.string()).optional().describe("required for change-broke-bringup: files THIS PR changed that the failure points at, relative to your working directory (a file in another checkout of the run: its absolute path)"),seeded:A.boolean(),startedAt:sr.describe("ISO timestamp"),revisions:Hu.optional()});var ze=A.string().trim().min(1),Ju=(n=>(n.TestbotManaged="testbot_managed",n.CustomerDeployed="customer_deployed",n))(Ju||{}),qu=[".skyramp/sut/setup.sh",".skyramp/sut/teardown.sh"],nf=A.object({schemaVersion:A.literal(1),type:A.nativeEnum(Ju).optional(),status:A.enum(["ready","blocked"]),environment:Gs.optional(),components:A.array(A.object({name:ze,repository:ze.describe(`owner/repo, or "${un}" for a customer-deployed component no repository builds`),healthy:A.boolean(),url:A.string().min(1).nullable(),...$u,credentials:A.array(A.string().regex(ho)).max(50).optional(),deployed:ze.nullable().optional().describe("customer_deployed only: the revision the component runs, as setup read it (WF-SETUP-22's Deployed now), or null when it could not tell")}).strict()),suites:A.array(A.object({framework:ze,file:ze,result:A.enum(["pass","fail","error"])}).strict()),inputsUsed:A.array(ze),inputsUsedHow:A.array(A.object({input:ze,how:ze}).strict()).optional(),inputsNotUsed:A.array(A.object({input:ze,reason:ze}).strict()),blockers:A.array(A.object({component:ze,problem:ze,evidence:ze,fix:ze}).strict()),replay:A.object({outcome:ze,durationSeconds:A.number().nonnegative().nullable()}).strict().nullable(),files:A.array(A.object({path:ze,content:A.string()}).strict())}).strict().superRefine((t,e)=>{t.inputsUsedHow?.forEach((s,i)=>{t.inputsUsed.includes(s.input)||e.addIssue({code:A.ZodIssueCode.custom,path:["inputsUsedHow",i,"input"],message:"not one of inputsUsed"})}),t.components.forEach((s,i)=>{s.credentials&&new Set(s.credentials).size!==s.credentials.length&&e.addIssue({code:A.ZodIssueCode.custom,path:["components",i,"credentials"],message:"names a credential twice"})});let n=t.type==="customer_deployed";n!==(t.environment!==void 0)&&e.addIssue({code:A.ZodIssueCode.custom,path:["environment"],message:"an environment exactly when the plan's type is customer_deployed"}),t.environment&&new Set(t.environment.credentials).size!==t.environment.credentials.length&&e.addIssue({code:A.ZodIssueCode.custom,path:["environment","credentials"],message:"names a credential twice"});let r=new Set(t.components.map(s=>s.name));if(t.environment?.revisionSources.forEach((s,i)=>{s.components.forEach((a,c)=>{r.has(a)||e.addIssue({code:A.ZodIssueCode.custom,path:["environment","revisionSources",i,"components",c],message:"not one of components"})})}),t.components.forEach((s,i)=>{s.deployed!==void 0!==n&&e.addIssue({code:A.ZodIssueCode.custom,path:["components",i,"deployed"],message:"what a component runs exactly when the plan is customer_deployed"}),s.repository===un&&!n&&e.addIssue({code:A.ZodIssueCode.custom,path:["components",i,"repository"],message:`only a customer_deployed component is ${un}`})}),n&&(t.components.forEach((s,i)=>{t.components.findIndex(a=>a.name===s.name)!==i&&e.addIssue({code:A.ZodIssueCode.custom,path:["components",i,"name"],message:"names a component twice"})}),t.replay!==null&&e.addIssue({code:A.ZodIssueCode.custom,path:["replay"],message:"a customer_deployed plan is never replayed"}),t.files.forEach((s,i)=>{qu.includes(s.path)&&e.addIssue({code:A.ZodIssueCode.custom,path:["files",i,"path"],message:"a customer_deployed plan has no script that starts or stops the system"})})),n&&t.status==="ready"){let s=new Set(t.environment?.revisionSources.flatMap(i=>i.components));t.components.forEach((i,a)=>{i.repository!==un&&!s.has(i.name)&&e.addIssue({code:A.ZodIssueCode.custom,path:["components",a,"name"],message:"a ready customer_deployed plan reads what every component a repository builds runs"})})}});var CV=["clean","recipe-drift"];function iA(t){let e=tf.posix.normalize(t);return e===t&&(e===".skyramp/workspace.yml"||e.startsWith(".skyramp/sut/")&&e.length>13)}o(iA,"isRuntimePlanFile");var Ys=(n=>(n.GitHub="github",n.AzureDevOps="azure-devops",n))(Ys||{}),Ku=(i=>(i.Trigger="TRIGGER",i.Baseline="BASELINE",i.AuthoritativeRelatedChange="AUTHORITATIVE_RELATED_CHANGE",i.ConfiguredSharedDependency="CONFIGURED_SHARED_DEPENDENCY",i.ManualOverride="MANUAL_OVERRIDE",i))(Ku||{}),Xu=(a=>(a.PullRequest="pull_request",a.ReadyForReview="ready_for_review",a.Schedule="schedule",a.Manual="manual",a.SutSetup="sut_setup",a.RevisionRead="revision_read",a))(Xu||{}),XS=["sut_setup"],ev=["sut_setup","schedule","revision_read"],tv=["sut_setup"],el=(e=>(e.PullRequest="pull_request",e))(el||{}),Cf=(s=>(s.ModelProvider="model_provider",s.SutAccess="sut_access",s.Skyramp="skyramp",s.Other="other",s))(Cf||{}),cA=(s=>(s.None="none",s.Delivered="delivered",s.Partial="partial",s.Failed="failed",s))(cA||{}),po=(i=>(i.ReportUploaded="report_uploaded",i.NoReport="no_report",i.Cancelled="cancelled",i.RecipeUploaded="recipe_uploaded",i.RevisionsUploaded="revisions_uploaded",i))(po||{}),If=(n=>(n.Running="running",n.Ended="ended",n))(If||{}),fo=(c=>(c.TimedOut="timed_out",c.AgentFailed="agent_failed",c.SetupFailed="setup_failed",c.CredentialMissing="credential_missing",c.RunnerLost="runner_lost",c.CheckoutFailed="checkout_failed",c.EnvironmentUnverified="environment_unverified",c))(fo||{}),yf=(r=>(r.Onboard="onboard",r.Deploy="deploy",r.Recheck="recheck",r))(yf||{}),Qf=(n=>(n.Started="started",n.Finished="finished",n))(Qf||{}),Bf=(r=>(r.Passed="passed",r.Failed="failed",r.Skipped="skipped",r))(Bf||{});var wf=(r=>(r.ChooseCredential="choose_credential",r.FreeText="free_text",r.ChooseSource="choose_source",r))(wf||{});var tl=(r=>(r.Discover="discover",r.Start="start",r.Check="check",r))(tl||{}),nl=(s=>(s.Found="found",s.Starting="starting",s.Up="up",s.OutOfScope="out_of_scope",s))(nl||{}),Jt=A.string().regex(/^[1-9][0-9]{0,18}$/),or=A.string().regex(/^(?:[0-9a-f]{40}|[0-9a-f]{64})$/),Vs=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/,tt=A.string().regex(Vs),nt=A.string().regex(/^[0-9a-f]{64}$/),aA=A.object({id:tt,revision:Jt}).strict(),uA={provider:A.literal("github"),providerAccountId:Jt,providerRepositoryId:Jt},lA={provider:A.literal("azure-devops"),providerAccountId:tt,providerRepositoryId:tt},ar=A.discriminatedUnion("provider",[A.object(uA).strict(),A.object(lA).strict()]),rl=A.discriminatedUnion("provider",[A.object(uA).passthrough(),A.object(lA).passthrough()]),xn=o(t=>`${t.provider}:${t.providerRepositoryId}`,"sourceKey"),rf={namespace:A.string().min(1),name:A.string().min(1)},bf=A.discriminatedUnion("provider",[A.object({...uA,...rf}).strict(),A.object({...lA,...rf}).strict()]),sf=A.object({ref:A.string().min(1),revision:or}).strict(),nv=A.object({repository:bf,revision:or,ref:A.string().nullable(),reason:A.nativeEnum(Ku),change:A.object({kind:A.nativeEnum(el),number:Jt,base:sf.optional()}).strict().nullable(),compareWith:sf.optional()}).strict();function rv(t){if(t.trigger.kind==="revision_read"!=!t.baseline)return t.baseline?"a revision_read run names no baseline":"names its baseline";if(!t.baseline)return null;let{confirmedRunId:e,initialBaselineId:n,sources:r}=t.baseline;if(e!==null&&n!==void 0)return"a run compares with one baseline";let s=t.trigger.kind==="schedule"&&e!==null||n!==void 0;if(!r)return s?"names every source of the snapshot, once":null;if(e===null&&n===void 0)return"a run with no Confirmed Baseline names no baseline sources";let i=new Set(t.sources.map(l=>xn(l.repository))),a=new Set(r.map(l=>xn(l.repository)));return a.size===r.length&&a.size===i.size&&[...a].every(l=>i.has(l))?null:"names every source of the snapshot, once"}o(rv,"baselineSourcesIssue");var Rf=/^[A-Z][A-Z0-9_]+-[1-9][0-9]*$/,kf=/^[1-9][0-9]{0,18}$/,of=new RegExp(`${Rf.source}|${kf.source}`),af=/^https:\/\/[a-z0-9-]+(\.[a-z0-9-]+)+$/,sv=A.union([A.object({source:A.literal("jira"),site:A.string().regex(af),key:A.string().regex(Rf),updated:A.string().datetime(),contentHash:nt}).strict(),A.object({source:A.literal("confluence"),site:A.string().regex(af),key:A.string().regex(kf),version:A.number().int().positive(),contentHash:nt}).strict(),A.object({source:A.literal("other"),key:A.string().regex(tA),contentHash:nt}).strict(),A.object({source:A.literal("other"),key:A.string().regex(uo),contentHash:nt,fileName:A.string().min(1).max(255),mediaType:A.nativeEnum(lo)}).strict()]),Af=A.union([A.literal("jira"),A.literal("confluence")]),iv=A.object({schemaVersion:A.literal(1),items:A.array(A.union([A.object({source:Af,site:A.string(),key:A.string().regex(of),state:A.literal("read"),text:A.string(),version:A.string().min(1),contentMatches:A.boolean()}).strict(),A.object({source:Af,site:A.string(),key:A.string().regex(of),state:A.literal("not_read"),reason:A.nativeEnum(Wr)}).strict(),A.object({source:A.literal("other"),key:A.string().regex(tA),state:A.literal("read"),text:A.string(),version:A.string().min(1),contentMatches:A.boolean()}).strict(),A.object({source:A.literal("other"),key:A.string().regex(tA),state:A.literal("not_read"),reason:A.nativeEnum(Wr)}).strict(),A.object({source:A.literal("other"),key:A.string().regex(uo),state:A.literal("read"),version:nt,fileName:A.string().min(1).max(255),mediaType:A.nativeEnum(lo)}).strict(),A.object({source:A.literal("other"),key:A.string().regex(uo),state:A.literal("not_read"),reason:A.nativeEnum(Wr)}).strict()])),instructions:A.array(A.string()).optional()}).strict(),ov=A.object({schemaVersion:A.literal(1),runId:tt,skyrampOrgId:tt,target:aA,policy:aA.nullable(),trigger:A.object({kind:A.nativeEnum(Xu),requestedAt:A.string().datetime()}).strict(),configuration:A.object({captureId:tt,revision:Jt.nullable(),hash:nt}).strict(),baseline:A.object({confirmedRunId:tt.nullable(),initialBaselineId:tt.optional(),sources:A.array(A.object({repository:ar,revision:or}).strict()).optional()}).strict().optional(),sources:A.array(nv).min(1),execution:A.object({provider:A.nativeEnum(Ys),repository:bf,workflowPath:A.string(),ref:A.string()}).strict(),credentials:A.array(A.object({name:A.string(),purpose:A.nativeEnum(Cf),required:A.boolean()}).strict()),requirements:A.array(sv).min(1).optional(),instructions:A.object({contentHash:nt}).strict().optional(),deployedRevisions:A.array(A.object({repository:ar,revision:or}).strict()).min(1).optional()}).strict().superRefine((t,e)=>{let n=new Set;(t.requirements??[]).forEach((l,d)=>{let g="fileName"in l?"file":"pasted";l.source==="other"&&l.key!==`${g}-${l.contentHash.slice(0,16)}`&&e.addIssue({code:A.ZodIssueCode.custom,message:"is not the key of its content hash",path:["requirements",d,"key"]});let h=_u({source:l.source,key:l.key});n.has(h)&&e.addIssue({code:A.ZodIssueCode.custom,message:"names an item that the run already names",path:["requirements",d,"key"]}),n.add(h)});let r=t.trigger.kind,s=XS.includes(r);s!==(t.policy===null)&&e.addIssue({code:A.ZodIssueCode.custom,path:["policy"],message:s?`a ${r} run has no policy`:"names the policy revision"});let i=rv(t);i&&e.addIssue({code:A.ZodIssueCode.custom,path:t.baseline?["baseline","sources"]:["baseline"],message:i}),ev.includes(r)&&t.sources.forEach((l,d)=>{l.reason!=="BASELINE"&&e.addIssue({code:A.ZodIssueCode.custom,path:["sources",d,"reason"],message:`a ${r} run selects only BASELINE sources`})}),t.deployedRevisions&&r!=="manual"&&e.addIssue({code:A.ZodIssueCode.custom,path:["deployedRevisions"],message:"only a manual run pins deployed revisions"});let a=new Set(t.sources.map(l=>xn(l.repository))),c=new Set;(t.deployedRevisions??[]).forEach((l,d)=>{let g=xn(l.repository);a.has(g)?c.has(g)&&e.addIssue({code:A.ZodIssueCode.custom,path:["deployedRevisions",d,"repository"],message:"repository appears twice"}):e.addIssue({code:A.ZodIssueCode.custom,path:["deployedRevisions",d,"repository"],message:"names a repository outside the snapshot"}),c.add(g)}),t.sources.forEach((l,d)=>{l.compareWith&&(l.reason!=="MANUAL_OVERRIDE"||l.change)&&e.addIssue({code:A.ZodIssueCode.custom,path:["sources",d,"compareWith"],message:"only a MANUAL_OVERRIDE source without a change names a revision to compare with"})})});var Sf=(n=>(n.Person="person",n.Policy="policy",n))(Sf||{}),av=A.object({kind:A.nativeEnum(Sf),name:A.string().min(1).max(256)}).strict(),Av=A.object({schemaVersion:A.literal(1),attempt:A.object({id:tt,number:A.number().int().positive(),deadlineAt:A.string().datetime()}).strict(),manifest:ov,manifestHash:nt,entitlements:A.array(A.string()).optional(),runToken:A.string().min(1).optional(),requestedBy:av.nullable().optional(),writeAllowed:A.boolean().optional(),claudeCodeVersion:A.string().regex(/^[0-9]+\.[0-9]+\.[0-9]+$/,"an exact version, such as 2.1.290").nullable().optional(),deployedRevisions:A.array(A.object({repository:ar,revision:or}).strict()).optional()}).strict(),cf={providerRunAttempt:A.number().int().positive(),workflowRef:A.string().min(1)},cv=A.string().regex(/^[^/]+\/[^/]+\/[1-9][0-9]{0,15}\/[1-9][0-9]{0,15}$/),uv=A.object({schemaVersion:A.literal(1),runId:tt,execution:A.discriminatedUnion("provider",[A.object({...cf,provider:A.literal("github"),repository:A.object(uA).strict(),providerRunId:Jt}).strict(),A.object({...cf,provider:A.literal("azure-devops"),repository:A.object(lA).strict(),providerRunId:cv}).strict()]),requester:A.literal(!0).optional(),writeCheck:A.literal(!0).optional(),claudeCodePin:A.literal(!0).optional(),deployedPins:A.literal(!0).optional()}).strict(),uf=A.object({repository:ar,number:Jt}).strict(),lv=A.discriminatedUnion("status",[A.object({status:A.literal("none")}).strict(),A.object({status:A.literal("delivered"),pullRequests:A.array(uf).min(1)}).strict(),A.object({status:A.literal("partial"),pullRequests:A.array(uf).min(1),failures:A.array(A.object({repository:ar,message:A.string()}).strict()).min(1)}).strict(),A.object({status:A.literal("failed"),message:A.string()}).strict()]),dv=A.object({sufficiency:A.nativeEnum(zr),rationale:A.string().min(1),gaps:A.array(A.string().min(1)),acceptedEvidence:A.array(A.object({kind:A.nativeEnum(rr),repository:A.string().min(1),revision:or,reference:A.string().min(1),summary:A.string().min(1)}).strict()),actionRequired:A.array(A.nativeEnum(go))}).strict().superRefine((t,e)=>{t.sufficiency==="sufficient"!=(t.gaps.length===0)&&e.addIssue({code:A.ZodIssueCode.custom,path:["gaps"],message:"sufficient evidence has no gaps, and insufficient evidence names at least one"}),new Set(t.actionRequired).size!==t.actionRequired.length&&e.addIssue({code:A.ZodIssueCode.custom,path:["actionRequired"],message:"a reason appears twice"})}),ju=500,gv=2048,hv=1e3,pv=/[\\/:*?"<>|;#$*{},+=[\]%\p{Cc}\p{Cf}]/u,lf=o(t=>t.length>0&&t.length<=64&&t===t.trim()&&!pv.test(t)&&!/[^\S ]/u.test(t)&&!/^[._]/.test(t)&&!t.endsWith("."),"isAzureName"),fv=o(t=>{if(/^[A-Za-z0-9._-]{1,100}\/[A-Za-z0-9._-]{1,100}$/.test(t))return!0;let[e,n,r,...s]=t.split("/");return t.length<=201&&s.length===0&&r!==void 0&&/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,48}[A-Za-z0-9])?$/.test(e)&&lf(n)&&lf(r)},"isResultRepository"),mv=A.object({testResults:A.array(A.object({resultId:A.string().regex(/^[^\u0000-\u001f]{1,512}$/),repository:A.string().refine(fv,"Invalid"),testType:A.string(),endpoint:A.string(),status:A.enum(["Pass","Fail","Skipped"]),details:A.string(),fileName:A.string().optional(),testId:A.string().regex(/^[^\u0000-\u001f]{1,512}$/).optional(),failureCause:A.object({kind:A.nativeEnum(Pu),family:A.nativeEnum(Ou).optional()}).strict().optional()}).strict()),validation:dv,changes:A.array(A.object({id:A.string().min(1).max(512),text:A.string().max(16384),source:A.string().max(gv),testedBy:A.array(A.string().min(1).max(1024)).max(ju),writtenBy:A.array(A.string().min(1).max(1024)).max(ju),maintainedBy:A.array(A.string().min(1).max(1024)).max(ju)}).strict()).max(hv).optional(),traceVersion:A.literal(1)}).passthrough().superRefine((t,e)=>{let n=new Set;t.testResults.forEach((r,s)=>{let i=r.failureCause;i&&r.status==="Pass"&&e.addIssue({code:A.ZodIssueCode.custom,path:["testResults",s,"failureCause"],message:"a passing result has no failure cause"}),i&&i.kind==="environment"!=(i.family!==void 0)&&e.addIssue({code:A.ZodIssueCode.custom,path:["testResults",s,"failureCause"],message:"an environment cause names its family, and no other cause does"});let a=["testResults",s,"resultId"],c=r.resultId.slice(`${r.repository}:${r.testType}:`.length);(!r.resultId.startsWith(`${r.repository}:${r.testType}:`)||c===""||c.startsWith("/")||c.startsWith("#"))&&e.addIssue({code:A.ZodIssueCode.custom,path:a,message:"is not repository:testType:path for this result"}),n.has(r.resultId)&&e.addIssue({code:A.ZodIssueCode.custom,path:a,message:"stable identity repeated"}),n.add(r.resultId)})}),df=o(t=>t.replace(/[%:#]/g,e=>encodeURIComponent(e)),"encodeIdPart");function vf(t,e,n,r){let s=n.replace(/\\/g,"/"),i=s.split("/").filter(l=>l!==""&&l!==".");if(s.startsWith("/")||/^[A-Za-z]:/.test(s)||i.length===0||i.includes(".."))throw new Error(`testResultId needs a path relative to the repository root, got "${n}"`);let a=i.join("/"),c=`${t}:${e}:${df(a)}`;return r?`${c}#${df(r)}`:c}o(vf,"testResultId");var dA=(r=>(r.BranchPushed="branch_pushed",r.PullRequestOpened="pull_request_opened",r.PullRequestEdited="pull_request_edited",r))(dA||{}),xf=50,gf=A.string().regex(/^(?!.*\.\.)(?!\/)(?!.*\/$)[A-Za-z0-9._/-]{1,255}$/),Df=A.discriminatedUnion("kind",[A.object({kind:A.literal("branch_pushed"),repository:ar,branch:gf,commit:or}).strict(),A.object({kind:A.enum(["pull_request_opened","pull_request_edited"]),repository:ar,number:Jt,branch:gf}).strict()]),Tf=A.object({schemaVersion:A.literal(1),run:A.object({runId:tt,attemptNumber:A.number().int().positive(),manifestHash:nt}).strict(),target:aA,policy:aA,provenance:A.object({sources:A.array(A.object({repository:ar,revision:or}).strict()),firstQualification:A.literal(!0).optional()}).strict(),delivery:A.object({generatedTests:lv}).strict(),producer:A.object({testbot:A.string().regex(/^[0-9A-Za-z.+-]{1,64}$/),mcp:A.string().regex(/^[0-9A-Za-z.+-]{1,64}$/)}).strict(),report:mv,githubWrites:A.array(Df).max(xf).optional()}).strict(),kV=Tf.pick({schemaVersion:!0,run:!0,target:!0,provenance:!0,producer:!0}).extend({recipe:nf}).strict().superRefine(({recipe:t},e)=>{let n=o((i,a)=>e.addIssue({code:A.ZodIssueCode.custom,path:["recipe",...i],message:a}),"issue");t.status==="blocked"&&t.blockers.length===0&&n(["blockers"],"a blocked recipe names at least one blocker");let r=new Set,s=0;t.files.forEach((i,a)=>{iA(i.path)||n(["files",a,"path"],"is not .skyramp/workspace.yml or a file under .skyramp/sut/"),r.has(i.path)&&n(["files",a,"path"],"file repeated"),r.add(i.path),Xp.test(i.content)&&n(["files",a,"content"],"is not text");let c=Buffer.byteLength(i.content,"utf8");s+=c,c>Yu&&n(["files",a,"content"],`larger than ${Yu} bytes`)}),s>Vu&&n(["files"],`recipe text over ${Vu} bytes in total`)}),SV=A.object({components:A.array(A.object({name:A.string().min(1),repository:A.string().regex(/^[A-Za-z0-9._-]{1,100}\/[A-Za-z0-9._-]{1,100}$/),observedRevision:A.string().regex(/^[0-9a-f]{7,64}$/).nullable(),source:A.nativeEnum(nA),evidence:A.string()}).strict().refine(t=>t.source!=="agent"||t.observedRevision===null,{path:["observedRevision"],message:"a component only an agent session can read names no revision"}))}).strict();var Ev=A.object({schemaVersion:A.literal(1),stage:A.nativeEnum(yf),event:A.nativeEnum(Qf),status:A.nativeEnum(Bf).optional()}).strict().refine(t=>t.status===void 0||t.event==="finished",{path:["status"],message:"only a finished stage has a status"}),Nf=100,Cv=5e3,Wu=2e3,hf=100,Ff=/^[A-Za-z0-9_-]{1,64}$/,Iv=20,yv=200,Qv=100,Bv=100,wv=200,pf="[^/\\s](?:(?:[^/\\s]| )*[^/\\s])?",bv=new RegExp(`^(?:[^/\\s]+/[^/\\s]+|[^/\\s]+/${pf}/${pf})$`),Rv=500,kv=50,Sv=/[\u0000-\u0008\u000b\u000c\u000e-\u001f\u007f]|[\ud800-\udbff](?![\udc00-\udfff])|(?<![\ud800-\udbff])[\udc00-\udfff]/,ln=o(t=>A.string().max(t).refine(e=>e.trim().length>0&&!Sv.test(e),"blank, or not text"),"setupText"),$s={sequence:A.number().int().min(1).max(Cv),at:A.string().regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(?:\.\d{1,6})?Z$/)},vv=A.discriminatedUnion("kind",[A.object({...$s,kind:A.literal("log"),phase:A.nativeEnum(tl),text:ln(Wu)}).strict(),A.object({...$s,kind:A.literal("component"),name:ln(hf),repository:ln(wv).refine(t=>bv.test(t)||t===un,"not owner/name"),file:ln(Rv).nullable(),status:A.nativeEnum(nl),version:ln(Bv).optional()}).strict(),A.object({...$s,kind:A.literal("reply"),to:A.string().uuid(),accepted:A.boolean(),text:ln(Wu)}).strict(),A.object({...$s,kind:A.literal("question"),id:A.string().regex(Ff),type:A.nativeEnum(wf),text:ln(Wu),component:ln(hf).nullable(),choices:A.array(ln(yv)).max(Iv),placeholder:ln(Qv).optional()}).strict(),A.object({...$s,kind:A.literal("delivered"),ids:A.array(A.string().uuid()).max(Nf)}).strict(),A.object({...$s,kind:A.literal("credentials"),names:A.array(A.string().regex(ho)).min(1).max(kv)}).strict()]).superRefine((t,e)=>{t.kind==="credentials"&&new Set(t.names).size!==t.names.length&&e.addIssue({code:A.ZodIssueCode.custom,path:["names"],message:"a name twice"}),t.kind==="question"&&(t.type==="free_text"!=(t.choices.length===0)&&e.addIssue({code:A.ZodIssueCode.custom,path:["choices"],message:"choices exactly when the question is not free_text"}),new Set(t.choices).size!==t.choices.length&&e.addIssue({code:A.ZodIssueCode.custom,path:["choices"],message:"a choice twice"}))}),xv=A.object({schemaVersion:A.literal(1),events:A.array(vv).max(Nf)}).strict(),ff={id:A.string().uuid(),text:A.string(),by:A.string().nullable(),at:A.string(),replied:A.literal(!0).optional()},Dv=A.discriminatedUnion("kind",[A.object({...ff,kind:A.literal("instruction"),question:A.null()}),A.object({...ff,kind:A.literal("answer"),question:A.string().regex(Ff)})]),Uf=A.string().regex(/^[A-Za-z0-9+/]{43}=$/),Tv=A.object({id:A.string().uuid(),revision:A.string(),by:A.string().nullable(),at:A.string(),target:A.string(),own:A.object({source:A.enum(["policy","test_environment"]),text:A.string()}).nullable()}),Nv=A.object({schemaVersion:A.literal(1),leftOut:A.array(A.string()),messages:A.array(Dv).optional(),stop:A.object({key:Uf}).optional(),notes:Tv.optional()});var Fv=500*1024*1024,Mf=A.object({id:Jt,name:A.string().regex(/^[A-Za-z0-9._-]{1,200}$/),providerRunId:Jt,expiresAt:A.string().datetime()}).strict(),Uv=A.object({schemaVersion:A.literal(1),artifact:Mf,sessionId:tt,contentHash:nt,bytes:A.number().int().min(1).max(Fv)}).strict(),Mv=A.object({schemaVersion:A.literal(1),checkpoint:A.object({artifact:Mf,repository:A.object({namespace:A.string().min(1),name:A.string().min(1)}).strict(),sessionId:tt,contentHash:nt,key:Uf}).strict().nullable()}).strict(),Lv=200,oA=100,Lf=(r=>(r.Resume="resume",r.Retry="retry",r.Update="update",r))(Lf||{}),_v=A.object({kind:A.nativeEnum(Lf),setup:A.object({runId:tt,endedAt:A.string().nullable(),outcome:A.string().nullable()}).strict(),components:A.array(A.object({name:A.string().min(1),repository:A.string().min(1),status:A.nativeEnum(nl)}).strict()).max(oA),credentials:A.array(A.string().min(1)).max(oA),answers:A.array(A.object({question:A.string(),answer:A.string().nullable()}).strict()).max(oA),instructions:A.array(A.object({text:A.string(),reply:A.string().nullable()}).strict()).max(oA),log:A.array(A.object({phase:A.nativeEnum(tl),text:A.string()}).strict()).max(Lv)}).strict(),Pv=A.object({schemaVersion:A.literal(1),context:_v.nullable()}).strict(),Ov=A.object({schemaVersion:A.literal(1),configuration:A.object({captureId:tt,revision:Jt.nullable(),hash:nt}).strict(),capture:A.object({schemaVersion:A.literal(1),settings:A.object({target:A.object({environment:A.unknown()}).passthrough(),timeoutMinutes:A.number().int().positive(),answerWaitMinutes:A.number().int().positive().optional(),testEnvironment:A.object({name:A.string().min(1),address:A.string().min(1).optional(),readyWhen:A.string().min(1).optional()}).passthrough().optional()}).passthrough(),provenance:A.object({}).passthrough(),hash:nt}).strict()}).strict(),Gv=Gs.extend({version:A.number().int().positive(),components:A.array(A.object({name:A.string().min(1),repository:A.string().min(1)}).strict()),contentHash:nt.optional(),files:A.array(A.object({path:A.string().refine(t=>iA(t)&&!qu.includes(t),"not a file of a customer_deployed plan"),content:A.string()}).strict()).optional()}).strict(),$v=A.object({schemaVersion:A.literal(1),testEnvironment:Gv.nullable().optional(),runtimePlan:A.object({version:A.number().int().positive(),contentHash:nt,files:A.array(A.object({path:A.string().refine(iA,"not a recipe file path"),content:A.string()}).strict()).min(1),recipe:A.record(A.unknown()).optional()}).strict().nullable()}).strict().refine(t=>!(t.runtimePlan&&t.testEnvironment),{message:"a run pins a recipe or a customer's Test Environment, never both",path:["testEnvironment"]}),_f=A.object({schemaVersion:A.literal(1),state:A.nativeEnum(If),ending:A.nativeEnum(po).nullable(),cause:A.nativeEnum(fo).nullable(),deadlineAt:A.string().datetime()}).strict();function Pf(t,e){return t.state==="ended"?t.ending==="cancelled"?"cancelled":t.cause==="runner_lost"?"expired":"ended":e.getTime()>=Date.parse(t.deadlineAt)?"expired":null}o(Pf,"attemptClosure");function zu(t){if(typeof t=="number"&&!Number.isFinite(t))throw new TypeError("Canonical JSON requires JSON values");if(Array.isArray(t))return`[${t.map(zu).join(",")}]`;if(t!==null&&typeof t=="object"){let n=t;return`{${Object.keys(n).sort().map(r=>`${JSON.stringify(r)}:${zu(n[r])}`).join(",")}}`}let e=JSON.stringify(t);if(e===void 0)throw new TypeError("Canonical JSON requires JSON values");return e}o(zu,"canonicalJson");function Of(t){return(0,Ef.createHash)("sha256").update(zu(t),"utf8").digest("hex")}o(Of,"manifestHash");var AA=o(t=>({provider:t.provider,providerAccountId:t.providerAccountId,providerRepositoryId:t.providerRepositoryId}),"toSourceRef");function Gf(t,e){return uv.parse({schemaVersion:1,runId:t,execution:e.execution(),requester:!0,writeCheck:!0,claudeCodePin:!0,deployedPins:!0})}o(Gf,"handshakeRequest");function $f(t){let e=Av.parse(t);if(Of(e.manifest)!==e.manifestHash)throw new Error("The handshake manifest hash does not match its manifest");return e}o($f,"parseHandshakeResponse");function Yv(t){let e=o(n=>n.map(r=>({repository:AA(r.repository),number:r.number})),"pullRequests");return t.status==="delivered"?{status:t.status,pullRequests:e(t.pullRequests)}:t.status==="partial"?{status:t.status,pullRequests:e(t.pullRequests),failures:t.failures.map(n=>({repository:AA(n.repository),message:n.message}))}:t}o(Yv,"toDelivery");function Vv(t){return t.issues.map(e=>`${e.path.map((r,s)=>typeof r=="number"?`[${r}]`:s===0?r:`.${r}`).join("")}: ${e.message}`).join("; ")}o(Vv,"describeIssues");function Yf(t){let{manifest:e}=t;if(tv.includes(e.trigger.kind))throw new Error(`The report upload is invalid: a ${e.trigger.kind} run uploads its SUT recipe, never a report`);if(e.trigger.kind==="revision_read")throw new Error("The report upload is invalid: a revision_read run uploads what each component runs, never a report");if(t.firstQualification&&!e.baseline?.sources)throw new Error("The report upload is invalid: only a run whose manifest names baseline sources can be a first qualification");let n=Tf.safeParse({schemaVersion:1,run:{runId:e.runId,attemptNumber:t.attemptNumber,manifestHash:Of(e)},target:{id:e.target.id,revision:e.target.revision},policy:e.policy&&{id:e.policy.id,revision:e.policy.revision},provenance:{sources:t.checkedOut.map(r=>({repository:AA(r.repository),revision:r.revision})),...t.firstQualification?{firstQualification:!0}:{}},delivery:{generatedTests:Yv(t.generatedTests)},producer:t.producer,report:t.report,...t.githubWrites?.length?{githubWrites:t.githubWrites.map(r=>({...r,repository:AA(r.repository)}))}:{}});if(!n.success)throw new Error(`The report upload is invalid: ${Vv(n.error)}`);return Hv(n.data,e,t.checkedOut),n.data}o(Yf,"buildReportUpload");function Hv(t,e,n){let r=o(i=>n.find(a=>xn(a.repository)===xn(i.repository))?.revision??i.revision,"revisionOf"),s=new Map(e.sources.map(i=>[`${i.repository.namespace}/${i.repository.name}`.toLowerCase(),r(i)]));t.report.validation.acceptedEvidence.forEach((i,a)=>{let c=`report.validation.acceptedEvidence[${a}]`,l=s.get(i.repository.toLowerCase());if(!l)throw new Error(`${c}.repository: ${i.repository} is outside the run's snapshot`);if(i.revision!==l)throw new Error(`${c}.revision: evidence is not from the checked-out revision ${l}`)})}o(Hv,"assertEvidenceFromSnapshot");function Vf(t){return t.reportUploaded?{schemaVersion:1,reason:"report_uploaded",cause:null}:t.recipeUploaded?{schemaVersion:1,reason:"recipe_uploaded",cause:null}:t.revisionsUploaded?{schemaVersion:1,reason:"revisions_uploaded",cause:null}:t.cancelled?{schemaVersion:1,reason:"cancelled",cause:null}:{schemaVersion:1,reason:"no_report",cause:Jv(t)}}o(Vf,"attemptEndFor");function Jv(t){return t.credentialMissing?"credential_missing":t.checkoutFailed?"checkout_failed":t.environmentUnverified?"environment_unverified":t.setupFailed?"setup_failed":t.timedOut?"timed_out":"agent_failed"}o(Jv,"noReportCause");var NV={"application/pdf":"PDF","text/csv":"CSV","application/vnd.openxmlformats-officedocument.wordprocessingml.document":"DOCX","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":"XLSX"};var jv=10*1024*1024;var Wv=["generate-unit","native-run"],PV=["preflight","plan","write",...Wv,"report","deliver"];var gA=(r=>(r.Unit="unit",r.Integration="integration",r.E2e="e2e",r))(gA||{});var mo=Ve(require("fs")),Eo=Ve(require("path"));var zv=8;function lt(t,e,n={}){let r=e.slice(0,zv),s=e.length-r.length;return{name:t,passed:!1,details:r.join("; ")+(s>0?`; \u2026and ${s} more`:""),...n.fatal?{fatal:!0}:{}}}o(lt,"fail");function Hs(t){if(mo.existsSync(t))try{return JSON.parse(mo.readFileSync(t,"utf-8"))}catch{return}}o(Hs,"readJsonFile");function qt(t,e){return Hs(Eo.join(t.outputsDir,e))}o(qt,"readArtifact");function Ar(t,e){return{name:t,verify(n,r){let{errors:s}=e(n,r);return s.length===0?{name:this.name,passed:!0}:lt(this.name,s,{fatal:!0})}}}o(Ar,"schemaGate");function Co(t){return t.replace(/\s+/g," ").trim()}o(Co,"normalizeCode");var hA=new RegExp("(^|/)("+["test_[^/]+\\.py","[^/]+_test\\.py","[^/]+\\.(spec|test)\\.[cm]?[jt]sx?","[^/]+\\.e2e-(spec|test)\\.[cm]?[jt]sx?","[^/]+_test\\.go","[^/]+Tests?\\.(java|kts?)","[^/]+_(test|spec)\\.rb","[^/]+\\.feature","[^/]+Tests?\\.cs","[^/]+_test\\.rs","tests/[^/]+\\.rs","[^/]+Test\\.php","[^/]+(Test|Spec|Suite)\\.scala","[^/]+Tests?\\.swift","[^/]+_test\\.exs","[^/]+_test\\.dart","[^/]+_test\\.(c|cc|cpp|cxx)","test_[^/]+\\.(c|cc|cpp|cxx)","[^/]+(Spec|Test)\\.groovy"].join("|")+")$","i");var Zv=4,Hf="\xABredacted\xBB";function Jf(t){let e=new Set;for(let n of t){let r=(n??"").trim();r.length>=Zv&&e.add(r)}return[...e].sort((n,r)=>r.length-n.length)}o(Jf,"redactionsFrom");function Js(t,e){if(!t||e.length===0)return t;let n=t;for(let r of e)!r||!n.includes(r)||(n=n.split(r).join(Hf));return n}o(Js,"redactSecrets");function Kv(t,e){let n=o(r=>typeof r=="string"?e(r):Array.isArray(r)?r.map(n):r&&typeof r=="object"?Object.fromEntries(Object.entries(r).map(([s,i])=>[s,n(i)])):r,"walk");return n(t)}o(Kv,"mapStrings");function qs(t,e){return e.length===0?t:Kv(t,n=>Js(n,e))}o(qs,"redactDeep");var zV=new TextDecoder("utf-8",{fatal:!0});var iH=new Set(Object.values(rr));var oH=A.object({checks:A.array(A.object({repository:A.string().optional(),name:A.string().min(1),headSha:A.string().regex(/^[0-9a-f]{40}$|^[0-9a-f]{64}$/i),status:A.string().default("completed"),conclusion:A.string().nullable().optional(),url:A.string().optional(),summary:A.string().optional()}))});var Io=(n=>(n.Full="full",n.Static="static",n))(Io||{}),cr=(r=>(r.Contract="contract",r.Integration="integration",r.Ui="ui",r))(cr||{}),yo=(i=>(i.OwnSurface="own_surface",i.StateReadBack="state_read_back",i.Referential="referential",i.Lifecycle="lifecycle",i.Boundaries="boundaries",i))(yo||{}),Zr=(s=>(s.Update="update",s.Regenerate="regenerate",s.Delete="delete",s.Verify="verify",s))(Zr||{}),pA=(d=>(d.Equals="equals",d.NotEquals="not_equals",d.GreaterThan="greater_than",d.LessThan="less_than",d.Contains="contains",d.NotContains="not_contains",d.Matches="matches",d.Absent="absent",d.Present="present",d))(pA||{});var It=A.string().trim().min(1),e0=A.object({subject:It.describe('what the test READS: a response field path, the literal "status", or the on-screen text for a ui case \u2014 the FINAL read in a multi-step case'),comparator:A.nativeEnum(pA),value:A.union([A.string(),A.number(),A.boolean(),A.null()]).optional().describe("the ONE value a broken build would not produce; OMIT for absent/present")}),t0=A.object({test:It.describe("existing test path, relative to its repository"),repository:It.optional().describe("owner/repo the test lives in, when the run has several checkouts; omit for the working checkout"),action:A.nativeEnum(Zr),evidence:It.describe("why \u2014 drift vs the diff, or a finding"),covers_behaviors:A.array(A.string()).optional().describe("analyze behavior ids this maintenance covers")});var n0=A.object({surface:It.describe("a surface from the list, copied verbatim"),axis:A.nativeEnum(yo)}),r0=A.object({id:It.describe("short-slug, unique across generate[]"),type:A.nativeEnum(cr),target:It.describe('"METHOD /path", or a business-flow name'),from_finding:A.string().optional().describe("analyze finding id this case catches"),from_behavior:A.string().optional().describe("analyze behavior id this case pins"),derived_from:n0.optional().describe("the surface \xD7 axis this case pins when no analyze behavior or finding names it \u2014 one of the three is required"),rationale:It.describe("why this test matters"),expected_observable:It.describe("one sentence for a human: what a catching test asserts, and what a broken build does instead"),expected:e0.describe("the same intent AS DATA \u2014 see the rules below"),seededPrecondition:It.optional().describe("seeded non-initial state + how to reach it; only when a seeded-state transition applies"),verifiable:A.boolean().describe("true only when a live SUT could confirm this test (full mode)")}),s0=A.object({covered:A.array(A.string()).optional(),abstain:A.string().optional()}).superRefine((t,e)=>{let n=Array.isArray(t.covered),r=typeof t.abstain=="string";if(n===r)return void e.addIssue({code:A.ZodIssueCode.custom,message:"must have exactly one of covered[] or abstain"});n&&t.covered.length===0&&e.addIssue({code:A.ZodIssueCode.custom,path:["covered"],message:"must list at least one id (else abstain)"}),r&&!t.abstain.trim()&&e.addIssue({code:A.ZodIssueCode.custom,path:["abstain"],message:"must give a reason"})}).describe('{ "covered": [ids] } OR { "abstain": "reason" } \u2014 exactly one'),i0=A.object({surface:It.describe("a surface from the list, copied verbatim"),axes:A.object(Object.fromEntries(Object.values(yo).map(t=>[t,s0])))}),qf=A.object({schemaVersion:A.literal(1),mode:A.nativeEnum(Io),maintenance:A.array(t0),generate:A.array(r0),surfaces:A.array(i0).describe("one entry per changed surface in the list \u2014 none missing, none invented"),budget:A.object({total:A.number().describe("case count"),rationale:It}),summary:It.describe("one paragraph")});var fA=["-c","core.fsmonitor=false"],o0=new Set(["GH_TOKEN","GITHUB_TOKEN","GH_ENTERPRISE_TOKEN","GITHUB_ENTERPRISE_TOKEN","ACTIONS_RUNTIME_TOKEN","ACTIONS_ID_TOKEN_REQUEST_TOKEN","ACTIONS_ID_TOKEN_REQUEST_URL","SYSTEM_ACCESSTOKEN","SYSTEM_OIDCREQUESTURI","SKYRAMP_MCP_GITHUB_TOKEN","SSH_AUTH_SOCK","GIT_SSH","GIT_SSH_COMMAND","GITHUB_STEP_SUMMARY"]),a0=new Set(["ANTHROPIC_API_KEY","ANTHROPIC_AUTH_TOKEN","CLAUDE_CODE_OAUTH_TOKEN","AWS_ACCESS_KEY_ID","AWS_SECRET_ACCESS_KEY","AWS_SESSION_TOKEN","AWS_BEARER_TOKEN_BEDROCK","AWS_PROFILE","AWS_WEB_IDENTITY_TOKEN_FILE","AWS_ROLE_ARN","AWS_ROLE_SESSION_NAME","AWS_CONTAINER_CREDENTIALS_FULL_URI","AWS_CONTAINER_CREDENTIALS_RELATIVE_URI","AWS_CONTAINER_AUTHORIZATION_TOKEN","AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE"]);function Dn(t=process.env,e,n="repo-command"){let r={};for(let[s,i]of Object.entries(t))n==="repo-command"&&a0.has(s)||(r[s]=i);Object.assign(r,e??{});for(let s of Object.keys(r))(o0.has(s)||s.startsWith("INPUT_"))&&delete r[s];return r}o(Dn,"untrustedChildEnv");var A0=".skyramp/sut/deployed-revisions.sh",sl=(n=>(n.Running="running",n.Requested="requested",n))(sl||{});var BH=new Set(Object.values(sl));var wH=`Fix ${A0} so it prints the full commit each component runs, then set it up again.`;var il="shared-environment";var OH=64*1024;var GH=new Set(["version_endpoint","api"]);function ol(t){return(t?.components??[]).filter(e=>!!e.repository&&!!e.expectedRevision)}o(ol,"verifiableComponents");function jf(t){return ol(t).length>0||(t?.dependencies.length??0)>0}o(jf,"hasSharedSystem");function c0(t){let e=t.inputs?.sharedEnvironment;if(!jf(e))return;let n=qt(t,`${il}.json`);if(n)return{components:u0(e,n.components),dependencies:n.dependencies};let r="Not checked: the run ended before it checked the shared environment.";return{components:ol(e).map(s=>Wf(s,r)),dependencies:e.dependencies.map(s=>({name:s.name,url:s.url,version:null,evidence:r}))}}o(c0,"sharedSystem");var Wf=o((t,e)=>({name:t.name,repository:t.repository,url:t.url,expectedRevision:t.expectedRevision,observedRevision:null,status:"unverifiable",source:t.revisionUrl||t.revisionScript?"probe":"agent",evidence:e}),"unrecordedRow");function u0(t,e){let n=new Set(e.map(s=>s.name.toLowerCase())),r=ol(t).filter(s=>s.touched&&!n.has(s.name.toLowerCase()));return[...e,...r.map(s=>Wf(s,"Not checked: the run recorded no read of it."))]}o(u0,"withUnrecordedTouched");function al(t){return(c0(t)?.components??[]).filter(e=>e.status!=="verified")}o(al,"unverifiedComponents");function Al(t){return(t?.components??[]).filter(e=>!!e.repository&&!e.expectedRevision)}o(Al,"unfrozenComponents");function Lt(t,e=[]){let n=t.trim();if(!n)return{error:"session produced no output"};let r=o(l=>{try{let d=JSON.parse(l);return typeof d=="object"&&d!==null&&!Array.isArray(d)?d:void 0}catch{return}},"tryParse"),s=r(n);if(s!==void 0)return{value:s};let i;if(n.startsWith("{")&&n.endsWith("}"))try{JSON.parse(n)}catch(l){i=l instanceof Error?l.message:String(l)}let a=[...n.matchAll(/```(?:json)?\s*\n([\s\S]*?)```/g)];for(let l=a.length-1;l>=0;l--){let d=r(a[l][1].trim());if(d!==void 0)return{value:d}}let c;for(let l=n.indexOf("{");l!==-1;l=n.indexOf("{",l+1)){let d=0,g=!1,h=!1;for(let f=l;f<n.length;f++){let m=n[f];if(h){h=!1;continue}if(m==="\\"){h=g;continue}if(m==='"'){g=!g;continue}if(!g){if(m==="{")d++;else if(m==="}"&&(d--,d===0)){let C=r(n.slice(l,f+1));C!==void 0&&Object.keys(C).length>0&&(c=C,l=f);break}}}}return i&&(c===void 0||Object.keys(c).length<3)?{error:`final message is not valid JSON \u2014 ${i}. Most often an unescaped double quote inside a string (e.g. in "summary" or "evidence"): escape it as \\" or use single quotes in prose`}:c!==void 0?{value:c}:i?{error:`final message is not valid JSON \u2014 ${i}. Most often an unescaped double quote inside a string (e.g. in "summary" or "evidence"): escape it as \\" or use single quotes in prose`}:{error:`no parseable JSON object found in session output \u2014 the final message was: "${l0(Js(n,e))}"`}}o(Lt,"extractJsonObject");var zf=240;function l0(t){let e=t.replace(/\s+/g," ").trim();return e.length<=zf?e:`\u2026${e.slice(-zf)}`}o(l0,"snippetOf");function d0(t){return t.issues.map(e=>{let n=e.path.map(s=>typeof s=="number"?`[${s}]`:`.${s}`).join("").replace(/^\./,""),r=n||"output";if(!/^(Expected |Required$|Invalid |String must|Array must|Number must)/.test(e.message))return`${r} ${e.message}`;switch(e.code){case"invalid_type":return n?e.expected==="object"?`${r} must be an object`:e.received==="undefined"?`${r} is required`:`${r} must be ${e.expected}, got ${e.received}`:"output is not a JSON object";case"invalid_enum_value":{let s=JSON.stringify(e.received),i=e.options.find(c=>typeof c=="string"&&typeof e.received=="string"&&e.received.startsWith(c)),a=i?` \u2014 you sent ${s}; the value must be exactly ${JSON.stringify(i)}, with any qualifier moved to a field that takes free text`:` \u2014 you sent ${s}`;return`${r} must be one of: ${e.options.join(", ")}${a}`}case"invalid_literal":return`${r} must be ${JSON.stringify(e.expected)}`;case"too_small":return e.type==="string"?`${r} must be a non-empty string`:`${r} must have at least ${e.minimum} item(s)`;case"unrecognized_keys":return`${r} has unknown key(s): ${e.keys.join(", ")}`;default:return`${r}: ${e.message}`}})}o(d0,"issuesToMessages");function Tn(t,e){let n=t.safeParse(e);if(n.success)return{value:n.data,errors:[]};let r=o((i,a)=>a.reduce((c,l)=>c&&typeof c=="object"?c[l]:void 0,i),"at"),s=n.error.issues.filter(i=>i.path.length&&r(e,i.path)===null);if(s.length===n.error.issues.length)try{let i=t.safeParse(s.reduce((a,{path:c})=>Zf(a,c),e));if(i.success)return{value:i.data,errors:[]}}catch{}return{errors:d0(n.error)}}o(Tn,"validateWith");function Zf(t,e){if(!e.length||!t||typeof t!="object")return t;let[n,...r]=e,s=Array.isArray(t)?t.slice():{...t};return r.length?s[n]=Zf(s[n],r):delete s[n],s}o(Zf,"withoutAt");var Ws=Ve(require("path"));function g0(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}o(g0,"getDefaultExportFromCjs");var Ze={},mA={},ur={},Kf;function Qo(){if(Kf)return ur;Kf=1;function t(a){return typeof a>"u"||a===null}o(t,"isNothing");function e(a){return typeof a=="object"&&a!==null}o(e,"isObject");function n(a){return Array.isArray(a)?a:t(a)?[]:[a]}o(n,"toArray");function r(a,c){if(c){let l=Object.keys(c);for(let d=0,g=l.length;d<g;d+=1){let h=l[d];a[h]=c[h]}}return a}o(r,"extend");function s(a,c){let l="";for(let d=0;d<c;d+=1)l+=a;return l}o(s,"repeat");function i(a){return a===0&&Number.NEGATIVE_INFINITY===1/a}return o(i,"isNegativeZero"),ur.isNothing=t,ur.isObject=e,ur.toArray=n,ur.repeat=s,ur.isNegativeZero=i,ur.extend=r,ur}o(Qo,"requireCommon");var cl,Xf;function Bo(){if(Xf)return cl;Xf=1;function t(n,r){let s="",i=n.reason||"(unknown reason)";return n.mark?(n.mark.name&&(s+='in "'+n.mark.name+'" '),s+="("+(n.mark.line+1)+":"+(n.mark.column+1)+")",!r&&n.mark.snippet&&(s+=`
|
|
47
47
|
|
|
48
48
|
`+n.mark.snippet),i+" "+s):i}o(t,"formatError");function e(n,r){Error.call(this),this.name="YAMLException",this.reason=n,this.mark=r,this.message=t(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}return o(e,"YAMLException2"),e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e.prototype.toString=o(function(r){return this.name+": "+t(this,r)},"toString"),cl=e,cl}o(Bo,"requireException");var ul,em;function h0(){if(em)return ul;em=1;let t=Qo();function e(s,i,a,c,l){let d="",g="",h=Math.floor(l/2)-1;return c-i>h&&(d=" ... ",i=c-h+d.length),a-c>h&&(g=" ...",a=c+h-g.length),{str:d+s.slice(i,a).replace(/\t/g,"\u2192")+g,pos:c-i+d.length}}o(e,"getLine");function n(s,i){return t.repeat(" ",i-s.length)+s}o(n,"padStart");function r(s,i){if(i=Object.create(i||null),!s.buffer)return null;i.maxLength||(i.maxLength=79),typeof i.indent!="number"&&(i.indent=1),typeof i.linesBefore!="number"&&(i.linesBefore=3),typeof i.linesAfter!="number"&&(i.linesAfter=2);let a=/\r?\n|\r|\0/g,c=[0],l=[],d,g=-1;for(;d=a.exec(s.buffer);)l.push(d.index),c.push(d.index+d[0].length),s.position<=d.index&&g<0&&(g=c.length-2);g<0&&(g=c.length-1);let h="",f=Math.min(s.line+i.linesAfter,l.length).toString().length,m=i.maxLength-(i.indent+f+3);for(let y=1;y<=i.linesBefore&&!(g-y<0);y++){let v=e(s.buffer,c[g-y],l[g-y],s.position-(c[g]-c[g-y]),m);h=t.repeat(" ",i.indent)+n((s.line-y+1).toString(),f)+" | "+v.str+`
|
|
49
49
|
`+h}let C=e(s.buffer,c[g],l[g],s.position,m);h+=t.repeat(" ",i.indent)+n((s.line+1).toString(),f)+" | "+C.str+`
|
|
50
50
|
`,h+=t.repeat("-",i.indent+f+3+C.pos)+`^
|
|
51
51
|
`;for(let y=1;y<=i.linesAfter&&!(g+y>=l.length);y++){let v=e(s.buffer,c[g+y],l[g+y],s.position-(c[g]-c[g+y]),m);h+=t.repeat(" ",i.indent)+n((s.line+y+1).toString(),f)+" | "+v.str+`
|
|
52
|
-
`}return h.replace(/\n$/,"")}return o(r,"makeSnippet"),ul=r,ul}o(h0,"requireSnippet");var ll,tm;function rt(){if(tm)return ll;tm=1;let t=Bo(),e=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],n=["scalar","sequence","mapping"];function r(i){let a={};return i!==null&&Object.keys(i).forEach(function(c){i[c].forEach(function(l){a[String(l)]=c})}),a}o(r,"compileStyleAliases");function s(i,a){if(a=a||{},Object.keys(a).forEach(function(c){if(e.indexOf(c)===-1)throw new t('Unknown option "'+c+'" is met in definition of "'+i+'" YAML type.')}),this.options=a,this.tag=i,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(c){return c},this.instanceOf=a.instanceOf||null,this.predicate=a.predicate||null,this.represent=a.represent||null,this.representName=a.representName||null,this.defaultStyle=a.defaultStyle||null,this.multi=a.multi||!1,this.styleAliases=r(a.styleAliases||null),n.indexOf(this.kind)===-1)throw new t('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}return o(s,"Type2"),ll=s,ll}o(rt,"requireType");var dl,nm;function Bm(){if(nm)return dl;nm=1;let t=Bo(),e=rt();function n(i,a){let c=[];return i[a].forEach(function(l){let d=c.length;c.forEach(function(g,h){g.tag===l.tag&&g.kind===l.kind&&g.multi===l.multi&&(d=h)}),c[d]=l}),c}o(n,"compileList");function r(){let i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function a(c){c.multi?(i.multi[c.kind].push(c),i.multi.fallback.push(c)):i[c.kind][c.tag]=i.fallback[c.tag]=c}o(a,"collectType");for(let c=0,l=arguments.length;c<l;c+=1)arguments[c].forEach(a);return i}o(r,"compileMap");function s(i){return this.extend(i)}return o(s,"Schema2"),s.prototype.extend=o(function(a){let c=[],l=[];if(a instanceof e)l.push(a);else if(Array.isArray(a))l=l.concat(a);else if(a&&(Array.isArray(a.implicit)||Array.isArray(a.explicit)))a.implicit&&(c=c.concat(a.implicit)),a.explicit&&(l=l.concat(a.explicit));else throw new t("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");c.forEach(function(g){if(!(g instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(g.loadKind&&g.loadKind!=="scalar")throw new t("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(g.multi)throw new t("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),l.forEach(function(g){if(!(g instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.")});let d=Object.create(s.prototype);return d.implicit=(this.implicit||[]).concat(c),d.explicit=(this.explicit||[]).concat(l),d.compiledImplicit=n(d,"implicit"),d.compiledExplicit=n(d,"explicit"),d.compiledTypeMap=r(d.compiledImplicit,d.compiledExplicit),d},"extend"),dl=s,dl}o(Bm,"requireSchema");var gl,rm;function wm(){if(rm)return gl;rm=1;let t=rt();return gl=new t("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(e){return e!==null?e:""},"construct")}),gl}o(wm,"requireStr");var hl,sm;function bm(){if(sm)return hl;sm=1;let t=rt();return hl=new t("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(e){return e!==null?e:[]},"construct")}),hl}o(bm,"requireSeq");var pl,im;function km(){if(im)return pl;im=1;let t=rt();return pl=new t("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(e){return e!==null?e:{}},"construct")}),pl}o(km,"requireMap");var fl,om;function Rm(){if(om)return fl;om=1;let t=Bm();return fl=new t({explicit:[wm(),bm(),km()]}),fl}o(Rm,"requireFailsafe");var ml,am;function Sm(){if(am)return ml;am=1;let t=rt();function e(s){if(s===null)return!0;let i=s.length;return i===1&&s==="~"||i===4&&(s==="null"||s==="Null"||s==="NULL")}o(e,"resolveYamlNull");function n(){return null}o(n,"constructYamlNull");function r(s){return s===null}return o(r,"isNull"),ml=new t("tag:yaml.org,2002:null",{kind:"scalar",resolve:e,construct:n,predicate:r,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"}),ml}o(Sm,"require_null");var El,Am;function vm(){if(Am)return El;Am=1;let t=rt();function e(s){if(s===null)return!1;let i=s.length;return i===4&&(s==="true"||s==="True"||s==="TRUE")||i===5&&(s==="false"||s==="False"||s==="FALSE")}o(e,"resolveYamlBoolean");function n(s){return s==="true"||s==="True"||s==="TRUE"}o(n,"constructYamlBoolean");function r(s){return Object.prototype.toString.call(s)==="[object Boolean]"}return o(r,"isBoolean"),El=new t("tag:yaml.org,2002:bool",{kind:"scalar",resolve:e,construct:n,predicate:r,represent:{lowercase:o(function(s){return s?"true":"false"},"lowercase"),uppercase:o(function(s){return s?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(s){return s?"True":"False"},"camelcase")},defaultStyle:"lowercase"}),El}o(vm,"requireBool");var Cl,cm;function xm(){if(cm)return Cl;cm=1;let t=Qo(),e=rt();function n(d){return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}o(n,"isHexCode");function r(d){return d>=48&&d<=55}o(r,"isOctCode");function s(d){return d>=48&&d<=57}o(s,"isDecCode");function i(d){if(d===null)return!1;let g=d.length,h=0,f=!1;if(!g)return!1;let m=d[h];if((m==="-"||m==="+")&&(m=d[++h]),m==="0"){if(h+1===g)return!0;if(m=d[++h],m==="b"){for(h++;h<g;h++){if(m=d[h],m!=="0"&&m!=="1")return!1;f=!0}return f&&isFinite(a(d))}if(m==="x"){for(h++;h<g;h++){if(!n(d.charCodeAt(h)))return!1;f=!0}return f&&isFinite(a(d))}if(m==="o"){for(h++;h<g;h++){if(!r(d.charCodeAt(h)))return!1;f=!0}return f&&isFinite(a(d))}}for(;h<g;h++){if(!s(d.charCodeAt(h)))return!1;f=!0}return f?isFinite(a(d)):!1}o(i,"resolveYamlInteger");function a(d){let g=d,h=1,f=g[0];if((f==="-"||f==="+")&&(f==="-"&&(h=-1),g=g.slice(1),f=g[0]),g==="0")return 0;if(f==="0"){if(g[1]==="b")return h*parseInt(g.slice(2),2);if(g[1]==="x")return h*parseInt(g.slice(2),16);if(g[1]==="o")return h*parseInt(g.slice(2),8)}return h*parseInt(g,10)}o(a,"parseYamlInteger");function c(d){return a(d)}o(c,"constructYamlInteger");function l(d){return Object.prototype.toString.call(d)==="[object Number]"&&d%1===0&&!t.isNegativeZero(d)}return o(l,"isInteger"),Cl=new e("tag:yaml.org,2002:int",{kind:"scalar",resolve:i,construct:c,predicate:l,represent:{binary:o(function(d){return d>=0?"0b"+d.toString(2):"-0b"+d.toString(2).slice(1)},"binary"),octal:o(function(d){return d>=0?"0o"+d.toString(8):"-0o"+d.toString(8).slice(1)},"octal"),decimal:o(function(d){return d.toString(10)},"decimal"),hexadecimal:o(function(d){return d>=0?"0x"+d.toString(16).toUpperCase():"-0x"+d.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Cl}o(xm,"requireInt");var Il,um;function Dm(){if(um)return Il;um=1;let t=Qo(),e=rt(),n=new RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),r=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function s(d){return d===null||!n.test(d)?!1:isFinite(parseFloat(d,10))?!0:r.test(d)}o(s,"resolveYamlFloat");function i(d){let g=d.toLowerCase(),h=g[0]==="-"?-1:1;return"+-".indexOf(g[0])>=0&&(g=g.slice(1)),g===".inf"?h===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:g===".nan"?NaN:h*parseFloat(g,10)}o(i,"constructYamlFloat");let a=/^[-+]?[0-9]+e/;function c(d,g){if(isNaN(d))switch(g){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===d)switch(g){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===d)switch(g){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(t.isNegativeZero(d))return"-0.0";let h=d.toString(10);return a.test(h)?h.replace("e",".e"):h}o(c,"representYamlFloat");function l(d){return Object.prototype.toString.call(d)==="[object Number]"&&(d%1!==0||t.isNegativeZero(d))}return o(l,"isFloat"),Il=new e("tag:yaml.org,2002:float",{kind:"scalar",resolve:s,construct:i,predicate:l,represent:c,defaultStyle:"lowercase"}),Il}o(Dm,"requireFloat");var yl,lm;function Tm(){return lm||(lm=1,yl=Rm().extend({implicit:[Sm(),vm(),xm(),Dm()]})),yl}o(Tm,"requireJson");var Ql,dm;function Nm(){return dm||(dm=1,Ql=Tm()),Ql}o(Nm,"requireCore");var Bl,gm;function Fm(){if(gm)return Bl;gm=1;let t=rt(),e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),n=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function r(a){return a===null?!1:e.exec(a)!==null||n.exec(a)!==null}o(r,"resolveYamlTimestamp");function s(a){let c=0,l=null,d=e.exec(a);if(d===null&&(d=n.exec(a)),d===null)throw new Error("Date resolve error");let g=+d[1],h=+d[2]-1,f=+d[3];if(!d[4])return new Date(Date.UTC(g,h,f));let m=+d[4],C=+d[5],y=+d[6];if(d[7]){for(c=d[7].slice(0,3);c.length<3;)c+="0";c=+c}if(d[9]){let Q=+d[10],D=+(d[11]||0);l=(Q*60+D)*6e4,d[9]==="-"&&(l=-l)}let v=new Date(Date.UTC(g,h,f,m,C,y,c));return l&&v.setTime(v.getTime()-l),v}o(s,"constructYamlTimestamp");function i(a){return a.toISOString()}return o(i,"representYamlTimestamp"),Bl=new t("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:r,construct:s,instanceOf:Date,represent:i}),Bl}o(Fm,"requireTimestamp");var wl,hm;function Um(){if(hm)return wl;hm=1;let t=rt();function e(n){return n==="<<"||n===null}return o(e,"resolveYamlMerge"),wl=new t("tag:yaml.org,2002:merge",{kind:"scalar",resolve:e}),wl}o(Um,"requireMerge");var bl,pm;function Mm(){if(pm)return bl;pm=1;let t=rt(),e=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
53
|
-
\r`;function n(a){if(a===null)return!1;let c=0,l=a.length,d=e;for(let g=0;g<l;g++){let h=d.indexOf(a.charAt(g));if(!(h>64)){if(h<0)return!1;c+=6}}return c%8===0}o(n,"resolveYamlBinary");function r(a){let c=a.replace(/[\r\n=]/g,""),l=c.length,d=e,g=0,h=[];for(let m=0;m<l;m++)m%4===0&&m&&(h.push(g>>16&255),h.push(g>>8&255),h.push(g&255)),g=g<<6|d.indexOf(c.charAt(m));let f=l%4*6;return f===0?(h.push(g>>16&255),h.push(g>>8&255),h.push(g&255)):f===18?(h.push(g>>10&255),h.push(g>>2&255)):f===12&&h.push(g>>4&255),new Uint8Array(h)}o(r,"constructYamlBinary");function s(a){let c="",l=0,d=a.length,g=e;for(let f=0;f<d;f++)f%3===0&&f&&(c+=g[l>>18&63],c+=g[l>>12&63],c+=g[l>>6&63],c+=g[l&63]),l=(l<<8)+a[f];let h=d%3;return h===0?(c+=g[l>>18&63],c+=g[l>>12&63],c+=g[l>>6&63],c+=g[l&63]):h===2?(c+=g[l>>10&63],c+=g[l>>4&63],c+=g[l<<2&63],c+=g[64]):h===1&&(c+=g[l>>2&63],c+=g[l<<4&63],c+=g[64],c+=g[64]),c}o(s,"representYamlBinary");function i(a){return Object.prototype.toString.call(a)==="[object Uint8Array]"}return o(i,"isBinary"),bl=new t("tag:yaml.org,2002:binary",{kind:"scalar",resolve:n,construct:r,predicate:i,represent:s}),bl}o(Mm,"requireBinary");var
|
|
54
|
-
`;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}o(et,"simpleEscapeSequence");function sn(u){return u<=65535?String.fromCharCode(u):String.fromCharCode((u-65536>>10)+55296,(u-65536&1023)+56320)}o(sn,"charFromCodepoint");function At(u,E,
|
|
55
|
-
`,E-1))}o(Ds,"writeFoldedLines");function $a(u,E,
|
|
56
|
-
`,w?1+B:B):
|
|
57
|
-
`);break}
|
|
52
|
+
`}return h.replace(/\n$/,"")}return o(r,"makeSnippet"),ul=r,ul}o(h0,"requireSnippet");var ll,tm;function rt(){if(tm)return ll;tm=1;let t=Bo(),e=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],n=["scalar","sequence","mapping"];function r(i){let a={};return i!==null&&Object.keys(i).forEach(function(c){i[c].forEach(function(l){a[String(l)]=c})}),a}o(r,"compileStyleAliases");function s(i,a){if(a=a||{},Object.keys(a).forEach(function(c){if(e.indexOf(c)===-1)throw new t('Unknown option "'+c+'" is met in definition of "'+i+'" YAML type.')}),this.options=a,this.tag=i,this.kind=a.kind||null,this.resolve=a.resolve||function(){return!0},this.construct=a.construct||function(c){return c},this.instanceOf=a.instanceOf||null,this.predicate=a.predicate||null,this.represent=a.represent||null,this.representName=a.representName||null,this.defaultStyle=a.defaultStyle||null,this.multi=a.multi||!1,this.styleAliases=r(a.styleAliases||null),n.indexOf(this.kind)===-1)throw new t('Unknown kind "'+this.kind+'" is specified for "'+i+'" YAML type.')}return o(s,"Type2"),ll=s,ll}o(rt,"requireType");var dl,nm;function Bm(){if(nm)return dl;nm=1;let t=Bo(),e=rt();function n(i,a){let c=[];return i[a].forEach(function(l){let d=c.length;c.forEach(function(g,h){g.tag===l.tag&&g.kind===l.kind&&g.multi===l.multi&&(d=h)}),c[d]=l}),c}o(n,"compileList");function r(){let i={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function a(c){c.multi?(i.multi[c.kind].push(c),i.multi.fallback.push(c)):i[c.kind][c.tag]=i.fallback[c.tag]=c}o(a,"collectType");for(let c=0,l=arguments.length;c<l;c+=1)arguments[c].forEach(a);return i}o(r,"compileMap");function s(i){return this.extend(i)}return o(s,"Schema2"),s.prototype.extend=o(function(a){let c=[],l=[];if(a instanceof e)l.push(a);else if(Array.isArray(a))l=l.concat(a);else if(a&&(Array.isArray(a.implicit)||Array.isArray(a.explicit)))a.implicit&&(c=c.concat(a.implicit)),a.explicit&&(l=l.concat(a.explicit));else throw new t("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");c.forEach(function(g){if(!(g instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(g.loadKind&&g.loadKind!=="scalar")throw new t("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(g.multi)throw new t("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),l.forEach(function(g){if(!(g instanceof e))throw new t("Specified list of YAML types (or a single Type object) contains a non-Type object.")});let d=Object.create(s.prototype);return d.implicit=(this.implicit||[]).concat(c),d.explicit=(this.explicit||[]).concat(l),d.compiledImplicit=n(d,"implicit"),d.compiledExplicit=n(d,"explicit"),d.compiledTypeMap=r(d.compiledImplicit,d.compiledExplicit),d},"extend"),dl=s,dl}o(Bm,"requireSchema");var gl,rm;function wm(){if(rm)return gl;rm=1;let t=rt();return gl=new t("tag:yaml.org,2002:str",{kind:"scalar",construct:o(function(e){return e!==null?e:""},"construct")}),gl}o(wm,"requireStr");var hl,sm;function bm(){if(sm)return hl;sm=1;let t=rt();return hl=new t("tag:yaml.org,2002:seq",{kind:"sequence",construct:o(function(e){return e!==null?e:[]},"construct")}),hl}o(bm,"requireSeq");var pl,im;function Rm(){if(im)return pl;im=1;let t=rt();return pl=new t("tag:yaml.org,2002:map",{kind:"mapping",construct:o(function(e){return e!==null?e:{}},"construct")}),pl}o(Rm,"requireMap");var fl,om;function km(){if(om)return fl;om=1;let t=Bm();return fl=new t({explicit:[wm(),bm(),Rm()]}),fl}o(km,"requireFailsafe");var ml,am;function Sm(){if(am)return ml;am=1;let t=rt();function e(s){if(s===null)return!0;let i=s.length;return i===1&&s==="~"||i===4&&(s==="null"||s==="Null"||s==="NULL")}o(e,"resolveYamlNull");function n(){return null}o(n,"constructYamlNull");function r(s){return s===null}return o(r,"isNull"),ml=new t("tag:yaml.org,2002:null",{kind:"scalar",resolve:e,construct:n,predicate:r,represent:{canonical:o(function(){return"~"},"canonical"),lowercase:o(function(){return"null"},"lowercase"),uppercase:o(function(){return"NULL"},"uppercase"),camelcase:o(function(){return"Null"},"camelcase"),empty:o(function(){return""},"empty")},defaultStyle:"lowercase"}),ml}o(Sm,"require_null");var El,Am;function vm(){if(Am)return El;Am=1;let t=rt();function e(s){if(s===null)return!1;let i=s.length;return i===4&&(s==="true"||s==="True"||s==="TRUE")||i===5&&(s==="false"||s==="False"||s==="FALSE")}o(e,"resolveYamlBoolean");function n(s){return s==="true"||s==="True"||s==="TRUE"}o(n,"constructYamlBoolean");function r(s){return Object.prototype.toString.call(s)==="[object Boolean]"}return o(r,"isBoolean"),El=new t("tag:yaml.org,2002:bool",{kind:"scalar",resolve:e,construct:n,predicate:r,represent:{lowercase:o(function(s){return s?"true":"false"},"lowercase"),uppercase:o(function(s){return s?"TRUE":"FALSE"},"uppercase"),camelcase:o(function(s){return s?"True":"False"},"camelcase")},defaultStyle:"lowercase"}),El}o(vm,"requireBool");var Cl,cm;function xm(){if(cm)return Cl;cm=1;let t=Qo(),e=rt();function n(d){return d>=48&&d<=57||d>=65&&d<=70||d>=97&&d<=102}o(n,"isHexCode");function r(d){return d>=48&&d<=55}o(r,"isOctCode");function s(d){return d>=48&&d<=57}o(s,"isDecCode");function i(d){if(d===null)return!1;let g=d.length,h=0,f=!1;if(!g)return!1;let m=d[h];if((m==="-"||m==="+")&&(m=d[++h]),m==="0"){if(h+1===g)return!0;if(m=d[++h],m==="b"){for(h++;h<g;h++){if(m=d[h],m!=="0"&&m!=="1")return!1;f=!0}return f&&isFinite(a(d))}if(m==="x"){for(h++;h<g;h++){if(!n(d.charCodeAt(h)))return!1;f=!0}return f&&isFinite(a(d))}if(m==="o"){for(h++;h<g;h++){if(!r(d.charCodeAt(h)))return!1;f=!0}return f&&isFinite(a(d))}}for(;h<g;h++){if(!s(d.charCodeAt(h)))return!1;f=!0}return f?isFinite(a(d)):!1}o(i,"resolveYamlInteger");function a(d){let g=d,h=1,f=g[0];if((f==="-"||f==="+")&&(f==="-"&&(h=-1),g=g.slice(1),f=g[0]),g==="0")return 0;if(f==="0"){if(g[1]==="b")return h*parseInt(g.slice(2),2);if(g[1]==="x")return h*parseInt(g.slice(2),16);if(g[1]==="o")return h*parseInt(g.slice(2),8)}return h*parseInt(g,10)}o(a,"parseYamlInteger");function c(d){return a(d)}o(c,"constructYamlInteger");function l(d){return Object.prototype.toString.call(d)==="[object Number]"&&d%1===0&&!t.isNegativeZero(d)}return o(l,"isInteger"),Cl=new e("tag:yaml.org,2002:int",{kind:"scalar",resolve:i,construct:c,predicate:l,represent:{binary:o(function(d){return d>=0?"0b"+d.toString(2):"-0b"+d.toString(2).slice(1)},"binary"),octal:o(function(d){return d>=0?"0o"+d.toString(8):"-0o"+d.toString(8).slice(1)},"octal"),decimal:o(function(d){return d.toString(10)},"decimal"),hexadecimal:o(function(d){return d>=0?"0x"+d.toString(16).toUpperCase():"-0x"+d.toString(16).toUpperCase().slice(1)},"hexadecimal")},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),Cl}o(xm,"requireInt");var Il,um;function Dm(){if(um)return Il;um=1;let t=Qo(),e=rt(),n=new RegExp("^(?:[-+]?(?:[0-9]+)(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),r=new RegExp("^(?:[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");function s(d){return d===null||!n.test(d)?!1:isFinite(parseFloat(d,10))?!0:r.test(d)}o(s,"resolveYamlFloat");function i(d){let g=d.toLowerCase(),h=g[0]==="-"?-1:1;return"+-".indexOf(g[0])>=0&&(g=g.slice(1)),g===".inf"?h===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:g===".nan"?NaN:h*parseFloat(g,10)}o(i,"constructYamlFloat");let a=/^[-+]?[0-9]+e/;function c(d,g){if(isNaN(d))switch(g){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===d)switch(g){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===d)switch(g){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(t.isNegativeZero(d))return"-0.0";let h=d.toString(10);return a.test(h)?h.replace("e",".e"):h}o(c,"representYamlFloat");function l(d){return Object.prototype.toString.call(d)==="[object Number]"&&(d%1!==0||t.isNegativeZero(d))}return o(l,"isFloat"),Il=new e("tag:yaml.org,2002:float",{kind:"scalar",resolve:s,construct:i,predicate:l,represent:c,defaultStyle:"lowercase"}),Il}o(Dm,"requireFloat");var yl,lm;function Tm(){return lm||(lm=1,yl=km().extend({implicit:[Sm(),vm(),xm(),Dm()]})),yl}o(Tm,"requireJson");var Ql,dm;function Nm(){return dm||(dm=1,Ql=Tm()),Ql}o(Nm,"requireCore");var Bl,gm;function Fm(){if(gm)return Bl;gm=1;let t=rt(),e=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),n=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");function r(a){return a===null?!1:e.exec(a)!==null||n.exec(a)!==null}o(r,"resolveYamlTimestamp");function s(a){let c=0,l=null,d=e.exec(a);if(d===null&&(d=n.exec(a)),d===null)throw new Error("Date resolve error");let g=+d[1],h=+d[2]-1,f=+d[3];if(!d[4])return new Date(Date.UTC(g,h,f));let m=+d[4],C=+d[5],y=+d[6];if(d[7]){for(c=d[7].slice(0,3);c.length<3;)c+="0";c=+c}if(d[9]){let Q=+d[10],D=+(d[11]||0);l=(Q*60+D)*6e4,d[9]==="-"&&(l=-l)}let v=new Date(Date.UTC(g,h,f,m,C,y,c));return l&&v.setTime(v.getTime()-l),v}o(s,"constructYamlTimestamp");function i(a){return a.toISOString()}return o(i,"representYamlTimestamp"),Bl=new t("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:r,construct:s,instanceOf:Date,represent:i}),Bl}o(Fm,"requireTimestamp");var wl,hm;function Um(){if(hm)return wl;hm=1;let t=rt();function e(n){return n==="<<"||n===null}return o(e,"resolveYamlMerge"),wl=new t("tag:yaml.org,2002:merge",{kind:"scalar",resolve:e}),wl}o(Um,"requireMerge");var bl,pm;function Mm(){if(pm)return bl;pm=1;let t=rt(),e=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=
|
|
53
|
+
\r`;function n(a){if(a===null)return!1;let c=0,l=a.length,d=e;for(let g=0;g<l;g++){let h=d.indexOf(a.charAt(g));if(!(h>64)){if(h<0)return!1;c+=6}}return c%8===0}o(n,"resolveYamlBinary");function r(a){let c=a.replace(/[\r\n=]/g,""),l=c.length,d=e,g=0,h=[];for(let m=0;m<l;m++)m%4===0&&m&&(h.push(g>>16&255),h.push(g>>8&255),h.push(g&255)),g=g<<6|d.indexOf(c.charAt(m));let f=l%4*6;return f===0?(h.push(g>>16&255),h.push(g>>8&255),h.push(g&255)):f===18?(h.push(g>>10&255),h.push(g>>2&255)):f===12&&h.push(g>>4&255),new Uint8Array(h)}o(r,"constructYamlBinary");function s(a){let c="",l=0,d=a.length,g=e;for(let f=0;f<d;f++)f%3===0&&f&&(c+=g[l>>18&63],c+=g[l>>12&63],c+=g[l>>6&63],c+=g[l&63]),l=(l<<8)+a[f];let h=d%3;return h===0?(c+=g[l>>18&63],c+=g[l>>12&63],c+=g[l>>6&63],c+=g[l&63]):h===2?(c+=g[l>>10&63],c+=g[l>>4&63],c+=g[l<<2&63],c+=g[64]):h===1&&(c+=g[l>>2&63],c+=g[l<<4&63],c+=g[64],c+=g[64]),c}o(s,"representYamlBinary");function i(a){return Object.prototype.toString.call(a)==="[object Uint8Array]"}return o(i,"isBinary"),bl=new t("tag:yaml.org,2002:binary",{kind:"scalar",resolve:n,construct:r,predicate:i,represent:s}),bl}o(Mm,"requireBinary");var Rl,fm;function Lm(){if(fm)return Rl;fm=1;let t=rt(),e=Object.prototype.hasOwnProperty,n=Object.prototype.toString;function r(i){if(i===null)return!0;let a={},c=i;for(let l=0,d=c.length;l<d;l+=1){let g=c[l],h=!1;if(n.call(g)!=="[object Object]")return!1;let f;for(f in g)if(e.call(g,f))if(!h)h=!0;else return!1;if(!h||e.call(a,f))return!1;Object.defineProperty(a,f,{value:!0})}return!0}o(r,"resolveYamlOmap");function s(i){return i!==null?i:[]}return o(s,"constructYamlOmap"),Rl=new t("tag:yaml.org,2002:omap",{kind:"sequence",resolve:r,construct:s}),Rl}o(Lm,"requireOmap");var kl,mm;function _m(){if(mm)return kl;mm=1;let t=rt(),e=Object.prototype.toString;function n(s){if(s===null)return!0;let i=s,a=new Array(i.length);for(let c=0,l=i.length;c<l;c+=1){let d=i[c];if(e.call(d)!=="[object Object]")return!1;let g=Object.keys(d);if(g.length!==1)return!1;a[c]=[g[0],d[g[0]]]}return!0}o(n,"resolveYamlPairs");function r(s){if(s===null)return[];let i=s,a=new Array(i.length);for(let c=0,l=i.length;c<l;c+=1){let d=i[c],g=Object.keys(d);a[c]=[g[0],d[g[0]]]}return a}return o(r,"constructYamlPairs"),kl=new t("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:n,construct:r}),kl}o(_m,"requirePairs");var Sl,Em;function Pm(){if(Em)return Sl;Em=1;let t=rt(),e=Object.prototype.hasOwnProperty;function n(s){if(s===null)return!0;let i=s;for(let a in i)if(e.call(i,a)&&i[a]!==null)return!1;return!0}o(n,"resolveYamlSet");function r(s){return s!==null?s:{}}return o(r,"constructYamlSet"),Sl=new t("tag:yaml.org,2002:set",{kind:"mapping",resolve:n,construct:r}),Sl}o(Pm,"requireSet");var vl,Cm;function Dl(){return Cm||(Cm=1,vl=Nm().extend({implicit:[Fm(),Um()],explicit:[Mm(),Lm(),_m(),Pm()]})),vl}o(Dl,"require_default");var Im;function p0(){if(Im)return mA;Im=1;let t=Qo(),e=Bo(),n=h0(),r=Dl(),s=Object.prototype.hasOwnProperty,i=1,a=2,c=3,l=4,d=1,g=2,h=3,f=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,m=/[\x85\u2028\u2029]/,C=/[,\[\]{}]/,y=/^(?:!|!!|![0-9A-Za-z-]+!)$/,v=/^(?:!|[^,\[\]{}])(?:%[0-9a-f]{2}|[0-9a-z\-#;/?:@&=+$,_.!~*'()\[\]])*$/i;function Q(u){return Object.prototype.toString.call(u)}o(Q,"_class");function D(u){return u===10||u===13}o(D,"isEol");function G(u){return u===9||u===32}o(G,"isWhiteSpace");function P(u){return u===9||u===32||u===10||u===13}o(P,"isWsOrEol");function ae(u){return u===44||u===91||u===93||u===123||u===125}o(ae,"isFlowIndicator");function Ee(u){if(u>=48&&u<=57)return u-48;let E=u|32;return E>=97&&E<=102?E-97+10:-1}o(Ee,"fromHexCode");function Ce(u){return u===120?2:u===117?4:u===85?8:0}o(Ce,"escapedHexLen");function De(u){return u>=48&&u<=57?u-48:-1}o(De,"fromDecimalCode");function et(u){switch(u){case 48:return"\0";case 97:return"\x07";case 98:return"\b";case 116:return" ";case 9:return" ";case 110:return`
|
|
54
|
+
`;case 118:return"\v";case 102:return"\f";case 114:return"\r";case 101:return"\x1B";case 32:return" ";case 34:return'"';case 47:return"/";case 92:return"\\";case 78:return"\x85";case 95:return"\xA0";case 76:return"\u2028";case 80:return"\u2029";default:return""}}o(et,"simpleEscapeSequence");function sn(u){return u<=65535?String.fromCharCode(u):String.fromCharCode((u-65536>>10)+55296,(u-65536&1023)+56320)}o(sn,"charFromCodepoint");function At(u,E,R){E==="__proto__"?Object.defineProperty(u,E,{configurable:!0,enumerable:!0,writable:!0,value:R}):u[E]=R}o(At,"setProperty");let Ge=new Array(256),Tt=new Array(256);for(let u=0;u<256;u++)Ge[u]=et(u)?1:0,Tt[u]=et(u);function xe(u,E){this.input=u,this.filename=E.filename||null,this.schema=E.schema||r,this.onWarning=E.onWarning||null,this.legacy=E.legacy||!1,this.json=E.json||!1,this.listener=E.listener||null,this.maxDepth=typeof E.maxDepth=="number"?E.maxDepth:100,this.maxTotalMergeKeys=typeof E.maxTotalMergeKeys=="number"?E.maxTotalMergeKeys:1e4,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=u.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.depth=0,this.totalMergeKeys=0,this.firstTabInLine=-1,this.documents=[],this.anchorMapTransactions=[]}o(xe,"State");function Nt(u,E){let R={name:u.filename,buffer:u.input.slice(0,-1),position:u.position,line:u.line,column:u.position-u.lineStart};return R.snippet=n(R),new e(E,R)}o(Nt,"generateError");function $(u,E){throw Nt(u,E)}o($,"throwError");function vs(u,E){u.onWarning&&u.onWarning.call(null,Nt(u,E))}o(vs,"throwWarning");function wn(u,E,R){let k=u.anchorMapTransactions;if(k.length!==0){let w=k[k.length-1];s.call(w,E)||(w[E]={existed:s.call(u.anchorMap,E),value:u.anchorMap[E]})}u.anchorMap[E]=R}o(wn,"storeAnchor");function vu(u){u.anchorMapTransactions.push(Object.create(null))}o(vu,"beginAnchorTransaction");function Tr(u){let E=u.anchorMapTransactions.pop(),R=u.anchorMapTransactions;if(R.length===0)return;let k=R[R.length-1],w=Object.keys(E);for(let p=0,I=w.length;p<I;p+=1){let B=w[p];s.call(k,B)||(k[B]=E[B])}}o(Tr,"commitAnchorTransaction");function xu(u){let E=u.anchorMapTransactions.pop(),R=Object.keys(E);for(let k=R.length-1;k>=0;k-=1){let w=E[R[k]];w.existed?u.anchorMap[R[k]]=w.value:delete u.anchorMap[R[k]]}}o(xu,"rollbackAnchorTransaction");function Xi(u){return{position:u.position,line:u.line,lineStart:u.lineStart,lineIndent:u.lineIndent,firstTabInLine:u.firstTabInLine,tag:u.tag,anchor:u.anchor,kind:u.kind,result:u.result}}o(Xi,"snapshotState");function xs(u,E){u.position=E.position,u.line=E.line,u.lineStart=E.lineStart,u.lineIndent=E.lineIndent,u.firstTabInLine=E.firstTabInLine,u.tag=E.tag,u.anchor=E.anchor,u.kind=E.kind,u.result=E.result}o(xs,"restoreState");let Ga={YAML:o(function(E,R,k){E.version!==null&&$(E,"duplication of %YAML directive"),k.length!==1&&$(E,"YAML directive accepts exactly one argument");let w=/^([0-9]+)\.([0-9]+)$/.exec(k[0]);w===null&&$(E,"ill-formed argument of the YAML directive");let p=parseInt(w[1],10),I=parseInt(w[2],10);p!==1&&$(E,"unacceptable YAML version of the document"),E.version=k[0],E.checkLineBreaks=I<2,I!==1&&I!==2&&vs(E,"unsupported YAML version of the document")},"handleYamlDirective"),TAG:o(function(E,R,k){let w;k.length!==2&&$(E,"TAG directive accepts exactly two arguments");let p=k[0];w=k[1],y.test(p)||$(E,"ill-formed tag handle (first argument) of the TAG directive"),s.call(E.tagMap,p)&&$(E,'there is a previously declared suffix for "'+p+'" tag handle'),v.test(w)||$(E,"ill-formed tag prefix (second argument) of the TAG directive");try{w=decodeURIComponent(w)}catch{$(E,"tag prefix is malformed: "+w)}E.tagMap[p]=w},"handleTagDirective")};function Ct(u,E,R,k){if(E<R){let w=u.input.slice(E,R);if(k)for(let p=0,I=w.length;p<I;p+=1){let B=w.charCodeAt(p);B===9||B>=32&&B<=1114111||$(u,"expected valid JSON character")}else f.test(w)&&$(u,"the stream contains non-printable characters");u.result+=w}}o(Ct,"captureSegment");function Wn(u){u.totalMergeKeys++,u.maxTotalMergeKeys!==-1&&u.totalMergeKeys>u.maxTotalMergeKeys&&$(u,"merge keys exceeded maxTotalMergeKeys ("+u.maxTotalMergeKeys+")")}o(Wn,"chargeMergeWork");function eo(u,E,R,k){t.isObject(R)||$(u,"cannot merge mappings; the provided source object is unacceptable"),Wn(u);let w=Object.keys(R);for(let p=0,I=w.length;p<I;p+=1){let B=w[p];Wn(u),s.call(E,B)||(At(E,B,R[B]),k[B]=!0)}}o(eo,"mergeMappings");function bn(u,E,R,k,w,p,I,B,S){if(Array.isArray(w)){w=Array.prototype.slice.call(w);for(let x=0,F=w.length;x<F;x+=1)Array.isArray(w[x])&&$(u,"nested arrays are not supported inside keys"),typeof w=="object"&&Q(w[x])==="[object Object]"&&(w[x]="[object Object]")}if(typeof w=="object"&&Q(w)==="[object Object]"&&(w="[object Object]"),w=String(w),E===null&&(E={}),k==="tag:yaml.org,2002:merge")if(Array.isArray(p)){p.length>100&&$(u,"abnormal merge sequence size");for(let x=0,F=p.length;x<F;x+=1)eo(u,E,p[x],R)}else eo(u,E,p,R);else!u.json&&!s.call(R,w)&&s.call(E,w)&&(u.line=I||u.line,u.lineStart=B||u.lineStart,u.position=S||u.position,$(u,"duplicated mapping key")),At(E,w,p),delete R[w];return E}o(bn,"storeMappingPair");function to(u){let E=u.input.charCodeAt(u.position);E===10?u.position++:E===13?(u.position++,u.input.charCodeAt(u.position)===10&&u.position++):$(u,"a line break is expected"),u.line+=1,u.lineStart=u.position,u.firstTabInLine=-1}o(to,"readLineBreak");function Te(u,E,R){let k=0,w=u.input.charCodeAt(u.position);for(;w!==0;){for(;G(w);)w===9&&u.firstTabInLine===-1&&(u.firstTabInLine=u.position),w=u.input.charCodeAt(++u.position);if(E&&w===35)do w=u.input.charCodeAt(++u.position);while(w!==10&&w!==13&&w!==0);if(D(w))for(to(u),w=u.input.charCodeAt(u.position),k++,u.lineIndent=0;w===32;)u.lineIndent++,w=u.input.charCodeAt(++u.position);else break}return R!==-1&&k!==0&&u.lineIndent<R&&vs(u,"deficient indentation"),k}o(Te,"skipSeparationSpace");function on(u){let E=u.position,R=u.input.charCodeAt(E);return!!((R===45||R===46)&&R===u.input.charCodeAt(E+1)&&R===u.input.charCodeAt(E+2)&&(E+=3,R=u.input.charCodeAt(E),R===0||P(R)))}o(on,"testDocumentSeparator");function Ds(u,E){E===1?u.result+=" ":E>1&&(u.result+=t.repeat(`
|
|
55
|
+
`,E-1))}o(Ds,"writeFoldedLines");function $a(u,E,R){let k,w,p,I,B,S,x=u.kind,F=u.result,b=u.input.charCodeAt(u.position);if(P(b)||ae(b)||b===35||b===38||b===42||b===33||b===124||b===62||b===39||b===34||b===37||b===64||b===96)return!1;if(b===63||b===45){let M=u.input.charCodeAt(u.position+1);if(P(M)||R&&ae(M))return!1}for(u.kind="scalar",u.result="",k=w=u.position,p=!1;b!==0;){if(b===58){let M=u.input.charCodeAt(u.position+1);if(P(M)||R&&ae(M))break}else if(b===35){let M=u.input.charCodeAt(u.position-1);if(P(M))break}else{if(u.position===u.lineStart&&on(u)||R&&ae(b))break;if(D(b))if(I=u.line,B=u.lineStart,S=u.lineIndent,Te(u,!1,-1),u.lineIndent>=E){p=!0,b=u.input.charCodeAt(u.position);continue}else{u.position=w,u.line=I,u.lineStart=B,u.lineIndent=S;break}}p&&(Ct(u,k,w,!1),Ds(u,u.line-I),k=w=u.position,p=!1),G(b)||(w=u.position+1),b=u.input.charCodeAt(++u.position)}return Ct(u,k,w,!1),u.result?!0:(u.kind=x,u.result=F,!1)}o($a,"readPlainScalar");function no(u,E){let R,k,w=u.input.charCodeAt(u.position);if(w!==39)return!1;for(u.kind="scalar",u.result="",u.position++,R=k=u.position;(w=u.input.charCodeAt(u.position))!==0;)if(w===39)if(Ct(u,R,u.position,!0),w=u.input.charCodeAt(++u.position),w===39)R=u.position,u.position++,k=u.position;else return!0;else D(w)?(Ct(u,R,k,!0),Ds(u,Te(u,!1,E)),R=k=u.position):u.position===u.lineStart&&on(u)?$(u,"unexpected end of the document within a single quoted scalar"):(u.position++,G(w)||(k=u.position));$(u,"unexpected end of the stream within a single quoted scalar")}o(no,"readSingleQuotedScalar");function Ya(u,E){let R,k,w,p=u.input.charCodeAt(u.position);if(p!==34)return!1;for(u.kind="scalar",u.result="",u.position++,R=k=u.position;(p=u.input.charCodeAt(u.position))!==0;){if(p===34)return Ct(u,R,u.position,!0),u.position++,!0;if(p===92){if(Ct(u,R,u.position,!0),p=u.input.charCodeAt(++u.position),D(p))Te(u,!1,E);else if(p<256&&Ge[p])u.result+=Tt[p],u.position++;else if((w=Ce(p))>0){let I=w,B=0;for(;I>0;I--)p=u.input.charCodeAt(++u.position),(w=Ee(p))>=0?B=(B<<4)+w:$(u,"expected hexadecimal character");u.result+=sn(B),u.position++}else $(u,"unknown escape sequence");R=k=u.position}else D(p)?(Ct(u,R,k,!0),Ds(u,Te(u,!1,E)),R=k=u.position):u.position===u.lineStart&&on(u)?$(u,"unexpected end of the document within a double quoted scalar"):(u.position++,G(p)||(k=u.position))}$(u,"unexpected end of the stream within a double quoted scalar")}o(Ya,"readDoubleQuotedScalar");function Va(u,E){let R=!0,k,w,p,I=u.tag,B,S=u.anchor,x,F,b,M,Y=Object.create(null),z,K,se,ce=u.input.charCodeAt(u.position);if(ce===91)x=93,M=!1,B=[];else if(ce===123)x=125,M=!0,B={};else return!1;for(u.anchor!==null&&wn(u,u.anchor,B),ce=u.input.charCodeAt(++u.position);ce!==0;){if(Te(u,!0,E),ce=u.input.charCodeAt(u.position),ce===x)return u.position++,u.tag=I,u.anchor=S,u.kind=M?"mapping":"sequence",u.result=B,!0;if(R?ce===44&&$(u,"expected the node content, but found ','"):$(u,"missed comma between flow collection entries"),K=z=se=null,F=b=!1,ce===63){let Kn=u.input.charCodeAt(u.position+1);P(Kn)&&(F=b=!0,u.position++,Te(u,!0,E))}k=u.line,w=u.lineStart,p=u.position,Zn(u,E,i,!1,!0),K=u.tag,z=u.result,Te(u,!0,E),ce=u.input.charCodeAt(u.position),(b||u.line===k)&&ce===58&&(F=!0,ce=u.input.charCodeAt(++u.position),Te(u,!0,E),Zn(u,E,i,!1,!0),se=u.result),M?bn(u,B,Y,K,z,se,k,w,p):F?B.push(bn(u,null,Y,K,z,se,k,w,p)):B.push(z),Te(u,!0,E),ce=u.input.charCodeAt(u.position),ce===44?(R=!0,ce=u.input.charCodeAt(++u.position)):R=!1}$(u,"unexpected end of the stream within a flow collection")}o(Va,"readFlowCollection");function zn(u,E){let R,k=d,w=!1,p=!1,I=E,B=0,S=!1,x,F=u.input.charCodeAt(u.position);if(F===124)R=!1;else if(F===62)R=!0;else return!1;for(u.kind="scalar",u.result="";F!==0;)if(F=u.input.charCodeAt(++u.position),F===43||F===45)d===k?k=F===43?h:g:$(u,"repeat of a chomping mode identifier");else if((x=De(F))>=0)x===0?$(u,"bad explicit indentation width of a block scalar; it cannot be less than one"):p?$(u,"repeat of an indentation width identifier"):(I=E+x-1,p=!0);else break;if(G(F)){do F=u.input.charCodeAt(++u.position);while(G(F));if(F===35)do F=u.input.charCodeAt(++u.position);while(!D(F)&&F!==0)}for(;F!==0;){for(to(u),u.lineIndent=0,F=u.input.charCodeAt(u.position);(!p||u.lineIndent<I)&&F===32;)u.lineIndent++,F=u.input.charCodeAt(++u.position);if(!p&&u.lineIndent>I&&(I=u.lineIndent),D(F)){B++;continue}if(!p&&I===0&&$(u,"missing indentation for block scalar"),u.lineIndent<I){k===h?u.result+=t.repeat(`
|
|
56
|
+
`,w?1+B:B):k===d&&w&&(u.result+=`
|
|
57
|
+
`);break}R?G(F)?(S=!0,u.result+=t.repeat(`
|
|
58
58
|
`,w?1+B:B)):S?(S=!1,u.result+=t.repeat(`
|
|
59
59
|
`,B+1)):B===0?w&&(u.result+=" "):u.result+=t.repeat(`
|
|
60
60
|
`,B):u.result+=t.repeat(`
|
|
61
|
-
`,w?1+B:B),w=!0,p=!0,B=0;let b=u.position;for(;!D(F)&&F!==0;)F=u.input.charCodeAt(++u.position);Ct(u,b,u.position,!1)}return!0}o(zn,"readBlockScalar");function
|
|
62
|
-
`),u.charCodeAt(0)===65279&&(u=u.slice(1)));let
|
|
61
|
+
`,w?1+B:B),w=!0,p=!0,B=0;let b=u.position;for(;!D(F)&&F!==0;)F=u.input.charCodeAt(++u.position);Ct(u,b,u.position,!1)}return!0}o(zn,"readBlockScalar");function Ha(u,E){let R=u.tag,k=u.anchor,w=[],p=!1;if(u.firstTabInLine!==-1)return!1;u.anchor!==null&&wn(u,u.anchor,w);let I=u.input.charCodeAt(u.position);for(;I!==0&&(u.firstTabInLine!==-1&&(u.position=u.firstTabInLine,$(u,"tab characters must not be used in indentation")),I===45);){let B=u.input.charCodeAt(u.position+1);if(!P(B))break;if(p=!0,u.position++,Te(u,!0,-1)&&u.lineIndent<=E){w.push(null),I=u.input.charCodeAt(u.position);continue}let S=u.line;if(Zn(u,E,c,!1,!0),w.push(u.result),Te(u,!0,-1),I=u.input.charCodeAt(u.position),(u.line===S||u.lineIndent>E)&&I!==0)$(u,"bad indentation of a sequence entry");else if(u.lineIndent<E)break}return p?(u.tag=R,u.anchor=k,u.kind="sequence",u.result=w,!0):!1}o(Ha,"readBlockSequence");function Ja(u,E,R){let k,w,p,I,B=u.tag,S=u.anchor,x={},F=Object.create(null),b=null,M=null,Y=null,z=!1,K=!1;if(u.firstTabInLine!==-1)return!1;u.anchor!==null&&wn(u,u.anchor,x);let se=u.input.charCodeAt(u.position);for(;se!==0;){!z&&u.firstTabInLine!==-1&&(u.position=u.firstTabInLine,$(u,"tab characters must not be used in indentation"));let ce=u.input.charCodeAt(u.position+1),Kn=u.line;if((se===63||se===58)&&P(ce))se===63?(z&&(bn(u,x,F,b,M,null,w,p,I),b=M=Y=null),K=!0,z=!0,k=!0):z?(z=!1,k=!0):$(u,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),u.position+=1,se=ce;else{if(w=u.line,p=u.lineStart,I=u.position,!Zn(u,R,a,!1,!0))break;if(u.line===Kn){for(se=u.input.charCodeAt(u.position);G(se);)se=u.input.charCodeAt(++u.position);if(se===58)se=u.input.charCodeAt(++u.position),P(se)||$(u,"a whitespace character is expected after the key-value separator within a block mapping"),z&&(bn(u,x,F,b,M,null,w,p,I),b=M=Y=null),K=!0,z=!1,k=!1,b=u.tag,M=u.result;else if(K)$(u,"can not read an implicit mapping pair; a colon is missed");else return u.tag=B,u.anchor=S,!0}else if(K)$(u,"can not read a block mapping entry; a multiline key may not be an implicit key");else return u.tag=B,u.anchor=S,!0}if((u.line===Kn||u.lineIndent>E)&&(z&&(w=u.line,p=u.lineStart,I=u.position),Zn(u,E,l,!0,k)&&(z?M=u.result:Y=u.result),z||(bn(u,x,F,b,M,Y,w,p,I),b=M=Y=null),Te(u,!0,-1),se=u.input.charCodeAt(u.position)),(u.line===Kn||u.lineIndent>E)&&se!==0)$(u,"bad indentation of a mapping entry");else if(u.lineIndent<E)break}return z&&bn(u,x,F,b,M,null,w,p,I),K&&(u.tag=B,u.anchor=S,u.kind="mapping",u.result=x),K}o(Ja,"readBlockMapping");function qa(u){let E=!1,R=!1,k,w,p=u.input.charCodeAt(u.position);if(p!==33)return!1;u.tag!==null&&$(u,"duplication of a tag property"),p=u.input.charCodeAt(++u.position),p===60?(E=!0,p=u.input.charCodeAt(++u.position)):p===33?(R=!0,k="!!",p=u.input.charCodeAt(++u.position)):k="!";let I=u.position;if(E){do p=u.input.charCodeAt(++u.position);while(p!==0&&p!==62);u.position<u.length?(w=u.input.slice(I,u.position),p=u.input.charCodeAt(++u.position)):$(u,"unexpected end of the stream within a verbatim tag")}else{for(;p!==0&&!P(p);)p===33&&(R?$(u,"tag suffix cannot contain exclamation marks"):(k=u.input.slice(I-1,u.position+1),y.test(k)||$(u,"named tag handle cannot contain such characters"),R=!0,I=u.position+1)),p=u.input.charCodeAt(++u.position);w=u.input.slice(I,u.position),C.test(w)&&$(u,"tag suffix cannot contain flow indicator characters")}w&&!v.test(w)&&$(u,"tag name cannot contain such characters: "+w);try{w=decodeURIComponent(w)}catch{$(u,"tag name is malformed: "+w)}return E?u.tag=w:s.call(u.tagMap,k)?u.tag=u.tagMap[k]+w:k==="!"?u.tag="!"+w:k==="!!"?u.tag="tag:yaml.org,2002:"+w:$(u,'undeclared tag handle "'+k+'"'),!0}o(qa,"readTagProperty");function ja(u){let E=u.input.charCodeAt(u.position);if(E!==38)return!1;u.anchor!==null&&$(u,"duplication of an anchor property"),E=u.input.charCodeAt(++u.position);let R=u.position;for(;E!==0&&!P(E)&&!ae(E);)E=u.input.charCodeAt(++u.position);return u.position===R&&$(u,"name of an anchor node must contain at least one character"),u.anchor=u.input.slice(R,u.position),!0}o(ja,"readAnchorProperty");function Du(u){let E=u.input.charCodeAt(u.position);if(E!==42)return!1;E=u.input.charCodeAt(++u.position);let R=u.position;for(;E!==0&&!P(E)&&!ae(E);)E=u.input.charCodeAt(++u.position);u.position===R&&$(u,"name of an alias node must contain at least one character");let k=u.input.slice(R,u.position);return s.call(u.anchorMap,k)||$(u,'unidentified alias "'+k+'"'),u.result=u.anchorMap[k],Te(u,!0,-1),!0}o(Du,"readAlias");function Wa(u,E,R,k){let w=Xi(u);return vu(u),xs(u,E),u.tag=null,u.anchor=null,u.kind=null,u.result=null,Ja(u,R,k)&&u.kind==="mapping"?(Tr(u),!0):(xu(u),xs(u,w),!1)}o(Wa,"tryReadBlockMappingFromProperty");function Zn(u,E,R,k,w){let p,I,B=1,S=!1,x=!1,F=null,b,M,Y;u.depth>=u.maxDepth&&$(u,"nesting exceeded maxDepth ("+u.maxDepth+")"),u.depth+=1,u.listener!==null&&u.listener("open",u),u.tag=null,u.anchor=null,u.kind=null,u.result=null;let z=p=I=l===R||c===R;if(k&&Te(u,!0,-1)&&(S=!0,u.lineIndent>E?B=1:u.lineIndent===E?B=0:u.lineIndent<E&&(B=-1)),B===1)for(;;){let K=u.input.charCodeAt(u.position),se=Xi(u);if(S&&(K===33&&u.tag!==null||K===38&&u.anchor!==null)||!qa(u)&&!ja(u))break;F===null&&(F=se),Te(u,!0,-1)?(S=!0,I=z,u.lineIndent>E?B=1:u.lineIndent===E?B=0:u.lineIndent<E&&(B=-1)):I=!1}if(I&&(I=S||w),B===1||l===R)if(i===R||a===R?M=E:M=E+1,Y=u.position-u.lineStart,B===1)if(I&&(Ha(u,Y)||Ja(u,Y,M))||Va(u,M))x=!0;else{let K=u.input.charCodeAt(u.position);F!==null&&z&&!I&&K!==124&&K!==62&&Wa(u,F,F.position-F.lineStart,M)||p&&zn(u,M)||no(u,M)||Ya(u,M)?x=!0:Du(u)?(x=!0,(u.tag!==null||u.anchor!==null)&&$(u,"alias node should not have any properties")):$a(u,M,i===R)&&(x=!0,u.tag===null&&(u.tag="?")),u.anchor!==null&&wn(u,u.anchor,u.result)}else B===0&&(x=I&&Ha(u,Y));if(u.tag===null)u.anchor!==null&&wn(u,u.anchor,u.result);else if(u.tag==="?"){u.result!==null&&u.kind!=="scalar"&&$(u,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+u.kind+'"');for(let K=0,se=u.implicitTypes.length;K<se;K+=1)if(b=u.implicitTypes[K],b.resolve(u.result)){u.result=b.construct(u.result),u.tag=b.tag,u.anchor!==null&&wn(u,u.anchor,u.result);break}}else if(u.tag!=="!"){if(s.call(u.typeMap[u.kind||"fallback"],u.tag))b=u.typeMap[u.kind||"fallback"][u.tag];else{b=null;let K=u.typeMap.multi[u.kind||"fallback"];for(let se=0,ce=K.length;se<ce;se+=1)if(u.tag.slice(0,K[se].tag.length)===K[se].tag){b=K[se];break}}b||$(u,"unknown tag !<"+u.tag+">"),u.result!==null&&b.kind!==u.kind&&$(u,"unacceptable node kind for !<"+u.tag+'> tag; it should be "'+b.kind+'", not "'+u.kind+'"'),b.resolve(u.result,u.tag)?(u.result=b.construct(u.result,u.tag),u.anchor!==null&&wn(u,u.anchor,u.result)):$(u,"cannot resolve a node with !<"+u.tag+"> explicit tag")}return u.listener!==null&&u.listener("close",u),u.depth-=1,u.tag!==null||u.anchor!==null||x}o(Zn,"composeNode");function Tu(u){let E=u.position,R=!1,k;for(u.version=null,u.checkLineBreaks=u.legacy,u.tagMap=Object.create(null),u.anchorMap=Object.create(null);(k=u.input.charCodeAt(u.position))!==0&&(Te(u,!0,-1),k=u.input.charCodeAt(u.position),!(u.lineIndent>0||k!==37));){R=!0,k=u.input.charCodeAt(++u.position);let w=u.position;for(;k!==0&&!P(k);)k=u.input.charCodeAt(++u.position);let p=u.input.slice(w,u.position),I=[];for(p.length<1&&$(u,"directive name must not be less than one character in length");k!==0;){for(;G(k);)k=u.input.charCodeAt(++u.position);if(k===35){do k=u.input.charCodeAt(++u.position);while(k!==0&&!D(k));break}if(D(k))break;for(w=u.position;k!==0&&!P(k);)k=u.input.charCodeAt(++u.position);I.push(u.input.slice(w,u.position))}k!==0&&to(u),s.call(Ga,p)?Ga[p](u,p,I):vs(u,'unknown document directive "'+p+'"')}if(Te(u,!0,-1),u.lineIndent===0&&u.input.charCodeAt(u.position)===45&&u.input.charCodeAt(u.position+1)===45&&u.input.charCodeAt(u.position+2)===45?(u.position+=3,Te(u,!0,-1)):R&&$(u,"directives end mark is expected"),Zn(u,u.lineIndent-1,l,!1,!0),Te(u,!0,-1),u.checkLineBreaks&&m.test(u.input.slice(E,u.position))&&vs(u,"non-ASCII line breaks are interpreted as content"),u.documents.push(u.result),u.position===u.lineStart&&on(u)){u.input.charCodeAt(u.position)===46&&(u.position+=3,Te(u,!0,-1));return}u.position<u.length-1&&$(u,"end of the stream or a document separator is expected")}o(Tu,"readDocument");function ro(u,E){u=String(u),E=E||{},u.length!==0&&(u.charCodeAt(u.length-1)!==10&&u.charCodeAt(u.length-1)!==13&&(u+=`
|
|
62
|
+
`),u.charCodeAt(0)===65279&&(u=u.slice(1)));let R=new xe(u,E),k=u.indexOf("\0");for(k!==-1&&(R.position=k,$(R,"null byte is not allowed in input")),R.input+="\0";R.input.charCodeAt(R.position)===32;)R.lineIndent+=1,R.position+=1;for(;R.position<R.length-1;)Tu(R);return R.documents}o(ro,"loadDocuments");function Nu(u,E,R){E!==null&&typeof E=="object"&&typeof R>"u"&&(R=E,E=null);let k=ro(u,R);if(typeof E!="function")return k;for(let w=0,p=k.length;w<p;w+=1)E(k[w])}o(Nu,"loadAll2");function Fu(u,E){let R=ro(u,E);if(R.length!==0){if(R.length===1)return R[0];throw new e("expected a single document in the stream, but found more")}}return o(Fu,"load2"),mA.loadAll=Nu,mA.load=Fu,mA}o(p0,"requireLoader");var xl={},ym;function f0(){if(ym)return xl;ym=1;let t=Qo(),e=Bo(),n=Dl(),r=Object.prototype.toString,s=Object.prototype.hasOwnProperty,i=65279,a=9,c=10,l=13,d=32,g=33,h=34,f=35,m=37,C=38,y=39,v=42,Q=44,D=45,G=58,P=61,ae=62,Ee=63,Ce=64,De=91,et=93,sn=96,At=123,Ge=124,Tt=125,xe={};xe[0]="\\0",xe[7]="\\a",xe[8]="\\b",xe[9]="\\t",xe[10]="\\n",xe[11]="\\v",xe[12]="\\f",xe[13]="\\r",xe[27]="\\e",xe[34]='\\"',xe[92]="\\\\",xe[133]="\\N",xe[160]="\\_",xe[8232]="\\L",xe[8233]="\\P";let Nt=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],$=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function vs(p,I){if(I===null)return{};let B={},S=Object.keys(I);for(let x=0,F=S.length;x<F;x+=1){let b=S[x],M=String(I[b]);b.slice(0,2)==="!!"&&(b="tag:yaml.org,2002:"+b.slice(2));let Y=p.compiledTypeMap.fallback[b];Y&&s.call(Y.styleAliases,M)&&(M=Y.styleAliases[M]),B[b]=M}return B}o(vs,"compileStyleMap");function wn(p){let I,B,S=p.toString(16).toUpperCase();if(p<=255)I="x",B=2;else if(p<=65535)I="u",B=4;else if(p<=4294967295)I="U",B=8;else throw new e("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+I+t.repeat("0",B-S.length)+S}o(wn,"encodeHex");let vu=1,Tr=2;function xu(p){this.schema=p.schema||n,this.indent=Math.max(1,p.indent||2),this.noArrayIndent=p.noArrayIndent||!1,this.skipInvalid=p.skipInvalid||!1,this.flowLevel=t.isNothing(p.flowLevel)?-1:p.flowLevel,this.styleMap=vs(this.schema,p.styles||null),this.sortKeys=p.sortKeys||!1,this.lineWidth=p.lineWidth||80,this.noRefs=p.noRefs||!1,this.noCompatMode=p.noCompatMode||!1,this.condenseFlow=p.condenseFlow||!1,this.quotingType=p.quotingType==='"'?Tr:vu,this.forceQuotes=p.forceQuotes||!1,this.replacer=typeof p.replacer=="function"?p.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}o(xu,"State");function Xi(p,I){let B=t.repeat(" ",I),S=0,x="",F=p.length;for(;S<F;){let b,M=p.indexOf(`
|
|
63
63
|
`,S);M===-1?(b=p.slice(S),S=F):(b=p.slice(S,M+1),S=M+1),b.length&&b!==`
|
|
64
64
|
`&&(x+=B),x+=b}return x}o(Xi,"indentString");function xs(p,I){return`
|
|
65
|
-
`+t.repeat(" ",p.indent*I)}o(xs,"generateNextLine");function Ga(p,I){for(let B=0,S=p.implicitTypes.length;B<S;B+=1)if(p.implicitTypes[B].resolve(I))return!0;return!1}o(Ga,"testImplicitResolving");function Ct(p){return p===d||p===a}o(Ct,"isWhitespace");function Wn(p){return p>=32&&p<=126||p>=161&&p<=55295&&p!==8232&&p!==8233||p>=57344&&p<=65533&&p!==i||p>=65536&&p<=1114111}o(Wn,"isPrintable");function eo(p){return Wn(p)&&p!==i&&p!==l&&p!==c}o(eo,"isNsCharOrWhitespace");function bn(p,I,B){let S=eo(p),x=S&&!Ct(p);return(B?S:S&&p!==Q&&p!==De&&p!==et&&p!==At&&p!==Tt)&&p!==f&&!(I===G&&!x)||eo(I)&&!Ct(I)&&p===f||I===G&&x}o(bn,"isPlainSafe");function to(p){return Wn(p)&&p!==i&&!Ct(p)&&p!==D&&p!==Ee&&p!==G&&p!==Q&&p!==De&&p!==et&&p!==At&&p!==Tt&&p!==f&&p!==C&&p!==v&&p!==g&&p!==Ge&&p!==P&&p!==ae&&p!==y&&p!==h&&p!==m&&p!==Ce&&p!==sn}o(to,"isPlainSafeFirst");function Te(p){return!Ct(p)&&p!==G}o(Te,"isPlainSafeLast");function on(p,I){let B=p.charCodeAt(I),S;return B>=55296&&B<=56319&&I+1<p.length&&(S=p.charCodeAt(I+1),S>=56320&&S<=57343)?(B-55296)*1024+S-56320+65536:B}o(on,"codePointAt");function Ds(p){return/^\n* /.test(p)}o(Ds,"needIndentIndicator");let $a=1,no=2,Ya=3,
|
|
65
|
+
`+t.repeat(" ",p.indent*I)}o(xs,"generateNextLine");function Ga(p,I){for(let B=0,S=p.implicitTypes.length;B<S;B+=1)if(p.implicitTypes[B].resolve(I))return!0;return!1}o(Ga,"testImplicitResolving");function Ct(p){return p===d||p===a}o(Ct,"isWhitespace");function Wn(p){return p>=32&&p<=126||p>=161&&p<=55295&&p!==8232&&p!==8233||p>=57344&&p<=65533&&p!==i||p>=65536&&p<=1114111}o(Wn,"isPrintable");function eo(p){return Wn(p)&&p!==i&&p!==l&&p!==c}o(eo,"isNsCharOrWhitespace");function bn(p,I,B){let S=eo(p),x=S&&!Ct(p);return(B?S:S&&p!==Q&&p!==De&&p!==et&&p!==At&&p!==Tt)&&p!==f&&!(I===G&&!x)||eo(I)&&!Ct(I)&&p===f||I===G&&x}o(bn,"isPlainSafe");function to(p){return Wn(p)&&p!==i&&!Ct(p)&&p!==D&&p!==Ee&&p!==G&&p!==Q&&p!==De&&p!==et&&p!==At&&p!==Tt&&p!==f&&p!==C&&p!==v&&p!==g&&p!==Ge&&p!==P&&p!==ae&&p!==y&&p!==h&&p!==m&&p!==Ce&&p!==sn}o(to,"isPlainSafeFirst");function Te(p){return!Ct(p)&&p!==G}o(Te,"isPlainSafeLast");function on(p,I){let B=p.charCodeAt(I),S;return B>=55296&&B<=56319&&I+1<p.length&&(S=p.charCodeAt(I+1),S>=56320&&S<=57343)?(B-55296)*1024+S-56320+65536:B}o(on,"codePointAt");function Ds(p){return/^\n* /.test(p)}o(Ds,"needIndentIndicator");let $a=1,no=2,Ya=3,Va=4,zn=5;function Ha(p,I,B,S,x,F,b,M){let Y,z=0,K=null,se=!1,ce=!1,Kn=S!==-1,so=-1,io=to(on(p,0))&&Te(on(p,p.length-1));if(I||b)for(Y=0;Y<p.length;z>=65536?Y+=2:Y++){if(z=on(p,Y),!Wn(z))return zn;io=io&&bn(z,K,M),K=z}else{for(Y=0;Y<p.length;z>=65536?Y+=2:Y++){if(z=on(p,Y),z===c)se=!0,Kn&&(ce=ce||Y-so-1>S&&p[so+1]!==" ",so=Y);else if(!Wn(z))return zn;io=io&&bn(z,K,M),K=z}ce=ce||Kn&&Y-so-1>S&&p[so+1]!==" "}return!se&&!ce?io&&!b&&!x(p)?$a:F===Tr?zn:no:B>9&&Ds(p)?zn:b?F===Tr?zn:no:ce?Va:Ya}o(Ha,"chooseScalarStyle");function Ja(p,I,B,S,x){p.dump=(function(){if(I.length===0)return p.quotingType===Tr?'""':"''";if(!p.noCompatMode&&(Nt.indexOf(I)!==-1||$.test(I)))return p.quotingType===Tr?'"'+I+'"':"'"+I+"'";let F=p.indent*Math.max(1,B),b=p.lineWidth===-1?-1:Math.max(Math.min(p.lineWidth,40),p.lineWidth-F),M=S||p.flowLevel>-1&&B>=p.flowLevel;function Y(z){return Ga(p,z)}switch(o(Y,"testAmbiguity"),Ha(I,M,p.indent,b,Y,p.quotingType,p.forceQuotes&&!S,x)){case $a:return I;case no:return"'"+I.replace(/'/g,"''")+"'";case Ya:return"|"+qa(I,p.indent)+ja(Xi(I,F));case Va:return">"+qa(I,p.indent)+ja(Xi(Du(I,b),F));case zn:return'"'+Zn(I)+'"';default:throw new e("impossible error: invalid scalar style")}})()}o(Ja,"writeScalar");function qa(p,I){let B=Ds(p)?String(I):"",S=p[p.length-1]===`
|
|
66
66
|
`,F=S&&(p[p.length-2]===`
|
|
67
67
|
`||p===`
|
|
68
68
|
`)?"+":S?"":"-";return B+F+`
|
|
@@ -73,18 +73,18 @@ ${l}`,this.dataLineCount++;return}if(yu(e,s,V$)){W$(e,i)&&(this.setEventFieldSiz
|
|
|
73
73
|
`:"")+Wa(Y,I),x=F}return S}o(Du,"foldString");function Wa(p,I){if(p===""||p[0]===" ")return p;let B=/ [^ ]/g,S,x=0,F,b=0,M=0,Y="";for(;S=B.exec(p);)M=S.index,M-x>I&&(F=b>x?b:M,Y+=`
|
|
74
74
|
`+p.slice(x,F),x=F+1),b=M;return Y+=`
|
|
75
75
|
`,p.length-x>I&&b>x?Y+=p.slice(x,b)+`
|
|
76
|
-
`+p.slice(b+1):Y+=p.slice(x),Y.slice(1)}o(Wa,"foldLine");function Zn(p){let I="",B=0;for(let S=0;S<p.length;B>=65536?S+=2:S++){B=on(p,S);let x=xe[B];!x&&Wn(B)?(I+=p[S],B>=65536&&(I+=p[S+1])):I+=x||wn(B)}return I}o(Zn,"escapeString");function Tu(p,I,B){let S="",x=p.tag;for(let F=0,b=B.length;F<b;F+=1){let M=B[F];p.replacer&&(M=p.replacer.call(B,String(F),M)),(E(p,I,M,!1,!1)||typeof M>"u"&&E(p,I,null,!1,!1))&&(S!==""&&(S+=","+(p.condenseFlow?"":" ")),S+=p.dump)}p.tag=x,p.dump="["+S+"]"}o(Tu,"writeFlowSequence");function ro(p,I,B,S){let x="",F=p.tag;for(let b=0,M=B.length;b<M;b+=1){let Y=B[b];p.replacer&&(Y=p.replacer.call(B,String(b),Y)),(E(p,I+1,Y,!0,!0,!1,!0)||typeof Y>"u"&&E(p,I+1,null,!0,!0,!1,!0))&&((!S||x!=="")&&(x+=xs(p,I)),p.dump&&c===p.dump.charCodeAt(0)?x+="-":x+="- ",x+=p.dump)}p.tag=F,p.dump=x||"[]"}o(ro,"writeBlockSequence");function Nu(p,I,B){let S="",x=p.tag,F=Object.keys(B);for(let b=0,M=F.length;b<M;b+=1){let Y="";S!==""&&(Y+=", "),p.condenseFlow&&(Y+='"');let z=F[b],K=B[z];p.replacer&&(K=p.replacer.call(B,z,K)),E(p,I,z,!1,!1)&&(p.dump.length>1024&&(Y+="? "),Y+=p.dump+(p.condenseFlow?'"':"")+":"+(p.condenseFlow?"":" "),E(p,I,K,!1,!1)&&(Y+=p.dump,S+=Y))}p.tag=x,p.dump="{"+S+"}"}o(Nu,"writeFlowMapping");function Fu(p,I,B,S){let x="",F=p.tag,b=Object.keys(B);if(p.sortKeys===!0)b.sort();else if(typeof p.sortKeys=="function")b.sort(p.sortKeys);else if(p.sortKeys)throw new e("sortKeys must be a boolean or a function");for(let M=0,Y=b.length;M<Y;M+=1){let z="";(!S||x!=="")&&(z+=xs(p,I));let K=b[M],se=B[K];if(p.replacer&&(se=p.replacer.call(B,K,se)),!E(p,I+1,K,!0,!0,!0))continue;let ce=p.tag!==null&&p.tag!=="?"||p.dump&&p.dump.length>1024;ce&&(p.dump&&c===p.dump.charCodeAt(0)?z+="?":z+="? "),z+=p.dump,ce&&(z+=xs(p,I)),E(p,I+1,se,!0,ce)&&(p.dump&&c===p.dump.charCodeAt(0)?z+=":":z+=": ",z+=p.dump,x+=z)}p.tag=F,p.dump=x||"{}"}o(Fu,"writeBlockMapping");function u(p,I,B){let S=B?p.explicitTypes:p.implicitTypes;for(let x=0,F=S.length;x<F;x+=1){let b=S[x];if((b.instanceOf||b.predicate)&&(!b.instanceOf||typeof I=="object"&&I instanceof b.instanceOf)&&(!b.predicate||b.predicate(I))){if(B?b.multi&&b.representName?p.tag=b.representName(I):p.tag=b.tag:p.tag="?",b.represent){let M=p.styleMap[b.tag]||b.defaultStyle,Y;if(r.call(b.represent)==="[object Function]")Y=b.represent(I,M);else if(s.call(b.represent,M))Y=b.represent[M](I,M);else throw new e("!<"+b.tag+'> tag resolver accepts not "'+M+'" style');p.dump=Y}return!0}}return!1}o(u,"detectType");function E(p,I,B,S,x,F,b){p.tag=null,p.dump=B,u(p,B,!1)||u(p,B,!0);let M=r.call(p.dump),Y=S;S&&(S=p.flowLevel<0||p.flowLevel>I);let z=M==="[object Object]"||M==="[object Array]",K,se;if(z&&(K=p.duplicates.indexOf(B),se=K!==-1),(p.tag!==null&&p.tag!=="?"||se||p.indent!==2&&I>0)&&(x=!1),se&&p.usedDuplicates[K])p.dump="*ref_"+K;else{if(z&&se&&!p.usedDuplicates[K]&&(p.usedDuplicates[K]=!0),M==="[object Object]")S&&Object.keys(p.dump).length!==0?(Fu(p,I,p.dump,x),se&&(p.dump="&ref_"+K+p.dump)):(Nu(p,I,p.dump),se&&(p.dump="&ref_"+K+" "+p.dump));else if(M==="[object Array]")S&&p.dump.length!==0?(p.noArrayIndent&&!b&&I>0?ro(p,I-1,p.dump,x):ro(p,I,p.dump,x),se&&(p.dump="&ref_"+K+p.dump)):(Tu(p,I,p.dump),se&&(p.dump="&ref_"+K+" "+p.dump));else if(M==="[object String]")p.tag!=="?"&&Ja(p,p.dump,I,F,Y);else{if(M==="[object Undefined]")return!1;if(p.skipInvalid)return!1;throw new e("unacceptable kind of an object to dump "+M)}if(p.tag!==null&&p.tag!=="?"){let ce=encodeURI(p.tag[0]==="!"?p.tag.slice(1):p.tag).replace(/!/g,"%21");p.tag[0]==="!"?ce="!"+ce:ce.slice(0,18)==="tag:yaml.org,2002:"?ce="!!"+ce.slice(18):ce="!<"+ce+">",p.dump=ce+" "+p.dump}}return!0}o(E,"writeNode");function
|
|
77
|
-
`:""}return o(w,"dump2"),xl.dump=w,xl}o(f0,"requireDumper");var Qm;function m0(){if(Qm)return Ze;Qm=1;let t=p0(),e=f0();function n(r,s){return function(){throw new Error("Function yaml."+r+" is removed in js-yaml 4. Use yaml."+s+" instead, which is now safe by default.")}}return o(n,"renamed"),Ze.Type=rt(),Ze.Schema=Bm(),Ze.FAILSAFE_SCHEMA=
|
|
76
|
+
`+p.slice(b+1):Y+=p.slice(x),Y.slice(1)}o(Wa,"foldLine");function Zn(p){let I="",B=0;for(let S=0;S<p.length;B>=65536?S+=2:S++){B=on(p,S);let x=xe[B];!x&&Wn(B)?(I+=p[S],B>=65536&&(I+=p[S+1])):I+=x||wn(B)}return I}o(Zn,"escapeString");function Tu(p,I,B){let S="",x=p.tag;for(let F=0,b=B.length;F<b;F+=1){let M=B[F];p.replacer&&(M=p.replacer.call(B,String(F),M)),(E(p,I,M,!1,!1)||typeof M>"u"&&E(p,I,null,!1,!1))&&(S!==""&&(S+=","+(p.condenseFlow?"":" ")),S+=p.dump)}p.tag=x,p.dump="["+S+"]"}o(Tu,"writeFlowSequence");function ro(p,I,B,S){let x="",F=p.tag;for(let b=0,M=B.length;b<M;b+=1){let Y=B[b];p.replacer&&(Y=p.replacer.call(B,String(b),Y)),(E(p,I+1,Y,!0,!0,!1,!0)||typeof Y>"u"&&E(p,I+1,null,!0,!0,!1,!0))&&((!S||x!=="")&&(x+=xs(p,I)),p.dump&&c===p.dump.charCodeAt(0)?x+="-":x+="- ",x+=p.dump)}p.tag=F,p.dump=x||"[]"}o(ro,"writeBlockSequence");function Nu(p,I,B){let S="",x=p.tag,F=Object.keys(B);for(let b=0,M=F.length;b<M;b+=1){let Y="";S!==""&&(Y+=", "),p.condenseFlow&&(Y+='"');let z=F[b],K=B[z];p.replacer&&(K=p.replacer.call(B,z,K)),E(p,I,z,!1,!1)&&(p.dump.length>1024&&(Y+="? "),Y+=p.dump+(p.condenseFlow?'"':"")+":"+(p.condenseFlow?"":" "),E(p,I,K,!1,!1)&&(Y+=p.dump,S+=Y))}p.tag=x,p.dump="{"+S+"}"}o(Nu,"writeFlowMapping");function Fu(p,I,B,S){let x="",F=p.tag,b=Object.keys(B);if(p.sortKeys===!0)b.sort();else if(typeof p.sortKeys=="function")b.sort(p.sortKeys);else if(p.sortKeys)throw new e("sortKeys must be a boolean or a function");for(let M=0,Y=b.length;M<Y;M+=1){let z="";(!S||x!=="")&&(z+=xs(p,I));let K=b[M],se=B[K];if(p.replacer&&(se=p.replacer.call(B,K,se)),!E(p,I+1,K,!0,!0,!0))continue;let ce=p.tag!==null&&p.tag!=="?"||p.dump&&p.dump.length>1024;ce&&(p.dump&&c===p.dump.charCodeAt(0)?z+="?":z+="? "),z+=p.dump,ce&&(z+=xs(p,I)),E(p,I+1,se,!0,ce)&&(p.dump&&c===p.dump.charCodeAt(0)?z+=":":z+=": ",z+=p.dump,x+=z)}p.tag=F,p.dump=x||"{}"}o(Fu,"writeBlockMapping");function u(p,I,B){let S=B?p.explicitTypes:p.implicitTypes;for(let x=0,F=S.length;x<F;x+=1){let b=S[x];if((b.instanceOf||b.predicate)&&(!b.instanceOf||typeof I=="object"&&I instanceof b.instanceOf)&&(!b.predicate||b.predicate(I))){if(B?b.multi&&b.representName?p.tag=b.representName(I):p.tag=b.tag:p.tag="?",b.represent){let M=p.styleMap[b.tag]||b.defaultStyle,Y;if(r.call(b.represent)==="[object Function]")Y=b.represent(I,M);else if(s.call(b.represent,M))Y=b.represent[M](I,M);else throw new e("!<"+b.tag+'> tag resolver accepts not "'+M+'" style');p.dump=Y}return!0}}return!1}o(u,"detectType");function E(p,I,B,S,x,F,b){p.tag=null,p.dump=B,u(p,B,!1)||u(p,B,!0);let M=r.call(p.dump),Y=S;S&&(S=p.flowLevel<0||p.flowLevel>I);let z=M==="[object Object]"||M==="[object Array]",K,se;if(z&&(K=p.duplicates.indexOf(B),se=K!==-1),(p.tag!==null&&p.tag!=="?"||se||p.indent!==2&&I>0)&&(x=!1),se&&p.usedDuplicates[K])p.dump="*ref_"+K;else{if(z&&se&&!p.usedDuplicates[K]&&(p.usedDuplicates[K]=!0),M==="[object Object]")S&&Object.keys(p.dump).length!==0?(Fu(p,I,p.dump,x),se&&(p.dump="&ref_"+K+p.dump)):(Nu(p,I,p.dump),se&&(p.dump="&ref_"+K+" "+p.dump));else if(M==="[object Array]")S&&p.dump.length!==0?(p.noArrayIndent&&!b&&I>0?ro(p,I-1,p.dump,x):ro(p,I,p.dump,x),se&&(p.dump="&ref_"+K+p.dump)):(Tu(p,I,p.dump),se&&(p.dump="&ref_"+K+" "+p.dump));else if(M==="[object String]")p.tag!=="?"&&Ja(p,p.dump,I,F,Y);else{if(M==="[object Undefined]")return!1;if(p.skipInvalid)return!1;throw new e("unacceptable kind of an object to dump "+M)}if(p.tag!==null&&p.tag!=="?"){let ce=encodeURI(p.tag[0]==="!"?p.tag.slice(1):p.tag).replace(/!/g,"%21");p.tag[0]==="!"?ce="!"+ce:ce.slice(0,18)==="tag:yaml.org,2002:"?ce="!!"+ce.slice(18):ce="!<"+ce+">",p.dump=ce+" "+p.dump}}return!0}o(E,"writeNode");function R(p,I){let B=[],S=[];k(p,B,S);let x=S.length;for(let F=0;F<x;F+=1)I.duplicates.push(B[S[F]]);I.usedDuplicates=new Array(x)}o(R,"getDuplicateReferences");function k(p,I,B){if(p!==null&&typeof p=="object"){let S=I.indexOf(p);if(S!==-1)B.indexOf(S)===-1&&B.push(S);else if(I.push(p),Array.isArray(p))for(let x=0,F=p.length;x<F;x+=1)k(p[x],I,B);else{let x=Object.keys(p);for(let F=0,b=x.length;F<b;F+=1)k(p[x[F]],I,B)}}}o(k,"inspectNode");function w(p,I){I=I||{};let B=new xu(I);B.noRefs||R(p,B);let S=p;return B.replacer&&(S=B.replacer.call({"":S},"",S)),E(B,0,S,!0,!0)?B.dump+`
|
|
77
|
+
`:""}return o(w,"dump2"),xl.dump=w,xl}o(f0,"requireDumper");var Qm;function m0(){if(Qm)return Ze;Qm=1;let t=p0(),e=f0();function n(r,s){return function(){throw new Error("Function yaml."+r+" is removed in js-yaml 4. Use yaml."+s+" instead, which is now safe by default.")}}return o(n,"renamed"),Ze.Type=rt(),Ze.Schema=Bm(),Ze.FAILSAFE_SCHEMA=km(),Ze.JSON_SCHEMA=Tm(),Ze.CORE_SCHEMA=Nm(),Ze.DEFAULT_SCHEMA=Dl(),Ze.load=t.load,Ze.loadAll=t.loadAll,Ze.dump=e.dump,Ze.YAMLException=Bo(),Ze.types={binary:Mm(),float:Dm(),map:Rm(),null:Sm(),pairs:_m(),set:Pm(),timestamp:Fm(),bool:vm(),int:xm(),merge:Um(),omap:Lm(),seq:bm(),str:wm()},Ze.safeLoad=n("safeLoad","load"),Ze.safeLoadAll=n("safeLoadAll","loadAll"),Ze.safeDump=n("safeDump","dump"),Ze}o(m0,"requireJsYaml");var E0=m0(),C0=g0(E0),{Type:sJ,Schema:iJ,FAILSAFE_SCHEMA:oJ,JSON_SCHEMA:aJ,CORE_SCHEMA:AJ,DEFAULT_SCHEMA:cJ,load:Tl,loadAll:I0,dump:uJ,YAMLException:lJ,types:dJ,safeLoad:gJ,safeLoadAll:hJ,safeDump:pJ}=C0;var mJ=Ws.join(".skyramp","workspace.yml");var y0={py:"python",go:"go",java:"java",kt:"kotlin",rb:"ruby",cs:"csharp",ts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",kts:"kotlin",rs:"rust",php:"php",scala:"scala",swift:"swift",ex:"elixir",exs:"elixir",dart:"dart",c:"c",h:"c",cpp:"cpp",cc:"cpp",cxx:"cpp",hpp:"cpp",hh:"cpp",groovy:"groovy"};var EJ=new Set(Object.values(y0));function Ul(t){return $m(t)&&al(t).length===0&&Al(t.inputs?.sharedEnvironment).length===0}o(Ul,"sutIsHealthy");function $m(t){let e=v0(t);if(!e&&t.state.stages.deploy?.status!=="passed")return!1;let n=qt(t,"deploy.json");return n?n.outcome==="clean"||n.outcome==="recipe-drift":!e}o($m,"sutCameUp");function v0(t){let e=t.state.stages.plan,n=t.state.stages.deploy;return!(t.inputs?.pipeline?t.inputs.pipeline==="two-step":!n)||e?.status!=="passed"?!1:!n||n.updatedAt<=e.updatedAt}o(v0,"broughtUpByPlan");var zs=(a=>(a.Place="place",a.Update="update",a.Regenerate="regenerate",a.Delete="delete",a.Verify="verify",a.None="none",a))(zs||{}),jt=(r=>(r.Pass="pass",r.Fail="fail",r.Skip="skip",r))(jt||{}),_t=A.string().trim().min(1),Ym=A.object({case:_t.describe("a covers id \u2014 the recommend case this test realizes"),status:A.nativeEnum(jt)}),Vm=A.object({exit:A.number({invalid_type_error:"must be a number or null"}).nullable().describe("process exit of the re-run; null when no SUT was available"),details:A.string().optional().describe("what failed, or why a file was not run \u2014 required on any non-zero exit"),tests:A.array(Ym).optional().describe("ONE ENTRY PER CASE the file covers; must agree with exit (0 \u2192 no fail; non-zero \u2192 at least one)")}),Hm=A.object({from:A.string().optional().describe("staged path \u2014 required for placements"),file:_t.describe("final path relative to its repository, inside that checkout, with a source-file extension"),repository:_t.optional().describe("owner/repo the file lives in, when the run has several checkouts; omit for the working checkout"),action:A.nativeEnum(zs),covers:A.array(A.string()).optional().describe("recommend ids a placed test covers"),repro:A.boolean().optional().describe("this test is MEANT to fail \u2014 it reproduces a reported bug"),finding:A.boolean().optional().describe("a non-repro test that failed on a REAL product bug"),placementBroken:A.boolean().optional().describe('placement/harness problem one repair could not fix \u2014 every reran.tests entry is then "skip"'),keptReason:_t.optional().describe("why a planned delete/regenerate was declined and the file kept"),isolatedRun:_t.optional().describe('only for a test marked "runs alone": the command, from its checkout root and without a shell, that runs only this file and writes its JUnit XML into $SKYRAMP_RESULTS_DIR (named by its path: no shell expands it) \u2014 the harness runs it, so leave reran.exit null'),reran:Vm,assertionCount:A.number().int().nonnegative().optional().describe("[derived] assertions reachable from the file, counted at write time")}).refine(t=>t.action!=="place"||typeof t.from=="string"&&t.from.trim().length>0,{message:'is a place but has no "from" staged path',path:[]}),Jm=(n=>(n.Junit="junit",n.Converter="converter",n))(Jm||{}),x0=_t.optional().describe("the items[].file this test is in \u2014 needed only when two of this suite's files cover the same case id"),D0=A.object({results:_t.describe("the JUnit XML file this run wrote, a plain file name inside $SKYRAMP_RESULTS_DIR (e.g. backend.xml)"),source:A.nativeEnum(Jm),run:_t.describe("the command you ran that wrote it, exactly as you ran it (with any converter)"),files:A.array(_t).min(1).describe("the items[].file paths this run covered"),cases:A.array(A.object({test:_t.describe("the test's name as the runner reports it, qualified by its class or file (e.g. tests/test_a.py::test_x) when the bare name repeats"),case:_t.describe("the covers id it realizes"),file:x0})).describe("map each reported test name to the case it covers")}),T0=A.object({suites:A.array(D0).min(1)}),Ml=A.object({schemaVersion:A.literal(1),items:A.array(Hm),runnerResults:T0.optional().describe("the JUnit XML your test runs wrote into $SKYRAMP_RESULTS_DIR, so the harness reads each test's result from the runner \u2014 omit only when no SUT is available"),ignored:A.array(A.string()).describe("existing tests assessed and deliberately left untouched"),summary:_t.describe("one paragraph")});var oq=10*6e4;var Kr=Ve(require("fs"));function jm(t){let e=[];for(let n of _0(t)){let r=n;r?.type==="tool_use"&&typeof r.name=="string"&&e.push(r.name)}return e}o(jm,"toolUsesFromTrace");function Wm(t){return jm(t).some(e=>/^mcp__skyramp__skyramp_(contract|integration)_test_generation$/.test(e))}o(Wm,"usedSkyrampCodegen");function zm(t){return jm(t).some(e=>e==="mcp__skyramp__skyramp_ui_test_generation")}o(zm,"usedSkyrampUiCodegen");function L0(t){if(!Kr.existsSync(t))return{};for(let e of Kr.readFileSync(t,"utf-8").split(`
|
|
78
78
|
`)){let n=e.trim();if(n)try{let r=JSON.parse(n);if(r.type==="system"&&r.subtype==="init"&&Array.isArray(r.mcp_servers))return Object.fromEntries(r.mcp_servers.filter(s=>typeof s.name=="string").map(s=>[s.name,typeof s.status=="string"?s.status:"unknown"]))}catch{}}return{}}o(L0,"mcpServerStatuses");function Zm(t){let e=L0(t).skyramp;return e===void 0||e==="connected"}o(Zm,"skyrampConnected");function _0(t){if(!Kr.existsSync(t))return[];let e=[];for(let n of Kr.readFileSync(t,"utf-8").split(`
|
|
79
|
-
`)){let r=n.trim();if(!r)continue;let s;try{s=JSON.parse(r)}catch{continue}let i=s.message?.content;Array.isArray(i)&&e.push(...i)}return e}o(_0,"contentBlocks");var P0=A.object({route:A.string().describe('the page this step happens on, e.g. "/products/:id"'),action:A.string().describe('what the user does there, through the UI, e.g. "clicks Add to cart"'),clauses:A.array(A.string()).optional().describe("the plan clause ids this step exercises"),check:A.string().optional().describe("what the user then sees that shows the step worked; the test asserts it")}),wo=(n=>(n.InProcess="in-process",n.Browser="browser",n))(wo||{}),Km=(r=>(r.Spec="spec",r.PrDescription="pr-description",r.Inferred="inferred",r))(Km||{}),Xm=A.object({id:A.string().describe('e.g. "J1"'),name:A.string().describe(`the flow in a user's words, e.g. "buy a product with a coupon"`),entry:A.string().describe("the route the user starts the flow on: the app's normal starting page for it, never a deep link into its middle"),steps:A.array(P0).describe("every step, in order, from the entry page to the outcome: at least two"),outcome:A.string().describe("what the user sees at the end that shows the flow worked: every part of it"),finishes:A.string().optional().describe('the user action that completes the task, verb first, e.g. "places the order"; the journey walks on to it'),kind:A.nativeEnum(wo).optional().describe("in-process when the repo's in-process tests (components, app routes) can walk the whole flow and check it; else browser"),source:A.nativeEnum(Km).optional().describe("spec or pr-description when one describes this flow (quote it under evidence), else inferred"),evidence:A.string().optional().describe("for spec or pr-description: its words that describe the flow"),testFile:A.string().describe("the browser test file it goes in, beside the repo's existing e2e tests")}),CA=A.object({journey:A.string().describe("the plan's journey id"),file:A.string().describe("the browser test file that walks it"),brokeAt:A.object({step:A.number().int().describe("the 1-based step whose check failed first"),expected:A.string(),actual:A.string().describe("what the app did instead, from the runner's output"),notReached:A.array(A.number().int()).optional().describe("later steps the test could not get to")}).optional().describe("only when the journey's test failed on a check: where"),test:A.string().describe("the title of the one test in that file that walks it end to end")});var Pl=(s=>(s.RestApi="rest-api",s.Frontend="frontend",s.FullStack="full-stack",s.Other="other",s))(Pl||{}),bo=(s=>(s.Critical="critical",s.High="high",s.Medium="medium",s.Low="low",s))(bo||{}),IA=(r=>(r.Suspected="suspected",r.Latent="latent",r.Refuted="refuted",r))(IA||{}),tE=(r=>(r.Skyramp="skyramp",r.External="external",r.Unknown="unknown",r))(tE||{}),nE=(s=>(s.Cascade="cascade",s.Restrict="restrict",s.Orphan="orphan",s.Unknown="unknown",s))(nE||{}),Zs=(s=>(s.RequirementReference="requirement-reference",s.Spec="spec",s.PrDescription="pr-description",s.CouldBreak="could-break",s))(Zs||{}),Ie=A.string().trim().min(1),Ks=Ie.describe("file:line"),eE=o(t=>Ie.refine(e=>e.length<=400,e=>({message:`is ${e.length} characters, over the 400 cap \u2014 ${t}`})),"cap400"),ko=Ie.optional().describe('multi-repo only: the OTHER checkout this lives in \u2014 its "owner/repo" slug, or the directory name if the run discovered it; omit for the working checkout'),_l=A.object({method:Ie,path:Ie,service:A.string().optional(),evidence:Ks,repository:ko}),O0=A.object({id:Ie.describe("short-slug, e.g. R9"),statement:Ie.max(400,"exceeds 400 characters \u2014 state the requirement, do not paste the spec section").describe("a testable obligation, not a summary"),source:A.nativeEnum(Zs).describe("spec outranks pr-description when both state it"),evidence:Ie.describe("spec: file:line or a section locator. pr-description: the quoted phrase it comes from.")}),G0=A.object({id:Ie.describe("short-slug"),statement:Ie.max(400,"exceeds 400 characters \u2014 state the behaviour, do not paste the code").describe("what the change makes true"),surface:Ie.describe("METHOD /path, or a component/page name"),evidence:Ie.describe("file:line from the diff that introduces it"),repository:ko,satisfies:A.array(Ie).optional().describe("requirement ids (from `requirements`) this behaviour correctly implements \u2014 a requirement met only in part is ALSO named by the finding that shows the rest (conflictsWith)")}),$0=A.object({id:Ie.describe("short-slug"),file:Ie,line:A.number().optional(),claim:eE("shorten it to the one sentence that states the defect, and move the supporting detail into `evidence`"),severity:A.nativeEnum(bo),evidence:eE("cite the file:line and the one line that shows it, rather than reproducing the surrounding code").describe("quoted diff/code line"),status:A.nativeEnum(IA),repository:ko,conflictsWith:A.array(Ie).optional().describe("requirement ids (from `requirements`) this defect contradicts or leaves unimplemented \u2014 a lower-precedence source (the diff, or the PR description) lost")}),Y0=A.object({name:Ie,language:A.string().optional(),framework:A.string().optional(),evidence:Ks,repository:ko}),H0=A.object({dir:Ie,framework:A.string().optional(),kind:A.nativeEnum(tE),evidence:Ks,repository:ko}),V0=A.object({from:Ie,to:Ie,onDelete:A.nativeEnum(nE),evidence:Ks}),J0=A.object({entity:Ie,field:Ie,values:A.array(A.string()),evidence:Ks}),q0=A.object({entities:A.array(A.object({name:Ie,evidence:Ks})),references:A.array(V0).describe("INBOUND references \u2014 what still points at an entity when it is deleted"),stateFields:A.array(J0)}),Bq=A.object({schemaVersion:A.literal(1),repository:A.object({path:Ie.describe("absolute repo path"),currentBranch:Ie,baseBranch:Ie}),project:A.object({type:A.nativeEnum(Pl),primaryLanguage:Ie,languages:A.array(A.string()),frameworks:A.array(A.string())}),services:A.array(Y0),infrastructure:A.object({containerized:A.boolean(),hasDockerCompose:A.boolean(),composeFiles:A.array(A.string()),hasCiCd:A.boolean()}),diff:A.object({changedFiles:A.array(A.string()).describe("as git reports them; a file in another checkout may carry that repo's name"),nonApplicationOnly:A.boolean(),summary:Ie.describe("\u2264400 chars")}),endpoints:A.object({new:A.array(_l),modified:A.array(_l),removed:A.array(_l)}),existingTests:A.object({locations:A.array(H0)}),entityMap:q0,requirements:A.array(O0).describe("from a spec (attached or linked) and/or the PR description; empty when neither states a testable obligation"),behaviors:A.array(G0),findings:A.array($0),unexamined:A.array(A.string()).describe("files or areas outside this change you did not open"),summary:Ie.describe("one paragraph on what this change does and its test-relevant risk")});var yA=(n=>(n.Skyramp="skyramp",n.Llm="llm",n))(yA||{}),Nn=A.string().trim().min(1),j0=A.object({case:Nn.describe("recommend id this assertion enforces"),evidence:Nn.describe("the exact assertion line from the file that checks that case's observable")}),W0=A.object({kind:A.nativeEnum(rA),target:Nn.describe("the dependency, endpoint or data it affects"),mechanism:A.nativeEnum(sA).describe("test_code: the test applies and undoes it; skyramp_mocker: a mock the test applies on a Skyramp worker; recipe_override: the mocker cannot reach the dependency (its URL is fixed in the build)"),detail:Nn.describe("what it sets up"),worker:Nn.optional().describe("skyramp_mocker: host:port of the worker the test applies the mock to (default localhost:35142)"),cleanup:Nn.optional().describe("seed: a command, without a shell, that removes the data when the test does not")}),z0=A.object({file:Nn.describe("staged path under .skyramp/staged/"),source:A.nativeEnum(yA),language:Nn,covers:A.array(A.string()).min(1,"must be a non-empty array of recommend ids").describe("recommend ids this test covers"),assertions:A.array(j0).min(1,"must be a non-empty array").describe("one per case covered, citing the real line"),context:A.array(W0).optional().describe("what the test sets up against the running app, in order: data it seeds, Skyramp mocks it applies, env overrides; omit when none")}),Ol=A.object({schemaVersion:A.literal(1),tests:A.array(z0),deferredUi:A.array(A.string()).describe("recommend ui ids left for the UI stage (generate) \u2014 [] for generate-ui"),summary:Nn.describe("one paragraph")});var Fn=A.string().trim().min(1),Ro=72,Z0=A.object({repository:Fn.optional().describe("owner/repo of the checkout this lint ran in, when the run has several; omit for the working checkout"),tool:A.string(),command:A.string().describe("the exact command you ran, scoped to the changed files"),clean:A.boolean(),fixed:A.array(A.string()).optional().describe("files you fixed"),uncovered:A.array(A.string()).describe("changed/new files this linter's own config does not match (wrong extension, wrong directory) \u2014 so `clean` never examined them, even though CI may still execute them. Empty array, not omitted, when every changed/new file IS covered.")}),Uq=A.object({schemaVersion:A.literal(1),lint:A.array(Z0).min(1).describe("one entry per checkout this run wrote tests in, each run from that checkout"),fileConventions:A.object({ok:A.boolean(),notes:A.string().optional()}),ciReadiness:A.object({covered:A.boolean().describe("will the repo's CI run these tests?"),notes:A.string().optional()}),dependencies:A.object({added:A.array(A.object({package:A.string(),manifest:A.string(),repository:Fn.optional().describe("owner/repo of the manifest's checkout; omit for the working checkout"),reason:Fn.optional().describe("why the test must run inside the application's own test environment, so its manifest had to change \u2014 required for every entry")})).describe("every package added to an APPLICATION manifest (an exception, surfaced in the report); never the Testbot test package's own")}),support:A.array(A.object({file:Fn,repository:Fn.optional().describe("owner/repo of the file's checkout; omit for the working checkout")})).optional().describe("the files the tests need besides themselves (helper modules, page objects, fixtures, snapshots), delivered with them"),commit:A.object({message:Fn.refine(t=>t.split(`
|
|
80
|
-
`)[0].length<=Ro,{message:`subject line must be <= ${Ro} chars`})}),pr:A.object({title:Fn.max(Ro,`must be <= ${Ro} chars`),body:Fn}),ready:A.boolean().describe("a statement of fact: true only if the tests are fit to commit as they stand"),blockers:A.array(A.string()).describe("what blocks the commit \u2014 required non-empty when ready is false"),summary:Fn.describe("one paragraph")});var dr=He(require("fs")),ei=He(require("path")),AE=require("child_process");var Un="{junit}",sE=(r=>(r.Junit="junit",r.Trx="trx",r.GoTestJson="go-test-json",r))(sE||{}),iE=(e=>(e.Minitest="minitest",e))(iE||{}),rE=A.string().trim().min(1),Xs=A.object({cwd:rE.describe('repo-relative directory the command starts in ("." for the root)'),argv:A.array(rE).min(1).describe(`the command as separate arguments, run without a shell; for a junit or trx report one argument holds ${Un}, where the report is written (not for Maven or Gradle, whose build writes its own)`),env:A.record(A.string(),A.string()).optional().describe("plain settings the tests read beyond the repository's CI test job (RAILS_ENV=test, DB_CONNECTION=sqlite); never a credential, PATH, or a tool's install path"),report:A.object({format:A.nativeEnum(sE).describe(`junit (JUnit XML to ${Un}), trx (to ${Un}), or go-test-json (go test -json on the command's output)`),reporter:A.nativeEnum(iE).optional().describe("a reporter Testbot loads for a runner that writes no report: minitest")}).optional().describe("the report the command writes; junit when omitted")});var Pq=`pytest, Jest, Vitest and node --test tests run as the run already knows them. A test in any other framework also gives "run": the repository's own command for only those tests, from the directory the repository runs it in, as separate arguments without a shell. Its "report" says what the runner writes: junit (JUnit XML to the argument ${Un}), trx (a TRX file to ${Un}, which every dotnet test writes with its built-in logger), or go-test-json (go test -json, read from the command's output). A Maven or Gradle command names no ${Un}: its build writes JUnit XML to its own report directory, which the run reads. Use a reporter the repository already has, or one of those; a reporter or converter the command fetches is the version the repository pins, or else its latest release (an older one may not build with the repository's toolchain). For minitest, which writes none, give report.reporter "minitest" and the run fills ${Un} itself. A setting the tests read goes in "env" (RAILS_ENV=test): the run sets it, so never wrap the command in a shell to set one. The run executes the command and reads that report.`;var Xr=(s=>(s.ExistingEvidenceSufficient="existing_evidence_sufficient",s.TargetedUnit="targeted_unit",s.RuntimeRequired="runtime_required",s.BlockedPreflight="blocked_preflight",s))(Xr||{}),lr=(i=>(i.ExistingEvidence="existing_evidence",i.Unaffected="unaffected",i.ExistingUnit="existing_unit",i.NewUnit="new_unit",i.Runtime="runtime",i))(lr||{}),$l=(n=>(n.Repository="repository",n.Testbot="testbot",n))($l||{}),Yl=(r=>(r.Identified="identified",r.Passed="passed",r.Failed="failed",r))(Yl||{}),dt=A.string().trim().min(1),K0=A.string().regex(/^[a-z0-9][a-z0-9-]*$/,"must be a short lowercase slug").describe("short-slug");var X0=A.object({id:K0,source:A.nativeEnum($l),kind:A.nativeEnum(rr),outcome:A.nativeEnum(Yl),summary:dt.max(400).describe("one line: what it shows"),tests:A.array(dt).optional().describe("source repository: the existing tests, as repo-relative paths, optionally path::test-name"),repository:dt.optional().describe("source repository: owner/repo the tests live in, when the run has several checkouts; omit for the working checkout"),command:dt.optional().describe("source testbot: the exact command you ran, as you ran it"),run:Xs.optional().describe("source repository, for tests in a framework other than pytest, jest, vitest and node --test: how the run executes only these tests, all of them in one command, with the repository's own runner writing JUnit XML to {junit}. Name each test (path::test-name): a test is credited to a file only by its name or by a report that names the file")}),ex=A.object({behaviorId:dt.describe("an id from analyze's behaviors"),mechanism:A.nativeEnum(lr),evidenceIds:A.array(dt).default([]).describe("existing_evidence: the ci-<n> or evidence ids that establish it; existing_unit: the evidence id naming the tests to run"),covers:A.string().trim().optional().describe('new_unit / runtime: the missing evidence this obtains, e.g. "the boundary the change moved"; unaffected: why the change cannot reach it, citing path:line')}),tx=A.object({behaviorId:A.string().trim().optional().describe("an id from analyze's behaviors, when it is about one"),missing:dt.max(600).describe("the evidence that is required and cannot be obtained in this run")}),nx=A.object({file:dt.describe("the changed file the failure is in"),repository:dt.optional().describe("owner/repo the file is in, when the run has several checkouts; omit for the working checkout"),reason:dt.max(300).describe("what prerequisite the change fails"),evidence:dt.max(400).describe("the error line, quoted")}),rx=A.object({behaviorId:dt.describe("an id from analyze's behaviors"),reason:dt.max(600).describe("\u2264600 characters: why this change leaves the behavior's result as it was, citing the unchanged line that decides it (path:line)")}),So=A.object({schemaVersion:A.literal(1),decision:A.nativeEnum(Xr),evidence:A.array(X0).describe("evidence this session found or produced; CI results are the ci-<n> items and are not restated here"),plan:A.array(ex).describe("how each changed behavior's evidence is obtained"),gaps:A.array(tx),outOfScope:A.array(rx).optional().describe("behaviors analyze found that this change neither changes nor states"),blocked:nx.optional().describe("only for blocked_preflight"),rationale:dt.max(1200).describe("\u22641200 characters: why this evidence is enough, or what it still lacks \u2014 the scope you chose and why")});function BA(t){let e=qt(t,"recommend.json");if(!e||!Array.isArray(e.generate)||!Array.isArray(e.maintenance))return;let n=e;return{...n,maintenance:n.maintenance.map(({repository:r,...s})=>({...s,test:s.test.trim().replace(/^\.\//,""),...r?.trim()?{repository:r.trim()}:{}}))}}o(BA,"readRecommend");function ax(t){return Tn(Ol,t).errors}o(ax,"validateGenerateOutput");function Ax(t,e=[]){let{value:n,error:r}=Lt(t,e);if(r)return{errors:[r]};let s=ax(n);return s.length>0?{errors:s}:{generate:n,errors:[]}}o(Ax,"parseGenerateText");function wA(t,e=[]){return Ax(t.stdout,e)}o(wA,"parseGenerateFromSession");function cx(t){return t.generate.filter(e=>e.type!=="ui").map(e=>e.id)}o(cx,"backendCases");function cE(t){return t.generate.filter(e=>e.type==="ui").map(e=>e.id)}o(cE,"uiCases");var bA={backend:{stage:"generate",cases:cx,noRecommendCoverage:"recommend.json missing or malformed \u2014 cannot check coverage",noRecommendIntent:"recommend.json missing or malformed \u2014 cannot check intent",uncovered:o(t=>`recommend case "${t}" is not covered by any generated test`,"uncovered"),unknownCovered:o(t=>`test covers unknown recommend id "${t}"`,"unknownCovered"),unasserted:o(t=>`case "${t}" has no verified assertion enforcing its expected_observable`,"unasserted"),usedCodegen:Wm,codegenHint:"These tests were hand-written. Skyramp codegen (skyramp_contract_test_generation / skyramp_integration_test_generation) was available but not used \u2014 it computes valid sample data and response correlations. Prefer scaffolding with it and then refining, especially for the failures above."},ui:{stage:"generate-ui",cases:cE,noRecommendCoverage:"recommend.json not found \u2014 cannot check UI coverage",noRecommendIntent:"recommend.json not found \u2014 cannot check UI intent",uncovered:o(t=>`UI case "${t}" is not covered by any generated UI test`,"uncovered"),unknownCovered:o(t=>`test covers "${t}" which is not a recommend UI case`,"unknownCovered"),unasserted:o(t=>`UI case "${t}" has no verified assertion enforcing its expected_observable`,"unasserted"),usedCodegen:zm,codegenHint:"This UI test was hand-authored. Skyramp UI codegen (skyramp_ui_test_generation) was available but not used. Prefer scaffolding with it and then refining, especially for the failures above."}},yj=Ar("generate-schema",(t,e)=>wA(e,t.secretValues));function ux(t){let e=bA[t];return{name:`${e.stage}-coverage`,verify(n,r){let{generate:s,errors:i}=wA(r,n.secretValues);if(!s)return lt(this.name,i);let a=BA(n);if(!a)return lt(this.name,[e.noRecommendCoverage]);let c=new Set(s.tests.flatMap(h=>h.covers)),l=[],d=e.cases(a);for(let h of d)c.has(h)||l.push(e.uncovered(h));let g=new Set(t==="ui"?d:a.generate.map(h=>h.id));for(let h of c)g.has(h)||l.push(e.unknownCovered(h));if(t==="backend"){let h=new Set(s.deferredUi),f=new Set(cE(a));for(let m of f)!h.has(m)&&!c.has(m)&&l.push(`UI case "${m}" is neither covered nor deferred to the UI stage`);for(let m of h)f.has(m)||l.push(`deferredUi lists "${m}" which is not a UI case`)}return l.length===0?{name:this.name,passed:!0}:lt(this.name,l)}}}o(ux,"generateCoverageGateFor");function lx(t){let e=bA[t];return{name:`${e.stage}-intent`,verify(n,r){let{generate:s,errors:i}=wA(r,n.secretValues);if(!s)return lt(this.name,i);let a=BA(n);if(!a)return lt(this.name,[e.noRecommendIntent]);let{asserted:c,errors:l,badFiles:d}=Ex(s,n.inputs.repositoryPath),g=l.length;for(let f of e.cases(a))c.has(f)||l.push(e.unasserted(f));if(l.length===0)return{name:this.name,passed:!0};let h=lt(this.name,l);return g>0&&g===l.length&&d.size>0?{...h,droppable:[...d]}:h}}}o(lx,"generateIntentGateFor");function dx(t){let e=bA[t];return n=>{if(!n.inputs.skyrampMcp?.command||t==="backend"&&!Ul(n))return;let r=ei.join(n.outputsDir,`${e.stage}-stream.ndjson`);if(!(!dr.existsSync(r)||e.usedCodegen(r)))return Zm(r)?e.codegenHint:"Skyramp codegen tools were configured but the MCP server did not connect this session, so they were not available. Hand-authoring was the only option; this is an environment problem, not yours."}}o(dx,"codegenRetryHintFor");var Qj=ux("backend"),Bj=lx("backend"),wj=dx("backend");var aE=o(t=>t.replace(/\s+/g,""),"squeeze");var Hl={python:[/\bassert\s*[({\w"'`]/g,/\bpytest\.raises\s*\(/g,/\bself\.assert\w*\s*\(/g],typescript:[/\bexpect\s*\(/g,/\.should\b/g,/\bassert\s*[.(]/g],go:[/\bt\.(Error|Errorf|Fatal|Fatalf|Fail|FailNow)\s*\(/g,/\b(assert|require)\.\w+\s*\(/g],java:[/\bassert\w*\s*\(/g,/\bassertThat\s*\(/g],ruby:[/\bexpect\s*[({]/g,/\bassert\w*\b/g,/\.should\b/g]};for(let[t,e]of[["javascript","typescript"],["kotlin","java"]])Hl[t]=Hl[e];function gx(t,e){if(t.includes(Co(e))||aE(t).includes(aE(e)))return!0;let n=e.split(/\r?\n/).map(r=>r.trim()).filter(r=>r&&!/^(\/\/|#|\*|\/\*)/.test(r));return n.length>0&&n.every(r=>t.includes(Co(r)))?!0:mx(t,e)}o(gx,"evidenceFound");var hx=/\bassert\w*\b|\bexpect\s*\(|\.should\b|\brequire\s*\(/i,px=12,fx=/,\s*\(\s*#|,\s*f?["'`]|\s+#\s|\s+\/\/|\s*\((?:line|lines|at line)\b|\s*,\s*$/i;function mx(t,e){let n=e.split(/\s*;\s*|\s*\.\.\.\s*|\r?\n/),r=0;for(let s of n){let i=hx.exec(s);if(!i)continue;let a=s.slice(i.index),c=fx.exec(a);if(c&&(a=a.slice(0,c.index)),a=Co(a).replace(/[,\s]+$/,""),a.length<px||!t.includes(a))return!1;r++}return r>0}o(mx,"annotatedAssertionFound");function Ex(t,e){let n=new Set,r=[],s=new Set;for(let i of t.tests){let a=ei.resolve(e,i.file);if(!dr.existsSync(a))continue;let c=Co(dr.readFileSync(a,"utf-8"));for(let l of i.assertions??[]){if(!gx(c,l.evidence)){r.push(`assertion evidence for "${l.case}" not found in ${i.file} \u2014 cite the real assertion line`),s.add(i.file);continue}i.covers.includes(l.case)?n.add(l.case):(r.push(`assertion cites case "${l.case}" not in that test's covers[]`),s.add(i.file))}}return{asserted:n,errors:r,badFiles:s}}o(Ex,"verifiedAssertions");var Cx=/\.(spec|test)\.[cm]?[jt]sx?$/i;function uE(t){let e;try{e=(0,AE.execFileSync)("git",[...fA,"status","--porcelain","--untracked-files=all"],{env:Dn(),cwd:t,encoding:"utf-8",stdio:["ignore","pipe","ignore"]})}catch{return}let n=o(s=>/_scaffold/i.test(s)||hA.test(s),"isTestLitter"),r=[];for(let s of e.split(`
|
|
81
|
-
`)){if(!s.trim()||s.length>1&&s[1]==="D")continue;let i=s.slice(3).trim(),a=i.indexOf(" -> ");if(a!==-1&&(i=i.slice(a+4).trim()),i=i.replace(/^"|"$/g,""),!i)continue;let c=i.replace(/^\.\//,"");c.startsWith(".skyramp/")||!n(c)||r.push(c)}return r}o(uE,"testLitter");function Ix(t){let e=bA[t],n=t==="ui";return{name:`${e.stage}-no-litter`,verify(r){let s=uE(r.inputs.repositoryPath);if(s===void 0)return{name:this.name,passed:!0};let i=s.filter(a=>Cx.test(a)===n);return i.length===0?{name:this.name,passed:!0}:lt(this.name,[`${e.stage} left files outside .skyramp/ \u2014 move the staged test into .skyramp/staged/ and delete any codegen draft (e.g. *_scaffold.*): ${i.slice(0,6).join(", ")}`])}}}o(Ix,"noLitterGateFor");var bj=Ix("backend");var vo=He(require("fs")),es=He(require("path"));function gE(t){return Tn(Ml,t).errors}o(gE,"validateAdaptOutput");function Bx(t,e=[]){let{value:n,error:r}=Lt(t,e);if(r)return{errors:[r]};let s=gE(n);return s.length>0?{errors:s}:{adapt:n,errors:[]}}o(Bx,"parseAdaptText");var wx="adapt-scratch",lE=`${wx}/adapt-result.json`;function hE(t,e){let n=es.join(t.outputsDir,lE),r;try{r=vo.readFileSync(n,"utf-8")}catch{r=void 0}if(r!==void 0&&(t.secretValues??[]).some(a=>r.includes(a)))return{errors:[`${lE} contains a secret value (token / credential) \u2014 never write it anywhere`]};let s=Bx(e.stdout,t.secretValues);if(s.adapt)return s;let i=r!==void 0?Vs(n):void 0;return i!==void 0&&gE(i).length===0?{adapt:i,errors:[]}:s}o(hE,"parseAdaptFromSession");var Wj=Ar("adapt-schema",hE);var iW=2*1024*1024;var ne=A.string().trim().min(1),kx=o(t=>{if(!t||typeof t!="object")return t;let e=t;return typeof e.skip=="string"&&e.skip.trim()&&(e.expected===void 0||e.expected===null)?{...e,expected:"(not tested)"}:t},"skippedNeedsNoExpected"),Rx=A.preprocess(kx,A.object({id:ne.describe(`its requirement's id plus a letter, e.g. "R1a", "AC-3a"`),clause:ne.describe("one testable part of the requirement"),expected:ne.describe("the outcome the requirement calls for \u2014 taken from the requirement, never from what the code does"),skip:A.string().optional().describe("only when no test can check this clause here: why"),type:A.nativeEnum(cr).optional().describe("the test that checks this clause: contract / integration (the API, or code called directly in-process: a function, hook or module) or ui (a page)"),target:A.string().optional().describe('its "METHOD /path", or the page / flow'),steps:A.string().optional().describe("what that test does; its expected outcome is this clause's"),finding:A.string().optional().describe("the finding id, when this clause's test also catches that defect (the defect still gets a case of its own)"),code:A.string().optional().describe("path:line of the code that decides this clause, when there is one"),mutates:A.boolean().optional().describe("true when its test changes state, in the test or its setup: an API POST, PUT, PATCH or DELETE, or a UI flow that submits, creates, edits or deletes"),browserOnly:A.boolean().optional().describe("true when its behaviour happens only in a browser: real clicks or keys driving page script, client-side sorting or filtering, script-driven DOM updates, focus, drag-and-drop, navigation, rendering that depends on CSS or JavaScript"),browserHarness:A.string().optional().describe("browserOnly, off the runtime path: the path of the repo's in-process browser suite its test goes in (e.g. a Django StaticLiveServerTestCase test that drives Selenium)")})),Sx=A.object({id:ne.describe('the label its source gives it ("AC-3", "REQ-12"; item 4 of a numbered list is "R4"), else "R1", "R2"\u2026 in order'),statement:ne,source:A.nativeEnum(Zs).describe("requirement-reference (an item the run was given), spec, pr-description (also for what the change is evidently meant to do when nothing is written down), or could-break (what the change could break that no requirement mentions)"),reference:A.string().optional().describe('requirement-reference only: the key of its item as listed, e.g. "PAY-184", or a Confluence page id such as "3021"'),evidence:ne.describe("where it is stated: for requirement-reference, the item's own words, copied exactly; else file:line, a doc section, or the quoted phrase"),criterion:A.number().int().positive().optional().describe("requirement-reference only: leave it out; Testbot numbers each criterion by the item's own label (AC2, 2.), else after the item's labels"),notInChange:A.string().optional().describe("requirement-reference only: when the change does not touch this criterion at all (e.g. a later step of a staged rollout), why; give it no clauses"),overrules:A.array(A.object({spec:ne.describe("file:line of the spec in the repository"),says:ne.describe("what the spec says there, in its own words")})).optional().describe("requirement-reference only: each spec in the repository that says otherwise; the item wins, so test what it says"),clauses:A.array(Rx)}),vx=A.object({id:ne.describe('e.g. "F1"'),file:ne,line:A.number().optional(),claim:ne.describe("the defect, in one sentence"),severity:A.nativeEnum(bo),evidence:ne.describe("the code line, or the probe request and response, that shows it"),conflictsWith:A.array(ne).optional().describe("requirement or clause ids it violates"),existing:A.string().optional().describe("only when the base already does this, in code the change left as it was: where the base does it (its file:line); such a defect gets no case"),needsApp:A.enum(["browser","live-api"]).optional().describe("only when the running app alone can show this defect and the repo has no in-process test that can: browser (page script, what the user sees after a click or a save) or live-api (code the repo tests only against the running app's API)")}),xx=A.object({id:ne.describe('e.g. "Q1"'),question:ne.describe("what is unsettled, as a question the PR author can answer"),readings:A.array(ne).min(2).describe("each reasonable behaviour, with what points to it (file:line, or the words that suggest it)"),about:A.string().optional().describe("the requirement or clause id it is about, when there is one")}),Dx=A.object({id:ne.describe('unique, a short kebab-case name for what the case checks, e.g. "ship-twice-409"'),type:A.nativeEnum(cr).describe("contract / integration: checks the API, or calls code directly in-process (a function, hook or module); ui: checks what a user sees or does on a page"),target:ne.describe('"METHOD /path", or the page / flow'),clause:A.string().optional().describe("the clause id this case checks"),finding:A.string().optional().describe("the finding id this case catches"),steps:ne.describe("what the test does"),expected:ne.describe("the expected outcome, from the clause"),mutates:A.boolean().optional().describe("true when its test changes state, in the test or its setup: an API POST, PUT, PATCH or DELETE, or a UI flow that submits, creates, edits or deletes")}),Tx=A.object({test:ne.describe("existing test file"),action:A.nativeEnum(Zr),reason:ne,mutates:A.boolean().optional().describe("true when the maintained test changes state"),clauses:A.array(ne).optional().describe("the clause ids this test checks")}),Nx=A.object({outcome:A.nativeEnum(ir).describe("clean | recipe-drift (you had to fix the recipe) | change-broke-bringup (this PR broke start-up) | bringup-failed (the environment, not the PR)"),baseUrls:A.record(A.string()).optional().describe("service \u2192 base URL of the running app"),health:A.object({url:A.string().optional(),command:A.string().optional(),output:A.string().optional()}).optional().describe("the check that shows the app serves real data, and what it returned"),teardown:A.string().optional().describe("command that stops the app"),dependencies:A.record(A.boolean()).optional().describe("every backing service: true = really running, false = mocked"),recipeFixes:A.array(A.string()).optional().describe("what you changed in the recipe"),error:A.string().optional().describe("when it did not come up: the failing command and what it printed"),suspectFiles:A.array(A.string()).optional().describe("change-broke-bringup: the changed files to blame"),login:A.object({username:ne,password:A.string()}).optional().describe("the account the tests sign in as, when they sign in: each a literal value the recipe seeds, or $VARIABLE when a secret in the environment holds it"),revisions:Vu.optional()}),LW=A.object({schemaVersion:A.literal(1),requirements:A.array(Sx),findings:A.array(vx),cases:A.array(Dx).describe("a second test for a clause, and one case per finding that fails on this branch"),questions:A.array(xx).optional().describe("behaviours the change leaves unsettled; no case asserts any of them"),maintenance:A.array(Tx),journeys:A.array(Xm).optional().describe("the user journeys that, together, pass through everything the change alters that a user sees or does; empty when it alters nothing a user sees"),notInJourney:A.array(A.object({clause:ne,why:ne})).optional().describe("a clause a user sees or does that no journey can reach through the UI, and why"),triage:So.optional().describe("the validation triage decision, made before the app is started; its behaviorIds are clause ids"),app:Nx.optional().describe("omit when no app was needed or none was started"),summary:ne.describe("one paragraph: what the change does and where the risk is")});var pE=(n=>(n.Backend="backend",n.Ui="ui",n))(pE||{});var Vl=(s=>(s.Added="added",s.Updated="updated",s.Deleted="deleted",s.Unchanged="unchanged",s))(Vl||{}),Fx=A.object({file:ne.describe("repo-relative path; in another repo of the change, that repo's directory name then its path"),kind:A.nativeEnum(pE),change:A.nativeEnum(Vl).describe("added: a file you created; updated / deleted / unchanged: an existing test"),covers:A.array(A.string()).describe("the plan case ids this file tests"),defect:A.boolean().optional().describe("true when a case of it fails because the app is wrong and the test is right \u2014 kept failing on purpose"),staleBecause:A.object({requirement:ne.describe("the requirement or clause id the change deliberately alters"),line:ne.describe("path:line (or path) of the application code the change altered that makes this test's old expectation wrong")}).optional().describe("for an existing test you updated: why it is out of date"),result:A.object({exit:A.number().nullable().describe("exit code of your last run of this file; null if it could not be run"),cases:A.array(A.object({case:ne,status:A.nativeEnum(jt),defect:A.boolean().optional().describe("for a failing case: true when the app is wrong and the test is right; false when the test is at fault and you could not fix it"),failure:A.string().optional().describe("for a failing case: the runner's failure for it as printed (the error and the line it was raised at), not a summary"),cause:A.string().optional().describe("for a case you keep as a defect: path:line of the application code that makes it fail"),requires:A.string().optional().describe("for a case you keep as a defect: the words of the PR description or the plan's requirement that state what its failing check expects, quoted exactly")})).describe("one entry per covered case, from the runner's own output"),details:A.string().optional().describe("what failed and why, or why it was not run")}),assertions:A.array(A.object({case:ne,evidence:ne})).optional().describe("per covered case, the assertion line that checks its expected outcome"),functions:A.array(A.object({name:ne.describe("the test function as the runner names it within its file, without the file (test_x, TestClass::test_x, TestSuite/TestCase)"),cases:A.array(ne).describe("the plan case ids it checks")})).optional().describe("for a file you added or updated: each test function in it and the plan case ids it checks"),skyramp:A.object({draft:A.union([A.string(),A.array(A.string())]).optional().describe("the draft path the Skyramp helper returned for this test, or each path when the test was made from several drafts"),handWritten:A.string().optional().describe("why it is written by hand: the helper call you made and what it returned")}).optional().describe("only for a test of a case the Skyramp API block lists: where it came from"),run:Xs.optional().describe(`for a file in a framework other than pytest, jest, vitest and node --test (go test, rails test, mvn, dotnet test), added, updated or re-run: how the run executes only this file's tests, with the repository's own runner and the report it writes (junit or trx to ${Un}, or go-test-json); Testbot runs it before write ends and re-runs the tests with it`)}),Ux=A.object({description:ne.describe("what is wrong and how to reproduce it: endpoint or page, input, what you got vs what was expected"),severity:A.nativeEnum(bo).optional(),sourceFile:A.string().optional().describe("the app file at fault"),sourceLine:A.number().optional(),test:A.string().optional().describe("the test file that shows it"),finding:A.string().optional().describe("the plan's finding id, when it is one"),requirements:A.array(ne).optional().describe("the plan's requirement or clause ids it violates")}),_W=A.object({schemaVersion:A.literal(1),tests:A.array(Fx),notWritten:A.array(A.object({case:ne,reason:ne})).describe("every plan case no test covers, and why"),journeys:A.array(CA).optional().describe("one entry per planned user journey: the browser test that walks it end to end"),lint:A.object({command:A.string(),clean:A.boolean()}).optional().describe("the linter/formatter you ran on your test files, if the repo has one: the exact command, with its file paths (Testbot re-runs it)"),dependenciesAdded:A.array(A.object({package:ne,manifest:ne.describe("the manifest file's path relative to its checkout (e.g. package.json, pom.xml or pyproject.toml), and nothing else; name another checkout in repository"),repository:ne.optional().describe("owner/repo of the manifest's checkout; omit for the repo under test"),reason:ne.optional().describe("why the test must run inside the application's own test environment, so its manifest had to change \u2014 required for every entry")})).optional().describe("every package you added to an APPLICATION manifest (an exception, surfaced in the report); never the Testbot test package's own"),supportFiles:A.array(ne).optional().describe("every file that is not a test you created or changed for your tests, which they need to compile or run (a helper module, page object, fixture, or a snapshot the runner wrote for them), named as you name a test; Testbot delivers only the tests you list and the files under supportFiles"),ciRunsTests:A.boolean().optional().describe("will the repo's CI pick these tests up as they are?"),commit:A.object({message:ne.describe('"Skyramp Testbot: \u2026", subject line at most 72 characters'),prTitle:ne.describe("at most 72 characters"),prBody:ne.describe("what the tests cover and what they found")}),report:A.object({summary:ne.describe("1-2 sentences for the PR author: does the change do what it says?"),issues:A.array(Ux).describe("every defect the tests found"),nextSteps:A.array(A.string())})});var PW={added:"place",updated:"update",deleted:"delete",unchanged:"verify"};var mE=(r=>(r.Requirement="requirement",r.PrDescription="pr_description",r.Code="code",r))(mE||{}),Je=A.string().trim().min(1),Mx=A.object({expectation:Je.max(300).describe("the behavior this assertion pins, in words"),source:A.nativeEnum(mE),expected:Je.max(200).describe("the exact value or outcome asserted, as the test asserts it")}),Lx=A.object({file:Je.describe("path of the NEW test file you wrote, relative to its repository"),repository:Je.optional().describe("owner/repo the file lives in, when the run has several checkouts; omit for the working checkout"),framework:Je.describe("the framework the repository runs this file with: pytest, jest, vitest, node-test, or the name of any other"),run:Xs.optional().describe("for a framework other than pytest, jest, vitest and node-test: how the run executes only the tests in names, with the repository's own runner writing JUnit XML to {junit}"),covers:A.array(Je).length(1).describe("the ONE behavior id, or defect id, from the plan that the tests in names provide evidence for; a file covering several is listed once per id"),names:A.array(Je).min(1).describe("the test functions/cases in the file that provide evidence for that behavior, as the framework names them"),assertions:A.array(Mx).min(1)}),Jl=(n=>(n.Updated="updated",n.Deleted="deleted",n))(Jl||{}),fE=300,_x=A.object({file:Je.describe("path of the EXISTING test file you updated or deleted, relative to its repository"),repository:Je.optional().describe("owner/repo the file lives in, when the run has several checkouts; omit for the working checkout"),change:A.nativeEnum(Jl),staleBecause:A.object({requirement:Je.describe("the requirement or clause id the change deliberately alters"),line:Je.describe("path:line (or path) of the application code the change altered that makes this test's old expectation wrong")}).optional().describe("for an existing test you updated: why it is out of date"),reason:A.preprocess(t=>typeof t=="string"?t.trim().slice(0,fE):t,Je.max(fE)).describe("what the change deliberately altered that made the test wrong")}),ql=A.object({schemaVersion:A.literal(1),tests:A.array(Lx),maintained:A.array(_x).optional().describe("existing tests the change made stale that you updated or deleted; omit when there were none"),defectsNotTested:A.array(A.object({id:Je,reason:Je.max(300)})).optional().describe("defects the plan found that no in-process test can reach, each with why; omit when every defect has a test"),journeys:A.array(CA).optional().describe("one entry per planned user journey: the in-process test that walks it end to end"),journeysNotWritten:A.array(A.object({journey:Je,missing:Je.transform(t=>t.length>300?`${t.slice(0,299)}\u2026`:t)})).optional().describe("a planned journey no in-process test can walk here, with what it needs that is missing; it is reported as not covered"),lint:A.object({command:A.string(),clean:A.boolean()}).optional().describe("the linter/formatter you ran on your test files, if the repository has one you can run; omit otherwise"),commitMessage:Je.optional().describe("the commit message for your tests: a subject line of at most 72 characters, then what they cover")});var uz=5*6e4;function $x(t){let{value:e,error:n}=Lt(t);if(n)return{errors:[n]};let{value:r,errors:s}=Tn(ql,e);return s.length?{errors:s}:{output:r,errors:[]}}o($x,"parseGenerateUnitText");function Yx(t){return $x(t.stdout)}o(Yx,"parseGenerateUnitFromSession");var C9=Ar("generate-unit-schema",(t,e)=>Yx(e));var kA=String.raw`(?:node:)?(?:http|https|http2|net|tls|dgram)`,I9=[[/\b(localhost|127\.0\.0\.1|0\.0\.0\.0)\b/,"a local server address"],[/^\s*(import|from)\s+(requests|aiohttp|urllib3|websockets?)\b/m,"an HTTP client"],[/^\s*(?:import|from)\s+(?:urllib\.request|http\.client|http\.server|socket|ssl|ftplib|smtplib|telnetlib)\b|^\s*from\s+urllib\s+import\b[^\n]*\brequest\b|\burlopen\s*\(/m,"a standard-library network client"],[/\bfrom\s+["'](axios|node-fetch|undici|ws)["']|require\(\s*["'](axios|node-fetch|undici|ws)["']\s*\)/,"an HTTP client"],[new RegExp(String.raw`\bfrom\s+["']${kA}["']|\bimport\s+["']${kA}["']|require\(\s*["']${kA}["']\s*\)|\bimport\(\s*["']${kA}["']\s*\)`),"Node's network modules"],[/\bfetch\s*\(|\bnew\s+(XMLHttpRequest|WebSocket)\b/,"a network call (fetch, XMLHttpRequest, WebSocket)"],[/\bskyramp\b/i,"the Skyramp runtime (a runtime mock or client)"]];var EE=String.raw`\b(?:real browser|browser|javascript|js|htmx|client-side)\b`,CE=String.raw`\b(?:not|isn't|aren't|never|no)\s+(?:be\s+)?(?:covered|tested|exercised|verified|checked|walked|executed|run)\b|\buncovered\b|\bunverified\b`,M9=[new RegExp(`${EE}[^.;\\n]{0,100}(?:${CE})`,"i"),new RegExp(`(?:${CE})[^.;\\n]{0,100}${EE}`,"i")];var L9=new Set(["targeted_unit","existing_evidence_sufficient"]);var RZ=new Set(["existing_evidence","unaffected","existing_unit","new_unit","runtime"]),SZ={existing_evidence:"existing evidence",unaffected:"showing the change cannot reach it",existing_unit:"running the existing unit tests",new_unit:"a new unit test",runtime:"tests against the running application"};function Jx(t){let{value:e,error:n}=Lt(t);if(n)return{errors:[n]};let{value:r,errors:s}=Tn(So,e);return s.length?{errors:s}:{triage:r,errors:[]}}o(Jx,"parseTriageText");function qx(t){return Jx(t.stdout)}o(qx,"parseTriageFromSession");var vZ=Ar("triage-schema",(t,e)=>qx(e));var xZ=new Set(["deploy","recommend","generate","generate-ui","adapt","generate-unit","native-run","finalize","deliver"]);var IE=He(require("fs"));var jx="SKYRAMP_AZURE_SUPERVISED",Wx=3;function zx(t,e=process.env){e[jx]==="1"?IE.writeSync(Wx,`${JSON.stringify(t)}
|
|
79
|
+
`)){let r=n.trim();if(!r)continue;let s;try{s=JSON.parse(r)}catch{continue}let i=s.message?.content;Array.isArray(i)&&e.push(...i)}return e}o(_0,"contentBlocks");var P0=A.object({route:A.string().describe('the page this step happens on, e.g. "/products/:id"'),action:A.string().describe('what the user does there, through the UI, e.g. "clicks Add to cart"'),clauses:A.array(A.string()).optional().describe("the plan clause ids this step exercises"),check:A.string().optional().describe("what the user then sees that shows the step worked; the test asserts it")}),wo=(n=>(n.InProcess="in-process",n.Browser="browser",n))(wo||{}),Km=(r=>(r.Spec="spec",r.PrDescription="pr-description",r.Inferred="inferred",r))(Km||{}),Xm=A.object({id:A.string().describe('e.g. "J1"'),name:A.string().describe(`the flow in a user's words, e.g. "buy a product with a coupon"`),entry:A.string().describe("the route the user starts the flow on: the app's normal starting page for it, never a deep link into its middle"),steps:A.array(P0).describe("every step, in order, from the entry page to the outcome: at least two"),outcome:A.string().describe("what the user sees at the end that shows the flow worked: every part of it"),finishes:A.string().optional().describe('the user action that completes the task, verb first, e.g. "places the order"; the journey walks on to it'),kind:A.nativeEnum(wo).optional().describe("in-process when the repo's in-process tests (components, app routes) can walk the whole flow and check it; else browser"),source:A.nativeEnum(Km).optional().describe("spec or pr-description when one describes this flow (quote it under evidence), else inferred"),evidence:A.string().optional().describe("for spec or pr-description: its words that describe the flow"),testFile:A.string().describe("the browser test file it goes in, beside the repo's existing e2e tests")}),CA=A.object({journey:A.string().describe("the plan's journey id"),file:A.string().describe("the browser test file that walks it"),brokeAt:A.object({step:A.number().int().describe("the 1-based step whose check failed first"),expected:A.string(),actual:A.string().describe("what the app did instead, from the runner's output"),notReached:A.array(A.number().int()).optional().describe("later steps the test could not get to")}).optional().describe("only when the journey's test failed on a check: where"),test:A.string().describe("the title of the one test in that file that walks it end to end")});var Pl=(s=>(s.RestApi="rest-api",s.Frontend="frontend",s.FullStack="full-stack",s.Other="other",s))(Pl||{}),bo=(s=>(s.Critical="critical",s.High="high",s.Medium="medium",s.Low="low",s))(bo||{}),IA=(r=>(r.Suspected="suspected",r.Latent="latent",r.Refuted="refuted",r))(IA||{}),tE=(r=>(r.Skyramp="skyramp",r.External="external",r.Unknown="unknown",r))(tE||{}),nE=(s=>(s.Cascade="cascade",s.Restrict="restrict",s.Orphan="orphan",s.Unknown="unknown",s))(nE||{}),Zs=(s=>(s.RequirementReference="requirement-reference",s.Spec="spec",s.PrDescription="pr-description",s.CouldBreak="could-break",s))(Zs||{}),Ie=A.string().trim().min(1),Ks=Ie.describe("file:line"),eE=o(t=>Ie.refine(e=>e.length<=400,e=>({message:`is ${e.length} characters, over the 400 cap \u2014 ${t}`})),"cap400"),Ro=Ie.optional().describe('multi-repo only: the OTHER checkout this lives in \u2014 its "owner/repo" slug, or the directory name if the run discovered it; omit for the working checkout'),_l=A.object({method:Ie,path:Ie,service:A.string().optional(),evidence:Ks,repository:Ro}),O0=A.object({id:Ie.describe("short-slug, e.g. R9"),statement:Ie.max(400,"exceeds 400 characters \u2014 state the requirement, do not paste the spec section").describe("a testable obligation, not a summary"),source:A.nativeEnum(Zs).describe("spec outranks pr-description when both state it"),evidence:Ie.describe("spec: file:line or a section locator. pr-description: the quoted phrase it comes from.")}),G0=A.object({id:Ie.describe("short-slug"),statement:Ie.max(400,"exceeds 400 characters \u2014 state the behaviour, do not paste the code").describe("what the change makes true"),surface:Ie.describe("METHOD /path, or a component/page name"),evidence:Ie.describe("file:line from the diff that introduces it"),repository:Ro,satisfies:A.array(Ie).optional().describe("requirement ids (from `requirements`) this behaviour correctly implements \u2014 a requirement met only in part is ALSO named by the finding that shows the rest (conflictsWith)")}),$0=A.object({id:Ie.describe("short-slug"),file:Ie,line:A.number().optional(),claim:eE("shorten it to the one sentence that states the defect, and move the supporting detail into `evidence`"),severity:A.nativeEnum(bo),evidence:eE("cite the file:line and the one line that shows it, rather than reproducing the surrounding code").describe("quoted diff/code line"),status:A.nativeEnum(IA),repository:Ro,conflictsWith:A.array(Ie).optional().describe("requirement ids (from `requirements`) this defect contradicts or leaves unimplemented \u2014 a lower-precedence source (the diff, or the PR description) lost")}),Y0=A.object({name:Ie,language:A.string().optional(),framework:A.string().optional(),evidence:Ks,repository:Ro}),V0=A.object({dir:Ie,framework:A.string().optional(),kind:A.nativeEnum(tE),evidence:Ks,repository:Ro}),H0=A.object({from:Ie,to:Ie,onDelete:A.nativeEnum(nE),evidence:Ks}),J0=A.object({entity:Ie,field:Ie,values:A.array(A.string()),evidence:Ks}),q0=A.object({entities:A.array(A.object({name:Ie,evidence:Ks})),references:A.array(H0).describe("INBOUND references \u2014 what still points at an entity when it is deleted"),stateFields:A.array(J0)}),Bq=A.object({schemaVersion:A.literal(1),repository:A.object({path:Ie.describe("absolute repo path"),currentBranch:Ie,baseBranch:Ie}),project:A.object({type:A.nativeEnum(Pl),primaryLanguage:Ie,languages:A.array(A.string()),frameworks:A.array(A.string())}),services:A.array(Y0),infrastructure:A.object({containerized:A.boolean(),hasDockerCompose:A.boolean(),composeFiles:A.array(A.string()),hasCiCd:A.boolean()}),diff:A.object({changedFiles:A.array(A.string()).describe("as git reports them; a file in another checkout may carry that repo's name"),nonApplicationOnly:A.boolean(),summary:Ie.describe("\u2264400 chars")}),endpoints:A.object({new:A.array(_l),modified:A.array(_l),removed:A.array(_l)}),existingTests:A.object({locations:A.array(V0)}),entityMap:q0,requirements:A.array(O0).describe("from a spec (attached or linked) and/or the PR description; empty when neither states a testable obligation"),behaviors:A.array(G0),findings:A.array($0),unexamined:A.array(A.string()).describe("files or areas outside this change you did not open"),summary:Ie.describe("one paragraph on what this change does and its test-relevant risk")});var yA=(n=>(n.Skyramp="skyramp",n.Llm="llm",n))(yA||{}),Nn=A.string().trim().min(1),j0=A.object({case:Nn.describe("recommend id this assertion enforces"),evidence:Nn.describe("the exact assertion line from the file that checks that case's observable")}),W0=A.object({kind:A.nativeEnum(rA),target:Nn.describe("the dependency, endpoint or data it affects"),mechanism:A.nativeEnum(sA).describe("test_code: the test applies and undoes it; skyramp_mocker: a mock the test applies on a Skyramp worker; recipe_override: the mocker cannot reach the dependency (its URL is fixed in the build)"),detail:Nn.describe("what it sets up"),worker:Nn.optional().describe("skyramp_mocker: host:port of the worker the test applies the mock to (default localhost:35142)"),cleanup:Nn.optional().describe("seed: a command, without a shell, that removes the data when the test does not")}),z0=A.object({file:Nn.describe("staged path under .skyramp/staged/"),source:A.nativeEnum(yA),language:Nn,covers:A.array(A.string()).min(1,"must be a non-empty array of recommend ids").describe("recommend ids this test covers"),assertions:A.array(j0).min(1,"must be a non-empty array").describe("one per case covered, citing the real line"),context:A.array(W0).optional().describe("what the test sets up against the running app, in order: data it seeds, Skyramp mocks it applies, env overrides; omit when none")}),Ol=A.object({schemaVersion:A.literal(1),tests:A.array(z0),deferredUi:A.array(A.string()).describe("recommend ui ids left for the UI stage (generate) \u2014 [] for generate-ui"),summary:Nn.describe("one paragraph")});var Fn=A.string().trim().min(1),ko=72,Z0=A.object({repository:Fn.optional().describe("owner/repo of the checkout this lint ran in, when the run has several; omit for the working checkout"),tool:A.string(),command:A.string().describe("the exact command you ran, scoped to the changed files"),clean:A.boolean(),fixed:A.array(A.string()).optional().describe("files you fixed"),uncovered:A.array(A.string()).describe("changed/new files this linter's own config does not match (wrong extension, wrong directory) \u2014 so `clean` never examined them, even though CI may still execute them. Empty array, not omitted, when every changed/new file IS covered.")}),Uq=A.object({schemaVersion:A.literal(1),lint:A.array(Z0).min(1).describe("one entry per checkout this run wrote tests in, each run from that checkout"),fileConventions:A.object({ok:A.boolean(),notes:A.string().optional()}),ciReadiness:A.object({covered:A.boolean().describe("will the repo's CI run these tests?"),notes:A.string().optional()}),dependencies:A.object({added:A.array(A.object({package:A.string(),manifest:A.string(),repository:Fn.optional().describe("owner/repo of the manifest's checkout; omit for the working checkout"),reason:Fn.optional().describe("why the test must run inside the application's own test environment, so its manifest had to change \u2014 required for every entry")})).describe("every package added to an APPLICATION manifest (an exception, surfaced in the report); never the Testbot test package's own")}),support:A.array(A.object({file:Fn,repository:Fn.optional().describe("owner/repo of the file's checkout; omit for the working checkout")})).optional().describe("the files the tests need besides themselves (helper modules, page objects, fixtures, snapshots), delivered with them"),commit:A.object({message:Fn.refine(t=>t.split(`
|
|
80
|
+
`)[0].length<=ko,{message:`subject line must be <= ${ko} chars`})}),pr:A.object({title:Fn.max(ko,`must be <= ${ko} chars`),body:Fn}),ready:A.boolean().describe("a statement of fact: true only if the tests are fit to commit as they stand"),blockers:A.array(A.string()).describe("what blocks the commit \u2014 required non-empty when ready is false"),summary:Fn.describe("one paragraph")});var dr=Ve(require("fs")),ei=Ve(require("path")),AE=require("child_process");var Un="{junit}",sE=(r=>(r.Junit="junit",r.Trx="trx",r.GoTestJson="go-test-json",r))(sE||{}),iE=(e=>(e.Minitest="minitest",e))(iE||{}),rE=A.string().trim().min(1),Xs=A.object({cwd:rE.describe('repo-relative directory the command starts in ("." for the root)'),argv:A.array(rE).min(1).describe(`the command as separate arguments, run without a shell; for a junit or trx report one argument holds ${Un}, where the report is written (not for Maven or Gradle, whose build writes its own)`),env:A.record(A.string(),A.string()).optional().describe("plain settings the tests read beyond the repository's CI test job (RAILS_ENV=test, DB_CONNECTION=sqlite); never a credential, PATH, or a tool's install path"),report:A.object({format:A.nativeEnum(sE).describe(`junit (JUnit XML to ${Un}), trx (to ${Un}), or go-test-json (go test -json on the command's output)`),reporter:A.nativeEnum(iE).optional().describe("a reporter Testbot loads for a runner that writes no report: minitest")}).optional().describe("the report the command writes; junit when omitted")});var Pq=`pytest, Jest, Vitest and node --test tests run as the run already knows them. A test in any other framework also gives "run": the repository's own command for only those tests, from the directory the repository runs it in, as separate arguments without a shell. Its "report" says what the runner writes: junit (JUnit XML to the argument ${Un}), trx (a TRX file to ${Un}, which every dotnet test writes with its built-in logger), or go-test-json (go test -json, read from the command's output). A Maven or Gradle command names no ${Un}: its build writes JUnit XML to its own report directory, which the run reads. Use a reporter the repository already has, or one of those; a reporter or converter the command fetches is the version the repository pins, or else its latest release (an older one may not build with the repository's toolchain). For minitest, which writes none, give report.reporter "minitest" and the run fills ${Un} itself. A setting the tests read goes in "env" (RAILS_ENV=test): the run sets it, so never wrap the command in a shell to set one. The run executes the command and reads that report.`;var Xr=(s=>(s.ExistingEvidenceSufficient="existing_evidence_sufficient",s.TargetedUnit="targeted_unit",s.RuntimeRequired="runtime_required",s.BlockedPreflight="blocked_preflight",s))(Xr||{}),lr=(i=>(i.ExistingEvidence="existing_evidence",i.Unaffected="unaffected",i.ExistingUnit="existing_unit",i.NewUnit="new_unit",i.Runtime="runtime",i))(lr||{}),$l=(n=>(n.Repository="repository",n.Testbot="testbot",n))($l||{}),Yl=(r=>(r.Identified="identified",r.Passed="passed",r.Failed="failed",r))(Yl||{}),dt=A.string().trim().min(1),K0=A.string().regex(/^[a-z0-9][a-z0-9-]*$/,"must be a short lowercase slug").describe("short-slug");var X0=A.object({id:K0,source:A.nativeEnum($l),kind:A.nativeEnum(rr),outcome:A.nativeEnum(Yl),summary:dt.max(400).describe("one line: what it shows"),tests:A.array(dt).optional().describe("source repository: the existing tests, as repo-relative paths, optionally path::test-name"),repository:dt.optional().describe("source repository: owner/repo the tests live in, when the run has several checkouts; omit for the working checkout"),command:dt.optional().describe("source testbot: the exact command you ran, as you ran it"),run:Xs.optional().describe("source repository, for tests in a framework other than pytest, jest, vitest and node --test: how the run executes only these tests, all of them in one command, with the repository's own runner writing JUnit XML to {junit}. Name each test (path::test-name): a test is credited to a file only by its name or by a report that names the file")}),ex=A.object({behaviorId:dt.describe("an id from analyze's behaviors"),mechanism:A.nativeEnum(lr),evidenceIds:A.array(dt).default([]).describe("existing_evidence: the ci-<n> or evidence ids that establish it; existing_unit: the evidence id naming the tests to run"),covers:A.string().trim().optional().describe('new_unit / runtime: the missing evidence this obtains, e.g. "the boundary the change moved"; unaffected: why the change cannot reach it, citing path:line')}),tx=A.object({behaviorId:A.string().trim().optional().describe("an id from analyze's behaviors, when it is about one"),missing:dt.max(600).describe("the evidence that is required and cannot be obtained in this run")}),nx=A.object({file:dt.describe("the changed file the failure is in"),repository:dt.optional().describe("owner/repo the file is in, when the run has several checkouts; omit for the working checkout"),reason:dt.max(300).describe("what prerequisite the change fails"),evidence:dt.max(400).describe("the error line, quoted")}),rx=A.object({behaviorId:dt.describe("an id from analyze's behaviors"),reason:dt.max(600).describe("\u2264600 characters: why this change leaves the behavior's result as it was, citing the unchanged line that decides it (path:line)")}),So=A.object({schemaVersion:A.literal(1),decision:A.nativeEnum(Xr),evidence:A.array(X0).describe("evidence this session found or produced; CI results are the ci-<n> items and are not restated here"),plan:A.array(ex).describe("how each changed behavior's evidence is obtained"),gaps:A.array(tx),outOfScope:A.array(rx).optional().describe("behaviors analyze found that this change neither changes nor states"),blocked:nx.optional().describe("only for blocked_preflight"),rationale:dt.max(1200).describe("\u22641200 characters: why this evidence is enough, or what it still lacks \u2014 the scope you chose and why")});function BA(t){let e=qt(t,"recommend.json");if(!e||!Array.isArray(e.generate)||!Array.isArray(e.maintenance))return;let n=e;return{...n,maintenance:n.maintenance.map(({repository:r,...s})=>({...s,test:s.test.trim().replace(/^\.\//,""),...r?.trim()?{repository:r.trim()}:{}}))}}o(BA,"readRecommend");function ax(t){return Tn(Ol,t).errors}o(ax,"validateGenerateOutput");function Ax(t,e=[]){let{value:n,error:r}=Lt(t,e);if(r)return{errors:[r]};let s=ax(n);return s.length>0?{errors:s}:{generate:n,errors:[]}}o(Ax,"parseGenerateText");function wA(t,e=[]){return Ax(t.stdout,e)}o(wA,"parseGenerateFromSession");function cx(t){return t.generate.filter(e=>e.type!=="ui").map(e=>e.id)}o(cx,"backendCases");function cE(t){return t.generate.filter(e=>e.type==="ui").map(e=>e.id)}o(cE,"uiCases");var bA={backend:{stage:"generate",cases:cx,noRecommendCoverage:"recommend.json missing or malformed \u2014 cannot check coverage",noRecommendIntent:"recommend.json missing or malformed \u2014 cannot check intent",uncovered:o(t=>`recommend case "${t}" is not covered by any generated test`,"uncovered"),unknownCovered:o(t=>`test covers unknown recommend id "${t}"`,"unknownCovered"),unasserted:o(t=>`case "${t}" has no verified assertion enforcing its expected_observable`,"unasserted"),usedCodegen:Wm,codegenHint:"These tests were hand-written. Skyramp codegen (skyramp_contract_test_generation / skyramp_integration_test_generation) was available but not used \u2014 it computes valid sample data and response correlations. Prefer scaffolding with it and then refining, especially for the failures above."},ui:{stage:"generate-ui",cases:cE,noRecommendCoverage:"recommend.json not found \u2014 cannot check UI coverage",noRecommendIntent:"recommend.json not found \u2014 cannot check UI intent",uncovered:o(t=>`UI case "${t}" is not covered by any generated UI test`,"uncovered"),unknownCovered:o(t=>`test covers "${t}" which is not a recommend UI case`,"unknownCovered"),unasserted:o(t=>`UI case "${t}" has no verified assertion enforcing its expected_observable`,"unasserted"),usedCodegen:zm,codegenHint:"This UI test was hand-authored. Skyramp UI codegen (skyramp_ui_test_generation) was available but not used. Prefer scaffolding with it and then refining, especially for the failures above."}},yj=Ar("generate-schema",(t,e)=>wA(e,t.secretValues));function ux(t){let e=bA[t];return{name:`${e.stage}-coverage`,verify(n,r){let{generate:s,errors:i}=wA(r,n.secretValues);if(!s)return lt(this.name,i);let a=BA(n);if(!a)return lt(this.name,[e.noRecommendCoverage]);let c=new Set(s.tests.flatMap(h=>h.covers)),l=[],d=e.cases(a);for(let h of d)c.has(h)||l.push(e.uncovered(h));let g=new Set(t==="ui"?d:a.generate.map(h=>h.id));for(let h of c)g.has(h)||l.push(e.unknownCovered(h));if(t==="backend"){let h=new Set(s.deferredUi),f=new Set(cE(a));for(let m of f)!h.has(m)&&!c.has(m)&&l.push(`UI case "${m}" is neither covered nor deferred to the UI stage`);for(let m of h)f.has(m)||l.push(`deferredUi lists "${m}" which is not a UI case`)}return l.length===0?{name:this.name,passed:!0}:lt(this.name,l)}}}o(ux,"generateCoverageGateFor");function lx(t){let e=bA[t];return{name:`${e.stage}-intent`,verify(n,r){let{generate:s,errors:i}=wA(r,n.secretValues);if(!s)return lt(this.name,i);let a=BA(n);if(!a)return lt(this.name,[e.noRecommendIntent]);let{asserted:c,errors:l,badFiles:d}=Ex(s,n.inputs.repositoryPath),g=l.length;for(let f of e.cases(a))c.has(f)||l.push(e.unasserted(f));if(l.length===0)return{name:this.name,passed:!0};let h=lt(this.name,l);return g>0&&g===l.length&&d.size>0?{...h,droppable:[...d]}:h}}}o(lx,"generateIntentGateFor");function dx(t){let e=bA[t];return n=>{if(!n.inputs.skyrampMcp?.command||t==="backend"&&!Ul(n))return;let r=ei.join(n.outputsDir,`${e.stage}-stream.ndjson`);if(!(!dr.existsSync(r)||e.usedCodegen(r)))return Zm(r)?e.codegenHint:"Skyramp codegen tools were configured but the MCP server did not connect this session, so they were not available. Hand-authoring was the only option; this is an environment problem, not yours."}}o(dx,"codegenRetryHintFor");var Qj=ux("backend"),Bj=lx("backend"),wj=dx("backend");var aE=o(t=>t.replace(/\s+/g,""),"squeeze");var Vl={python:[/\bassert\s*[({\w"'`]/g,/\bpytest\.raises\s*\(/g,/\bself\.assert\w*\s*\(/g],typescript:[/\bexpect\s*\(/g,/\.should\b/g,/\bassert\s*[.(]/g],go:[/\bt\.(Error|Errorf|Fatal|Fatalf|Fail|FailNow)\s*\(/g,/\b(assert|require)\.\w+\s*\(/g],java:[/\bassert\w*\s*\(/g,/\bassertThat\s*\(/g],ruby:[/\bexpect\s*[({]/g,/\bassert\w*\b/g,/\.should\b/g]};for(let[t,e]of[["javascript","typescript"],["kotlin","java"]])Vl[t]=Vl[e];function gx(t,e){if(t.includes(Co(e))||aE(t).includes(aE(e)))return!0;let n=e.split(/\r?\n/).map(r=>r.trim()).filter(r=>r&&!/^(\/\/|#|\*|\/\*)/.test(r));return n.length>0&&n.every(r=>t.includes(Co(r)))?!0:mx(t,e)}o(gx,"evidenceFound");var hx=/\bassert\w*\b|\bexpect\s*\(|\.should\b|\brequire\s*\(/i,px=12,fx=/,\s*\(\s*#|,\s*f?["'`]|\s+#\s|\s+\/\/|\s*\((?:line|lines|at line)\b|\s*,\s*$/i;function mx(t,e){let n=e.split(/\s*;\s*|\s*\.\.\.\s*|\r?\n/),r=0;for(let s of n){let i=hx.exec(s);if(!i)continue;let a=s.slice(i.index),c=fx.exec(a);if(c&&(a=a.slice(0,c.index)),a=Co(a).replace(/[,\s]+$/,""),a.length<px||!t.includes(a))return!1;r++}return r>0}o(mx,"annotatedAssertionFound");function Ex(t,e){let n=new Set,r=[],s=new Set;for(let i of t.tests){let a=ei.resolve(e,i.file);if(!dr.existsSync(a))continue;let c=Co(dr.readFileSync(a,"utf-8"));for(let l of i.assertions??[]){if(!gx(c,l.evidence)){r.push(`assertion evidence for "${l.case}" not found in ${i.file} \u2014 cite the real assertion line`),s.add(i.file);continue}i.covers.includes(l.case)?n.add(l.case):(r.push(`assertion cites case "${l.case}" not in that test's covers[]`),s.add(i.file))}}return{asserted:n,errors:r,badFiles:s}}o(Ex,"verifiedAssertions");var Cx=/\.(spec|test)\.[cm]?[jt]sx?$/i;function uE(t){let e;try{e=(0,AE.execFileSync)("git",[...fA,"status","--porcelain","--untracked-files=all"],{env:Dn(),cwd:t,encoding:"utf-8",stdio:["ignore","pipe","ignore"]})}catch{return}let n=o(s=>/_scaffold/i.test(s)||hA.test(s),"isTestLitter"),r=[];for(let s of e.split(`
|
|
81
|
+
`)){if(!s.trim()||s.length>1&&s[1]==="D")continue;let i=s.slice(3).trim(),a=i.indexOf(" -> ");if(a!==-1&&(i=i.slice(a+4).trim()),i=i.replace(/^"|"$/g,""),!i)continue;let c=i.replace(/^\.\//,"");c.startsWith(".skyramp/")||!n(c)||r.push(c)}return r}o(uE,"testLitter");function Ix(t){let e=bA[t],n=t==="ui";return{name:`${e.stage}-no-litter`,verify(r){let s=uE(r.inputs.repositoryPath);if(s===void 0)return{name:this.name,passed:!0};let i=s.filter(a=>Cx.test(a)===n);return i.length===0?{name:this.name,passed:!0}:lt(this.name,[`${e.stage} left files outside .skyramp/ \u2014 move the staged test into .skyramp/staged/ and delete any codegen draft (e.g. *_scaffold.*): ${i.slice(0,6).join(", ")}`])}}}o(Ix,"noLitterGateFor");var bj=Ix("backend");var vo=Ve(require("fs")),es=Ve(require("path"));function gE(t){return Tn(Ml,t).errors}o(gE,"validateAdaptOutput");function Bx(t,e=[]){let{value:n,error:r}=Lt(t,e);if(r)return{errors:[r]};let s=gE(n);return s.length>0?{errors:s}:{adapt:n,errors:[]}}o(Bx,"parseAdaptText");var wx="adapt-scratch",lE=`${wx}/adapt-result.json`;function hE(t,e){let n=es.join(t.outputsDir,lE),r;try{r=vo.readFileSync(n,"utf-8")}catch{r=void 0}if(r!==void 0&&(t.secretValues??[]).some(a=>r.includes(a)))return{errors:[`${lE} contains a secret value (token / credential) \u2014 never write it anywhere`]};let s=Bx(e.stdout,t.secretValues);if(s.adapt)return s;let i=r!==void 0?Hs(n):void 0;return i!==void 0&&gE(i).length===0?{adapt:i,errors:[]}:s}o(hE,"parseAdaptFromSession");var Wj=Ar("adapt-schema",hE);var iW=2*1024*1024;var ne=A.string().trim().min(1),Rx=o(t=>{if(!t||typeof t!="object")return t;let e=t;return typeof e.skip=="string"&&e.skip.trim()&&(e.expected===void 0||e.expected===null)?{...e,expected:"(not tested)"}:t},"skippedNeedsNoExpected"),kx=A.preprocess(Rx,A.object({id:ne.describe(`its requirement's id plus a letter, e.g. "R1a", "AC-3a"`),clause:ne.describe("one testable part of the requirement"),expected:ne.describe("the outcome the requirement calls for \u2014 taken from the requirement, never from what the code does"),skip:A.string().optional().describe("only when no test can check this clause here: why"),type:A.nativeEnum(cr).optional().describe("the test that checks this clause: contract / integration (the API, or code called directly in-process: a function, hook or module) or ui (a page)"),target:A.string().optional().describe('its "METHOD /path", or the page / flow'),steps:A.string().optional().describe("what that test does; its expected outcome is this clause's"),finding:A.string().optional().describe("the finding id, when this clause's test also catches that defect (the defect still gets a case of its own)"),code:A.string().optional().describe("path:line of the code that decides this clause, when there is one"),mutates:A.boolean().optional().describe("true when its test changes state, in the test or its setup: an API POST, PUT, PATCH or DELETE, or a UI flow that submits, creates, edits or deletes"),browserOnly:A.boolean().optional().describe("true when its behaviour happens only in a browser: real clicks or keys driving page script, client-side sorting or filtering, script-driven DOM updates, focus, drag-and-drop, navigation, rendering that depends on CSS or JavaScript"),browserHarness:A.string().optional().describe("browserOnly, off the runtime path: the path of the repo's in-process browser suite its test goes in (e.g. a Django StaticLiveServerTestCase test that drives Selenium)")})),Sx=A.object({id:ne.describe('the label its source gives it ("AC-3", "REQ-12"; item 4 of a numbered list is "R4"), else "R1", "R2"\u2026 in order'),statement:ne,source:A.nativeEnum(Zs).describe("requirement-reference (an item the run was given), spec, pr-description (also for what the change is evidently meant to do when nothing is written down), or could-break (what the change could break that no requirement mentions)"),reference:A.string().optional().describe('requirement-reference only: the key of its item as listed, e.g. "PAY-184", or a Confluence page id such as "3021"'),evidence:ne.describe("where it is stated: for requirement-reference, the item's own words, copied exactly; else file:line, a doc section, or the quoted phrase"),criterion:A.number().int().positive().optional().describe("requirement-reference only: leave it out; Testbot numbers each criterion by the item's own label (AC2, 2.), else after the item's labels"),notInChange:A.string().optional().describe("requirement-reference only: when the change does not touch this criterion at all (e.g. a later step of a staged rollout), why; give it no clauses"),overrules:A.array(A.object({spec:ne.describe("file:line of the spec in the repository"),says:ne.describe("what the spec says there, in its own words")})).optional().describe("requirement-reference only: each spec in the repository that says otherwise; the item wins, so test what it says"),clauses:A.array(kx)}),vx=A.object({id:ne.describe('e.g. "F1"'),file:ne,line:A.number().optional(),claim:ne.describe("the defect, in one sentence"),severity:A.nativeEnum(bo),evidence:ne.describe("the code line, or the probe request and response, that shows it"),conflictsWith:A.array(ne).optional().describe("requirement or clause ids it violates"),existing:A.string().optional().describe("only when the base already does this, in code the change left as it was: where the base does it (its file:line); such a defect gets no case"),needsApp:A.enum(["browser","live-api"]).optional().describe("only when the running app alone can show this defect and the repo has no in-process test that can: browser (page script, what the user sees after a click or a save) or live-api (code the repo tests only against the running app's API)")}),xx=A.object({id:ne.describe('e.g. "Q1"'),question:ne.describe("what is unsettled, as a question the PR author can answer"),readings:A.array(ne).min(2).describe("each reasonable behaviour, with what points to it (file:line, or the words that suggest it)"),about:A.string().optional().describe("the requirement or clause id it is about, when there is one")}),Dx=A.object({id:ne.describe('unique, a short kebab-case name for what the case checks, e.g. "ship-twice-409"'),type:A.nativeEnum(cr).describe("contract / integration: checks the API, or calls code directly in-process (a function, hook or module); ui: checks what a user sees or does on a page"),target:ne.describe('"METHOD /path", or the page / flow'),clause:A.string().optional().describe("the clause id this case checks"),finding:A.string().optional().describe("the finding id this case catches"),steps:ne.describe("what the test does"),expected:ne.describe("the expected outcome, from the clause"),mutates:A.boolean().optional().describe("true when its test changes state, in the test or its setup: an API POST, PUT, PATCH or DELETE, or a UI flow that submits, creates, edits or deletes")}),Tx=A.object({test:ne.describe("existing test file"),action:A.nativeEnum(Zr),reason:ne,mutates:A.boolean().optional().describe("true when the maintained test changes state"),clauses:A.array(ne).optional().describe("the clause ids this test checks")}),Nx=A.object({outcome:A.nativeEnum(ir).describe("clean | recipe-drift (you had to fix the recipe) | change-broke-bringup (this PR broke start-up) | bringup-failed (the environment, not the PR)"),baseUrls:A.record(A.string()).optional().describe("service \u2192 base URL of the running app"),health:A.object({url:A.string().optional(),command:A.string().optional(),output:A.string().optional()}).optional().describe("the check that shows the app serves real data, and what it returned"),teardown:A.string().optional().describe("command that stops the app"),dependencies:A.record(A.boolean()).optional().describe("every backing service: true = really running, false = mocked"),recipeFixes:A.array(A.string()).optional().describe("what you changed in the recipe"),error:A.string().optional().describe("when it did not come up: the failing command and what it printed"),suspectFiles:A.array(A.string()).optional().describe("change-broke-bringup: the changed files to blame"),login:A.object({username:ne,password:A.string()}).optional().describe("the account the tests sign in as, when they sign in: each a literal value the recipe seeds, or $VARIABLE when a secret in the environment holds it"),revisions:Hu.optional()}),LW=A.object({schemaVersion:A.literal(1),requirements:A.array(Sx),findings:A.array(vx),cases:A.array(Dx).describe("a second test for a clause, and one case per finding that fails on this branch"),questions:A.array(xx).optional().describe("behaviours the change leaves unsettled; no case asserts any of them"),maintenance:A.array(Tx),journeys:A.array(Xm).optional().describe("the user journeys that, together, pass through everything the change alters that a user sees or does; empty when it alters nothing a user sees"),notInJourney:A.array(A.object({clause:ne,why:ne})).optional().describe("a clause a user sees or does that no journey can reach through the UI, and why"),triage:So.optional().describe("the validation triage decision, made before the app is started; its behaviorIds are clause ids"),app:Nx.optional().describe("omit when no app was needed or none was started"),summary:ne.describe("one paragraph: what the change does and where the risk is")});var pE=(n=>(n.Backend="backend",n.Ui="ui",n))(pE||{});var Hl=(s=>(s.Added="added",s.Updated="updated",s.Deleted="deleted",s.Unchanged="unchanged",s))(Hl||{}),Fx=A.object({file:ne.describe("repo-relative path; in another repo of the change, that repo's directory name then its path"),kind:A.nativeEnum(pE),change:A.nativeEnum(Hl).describe("added: a file you created; updated / deleted / unchanged: an existing test"),covers:A.array(A.string()).describe("the plan case ids this file tests"),defect:A.boolean().optional().describe("true when a case of it fails because the app is wrong and the test is right \u2014 kept failing on purpose"),staleBecause:A.object({requirement:ne.describe("the requirement or clause id the change deliberately alters"),line:ne.describe("path:line (or path) of the application code the change altered that makes this test's old expectation wrong")}).optional().describe("for an existing test you updated: why it is out of date"),result:A.object({exit:A.number().nullable().describe("exit code of your last run of this file; null if it could not be run"),cases:A.array(A.object({case:ne,status:A.nativeEnum(jt),defect:A.boolean().optional().describe("for a failing case: true when the app is wrong and the test is right; false when the test is at fault and you could not fix it"),failure:A.string().optional().describe("for a failing case: the runner's failure for it as printed (the error and the line it was raised at), not a summary"),cause:A.string().optional().describe("for a case you keep as a defect: path:line of the application code that makes it fail"),requires:A.string().optional().describe("for a case you keep as a defect: the words of the PR description or the plan's requirement that state what its failing check expects, quoted exactly")})).describe("one entry per covered case, from the runner's own output"),details:A.string().optional().describe("what failed and why, or why it was not run")}),assertions:A.array(A.object({case:ne,evidence:ne})).optional().describe("per covered case, the assertion line that checks its expected outcome"),functions:A.array(A.object({name:ne.describe("the test function as the runner names it within its file, without the file (test_x, TestClass::test_x, TestSuite/TestCase)"),cases:A.array(ne).describe("the plan case ids it checks")})).optional().describe("for a file you added or updated: each test function in it and the plan case ids it checks"),skyramp:A.object({draft:A.union([A.string(),A.array(A.string())]).optional().describe("the draft path the Skyramp helper returned for this test, or each path when the test was made from several drafts"),handWritten:A.string().optional().describe("why it is written by hand: the helper call you made and what it returned")}).optional().describe("only for a test of a case the Skyramp API block lists: where it came from"),run:Xs.optional().describe(`for a file in a framework other than pytest, jest, vitest and node --test (go test, rails test, mvn, dotnet test), added, updated or re-run: how the run executes only this file's tests, with the repository's own runner and the report it writes (junit or trx to ${Un}, or go-test-json); Testbot runs it before write ends and re-runs the tests with it`)}),Ux=A.object({description:ne.describe("what is wrong and how to reproduce it: endpoint or page, input, what you got vs what was expected"),severity:A.nativeEnum(bo).optional(),sourceFile:A.string().optional().describe("the app file at fault"),sourceLine:A.number().optional(),test:A.string().optional().describe("the test file that shows it"),finding:A.string().optional().describe("the plan's finding id, when it is one"),requirements:A.array(ne).optional().describe("the plan's requirement or clause ids it violates")}),_W=A.object({schemaVersion:A.literal(1),tests:A.array(Fx),notWritten:A.array(A.object({case:ne,reason:ne})).describe("every plan case no test covers, and why"),journeys:A.array(CA).optional().describe("one entry per planned user journey: the browser test that walks it end to end"),lint:A.object({command:A.string(),clean:A.boolean()}).optional().describe("the linter/formatter you ran on your test files, if the repo has one: the exact command, with its file paths (Testbot re-runs it)"),dependenciesAdded:A.array(A.object({package:ne,manifest:ne.describe("the manifest file's path relative to its checkout (e.g. package.json, pom.xml or pyproject.toml), and nothing else; name another checkout in repository"),repository:ne.optional().describe("owner/repo of the manifest's checkout; omit for the repo under test"),reason:ne.optional().describe("why the test must run inside the application's own test environment, so its manifest had to change \u2014 required for every entry")})).optional().describe("every package you added to an APPLICATION manifest (an exception, surfaced in the report); never the Testbot test package's own"),supportFiles:A.array(ne).optional().describe("every file that is not a test you created or changed for your tests, which they need to compile or run (a helper module, page object, fixture, or a snapshot the runner wrote for them), named as you name a test; Testbot delivers only the tests you list and the files under supportFiles"),ciRunsTests:A.boolean().optional().describe("will the repo's CI pick these tests up as they are?"),commit:A.object({message:ne.describe('"Skyramp Testbot: \u2026", subject line at most 72 characters'),prTitle:ne.describe("at most 72 characters"),prBody:ne.describe("what the tests cover and what they found")}),report:A.object({summary:ne.describe("1-2 sentences for the PR author: does the change do what it says?"),issues:A.array(Ux).describe("every defect the tests found"),nextSteps:A.array(A.string())})});var PW={added:"place",updated:"update",deleted:"delete",unchanged:"verify"};var mE=(r=>(r.Requirement="requirement",r.PrDescription="pr_description",r.Code="code",r))(mE||{}),Je=A.string().trim().min(1),Mx=A.object({expectation:Je.max(300).describe("the behavior this assertion pins, in words"),source:A.nativeEnum(mE),expected:Je.max(200).describe("the exact value or outcome asserted, as the test asserts it")}),Lx=A.object({file:Je.describe("path of the NEW test file you wrote, relative to its repository"),repository:Je.optional().describe("owner/repo the file lives in, when the run has several checkouts; omit for the working checkout"),framework:Je.describe("the framework the repository runs this file with: pytest, jest, vitest, node-test, or the name of any other"),run:Xs.optional().describe("for a framework other than pytest, jest, vitest and node-test: how the run executes only the tests in names, with the repository's own runner writing JUnit XML to {junit}"),covers:A.array(Je).length(1).describe("the ONE behavior id, or defect id, from the plan that the tests in names provide evidence for; a file covering several is listed once per id"),names:A.array(Je).min(1).describe("the test functions/cases in the file that provide evidence for that behavior, as the framework names them"),assertions:A.array(Mx).min(1)}),Jl=(n=>(n.Updated="updated",n.Deleted="deleted",n))(Jl||{}),fE=300,_x=A.object({file:Je.describe("path of the EXISTING test file you updated or deleted, relative to its repository"),repository:Je.optional().describe("owner/repo the file lives in, when the run has several checkouts; omit for the working checkout"),change:A.nativeEnum(Jl),staleBecause:A.object({requirement:Je.describe("the requirement or clause id the change deliberately alters"),line:Je.describe("path:line (or path) of the application code the change altered that makes this test's old expectation wrong")}).optional().describe("for an existing test you updated: why it is out of date"),reason:A.preprocess(t=>typeof t=="string"?t.trim().slice(0,fE):t,Je.max(fE)).describe("what the change deliberately altered that made the test wrong")}),ql=A.object({schemaVersion:A.literal(1),tests:A.array(Lx),maintained:A.array(_x).optional().describe("existing tests the change made stale that you updated or deleted; omit when there were none"),defectsNotTested:A.array(A.object({id:Je,reason:Je.max(300)})).optional().describe("defects the plan found that no in-process test can reach, each with why; omit when every defect has a test"),journeys:A.array(CA).optional().describe("one entry per planned user journey: the in-process test that walks it end to end"),journeysNotWritten:A.array(A.object({journey:Je,missing:Je.transform(t=>t.length>300?`${t.slice(0,299)}\u2026`:t)})).optional().describe("a planned journey no in-process test can walk here, with what it needs that is missing; it is reported as not covered"),lint:A.object({command:A.string(),clean:A.boolean()}).optional().describe("the linter/formatter you ran on your test files, if the repository has one you can run; omit otherwise"),commitMessage:Je.optional().describe("the commit message for your tests: a subject line of at most 72 characters, then what they cover")});var uz=5*6e4;function $x(t){let{value:e,error:n}=Lt(t);if(n)return{errors:[n]};let{value:r,errors:s}=Tn(ql,e);return s.length?{errors:s}:{output:r,errors:[]}}o($x,"parseGenerateUnitText");function Yx(t){return $x(t.stdout)}o(Yx,"parseGenerateUnitFromSession");var C9=Ar("generate-unit-schema",(t,e)=>Yx(e));var RA=String.raw`(?:node:)?(?:http|https|http2|net|tls|dgram)`,I9=[[/\b(localhost|127\.0\.0\.1|0\.0\.0\.0)\b/,"a local server address"],[/^\s*(import|from)\s+(requests|aiohttp|urllib3|websockets?)\b/m,"an HTTP client"],[/^\s*(?:import|from)\s+(?:urllib\.request|http\.client|http\.server|socket|ssl|ftplib|smtplib|telnetlib)\b|^\s*from\s+urllib\s+import\b[^\n]*\brequest\b|\burlopen\s*\(/m,"a standard-library network client"],[/\bfrom\s+["'](axios|node-fetch|undici|ws)["']|require\(\s*["'](axios|node-fetch|undici|ws)["']\s*\)/,"an HTTP client"],[new RegExp(String.raw`\bfrom\s+["']${RA}["']|\bimport\s+["']${RA}["']|require\(\s*["']${RA}["']\s*\)|\bimport\(\s*["']${RA}["']\s*\)`),"Node's network modules"],[/\bfetch\s*\(|\bnew\s+(XMLHttpRequest|WebSocket)\b/,"a network call (fetch, XMLHttpRequest, WebSocket)"],[/\bskyramp\b/i,"the Skyramp runtime (a runtime mock or client)"]];var EE=String.raw`\b(?:real browser|browser|javascript|js|htmx|client-side)\b`,CE=String.raw`\b(?:not|isn't|aren't|never|no)\s+(?:be\s+)?(?:covered|tested|exercised|verified|checked|walked|executed|run)\b|\buncovered\b|\bunverified\b`,M9=[new RegExp(`${EE}[^.;\\n]{0,100}(?:${CE})`,"i"),new RegExp(`(?:${CE})[^.;\\n]{0,100}${EE}`,"i")];var L9=new Set(["targeted_unit","existing_evidence_sufficient"]);var kZ=new Set(["existing_evidence","unaffected","existing_unit","new_unit","runtime"]),SZ={existing_evidence:"existing evidence",unaffected:"showing the change cannot reach it",existing_unit:"running the existing unit tests",new_unit:"a new unit test",runtime:"tests against the running application"};function Jx(t){let{value:e,error:n}=Lt(t);if(n)return{errors:[n]};let{value:r,errors:s}=Tn(So,e);return s.length?{errors:s}:{triage:r,errors:[]}}o(Jx,"parseTriageText");function qx(t){return Jx(t.stdout)}o(qx,"parseTriageFromSession");var vZ=Ar("triage-schema",(t,e)=>qx(e));var xZ=new Set(["deploy","recommend","generate","generate-ui","adapt","generate-unit","native-run","finalize","deliver"]);var IE=Ve(require("fs"));var jx="SKYRAMP_AZURE_SUPERVISED",Wx=3;function zx(t,e=process.env){e[jx]==="1"?IE.writeSync(Wx,`${JSON.stringify(t)}
|
|
82
82
|
`):process.stdout.write(t.command!==void 0?`${t.command}
|
|
83
|
-
`:t.text??"")}o(zx,"writeFrame");function Zx(t){zx({command:t})}o(Zx,"writeAzureCommand");function yE(t){return t.replace(/%/g,"%AZP25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(yE,"escapeData");function Kx(t){return yE(t).replace(/;/g,"%3B").replace(/]/g,"%5D")}o(Kx,"escapeProperty");function Xx(t,e,n){let r=Object.entries(e).map(([s,i])=>`${s}=${Kx(i)}`).join(";");return`##vso[${t}${r?` ${r}`:""}]${yE(n)}`}o(Xx,"vsoCommand");function eD(t){if(!t)return[];let e=t.split(/\r?\n/).filter(n=>n.trim()&&n!==t);return[t,...e].map(n=>Xx("task.setsecret",{},n))}o(eD,"setSecretLines");function QE(t,e=Zx){for(let n of eD(t))e(n)}o(QE,"azureSetSecret");function Do(t){return t.replace(/\/+$/,"")}o(Do,"withoutTrailingSlash");function jl(t){let e=new URL(t),n=e.pathname.split("/").filter(Boolean);if(n.length)return decodeURIComponent(n[n.length-1]);if(e.hostname.endsWith(".visualstudio.com"))return e.hostname.split(".")[0];throw new Error(`SYSTEM_COLLECTIONURI "${t}" names no organization`)}o(jl,"azureOrganization");var tD=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,48}[A-Za-z0-9])?$/,nD=/[\\/:*?"<>|;#${},+=[\]%\p{Cc}\p{Cf}]/u;function BE(t){return t.length>0&&t.length<=64&&t===t.trim()&&!nD.test(t)&&!/[^\S ]/u.test(t)&&!/^[._]/.test(t)&&!t.endsWith(".")}o(BE,"isName");function RA(t){return Wl(`${t.namespace}/${t.name}`)}o(RA,"azureRepositoryOfSource");function Wl(t){let e=t.indexOf("/"),n=t.lastIndexOf("/"),r=t.slice(0,e),s=t.slice(e+1,n),i=t.slice(n+1);if(e<0||e===n||!tD.test(r)||!BE(s)||!BE(i))throw new Error(`"${t}" is not an Azure DevOps organization/project/repository`);return{organization:r,project:s,name:i}}o(Wl,"azureRepositoryOf");function wE(t,e){let n=jl(t);if(n.toLowerCase()!==e.organization.toLowerCase())throw new Error(`${e.organization}/${e.project}/${e.name} is not in ${n}, the Azure DevOps organization this job runs in`)}o(wE,"inOrganization");function bE(t,e){return wE(t,e),`${Do(t)}/${encodeURIComponent(e.project)}/_git/${encodeURIComponent(e.name)}`}o(bE,"azureCloneUrl");function zl(t,e){return wE(t,e),`${Do(t)}/${encodeURIComponent(e.project)}/_apis/git/repositories/${encodeURIComponent(e.name)}`}o(zl,"azureRepositoryApi");var rD="7.1",xo=class extends Error{constructor(n,r){super(n);this.status=r}status;static{o(this,"AzureRestError")}};async function Zl(t){let e=t.accept??"application/json",n=new URL(t.url);n.searchParams.has("api-version")||n.searchParams.set("api-version",rD);let r=await(t.fetch??fetch)(n.toString(),{method:t.method??"GET",headers:{Authorization:`Bearer ${t.token}`,Accept:e,...t.body!==void 0?{"Content-Type":"application/json"}:{}},...t.body!==void 0?{body:JSON.stringify(t.body)}:{},redirect:"error",signal:AbortSignal.timeout(3e4)});if(!r.ok){let s=(await r.json().catch(()=>({}))).message;throw new xo(`Azure DevOps answered ${r.status}${typeof s=="string"?`: ${s}`:""}`,r.status)}return e!=="application/json"?Buffer.from(await r.arrayBuffer()):r.status===204?{}:await r.json()}o(Zl,"azureRest");function sD(t){return`AUTHORIZATION: bearer ${t}`}o(sD,"azureGitAuthorization");function kE(t,e){return{GIT_CONFIG_COUNT:"1",GIT_CONFIG_KEY_0:`http.${Do(t)}/.extraheader`,GIT_CONFIG_VALUE_0:sD(e)}}o(kE,"azureGitAuthEnv");var iD="7.1-preview.1",oD=".azure-pipelines/skyramp-testbot-v3.yml";function Kl(t){return t.GITHUB_ACTIONS!=="true"&&/^true$/i.test(t.TF_BUILD??"")}o(Kl,"isAzurePipelines");function vE(t,e={}){let n=o(h=>{let f=t[h];if(!f)throw new Error(`${h} is not set; the V3 runner handshake needs it`);return f},"read"),r=Do(t.SYSTEM_COLLECTIONURI??""),s=o(()=>jl(n("SYSTEM_COLLECTIONURI")),"organization"),i=t.SYSTEM_TEAMPROJECT,a=t.BUILD_REPOSITORY_NAME,c=t.BUILD_REPOSITORY_ID?.toLowerCase(),l=t.SYSTEM_ACCESSTOKEN,d=e.mask??(h=>QE(h)),g=o(h=>async()=>{if(!h)throw new Error("The job cannot request an OIDC token: the Testbot step's env must set SYSTEM_OIDCREQUESTURI to $(System.OidcRequestUri).");if(!l)throw new Error("The job cannot request an OIDC token: the Testbot step's env must set SYSTEM_ACCESSTOKEN to $(System.AccessToken).");let f=new URL(h);if(f.protocol!=="https:")throw new Error("SYSTEM_OIDCREQUESTURI is not an https URL");f.searchParams.set("api-version",iD);let m=await(e.fetch??fetch)(f.toString(),{method:"POST",headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json",Accept:"application/json"},body:"{}",redirect:"error",signal:AbortSignal.timeout(3e4)});if(!m.ok)throw new Error(`Azure DevOps refused the OIDC token request: ${m.status}`);let C=(await m.json().catch(()=>({}))).oidcToken;if(typeof C!="string"||!C)throw new Error("Azure DevOps's OIDC token response carried no token");return d(C),C},"mint");return{runnerPlatform:Kl(t)?"azure":void 0,workspace:t.BUILD_SOURCESDIRECTORY||void 0,serverUrl:r,apiUrl:r,repository:c&&i&&a&&r?{id:c,slug:`${s()}/${i}/${a}`}:void 0,runId:t.BUILD_BUILDID||void 0,runAttempt:t.SYSTEM_STAGEATTEMPT||void 0,job:t.SYSTEM_JOBNAME||void 0,execution(){let h=n("SYSTEM_STAGEATTEMPT");if(!/^[1-9][0-9]*$/.test(h))throw new Error(`SYSTEM_STAGEATTEMPT is "${h}", not a positive whole number`);let f=n("SYSTEM_COLLECTIONID").toLowerCase();if(!Hs.test(f))throw new Error(`SYSTEM_COLLECTIONID is "${f}", not a GUID`);let m=n("BUILD_REPOSITORY_ID").toLowerCase();if(!Hs.test(m))throw new Error(`BUILD_REPOSITORY_ID is "${m}", not a GUID`);let C=[s(),n("SYSTEM_TEAMPROJECT"),n("SYSTEM_DEFINITIONID"),n("BUILD_BUILDID")].map(encodeURIComponent).join("/");return{provider:"azure-devops",repository:{provider:"azure-devops",providerAccountId:f,providerRepositoryId:m},providerRunId:C,providerRunAttempt:Number(h),workflowRef:`${oD}@${n("BUILD_SOURCEBRANCH")}`}},takeIdToken(){let h=t.SYSTEM_OIDCREQUESTURI;delete t.SYSTEM_OIDCREQUESTURI;let f=g(h);return()=>f()},takeSourceToken(){return delete t.SYSTEM_ACCESSTOKEN,l||void 0},webIdentity(){if(!t.SYSTEM_OIDCREQUESTURI?.trim()||!l)return;let h=g(t.SYSTEM_OIDCREQUESTURI);return{token:o(()=>h(),"token"),runId:t.BUILD_BUILDID}},v3RunsOnly:!0,assumesBedrockRole:!0,namesSourceToMcp:!0,checkSourceName(h){RA(h)},cloneUrl(h){return bE(r,RA(h))},gitAuthEnv(h){return kE(r,h)},async pullRequest(h,f,m){let C=await Zl({token:await m.token(),url:`${zl(r,RA(h))}/pullrequests/${f}`,fetch:m.fetch}),y=C.status==="completed";return{...typeof C.title=="string"?{title:C.title}:{},...typeof C.description=="string"?{body:C.description}:{},...typeof C.status=="string"?{merged:y}:{},...y&&typeof C.lastMergeCommit?.commitId=="string"?{mergeCommit:C.lastMergeCommit.commitId}:{},...y&&typeof C.lastMergeSourceCommit?.commitId=="string"?{mergedHead:C.lastMergeSourceCommit.commitId}:{}}},async commit(h,f,m){let C;try{C=zl(r,Wl(h))}catch{return{lookup:"unknown"}}try{let y=await Zl({token:await m.token(),url:`${C}/commits/${encodeURIComponent(f)}`,fetch:m.fetch});return typeof y.commitId=="string"?{sha:y.commitId}:{lookup:"missing"}}catch(y){return{lookup:y instanceof xo&&(y.status===404||y.status===400)?"missing":"unknown"}}}}}o(vE,"azureRunnerHost");var DE=He(require("os"),1);function To(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}o(To,"toCommandValue");function ed(t,e,n){let r=new Xl(t,e,n);process.stdout.write(r.toString()+DE.EOL)}o(ed,"issueCommand");var xE="::",Xl=class{static{o(this,"Command")}constructor(e,n,r){e||(e="missing.command"),this.command=e,this.properties=n,this.message=r}toString(){let e=xE+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let n=!0;for(let r in this.properties)if(this.properties.hasOwnProperty(r)){let s=this.properties[r];s&&(n?n=!1:e+=",",e+=`${r}=${AD(s)}`)}}return e+=`${xE}${aD(this.message)}`,e}};function aD(t){return To(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(aD,"escapeData");function AD(t){return To(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}o(AD,"escapeProperty");var La=He(require("http"),1),Tp=He(require("https"),1);function td(t){let e=t.protocol==="https:";if(cD(t))return;let n=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(n)try{return new SA(n)}catch{if(!n.startsWith("http://")&&!n.startsWith("https://"))return new SA(`http://${n}`)}else return}o(td,"getProxyUrl");function cD(t){if(!t.hostname)return!1;let e=t.hostname;if(uD(e))return!0;let n=process.env.no_proxy||process.env.NO_PROXY||"";if(!n)return!1;let r;t.port?r=Number(t.port):t.protocol==="http:"?r=80:t.protocol==="https:"&&(r=443);let s=[t.hostname.toUpperCase()];typeof r=="number"&&s.push(`${s[0]}:${r}`);for(let i of n.split(",").map(a=>a.trim().toUpperCase()).filter(a=>a))if(i==="*"||s.some(a=>a===i||a.endsWith(`.${i}`)||i.startsWith(".")&&a.endsWith(`${i}`)))return!0;return!1}o(cD,"checkBypass");function uD(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}o(uD,"isLoopbackAddress");var SA=class extends URL{static{o(this,"DecodedURL")}constructor(e,n){super(e,n),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}};var Dr=He(LE(),1),cR=He(AR(),1);var Le=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return o(s,"adopt"),new(n||(n=Promise))(function(i,a){function c(g){try{d(r.next(g))}catch(h){a(h)}}o(c,"fulfilled");function l(g){try{d(r.throw(g))}catch(h){a(h)}}o(l,"rejected");function d(g){g.done?i(g.value):s(g.value).then(c,l)}o(d,"step"),d((r=r.apply(t,e||[])).next())})},Ht;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(Ht||(Ht={}));var at;(function(t){t.Accept="accept",t.ContentType="content-type"})(at||(at={}));var jn;(function(t){t.ApplicationJson="application/json"})(jn||(jn={}));var PY=[Ht.MovedPermanently,Ht.ResourceMoved,Ht.SeeOther,Ht.TemporaryRedirect,Ht.PermanentRedirect],OY=[Ht.BadGateway,Ht.ServiceUnavailable,Ht.GatewayTimeout],GY=["OPTIONS","GET","DELETE","HEAD"],$Y=10,YY=5,xp=class t extends Error{static{o(this,"HttpClientError")}constructor(e,n){super(e),this.name="HttpClientError",this.statusCode=n,Object.setPrototypeOf(this,t.prototype)}},Dp=class{static{o(this,"HttpClientResponse")}constructor(e){this.message=e}readBody(){return Le(this,void 0,void 0,function*(){return new Promise(e=>Le(this,void 0,void 0,function*(){let n=Buffer.alloc(0);this.message.on("data",r=>{n=Buffer.concat([n,r])}),this.message.on("end",()=>{e(n.toString())})}))})}readBodyBuffer(){return Le(this,void 0,void 0,function*(){return new Promise(e=>Le(this,void 0,void 0,function*(){let n=[];this.message.on("data",r=>{n.push(r)}),this.message.on("end",()=>{e(Buffer.concat(n))})}))})}};var bu=class{static{o(this,"HttpClient")}constructor(e,n,r){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=this._getUserAgentWithOrchestrationId(e),this.handlers=n||[],this.requestOptions=r,r&&(r.ignoreSslError!=null&&(this._ignoreSslError=r.ignoreSslError),this._socketTimeout=r.socketTimeout,r.allowRedirects!=null&&(this._allowRedirects=r.allowRedirects),r.allowRedirectDowngrade!=null&&(this._allowRedirectDowngrade=r.allowRedirectDowngrade),r.maxRedirects!=null&&(this._maxRedirects=Math.max(r.maxRedirects,0)),r.keepAlive!=null&&(this._keepAlive=r.keepAlive),r.allowRetries!=null&&(this._allowRetries=r.allowRetries),r.maxRetries!=null&&(this._maxRetries=r.maxRetries))}options(e,n){return Le(this,void 0,void 0,function*(){return this.request("OPTIONS",e,null,n||{})})}get(e,n){return Le(this,void 0,void 0,function*(){return this.request("GET",e,null,n||{})})}del(e,n){return Le(this,void 0,void 0,function*(){return this.request("DELETE",e,null,n||{})})}post(e,n,r){return Le(this,void 0,void 0,function*(){return this.request("POST",e,n,r||{})})}patch(e,n,r){return Le(this,void 0,void 0,function*(){return this.request("PATCH",e,n,r||{})})}put(e,n,r){return Le(this,void 0,void 0,function*(){return this.request("PUT",e,n,r||{})})}head(e,n){return Le(this,void 0,void 0,function*(){return this.request("HEAD",e,null,n||{})})}sendStream(e,n,r,s){return Le(this,void 0,void 0,function*(){return this.request(e,n,r,s)})}getJson(e){return Le(this,arguments,void 0,function*(n,r={}){r[at.Accept]=this._getExistingOrDefaultHeader(r,at.Accept,jn.ApplicationJson);let s=yield this.get(n,r);return this._processResponse(s,this.requestOptions)})}postJson(e,n){return Le(this,arguments,void 0,function*(r,s,i={}){let a=JSON.stringify(s,null,2);i[at.Accept]=this._getExistingOrDefaultHeader(i,at.Accept,jn.ApplicationJson),i[at.ContentType]=this._getExistingOrDefaultContentTypeHeader(i,jn.ApplicationJson);let c=yield this.post(r,a,i);return this._processResponse(c,this.requestOptions)})}putJson(e,n){return Le(this,arguments,void 0,function*(r,s,i={}){let a=JSON.stringify(s,null,2);i[at.Accept]=this._getExistingOrDefaultHeader(i,at.Accept,jn.ApplicationJson),i[at.ContentType]=this._getExistingOrDefaultContentTypeHeader(i,jn.ApplicationJson);let c=yield this.put(r,a,i);return this._processResponse(c,this.requestOptions)})}patchJson(e,n){return Le(this,arguments,void 0,function*(r,s,i={}){let a=JSON.stringify(s,null,2);i[at.Accept]=this._getExistingOrDefaultHeader(i,at.Accept,jn.ApplicationJson),i[at.ContentType]=this._getExistingOrDefaultContentTypeHeader(i,jn.ApplicationJson);let c=yield this.patch(r,a,i);return this._processResponse(c,this.requestOptions)})}request(e,n,r,s){return Le(this,void 0,void 0,function*(){if(this._disposed)throw new Error("Client has already been disposed.");let i=new URL(n),a=this._prepareRequest(e,i,s),c=this._allowRetries&&GY.includes(e)?this._maxRetries+1:1,l=0,d;do{if(d=yield this.requestRaw(a,r),d&&d.message&&d.message.statusCode===Ht.Unauthorized){let h;for(let f of this.handlers)if(f.canHandleAuthentication(d)){h=f;break}return h?h.handleAuthentication(this,a,r):d}let g=this._maxRedirects;for(;d.message.statusCode&&PY.includes(d.message.statusCode)&&this._allowRedirects&&g>0;){let h=d.message.headers.location;if(!h)break;let f=new URL(h);if(i.protocol==="https:"&&i.protocol!==f.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(yield d.readBody(),f.hostname!==i.hostname)for(let m in s)m.toLowerCase()==="authorization"&&delete s[m];a=this._prepareRequest(e,f,s),d=yield this.requestRaw(a,r),g--}if(!d.message.statusCode||!OY.includes(d.message.statusCode))return d;l+=1,l<c&&(yield d.readBody(),yield this._performExponentialBackoff(l))}while(l<c);return d})}dispose(){this._agent&&this._agent.destroy(),this._disposed=!0}requestRaw(e,n){return Le(this,void 0,void 0,function*(){return new Promise((r,s)=>{function i(a,c){a?s(a):c?r(c):s(new Error("Unknown error"))}o(i,"callbackForResult"),this.requestRawWithCallback(e,n,i)})})}requestRawWithCallback(e,n,r){typeof n=="string"&&(e.options.headers||(e.options.headers={}),e.options.headers["Content-Length"]=Buffer.byteLength(n,"utf8"));let s=!1;function i(l,d){s||(s=!0,r(l,d))}o(i,"handleResult");let a=e.httpModule.request(e.options,l=>{let d=new Dp(l);i(void 0,d)}),c;a.on("socket",l=>{c=l}),a.setTimeout(this._socketTimeout||3*6e4,()=>{c&&c.end(),i(new Error(`Request timeout: ${e.options.path}`))}),a.on("error",function(l){i(l)}),n&&typeof n=="string"&&a.write(n,"utf8"),n&&typeof n!="string"?(n.on("close",function(){a.end()}),n.pipe(a)):a.end()}getAgent(e){let n=new URL(e);return this._getAgent(n)}getAgentDispatcher(e){let n=new URL(e),r=td(n);if(r&&r.hostname)return this._getProxyAgentDispatcher(n,r)}_prepareRequest(e,n,r){let s={};s.parsedUrl=n;let i=s.parsedUrl.protocol==="https:";s.httpModule=i?Tp:La;let a=i?443:80;if(s.options={},s.options.host=s.parsedUrl.hostname,s.options.port=s.parsedUrl.port?parseInt(s.parsedUrl.port):a,s.options.path=(s.parsedUrl.pathname||"")+(s.parsedUrl.search||""),s.options.method=e,s.options.headers=this._mergeHeaders(r),this.userAgent!=null&&(s.options.headers["user-agent"]=this.userAgent),s.options.agent=this._getAgent(s.parsedUrl),this.handlers)for(let c of this.handlers)c.prepareRequest(s.options);return s}_mergeHeaders(e){return this.requestOptions&&this.requestOptions.headers?Object.assign({},Ma(this.requestOptions.headers),Ma(e||{})):Ma(e||{})}_getExistingOrDefaultHeader(e,n,r){let s;if(this.requestOptions&&this.requestOptions.headers){let a=Ma(this.requestOptions.headers)[n];a&&(s=typeof a=="number"?a.toString():a)}let i=e[n];return i!==void 0?typeof i=="number"?i.toString():i:s!==void 0?s:r}_getExistingOrDefaultContentTypeHeader(e,n){let r;if(this.requestOptions&&this.requestOptions.headers){let i=Ma(this.requestOptions.headers)[at.ContentType];i&&(typeof i=="number"?r=String(i):Array.isArray(i)?r=i.join(", "):r=i)}let s=e[at.ContentType];return s!==void 0?typeof s=="number"?String(s):Array.isArray(s)?s.join(", "):s:r!==void 0?r:n}_getAgent(e){let n,r=td(e),s=r&&r.hostname;if(this._keepAlive&&s&&(n=this._proxyAgent),s||(n=this._agent),n)return n;let i=e.protocol==="https:",a=100;if(this.requestOptions&&(a=this.requestOptions.maxSockets||La.globalAgent.maxSockets),r&&r.hostname){let c={maxSockets:a,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})},l,d=r.protocol==="https:";i?l=d?Dr.httpsOverHttps:Dr.httpsOverHttp:l=d?Dr.httpOverHttps:Dr.httpOverHttp,n=l(c),this._proxyAgent=n}if(!n){let c={keepAlive:this._keepAlive,maxSockets:a};n=i?new Tp.Agent(c):new La.Agent(c),this._agent=n}return i&&this._ignoreSslError&&(n.options=Object.assign(n.options||{},{rejectUnauthorized:!1})),n}_getProxyAgentDispatcher(e,n){let r;if(this._keepAlive&&(r=this._proxyAgentDispatcher),r)return r;let s=e.protocol==="https:";return r=new cR.ProxyAgent(Object.assign({uri:n.href,pipelining:this._keepAlive?1:0},(n.username||n.password)&&{token:`Basic ${Buffer.from(`${n.username}:${n.password}`).toString("base64")}`})),this._proxyAgentDispatcher=r,s&&this._ignoreSslError&&(r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:!1})),r}_getUserAgentWithOrchestrationId(e){let n=e||"actions/http-client",r=process.env.ACTIONS_ORCHESTRATION_ID;if(r){let s=r.replace(/[^a-z0-9_.-]/gi,"_");return`${n} actions_orchestration_id/${s}`}return n}_performExponentialBackoff(e){return Le(this,void 0,void 0,function*(){e=Math.min($Y,e);let n=YY*Math.pow(2,e);return new Promise(r=>setTimeout(()=>r(),n))})}_processResponse(e,n){return Le(this,void 0,void 0,function*(){return new Promise((r,s)=>Le(this,void 0,void 0,function*(){let i=e.message.statusCode||0,a={statusCode:i,result:null,headers:{}};i===Ht.NotFound&&r(a);function c(g,h){if(typeof h=="string"){let f=new Date(h);if(!isNaN(f.valueOf()))return f}return h}o(c,"dateTimeDeserializer");let l,d;try{d=yield e.readBody(),d&&d.length>0&&(n&&n.deserializeDates?l=JSON.parse(d,c):l=JSON.parse(d),a.result=l),a.headers=e.message.headers}catch{}if(i>299){let g;l&&l.message?g=l.message:d&&d.length>0?g=d:g=`Failed request: (${i})`;let h=new xp(g,i);h.result=a.result,s(h)}else r(a)}))})}},Ma=o(t=>Object.keys(t).reduce((e,n)=>(e[n.toLowerCase()]=t[n],e),{}),"lowercaseKeys");var HY=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return o(s,"adopt"),new(n||(n=Promise))(function(i,a){function c(g){try{d(r.next(g))}catch(h){a(h)}}o(c,"fulfilled");function l(g){try{d(r.throw(g))}catch(h){a(h)}}o(l,"rejected");function d(g){g.done?i(g.value):s(g.value).then(c,l)}o(d,"step"),d((r=r.apply(t,e||[])).next())})};var ku=class{static{o(this,"BearerCredentialHandler")}constructor(e){this.token=e}prepareRequest(e){if(!e.headers)throw Error("The request has no headers");e.headers.Authorization=`Bearer ${this.token}`}canHandleAuthentication(){return!1}handleAuthentication(){return HY(this,void 0,void 0,function*(){throw new Error("not implemented")})}};var uR=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return o(s,"adopt"),new(n||(n=Promise))(function(i,a){function c(g){try{d(r.next(g))}catch(h){a(h)}}o(c,"fulfilled");function l(g){try{d(r.throw(g))}catch(h){a(h)}}o(l,"rejected");function d(g){g.done?i(g.value):s(g.value).then(c,l)}o(d,"step"),d((r=r.apply(t,e||[])).next())})},Ru=class t{static{o(this,"OidcClient")}static createHttpClient(e=!0,n=10){let r={allowRetries:e,maxRetries:n};return new bu("actions/oidc-client",[new ku(t.getRequestToken())],r)}static getRequestToken(){let e=process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;if(!e)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable");return e}static getIDTokenUrl(){let e=process.env.ACTIONS_ID_TOKEN_REQUEST_URL;if(!e)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable");return e}static getCall(e){return uR(this,void 0,void 0,function*(){var n;let i=(n=(yield t.createHttpClient().getJson(e).catch(a=>{throw new Error(`Failed to get ID Token.
|
|
83
|
+
`:t.text??"")}o(zx,"writeFrame");function Zx(t){zx({command:t})}o(Zx,"writeAzureCommand");function yE(t){return t.replace(/%/g,"%AZP25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(yE,"escapeData");function Kx(t){return yE(t).replace(/;/g,"%3B").replace(/]/g,"%5D")}o(Kx,"escapeProperty");function Xx(t,e,n){let r=Object.entries(e).map(([s,i])=>`${s}=${Kx(i)}`).join(";");return`##vso[${t}${r?` ${r}`:""}]${yE(n)}`}o(Xx,"vsoCommand");function eD(t){if(!t)return[];let e=t.split(/\r?\n/).filter(n=>n.trim()&&n!==t);return[t,...e].map(n=>Xx("task.setsecret",{},n))}o(eD,"setSecretLines");function QE(t,e=Zx){for(let n of eD(t))e(n)}o(QE,"azureSetSecret");function Do(t){return t.replace(/\/+$/,"")}o(Do,"withoutTrailingSlash");function jl(t){let e=new URL(t),n=e.pathname.split("/").filter(Boolean);if(n.length)return decodeURIComponent(n[n.length-1]);if(e.hostname.endsWith(".visualstudio.com"))return e.hostname.split(".")[0];throw new Error(`SYSTEM_COLLECTIONURI "${t}" names no organization`)}o(jl,"azureOrganization");var tD=/^[A-Za-z0-9](?:[A-Za-z0-9-]{0,48}[A-Za-z0-9])?$/,nD=/[\\/:*?"<>|;#${},+=[\]%\p{Cc}\p{Cf}]/u;function BE(t){return t.length>0&&t.length<=64&&t===t.trim()&&!nD.test(t)&&!/[^\S ]/u.test(t)&&!/^[._]/.test(t)&&!t.endsWith(".")}o(BE,"isName");function kA(t){return Wl(`${t.namespace}/${t.name}`)}o(kA,"azureRepositoryOfSource");function Wl(t){let e=t.indexOf("/"),n=t.lastIndexOf("/"),r=t.slice(0,e),s=t.slice(e+1,n),i=t.slice(n+1);if(e<0||e===n||!tD.test(r)||!BE(s)||!BE(i))throw new Error(`"${t}" is not an Azure DevOps organization/project/repository`);return{organization:r,project:s,name:i}}o(Wl,"azureRepositoryOf");function wE(t,e){let n=jl(t);if(n.toLowerCase()!==e.organization.toLowerCase())throw new Error(`${e.organization}/${e.project}/${e.name} is not in ${n}, the Azure DevOps organization this job runs in`)}o(wE,"inOrganization");function bE(t,e){return wE(t,e),`${Do(t)}/${encodeURIComponent(e.project)}/_git/${encodeURIComponent(e.name)}`}o(bE,"azureCloneUrl");function zl(t,e){return wE(t,e),`${Do(t)}/${encodeURIComponent(e.project)}/_apis/git/repositories/${encodeURIComponent(e.name)}`}o(zl,"azureRepositoryApi");var rD="7.1",xo=class extends Error{constructor(n,r){super(n);this.status=r}status;static{o(this,"AzureRestError")}};async function Zl(t){let e=t.accept??"application/json",n=new URL(t.url);n.searchParams.has("api-version")||n.searchParams.set("api-version",rD);let r=await(t.fetch??fetch)(n.toString(),{method:t.method??"GET",headers:{Authorization:`Bearer ${t.token}`,Accept:e,...t.body!==void 0?{"Content-Type":"application/json"}:{}},...t.body!==void 0?{body:JSON.stringify(t.body)}:{},redirect:"error",signal:AbortSignal.timeout(3e4)});if(!r.ok){let s=(await r.json().catch(()=>({}))).message;throw new xo(`Azure DevOps answered ${r.status}${typeof s=="string"?`: ${s}`:""}`,r.status)}return e!=="application/json"?Buffer.from(await r.arrayBuffer()):r.status===204?{}:await r.json()}o(Zl,"azureRest");function sD(t){return`AUTHORIZATION: bearer ${t}`}o(sD,"azureGitAuthorization");function RE(t,e){return{GIT_CONFIG_COUNT:"1",GIT_CONFIG_KEY_0:`http.${Do(t)}/.extraheader`,GIT_CONFIG_VALUE_0:sD(e)}}o(RE,"azureGitAuthEnv");var iD="7.1-preview.1",oD=".azure-pipelines/skyramp-testbot-v3.yml";function Kl(t){return t.GITHUB_ACTIONS!=="true"&&/^true$/i.test(t.TF_BUILD??"")}o(Kl,"isAzurePipelines");function vE(t,e={}){let n=o(h=>{let f=t[h];if(!f)throw new Error(`${h} is not set; the V3 runner handshake needs it`);return f},"read"),r=Do(t.SYSTEM_COLLECTIONURI??""),s=o(()=>jl(n("SYSTEM_COLLECTIONURI")),"organization"),i=t.SYSTEM_TEAMPROJECT,a=t.BUILD_REPOSITORY_NAME,c=t.BUILD_REPOSITORY_ID?.toLowerCase(),l=t.SYSTEM_ACCESSTOKEN,d=e.mask??(h=>QE(h)),g=o(h=>async()=>{if(!h)throw new Error("The job cannot request an OIDC token: the Testbot step's env must set SYSTEM_OIDCREQUESTURI to $(System.OidcRequestUri).");if(!l)throw new Error("The job cannot request an OIDC token: the Testbot step's env must set SYSTEM_ACCESSTOKEN to $(System.AccessToken).");let f=new URL(h);if(f.protocol!=="https:")throw new Error("SYSTEM_OIDCREQUESTURI is not an https URL");f.searchParams.set("api-version",iD);let m=await(e.fetch??fetch)(f.toString(),{method:"POST",headers:{Authorization:`Bearer ${l}`,"Content-Type":"application/json",Accept:"application/json"},body:"{}",redirect:"error",signal:AbortSignal.timeout(3e4)});if(!m.ok)throw new Error(`Azure DevOps refused the OIDC token request: ${m.status}`);let C=(await m.json().catch(()=>({}))).oidcToken;if(typeof C!="string"||!C)throw new Error("Azure DevOps's OIDC token response carried no token");return d(C),C},"mint");return{runnerPlatform:Kl(t)?"azure":void 0,workspace:t.BUILD_SOURCESDIRECTORY||void 0,serverUrl:r,apiUrl:r,repository:c&&i&&a&&r?{id:c,slug:`${s()}/${i}/${a}`}:void 0,runId:t.BUILD_BUILDID||void 0,runAttempt:t.SYSTEM_STAGEATTEMPT||void 0,job:t.SYSTEM_JOBNAME||void 0,execution(){let h=n("SYSTEM_STAGEATTEMPT");if(!/^[1-9][0-9]*$/.test(h))throw new Error(`SYSTEM_STAGEATTEMPT is "${h}", not a positive whole number`);let f=n("SYSTEM_COLLECTIONID").toLowerCase();if(!Vs.test(f))throw new Error(`SYSTEM_COLLECTIONID is "${f}", not a GUID`);let m=n("BUILD_REPOSITORY_ID").toLowerCase();if(!Vs.test(m))throw new Error(`BUILD_REPOSITORY_ID is "${m}", not a GUID`);let C=[s(),n("SYSTEM_TEAMPROJECT"),n("SYSTEM_DEFINITIONID"),n("BUILD_BUILDID")].map(encodeURIComponent).join("/");return{provider:"azure-devops",repository:{provider:"azure-devops",providerAccountId:f,providerRepositoryId:m},providerRunId:C,providerRunAttempt:Number(h),workflowRef:`${oD}@${n("BUILD_SOURCEBRANCH")}`}},takeIdToken(){let h=t.SYSTEM_OIDCREQUESTURI;delete t.SYSTEM_OIDCREQUESTURI;let f=g(h);return()=>f()},takeSourceToken(){return delete t.SYSTEM_ACCESSTOKEN,l||void 0},webIdentity(){if(!t.SYSTEM_OIDCREQUESTURI?.trim()||!l)return;let h=g(t.SYSTEM_OIDCREQUESTURI);return{token:o(()=>h(),"token"),runId:t.BUILD_BUILDID}},v3RunsOnly:!0,assumesBedrockRole:!0,namesSourceToMcp:!0,checkSourceName(h){kA(h)},cloneUrl(h){return bE(r,kA(h))},gitAuthEnv(h){return RE(r,h)},async pullRequest(h,f,m){let C=await Zl({token:await m.token(),url:`${zl(r,kA(h))}/pullrequests/${f}`,fetch:m.fetch}),y=C.status==="completed";return{...typeof C.title=="string"?{title:C.title}:{},...typeof C.description=="string"?{body:C.description}:{},...typeof C.status=="string"?{merged:y}:{},...y&&typeof C.lastMergeCommit?.commitId=="string"?{mergeCommit:C.lastMergeCommit.commitId}:{},...y&&typeof C.lastMergeSourceCommit?.commitId=="string"?{mergedHead:C.lastMergeSourceCommit.commitId}:{}}},async commit(h,f,m){let C;try{C=zl(r,Wl(h))}catch{return{lookup:"unknown"}}try{let y=await Zl({token:await m.token(),url:`${C}/commits/${encodeURIComponent(f)}`,fetch:m.fetch});return typeof y.commitId=="string"?{sha:y.commitId}:{lookup:"missing"}}catch(y){return{lookup:y instanceof xo&&(y.status===404||y.status===400)?"missing":"unknown"}}}}}o(vE,"azureRunnerHost");var DE=Ve(require("os"),1);function To(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}o(To,"toCommandValue");function ed(t,e,n){let r=new Xl(t,e,n);process.stdout.write(r.toString()+DE.EOL)}o(ed,"issueCommand");var xE="::",Xl=class{static{o(this,"Command")}constructor(e,n,r){e||(e="missing.command"),this.command=e,this.properties=n,this.message=r}toString(){let e=xE+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let n=!0;for(let r in this.properties)if(this.properties.hasOwnProperty(r)){let s=this.properties[r];s&&(n?n=!1:e+=",",e+=`${r}=${AD(s)}`)}}return e+=`${xE}${aD(this.message)}`,e}};function aD(t){return To(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}o(aD,"escapeData");function AD(t){return To(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}o(AD,"escapeProperty");var La=Ve(require("http"),1),Tp=Ve(require("https"),1);function td(t){let e=t.protocol==="https:";if(cD(t))return;let n=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(n)try{return new SA(n)}catch{if(!n.startsWith("http://")&&!n.startsWith("https://"))return new SA(`http://${n}`)}else return}o(td,"getProxyUrl");function cD(t){if(!t.hostname)return!1;let e=t.hostname;if(uD(e))return!0;let n=process.env.no_proxy||process.env.NO_PROXY||"";if(!n)return!1;let r;t.port?r=Number(t.port):t.protocol==="http:"?r=80:t.protocol==="https:"&&(r=443);let s=[t.hostname.toUpperCase()];typeof r=="number"&&s.push(`${s[0]}:${r}`);for(let i of n.split(",").map(a=>a.trim().toUpperCase()).filter(a=>a))if(i==="*"||s.some(a=>a===i||a.endsWith(`.${i}`)||i.startsWith(".")&&a.endsWith(`${i}`)))return!0;return!1}o(cD,"checkBypass");function uD(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}o(uD,"isLoopbackAddress");var SA=class extends URL{static{o(this,"DecodedURL")}constructor(e,n){super(e,n),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}};var Dr=Ve(LE(),1),ck=Ve(Ak(),1);var Le=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return o(s,"adopt"),new(n||(n=Promise))(function(i,a){function c(g){try{d(r.next(g))}catch(h){a(h)}}o(c,"fulfilled");function l(g){try{d(r.throw(g))}catch(h){a(h)}}o(l,"rejected");function d(g){g.done?i(g.value):s(g.value).then(c,l)}o(d,"step"),d((r=r.apply(t,e||[])).next())})},Vt;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(Vt||(Vt={}));var at;(function(t){t.Accept="accept",t.ContentType="content-type"})(at||(at={}));var jn;(function(t){t.ApplicationJson="application/json"})(jn||(jn={}));var PY=[Vt.MovedPermanently,Vt.ResourceMoved,Vt.SeeOther,Vt.TemporaryRedirect,Vt.PermanentRedirect],OY=[Vt.BadGateway,Vt.ServiceUnavailable,Vt.GatewayTimeout],GY=["OPTIONS","GET","DELETE","HEAD"],$Y=10,YY=5,xp=class t extends Error{static{o(this,"HttpClientError")}constructor(e,n){super(e),this.name="HttpClientError",this.statusCode=n,Object.setPrototypeOf(this,t.prototype)}},Dp=class{static{o(this,"HttpClientResponse")}constructor(e){this.message=e}readBody(){return Le(this,void 0,void 0,function*(){return new Promise(e=>Le(this,void 0,void 0,function*(){let n=Buffer.alloc(0);this.message.on("data",r=>{n=Buffer.concat([n,r])}),this.message.on("end",()=>{e(n.toString())})}))})}readBodyBuffer(){return Le(this,void 0,void 0,function*(){return new Promise(e=>Le(this,void 0,void 0,function*(){let n=[];this.message.on("data",r=>{n.push(r)}),this.message.on("end",()=>{e(Buffer.concat(n))})}))})}};var bu=class{static{o(this,"HttpClient")}constructor(e,n,r){this._ignoreSslError=!1,this._allowRedirects=!0,this._allowRedirectDowngrade=!1,this._maxRedirects=50,this._allowRetries=!1,this._maxRetries=1,this._keepAlive=!1,this._disposed=!1,this.userAgent=this._getUserAgentWithOrchestrationId(e),this.handlers=n||[],this.requestOptions=r,r&&(r.ignoreSslError!=null&&(this._ignoreSslError=r.ignoreSslError),this._socketTimeout=r.socketTimeout,r.allowRedirects!=null&&(this._allowRedirects=r.allowRedirects),r.allowRedirectDowngrade!=null&&(this._allowRedirectDowngrade=r.allowRedirectDowngrade),r.maxRedirects!=null&&(this._maxRedirects=Math.max(r.maxRedirects,0)),r.keepAlive!=null&&(this._keepAlive=r.keepAlive),r.allowRetries!=null&&(this._allowRetries=r.allowRetries),r.maxRetries!=null&&(this._maxRetries=r.maxRetries))}options(e,n){return Le(this,void 0,void 0,function*(){return this.request("OPTIONS",e,null,n||{})})}get(e,n){return Le(this,void 0,void 0,function*(){return this.request("GET",e,null,n||{})})}del(e,n){return Le(this,void 0,void 0,function*(){return this.request("DELETE",e,null,n||{})})}post(e,n,r){return Le(this,void 0,void 0,function*(){return this.request("POST",e,n,r||{})})}patch(e,n,r){return Le(this,void 0,void 0,function*(){return this.request("PATCH",e,n,r||{})})}put(e,n,r){return Le(this,void 0,void 0,function*(){return this.request("PUT",e,n,r||{})})}head(e,n){return Le(this,void 0,void 0,function*(){return this.request("HEAD",e,null,n||{})})}sendStream(e,n,r,s){return Le(this,void 0,void 0,function*(){return this.request(e,n,r,s)})}getJson(e){return Le(this,arguments,void 0,function*(n,r={}){r[at.Accept]=this._getExistingOrDefaultHeader(r,at.Accept,jn.ApplicationJson);let s=yield this.get(n,r);return this._processResponse(s,this.requestOptions)})}postJson(e,n){return Le(this,arguments,void 0,function*(r,s,i={}){let a=JSON.stringify(s,null,2);i[at.Accept]=this._getExistingOrDefaultHeader(i,at.Accept,jn.ApplicationJson),i[at.ContentType]=this._getExistingOrDefaultContentTypeHeader(i,jn.ApplicationJson);let c=yield this.post(r,a,i);return this._processResponse(c,this.requestOptions)})}putJson(e,n){return Le(this,arguments,void 0,function*(r,s,i={}){let a=JSON.stringify(s,null,2);i[at.Accept]=this._getExistingOrDefaultHeader(i,at.Accept,jn.ApplicationJson),i[at.ContentType]=this._getExistingOrDefaultContentTypeHeader(i,jn.ApplicationJson);let c=yield this.put(r,a,i);return this._processResponse(c,this.requestOptions)})}patchJson(e,n){return Le(this,arguments,void 0,function*(r,s,i={}){let a=JSON.stringify(s,null,2);i[at.Accept]=this._getExistingOrDefaultHeader(i,at.Accept,jn.ApplicationJson),i[at.ContentType]=this._getExistingOrDefaultContentTypeHeader(i,jn.ApplicationJson);let c=yield this.patch(r,a,i);return this._processResponse(c,this.requestOptions)})}request(e,n,r,s){return Le(this,void 0,void 0,function*(){if(this._disposed)throw new Error("Client has already been disposed.");let i=new URL(n),a=this._prepareRequest(e,i,s),c=this._allowRetries&&GY.includes(e)?this._maxRetries+1:1,l=0,d;do{if(d=yield this.requestRaw(a,r),d&&d.message&&d.message.statusCode===Vt.Unauthorized){let h;for(let f of this.handlers)if(f.canHandleAuthentication(d)){h=f;break}return h?h.handleAuthentication(this,a,r):d}let g=this._maxRedirects;for(;d.message.statusCode&&PY.includes(d.message.statusCode)&&this._allowRedirects&&g>0;){let h=d.message.headers.location;if(!h)break;let f=new URL(h);if(i.protocol==="https:"&&i.protocol!==f.protocol&&!this._allowRedirectDowngrade)throw new Error("Redirect from HTTPS to HTTP protocol. This downgrade is not allowed for security reasons. If you want to allow this behavior, set the allowRedirectDowngrade option to true.");if(yield d.readBody(),f.hostname!==i.hostname)for(let m in s)m.toLowerCase()==="authorization"&&delete s[m];a=this._prepareRequest(e,f,s),d=yield this.requestRaw(a,r),g--}if(!d.message.statusCode||!OY.includes(d.message.statusCode))return d;l+=1,l<c&&(yield d.readBody(),yield this._performExponentialBackoff(l))}while(l<c);return d})}dispose(){this._agent&&this._agent.destroy(),this._disposed=!0}requestRaw(e,n){return Le(this,void 0,void 0,function*(){return new Promise((r,s)=>{function i(a,c){a?s(a):c?r(c):s(new Error("Unknown error"))}o(i,"callbackForResult"),this.requestRawWithCallback(e,n,i)})})}requestRawWithCallback(e,n,r){typeof n=="string"&&(e.options.headers||(e.options.headers={}),e.options.headers["Content-Length"]=Buffer.byteLength(n,"utf8"));let s=!1;function i(l,d){s||(s=!0,r(l,d))}o(i,"handleResult");let a=e.httpModule.request(e.options,l=>{let d=new Dp(l);i(void 0,d)}),c;a.on("socket",l=>{c=l}),a.setTimeout(this._socketTimeout||3*6e4,()=>{c&&c.end(),i(new Error(`Request timeout: ${e.options.path}`))}),a.on("error",function(l){i(l)}),n&&typeof n=="string"&&a.write(n,"utf8"),n&&typeof n!="string"?(n.on("close",function(){a.end()}),n.pipe(a)):a.end()}getAgent(e){let n=new URL(e);return this._getAgent(n)}getAgentDispatcher(e){let n=new URL(e),r=td(n);if(r&&r.hostname)return this._getProxyAgentDispatcher(n,r)}_prepareRequest(e,n,r){let s={};s.parsedUrl=n;let i=s.parsedUrl.protocol==="https:";s.httpModule=i?Tp:La;let a=i?443:80;if(s.options={},s.options.host=s.parsedUrl.hostname,s.options.port=s.parsedUrl.port?parseInt(s.parsedUrl.port):a,s.options.path=(s.parsedUrl.pathname||"")+(s.parsedUrl.search||""),s.options.method=e,s.options.headers=this._mergeHeaders(r),this.userAgent!=null&&(s.options.headers["user-agent"]=this.userAgent),s.options.agent=this._getAgent(s.parsedUrl),this.handlers)for(let c of this.handlers)c.prepareRequest(s.options);return s}_mergeHeaders(e){return this.requestOptions&&this.requestOptions.headers?Object.assign({},Ma(this.requestOptions.headers),Ma(e||{})):Ma(e||{})}_getExistingOrDefaultHeader(e,n,r){let s;if(this.requestOptions&&this.requestOptions.headers){let a=Ma(this.requestOptions.headers)[n];a&&(s=typeof a=="number"?a.toString():a)}let i=e[n];return i!==void 0?typeof i=="number"?i.toString():i:s!==void 0?s:r}_getExistingOrDefaultContentTypeHeader(e,n){let r;if(this.requestOptions&&this.requestOptions.headers){let i=Ma(this.requestOptions.headers)[at.ContentType];i&&(typeof i=="number"?r=String(i):Array.isArray(i)?r=i.join(", "):r=i)}let s=e[at.ContentType];return s!==void 0?typeof s=="number"?String(s):Array.isArray(s)?s.join(", "):s:r!==void 0?r:n}_getAgent(e){let n,r=td(e),s=r&&r.hostname;if(this._keepAlive&&s&&(n=this._proxyAgent),s||(n=this._agent),n)return n;let i=e.protocol==="https:",a=100;if(this.requestOptions&&(a=this.requestOptions.maxSockets||La.globalAgent.maxSockets),r&&r.hostname){let c={maxSockets:a,keepAlive:this._keepAlive,proxy:Object.assign(Object.assign({},(r.username||r.password)&&{proxyAuth:`${r.username}:${r.password}`}),{host:r.hostname,port:r.port})},l,d=r.protocol==="https:";i?l=d?Dr.httpsOverHttps:Dr.httpsOverHttp:l=d?Dr.httpOverHttps:Dr.httpOverHttp,n=l(c),this._proxyAgent=n}if(!n){let c={keepAlive:this._keepAlive,maxSockets:a};n=i?new Tp.Agent(c):new La.Agent(c),this._agent=n}return i&&this._ignoreSslError&&(n.options=Object.assign(n.options||{},{rejectUnauthorized:!1})),n}_getProxyAgentDispatcher(e,n){let r;if(this._keepAlive&&(r=this._proxyAgentDispatcher),r)return r;let s=e.protocol==="https:";return r=new ck.ProxyAgent(Object.assign({uri:n.href,pipelining:this._keepAlive?1:0},(n.username||n.password)&&{token:`Basic ${Buffer.from(`${n.username}:${n.password}`).toString("base64")}`})),this._proxyAgentDispatcher=r,s&&this._ignoreSslError&&(r.options=Object.assign(r.options.requestTls||{},{rejectUnauthorized:!1})),r}_getUserAgentWithOrchestrationId(e){let n=e||"actions/http-client",r=process.env.ACTIONS_ORCHESTRATION_ID;if(r){let s=r.replace(/[^a-z0-9_.-]/gi,"_");return`${n} actions_orchestration_id/${s}`}return n}_performExponentialBackoff(e){return Le(this,void 0,void 0,function*(){e=Math.min($Y,e);let n=YY*Math.pow(2,e);return new Promise(r=>setTimeout(()=>r(),n))})}_processResponse(e,n){return Le(this,void 0,void 0,function*(){return new Promise((r,s)=>Le(this,void 0,void 0,function*(){let i=e.message.statusCode||0,a={statusCode:i,result:null,headers:{}};i===Vt.NotFound&&r(a);function c(g,h){if(typeof h=="string"){let f=new Date(h);if(!isNaN(f.valueOf()))return f}return h}o(c,"dateTimeDeserializer");let l,d;try{d=yield e.readBody(),d&&d.length>0&&(n&&n.deserializeDates?l=JSON.parse(d,c):l=JSON.parse(d),a.result=l),a.headers=e.message.headers}catch{}if(i>299){let g;l&&l.message?g=l.message:d&&d.length>0?g=d:g=`Failed request: (${i})`;let h=new xp(g,i);h.result=a.result,s(h)}else r(a)}))})}},Ma=o(t=>Object.keys(t).reduce((e,n)=>(e[n.toLowerCase()]=t[n],e),{}),"lowercaseKeys");var VY=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return o(s,"adopt"),new(n||(n=Promise))(function(i,a){function c(g){try{d(r.next(g))}catch(h){a(h)}}o(c,"fulfilled");function l(g){try{d(r.throw(g))}catch(h){a(h)}}o(l,"rejected");function d(g){g.done?i(g.value):s(g.value).then(c,l)}o(d,"step"),d((r=r.apply(t,e||[])).next())})};var Ru=class{static{o(this,"BearerCredentialHandler")}constructor(e){this.token=e}prepareRequest(e){if(!e.headers)throw Error("The request has no headers");e.headers.Authorization=`Bearer ${this.token}`}canHandleAuthentication(){return!1}handleAuthentication(){return VY(this,void 0,void 0,function*(){throw new Error("not implemented")})}};var uk=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return o(s,"adopt"),new(n||(n=Promise))(function(i,a){function c(g){try{d(r.next(g))}catch(h){a(h)}}o(c,"fulfilled");function l(g){try{d(r.throw(g))}catch(h){a(h)}}o(l,"rejected");function d(g){g.done?i(g.value):s(g.value).then(c,l)}o(d,"step"),d((r=r.apply(t,e||[])).next())})},ku=class t{static{o(this,"OidcClient")}static createHttpClient(e=!0,n=10){let r={allowRetries:e,maxRetries:n};return new bu("actions/oidc-client",[new Ru(t.getRequestToken())],r)}static getRequestToken(){let e=process.env.ACTIONS_ID_TOKEN_REQUEST_TOKEN;if(!e)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_TOKEN env variable");return e}static getIDTokenUrl(){let e=process.env.ACTIONS_ID_TOKEN_REQUEST_URL;if(!e)throw new Error("Unable to get ACTIONS_ID_TOKEN_REQUEST_URL env variable");return e}static getCall(e){return uk(this,void 0,void 0,function*(){var n;let i=(n=(yield t.createHttpClient().getJson(e).catch(a=>{throw new Error(`Failed to get ID Token.
|
|
84
84
|
|
|
85
85
|
Error Code : ${a.statusCode}
|
|
86
86
|
|
|
87
|
-
Error Message: ${a.message}`)})).result)===null||n===void 0?void 0:n.value;if(!i)throw new Error("Response json body do not have ID Token field");return i})}static getIDToken(e){return uR(this,void 0,void 0,function*(){try{let n=t.getIDTokenUrl();if(e){let s=encodeURIComponent(e);n=`${n}&audience=${s}`}lR(`ID token url is ${n}`);let r=yield t.getCall(n);return _a(r),r}catch(n){throw new Error(`Error message: ${n.message}`)}})}};var gR=require("os"),Pa=require("fs");var Np=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return o(s,"adopt"),new(n||(n=Promise))(function(i,a){function c(g){try{d(r.next(g))}catch(h){a(h)}}o(c,"fulfilled");function l(g){try{d(r.throw(g))}catch(h){a(h)}}o(l,"rejected");function d(g){g.done?i(g.value):s(g.value).then(c,l)}o(d,"step"),d((r=r.apply(t,e||[])).next())})},{access:VY,appendFile:JY,writeFile:qY}=Pa.promises,dR="GITHUB_STEP_SUMMARY";var Fp=class{static{o(this,"Summary")}constructor(){this._buffer=""}filePath(){return Np(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[dR];if(!e)throw new Error(`Unable to find environment variable for $${dR}. Check if your runtime environment supports job summaries.`);try{yield VY(e,Pa.constants.R_OK|Pa.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,n,r={}){let s=Object.entries(r).map(([i,a])=>` ${i}="${a}"`).join("");return n?`<${e}${s}>${n}</${e}>`:`<${e}${s}>`}write(e){return Np(this,void 0,void 0,function*(){let n=!!e?.overwrite,r=yield this.filePath();return yield(n?qY:JY)(r,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return Np(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,n=!1){return this._buffer+=e,n?this.addEOL():this}addEOL(){return this.addRaw(gR.EOL)}addCodeBlock(e,n){let r=Object.assign({},n&&{lang:n}),s=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(s).addEOL()}addList(e,n=!1){let r=n?"ol":"ul",s=e.map(a=>this.wrap("li",a)).join(""),i=this.wrap(r,s);return this.addRaw(i).addEOL()}addTable(e){let n=e.map(s=>{let i=s.map(a=>{if(typeof a=="string")return this.wrap("td",a);let{header:c,data:l,colspan:d,rowspan:g}=a,h=c?"th":"td",f=Object.assign(Object.assign({},d&&{colspan:d}),g&&{rowspan:g});return this.wrap(h,l,f)}).join("");return this.wrap("tr",i)}).join(""),r=this.wrap("table",n);return this.addRaw(r).addEOL()}addDetails(e,n){let r=this.wrap("details",this.wrap("summary",e)+n);return this.addRaw(r).addEOL()}addImage(e,n,r){let{width:s,height:i}=r||{},a=Object.assign(Object.assign({},s&&{width:s}),i&&{height:i}),c=this.wrap("img",null,Object.assign({src:e,alt:n},a));return this.addRaw(c).addEOL()}addHeading(e,n){let r=`h${n}`,s=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1",i=this.wrap(s,e);return this.addRaw(i).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,n){let r=Object.assign({},n&&{cite:n}),s=this.wrap("blockquote",e,r);return this.addRaw(s).addEOL()}addLink(e,n){let r=this.wrap("a",e,{href:n});return this.addRaw(r).addEOL()}},_3=new Fp;var Up=He(require("os"),1);var Su=He(require("fs"),1);var{chmod:jY,copyFile:WY,lstat:zY,mkdir:ZY,open:Y3,readdir:KY,rename:XY,rm:e2,rmdir:H3,stat:t2,symlink:n2,unlink:r2}=Su.promises,s2=process.platform==="win32";var V3=Su.constants.O_RDONLY;var K3=process.platform==="win32";var s5=Up.default.platform(),i5=Up.default.arch();var l2=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return o(s,"adopt"),new(n||(n=Promise))(function(i,a){function c(g){try{d(r.next(g))}catch(h){a(h)}}o(c,"fulfilled");function l(g){try{d(r.throw(g))}catch(h){a(h)}}o(l,"rejected");function d(g){g.done?i(g.value):s(g.value).then(c,l)}o(d,"step"),d((r=r.apply(t,e||[])).next())})},pR;(function(t){t[t.Success=0]="Success",t[t.Failure=1]="Failure"})(pR||(pR={}));function _a(t){ed("add-mask",{},t)}o(_a,"setSecret");function lR(t){ed("debug",{},t)}o(lR,"debug");function fR(t){return l2(this,void 0,void 0,function*(){return yield Ru.getIDToken(t)})}o(fR,"getIDToken");var d2=5e3,Mp=/^(?!\.\.?$)[A-Za-z0-9._-]{1,100}$/;function g2(t){let e=Buffer.from(`x-access-token:${t}`).toString("base64");return _a(e),`AUTHORIZATION: basic ${e}`}o(g2,"githubGitAuthorization");function ER(t,e={}){let n=o(l=>{let d=t[l];if(!d)throw new Error(`${l} is not set; the V3 runner handshake needs it`);return d},"read"),r=t.GITHUB_REPOSITORY_ID,s=t.GITHUB_REPOSITORY,i=(t.GITHUB_SERVER_URL||"https://github.com").replace(/\/+$/,""),a=(t.GITHUB_API_URL||"https://api.github.com").replace(/\/+$/,""),c=o(async(l,d)=>d.fetch(l,{headers:{Authorization:`Bearer ${await d.token()}`,Accept:"application/vnd.github+json"},redirect:"error",signal:AbortSignal.timeout(3e4)}),"get");return{runnerPlatform:t.GITHUB_ACTIONS==="true"?"github":void 0,workspace:t.GITHUB_WORKSPACE||void 0,serverUrl:i,apiUrl:a,repository:r&&s?{id:r,slug:s}:void 0,runId:t.GITHUB_RUN_ID||void 0,runAttempt:t.GITHUB_RUN_ATTEMPT||void 0,job:t.GITHUB_JOB||void 0,execution(){let l=n("GITHUB_RUN_ATTEMPT");if(!/^[1-9][0-9]*$/.test(l))throw new Error(`GITHUB_RUN_ATTEMPT is "${l}", not a positive whole number`);return{provider:"github",repository:{provider:"github",providerAccountId:n("GITHUB_REPOSITORY_OWNER_ID"),providerRepositoryId:n("GITHUB_REPOSITORY_ID")},providerRunId:n("GITHUB_RUN_ID"),providerRunAttempt:Number(l),workflowRef:n("GITHUB_WORKFLOW_REF")}},takeIdToken(){let l=t.ACTIONS_ID_TOKEN_REQUEST_URL,d=t.ACTIONS_ID_TOKEN_REQUEST_TOKEN;return delete t.ACTIONS_ID_TOKEN_REQUEST_URL,delete t.ACTIONS_ID_TOKEN_REQUEST_TOKEN,async g=>{if(!l||!d)throw new Error("The job cannot request an OIDC token. Give it the `id-token: write` permission.");let h=new URL(l);h.searchParams.set("audience",g);let f=await fetch(h,{headers:{Authorization:`Bearer ${d}`,Accept:"application/json"},redirect:"error",signal:AbortSignal.timeout(3e4)});if(!f.ok)throw new Error(`GitHub refused the OIDC token request: ${f.status}`);let m=(await f.json().catch(()=>({}))).value;if(typeof m!="string"||!m)throw new Error("GitHub's OIDC token response carried no token");return _a(m),m}},webIdentity(){return!t.ACTIONS_ID_TOKEN_REQUEST_TOKEN?.trim()||!t.ACTIONS_ID_TOKEN_REQUEST_URL?.trim()?void 0:{token:e.getIDToken??(d=>fR(d)),runId:t.GITHUB_RUN_ID}},v3RunsOnly:!1,assumesBedrockRole:!1,namesSourceToMcp:!1,checkSourceName(l){for(let d of[l.namespace,l.name])if(!Mp.test(d))throw new Error(`"${d}" is not a repository name`)},cloneUrl(l){return`${i}/${l.namespace}/${l.name}.git`},gitAuthEnv(l){return l?{GIT_CONFIG_COUNT:"1",GIT_CONFIG_KEY_0:`http.${i}/.extraheader`,GIT_CONFIG_VALUE_0:g2(l)}:{}},async pullRequest({namespace:l,name:d},g,h){if(![l,d].every(C=>Mp.test(C)))throw new Error("the repository name is not valid");let f=await c(`${a}/repos/${l}/${d}/pulls/${g}`,h);if(!f.ok)throw new Error(`GitHub answered ${f.status}`);let m=await f.json();return{...typeof m.title=="string"?{title:m.title}:{},...typeof m.body=="string"?{body:m.body}:{},...typeof m.merged=="boolean"?{merged:m.merged}:{},...m.merged===!0&&typeof m.merge_commit_sha=="string"?{mergeCommit:m.merge_commit_sha}:{},...m.merged===!0&&typeof m.head?.sha=="string"?{mergedHead:m.head.sha}:{}}},async commit(l,d,g){let[h,f,...m]=l.split("/");if(m.length||![h,f].every(C=>C!==void 0&&Mp.test(C)))return{lookup:"unknown"};try{let C=await c(`${a}/repos/${h}/${f}/commits/${encodeURIComponent(d)}`,g);if(C.status===404||C.status===422)return{lookup:"missing"};if(!C.ok)return{lookup:"unknown"};let y=await C.json();return typeof y.sha=="string"?{sha:y.sha}:{lookup:"missing"}}catch{return{lookup:"unknown"}}},async revokeToken(l,d){let g=await d(`${a}/installation/token`,{method:"DELETE",headers:{Authorization:`Bearer ${l}`,Accept:"application/vnd.github+json"},redirect:"error",signal:AbortSignal.timeout(d2)});if(!g.ok&&g.status!==401)throw new Error(`GitHub answered ${g.status}`)}}}o(ER,"githubRunnerHost");function CR(t=process.env){return Kl(t)?vE(t):ER(t)}o(CR,"runnerHost");var h2=10*6e4;function p2(t,e){return t.getTime()-e.getTime()-h2}o(p2,"remainingBudgetMs");var IR="This attempt revoked its scoped GitHub credentials; it mints no more.",f2=10*6e4;var m2=o(t=>!!t&&Object.keys(t).length===1&&t.contents==="read","onlyReads"),E2=3e4,C2=3,Bn=class extends Error{constructor(n,r,s){super(n);this.status=r;this.code=s}status;code;static{o(this,"AppRefusal")}},Ki=class extends Error{static{o(this,"AppUnreachable")}};function Lp(t){let e;try{e=new URL(t)}catch{throw new Error(`skyrampAppOrigin "${t}" is not a URL`)}if(e.protocol!=="https:"||e.origin!==t.replace(/\/+$/,""))throw new Error(`skyrampAppOrigin must be an https origin, got "${t}"`);return e.origin}o(Lp,"appOrigin");function yR(t,e){if(!Hs.test(t))throw new Error(`The ${e} "${t}" is not a uuid`);return t}o(yR,"routeId");function I2(t,e){return`${t.replace(/\/+$/,"")}/runs/${e}`}o(I2,"skyrampRunPageUrl");function QR(t,e,n){throw e<500&&e!==429?new Bn(t,e,n):new Ki(t)}o(QR,"refusedOrUnreachable");async function BR(t,e,n,r){let s=Lp(t.origin),i;for(let a=1;a<=C2;a+=1){a>1&&await new Promise(c=>setTimeout(c,(t.retryDelayMs??2e3)*(a-1)));try{let c=await t.idToken(s),l=await(t.fetch??fetch)(new URL(e,s).toString(),{...n(c),redirect:"error",signal:AbortSignal.timeout(E2)}).catch(d=>{throw new Ki(d instanceof Error?d.message:String(d),{cause:d})});return await r(l)}catch(c){if(c instanceof Bn)throw c;i=c}}throw i}o(BR,"callWithRetries");function _p(t,e,n,r){return BR(t,n,o(i=>({method:e,headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json",Accept:"application/json"},body:e==="GET"?void 0:JSON.stringify(r)}),"request"),async i=>{let a=await i.json().catch(()=>({}));if(i.ok)return a.data;let c=a.error?.fields,l=typeof c?.path=="string"&&typeof c.reason=="string"?` at ${c.path}: ${c.reason}`:"",d=`The Skyramp app refused ${e} ${n}: ${i.status} ${a.error?.code??"no error code"}${l}`;return QR(d,i.status,a.error?.code)})}o(_p,"callApp");function y2(t,e,n){return BR(t,e,o(s=>({method:"GET",headers:{Authorization:`Bearer ${s}`,Accept:"application/octet-stream"}}),"request"),async s=>{if(!s.ok)return QR(`The Skyramp app refused GET ${e}: ${s.status}`,s.status);let i=Buffer.from(await s.arrayBuffer());if(i.length>n)throw new Bn(`The Skyramp app answered GET ${e} with more than ${n} bytes`,s.status);return i})}o(y2,"callAppBytes");var Oa=class{constructor(e,n,r,s,i,a,c,l,d,g=[]){this.attemptId=e;this.attemptNumber=n;this.deadlineAt=r;this.manifest=s;this.deps=i;this.license=a;this.requestedBy=c;this.writeAllowed=l;this.claudeCodeVersion=d;this.deployedPins=g}attemptId;attemptNumber;deadlineAt;manifest;deps;license;requestedBy;writeAllowed;claudeCodeVersion;deployedPins;static{o(this,"V3Attempt")}budgetMs(e){return p2(this.deadlineAt,e)}get skyrampRunUrl(){return I2(Lp(this.deps.origin),this.manifest.runId)}send(e,n,r){return _p(this.deps,e,n,r)}readBytes(e,n){return y2(this.deps,e,n)}issuedTokens=[];closure;modelKey;credentials={};revocation;token(){return this.cachedToken("run")}readOnlyToken(){return this.cachedToken("read")}async cachedToken(e){if(this.revocation)throw new Error(IR);let n=(this.deps.now??(()=>new Date))().getTime(),r=this.credentials[e],s=r&&await r.catch(()=>{});if(this.credentials[e]!==r)return(await this.credentials[e]).token;if(s&&s.expiresAt-n>=f2)return s.token;if(this.revocation)throw new Error(IR);let i=e==="read",a=i?{schemaVersion:1,access:e}:{schemaVersion:1},c=i?"read-only":"scoped",l=this.send("POST",`/api/v1/runner/attempts/${this.attemptId}/credentials`,a).then(d=>{let g={...d,token:d.token??this.jobToken()};if(this.issuedTokens.push(g.token),this.deps.mask?.(g.token),g.anthropicApiKey&&this.deps.mask?.(g.anthropicApiKey),i&&d.token&&!m2(g.permissions))throw new Error(`The Skyramp app was asked for a read-only GitHub token, but its token grants ${JSON.stringify(g.permissions??null)}`);!i&&!s&&g.anthropicApiKey&&(this.modelKey=g.anthropicApiKey);let h=s?"Renewed":"Received";return d.token&&this.deps.log?.(`${h} ${c} GitHub credentials; they expire at ${g.expiresAt}.`),{token:g.token,expiresAt:d.token?new Date(g.expiresAt).getTime():Number.POSITIVE_INFINITY}},d=>{if(!(d instanceof Bn)||d.code!=="CREDENTIALS_UNAVAILABLE")throw d;let g=o(m=>[...new Set(m.map(C=>C.namespace))].join(", "),"unique"),h=this.manifest.sources.map(m=>m.repository);if(new Set(h.map(m=>m.providerAccountId)).size>1)throw new Bn(`${d.message}. The run's repositories are on more than one GitHub account (${g(h)}), which Skyramp does not support yet.`,d.status,d.code);let f=g([...h,this.manifest.execution.repository]);throw new Bn(`${d.message}. Check the Skyramp GitHub App installation on ${f}: it must be installed and not suspended, have access to these repositories, and have accepted the App's current permissions. Each account must also be connected to your Skyramp organization.`,d.status,d.code)});return this.credentials[e]=l,(await l).token}jobToken(){if(this.deps.sourceToken)return this.deps.sourceToken;throw new Error("The app answered the credentials request without a token, and the job gave Testbot none of its own: on Azure Pipelines, set SYSTEM_ACCESSTOKEN to $(System.AccessToken) in the Testbot step's env.")}sourceFetch(e){return e.fetch??this.deps.fetch??fetch}revokeTokens(e={}){let n=e.host??CR();return this.revocation??=n.revokeToken?this.revokeIssued(r=>n.revokeToken(r,this.sourceFetch(e))):Promise.resolve([]),this.revocation}async revokeIssued(e){let n=[...this.issuedTokens],r=Promise.all(n.map(a=>this.revokeOne(a,e)));await Promise.all(Object.values(this.credentials).map(a=>a.catch(()=>{})));let s=this.issuedTokens.filter(a=>!n.includes(a));return[...await r,...await Promise.all(s.map(a=>this.revokeOne(a,e)))].filter(a=>a!==void 0)}async revokeOne(e,n){try{await n(e);return}catch(r){return`token ${this.issuedTokens.indexOf(e)+1} of ${this.issuedTokens.length}: ${r instanceof Error?r.message:String(r)}`}}};async function wR(t,e,n){yR(t,"run id"),Lp(n.origin);let r=Gf(t,e),s=$f(await _p(n,"POST",`/api/v1/runner/runs/${t}/attempts`,r));if(s.manifest.runId!==t)throw new Error(`The app answered the handshake of run ${t} with the manifest of another run (${s.manifest.runId})`);let i=s.manifest.sources.find(c=>c.repository.provider!==r.execution.provider);if(i)throw new Error(`The manifest of run ${t} names ${i.repository.namespace}/${i.repository.name} on ${i.repository.provider}, but this job runs on ${r.execution.provider}`);Q2(s.manifest,s.deployedRevisions??[]),s.runToken&&n.mask?.(s.runToken);let a=s.runToken?{entitlements:s.entitlements??[],runToken:s.runToken}:void 0;return new Oa(s.attempt.id,s.attempt.number,new Date(s.attempt.deadlineAt),s.manifest,n,a,s.requestedBy??void 0,s.writeAllowed,s.claudeCodeVersion??void 0,s.deployedRevisions??[])}o(wR,"startV3Attempt");function Q2(t,e){if(e.length===0)return;if(t.trigger.kind!=="schedule")throw new Error(`The app pinned an attempt of a ${t.trigger.kind} run; only a scheduled run's retry is pinned to an earlier attempt's read`);let n=new Set(t.sources.map(s=>xn(s.repository))),r=new Set;for(let s of e){let i=xn(s.repository);if(!n.has(i))throw new Error(`The app pinned the attempt to repository ${s.repository.providerRepositoryId}, which is not a source of the run`);if(r.has(i))throw new Error(`The app pinned repository ${s.repository.providerRepositoryId} twice`);r.add(i)}}o(Q2,"checkAttemptPins");async function Pp(t){return _f.parse(await t.send("POST",`/api/v1/runner/attempts/${t.attemptId}/heartbeat`,{schemaVersion:1}))}o(Pp,"heartbeatV3Attempt");async function bR(t,e=()=>new Date){if(t.closure)return t.closure;let n=await Pp(t).then(r=>Pf(r,e())).catch(()=>null);return n&&(t.closure=n),n}o(bR,"closedV3Attempt");var yX=10*6e4;var QX=["TRIGGER","AUTHORITATIVE_RELATED_CHANGE"];var BX=A.object({tests:A.object({placements:A.array(A.unknown()).optional()}).passthrough().optional()}).passthrough(),wX=A.object({repository:rl,testType:A.nativeEnum(gA),directory:A.string()}).passthrough();var bX=A.object({report:A.object({language:A.string()}).passthrough()}).passthrough();var kX=A.object({environment:A.object({components:A.array(A.unknown()).optional(),dependencies:A.array(A.unknown()).optional()}).passthrough()}).passthrough(),RX=A.object({name:A.string().min(1),provision:A.literal("existing"),url:A.string().min(1),repository:rl.optional(),revisionUrl:A.string().min(1).optional()}).passthrough(),SX=A.object({name:A.string().min(1),url:A.string().nullable(),versionUrl:A.string().nullable(),notes:A.string().nullable()}).passthrough();var vX=new Set(["TRIGGER","AUTHORITATIVE_RELATED_CHANGE","MANUAL_OVERRIDE"]);function kR(t){let e=o(n=>t.testResults.filter(r=>r.status===n).length,"count");return{passed:e("Pass"),failed:e("Fail"),skipped:e("Skipped")}}o(kR,"statusCounts");function B2(t){let{passed:e,failed:n,skipped:r}=kR(t);return e+n===0?{sufficiency:"insufficient",rationale:r>0?`Every test was skipped (${r}), so nothing was validated.`:"No test ran, so nothing was validated.",gaps:["No test ran against the frozen sources."],acceptedEvidence:[],actionRequired:[]}:{sufficiency:"sufficient",rationale:`${e+n} tests ran against the frozen sources: ${e} passed, ${n} failed${r?`, ${r} skipped`:""}.`,gaps:[],acceptedEvidence:[],actionRequired:[]}}o(B2,"executedTestsValidation");function w2(t,e){let n=t.testResults.map(l=>({result:l,repository:l.repository??e,path:l.fileName||l.testType})),r=new Map;for(let l of n){let d=`${l.repository}:${l.result.testType}:${l.path}`;r.set(d,(r.get(d)??0)+1)}let s=n.map(({result:l,repository:d,path:g})=>{let h=(r.get(`${d}:${l.testType}:${g}`)??0)>1;return l.resultId??vf(d,l.testType,g,h&&l.endpoint||void 0)}),i=new Map;for(let l of s)i.set(l,(i.get(l)??0)+1);let a=new Set(s.filter(l=>i.get(l)===1)),c=n.map(({result:l,repository:d},g)=>{let h=s[g],f=h;if(i.get(h)>1&&a.has(h))for(let m=2;a.has(f)||f===h;m+=1)f=h.includes("#")?`${h}.${m}`:`${h}#${m}`;return a.add(f),{...l,repository:d,resultId:f}});return{...t,testResults:c,...b2(t,c,e),validation:k2(t,t.validation??B2(t)),traceVersion:1}}o(w2,"v3Report");function b2(t,e,n){if(!t.testExecutionContexts)return{};let r=new Set,s=o(c=>{let l=c;for(let d=2;r.has(l);d+=1)l=`${c}#${d}`;return r.add(l),l},"unique"),i=[],a=new Map;for(let{repository:c,...l}of t.testExecutionContexts){let d=l.status==="not_run"?[]:e.filter(g=>g.fileName===l.test&&g.repository===(c?.trim()||n));d.length||i.push(l);for(let{resultId:g}of d){let h=a.get(g),f=h!==void 0&&i[h].cleanup.status==="failed"?i[h].cleanup:l.cleanup,m={...l,cleanup:f,test:g,resultId:g};h===void 0?a.set(g,i.push(m)-1):i[h]=m}}for(let c of i)c.resultId&&r.add(c.resultId);return{testExecutionContexts:i.map(c=>c.resultId?c:{...c,test:s(c.test.slice(0,512))}).slice(0,5e3)}}o(b2,"linkedContexts");function k2(t,e){let{passed:n,failed:r}=kR(t);return e.sufficiency!=="sufficient"||n+r>0||e.acceptedEvidence.length>0?e:{...e,sufficiency:"insufficient",gaps:["No test ran and no existing evidence was accepted, so nothing was validated."]}}o(k2,"withEvidence");async function RR(t,e){let n=Jf([...t.issuedTokens,...e.secrets??[]]),r=Yf({manifest:t.manifest,attemptNumber:t.attemptNumber,checkedOut:e.sources.map(s=>({repository:s.repository,revision:s.revision})),firstQualification:e.firstQualification,generatedTests:qs(e.delivery,n),producer:e.producer,report:qs(w2(e.report,e.workingSlug),n),githubWrites:e.githubWrites});await t.send("PUT",`/api/v1/runner/attempts/${t.attemptId}/report`,r)}o(RR,"uploadV3Report");async function SR(t,e){return yR(t.attemptId,"attempt id"),_p(e,"POST",`/api/v1/runner/attempts/${t.attemptId}/end`,Hf({reportUploaded:t.reportUploaded,recipeUploaded:t.recipeUploaded,revisionsUploaded:t.revisionsUploaded,cancelled:t.cause==="cancelled",timedOut:t.cause==="timed_out",setupFailed:t.cause==="setup_failed",checkoutFailed:t.cause==="checkout_failed",environmentUnverified:t.cause==="environment_unverified",credentialMissing:t.cause==="credential_missing"}))}o(SR,"endV3Attempt");0&&(module.exports={AppRefusal,AppUnreachable,AttemptEndReason,DeliveryStatus,GitHubWriteKind,NoReportCause,SourceProvider,V3Attempt,ValidationSufficiency,closedV3Attempt,endV3Attempt,heartbeatV3Attempt,startV3Attempt,uploadV3Report});
|
|
87
|
+
Error Message: ${a.message}`)})).result)===null||n===void 0?void 0:n.value;if(!i)throw new Error("Response json body do not have ID Token field");return i})}static getIDToken(e){return uk(this,void 0,void 0,function*(){try{let n=t.getIDTokenUrl();if(e){let s=encodeURIComponent(e);n=`${n}&audience=${s}`}lk(`ID token url is ${n}`);let r=yield t.getCall(n);return _a(r),r}catch(n){throw new Error(`Error message: ${n.message}`)}})}};var gk=require("os"),Pa=require("fs");var Np=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return o(s,"adopt"),new(n||(n=Promise))(function(i,a){function c(g){try{d(r.next(g))}catch(h){a(h)}}o(c,"fulfilled");function l(g){try{d(r.throw(g))}catch(h){a(h)}}o(l,"rejected");function d(g){g.done?i(g.value):s(g.value).then(c,l)}o(d,"step"),d((r=r.apply(t,e||[])).next())})},{access:HY,appendFile:JY,writeFile:qY}=Pa.promises,dk="GITHUB_STEP_SUMMARY";var Fp=class{static{o(this,"Summary")}constructor(){this._buffer=""}filePath(){return Np(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[dk];if(!e)throw new Error(`Unable to find environment variable for $${dk}. Check if your runtime environment supports job summaries.`);try{yield HY(e,Pa.constants.R_OK|Pa.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,n,r={}){let s=Object.entries(r).map(([i,a])=>` ${i}="${a}"`).join("");return n?`<${e}${s}>${n}</${e}>`:`<${e}${s}>`}write(e){return Np(this,void 0,void 0,function*(){let n=!!e?.overwrite,r=yield this.filePath();return yield(n?qY:JY)(r,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return Np(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,n=!1){return this._buffer+=e,n?this.addEOL():this}addEOL(){return this.addRaw(gk.EOL)}addCodeBlock(e,n){let r=Object.assign({},n&&{lang:n}),s=this.wrap("pre",this.wrap("code",e),r);return this.addRaw(s).addEOL()}addList(e,n=!1){let r=n?"ol":"ul",s=e.map(a=>this.wrap("li",a)).join(""),i=this.wrap(r,s);return this.addRaw(i).addEOL()}addTable(e){let n=e.map(s=>{let i=s.map(a=>{if(typeof a=="string")return this.wrap("td",a);let{header:c,data:l,colspan:d,rowspan:g}=a,h=c?"th":"td",f=Object.assign(Object.assign({},d&&{colspan:d}),g&&{rowspan:g});return this.wrap(h,l,f)}).join("");return this.wrap("tr",i)}).join(""),r=this.wrap("table",n);return this.addRaw(r).addEOL()}addDetails(e,n){let r=this.wrap("details",this.wrap("summary",e)+n);return this.addRaw(r).addEOL()}addImage(e,n,r){let{width:s,height:i}=r||{},a=Object.assign(Object.assign({},s&&{width:s}),i&&{height:i}),c=this.wrap("img",null,Object.assign({src:e,alt:n},a));return this.addRaw(c).addEOL()}addHeading(e,n){let r=`h${n}`,s=["h1","h2","h3","h4","h5","h6"].includes(r)?r:"h1",i=this.wrap(s,e);return this.addRaw(i).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,n){let r=Object.assign({},n&&{cite:n}),s=this.wrap("blockquote",e,r);return this.addRaw(s).addEOL()}addLink(e,n){let r=this.wrap("a",e,{href:n});return this.addRaw(r).addEOL()}},_3=new Fp;var Up=Ve(require("os"),1);var Su=Ve(require("fs"),1);var{chmod:jY,copyFile:WY,lstat:zY,mkdir:ZY,open:Y3,readdir:KY,rename:XY,rm:e2,rmdir:V3,stat:t2,symlink:n2,unlink:r2}=Su.promises,s2=process.platform==="win32";var H3=Su.constants.O_RDONLY;var K3=process.platform==="win32";var s5=Up.default.platform(),i5=Up.default.arch();var l2=function(t,e,n,r){function s(i){return i instanceof n?i:new n(function(a){a(i)})}return o(s,"adopt"),new(n||(n=Promise))(function(i,a){function c(g){try{d(r.next(g))}catch(h){a(h)}}o(c,"fulfilled");function l(g){try{d(r.throw(g))}catch(h){a(h)}}o(l,"rejected");function d(g){g.done?i(g.value):s(g.value).then(c,l)}o(d,"step"),d((r=r.apply(t,e||[])).next())})},pk;(function(t){t[t.Success=0]="Success",t[t.Failure=1]="Failure"})(pk||(pk={}));function _a(t){ed("add-mask",{},t)}o(_a,"setSecret");function lk(t){ed("debug",{},t)}o(lk,"debug");function fk(t){return l2(this,void 0,void 0,function*(){return yield ku.getIDToken(t)})}o(fk,"getIDToken");var d2=5e3,Mp=/^(?!\.\.?$)[A-Za-z0-9._-]{1,100}$/;function g2(t){let e=Buffer.from(`x-access-token:${t}`).toString("base64");return _a(e),`AUTHORIZATION: basic ${e}`}o(g2,"githubGitAuthorization");function Ek(t,e={}){let n=o(l=>{let d=t[l];if(!d)throw new Error(`${l} is not set; the V3 runner handshake needs it`);return d},"read"),r=t.GITHUB_REPOSITORY_ID,s=t.GITHUB_REPOSITORY,i=(t.GITHUB_SERVER_URL||"https://github.com").replace(/\/+$/,""),a=(t.GITHUB_API_URL||"https://api.github.com").replace(/\/+$/,""),c=o(async(l,d)=>d.fetch(l,{headers:{Authorization:`Bearer ${await d.token()}`,Accept:"application/vnd.github+json"},redirect:"error",signal:AbortSignal.timeout(3e4)}),"get");return{runnerPlatform:t.GITHUB_ACTIONS==="true"?"github":void 0,workspace:t.GITHUB_WORKSPACE||void 0,serverUrl:i,apiUrl:a,repository:r&&s?{id:r,slug:s}:void 0,runId:t.GITHUB_RUN_ID||void 0,runAttempt:t.GITHUB_RUN_ATTEMPT||void 0,job:t.GITHUB_JOB||void 0,execution(){let l=n("GITHUB_RUN_ATTEMPT");if(!/^[1-9][0-9]*$/.test(l))throw new Error(`GITHUB_RUN_ATTEMPT is "${l}", not a positive whole number`);return{provider:"github",repository:{provider:"github",providerAccountId:n("GITHUB_REPOSITORY_OWNER_ID"),providerRepositoryId:n("GITHUB_REPOSITORY_ID")},providerRunId:n("GITHUB_RUN_ID"),providerRunAttempt:Number(l),workflowRef:n("GITHUB_WORKFLOW_REF")}},takeIdToken(){let l=t.ACTIONS_ID_TOKEN_REQUEST_URL,d=t.ACTIONS_ID_TOKEN_REQUEST_TOKEN;return delete t.ACTIONS_ID_TOKEN_REQUEST_URL,delete t.ACTIONS_ID_TOKEN_REQUEST_TOKEN,async g=>{if(!l||!d)throw new Error("The job cannot request an OIDC token. Give it the `id-token: write` permission.");let h=new URL(l);h.searchParams.set("audience",g);let f=await fetch(h,{headers:{Authorization:`Bearer ${d}`,Accept:"application/json"},redirect:"error",signal:AbortSignal.timeout(3e4)});if(!f.ok)throw new Error(`GitHub refused the OIDC token request: ${f.status}`);let m=(await f.json().catch(()=>({}))).value;if(typeof m!="string"||!m)throw new Error("GitHub's OIDC token response carried no token");return _a(m),m}},webIdentity(){return!t.ACTIONS_ID_TOKEN_REQUEST_TOKEN?.trim()||!t.ACTIONS_ID_TOKEN_REQUEST_URL?.trim()?void 0:{token:e.getIDToken??(d=>fk(d)),runId:t.GITHUB_RUN_ID}},v3RunsOnly:!1,assumesBedrockRole:!1,namesSourceToMcp:!1,checkSourceName(l){for(let d of[l.namespace,l.name])if(!Mp.test(d))throw new Error(`"${d}" is not a repository name`)},cloneUrl(l){return`${i}/${l.namespace}/${l.name}.git`},gitAuthEnv(l){return l?{GIT_CONFIG_COUNT:"1",GIT_CONFIG_KEY_0:`http.${i}/.extraheader`,GIT_CONFIG_VALUE_0:g2(l)}:{}},async pullRequest({namespace:l,name:d},g,h){if(![l,d].every(C=>Mp.test(C)))throw new Error("the repository name is not valid");let f=await c(`${a}/repos/${l}/${d}/pulls/${g}`,h);if(!f.ok)throw new Error(`GitHub answered ${f.status}`);let m=await f.json();return{...typeof m.title=="string"?{title:m.title}:{},...typeof m.body=="string"?{body:m.body}:{},...typeof m.merged=="boolean"?{merged:m.merged}:{},...m.merged===!0&&typeof m.merge_commit_sha=="string"?{mergeCommit:m.merge_commit_sha}:{},...m.merged===!0&&typeof m.head?.sha=="string"?{mergedHead:m.head.sha}:{}}},async commit(l,d,g){let[h,f,...m]=l.split("/");if(m.length||![h,f].every(C=>C!==void 0&&Mp.test(C)))return{lookup:"unknown"};try{let C=await c(`${a}/repos/${h}/${f}/commits/${encodeURIComponent(d)}`,g);if(C.status===404||C.status===422)return{lookup:"missing"};if(!C.ok)return{lookup:"unknown"};let y=await C.json();return typeof y.sha=="string"?{sha:y.sha}:{lookup:"missing"}}catch{return{lookup:"unknown"}}},async revokeToken(l,d){let g=await d(`${a}/installation/token`,{method:"DELETE",headers:{Authorization:`Bearer ${l}`,Accept:"application/vnd.github+json"},redirect:"error",signal:AbortSignal.timeout(d2)});if(!g.ok&&g.status!==401)throw new Error(`GitHub answered ${g.status}`)}}}o(Ek,"githubRunnerHost");function Ck(t=process.env){return Kl(t)?vE(t):Ek(t)}o(Ck,"runnerHost");var h2=10*6e4;function p2(t,e){return t.getTime()-e.getTime()-h2}o(p2,"remainingBudgetMs");var Ik="This attempt revoked its scoped GitHub credentials; it mints no more.",f2=10*6e4;var m2=o(t=>!!t&&Object.keys(t).length===1&&t.contents==="read","onlyReads"),E2=3e4,C2=3,Bn=class extends Error{constructor(n,r,s){super(n);this.status=r;this.code=s}status;code;static{o(this,"AppRefusal")}},Ki=class extends Error{static{o(this,"AppUnreachable")}};function Lp(t){let e;try{e=new URL(t)}catch{throw new Error(`skyrampAppOrigin "${t}" is not a URL`)}if(e.protocol!=="https:"||e.origin!==t.replace(/\/+$/,""))throw new Error(`skyrampAppOrigin must be an https origin, got "${t}"`);return e.origin}o(Lp,"appOrigin");function yk(t,e){if(!Vs.test(t))throw new Error(`The ${e} "${t}" is not a uuid`);return t}o(yk,"routeId");function I2(t,e){return`${t.replace(/\/+$/,"")}/runs/${e}`}o(I2,"skyrampRunPageUrl");function Qk(t,e,n){throw e<500&&e!==429?new Bn(t,e,n):new Ki(t)}o(Qk,"refusedOrUnreachable");async function Bk(t,e,n,r){let s=Lp(t.origin),i;for(let a=1;a<=C2;a+=1){a>1&&await new Promise(c=>setTimeout(c,(t.retryDelayMs??2e3)*(a-1)));try{let c=await t.idToken(s),l=await(t.fetch??fetch)(new URL(e,s).toString(),{...n(c),redirect:"error",signal:AbortSignal.timeout(E2)}).catch(d=>{throw new Ki(d instanceof Error?d.message:String(d),{cause:d})});return await r(l)}catch(c){if(c instanceof Bn)throw c;i=c}}throw i}o(Bk,"callWithRetries");function _p(t,e,n,r){return Bk(t,n,o(i=>({method:e,headers:{Authorization:`Bearer ${i}`,"Content-Type":"application/json",Accept:"application/json"},body:e==="GET"?void 0:JSON.stringify(r)}),"request"),async i=>{let a=await i.json().catch(()=>({}));if(i.ok)return a.data;let c=a.error?.fields,l=typeof c?.path=="string"&&typeof c.reason=="string"?` at ${c.path}: ${c.reason}`:"",d=`The Skyramp app refused ${e} ${n}: ${i.status} ${a.error?.code??"no error code"}${l}`;return Qk(d,i.status,a.error?.code)})}o(_p,"callApp");function y2(t,e,n){return Bk(t,e,o(s=>({method:"GET",headers:{Authorization:`Bearer ${s}`,Accept:"application/octet-stream"}}),"request"),async s=>{if(!s.ok)return Qk(`The Skyramp app refused GET ${e}: ${s.status}`,s.status);let i=Buffer.from(await s.arrayBuffer());if(i.length>n)throw new Bn(`The Skyramp app answered GET ${e} with more than ${n} bytes`,s.status);return i})}o(y2,"callAppBytes");var Oa=class{constructor(e,n,r,s,i,a,c,l,d,g=[]){this.attemptId=e;this.attemptNumber=n;this.deadlineAt=r;this.manifest=s;this.deps=i;this.license=a;this.requestedBy=c;this.writeAllowed=l;this.claudeCodeVersion=d;this.deployedPins=g}attemptId;attemptNumber;deadlineAt;manifest;deps;license;requestedBy;writeAllowed;claudeCodeVersion;deployedPins;static{o(this,"V3Attempt")}budgetMs(e){return p2(this.deadlineAt,e)}get skyrampRunUrl(){return I2(Lp(this.deps.origin),this.manifest.runId)}send(e,n,r){return _p(this.deps,e,n,r)}readBytes(e,n){return y2(this.deps,e,n)}issuedTokens=[];closure;modelKey;credentials={};revocation;token(){return this.cachedToken("run")}readOnlyToken(){return this.cachedToken("read")}async cachedToken(e){if(this.revocation)throw new Error(Ik);let n=(this.deps.now??(()=>new Date))().getTime(),r=this.credentials[e],s=r&&await r.catch(()=>{});if(this.credentials[e]!==r)return(await this.credentials[e]).token;if(s&&s.expiresAt-n>=f2)return s.token;if(this.revocation)throw new Error(Ik);let i=e==="read",a=i?{schemaVersion:1,access:e}:{schemaVersion:1},c=i?"read-only":"scoped",l=this.send("POST",`/api/v1/runner/attempts/${this.attemptId}/credentials`,a).then(d=>{let g={...d,token:d.token??this.jobToken()};if(this.issuedTokens.push(g.token),this.deps.mask?.(g.token),g.anthropicApiKey&&this.deps.mask?.(g.anthropicApiKey),i&&d.token&&!m2(g.permissions))throw new Error(`The Skyramp app was asked for a read-only GitHub token, but its token grants ${JSON.stringify(g.permissions??null)}`);!i&&!s&&g.anthropicApiKey&&(this.modelKey=g.anthropicApiKey);let h=s?"Renewed":"Received";return d.token&&this.deps.log?.(`${h} ${c} GitHub credentials; they expire at ${g.expiresAt}.`),{token:g.token,expiresAt:d.token?new Date(g.expiresAt).getTime():Number.POSITIVE_INFINITY}},d=>{if(!(d instanceof Bn)||d.code!=="CREDENTIALS_UNAVAILABLE")throw d;let g=o(m=>[...new Set(m.map(C=>C.namespace))].join(", "),"unique"),h=this.manifest.sources.map(m=>m.repository);if(new Set(h.map(m=>m.providerAccountId)).size>1)throw new Bn(`${d.message}. The run's repositories are on more than one GitHub account (${g(h)}), which Skyramp does not support yet.`,d.status,d.code);let f=g([...h,this.manifest.execution.repository]);throw new Bn(`${d.message}. Check the Skyramp GitHub App installation on ${f}: it must be installed and not suspended, have access to these repositories, and have accepted the App's current permissions. Each account must also be connected to your Skyramp organization.`,d.status,d.code)});return this.credentials[e]=l,(await l).token}jobToken(){if(this.deps.sourceToken)return this.deps.sourceToken;throw new Error("The app answered the credentials request without a token, and the job gave Testbot none of its own: on Azure Pipelines, set SYSTEM_ACCESSTOKEN to $(System.AccessToken) in the Testbot step's env.")}sourceFetch(e){return e.fetch??this.deps.fetch??fetch}revokeTokens(e={}){let n=e.host??Ck();return this.revocation??=n.revokeToken?this.revokeIssued(r=>n.revokeToken(r,this.sourceFetch(e))):Promise.resolve([]),this.revocation}async revokeIssued(e){let n=[...this.issuedTokens],r=Promise.all(n.map(a=>this.revokeOne(a,e)));await Promise.all(Object.values(this.credentials).map(a=>a.catch(()=>{})));let s=this.issuedTokens.filter(a=>!n.includes(a));return[...await r,...await Promise.all(s.map(a=>this.revokeOne(a,e)))].filter(a=>a!==void 0)}async revokeOne(e,n){try{await n(e);return}catch(r){return`token ${this.issuedTokens.indexOf(e)+1} of ${this.issuedTokens.length}: ${r instanceof Error?r.message:String(r)}`}}};async function wk(t,e,n){yk(t,"run id"),Lp(n.origin);let r=Gf(t,e),s=$f(await _p(n,"POST",`/api/v1/runner/runs/${t}/attempts`,r));if(s.manifest.runId!==t)throw new Error(`The app answered the handshake of run ${t} with the manifest of another run (${s.manifest.runId})`);let i=s.manifest.sources.find(c=>c.repository.provider!==r.execution.provider);if(i)throw new Error(`The manifest of run ${t} names ${i.repository.namespace}/${i.repository.name} on ${i.repository.provider}, but this job runs on ${r.execution.provider}`);Q2(s.manifest,s.deployedRevisions??[]),s.runToken&&n.mask?.(s.runToken);let a=s.runToken?{entitlements:s.entitlements??[],runToken:s.runToken}:void 0;return new Oa(s.attempt.id,s.attempt.number,new Date(s.attempt.deadlineAt),s.manifest,n,a,s.requestedBy??void 0,s.writeAllowed,s.claudeCodeVersion??void 0,s.deployedRevisions??[])}o(wk,"startV3Attempt");function Q2(t,e){if(e.length===0)return;if(t.trigger.kind!=="schedule")throw new Error(`The app pinned an attempt of a ${t.trigger.kind} run; only a scheduled run's retry is pinned to an earlier attempt's read`);let n=new Set(t.sources.map(s=>xn(s.repository))),r=new Set;for(let s of e){let i=xn(s.repository);if(!n.has(i))throw new Error(`The app pinned the attempt to repository ${s.repository.providerRepositoryId}, which is not a source of the run`);if(r.has(i))throw new Error(`The app pinned repository ${s.repository.providerRepositoryId} twice`);r.add(i)}}o(Q2,"checkAttemptPins");async function Pp(t){return _f.parse(await t.send("POST",`/api/v1/runner/attempts/${t.attemptId}/heartbeat`,{schemaVersion:1}))}o(Pp,"heartbeatV3Attempt");async function bk(t,e=()=>new Date){if(t.closure)return t.closure;let n=await Pp(t).then(r=>Pf(r,e())).catch(()=>null);return n&&(t.closure=n),n}o(bk,"closedV3Attempt");var yX=10*6e4;var QX=["TRIGGER","AUTHORITATIVE_RELATED_CHANGE"];var BX=A.object({tests:A.object({placements:A.array(A.unknown()).optional()}).passthrough().optional()}).passthrough(),wX=A.object({repository:rl,testType:A.nativeEnum(gA),directory:A.string()}).passthrough();var bX=A.object({report:A.object({language:A.string()}).passthrough()}).passthrough();var RX=A.object({environment:A.object({components:A.array(A.unknown()).optional(),dependencies:A.array(A.unknown()).optional()}).passthrough()}).passthrough(),kX=A.object({name:A.string().min(1),provision:A.literal("existing"),url:A.string().min(1),repository:rl.optional(),revisionUrl:A.string().min(1).optional()}).passthrough(),SX=A.object({name:A.string().min(1),url:A.string().nullable(),versionUrl:A.string().nullable(),notes:A.string().nullable()}).passthrough();var vX=new Set(["TRIGGER","AUTHORITATIVE_RELATED_CHANGE","MANUAL_OVERRIDE"]);function Rk(t){let e=o(n=>t.testResults.filter(r=>r.status===n).length,"count");return{passed:e("Pass"),failed:e("Fail"),skipped:e("Skipped")}}o(Rk,"statusCounts");function B2(t){let{passed:e,failed:n,skipped:r}=Rk(t);return e+n===0?{sufficiency:"insufficient",rationale:r>0?`Every test was skipped (${r}), so nothing was validated.`:"No test ran, so nothing was validated.",gaps:["No test ran against the frozen sources."],acceptedEvidence:[],actionRequired:[]}:{sufficiency:"sufficient",rationale:`${e+n} tests ran against the frozen sources: ${e} passed, ${n} failed${r?`, ${r} skipped`:""}.`,gaps:[],acceptedEvidence:[],actionRequired:[]}}o(B2,"executedTestsValidation");function w2(t,e){let n=t.testResults.map(l=>({result:l,repository:l.repository??e,path:l.fileName||l.testType})),r=new Map;for(let l of n){let d=`${l.repository}:${l.result.testType}:${l.path}`;r.set(d,(r.get(d)??0)+1)}let s=n.map(({result:l,repository:d,path:g})=>{let h=(r.get(`${d}:${l.testType}:${g}`)??0)>1;return l.resultId??vf(d,l.testType,g,h&&l.endpoint||void 0)}),i=new Map;for(let l of s)i.set(l,(i.get(l)??0)+1);let a=new Set(s.filter(l=>i.get(l)===1)),c=n.map(({result:l,repository:d},g)=>{let h=s[g],f=h;if(i.get(h)>1&&a.has(h))for(let m=2;a.has(f)||f===h;m+=1)f=h.includes("#")?`${h}.${m}`:`${h}#${m}`;return a.add(f),{...l,repository:d,resultId:f}});return{...t,testResults:c,...b2(t,c,e),validation:R2(t,t.validation??B2(t)),traceVersion:1}}o(w2,"v3Report");function b2(t,e,n){if(!t.testExecutionContexts)return{};let r=new Set,s=o(c=>{let l=c;for(let d=2;r.has(l);d+=1)l=`${c}#${d}`;return r.add(l),l},"unique"),i=[],a=new Map;for(let{repository:c,...l}of t.testExecutionContexts){let d=l.status==="not_run"?[]:e.filter(g=>g.fileName===l.test&&g.repository===(c?.trim()||n));d.length||i.push(l);for(let{resultId:g}of d){let h=a.get(g),f=h!==void 0&&i[h].cleanup.status==="failed"?i[h].cleanup:l.cleanup,m={...l,cleanup:f,test:g,resultId:g};h===void 0?a.set(g,i.push(m)-1):i[h]=m}}for(let c of i)c.resultId&&r.add(c.resultId);return{testExecutionContexts:i.map(c=>c.resultId?c:{...c,test:s(c.test.slice(0,512))}).slice(0,5e3)}}o(b2,"linkedContexts");function R2(t,e){let{passed:n,failed:r}=Rk(t);return e.sufficiency!=="sufficient"||n+r>0||e.acceptedEvidence.length>0?e:{...e,sufficiency:"insufficient",gaps:["No test ran and no existing evidence was accepted, so nothing was validated."]}}o(R2,"withEvidence");async function kk(t,e){let n=Jf([...t.issuedTokens,...e.secrets??[]]),r=Yf({manifest:t.manifest,attemptNumber:t.attemptNumber,checkedOut:e.sources.map(s=>({repository:s.repository,revision:s.revision})),firstQualification:e.firstQualification,generatedTests:qs(e.delivery,n),producer:e.producer,report:qs(w2(e.report,e.workingSlug),n),githubWrites:e.githubWrites});await t.send("PUT",`/api/v1/runner/attempts/${t.attemptId}/report`,r)}o(kk,"uploadV3Report");async function Sk(t,e){return yk(t.attemptId,"attempt id"),_p(e,"POST",`/api/v1/runner/attempts/${t.attemptId}/end`,Vf({reportUploaded:t.reportUploaded,recipeUploaded:t.recipeUploaded,revisionsUploaded:t.revisionsUploaded,cancelled:t.cause==="cancelled",timedOut:t.cause==="timed_out",setupFailed:t.cause==="setup_failed",checkoutFailed:t.cause==="checkout_failed",environmentUnverified:t.cause==="environment_unverified",credentialMissing:t.cause==="credential_missing"}))}o(Sk,"endV3Attempt");0&&(module.exports={AppRefusal,AppUnreachable,AttemptEndReason,DeliveryStatus,GitHubWriteKind,NoReportCause,SourceProvider,V3Attempt,ValidationSufficiency,closedV3Attempt,endV3Attempt,heartbeatV3Attempt,startV3Attempt,uploadV3Report});
|
|
88
88
|
/*! Bundled license information:
|
|
89
89
|
|
|
90
90
|
undici/lib/web/fetch/body.js:
|