@griddo/cx 11.13.3 → 11.14.0
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/build/commands/end-render.js +31 -31
- package/build/commands/end-render.js.map +4 -4
- package/build/commands/notify-indexnow.d.ts +1 -0
- package/build/commands/notify-indexnow.js +161 -0
- package/build/commands/notify-indexnow.js.map +7 -0
- package/build/commands/prepare-assets-directory.js +12 -12
- package/build/commands/prepare-assets-directory.js.map +3 -3
- package/build/commands/prepare-domains-render.js +12 -12
- package/build/commands/prepare-domains-render.js.map +3 -3
- package/build/commands/reset-render.js +23 -23
- package/build/commands/reset-render.js.map +3 -3
- package/build/commands/start-render.js +51 -51
- package/build/commands/start-render.js.map +4 -4
- package/build/commands/upload-search-content.js +12 -12
- package/build/commands/upload-search-content.js.map +3 -3
- package/build/index.js +5 -3
- package/build/services/indexnow-key-file.d.ts +22 -0
- package/build/services/indexnow-notify.d.ts +29 -0
- package/build/services/indexnow-payload.d.ts +54 -0
- package/build/services/render.d.ts +2 -1
- package/build/shared/envs.d.ts +2 -1
- package/cli.mjs +9 -0
- package/exporter/build.sh +1 -0
- package/exporter/commands/end-render.ts +11 -0
- package/exporter/commands/notify-indexnow.ts +19 -0
- package/exporter/services/generate-md.ts +7 -10
- package/exporter/services/indexnow-key-file.ts +58 -0
- package/exporter/services/indexnow-notify.ts +196 -0
- package/exporter/services/indexnow-payload.ts +195 -0
- package/exporter/services/llms.ts +14 -1
- package/exporter/services/render.ts +6 -0
- package/exporter/services/store.ts +24 -0
- package/exporter/shared/envs.ts +2 -0
- package/exporter/ssg-adapters/gatsby/actions/meta.ts +2 -0
- package/exporter/ssg-adapters/gatsby/actions/sync.ts +6 -1
- package/exporter/ssg-adapters/gatsby/shared/sync-render.ts +1 -5
- package/package.json +4 -3
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
"use strict";var pw=Object.create;var uQ=Object.defineProperty;var yw=Object.getOwnPropertyDescriptor;var Dw=Object.getOwnPropertyNames;var mw=Object.getPrototypeOf,ww=Object.prototype.hasOwnProperty;var p=(A,e)=>()=>(e||A((e={exports:{}}).exports,e),e.exports);var Rw=(A,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Dw(e))!ww.call(A,s)&&s!==t&&uQ(A,s,{get:()=>e[s],enumerable:!(r=yw(e,s))||r.enumerable});return A};var b=(A,e,t)=>(t=A!=null?pw(mw(A)):{},Rw(e||!A||!A.__esModule?uQ(t,"default",{value:A,enumerable:!0}):t,A));var Z=p((lV,zQ)=>{"use strict";zQ.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}});var Ra=p((EV,tu)=>{"use strict";var Rr=0,fa=1e3,pa=(fa>>1)-1,ot,ya=Symbol("kFastTimer"),VA=[],Da=-2,ma=-1,eu=0,$Q=1;function wa(){Rr+=pa;let A=0,e=VA.length;for(;A<e;){let t=VA[A];t._state===eu?(t._idleStart=Rr-pa,t._state=$Q):t._state===$Q&&Rr>=t._idleStart+t._idleTimeout&&(t._state=ma,t._idleStart=-1,t._onTimeout(t._timerArg)),t._state===ma?(t._state=Da,--e!==0&&(VA[A]=VA[e])):++A}VA.length=e,VA.length!==0&&Au()}function Au(){ot?.refresh?ot.refresh():(clearTimeout(ot),ot=setTimeout(wa,pa),ot?.unref())}var Pn=class{[ya]=!0;_state=Da;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,r){this._onTimeout=e,this._idleTimeout=t,this._timerArg=r,this.refresh()}refresh(){this._state===Da&&VA.push(this),(!ot||VA.length===1)&&Au(),this._state=eu}clear(){this._state=ma,this._idleStart=-1}};tu.exports={setTimeout(A,e,t){return e<=fa?setTimeout(A,e,t):new Pn(A,e,t)},clearTimeout(A){A[ya]?A.clear():clearTimeout(A)},setFastTimeout(A,e,t){return new Pn(A,e,t)},clearFastTimeout(A){A.clear()},now(){return Rr},tick(A=0){Rr+=A-fa+1,wa(),wa()},reset(){Rr=0,VA.length=0,clearTimeout(ot),ot=null},kFastTimer:ya}});var Y=p((QV,Su)=>{"use strict";var ru=Symbol.for("undici.error.UND_ERR"),Ae=class extends Error{constructor(e,t){super(e,t),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[ru]===!0}get[ru](){return!0}},su=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),Sa=class extends Ae{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[su]===!0}get[su](){return!0}},nu=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),Na=class extends Ae{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[nu]===!0}get[nu](){return!0}},ou=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),Fa=class extends Ae{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[ou]===!0}get[ou](){return!0}},iu=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),ba=class extends Ae{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[iu]===!0}get[iu](){return!0}},au=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),Ua=class extends Ae{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[au]===!0}get[au](){return!0}},cu=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),Ma=class extends Ae{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[cu]===!0}get[cu](){return!0}},gu=Symbol.for("undici.error.UND_ERR_ABORT"),qn=class extends Ae{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[gu]===!0}get[gu](){return!0}},lu=Symbol.for("undici.error.UND_ERR_ABORTED"),Ta=class extends qn{constructor(e){super(e),this.name="AbortError",this.message=e||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[lu]===!0}get[lu](){return!0}},Eu=Symbol.for("undici.error.UND_ERR_INFO"),ka=class extends Ae{constructor(e){super(e),this.name="InformationalError",this.message=e||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[Eu]===!0}get[Eu](){return!0}},Qu=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),La=class extends Ae{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[Qu]===!0}get[Qu](){return!0}},uu=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),Ha=class extends Ae{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[uu]===!0}get[uu](){return!0}},hu=Symbol.for("undici.error.UND_ERR_DESTROYED"),xa=class extends Ae{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[hu]===!0}get[hu](){return!0}},Iu=Symbol.for("undici.error.UND_ERR_CLOSED"),Ya=class extends Ae{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[Iu]===!0}get[Iu](){return!0}},Bu=Symbol.for("undici.error.UND_ERR_SOCKET"),Ga=class extends Ae{constructor(e,t){super(e),this.name="SocketError",this.message=e||"Socket error",this.code="UND_ERR_SOCKET",this.socket=t}static[Symbol.hasInstance](e){return e&&e[Bu]===!0}get[Bu](){return!0}},Cu=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),Oa=class extends Ae{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[Cu]===!0}get[Cu](){return!0}},du=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),Va=class extends Ae{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[du]===!0}get[du](){return!0}},fu=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),va=class extends Error{constructor(e,t,r){super(e),this.name="HTTPParserError",this.code=t?`HPE_${t}`:void 0,this.data=r?r.toString():void 0}static[Symbol.hasInstance](e){return e&&e[fu]===!0}get[fu](){return!0}},pu=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),Ja=class extends Ae{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[pu]===!0}get[pu](){return!0}},yu=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),Pa=class extends Ae{constructor(e,t,{headers:r,data:s}){super(e),this.name="RequestRetryError",this.message=e||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=t,this.data=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[yu]===!0}get[yu](){return!0}},Du=Symbol.for("undici.error.UND_ERR_RESPONSE"),qa=class extends Ae{constructor(e,t,{headers:r,body:s}){super(e),this.name="ResponseError",this.message=e||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=t,this.body=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[Du]===!0}get[Du](){return!0}},mu=Symbol.for("undici.error.UND_ERR_PRX_TLS"),Wa=class extends Ae{constructor(e,t,r={}){super(t,{cause:e,...r}),this.name="SecureProxyConnectionError",this.message=t||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=e}static[Symbol.hasInstance](e){return e&&e[mu]===!0}get[mu](){return!0}},wu=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED"),_a=class extends Ae{constructor(e){super(e),this.name="MaxOriginsReachedError",this.message=e||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](e){return e&&e[wu]===!0}get[wu](){return!0}},Za=class extends Ae{constructor(e,t){super(e),this.name="Socks5ProxyError",this.message=e||"SOCKS5 proxy error",this.code=t||"UND_ERR_SOCKS5"}},Ru=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),ja=class extends Ae{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[Ru]===!0}get[Ru](){return!0}};Su.exports={AbortError:qn,HTTPParserError:va,UndiciError:Ae,HeadersTimeoutError:Na,HeadersOverflowError:Fa,BodyTimeoutError:ba,RequestContentLengthMismatchError:La,ConnectTimeoutError:Sa,InvalidArgumentError:Ua,InvalidReturnValueError:Ma,RequestAbortedError:Ta,ClientDestroyedError:xa,ClientClosedError:Ya,InformationalError:ka,SocketError:Ga,NotSupportedError:Oa,ResponseContentLengthMismatchError:Ha,BalancedPoolMissingUpstreamError:Va,ResponseExceededMaxSizeError:Ja,RequestRetryError:Pa,ResponseError:qa,SecureProxyConnectionError:Wa,MaxOriginsReachedError:_a,Socks5ProxyError:Za,MessageSizeExceededError:ja}});var _n=p((uV,Fu)=>{"use strict";var Xa=["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"],Wn={};Object.setPrototypeOf(Wn,null);var Nu={};Object.setPrototypeOf(Nu,null);function Mw(A){let e=Nu[A];return e===void 0&&(e=Buffer.from(A)),e}for(let A=0;A<Xa.length;++A){let e=Xa[A],t=e.toLowerCase();Wn[e]=Wn[t]=t}Fu.exports={wellknownHeaderNames:Xa,headerNameLowerCasedRecord:Wn,getHeaderNameAsBuffer:Mw}});var Tu=p((hV,Mu)=>{"use strict";var{wellknownHeaderNames:bu,headerNameLowerCasedRecord:Tw}=_n(),Ka=class A{value=null;left=null;middle=null;right=null;code;constructor(e,t,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 A(e,t,r):this.value=t}add(e,t){let r=e.length;if(r===0)throw new TypeError("Unreachable");let s=0,n=this;for(;;){let o=e.charCodeAt(s);if(o>127)throw new TypeError("key must be ascii string");if(n.code===o)if(r===++s){n.value=t;break}else if(n.middle!==null)n=n.middle;else{n.middle=new A(e,t,s);break}else if(n.code<o)if(n.left!==null)n=n.left;else{n.left=new A(e,t,s);break}else if(n.right!==null)n=n.right;else{n.right=new A(e,t,s);break}}}search(e){let t=e.length,r=0,s=this;for(;s!==null&&r<t;){let n=e[r];for(n<=90&&n>=65&&(n|=32);s!==null;){if(n===s.code){if(t===++r)return s;s=s.middle;break}s=s.code<n?s.left:s.right}}return null}},Zn=class{node=null;insert(e,t){this.node===null?this.node=new Ka(e,t,0):this.node.add(e,t)}lookup(e){return this.node?.search(e)?.value??null}},Uu=new Zn;for(let A=0;A<bu.length;++A){let e=Tw[bu[A]];Uu.insert(e,e)}Mu.exports={TernarySearchTree:Zn,tree:Uu}});var G=p((IV,eh)=>{"use strict";var ps=require("node:assert"),{kDestroyed:xu,kBodyUsed:Sr,kListeners:Xn,kBody:ku}=Z(),{IncomingMessage:kw}=require("node:http"),Yu=require("node:stream"),Lw=require("node:net"),{stringify:Hw}=require("node:querystring"),{EventEmitter:xw}=require("node:events"),jn=Ra(),{InvalidArgumentError:Be,ConnectTimeoutError:Yw}=Y(),{headerNameLowerCasedRecord:Gw}=_n(),{tree:Gu}=Tu(),[Ow,Vw]=process.versions.node.split(".",2).map(A=>Number(A)),zn=class{constructor(e){this[ku]=e,this[Sr]=!1}async*[Symbol.asyncIterator](){ps(!this[Sr],"disturbed"),this[Sr]=!0,yield*this[ku]}};function Lu(){}function vw(A){return $n(A)?(qu(A)===0&&A.on("data",function(){ps(!1)}),typeof A.readableDidRead!="boolean"&&(A[Sr]=!1,xw.prototype.on.call(A,"data",function(){this[Sr]=!0})),A):A&&typeof A.pipeTo=="function"?new zn(A):A&&Xu(A)?A:A&&typeof A!="string"&&!ArrayBuffer.isView(A)&&Pu(A)?new zn(A):A}function $n(A){return A&&typeof A=="object"&&typeof A.pipe=="function"&&typeof A.on=="function"}function Ou(A){if(A===null)return!1;if(A instanceof Blob)return!0;if(typeof A!="object")return!1;{let e=A[Symbol.toStringTag];return(e==="Blob"||e==="File")&&("stream"in A&&typeof A.stream=="function"||"arrayBuffer"in A&&typeof A.arrayBuffer=="function")}}function Vu(A){return A.includes("?")||A.includes("#")}function Jw(A,e){if(Vu(A))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let t=Hw(e);return t&&(A+="?"+t),A}function vu(A){let e=parseInt(A,10);return e===Number(A)&&e>=0&&e<=65535}function Kn(A){return A!=null&&A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p"&&(A[4]===":"||A[4]==="s"&&A[5]===":")}function Ju(A){if(typeof A=="string"){if(A=new URL(A),!Kn(A.origin||A.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");return A}if(!A||typeof A!="object")throw new Be("Invalid URL: The URL argument must be a non-null object.");if(!(A instanceof URL)){if(A.port!=null&&A.port!==""&&vu(A.port)===!1)throw new Be("Invalid URL: port must be a valid integer or a string representation of an integer.");if(A.path!=null&&typeof A.path!="string")throw new Be("Invalid URL path: the path must be a string or null/undefined.");if(A.pathname!=null&&typeof A.pathname!="string")throw new Be("Invalid URL pathname: the pathname must be a string or null/undefined.");if(A.hostname!=null&&typeof A.hostname!="string")throw new Be("Invalid URL hostname: the hostname must be a string or null/undefined.");if(A.origin!=null&&typeof A.origin!="string")throw new Be("Invalid URL origin: the origin must be a string or null/undefined.");if(!Kn(A.origin||A.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");let e=A.port!=null?A.port:A.protocol==="https:"?443:80,t=A.origin!=null?A.origin:`${A.protocol||""}//${A.hostname||""}:${e}`,r=A.path!=null?A.path:`${A.pathname||""}${A.search||""}`;return t[t.length-1]==="/"&&(t=t.slice(0,t.length-1)),r&&r[0]!=="/"&&(r=`/${r}`),new URL(`${t}${r}`)}if(!Kn(A.origin||A.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");return A}function Pw(A){if(A=Ju(A),A.pathname!=="/"||A.search||A.hash)throw new Be("invalid url");return A}function qw(A){if(A[0]==="["){let t=A.indexOf("]");return ps(t!==-1),A.substring(1,t)}let e=A.indexOf(":");return e===-1?A:A.substring(0,e)}function Ww(A){if(!A)return null;ps(typeof A=="string");let e=qw(A);return Lw.isIP(e)?"":e}function _w(A){return JSON.parse(JSON.stringify(A))}function Zw(A){return A!=null&&typeof A[Symbol.asyncIterator]=="function"}function Pu(A){return A!=null&&(typeof A[Symbol.iterator]=="function"||typeof A[Symbol.asyncIterator]=="function")}function jw(A){let e=Object.getPrototypeOf(A);return Object.prototype.hasOwnProperty.call(A,Symbol.iterator)||e!=null&&e!==Object.prototype&&typeof A[Symbol.iterator]=="function"}function qu(A){if(A==null)return 0;if($n(A)){let e=A._readableState;return e&&e.objectMode===!1&&e.ended===!0&&Number.isFinite(e.length)?e.length:null}else{if(Ou(A))return A.size!=null?A.size:null;if(ju(A))return A.byteLength}return null}function Wu(A){return A&&!!(A.destroyed||A[xu]||Yu.isDestroyed?.(A))}function _u(A,e){A==null||!$n(A)||Wu(A)||(typeof A.destroy=="function"?(Object.getPrototypeOf(A).constructor===kw&&(A.socket=null),A.destroy(e)):e&&queueMicrotask(()=>{A.emit("error",e)}),A.destroyed!==!0&&(A[xu]=!0))}var Xw=/timeout=(\d+)/;function Kw(A){let e=A.match(Xw);return e?parseInt(e[1],10)*1e3:null}function Zu(A){return typeof A=="string"?Gw[A]??A.toLowerCase():Gu.lookup(A)??A.toString("latin1").toLowerCase()}function zw(A){return Gu.lookup(A)??A.toString("latin1").toLowerCase()}function $w(A,e){e===void 0&&(e={});for(let t=0;t<A.length;t+=2){let r=Zu(A[t]),s=e[r];if(s!==void 0)if(Object.hasOwn(e,r))typeof s=="string"&&(s=[s],e[r]=s),s.push(A[t+1].toString("latin1"));else{let n=typeof A[t+1]=="string"?A[t+1]:Array.isArray(A[t+1])?A[t+1].map(o=>o.toString("latin1")):A[t+1].toString("latin1");r==="__proto__"?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}else{let n=typeof A[t+1]=="string"?A[t+1]:Array.isArray(A[t+1])?A[t+1].map(o=>o.toString("latin1")):A[t+1].toString("latin1");e[r]=n}}return e}function e0(A){let e=A.length,t=new Array(e),r,s;for(let n=0;n<e;n+=2)r=A[n],s=A[n+1],typeof r!="string"&&(r=r.toString()),typeof s!="string"&&(s=s.toString("latin1")),t[n]=r,t[n+1]=s;return t}function A0(A){if(!Array.isArray(A))throw new TypeError("expected headers to be an array");return A.map(e=>Buffer.from(e))}function ju(A){return A instanceof Uint8Array||Buffer.isBuffer(A)}function t0(A,e,t){if(!A||typeof A!="object")throw new Be("handler must be an object");if(typeof A.onRequestStart!="function"){if(typeof A.onConnect!="function")throw new Be("invalid onConnect method");if(typeof A.onError!="function")throw new Be("invalid onError method");if(typeof A.onBodySent!="function"&&A.onBodySent!==void 0)throw new Be("invalid onBodySent method");if(t||e==="CONNECT"){if(typeof A.onUpgrade!="function")throw new Be("invalid onUpgrade method")}else{if(typeof A.onHeaders!="function")throw new Be("invalid onHeaders method");if(typeof A.onData!="function")throw new Be("invalid onData method");if(typeof A.onComplete!="function")throw new Be("invalid onComplete method")}}}function r0(A){return!!(A&&(Yu.isDisturbed(A)||A[Sr]))}function s0(A){return{localAddress:A.localAddress,localPort:A.localPort,remoteAddress:A.remoteAddress,remotePort:A.remotePort,remoteFamily:A.remoteFamily,timeout:A.timeout,bytesWritten:A.bytesWritten,bytesRead:A.bytesRead}}function n0(A){let e;return new ReadableStream({start(){e=A[Symbol.asyncIterator]()},pull(t){return e.next().then(({done:r,value:s})=>{if(r)return queueMicrotask(()=>{t.close(),t.byobRequest?.respond(0)});{let n=Buffer.isBuffer(s)?s:Buffer.from(s);return n.byteLength?t.enqueue(new Uint8Array(n)):this.pull(t)}})},cancel(){return e.return()},type:"bytes"})}function Xu(A){return A&&typeof A=="object"&&typeof A.append=="function"&&typeof A.delete=="function"&&typeof A.get=="function"&&typeof A.getAll=="function"&&typeof A.has=="function"&&typeof A.set=="function"&&A[Symbol.toStringTag]==="FormData"}function o0(A,e){return"addEventListener"in A?(A.addEventListener("abort",e,{once:!0}),()=>A.removeEventListener("abort",e)):(A.once("abort",e),()=>A.removeListener("abort",e))}var Ku=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function i0(A){return Ku[A]===1}var a0=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function c0(A){if(A.length>=12)return a0.test(A);if(A.length===0)return!1;for(let e=0;e<A.length;e++)if(Ku[A.charCodeAt(e)]!==1)return!1;return!0}var g0=/[^\t\x20-\x7e\x80-\xff]/;function l0(A){return!g0.test(A)}var E0=/^bytes (\d+)-(\d+)\/(\d+)?$/;function Q0(A){if(A==null||A==="")return{start:0,end:null,size:null};let e=A?A.match(E0):null;return e?{start:parseInt(e[1]),end:e[2]?parseInt(e[2]):null,size:e[3]?parseInt(e[3]):null}:null}function u0(A,e,t){return(A[Xn]??=[]).push([e,t]),A.on(e,t),A}function h0(A){if(A[Xn]!=null){for(let[e,t]of A[Xn])A.removeListener(e,t);A[Xn]=null}return A}function I0(A,e,t){try{e.onError(t),ps(e.aborted)}catch(r){A.emit("error",r)}}var B0=process.platform==="win32"?(A,e)=>{if(!e.timeout)return Lu;let t=null,r=null,s=jn.setFastTimeout(()=>{t=setImmediate(()=>{r=setImmediate(()=>Hu(A.deref(),e))})},e.timeout);return()=>{jn.clearFastTimeout(s),clearImmediate(t),clearImmediate(r)}}:(A,e)=>{if(!e.timeout)return Lu;let t=null,r=jn.setFastTimeout(()=>{t=setImmediate(()=>{Hu(A.deref(),e)})},e.timeout);return()=>{jn.clearFastTimeout(r),clearImmediate(t)}};function Hu(A,e){if(A==null)return;let t="Connect Timeout Error";Array.isArray(A.autoSelectFamilyAttemptedAddresses)?t+=` (attempted addresses: ${A.autoSelectFamilyAttemptedAddresses.join(", ")},`:t+=` (attempted address: ${e.hostname}:${e.port},`,t+=` timeout: ${e.timeout}ms)`,_u(A,new Yw(t))}function C0(A){if(A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p")switch(A[4]){case":":return"http:";case"s":if(A[5]===":")return"https:"}return A.slice(0,A.indexOf(":")+1)}var zu=Object.create(null);zu.enumerable=!0;var za={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},$u={...za,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(za,null);Object.setPrototypeOf($u,null);eh.exports={kEnumerableProperty:zu,isDisturbed:r0,isBlobLike:Ou,parseOrigin:Pw,parseURL:Ju,getServerName:Ww,isStream:$n,isIterable:Pu,hasSafeIterator:jw,isAsyncIterable:Zw,isDestroyed:Wu,headerNameToString:Zu,bufferToLowerCasedHeaderName:zw,addListener:u0,removeAllListeners:h0,errorRequest:I0,parseRawHeaders:e0,encodeRawHeaders:A0,parseHeaders:$w,parseKeepAliveTimeout:Kw,destroy:_u,bodyLength:qu,deepClone:_w,ReadableStreamFrom:n0,isBuffer:ju,assertRequestHandler:t0,getSocketInfo:s0,isFormDataLike:Xu,pathHasQueryOrFragment:Vu,serializePathWithQuery:Jw,addAbortListener:o0,isValidHTTPToken:c0,isValidHeaderValue:l0,isTokenCharCode:i0,parseRangeHeader:Q0,normalizedMethodRecordsBase:za,normalizedMethodRecords:$u,isValidPort:vu,isHttpOrHttpsPrefixed:Kn,nodeMajor:Ow,nodeMinor:Vw,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:vw,setupConnectTimeout:B0,getProtocolFromUrlString:C0}});var Ac=p((BV,nh)=>{"use strict";var{kConnected:Ah,kPending:th,kRunning:rh,kSize:sh,kFree:d0,kQueued:f0}=Z(),$a=class{constructor(e){this.connected=e[Ah],this.pending=e[th],this.running=e[rh],this.size=e[sh]}},ec=class{constructor(e){this.connected=e[Ah],this.free=e[d0],this.pending=e[th],this.queued=e[f0],this.running=e[rh],this.size=e[sh]}};nh.exports={ClientStats:$a,PoolStats:ec}});var it=p((CV,ih)=>{"use strict";var j=require("node:diagnostics_channel"),nc=require("node:util"),Yt=nc.debuglog("undici"),ys=nc.debuglog("fetch"),eo=nc.debuglog("websocket"),Oe={beforeConnect:j.channel("undici:client:beforeConnect"),connected:j.channel("undici:client:connected"),connectError:j.channel("undici:client:connectError"),sendHeaders:j.channel("undici:client:sendHeaders"),create:j.channel("undici:request:create"),bodySent:j.channel("undici:request:bodySent"),bodyChunkSent:j.channel("undici:request:bodyChunkSent"),bodyChunkReceived:j.channel("undici:request:bodyChunkReceived"),headers:j.channel("undici:request:headers"),trailers:j.channel("undici:request:trailers"),error:j.channel("undici:request:error"),open:j.channel("undici:websocket:open"),close:j.channel("undici:websocket:close"),socketError:j.channel("undici:websocket:socket_error"),ping:j.channel("undici:websocket:ping"),pong:j.channel("undici:websocket:pong"),proxyConnected:j.channel("undici:proxy:connected")},tc=!1;function oh(A=Yt){if(!tc){if(Oe.beforeConnect.hasSubscribers||Oe.connected.hasSubscribers||Oe.connectError.hasSubscribers||Oe.sendHeaders.hasSubscribers){tc=!0;return}tc=!0,j.subscribe("undici:client:beforeConnect",e=>{let{connectParams:{version:t,protocol:r,port:s,host:n}}=e;A("connecting to %s%s using %s%s",n,s?`:${s}`:"",r,t)}),j.subscribe("undici:client:connected",e=>{let{connectParams:{version:t,protocol:r,port:s,host:n}}=e;A("connected to %s%s using %s%s",n,s?`:${s}`:"",r,t)}),j.subscribe("undici:client:connectError",e=>{let{connectParams:{version:t,protocol:r,port:s,host:n},error:o}=e;A("connection to %s%s using %s%s errored - %s",n,s?`:${s}`:"",r,t,o.message)}),j.subscribe("undici:client:sendHeaders",e=>{let{request:{method:t,path:r,origin:s}}=e;A("sending request to %s %s%s",t,s,r)})}}var rc=!1;function p0(A=Yt){if(!rc){if(Oe.headers.hasSubscribers||Oe.trailers.hasSubscribers||Oe.error.hasSubscribers){rc=!0;return}rc=!0,j.subscribe("undici:request:headers",e=>{let{request:{method:t,path:r,origin:s},response:{statusCode:n}}=e;A("received response to %s %s%s - HTTP %d",t,s,r,n)}),j.subscribe("undici:request:trailers",e=>{let{request:{method:t,path:r,origin:s}}=e;A("trailers received from %s %s%s",t,s,r)}),j.subscribe("undici:request:error",e=>{let{request:{method:t,path:r,origin:s},error:n}=e;A("request to %s %s%s errored - %s",t,s,r,n.message)})}}var sc=!1;function y0(A=eo){if(!sc){if(Oe.open.hasSubscribers||Oe.close.hasSubscribers||Oe.socketError.hasSubscribers||Oe.ping.hasSubscribers||Oe.pong.hasSubscribers){sc=!0;return}sc=!0,j.subscribe("undici:websocket:open",e=>{if(e.address!=null){let{address:t,port:r}=e.address;A("connection opened %s%s",t,r?`:${r}`:"")}else A("connection opened")}),j.subscribe("undici:websocket:close",e=>{let{websocket:t,code:r,reason:s}=e;A("closed connection to %s - %s %s",t.url,r,s)}),j.subscribe("undici:websocket:socket_error",e=>{A("connection errored - %s",e.message)}),j.subscribe("undici:websocket:ping",e=>{A("ping received")}),j.subscribe("undici:websocket:pong",e=>{A("pong received")})}}(Yt.enabled||ys.enabled)&&(oh(ys.enabled?ys:Yt),p0(ys.enabled?ys:Yt));eo.enabled&&(oh(Yt.enabled?Yt:eo),y0(eo));ih.exports={channels:Oe}});var gh=p((dV,ch)=>{"use strict";var{InvalidArgumentError:W,NotSupportedError:D0}=Y(),mA=require("node:assert"),{isValidHTTPToken:oc,isValidHeaderValue:ic,isStream:m0,destroy:w0,isBuffer:R0,isFormDataLike:S0,isIterable:N0,hasSafeIterator:F0,isBlobLike:b0,serializePathWithQuery:U0,assertRequestHandler:M0,getServerName:T0,normalizedMethodRecords:k0,getProtocolFromUrlString:L0}=G(),{channels:be}=it(),{headerNameLowerCasedRecord:ah}=_n(),H0=/[^\u0021-\u00ff]/,AA=Symbol("handler"),ac=class{constructor(e,{path:t,method:r,body:s,headers:n,query:o,idempotent:i,blocking:a,upgrade:c,headersTimeout:g,bodyTimeout:h,reset:Q,expectContinue:l,servername:E,throwOnError:B,maxRedirections:D,typeOfService:C},f){if(typeof t!="string")throw new W("path must be a string");if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&r!=="CONNECT")throw new W("path must be an absolute URL or start with a slash");if(H0.test(t))throw new W("invalid request path");if(typeof r!="string")throw new W("method must be a string");if(k0[r]===void 0&&!oc(r))throw new W("invalid request method");if(c&&typeof c!="string")throw new W("upgrade must be a string");if(c&&!ic(c))throw new W("invalid upgrade header");if(g!=null&&(!Number.isFinite(g)||g<0))throw new W("invalid headersTimeout");if(h!=null&&(!Number.isFinite(h)||h<0))throw new W("invalid bodyTimeout");if(Q!=null&&typeof Q!="boolean")throw new W("invalid reset");if(l!=null&&typeof l!="boolean")throw new W("invalid expectContinue");if(B!=null)throw new W("invalid throwOnError");if(D!=null&&D!==0)throw new W("maxRedirections is not supported, use the redirect interceptor");if(C!=null&&(!Number.isInteger(C)||C<0||C>255))throw new W("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=g,this.bodyTimeout=h,this.method=r,this.typeOfService=C??0,this.abort=null,s==null)this.body=null;else if(m0(s)){this.body=s;let y=this.body._readableState;(!y||!y.autoDestroy)&&(this.endHandler=function(){w0(this)},this.body.on("end",this.endHandler)),this.errorHandler=T=>{this.abort?this.abort(T):this.error=T},this.body.on("error",this.errorHandler)}else if(R0(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(S0(s)||N0(s)||b0(s))this.body=s;else throw new W("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=c||null,this.path=o?U0(t,o):t,this.origin=e,this.protocol=L0(e),this.idempotent=i??(r==="HEAD"||r==="GET"),this.blocking=a??this.method!=="HEAD",this.reset=Q??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=l??!1,Array.isArray(n)){if(n.length%2!==0)throw new W("headers array must be even");for(let y=0;y<n.length;y+=2)Ao(this,n[y],n[y+1])}else if(n&&typeof n=="object")if(F0(n))for(let y of n){if(!Array.isArray(y)||y.length!==2)throw new W("headers must be in key-value pair format");Ao(this,y[0],y[1])}else{let y=Object.keys(n);for(let T=0;T<y.length;++T)Ao(this,y[T],n[y[T]])}else if(n!=null)throw new W("headers must be an object or an array");M0(f,r,c),this.servername=E||T0(this.host)||null,this[AA]=f,be.create.hasSubscribers&&be.create.publish({request:this})}onBodySent(e){if(be.bodyChunkSent.hasSubscribers&&be.bodyChunkSent.publish({request:this,chunk:e}),this[AA].onBodySent)try{return this[AA].onBodySent(e)}catch(t){this.abort(t)}}onRequestSent(){if(be.bodySent.hasSubscribers&&be.bodySent.publish({request:this}),this[AA].onRequestSent)try{return this[AA].onRequestSent()}catch(e){this.abort(e)}}onConnect(e){if(mA(!this.aborted),mA(!this.completed),this.error)e(this.error);else return this.abort=e,this[AA].onConnect(e)}onResponseStarted(){return this[AA].onResponseStarted?.()}onHeaders(e,t,r,s){mA(!this.aborted),mA(!this.completed),be.headers.hasSubscribers&&be.headers.publish({request:this,response:{statusCode:e,headers:t,statusText:s}});try{return this[AA].onHeaders(e,t,r,s)}catch(n){this.abort(n)}}onData(e){mA(!this.aborted),mA(!this.completed),be.bodyChunkReceived.hasSubscribers&&be.bodyChunkReceived.publish({request:this,chunk:e});try{return this[AA].onData(e)}catch(t){return this.abort(t),!1}}onUpgrade(e,t,r){return mA(!this.aborted),mA(!this.completed),this[AA].onUpgrade(e,t,r)}onComplete(e){this.onFinally(),mA(!this.aborted),mA(!this.completed),this.completed=!0,be.trailers.hasSubscribers&&be.trailers.publish({request:this,trailers:e});try{return this[AA].onComplete(e)}catch(t){this.onError(t)}}onError(e){if(this.onFinally(),be.error.hasSubscribers&&be.error.publish({request:this,error:e}),!this.aborted)return this.aborted=!0,this[AA].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,t){return Ao(this,e,t),this}};function Ao(A,e,t){if(t&&typeof t=="object"&&!Array.isArray(t))throw new W(`invalid ${e} header`);if(t===void 0)return;let r=ah[e];if(r===void 0&&(r=e.toLowerCase(),ah[r]===void 0&&!oc(r)))throw new W("invalid header key");if(Array.isArray(t)){let s=[];for(let n=0;n<t.length;n++)if(typeof t[n]=="string"){if(!ic(t[n]))throw new W(`invalid ${e} header`);s.push(t[n])}else if(t[n]===null)s.push("");else{if(typeof t[n]=="object")throw new W(`invalid ${e} header`);s.push(`${t[n]}`)}t=s}else if(typeof t=="string"){if(!ic(t))throw new W(`invalid ${e} header`)}else t===null?t="":t=`${t}`;if(r==="host"){if(A.host!==null)throw new W("duplicate host header");if(typeof t!="string")throw new W("invalid host header");A.host=t}else if(r==="content-length"){if(A.contentLength!==null)throw new W("duplicate content-length header");if(A.contentLength=parseInt(t,10),!Number.isFinite(A.contentLength))throw new W("invalid content-length header")}else if(A.contentType===null&&r==="content-type")A.contentType=t,A.headers.push(e,t);else{if(r==="transfer-encoding"||r==="keep-alive"||r==="upgrade")throw new W(`invalid ${r} header`);if(r==="connection"){let s=typeof t=="string"?t:null;if(s===null)throw new W("invalid connection header");for(let n of s.toLowerCase().split(",")){let o=n.trim();if(!oc(o))throw new W("invalid connection header");o==="close"&&(A.reset=!0)}}else{if(r==="expect")throw new D0("expect header not supported");A.headers.push(e,t)}}}ch.exports=ac});var Ds=p((fV,Eh)=>{"use strict";var{InvalidArgumentError:x0}=Y();Eh.exports=class lh{#e;constructor(e){this.#e=e}static wrap(e){return e.onRequestStart?e:new lh(e)}onConnect(e,t){return this.#e.onConnect?.(e,t)}onResponseStarted(){return this.#e.onResponseStarted?.()}onHeaders(e,t,r,s){return this.#e.onHeaders?.(e,t,r,s)}onUpgrade(e,t,r){return this.#e.onUpgrade?.(e,t,r)}onData(e){return this.#e.onData?.(e)}onComplete(e){return this.#e.onComplete?.(e)}onError(e){if(!this.#e.onError)throw e;return this.#e.onError?.(e)}onRequestStart(e,t){this.#e.onConnect?.(r=>e.abort(r),t)}onRequestUpgrade(e,t,r,s){let n=[];for(let[o,i]of Object.entries(r))n.push(Buffer.from(o,"latin1"),cc(i));this.#e.onUpgrade?.(t,n,s)}onResponseStart(e,t,r,s){let n=[];for(let[o,i]of Object.entries(r))n.push(Buffer.from(o,"latin1"),cc(i));this.#e.onHeaders?.(t,n,()=>e.resume(),s)===!1&&e.pause()}onResponseData(e,t){this.#e.onData?.(t)===!1&&e.pause()}onResponseEnd(e,t){let r=[];for(let[s,n]of Object.entries(t))r.push(Buffer.from(s,"latin1"),cc(n));this.#e.onComplete?.(r)}onResponseError(e,t){if(!this.#e.onError)throw new x0("invalid onError method");this.#e.onError?.(t)}};function cc(A){return Array.isArray(A)?A.map(e=>Buffer.from(e,"latin1")):Buffer.from(A,"latin1")}});var ms=p((pV,Qh)=>{"use strict";var Y0=require("node:events"),G0=Ds(),O0=A=>(e,t)=>A(e,G0.wrap(t)),gc=class extends Y0{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){let t=Array.isArray(e[0])?e[0]:e,r=this.dispatch.bind(this);for(let s of t)if(s!=null){if(typeof s!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof s}`);if(r=s(r),r=O0(r),r==null||typeof r!="function"||r.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(s,n)=>n==="dispatch"?r:s[n]})}};Qh.exports=gc});var Ih=p((yV,hh)=>{"use strict";var{parseHeaders:lc}=G(),{InvalidArgumentError:V0}=Y(),Ec=Symbol("resume"),Qc=class{#e=!1;#A=null;#t=!1;#r;[Ec]=null;constructor(e){this.#r=e}pause(){this.#e=!0}resume(){this.#e&&(this.#e=!1,this[Ec]?.())}abort(e){this.#t||(this.#t=!0,this.#A=e,this.#r(e))}get aborted(){return this.#t}get reason(){return this.#A}get paused(){return this.#e}};hh.exports=class uh{#e;#A;constructor(e){this.#e=e}static unwrap(e){return e.onRequestStart?new uh(e):e}onConnect(e,t){this.#A=new Qc(e),this.#e.onRequestStart?.(this.#A,t)}onResponseStarted(){return this.#e.onResponseStarted?.()}onUpgrade(e,t,r){this.#e.onRequestUpgrade?.(this.#A,e,lc(t),r)}onHeaders(e,t,r,s){return this.#A[Ec]=r,this.#e.onResponseStart?.(this.#A,e,lc(t),s),!this.#A.paused}onData(e){return this.#e.onResponseData?.(this.#A,e),!this.#A.paused}onComplete(e){this.#e.onResponseEnd?.(this.#A,lc(e))}onError(e){if(!this.#e.onResponseError)throw new V0("invalid onError method");this.#e.onResponseError?.(this.#A,e)}}});var Ot=p((DV,Bh)=>{"use strict";var v0=ms(),J0=Ih(),{ClientDestroyedError:uc,ClientClosedError:P0,InvalidArgumentError:to}=Y(),{kDestroy:q0,kClose:W0,kClosed:ws,kDestroyed:Nr,kDispatch:_0}=Z(),at=Symbol("onDestroyed"),Gt=Symbol("onClosed"),hc=class extends v0{[Nr]=!1;[at]=null;[ws]=!1;[Gt]=null;get destroyed(){return this[Nr]}get closed(){return this[ws]}close(e){if(e===void 0)return new Promise((r,s)=>{this.close((n,o)=>n?s(n):r(o))});if(typeof e!="function")throw new to("invalid callback");if(this[Nr]){let r=new uc;queueMicrotask(()=>e(r,null));return}if(this[ws]){this[Gt]?this[Gt].push(e):queueMicrotask(()=>e(null,null));return}this[ws]=!0,this[Gt]??=[],this[Gt].push(e);let t=()=>{let r=this[Gt];this[Gt]=null;for(let s=0;s<r.length;s++)r[s](null,null)};this[W0]().then(()=>this.destroy()).then(()=>queueMicrotask(t))}destroy(e,t){if(typeof e=="function"&&(t=e,e=null),t===void 0)return new Promise((s,n)=>{this.destroy(e,(o,i)=>o?n(o):s(i))});if(typeof t!="function")throw new to("invalid callback");if(this[Nr]){this[at]?this[at].push(t):queueMicrotask(()=>t(null,null));return}e||(e=new uc),this[Nr]=!0,this[at]??=[],this[at].push(t);let r=()=>{let s=this[at];this[at]=null;for(let n=0;n<s.length;n++)s[n](null,null)};this[q0](e).then(()=>queueMicrotask(r))}dispatch(e,t){if(!t||typeof t!="object")throw new to("handler must be an object");t=J0.unwrap(t);try{if(!e||typeof e!="object")throw new to("opts must be an object.");if(this[Nr]||this[at])throw new uc;if(this[ws])throw new P0;return this[_0](e,t)}catch(r){if(typeof t.onError!="function")throw r;return t.onError(r),!1}}};Bh.exports=hc});var Vt=p((wV,fh)=>{"use strict";var Z0=require("node:net"),Ch=require("node:assert"),dh=G(),{InvalidArgumentError:j0}=Y(),Ic,X0=class{constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(t=>{if(this._sessionCache.size<this._maxCachedSessions)return;let r=this._sessionCache.get(t);r!==void 0&&r.deref()===void 0&&this._sessionCache.delete(t)})}get(e){let t=this._sessionCache.get(e);return t?t.deref():null}set(e,t){this._maxCachedSessions!==0&&(this._sessionCache.set(e,new WeakRef(t)),this._sessionRegistry.register(t,e))}};function K0({allowH2:A,useH2c:e,maxCachedSessions:t,socketPath:r,timeout:s,session:n,...o}){if(t!=null&&(!Number.isInteger(t)||t<0))throw new j0("maxCachedSessions must be a positive integer or zero");let i={path:r,...o},a=new X0(t??100);return s=s??1e4,A=A??!1,function({hostname:g,host:h,protocol:Q,port:l,servername:E,localAddress:B,httpSocket:D},C){let f;if(Q==="https:"){Ic||(Ic=require("node:tls")),E=E||i.servername||dh.getServerName(h)||null;let T=E||g;Ch(T);let U=n||a.get(T)||null;l=l||443,f=Ic.connect({highWaterMark:16384,...i,servername:E,session:U,localAddress:B,ALPNProtocols:A?["http/1.1","h2"]:["http/1.1"],socket:D,port:l,host:g}),f.on("session",function(k){a.set(T,k)})}else Ch(!D,"httpSocket can only be sent on TLS update"),l=l||80,f=Z0.connect({highWaterMark:64*1024,...i,localAddress:B,port:l,host:g}),e===!0&&(f.alpnProtocol="h2");if(i.keepAlive==null||i.keepAlive){let T=i.keepAliveInitialDelay===void 0?6e4:i.keepAliveInitialDelay;f.setKeepAlive(!0,T)}let y=dh.setupConnectTimeout(new WeakRef(f),{timeout:s,hostname:g,port:l});return f.setNoDelay(!0).once(Q==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(y),C){let T=C;C=null,T(null,this)}}).on("error",function(T){if(queueMicrotask(y),C){let U=C;C=null,U(T)}}),f}}fh.exports=K0});var ph=p(Bc=>{"use strict";Object.defineProperty(Bc,"__esModule",{value:!0});Bc.enumToMap=z0;function z0(A,e=[],t=[]){let r=(e?.length??0)===0,s=(t?.length??0)===0;return Object.fromEntries(Object.entries(A).filter(([,n])=>typeof n=="number"&&(r||e.includes(n))&&(s||!t.includes(n))))}});var yh=p(u=>{"use strict";Object.defineProperty(u,"__esModule",{value:!0});u.SPECIAL_HEADERS=u.MINOR=u.MAJOR=u.HTAB_SP_VCHAR_OBS_TEXT=u.QUOTED_STRING=u.CONNECTION_TOKEN_CHARS=u.HEADER_CHARS=u.TOKEN=u.HEX=u.URL_CHAR=u.USERINFO_CHARS=u.MARK=u.ALPHANUM=u.NUM=u.HEX_MAP=u.NUM_MAP=u.ALPHA=u.STATUSES_HTTP=u.H_METHOD_MAP=u.METHOD_MAP=u.METHODS_RTSP=u.METHODS_ICE=u.METHODS_HTTP=u.HEADER_STATE=u.FINISH=u.STATUSES=u.METHODS=u.LENIENT_FLAGS=u.FLAGS=u.TYPE=u.ERROR=void 0;var $0=ph();u.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38};u.TYPE={BOTH:0,REQUEST:1,RESPONSE:2};u.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512};u.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512};u.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46};u.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599};u.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2};u.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8};u.METHODS_HTTP=[u.METHODS.DELETE,u.METHODS.GET,u.METHODS.HEAD,u.METHODS.POST,u.METHODS.PUT,u.METHODS.CONNECT,u.METHODS.OPTIONS,u.METHODS.TRACE,u.METHODS.COPY,u.METHODS.LOCK,u.METHODS.MKCOL,u.METHODS.MOVE,u.METHODS.PROPFIND,u.METHODS.PROPPATCH,u.METHODS.SEARCH,u.METHODS.UNLOCK,u.METHODS.BIND,u.METHODS.REBIND,u.METHODS.UNBIND,u.METHODS.ACL,u.METHODS.REPORT,u.METHODS.MKACTIVITY,u.METHODS.CHECKOUT,u.METHODS.MERGE,u.METHODS["M-SEARCH"],u.METHODS.NOTIFY,u.METHODS.SUBSCRIBE,u.METHODS.UNSUBSCRIBE,u.METHODS.PATCH,u.METHODS.PURGE,u.METHODS.MKCALENDAR,u.METHODS.LINK,u.METHODS.UNLINK,u.METHODS.PRI,u.METHODS.SOURCE,u.METHODS.QUERY];u.METHODS_ICE=[u.METHODS.SOURCE];u.METHODS_RTSP=[u.METHODS.OPTIONS,u.METHODS.DESCRIBE,u.METHODS.ANNOUNCE,u.METHODS.SETUP,u.METHODS.PLAY,u.METHODS.PAUSE,u.METHODS.TEARDOWN,u.METHODS.GET_PARAMETER,u.METHODS.SET_PARAMETER,u.METHODS.REDIRECT,u.METHODS.RECORD,u.METHODS.FLUSH,u.METHODS.GET,u.METHODS.POST];u.METHOD_MAP=(0,$0.enumToMap)(u.METHODS);u.H_METHOD_MAP=Object.fromEntries(Object.entries(u.METHODS).filter(([A])=>A.startsWith("H")));u.STATUSES_HTTP=[u.STATUSES.CONTINUE,u.STATUSES.SWITCHING_PROTOCOLS,u.STATUSES.PROCESSING,u.STATUSES.EARLY_HINTS,u.STATUSES.RESPONSE_IS_STALE,u.STATUSES.REVALIDATION_FAILED,u.STATUSES.DISCONNECTED_OPERATION,u.STATUSES.HEURISTIC_EXPIRATION,u.STATUSES.MISCELLANEOUS_WARNING,u.STATUSES.OK,u.STATUSES.CREATED,u.STATUSES.ACCEPTED,u.STATUSES.NON_AUTHORITATIVE_INFORMATION,u.STATUSES.NO_CONTENT,u.STATUSES.RESET_CONTENT,u.STATUSES.PARTIAL_CONTENT,u.STATUSES.MULTI_STATUS,u.STATUSES.ALREADY_REPORTED,u.STATUSES.TRANSFORMATION_APPLIED,u.STATUSES.IM_USED,u.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,u.STATUSES.MULTIPLE_CHOICES,u.STATUSES.MOVED_PERMANENTLY,u.STATUSES.FOUND,u.STATUSES.SEE_OTHER,u.STATUSES.NOT_MODIFIED,u.STATUSES.USE_PROXY,u.STATUSES.SWITCH_PROXY,u.STATUSES.TEMPORARY_REDIRECT,u.STATUSES.PERMANENT_REDIRECT,u.STATUSES.BAD_REQUEST,u.STATUSES.UNAUTHORIZED,u.STATUSES.PAYMENT_REQUIRED,u.STATUSES.FORBIDDEN,u.STATUSES.NOT_FOUND,u.STATUSES.METHOD_NOT_ALLOWED,u.STATUSES.NOT_ACCEPTABLE,u.STATUSES.PROXY_AUTHENTICATION_REQUIRED,u.STATUSES.REQUEST_TIMEOUT,u.STATUSES.CONFLICT,u.STATUSES.GONE,u.STATUSES.LENGTH_REQUIRED,u.STATUSES.PRECONDITION_FAILED,u.STATUSES.PAYLOAD_TOO_LARGE,u.STATUSES.URI_TOO_LONG,u.STATUSES.UNSUPPORTED_MEDIA_TYPE,u.STATUSES.RANGE_NOT_SATISFIABLE,u.STATUSES.EXPECTATION_FAILED,u.STATUSES.IM_A_TEAPOT,u.STATUSES.PAGE_EXPIRED,u.STATUSES.ENHANCE_YOUR_CALM,u.STATUSES.MISDIRECTED_REQUEST,u.STATUSES.UNPROCESSABLE_ENTITY,u.STATUSES.LOCKED,u.STATUSES.FAILED_DEPENDENCY,u.STATUSES.TOO_EARLY,u.STATUSES.UPGRADE_REQUIRED,u.STATUSES.PRECONDITION_REQUIRED,u.STATUSES.TOO_MANY_REQUESTS,u.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,u.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,u.STATUSES.LOGIN_TIMEOUT,u.STATUSES.NO_RESPONSE,u.STATUSES.RETRY_WITH,u.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,u.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,u.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,u.STATUSES.INVALID_X_FORWARDED_FOR,u.STATUSES.REQUEST_HEADER_TOO_LARGE,u.STATUSES.SSL_CERTIFICATE_ERROR,u.STATUSES.SSL_CERTIFICATE_REQUIRED,u.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,u.STATUSES.INVALID_TOKEN,u.STATUSES.CLIENT_CLOSED_REQUEST,u.STATUSES.INTERNAL_SERVER_ERROR,u.STATUSES.NOT_IMPLEMENTED,u.STATUSES.BAD_GATEWAY,u.STATUSES.SERVICE_UNAVAILABLE,u.STATUSES.GATEWAY_TIMEOUT,u.STATUSES.HTTP_VERSION_NOT_SUPPORTED,u.STATUSES.VARIANT_ALSO_NEGOTIATES,u.STATUSES.INSUFFICIENT_STORAGE,u.STATUSES.LOOP_DETECTED,u.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,u.STATUSES.NOT_EXTENDED,u.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,u.STATUSES.WEB_SERVER_UNKNOWN_ERROR,u.STATUSES.WEB_SERVER_IS_DOWN,u.STATUSES.CONNECTION_TIMEOUT,u.STATUSES.ORIGIN_IS_UNREACHABLE,u.STATUSES.TIMEOUT_OCCURED,u.STATUSES.SSL_HANDSHAKE_FAILED,u.STATUSES.INVALID_SSL_CERTIFICATE,u.STATUSES.RAILGUN_ERROR,u.STATUSES.SITE_IS_OVERLOADED,u.STATUSES.SITE_IS_FROZEN,u.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,u.STATUSES.NETWORK_READ_TIMEOUT,u.STATUSES.NETWORK_CONNECT_TIMEOUT];u.ALPHA=[];for(let A=65;A<=90;A++)u.ALPHA.push(String.fromCharCode(A)),u.ALPHA.push(String.fromCharCode(A+32));u.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};u.HEX_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15};u.NUM=["0","1","2","3","4","5","6","7","8","9"];u.ALPHANUM=u.ALPHA.concat(u.NUM);u.MARK=["-","_",".","!","~","*","'","(",")"];u.USERINFO_CHARS=u.ALPHANUM.concat(u.MARK).concat(["%",";",":","&","=","+","$",","]);u.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(u.ALPHANUM);u.HEX=u.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);u.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(u.ALPHANUM);u.HEADER_CHARS=[" "];for(let A=32;A<=255;A++)A!==127&&u.HEADER_CHARS.push(A);u.CONNECTION_TOKEN_CHARS=u.HEADER_CHARS.filter(A=>A!==44);u.QUOTED_STRING=[" "," "];for(let A=33;A<=255;A++)A!==34&&A!==92&&u.QUOTED_STRING.push(A);u.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let A=33;A<=126;A++)u.HTAB_SP_VCHAR_OBS_TEXT.push(A);for(let A=128;A<=255;A++)u.HTAB_SP_VCHAR_OBS_TEXT.push(A);u.MAJOR=u.NUM_MAP;u.MINOR=u.MAJOR;u.SPECIAL_HEADERS={connection:u.HEADER_STATE.CONNECTION,"content-length":u.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":u.HEADER_STATE.CONNECTION,"transfer-encoding":u.HEADER_STATE.TRANSFER_ENCODING,upgrade:u.HEADER_STATE.UPGRADE};u.default={ERROR:u.ERROR,TYPE:u.TYPE,FLAGS:u.FLAGS,LENIENT_FLAGS:u.LENIENT_FLAGS,METHODS:u.METHODS,STATUSES:u.STATUSES,FINISH:u.FINISH,HEADER_STATE:u.HEADER_STATE,ALPHA:u.ALPHA,NUM_MAP:u.NUM_MAP,HEX_MAP:u.HEX_MAP,NUM:u.NUM,ALPHANUM:u.ALPHANUM,MARK:u.MARK,USERINFO_CHARS:u.USERINFO_CHARS,URL_CHAR:u.URL_CHAR,HEX:u.HEX,TOKEN:u.TOKEN,HEADER_CHARS:u.HEADER_CHARS,CONNECTION_TOKEN_CHARS:u.CONNECTION_TOKEN_CHARS,QUOTED_STRING:u.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:u.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:u.MAJOR,MINOR:u.MINOR,SPECIAL_HEADERS:u.SPECIAL_HEADERS,METHODS_HTTP:u.METHODS_HTTP,METHODS_ICE:u.METHODS_ICE,METHODS_RTSP:u.METHODS_RTSP,METHOD_MAP:u.METHOD_MAP,H_METHOD_MAP:u.H_METHOD_MAP,STATUSES_HTTP:u.STATUSES_HTTP}});var dc=p((NV,Dh)=>{"use strict";var{Buffer:eR}=require("node:buffer"),AR="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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C0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",Cc;Object.defineProperty(Dh,"exports",{get:()=>Cc||(Cc=eR.from(AR,"base64"))})});var wh=p((FV,mh)=>{"use strict";var{Buffer:tR}=require("node:buffer"),rR="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRwX3NldF9sZW5pZW50X2hlYWRlcnMAISFsbGh0dHBfc2V0X2xlbmllbnRfY2h1bmtlZF9sZW5ndGgAIh1sbGh0dHBfc2V0X2xlbmllbnRfa2VlcF9hbGl2ZQAjJGxsaHR0cF9zZXRfbGVuaWVudF90cmFuc2Zlcl9lbmNvZGluZwAkGmxsaHR0cF9zZXRfbGVuaWVudF92ZXJzaW9uACUjbGxodHRwX3NldF9sZW5pZW50X2RhdGFfYWZ0ZXJfY2xvc2UAJidsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfbGZfYWZ0ZXJfY3IAJyxsbGh0dHBfc2V0X2xlbmllbnRfb3B0aW9uYWxfY3JsZl9hZnRlcl9jaHVuawAoKGxsaHR0cF9zZXRfbGVuaWVudF9vcHRpb25hbF9jcl9iZWZvcmVfbGYAKSpsbGh0dHBfc2V0X2xlbmllbnRfc3BhY2VzX2FmdGVyX2NodW5rX3NpemUAKhhsbGh0dHBfbWVzc2FnZV9uZWVkc19lb2YANgkYAQBBAQsSAQIDBAUKBgcyNDMuKy8tLDAxCuzaAjQWAEHA1QAoAgAEQAALQcDVAEEBNgIACxQAIAAQOCAAIAI2AjggACABOgAoCxQAIAAgAC8BNCAALQAwIAAQNxAACx4BAX9BwAAQOiIBEDggAUGACDYCOCABIAA6ACggAQuPDAEHfwJAIABFDQAgAEEIayIBIABBBGsoAgAiAEF4cSIEaiEFAkAgAEEBcQ0AIABBA3FFDQEgASABKAIAIgBrIgFB1NUAKAIASQ0BIAAgBGohBAJAAkBB2NUAKAIAIAFHBEAgAEH/AU0EQCAAQQN2IQMgASgCCCIAIAEoAgwiAkYEQEHE1QBBxNUAKAIAQX4gA3dxNgIADAULIAIgADYCCCAAIAI2AgwMBAsgASgCGCEGIAEgASgCDCIARwRAIAAgASgCCCICNgIIIAIgADYCDAwDCyABQRRqIgMoAgAiAkUEQCABKAIQIgJFDQIgAUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSgCBCIAQQNxQQNHDQIgBSAAQX5xNgIEQczVACAENgIAIAUgBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgASgCHCICQQJ0QfTXAGoiAygCACABRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAFGG2ogADYCACAARQ0BCyAAIAY2AhggASgCECICBEAgACACNgIQIAIgADYCGAsgAUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBU8NACAFKAIEIgBBAXFFDQACQAJAAkACQCAAQQJxRQRAQdzVACgCACAFRgRAQdzVACABNgIAQdDVAEHQ1QAoAgAgBGoiADYCACABIABBAXI2AgQgAUHY1QAoAgBHDQZBzNUAQQA2AgBB2NUAQQA2AgAMBgtB2NUAKAIAIAVGBEBB2NUAIAE2AgBBzNUAQczVACgCACAEaiIANgIAIAEgAEEBcjYCBCAAIAFqIAA2AgAMBgsgAEF4cSAEaiEEIABB/wFNBEAgAEEDdiEDIAUoAggiACAFKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwFCyACIAA2AgggACACNgIMDAQLIAUoAhghBiAFIAUoAgwiAEcEQEHU1QAoAgAaIAAgBSgCCCICNgIIIAIgADYCDAwDCyAFQRRqIgMoAgAiAkUEQCAFKAIQIgJFDQIgBUEQaiEDCwNAIAMhByACIgBBFGoiAygCACICDQAgAEEQaiEDIAAoAhAiAg0ACyAHQQA2AgAMAgsgBSAAQX5xNgIEIAEgBGogBDYCACABIARBAXI2AgQMAwtBACEACyAGRQ0AAkAgBSgCHCICQQJ0QfTXAGoiAygCACAFRgRAIAMgADYCACAADQFByNUAQcjVACgCAEF+IAJ3cTYCAAwCCyAGQRBBFCAGKAIQIAVGG2ogADYCACAARQ0BCyAAIAY2AhggBSgCECICBEAgACACNgIQIAIgADYCGAsgBUEUaigCACICRQ0AIABBFGogAjYCACACIAA2AhgLIAEgBGogBDYCACABIARBAXI2AgQgAUHY1QAoAgBHDQBBzNUAIAQ2AgAMAQsgBEH/AU0EQCAEQXhxQezVAGohAAJ/QcTVACgCACICQQEgBEEDdnQiA3FFBEBBxNUAIAIgA3I2AgAgAAwBCyAAKAIICyICIAE2AgwgACABNgIIIAEgADYCDCABIAI2AggMAQtBHyECIARB////B00EQCAEQSYgBEEIdmciAGt2QQFxIABBAXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMQQAhAgyPAQtB2QAhAgx1CyABIARHBEAgA0EONgIIIAMgATYCBEHYACECDHULQeoAIQIMjQELIAEgBEYEQEHpACECDI0BCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHXACECDHQLIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ16IANB6AA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAEgBEYEQEHnACECDIwBCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDXsgA0HmADYCHCADIAE2AhQgAyAANgIMQQAhAgyMAQtB1gAhAgxyCyABIARGBEBB5QAhAgyLAQtBACEAQQEhBUEBIQdBACECAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgAS0AAEEwaw4KCgkAAQIDBAUGCAsLQQIMBgtBAwwFC0EEDAQLQQUMAwtBBgwCC0EHDAELQQgLIQJBACEFQQAhBwwCC0EJIQJBASEAQQAhBUEAIQcMAQtBACEFQQEhAgsgAyACOgArIAFBAWohAQJAAkAgAy0ALkEQcQ0AAkACQAJAIAMtACoOAwEAAgQLIAdFDQMMAgsgAA0BDAILIAVFDQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ0CIANB4gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjQELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ19IANB4wA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5AA2AhwgAyABNgIUIAMgADYCDAyLAQtB1AAhAgxxCyADLQApQSJGDYYBQdMAIQIMcAtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsgAEUEQEHVACECDHALIABBFUcEQCADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgyJAQsgA0HhADYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDIgBCyABIARGBEBB4AAhAgyIAQsCQAJAAkACQAJAIAEtAABBCmsOBAEEBAAECyABQQFqIQEMAQsgAUEBaiEBIANBL2otAABBAXFFDQELQdIAIQIMcAsgA0EANgIcIAMgATYCFCADQbYRNgIQIANBCTYCDEEAIQIMiAELIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIcBCyABIARGBEBB3wAhAgyHAQsgAS0AAEEKRgRAIAFBAWohAQwJCyADLQAuQcAAcQ0IIANBADYCHCADIAE2AhQgA0G2ETYCECADQQI2AgxBACECDIYBCyABIARGBEBB3QAhAgyGAQsgAS0AACICQQ1GBEAgAUEBaiEBQdAAIQIMbQsgASEAIAJBCWsOBAUBAQUBCyAEIAEiAEYEQEHcACECDIUBCyAALQAAQQpHDQAgAEEBagwCC0EAIQIgA0EANgIcIAMgADYCFCADQcotNgIQIANBBzYCDAyDAQsgASAERgRAQdsAIQIMgwELAkAgAS0AAEEJaw4EAwAAAwALIAFBAWoLIQFBzgAhAgxoCyABIARGBEBB2gAhAgyBAQsgAS0AAEEJaw4EAAEBAAELQQAhAiADQQA2AhwgA0GaEjYCECADQQc2AgwgAyABQQFqNgIUDH8LIANBgBI7ASpBACEAAkAgAygCOCICRQ0AIAIoAjgiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HZADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDH4LQc0AIQIMZAsgA0EANgIcIAMgATYCFCADQckNNgIQIANBGjYCDEEAIQIMfAsgASAERgRAQdkAIQIMfAsgAS0AAEEgRw09IAFBAWohASADLQAuQQFxDT0gA0EANgIcIAMgATYCFCADQcIcNgIQIANBHjYCDEEAIQIMewsgASAERgRAQdgAIQIMewsCQAJAAkACQAJAIAEtAAAiAEEKaw4EAgMDAAELIAFBAWohAUEsIQIMZQsgAEE6Rw0BIANBADYCHCADIAE2AhQgA0HnETYCECADQQo2AgxBACECDH0LIAFBAWohASADQS9qLQAAQQFxRQ1zIAMtADJBgAFxRQRAIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsCQAJAIAAOFk1MSwEBAQEBAQEBAQEBAQEBAQEBAQABCyADQSk2AhwgAyABNgIUIANBrBk2AhAgA0EVNgIMQQAhAgx+CyADQQA2AhwgAyABNgIUIANB5Qs2AhAgA0ERNgIMQQAhAgx9C0EAIQACQCADKAI4IgJFDQAgAigCXCICRQ0AIAMgAhEAACEACyAARQ1ZIABBFUcNASADQQU2AhwgAyABNgIUIANBmxs2AhAgA0EVNgIMQQAhAgx8C0HLACECDGILQQAhAiADQQA2AhwgAyABNgIUIANBkA42AhAgA0EUNgIMDHoLIAMgAy8BMkGAAXI7ATIMOwsgASAERwRAIANBETYCCCADIAE2AgRBygAhAgxgC0HXACECDHgLIAEgBEYEQEHWACECDHgLAkACQAJAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXFB4wBrDhMAQEBAQEBAQEBAQEBAAUBAQAIDQAsgAUEBaiEBQcYAIQIMYQsgAUEBaiEBQccAIQIMYAsgAUEBaiEBQcgAIQIMXwsgAUEBaiEBQckAIQIMXgtB1QAhAiAEIAEiAEYNdiAEIAFrIAMoAgAiAWohBiAAIAFrQQVqIQcDQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQhBBCABQQVGDQoaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHYLQdQAIQIgBCABIgBGDXUgBCABayADKAIAIgFqIQYgACABa0EPaiEHA0AgAUGAyABqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0HQQMgAUEPRg0JGiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAx1C0HTACECIAQgASIARg10IAQgAWsgAygCACIBaiEGIAAgAWtBDmohBwNAIAFB4scAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNBiABQQ5GDQcgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMdAtB0gAhAiAEIAEiAEYNcyAEIAFrIAMoAgAiAWohBSAAIAFrQQFqIQYDQCABQeDHAGotAAAgAC0AACIHQSByIAcgB0HBAGtB/wFxQRpJG0H/AXFHDQUgAUEBRg0CIAFBAWohASAEIABBAWoiAEcNAAsgAyAFNgIADHMLIAEgBEYEQEHRACECDHMLAkACQCABLQAAIgBBIHIgACAAQcEAa0H/AXFBGkkbQf8BcUHuAGsOBwA5OTk5OQE5CyABQQFqIQFBwwAhAgxaCyABQQFqIQFBxAAhAgxZCyADQQA2AgAgBkEBaiEBQcUAIQIMWAtB0AAhAiAEIAEiAEYNcCAEIAFrIAMoAgAiAWohBiAAIAFrQQlqIQcDQCABQdbHAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQJBAiABQQlGDQQaIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADHALQc8AIQIgBCABIgBGDW8gBCABayADKAIAIgFqIQYgACABa0EFaiEHA0AgAUHQxwBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBBUYNAiABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxvCyAAIQEgA0EANgIADDMLQQELOgAsIANBADYCACAHQQFqIQELQS0hAgxSCwJAA0AgAS0AAEHQxQBqLQAAQQFHDQEgBCABQQFqIgFHDQALQc0AIQIMawtBwgAhAgxRCyABIARGBEBBzAAhAgxqCyABLQAAQTpGBEAgAygCBCEAIANBADYCBCADIAAgARAwIgBFDTMgA0HLADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxqCyADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgxpCwJAAkAgAy0ALEECaw4CAAEnCyADQTNqLQAAQQJxRQ0mIAMtAC5BAnENJiADQQA2AhwgAyABNgIUIANBphQ2AhAgA0ELNgIMQQAhAgxpCyADLQAyQSBxRQ0lIAMtAC5BAnENJSADQQA2AhwgAyABNgIUIANBvRM2AhAgA0EPNgIMQQAhAgxoC0EAIQACQCADKAI4IgJFDQAgAigCSCICRQ0AIAMgAhEAACEACyAARQRAQcEAIQIMTwsgAEEVRwRAIANBADYCHCADIAE2AhQgA0GmDzYCECADQRw2AgxBACECDGgLIANBygA2AhwgAyABNgIUIANBhRw2AhAgA0EVNgIMQQAhAgxnCyABIARHBEAgASECA0AgBCACIgFrQRBOBEAgAUEQaiEC/Qz/////////////////////IAH9AAAAIg1BB/1sIA39DODg4ODg4ODg4ODg4ODg4OD9bv0MX19fX19fX19fX19fX19fX/0mIA39DAkJCQkJCQkJCQkJCQkJCQn9I/1Q/VL9ZEF/c2giAEEQRg0BIAAgAWohAQwYCyABIARGBEBBxAAhAgxpCyABLQAAQcDBAGotAABBAUcNFyAEIAFBAWoiAkcNAAtBxAAhAgxnC0HEACECDGYLIAEgBEcEQANAAkAgAS0AACIAQSByIAAgAEHBAGtB/wFxQRpJG0H/AXEiAEEJRg0AIABBIEYNAAJAAkACQAJAIABB4wBrDhMAAwMDAwMDAwEDAwMDAwMDAwMCAwsgAUEBaiEBQTYhAgxSCyABQQFqIQFBNyECDFELIAFBAWohAUE4IQIMUAsMFQsgBCABQQFqIgFHDQALQTwhAgxmC0E8IQIMZQsgASAERgRAQcgAIQIMZQsgA0ESNgIIIAMgATYCBAJAAkACQAJAAkAgAy0ALEEBaw4EFAABAgkLIAMtADJBIHENA0HgASECDE8LAkAgAy8BMiIAQQhxRQ0AIAMtAChBAUcNACADLQAuQQhxRQ0CCyADIABB9/sDcUGABHI7ATIMCwsgAyADLwEyQRByOwEyDAQLIANBADYCBCADIAEgARAxIgAEQCADQcEANgIcIAMgADYCDCADIAFBAWo2AhRBACECDGYLIAFBAWohAQxYCyADQQA2AhwgAyABNgIUIANB9BM2AhAgA0EENgIMQQAhAgxkC0HHACECIAEgBEYNYyADKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIABBwMUAai0AACABLQAAQSByRw0BIABBBkYNSiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAxkCyADQQA2AgAMBQsCQCABIARHBEADQCABLQAAQcDDAGotAAAiAEEBRwRAIABBAkcNAyABQQFqIQEMBQsgBCABQQFqIgFHDQALQcUAIQIMZAtBxQAhAgxjCwsgA0EAOgAsDAELQQshAgxHC0E/IQIMRgsCQAJAA0AgAS0AACIAQSBHBEACQCAAQQprDgQDBQUDAAsgAEEsRg0DDAQLIAQgAUEBaiIBRw0AC0HGACECDGALIANBCDoALAwOCyADLQAoQQFHDQIgAy0ALkEIcQ0CIAMoAgQhACADQQA2AgQgAyAAIAEQMSIABEAgA0HCADYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxfCyABQQFqIQEMUAtBOyECDEQLAkADQCABLQAAIgBBIEcgAEEJR3ENASAEIAFBAWoiAUcNAAtBwwAhAgxdCwtBPCECDEILAkACQCABIARHBEADQCABLQAAIgBBIEcEQCAAQQprDgQDBAQDBAsgBCABQQFqIgFHDQALQT8hAgxdC0E/IQIMXAsgAyADLwEyQSByOwEyDAoLIAMoAgQhACADQQA2AgQgAyAAIAEQMSIARQ1OIANBPjYCHCADIAE2AhQgAyAANgIMQQAhAgxaCwJAIAEgBEcEQANAIAEtAABBwMMAai0AACIAQQFHBEAgAEECRg0DDAwLIAQgAUEBaiIBRw0AC0E3IQIMWwtBNyECDFoLIAFBAWohAQwEC0E7IQIgBCABIgBGDVggBCABayADKAIAIgFqIQYgACABa0EFaiEHAkADQCABQZDIAGotAAAgAC0AACIFQSByIAUgBUHBAGtB/wFxQRpJG0H/AXFHDQEgAUEFRgRAQQchAQw/CyABQQFqIQEgBCAAQQFqIgBHDQALIAMgBjYCAAxZCyADQQA2AgAgACEBDAULQTohAiAEIAEiAEYNVyAEIAFrIAMoAgAiAWohBiAAIAFrQQhqIQcCQANAIAFBtMEAai0AACAALQAAIgVBIHIgBSAFQcEAa0H/AXFBGkkbQf8BcUcNASABQQhGBEBBBSEBDD4LIAFBAWohASAEIABBAWoiAEcNAAsgAyAGNgIADFgLIANBADYCACAAIQEMBAtBOSECIAQgASIARg1WIAQgAWsgAygCACIBaiEGIAAgAWtBA2ohBwJAA0AgAUGwwQBqLQAAIAAtAAAiBUEgciAFIAVBwQBrQf8BcUEaSRtB/wFxRw0BIAFBA0YEQEEGIQEMPQsgAUEBaiEBIAQgAEEBaiIARw0ACyADIAY2AgAMVwsgA0EANgIAIAAhAQwDCwJAA0AgAS0AACIAQSBHBEAgAEEKaw4EBwQEBwILIAQgAUEBaiIBRw0AC0E4IQIMVgsgAEEsRw0BIAFBAWohAEEBIQECQAJAAkACQAJAIAMtACxBBWsOBAMBAgQACyAAIQEMBAtBAiEBDAELQQQhAQsgA0EBOgAsIAMgAy8BMiABcjsBMiAAIQEMAQsgAyADLwEyQQhyOwEyIAAhAQtBPiECDDsLIANBADoALAtBOSECDDkLIAEgBEYEQEE2IQIMUgsCQAJAAkACQAJAIAEtAABBCmsOBAACAgECCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNAiADQTM2AhwgAyABNgIUIAMgADYCDEEAIQIMVQsgAygCBCEAIANBADYCBCADIAAgARAxIgBFBEAgAUEBaiEBDAYLIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgxUCyADLQAuQQFxBEBB3wEhAgw7CyADKAIEIQAgA0EANgIEIAMgACABEDEiAA0BDEkLQTQhAgw5CyADQTU2AhwgAyABNgIUIAMgADYCDEEAIQIMUQtBNSECDDcLIANBL2otAABBAXENACADQQA2AhwgAyABNgIUIANB6xY2AhAgA0EZNgIMQQAhAgxPC0EzIQIMNQsgASAERgRAQTIhAgxOCwJAIAEtAABBCkYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZIXNgIQIANBAzYCDEEAIQIMTgtBMiECDDQLIAEgBEYEQEExIQIMTQsCQCABLQAAIgBBCUYNACAAQSBGDQBBASECAkAgAy0ALEEFaw4EBgQFAA0LIAMgAy8BMkEIcjsBMgwMCyADLQAuQQFxRQ0BIAMtACxBCEcNACADQQA6ACwLQT0hAgwyCyADQQA2AhwgAyABNgIUIANBwhY2AhAgA0EKNgIMQQAhAgxKC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyDAYLIAEgBEYEQEEwIQIMRwsgAS0AAEEKRgRAIAFBAWohAQwBCyADLQAuQQFxDQAgA0EANgIcIAMgATYCFCADQdwoNgIQIANBAjYCDEEAIQIMRgtBMCECDCwLIAFBAWohAUExIQIMKwsgASAERgRAQS8hAgxECyABLQAAIgBBCUcgAEEgR3FFBEAgAUEBaiEBIAMtAC5BAXENASADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgxEC0EBIQICQAJAAkACQAJAAkAgAy0ALEECaw4HBQQEAwECAAQLIAMgAy8BMkEIcjsBMgwDC0ECIQIMAQtBBCECCyADQQE6ACwgAyADLwEyIAJyOwEyC0EvIQIMKwsgA0EANgIcIAMgATYCFCADQYQTNgIQIANBCzYCDEEAIQIMQwtB4QEhAgwpCyABIARGBEBBLiECDEILIANBADYCBCADQRI2AgggAyABIAEQMSIADQELQS4hAgwnCyADQS02AhwgAyABNgIUIAMgADYCDEEAIQIMPwtBACEAAkAgAygCOCICRQ0AIAIoAkwiAkUNACADIAIRAAAhAAsgAEUNACAAQRVHDQEgA0HYADYCHCADIAE2AhQgA0GzGzYCECADQRU2AgxBACECDD4LQcwAIQIMJAsgA0EANgIcIAMgATYCFCADQbMONgIQIANBHTYCDEEAIQIMPAsgASAERgRAQc4AIQIMPAsgAS0AACIAQSBGDQIgAEE6Rg0BCyADQQA6ACxBCSECDCELIAMoAgQhACADQQA2AgQgAyAAIAEQMCIADQEMAgsgAy0ALkEBcQRAQd4BIQIMIAsgAygCBCEAIANBADYCBCADIAAgARAwIgBFDQIgA0EqNgIcIAMgADYCDCADIAFBAWo2AhRBACECDDgLIANBywA2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMNwsgAUEBaiEBQcAAIQIMHQsgAUEBaiEBDCwLIAEgBEYEQEErIQIMNQsCQCABLQAAQQpGBEAgAUEBaiEBDAELIAMtAC5BwABxRQ0GCyADLQAyQYABcQRAQQAhAAJAIAMoAjgiAkUNACACKAJcIgJFDQAgAyACEQAAIQALIABFDRIgAEEVRgRAIANBBTYCHCADIAE2AhQgA0GbGzYCECADQRU2AgxBACECDDYLIANBADYCHCADIAE2AhQgA0GQDjYCECADQRQ2AgxBACECDDULIANBMmohAiADEDVBACEAAkAgAygCOCIGRQ0AIAYoAigiBkUNACADIAYRAAAhAAsgAA4WAgEABAQEBAQEBAQEBAQEBAQEBAQEAwQLIANBAToAMAsgAiACLwEAQcAAcjsBAAtBKyECDBgLIANBKTYCHCADIAE2AhQgA0GsGTYCECADQRU2AgxBACECDDALIANBADYCHCADIAE2AhQgA0HlCzYCECADQRE2AgxBACECDC8LIANBADYCHCADIAE2AhQgA0GlCzYCECADQQI2AgxBACECDC4LQQEhByADLwEyIgVBCHFFBEAgAykDIEIAUiEHCwJAIAMtADAEQEEBIQAgAy0AKUEFRg0BIAVBwABxRSAHcUUNAQsCQCADLQAoIgJBAkYEQEEBIQAgAy8BNCIGQeUARg0CQQAhACAFQcAAcQ0CIAZB5ABGDQIgBkHmAGtBAkkNAiAGQcwBRg0CIAZBsAJGDQIMAQtBACEAIAVBwABxDQELQQIhACAFQQhxDQAgBUGABHEEQAJAIAJBAUcNACADLQAuQQpxDQBBBSEADAILQQQhAAwBCyAFQSBxRQRAIAMQNkEAR0ECdCEADAELQQBBAyADKQMgUBshAAsgAEEBaw4FAgAHAQMEC0ERIQIMEwsgA0EBOgAxDCkLQQAhAgJAIAMoAjgiAEUNACAAKAIwIgBFDQAgAyAAEQAAIQILIAJFDSYgAkEVRgRAIANBAzYCHCADIAE2AhQgA0HSGzYCECADQRU2AgxBACECDCsLQQAhAiADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMDCoLIANBADYCHCADIAE2AhQgA0H5IDYCECADQQ82AgxBACECDCkLQQAhAAJAIAMoAjgiAkUNACACKAIwIgJFDQAgAyACEQAAIQALIAANAQtBDiECDA4LIABBFUYEQCADQQI2AhwgAyABNgIUIANB0hs2AhAgA0EVNgIMQQAhAgwnCyADQQA2AhwgAyABNgIUIANB3Q42AhAgA0ESNgIMQQAhAgwmC0EqIQIMDAsgASAERwRAIANBCTYCCCADIAE2AgRBKSECDAwLQSYhAgwkCyADIAMpAyAiDCAEIAFrrSIKfSILQgAgCyAMWBs3AyAgCiAMVARAQSUhAgwkCyADKAIEIQAgA0EANgIEIAMgACABIAynaiIBEDIiAEUNACADQQU2AhwgAyABNgIUIAMgADYCDEEAIQIMIwtBDyECDAkLQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCABLQAAQTBrDjcXFgABAgMEBQYHFBQUFBQUFAgJCgsMDRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUDg8QERITFAtCAiEKDBYLQgMhCgwVC0IEIQoMFAtCBSEKDBMLQgYhCgwSC0IHIQoMEQtCCCEKDBALQgkhCgwPC0IKIQoMDgtCCyEKDA0LQgwhCgwMC0INIQoMCwtCDiEKDAoLQg8hCgwJC0IKIQoMCAtCCyEKDAcLQgwhCgwGC0INIQoMBQtCDiEKDAQLQg8hCgwDCyADQQA2AhwgAyABNgIUIANBnxU2AhAgA0EMNgIMQQAhAgwhCyABIARGBEBBIiECDCELQgAhCgJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAS0AAEEwaw43FRQAAQIDBAUGBxYWFhYWFhYICQoLDA0WFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFg4PEBESExYLQgIhCgwUC0IDIQoMEwtCBCEKDBILQgUhCgwRC0IGIQoMEAtCByEKDA8LQgghCgwOC0IJIQoMDQtCCiEKDAwLQgshCgwLC0IMIQoMCgtCDSEKDAkLQg4hCgwIC0IPIQoMBwtCCiEKDAYLQgshCgwFC0IMIQoMBAtCDSEKDAMLQg4hCgwCC0IPIQoMAQtCASEKCyABQQFqIQEgAykDICILQv//////////D1gEQCADIAtCBIYgCoQ3AyAMAgsgA0EANgIcIAMgATYCFCADQbUJNgIQIANBDDYCDEEAIQIMHgtBJyECDAQLQSghAgwDCyADIAE6ACwgA0EANgIAIAdBAWohAUEMIQIMAgsgA0EANgIAIAZBAWohAUEKIQIMAQsgAUEBaiEBQQghAgwACwALQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBcLQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBYLQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBULQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDBQLQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDBMLQQAhAiADQQA2AhwgAyABNgIUIANBsjg2AhAgA0EINgIMDBILQQAhAiADQQA2AhwgAyABNgIUIANBgxE2AhAgA0EJNgIMDBELQQAhAiADQQA2AhwgAyABNgIUIANB3wo2AhAgA0EJNgIMDBALQQAhAiADQQA2AhwgAyABNgIUIANB7RA2AhAgA0EJNgIMDA8LQQAhAiADQQA2AhwgAyABNgIUIANB0hE2AhAgA0EJNgIMDA4LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDA0LQQAhAiADQQA2AhwgAyABNgIUIANBuRc2AhAgA0EPNgIMDAwLQQAhAiADQQA2AhwgAyABNgIUIANBmRM2AhAgA0ELNgIMDAsLQQAhAiADQQA2AhwgAyABNgIUIANBnQk2AhAgA0ELNgIMDAoLQQAhAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMDAkLQQAhAiADQQA2AhwgAyABNgIUIANBsRA2AhAgA0EKNgIMDAgLQQAhAiADQQA2AhwgAyABNgIUIANBux02AhAgA0ECNgIMDAcLQQAhAiADQQA2AhwgAyABNgIUIANBlhY2AhAgA0ECNgIMDAYLQQAhAiADQQA2AhwgAyABNgIUIANB+Rg2AhAgA0ECNgIMDAULQQAhAiADQQA2AhwgAyABNgIUIANBxBg2AhAgA0ECNgIMDAQLIANBAjYCHCADIAE2AhQgA0GpHjYCECADQRY2AgxBACECDAMLQd4AIQIgASAERg0CIAlBCGohByADKAIAIQUCQAJAIAEgBEcEQCAFQZbIAGohCCAEIAVqIAFrIQYgBUF/c0EKaiIFIAFqIQADQCABLQAAIAgtAABHBEBBAiEIDAMLIAVFBEBBACEIIAAhAQwDCyAFQQFrIQUgCEEBaiEIIAQgAUEBaiIBRw0ACyAGIQUgBCEBCyAHQQE2AgAgAyAFNgIADAELIANBADYCACAHIAg2AgALIAcgATYCBCAJKAIMIQACQAJAIAkoAghBAWsOAgQBAAsgA0EANgIcIANBwh42AhAgA0EXNgIMIAMgAEEBajYCFEEAIQIMAwsgA0EANgIcIAMgADYCFCADQdceNgIQIANBCTYCDEEAIQIMAgsgASAERgRAQSghAgwCCyADQQk2AgggAyABNgIEQSchAgwBCyABIARGBEBBASECDAELA0ACQAJAAkAgAS0AAEEKaw4EAAEBAAELIAFBAWohAQwBCyABQQFqIQEgAy0ALkEgcQ0AQQAhAiADQQA2AhwgAyABNgIUIANBoSE2AhAgA0EFNgIMDAILQQEhAiABIARHDQALCyAJQRBqJAAgAkUEQCADKAIMIQAMAQsgAyACNgIcQQAhACADKAIEIgFFDQAgAyABIAQgAygCCBEBACIBRQ0AIAMgBDYCFCADIAE2AgwgASEACyAAC74CAQJ/IABBADoAACAAQeQAaiIBQQFrQQA6AAAgAEEAOgACIABBADoAASABQQNrQQA6AAAgAUECa0EAOgAAIABBADoAAyABQQRrQQA6AABBACAAa0EDcSIBIABqIgBBADYCAEHkACABa0F8cSICIABqIgFBBGtBADYCAAJAIAJBCUkNACAAQQA2AgggAEEANgIEIAFBCGtBADYCACABQQxrQQA2AgAgAkEZSQ0AIABBADYCGCAAQQA2AhQgAEEANgIQIABBADYCDCABQRBrQQA2AgAgAUEUa0EANgIAIAFBGGtBADYCACABQRxrQQA2AgAgAiAAQQRxQRhyIgJrIgFBIEkNACAAIAJqIQADQCAAQgA3AxggAEIANwMQIABCADcDCCAAQgA3AwAgAEEgaiEAIAFBIGsiAUEfSw0ACwsLVgEBfwJAIAAoAgwNAAJAAkACQAJAIAAtADEOAwEAAwILIAAoAjgiAUUNACABKAIwIgFFDQAgACABEQAAIgENAwtBAA8LAAsgAEHKGTYCEEEOIQELIAELGgAgACgCDEUEQCAAQd4fNgIQIABBFTYCDAsLFAAgACgCDEEVRgRAIABBADYCDAsLFAAgACgCDEEWRgRAIABBADYCDAsLBwAgACgCDAsHACAAKAIQCwkAIAAgATYCEAsHACAAKAIUCysAAkAgAEEnTw0AQv//////CSAArYhCAYNQDQAgAEECdEHQOGooAgAPCwALFwAgAEEvTwRAAAsgAEECdEHsOWooAgALvwkBAX9B9C0hAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HqLA8LQZgmDwtB7TEPC0GgNw8LQckpDwtBtCkPC0GWLQ8LQesrDwtBojUPC0HbNA8LQeApDwtB4yQPC0HVJA8LQe4kDwtB5iUPC0HKNA8LQdA3DwtBqjUPC0H1LA8LQfYmDwtBgiIPC0HyMw8LQb4oDwtB5zcPC0HNIQ8LQcAhDwtBuCUPC0HLJQ8LQZYkDwtBjzQPC0HNNQ8LQd0qDwtB7jMPC0GcNA8LQZ4xDwtB9DUPC0HlIg8LQa8lDwtBmTEPC0GyNg8LQfk2DwtBxDIPC0HdLA8LQYIxDwtBwTEPC0GNNw8LQckkDwtB7DYPC0HnKg8LQcgjDwtB4iEPC0HJNw8LQaUiDwtBlCIPC0HbNg8LQd41DwtBhiYPC0G8Kw8LQYsyDwtBoCMPC0H2MA8LQYAsDwtBiSsPC0GkJg8LQfIjDwtBgSgPC0GrMg8LQesnDwtBwjYPC0GiJA8LQc8qDwtB3CMPC0GHJw8LQeQ0DwtBtyIPC0GtMQ8LQdUiDwtBrzQPC0HeJg8LQdYyDwtB9DQPC0GBOA8LQfQ3DwtBkjYPC0GdJw8LQYIpDwtBjSMPC0HXMQ8LQb01DwtBtDcPC0HYMA8LQbYnDwtBmjgPC0GnKg8LQcQnDwtBriMPC0H1Ig8LAAtByiYhAQsgAQsXACAAIAAvAS5B/v8DcSABQQBHcjsBLgsaACAAIAAvAS5B/f8DcSABQQBHQQF0cjsBLgsaACAAIAAvAS5B+/8DcSABQQBHQQJ0cjsBLgsaACAAIAAvAS5B9/8DcSABQQBHQQN0cjsBLgsaACAAIAAvAS5B7/8DcSABQQBHQQR0cjsBLgsaACAAIAAvAS5B3/8DcSABQQBHQQV0cjsBLgsaACAAIAAvAS5Bv/8DcSABQQBHQQZ0cjsBLgsaACAAIAAvAS5B//4DcSABQQBHQQd0cjsBLgsaACAAIAAvAS5B//0DcSABQQBHQQh0cjsBLgsaACAAIAAvAS5B//sDcSABQQBHQQl0cjsBLgs+AQJ/AkAgACgCOCIDRQ0AIAMoAgQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeESNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAggiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfwRNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAgwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQewKNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQfoeNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQcsQNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhgiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQbcfNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAhwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQb8VNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiwiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQf4INgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiAiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQYwdNgIQQRghBAsgBAs+AQJ/AkAgACgCOCIDRQ0AIAMoAiQiA0UNACAAIAEgAiABayADEQEAIgRBf0cNACAAQeYVNgIQQRghBAsgBAs4ACAAAn8gAC8BMkEUcUEURgRAQQEgAC0AKEEBRg0BGiAALwE0QeUARgwBCyAALQApQQVGCzoAMAtZAQJ/AkAgAC0AKEEBRg0AIAAvATQiAUHkAGtB5ABJDQAgAUHMAUYNACABQbACRg0AIAAvATIiAEHAAHENAEEBIQIgAEGIBHFBgARGDQAgAEEocUUhAgsgAguMAQECfwJAAkACQCAALQAqRQ0AIAAtACtFDQAgAC8BMiIBQQJxRQ0BDAILIAAvATIiAUEBcUUNAQtBASECIAAtAChBAUYNACAALwE0IgBB5ABrQeQASQ0AIABBzAFGDQAgAEGwAkYNACABQcAAcQ0AQQAhAiABQYgEcUGABEYNACABQShxQQBHIQILIAILcwAgAEEQav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAP0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEwav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEEgav0MAAAAAAAAAAAAAAAAAAAAAP0LAwAgAEH9ATYCHAsGACAAEDoLmi0BC38jAEEQayIKJABB3NUAKAIAIglFBEBBnNkAKAIAIgVFBEBBqNkAQn83AgBBoNkAQoCAhICAgMAANwIAQZzZACAKQQhqQXBxQdiq1aoFcyIFNgIAQbDZAEEANgIAQYDZAEEANgIAC0GE2QBBwNkENgIAQdTVAEHA2QQ2AgBB6NUAIAU2AgBB5NUAQX82AgBBiNkAQcCmAzYCAANAIAFBgNYAaiABQfTVAGoiAjYCACACIAFB7NUAaiIDNgIAIAFB+NUAaiADNgIAIAFBiNYAaiABQfzVAGoiAzYCACADIAI2AgAgAUGQ1gBqIAFBhNYAaiICNgIAIAIgAzYCACABQYzWAGogAjYCACABQSBqIgFBgAJHDQALQczZBEGBpgM2AgBB4NUAQazZACgCADYCAEHQ1QBBgKYDNgIAQdzVAEHI2QQ2AgBBzP8HQTg2AgBByNkEIQkLAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEHsAU0EQEHE1QAoAgAiBkEQIABBE2pBcHEgAEELSRsiBEEDdiIAdiIBQQNxBEACQCABQQFxIAByQQFzIgJBA3QiAEHs1QBqIgEgAEH01QBqKAIAIgAoAggiA0YEQEHE1QAgBkF+IAJ3cTYCAAwBCyABIAM2AgggAyABNgIMCyAAQQhqIQEgACACQQN0IgJBA3I2AgQgACACaiIAIAAoAgRBAXI2AgQMEQtBzNUAKAIAIgggBE8NASABBEACQEECIAB0IgJBACACa3IgASAAdHFoIgBBA3QiAkHs1QBqIgEgAkH01QBqKAIAIgIoAggiA0YEQEHE1QAgBkF+IAB3cSIGNgIADAELIAEgAzYCCCADIAE2AgwLIAIgBEEDcjYCBCAAQQN0IgAgBGshBSAAIAJqIAU2AgAgAiAEaiIEIAVBAXI2AgQgCARAIAhBeHFB7NUAaiEAQdjVACgCACEDAn9BASAIQQN2dCIBIAZxRQRAQcTVACABIAZyNgIAIAAMAQsgACgCCAsiASADNgIMIAAgAzYCCCADIAA2AgwgAyABNgIICyACQQhqIQFB2NUAIAQ2AgBBzNUAIAU2AgAMEQtByNUAKAIAIgtFDQEgC2hBAnRB9NcAaigCACIAKAIEQXhxIARrIQUgACECA0ACQCACKAIQIgFFBEAgAkEUaigCACIBRQ0BCyABKAIEQXhxIARrIgMgBUkhAiADIAUgAhshBSABIAAgAhshACABIQIMAQsLIAAoAhghCSAAKAIMIgMgAEcEQEHU1QAoAgAaIAMgACgCCCIBNgIIIAEgAzYCDAwQCyAAQRRqIgIoAgAiAUUEQCAAKAIQIgFFDQMgAEEQaiECCwNAIAIhByABIgNBFGoiAigCACIBDQAgA0EQaiECIAMoAhAiAQ0ACyAHQQA2AgAMDwtBfyEEIABBv39LDQAgAEETaiIBQXBxIQRByNUAKAIAIghFDQBBACAEayEFAkACQAJAAn9BACAEQYACSQ0AGkEfIARB////B0sNABogBEEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+agsiBkECdEH01wBqKAIAIgJFBEBBACEBQQAhAwwBC0EAIQEgBEEZIAZBAXZrQQAgBkEfRxt0IQBBACEDA0ACQCACKAIEQXhxIARrIgcgBU8NACACIQMgByIFDQBBACEFIAIhAQwDCyABIAJBFGooAgAiByAHIAIgAEEddkEEcWpBEGooAgAiAkYbIAEgBxshASAAQQF0IQAgAg0ACwsgASADckUEQEEAIQNBAiAGdCIAQQAgAGtyIAhxIgBFDQMgAGhBAnRB9NcAaigCACEBCyABRQ0BCwNAIAEoAgRBeHEgBGsiAiAFSSEAIAIgBSAAGyEFIAEgAyAAGyEDIAEoAhAiAAR/IAAFIAFBFGooAgALIgENAAsLIANFDQAgBUHM1QAoAgAgBGtPDQAgAygCGCEHIAMgAygCDCIARwRAQdTVACgCABogACADKAIIIgE2AgggASAANgIMDA4LIANBFGoiAigCACIBRQRAIAMoAhAiAUUNAyADQRBqIQILA0AgAiEGIAEiAEEUaiICKAIAIgENACAAQRBqIQIgACgCECIBDQALIAZBADYCAAwNC0HM1QAoAgAiAyAETwRAQdjVACgCACEBAkAgAyAEayICQRBPBEAgASAEaiIAIAJBAXI2AgQgASADaiACNgIAIAEgBEEDcjYCBAwBCyABIANBA3I2AgQgASADaiIAIAAoAgRBAXI2AgRBACEAQQAhAgtBzNUAIAI2AgBB2NUAIAA2AgAgAUEIaiEBDA8LQdDVACgCACIDIARLBEAgBCAJaiIAIAMgBGsiAUEBcjYCBEHc1QAgADYCAEHQ1QAgATYCACAJIARBA3I2AgQgCUEIaiEBDA8LQQAhASAEAn9BnNkAKAIABEBBpNkAKAIADAELQajZAEJ/NwIAQaDZAEKAgISAgIDAADcCAEGc2QAgCkEMakFwcUHYqtWqBXM2AgBBsNkAQQA2AgBBgNkAQQA2AgBBgIAECyIAIARBxwBqIgVqIgZBACAAayIHcSICTwRAQbTZAEEwNgIADA8LAkBB/NgAKAIAIgFFDQBB9NgAKAIAIgggAmohACAAIAFNIAAgCEtxDQBBACEBQbTZAEEwNgIADA8LQYDZAC0AAEEEcQ0EAkACQCAJBEBBhNkAIQEDQCABKAIAIgAgCU0EQCAAIAEoAgRqIAlLDQMLIAEoAggiAQ0ACwtBABA7IgBBf0YNBSACIQZBoNkAKAIAIgFBAWsiAyAAcQRAIAIgAGsgACADakEAIAFrcWohBgsgBCAGTw0FIAZB/v///wdLDQVB/NgAKAIAIgMEQEH02AAoAgAiByAGaiEBIAEgB00NBiABIANLDQYLIAYQOyIBIABHDQEMBwsgBiADayAHcSIGQf7///8HSw0EIAYQOyEAIAAgASgCACABKAIEakYNAyAAIQELAkAgBiAEQcgAak8NACABQX9GDQBBpNkAKAIAIgAgBSAGa2pBACAAa3EiAEH+////B0sEQCABIQAMBwsgABA7QX9HBEAgACAGaiEGIAEhAAwHC0EAIAZrEDsaDAQLIAEiAEF/Rw0FDAMLQQAhAwwMC0EAIQAMCgsgAEF/Rw0CC0GA2QBBgNkAKAIAQQRyNgIACyACQf7///8HSw0BIAIQOyEAQQAQOyEBIABBf0YNASABQX9GDQEgACABTw0BIAEgAGsiBiAEQThqTQ0BC0H02ABB9NgAKAIAIAZqIgE2AgBB+NgAKAIAIAFJBEBB+NgAIAE2AgALAkACQAJAQdzVACgCACICBEBBhNkAIQEDQCAAIAEoAgAiAyABKAIEIgVqRg0CIAEoAggiAQ0ACwwCC0HU1QAoAgAiAUEARyAAIAFPcUUEQEHU1QAgADYCAAtBACEBQYjZACAGNgIAQYTZACAANgIAQeTVAEF/NgIAQejVAEGc2QAoAgA2AgBBkNkAQQA2AgADQCABQYDWAGogAUH01QBqIgI2AgAgAiABQezVAGoiAzYCACABQfjVAGogAzYCACABQYjWAGogAUH81QBqIgM2AgAgAyACNgIAIAFBkNYAaiABQYTWAGoiAjYCACACIAM2AgAgAUGM1gBqIAI2AgAgAUEgaiIBQYACRw0AC0F4IABrQQ9xIgEgAGoiAiAGQThrIgMgAWsiAUEBcjYCBEHg1QBBrNkAKAIANgIAQdDVACABNgIAQdzVACACNgIAIAAgA2pBODYCBAwCCyAAIAJNDQAgAiADSQ0AIAEoAgxBCHENAEF4IAJrQQ9xIgAgAmoiA0HQ1QAoAgAgBmoiByAAayIAQQFyNgIEIAEgBSAGajYCBEHg1QBBrNkAKAIANgIAQdDVACAANgIAQdzVACADNgIAIAIgB2pBODYCBAwBCyAAQdTVACgCAEkEQEHU1QAgADYCAAsgACAGaiEDQYTZACEBAkACQAJAA0AgAyABKAIARwRAIAEoAggiAQ0BDAILCyABLQAMQQhxRQ0BC0GE2QAhAQNAIAEoAgAiAyACTQRAIAMgASgCBGoiBSACSw0DCyABKAIIIQEMAAsACyABIAA2AgAgASABKAIEIAZqNgIEIABBeCAAa0EPcWoiCSAEQQNyNgIEIANBeCADa0EPcWoiBiAEIAlqIgRrIQEgAiAGRgRAQdzVACAENgIAQdDVAEHQ1QAoAgAgAWoiADYCACAEIABBAXI2AgQMCAtB2NUAKAIAIAZGBEBB2NUAIAQ2AgBBzNUAQczVACgCACABaiIANgIAIAQgAEEBcjYCBCAAIARqIAA2AgAMCAsgBigCBCIFQQNxQQFHDQYgBUF4cSEIIAVB/wFNBEAgBUEDdiEDIAYoAggiACAGKAIMIgJGBEBBxNUAQcTVACgCAEF+IAN3cTYCAAwHCyACIAA2AgggACACNgIMDAYLIAYoAhghByAGIAYoAgwiAEcEQCAAIAYoAggiAjYCCCACIAA2AgwMBQsgBkEUaiICKAIAIgVFBEAgBigCECIFRQ0EIAZBEGohAgsDQCACIQMgBSIAQRRqIgIoAgAiBQ0AIABBEGohAiAAKAIQIgUNAAsgA0EANgIADAQLQXggAGtBD3EiASAAaiIHIAZBOGsiAyABayIBQQFyNgIEIAAgA2pBODYCBCACIAVBNyAFa0EPcWpBP2siAyADIAJBEGpJGyIDQSM2AgRB4NUAQazZACgCADYCAEHQ1QAgATYCAEHc1QAgBzYCACADQRBqQYzZACkCADcCACADQYTZACkCADcCCEGM2QAgA0EIajYCAEGI2QAgBjYCAEGE2QAgADYCAEGQ2QBBADYCACADQSRqIQEDQCABQQc2AgAgBSABQQRqIgFLDQALIAIgA0YNACADIAMoAgRBfnE2AgQgAyADIAJrIgU2AgAgAiAFQQFyNgIEIAVB/wFNBEAgBUF4cUHs1QBqIQACf0HE1QAoAgAiAUEBIAVBA3Z0IgNxRQRAQcTVACABIANyNgIAIAAMAQsgACgCCAsiASACNgIMIAAgAjYCCCACIAA2AgwgAiABNgIIDAELQR8hASAFQf///wdNBEAgBUEmIAVBCHZnIgBrdkEBcSAAQQF0a0E+aiEBCyACIAE2AhwgAkIANwIQIAFBAnRB9NcAaiEAQcjVACgCACIDQQEgAXQiBnFFBEAgACACNgIAQcjVACADIAZyNgIAIAIgADYCGCACIAI2AgggAiACNgIMDAELIAVBGSABQQF2a0EAIAFBH0cbdCEBIAAoAgAhAwJAA0AgAyIAKAIEQXhxIAVGDQEgAUEddiEDIAFBAXQhASAAIANBBHFqQRBqIgYoAgAiAw0ACyAGIAI2AgAgAiAANgIYIAIgAjYCDCACIAI2AggMAQsgACgCCCIBIAI2AgwgACACNgIIIAJBADYCGCACIAA2AgwgAiABNgIIC0HQ1QAoAgAiASAETQ0AQdzVACgCACIAIARqIgIgASAEayIBQQFyNgIEQdDVACABNgIAQdzVACACNgIAIAAgBEEDcjYCBCAAQQhqIQEMCAtBACEBQbTZAEEwNgIADAcLQQAhAAsgB0UNAAJAIAYoAhwiAkECdEH01wBqIgMoAgAgBkYEQCADIAA2AgAgAA0BQcjVAEHI1QAoAgBBfiACd3E2AgAMAgsgB0EQQRQgBygCECAGRhtqIAA2AgAgAEUNAQsgACAHNgIYIAYoAhAiAgRAIAAgAjYCECACIAA2AhgLIAZBFGooAgAiAkUNACAAQRRqIAI2AgAgAiAANgIYCyABIAhqIQEgBiAIaiIGKAIEIQULIAYgBUF+cTYCBCABIARqIAE2AgAgBCABQQFyNgIEIAFB/wFNBEAgAUF4cUHs1QBqIQACf0HE1QAoAgAiAkEBIAFBA3Z0IgFxRQRAQcTVACABIAJyNgIAIAAMAQsgACgCCAsiASAENgIMIAAgBDYCCCAEIAA2AgwgBCABNgIIDAELQR8hBSABQf///wdNBEAgAUEmIAFBCHZnIgBrdkEBcSAAQQF0a0E+aiEFCyAEIAU2AhwgBEIANwIQIAVBAnRB9NcAaiEAQcjVACgCACICQQEgBXQiA3FFBEAgACAENgIAQcjVACACIANyNgIAIAQgADYCGCAEIAQ2AgggBCAENgIMDAELIAFBGSAFQQF2a0EAIAVBH0cbdCEFIAAoAgAhAAJAA0AgACICKAIEQXhxIAFGDQEgBUEddiEAIAVBAXQhBSACIABBBHFqQRBqIgMoAgAiAA0ACyADIAQ2AgAgBCACNgIYIAQgBDYCDCAEIAQ2AggMAQsgAigCCCIAIAQ2AgwgAiAENgIIIARBADYCGCAEIAI2AgwgBCAANgIICyAJQQhqIQEMAgsCQCAHRQ0AAkAgAygCHCIBQQJ0QfTXAGoiAigCACADRgRAIAIgADYCACAADQFByNUAIAhBfiABd3EiCDYCAAwCCyAHQRBBFCAHKAIQIANGG2ogADYCACAARQ0BCyAAIAc2AhggAygCECIBBEAgACABNgIQIAEgADYCGAsgA0EUaigCACIBRQ0AIABBFGogATYCACABIAA2AhgLAkAgBUEPTQRAIAMgBCAFaiIAQQNyNgIEIAAgA2oiACAAKAIEQQFyNgIEDAELIAMgBGoiAiAFQQFyNgIEIAMgBEEDcjYCBCACIAVqIAU2AgAgBUH/AU0EQCAFQXhxQezVAGohAAJ/QcTVACgCACIBQQEgBUEDdnQiBXFFBEBBxNUAIAEgBXI2AgAgAAwBCyAAKAIICyIBIAI2AgwgACACNgIIIAIgADYCDCACIAE2AggMAQtBHyEBIAVB////B00EQCAFQSYgBUEIdmciAGt2QQFxIABBAXRrQT5qIQELIAIgATYCHCACQgA3AhAgAUECdEH01wBqIQBBASABdCIEIAhxRQRAIAAgAjYCAEHI1QAgBCAIcjYCACACIAA2AhggAiACNgIIIAIgAjYCDAwBCyAFQRkgAUEBdmtBACABQR9HG3QhASAAKAIAIQQCQANAIAQiACgCBEF4cSAFRg0BIAFBHXYhBCABQQF0IQEgACAEQQRxakEQaiIGKAIAIgQNAAsgBiACNgIAIAIgADYCGCACIAI2AgwgAiACNgIIDAELIAAoAggiASACNgIMIAAgAjYCCCACQQA2AhggAiAANgIMIAIgATYCCAsgA0EIaiEBDAELAkAgCUUNAAJAIAAoAhwiAUECdEH01wBqIgIoAgAgAEYEQCACIAM2AgAgAw0BQcjVACALQX4gAXdxNgIADAILIAlBEEEUIAkoAhAgAEYbaiADNgIAIANFDQELIAMgCTYCGCAAKAIQIgEEQCADIAE2AhAgASADNgIYCyAAQRRqKAIAIgFFDQAgA0EUaiABNgIAIAEgAzYCGAsCQCAFQQ9NBEAgACAEIAVqIgFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQMAQsgACAEaiIHIAVBAXI2AgQgACAEQQNyNgIEIAUgB2ogBTYCACAIBEAgCEF4cUHs1QBqIQFB2NUAKAIAIQMCf0EBIAhBA3Z0IgIgBnFFBEBBxNUAIAIgBnI2AgAgAQwBCyABKAIICyICIAM2AgwgASADNgIIIAMgATYCDCADIAI2AggLQdjVACAHNgIAQczVACAFNgIACyAAQQhqIQELIApBEGokACABC0MAIABFBEA/AEEQdA8LAkAgAEH//wNxDQAgAEEASA0AIABBEHZAACIAQX9GBEBBtNkAQTA2AgBBfw8LIABBEHQPCwALC5lCIgBBgAgLDQEAAAAAAAAAAgAAAAMAQZgICwUEAAAABQBBqAgLCQYAAAAHAAAACABB5AgLwjJJbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",fc;Object.defineProperty(mh,"exports",{get:()=>fc||(fc=tR.from(rR,"base64"))})});var Rs=p((bV,Th)=>{"use strict";var Rh=["GET","HEAD","POST"],sR=new Set(Rh),nR=[101,204,205,304],Sh=[301,302,303,307,308],oR=new Set(Sh),Nh=["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"],iR=new Set(Nh),Fh=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],aR=["",...Fh],cR=new Set(Fh),gR=["follow","manual","error"],bh=["GET","HEAD","OPTIONS","TRACE"],lR=new Set(bh),ER=["navigate","same-origin","no-cors","cors"],QR=["omit","same-origin","include"],uR=["default","no-store","reload","no-cache","force-cache","only-if-cached"],hR=["content-encoding","content-language","content-location","content-type","content-length"],IR=["half"],Uh=["CONNECT","TRACE","TRACK"],BR=new Set(Uh),Mh=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],CR=new Set(Mh);Th.exports={subresource:Mh,forbiddenMethods:Uh,requestBodyHeader:hR,referrerPolicy:aR,requestRedirect:gR,requestMode:ER,requestCredentials:QR,requestCache:uR,redirectStatus:Sh,corsSafeListedMethods:Rh,nullBodyStatus:nR,safeMethods:bh,badPorts:Nh,requestDuplex:IR,subresourceSet:CR,badPortsSet:iR,redirectStatusSet:oR,corsSafeListedMethodsSet:sR,safeMethodsSet:lR,forbiddenMethodsSet:BR,referrerPolicyTokens:cR}});var yc=p((UV,kh)=>{"use strict";var pc=Symbol.for("undici.globalOrigin.1");function dR(){return globalThis[pc]}function fR(A){if(A===void 0){Object.defineProperty(globalThis,pc,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let e=new URL(A);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${e.protocol}`);Object.defineProperty(globalThis,pc,{value:e,writable:!0,enumerable:!1,configurable:!1})}kh.exports={getGlobalOrigin:dR,setGlobalOrigin:fR}});var ro=p((MV,Lh)=>{"use strict";var pR=new TextDecoder;function yR(A){return A.length===0?"":(A[0]===239&&A[1]===187&&A[2]===191&&(A=A.subarray(3)),pR.decode(A))}Lh.exports={utf8DecodeBytes:yR}});var vA=p((TV,Gh)=>{"use strict";var Hh=require("node:assert"),{utf8DecodeBytes:DR}=ro();function mR(A,e,t){let r="";for(;t.position<e.length&&A(e[t.position]);)r+=e[t.position],t.position++;return r}function wR(A,e,t){let r=e.indexOf(A,t.position),s=t.position;return r===-1?(t.position=e.length,e.slice(s)):(t.position=r,e.slice(s,t.position))}var RR=/[\u0009\u000A\u000C\u000D\u0020]/g;function SR(A){A=A.replace(RR,"");let e=A.length;if(e%4===0&&A.charCodeAt(e-1)===61&&(--e,A.charCodeAt(e-1)===61&&--e),e%4===1||/[^+/0-9A-Za-z]/.test(A.length===e?A:A.substring(0,e)))return"failure";let t=Buffer.from(A,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function xh(A){return A===9||A===10||A===12||A===13||A===32}function NR(A){let e=A.length;if(65535>e)return String.fromCharCode.apply(null,A);let t="",r=0,s=65535;for(;r<e;)r+s>e&&(s=e-r),t+=String.fromCharCode.apply(null,A.subarray(r,r+=s));return t}var FR=/[^\x00-\xFF]/;function bR(A){return Hh(!FR.test(A)),A}function UR(A){return JSON.parse(DR(A))}function MR(A,e=!0,t=!0){return Yh(A,e,t,xh)}function Yh(A,e,t,r){let s=0,n=A.length-1;if(e)for(;s<A.length&&r(A.charCodeAt(s));)s++;if(t)for(;n>0&&r(A.charCodeAt(n));)n--;return s===0&&n===A.length-1?A:A.slice(s,n+1)}function TR(A){let e=JSON.stringify(A);if(e===void 0)throw new TypeError("Value is not JSON serializable");return Hh(typeof e=="string"),e}Gh.exports={collectASequenceOfCodePoints:mR,collectASequenceOfCodePointsFast:wR,forgivingBase64:SR,isASCIIWhitespace:xh,isomorphicDecode:NR,isomorphicEncode:bR,parseJSONFromBytes:UR,removeASCIIWhitespace:MR,removeChars:Yh,serializeJavascriptValueToJSONString:TR}});var tA=p((kV,qh)=>{"use strict";var no=require("node:assert"),{forgivingBase64:kR,collectASequenceOfCodePoints:Dc,collectASequenceOfCodePointsFast:Ss,isomorphicDecode:LR,removeASCIIWhitespace:HR,removeChars:xR}=vA(),YR=new TextEncoder,Ns=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,GR=/[\u000A\u000D\u0009\u0020]/u,OR=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function VR(A){no(A.protocol==="data:");let e=vh(A,!0);e=e.slice(5);let t={position:0},r=Ss(",",e,t),s=r.length;if(r=HR(r,!0,!0),t.position>=e.length)return"failure";t.position++;let n=e.slice(s+1),o=Jh(n);if(/;(?:\u0020*)base64$/ui.test(r)){let a=LR(o);if(o=kR(a),o==="failure")return"failure";r=r.slice(0,-6),r=r.replace(/(\u0020+)$/u,""),r=r.slice(0,-1)}r.startsWith(";")&&(r="text/plain"+r);let i=mc(r);return i==="failure"&&(i=mc("text/plain;charset=US-ASCII")),{mimeType:i,body:o}}function vh(A,e=!1){if(!e)return A.href;let t=A.href,r=A.hash.length,s=r===0?t:t.substring(0,t.length-r);return!r&&t.endsWith("#")?s.slice(0,-1):s}function Jh(A){let e=YR.encode(A);return vR(e)}function Oh(A){return A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102}function Vh(A){return A>=48&&A<=57?A-48:(A&223)-55}function vR(A){let e=A.length,t=new Uint8Array(e),r=0,s=0;for(;s<e;){let n=A[s];n!==37?t[r++]=n:n===37&&!(Oh(A[s+1])&&Oh(A[s+2]))?t[r++]=37:(t[r++]=Vh(A[s+1])<<4|Vh(A[s+2]),s+=2),++s}return e===r?t:t.subarray(0,r)}function mc(A){A=so(A,!0,!0);let e={position:0},t=Ss("/",A,e);if(t.length===0||!Ns.test(t)||e.position>=A.length)return"failure";e.position++;let r=Ss(";",A,e);if(r=so(r,!1,!0),r.length===0||!Ns.test(r))return"failure";let s=t.toLowerCase(),n=r.toLowerCase(),o={type:s,subtype:n,parameters:new Map,essence:`${s}/${n}`};for(;e.position<A.length;){e.position++,Dc(c=>GR.test(c),A,e);let i=Dc(c=>c!==";"&&c!=="=",A,e);if(i=i.toLowerCase(),e.position<A.length){if(A[e.position]===";")continue;e.position++}if(e.position>=A.length)break;let a=null;if(A[e.position]==='"')a=Ph(A,e,!0),Ss(";",A,e);else if(a=Ss(";",A,e),a=so(a,!1,!0),a.length===0)continue;i.length!==0&&Ns.test(i)&&(a.length===0||OR.test(a))&&!o.parameters.has(i)&&o.parameters.set(i,a)}return o}function Ph(A,e,t=!1){let r=e.position,s="";for(no(A[e.position]==='"'),e.position++;s+=Dc(o=>o!=='"'&&o!=="\\",A,e),!(e.position>=A.length);){let n=A[e.position];if(e.position++,n==="\\"){if(e.position>=A.length){s+="\\";break}s+=A[e.position],e.position++}else{no(n==='"');break}}return t?s:A.slice(r,e.position)}function JR(A){no(A!=="failure");let{parameters:e,essence:t}=A,r=t;for(let[s,n]of e.entries())r+=";",r+=s,r+="=",Ns.test(n)||(n=n.replace(/[\\"]/ug,"\\$&"),n='"'+n,n+='"'),r+=n;return r}function PR(A){return A===13||A===10||A===9||A===32}function so(A,e=!0,t=!0){return xR(A,e,t,PR)}function qR(A){switch(A.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 A.subtype.endsWith("+json")?"application/json":A.subtype.endsWith("+xml")?"application/xml":""}qh.exports={dataURLProcessor:VR,URLSerializer:vh,stringPercentDecode:Jh,parseMIMEType:mc,collectAnHTTPQuotedString:Ph,serializeAMimeType:JR,removeHTTPWhitespace:so,minimizeSupportedMimeType:qR,HTTP_TOKEN_CODEPOINTS:Ns}});var JA=p((LV,Rc)=>{"use strict";var Wh={__proto__:null,"node:crypto":()=>require("node:crypto"),"node:sqlite":()=>require("node:sqlite"),"node:worker_threads":()=>require("node:worker_threads"),"node:zlib":()=>require("node:zlib")};function WR(A){try{return Wh[A](),!0}catch(e){if(e.code!=="ERR_UNKNOWN_BUILTIN_MODULE"&&e.code!=="ERR_NO_CRYPTO")throw e;return!1}}function _R(A,e){return typeof Wh[A]()[e]<"u"}var _h=["markAsUncloneable","zstd"],ZR={markAsUncloneable:["node:worker_threads","markAsUncloneable"],zstd:["node:zlib","createZstdDecompress"]},Zh=["crypto","sqlite"],jR=[...Zh,..._h];function XR(A){if(Zh.includes(A))return WR(`node:${A}`);if(_h.includes(A)){let[e,t]=ZR[A];return _R(e,t)}throw new TypeError(`unknown feature: ${A}`)}var wc=class{#e=new Map;clear(){this.#e.clear()}has(e){return this.#e.get(e)??this.#A(e)}set(e,t){if(jR.includes(e)===!1)throw new TypeError(`unknown feature: ${e}`);this.#e.set(e,t)}#A(e){let t=XR(e);return this.#e.set(e,t),t}},jh=new wc;Rc.exports.runtimeFeatures=jh;Rc.exports.default=jh});var pe=p((HV,Kh)=>{"use strict";var KR=require("node:assert"),{types:se,inspect:zR}=require("node:util"),{runtimeFeatures:$R}=JA(),Sc=1,Nc=2,oo=3,io=4,Fc=5,ao=6,bc=7,Ve=8,Xh=Function.call.bind(Function.prototype[Symbol.hasInstance]),I={converters:{},util:{},errors:{},is:{}};I.errors.exception=function(A){return new TypeError(`${A.header}: ${A.message}`)};I.errors.conversionFailed=function(A){let e=A.types.length===1?"":" one of",t=`${A.argument} could not be converted to${e}: ${A.types.join(", ")}.`;return I.errors.exception({header:A.prefix,message:t})};I.errors.invalidArgument=function(A){return I.errors.exception({header:A.prefix,message:`"${A.value}" is an invalid ${A.type}.`})};I.brandCheck=function(A,e){if(!Xh(e,A)){let t=new TypeError("Illegal invocation");throw t.code="ERR_INVALID_THIS",t}};I.brandCheckMultiple=function(A){let e=A.map(t=>I.util.MakeTypeAssertion(t));return t=>{if(e.every(r=>!r(t))){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}}};I.argumentLengthCheck=function({length:A},e,t){if(A<e)throw I.errors.exception({message:`${e} argument${e!==1?"s":""} required, but${A?" only":""} ${A} found.`,header:t})};I.illegalConstructor=function(){throw I.errors.exception({header:"TypeError",message:"Illegal constructor"})};I.util.MakeTypeAssertion=function(A){return e=>Xh(A,e)};I.util.Type=function(A){switch(typeof A){case"undefined":return Sc;case"boolean":return Nc;case"string":return oo;case"symbol":return io;case"number":return Fc;case"bigint":return ao;case"function":case"object":return A===null?bc:Ve}};I.util.Types={UNDEFINED:Sc,BOOLEAN:Nc,STRING:oo,SYMBOL:io,NUMBER:Fc,BIGINT:ao,NULL:bc,OBJECT:Ve};I.util.TypeValueToString=function(A){switch(I.util.Type(A)){case Sc:return"Undefined";case Nc:return"Boolean";case oo:return"String";case io:return"Symbol";case Fc:return"Number";case ao:return"BigInt";case bc:return"Null";case Ve:return"Object"}};I.util.markAsUncloneable=$R.has("markAsUncloneable")?require("node:worker_threads").markAsUncloneable:()=>{};I.util.ConvertToInt=function(A,e,t,r){let s,n;e===64?(s=Math.pow(2,53)-1,t==="unsigned"?n=0:n=Math.pow(-2,53)+1):t==="unsigned"?(n=0,s=Math.pow(2,e)-1):(n=Math.pow(-2,e)-1,s=Math.pow(2,e-1)-1);let o=Number(A);if(o===0&&(o=0),I.util.HasFlag(r,I.attributes.EnforceRange)){if(Number.isNaN(o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY)throw I.errors.exception({header:"Integer conversion",message:`Could not convert ${I.util.Stringify(A)} to an integer.`});if(o=I.util.IntegerPart(o),o<n||o>s)throw I.errors.exception({header:"Integer conversion",message:`Value must be between ${n}-${s}, got ${o}.`});return o}return!Number.isNaN(o)&&I.util.HasFlag(r,I.attributes.Clamp)?(o=Math.min(Math.max(o,n),s),Math.floor(o)%2===0?o=Math.floor(o):o=Math.ceil(o),o):Number.isNaN(o)||o===0&&Object.is(0,o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY?0:(o=I.util.IntegerPart(o),o=o%Math.pow(2,e),t==="signed"&&o>=Math.pow(2,e)-1?o-Math.pow(2,e):o)};I.util.IntegerPart=function(A){let e=Math.floor(Math.abs(A));return A<0?-1*e:e};I.util.Stringify=function(A){switch(I.util.Type(A)){case io:return`Symbol(${A.description})`;case Ve:return zR(A);case oo:return`"${A}"`;case ao:return`${A}n`;default:return`${A}`}};I.util.IsResizableArrayBuffer=function(A){if(se.isArrayBuffer(A))return A.resizable;if(se.isSharedArrayBuffer(A))return A.growable;throw I.errors.exception({header:"IsResizableArrayBuffer",message:`"${I.util.Stringify(A)}" is not an array buffer.`})};I.util.HasFlag=function(A,e){return typeof A=="number"&&(A&e)===e};I.sequenceConverter=function(A){return(e,t,r,s)=>{if(I.util.Type(e)!==Ve)throw I.errors.exception({header:t,message:`${r} (${I.util.Stringify(e)}) is not iterable.`});let n=typeof s=="function"?s():e?.[Symbol.iterator]?.(),o=[],i=0;if(n===void 0||typeof n.next!="function")throw I.errors.exception({header:t,message:`${r} is not iterable.`});for(;;){let{done:a,value:c}=n.next();if(a)break;o.push(A(c,t,`${r}[${i++}]`))}return o}};I.recordConverter=function(A,e){return(t,r,s)=>{if(I.util.Type(t)!==Ve)throw I.errors.exception({header:r,message:`${s} ("${I.util.TypeValueToString(t)}") is not an Object.`});let n={};if(!se.isProxy(t)){let i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(let a of i){let c=I.util.Stringify(a),g=A(a,r,`Key ${c} in ${s}`),h=e(t[a],r,`${s}[${c}]`);n[g]=h}return n}let o=Reflect.ownKeys(t);for(let i of o)if(Reflect.getOwnPropertyDescriptor(t,i)?.enumerable){let c=A(i,r,s),g=e(t[i],r,s);n[c]=g}return n}};I.interfaceConverter=function(A,e){return(t,r,s)=>{if(!A(t))throw I.errors.exception({header:r,message:`Expected ${s} ("${I.util.Stringify(t)}") to be an instance of ${e}.`});return t}};I.dictionaryConverter=function(A){return A.sort((e,t)=>(e.key>t.key)-(e.key<t.key)),(e,t,r)=>{let s={};if(e!=null&&I.util.Type(e)!==Ve)throw I.errors.exception({header:t,message:`Expected ${e} to be one of: Null, Undefined, Object.`});for(let n of A){let{key:o,defaultValue:i,required:a,converter:c}=n;if(a===!0&&(e==null||!Object.hasOwn(e,o)))throw I.errors.exception({header:t,message:`Missing required key "${o}".`});let g=e?.[o],h=i!==void 0;if(h&&g===void 0&&(g=i()),a||h||g!==void 0){if(g=c(g,t,`${r}.${o}`),n.allowedValues&&!n.allowedValues.includes(g))throw I.errors.exception({header:t,message:`${g} is not an accepted type. Expected one of ${n.allowedValues.join(", ")}.`});s[o]=g}}return s}};I.nullableConverter=function(A){return(e,t,r)=>e===null?e:A(e,t,r)};I.is.USVString=function(A){return typeof A=="string"&&A.isWellFormed()};I.is.ReadableStream=I.util.MakeTypeAssertion(ReadableStream);I.is.Blob=I.util.MakeTypeAssertion(Blob);I.is.URLSearchParams=I.util.MakeTypeAssertion(URLSearchParams);I.is.File=I.util.MakeTypeAssertion(File);I.is.URL=I.util.MakeTypeAssertion(URL);I.is.AbortSignal=I.util.MakeTypeAssertion(AbortSignal);I.is.MessagePort=I.util.MakeTypeAssertion(MessagePort);I.is.BufferSource=function(A){return se.isArrayBuffer(A)||ArrayBuffer.isView(A)&&se.isArrayBuffer(A.buffer)};I.util.getCopyOfBytesHeldByBufferSource=function(A){let e=A,t=e,r=0,s=0;if(se.isTypedArray(e)||se.isDataView(e)?(t=e.buffer,r=e.byteOffset,s=e.byteLength):(KR(se.isAnyArrayBuffer(e)),s=e.byteLength),t.detached)return new Uint8Array(0);let n=new Uint8Array(s),o=new Uint8Array(t,r,s);return n.set(o),n};I.converters.DOMString=function(A,e,t,r){if(A===null&&I.util.HasFlag(r,I.attributes.LegacyNullToEmptyString))return"";if(typeof A=="symbol")throw I.errors.exception({header:e,message:`${t} is a symbol, which cannot be converted to a DOMString.`});return String(A)};I.converters.ByteString=function(A,e,t){if(typeof A=="symbol")throw I.errors.exception({header:e,message:`${t} is a symbol, which cannot be converted to a ByteString.`});let r=String(A);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};I.converters.USVString=function(A){return typeof A=="string"?A.toWellFormed():`${A}`.toWellFormed()};I.converters.boolean=function(A){return!!A};I.converters.any=function(A){return A};I.converters["long long"]=function(A,e,t){return I.util.ConvertToInt(A,64,"signed",0,e,t)};I.converters["unsigned long long"]=function(A,e,t){return I.util.ConvertToInt(A,64,"unsigned",0,e,t)};I.converters["unsigned long"]=function(A,e,t){return I.util.ConvertToInt(A,32,"unsigned",0,e,t)};I.converters["unsigned short"]=function(A,e,t,r){return I.util.ConvertToInt(A,16,"unsigned",r,e,t)};I.converters.ArrayBuffer=function(A,e,t,r){if(I.util.Type(A)!==Ve||!se.isArrayBuffer(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBuffer"]});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A))throw I.errors.exception({header:e,message:`${t} cannot be a resizable ArrayBuffer.`});return A};I.converters.SharedArrayBuffer=function(A,e,t,r){if(I.util.Type(A)!==Ve||!se.isSharedArrayBuffer(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["SharedArrayBuffer"]});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A))throw I.errors.exception({header:e,message:`${t} cannot be a resizable SharedArrayBuffer.`});return A};I.converters.TypedArray=function(A,e,t,r,s){if(I.util.Type(A)!==Ve||!se.isTypedArray(A)||A.constructor.name!==e.name)throw I.errors.conversionFailed({prefix:t,argument:`${r} ("${I.util.Stringify(A)}")`,types:[e.name]});if(!I.util.HasFlag(s,I.attributes.AllowShared)&&se.isSharedArrayBuffer(A.buffer))throw I.errors.exception({header:t,message:`${r} cannot be a view on a shared array buffer.`});if(!I.util.HasFlag(s,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A.buffer))throw I.errors.exception({header:t,message:`${r} cannot be a view on a resizable array buffer.`});return A};I.converters.DataView=function(A,e,t,r){if(I.util.Type(A)!==Ve||!se.isDataView(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["DataView"]});if(!I.util.HasFlag(r,I.attributes.AllowShared)&&se.isSharedArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a shared array buffer.`});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a resizable array buffer.`});return A};I.converters.ArrayBufferView=function(A,e,t,r){if(I.util.Type(A)!==Ve||!se.isArrayBufferView(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBufferView"]});if(!I.util.HasFlag(r,I.attributes.AllowShared)&&se.isSharedArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a shared array buffer.`});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a resizable array buffer.`});return A};I.converters.BufferSource=function(A,e,t,r){if(se.isArrayBuffer(A))return I.converters.ArrayBuffer(A,e,t,r);if(se.isArrayBufferView(A))return r&=~I.attributes.AllowShared,I.converters.ArrayBufferView(A,e,t,r);throw se.isSharedArrayBuffer(A)?I.errors.exception({header:e,message:`${t} cannot be a SharedArrayBuffer.`}):I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBuffer","ArrayBufferView"]})};I.converters.AllowSharedBufferSource=function(A,e,t,r){if(se.isArrayBuffer(A))return I.converters.ArrayBuffer(A,e,t,r);if(se.isSharedArrayBuffer(A))return I.converters.SharedArrayBuffer(A,e,t,r);if(se.isArrayBufferView(A))return r|=I.attributes.AllowShared,I.converters.ArrayBufferView(A,e,t,r);throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})};I.converters["sequence<ByteString>"]=I.sequenceConverter(I.converters.ByteString);I.converters["sequence<sequence<ByteString>>"]=I.sequenceConverter(I.converters["sequence<ByteString>"]);I.converters["record<ByteString, ByteString>"]=I.recordConverter(I.converters.ByteString,I.converters.ByteString);I.converters.Blob=I.interfaceConverter(I.is.Blob,"Blob");I.converters.AbortSignal=I.interfaceConverter(I.is.AbortSignal,"AbortSignal");I.converters.EventHandlerNonNull=function(A){return I.util.Type(A)!==Ve?null:typeof A=="function"?A:()=>{}};I.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16};Kh.exports={webidl:I}});var ve=p((xV,lI)=>{"use strict";var{Transform:eS}=require("node:stream"),zh=require("node:zlib"),{redirectStatusSet:AS,referrerPolicyTokens:tS,badPortsSet:rS}=Rs(),{getGlobalOrigin:$h}=yc(),{collectAnHTTPQuotedString:sS,parseMIMEType:nS}=tA(),{performance:oS}=require("node:perf_hooks"),{ReadableStreamFrom:iS,isValidHTTPToken:eI,normalizedMethodRecordsBase:aS}=G(),bs=require("node:assert"),{isUint8Array:cS}=require("node:util/types"),{webidl:ct}=pe(),{isomorphicEncode:Uc,collectASequenceOfCodePoints:vt,removeChars:gS}=vA();function AI(A){let e=A.urlList,t=e.length;return t===0?null:e[t-1].toString()}function lS(A,e){if(!AS.has(A.status))return null;let t=A.headersList.get("location",!0);return t!==null&&rI(t)&&(tI(t)||(t=ES(t)),t=new URL(t,AI(A))),t&&!t.hash&&(t.hash=e),t}function tI(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t>126||t<32)return!1}return!0}function ES(A){return Buffer.from(A,"binary").toString("utf8")}function Pt(A){return A.urlList[A.urlList.length-1]}function QS(A){let e=Pt(A);return cI(e)&&rS.has(e.port)?"blocked":"allowed"}function uS(A){return A instanceof Error||A?.constructor?.name==="Error"||A?.constructor?.name==="DOMException"}function hS(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(!(t===9||t>=32&&t<=126||t>=128&&t<=255))return!1}return!0}var IS=eI;function rI(A){return(A[0]===" "||A[0]===" "||A[A.length-1]===" "||A[A.length-1]===" "||A.includes(`
|
|
2
|
-
`)||A.includes("\r")||A.includes("\0"))===!1}function BS(A){let e=(A.headersList.get("referrer-policy",!0)??"").split(","),t="";if(e.length)for(let r=e.length;r!==0;r--){let s=e[r-1].trim();if(tS.has(s)){t=s;break}}return t}function CS(A,e){let t=BS(e);t!==""&&(A.referrerPolicy=t)}function dS(){return"allowed"}function fS(){return"success"}function pS(){return"success"}function yS(A){let e=null;e=A.mode,A.headersList.set("sec-fetch-mode",e,!0)}function DS(A){let e=A.origin;if(!(e==="client"||e===void 0)){if(A.responseTainting==="cors"||A.mode==="websocket")A.headersList.append("origin",e,!0);else if(A.method!=="GET"&&A.method!=="HEAD"){switch(A.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":A.origin&&Tc(A.origin)&&!Tc(Pt(A))&&(e=null);break;case"same-origin":Fs(A,Pt(A))||(e=null);break;default:}A.headersList.append("origin",e,!0)}}}function Fr(A,e){return A}function mS(A,e,t){return!A?.startTime||A.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:A?.ALPNNegotiatedProtocol}:{domainLookupStartTime:Fr(A.domainLookupStartTime,t),domainLookupEndTime:Fr(A.domainLookupEndTime,t),connectionStartTime:Fr(A.connectionStartTime,t),connectionEndTime:Fr(A.connectionEndTime,t),secureConnectionStartTime:Fr(A.secureConnectionStartTime,t),ALPNNegotiatedProtocol:A.ALPNNegotiatedProtocol}}function wS(A){return Fr(oS.now(),A)}function RS(A){return{startTime:A.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:A.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function sI(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function SS(A){return{referrerPolicy:A.referrerPolicy}}function NS(A){let e=A.referrerPolicy;bs(e);let t=null;if(A.referrer==="client"){let n=$h();if(!n||n.origin==="null")return"no-referrer";t=new URL(n)}else ct.is.URL(A.referrer)&&(t=A.referrer);let r=Mc(t),s=Mc(t,!0);switch(r.toString().length>4096&&(r=s),e){case"no-referrer":return"no-referrer";case"origin":return s??Mc(t,!0);case"unsafe-url":return r;case"strict-origin":{let n=Pt(A);return Jt(r)&&!Jt(n)?"no-referrer":s}case"strict-origin-when-cross-origin":{let n=Pt(A);return Fs(r,n)?r:Jt(r)&&!Jt(n)?"no-referrer":s}case"same-origin":return Fs(A,r)?r:"no-referrer";case"origin-when-cross-origin":return Fs(A,r)?r:s;case"no-referrer-when-downgrade":{let n=Pt(A);return Jt(r)&&!Jt(n)?"no-referrer":r}}}function Mc(A,e=!1){return bs(ct.is.URL(A)),A=new URL(A),aI(A)?"no-referrer":(A.username="",A.password="",A.hash="",e===!0&&(A.pathname="",A.search=""),A)}var FS=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),bS=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function nI(A){return A.includes(":")?(A[0]==="["&&A[A.length-1]==="]"&&(A=A.slice(1,-1)),bS(A)):FS(A)}function US(A){return A==null||A==="null"?!1:(A=new URL(A),!!(A.protocol==="https:"||A.protocol==="wss:"||nI(A.hostname)||A.hostname==="localhost"||A.hostname==="localhost."||A.hostname.endsWith(".localhost")||A.hostname.endsWith(".localhost.")||A.protocol==="file:"))}function Jt(A){return ct.is.URL(A)?A.href==="about:blank"||A.href==="about:srcdoc"||A.protocol==="data:"||A.protocol==="blob:"?!0:US(A.origin):!1}function MS(A){}function Fs(A,e){return A.origin===e.origin&&A.origin==="null"||A.protocol===e.protocol&&A.hostname===e.hostname&&A.port===e.port}function TS(A){return A.controller.state==="aborted"}function kS(A){return A.controller.state==="aborted"||A.controller.state==="terminated"}function LS(A){return aS[A.toLowerCase()]??A}var HS=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function oI(A,e,t=0,r=1){class s{#e;#A;#t;constructor(o,i){this.#e=o,this.#A=i,this.#t=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${A} Iterator.`);let o=this.#t,i=e(this.#e),a=i.length;if(o>=a)return{value:void 0,done:!0};let{[t]:c,[r]:g}=i[o];this.#t=o+1;let h;switch(this.#A){case"key":h=c;break;case"value":h=g;break;case"key+value":h=[c,g];break}return{value:h,done:!1}}}return delete s.prototype.constructor,Object.setPrototypeOf(s.prototype,HS),Object.defineProperties(s.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${A} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(n,o){return new s(n,o)}}function xS(A,e,t,r=0,s=1){let n=oI(A,t,r,s),o={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ct.brandCheck(this,e),n(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ct.brandCheck(this,e),n(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return ct.brandCheck(this,e),n(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(a,c=globalThis){if(ct.brandCheck(this,e),ct.argumentLengthCheck(arguments,1,`${A}.forEach`),typeof a!="function")throw new TypeError(`Failed to execute 'forEach' on '${A}': parameter 1 is not of type 'Function'.`);for(let{0:g,1:h}of n(this,"key+value"))a.call(c,h,g,this)}}};return Object.defineProperties(e.prototype,{...o,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:o.entries.value}})}function YS(A,e,t){let r=e,s=t;try{let n=A.stream.getReader();iI(n,r,s)}catch(n){s(n)}}function GS(A){try{A.close(),A.byobRequest?.respond(0)}catch(e){if(!e.message.includes("Controller is already closed")&&!e.message.includes("ReadableStream is already closed"))throw e}}async function iI(A,e,t){try{let r=[],s=0;do{let{done:n,value:o}=await A.read();if(n){e(Buffer.concat(r,s));return}if(!cS(o)){t(new TypeError("Received non-Uint8Array chunk"));return}r.push(o),s+=o.length}while(!0)}catch(r){t(r)}}function aI(A){bs("protocol"in A);let e=A.protocol;return e==="about:"||e==="blob:"||e==="data:"}function Tc(A){return typeof A=="string"&&A[5]===":"&&A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p"&&A[4]==="s"||A.protocol==="https:"}function cI(A){bs("protocol"in A);let e=A.protocol;return e==="http:"||e==="https:"}function OS(A,e){let t=A;if(!t.startsWith("bytes"))return"failure";let r={position:5};if(e&&vt(a=>a===" "||a===" ",t,r),t.charCodeAt(r.position)!==61)return"failure";r.position++,e&&vt(a=>a===" "||a===" ",t,r);let s=vt(a=>{let c=a.charCodeAt(0);return c>=48&&c<=57},t,r),n=s.length?Number(s):null;if(e&&vt(a=>a===" "||a===" ",t,r),t.charCodeAt(r.position)!==45)return"failure";r.position++,e&&vt(a=>a===" "||a===" ",t,r);let o=vt(a=>{let c=a.charCodeAt(0);return c>=48&&c<=57},t,r),i=o.length?Number(o):null;return r.position<t.length||i===null&&n===null||n>i?"failure":{rangeStartValue:n,rangeEndValue:i}}function VS(A,e,t){let r="bytes ";return r+=Uc(`${A}`),r+="-",r+=Uc(`${e}`),r+="/",r+=Uc(`${t}`),r}var kc=class extends eS{#e;constructor(e){super(),this.#e=e}_transform(e,t,r){if(!this._inflateStream){if(e.length===0){r();return}this._inflateStream=(e[0]&15)===8?zh.createInflate(this.#e):zh.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,t,r)}_final(e){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),e()}};function vS(A){return new kc(A)}function JS(A){let e=null,t=null,r=null,s=gI("content-type",A);if(s===null)return"failure";for(let n of s){let o=nS(n);o==="failure"||o.essence==="*/*"||(r=o,r.essence!==t?(e=null,r.parameters.has("charset")&&(e=r.parameters.get("charset")),t=r.essence):!r.parameters.has("charset")&&e!==null&&r.parameters.set("charset",e))}return r??"failure"}function PS(A){let e=A,t={position:0},r=[],s="";for(;t.position<e.length;){if(s+=vt(n=>n!=='"'&&n!==",",e,t),t.position<e.length)if(e.charCodeAt(t.position)===34){if(s+=sS(e,t),t.position<e.length)continue}else bs(e.charCodeAt(t.position)===44),t.position++;s=gS(s,!0,!0,n=>n===9||n===32),r.push(s),s=""}return r}function gI(A,e){let t=e.get(A,!0);return t===null?null:PS(t)}function qS(A){return!1}function WS(A){return!!(A.username||A.password)}function _S(A){return!0}var Lc=class{get baseUrl(){return $h()}get origin(){return this.baseUrl?.origin}policyContainer=sI()},Hc=class{settingsObject=new Lc},ZS=new Hc;lI.exports={isAborted:TS,isCancelled:kS,isValidEncodedURL:tI,ReadableStreamFrom:iS,tryUpgradeRequestToAPotentiallyTrustworthyURL:MS,clampAndCoarsenConnectionTimingInfo:mS,coarsenedSharedCurrentTime:wS,determineRequestsReferrer:NS,makePolicyContainer:sI,clonePolicyContainer:SS,appendFetchMetadata:yS,appendRequestOriginHeader:DS,TAOCheck:pS,corsCheck:fS,crossOriginResourcePolicyCheck:dS,createOpaqueTimingInfo:RS,setRequestReferrerPolicyOnRedirect:CS,isValidHTTPToken:eI,requestBadPort:QS,requestCurrentURL:Pt,responseURL:AI,responseLocationURL:lS,isURLPotentiallyTrustworthy:Jt,isValidReasonPhrase:hS,sameOrigin:Fs,normalizeMethod:LS,iteratorMixin:xS,createIterator:oI,isValidHeaderName:IS,isValidHeaderValue:rI,isErrorLike:uS,fullyReadBody:YS,readableStreamClose:GS,urlIsLocal:aI,urlHasHttpsScheme:Tc,urlIsHttpHttpsScheme:cI,readAllBytes:iI,simpleRangeHeaderValue:OS,buildContentRange:VS,createInflate:vS,extractMimeType:JS,getDecodeSplit:gI,environmentSettingsObject:ZS,isOriginIPPotentiallyTrustworthy:nI,hasAuthenticationEntry:qS,includesCredentials:WS,isTraversableNavigable:_S}});var co=p((YV,QI)=>{"use strict";var{iteratorMixin:jS}=ve(),{kEnumerableProperty:br}=G(),{webidl:q}=pe(),EI=require("node:util"),PA=class A{#e=[];constructor(e=void 0){if(q.util.markAsUncloneable(this),e!==void 0)throw q.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(e,t,r=void 0){q.brandCheck(this,A);let s="FormData.append";q.argumentLengthCheck(arguments,2,s),e=q.converters.USVString(e),arguments.length===3||q.is.Blob(t)?(t=q.converters.Blob(t,s,"value"),r!==void 0&&(r=q.converters.USVString(r))):t=q.converters.USVString(t);let n=xc(e,t,r);this.#e.push(n)}delete(e){q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,"FormData.delete"),e=q.converters.USVString(e),this.#e=this.#e.filter(r=>r.name!==e)}get(e){q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,"FormData.get"),e=q.converters.USVString(e);let r=this.#e.findIndex(s=>s.name===e);return r===-1?null:this.#e[r].value}getAll(e){return q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,"FormData.getAll"),e=q.converters.USVString(e),this.#e.filter(r=>r.name===e).map(r=>r.value)}has(e){return q.brandCheck(this,A),q.argumentLengthCheck(arguments,1,"FormData.has"),e=q.converters.USVString(e),this.#e.findIndex(r=>r.name===e)!==-1}set(e,t,r=void 0){q.brandCheck(this,A);let s="FormData.set";q.argumentLengthCheck(arguments,2,s),e=q.converters.USVString(e),arguments.length===3||q.is.Blob(t)?(t=q.converters.Blob(t,s,"value"),r!==void 0&&(r=q.converters.USVString(r))):t=q.converters.USVString(t);let n=xc(e,t,r),o=this.#e.findIndex(i=>i.name===e);o!==-1?this.#e=[...this.#e.slice(0,o),n,...this.#e.slice(o+1).filter(i=>i.name!==e)]:this.#e.push(n)}[EI.inspect.custom](e,t){let r=this.#e.reduce((n,o)=>(n[o.name]?Array.isArray(n[o.name])?n[o.name].push(o.value):n[o.name]=[n[o.name],o.value]:n[o.name]=o.value,n),{__proto__:null});t.depth??=e,t.colors??=!0;let s=EI.formatWithOptions(t,r);return`FormData ${s.slice(s.indexOf("]")+2)}`}static getFormDataState(e){return e.#e}static setFormDataState(e,t){e.#e=t}},{getFormDataState:XS,setFormDataState:KS}=PA;Reflect.deleteProperty(PA,"getFormDataState");Reflect.deleteProperty(PA,"setFormDataState");jS("FormData",PA,XS,"name","value");Object.defineProperties(PA.prototype,{append:br,delete:br,get:br,getAll:br,has:br,set:br,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function xc(A,e,t){if(typeof e!="string"){if(q.is.File(e)||(e=new File([e],"blob",{type:e.type})),t!==void 0){let r={type:e.type,lastModified:e.lastModified};e=new File([e],t,r)}}return{name:A,value:e}}q.is.FormData=q.util.MakeTypeAssertion(PA);QI.exports={FormData:PA,makeEntry:xc,setFormDataState:KS}});var II=p((GV,hI)=>{"use strict";var{bufferToLowerCasedHeaderName:zS}=G(),{HTTP_TOKEN_CODEPOINTS:$S}=tA(),{makeEntry:eN}=co(),{webidl:Yc}=pe(),Gc=require("node:assert"),{isomorphicDecode:uI}=vA(),AN=Buffer.from("--"),Oc=new TextDecoder,tN=new TextDecoder("utf-8",{ignoreBOM:!0});function rN(A){for(let e=0;e<A.length;++e)if((A.charCodeAt(e)&-128)!==0)return!1;return!0}function sN(A){let e=A.length;if(e<27||e>70)return!1;for(let t=0;t<e;++t){let r=A.charCodeAt(t);if(!(r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r===39||r===45||r===95))return!1}return!0}function nN(A,e){Gc(e!=="failure"&&e.essence==="multipart/form-data");let t=e.parameters.get("boundary");if(t===void 0)throw Ue("missing boundary in content-type header");let r=Buffer.from(`--${t}`,"utf8"),s=[],n={position:0},o=A.indexOf(r);if(o===-1)throw Ue("no boundary found in multipart body");for(n.position=o;;){if(A.subarray(n.position,n.position+r.length).equals(r))n.position+=r.length;else throw Ue("expected a value starting with -- and the boundary");if(aN(A,AN,n))return s;if(A[n.position]!==13||A[n.position+1]!==10)throw Ue("expected CRLF");n.position+=2;let i=iN(A,n),{name:a,filename:c,contentType:g,encoding:h}=i;n.position+=2;let Q;{let E=A.indexOf(r.subarray(2),n.position);if(E===-1)throw Ue("expected boundary after body");Q=A.subarray(n.position,E-4),n.position+=Q.length,h==="base64"&&(Q=Buffer.from(Q.toString(),"base64"))}if(A[n.position]!==13||A[n.position+1]!==10)throw Ue("expected CRLF");n.position+=2;let l;c!==null?(g??="text/plain",rN(g)||(g=""),l=new File([Q],c,{type:g})):l=tN.decode(Buffer.from(Q)),Gc(Yc.is.USVString(a)),Gc(typeof l=="string"&&Yc.is.USVString(l)||Yc.is.File(l)),s.push(eN(a,l,c))}}function oN(A,e){A[e.position]===59&&e.position++,rA(o=>o===32||o===9,A,e);let t=rA(o=>vc(o)&&o!==61&&o!==42,A,e);if(t.length===0)return null;let r=t.toString("ascii").toLowerCase(),s=A[e.position]===42;if(s&&e.position++,A[e.position]!==61)return null;e.position++,rA(o=>o===32||o===9,A,e);let n;if(s){let o=rA(i=>i!==32&&i!==13&&i!==10&&i!==59,A,e);if(o[0]!==117&&o[0]!==85||o[1]!==116&&o[1]!==84||o[2]!==102&&o[2]!==70||o[3]!==45||o[4]!==56)throw Ue("unknown encoding, expected utf-8''");n=decodeURIComponent(Oc.decode(o.subarray(7)))}else if(A[e.position]===34){e.position++;let o=rA(i=>i!==10&&i!==13&&i!==34,A,e);if(A[e.position]!==34)throw Ue("Closing quote not found");e.position++,n=Oc.decode(o).replace(/%0A/ig,`
|
|
3
|
-
`).replace(/%0D/ig,"\r").replace(/%22/g,'"')}else{let o=rA(i=>
|
|
4
|
-
Content-Disposition: form-data`;let
|
|
5
|
-
`),l=[],E=new Uint8Array([13,10]);o=0;let B=!1;for(let[C,f]of A)if(typeof f=="string"){let
|
|
1
|
+
"use strict";var Tw=Object.create;var pu=Object.defineProperty;var kw=Object.getOwnPropertyDescriptor;var Lw=Object.getOwnPropertyNames;var xw=Object.getPrototypeOf,Hw=Object.prototype.hasOwnProperty;var p=(A,e)=>()=>(e||A((e={exports:{}}).exports,e),e.exports);var Yw=(A,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Lw(e))!Hw.call(A,s)&&s!==t&&pu(A,s,{get:()=>e[s],enumerable:!(r=kw(e,s))||r.enumerable});return A};var S=(A,e,t)=>(t=A!=null?Tw(xw(A)):{},Yw(e||!A||!A.__esModule?pu(t,"default",{value:A,enumerable:!0}):t,A));var j=p((wv,nQ)=>{"use strict";nQ.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kHTTP2InitialWindowSize:Symbol("http2 initial window size"),kHTTP2ConnectionWindowSize:Symbol("http2 connection window size"),kEnableConnectProtocol:Symbol("http2session connect protocol"),kRemoteSettings:Symbol("http2session remote settings"),kHTTP2Stream:Symbol("http2session client stream"),kPingInterval:Symbol("ping interval"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent"),kSocks5ProxyAgent:Symbol("socks5 proxy agent")}});var ba=p((Rv,cQ)=>{"use strict";var Nr=0,ma=1e3,wa=(ma>>1)-1,it,Ra=Symbol("kFastTimer"),vA=[],Sa=-2,Na=-1,iQ=0,oQ=1;function Fa(){Nr+=wa;let A=0,e=vA.length;for(;A<e;){let t=vA[A];t._state===iQ?(t._idleStart=Nr-wa,t._state=oQ):t._state===oQ&&Nr>=t._idleStart+t._idleTimeout&&(t._state=Na,t._idleStart=-1,t._onTimeout(t._timerArg)),t._state===Na?(t._state=Sa,--e!==0&&(vA[A]=vA[e])):++A}vA.length=e,vA.length!==0&&aQ()}function aQ(){it?.refresh?it.refresh():(clearTimeout(it),it=setTimeout(Fa,wa),it?.unref())}var Wn=class{[Ra]=!0;_state=Sa;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(e,t,r){this._onTimeout=e,this._idleTimeout=t,this._timerArg=r,this.refresh()}refresh(){this._state===Sa&&vA.push(this),(!it||vA.length===1)&&aQ(),this._state=iQ}clear(){this._state=Na,this._idleStart=-1}};cQ.exports={setTimeout(A,e,t){return e<=ma?setTimeout(A,e,t):new Wn(A,e,t)},clearTimeout(A){A[Ra]?A.clear():clearTimeout(A)},setFastTimeout(A,e,t){return new Wn(A,e,t)},clearFastTimeout(A){A.clear()},now(){return Nr},tick(A=0){Nr+=A-ma+1,Fa(),Fa()},reset(){Nr=0,vA.length=0,clearTimeout(it),it=null},kFastTimer:Ra}});var Y=p((Sv,kQ)=>{"use strict";var gQ=Symbol.for("undici.error.UND_ERR"),Ae=class extends Error{constructor(e,t){super(e,t),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[gQ]===!0}get[gQ](){return!0}},lQ=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),Ua=class extends Ae{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[lQ]===!0}get[lQ](){return!0}},EQ=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),Ma=class extends Ae{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[EQ]===!0}get[EQ](){return!0}},uQ=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),Ta=class extends Ae{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[uQ]===!0}get[uQ](){return!0}},QQ=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),ka=class extends Ae{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[QQ]===!0}get[QQ](){return!0}},hQ=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),La=class extends Ae{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[hQ]===!0}get[hQ](){return!0}},IQ=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),xa=class extends Ae{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[IQ]===!0}get[IQ](){return!0}},BQ=Symbol.for("undici.error.UND_ERR_ABORT"),_n=class extends Ae{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[BQ]===!0}get[BQ](){return!0}},CQ=Symbol.for("undici.error.UND_ERR_ABORTED"),Ha=class extends _n{constructor(e){super(e),this.name="AbortError",this.message=e||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](e){return e&&e[CQ]===!0}get[CQ](){return!0}},dQ=Symbol.for("undici.error.UND_ERR_INFO"),Ya=class extends Ae{constructor(e){super(e),this.name="InformationalError",this.message=e||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](e){return e&&e[dQ]===!0}get[dQ](){return!0}},fQ=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),Ga=class extends Ae{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[fQ]===!0}get[fQ](){return!0}},pQ=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),Oa=class extends Ae{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[pQ]===!0}get[pQ](){return!0}},yQ=Symbol.for("undici.error.UND_ERR_DESTROYED"),va=class extends Ae{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[yQ]===!0}get[yQ](){return!0}},DQ=Symbol.for("undici.error.UND_ERR_CLOSED"),Va=class extends Ae{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[DQ]===!0}get[DQ](){return!0}},mQ=Symbol.for("undici.error.UND_ERR_SOCKET"),Ja=class extends Ae{constructor(e,t){super(e),this.name="SocketError",this.message=e||"Socket error",this.code="UND_ERR_SOCKET",this.socket=t}static[Symbol.hasInstance](e){return e&&e[mQ]===!0}get[mQ](){return!0}},wQ=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),Pa=class extends Ae{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[wQ]===!0}get[wQ](){return!0}},RQ=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),qa=class extends Ae{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[RQ]===!0}get[RQ](){return!0}},SQ=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),Wa=class extends Error{constructor(e,t,r){super(e),this.name="HTTPParserError",this.code=t?`HPE_${t}`:void 0,this.data=r?r.toString():void 0}static[Symbol.hasInstance](e){return e&&e[SQ]===!0}get[SQ](){return!0}},NQ=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),_a=class extends Ae{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[NQ]===!0}get[NQ](){return!0}},FQ=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),Za=class extends Ae{constructor(e,t,{headers:r,data:s}){super(e),this.name="RequestRetryError",this.message=e||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=t,this.data=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[FQ]===!0}get[FQ](){return!0}},bQ=Symbol.for("undici.error.UND_ERR_RESPONSE"),ja=class extends Ae{constructor(e,t,{headers:r,body:s}){super(e),this.name="ResponseError",this.message=e||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=t,this.body=s,this.headers=r}static[Symbol.hasInstance](e){return e&&e[bQ]===!0}get[bQ](){return!0}},UQ=Symbol.for("undici.error.UND_ERR_PRX_TLS"),Xa=class extends Ae{constructor(e,t,r={}){super(t,{cause:e,...r}),this.name="SecureProxyConnectionError",this.message=t||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=e}static[Symbol.hasInstance](e){return e&&e[UQ]===!0}get[UQ](){return!0}},MQ=Symbol.for("undici.error.UND_ERR_MAX_ORIGINS_REACHED"),Ka=class extends Ae{constructor(e){super(e),this.name="MaxOriginsReachedError",this.message=e||"Maximum allowed origins reached",this.code="UND_ERR_MAX_ORIGINS_REACHED"}static[Symbol.hasInstance](e){return e&&e[MQ]===!0}get[MQ](){return!0}},za=class extends Ae{constructor(e,t){super(e),this.name="Socks5ProxyError",this.message=e||"SOCKS5 proxy error",this.code=t||"UND_ERR_SOCKS5"}},TQ=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),$a=class extends Ae{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[TQ]===!0}get[TQ](){return!0}};kQ.exports={AbortError:_n,HTTPParserError:Wa,UndiciError:Ae,HeadersTimeoutError:Ma,HeadersOverflowError:Ta,BodyTimeoutError:ka,RequestContentLengthMismatchError:Ga,ConnectTimeoutError:Ua,InvalidArgumentError:La,InvalidReturnValueError:xa,RequestAbortedError:Ha,ClientDestroyedError:va,ClientClosedError:Va,InformationalError:Ya,SocketError:Ja,NotSupportedError:Pa,ResponseContentLengthMismatchError:Oa,BalancedPoolMissingUpstreamError:qa,ResponseExceededMaxSizeError:_a,RequestRetryError:Za,ResponseError:ja,SecureProxyConnectionError:Xa,MaxOriginsReachedError:Ka,Socks5ProxyError:za,MessageSizeExceededError:$a}});var jn=p((Nv,xQ)=>{"use strict";var ec=["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"],Zn={};Object.setPrototypeOf(Zn,null);var LQ={};Object.setPrototypeOf(LQ,null);function Pw(A){let e=LQ[A];return e===void 0&&(e=Buffer.from(A)),e}for(let A=0;A<ec.length;++A){let e=ec[A],t=e.toLowerCase();Zn[e]=Zn[t]=t}xQ.exports={wellknownHeaderNames:ec,headerNameLowerCasedRecord:Zn,getHeaderNameAsBuffer:Pw}});var OQ=p((Fv,GQ)=>{"use strict";var{wellknownHeaderNames:HQ,headerNameLowerCasedRecord:qw}=jn(),Ac=class A{value=null;left=null;middle=null;right=null;code;constructor(e,t,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 A(e,t,r):this.value=t}add(e,t){let r=e.length;if(r===0)throw new TypeError("Unreachable");let s=0,n=this;for(;;){let o=e.charCodeAt(s);if(o>127)throw new TypeError("key must be ascii string");if(n.code===o)if(r===++s){n.value=t;break}else if(n.middle!==null)n=n.middle;else{n.middle=new A(e,t,s);break}else if(n.code<o)if(n.left!==null)n=n.left;else{n.left=new A(e,t,s);break}else if(n.right!==null)n=n.right;else{n.right=new A(e,t,s);break}}}search(e){let t=e.length,r=0,s=this;for(;s!==null&&r<t;){let n=e[r];for(n<=90&&n>=65&&(n|=32);s!==null;){if(n===s.code){if(t===++r)return s;s=s.middle;break}s=s.code<n?s.left:s.right}}return null}},Xn=class{node=null;insert(e,t){this.node===null?this.node=new Ac(e,t,0):this.node.add(e,t)}lookup(e){return this.node?.search(e)?.value??null}},YQ=new Xn;for(let A=0;A<HQ.length;++A){let e=qw[HQ[A]];YQ.insert(e,e)}GQ.exports={TernarySearchTree:Xn,tree:YQ}});var G=p((bv,ih)=>{"use strict";var ms=require("node:assert"),{kDestroyed:PQ,kBodyUsed:Fr,kListeners:zn,kBody:vQ}=j(),{IncomingMessage:Ww}=require("node:http"),qQ=require("node:stream"),_w=require("node:net"),{stringify:Zw}=require("node:querystring"),{EventEmitter:jw}=require("node:events"),Kn=ba(),{InvalidArgumentError:Be,ConnectTimeoutError:Xw}=Y(),{headerNameLowerCasedRecord:Kw}=jn(),{tree:WQ}=OQ(),[zw,$w]=process.versions.node.split(".",2).map(A=>Number(A)),eo=class{constructor(e){this[vQ]=e,this[Fr]=!1}async*[Symbol.asyncIterator](){ms(!this[Fr],"disturbed"),this[Fr]=!0,yield*this[vQ]}};function VQ(){}function e0(A){return Ao(A)?(zQ(A)===0&&A.on("data",function(){ms(!1)}),typeof A.readableDidRead!="boolean"&&(A[Fr]=!1,jw.prototype.on.call(A,"data",function(){this[Fr]=!0})),A):A&&typeof A.pipeTo=="function"?new eo(A):A&&rh(A)?A:A&&typeof A!="string"&&!ArrayBuffer.isView(A)&&KQ(A)?new eo(A):A}function Ao(A){return A&&typeof A=="object"&&typeof A.pipe=="function"&&typeof A.on=="function"}function _Q(A){if(A===null)return!1;if(A instanceof Blob)return!0;if(typeof A!="object")return!1;{let e=A[Symbol.toStringTag];return(e==="Blob"||e==="File")&&("stream"in A&&typeof A.stream=="function"||"arrayBuffer"in A&&typeof A.arrayBuffer=="function")}}function ZQ(A){return A.includes("?")||A.includes("#")}function A0(A,e){if(ZQ(A))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let t=Zw(e);return t&&(A+="?"+t),A}function jQ(A){let e=parseInt(A,10);return e===Number(A)&&e>=0&&e<=65535}function $n(A){return A!=null&&A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p"&&(A[4]===":"||A[4]==="s"&&A[5]===":")}function XQ(A){if(typeof A=="string"){if(A=new URL(A),!$n(A.origin||A.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");return A}if(!A||typeof A!="object")throw new Be("Invalid URL: The URL argument must be a non-null object.");if(!(A instanceof URL)){if(A.port!=null&&A.port!==""&&jQ(A.port)===!1)throw new Be("Invalid URL: port must be a valid integer or a string representation of an integer.");if(A.path!=null&&typeof A.path!="string")throw new Be("Invalid URL path: the path must be a string or null/undefined.");if(A.pathname!=null&&typeof A.pathname!="string")throw new Be("Invalid URL pathname: the pathname must be a string or null/undefined.");if(A.hostname!=null&&typeof A.hostname!="string")throw new Be("Invalid URL hostname: the hostname must be a string or null/undefined.");if(A.origin!=null&&typeof A.origin!="string")throw new Be("Invalid URL origin: the origin must be a string or null/undefined.");if(!$n(A.origin||A.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");let e=A.port!=null?A.port:A.protocol==="https:"?443:80,t=A.origin!=null?A.origin:`${A.protocol||""}//${A.hostname||""}:${e}`,r=A.path!=null?A.path:`${A.pathname||""}${A.search||""}`;return t[t.length-1]==="/"&&(t=t.slice(0,t.length-1)),r&&r[0]!=="/"&&(r=`/${r}`),new URL(`${t}${r}`)}if(!$n(A.origin||A.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");return A}function t0(A){if(A=XQ(A),A.pathname!=="/"||A.search||A.hash)throw new Be("invalid url");return A}function r0(A){if(A[0]==="["){let t=A.indexOf("]");return ms(t!==-1),A.substring(1,t)}let e=A.indexOf(":");return e===-1?A:A.substring(0,e)}function s0(A){if(!A)return null;ms(typeof A=="string");let e=r0(A);return _w.isIP(e)?"":e}function n0(A){return JSON.parse(JSON.stringify(A))}function o0(A){return A!=null&&typeof A[Symbol.asyncIterator]=="function"}function KQ(A){return A!=null&&(typeof A[Symbol.iterator]=="function"||typeof A[Symbol.asyncIterator]=="function")}function i0(A){let e=Object.getPrototypeOf(A);return Object.prototype.hasOwnProperty.call(A,Symbol.iterator)||e!=null&&e!==Object.prototype&&typeof A[Symbol.iterator]=="function"}function zQ(A){if(A==null)return 0;if(Ao(A)){let e=A._readableState;return e&&e.objectMode===!1&&e.ended===!0&&Number.isFinite(e.length)?e.length:null}else{if(_Q(A))return A.size!=null?A.size:null;if(th(A))return A.byteLength}return null}function $Q(A){return A&&!!(A.destroyed||A[PQ]||qQ.isDestroyed?.(A))}function eh(A,e){A==null||!Ao(A)||$Q(A)||(typeof A.destroy=="function"?(Object.getPrototypeOf(A).constructor===Ww&&(A.socket=null),A.destroy(e)):e&&queueMicrotask(()=>{A.emit("error",e)}),A.destroyed!==!0&&(A[PQ]=!0))}var a0=/timeout=(\d+)/;function c0(A){let e=A.match(a0);return e?parseInt(e[1],10)*1e3:null}function Ah(A){return typeof A=="string"?Kw[A]??A.toLowerCase():WQ.lookup(A)??A.toString("latin1").toLowerCase()}function g0(A){return WQ.lookup(A)??A.toString("latin1").toLowerCase()}function l0(A,e){e===void 0&&(e={});for(let t=0;t<A.length;t+=2){let r=Ah(A[t]),s=e[r];if(s!==void 0)if(Object.hasOwn(e,r))typeof s=="string"&&(s=[s],e[r]=s),s.push(A[t+1].toString("latin1"));else{let n=typeof A[t+1]=="string"?A[t+1]:Array.isArray(A[t+1])?A[t+1].map(o=>o.toString("latin1")):A[t+1].toString("latin1");r==="__proto__"?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n}else{let n=typeof A[t+1]=="string"?A[t+1]:Array.isArray(A[t+1])?A[t+1].map(o=>o.toString("latin1")):A[t+1].toString("latin1");e[r]=n}}return e}function E0(A){let e=A.length,t=new Array(e),r,s;for(let n=0;n<e;n+=2)r=A[n],s=A[n+1],typeof r!="string"&&(r=r.toString()),typeof s!="string"&&(s=s.toString("latin1")),t[n]=r,t[n+1]=s;return t}function u0(A){if(!Array.isArray(A))throw new TypeError("expected headers to be an array");return A.map(e=>Buffer.from(e))}function th(A){return A instanceof Uint8Array||Buffer.isBuffer(A)}function Q0(A,e,t){if(!A||typeof A!="object")throw new Be("handler must be an object");if(typeof A.onRequestStart!="function"){if(typeof A.onConnect!="function")throw new Be("invalid onConnect method");if(typeof A.onError!="function")throw new Be("invalid onError method");if(typeof A.onBodySent!="function"&&A.onBodySent!==void 0)throw new Be("invalid onBodySent method");if(t||e==="CONNECT"){if(typeof A.onUpgrade!="function")throw new Be("invalid onUpgrade method")}else{if(typeof A.onHeaders!="function")throw new Be("invalid onHeaders method");if(typeof A.onData!="function")throw new Be("invalid onData method");if(typeof A.onComplete!="function")throw new Be("invalid onComplete method")}}}function h0(A){return!!(A&&(qQ.isDisturbed(A)||A[Fr]))}function I0(A){return{localAddress:A.localAddress,localPort:A.localPort,remoteAddress:A.remoteAddress,remotePort:A.remotePort,remoteFamily:A.remoteFamily,timeout:A.timeout,bytesWritten:A.bytesWritten,bytesRead:A.bytesRead}}function B0(A){let e;return new ReadableStream({start(){e=A[Symbol.asyncIterator]()},pull(t){return e.next().then(({done:r,value:s})=>{if(r)return queueMicrotask(()=>{t.close(),t.byobRequest?.respond(0)});{let n=Buffer.isBuffer(s)?s:Buffer.from(s);return n.byteLength?t.enqueue(new Uint8Array(n)):this.pull(t)}})},cancel(){return e.return()},type:"bytes"})}function rh(A){return A&&typeof A=="object"&&typeof A.append=="function"&&typeof A.delete=="function"&&typeof A.get=="function"&&typeof A.getAll=="function"&&typeof A.has=="function"&&typeof A.set=="function"&&A[Symbol.toStringTag]==="FormData"}function C0(A,e){return"addEventListener"in A?(A.addEventListener("abort",e,{once:!0}),()=>A.removeEventListener("abort",e)):(A.once("abort",e),()=>A.removeListener("abort",e))}var sh=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,1,0,0,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]);function d0(A){return sh[A]===1}var f0=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;function p0(A){if(A.length>=12)return f0.test(A);if(A.length===0)return!1;for(let e=0;e<A.length;e++)if(sh[A.charCodeAt(e)]!==1)return!1;return!0}var y0=/[^\t\x20-\x7e\x80-\xff]/;function D0(A){return!y0.test(A)}var m0=/^bytes (\d+)-(\d+)\/(\d+)?$/;function w0(A){if(A==null||A==="")return{start:0,end:null,size:null};let e=A?A.match(m0):null;return e?{start:parseInt(e[1]),end:e[2]?parseInt(e[2]):null,size:e[3]?parseInt(e[3]):null}:null}function R0(A,e,t){return(A[zn]??=[]).push([e,t]),A.on(e,t),A}function S0(A){if(A[zn]!=null){for(let[e,t]of A[zn])A.removeListener(e,t);A[zn]=null}return A}function N0(A,e,t){try{e.onError(t),ms(e.aborted)}catch(r){A.emit("error",r)}}var F0=process.platform==="win32"?(A,e)=>{if(!e.timeout)return VQ;let t=null,r=null,s=Kn.setFastTimeout(()=>{t=setImmediate(()=>{r=setImmediate(()=>JQ(A.deref(),e))})},e.timeout);return()=>{Kn.clearFastTimeout(s),clearImmediate(t),clearImmediate(r)}}:(A,e)=>{if(!e.timeout)return VQ;let t=null,r=Kn.setFastTimeout(()=>{t=setImmediate(()=>{JQ(A.deref(),e)})},e.timeout);return()=>{Kn.clearFastTimeout(r),clearImmediate(t)}};function JQ(A,e){if(A==null)return;let t="Connect Timeout Error";Array.isArray(A.autoSelectFamilyAttemptedAddresses)?t+=` (attempted addresses: ${A.autoSelectFamilyAttemptedAddresses.join(", ")},`:t+=` (attempted address: ${e.hostname}:${e.port},`,t+=` timeout: ${e.timeout}ms)`,eh(A,new Xw(t))}function b0(A){if(A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p")switch(A[4]){case":":return"http:";case"s":if(A[5]===":")return"https:"}return A.slice(0,A.indexOf(":")+1)}var nh=Object.create(null);nh.enumerable=!0;var tc={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},oh={...tc,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(tc,null);Object.setPrototypeOf(oh,null);ih.exports={kEnumerableProperty:nh,isDisturbed:h0,isBlobLike:_Q,parseOrigin:t0,parseURL:XQ,getServerName:s0,isStream:Ao,isIterable:KQ,hasSafeIterator:i0,isAsyncIterable:o0,isDestroyed:$Q,headerNameToString:Ah,bufferToLowerCasedHeaderName:g0,addListener:R0,removeAllListeners:S0,errorRequest:N0,parseRawHeaders:E0,encodeRawHeaders:u0,parseHeaders:l0,parseKeepAliveTimeout:c0,destroy:eh,bodyLength:zQ,deepClone:n0,ReadableStreamFrom:B0,isBuffer:th,assertRequestHandler:Q0,getSocketInfo:I0,isFormDataLike:rh,pathHasQueryOrFragment:ZQ,serializePathWithQuery:A0,addAbortListener:C0,isValidHTTPToken:p0,isValidHeaderValue:D0,isTokenCharCode:d0,parseRangeHeader:w0,normalizedMethodRecordsBase:tc,normalizedMethodRecords:oh,isValidPort:jQ,isHttpOrHttpsPrefixed:$n,nodeMajor:zw,nodeMinor:$w,safeHTTPMethods:Object.freeze(["GET","HEAD","OPTIONS","TRACE"]),wrapRequestBody:e0,setupConnectTimeout:F0,getProtocolFromUrlString:b0}});var nc=p((Uv,Eh)=>{"use strict";var{kConnected:ah,kPending:ch,kRunning:gh,kSize:lh,kFree:U0,kQueued:M0}=j(),rc=class{constructor(e){this.connected=e[ah],this.pending=e[ch],this.running=e[gh],this.size=e[lh]}},sc=class{constructor(e){this.connected=e[ah],this.free=e[U0],this.pending=e[ch],this.queued=e[M0],this.running=e[gh],this.size=e[lh]}};Eh.exports={ClientStats:rc,PoolStats:sc}});var at=p((Mv,Qh)=>{"use strict";var X=require("node:diagnostics_channel"),cc=require("node:util"),Yt=cc.debuglog("undici"),ws=cc.debuglog("fetch"),to=cc.debuglog("websocket"),Oe={beforeConnect:X.channel("undici:client:beforeConnect"),connected:X.channel("undici:client:connected"),connectError:X.channel("undici:client:connectError"),sendHeaders:X.channel("undici:client:sendHeaders"),create:X.channel("undici:request:create"),bodySent:X.channel("undici:request:bodySent"),bodyChunkSent:X.channel("undici:request:bodyChunkSent"),bodyChunkReceived:X.channel("undici:request:bodyChunkReceived"),headers:X.channel("undici:request:headers"),trailers:X.channel("undici:request:trailers"),error:X.channel("undici:request:error"),open:X.channel("undici:websocket:open"),close:X.channel("undici:websocket:close"),socketError:X.channel("undici:websocket:socket_error"),ping:X.channel("undici:websocket:ping"),pong:X.channel("undici:websocket:pong"),proxyConnected:X.channel("undici:proxy:connected")},oc=!1;function uh(A=Yt){if(!oc){if(Oe.beforeConnect.hasSubscribers||Oe.connected.hasSubscribers||Oe.connectError.hasSubscribers||Oe.sendHeaders.hasSubscribers){oc=!0;return}oc=!0,X.subscribe("undici:client:beforeConnect",e=>{let{connectParams:{version:t,protocol:r,port:s,host:n}}=e;A("connecting to %s%s using %s%s",n,s?`:${s}`:"",r,t)}),X.subscribe("undici:client:connected",e=>{let{connectParams:{version:t,protocol:r,port:s,host:n}}=e;A("connected to %s%s using %s%s",n,s?`:${s}`:"",r,t)}),X.subscribe("undici:client:connectError",e=>{let{connectParams:{version:t,protocol:r,port:s,host:n},error:o}=e;A("connection to %s%s using %s%s errored - %s",n,s?`:${s}`:"",r,t,o.message)}),X.subscribe("undici:client:sendHeaders",e=>{let{request:{method:t,path:r,origin:s}}=e;A("sending request to %s %s%s",t,s,r)})}}var ic=!1;function T0(A=Yt){if(!ic){if(Oe.headers.hasSubscribers||Oe.trailers.hasSubscribers||Oe.error.hasSubscribers){ic=!0;return}ic=!0,X.subscribe("undici:request:headers",e=>{let{request:{method:t,path:r,origin:s},response:{statusCode:n}}=e;A("received response to %s %s%s - HTTP %d",t,s,r,n)}),X.subscribe("undici:request:trailers",e=>{let{request:{method:t,path:r,origin:s}}=e;A("trailers received from %s %s%s",t,s,r)}),X.subscribe("undici:request:error",e=>{let{request:{method:t,path:r,origin:s},error:n}=e;A("request to %s %s%s errored - %s",t,s,r,n.message)})}}var ac=!1;function k0(A=to){if(!ac){if(Oe.open.hasSubscribers||Oe.close.hasSubscribers||Oe.socketError.hasSubscribers||Oe.ping.hasSubscribers||Oe.pong.hasSubscribers){ac=!0;return}ac=!0,X.subscribe("undici:websocket:open",e=>{if(e.address!=null){let{address:t,port:r}=e.address;A("connection opened %s%s",t,r?`:${r}`:"")}else A("connection opened")}),X.subscribe("undici:websocket:close",e=>{let{websocket:t,code:r,reason:s}=e;A("closed connection to %s - %s %s",t.url,r,s)}),X.subscribe("undici:websocket:socket_error",e=>{A("connection errored - %s",e.message)}),X.subscribe("undici:websocket:ping",e=>{A("ping received")}),X.subscribe("undici:websocket:pong",e=>{A("pong received")})}}(Yt.enabled||ws.enabled)&&(uh(ws.enabled?ws:Yt),T0(ws.enabled?ws:Yt));to.enabled&&(uh(Yt.enabled?Yt:to),k0(to));Qh.exports={channels:Oe}});var Bh=p((Tv,Ih)=>{"use strict";var{InvalidArgumentError:_,NotSupportedError:L0}=Y(),mA=require("node:assert"),{isValidHTTPToken:gc,isValidHeaderValue:lc,isStream:x0,destroy:H0,isBuffer:Y0,isFormDataLike:G0,isIterable:O0,hasSafeIterator:v0,isBlobLike:V0,serializePathWithQuery:J0,assertRequestHandler:P0,getServerName:q0,normalizedMethodRecords:W0,getProtocolFromUrlString:_0}=G(),{channels:be}=at(),{headerNameLowerCasedRecord:hh}=jn(),Z0=/[^\u0021-\u00ff]/,AA=Symbol("handler"),Ec=class{constructor(e,{path:t,method:r,body:s,headers:n,query:o,idempotent:i,blocking:a,upgrade:c,headersTimeout:g,bodyTimeout:Q,reset:u,expectContinue:l,servername:E,throwOnError:B,maxRedirections:y,typeOfService:C},f){if(typeof t!="string")throw new _("path must be a string");if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&r!=="CONNECT")throw new _("path must be an absolute URL or start with a slash");if(Z0.test(t))throw new _("invalid request path");if(typeof r!="string")throw new _("method must be a string");if(W0[r]===void 0&&!gc(r))throw new _("invalid request method");if(c&&typeof c!="string")throw new _("upgrade must be a string");if(c&&!lc(c))throw new _("invalid upgrade header");if(g!=null&&(!Number.isFinite(g)||g<0))throw new _("invalid headersTimeout");if(Q!=null&&(!Number.isFinite(Q)||Q<0))throw new _("invalid bodyTimeout");if(u!=null&&typeof u!="boolean")throw new _("invalid reset");if(l!=null&&typeof l!="boolean")throw new _("invalid expectContinue");if(B!=null)throw new _("invalid throwOnError");if(y!=null&&y!==0)throw new _("maxRedirections is not supported, use the redirect interceptor");if(C!=null&&(!Number.isInteger(C)||C<0||C>255))throw new _("typeOfService must be an integer between 0 and 255");if(this.headersTimeout=g,this.bodyTimeout=Q,this.method=r,this.typeOfService=C??0,this.abort=null,s==null)this.body=null;else if(x0(s)){this.body=s;let D=this.body._readableState;(!D||!D.autoDestroy)&&(this.endHandler=function(){H0(this)},this.body.on("end",this.endHandler)),this.errorHandler=M=>{this.abort?this.abort(M):this.error=M},this.body.on("error",this.errorHandler)}else if(Y0(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(G0(s)||O0(s)||V0(s))this.body=s;else throw new _("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");if(this.completed=!1,this.aborted=!1,this.upgrade=c||null,this.path=o?J0(t,o):t,this.origin=e,this.protocol=_0(e),this.idempotent=i??(r==="HEAD"||r==="GET"),this.blocking=a??this.method!=="HEAD",this.reset=u??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=l??!1,Array.isArray(n)){if(n.length%2!==0)throw new _("headers array must be even");for(let D=0;D<n.length;D+=2)ro(this,n[D],n[D+1])}else if(n&&typeof n=="object")if(v0(n))for(let D of n){if(!Array.isArray(D)||D.length!==2)throw new _("headers must be in key-value pair format");ro(this,D[0],D[1])}else{let D=Object.keys(n);for(let M=0;M<D.length;++M)ro(this,D[M],n[D[M]])}else if(n!=null)throw new _("headers must be an object or an array");P0(f,r,c),this.servername=E||q0(this.host)||null,this[AA]=f,be.create.hasSubscribers&&be.create.publish({request:this})}onBodySent(e){if(be.bodyChunkSent.hasSubscribers&&be.bodyChunkSent.publish({request:this,chunk:e}),this[AA].onBodySent)try{return this[AA].onBodySent(e)}catch(t){this.abort(t)}}onRequestSent(){if(be.bodySent.hasSubscribers&&be.bodySent.publish({request:this}),this[AA].onRequestSent)try{return this[AA].onRequestSent()}catch(e){this.abort(e)}}onConnect(e){if(mA(!this.aborted),mA(!this.completed),this.error)e(this.error);else return this.abort=e,this[AA].onConnect(e)}onResponseStarted(){return this[AA].onResponseStarted?.()}onHeaders(e,t,r,s){mA(!this.aborted),mA(!this.completed),be.headers.hasSubscribers&&be.headers.publish({request:this,response:{statusCode:e,headers:t,statusText:s}});try{return this[AA].onHeaders(e,t,r,s)}catch(n){this.abort(n)}}onData(e){mA(!this.aborted),mA(!this.completed),be.bodyChunkReceived.hasSubscribers&&be.bodyChunkReceived.publish({request:this,chunk:e});try{return this[AA].onData(e)}catch(t){return this.abort(t),!1}}onUpgrade(e,t,r){return mA(!this.aborted),mA(!this.completed),this[AA].onUpgrade(e,t,r)}onComplete(e){this.onFinally(),mA(!this.aborted),mA(!this.completed),this.completed=!0,be.trailers.hasSubscribers&&be.trailers.publish({request:this,trailers:e});try{return this[AA].onComplete(e)}catch(t){this.onError(t)}}onError(e){if(this.onFinally(),be.error.hasSubscribers&&be.error.publish({request:this,error:e}),!this.aborted)return this.aborted=!0,this[AA].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,t){return ro(this,e,t),this}};function ro(A,e,t){if(t&&typeof t=="object"&&!Array.isArray(t))throw new _(`invalid ${e} header`);if(t===void 0)return;let r=hh[e];if(r===void 0&&(r=e.toLowerCase(),hh[r]===void 0&&!gc(r)))throw new _("invalid header key");if(Array.isArray(t)){let s=[];for(let n=0;n<t.length;n++)if(typeof t[n]=="string"){if(!lc(t[n]))throw new _(`invalid ${e} header`);s.push(t[n])}else if(t[n]===null)s.push("");else{if(typeof t[n]=="object")throw new _(`invalid ${e} header`);s.push(`${t[n]}`)}t=s}else if(typeof t=="string"){if(!lc(t))throw new _(`invalid ${e} header`)}else t===null?t="":t=`${t}`;if(r==="host"){if(A.host!==null)throw new _("duplicate host header");if(typeof t!="string")throw new _("invalid host header");A.host=t}else if(r==="content-length"){if(A.contentLength!==null)throw new _("duplicate content-length header");if(A.contentLength=parseInt(t,10),!Number.isFinite(A.contentLength))throw new _("invalid content-length header")}else if(A.contentType===null&&r==="content-type")A.contentType=t,A.headers.push(e,t);else{if(r==="transfer-encoding"||r==="keep-alive"||r==="upgrade")throw new _(`invalid ${r} header`);if(r==="connection"){let s=typeof t=="string"?t:null;if(s===null)throw new _("invalid connection header");for(let n of s.toLowerCase().split(",")){let o=n.trim();if(!gc(o))throw new _("invalid connection header");o==="close"&&(A.reset=!0)}}else{if(r==="expect")throw new L0("expect header not supported");A.headers.push(e,t)}}}Ih.exports=Ec});var Rs=p((kv,dh)=>{"use strict";var{InvalidArgumentError:j0}=Y();dh.exports=class Ch{#e;constructor(e){this.#e=e}static wrap(e){return e.onRequestStart?e:new Ch(e)}onConnect(e,t){return this.#e.onConnect?.(e,t)}onResponseStarted(){return this.#e.onResponseStarted?.()}onHeaders(e,t,r,s){return this.#e.onHeaders?.(e,t,r,s)}onUpgrade(e,t,r){return this.#e.onUpgrade?.(e,t,r)}onData(e){return this.#e.onData?.(e)}onComplete(e){return this.#e.onComplete?.(e)}onError(e){if(!this.#e.onError)throw e;return this.#e.onError?.(e)}onRequestStart(e,t){this.#e.onConnect?.(r=>e.abort(r),t)}onRequestUpgrade(e,t,r,s){let n=[];for(let[o,i]of Object.entries(r))n.push(Buffer.from(o,"latin1"),uc(i));this.#e.onUpgrade?.(t,n,s)}onResponseStart(e,t,r,s){let n=[];for(let[o,i]of Object.entries(r))n.push(Buffer.from(o,"latin1"),uc(i));this.#e.onHeaders?.(t,n,()=>e.resume(),s)===!1&&e.pause()}onResponseData(e,t){this.#e.onData?.(t)===!1&&e.pause()}onResponseEnd(e,t){let r=[];for(let[s,n]of Object.entries(t))r.push(Buffer.from(s,"latin1"),uc(n));this.#e.onComplete?.(r)}onResponseError(e,t){if(!this.#e.onError)throw new j0("invalid onError method");this.#e.onError?.(t)}};function uc(A){return Array.isArray(A)?A.map(e=>Buffer.from(e,"latin1")):Buffer.from(A,"latin1")}});var Ss=p((Lv,fh)=>{"use strict";var X0=require("node:events"),K0=Rs(),z0=A=>(e,t)=>A(e,K0.wrap(t)),Qc=class extends X0{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...e){let t=Array.isArray(e[0])?e[0]:e,r=this.dispatch.bind(this);for(let s of t)if(s!=null){if(typeof s!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof s}`);if(r=s(r),r=z0(r),r==null||typeof r!="function"||r.length!==2)throw new TypeError("invalid interceptor")}return new Proxy(this,{get:(s,n)=>n==="dispatch"?r:s[n]})}};fh.exports=Qc});var Dh=p((xv,yh)=>{"use strict";var{parseHeaders:hc}=G(),{InvalidArgumentError:$0}=Y(),Ic=Symbol("resume"),Bc=class{#e=!1;#A=null;#t=!1;#r;[Ic]=null;constructor(e){this.#r=e}pause(){this.#e=!0}resume(){this.#e&&(this.#e=!1,this[Ic]?.())}abort(e){this.#t||(this.#t=!0,this.#A=e,this.#r(e))}get aborted(){return this.#t}get reason(){return this.#A}get paused(){return this.#e}};yh.exports=class ph{#e;#A;constructor(e){this.#e=e}static unwrap(e){return e.onRequestStart?new ph(e):e}onConnect(e,t){this.#A=new Bc(e),this.#e.onRequestStart?.(this.#A,t)}onResponseStarted(){return this.#e.onResponseStarted?.()}onUpgrade(e,t,r){this.#e.onRequestUpgrade?.(this.#A,e,hc(t),r)}onHeaders(e,t,r,s){return this.#A[Ic]=r,this.#e.onResponseStart?.(this.#A,e,hc(t),s),!this.#A.paused}onData(e){return this.#e.onResponseData?.(this.#A,e),!this.#A.paused}onComplete(e){this.#e.onResponseEnd?.(this.#A,hc(e))}onError(e){if(!this.#e.onResponseError)throw new $0("invalid onError method");this.#e.onResponseError?.(this.#A,e)}}});var Ot=p((Hv,mh)=>{"use strict";var eR=Ss(),AR=Dh(),{ClientDestroyedError:Cc,ClientClosedError:tR,InvalidArgumentError:so}=Y(),{kDestroy:rR,kClose:sR,kClosed:Ns,kDestroyed:br,kDispatch:nR}=j(),ct=Symbol("onDestroyed"),Gt=Symbol("onClosed"),dc=class extends eR{[br]=!1;[ct]=null;[Ns]=!1;[Gt]=null;get destroyed(){return this[br]}get closed(){return this[Ns]}close(e){if(e===void 0)return new Promise((r,s)=>{this.close((n,o)=>n?s(n):r(o))});if(typeof e!="function")throw new so("invalid callback");if(this[br]){let r=new Cc;queueMicrotask(()=>e(r,null));return}if(this[Ns]){this[Gt]?this[Gt].push(e):queueMicrotask(()=>e(null,null));return}this[Ns]=!0,this[Gt]??=[],this[Gt].push(e);let t=()=>{let r=this[Gt];this[Gt]=null;for(let s=0;s<r.length;s++)r[s](null,null)};this[sR]().then(()=>this.destroy()).then(()=>queueMicrotask(t))}destroy(e,t){if(typeof e=="function"&&(t=e,e=null),t===void 0)return new Promise((s,n)=>{this.destroy(e,(o,i)=>o?n(o):s(i))});if(typeof t!="function")throw new so("invalid callback");if(this[br]){this[ct]?this[ct].push(t):queueMicrotask(()=>t(null,null));return}e||(e=new Cc),this[br]=!0,this[ct]??=[],this[ct].push(t);let r=()=>{let s=this[ct];this[ct]=null;for(let n=0;n<s.length;n++)s[n](null,null)};this[rR](e).then(()=>queueMicrotask(r))}dispatch(e,t){if(!t||typeof t!="object")throw new so("handler must be an object");t=AR.unwrap(t);try{if(!e||typeof e!="object")throw new so("opts must be an object.");if(this[br]||this[ct])throw new Cc;if(this[Ns])throw new tR;return this[nR](e,t)}catch(r){if(typeof t.onError!="function")throw r;return t.onError(r),!1}}};mh.exports=dc});var vt=p((Gv,Sh)=>{"use strict";var oR=require("node:net"),wh=require("node:assert"),Rh=G(),{InvalidArgumentError:iR}=Y(),fc,aR=class{constructor(e){this._maxCachedSessions=e,this._sessionCache=new Map,this._sessionRegistry=new FinalizationRegistry(t=>{if(this._sessionCache.size<this._maxCachedSessions)return;let r=this._sessionCache.get(t);r!==void 0&&r.deref()===void 0&&this._sessionCache.delete(t)})}get(e){let t=this._sessionCache.get(e);return t?t.deref():null}set(e,t){this._maxCachedSessions!==0&&(this._sessionCache.set(e,new WeakRef(t)),this._sessionRegistry.register(t,e))}};function cR({allowH2:A,useH2c:e,maxCachedSessions:t,socketPath:r,timeout:s,session:n,...o}){if(t!=null&&(!Number.isInteger(t)||t<0))throw new iR("maxCachedSessions must be a positive integer or zero");let i={path:r,...o},a=new aR(t??100);return s=s??1e4,A=A??!1,function({hostname:g,host:Q,protocol:u,port:l,servername:E,localAddress:B,httpSocket:y},C){let f;if(u==="https:"){fc||(fc=require("node:tls")),E=E||i.servername||Rh.getServerName(Q)||null;let M=E||g;wh(M);let F=n||a.get(M)||null;l=l||443,f=fc.connect({highWaterMark:16384,...i,servername:E,session:F,localAddress:B,ALPNProtocols:A?["http/1.1","h2"]:["http/1.1"],socket:y,port:l,host:g}),f.on("session",function(L){a.set(M,L)})}else wh(!y,"httpSocket can only be sent on TLS update"),l=l||80,f=oR.connect({highWaterMark:64*1024,...i,localAddress:B,port:l,host:g}),e===!0&&(f.alpnProtocol="h2");if(i.keepAlive==null||i.keepAlive){let M=i.keepAliveInitialDelay===void 0?6e4:i.keepAliveInitialDelay;f.setKeepAlive(!0,M)}let D=Rh.setupConnectTimeout(new WeakRef(f),{timeout:s,hostname:g,port:l});return f.setNoDelay(!0).once(u==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(D),C){let M=C;C=null,M(null,this)}}).on("error",function(M){if(queueMicrotask(D),C){let F=C;C=null,F(M)}}),f}}Sh.exports=cR});var Nh=p(pc=>{"use strict";Object.defineProperty(pc,"__esModule",{value:!0});pc.enumToMap=gR;function gR(A,e=[],t=[]){let r=(e?.length??0)===0,s=(t?.length??0)===0;return Object.fromEntries(Object.entries(A).filter(([,n])=>typeof n=="number"&&(r||e.includes(n))&&(s||!t.includes(n))))}});var Fh=p(h=>{"use strict";Object.defineProperty(h,"__esModule",{value:!0});h.SPECIAL_HEADERS=h.MINOR=h.MAJOR=h.HTAB_SP_VCHAR_OBS_TEXT=h.QUOTED_STRING=h.CONNECTION_TOKEN_CHARS=h.HEADER_CHARS=h.TOKEN=h.HEX=h.URL_CHAR=h.USERINFO_CHARS=h.MARK=h.ALPHANUM=h.NUM=h.HEX_MAP=h.NUM_MAP=h.ALPHA=h.STATUSES_HTTP=h.H_METHOD_MAP=h.METHOD_MAP=h.METHODS_RTSP=h.METHODS_ICE=h.METHODS_HTTP=h.HEADER_STATE=h.FINISH=h.STATUSES=h.METHODS=h.LENIENT_FLAGS=h.FLAGS=h.TYPE=h.ERROR=void 0;var lR=Nh();h.ERROR={OK:0,INTERNAL:1,STRICT:2,CR_EXPECTED:25,LF_EXPECTED:3,UNEXPECTED_CONTENT_LENGTH:4,UNEXPECTED_SPACE:30,CLOSED_CONNECTION:5,INVALID_METHOD:6,INVALID_URL:7,INVALID_CONSTANT:8,INVALID_VERSION:9,INVALID_HEADER_TOKEN:10,INVALID_CONTENT_LENGTH:11,INVALID_CHUNK_SIZE:12,INVALID_STATUS:13,INVALID_EOF_STATE:14,INVALID_TRANSFER_ENCODING:15,CB_MESSAGE_BEGIN:16,CB_HEADERS_COMPLETE:17,CB_MESSAGE_COMPLETE:18,CB_CHUNK_HEADER:19,CB_CHUNK_COMPLETE:20,PAUSED:21,PAUSED_UPGRADE:22,PAUSED_H2_UPGRADE:23,USER:24,CB_URL_COMPLETE:26,CB_STATUS_COMPLETE:27,CB_METHOD_COMPLETE:32,CB_VERSION_COMPLETE:33,CB_HEADER_FIELD_COMPLETE:28,CB_HEADER_VALUE_COMPLETE:29,CB_CHUNK_EXTENSION_NAME_COMPLETE:34,CB_CHUNK_EXTENSION_VALUE_COMPLETE:35,CB_RESET:31,CB_PROTOCOL_COMPLETE:38};h.TYPE={BOTH:0,REQUEST:1,RESPONSE:2};h.FLAGS={CONNECTION_KEEP_ALIVE:1,CONNECTION_CLOSE:2,CONNECTION_UPGRADE:4,CHUNKED:8,UPGRADE:16,CONTENT_LENGTH:32,SKIPBODY:64,TRAILING:128,TRANSFER_ENCODING:512};h.LENIENT_FLAGS={HEADERS:1,CHUNKED_LENGTH:2,KEEP_ALIVE:4,TRANSFER_ENCODING:8,VERSION:16,DATA_AFTER_CLOSE:32,OPTIONAL_LF_AFTER_CR:64,OPTIONAL_CRLF_AFTER_CHUNK:128,OPTIONAL_CR_BEFORE_LF:256,SPACES_AFTER_CHUNK_SIZE:512};h.METHODS={DELETE:0,GET:1,HEAD:2,POST:3,PUT:4,CONNECT:5,OPTIONS:6,TRACE:7,COPY:8,LOCK:9,MKCOL:10,MOVE:11,PROPFIND:12,PROPPATCH:13,SEARCH:14,UNLOCK:15,BIND:16,REBIND:17,UNBIND:18,ACL:19,REPORT:20,MKACTIVITY:21,CHECKOUT:22,MERGE:23,"M-SEARCH":24,NOTIFY:25,SUBSCRIBE:26,UNSUBSCRIBE:27,PATCH:28,PURGE:29,MKCALENDAR:30,LINK:31,UNLINK:32,SOURCE:33,PRI:34,DESCRIBE:35,ANNOUNCE:36,SETUP:37,PLAY:38,PAUSE:39,TEARDOWN:40,GET_PARAMETER:41,SET_PARAMETER:42,REDIRECT:43,RECORD:44,FLUSH:45,QUERY:46};h.STATUSES={CONTINUE:100,SWITCHING_PROTOCOLS:101,PROCESSING:102,EARLY_HINTS:103,RESPONSE_IS_STALE:110,REVALIDATION_FAILED:111,DISCONNECTED_OPERATION:112,HEURISTIC_EXPIRATION:113,MISCELLANEOUS_WARNING:199,OK:200,CREATED:201,ACCEPTED:202,NON_AUTHORITATIVE_INFORMATION:203,NO_CONTENT:204,RESET_CONTENT:205,PARTIAL_CONTENT:206,MULTI_STATUS:207,ALREADY_REPORTED:208,TRANSFORMATION_APPLIED:214,IM_USED:226,MISCELLANEOUS_PERSISTENT_WARNING:299,MULTIPLE_CHOICES:300,MOVED_PERMANENTLY:301,FOUND:302,SEE_OTHER:303,NOT_MODIFIED:304,USE_PROXY:305,SWITCH_PROXY:306,TEMPORARY_REDIRECT:307,PERMANENT_REDIRECT:308,BAD_REQUEST:400,UNAUTHORIZED:401,PAYMENT_REQUIRED:402,FORBIDDEN:403,NOT_FOUND:404,METHOD_NOT_ALLOWED:405,NOT_ACCEPTABLE:406,PROXY_AUTHENTICATION_REQUIRED:407,REQUEST_TIMEOUT:408,CONFLICT:409,GONE:410,LENGTH_REQUIRED:411,PRECONDITION_FAILED:412,PAYLOAD_TOO_LARGE:413,URI_TOO_LONG:414,UNSUPPORTED_MEDIA_TYPE:415,RANGE_NOT_SATISFIABLE:416,EXPECTATION_FAILED:417,IM_A_TEAPOT:418,PAGE_EXPIRED:419,ENHANCE_YOUR_CALM:420,MISDIRECTED_REQUEST:421,UNPROCESSABLE_ENTITY:422,LOCKED:423,FAILED_DEPENDENCY:424,TOO_EARLY:425,UPGRADE_REQUIRED:426,PRECONDITION_REQUIRED:428,TOO_MANY_REQUESTS:429,REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL:430,REQUEST_HEADER_FIELDS_TOO_LARGE:431,LOGIN_TIMEOUT:440,NO_RESPONSE:444,RETRY_WITH:449,BLOCKED_BY_PARENTAL_CONTROL:450,UNAVAILABLE_FOR_LEGAL_REASONS:451,CLIENT_CLOSED_LOAD_BALANCED_REQUEST:460,INVALID_X_FORWARDED_FOR:463,REQUEST_HEADER_TOO_LARGE:494,SSL_CERTIFICATE_ERROR:495,SSL_CERTIFICATE_REQUIRED:496,HTTP_REQUEST_SENT_TO_HTTPS_PORT:497,INVALID_TOKEN:498,CLIENT_CLOSED_REQUEST:499,INTERNAL_SERVER_ERROR:500,NOT_IMPLEMENTED:501,BAD_GATEWAY:502,SERVICE_UNAVAILABLE:503,GATEWAY_TIMEOUT:504,HTTP_VERSION_NOT_SUPPORTED:505,VARIANT_ALSO_NEGOTIATES:506,INSUFFICIENT_STORAGE:507,LOOP_DETECTED:508,BANDWIDTH_LIMIT_EXCEEDED:509,NOT_EXTENDED:510,NETWORK_AUTHENTICATION_REQUIRED:511,WEB_SERVER_UNKNOWN_ERROR:520,WEB_SERVER_IS_DOWN:521,CONNECTION_TIMEOUT:522,ORIGIN_IS_UNREACHABLE:523,TIMEOUT_OCCURED:524,SSL_HANDSHAKE_FAILED:525,INVALID_SSL_CERTIFICATE:526,RAILGUN_ERROR:527,SITE_IS_OVERLOADED:529,SITE_IS_FROZEN:530,IDENTITY_PROVIDER_AUTHENTICATION_ERROR:561,NETWORK_READ_TIMEOUT:598,NETWORK_CONNECT_TIMEOUT:599};h.FINISH={SAFE:0,SAFE_WITH_CB:1,UNSAFE:2};h.HEADER_STATE={GENERAL:0,CONNECTION:1,CONTENT_LENGTH:2,TRANSFER_ENCODING:3,UPGRADE:4,CONNECTION_KEEP_ALIVE:5,CONNECTION_CLOSE:6,CONNECTION_UPGRADE:7,TRANSFER_ENCODING_CHUNKED:8};h.METHODS_HTTP=[h.METHODS.DELETE,h.METHODS.GET,h.METHODS.HEAD,h.METHODS.POST,h.METHODS.PUT,h.METHODS.CONNECT,h.METHODS.OPTIONS,h.METHODS.TRACE,h.METHODS.COPY,h.METHODS.LOCK,h.METHODS.MKCOL,h.METHODS.MOVE,h.METHODS.PROPFIND,h.METHODS.PROPPATCH,h.METHODS.SEARCH,h.METHODS.UNLOCK,h.METHODS.BIND,h.METHODS.REBIND,h.METHODS.UNBIND,h.METHODS.ACL,h.METHODS.REPORT,h.METHODS.MKACTIVITY,h.METHODS.CHECKOUT,h.METHODS.MERGE,h.METHODS["M-SEARCH"],h.METHODS.NOTIFY,h.METHODS.SUBSCRIBE,h.METHODS.UNSUBSCRIBE,h.METHODS.PATCH,h.METHODS.PURGE,h.METHODS.MKCALENDAR,h.METHODS.LINK,h.METHODS.UNLINK,h.METHODS.PRI,h.METHODS.SOURCE,h.METHODS.QUERY];h.METHODS_ICE=[h.METHODS.SOURCE];h.METHODS_RTSP=[h.METHODS.OPTIONS,h.METHODS.DESCRIBE,h.METHODS.ANNOUNCE,h.METHODS.SETUP,h.METHODS.PLAY,h.METHODS.PAUSE,h.METHODS.TEARDOWN,h.METHODS.GET_PARAMETER,h.METHODS.SET_PARAMETER,h.METHODS.REDIRECT,h.METHODS.RECORD,h.METHODS.FLUSH,h.METHODS.GET,h.METHODS.POST];h.METHOD_MAP=(0,lR.enumToMap)(h.METHODS);h.H_METHOD_MAP=Object.fromEntries(Object.entries(h.METHODS).filter(([A])=>A.startsWith("H")));h.STATUSES_HTTP=[h.STATUSES.CONTINUE,h.STATUSES.SWITCHING_PROTOCOLS,h.STATUSES.PROCESSING,h.STATUSES.EARLY_HINTS,h.STATUSES.RESPONSE_IS_STALE,h.STATUSES.REVALIDATION_FAILED,h.STATUSES.DISCONNECTED_OPERATION,h.STATUSES.HEURISTIC_EXPIRATION,h.STATUSES.MISCELLANEOUS_WARNING,h.STATUSES.OK,h.STATUSES.CREATED,h.STATUSES.ACCEPTED,h.STATUSES.NON_AUTHORITATIVE_INFORMATION,h.STATUSES.NO_CONTENT,h.STATUSES.RESET_CONTENT,h.STATUSES.PARTIAL_CONTENT,h.STATUSES.MULTI_STATUS,h.STATUSES.ALREADY_REPORTED,h.STATUSES.TRANSFORMATION_APPLIED,h.STATUSES.IM_USED,h.STATUSES.MISCELLANEOUS_PERSISTENT_WARNING,h.STATUSES.MULTIPLE_CHOICES,h.STATUSES.MOVED_PERMANENTLY,h.STATUSES.FOUND,h.STATUSES.SEE_OTHER,h.STATUSES.NOT_MODIFIED,h.STATUSES.USE_PROXY,h.STATUSES.SWITCH_PROXY,h.STATUSES.TEMPORARY_REDIRECT,h.STATUSES.PERMANENT_REDIRECT,h.STATUSES.BAD_REQUEST,h.STATUSES.UNAUTHORIZED,h.STATUSES.PAYMENT_REQUIRED,h.STATUSES.FORBIDDEN,h.STATUSES.NOT_FOUND,h.STATUSES.METHOD_NOT_ALLOWED,h.STATUSES.NOT_ACCEPTABLE,h.STATUSES.PROXY_AUTHENTICATION_REQUIRED,h.STATUSES.REQUEST_TIMEOUT,h.STATUSES.CONFLICT,h.STATUSES.GONE,h.STATUSES.LENGTH_REQUIRED,h.STATUSES.PRECONDITION_FAILED,h.STATUSES.PAYLOAD_TOO_LARGE,h.STATUSES.URI_TOO_LONG,h.STATUSES.UNSUPPORTED_MEDIA_TYPE,h.STATUSES.RANGE_NOT_SATISFIABLE,h.STATUSES.EXPECTATION_FAILED,h.STATUSES.IM_A_TEAPOT,h.STATUSES.PAGE_EXPIRED,h.STATUSES.ENHANCE_YOUR_CALM,h.STATUSES.MISDIRECTED_REQUEST,h.STATUSES.UNPROCESSABLE_ENTITY,h.STATUSES.LOCKED,h.STATUSES.FAILED_DEPENDENCY,h.STATUSES.TOO_EARLY,h.STATUSES.UPGRADE_REQUIRED,h.STATUSES.PRECONDITION_REQUIRED,h.STATUSES.TOO_MANY_REQUESTS,h.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL,h.STATUSES.REQUEST_HEADER_FIELDS_TOO_LARGE,h.STATUSES.LOGIN_TIMEOUT,h.STATUSES.NO_RESPONSE,h.STATUSES.RETRY_WITH,h.STATUSES.BLOCKED_BY_PARENTAL_CONTROL,h.STATUSES.UNAVAILABLE_FOR_LEGAL_REASONS,h.STATUSES.CLIENT_CLOSED_LOAD_BALANCED_REQUEST,h.STATUSES.INVALID_X_FORWARDED_FOR,h.STATUSES.REQUEST_HEADER_TOO_LARGE,h.STATUSES.SSL_CERTIFICATE_ERROR,h.STATUSES.SSL_CERTIFICATE_REQUIRED,h.STATUSES.HTTP_REQUEST_SENT_TO_HTTPS_PORT,h.STATUSES.INVALID_TOKEN,h.STATUSES.CLIENT_CLOSED_REQUEST,h.STATUSES.INTERNAL_SERVER_ERROR,h.STATUSES.NOT_IMPLEMENTED,h.STATUSES.BAD_GATEWAY,h.STATUSES.SERVICE_UNAVAILABLE,h.STATUSES.GATEWAY_TIMEOUT,h.STATUSES.HTTP_VERSION_NOT_SUPPORTED,h.STATUSES.VARIANT_ALSO_NEGOTIATES,h.STATUSES.INSUFFICIENT_STORAGE,h.STATUSES.LOOP_DETECTED,h.STATUSES.BANDWIDTH_LIMIT_EXCEEDED,h.STATUSES.NOT_EXTENDED,h.STATUSES.NETWORK_AUTHENTICATION_REQUIRED,h.STATUSES.WEB_SERVER_UNKNOWN_ERROR,h.STATUSES.WEB_SERVER_IS_DOWN,h.STATUSES.CONNECTION_TIMEOUT,h.STATUSES.ORIGIN_IS_UNREACHABLE,h.STATUSES.TIMEOUT_OCCURED,h.STATUSES.SSL_HANDSHAKE_FAILED,h.STATUSES.INVALID_SSL_CERTIFICATE,h.STATUSES.RAILGUN_ERROR,h.STATUSES.SITE_IS_OVERLOADED,h.STATUSES.SITE_IS_FROZEN,h.STATUSES.IDENTITY_PROVIDER_AUTHENTICATION_ERROR,h.STATUSES.NETWORK_READ_TIMEOUT,h.STATUSES.NETWORK_CONNECT_TIMEOUT];h.ALPHA=[];for(let A=65;A<=90;A++)h.ALPHA.push(String.fromCharCode(A)),h.ALPHA.push(String.fromCharCode(A+32));h.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};h.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};h.NUM=["0","1","2","3","4","5","6","7","8","9"];h.ALPHANUM=h.ALPHA.concat(h.NUM);h.MARK=["-","_",".","!","~","*","'","(",")"];h.USERINFO_CHARS=h.ALPHANUM.concat(h.MARK).concat(["%",";",":","&","=","+","$",","]);h.URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(h.ALPHANUM);h.HEX=h.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);h.TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(h.ALPHANUM);h.HEADER_CHARS=[" "];for(let A=32;A<=255;A++)A!==127&&h.HEADER_CHARS.push(A);h.CONNECTION_TOKEN_CHARS=h.HEADER_CHARS.filter(A=>A!==44);h.QUOTED_STRING=[" "," "];for(let A=33;A<=255;A++)A!==34&&A!==92&&h.QUOTED_STRING.push(A);h.HTAB_SP_VCHAR_OBS_TEXT=[" "," "];for(let A=33;A<=126;A++)h.HTAB_SP_VCHAR_OBS_TEXT.push(A);for(let A=128;A<=255;A++)h.HTAB_SP_VCHAR_OBS_TEXT.push(A);h.MAJOR=h.NUM_MAP;h.MINOR=h.MAJOR;h.SPECIAL_HEADERS={connection:h.HEADER_STATE.CONNECTION,"content-length":h.HEADER_STATE.CONTENT_LENGTH,"proxy-connection":h.HEADER_STATE.CONNECTION,"transfer-encoding":h.HEADER_STATE.TRANSFER_ENCODING,upgrade:h.HEADER_STATE.UPGRADE};h.default={ERROR:h.ERROR,TYPE:h.TYPE,FLAGS:h.FLAGS,LENIENT_FLAGS:h.LENIENT_FLAGS,METHODS:h.METHODS,STATUSES:h.STATUSES,FINISH:h.FINISH,HEADER_STATE:h.HEADER_STATE,ALPHA:h.ALPHA,NUM_MAP:h.NUM_MAP,HEX_MAP:h.HEX_MAP,NUM:h.NUM,ALPHANUM:h.ALPHANUM,MARK:h.MARK,USERINFO_CHARS:h.USERINFO_CHARS,URL_CHAR:h.URL_CHAR,HEX:h.HEX,TOKEN:h.TOKEN,HEADER_CHARS:h.HEADER_CHARS,CONNECTION_TOKEN_CHARS:h.CONNECTION_TOKEN_CHARS,QUOTED_STRING:h.QUOTED_STRING,HTAB_SP_VCHAR_OBS_TEXT:h.HTAB_SP_VCHAR_OBS_TEXT,MAJOR:h.MAJOR,MINOR:h.MINOR,SPECIAL_HEADERS:h.SPECIAL_HEADERS,METHODS_HTTP:h.METHODS_HTTP,METHODS_ICE:h.METHODS_ICE,METHODS_RTSP:h.METHODS_RTSP,METHOD_MAP:h.METHOD_MAP,H_METHOD_MAP:h.H_METHOD_MAP,STATUSES_HTTP:h.STATUSES_HTTP}});var Dc=p((Vv,bh)=>{"use strict";var{Buffer:ER}=require("node:buffer"),uR="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgL5YUCAgd/A34gASACaiEEAkAgACIDKAIMIgANACADKAIEBEAgAyABNgIECyMAQRBrIgkkAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAygCHCICQQJrDvwBAfkBAgMEBQYHCAkKCwwNDg8QERL4ARP3ARQV9gEWF/UBGBkaGxwdHh8g/QH7ASH0ASIjJCUmJygpKivzASwtLi8wMTLyAfEBMzTwAe8BNTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5P+gFQUVJT7gHtAVTsAVXrAVZXWFla6gFbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHpAegBzwHnAdAB5gHRAdIB0wHUAeUB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMBAPwBC0EADOMBC0EODOIBC0ENDOEBC0EPDOABC0EQDN8BC0ETDN4BC0EUDN0BC0EVDNwBC0EWDNsBC0EXDNoBC0EYDNkBC0EZDNgBC0EaDNcBC0EbDNYBC0EcDNUBC0EdDNQBC0EeDNMBC0EfDNIBC0EgDNEBC0EhDNABC0EIDM8BC0EiDM4BC0EkDM0BC0EjDMwBC0EHDMsBC0ElDMoBC0EmDMkBC0EnDMgBC0EoDMcBC0ESDMYBC0ERDMUBC0EpDMQBC0EqDMMBC0ErDMIBC0EsDMEBC0HeAQzAAQtBLgy/AQtBLwy+AQtBMAy9AQtBMQy8AQtBMgy7AQtBMwy6AQtBNAy5AQtB3wEMuAELQTUMtwELQTkMtgELQQwMtQELQTYMtAELQTcMswELQTgMsgELQT4MsQELQToMsAELQeABDK8BC0ELDK4BC0E/DK0BC0E7DKwBC0EKDKsBC0E8DKoBC0E9DKkBC0HhAQyoAQtBwQAMpwELQcAADKYBC0HCAAylAQtBCQykAQtBLQyjAQtBwwAMogELQcQADKEBC0HFAAygAQtBxgAMnwELQccADJ4BC0HIAAydAQtByQAMnAELQcoADJsBC0HLAAyaAQtBzAAMmQELQc0ADJgBC0HOAAyXAQtBzwAMlgELQdAADJUBC0HRAAyUAQtB0gAMkwELQdMADJIBC0HVAAyRAQtB1AAMkAELQdYADI8BC0HXAAyOAQtB2AAMjQELQdkADIwBC0HaAAyLAQtB2wAMigELQdwADIkBC0HdAAyIAQtB3gAMhwELQd8ADIYBC0HgAAyFAQtB4QAMhAELQeIADIMBC0HjAAyCAQtB5AAMgQELQeUADIABC0HiAQx/C0HmAAx+C0HnAAx9C0EGDHwLQegADHsLQQUMegtB6QAMeQtBBAx4C0HqAAx3C0HrAAx2C0HsAAx1C0HtAAx0C0EDDHMLQe4ADHILQe8ADHELQfAADHALQfIADG8LQfEADG4LQfMADG0LQfQADGwLQfUADGsLQfYADGoLQQIMaQtB9wAMaAtB+AAMZwtB+QAMZgtB+gAMZQtB+wAMZAtB/AAMYwtB/QAMYgtB/gAMYQtB/wAMYAtBgAEMXwtBgQEMXgtBggEMXQtBgwEMXAtBhAEMWwtBhQEMWgtBhgEMWQtBhwEMWAtBiAEMVwtBiQEMVgtBigEMVQtBiwEMVAtBjAEMUwtBjQEMUgtBjgEMUQtBjwEMUAtBkAEMTwtBkQEMTgtBkgEMTQtBkwEMTAtBlAEMSwtBlQEMSgtBlgEMSQtBlwEMSAtBmAEMRwtBmQEMRgtBmgEMRQtBmwEMRAtBnAEMQwtBnQEMQgtBngEMQQtBnwEMQAtBoAEMPwtBoQEMPgtBogEMPQtBowEMPAtBpAEMOwtBpQEMOgtBpgEMOQtBpwEMOAtBqAEMNwtBqQEMNgtBqgEMNQtBqwEMNAtBrAEMMwtBrQEMMgtBrgEMMQtBrwEMMAtBsAEMLwtBsQEMLgtBsgEMLQtBswEMLAtBtAEMKwtBtQEMKgtBtgEMKQtBtwEMKAtBuAEMJwtBuQEMJgtBugEMJQtBuwEMJAtBvAEMIwtBvQEMIgtBvgEMIQtBvwEMIAtBwAEMHwtBwQEMHgtBwgEMHQtBAQwcC0HDAQwbC0HEAQwaC0HFAQwZC0HGAQwYC0HHAQwXC0HIAQwWC0HJAQwVC0HKAQwUC0HLAQwTC0HMAQwSC0HNAQwRC0HOAQwQC0HPAQwPC0HQAQwOC0HRAQwNC0HSAQwMC0HTAQwLC0HUAQwKC0HVAQwJC0HWAQwIC0HjAQwHC0HXAQwGC0HYAQwFC0HZAQwEC0HaAQwDC0HbAQwCC0HdAQwBC0HcAQshAgNAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQAJ/AkACQAJAAn8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAg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ogKiAqICogKiAqICogKiAqICogKiAqICogIAogILIAQgAUEBaiIBRw0AC0HJACECDOwCCyABQQFqIQEgA0Evai0AAEEBcQ2lAiADQQA2AhwgAyABNgIUIANBlxA2AhAgA0EKNgIMQQAhAgzrAgsgASAERwRAA0AgAS0AAEEgRw0VIAQgAUEBaiIBRw0AC0H4ACECDOsCC0H4ACECDOoCCyADQQI6ACgMOAtBACECIANBADYCHCADQb8LNgIQIANBAjYCDCADIAFBAWo2AhQM6AILQQAhAgzOAgtBDSECDM0CC0ETIQIMzAILQRUhAgzLAgtBFiECDMoCC0EYIQIMyQILQRkhAgzIAgtBGiECDMcCC0EbIQIMxgILQRwhAgzFAgtBHSECDMQCC0EeIQIMwwILQR8hAgzCAgtBICECDMECC0EiIQIMwAILQSMhAgy/AgtBJSECDL4CC0HlACECDL0CCyADQT02AhwgAyABNgIUIAMgADYCDEEAIQIM1QILIANBGzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDNQCCyADQSA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzTAgsgA0ETNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0gILIANBCzYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNECCyADQRA2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzQAgsgA0EgNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzwILIANBCzYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM4CCyADQQw2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzNAgtBACECIANBADYCHCADIAE2AhQgA0HdDjYCECADQRI2AgwMzAILAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB/QEhAgzMAgsCQAJAIAMtADZBAUcNAEEAIQACQCADKAI4IgJFDQAgAigCYCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUcNASADQfwBNgIcIAMgATYCFCADQdwZNgIQIANBFTYCDEEAIQIMzQILQdwBIQIMswILIANBADYCHCADIAE2AhQgA0H5CzYCECADQR82AgxBACECDMsCCwJAAkAgAy0AKEEBaw4CBAEAC0HbASECDLICC0HUASECDLECCyADQQI6ADFBACEAAkAgAygCOCICRQ0AIAIoAgAiAkUNACADIAIRAAAhAAsgAEUEQEHdASECDLECCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQbQMNgIQIANBEDYCDEEAIQIMygILIANB+wE2AhwgAyABNgIUIANBgRo2AhAgA0EVNgIMQQAhAgzJAgsgASAERgRAQfoBIQIMyQILIAEtAABByABGDQEgA0EBOgAoC0HAASECDK4CC0HaASECDK0CCyABIARHBEAgA0EMNgIIIAMgATYCBEHZASECDK0CC0H5ASECDMUCCyABIARGBEBB+AEhAgzFAgsgAS0AAEHIAEcNBCABQQFqIQFB2AEhAgyrAgsgASAERgRAQfcBIQIMxAILAkACQCABLQAAQcUAaw4QAAUFBQUFBQUFBQUFBQUFAQULIAFBAWohAUHWASECDKsCCyABQQFqIQFB1wEhAgyqAgtB9gEhAiABIARGDcICIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbrVAGotAABHDQMgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMMCCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIARQRAQeMBIQIMqgILIANB9QE2AhwgAyABNgIUIAMgADYCDEEAIQIMwgILQfQBIQIgASAERg3BAiADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEG41QBqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzCAgsgA0GBBDsBKCADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQLiIADQMMAgsgA0EANgIAC0EAIQIgA0EANgIcIAMgATYCFCADQeUfNgIQIANBCDYCDAy/AgtB1QEhAgylAgsgA0HzATYCHCADIAE2AhQgAyAANgIMQQAhAgy9AgtBACEAAkAgAygCOCICRQ0AIAIoAkAiAkUNACADIAIRAAAhAAsgAEUNbiAAQRVHBEAgA0EANgIcIAMgATYCFCADQYIPNgIQIANBIDYCDEEAIQIMvQILIANBjwE2AhwgAyABNgIUIANB7Bs2AhAgA0EVNgIMQQAhAgy8AgsgASAERwRAIANBDTYCCCADIAE2AgRB0wEhAgyjAgtB8gEhAgy7AgsgASAERgRAQfEBIQIMuwILAkACQAJAIAEtAABByABrDgsAAQgICAgICAgIAggLIAFBAWohAUHQASECDKMCCyABQQFqIQFB0QEhAgyiAgsgAUEBaiEBQdIBIQIMoQILQfABIQIgASAERg25AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBtdUAai0AAEcNBCAAQQJGDQMgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuQILQe8BIQIgASAERg24AiADKAIAIgAgBCABa2ohBiABIABrQQFqIQUDQCABLQAAIABBs9UAai0AAEcNAyAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMuAILQe4BIQIgASAERg23AiADKAIAIgAgBCABa2ohBiABIABrQQJqIQUDQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAY2AgAMtwILIAMoAgQhACADQgA3AwAgAyAAIAVBAWoiARArIgBFDQIgA0HsATYCHCADIAE2AhQgAyAANgIMQQAhAgy2AgsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNnAIgA0HtATYCHCADIAE2AhQgAyAANgIMQQAhAgy0AgtBzwEhAgyaAgtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDLQCC0HOASECDJoCCyADQesBNgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMsgILIAEgBEYEQEHrASECDLICCyABLQAAQS9GBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GyODYCECADQQg2AgxBACECDLECC0HNASECDJcCCyABIARHBEAgA0EONgIIIAMgATYCBEHMASECDJcCC0HqASECDK8CCyABIARGBEBB6QEhAgyvAgsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFBywEhAgyWAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZcCIANB6AE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAEgBEYEQEHnASECDK4CCwJAIAEtAABBLkYEQCABQQFqIQEMAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5gE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILQcoBIQIMlAILIAEgBEYEQEHlASECDK0CC0EAIQBBASEFQQEhB0EAIQICQAJAAkACQAJAAn8CQAJAAkACQAJAAkACQCABLQAAQTBrDgoKCQABAgMEBQYICwtBAgwGC0EDDAULQQQMBAtBBQwDC0EGDAILQQcMAQtBCAshAkEAIQVBACEHDAILQQkhAkEBIQBBACEFQQAhBwwBC0EAIQVBASECCyADIAI6ACsgAUEBaiEBAkACQCADLQAuQRBxDQACQAJAAkAgAy0AKg4DAQACBAsgB0UNAwwCCyAADQEMAgsgBUUNAQsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDQIgA0HiATYCHCADIAE2AhQgAyAANgIMQQAhAgyvAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZoCIANB4wE2AhwgAyABNgIUIAMgADYCDEEAIQIMrgILIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ2YAiADQeQBNgIcIAMgATYCFCADIAA2AgwMrQILQckBIQIMkwILQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANBpA02AhAgA0EhNgIMQQAhAgytAgtByAEhAgyTAgsgA0HhATYCHCADIAE2AhQgA0HQGjYCECADQRU2AgxBACECDKsCCyABIARGBEBB4QEhAgyrAgsCQCABLQAAQSBGBEAgA0EAOwE0IAFBAWohAQwBCyADQQA2AhwgAyABNgIUIANBmRE2AhAgA0EJNgIMQQAhAgyrAgtBxwEhAgyRAgsgASAERgRAQeABIQIMqgILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyrAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqgILQcYBIQIMkAILIAEgBEYEQEHfASECDKkCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqgILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKkCC0HFASECDI8CCyABIARGBEBB3gEhAgyoAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKkCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyoAgtBxAEhAgyOAgsgASAERgRAQd0BIQIMpwILAkACQAJAAkAgAS0AAEEKaw4XAgMDAAMDAwMDAwMDAwMDAwMDAwMDAwEDCyABQQFqDAULIAFBAWohAUHDASECDI8CCyABQQFqIQEgA0Evai0AAEEBcQ0IIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKcCCyADQQA2AhwgAyABNgIUIANBjQs2AhAgA0ENNgIMQQAhAgymAgsgASAERwRAIANBDzYCCCADIAE2AgRBASECDI0CC0HcASECDKUCCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtB2wEhAgymAgsgAygCBCEAIANBADYCBCADIAAgARAtIgBFBEAgAUEBaiEBDAQLIANB2gE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMpQILIAMoAgQhACADQQA2AgQgAyAAIAEQLSIADQEgAUEBagshAUHBASECDIoCCyADQdkBNgIcIAMgADYCDCADIAFBAWo2AhRBACECDKICC0HCASECDIgCCyADQS9qLQAAQQFxDQEgA0EANgIcIAMgATYCFCADQeQcNgIQIANBGTYCDEEAIQIMoAILIAEgBEYEQEHZASEC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IAFBAWohAUGeASECDOQBCyABQQFqIQFBnwEhAgzjAQtBtwEhAiABIARGDfsBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQezUAGotAABHDSggAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPwBCyADQQA2AgAgBkEBaiEBQQ0MKAtBtgEhAiABIARGDfoBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDScgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPsBCyADQQA2AgAgBkEBaiEBQQwMJwtBtQEhAiABIARGDfkBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQerUAGotAABHDSYgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPoBCyADQQA2AgAgBkEBaiEBQQMMJgtBtAEhAiABIARGDfgBIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQejUAGotAABHDSUgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADPkBCyADQQA2AgAgBkEBaiEBQSYMJQsgASAERgRAQbMBIQIM+AELAkACQCABLQAAQdQAaw4CAAEnCyABQQFqIQFBmQEhAgzfAQsgAUEBaiEBQZoBIQIM3gELQbIBIQIgASAERg32ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHm1ABqLQAARw0jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz3AQsgA0EANgIAIAZBAWohAUEnDCMLQbEBIQIgASAERg31ASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHk1ABqLQAARw0iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz2AQsgA0EANgIAIAZBAWohAUEcDCILQbABIQIgASAERg30ASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHe1ABqLQAARw0hIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz1AQsgA0EANgIAIAZBAWohAUEGDCELQa8BIQIgASAERg3zASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEHZ1ABqLQAARw0gIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAz0AQsgA0EANgIAIAZBAWohAUEZDCALIAEgBEYEQEGuASECDPMBCwJAAkACQAJAIAEtAABBLWsOIwAkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJAEkJCQkJAIkJCQDJAsgAUEBaiEBQY4BIQIM3AELIAFBAWohAUGPASECDNsBCyABQQFqIQFBlAEhAgzaAQsgAUEBaiEBQZUBIQIM2QELQa0BIQIgASAERg3xASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHX1ABqLQAARw0eIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzyAQsgA0EANgIAIAZBAWohAUELDB4LIAEgBEYEQEGsASECDPEBCwJAAkAgAS0AAEHBAGsOAwAgASALIAFBAWohAUGQASECDNgBCyABQQFqIQFBkwEhAgzXAQsgASAERgRAQasBIQIM8AELAkACQCABLQAAQcEAaw4PAB8fHx8fHx8fHx8fHx8BHwsgAUEBaiEBQZEBIQIM1wELIAFBAWohAUGSASECDNYBCyABIARGBEBBqgEhAgzvAQsgAS0AAEHMAEcNHCABQQFqIQFBCgwbC0GpASECIAEgBEYN7QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABB0dQAai0AAEcNGiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7gELIANBADYCACAGQQFqIQFBHgwaC0GoASECIAEgBEYN7AEgAygCACIAIAQgAWtqIQUgASAAa0EGaiEGAkADQCABLQAAIABBytQAai0AAEcNGSAAQQZGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7QELIANBADYCACAGQQFqIQFBFQwZC0GnASECIAEgBEYN6wEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBx9QAai0AAEcNGCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM7AELIANBADYCACAGQQFqIQFBFwwYC0GmASECIAEgBEYN6gEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBwdQAai0AAEcNFyAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6wELIANBADYCACAGQQFqIQFBGAwXCyABIARGBEBBpQEhAgzqAQsCQAJAIAEtAABByQBrDgcAGRkZGRkBGQsgAUEBaiEBQYsBIQIM0QELIAFBAWohAUGMASECDNABC0GkASECIAEgBEYN6AEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBptUAai0AAEcNFSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6QELIANBADYCACAGQQFqIQFBCQwVC0GjASECIAEgBEYN5wEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBpNUAai0AAEcNFCAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM6AELIANBADYCACAGQQFqIQFBHwwUC0GiASECIAEgBEYN5gEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBvtQAai0AAEcNEyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5wELIANBADYCACAGQQFqIQFBAgwTC0GhASECIAEgBEYN5QEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGA0AgAS0AACAAQbzUAGotAABHDREgAEEBRg0CIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADOUBCyABIARGBEBBoAEhAgzlAQtBASABLQAAQd8ARw0RGiABQQFqIQFBhwEhAgzLAQsgA0EANgIAIAZBAWohAUGIASECDMoBC0GfASECIAEgBEYN4gEgAygCACIAIAQgAWtqIQUgASAAa0EIaiEGAkADQCABLQAAIABBhNUAai0AAEcNDyAAQQhGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4wELIANBADYCACAGQQFqIQFBKQwPC0GeASECIAEgBEYN4QEgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBuNQAai0AAEcNDiAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM4gELIANBADYCACAGQQFqIQFBLQwOCyABIARGBEBBnQEhAgzhAQsgAS0AAEHFAEcNDiABQQFqIQFBhAEhAgzHAQsgASAERgRAQZwBIQIM4AELAkACQCABLQAAQcwAaw4IAA8PDw8PDwEPCyABQQFqIQFBggEhAgzHAQsgAUEBaiEBQYMBIQIMxgELQZsBIQIgASAERg3eASADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANAIAEtAAAgAEGz1ABqLQAARw0LIABBBEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzfAQsgA0EANgIAIAZBAWohAUEjDAsLQZoBIQIgASAERg3dASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGw1ABqLQAARw0KIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzeAQsgA0EANgIAIAZBAWohAUEADAoLIAEgBEYEQEGZASECDN0BCwJAAkAgAS0AAEHIAGsOCAAMDAwMDAwBDAsgAUEBaiEBQf0AIQIMxAELIAFBAWohAUGAASECDMMBCyABIARGBEBBmAEhAgzcAQsCQAJAIAEtAABBzgBrDgMACwELCyABQQFqIQFB/gAhAgzDAQsgAUEBaiEBQf8AIQIMwgELIAEgBEYEQEGXASECDNsBCyABLQAAQdkARw0IIAFBAWohAUEIDAcLQZYBIQIgASAERg3ZASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEGs1ABqLQAARw0GIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzaAQsgA0EANgIAIAZBAWohAUEFDAYLQZUBIQIgASAERg3YASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGm1ABqLQAARw0FIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzZAQsgA0EANgIAIAZBAWohAUEWDAULQZQBIQIgASAERg3XASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGh1QBqLQAARw0EIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzYAQsgA0EANgIAIAZBAWohAUEQDAQLIAEgBEYEQEGTASECDNcBCwJAAkAgAS0AAEHDAGsODAAGBgYGBgYGBgYGAQYLIAFBAWohAUH5ACECDL4BCyABQQFqIQFB+gAhAgy9AQtBkgEhAiABIARGDdUBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQaDUAGotAABHDQIgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNYBCyADQQA2AgAgBkEBaiEBQSQMAgsgA0EANgIADAILIAEgBEYEQEGRASECDNQBCyABLQAAQcwARw0BIAFBAWohAUETCzoAKSADKAIEIQAgA0EANgIEIAMgACABEC4iAA0CDAELQQAhAiADQQA2AhwgAyABNgIUIANB/h82AhAgA0EGNgIMDNEBC0H4ACECDLcBCyADQZABNgIcIAMgATYCFCADIAA2AgxBACECDM8BC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ0AIABBFUYNASADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgzOAQtB9wAhAgy0AQsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDMwBCyABIARGBEBBjwEhAgzMAQsCQCABLQAAQSBGBEAgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GbHzYCECADQQY2AgxBACECDMwBC0ECIQIMsgELA0AgAS0AAEEgRw0CIAQgAUEBaiIBRw0AC0GOASECDMoBCyABIARGBEBBjQEhAgzKAQsCQCABLQAAQQlrDgRKAABKAAtB9QAhAgywAQsgAy0AKUEFRgRAQfYAIQIMsAELQfQAIQIMrwELIAEgBEYEQEGMASECDMgBCyADQRA2AgggAyABNgIEDAoLIAEgBEYEQEGLASECDMcBCwJAIAEtAABBCWsOBEcAAEcAC0HzACECDK0BCyABIARHBEAgA0EQNgIIIAMgATYCBEHxACECDK0BC0GKASECDMUBCwJAIAEgBEcEQANAIAEtAABBoNAAai0AACIAQQNHBEACQCAAQQFrDgJJAAQLQfAAIQIMrwELIAQgAUEBaiIBRw0AC0GIASEC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BCABQQFqIgFHDQALQfsAIQIMpwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMpgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMpQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0DIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMpAELIANBADYCHCADIAE2AhQgA0G8CjYCECADQQc2AgxBACECDKMBC0HPACECDIkBC0HRACECDIgBC0HnACECDIcBCyABIARGBEBB+gAhAgygAQsCQCABLQAAQQlrDgQgAAAgAAsgAUEBaiEBQeYAIQIMhgELIAEgBEYEQEH5ACECDJ8BCwJAIAEtAABBCWsOBB8AAB8AC0EAIQACQCADKAI4IgJFDQAgAigCOCICRQ0AIAMgAhEAACEACyAARQRAQeIBIQIMhgELIABBFUcEQCADQQA2AhwgAyABNgIUIANByQ02AhAgA0EaNgIMQQAhAgyfAQsgA0H4ADYCHCADIAE2AhQgA0HqGjYCECADQRU2AgxBACECDJ4BCyABIARHBEAgA0ENNgIIIAMgATYCBEHkACECDIUBC0H3ACECDJ0BCyABIARGBEBB9gAhAgydAQsCQAJAAkAgAS0AAEHIAGsOCwABCwsLCwsLCwsCCwsgAUEBaiEBQd0AIQIMhQELIAFBAWohAUHgACECDIQBCyABQQFqIQFB4wAhAgyDAQtB9QAhAiABIARGDZsBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbXVAGotAABHDQggAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJwBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIABEAgA0H0ADYCHCADIAE2AhQgAyAANgIMQQAhAgycAQtB4gAhAgyCAQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJwBC0HhACECDIIBCyADQfMANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMmgELIAMtACkiAEEja0ELSQ0JAkAgAEEGSw0AQQEgAHRBygBxRQ0ADAoLQQAhAiADQQA2AhwgAyABNgIUIANB7Qk2AhAgA0EINgIMDJkBC0HyACECIAEgBEYNmAEgAygCACIAIAQgAWtqIQUgASAAa0EBaiEGAkADQCABLQAAIABBs9UAai0AAEcNBSAAQQFGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMmQELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfEANgIcIAMgATYCFCADIAA2AgxBACECDJkBC0HfACECDH8LQQAhAAJAIAMoAjgiAkUNACACKAI0IgJFDQAgAyACEQAAIQALAkAgAARAIABBFUYNASADQQA2AhwgAyABNgIUIANB6g02AhAgA0EmNgIMQQAhAgyZAQtB3gAhAgx/CyADQfAANgIcIAMgATYCFCADQYAbNgIQIANBFTYCDEEAIQIMlwELIAMtAClBIUYNBiADQQA2AhwgAyABNgIUIANBkQo2AhAgA0EINgIMQQAhAgyWAQtB7wAhAiABIARGDZUBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDVAGotAABHDQIgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADJYBCyADKAIEIQAgA0IANwMAIAMgACAGQQFqIgEQKyIARQ0CIANB7QA2AhwgAyABNgIUIAMgADYCDEEAIQIMlQELIANBADYCAAsgAygCBCEAIANBADYCBCADIAAgARArIgBFDYABIANB7gA2AhwgAyABNgIUIAMgADYCDEEAIQIMkwELQdwAIQIMeQtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJMBC0HbACECDHkLIANB7AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyRAQsgAy0AKSIAQSNJDQAgAEEuRg0AIANBADYCHCADIAE2AhQgA0HJCTYCECADQQg2AgxBACECDJABC0HaACECDHYLIAEgBEYEQEHrACECDI8BCwJAIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMjwELQdkAIQIMdQsgASAERwRAIANBDjYCCCADIAE2AgRB2AAhAgx1C0HqACECDI0BCyABIARGBEBB6QAhAgyNAQsgAS0AAEEwayIAQf8BcUEKSQRAIAMgADoAKiABQQFqIQFB1wAhAgx0CyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeiADQegANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyABIARGBEBB5wAhAgyMAQsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAMoAgQhACADQQA2AgQgAyAAIAEQLyIARQ17IANB5gA2AhwgAyABNgIUIAMgADYCDEEAIQIMjAELQdYAIQIMcgsgASAERgRAQeUAIQIMiwELQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIANgIcIAMgATYCFCADIAA2AgxBACECDI0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNfSADQeMANgIcIAMgATYCFCADIAA2AgxBACECDIwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNeyADQeQANgIcIAMgATYCFCADIAA2AgwMiwELQdQAIQIMcQsgAy0AKUEiRg2GAUHTACECDHALQQAhAAJAIAMoAjgiAkUNACACKAJEIgJFDQAgAyACEQAAIQALIABFBEBB1QAhAgxwCyAAQRVHBEAgA0EANgIcIAMgATYCFCADQaQNNgIQIANBITYCDEEAIQIMiQELIANB4QA2AhwgAyABNgIUIANB0Bo2AhAgA0EVNgIMQQAhAgyIAQsgASAERgRAQeAAIQIMiAELAkACQAJAAkACQCABLQAAQQprDgQBBAQABAsgAUEBaiEBDAELIAFBAWohASADQS9qLQAAQQFxRQ0BC0HSACECDHALIANBADYCHCADIAE2AhQgA0G2ETYCECADQQk2AgxBACECDIgBCyADQQA2AhwgAyABNgIUIANBthE2AhAgA0EJNgIMQQAhAgyHAQsgASAERgRAQd8AIQIMhwELIAEtAABBCkYEQCABQQFqIQEMCQsgAy0ALkHAAHENCCADQQA2AhwgAyABNgIUIANBthE2AhAgA0ECNgIMQQAhAgyGAQsgASAERgRAQd0AIQIMhgELIAEtAAAiAkENRgRAIAFBAWohAUHQACECDG0LIAEhACACQQlrDgQFAQEFAQsgBCABIgBGBEBB3AAhAgyFAQsgAC0AAEEKRw0AIABBAWoMAgtBACECIANBADYCHCADIAA2AhQgA0HKLTYCECADQQc2AgwMgwELIAEgBEYEQEHbACECDIMBCwJAIAEtAABBCWsOBAMAAAMACyABQQFqCyEBQc4AIQIMaAsgASAERgRAQdoAIQIMgQELIAEtAABBCWsOBAABAQABC0EAIQIgA0EANgIcIANBmhI2AhAgA0EHNgIMIAMgAUEBajYCFAx/CyADQYASOwEqQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB2QA2AhwgAyABNgIUIANB6ho2AhAgA0EVNgIMQQAhAgx+C0HNACECDGQLIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDHwLIAEgBEYEQEHZACECDHwLIAEtAABBIEcNPSABQQFqIQEgAy0ALkEBcQ09IANBADYCHCADIAE2AhQgA0HCHDYCECADQR42AgxBACECDHsLIAEgBEYEQEHYACECDHsLAkACQAJAAkACQCABLQAAIgBBCmsOBAIDAwABCyABQQFqIQFBLCECDGULIABBOkcNASADQQA2AhwgAyABNgIUIANB5xE2AhAgA0EKNgIMQQAhAgx9CyABQQFqIQEgA0Evai0AAEEBcUUNcyADLQAyQYABcUUEQCADQTJqIQIgAxA1QQAhAAJAIAMoAjgiBkUNACAGKAIoIgZFDQAgAyAGEQAAIQALAkACQCAADhZNTEsBAQEBAQEBAQEBAQEBAQEBAQEAAQsgA0EpNgIcIAMgATYCFCADQawZNgIQIANBFTYCDEEAIQIMfgsg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c3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",yc;Object.defineProperty(bh,"exports",{get:()=>yc||(yc=ER.from(uR,"base64"))})});var Mh=p((Jv,Uh)=>{"use strict";var{Buffer:QR}=require("node:buffer"),hR="AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAn9/AGABfwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAzU0BQYAAAMAAAAAAAADAQMAAwMDAAACAAAAAAICAgICAgICAgIBAQEBAQEBAQEBAwAAAwAAAAQFAXABExMFAwEAAgYIAX8BQcDZBAsHxQcoBm1lbW9yeQIAC19pbml0aWFsaXplAAgZX19pbmRpcmVjdF9mdW5jdGlvbl90YWJsZQEAC2xsaHR0cF9pbml0AAkYbGxodHRwX3Nob3VsZF9rZWVwX2FsaXZlADcMbGxodHRwX2FsbG9jAAsGbWFsbG9jADkLbGxodHRwX2ZyZWUADARmcmVlAAwPbGxodHRwX2dldF90eXBlAA0VbGxodHRwX2dldF9odHRwX21ham9yAA4VbGxodHRwX2dldF9odHRwX21pbm9yAA8RbGxodHRwX2dldF9tZXRob2QAEBZsbGh0dHBfZ2V0X3N0YXR1c19jb2RlABESbGxodHRwX2dldF91cGdyYWRlABIMbGxodHRwX3Jlc2V0ABMObGxodHRwX2V4ZWN1dGUAFBRsbGh0dHBfc2V0dGluZ3NfaW5pdAAVDWxsaHR0cF9maW5pc2gAFgxsbGh0dHBfcGF1c2UAFw1sbGh0dHBfcmVzdW1lABgbbGxodHRwX3Jlc3VtZV9hZnRlcl91cGdyYWRlABkQbGxodHRwX2dldF9lcnJubwAaF2xsaHR0cF9nZXRfZXJyb3JfcmVhc29uABsXbGxodHRwX3NldF9lcnJvcl9yZWFzb24AHBRsbGh0dHBfZ2V0X2Vycm9yX3BvcwAdEWxsaHR0cF9lcnJub19uYW1lAB4SbGxodHRwX21ldGhvZF9uYW1lAB8SbGxodHRwX3N0YXR1c19uYW1lACAabGxodHRw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AXRrQT5qIQILIAEgAjYCHCABQgA3AhAgAkECdEH01wBqIQACQEHI1QAoAgAiA0EBIAJ0IgdxRQRAIAAgATYCAEHI1QAgAyAHcjYCACABIAA2AhggASABNgIIIAEgATYCDAwBCyAEQRkgAkEBdmtBACACQR9HG3QhAiAAKAIAIQACQANAIAAiAygCBEF4cSAERg0BIAJBHXYhACACQQF0IQIgAyAAQQRxakEQaiIHKAIAIgANAAsgByABNgIAIAEgAzYCGCABIAE2AgwgASABNgIIDAELIAMoAggiACABNgIMIAMgATYCCCABQQA2AhggASADNgIMIAEgADYCCAtB5NUAQeTVACgCAEEBayIAQX8gABs2AgALCwcAIAAtACgLBwAgAC0AKgsHACAALQArCwcAIAAtACkLBwAgAC8BNAsHACAALQAwC0ABBH8gACgCGCEBIAAvAS4hAiAALQAoIQMgACgCOCEEIAAQOCAAIAQ2AjggACADOgAoIAAgAjsBLiAAIAE2AhgLhocCAwd/A34BeyABIAJqIQQCQCAAIgMoAgwiAA0AIAMoAgQEQCADIAE2AgQLIwBBEGsiCSQAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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DAgLQeMBDAcLQdcBDAYLQdgBDAULQdkBDAQLQdoBDAMLQdsBDAILQd0BDAELQdwBCyECA0ACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAMCfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAAn8CQAJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAwJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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A0EXNgIcIAMgADYCDCADIAFBAWo2AhQM+AILIABBFUYNI0EAIQIgA0EANgIcIAMgATYCFCADQdYMNgIQIANBIzYCDAz3AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQwdCyADQRk2AhwgAyAANgIMIAMgAUEBajYCFAz2AgsgAygCBCEAQQAhAiADQQA2AgQgAyAAIAEQNCIARQRAIAFBAWohAQzvAgsgA0EaNgIcIAMgADYCDCADIAFBAWo2AhQM9QILIABBFUYNH0EAIQIgA0EANgIcIAMgATYCFCADQdAPNgIQIANBIjYCDAz0AgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDBsLIANBHDYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgzzAgsgAygCBCEAIANBADYCBCADIAAgARAzIgBFBEAgAUEBaiEBDOsCCyADQR02AhwgAyAANgIMIAMgAUEBajYCFEEAIQIM8gILIABBO0cNASABQQFqIQELQSYhAgzXAgtBACECIANBADYCHCADIAE2AhQgA0GfFTYCECADQQw2AgwM7wILIAEgBEcEQANAIAEtAABBIEcNhAIgBCABQQFqIgFHDQALQSwhAgzvAgtBLCECDO4CCyABIARGBEBBNCECDO4CCwJAAkADQAJAIAEtAABBCmsOBAIAAAMACyAEIAFBAWoiAUcNAAtBNCECDO8CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUNnwIgA0EyNgIcIAMgATYCFCADIAA2AgxBACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABEDEiAEUEQCABQQFqIQEMnwILIANBMjYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgztAgsgASAERwRAAkADQCABLQAAQTBrIgBB/wFxQQpPBEBBOiECDNcCCyADKQMgIgtCmbPmzJmz5swZVg0BIAMgC0IKfiIKNwMgIAogAK1C/wGDIgtCf4VWDQEgAyAKIAt8NwMgIAQgAUEBaiIBRw0AC0HAACECDO4CCyADKAIEIQAgA0EANgIEIAMgACABQQFqIgEQMSIADRcM4gILQcAAIQIM7AILIAEgBEYEQEHJACECDOwCCwJAA0ACQCABLQAAQQlrDhgAAqICogKpAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAqICogKiAgCiAgsgBCABQQFqIgFHDQALQckAIQIM7AILIAFBAWohASADQS9qLQAAQQFxDaUCIANBADYCHCADIAE2AhQgA0GXEDYCECADQQo2AgxBACECDOsCCyABIARHBEADQCABLQAAQSBHDRUgBCABQQFqIgFHDQALQfgAIQIM6wILQfgAIQIM6gILIANBAjoAKAw4C0EAIQIgA0EANgIcIANBvws2AhAgA0ECNgIMIAMgAUEBajYCFAzoAgtBACECDM4CC0ENIQIMzQILQRMhAgzMAgtBFSECDMsCC0EWIQIMygILQRghAgzJAgtBGSECDMgCC0EaIQIMxwILQRshAgzGAgtBHCECDMUCC0EdIQIMxAILQR4hAgzDAgtBHyECDMICC0EgIQIMwQILQSIhAgzAAgtBIyECDL8CC0ElIQIMvgILQeUAIQIMvQILIANBPTYCHCADIAE2AhQgAyAANgIMQQAhAgzVAgsgA0EbNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIM1AILIANBIDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNMCCyADQRM2AhwgAyABNgIUIANBmBo2AhAgA0EVNgIMQQAhAgzSAgsgA0ELNgIcIAMgATYCFCADQZgaNgIQIANBFTYCDEEAIQIM0QILIANBEDYCHCADIAE2AhQgA0GYGjYCECADQRU2AgxBACECDNACCyADQSA2AhwgAyABNgIUIANBpBw2AhAgA0EVNgIMQQAhAgzPAgsgA0ELNgIcIAMgATYCFCADQaQcNgIQIANBFTYCDEEAIQIMzgILIANBDDYCHCADIAE2AhQgA0GkHDYCECADQRU2AgxBACECDM0CC0EAIQIgA0EANgIcIAMgATYCFCADQd0ONgIQIANBEjYCDAzMAgsCQANAAkAgAS0AAEEKaw4EAAICAAILIAQgAUEBaiIBRw0AC0H9ASECDMwCCwJAAkAgAy0ANkEBRw0AQQAhAAJAIAMoAjgiAkUNACACKAJgIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRw0BIANB/AE2AhwgAyABNgIUIANB3Bk2AhAgA0EVNgIMQQAhAgzNAgtB3AEhAgyzAgsgA0EANgIcIAMgATYCFCADQfkLNgIQIANBHzYCDEEAIQIMywILAkACQCADLQAoQQFrDgIEAQALQdsBIQIMsgILQdQBIQIMsQILIANBAjoAMUEAIQACQCADKAI4IgJFDQAgAigCACICRQ0AIAMgAhEAACEACyAARQRAQd0BIQIMsQILIABBFUcEQCADQQA2AhwgAyABNgIUIANBtAw2AhAgA0EQNgIMQQAhAgzKAgsgA0H7ATYCHCADIAE2AhQgA0GBGjYCECADQRU2AgxBACECDMkCCyABIARGBEBB+gEhAgzJAgsgAS0AAEHIAEYNASADQQE6ACgLQcABIQIMrgILQdoBIQIMrQILIAEgBEcEQCADQQw2AgggAyABNgIEQdkBIQIMrQILQfkBIQIMxQILIAEgBEYEQEH4ASECDMUCCyABLQAAQcgARw0EIAFBAWohAUHYASECDKsCCyABIARGBEBB9wEhAgzEAgsCQAJAIAEtAABBxQBrDhAABQUFBQUFBQUFBQUFBQUBBQsgAUEBaiEBQdYBIQIMqwILIAFBAWohAUHXASECDKoCC0H2ASECIAEgBEYNwgIgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABButUAai0AAEcNAyAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMwwILIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgBFBEBB4wEhAgyqAgsgA0H1ATYCHCADIAE2AhQgAyAANgIMQQAhAgzCAgtB9AEhAiABIARGDcECIAMoAgAiACAEIAFraiEFIAEgAGtBAWohBgJAA0AgAS0AACAAQbjVAGotAABHDQIgAEEBRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADMICCyADQYEEOwEoIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARAuIgANAwwCCyADQQA2AgALQQAhAiADQQA2AhwgAyABNgIUIANB5R82AhAgA0EINgIMDL8CC0HVASECDKUCCyADQfMBNgIcIAMgATYCFCADIAA2AgxBACECDL0CC0EAIQACQCADKAI4IgJFDQAgAigCQCICRQ0AIAMgAhEAACEACyAARQ1uIABBFUcEQCADQQA2AhwgAyABNgIUIANBgg82AhAgA0EgNgIMQQAhAgy9AgsgA0GPATYCHCADIAE2AhQgA0HsGzYCECADQRU2AgxBACECDLwCCyABIARHBEAgA0ENNgIIIAMgATYCBEHTASECDKMCC0HyASECDLsCCyABIARGBEBB8QEhAgy7AgsCQAJAAkAgAS0AAEHIAGsOCwABCAgICAgICAgCCAsgAUEBaiEBQdABIQIMowILIAFBAWohAUHRASECDKICCyABQQFqIQFB0gEhAgyhAgtB8AEhAiABIARGDbkCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEG11QBqLQAARw0EIABBAkYNAyAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy5AgtB7wEhAiABIARGDbgCIAMoAgAiACAEIAFraiEGIAEgAGtBAWohBQNAIAEtAAAgAEGz1QBqLQAARw0DIABBAUYNAiAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy4AgtB7gEhAiABIARGDbcCIAMoAgAiACAEIAFraiEGIAEgAGtBAmohBQNAIAEtAAAgAEGw1QBqLQAARw0CIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBjYCAAy3AgsgAygCBCEAIANCADcDACADIAAgBUEBaiIBECsiAEUNAiADQewBNgIcIAMgATYCFCADIAA2AgxBACECDLYCCyADQQA2AgALIAMoAgQhACADQQA2AgQgAyAAIAEQKyIARQ2cAiADQe0BNgIcIAMgATYCFCADIAA2AgxBACECDLQCC0HPASECDJoCC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMtAILQc4BIQIMmgILIANB6wE2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyyAgsgASAERgRAQesBIQIMsgILIAEtAABBL0YEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQbI4NgIQIANBCDYCDEEAIQIMsQILQc0BIQIMlwILIAEgBEcEQCADQQ42AgggAyABNgIEQcwBIQIMlwILQeoBIQIMrwILIAEgBEYEQEHpASECDK8CCyABLQAAQTBrIgBB/wFxQQpJBEAgAyAAOgAqIAFBAWohAUHLASECDJYCCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNlwIgA0HoATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgASAERgRAQecBIQIMrgILAkAgAS0AAEEuRgRAIAFBAWohAQwBCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmAIgA0HmATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgtBygEhAgyUAgsgASAERgRAQeUBIQIMrQILQQAhAEEBIQVBASEHQQAhAgJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAEtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyECQQAhBUEAIQcMAgtBCSECQQEhAEEAIQVBACEHDAELQQAhBUEBIQILIAMgAjoAKyABQQFqIQECQAJAIAMtAC5BEHENAAJAAkACQCADLQAqDgMBAAIECyAHRQ0DDAILIAANAQwCCyAFRQ0BCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNAiADQeIBNgIcIAMgATYCFCADIAA2AgxBACECDK8CCyADKAIEIQAgA0EANgIEIAMgACABEC8iAEUNmgIgA0HjATYCHCADIAE2AhQgAyAANgIMQQAhAgyuAgsgAygCBCEAIANBADYCBCADIAAgARAvIgBFDZgCIANB5AE2AhwgAyABNgIUIAMgADYCDAytAgtByQEhAgyTAgtBACEAAkAgAygCOCICRQ0AIAIoAkQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GkDTYCECADQSE2AgxBACECDK0CC0HIASECDJMCCyADQeEBNgIcIAMgATYCFCADQdAaNgIQIANBFTYCDEEAIQIMqwILIAEgBEYEQEHhASECDKsCCwJAIAEtAABBIEYEQCADQQA7ATQgAUEBaiEBDAELIANBADYCHCADIAE2AhQgA0GZETYCECADQQk2AgxBACECDKsCC0HHASECDJECCyABIARGBEBB4AEhAgyqAgsCQCABLQAAQTBrQf8BcSICQQpJBEAgAUEBaiEBAkAgAy8BNCIAQZkzSw0AIAMgAEEKbCIAOwE0IABB/v8DcSACQf//A3NLDQAgAyAAIAJqOwE0DAILQQAhAiADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMDKsCCyADQQA2AhwgAyABNgIUIANBlR42AhAgA0ENNgIMQQAhAgyqAgtBxgEhAgyQAgsgASAERgRAQd8BIQIMqQILAkAgAS0AAEEwa0H/AXEiAkEKSQRAIAFBAWohAQJAIAMvATQiAEGZM0sNACADIABBCmwiADsBNCAAQf7/A3EgAkH//wNzSw0AIAMgACACajsBNAwCC0EAIQIgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDAyqAgsgA0EANgIcIAMgATYCFCADQZUeNgIQIANBDTYCDEEAIQIMqQILQcUBIQIMjwILIAEgBEYEQEHeASECDKgCCwJAIAEtAABBMGtB/wFxIgJBCkkEQCABQQFqIQECQCADLwE0IgBBmTNLDQAgAyAAQQpsIgA7ATQgAEH+/wNxIAJB//8Dc0sNACADIAAgAmo7ATQMAgtBACECIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgwMqQILIANBADYCHCADIAE2AhQgA0GVHjYCECADQQ02AgxBACECDKgCC0HEASECDI4CCyABIARGBEBB3QEhAgynAgsCQAJAAkACQCABLQAAQQprDhcCAwMAAwMDAwMDAwMDAwMDAwMDAwMDAQMLIAFBAWoMBQsgAUEBaiEBQcMBIQIMjwILIAFBAWohASADQS9qLQAAQQFxDQggA0EANgIcIAMgATYCFCADQY0LNgIQIANBDTYCDEEAIQIMpwILIANBADYCHCADIAE2AhQgA0GNCzYCECADQQ02AgxBACECDKYCCyABIARHBEAgA0EPNgIIIAMgATYCBEEBIQIMjQILQdwBIQIMpQILAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0HbASECDKYCCyADKAIEIQAgA0EANgIEIAMgACABEC0iAEUEQCABQQFqIQEMBAsgA0HaATYCHCADIAA2AgwgAyABQQFqNgIUQQAhAgylAgsgAygCBCEAIANBADYCBCADIAAgARAtIgANASABQQFqCyEBQcEBIQIMigILIANB2QE2AhwgAyAANgIMIAMgAUEBajYCFEEAIQIMogILQcIBIQIMiAILIANBL2otAABBAXENASADQQA2AhwgAyABNgIUIANB5Bw2AhAgA0EZNgIMQQAhAgygAgsgASAERgRAQdkB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CyADIAU2AgAMkAILIANBADYCACAGQQFqIQFBGgw8C0HKASECIAEgBEYNjgIgAygCACIAIAQgAWtqIQUgASAAa0EDaiEGAkADQCABLQAAIABBjdUAai0AAEcNOyAAQQNGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMjwILIANBADYCACAGQQFqIQFBIQw7CyABIARGBEBByQEhAgyOAgsCQAJAIAEtAABBwQBrDhQAPT09PT09PT09PT09PT09PT09AT0LIAFBAWohAUGtASECDPUBCyABQQFqIQFBsAEhAgz0AQsgASAERgRAQcgBIQIMjQILAkACQCABLQAAQdUAaw4LADw8PDw8PDw8PAE8CyABQQFqIQFBrgEhAgz0AQsgAUEBaiEBQa8BIQIM8wELQccBIQIgASAERg2LAiADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw04IABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyMAgsgA0EANgIAIAZBAWohAUEqDDgLIAEgBEYEQEHGASECDIsCCyABLQAAQdAARw04IAFBAWohAUElDDcLQcUBIQIgASAERg2JAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGB1QBqLQAARw02IABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyKAgsgA0EANgIAIAZBAWohAUEODDYLIAEgBEYEQEHEASECDIkCCyABLQAAQcUARw02IAFBAWohAUGrASECDO8BCyABIARGBEBBwwEhAgyIAgsCQAJAAkACQCABLQAAQcIAaw4PAAECOTk5OTk5OTk5OTkDOQsgAUEBaiEBQacBIQIM8QELIAFBAWohAUGoASECDPABCyABQQFqIQFBqQEhAgzvAQsgAUEBaiEBQaoBIQIM7gELQcIBIQIgASAERg2GAiADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEH+1ABqLQAARw0zIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyHAgsgA0EANgIAIAZBAWohAUEUDDMLQcEBIQIgASAERg2FAiADKAIAIgAgBCABa2ohBSABIABrQQRqIQYCQANA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BTYCAAzsAQsgA0EANgIAIAZBAWohAUEXDBgLQaYBIQIgASAERg3qASADKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEHB1ABqLQAARw0XIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzrAQsgA0EANgIAIAZBAWohAUEYDBcLIAEgBEYEQEGlASECDOoBCwJAAkAgAS0AAEHJAGsOBwAZGRkZGQEZCyABQQFqIQFBiwEhAgzRAQsgAUEBaiEBQYwBIQIM0AELQaQBIQIgASAERg3oASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGm1QBqLQAARw0VIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzpAQsgA0EANgIAIAZBAWohAUEJDBULQaMBIQIgASAERg3nASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGk1QBqLQAARw0UIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzoAQsgA0EANgIAIAZBAWohAUEfDBQLQaIBIQIgASAERg3mASADKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEG+1ABqLQAARw0TIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAznAQsgA0EANgIAIAZBAWohAUECDBMLQaEBIQIgASAERg3lASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYDQCABLQAAIABBvNQAai0AAEcNESAAQQFGDQIgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM5QELIAEgBEYEQEGgASECDOUBC0EBIAEtAABB3wBHDREaIAFBAWohAUGHASECDMsBCyADQQA2AgAgBkEBaiEBQYgBIQIMygELQZ8BIQIgASAERg3iASADKAIAIgAgBCABa2ohBSABIABrQQhqIQYCQANAIAEtAAAgAEGE1QBqLQAARw0PIABBCEYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAzjAQsgA0EANgIAIAZBAWohAUEpDA8LQZ4BIQIgASAERg3hASADKAIAIgAgBCABa2ohBSABIABrQQNqIQYCQANAIAEtAAAgAEG41ABqLQAARw0OIABBA0YNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAziAQsgA0EANgIAIAZBAWohAUEtDA4LIAEgBEYEQEGdASECDOEBCyABLQAAQcUARw0OIAFBAWohAUGEASECDMcBCyABIARGBEBBnAEhAgzgAQsCQAJAIAEtAABBzABrDggADw8PDw8PAQ8LIAFBAWohAUGCASECDMcBCyABQQFqIQFBgwEhAgzGAQtBmwEhAiABIARGDd4BIAMoAgAiACAEIAFraiEFIAEgAGtBBGohBgJAA0AgAS0AACAAQbPUAGotAABHDQsgAEEERg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN8BCyADQQA2AgAgBkEBaiEBQSMMCwtBmgEhAiABIARGDd0BIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQbDUAGotAABHDQogAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADN4BCyADQQA2AgAgBkEBaiEBQQAMCgsgASAERgRAQZkBIQIM3QELAkACQCABLQAAQcgAaw4IAAwMDAwMDAEMCyABQQFqIQFB/QAhAgzEAQsgAUEBaiEBQYABIQIMwwELIAEgBEYEQEGYASECDNwBCwJAAkAgAS0AAEHOAGsOAwALAQsLIAFBAWohAUH+ACECDMMBCyABQQFqIQFB/wAhAgzCAQsgASAERgRAQZcBIQIM2wELIAEtAABB2QBHDQggAUEBaiEBQQgMBwtBlgEhAiABIARGDdkBIAMoAgAiACAEIAFraiEFIAEgAGtBA2ohBgJAA0AgAS0AACAAQazUAGotAABHDQYgAEEDRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNoBCyADQQA2AgAgBkEBaiEBQQUMBgtBlQEhAiABIARGDdgBIAMoAgAiACAEIAFraiEFIAEgAGtBBWohBgJAA0AgAS0AACAAQabUAGotAABHDQUgAEEFRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNkBCyADQQA2AgAgBkEBaiEBQRYMBQtBlAEhAiABIARGDdcBIAMoAgAiACAEIAFraiEFIAEgAGtBAmohBgJAA0AgAS0AACAAQaHVAGotAABHDQQgAEECRg0BIABBAWohACAEIAFBAWoiAUcNAAsgAyAFNgIADNgBCyADQQA2AgAgBkEBaiEBQRAMBAsgASAERgRAQZMBIQIM1wELAkACQCABLQAAQcMAaw4MAAYGBgYGBgYGBgYBBgsgAUEBaiEBQfkAIQIMvgELIAFBAWohAUH6ACECDL0BC0GSASECIAEgBEYN1QEgAygCACIAIAQgAWtqIQUgASAAa0EFaiEGAkADQCABLQAAIABBoNQAai0AAEcNAiAAQQVGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAM1gELIANBADYCACAGQQFqIQFBJAwCCyADQQA2AgAMAgsgASAERgRAQZEBIQIM1AELIAEtAABBzABHDQEgAUEBaiEBQRMLOgApIAMoAgQhACADQQA2AgQgAyAAIAEQLiIADQIMAQtBACECIANBADYCHCADIAE2AhQgA0H+HzYCECADQQY2AgwM0QELQfgAIQIMtwELIANBkAE2AhwgAyABNgIUIAMgADYCDEEAIQIMzwELQQAhAAJAIAMoAjgiAkUNACACKAJAIgJFDQAgAyACEQAAIQALIABFDQAgAEEVRg0BIANBADYCHCADIAE2AhQgA0GCDzYCECADQSA2AgxBACECDM4BC0H3ACECDLQBCyADQY8BNgIcIAMgATYCFCADQewbNgIQIANBFTYCDEEAIQIMzAELIAEgBEYEQEGPASECDMwBCwJAIAEtAABBIEYEQCABQQFqIQEMAQsgA0EANgIcIAMgATYCFCADQZsfNgIQIANBBjYCDEEAIQIMzAELQQIhAgyyAQsDQCABLQAAQSBHDQIgBCABQQFqIgFHDQALQY4BIQIMygELIAEgBEYEQEGNASECDMoBCwJAIAEtAABBCWsOBEoAAEoAC0H1ACECDLABCyADLQApQQVGBEBB9gAhAgywAQtB9AAhAgyvAQsgASAERgRAQYwBIQIMyAELIANBEDYCCCADIAE2AgQMCgsgASAERgRAQYsBIQIMxwELAkAgAS0AAEEJaw4ERwAARwALQfMAIQIMrQELIAEgBEcEQCADQRA2AgggAyABNgIEQfEAIQIMrQELQYoBIQIMxQELAkAgASAERwRAA0AgAS0AAEGg0ABqLQAAIgBBA0cEQAJAIABBAWsOAkkABAtB8AAhAgyvAQsgBCABQQFqIgFHDQALQYgBIQIMxgELQYgBIQIMxQELIANBADYCHCADIAE2AhQgA0HbIDYCECADQQc2AgxBACECDMQBCyABIARGBEBBiQEhAgzEAQsCQAJAAkAgAS0AAEGg0gBqLQAAQQFrDgNGAgABC0HyACECDKwBCyADQQA2AhwgAyABNgIUIANBtBI2AhAgA0EHNgIMQQAhAgzEAQtB6gAhAgyqAQsgASAERwRAIAFBAWohAUHvACECDKoBC0GHASECDMIBCyAEIAEiAEYEQEGGASECDMIBCyAALQAAIgFBL0YEQCAAQQFqIQFB7gAhAgypAQsgAUEJayICQRdLDQEgACEBQQEgAnRBm4CABHENQQwBCyAEIAEiAEYEQEGFASECDMEBCyAALQAAQS9HDQAgAEEBaiEBDAMLQQAhAiADQQA2AhwgAyAANgIUIANB2yA2AhAgA0EHNgIMDL8BCwJAAkACQAJAAkADQCABLQAAQaDOAGotAAAiAEEFRwRAAkACQCAAQQFrDghHBQYHCAAEAQgLQesAIQIMrQELIAFBAWohAUHtACECDKwBCyAEIAFBAWoiAUcNAAtBhAEhAgzDAQsgAUEBagwUCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDMEBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDMABCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNHiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDL8BCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy+AQsgASAERgRAQYMBIQIMvgELAkAgAS0AAEGgzgBqLQAAQQFrDgg+BAUGAAgCAwcLIAFBAWohAQtBAyECDKMBCyABQQFqDA0LQQAhAiADQQA2AhwgA0HREjYCECADQQc2AgwgAyABQQFqNgIUDLoBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQdsANgIcIAMgATYCFCADIAA2AgxBACECDLkBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQd0ANgIcIAMgATYCFCADIAA2AgxBACECDLgBCyADKAIEIQAgA0EANgIEIAMgACABECwiAEUNFiADQfoANgIcIAMgATYCFCADIAA2AgxBACECDLcBCyADQQA2AhwgAyABNgIUIANB+Q82AhAgA0EHNgIMQQAhAgy2AQtB7AAhAgycAQsgASAERgRAQYIBIQIMtQELIAFBAWoMAgsgASAERgRAQYEBIQIMtAELIAFBAWoMAQsgASAERg0BIAFBAWoLIQFBBCECDJgBC0GAASECDLABCwNAIAEtAABBoMwAai0AACIAQQJHBEAgAEEBRwRAQekAIQIMmQELDDELIAQgAUEBaiIBRw0AC0H/ACECDK8BCyABIARGBEBB/gAhAgyvAQsCQCABLQAAQQlrDjcvAwYvBAYGBgYGBgYGBgYGBgYGBgYGBgUGBgIGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYABgsgAUEBagshAUEFIQIMlAELIAFBAWoMBgsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgyrAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgyqAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQggA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgypAQsgA0EANgIcIAMgATYCFCADQY0UNgIQIANBBzYCDEEAIQIMqAELAkACQAJAAkADQCABLQAAQaDKAGotAAAiAEEFRwRAAkAgAEEBaw4GLgMEBQYABgtB6AAhAgyUAQsgBCABQQFqIgFHDQALQf0AIQIMqwELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB2wA2AhwgAyABNgIUIAMgADYCDEEAIQIMqgELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB3QA2AhwgAyABNgIUIAMgADYCDEEAIQIMqQELIAMoAgQhACADQQA2AgQgAyAAIAEQLCIARQ0HIANB+gA2AhwgAyABNgIUIAMgADYCDEEAIQIMqAELIANBADYCHCADIAE2AhQgA0HkCDYCECADQQc2AgxBACECDKcBCyABIARGDQEgAUEBagshAUEGIQIMjAELQfwAIQIMpAELAkACQAJAAkADQCABLQAAQaDIAGotAAAiAEEFRwRAIABBAWsOBCkCAwQFCyAEIAFBAWoiAUcNAAtB+wAhAgynAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HbADYCHCADIAE2AhQgAyAANgIMQQAhAgymAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0HdADYCHCADIAE2AhQgAyAANgIMQQAhAgylAQsgAygCBCEAIANBADYCBCADIAAgARAsIgBFDQMgA0H6ADYCHCADIAE2AhQgAyAANgIMQQAhAgykAQsgA0EANgIcIAMgATYCFCADQbwKNgIQIANBBzYCDEEAIQIMowELQc8AIQIMiQELQdEAIQIMiAELQecAIQIMhwELIAEgBEYEQEH6ACECDKABCwJAIAEtAABBCWsOBCAAACAACyABQQFqIQFB5gAhAgyGAQsgASAERgRAQfkAIQIMnwELAkAgAS0AAEEJaw4EHwAAHwALQQAhAAJAIAMoAjgiAkUNACACKAI4IgJFDQAgAyACEQAAIQALIABFBEBB4gEhAgyGAQsgAEEVRwRAIANBADYCHCADIAE2AhQgA0HJDTYCECADQRo2AgxBACECDJ8BCyADQfgANgIcIAMgATYCFCADQeoaNgIQIANBFTYCDEEAIQIMngELIAEgBEcEQCADQQ02AgggAyABNgIEQeQAIQIMhQELQfcAIQIMnQELIAEgBEYEQEH2ACECDJ0BCwJAAkACQCABLQAAQcgAaw4LAAELCwsLCwsLCwILCyABQQFqIQFB3QAhAgyFAQsgAUEBaiEBQeAAIQIMhAELIAFBAWohAUHjACECDIMBC0H1ACECIAEgBEYNmwEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBtdUAai0AAEcNCCAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMnAELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgAEQCADQfQANgIcIAMgATYCFCADIAA2AgxBACECDJwBC0HiACECDIIBC0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMnAELQeEAIQIMggELIANB8wA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyaAQsgAy0AKSIAQSNrQQtJDQkCQCAAQQZLDQBBASAAdEHKAHFFDQAMCgtBACECIANBADYCHCADIAE2AhQgA0HtCTYCECADQQg2AgwMmQELQfIAIQIgASAERg2YASADKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGz1QBqLQAARw0FIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAMgBTYCAAyZAQsgAygCBCEAIANCADcDACADIAAgBkEBaiIBECsiAARAIANB8QA2AhwgAyABNgIUIAMgADYCDEEAIQIMmQELQd8AIQIMfwtBACEAAkAgAygCOCICRQ0AIAIoAjQiAkUNACADIAIRAAAhAAsCQCAABEAgAEEVRg0BIANBADYCHCADIAE2AhQgA0HqDTYCECADQSY2AgxBACECDJkBC0HeACECDH8LIANB8AA2AhwgAyABNgIUIANBgBs2AhAgA0EVNgIMQQAhAgyXAQsgAy0AKUEhRg0GIANBADYCHCADIAE2AhQgA0GRCjYCECADQQg2AgxBACECDJYBC0HvACECIAEgBEYNlQEgAygCACIAIAQgAWtqIQUgASAAa0ECaiEGAkADQCABLQAAIABBsNUAai0AAEcNAiAAQQJGDQEgAEEBaiEAIAQgAUEBaiIBRw0ACyADIAU2AgAMlgELIAMoAgQhACADQgA3AwAgAyAAIAZBAWoiARArIgBFDQIgA0HtADYCHCADIAE2AhQgAyAANgIMQQAhAgyVAQsgA0EANgIACyADKAIEIQAgA0EANgIEIAMgACABECsiAEUNgAEgA0HuADYCHCADIAE2AhQgAyAANgIMQQAhAgyTAQtB3AAhAgx5C0EAIQACQCADKAI4IgJFDQAgAigCNCICRQ0AIAMgAhEAACEACwJAIAAEQCAAQRVGDQEgA0EANgIcIAMgATYCFCADQeoNNgIQIANBJjYCDEEAIQIMkwELQdsAIQIMeQsgA0HsADYCHCADIAE2AhQgA0GAGzYCECADQRU2AgxBACECDJEBCyADLQApIgBBI0kNACAAQS5GDQAgA0EANgIcIAMgATYCFCADQckJNgIQIANBCDYCDEEAIQIMkAELQdoAIQIMdgsgASAERgRAQesAIQIMjwELAkAgAS0AAEEvRgRAIAFBAWohAQwBCyAD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ciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBFeHBlY3RlZCBMRiBhZnRlciBoZWFkZXJzAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMAVXNlciBjYWxsYmFjayBlcnJvcgBgb25fcmVzZXRgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19oZWFkZXJgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3Byb3RvY29sX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fcHJvdG9jb2wARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgAVHJhbnNmZXItRW5jb2RpbmcgY2FuJ3QgYmUgcHJlc2VudCB3aXRoIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgc2l6ZQBFeHBlY3RlZCBMRiBhZnRlciBjaHVuayBzaXplAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgaGVhZGVyIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciBjaHVuayBleHRlbnNpb24gdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIHF1b3RlZC1wYWlyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fcHJvdG9jb2xfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUATWlzc2luZyBleHBlY3RlZCBDUiBhZnRlciByZXNwb25zZSBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAE1pc3NpbmcgZXhwZWN0ZWQgQ1IgYWZ0ZXIgY2h1bmsgZXh0ZW5zaW9uIG5hbWUASW52YWxpZCBzdGF0dXMgY29kZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABNaXNzaW5nIGV4cGVjdGVkIENSIGFmdGVyIGNodW5rIGRhdGEARXhwZWN0ZWQgTEYgYWZ0ZXIgY2h1bmsgZGF0YQBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AARGF0YSBhZnRlciBgQ29ubmVjdGlvbjogY2xvc2VgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBRVUVSWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAEV4cGVjdGVkIExGIGFmdGVyIENSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX1BST1RPQ09MX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8sIFJUU1AvIG9yIElDRS8A5xUAAK8VAACkEgAAkhoAACYWAACeFAAA2xkAAHkVAAB+EgAA/hQAADYVAAALFgAA2BYAAPMSAABCGAAArBYAABIVAAAUFwAA7xcAAEgUAABxFwAAshoAAGsZAAB+GQAANRQAAIIaAABEFwAA/RYAAB4YAACHFwAAqhkAAJMSAAAHGAAALBcAAMoXAACkFwAA5xUAAOcVAABYFwAAOxgAAKASAAAtHAAAwxEAAEgRAADeEgAAQhMAAKQZAAD9EAAA9xUAAKUVAADvFgAA+BkAAEoWAABWFgAA9RUAAAoaAAAIGgAAARoAAKsVAABCEgAA1xAAAEwRAAAFGQAAVBYAAB4RAADKGQAAyBkAAE4WAAD/GAAAcRQAAPAVAADuFQAAlBkAAPwVAAC/GQAAmxkAAHwUAABDEQAAcBgAAJUUAAAnFAAAGRQAANUSAADUGQAARBYAAPcQAEG5OwsBAQBB0DsL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBuj0LBAEAAAIAQdE9C14DBAMDAwMDAAADAwADAwADAwMDAwMDAwMDAAUAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAwADAEG6PwsEAQAAAgBB0T8LXgMAAwMDAwMAAAMDAAMDAAMDAwMDAwMDAwMABAAFAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwADAAMAQbDBAAsNbG9zZWVlcC1hbGl2ZQBBycEACwEBAEHgwQAL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBycMACwEBAEHgwwAL5wEBAQEBAQEBAQEBAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAWNodW5rZWQAQfHFAAteAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBB0McACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQYDIAAsgcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQpTTQ0KDQoAQanIAAsFAQIAAQMAQcDIAAtfBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanKAAsFAQIAAQMAQcDKAAtfBAUFBgUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAQanMAAsEAQAAAQBBwcwAC14CAgACAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAEGpzgALBQECAAEDAEHAzgALXwQFAAAFBQUFBQUFBQUFBQYFBQUFBQUFBQUFBQUABQAHCAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQAFAAUABQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUAAAAFAEGp0AALBQEBAAEBAEHA0AALAQEAQdrQAAtBAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQanSAAsFAQEAAQEAQcDSAAsBAQBBytIACwYCAAAAAAIAQeHSAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBBoNQAC50BTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRVVFUllPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFVFRQQ0VUU1BBRFRQLw==",mc;Object.defineProperty(Uh,"exports",{get:()=>mc||(mc=QR.from(hR,"base64"))})});var Fs=p((Pv,Oh)=>{"use strict";var Th=["GET","HEAD","POST"],IR=new Set(Th),BR=[101,204,205,304],kh=[301,302,303,307,308],CR=new Set(kh),Lh=["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"],dR=new Set(Lh),xh=["no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],fR=["",...xh],pR=new Set(xh),yR=["follow","manual","error"],Hh=["GET","HEAD","OPTIONS","TRACE"],DR=new Set(Hh),mR=["navigate","same-origin","no-cors","cors"],wR=["omit","same-origin","include"],RR=["default","no-store","reload","no-cache","force-cache","only-if-cached"],SR=["content-encoding","content-language","content-location","content-type","content-length"],NR=["half"],Yh=["CONNECT","TRACE","TRACK"],FR=new Set(Yh),Gh=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],bR=new Set(Gh);Oh.exports={subresource:Gh,forbiddenMethods:Yh,requestBodyHeader:SR,referrerPolicy:fR,requestRedirect:yR,requestMode:mR,requestCredentials:wR,requestCache:RR,redirectStatus:kh,corsSafeListedMethods:Th,nullBodyStatus:BR,safeMethods:Hh,badPorts:Lh,requestDuplex:NR,subresourceSet:bR,badPortsSet:dR,redirectStatusSet:CR,corsSafeListedMethodsSet:IR,safeMethodsSet:DR,forbiddenMethodsSet:FR,referrerPolicyTokens:pR}});var Rc=p((qv,vh)=>{"use strict";var wc=Symbol.for("undici.globalOrigin.1");function UR(){return globalThis[wc]}function MR(A){if(A===void 0){Object.defineProperty(globalThis,wc,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let e=new URL(A);if(e.protocol!=="http:"&&e.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${e.protocol}`);Object.defineProperty(globalThis,wc,{value:e,writable:!0,enumerable:!1,configurable:!1})}vh.exports={getGlobalOrigin:UR,setGlobalOrigin:MR}});var no=p((Wv,Vh)=>{"use strict";var TR=new TextDecoder;function kR(A){return A.length===0?"":(A[0]===239&&A[1]===187&&A[2]===191&&(A=A.subarray(3)),TR.decode(A))}Vh.exports={utf8DecodeBytes:kR}});var VA=p((_v,Wh)=>{"use strict";var Jh=require("node:assert"),{utf8DecodeBytes:LR}=no();function xR(A,e,t){let r="";for(;t.position<e.length&&A(e[t.position]);)r+=e[t.position],t.position++;return r}function HR(A,e,t){let r=e.indexOf(A,t.position),s=t.position;return r===-1?(t.position=e.length,e.slice(s)):(t.position=r,e.slice(s,t.position))}var YR=/[\u0009\u000A\u000C\u000D\u0020]/g;function GR(A){A=A.replace(YR,"");let e=A.length;if(e%4===0&&A.charCodeAt(e-1)===61&&(--e,A.charCodeAt(e-1)===61&&--e),e%4===1||/[^+/0-9A-Za-z]/.test(A.length===e?A:A.substring(0,e)))return"failure";let t=Buffer.from(A,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function Ph(A){return A===9||A===10||A===12||A===13||A===32}function OR(A){let e=A.length;if(65535>e)return String.fromCharCode.apply(null,A);let t="",r=0,s=65535;for(;r<e;)r+s>e&&(s=e-r),t+=String.fromCharCode.apply(null,A.subarray(r,r+=s));return t}var vR=/[^\x00-\xFF]/;function VR(A){return Jh(!vR.test(A)),A}function JR(A){return JSON.parse(LR(A))}function PR(A,e=!0,t=!0){return qh(A,e,t,Ph)}function qh(A,e,t,r){let s=0,n=A.length-1;if(e)for(;s<A.length&&r(A.charCodeAt(s));)s++;if(t)for(;n>0&&r(A.charCodeAt(n));)n--;return s===0&&n===A.length-1?A:A.slice(s,n+1)}function qR(A){let e=JSON.stringify(A);if(e===void 0)throw new TypeError("Value is not JSON serializable");return Jh(typeof e=="string"),e}Wh.exports={collectASequenceOfCodePoints:xR,collectASequenceOfCodePointsFast:HR,forgivingBase64:GR,isASCIIWhitespace:Ph,isomorphicDecode:OR,isomorphicEncode:VR,parseJSONFromBytes:JR,removeASCIIWhitespace:PR,removeChars:qh,serializeJavascriptValueToJSONString:qR}});var tA=p((Zv,zh)=>{"use strict";var io=require("node:assert"),{forgivingBase64:WR,collectASequenceOfCodePoints:Sc,collectASequenceOfCodePointsFast:bs,isomorphicDecode:_R,removeASCIIWhitespace:ZR,removeChars:jR}=VA(),XR=new TextEncoder,Us=/^[-!#$%&'*+.^_|~A-Za-z0-9]+$/u,KR=/[\u000A\u000D\u0009\u0020]/u,zR=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/u;function $R(A){io(A.protocol==="data:");let e=jh(A,!0);e=e.slice(5);let t={position:0},r=bs(",",e,t),s=r.length;if(r=ZR(r,!0,!0),t.position>=e.length)return"failure";t.position++;let n=e.slice(s+1),o=Xh(n);if(/;(?:\u0020*)base64$/ui.test(r)){let a=_R(o);if(o=WR(a),o==="failure")return"failure";r=r.slice(0,-6),r=r.replace(/(\u0020+)$/u,""),r=r.slice(0,-1)}r.startsWith(";")&&(r="text/plain"+r);let i=Nc(r);return i==="failure"&&(i=Nc("text/plain;charset=US-ASCII")),{mimeType:i,body:o}}function jh(A,e=!1){if(!e)return A.href;let t=A.href,r=A.hash.length,s=r===0?t:t.substring(0,t.length-r);return!r&&t.endsWith("#")?s.slice(0,-1):s}function Xh(A){let e=XR.encode(A);return eS(e)}function _h(A){return A>=48&&A<=57||A>=65&&A<=70||A>=97&&A<=102}function Zh(A){return A>=48&&A<=57?A-48:(A&223)-55}function eS(A){let e=A.length,t=new Uint8Array(e),r=0,s=0;for(;s<e;){let n=A[s];n!==37?t[r++]=n:n===37&&!(_h(A[s+1])&&_h(A[s+2]))?t[r++]=37:(t[r++]=Zh(A[s+1])<<4|Zh(A[s+2]),s+=2),++s}return e===r?t:t.subarray(0,r)}function Nc(A){A=oo(A,!0,!0);let e={position:0},t=bs("/",A,e);if(t.length===0||!Us.test(t)||e.position>=A.length)return"failure";e.position++;let r=bs(";",A,e);if(r=oo(r,!1,!0),r.length===0||!Us.test(r))return"failure";let s=t.toLowerCase(),n=r.toLowerCase(),o={type:s,subtype:n,parameters:new Map,essence:`${s}/${n}`};for(;e.position<A.length;){e.position++,Sc(c=>KR.test(c),A,e);let i=Sc(c=>c!==";"&&c!=="=",A,e);if(i=i.toLowerCase(),e.position<A.length){if(A[e.position]===";")continue;e.position++}if(e.position>=A.length)break;let a=null;if(A[e.position]==='"')a=Kh(A,e,!0),bs(";",A,e);else if(a=bs(";",A,e),a=oo(a,!1,!0),a.length===0)continue;i.length!==0&&Us.test(i)&&(a.length===0||zR.test(a))&&!o.parameters.has(i)&&o.parameters.set(i,a)}return o}function Kh(A,e,t=!1){let r=e.position,s="";for(io(A[e.position]==='"'),e.position++;s+=Sc(o=>o!=='"'&&o!=="\\",A,e),!(e.position>=A.length);){let n=A[e.position];if(e.position++,n==="\\"){if(e.position>=A.length){s+="\\";break}s+=A[e.position],e.position++}else{io(n==='"');break}}return t?s:A.slice(r,e.position)}function AS(A){io(A!=="failure");let{parameters:e,essence:t}=A,r=t;for(let[s,n]of e.entries())r+=";",r+=s,r+="=",Us.test(n)||(n=n.replace(/[\\"]/ug,"\\$&"),n='"'+n,n+='"'),r+=n;return r}function tS(A){return A===13||A===10||A===9||A===32}function oo(A,e=!0,t=!0){return jR(A,e,t,tS)}function rS(A){switch(A.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 A.subtype.endsWith("+json")?"application/json":A.subtype.endsWith("+xml")?"application/xml":""}zh.exports={dataURLProcessor:$R,URLSerializer:jh,stringPercentDecode:Xh,parseMIMEType:Nc,collectAnHTTPQuotedString:Kh,serializeAMimeType:AS,removeHTTPWhitespace:oo,minimizeSupportedMimeType:rS,HTTP_TOKEN_CODEPOINTS:Us}});var JA=p((jv,bc)=>{"use strict";var $h={__proto__:null,"node:crypto":()=>require("node:crypto"),"node:sqlite":()=>require("node:sqlite"),"node:worker_threads":()=>require("node:worker_threads"),"node:zlib":()=>require("node:zlib")};function sS(A){try{return $h[A](),!0}catch(e){if(e.code!=="ERR_UNKNOWN_BUILTIN_MODULE"&&e.code!=="ERR_NO_CRYPTO")throw e;return!1}}function nS(A,e){return typeof $h[A]()[e]<"u"}var eI=["markAsUncloneable","zstd"],oS={markAsUncloneable:["node:worker_threads","markAsUncloneable"],zstd:["node:zlib","createZstdDecompress"]},AI=["crypto","sqlite"],iS=[...AI,...eI];function aS(A){if(AI.includes(A))return sS(`node:${A}`);if(eI.includes(A)){let[e,t]=oS[A];return nS(e,t)}throw new TypeError(`unknown feature: ${A}`)}var Fc=class{#e=new Map;clear(){this.#e.clear()}has(e){return this.#e.get(e)??this.#A(e)}set(e,t){if(iS.includes(e)===!1)throw new TypeError(`unknown feature: ${e}`);this.#e.set(e,t)}#A(e){let t=aS(e);return this.#e.set(e,t),t}},tI=new Fc;bc.exports.runtimeFeatures=tI;bc.exports.default=tI});var pe=p((Xv,sI)=>{"use strict";var cS=require("node:assert"),{types:se,inspect:gS}=require("node:util"),{runtimeFeatures:lS}=JA(),Uc=1,Mc=2,ao=3,co=4,Tc=5,go=6,kc=7,ve=8,rI=Function.call.bind(Function.prototype[Symbol.hasInstance]),I={converters:{},util:{},errors:{},is:{}};I.errors.exception=function(A){return new TypeError(`${A.header}: ${A.message}`)};I.errors.conversionFailed=function(A){let e=A.types.length===1?"":" one of",t=`${A.argument} could not be converted to${e}: ${A.types.join(", ")}.`;return I.errors.exception({header:A.prefix,message:t})};I.errors.invalidArgument=function(A){return I.errors.exception({header:A.prefix,message:`"${A.value}" is an invalid ${A.type}.`})};I.brandCheck=function(A,e){if(!rI(e,A)){let t=new TypeError("Illegal invocation");throw t.code="ERR_INVALID_THIS",t}};I.brandCheckMultiple=function(A){let e=A.map(t=>I.util.MakeTypeAssertion(t));return t=>{if(e.every(r=>!r(t))){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}}};I.argumentLengthCheck=function({length:A},e,t){if(A<e)throw I.errors.exception({message:`${e} argument${e!==1?"s":""} required, but${A?" only":""} ${A} found.`,header:t})};I.illegalConstructor=function(){throw I.errors.exception({header:"TypeError",message:"Illegal constructor"})};I.util.MakeTypeAssertion=function(A){return e=>rI(A,e)};I.util.Type=function(A){switch(typeof A){case"undefined":return Uc;case"boolean":return Mc;case"string":return ao;case"symbol":return co;case"number":return Tc;case"bigint":return go;case"function":case"object":return A===null?kc:ve}};I.util.Types={UNDEFINED:Uc,BOOLEAN:Mc,STRING:ao,SYMBOL:co,NUMBER:Tc,BIGINT:go,NULL:kc,OBJECT:ve};I.util.TypeValueToString=function(A){switch(I.util.Type(A)){case Uc:return"Undefined";case Mc:return"Boolean";case ao:return"String";case co:return"Symbol";case Tc:return"Number";case go:return"BigInt";case kc:return"Null";case ve:return"Object"}};I.util.markAsUncloneable=lS.has("markAsUncloneable")?require("node:worker_threads").markAsUncloneable:()=>{};I.util.ConvertToInt=function(A,e,t,r){let s,n;e===64?(s=Math.pow(2,53)-1,t==="unsigned"?n=0:n=Math.pow(-2,53)+1):t==="unsigned"?(n=0,s=Math.pow(2,e)-1):(n=Math.pow(-2,e)-1,s=Math.pow(2,e-1)-1);let o=Number(A);if(o===0&&(o=0),I.util.HasFlag(r,I.attributes.EnforceRange)){if(Number.isNaN(o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY)throw I.errors.exception({header:"Integer conversion",message:`Could not convert ${I.util.Stringify(A)} to an integer.`});if(o=I.util.IntegerPart(o),o<n||o>s)throw I.errors.exception({header:"Integer conversion",message:`Value must be between ${n}-${s}, got ${o}.`});return o}return!Number.isNaN(o)&&I.util.HasFlag(r,I.attributes.Clamp)?(o=Math.min(Math.max(o,n),s),Math.floor(o)%2===0?o=Math.floor(o):o=Math.ceil(o),o):Number.isNaN(o)||o===0&&Object.is(0,o)||o===Number.POSITIVE_INFINITY||o===Number.NEGATIVE_INFINITY?0:(o=I.util.IntegerPart(o),o=o%Math.pow(2,e),t==="signed"&&o>=Math.pow(2,e)-1?o-Math.pow(2,e):o)};I.util.IntegerPart=function(A){let e=Math.floor(Math.abs(A));return A<0?-1*e:e};I.util.Stringify=function(A){switch(I.util.Type(A)){case co:return`Symbol(${A.description})`;case ve:return gS(A);case ao:return`"${A}"`;case go:return`${A}n`;default:return`${A}`}};I.util.IsResizableArrayBuffer=function(A){if(se.isArrayBuffer(A))return A.resizable;if(se.isSharedArrayBuffer(A))return A.growable;throw I.errors.exception({header:"IsResizableArrayBuffer",message:`"${I.util.Stringify(A)}" is not an array buffer.`})};I.util.HasFlag=function(A,e){return typeof A=="number"&&(A&e)===e};I.sequenceConverter=function(A){return(e,t,r,s)=>{if(I.util.Type(e)!==ve)throw I.errors.exception({header:t,message:`${r} (${I.util.Stringify(e)}) is not iterable.`});let n=typeof s=="function"?s():e?.[Symbol.iterator]?.(),o=[],i=0;if(n===void 0||typeof n.next!="function")throw I.errors.exception({header:t,message:`${r} is not iterable.`});for(;;){let{done:a,value:c}=n.next();if(a)break;o.push(A(c,t,`${r}[${i++}]`))}return o}};I.recordConverter=function(A,e){return(t,r,s)=>{if(I.util.Type(t)!==ve)throw I.errors.exception({header:r,message:`${s} ("${I.util.TypeValueToString(t)}") is not an Object.`});let n={};if(!se.isProxy(t)){let i=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(let a of i){let c=I.util.Stringify(a),g=A(a,r,`Key ${c} in ${s}`),Q=e(t[a],r,`${s}[${c}]`);n[g]=Q}return n}let o=Reflect.ownKeys(t);for(let i of o)if(Reflect.getOwnPropertyDescriptor(t,i)?.enumerable){let c=A(i,r,s),g=e(t[i],r,s);n[c]=g}return n}};I.interfaceConverter=function(A,e){return(t,r,s)=>{if(!A(t))throw I.errors.exception({header:r,message:`Expected ${s} ("${I.util.Stringify(t)}") to be an instance of ${e}.`});return t}};I.dictionaryConverter=function(A){return A.sort((e,t)=>(e.key>t.key)-(e.key<t.key)),(e,t,r)=>{let s={};if(e!=null&&I.util.Type(e)!==ve)throw I.errors.exception({header:t,message:`Expected ${e} to be one of: Null, Undefined, Object.`});for(let n of A){let{key:o,defaultValue:i,required:a,converter:c}=n;if(a===!0&&(e==null||!Object.hasOwn(e,o)))throw I.errors.exception({header:t,message:`Missing required key "${o}".`});let g=e?.[o],Q=i!==void 0;if(Q&&g===void 0&&(g=i()),a||Q||g!==void 0){if(g=c(g,t,`${r}.${o}`),n.allowedValues&&!n.allowedValues.includes(g))throw I.errors.exception({header:t,message:`${g} is not an accepted type. Expected one of ${n.allowedValues.join(", ")}.`});s[o]=g}}return s}};I.nullableConverter=function(A){return(e,t,r)=>e===null?e:A(e,t,r)};I.is.USVString=function(A){return typeof A=="string"&&A.isWellFormed()};I.is.ReadableStream=I.util.MakeTypeAssertion(ReadableStream);I.is.Blob=I.util.MakeTypeAssertion(Blob);I.is.URLSearchParams=I.util.MakeTypeAssertion(URLSearchParams);I.is.File=I.util.MakeTypeAssertion(File);I.is.URL=I.util.MakeTypeAssertion(URL);I.is.AbortSignal=I.util.MakeTypeAssertion(AbortSignal);I.is.MessagePort=I.util.MakeTypeAssertion(MessagePort);I.is.BufferSource=function(A){return se.isArrayBuffer(A)||ArrayBuffer.isView(A)&&se.isArrayBuffer(A.buffer)};I.util.getCopyOfBytesHeldByBufferSource=function(A){let e=A,t=e,r=0,s=0;if(se.isTypedArray(e)||se.isDataView(e)?(t=e.buffer,r=e.byteOffset,s=e.byteLength):(cS(se.isAnyArrayBuffer(e)),s=e.byteLength),t.detached)return new Uint8Array(0);let n=new Uint8Array(s),o=new Uint8Array(t,r,s);return n.set(o),n};I.converters.DOMString=function(A,e,t,r){if(A===null&&I.util.HasFlag(r,I.attributes.LegacyNullToEmptyString))return"";if(typeof A=="symbol")throw I.errors.exception({header:e,message:`${t} is a symbol, which cannot be converted to a DOMString.`});return String(A)};I.converters.ByteString=function(A,e,t){if(typeof A=="symbol")throw I.errors.exception({header:e,message:`${t} is a symbol, which cannot be converted to a ByteString.`});let r=String(A);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};I.converters.USVString=function(A){return typeof A=="string"?A.toWellFormed():`${A}`.toWellFormed()};I.converters.boolean=function(A){return!!A};I.converters.any=function(A){return A};I.converters["long long"]=function(A,e,t){return I.util.ConvertToInt(A,64,"signed",0,e,t)};I.converters["unsigned long long"]=function(A,e,t){return I.util.ConvertToInt(A,64,"unsigned",0,e,t)};I.converters["unsigned long"]=function(A,e,t){return I.util.ConvertToInt(A,32,"unsigned",0,e,t)};I.converters["unsigned short"]=function(A,e,t,r){return I.util.ConvertToInt(A,16,"unsigned",r,e,t)};I.converters.ArrayBuffer=function(A,e,t,r){if(I.util.Type(A)!==ve||!se.isArrayBuffer(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBuffer"]});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A))throw I.errors.exception({header:e,message:`${t} cannot be a resizable ArrayBuffer.`});return A};I.converters.SharedArrayBuffer=function(A,e,t,r){if(I.util.Type(A)!==ve||!se.isSharedArrayBuffer(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["SharedArrayBuffer"]});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A))throw I.errors.exception({header:e,message:`${t} cannot be a resizable SharedArrayBuffer.`});return A};I.converters.TypedArray=function(A,e,t,r,s){if(I.util.Type(A)!==ve||!se.isTypedArray(A)||A.constructor.name!==e.name)throw I.errors.conversionFailed({prefix:t,argument:`${r} ("${I.util.Stringify(A)}")`,types:[e.name]});if(!I.util.HasFlag(s,I.attributes.AllowShared)&&se.isSharedArrayBuffer(A.buffer))throw I.errors.exception({header:t,message:`${r} cannot be a view on a shared array buffer.`});if(!I.util.HasFlag(s,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A.buffer))throw I.errors.exception({header:t,message:`${r} cannot be a view on a resizable array buffer.`});return A};I.converters.DataView=function(A,e,t,r){if(I.util.Type(A)!==ve||!se.isDataView(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["DataView"]});if(!I.util.HasFlag(r,I.attributes.AllowShared)&&se.isSharedArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a shared array buffer.`});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a resizable array buffer.`});return A};I.converters.ArrayBufferView=function(A,e,t,r){if(I.util.Type(A)!==ve||!se.isArrayBufferView(A))throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBufferView"]});if(!I.util.HasFlag(r,I.attributes.AllowShared)&&se.isSharedArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a shared array buffer.`});if(!I.util.HasFlag(r,I.attributes.AllowResizable)&&I.util.IsResizableArrayBuffer(A.buffer))throw I.errors.exception({header:e,message:`${t} cannot be a view on a resizable array buffer.`});return A};I.converters.BufferSource=function(A,e,t,r){if(se.isArrayBuffer(A))return I.converters.ArrayBuffer(A,e,t,r);if(se.isArrayBufferView(A))return r&=~I.attributes.AllowShared,I.converters.ArrayBufferView(A,e,t,r);throw se.isSharedArrayBuffer(A)?I.errors.exception({header:e,message:`${t} cannot be a SharedArrayBuffer.`}):I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBuffer","ArrayBufferView"]})};I.converters.AllowSharedBufferSource=function(A,e,t,r){if(se.isArrayBuffer(A))return I.converters.ArrayBuffer(A,e,t,r);if(se.isSharedArrayBuffer(A))return I.converters.SharedArrayBuffer(A,e,t,r);if(se.isArrayBufferView(A))return r|=I.attributes.AllowShared,I.converters.ArrayBufferView(A,e,t,r);throw I.errors.conversionFailed({prefix:e,argument:`${t} ("${I.util.Stringify(A)}")`,types:["ArrayBuffer","SharedArrayBuffer","ArrayBufferView"]})};I.converters["sequence<ByteString>"]=I.sequenceConverter(I.converters.ByteString);I.converters["sequence<sequence<ByteString>>"]=I.sequenceConverter(I.converters["sequence<ByteString>"]);I.converters["record<ByteString, ByteString>"]=I.recordConverter(I.converters.ByteString,I.converters.ByteString);I.converters.Blob=I.interfaceConverter(I.is.Blob,"Blob");I.converters.AbortSignal=I.interfaceConverter(I.is.AbortSignal,"AbortSignal");I.converters.EventHandlerNonNull=function(A){return I.util.Type(A)!==ve?null:typeof A=="function"?A:()=>{}};I.attributes={Clamp:1,EnforceRange:2,AllowShared:4,AllowResizable:8,LegacyNullToEmptyString:16};sI.exports={webidl:I}});var Ve=p((Kv,CI)=>{"use strict";var{Transform:ES}=require("node:stream"),nI=require("node:zlib"),{redirectStatusSet:uS,referrerPolicyTokens:QS,badPortsSet:hS}=Fs(),{getGlobalOrigin:oI}=Rc(),{collectAnHTTPQuotedString:IS,parseMIMEType:BS}=tA(),{performance:CS}=require("node:perf_hooks"),{ReadableStreamFrom:dS,isValidHTTPToken:iI,normalizedMethodRecordsBase:fS}=G(),Ts=require("node:assert"),{isUint8Array:pS}=require("node:util/types"),{webidl:gt}=pe(),{isomorphicEncode:Lc,collectASequenceOfCodePoints:Vt,removeChars:yS}=VA();function aI(A){let e=A.urlList,t=e.length;return t===0?null:e[t-1].toString()}function DS(A,e){if(!uS.has(A.status))return null;let t=A.headersList.get("location",!0);return t!==null&&gI(t)&&(cI(t)||(t=mS(t)),t=new URL(t,aI(A))),t&&!t.hash&&(t.hash=e),t}function cI(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t>126||t<32)return!1}return!0}function mS(A){return Buffer.from(A,"binary").toString("utf8")}function Pt(A){return A.urlList[A.urlList.length-1]}function wS(A){let e=Pt(A);return II(e)&&hS.has(e.port)?"blocked":"allowed"}function RS(A){return A instanceof Error||A?.constructor?.name==="Error"||A?.constructor?.name==="DOMException"}function SS(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(!(t===9||t>=32&&t<=126||t>=128&&t<=255))return!1}return!0}var NS=iI;function gI(A){return(A[0]===" "||A[0]===" "||A[A.length-1]===" "||A[A.length-1]===" "||A.includes(`
|
|
2
|
+
`)||A.includes("\r")||A.includes("\0"))===!1}function FS(A){let e=(A.headersList.get("referrer-policy",!0)??"").split(","),t="";if(e.length)for(let r=e.length;r!==0;r--){let s=e[r-1].trim();if(QS.has(s)){t=s;break}}return t}function bS(A,e){let t=FS(e);t!==""&&(A.referrerPolicy=t)}function US(){return"allowed"}function MS(){return"success"}function TS(){return"success"}function kS(A){let e=null;e=A.mode,A.headersList.set("sec-fetch-mode",e,!0)}function LS(A){let e=A.origin;if(!(e==="client"||e===void 0)){if(A.responseTainting==="cors"||A.mode==="websocket")A.headersList.append("origin",e,!0);else if(A.method!=="GET"&&A.method!=="HEAD"){switch(A.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":A.origin&&Hc(A.origin)&&!Hc(Pt(A))&&(e=null);break;case"same-origin":Ms(A,Pt(A))||(e=null);break;default:}A.headersList.append("origin",e,!0)}}}function Ur(A,e){return A}function xS(A,e,t){return!A?.startTime||A.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:A?.ALPNNegotiatedProtocol}:{domainLookupStartTime:Ur(A.domainLookupStartTime,t),domainLookupEndTime:Ur(A.domainLookupEndTime,t),connectionStartTime:Ur(A.connectionStartTime,t),connectionEndTime:Ur(A.connectionEndTime,t),secureConnectionStartTime:Ur(A.secureConnectionStartTime,t),ALPNNegotiatedProtocol:A.ALPNNegotiatedProtocol}}function HS(A){return Ur(CS.now(),A)}function YS(A){return{startTime:A.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:A.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function lI(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function GS(A){return{referrerPolicy:A.referrerPolicy}}function OS(A){let e=A.referrerPolicy;Ts(e);let t=null;if(A.referrer==="client"){let n=oI();if(!n||n.origin==="null")return"no-referrer";t=new URL(n)}else gt.is.URL(A.referrer)&&(t=A.referrer);let r=xc(t),s=xc(t,!0);switch(r.toString().length>4096&&(r=s),e){case"no-referrer":return"no-referrer";case"origin":return s??xc(t,!0);case"unsafe-url":return r;case"strict-origin":{let n=Pt(A);return Jt(r)&&!Jt(n)?"no-referrer":s}case"strict-origin-when-cross-origin":{let n=Pt(A);return Ms(r,n)?r:Jt(r)&&!Jt(n)?"no-referrer":s}case"same-origin":return Ms(A,r)?r:"no-referrer";case"origin-when-cross-origin":return Ms(A,r)?r:s;case"no-referrer-when-downgrade":{let n=Pt(A);return Jt(r)&&!Jt(n)?"no-referrer":r}}}function xc(A,e=!1){return Ts(gt.is.URL(A)),A=new URL(A),hI(A)?"no-referrer":(A.username="",A.password="",A.hash="",e===!0&&(A.pathname="",A.search=""),A)}var vS=RegExp.prototype.test.bind(/^127\.(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)\.){2}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)$/),VS=RegExp.prototype.test.bind(/^(?:(?:0{1,4}:){7}|(?:0{1,4}:){1,6}:|::)0{0,3}1$/);function EI(A){return A.includes(":")?(A[0]==="["&&A[A.length-1]==="]"&&(A=A.slice(1,-1)),VS(A)):vS(A)}function JS(A){return A==null||A==="null"?!1:(A=new URL(A),!!(A.protocol==="https:"||A.protocol==="wss:"||EI(A.hostname)||A.hostname==="localhost"||A.hostname==="localhost."||A.hostname.endsWith(".localhost")||A.hostname.endsWith(".localhost.")||A.protocol==="file:"))}function Jt(A){return gt.is.URL(A)?A.href==="about:blank"||A.href==="about:srcdoc"||A.protocol==="data:"||A.protocol==="blob:"?!0:JS(A.origin):!1}function PS(A){}function Ms(A,e){return A.origin===e.origin&&A.origin==="null"||A.protocol===e.protocol&&A.hostname===e.hostname&&A.port===e.port}function qS(A){return A.controller.state==="aborted"}function WS(A){return A.controller.state==="aborted"||A.controller.state==="terminated"}function _S(A){return fS[A.toLowerCase()]??A}var ZS=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function uI(A,e,t=0,r=1){class s{#e;#A;#t;constructor(o,i){this.#e=o,this.#A=i,this.#t=0}next(){if(typeof this!="object"||this===null||!(#e in this))throw new TypeError(`'next' called on an object that does not implement interface ${A} Iterator.`);let o=this.#t,i=e(this.#e),a=i.length;if(o>=a)return{value:void 0,done:!0};let{[t]:c,[r]:g}=i[o];this.#t=o+1;let Q;switch(this.#A){case"key":Q=c;break;case"value":Q=g;break;case"key+value":Q=[c,g];break}return{value:Q,done:!1}}}return delete s.prototype.constructor,Object.setPrototypeOf(s.prototype,ZS),Object.defineProperties(s.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${A} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(n,o){return new s(n,o)}}function jS(A,e,t,r=0,s=1){let n=uI(A,t,r,s),o={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return gt.brandCheck(this,e),n(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return gt.brandCheck(this,e),n(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return gt.brandCheck(this,e),n(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(a,c=globalThis){if(gt.brandCheck(this,e),gt.argumentLengthCheck(arguments,1,`${A}.forEach`),typeof a!="function")throw new TypeError(`Failed to execute 'forEach' on '${A}': parameter 1 is not of type 'Function'.`);for(let{0:g,1:Q}of n(this,"key+value"))a.call(c,Q,g,this)}}};return Object.defineProperties(e.prototype,{...o,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:o.entries.value}})}function XS(A,e,t){let r=e,s=t;try{let n=A.stream.getReader();QI(n,r,s)}catch(n){s(n)}}function KS(A){try{A.close(),A.byobRequest?.respond(0)}catch(e){if(!e.message.includes("Controller is already closed")&&!e.message.includes("ReadableStream is already closed"))throw e}}async function QI(A,e,t){try{let r=[],s=0;do{let{done:n,value:o}=await A.read();if(n){e(Buffer.concat(r,s));return}if(!pS(o)){t(new TypeError("Received non-Uint8Array chunk"));return}r.push(o),s+=o.length}while(!0)}catch(r){t(r)}}function hI(A){Ts("protocol"in A);let e=A.protocol;return e==="about:"||e==="blob:"||e==="data:"}function Hc(A){return typeof A=="string"&&A[5]===":"&&A[0]==="h"&&A[1]==="t"&&A[2]==="t"&&A[3]==="p"&&A[4]==="s"||A.protocol==="https:"}function II(A){Ts("protocol"in A);let e=A.protocol;return e==="http:"||e==="https:"}function zS(A,e){let t=A;if(!t.startsWith("bytes"))return"failure";let r={position:5};if(e&&Vt(a=>a===" "||a===" ",t,r),t.charCodeAt(r.position)!==61)return"failure";r.position++,e&&Vt(a=>a===" "||a===" ",t,r);let s=Vt(a=>{let c=a.charCodeAt(0);return c>=48&&c<=57},t,r),n=s.length?Number(s):null;if(e&&Vt(a=>a===" "||a===" ",t,r),t.charCodeAt(r.position)!==45)return"failure";r.position++,e&&Vt(a=>a===" "||a===" ",t,r);let o=Vt(a=>{let c=a.charCodeAt(0);return c>=48&&c<=57},t,r),i=o.length?Number(o):null;return r.position<t.length||i===null&&n===null||n>i?"failure":{rangeStartValue:n,rangeEndValue:i}}function $S(A,e,t){let r="bytes ";return r+=Lc(`${A}`),r+="-",r+=Lc(`${e}`),r+="/",r+=Lc(`${t}`),r}var Yc=class extends ES{#e;constructor(e){super(),this.#e=e}_transform(e,t,r){if(!this._inflateStream){if(e.length===0){r();return}this._inflateStream=(e[0]&15)===8?nI.createInflate(this.#e):nI.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,t,r)}_final(e){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),e()}};function eN(A){return new Yc(A)}function AN(A){let e=null,t=null,r=null,s=BI("content-type",A);if(s===null)return"failure";for(let n of s){let o=BS(n);o==="failure"||o.essence==="*/*"||(r=o,r.essence!==t?(e=null,r.parameters.has("charset")&&(e=r.parameters.get("charset")),t=r.essence):!r.parameters.has("charset")&&e!==null&&r.parameters.set("charset",e))}return r??"failure"}function tN(A){let e=A,t={position:0},r=[],s="";for(;t.position<e.length;){if(s+=Vt(n=>n!=='"'&&n!==",",e,t),t.position<e.length)if(e.charCodeAt(t.position)===34){if(s+=IS(e,t),t.position<e.length)continue}else Ts(e.charCodeAt(t.position)===44),t.position++;s=yS(s,!0,!0,n=>n===9||n===32),r.push(s),s=""}return r}function BI(A,e){let t=e.get(A,!0);return t===null?null:tN(t)}function rN(A){return!1}function sN(A){return!!(A.username||A.password)}function nN(A){return!0}var Gc=class{get baseUrl(){return oI()}get origin(){return this.baseUrl?.origin}policyContainer=lI()},Oc=class{settingsObject=new Gc},oN=new Oc;CI.exports={isAborted:qS,isCancelled:WS,isValidEncodedURL:cI,ReadableStreamFrom:dS,tryUpgradeRequestToAPotentiallyTrustworthyURL:PS,clampAndCoarsenConnectionTimingInfo:xS,coarsenedSharedCurrentTime:HS,determineRequestsReferrer:OS,makePolicyContainer:lI,clonePolicyContainer:GS,appendFetchMetadata:kS,appendRequestOriginHeader:LS,TAOCheck:TS,corsCheck:MS,crossOriginResourcePolicyCheck:US,createOpaqueTimingInfo:YS,setRequestReferrerPolicyOnRedirect:bS,isValidHTTPToken:iI,requestBadPort:wS,requestCurrentURL:Pt,responseURL:aI,responseLocationURL:DS,isURLPotentiallyTrustworthy:Jt,isValidReasonPhrase:SS,sameOrigin:Ms,normalizeMethod:_S,iteratorMixin:jS,createIterator:uI,isValidHeaderName:NS,isValidHeaderValue:gI,isErrorLike:RS,fullyReadBody:XS,readableStreamClose:KS,urlIsLocal:hI,urlHasHttpsScheme:Hc,urlIsHttpHttpsScheme:II,readAllBytes:QI,simpleRangeHeaderValue:zS,buildContentRange:$S,createInflate:eN,extractMimeType:AN,getDecodeSplit:BI,environmentSettingsObject:oN,isOriginIPPotentiallyTrustworthy:EI,hasAuthenticationEntry:rN,includesCredentials:sN,isTraversableNavigable:nN}});var lo=p((zv,fI)=>{"use strict";var{iteratorMixin:iN}=Ve(),{kEnumerableProperty:Mr}=G(),{webidl:W}=pe(),dI=require("node:util"),PA=class A{#e=[];constructor(e=void 0){if(W.util.markAsUncloneable(this),e!==void 0)throw W.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]})}append(e,t,r=void 0){W.brandCheck(this,A);let s="FormData.append";W.argumentLengthCheck(arguments,2,s),e=W.converters.USVString(e),arguments.length===3||W.is.Blob(t)?(t=W.converters.Blob(t,s,"value"),r!==void 0&&(r=W.converters.USVString(r))):t=W.converters.USVString(t);let n=vc(e,t,r);this.#e.push(n)}delete(e){W.brandCheck(this,A),W.argumentLengthCheck(arguments,1,"FormData.delete"),e=W.converters.USVString(e),this.#e=this.#e.filter(r=>r.name!==e)}get(e){W.brandCheck(this,A),W.argumentLengthCheck(arguments,1,"FormData.get"),e=W.converters.USVString(e);let r=this.#e.findIndex(s=>s.name===e);return r===-1?null:this.#e[r].value}getAll(e){return W.brandCheck(this,A),W.argumentLengthCheck(arguments,1,"FormData.getAll"),e=W.converters.USVString(e),this.#e.filter(r=>r.name===e).map(r=>r.value)}has(e){return W.brandCheck(this,A),W.argumentLengthCheck(arguments,1,"FormData.has"),e=W.converters.USVString(e),this.#e.findIndex(r=>r.name===e)!==-1}set(e,t,r=void 0){W.brandCheck(this,A);let s="FormData.set";W.argumentLengthCheck(arguments,2,s),e=W.converters.USVString(e),arguments.length===3||W.is.Blob(t)?(t=W.converters.Blob(t,s,"value"),r!==void 0&&(r=W.converters.USVString(r))):t=W.converters.USVString(t);let n=vc(e,t,r),o=this.#e.findIndex(i=>i.name===e);o!==-1?this.#e=[...this.#e.slice(0,o),n,...this.#e.slice(o+1).filter(i=>i.name!==e)]:this.#e.push(n)}[dI.inspect.custom](e,t){let r=this.#e.reduce((n,o)=>(n[o.name]?Array.isArray(n[o.name])?n[o.name].push(o.value):n[o.name]=[n[o.name],o.value]:n[o.name]=o.value,n),{__proto__:null});t.depth??=e,t.colors??=!0;let s=dI.formatWithOptions(t,r);return`FormData ${s.slice(s.indexOf("]")+2)}`}static getFormDataState(e){return e.#e}static setFormDataState(e,t){e.#e=t}},{getFormDataState:aN,setFormDataState:cN}=PA;Reflect.deleteProperty(PA,"getFormDataState");Reflect.deleteProperty(PA,"setFormDataState");iN("FormData",PA,aN,"name","value");Object.defineProperties(PA.prototype,{append:Mr,delete:Mr,get:Mr,getAll:Mr,has:Mr,set:Mr,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function vc(A,e,t){if(typeof e!="string"){if(W.is.File(e)||(e=new File([e],"blob",{type:e.type})),t!==void 0){let r={type:e.type,lastModified:e.lastModified};e=new File([e],t,r)}}return{name:A,value:e}}W.is.FormData=W.util.MakeTypeAssertion(PA);fI.exports={FormData:PA,makeEntry:vc,setFormDataState:cN}});var DI=p(($v,yI)=>{"use strict";var{bufferToLowerCasedHeaderName:gN}=G(),{HTTP_TOKEN_CODEPOINTS:lN}=tA(),{makeEntry:EN}=lo(),{webidl:Vc}=pe(),Jc=require("node:assert"),{isomorphicDecode:pI}=VA(),uN=Buffer.from("--"),Pc=new TextDecoder,QN=new TextDecoder("utf-8",{ignoreBOM:!0});function hN(A){for(let e=0;e<A.length;++e)if((A.charCodeAt(e)&-128)!==0)return!1;return!0}function IN(A){let e=A.length;if(e<27||e>70)return!1;for(let t=0;t<e;++t){let r=A.charCodeAt(t);if(!(r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||r===39||r===45||r===95))return!1}return!0}function BN(A,e){Jc(e!=="failure"&&e.essence==="multipart/form-data");let t=e.parameters.get("boundary");if(t===void 0)throw Ue("missing boundary in content-type header");let r=Buffer.from(`--${t}`,"utf8"),s=[],n={position:0},o=A.indexOf(r);if(o===-1)throw Ue("no boundary found in multipart body");for(n.position=o;;){if(A.subarray(n.position,n.position+r.length).equals(r))n.position+=r.length;else throw Ue("expected a value starting with -- and the boundary");if(fN(A,uN,n))return s;if(A[n.position]!==13||A[n.position+1]!==10)throw Ue("expected CRLF");n.position+=2;let i=dN(A,n),{name:a,filename:c,contentType:g,encoding:Q}=i;n.position+=2;let u;{let E=A.indexOf(r.subarray(2),n.position);if(E===-1)throw Ue("expected boundary after body");u=A.subarray(n.position,E-4),n.position+=u.length,Q==="base64"&&(u=Buffer.from(u.toString(),"base64"))}if(A[n.position]!==13||A[n.position+1]!==10)throw Ue("expected CRLF");n.position+=2;let l;c!==null?(g??="text/plain",hN(g)||(g=""),l=new File([u],c,{type:g})):l=QN.decode(Buffer.from(u)),Jc(Vc.is.USVString(a)),Jc(typeof l=="string"&&Vc.is.USVString(l)||Vc.is.File(l)),s.push(EN(a,l,c))}}function CN(A,e){A[e.position]===59&&e.position++,rA(o=>o===32||o===9,A,e);let t=rA(o=>Wc(o)&&o!==61&&o!==42,A,e);if(t.length===0)return null;let r=t.toString("ascii").toLowerCase(),s=A[e.position]===42;if(s&&e.position++,A[e.position]!==61)return null;e.position++,rA(o=>o===32||o===9,A,e);let n;if(s){let o=rA(i=>i!==32&&i!==13&&i!==10&&i!==59,A,e);if(o[0]!==117&&o[0]!==85||o[1]!==116&&o[1]!==84||o[2]!==102&&o[2]!==70||o[3]!==45||o[4]!==56)throw Ue("unknown encoding, expected utf-8''");n=decodeURIComponent(Pc.decode(o.subarray(7)))}else if(A[e.position]===34){e.position++;let o=rA(i=>i!==10&&i!==13&&i!==34,A,e);if(A[e.position]!==34)throw Ue("Closing quote not found");e.position++,n=Pc.decode(o).replace(/%0A/ig,`
|
|
3
|
+
`).replace(/%0D/ig,"\r").replace(/%22/g,'"')}else{let o=rA(i=>Wc(i)&&i!==59,A,e);n=Pc.decode(o)}return{name:r,value:n}}function dN(A,e){let t=null,r=null,s=null,n=null;for(;;){if(A[e.position]===13&&A[e.position+1]===10){if(t===null)throw Ue("header name is null");return{name:t,filename:r,contentType:s,encoding:n}}let o=rA(i=>i!==10&&i!==13&&i!==58,A,e);if(o=qc(o,!0,!0,i=>i===9||i===32),!lN.test(o.toString()))throw Ue("header name does not match the field-name token production");if(A[e.position]!==58)throw Ue("expected :");switch(e.position++,rA(i=>i===32||i===9,A,e),gN(o)){case"content-disposition":{if(t=r=null,rA(a=>Wc(a),A,e).toString("ascii").toLowerCase()!=="form-data")throw Ue("expected form-data for content-disposition header");for(;e.position<A.length&&A[e.position]!==13&&A[e.position+1]!==10;){let a=CN(A,e);if(!a)break;a.name==="name"?t=a.value:a.name==="filename"&&(r=a.value)}if(t===null)throw Ue("name attribute is required in content-disposition header");break}case"content-type":{let i=rA(a=>a!==10&&a!==13,A,e);i=qc(i,!1,!0,a=>a===9||a===32),s=pI(i);break}case"content-transfer-encoding":{let i=rA(a=>a!==10&&a!==13,A,e);i=qc(i,!1,!0,a=>a===9||a===32),n=pI(i);break}default:rA(i=>i!==10&&i!==13,A,e)}if(A[e.position]!==13&&A[e.position+1]!==10)throw Ue("expected CRLF");e.position+=2}}function rA(A,e,t){let r=t.position;for(;r<e.length&&A(e[r]);)++r;return e.subarray(t.position,t.position=r)}function qc(A,e,t,r){let s=0,n=A.length-1;if(e)for(;s<A.length&&r(A[s]);)s++;if(t)for(;n>0&&r(A[n]);)n--;return s===0&&n===A.length-1?A:A.subarray(s,n+1)}function fN(A,e,t){if(A.length<e.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==A[t.position+r])return!1;return!0}function Ue(A){return new TypeError("Failed to parse body as FormData.",{cause:new TypeError(A)})}function pN(A){return A<=31||A===127}function yN(A){return A===40||A===41||A===60||A===62||A===64||A===44||A===59||A===58||A===92||A===34||A===47||A===91||A===93||A===63||A===61}function Wc(A){return A<=127&&A!==32&&A!==9&&!pN(A)&&!yN(A)}yI.exports={multipartFormDataParser:BN,validateBoundary:IN}});var ks=p((eV,mI)=>{"use strict";function DN(){let A,e;return{promise:new Promise((r,s)=>{A=r,e=s}),resolve:A,reject:e}}mI.exports={createDeferredPromise:DN}});var kr=p((AV,FI)=>{"use strict";var jc=G(),{ReadableStreamFrom:mN,readableStreamClose:wN,fullyReadBody:RN,extractMimeType:SN}=Ve(),{FormData:wI,setFormDataState:NN}=lo(),{webidl:uA}=pe(),_c=require("node:assert"),{isErrored:Zc,isDisturbed:FN}=require("node:stream"),{isUint8Array:bN}=require("node:util/types"),{serializeAMimeType:UN}=tA(),{multipartFormDataParser:MN}=DI(),{createDeferredPromise:TN}=ks(),{parseJSONFromBytes:kN}=VA(),{utf8DecodeBytes:LN}=no(),{runtimeFeatures:xN}=JA(),HN=xN.has("crypto")?require("node:crypto").randomInt:A=>Math.floor(Math.random()*A),Eo=new TextEncoder;function YN(){}var GN=new FinalizationRegistry(A=>{let e=A.deref();e&&!e.locked&&!FN(e)&&!Zc(e)&&e.cancel("Response object has been garbage collected").catch(YN)});function SI(A,e=!1){let t=null,r=null;uA.is.ReadableStream(A)?t=A:uA.is.Blob(A)?t=A.stream():t=new ReadableStream({pull(){},start(c){r=c},cancel(){},type:"bytes"}),_c(uA.is.ReadableStream(t));let s=null,n=null,o=null,i=null;if(typeof A=="string")n=A,i="text/plain;charset=UTF-8";else if(uA.is.URLSearchParams(A))n=A.toString(),i="application/x-www-form-urlencoded;charset=UTF-8";else if(uA.is.BufferSource(A))n=uA.util.getCopyOfBytesHeldByBufferSource(A);else if(uA.is.FormData(A)){let c=`----formdata-undici-0${`${HN(1e11)}`.padStart(11,"0")}`,g=`--${c}\r
|
|
4
|
+
Content-Disposition: form-data`;let Q=C=>C.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),u=C=>C.replace(/\r?\n|\r/g,`\r
|
|
5
|
+
`),l=[],E=new Uint8Array([13,10]);o=0;let B=!1;for(let[C,f]of A)if(typeof f=="string"){let D=Eo.encode(g+`; name="${Q(u(C))}"\r
|
|
6
6
|
\r
|
|
7
|
-
${
|
|
8
|
-
`);l.push(
|
|
7
|
+
${u(f)}\r
|
|
8
|
+
`);l.push(D),o+=D.byteLength}else{let D=Eo.encode(`${g}; name="${Q(u(C))}"`+(f.name?`; filename="${Q(f.name)}"`:"")+`\r
|
|
9
9
|
Content-Type: ${f.type||"application/octet-stream"}\r
|
|
10
10
|
\r
|
|
11
|
-
`);l.push(
|
|
12
|
-
`);l.push(D),o+=D.byteLength,B&&(o=null),n=A,s=async function*(){for(let C of l)C.stream?yield*C.stream():yield C},i=`multipart/form-data; boundary=${c}`}else if(EA.is.Blob(A))n=A,o=A.size,A.type&&(i=A.type);else if(typeof A[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(qc.isDisturbed(A)||A.locked)throw new TypeError("Response body object should not be disturbed or locked");t=EA.is.ReadableStream(A)?A:EN(A)}return(typeof n=="string"||CN(n))&&(s=()=>(o=typeof n=="string"?Buffer.byteLength(n):n.length,n)),s!=null&&(async()=>{let c=s(),g=c?.[Symbol.asyncIterator]?.();if(g)for await(let h of g){if(Pc(t))break;h.length&&r.enqueue(new Uint8Array(h))}else c?.length&&!Pc(t)&&r.enqueue(typeof c=="string"?go.encode(c):new Uint8Array(c));queueMicrotask(()=>QN(r))})(),[{stream:t,source:n,length:o},i]}function NN(A,e=!1){return EA.is.ReadableStream(A)&&(Jc(!qc.isDisturbed(A),"The body has already been consumed."),Jc(!A.locked,"The stream is locked.")),fI(A,e)}function FN(A){let{0:e,1:t}=A.stream.tee();return A.stream=e,{stream:t,length:A.length,source:A.source}}function bN(A,e){return{blob(){return Ur(this,r=>{let s=dI(e(this));return s===null?s="":s&&(s=dN(s)),new Blob([r],{type:s})},A,e)},arrayBuffer(){return Ur(this,r=>new Uint8Array(r).buffer,A,e)},text(){return Ur(this,DN,A,e)},json(){return Ur(this,yN,A,e)},formData(){return Ur(this,r=>{let s=dI(e(this));if(s!==null)switch(s.essence){case"multipart/form-data":{let n=fN(r,s),o=new CI;return IN(o,n),o}case"application/x-www-form-urlencoded":{let n=new URLSearchParams(r.toString()),o=new CI;for(let[i,a]of n)o.append(i,a);return o}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},A,e)},bytes(){return Ur(this,r=>new Uint8Array(r),A,e)}}}function UN(A,e){Object.assign(A.prototype,bN(A,e))}function Ur(A,e,t,r){try{EA.brandCheck(A,t)}catch(i){return Promise.reject(i)}if(A=r(A),pI(A))return Promise.reject(new TypeError("Body is unusable: Body has already been read"));let s=pN(),n=s.reject,o=i=>{try{s.resolve(e(i))}catch(a){n(a)}};return A.body==null?(o(Buffer.allocUnsafe(0)),s.promise):(uN(A.body,o,n),s.promise)}function pI(A){let e=A.body;return e!=null&&(e.stream.locked||qc.isDisturbed(e.stream))}function dI(A){let e=A.headersList,t=hN(e);return t==="failure"?null:t}yI.exports={extractBody:fI,safelyExtractBody:NN,cloneBody:FN,mixinBody:UN,streamRegistry:SN,bodyUnusable:pI}});var TI=p((vV,MI)=>{"use strict";var H=require("node:assert"),x=G(),{channels:DI}=it(),Wc=Ra(),{RequestContentLengthMismatchError:qt,ResponseContentLengthMismatchError:MN,RequestAbortedError:FI,HeadersTimeoutError:TN,HeadersOverflowError:kN,SocketError:ks,InformationalError:Tr,BodyTimeoutError:LN,HTTPParserError:HN,ResponseExceededMaxSizeError:xN}=Y(),{kUrl:bI,kReset:Me,kClient:$c,kParser:ne,kBlocking:Ls,kRunning:De,kPending:YN,kSize:mI,kWriting:lt,kQueue:QA,kNoRef:Ms,kKeepAliveDefaultTimeout:GN,kHostHeader:ON,kPendingIdx:VN,kRunningIdx:sA,kError:nA,kPipelining:Qo,kSocket:kr,kKeepAliveTimeoutValue:ho,kMaxHeadersSize:vN,kKeepAliveMaxTimeout:JN,kKeepAliveTimeoutThreshold:PN,kHeadersTimeout:qN,kBodyTimeout:WN,kStrictContentLength:jc,kMaxRequests:wI,kCounter:_N,kMaxResponseSize:ZN,kOnError:jN,kResume:gt,kHTTPContext:UI,kClosed:Xc}=Z(),wA=yh(),XN=Buffer.alloc(0),lo=Buffer[Symbol.species],KN=x.removeAllListeners,_c;function zN(){let A=process.env.JEST_WORKER_ID?dc():void 0,e,t=process.arch!=="ppc64";if(process.env.UNDICI_NO_WASM_SIMD==="1"?t=!0:process.env.UNDICI_NO_WASM_SIMD==="0"&&(t=!1),t)try{e=new WebAssembly.Module(wh())}catch{}return e||(e=new WebAssembly.Module(A||dc())),new WebAssembly.Instance(e,{env:{wasm_on_url:(r,s,n)=>0,wasm_on_status:(r,s,n)=>{H(Ee.ptr===r);let o=s-SA+RA.byteOffset;return Ee.onStatus(new lo(RA.buffer,o,n))},wasm_on_message_begin:r=>(H(Ee.ptr===r),Ee.onMessageBegin()),wasm_on_header_field:(r,s,n)=>{H(Ee.ptr===r);let o=s-SA+RA.byteOffset;return Ee.onHeaderField(new lo(RA.buffer,o,n))},wasm_on_header_value:(r,s,n)=>{H(Ee.ptr===r);let o=s-SA+RA.byteOffset;return Ee.onHeaderValue(new lo(RA.buffer,o,n))},wasm_on_headers_complete:(r,s,n,o)=>(H(Ee.ptr===r),Ee.onHeadersComplete(s,n===1,o===1)),wasm_on_body:(r,s,n)=>{H(Ee.ptr===r);let o=s-SA+RA.byteOffset;return Ee.onBody(new lo(RA.buffer,o,n))},wasm_on_message_complete:r=>(H(Ee.ptr===r),Ee.onMessageComplete())}})}var Zc=null,Ee=null,RA=null,Eo=0,SA=null,$N=0,Ts=1,Lr=2|Ts,uo=4|Ts,Kc=8|$N,zc=class{constructor(e,t,{exports:r}){this.llhttp=r,this.ptr=this.llhttp.llhttp_alloc(wA.TYPE.RESPONSE),this.client=e,this.socket=t,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=e[vN],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=e[ZN]}setTimeout(e,t){e!==this.timeoutValue||t&Ts^this.timeoutType&Ts?(this.timeout&&(Wc.clearTimeout(this.timeout),this.timeout=null),e&&(t&Ts?this.timeout=Wc.setFastTimeout(RI,e,new WeakRef(this)):(this.timeout=setTimeout(RI,e,new WeakRef(this)),this.timeout?.unref())),this.timeoutValue=e):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=t}resume(){this.socket.destroyed||!this.paused||(H(this.ptr!=null),H(Ee===null),this.llhttp.llhttp_resume(this.ptr),H(this.timeoutType===uo),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||XN),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let e=this.socket.read();if(e===null)break;this.execute(e)}}execute(e){H(Ee===null),H(this.ptr!=null),H(!this.paused);let{socket:t,llhttp:r}=this;e.length>Eo&&(SA&&r.free(SA),Eo=Math.ceil(e.length/4096)*4096,SA=r.malloc(Eo)),new Uint8Array(r.memory.buffer,SA,Eo).set(e);try{let s;try{RA=e,Ee=this,s=r.llhttp_execute(this.ptr,SA,e.length)}finally{Ee=null,RA=null}if(s!==wA.ERROR.OK){let n=e.subarray(r.llhttp_get_error_pos(this.ptr)-SA);if(s===wA.ERROR.PAUSED_UPGRADE)this.onUpgrade(n);else if(s===wA.ERROR.PAUSED)this.paused=!0,t.unshift(n);else{let o=r.llhttp_get_error_reason(this.ptr),i="";if(o){let a=new Uint8Array(r.memory.buffer,o).indexOf(0);i="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,o,a).toString()+")"}throw new HN(i,wA.ERROR[s],n)}}}catch(s){x.destroy(t,s)}}destroy(){H(Ee===null),H(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&Wc.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(e){return this.statusText=e.toString(),0}onMessageBegin(){let{socket:e,client:t}=this;if(e.destroyed)return-1;let r=t[QA][t[sA]];return r?(r.onResponseStarted(),0):-1}onHeaderField(e){let t=this.headers.length;return(t&1)===0?this.headers.push(e):this.headers[t-1]=Buffer.concat([this.headers[t-1],e]),this.trackHeader(e.length),0}onHeaderValue(e){let t=this.headers.length;(t&1)===1?(this.headers.push(e),t+=1):this.headers[t-1]=Buffer.concat([this.headers[t-1],e]);let r=this.headers[t-2];if(r.length===10){let s=x.bufferToLowerCasedHeaderName(r);s==="keep-alive"?this.keepAlive+=e.toString():s==="connection"&&(this.connection+=e.toString())}else r.length===14&&x.bufferToLowerCasedHeaderName(r)==="content-length"&&(this.contentLength+=e.toString());return this.trackHeader(e.length),0}trackHeader(e){this.headersSize+=e,this.headersSize>=this.headersMaxSize&&x.destroy(this.socket,new kN)}onUpgrade(e){let{upgrade:t,client:r,socket:s,headers:n,statusCode:o}=this;H(t),H(r[kr]===s),H(!s.destroyed),H(!this.paused),H((n.length&1)===0);let i=r[QA][r[sA]];H(i),H(i.upgrade||i.method==="CONNECT"),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,s.unshift(e),s[ne].destroy(),s[ne]=null,s[$c]=null,s[nA]=null,KN(s),r[kr]=null,r[UI]=null,r[QA][r[sA]++]=null,r.emit("disconnect",r[bI],[r],new Tr("upgrade"));try{i.onUpgrade(o,n,s)}catch(a){x.destroy(s,a)}r[gt]()}onHeadersComplete(e,t,r){let{client:s,socket:n,headers:o,statusText:i}=this;if(n.destroyed)return-1;let a=s[QA][s[sA]];if(!a)return-1;if(H(!this.upgrade),H(this.statusCode<200),e===100)return x.destroy(n,new ks("bad response",x.getSocketInfo(n))),-1;if(t&&!a.upgrade)return x.destroy(n,new ks("bad upgrade",x.getSocketInfo(n))),-1;if(H(this.timeoutType===Lr),this.statusCode=e,this.shouldKeepAlive=r||a.method==="HEAD"&&!n[Me]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let g=a.bodyTimeout!=null?a.bodyTimeout:s[WN];this.setTimeout(g,uo)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(a.method==="CONNECT")return H(s[De]===1),this.upgrade=!0,2;if(t)return H(s[De]===1),this.upgrade=!0,2;if(H((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&s[Qo]){let g=this.keepAlive?x.parseKeepAliveTimeout(this.keepAlive):null;if(g!=null){let h=Math.min(g-s[PN],s[JN]);h<=0?n[Me]=!0:s[ho]=h}else s[ho]=s[GN]}else n[Me]=!0;let c=a.onHeaders(e,o,this.resume,i)===!1;return a.aborted?-1:a.method==="HEAD"||e<200?1:(n[Ls]&&(n[Ls]=!1,s[gt]()),c?wA.ERROR.PAUSED:0)}onBody(e){let{client:t,socket:r,statusCode:s,maxResponseSize:n}=this;if(r.destroyed)return-1;let o=t[QA][t[sA]];return H(o),H(this.timeoutType===uo),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),H(s>=200),n>-1&&this.bytesRead+e.length>n?(x.destroy(r,new xN),-1):(this.bytesRead+=e.length,o.onData(e)===!1?wA.ERROR.PAUSED:0)}onMessageComplete(){let{client:e,socket:t,statusCode:r,upgrade:s,headers:n,contentLength:o,bytesRead:i,shouldKeepAlive:a}=this;if(t.destroyed&&(!r||a))return-1;if(s)return 0;H(r>=100),H((this.headers.length&1)===0);let c=e[QA][e[sA]];if(H(c),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,r<200)return 0;if(c.method!=="HEAD"&&o&&i!==parseInt(o,10))return x.destroy(t,new MN),-1;if(c.onComplete(n),e[QA][e[sA]++]=null,t[lt])return H(e[De]===0),x.destroy(t,new Tr("reset")),wA.ERROR.PAUSED;if(a){if(t[Me]&&e[De]===0)return x.destroy(t,new Tr("reset")),wA.ERROR.PAUSED;e[Qo]==null||e[Qo]===1?setImmediate(e[gt]):e[gt]()}else return x.destroy(t,new Tr("reset")),wA.ERROR.PAUSED;return 0}};function RI(A){let e=A.deref();if(!e)return;let{socket:t,timeoutType:r,client:s,paused:n}=e;r===Lr?(!t[lt]||t.writableNeedDrain||s[De]>1)&&(H(!n,"cannot be paused while waiting for headers"),x.destroy(t,new TN)):r===uo?n||x.destroy(t,new LN):r===Kc&&(H(s[De]===0&&s[ho]),x.destroy(t,new Tr("socket idle timeout")))}function eF(A,e){if(A[kr]=e,Zc||(Zc=zN()),e.errored)throw e.errored;if(e.destroyed)throw new ks("destroyed");return e[Ms]=!1,e[lt]=!1,e[Me]=!1,e[Ls]=!1,e[ne]=new zc(A,e,Zc),x.addListener(e,"error",AF),x.addListener(e,"readable",tF),x.addListener(e,"end",rF),x.addListener(e,"close",sF),e[Xc]=!1,e.on("close",nF),{version:"h1",defaultPipelining:1,write(t){return aF(A,t)},resume(){oF(A)},destroy(t,r){e[Xc]?queueMicrotask(r):(e.on("close",r),e.destroy(t))},get destroyed(){return e.destroyed},busy(t){return!!(e[lt]||e[Me]||e[Ls]||t&&(A[De]>0&&!t.idempotent||A[De]>0&&(t.upgrade||t.method==="CONNECT")||A[De]>0&&x.bodyLength(t.body)!==0&&(x.isStream(t.body)||x.isAsyncIterable(t.body)||x.isFormDataLike(t.body))))}}}function AF(A){H(A.code!=="ERR_TLS_CERT_ALTNAME_INVALID");let e=this[ne];if(A.code==="ECONNRESET"&&e.statusCode&&!e.shouldKeepAlive){e.onMessageComplete();return}this[nA]=A,this[$c][jN](A)}function tF(){this[ne]?.readMore()}function rF(){let A=this[ne];if(A.statusCode&&!A.shouldKeepAlive){A.onMessageComplete();return}x.destroy(this,new ks("other side closed",x.getSocketInfo(this)))}function sF(){let A=this[ne];A&&(!this[nA]&&A.statusCode&&!A.shouldKeepAlive&&A.onMessageComplete(),this[ne].destroy(),this[ne]=null);let e=this[nA]||new ks("closed",x.getSocketInfo(this)),t=this[$c];if(t[kr]=null,t[UI]=null,t.destroyed){H(t[YN]===0);let r=t[QA].splice(t[sA]);for(let s=0;s<r.length;s++){let n=r[s];x.errorRequest(t,n,e)}}else if(t[De]>0&&e.code!=="UND_ERR_INFO"){let r=t[QA][t[sA]];t[QA][t[sA]++]=null,x.errorRequest(t,r,e)}t[VN]=t[sA],H(t[De]===0),t.emit("disconnect",t[bI],[t],e),t[gt]()}function nF(){this[Xc]=!0}function oF(A){let e=A[kr];if(e&&!e.destroyed){if(A[mI]===0?!e[Ms]&&e.unref&&(e.unref(),e[Ms]=!0):e[Ms]&&e.ref&&(e.ref(),e[Ms]=!1),A[mI]===0)e[ne].timeoutType!==Kc&&e[ne].setTimeout(A[ho],Kc);else if(A[De]>0&&e[ne].statusCode<200&&e[ne].timeoutType!==Lr){let t=A[QA][A[sA]],r=t.headersTimeout!=null?t.headersTimeout:A[qN];e[ne].setTimeout(r,Lr)}}}function iF(A){return A!=="GET"&&A!=="HEAD"&&A!=="OPTIONS"&&A!=="TRACE"&&A!=="CONNECT"}function aF(A,e){let{method:t,path:r,host:s,upgrade:n,blocking:o,reset:i}=e,{body:a,headers:c,contentLength:g}=e,h=t==="PUT"||t==="POST"||t==="PATCH"||t==="QUERY"||t==="PROPFIND"||t==="PROPPATCH";if(x.isFormDataLike(a)){_c||(_c=Mr().extractBody);let[D,C]=_c(a);e.contentType==null&&c.push("content-type",C),a=D.stream,g=D.length}else x.isBlobLike(a)&&e.contentType==null&&a.type&&c.push("content-type",a.type);a&&typeof a.read=="function"&&a.read(0);let Q=x.bodyLength(a);if(g=Q??g,g===null&&(g=e.contentLength),g===0&&!h&&(g=null),iF(t)&&g>0&&e.contentLength!==null&&e.contentLength!==g){if(A[jc])return x.errorRequest(A,e,new qt),!1;process.emitWarning(new qt)}let l=A[kr],E=D=>{e.aborted||e.completed||(x.errorRequest(A,e,D||new FI),x.destroy(a),x.destroy(l,new Tr("aborted")))};try{e.onConnect(E)}catch(D){x.errorRequest(A,e,D)}if(e.aborted)return!1;t==="HEAD"&&(l[Me]=!0),(n||t==="CONNECT")&&(l[Me]=!0),i!=null&&(l[Me]=i),A[wI]&&l[_N]++>=A[wI]&&(l[Me]=!0),o&&(l[Ls]=!0),l.setTypeOfService&&l.setTypeOfService(e.typeOfService);let B=`${t} ${r} HTTP/1.1\r
|
|
11
|
+
`);l.push(D,f,E),typeof f.size=="number"?o+=D.byteLength+f.size+E.byteLength:B=!0}let y=Eo.encode(`--${c}--\r
|
|
12
|
+
`);l.push(y),o+=y.byteLength,B&&(o=null),n=A,s=async function*(){for(let C of l)C.stream?yield*C.stream():yield C},i=`multipart/form-data; boundary=${c}`}else if(uA.is.Blob(A))n=A,o=A.size,A.type&&(i=A.type);else if(typeof A[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(jc.isDisturbed(A)||A.locked)throw new TypeError("Response body object should not be disturbed or locked");t=uA.is.ReadableStream(A)?A:mN(A)}return(typeof n=="string"||bN(n))&&(s=()=>(o=typeof n=="string"?Buffer.byteLength(n):n.length,n)),s!=null&&(async()=>{let c=s(),g=c?.[Symbol.asyncIterator]?.();if(g)for await(let Q of g){if(Zc(t))break;Q.length&&r.enqueue(new Uint8Array(Q))}else c?.length&&!Zc(t)&&r.enqueue(typeof c=="string"?Eo.encode(c):new Uint8Array(c));queueMicrotask(()=>wN(r))})(),[{stream:t,source:n,length:o},i]}function ON(A,e=!1){return uA.is.ReadableStream(A)&&(_c(!jc.isDisturbed(A),"The body has already been consumed."),_c(!A.locked,"The stream is locked.")),SI(A,e)}function vN(A){let{0:e,1:t}=A.stream.tee();return A.stream=e,{stream:t,length:A.length,source:A.source}}function VN(A,e){return{blob(){return Tr(this,r=>{let s=RI(e(this));return s===null?s="":s&&(s=UN(s)),new Blob([r],{type:s})},A,e)},arrayBuffer(){return Tr(this,r=>new Uint8Array(r).buffer,A,e)},text(){return Tr(this,LN,A,e)},json(){return Tr(this,kN,A,e)},formData(){return Tr(this,r=>{let s=RI(e(this));if(s!==null)switch(s.essence){case"multipart/form-data":{let n=MN(r,s),o=new wI;return NN(o,n),o}case"application/x-www-form-urlencoded":{let n=new URLSearchParams(r.toString()),o=new wI;for(let[i,a]of n)o.append(i,a);return o}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},A,e)},bytes(){return Tr(this,r=>new Uint8Array(r),A,e)}}}function JN(A,e){Object.assign(A.prototype,VN(A,e))}function Tr(A,e,t,r){try{uA.brandCheck(A,t)}catch(i){return Promise.reject(i)}if(A=r(A),NI(A))return Promise.reject(new TypeError("Body is unusable: Body has already been read"));let s=TN(),n=s.reject,o=i=>{try{s.resolve(e(i))}catch(a){n(a)}};return A.body==null?(o(Buffer.allocUnsafe(0)),s.promise):(RN(A.body,o,n),s.promise)}function NI(A){let e=A.body;return e!=null&&(e.stream.locked||jc.isDisturbed(e.stream))}function RI(A){let e=A.headersList,t=SN(e);return t==="failure"?null:t}FI.exports={extractBody:SI,safelyExtractBody:ON,cloneBody:vN,mixinBody:JN,streamRegistry:GN,bodyUnusable:NI}});var OI=p((tV,GI)=>{"use strict";var x=require("node:assert"),H=G(),{channels:bI}=at(),Xc=ba(),{RequestContentLengthMismatchError:qt,ResponseContentLengthMismatchError:PN,RequestAbortedError:xI,HeadersTimeoutError:qN,HeadersOverflowError:WN,SocketError:Hs,InformationalError:Lr,BodyTimeoutError:_N,HTTPParserError:ZN,ResponseExceededMaxSizeError:jN}=Y(),{kUrl:HI,kReset:Me,kClient:rg,kParser:ne,kBlocking:Ys,kRunning:De,kPending:XN,kSize:UI,kWriting:Et,kQueue:QA,kNoRef:Ls,kKeepAliveDefaultTimeout:KN,kHostHeader:zN,kPendingIdx:$N,kRunningIdx:sA,kError:nA,kPipelining:ho,kSocket:xr,kKeepAliveTimeoutValue:Bo,kMaxHeadersSize:eF,kKeepAliveMaxTimeout:AF,kKeepAliveTimeoutThreshold:tF,kHeadersTimeout:rF,kBodyTimeout:sF,kStrictContentLength:$c,kMaxRequests:MI,kCounter:nF,kMaxResponseSize:oF,kOnError:iF,kResume:lt,kHTTPContext:YI,kClosed:eg}=j(),wA=Fh(),aF=Buffer.alloc(0),uo=Buffer[Symbol.species],cF=H.removeAllListeners,Kc;function gF(){let A=process.env.JEST_WORKER_ID?Dc():void 0,e,t=process.arch!=="ppc64";if(process.env.UNDICI_NO_WASM_SIMD==="1"?t=!0:process.env.UNDICI_NO_WASM_SIMD==="0"&&(t=!1),t)try{e=new WebAssembly.Module(Mh())}catch{}return e||(e=new WebAssembly.Module(A||Dc())),new WebAssembly.Instance(e,{env:{wasm_on_url:(r,s,n)=>0,wasm_on_status:(r,s,n)=>{x(ue.ptr===r);let o=s-SA+RA.byteOffset;return ue.onStatus(new uo(RA.buffer,o,n))},wasm_on_message_begin:r=>(x(ue.ptr===r),ue.onMessageBegin()),wasm_on_header_field:(r,s,n)=>{x(ue.ptr===r);let o=s-SA+RA.byteOffset;return ue.onHeaderField(new uo(RA.buffer,o,n))},wasm_on_header_value:(r,s,n)=>{x(ue.ptr===r);let o=s-SA+RA.byteOffset;return ue.onHeaderValue(new uo(RA.buffer,o,n))},wasm_on_headers_complete:(r,s,n,o)=>(x(ue.ptr===r),ue.onHeadersComplete(s,n===1,o===1)),wasm_on_body:(r,s,n)=>{x(ue.ptr===r);let o=s-SA+RA.byteOffset;return ue.onBody(new uo(RA.buffer,o,n))},wasm_on_message_complete:r=>(x(ue.ptr===r),ue.onMessageComplete())}})}var zc=null,ue=null,RA=null,Qo=0,SA=null,lF=0,xs=1,Hr=2|xs,Io=4|xs,Ag=8|lF,tg=class{constructor(e,t,{exports:r}){this.llhttp=r,this.ptr=this.llhttp.llhttp_alloc(wA.TYPE.RESPONSE),this.client=e,this.socket=t,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=0,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=e[eF],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=e[oF]}setTimeout(e,t){e!==this.timeoutValue||t&xs^this.timeoutType&xs?(this.timeout&&(Xc.clearTimeout(this.timeout),this.timeout=null),e&&(t&xs?this.timeout=Xc.setFastTimeout(TI,e,new WeakRef(this)):(this.timeout=setTimeout(TI,e,new WeakRef(this)),this.timeout?.unref())),this.timeoutValue=e):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=t}resume(){this.socket.destroyed||!this.paused||(x(this.ptr!=null),x(ue===null),this.llhttp.llhttp_resume(this.ptr),x(this.timeoutType===Io),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||aF),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let e=this.socket.read();if(e===null)break;this.execute(e)}}execute(e){x(ue===null),x(this.ptr!=null),x(!this.paused);let{socket:t,llhttp:r}=this;e.length>Qo&&(SA&&r.free(SA),Qo=Math.ceil(e.length/4096)*4096,SA=r.malloc(Qo)),new Uint8Array(r.memory.buffer,SA,Qo).set(e);try{let s;try{RA=e,ue=this,s=r.llhttp_execute(this.ptr,SA,e.length)}finally{ue=null,RA=null}if(s!==wA.ERROR.OK){let n=e.subarray(r.llhttp_get_error_pos(this.ptr)-SA);if(s===wA.ERROR.PAUSED_UPGRADE)this.onUpgrade(n);else if(s===wA.ERROR.PAUSED)this.paused=!0,t.unshift(n);else{let o=r.llhttp_get_error_reason(this.ptr),i="";if(o){let a=new Uint8Array(r.memory.buffer,o).indexOf(0);i="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,o,a).toString()+")"}throw new ZN(i,wA.ERROR[s],n)}}}catch(s){H.destroy(t,s)}}destroy(){x(ue===null),x(this.ptr!=null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&Xc.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(e){return this.statusText=e.toString(),0}onMessageBegin(){let{socket:e,client:t}=this;if(e.destroyed)return-1;let r=t[QA][t[sA]];return r?(r.onResponseStarted(),0):-1}onHeaderField(e){let t=this.headers.length;return(t&1)===0?this.headers.push(e):this.headers[t-1]=Buffer.concat([this.headers[t-1],e]),this.trackHeader(e.length),0}onHeaderValue(e){let t=this.headers.length;(t&1)===1?(this.headers.push(e),t+=1):this.headers[t-1]=Buffer.concat([this.headers[t-1],e]);let r=this.headers[t-2];if(r.length===10){let s=H.bufferToLowerCasedHeaderName(r);s==="keep-alive"?this.keepAlive+=e.toString():s==="connection"&&(this.connection+=e.toString())}else r.length===14&&H.bufferToLowerCasedHeaderName(r)==="content-length"&&(this.contentLength+=e.toString());return this.trackHeader(e.length),0}trackHeader(e){this.headersSize+=e,this.headersSize>=this.headersMaxSize&&H.destroy(this.socket,new WN)}onUpgrade(e){let{upgrade:t,client:r,socket:s,headers:n,statusCode:o}=this;x(t),x(r[xr]===s),x(!s.destroyed),x(!this.paused),x((n.length&1)===0);let i=r[QA][r[sA]];x(i),x(i.upgrade||i.method==="CONNECT"),this.statusCode=0,this.statusText="",this.shouldKeepAlive=!1,this.headers=[],this.headersSize=0,s.unshift(e),s[ne].destroy(),s[ne]=null,s[rg]=null,s[nA]=null,cF(s),r[xr]=null,r[YI]=null,r[QA][r[sA]++]=null,r.emit("disconnect",r[HI],[r],new Lr("upgrade"));try{i.onUpgrade(o,n,s)}catch(a){H.destroy(s,a)}r[lt]()}onHeadersComplete(e,t,r){let{client:s,socket:n,headers:o,statusText:i}=this;if(n.destroyed)return-1;let a=s[QA][s[sA]];if(!a)return-1;if(x(!this.upgrade),x(this.statusCode<200),e===100)return H.destroy(n,new Hs("bad response",H.getSocketInfo(n))),-1;if(t&&!a.upgrade)return H.destroy(n,new Hs("bad upgrade",H.getSocketInfo(n))),-1;if(x(this.timeoutType===Hr),this.statusCode=e,this.shouldKeepAlive=r||a.method==="HEAD"&&!n[Me]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let g=a.bodyTimeout!=null?a.bodyTimeout:s[sF];this.setTimeout(g,Io)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(a.method==="CONNECT")return x(s[De]===1),this.upgrade=!0,2;if(t)return x(s[De]===1),this.upgrade=!0,2;if(x((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&s[ho]){let g=this.keepAlive?H.parseKeepAliveTimeout(this.keepAlive):null;if(g!=null){let Q=Math.min(g-s[tF],s[AF]);Q<=0?n[Me]=!0:s[Bo]=Q}else s[Bo]=s[KN]}else n[Me]=!0;let c=a.onHeaders(e,o,this.resume,i)===!1;return a.aborted?-1:a.method==="HEAD"||e<200?1:(n[Ys]&&(n[Ys]=!1,s[lt]()),c?wA.ERROR.PAUSED:0)}onBody(e){let{client:t,socket:r,statusCode:s,maxResponseSize:n}=this;if(r.destroyed)return-1;let o=t[QA][t[sA]];return x(o),x(this.timeoutType===Io),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),x(s>=200),n>-1&&this.bytesRead+e.length>n?(H.destroy(r,new jN),-1):(this.bytesRead+=e.length,o.onData(e)===!1?wA.ERROR.PAUSED:0)}onMessageComplete(){let{client:e,socket:t,statusCode:r,upgrade:s,headers:n,contentLength:o,bytesRead:i,shouldKeepAlive:a}=this;if(t.destroyed&&(!r||a))return-1;if(s)return 0;x(r>=100),x((this.headers.length&1)===0);let c=e[QA][e[sA]];if(x(c),this.statusCode=0,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,r<200)return 0;if(c.method!=="HEAD"&&o&&i!==parseInt(o,10))return H.destroy(t,new PN),-1;if(c.onComplete(n),e[QA][e[sA]++]=null,t[Et])return x(e[De]===0),H.destroy(t,new Lr("reset")),wA.ERROR.PAUSED;if(a){if(t[Me]&&e[De]===0)return H.destroy(t,new Lr("reset")),wA.ERROR.PAUSED;e[ho]==null||e[ho]===1?setImmediate(e[lt]):e[lt]()}else return H.destroy(t,new Lr("reset")),wA.ERROR.PAUSED;return 0}};function TI(A){let e=A.deref();if(!e)return;let{socket:t,timeoutType:r,client:s,paused:n}=e;r===Hr?(!t[Et]||t.writableNeedDrain||s[De]>1)&&(x(!n,"cannot be paused while waiting for headers"),H.destroy(t,new qN)):r===Io?n||H.destroy(t,new _N):r===Ag&&(x(s[De]===0&&s[Bo]),H.destroy(t,new Lr("socket idle timeout")))}function EF(A,e){if(A[xr]=e,zc||(zc=gF()),e.errored)throw e.errored;if(e.destroyed)throw new Hs("destroyed");return e[Ls]=!1,e[Et]=!1,e[Me]=!1,e[Ys]=!1,e[ne]=new tg(A,e,zc),H.addListener(e,"error",uF),H.addListener(e,"readable",QF),H.addListener(e,"end",hF),H.addListener(e,"close",IF),e[eg]=!1,e.on("close",BF),{version:"h1",defaultPipelining:1,write(t){return fF(A,t)},resume(){CF(A)},destroy(t,r){e[eg]?queueMicrotask(r):(e.on("close",r),e.destroy(t))},get destroyed(){return e.destroyed},busy(t){return!!(e[Et]||e[Me]||e[Ys]||t&&(A[De]>0&&!t.idempotent||A[De]>0&&(t.upgrade||t.method==="CONNECT")||A[De]>0&&H.bodyLength(t.body)!==0&&(H.isStream(t.body)||H.isAsyncIterable(t.body)||H.isFormDataLike(t.body))))}}}function uF(A){x(A.code!=="ERR_TLS_CERT_ALTNAME_INVALID");let e=this[ne];if(A.code==="ECONNRESET"&&e.statusCode&&!e.shouldKeepAlive){e.onMessageComplete();return}this[nA]=A,this[rg][iF](A)}function QF(){this[ne]?.readMore()}function hF(){let A=this[ne];if(A.statusCode&&!A.shouldKeepAlive){A.onMessageComplete();return}H.destroy(this,new Hs("other side closed",H.getSocketInfo(this)))}function IF(){let A=this[ne];A&&(!this[nA]&&A.statusCode&&!A.shouldKeepAlive&&A.onMessageComplete(),this[ne].destroy(),this[ne]=null);let e=this[nA]||new Hs("closed",H.getSocketInfo(this)),t=this[rg];if(t[xr]=null,t[YI]=null,t.destroyed){x(t[XN]===0);let r=t[QA].splice(t[sA]);for(let s=0;s<r.length;s++){let n=r[s];H.errorRequest(t,n,e)}}else if(t[De]>0&&e.code!=="UND_ERR_INFO"){let r=t[QA][t[sA]];t[QA][t[sA]++]=null,H.errorRequest(t,r,e)}t[$N]=t[sA],x(t[De]===0),t.emit("disconnect",t[HI],[t],e),t[lt]()}function BF(){this[eg]=!0}function CF(A){let e=A[xr];if(e&&!e.destroyed){if(A[UI]===0?!e[Ls]&&e.unref&&(e.unref(),e[Ls]=!0):e[Ls]&&e.ref&&(e.ref(),e[Ls]=!1),A[UI]===0)e[ne].timeoutType!==Ag&&e[ne].setTimeout(A[Bo],Ag);else if(A[De]>0&&e[ne].statusCode<200&&e[ne].timeoutType!==Hr){let t=A[QA][A[sA]],r=t.headersTimeout!=null?t.headersTimeout:A[rF];e[ne].setTimeout(r,Hr)}}}function dF(A){return A!=="GET"&&A!=="HEAD"&&A!=="OPTIONS"&&A!=="TRACE"&&A!=="CONNECT"}function fF(A,e){let{method:t,path:r,host:s,upgrade:n,blocking:o,reset:i}=e,{body:a,headers:c,contentLength:g}=e,Q=t==="PUT"||t==="POST"||t==="PATCH"||t==="QUERY"||t==="PROPFIND"||t==="PROPPATCH";if(H.isFormDataLike(a)){Kc||(Kc=kr().extractBody);let[y,C]=Kc(a);e.contentType==null&&c.push("content-type",C),a=y.stream,g=y.length}else H.isBlobLike(a)&&e.contentType==null&&a.type&&c.push("content-type",a.type);a&&typeof a.read=="function"&&a.read(0);let u=H.bodyLength(a);if(g=u??g,g===null&&(g=e.contentLength),g===0&&!Q&&(g=null),dF(t)&&g>0&&e.contentLength!==null&&e.contentLength!==g){if(A[$c])return H.errorRequest(A,e,new qt),!1;process.emitWarning(new qt)}let l=A[xr],E=y=>{e.aborted||e.completed||(H.errorRequest(A,e,y||new xI),H.destroy(a),H.destroy(l,new Lr("aborted")))};try{e.onConnect(E)}catch(y){H.errorRequest(A,e,y)}if(e.aborted)return!1;t==="HEAD"&&(l[Me]=!0),(n||t==="CONNECT")&&(l[Me]=!0),i!=null&&(l[Me]=i),A[MI]&&l[nF]++>=A[MI]&&(l[Me]=!0),o&&(l[Ys]=!0),l.setTypeOfService&&l.setTypeOfService(e.typeOfService);let B=`${t} ${r} HTTP/1.1\r
|
|
13
13
|
`;if(typeof s=="string"?B+=`host: ${s}\r
|
|
14
|
-
`:B+=A[
|
|
14
|
+
`:B+=A[zN],n?B+=`connection: upgrade\r
|
|
15
15
|
upgrade: ${n}\r
|
|
16
|
-
`:A[
|
|
16
|
+
`:A[ho]&&!l[Me]?B+=`connection: keep-alive\r
|
|
17
17
|
`:B+=`connection: close\r
|
|
18
|
-
`,Array.isArray(c))for(let
|
|
18
|
+
`,Array.isArray(c))for(let y=0;y<c.length;y+=2){let C=c[y+0],f=c[y+1];if(Array.isArray(f))for(let D=0;D<f.length;D++)B+=`${C}: ${f[D]}\r
|
|
19
19
|
`;else B+=`${C}: ${f}\r
|
|
20
|
-
`}return
|
|
20
|
+
`}return bI.sendHeaders.hasSubscribers&&bI.sendHeaders.publish({request:e,headers:B,socket:l}),!a||u===0?kI(E,null,A,e,l,g,B,Q):H.isBuffer(a)?kI(E,a,A,e,l,g,B,Q):H.isBlobLike(a)?typeof a.stream=="function"?LI(E,a.stream(),A,e,l,g,B,Q):yF(E,a,A,e,l,g,B,Q):H.isStream(a)?pF(E,a,A,e,l,g,B,Q):H.isIterable(a)?LI(E,a,A,e,l,g,B,Q):x(!1),!0}function pF(A,e,t,r,s,n,o,i){x(n!==0||t[De]===0,"stream body cannot be pipelined");let a=!1,c=new Co({abort:A,socket:s,request:r,contentLength:n,client:t,expectsPayload:i,header:o}),g=function(E){if(!a)try{!c.write(E)&&this.pause&&this.pause()}catch(B){H.destroy(this,B)}},Q=function(){a||e.resume&&e.resume()},u=function(){if(queueMicrotask(()=>{e.removeListener("error",l)}),!a){let E=new xI;queueMicrotask(()=>l(E))}},l=function(E){if(!a){if(a=!0,x(s.destroyed||s[Et]&&t[De]<=1),s.off("drain",Q).off("error",l),e.removeListener("data",g).removeListener("end",l).removeListener("close",u),!E)try{c.end()}catch(B){E=B}c.destroy(E),E&&(E.code!=="UND_ERR_INFO"||E.message!=="reset")?H.destroy(e,E):H.destroy(e)}};e.on("data",g).on("end",l).on("error",l).on("close",u),e.resume&&e.resume(),s.on("drain",Q).on("error",l),e.errorEmitted??e.errored?setImmediate(l,e.errored):(e.endEmitted??e.readableEnded)&&setImmediate(l,null),(e.closeEmitted??e.closed)&&setImmediate(u)}function kI(A,e,t,r,s,n,o,i){try{e?H.isBuffer(e)&&(x(n===e.byteLength,"buffer body must have content length"),s.cork(),s.write(`${o}content-length: ${n}\r
|
|
21
21
|
\r
|
|
22
22
|
`,"latin1"),s.write(e),s.uncork(),r.onBodySent(e),!i&&r.reset!==!1&&(s[Me]=!0)):n===0?s.write(`${o}content-length: 0\r
|
|
23
23
|
\r
|
|
24
|
-
`,"latin1"):(
|
|
25
|
-
`,"latin1")),r.onRequestSent(),t[
|
|
24
|
+
`,"latin1"):(x(n===null,"no body must not have content length"),s.write(`${o}\r
|
|
25
|
+
`,"latin1")),r.onRequestSent(),t[lt]()}catch(a){A(a)}}async function yF(A,e,t,r,s,n,o,i){x(n===e.size,"blob body must have content length");try{if(n!=null&&n!==e.size)throw new qt;let a=Buffer.from(await e.arrayBuffer());s.cork(),s.write(`${o}content-length: ${n}\r
|
|
26
26
|
\r
|
|
27
|
-
`,"latin1"),s.write(a),s.uncork(),r.onBodySent(a),r.onRequestSent(),!i&&r.reset!==!1&&(s[Me]=!0),t[
|
|
27
|
+
`,"latin1"),s.write(a),s.uncork(),r.onBodySent(a),r.onRequestSent(),!i&&r.reset!==!1&&(s[Me]=!0),t[lt]()}catch(a){A(a)}}async function LI(A,e,t,r,s,n,o,i){x(n!==0||t[De]===0,"iterator body cannot be pipelined");let a=null;function c(){if(a){let u=a;a=null,u()}}let g=()=>new Promise((u,l)=>{x(a===null),s[nA]?l(s[nA]):a=u});s.on("close",c).on("drain",c);let Q=new Co({abort:A,socket:s,request:r,contentLength:n,client:t,expectsPayload:i,header:o});try{for await(let u of e){if(s[nA])throw s[nA];Q.write(u)||await g()}Q.end()}catch(u){Q.destroy(u)}finally{s.off("close",c).off("drain",c)}}var Co=class{constructor({abort:e,socket:t,request:r,contentLength:s,client:n,expectsPayload:o,header:i}){this.socket=t,this.request=r,this.contentLength=s,this.client=n,this.bytesWritten=0,this.expectsPayload=o,this.header=i,this.abort=e,t[Et]=!0}write(e){let{socket:t,request:r,contentLength:s,client:n,bytesWritten:o,expectsPayload:i,header:a}=this;if(t[nA])throw t[nA];if(t.destroyed)return!1;let c=Buffer.byteLength(e);if(!c)return!0;if(s!==null&&o+c>s){if(n[$c])throw new qt;process.emitWarning(new qt)}t.cork(),o===0&&(!i&&r.reset!==!1&&(t[Me]=!0),s===null?t.write(`${a}transfer-encoding: chunked\r
|
|
28
28
|
`,"latin1"):t.write(`${a}content-length: ${s}\r
|
|
29
29
|
\r
|
|
30
30
|
`,"latin1")),s===null&&t.write(`\r
|
|
31
31
|
${c.toString(16)}\r
|
|
32
|
-
`,"latin1"),this.bytesWritten+=c;let g=t.write(e);return t.uncork(),r.onBodySent(e),g||t[ne].timeout&&t[ne].timeoutType===
|
|
32
|
+
`,"latin1"),this.bytesWritten+=c;let g=t.write(e);return t.uncork(),r.onBodySent(e),g||t[ne].timeout&&t[ne].timeoutType===Hr&&t[ne].timeout.refresh&&t[ne].timeout.refresh(),g}end(){let{socket:e,contentLength:t,client:r,bytesWritten:s,expectsPayload:n,header:o,request:i}=this;if(i.onRequestSent(),e[Et]=!1,e[nA])throw e[nA];if(!e.destroyed){if(s===0?n?e.write(`${o}content-length: 0\r
|
|
33
33
|
\r
|
|
34
34
|
`,"latin1"):e.write(`${o}\r
|
|
35
35
|
`,"latin1"):t===null&&e.write(`\r
|
|
36
36
|
0\r
|
|
37
37
|
\r
|
|
38
|
-
`,"latin1"),t!==null&&s!==t){if(r[
|
|
39
|
-
`;
|
|
40
|
-
`,this[ob]=i??3e5,this[nb]=r??3e5,this[ib]=C??!0,this[gg]=T,this[ut]=null,this[Eb]=k>-1?k:-1,this[ae]=null,this[ub]=L??100,this[hb]=ce??262144,this[Ib]=Ge??524288,this[Bb]=ie??6e4,this[hA]=[],this[ZA]=0,this[IA]=0,this[_A]=$e=>Eg(this,$e),this[Qb]=$e=>ZI(this,$e)}get pipelining(){return this[yo]}set pipelining(e){this[yo]=e,this[_A](!0)}get stats(){return new PF(this)}get[Ws](){return this[hA].length-this[IA]}get[qs](){return this[IA]-this[ZA]}get[vs](){return this[hA].length-this[ZA]}get[zF](){return!!this[ae]&&!this[Yr]&&!this[ae].destroyed}get[cg](){return!!(this[ae]?.busy(null)||this[vs]>=(_I(this)||1)||this[Ws]>0)}[KF](e){jI(this),this.once("connect",e)}[lb](e,t){let r=new qF(this[FA].origin,e,t);return this[hA].push(r),this[_t]||(Wt.bodyLength(r.body)==null&&Wt.isIterable(r.body)?(this[_t]=1,queueMicrotask(()=>Eg(this))):this[_A](!0)),this[_t]&&this[ht]!==2&&this[cg]&&(this[ht]=2),this[ht]<2}[cb](){return new Promise(e=>{this[vs]?this[ut]=e:e(null)})}[gb](e){return new Promise(t=>{let r=this[hA].splice(this[IA]);for(let n=0;n<r.length;n++){let o=r[n];Wt.errorRequest(this,o,e)}let s=()=>{this[ut]&&(this[ut](),this[ut]=null),t(null)};this[ae]?(this[ae].destroy(e,s),this[ae]=null):queueMicrotask(s),this[_A]()})}};function ZI(A,e){if(A[qs]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){WA(A[IA]===A[ZA]);let t=A[hA].splice(A[ZA]);for(let r=0;r<t.length;r++){let s=t[r];Wt.errorRequest(A,s,e)}WA(A[vs]===0)}}function jI(A){WA(!A[Yr]),WA(!A[ae]);let{host:e,hostname:t,protocol:r,port:s}=A[FA];if(t[0]==="["){let n=t.indexOf("]");WA(n!==-1);let o=t.substring(1,n);WA(WI.isIPv6(o)),t=o}A[Yr]=!0,xr.beforeConnect.hasSubscribers&&xr.beforeConnect.publish({connectParams:{host:e,hostname:t,protocol:r,port:s,version:A[ae]?.version,servername:A[It],localAddress:A[Ps]},connector:A[Js]});try{A[Js]({host:e,hostname:t,protocol:r,port:s,servername:A[It],localAddress:A[Ps]},(n,o)=>{if(n){ag(A,n,{host:e,hostname:t,protocol:r,port:s}),A[_A]();return}if(A.destroyed){Wt.destroy(o.on("error",PI),new ZF),A[_A]();return}WA(o);try{A[ae]=o.alpnProtocol==="h2"?db(A,o):Cb(A,o)}catch(i){o.destroy().on("error",PI),ag(A,i,{host:e,hostname:t,protocol:r,port:s}),A[_A]();return}A[Yr]=!1,o[ab]=0,o[gg]=A[gg],o[XF]=A,o[eb]=null,xr.connected.hasSubscribers&&xr.connected.publish({connectParams:{host:e,hostname:t,protocol:r,port:s,version:A[ae]?.version,servername:A[It],localAddress:A[Ps]},connector:A[Js],socket:o}),A.emit("connect",A[FA],[A]),A[_A]()})}catch(n){ag(A,n,{host:e,hostname:t,protocol:r,port:s}),A[_A]()}}function ag(A,e,{host:t,hostname:r,protocol:s,port:n}){if(!A.destroyed){if(A[Yr]=!1,xr.connectError.hasSubscribers&&xr.connectError.publish({connectParams:{host:t,hostname:r,protocol:s,port:n,version:A[ae]?.version,servername:A[It],localAddress:A[Ps]},connector:A[Js],error:e}),e.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(WA(A[qs]===0);A[Ws]>0&&A[hA][A[IA]].servername===A[It];){let o=A[hA][A[IA]++];Wt.errorRequest(A,o,e)}else ZI(A,e);A.emit("connectionError",A[FA],[A],e)}}function qI(A){A[ht]=0,A.emit("drain",A[FA],[A])}function Eg(A,e){A[_t]!==2&&(A[_t]=2,pb(A,e),A[_t]=0,A[ZA]>256&&(A[hA].splice(0,A[ZA]),A[IA]-=A[ZA],A[ZA]=0))}function pb(A,e){for(;;){if(A.destroyed){WA(A[Ws]===0);return}if(A[ut]&&!A[vs]){A[ut](),A[ut]=null;return}if(A[ae]&&A[ae].resume(),A[cg])A[ht]=2;else if(A[ht]===2){e?(A[ht]=1,queueMicrotask(()=>qI(A))):qI(A);continue}if(A[Ws]===0||A[qs]>=(_I(A)||1))return;let t=A[hA][A[IA]];if(t===null)return;if(A[FA].protocol==="https:"&&A[It]!==t.servername){if(A[qs]>0)return;A[It]=t.servername,A[ae]?.destroy(new _F("servername changed"),()=>{A[ae]=null,Eg(A)})}if(A[Yr])return;if(!A[ae]){jI(A);return}if(A[ae].destroyed||A[ae].busy(t))return;!t.aborted&&A[ae].write(t)?A[IA]++:A[hA].splice(A[IA],1)}}XI.exports=lg});var Qg=p((WV,KI)=>{"use strict";var Do=class{bottom=0;top=0;list=new Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};KI.exports=class{constructor(){this.head=this.tail=new Do}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new Do),this.head.push(e)}shift(){let e=this.tail,t=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next,e.next=null),t}}});var mo=p((_V,oB)=>{"use strict";var{PoolStats:yb}=Ac(),Db=Ot(),mb=Qg(),{kConnected:ug,kSize:zI,kRunning:$I,kPending:eB,kQueued:_s,kBusy:wb,kFree:Rb,kUrl:Sb,kClose:Nb,kDestroy:Fb,kDispatch:bb}=Z(),Ce=Symbol("clients"),Se=Symbol("needDrain"),Zs=Symbol("queue"),hg=Symbol("closed resolve"),Ig=Symbol("onDrain"),AB=Symbol("onConnect"),tB=Symbol("onDisconnect"),rB=Symbol("onConnectionError"),Bg=Symbol("get dispatcher"),sB=Symbol("add client"),nB=Symbol("remove client"),Cg=class extends Db{[Zs]=new mb;[_s]=0;[Ce]=[];[Se]=!1;[Ig](e,t,r){let s=this[Zs],n=!1;for(;!n;){let o=s.shift();if(!o)break;this[_s]--,n=!e.dispatch(o.opts,o.handler)}if(e[Se]=n,!n&&this[Se]&&(this[Se]=!1,this.emit("drain",t,[this,...r])),this[hg]&&s.isEmpty()){let o=[];for(let i=0;i<this[Ce].length;i++){let a=this[Ce][i];a.destroyed||o.push(a.close())}return Promise.all(o).then(this[hg])}}[AB]=(e,t)=>{this.emit("connect",e,[this,...t])};[tB]=(e,t,r)=>{this.emit("disconnect",e,[this,...t],r)};[rB]=(e,t,r)=>{this.emit("connectionError",e,[this,...t],r)};get[wb](){return this[Se]}get[ug](){let e=0;for(let{[ug]:t}of this[Ce])e+=t;return e}get[Rb](){let e=0;for(let{[ug]:t,[Se]:r}of this[Ce])e+=t&&!r;return e}get[eB](){let e=this[_s];for(let{[eB]:t}of this[Ce])e+=t;return e}get[$I](){let e=0;for(let{[$I]:t}of this[Ce])e+=t;return e}get[zI](){let e=this[_s];for(let{[zI]:t}of this[Ce])e+=t;return e}get stats(){return new yb(this)}[Nb](){if(this[Zs].isEmpty()){let e=[];for(let t=0;t<this[Ce].length;t++){let r=this[Ce][t];r.destroyed||e.push(r.close())}return Promise.all(e)}else return new Promise(e=>{this[hg]=e})}[Fb](e){for(;;){let r=this[Zs].shift();if(!r)break;r.handler.onError(e)}let t=new Array(this[Ce].length);for(let r=0;r<this[Ce].length;r++)t[r]=this[Ce][r].destroy(e);return Promise.all(t)}[bb](e,t){let r=this[Bg]();return r?r.dispatch(e,t)||(r[Se]=!0,this[Se]=!this[Bg]()):(this[Se]=!0,this[Zs].push({opts:e,handler:t}),this[_s]++),!this[Se]}[sB](e){return e.on("drain",this[Ig].bind(this,e)).on("connect",this[AB]).on("disconnect",this[tB]).on("connectionError",this[rB]),this[Ce].push(e),this[Se]&&queueMicrotask(()=>{this[Se]&&this[Ig](e,e[Sb],[e,this])}),this}[nB](e){e.close(()=>{let t=this[Ce].indexOf(e);t!==-1&&this[Ce].splice(t,1)}),this[Se]=this[Ce].some(t=>!t[Se]&&t.closed!==!0&&t.destroyed!==!0)}};oB.exports={PoolBase:Cg,kClients:Ce,kNeedDrain:Se,kAddClient:sB,kRemoveClient:nB,kGetDispatcher:Bg}});var Zt=p((ZV,gB)=>{"use strict";var{PoolBase:Ub,kClients:wo,kNeedDrain:Mb,kAddClient:Tb,kGetDispatcher:kb,kRemoveClient:Lb}=mo(),Hb=Bt(),{InvalidArgumentError:dg}=Y(),iB=G(),{kUrl:aB}=Z(),xb=Vt(),Ro=Symbol("options"),fg=Symbol("connections"),cB=Symbol("factory");function Yb(A,e){return new Hb(A,e)}var pg=class extends Ub{constructor(e,{connections:t,factory:r=Yb,connect:s,connectTimeout:n,tls:o,maxCachedSessions:i,socketPath:a,autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g,allowH2:h,clientTtl:Q,...l}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new dg("invalid connections");if(typeof r!="function")throw new dg("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new dg("connect must be a function or an object");typeof s!="function"&&(s=xb({...o,maxCachedSessions:i,allowH2:h,socketPath:a,timeout:n,...typeof c=="boolean"?{autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g}:void 0,...s})),super(),this[fg]=t||null,this[aB]=iB.parseOrigin(e),this[Ro]={...iB.deepClone(l),connect:s,allowH2:h,clientTtl:Q,socketPath:a},this[Ro].interceptors=l.interceptors?{...l.interceptors}:void 0,this[cB]=r,this.on("connect",(E,B)=>{if(Q!=null&&Q>0)for(let D of B)Object.assign(D,{ttl:Date.now()})}),this.on("connectionError",(E,B,D)=>{for(let C of B){let f=this[wo].indexOf(C);f!==-1&&this[wo].splice(f,1)}})}[kb](){let e=this[Ro].clientTtl;for(let t of this[wo])if(e!=null&&e>0&&t.ttl&&Date.now()-t.ttl>e)this[Lb](t);else if(!t[Mb])return t;if(!this[fg]||this[wo].length<this[fg]){let t=this[cB](this[aB],this[Ro]);return this[Tb](t),t}}};gB.exports=pg});var uB=p((jV,QB)=>{"use strict";var{BalancedPoolMissingUpstreamError:Gb,InvalidArgumentError:Ob}=Y(),{PoolBase:Vb,kClients:ye,kNeedDrain:js,kAddClient:vb,kRemoveClient:Jb,kGetDispatcher:Pb}=mo(),qb=Zt(),{kUrl:So}=Z(),No=G(),lB=Symbol("factory"),Xs=Symbol("options"),EB=Symbol("kGreatestCommonDivisor"),jt=Symbol("kCurrentWeight"),Xt=Symbol("kIndex"),aA=Symbol("kWeight"),Fo=Symbol("kMaxWeightPerServer"),bo=Symbol("kErrorPenalty");function Wb(A,e){if(A===0)return e;for(;e!==0;){let t=e;e=A%e,A=t}return A}function _b(A,e){return new qb(A,e)}var yg=class extends Vb{constructor(e=[],{factory:t=_b,...r}={}){if(typeof t!="function")throw new Ob("factory must be a function.");super(),this[Xs]={...No.deepClone(r)},this[Xs].interceptors=r.interceptors?{...r.interceptors}:void 0,this[Xt]=-1,this[jt]=0,this[Fo]=this[Xs].maxWeightPerServer||100,this[bo]=this[Xs].errorPenalty||15,Array.isArray(e)||(e=[e]),this[lB]=t;for(let s of e)this.addUpstream(s);this._updateBalancedPoolStats()}addUpstream(e){let t=No.parseOrigin(e).origin;if(this[ye].find(s=>s[So].origin===t&&s.closed!==!0&&s.destroyed!==!0))return this;let r=this[lB](t,this[Xs]);this[vb](r),r.on("connect",()=>{r[aA]=Math.min(this[Fo],r[aA]+this[bo])}),r.on("connectionError",()=>{r[aA]=Math.max(1,r[aA]-this[bo]),this._updateBalancedPoolStats()}),r.on("disconnect",(...s)=>{let n=s[2];n&&n.code==="UND_ERR_SOCKET"&&(r[aA]=Math.max(1,r[aA]-this[bo]),this._updateBalancedPoolStats())});for(let s of this[ye])s[aA]=this[Fo];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let e=0;for(let t=0;t<this[ye].length;t++)e=Wb(this[ye][t][aA],e);this[EB]=e}removeUpstream(e){let t=No.parseOrigin(e).origin,r=this[ye].find(s=>s[So].origin===t&&s.closed!==!0&&s.destroyed!==!0);return r&&this[Jb](r),this}getUpstream(e){let t=No.parseOrigin(e).origin;return this[ye].find(r=>r[So].origin===t&&r.closed!==!0&&r.destroyed!==!0)}get upstreams(){return this[ye].filter(e=>e.closed!==!0&&e.destroyed!==!0).map(e=>e[So].origin)}[Pb](){if(this[ye].length===0)throw new Gb;if(!this[ye].find(n=>!n[js]&&n.closed!==!0&&n.destroyed!==!0)||this[ye].map(n=>n[js]).reduce((n,o)=>n&&o,!0))return;let r=0,s=this[ye].findIndex(n=>!n[js]);for(;r++<this[ye].length;){this[Xt]=(this[Xt]+1)%this[ye].length;let n=this[ye][this[Xt]];if(n[aA]>this[ye][s][aA]&&!n[js]&&(s=this[Xt]),this[Xt]===0&&(this[jt]=this[jt]-this[EB],this[jt]<=0&&(this[jt]=this[Fo])),n[aA]>=this[jt]&&!n[js])return n}return this[jt]=this[ye][s][aA],this[Xt]=s,this[ye][s]}};QB.exports=yg});var CB=p((XV,BB)=>{"use strict";var{PoolBase:Zb,kClients:Uo,kNeedDrain:jb,kAddClient:hB,kGetDispatcher:Xb,kRemoveClient:Kb}=mo(),zb=Bt(),{InvalidArgumentError:Dg}=Y(),IB=G(),{kUrl:mg}=Z(),$b=Vt(),Ks=Symbol("options"),wg=Symbol("connections"),Rg=Symbol("factory"),Mo=Symbol("index");function eU(A,e){return new zb(A,e)}var Sg=class extends Zb{constructor(e,{connections:t,factory:r=eU,connect:s,connectTimeout:n,tls:o,maxCachedSessions:i,socketPath:a,autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g,allowH2:h,clientTtl:Q,...l}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new Dg("invalid connections");if(typeof r!="function")throw new Dg("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new Dg("connect must be a function or an object");typeof s!="function"&&(s=$b({...o,maxCachedSessions:i,allowH2:h,socketPath:a,timeout:n,...typeof c=="boolean"?{autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g}:void 0,...s})),super(),this[wg]=t||null,this[mg]=IB.parseOrigin(e),this[Ks]={...IB.deepClone(l),connect:s,allowH2:h,clientTtl:Q,socketPath:a},this[Ks].interceptors=l.interceptors?{...l.interceptors}:void 0,this[Rg]=r,this[Mo]=-1,this.on("connect",(E,B)=>{if(Q!=null&&Q>0)for(let D of B)Object.assign(D,{ttl:Date.now()})}),this.on("connectionError",(E,B,D)=>{for(let C of B){let f=this[Uo].indexOf(C);f!==-1&&this[Uo].splice(f,1)}})}[Xb](){let e=this[Ks].clientTtl,t=this[Uo].length;if(t===0){let s=this[Rg](this[mg],this[Ks]);return this[hB](s),s}let r=0;for(;r<t;){this[Mo]=(this[Mo]+1)%t;let s=this[Uo][this[Mo]];if(e!=null&&e>0&&s.ttl&&Date.now()-s.ttl>e){this[Kb](s),r++;continue}if(!s[jb])return s;r++}if(!this[wg]||t<this[wg]){let s=this[Rg](this[mg],this[Ks]);return this[hB](s),s}}};BB.exports=Sg});var Kt=p((KV,wB)=>{"use strict";var{InvalidArgumentError:To,MaxOriginsReachedError:AU}=Y(),{kClients:cA,kRunning:dB,kClose:tU,kDestroy:rU,kDispatch:sU,kUrl:nU}=Z(),oU=Ot(),iU=Zt(),aU=Bt(),cU=G(),fB=Symbol("onConnect"),pB=Symbol("onDisconnect"),yB=Symbol("onConnectionError"),DB=Symbol("onDrain"),mB=Symbol("factory"),Ng=Symbol("options"),zs=Symbol("origins");function gU(A,e){return e&&e.connections===1?new aU(A,e):new iU(A,e)}var Fg=class extends oU{constructor({factory:e=gU,maxOrigins:t=1/0,connect:r,...s}={}){if(typeof e!="function")throw new To("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new To("connect must be a function or an object");if(typeof t!="number"||Number.isNaN(t)||t<=0)throw new To("maxOrigins must be a number greater than 0");super(),r&&typeof r!="function"&&(r={...r}),this[Ng]={...cU.deepClone(s),maxOrigins:t,connect:r},this[mB]=e,this[cA]=new Map,this[zs]=new Set,this[DB]=(n,o)=>{this.emit("drain",n,[this,...o])},this[fB]=(n,o)=>{this.emit("connect",n,[this,...o])},this[pB]=(n,o,i)=>{this.emit("disconnect",n,[this,...o],i)},this[yB]=(n,o,i)=>{this.emit("connectionError",n,[this,...o],i)}}get[dB](){let e=0;for(let{dispatcher:t}of this[cA].values())e+=t[dB];return e}[sU](e,t){let r;if(e.origin&&(typeof e.origin=="string"||e.origin instanceof URL))r=String(e.origin);else throw new To("opts.origin must be a non-empty string or URL.");if(this[zs].size>=this[Ng].maxOrigins&&!this[zs].has(r))throw new AU;let s=this[cA].get(r),n=s&&s.dispatcher;if(!n){let o=i=>{let a=this[cA].get(r);a&&(i&&(a.count-=1),a.count<=0&&(this[cA].delete(r),a.dispatcher.destroyed||a.dispatcher.close()),this[zs].delete(r))};n=this[mB](e.origin,this[Ng]).on("drain",this[DB]).on("connect",(i,a)=>{let c=this[cA].get(r);c&&(c.count+=1),this[fB](i,a)}).on("disconnect",(i,a,c)=>{o(!0),this[pB](i,a,c)}).on("connectionError",(i,a,c)=>{o(!1),this[yB](i,a,c)}),this[cA].set(r,{count:0,dispatcher:n}),this[zs].add(r)}return n.dispatch(e,t)}[tU](){let e=[];for(let{dispatcher:t}of this[cA].values())e.push(t.close());return this[cA].clear(),Promise.all(e)}[rU](e){let t=[];for(let{dispatcher:r}of this[cA].values())t.push(r.destroy(e));return this[cA].clear(),Promise.all(t)}get stats(){let e={};for(let{dispatcher:t}of this[cA].values())t.stats&&(e[t[nU].origin]=t.stats);return e}};wB.exports=Fg});var FB=p((zV,NB)=>{"use strict";var{Buffer:dt}=require("node:buffer"),RB=require("node:net"),{InvalidArgumentError:Ct}=Y();function lU(A){if(RB.isIPv4(A)){let t=A.split(".").map(Number);return{type:1,buffer:dt.from(t)}}if(RB.isIPv6(A))return{type:4,buffer:SB(A)};let e=dt.from(A,"utf8");if(e.length>255)throw new Ct("Domain name too long (max 255 bytes)");return{type:3,buffer:dt.concat([dt.from([e.length]),e])}}function SB(A){let e=dt.alloc(16),t=A.split(":"),r=0,s=0,n=A.indexOf("::");if(n!==-1){let i=8-t.filter(a=>a.length>0).length;for(let a=0;a<t.length;a++)if(t[a]===""&&a===n/3)s+=i*2;else if(t[a]!==""){let c=parseInt(t[a],16);e.writeUInt16BE(c,s),s+=2}}else for(let o of t){if(o==="")continue;let i=parseInt(o,16);e.writeUInt16BE(i,r*2),r++}return e}function EU(A,e,t){let r=dt.allocUnsafe(2);return r.writeUInt16BE(t,0),dt.concat([dt.from([A]),e,r])}function QU(A,e=0){if(A.length<e+1)throw new Ct("Buffer too small to contain address type");let t=A[e],r,s=e+1;switch(t){case 1:{if(A.length<s+6)throw new Ct("Buffer too small for IPv4 address");r=Array.from(A.subarray(s,s+4)).join("."),s+=4;break}case 3:{if(A.length<s+1)throw new Ct("Buffer too small for domain length");let o=A[s];if(s+=1,A.length<s+o+2)throw new Ct("Buffer too small for domain address");r=A.subarray(s,s+o).toString("utf8"),s+=o;break}case 4:{if(A.length<s+18)throw new Ct("Buffer too small for IPv6 address");let o=[];for(let i=0;i<8;i++){let a=A.readUInt16BE(s+i*2);o.push(a.toString(16))}r=o.join(":"),s+=16;break}default:throw new Ct(`Invalid address type: ${t}`)}if(A.length<s+2)throw new Ct("Buffer too small for port");let n=A.readUInt16BE(s);return s+=2,{address:r,port:n,bytesRead:s-e}}function uU(A){let t={1:"General SOCKS server failure",2:"Connection not allowed by ruleset",3:"Network unreachable",4:"Host unreachable",5:"Connection refused",6:"TTL expired",7:"Command not supported",8:"Address type not supported"}[A]||`Unknown SOCKS5 error code: ${A}`,r=new Error(t);return r.code=`SOCKS5_${A}`,r}NB.exports={parseAddress:lU,parseIPv6:SB,buildAddressBuffer:EU,parseResponseAddress:QU,createReplyError:uU}});var MB=p(($V,UB)=>{"use strict";var{EventEmitter:hU}=require("node:events"),{Buffer:zt}=require("node:buffer"),{InvalidArgumentError:$s,Socks5ProxyError:ft}=Y(),{debuglog:IU}=require("node:util"),{parseAddress:BU}=FB(),jA=IU("undici:socks5"),ko=5,Gr={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},bB={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},$t={IPV4:1,DOMAIN:3,IPV6:4},bA={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},qe={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"},bg=class extends hU{constructor(e,t={}){if(super(),!e)throw new $s("socket is required");this.socket=e,this.options=t,this.state=qe.INITIAL,this.buffer=zt.alloc(0),this.authMethods=[],t.username&&t.password&&this.authMethods.push(Gr.USERNAME_PASSWORD),this.authMethods.push(Gr.NO_AUTH),this.socket.on("data",this.onData.bind(this)),this.socket.on("error",this.onError.bind(this)),this.socket.on("close",this.onClose.bind(this))}onData(e){jA("received data",e.length,"bytes in state",this.state),this.buffer=zt.concat([this.buffer,e]);try{switch(this.state){case qe.HANDSHAKING:this.handleHandshakeResponse();break;case qe.AUTHENTICATING:this.handleAuthResponse();break;case qe.CONNECTING:this.handleConnectResponse();break}}catch(t){this.onError(t)}}onError(e){jA("socket error",e),this.state=qe.ERROR,this.emit("error",e),this.destroy()}onClose(){jA("socket closed"),this.state=qe.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}handshake(){if(this.state!==qe.INITIAL)throw new $s("Handshake already started");jA("starting handshake with",this.authMethods.length,"auth methods"),this.state=qe.HANDSHAKING;let e=zt.alloc(2+this.authMethods.length);e[0]=ko,e[1]=this.authMethods.length,this.authMethods.forEach((t,r)=>{e[2+r]=t}),this.socket.write(e)}handleHandshakeResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==ko)throw new ft(`Invalid SOCKS version: ${e}`,"UND_ERR_SOCKS5_VERSION");if(t===Gr.NO_ACCEPTABLE)throw new ft("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),jA("server selected auth method",t),t===Gr.NO_AUTH)this.emit("authenticated");else if(t===Gr.USERNAME_PASSWORD)this.state=qe.AUTHENTICATING,this.sendAuthRequest();else throw new ft(`Unsupported authentication method: ${t}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){let{username:e,password:t}=this.options;if(!e||!t)throw new $s("Username and password required for authentication");jA("sending username/password auth");let r=zt.from(e),s=zt.from(t);if(r.length>255||s.length>255)throw new $s("Username or password too long");let n=zt.alloc(3+r.length+s.length);n[0]=1,n[1]=r.length,r.copy(n,2),n[2+r.length]=s.length,s.copy(n,3+r.length),this.socket.write(n)}handleAuthResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==1)throw new ft(`Invalid auth sub-negotiation version: ${e}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(t!==0)throw new ft("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),jA("authentication successful"),this.emit("authenticated")}connect(e,t){if(this.state===qe.CONNECTED)throw new $s("Already connected");jA("connecting to",e,t),this.state=qe.CONNECTING;let r=this.buildConnectRequest(bB.CONNECT,e,t);this.socket.write(r)}buildConnectRequest(e,t,r){let{type:s,buffer:n}=BU(t),o=zt.alloc(4+n.length+2);return o[0]=ko,o[1]=e,o[2]=0,o[3]=s,n.copy(o,4),o.writeUInt16BE(r,4+n.length),o}handleConnectResponse(){if(this.buffer.length<4)return;let e=this.buffer[0],t=this.buffer[1],r=this.buffer[3];if(e!==ko)throw new ft(`Invalid SOCKS version in reply: ${e}`,"UND_ERR_SOCKS5_REPLY_VERSION");let s=4;if(r===$t.IPV4)s+=6;else if(r===$t.DOMAIN){if(this.buffer.length<5)return;s+=1+this.buffer[4]+2}else if(r===$t.IPV6)s+=18;else throw new ft(`Invalid address type in reply: ${r}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<s)return;if(t!==bA.SUCCEEDED){let a=this.getReplyErrorMessage(t);throw new ft(`SOCKS5 connection failed: ${a}`,`UND_ERR_SOCKS5_REPLY_${t}`)}let n,o=4;if(r===$t.IPV4)n=Array.from(this.buffer.subarray(o,o+4)).join("."),o+=4;else if(r===$t.DOMAIN){let a=this.buffer[o];o+=1,n=this.buffer.subarray(o,o+a).toString(),o+=a}else if(r===$t.IPV6){let a=[];for(let c=0;c<8;c++){let g=this.buffer.readUInt16BE(o+c*2);a.push(g.toString(16))}n=a.join(":"),o+=16}let i=this.buffer.readUInt16BE(o);this.buffer=this.buffer.subarray(s),this.state=qe.CONNECTED,jA("connected, bound address:",n,"port:",i),this.emit("connected",{address:n,port:i})}getReplyErrorMessage(e){switch(e){case bA.GENERAL_FAILURE:return"General SOCKS server failure";case bA.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case bA.NETWORK_UNREACHABLE:return"Network unreachable";case bA.HOST_UNREACHABLE:return"Host unreachable";case bA.CONNECTION_REFUSED:return"Connection refused";case bA.TTL_EXPIRED:return"TTL expired";case bA.COMMAND_NOT_SUPPORTED:return"Command not supported";case bA.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${e}`}}};UB.exports={Socks5Client:bg,AUTH_METHODS:Gr,COMMANDS:bB,ADDRESS_TYPES:$t,REPLY_CODES:bA,STATES:qe}});var kg=p((ev,YB)=>{"use strict";var CU=require("node:net"),{URL:TB}=require("node:url"),Ug,dU=Ot(),{InvalidArgumentError:kB}=Y(),{Socks5Client:fU}=MB(),{kDispatch:LB,kClose:pU,kDestroy:yU}=Z(),DU=Zt(),mU=Vt(),{debuglog:wU}=require("node:util"),pt=wU("undici:socks5-proxy"),Mg=Symbol("proxy url"),RU=Symbol("proxy headers"),HB=Symbol("proxy auth"),UA=Symbol("pool"),SU=Symbol("connector"),xB=!1,Tg=class extends dU{constructor(e,t={}){if(super(),xB||(process.emitWarning("SOCKS5 proxy support is experimental and subject to change","ExperimentalWarning"),xB=!0),!e)throw new kB("Proxy URL is mandatory");let r=typeof e=="string"?new TB(e):e;if(r.protocol!=="socks5:"&&r.protocol!=="socks:")throw new kB("Proxy URL must use socks5:// or socks:// protocol");this[Mg]=r,this[RU]=t.headers||{},this[HB]={username:t.username||(r.username?decodeURIComponent(r.username):null),password:t.password||(r.password?decodeURIComponent(r.password):null)},this[SU]=t.connect||mU({...t.proxyTls,servername:t.proxyTls?.servername||r.hostname}),this[UA]=null}async createSocks5Connection(e,t){let r=this[Mg].hostname,s=parseInt(this[Mg].port)||1080;pt("creating SOCKS5 connection to",r,s);let n=await new Promise((i,a)=>{let c=()=>{h.removeListener("error",g),i(h)},g=Q=>{h.removeListener("connect",c),a(Q)},h=CU.connect({host:r,port:s});h.once("connect",c),h.once("error",g)}),o=new fU(n,this[HB]);return o.on("error",i=>{pt("SOCKS5 error:",i),n.destroy()}),await o.handshake(),await new Promise((i,a)=>{let c=setTimeout(()=>{a(new Error("SOCKS5 authentication timeout"))},5e3),g=()=>{clearTimeout(c),o.removeListener("error",h),i()},h=Q=>{clearTimeout(c),o.removeListener("authenticated",g),a(Q)};o.state==="authenticated"?(clearTimeout(c),i()):(o.once("authenticated",g),o.once("error",h))}),await o.connect(e,t),await new Promise((i,a)=>{let c=setTimeout(()=>{a(new Error("SOCKS5 connection timeout"))},5e3),g=Q=>{pt("SOCKS5 tunnel established to",e,t,"via",Q),clearTimeout(c),o.removeListener("error",h),i()},h=Q=>{clearTimeout(c),o.removeListener("connected",g),a(Q)};o.once("connected",g),o.once("error",h)}),n}async[LB](e,t){let{origin:r}=e;pt("dispatching request to",r,"via SOCKS5");try{return(!this[UA]||this[UA].destroyed||this[UA].closed)&&(this[UA]=new DU(r,{pipelining:e.pipelining,connections:e.connections,connect:async(s,n)=>{try{let o=new TB(r),i=o.hostname,a=parseInt(o.port)||(o.protocol==="https:"?443:80);pt("establishing SOCKS5 connection to",i,a);let c=await this.createSocks5Connection(i,a),g=c;o.protocol==="https:"&&(Ug||(Ug=require("node:tls")),pt("upgrading to TLS"),g=Ug.connect({socket:c,servername:i,...s.tls||{}}),await new Promise((h,Q)=>{g.once("secureConnect",h),g.once("error",Q)})),n(null,g)}catch(o){pt("SOCKS5 connection error:",o),n(o)}}})),this[UA][LB](e,t)}catch(s){if(pt("dispatch error:",s),typeof t.onError=="function")t.onError(s);else throw s}}async[pU](){this[UA]&&await this[UA].close()}async[yU](e){this[UA]&&await this[UA].destroy(e)}};YB.exports=Tg});var Yg=p((Av,XB)=>{"use strict";var{kProxy:Or,kClose:qB,kDestroy:WB,kDispatch:GB}=Z(),NU=Kt(),_B=Zt(),ZB=Ot(),{InvalidArgumentError:er,RequestAbortedError:FU,SecureProxyConnectionError:bU}=Y(),OB=Vt(),jB=Bt(),{channels:VB}=it(),UU=kg(),Lo=Symbol("proxy agent"),yt=Symbol("proxy client"),XA=Symbol("proxy headers"),Lg=Symbol("request tls settings"),vB=Symbol("proxy tls settings"),JB=Symbol("connect endpoint function"),PB=Symbol("tunnel proxy");function MU(A){return A==="https:"?443:80}function TU(A,e){return new _B(A,e)}var kU=()=>{};function LU(A,e){return e.connections===1?new jB(A,e):new _B(A,e)}var Hg=class extends ZB{#e;constructor(e,{headers:t={},connect:r,factory:s}){if(!e)throw new er("Proxy URL is mandatory");super(),this[XA]=t,s?this.#e=s(e,{connect:r}):this.#e=new jB(e,{connect:r})}[GB](e,t){let r=t.onHeaders;t.onHeaders=function(i,a,c){if(i===407){typeof t.onError=="function"&&t.onError(new er("Proxy Authentication Required (407)"));return}r&&r.call(this,i,a,c)};let{origin:s,path:n="/",headers:o={}}=e;if(e.path=s+n,!("host"in o)&&!("Host"in o)){let{host:i}=new URL(s);o.host=i}return e.headers={...this[XA],...o},this.#e[GB](e,t)}[qB](){return this.#e.close()}[WB](e){return this.#e.destroy(e)}},xg=class extends ZB{constructor(e){if(!e||typeof e=="object"&&!(e instanceof URL)&&!e.uri)throw new er("Proxy uri is mandatory");let{clientFactory:t=TU}=e;if(typeof t!="function")throw new er("Proxy opts.clientFactory must be a function.");let{proxyTunnel:r=!0}=e;super();let s=this.#e(e),{href:n,origin:o,port:i,protocol:a,username:c,password:g,hostname:h}=s;if(this[Or]={uri:n,protocol:a},this[Lg]=e.requestTls,this[vB]=e.proxyTls,this[XA]=e.headers||{},this[PB]=r,e.auth&&e.token)throw new er("opts.auth cannot be used in combination with opts.token");e.auth?this[XA]["proxy-authorization"]=`Basic ${e.auth}`:e.token?this[XA]["proxy-authorization"]=e.token:c&&g&&(this[XA]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(c)}:${decodeURIComponent(g)}`).toString("base64")}`);let Q=OB({...e.proxyTls});this[JB]=OB({...e.requestTls});let l=e.factory||LU,E=(B,D)=>{let{protocol:C}=new URL(B);return this[Or].protocol==="socks5:"||this[Or].protocol==="socks:"?new UU(this[Or].uri,{headers:this[XA],connect:Q,factory:l,username:e.username||c,password:e.password||g,proxyTls:e.proxyTls}):!this[PB]&&C==="http:"&&this[Or].protocol==="http:"?new Hg(this[Or].uri,{headers:this[XA],connect:Q,factory:l}):l(B,D)};a==="socks5:"||a==="socks:"?this[yt]=null:this[yt]=t(s,{connect:Q}),this[Lo]=new NU({...e,factory:E,connect:async(B,D)=>{if(!this[yt]){D(new er("Cannot establish tunnel connection without a proxy client"));return}let C=B.host;B.port||(C+=`:${MU(B.protocol)}`);try{let f={origin:o,port:i,path:C,signal:B.signal,headers:{...this[XA],host:B.host,...B.connections==null||B.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[vB]?.servername||h},{socket:y,statusCode:T}=await this[yt].connect(f);if(T!==200){y.on("error",kU).destroy(),D(new FU(`Proxy response (${T}) !== 200 when HTTP Tunneling`));return}if(VB.proxyConnected.hasSubscribers&&VB.proxyConnected.publish({socket:y,connectParams:f}),B.protocol!=="https:"){D(null,y);return}let U;this[Lg]?U=this[Lg].servername:U=B.servername,this[JB]({...B,servername:U,httpSocket:y},D)}catch(f){f.code==="ERR_TLS_CERT_ALTNAME_INVALID"?D(new bU(f)):D(f)}}})}dispatch(e,t){let r=HU(e.headers);if(xU(r),r&&!("host"in r)&&!("Host"in r)){let{host:s}=new URL(e.origin);r.host=s}return this[Lo].dispatch({...e,headers:r},t)}#e(e){return typeof e=="string"?new URL(e):e instanceof URL?e:new URL(e.uri)}[qB](){let e=[this[Lo].close()];return this[yt]&&e.push(this[yt].close()),Promise.all(e)}[WB](){let e=[this[Lo].destroy()];return this[yt]&&e.push(this[yt].destroy()),Promise.all(e)}};function HU(A){if(Array.isArray(A)){let e={};for(let t=0;t<A.length;t+=2)e[A[t]]=A[t+1];return e}return A}function xU(A){if(A&&Object.keys(A).find(t=>t.toLowerCase()==="proxy-authorization"))throw new er("Proxy-Authorization should be sent in ProxyAgent constructor")}XB.exports=xg});var AC=p((tv,eC)=>{"use strict";var YU=Ot(),{kClose:GU,kDestroy:OU,kClosed:KB,kDestroyed:zB,kDispatch:VU,kNoProxyAgent:en,kHttpProxyAgent:Dt,kHttpsProxyAgent:Ar}=Z(),$B=Yg(),vU=Kt(),JU={"http:":80,"https:":443},Gg=class extends YU{#e=null;#A=null;#t=null;constructor(e={}){super(),this.#t=e;let{httpProxy:t,httpsProxy:r,noProxy:s,...n}=e;this[en]=new vU(n);let o=t??process.env.http_proxy??process.env.HTTP_PROXY;o?this[Dt]=new $B({...n,uri:o}):this[Dt]=this[en];let i=r??process.env.https_proxy??process.env.HTTPS_PROXY;i?this[Ar]=new $B({...n,uri:i}):this[Ar]=this[Dt],this.#s()}[VU](e,t){let r=new URL(e.origin);return this.#r(r).dispatch(e,t)}[GU](){return Promise.all([this[en].close(),!this[Dt][KB]&&this[Dt].close(),!this[Ar][KB]&&this[Ar].close()])}[OU](e){return Promise.all([this[en].destroy(e),!this[Dt][zB]&&this[Dt].destroy(e),!this[Ar][zB]&&this[Ar].destroy(e)])}#r(e){let{protocol:t,host:r,port:s}=e;return r=r.replace(/:\d*$/,"").toLowerCase(),s=Number.parseInt(s,10)||JU[t]||0,this.#n(r,s)?t==="https:"?this[Ar]:this[Dt]:this[en]}#n(e,t){if(this.#a&&this.#s(),this.#A.length===0)return!0;if(this.#e==="*")return!1;for(let r=0;r<this.#A.length;r++){let s=this.#A[r];if(!(s.port&&s.port!==t)&&(e===s.hostname||e.slice(-(s.hostname.length+1))===`.${s.hostname}`))return!1}return!0}#s(){let e=this.#t.noProxy??this.#o,t=e.split(/[,\s]/),r=[];for(let s=0;s<t.length;s++){let n=t[s];if(!n)continue;let o=n.match(/^(.+):(\d+)$/);r.push({hostname:(o?o[1]:n).replace(/^\*?\./,"").toLowerCase(),port:o?Number.parseInt(o[2],10):0})}this.#e=e,this.#A=r}get#a(){return this.#t.noProxy!==void 0?!1:this.#e!==this.#o}get#o(){return process.env.no_proxy??process.env.NO_PROXY??""}};eC.exports=Gg});var Ho=p((rv,nC)=>{"use strict";var Vr=require("node:assert"),{kRetryHandlerDefaultRetry:tC}=Z(),{RequestRetryError:An}=Y(),PU=Ds(),{isDisturbed:rC,parseRangeHeader:sC,wrapRequestBody:qU}=G();function WU(A){let e=new Date(A).getTime();return isNaN(e)?0:e-Date.now()}var Og=class A{constructor(e,{dispatch:t,handler:r}){let{retryOptions:s,...n}=e,{retry:o,maxRetries:i,maxTimeout:a,minTimeout:c,timeoutFactor:g,methods:h,errorCodes:Q,retryAfter:l,statusCodes:E,throwOnError:B}=s??{};this.error=null,this.dispatch=t,this.handler=PU.wrap(r),this.opts={...n,body:qU(e.body)},this.retryOpts={throwOnError:B??!0,retry:o??A[tC],retryAfter:l??!0,maxTimeout:a??30*1e3,minTimeout:c??500,timeoutFactor:g??2,maxRetries:i??5,methods:h??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:E??[500,502,503,504,429],errorCodes:Q??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null}onResponseStartWithRetry(e,t,r,s,n){if(this.retryOpts.throwOnError){this.retryOpts.statusCodes.includes(t)===!1?(this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s)):this.error=n;return}if(rC(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s);return}function o(i){if(i){this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s),e.resume();return}this.error=n,e.resume()}e.pause(),this.retryOpts.retry(n,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},o.bind(this))}onRequestStart(e,t){this.headersSent||this.handler.onRequestStart?.(e,t)}onRequestUpgrade(e,t,r,s){this.handler.onRequestUpgrade?.(e,t,r,s)}static[tC](e,{state:t,opts:r},s){let{statusCode:n,code:o,headers:i}=e,{method:a,retryOptions:c}=r,{maxRetries:g,minTimeout:h,maxTimeout:Q,timeoutFactor:l,statusCodes:E,errorCodes:B,methods:D}=c,{counter:C}=t;if(o&&o!=="UND_ERR_REQ_RETRY"&&!B.includes(o)){s(e);return}if(Array.isArray(D)&&!D.includes(a)){s(e);return}if(n!=null&&Array.isArray(E)&&!E.includes(n)){s(e);return}if(C>g){s(e);return}let f=i?.["retry-after"];f&&(f=Number(f),f=Number.isNaN(f)?WU(i["retry-after"]):f*1e3);let y=f>0?Math.min(f,Q):Math.min(h*l**(C-1),Q);setTimeout(()=>s(null),y)}onResponseStart(e,t,r,s){if(this.error=null,this.retryCount+=1,t>=300){let n=new An("Request failed",t,{headers:r,data:{count:this.retryCount}});this.onResponseStartWithRetry(e,t,r,s,n);return}if(this.headersSent){if(t!==206&&(this.start>0||t!==200))throw new An("server does not support the range header and the payload was partially consumed",t,{headers:r,data:{count:this.retryCount}});let n=sC(r["content-range"]);if(!n)throw new An("Content-Range mismatch",t,{headers:r,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==r.etag)throw new An("ETag mismatch",t,{headers:r,data:{count:this.retryCount}});let{start:o,size:i,end:a=i?i-1:null}=n;Vr(this.start===o,"content-range mismatch"),Vr(this.end==null||this.end===a,"content-range mismatch");return}if(this.end==null){if(t===206){let n=sC(r["content-range"]);if(n==null){this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s);return}let{start:o,size:i,end:a=i?i-1:null}=n;Vr(o!=null&&Number.isFinite(o),"content-range mismatch"),Vr(a!=null&&Number.isFinite(a),"invalid content-length"),this.start=o,this.end=a}if(this.end==null){let n=r["content-length"];this.end=n!=null?Number(n)-1:null}Vr(Number.isFinite(this.start)),Vr(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=r.etag!=null?r.etag:null,this.etag!=null&&this.etag[0]==="W"&&this.etag[1]==="/"&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s)}else throw new An("Request failed",t,{headers:r,data:{count:this.retryCount}})}onResponseData(e,t){this.error||(this.start+=t.length,this.handler.onResponseData?.(e,t))}onResponseEnd(e,t){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error)return this.retryCount=0,this.handler.onResponseEnd?.(e,t);this.retry(e)}retry(e){if(this.start!==0){let t={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(t["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...t}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(t){this.handler.onResponseError?.(e,t)}}onResponseError(e,t){if(e?.aborted||rC(this.opts.body)){this.handler.onResponseError?.(e,t);return}function r(s){if(!s){this.retry(e);return}this.handler?.onResponseError?.(e,s)}this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(t,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},r.bind(this))}};nC.exports=Og});var iC=p((sv,oC)=>{"use strict";var _U=ms(),ZU=Ho(),Vg=class extends _U{#e=null;#A=null;constructor(e,t={}){super(t),this.#e=e,this.#A=t}dispatch(e,t){let r=new ZU({...e,retryOptions:this.#A},{dispatch:this.#e.dispatch.bind(this.#e),handler:t});return this.#e.dispatch(e,r)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}};oC.exports=Vg});var gC=p((nv,cC)=>{"use strict";var{InvalidArgumentError:aC}=Y(),jU=Bt(),vg=class extends jU{constructor(e,t){if(typeof e=="string"&&(e=new URL(e)),e.protocol!=="http:")throw new aC("h2c-client: Only h2c protocol is supported");let{connect:r,maxConcurrentStreams:s,pipelining:n,...o}=t??{},i=100,a=100;if(s!=null&&Number.isInteger(s)&&s>0&&(i=s),n!=null&&Number.isInteger(n)&&n>0&&(a=n),a>i)throw new aC("h2c-client: pipelining cannot be greater than maxConcurrentStreams");super(e,{...o,maxConcurrentStreams:i,pipelining:a,allowH2:!0,useH2c:!0})}};cC.exports=vg});var dC=p((ov,CC)=>{"use strict";var uC=require("node:assert"),{Readable:XU}=require("node:stream"),{RequestAbortedError:hC,NotSupportedError:KU,InvalidArgumentError:zU,AbortError:xo}=Y(),IC=G(),{ReadableStreamFrom:$U}=G(),We=Symbol("kConsume"),Yo=Symbol("kReading"),tr=Symbol("kBody"),lC=Symbol("kAbort"),BC=Symbol("kContentType"),Jg=Symbol("kContentLength"),Pg=Symbol("kUsed"),Go=Symbol("kBytesRead"),eM=()=>{},qg=class extends XU{constructor({resume:e,abort:t,contentType:r="",contentLength:s,highWaterMark:n=64*1024}){super({autoDestroy:!0,read:e,highWaterMark:n}),this._readableState.dataEmitted=!1,this[lC]=t,this[We]=null,this[Go]=0,this[tr]=null,this[Pg]=!1,this[BC]=r,this[Jg]=Number.isFinite(s)?s:null,this[Yo]=!1}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new hC),e&&this[lC](),this[Pg]?t(e):setImmediate(t,e)}on(e,t){return(e==="data"||e==="readable")&&(this[Yo]=!0,this[Pg]=!0),super.on(e,t)}addListener(e,t){return this.on(e,t)}off(e,t){let r=super.off(e,t);return(e==="data"||e==="readable")&&(this[Yo]=this.listenerCount("data")>0||this.listenerCount("readable")>0),r}removeListener(e,t){return this.off(e,t)}push(e){return e&&(this[Go]+=e.length,this[We])?(_g(this[We],e),this[Yo]?super.push(e):!0):super.push(e)}text(){return tn(this,"text")}json(){return tn(this,"json")}blob(){return tn(this,"blob")}bytes(){return tn(this,"bytes")}arrayBuffer(){return tn(this,"arrayBuffer")}async formData(){throw new KU}get bodyUsed(){return IC.isDisturbed(this)}get body(){return this[tr]||(this[tr]=$U(this),this[We]&&(this[tr].getReader(),uC(this[tr].locked))),this[tr]}dump(e){let t=e?.signal;if(t!=null&&(typeof t!="object"||!("aborted"in t)))return Promise.reject(new zU("signal must be an AbortSignal"));let r=e?.limit&&Number.isFinite(e.limit)?e.limit:128*1024;return t?.aborted?Promise.reject(t.reason??new xo):this._readableState.closeEmitted?Promise.resolve(null):new Promise((s,n)=>{if((this[Jg]&&this[Jg]>r||this[Go]>r)&&this.destroy(new xo),t){let o=()=>{this.destroy(t.reason??new xo)};t.addEventListener("abort",o),this.on("close",function(){t.removeEventListener("abort",o),t.aborted?n(t.reason??new xo):s(null)})}else this.on("close",s);this.on("error",eM).on("data",()=>{this[Go]>r&&this.destroy()}).resume()})}setEncoding(e){return Buffer.isEncoding(e)&&(this._readableState.encoding=e),this}};function AM(A){return A[tr]?.locked===!0||A[We]!==null}function tM(A){return IC.isDisturbed(A)||AM(A)}function tn(A,e){return uC(!A[We]),new Promise((t,r)=>{if(tM(A)){let s=A._readableState;s.destroyed&&s.closeEmitted===!1?A.on("error",r).on("close",()=>{r(new TypeError("unusable"))}):r(s.errored??new TypeError("unusable"))}else queueMicrotask(()=>{A[We]={type:e,stream:A,resolve:t,reject:r,length:0,body:[]},A.on("error",function(s){Zg(this[We],s)}).on("close",function(){this[We].body!==null&&Zg(this[We],new hC)}),rM(A[We])})})}function rM(A){if(A.body===null)return;let{_readableState:e}=A.stream;if(e.bufferIndex){let t=e.bufferIndex,r=e.buffer.length;for(let s=t;s<r;s++)_g(A,e.buffer[s])}else for(let t of e.buffer)_g(A,t);for(e.endEmitted?QC(this[We],this._readableState.encoding):A.stream.on("end",function(){QC(this[We],this._readableState.encoding)}),A.stream.resume();A.stream.read()!=null;);}function Wg(A,e,t){if(A.length===0||e===0)return"";let r=A.length===1?A[0]:Buffer.concat(A,e),s=r.length,n=s>2&&r[0]===239&&r[1]===187&&r[2]===191?3:0;return!t||t==="utf8"||t==="utf-8"?r.utf8Slice(n,s):r.subarray(n,s).toString(t)}function EC(A,e){if(A.length===0||e===0)return new Uint8Array(0);if(A.length===1)return new Uint8Array(A[0]);let t=new Uint8Array(Buffer.allocUnsafeSlow(e).buffer),r=0;for(let s=0;s<A.length;++s){let n=A[s];t.set(n,r),r+=n.length}return t}function QC(A,e){let{type:t,body:r,resolve:s,stream:n,length:o}=A;try{t==="text"?s(Wg(r,o,e)):t==="json"?s(JSON.parse(Wg(r,o,e))):t==="arrayBuffer"?s(EC(r,o).buffer):t==="blob"?s(new Blob(r,{type:n[BC]})):t==="bytes"&&s(EC(r,o)),Zg(A)}catch(i){n.destroy(i)}}function _g(A,e){A.length+=e.length,A.body.push(e)}function Zg(A,e){A.body!==null&&(e?A.reject(e):A.resolve(),A.type=null,A.stream=null,A.resolve=null,A.reject=null,A.length=0,A.body=null)}CC.exports={Readable:qg,chunksDecode:Wg}});var yC=p((iv,jg)=>{"use strict";var sM=require("node:assert"),{AsyncResource:nM}=require("node:async_hooks"),{Readable:oM}=dC(),{InvalidArgumentError:vr,RequestAbortedError:fC}=Y(),gA=G();function rn(){}var Oo=class extends nM{constructor(e,t){if(!e||typeof e!="object")throw new vr("invalid opts");let{signal:r,method:s,opaque:n,body:o,onInfo:i,responseHeaders:a,highWaterMark:c}=e;try{if(typeof t!="function")throw new vr("invalid callback");if(c&&(typeof c!="number"||c<0))throw new vr("invalid highWaterMark");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new vr("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new vr("invalid method");if(i&&typeof i!="function")throw new vr("invalid onInfo callback");super("UNDICI_REQUEST")}catch(g){throw gA.isStream(o)&&gA.destroy(o.on("error",rn),g),g}this.method=s,this.responseHeaders=a||null,this.opaque=n||null,this.callback=t,this.res=null,this.abort=null,this.body=o,this.trailers={},this.context=null,this.onInfo=i||null,this.highWaterMark=c,this.reason=null,this.removeAbortListener=null,r?.aborted?this.reason=r.reason??new fC:r&&(this.removeAbortListener=gA.addAbortListener(r,()=>{this.reason=r.reason??new fC,this.res?gA.destroy(this.res.on("error",rn),this.reason):this.abort&&this.abort(this.reason)}))}onConnect(e,t){if(this.reason){e(this.reason);return}sM(this.callback),this.abort=e,this.context=t}onHeaders(e,t,r,s){let{callback:n,opaque:o,abort:i,context:a,responseHeaders:c,highWaterMark:g}=this,h=c==="raw"?gA.parseRawHeaders(t):gA.parseHeaders(t);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:h});return}let Q=c==="raw"?gA.parseHeaders(t):h,l=Q["content-type"],E=Q["content-length"],B=new oM({resume:r,abort:i,contentType:l,contentLength:this.method!=="HEAD"&&E?Number(E):null,highWaterMark:g});if(this.removeAbortListener&&(B.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=B,n!==null)try{this.runInAsyncScope(n,null,null,{statusCode:e,statusText:s,headers:h,trailers:this.trailers,opaque:o,body:B,context:a})}catch(D){this.res=null,gA.destroy(B.on("error",rn),D),queueMicrotask(()=>{throw D})}}onData(e){return this.res.push(e)}onComplete(e){gA.parseHeaders(e,this.trailers),this.res.push(null)}onError(e){let{res:t,callback:r,body:s,opaque:n}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:n})})),t&&(this.res=null,queueMicrotask(()=>{gA.destroy(t.on("error",rn),e)})),s&&(this.body=null,gA.isStream(s)&&(s.on("error",rn),gA.destroy(s,e))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}};function pC(A,e){if(e===void 0)return new Promise((t,r)=>{pC.call(this,A,(s,n)=>s?r(s):t(n))});try{let t=new Oo(A,e);this.dispatch(A,t)}catch(t){if(typeof e!="function")throw t;let r=A?.opaque;queueMicrotask(()=>e(t,{opaque:r}))}}jg.exports=pC;jg.exports.RequestHandler=Oo});var sn=p((av,wC)=>{"use strict";var{addAbortListener:iM}=G(),{RequestAbortedError:aM}=Y(),Jr=Symbol("kListener"),MA=Symbol("kSignal");function DC(A){A.abort?A.abort(A[MA]?.reason):A.reason=A[MA]?.reason??new aM,mC(A)}function cM(A,e){if(A.reason=null,A[MA]=null,A[Jr]=null,!!e){if(e.aborted){DC(A);return}A[MA]=e,A[Jr]=()=>{DC(A)},iM(A[MA],A[Jr])}}function mC(A){A[MA]&&("removeEventListener"in A[MA]?A[MA].removeEventListener("abort",A[Jr]):A[MA].removeListener("abort",A[Jr]),A[MA]=null,A[Jr]=null)}wC.exports={addSignal:cM,removeSignal:mC}});var FC=p((cv,NC)=>{"use strict";var gM=require("node:assert"),{finished:lM}=require("node:stream"),{AsyncResource:EM}=require("node:async_hooks"),{InvalidArgumentError:Pr,InvalidReturnValueError:QM}=Y(),KA=G(),{addSignal:uM,removeSignal:RC}=sn();function hM(){}var Xg=class extends EM{constructor(e,t,r){if(!e||typeof e!="object")throw new Pr("invalid opts");let{signal:s,method:n,opaque:o,body:i,onInfo:a,responseHeaders:c}=e;try{if(typeof r!="function")throw new Pr("invalid callback");if(typeof t!="function")throw new Pr("invalid factory");if(s&&typeof s.on!="function"&&typeof s.addEventListener!="function")throw new Pr("signal must be an EventEmitter or EventTarget");if(n==="CONNECT")throw new Pr("invalid method");if(a&&typeof a!="function")throw new Pr("invalid onInfo callback");super("UNDICI_STREAM")}catch(g){throw KA.isStream(i)&&KA.destroy(i.on("error",hM),g),g}this.responseHeaders=c||null,this.opaque=o||null,this.factory=t,this.callback=r,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=i,this.onInfo=a||null,KA.isStream(i)&&i.on("error",g=>{this.onError(g)}),uM(this,s)}onConnect(e,t){if(this.reason){e(this.reason);return}gM(this.callback),this.abort=e,this.context=t}onHeaders(e,t,r,s){let{factory:n,opaque:o,context:i,responseHeaders:a}=this,c=a==="raw"?KA.parseRawHeaders(t):KA.parseHeaders(t);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:c});return}if(this.factory=null,n===null)return;let g=this.runInAsyncScope(n,null,{statusCode:e,headers:c,opaque:o,context:i});if(!g||typeof g.write!="function"||typeof g.end!="function"||typeof g.on!="function")throw new QM("expected Writable");return lM(g,{readable:!1},Q=>{let{callback:l,res:E,opaque:B,trailers:D,abort:C}=this;this.res=null,(Q||!E?.readable)&&KA.destroy(E,Q),this.callback=null,this.runInAsyncScope(l,null,Q||null,{opaque:B,trailers:D}),Q&&C()}),g.on("drain",r),this.res=g,(g.writableNeedDrain!==void 0?g.writableNeedDrain:g._writableState?.needDrain)!==!0}onData(e){let{res:t}=this;return t?t.write(e):!0}onComplete(e){let{res:t}=this;RC(this),t&&(this.trailers=KA.parseHeaders(e),t.end())}onError(e){let{res:t,callback:r,opaque:s,body:n}=this;RC(this),this.factory=null,t?(this.res=null,KA.destroy(t,e)):r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:s})})),n&&(this.body=null,KA.destroy(n,e))}};function SC(A,e,t){if(t===void 0)return new Promise((r,s)=>{SC.call(this,A,e,(n,o)=>n?s(n):r(o))});try{let r=new Xg(A,e,t);this.dispatch(A,r)}catch(r){if(typeof t!="function")throw r;let s=A?.opaque;queueMicrotask(()=>t(r,{opaque:s}))}}NC.exports=SC});var TC=p((gv,MC)=>{"use strict";var{Readable:UC,Duplex:IM,PassThrough:BM}=require("node:stream"),CM=require("node:assert"),{AsyncResource:dM}=require("node:async_hooks"),{InvalidArgumentError:nn,InvalidReturnValueError:fM,RequestAbortedError:Kg}=Y(),TA=G(),{addSignal:pM,removeSignal:yM}=sn();function bC(){}var qr=Symbol("resume"),zg=class extends UC{constructor(){super({autoDestroy:!0}),this[qr]=null}_read(){let{[qr]:e}=this;e&&(this[qr]=null,e())}_destroy(e,t){this._read(),t(e)}},$g=class extends UC{constructor(e){super({autoDestroy:!0}),this[qr]=e}_read(){this[qr]()}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new Kg),t(e)}},el=class extends dM{constructor(e,t){if(!e||typeof e!="object")throw new nn("invalid opts");if(typeof t!="function")throw new nn("invalid handler");let{signal:r,method:s,opaque:n,onInfo:o,responseHeaders:i}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new nn("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new nn("invalid method");if(o&&typeof o!="function")throw new nn("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=n||null,this.responseHeaders=i||null,this.handler=t,this.abort=null,this.context=null,this.onInfo=o||null,this.req=new zg().on("error",bC),this.ret=new IM({readableObjectMode:e.objectMode,autoDestroy:!0,read:()=>{let{body:a}=this;a?.resume&&a.resume()},write:(a,c,g)=>{let{req:h}=this;h.push(a,c)||h._readableState.destroyed?g():h[qr]=g},destroy:(a,c)=>{let{body:g,req:h,res:Q,ret:l,abort:E}=this;!a&&!l._readableState.endEmitted&&(a=new Kg),E&&a&&E(),TA.destroy(g,a),TA.destroy(h,a),TA.destroy(Q,a),yM(this),c(a)}}).on("prefinish",()=>{let{req:a}=this;a.push(null)}),this.res=null,pM(this,r)}onConnect(e,t){let{res:r}=this;if(this.reason){e(this.reason);return}CM(!r,"pipeline cannot be retried"),this.abort=e,this.context=t}onHeaders(e,t,r){let{opaque:s,handler:n,context:o}=this;if(e<200){if(this.onInfo){let a=this.responseHeaders==="raw"?TA.parseRawHeaders(t):TA.parseHeaders(t);this.onInfo({statusCode:e,headers:a})}return}this.res=new $g(r);let i;try{this.handler=null;let a=this.responseHeaders==="raw"?TA.parseRawHeaders(t):TA.parseHeaders(t);i=this.runInAsyncScope(n,null,{statusCode:e,headers:a,opaque:s,body:this.res,context:o})}catch(a){throw this.res.on("error",bC),a}if(!i||typeof i.on!="function")throw new fM("expected Readable");i.on("data",a=>{let{ret:c,body:g}=this;!c.push(a)&&g.pause&&g.pause()}).on("error",a=>{let{ret:c}=this;TA.destroy(c,a)}).on("end",()=>{let{ret:a}=this;a.push(null)}).on("close",()=>{let{ret:a}=this;a._readableState.ended||TA.destroy(a,new Kg)}),this.body=i}onData(e){let{res:t}=this;return t.push(e)}onComplete(e){let{res:t}=this;t.push(null)}onError(e){let{ret:t}=this;this.handler=null,TA.destroy(t,e)}};function DM(A,e){try{let t=new el(A,e);return this.dispatch({...A,body:t.req},t),t.ret}catch(t){return new BM().destroy(t)}}MC.exports=DM});var GC=p((lv,YC)=>{"use strict";var{InvalidArgumentError:Al,SocketError:mM}=Y(),{AsyncResource:wM}=require("node:async_hooks"),kC=require("node:assert"),LC=G(),{kHTTP2Stream:RM}=Z(),{addSignal:SM,removeSignal:HC}=sn(),tl=class extends wM{constructor(e,t){if(!e||typeof e!="object")throw new Al("invalid opts");if(typeof t!="function")throw new Al("invalid callback");let{signal:r,opaque:s,responseHeaders:n}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new Al("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=n||null,this.opaque=s||null,this.callback=t,this.abort=null,this.context=null,SM(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}kC(this.callback),this.abort=e,this.context=null}onHeaders(){throw new mM("bad upgrade",null)}onUpgrade(e,t,r){kC(r[RM]===!0?e===200:e===101);let{callback:s,opaque:n,context:o}=this;HC(this),this.callback=null;let i=this.responseHeaders==="raw"?LC.parseRawHeaders(t):LC.parseHeaders(t);this.runInAsyncScope(s,null,null,{headers:i,socket:r,opaque:n,context:o})}onError(e){let{callback:t,opaque:r}=this;HC(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}};function xC(A,e){if(e===void 0)return new Promise((t,r)=>{xC.call(this,A,(s,n)=>s?r(s):t(n))});try{let t=new tl(A,e),r={...A,method:A.method||"GET",upgrade:A.protocol||"Websocket"};this.dispatch(r,t)}catch(t){if(typeof e!="function")throw t;let r=A?.opaque;queueMicrotask(()=>e(t,{opaque:r}))}}YC.exports=xC});var PC=p((Ev,JC)=>{"use strict";var NM=require("node:assert"),{AsyncResource:FM}=require("node:async_hooks"),{InvalidArgumentError:rl,SocketError:bM}=Y(),OC=G(),{addSignal:UM,removeSignal:VC}=sn(),sl=class extends FM{constructor(e,t){if(!e||typeof e!="object")throw new rl("invalid opts");if(typeof t!="function")throw new rl("invalid callback");let{signal:r,opaque:s,responseHeaders:n}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new rl("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=s||null,this.responseHeaders=n||null,this.callback=t,this.abort=null,UM(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}NM(this.callback),this.abort=e,this.context=t}onHeaders(){throw new bM("bad connect",null)}onUpgrade(e,t,r){let{callback:s,opaque:n,context:o}=this;VC(this),this.callback=null;let i=t;i!=null&&(i=this.responseHeaders==="raw"?OC.parseRawHeaders(t):OC.parseHeaders(t)),this.runInAsyncScope(s,null,null,{statusCode:e,headers:i,socket:r,opaque:n,context:o})}onError(e){let{callback:t,opaque:r}=this;VC(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}};function vC(A,e){if(e===void 0)return new Promise((t,r)=>{vC.call(this,A,(s,n)=>s?r(s):t(n))});try{let t=new sl(A,e),r={...A,method:"CONNECT"};this.dispatch(r,t)}catch(t){if(typeof e!="function")throw t;let r=A?.opaque;queueMicrotask(()=>e(t,{opaque:r}))}}JC.exports=vC});var qC=p((Qv,Wr)=>{"use strict";Wr.exports.request=yC();Wr.exports.stream=FC();Wr.exports.pipeline=TC();Wr.exports.upgrade=GC();Wr.exports.connect=PC()});var ol=p((uv,_C)=>{"use strict";var{UndiciError:MM}=Y(),WC=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"),nl=class extends MM{constructor(e){super(e),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[WC]===!0}get[WC](){return!0}};_C.exports={MockNotMatchedError:nl}});var rr=p((hv,ZC)=>{"use strict";ZC.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"),kOriginalDispatch:Symbol("original dispatch"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected"),kIgnoreTrailingSlash:Symbol("ignore trailing slash"),kMockAgentMockCallHistoryInstance:Symbol("mock agent mock call history name"),kMockAgentRegisterCallHistory:Symbol("mock agent register mock call history"),kMockAgentAddCallHistoryLog:Symbol("mock agent add call history log"),kMockAgentIsCallHistoryEnabled:Symbol("mock agent is call history enabled"),kMockAgentAcceptsNonStandardSearchParameters:Symbol("mock agent accepts non standard search parameters"),kMockCallHistoryAddLog:Symbol("mock call history add log"),kTotalDispatchCount:Symbol("total dispatch count")}});var on=p((Iv,nd)=>{"use strict";var{MockNotMatchedError:_r}=ol(),{kDispatches:sr,kMockAgent:TM,kOriginalDispatch:kM,kOrigin:LM,kGetNetConnect:HM,kTotalDispatchCount:cl}=rr(),{serializePathWithQuery:xM}=G(),{STATUS_CODES:YM}=require("node:http"),{types:{isPromise:GM}}=require("node:util"),{InvalidArgumentError:il}=Y();function kA(A,e){return typeof A=="string"?A===e:A instanceof RegExp?A.test(e):typeof A=="function"?A(e)===!0:!1}function XC(A){return Object.fromEntries(Object.entries(A).map(([e,t])=>[e.toLocaleLowerCase(),t]))}function KC(A,e){if(Array.isArray(A)){for(let t=0;t<A.length;t+=2)if(A[t].toLocaleLowerCase()===e.toLocaleLowerCase())return A[t+1];return}else return typeof A.get=="function"?A.get(e):XC(A)[e.toLocaleLowerCase()]}function El(A){let e=A.slice(),t=[];for(let r=0;r<e.length;r+=2)t.push([e[r],e[r+1]]);return Object.fromEntries(t)}function zC(A,e){if(typeof A.headers=="function")return Array.isArray(e)&&(e=El(e)),A.headers(e?XC(e):{});if(typeof A.headers>"u")return!0;if(typeof e!="object"||typeof A.headers!="object")return!1;for(let[t,r]of Object.entries(A.headers)){let s=KC(e,t);if(!kA(r,s))return!1}return!0}function OM(A){if(typeof A!="string")return A;let e=new URLSearchParams(A),t=new URLSearchParams;for(let[r,s]of e.entries()){if(r=r.replace("[]",""),/^(['"]).*\1$/.test(s)){t.append(r,s);continue}if(s.includes(",")){let o=s.split(",");for(let i of o)t.append(r,i);continue}t.append(r,s)}return t}function al(A){if(typeof A!="string")return A;let e=A.split("?",3);if(e.length!==2)return A;let t=new URLSearchParams(e.pop());return t.sort(),[...e,t.toString()].join("?")}function VM(A,{path:e,method:t,body:r,headers:s}){let n=kA(A.path,e),o=kA(A.method,t),i=typeof A.body<"u"?kA(A.body,r):!0,a=zC(A,s);return n&&o&&i&&a}function $C(A){return Buffer.isBuffer(A)||A instanceof Uint8Array||A instanceof ArrayBuffer?A:typeof A=="object"?JSON.stringify(A):A?A.toString():""}function ed(A,e){let t=e.query?xM(e.path,e.query):e.path,r=typeof t=="string"?al(t):t,s=jC(r),n=A.filter(({consumed:o})=>!o).filter(({path:o,ignoreTrailingSlash:i})=>i?kA(jC(al(o)),s):kA(al(o),r));if(n.length===0)throw new _r(`Mock dispatch not matched for path '${r}'`);if(n=n.filter(({method:o})=>kA(o,e.method)),n.length===0)throw new _r(`Mock dispatch not matched for method '${e.method}' on path '${r}'`);if(n=n.filter(({body:o})=>typeof o<"u"?kA(o,e.body):!0),n.length===0)throw new _r(`Mock dispatch not matched for body '${e.body}' on path '${r}'`);if(n=n.filter(o=>zC(o,e.headers)),n.length===0){let o=typeof e.headers=="object"?JSON.stringify(e.headers):e.headers;throw new _r(`Mock dispatch not matched for headers '${o}' on path '${r}'`)}return n[0]}function vM(A,e,t,r){let s={timesInvoked:0,times:1,persist:!1,consumed:!1,...r},n=typeof t=="function"?{callback:t}:{...t},o={...s,...e,pending:!0,data:{error:null,...n}};return A.push(o),A[cl]=(A[cl]||0)+1,o}function gl(A,e){let t=A.findIndex(r=>r.consumed?VM(r,e):!1);t!==-1&&A.splice(t,1)}function jC(A){for(;A.endsWith("/");)A=A.slice(0,-1);return A.length===0&&(A="/"),A}function Ad(A){let{path:e,method:t,body:r,headers:s,query:n}=A;return{path:e,method:t,body:r,headers:s,query:n}}function ll(A){let e=Object.keys(A),t=[];for(let r=0;r<e.length;++r){let s=e[r],n=A[s],o=Buffer.from(`${s}`);if(Array.isArray(n))for(let i=0;i<n.length;++i)t.push(o,Buffer.from(`${n[i]}`));else t.push(o,Buffer.from(`${n}`))}return t}function td(A){return YM[A]||"unknown"}async function JM(A){let e=[];for await(let t of A)e.push(t);return Buffer.concat(e).toString("utf8")}function rd(A,e){let t=Ad(A),r=ed(this[sr],t);r.timesInvoked++,r.data.callback&&(r.data={...r.data,...r.data.callback(A)});let{data:{statusCode:s,data:n,headers:o,trailers:i,error:a},delay:c,persist:g}=r,{timesInvoked:h,times:Q}=r;if(r.consumed=!g&&h>=Q,r.pending=h<Q,a!==null)return gl(this[sr],t),e.onError(a),!0;let l=!1,E=null;function B(f){l||(l=!0,E!==null&&(clearTimeout(E),E=null),e.onError(f))}e.onConnect?.(B,null),typeof c=="number"&&c>0?E=setTimeout(()=>{E=null,D(this[sr])},c):D(this[sr]);function D(f,y=n){if(l)return;let T=Array.isArray(A.headers)?El(A.headers):A.headers,U=typeof y=="function"?y({...A,headers:T}):y;if(GM(U))return U.then(L=>D(f,L));if(l)return;let k=$C(U),w=ll(o),F=ll(i);e.onHeaders?.(s,w,C,td(s)),e.onData?.(Buffer.from(k)),e.onComplete?.(F),gl(f,t)}function C(){}return!0}function PM(){let A=this[TM],e=this[LM],t=this[kM];return function(s,n){if(A.isMockActive)try{rd.call(this,s,n)}catch(o){if(o.code==="UND_MOCK_ERR_MOCK_NOT_MATCHED"){let i=A[HM](),a=this[sr][cl]||this[sr].length,g=`, ${this[sr].filter(({consumed:h})=>!h).length} interceptor(s) remaining out of ${a} defined`;if(i===!1)throw new _r(`${o.message}: subsequent request to origin ${e} was not allowed (net.connect disabled)${g}`);if(sd(i,e))t.call(this,s,n);else throw new _r(`${o.message}: subsequent request to origin ${e} was not allowed (net.connect is not enabled for this origin)${g}`)}else throw o}else t.call(this,s,n)}}function sd(A,e){let t=new URL(e);return A===!0?!0:!!(Array.isArray(A)&&A.some(r=>kA(r,t.host)))}function qM(A){return typeof A!="string"&&!(A instanceof URL)?A:A instanceof URL?A.origin:A.toLowerCase()}function WM(A){let{agent:e,...t}=A;if("enableCallHistory"in t&&typeof t.enableCallHistory!="boolean")throw new il("options.enableCallHistory must to be a boolean");if("acceptNonStandardSearchParameters"in t&&typeof t.acceptNonStandardSearchParameters!="boolean")throw new il("options.acceptNonStandardSearchParameters must to be a boolean");if("ignoreTrailingSlash"in t&&typeof t.ignoreTrailingSlash!="boolean")throw new il("options.ignoreTrailingSlash must to be a boolean");return t}nd.exports={getResponseData:$C,getMockDispatch:ed,addMockDispatch:vM,deleteMockDispatch:gl,buildKey:Ad,generateKeyValues:ll,matchValue:kA,getResponse:JM,getStatusText:td,mockDispatch:rd,buildMockDispatch:PM,checkNetConnect:sd,buildAndValidateMockOptions:WM,getHeaderByName:KC,buildHeadersFromArray:El,normalizeSearchParams:OM,normalizeOrigin:qM}});var dl=p((Bv,Cl)=>{"use strict";var{getResponseData:_M,buildKey:ZM,addMockDispatch:Ql}=on(),{kDispatches:Vo,kDispatchKey:vo,kDefaultHeaders:ul,kDefaultTrailers:hl,kContentLength:Il,kMockDispatch:Jo,kIgnoreTrailingSlash:Po}=rr(),{InvalidArgumentError:LA}=Y(),{serializePathWithQuery:jM}=G(),Zr=class{constructor(e){this[Jo]=e}delay(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new LA("waitInMs must be a valid integer > 0");return this[Jo].delay=e,this}persist(){return this[Jo].persist=!0,this}times(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new LA("repeatTimes must be a valid integer > 0");return this[Jo].times=e,this}},Bl=class{constructor(e,t){if(typeof e!="object")throw new LA("opts must be an object");if(typeof e.path>"u")throw new LA("opts.path must be defined");if(typeof e.method>"u"&&(e.method="GET"),typeof e.path=="string")if(e.query)e.path=jM(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[vo]=ZM(e),this[Vo]=t,this[Po]=e.ignoreTrailingSlash??!1,this[ul]={},this[hl]={},this[Il]=!1}createMockScopeDispatchData({statusCode:e,data:t,responseOptions:r}){let s=_M(t),n=this[Il]?{"content-length":s.length}:{},o={...this[ul],...n,...r.headers},i={...this[hl],...r.trailers};return{statusCode:e,data:t,headers:o,trailers:i}}validateReplyParameters(e){if(typeof e.statusCode>"u")throw new LA("statusCode must be defined");if(typeof e.responseOptions!="object"||e.responseOptions===null)throw new LA("responseOptions must be an object")}reply(e){if(typeof e=="function"){let n=i=>{let a=e(i);if(typeof a!="object"||a===null)throw new LA("reply options callback must return an object");let c={data:"",responseOptions:{},...a};return this.validateReplyParameters(c),{...this.createMockScopeDispatchData(c)}},o=Ql(this[Vo],this[vo],n,{ignoreTrailingSlash:this[Po]});return new Zr(o)}let t={statusCode:e,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(t);let r=this.createMockScopeDispatchData(t),s=Ql(this[Vo],this[vo],r,{ignoreTrailingSlash:this[Po]});return new Zr(s)}replyWithError(e){if(typeof e>"u")throw new LA("error must be defined");let t=Ql(this[Vo],this[vo],{error:e},{ignoreTrailingSlash:this[Po]});return new Zr(t)}defaultReplyHeaders(e){if(typeof e>"u")throw new LA("headers must be defined");return this[ul]=e,this}defaultReplyTrailers(e){if(typeof e>"u")throw new LA("trailers must be defined");return this[hl]=e,this}replyContentLength(){return this[Il]=!0,this}};Cl.exports.MockInterceptor=Bl;Cl.exports.MockScope=Zr});var Dl=p((Cv,Ed)=>{"use strict";var{promisify:XM}=require("node:util"),KM=Bt(),{buildMockDispatch:zM}=on(),{kDispatches:fl,kMockAgent:od,kClose:id,kOriginalClose:ad,kOrigin:cd,kOriginalDispatch:$M,kConnected:pl,kIgnoreTrailingSlash:gd}=rr(),{MockInterceptor:eT}=dl(),ld=Z(),{InvalidArgumentError:AT}=Y(),yl=class extends KM{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!="function")throw new AT("Argument opts.agent must implement Agent");super(e,t),this[od]=t.agent,this[cd]=e,this[gd]=t.ignoreTrailingSlash??!1,this[fl]=[],this[pl]=1,this[$M]=this.dispatch,this[ad]=this.close.bind(this),this.dispatch=zM.call(this),this.close=this[id]}get[ld.kConnected](){return this[pl]}intercept(e){return new eT(e&&{ignoreTrailingSlash:this[gd],...e},this[fl])}cleanMocks(){this[fl]=[]}async[id](){await XM(this[ad])(),this[pl]=0,this[od][ld.kClients].delete(this[cd])}};Ed.exports=yl});var Rl=p((dv,wl)=>{"use strict";var{kMockCallHistoryAddLog:tT}=rr(),{InvalidArgumentError:Rt}=Y();function mt(A,e,t,r){switch(e.operator){case"OR":return r.push(...t(A)),r;case"AND":return t.call({logs:r},A);default:throw new Rt("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function rT(A={}){let e={};if("operator"in A){if(typeof A.operator!="string"||A.operator.toUpperCase()!=="OR"&&A.operator.toUpperCase()!=="AND")throw new Rt("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...e,operator:A.operator.toUpperCase()}}return e}function wt(A){return e=>{if(typeof e=="string"||e==null)return this.logs.filter(t=>t[A]===e);if(e instanceof RegExp)return this.logs.filter(t=>e.test(t[A]));throw new Rt(`${A} parameter should be one of string, regexp, undefined or null`)}}function sT(A){try{let e=new URL(A.path,A.origin);return e.search.length!==0||(e.search=new URLSearchParams(A.query).toString()),e}catch(e){throw new Rt("An error occurred when computing MockCallHistoryLog.url",{cause:e})}}var qo=class{constructor(e={}){this.body=e.body,this.headers=e.headers,this.method=e.method;let t=sT(e);this.fullUrl=t.toString(),this.origin=t.origin,this.path=t.pathname,this.searchParams=Object.fromEntries(t.searchParams),this.protocol=t.protocol,this.host=t.host,this.port=t.port,this.hash=t.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){let e={betweenKeyValueSeparator:"->",betweenPairSeparator:"|"},t="";return this.toMap().forEach((r,s)=>{(typeof r=="string"||r===void 0||r===null)&&(t=`${t}${s}${e.betweenKeyValueSeparator}${r}${e.betweenPairSeparator}`),(typeof r=="object"&&r!==null||Array.isArray(r))&&(t=`${t}${s}${e.betweenKeyValueSeparator}${JSON.stringify(r)}${e.betweenPairSeparator}`)}),t.slice(0,-1)}},ml=class{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(e){if(typeof e!="number")throw new Rt("nthCall must be called with a number");if(!Number.isInteger(e))throw new Rt("nthCall must be called with an integer");if(Math.sign(e)!==1)throw new Rt("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(e-1)}filterCalls(e,t){if(this.logs.length===0)return this.logs;if(typeof e=="function")return this.logs.filter(e);if(e instanceof RegExp)return this.logs.filter(r=>e.test(r.toString()));if(typeof e=="object"&&e!==null){if(Object.keys(e).length===0)return this.logs;let r={operator:"OR",...rT(t)},s=[];return"protocol"in e&&(s=mt(e.protocol,r,this.filterCallsByProtocol,s)),"host"in e&&(s=mt(e.host,r,this.filterCallsByHost,s)),"port"in e&&(s=mt(e.port,r,this.filterCallsByPort,s)),"origin"in e&&(s=mt(e.origin,r,this.filterCallsByOrigin,s)),"path"in e&&(s=mt(e.path,r,this.filterCallsByPath,s)),"hash"in e&&(s=mt(e.hash,r,this.filterCallsByHash,s)),"fullUrl"in e&&(s=mt(e.fullUrl,r,this.filterCallsByFullUrl,s)),"method"in e&&(s=mt(e.method,r,this.filterCallsByMethod,s)),[...new Set(s)]}throw new Rt("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=wt.call(this,"protocol");filterCallsByHost=wt.call(this,"host");filterCallsByPort=wt.call(this,"port");filterCallsByOrigin=wt.call(this,"origin");filterCallsByPath=wt.call(this,"path");filterCallsByHash=wt.call(this,"hash");filterCallsByFullUrl=wt.call(this,"fullUrl");filterCallsByMethod=wt.call(this,"method");clear(){this.logs=[]}[tT](e){let t=new qo(e);return this.logs.push(t),t}*[Symbol.iterator](){for(let e of this.calls())yield e}};wl.exports.MockCallHistory=ml;wl.exports.MockCallHistoryLog=qo});var bl=p((fv,dd)=>{"use strict";var{promisify:nT}=require("node:util"),oT=Zt(),{buildMockDispatch:iT}=on(),{kDispatches:Sl,kMockAgent:Qd,kClose:ud,kOriginalClose:hd,kOrigin:Id,kOriginalDispatch:aT,kConnected:Nl,kIgnoreTrailingSlash:Bd}=rr(),{MockInterceptor:cT}=dl(),Cd=Z(),{InvalidArgumentError:gT}=Y(),Fl=class extends oT{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!="function")throw new gT("Argument opts.agent must implement Agent");super(e,t),this[Qd]=t.agent,this[Id]=e,this[Bd]=t.ignoreTrailingSlash??!1,this[Sl]=[],this[Nl]=1,this[aT]=this.dispatch,this[hd]=this.close.bind(this),this.dispatch=iT.call(this),this.close=this[ud]}get[Cd.kConnected](){return this[Nl]}intercept(e){return new cT(e&&{ignoreTrailingSlash:this[Bd],...e},this[Sl])}cleanMocks(){this[Sl]=[]}async[ud](){await nT(this[hd])(),this[Nl]=0,this[Qd][Cd.kClients].delete(this[Id])}};dd.exports=Fl});var pd=p((yv,fd)=>{"use strict";var{Transform:lT}=require("node:stream"),{Console:ET}=require("node:console"),QT=process.versions.icu?"\u2705":"Y ",uT=process.versions.icu?"\u274C":"N ";fd.exports=class{constructor({disableColors:e}={}){this.transform=new lT({transform(t,r,s){s(null,t)}}),this.logger=new ET({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){let t=e.map(({method:r,path:s,data:{statusCode:n},persist:o,times:i,timesInvoked:a,origin:c})=>({Method:r,Origin:c,Path:s,"Status code":n,Persistent:o?QT:uT,Invocations:a,Remaining:o?1/0:i-a}));return this.logger.table(t),this.transform.read().toString()}}});var Ll=p((Dv,Nd)=>{"use strict";var{kClients:nr}=Z(),hT=Kt(),{kAgent:Ul,kMockAgentSet:Wo,kMockAgentGet:yd,kDispatches:Ml,kIsMockActive:_o,kNetConnect:or,kGetNetConnect:IT,kOptions:Zo,kFactory:jo,kMockAgentRegisterCallHistory:Tl,kMockAgentIsCallHistoryEnabled:an,kMockAgentAddCallHistoryLog:Dd,kMockAgentMockCallHistoryInstance:jr,kMockAgentAcceptsNonStandardSearchParameters:md,kMockCallHistoryAddLog:BT,kIgnoreTrailingSlash:wd}=rr(),CT=Dl(),dT=bl(),{matchValue:fT,normalizeSearchParams:pT,buildAndValidateMockOptions:yT,normalizeOrigin:Rd}=on(),{InvalidArgumentError:Sd,UndiciError:DT}=Y(),mT=ms(),wT=pd(),{MockCallHistory:RT}=Rl(),kl=class extends mT{constructor(e={}){super(e);let t=yT(e);if(this[or]=!0,this[_o]=!0,this[an]=t.enableCallHistory??!1,this[md]=t.acceptNonStandardSearchParameters??!1,this[wd]=t.ignoreTrailingSlash??!1,e?.agent&&typeof e.agent.dispatch!="function")throw new Sd("Argument opts.agent must implement Agent");let r=e?.agent?e.agent:new hT(e);this[Ul]=r,this[nr]=r[nr],this[Zo]=t,this[an]&&this[Tl]()}get(e){let t=Rd(e),r=this[wd]?t.replace(/\/$/,""):t,s=this[yd](r);return s||(s=this[jo](r),this[Wo](r,s)),s}dispatch(e,t){e.origin=Rd(e.origin),this.get(e.origin),this[Dd](e);let r=this[md],s={...e};if(r&&s.path){let[n,o]=s.path.split("?"),i=pT(o,r);s.path=`${n}?${i}`}return this[Ul].dispatch(s,t)}async close(){this.clearCallHistory(),await this[Ul].close(),this[nr].clear()}deactivate(){this[_o]=!1}activate(){this[_o]=!0}enableNetConnect(e){if(typeof e=="string"||typeof e=="function"||e instanceof RegExp)Array.isArray(this[or])?this[or].push(e):this[or]=[e];else if(typeof e>"u")this[or]=!0;else throw new Sd("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[or]=!1}enableCallHistory(){return this[an]=!0,this}disableCallHistory(){return this[an]=!1,this}getCallHistory(){return this[jr]}clearCallHistory(){this[jr]!==void 0&&this[jr].clear()}get isMockActive(){return this[_o]}[Tl](){this[jr]===void 0&&(this[jr]=new RT)}[Dd](e){this[an]&&(this[Tl](),this[jr][BT](e))}[Wo](e,t){this[nr].set(e,{count:0,dispatcher:t})}[jo](e){let t=Object.assign({agent:this},this[Zo]);return this[Zo]&&this[Zo].connections===1?new CT(e,t):new dT(e,t)}[yd](e){let t=this[nr].get(e);if(t?.dispatcher)return t.dispatcher;if(typeof e!="string"){let r=this[jo]("http://localhost:9999");return this[Wo](e,r),r}for(let[r,s]of Array.from(this[nr]))if(s&&typeof r!="string"&&fT(r,e)){let n=this[jo](e);return this[Wo](e,n),n[Ml]=s.dispatcher[Ml],n}}[IT](){return this[or]}pendingInterceptors(){let e=this[nr];return Array.from(e.entries()).flatMap(([t,r])=>r.dispatcher[Ml].map(s=>({...s,origin:t}))).filter(({pending:t})=>t)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new wT}={}){let t=this.pendingInterceptors();if(t.length!==0)throw new DT(t.length===1?`1 interceptor is pending:
|
|
38
|
+
`,"latin1"),t!==null&&s!==t){if(r[$c])throw new qt;process.emitWarning(new qt)}e[ne].timeout&&e[ne].timeoutType===Hr&&e[ne].timeout.refresh&&e[ne].timeout.refresh(),r[lt]()}}destroy(e){let{socket:t,client:r,abort:s}=this;t[Et]=!1,e&&(x(r[De]<=1,"pipeline should only contain this request"),s(e))}};GI.exports=EF});var jI=p((rV,ZI)=>{"use strict";var iA=require("node:assert"),{pipeline:DF}=require("node:stream"),O=G(),{RequestContentLengthMismatchError:ig,RequestAbortedError:mF,SocketError:Vs,InformationalError:ut,InvalidArgumentError:wF}=Y(),{kUrl:vs,kReset:Do,kClient:Je,kRunning:Js,kPending:RF,kQueue:Qt,kPendingIdx:cg,kRunningIdx:hA,kError:Pe,kSocket:re,kStrictContentLength:SF,kOnError:Yr,kMaxConcurrentStreams:po,kPingInterval:vI,kHTTP2Session:qA,kHTTP2InitialWindowSize:NF,kHTTP2ConnectionWindowSize:FF,kResume:NA,kSize:bF,kHTTPContext:gg,kClosed:ag,kBodyTimeout:UF,kEnableConnectProtocol:Gs,kRemoteSettings:Os,kHTTP2Stream:fo,kHTTP2SessionState:lg}=j(),{channels:VI}=at(),oA=Symbol("open streams"),JI,yo;try{yo=require("node:http2")}catch{yo={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:MF,HTTP2_HEADER_METHOD:PI,HTTP2_HEADER_PATH:qI,HTTP2_HEADER_SCHEME:sg,HTTP2_HEADER_CONTENT_LENGTH:TF,HTTP2_HEADER_EXPECT:kF,HTTP2_HEADER_STATUS:ng,HTTP2_HEADER_PROTOCOL:LF,NGHTTP2_REFUSED_STREAM:xF,NGHTTP2_CANCEL:HF}}=yo;function og(A){let e=[];for(let[t,r]of Object.entries(A))if(Array.isArray(r))for(let s of r)e.push(Buffer.from(t),Buffer.from(s));else e.push(Buffer.from(t),Buffer.from(r));return e}function YF(A,e){A[re]=e;let t=A[NF],r=A[FF],s=yo.connect(A[vs],{createConnection:()=>e,peerMaxConcurrentStreams:A[po],settings:{enablePush:!1,...t!=null?{initialWindowSize:t}:null}});return A[re]=e,s[oA]=0,s[Je]=A,s[re]=e,s[lg]={ping:{interval:A[vI]===0?null:setInterval(VF,A[vI],s).unref()}},s[Gs]=!1,s[Os]=!1,r&&O.addListener(s,"connect",OF.bind(s,r)),O.addListener(s,"error",JF),O.addListener(s,"frameError",PF),O.addListener(s,"end",qF),O.addListener(s,"goaway",WF),O.addListener(s,"close",_F),O.addListener(s,"remoteSettings",vF),s.unref(),A[qA]=s,e[qA]=s,O.addListener(e,"error",jF),O.addListener(e,"end",XF),O.addListener(e,"close",ZF),e[ag]=!1,e.on("close",KF),{version:"h2",defaultPipelining:1/0,write(n){return $F(A,n)},resume(){GF(A)},destroy(n,o){e[ag]?queueMicrotask(o):e.destroy(n).on("close",o)},get destroyed(){return e.destroyed},busy(n){if(n!=null)if(A[Js]>0){if(n.idempotent===!1||(n.upgrade==="websocket"||n.method==="CONNECT")&&s[Os]===!1||O.bodyLength(n.body)!==0&&(O.isStream(n.body)||O.isAsyncIterable(n.body)||O.isFormDataLike(n.body)))return!0}else return(n.upgrade==="websocket"||n.method==="CONNECT")&&s[Os]===!1;return!1}}}function GF(A){let e=A[re];e?.destroyed===!1&&(A[bF]===0||A[po]===0?(e.unref(),A[qA].unref()):(e.ref(),A[qA].ref()))}function OF(A){try{typeof this.setLocalWindowSize=="function"&&this.setLocalWindowSize(A)}catch{}}function vF(A){if(this[Je][po]=A.maxConcurrentStreams??this[Je][po],this[Os]===!0&&this[Gs]===!0&&A.enableConnectProtocol===!1){let e=new ut("HTTP/2: Server disabled extended CONNECT protocol against RFC-8441");this[re][Pe]=e,this[Je][Yr](e);return}this[Gs]=A.enableConnectProtocol??this[Gs],this[Os]=!0,this[Je][NA]()}function VF(A){let e=A[lg];if((A.closed||A.destroyed)&&e.ping.interval!=null){clearInterval(e.ping.interval),e.ping.interval=null;return}A.ping(t.bind(A));function t(r,s){let n=this[Je],o=this[Je];if(r!=null){let i=new ut(`HTTP/2: "PING" errored - type ${r.message}`);o[Pe]=i,n[Yr](i)}else n.emit("ping",s)}}function JF(A){iA(A.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[re][Pe]=A,this[Je][Yr](A)}function PF(A,e,t){if(t===0){let r=new ut(`HTTP/2: "frameError" received - type ${A}, code ${e}`);this[re][Pe]=r,this[Je][Yr](r)}}function qF(){let A=new Vs("other side closed",O.getSocketInfo(this[re]));this.destroy(A),O.destroy(this[re],A)}function WF(A){let e=this[Pe]||new Vs(`HTTP/2: "GOAWAY" frame received with code ${A}`,O.getSocketInfo(this[re])),t=this[Je];if(t[re]=null,t[gg]=null,this.close(),this[qA]=null,O.destroy(this[re],e),t[hA]<t[Qt].length){let r=t[Qt][t[hA]];t[Qt][t[hA]++]=null,O.errorRequest(t,r,e),t[cg]=t[hA]}iA(t[Js]===0),t.emit("disconnect",t[vs],[t],e),t.emit("connectionError",t[vs],[t],e),t[NA]()}function _F(){let{[Je]:A,[lg]:e}=this,{[re]:t}=A,r=this[re][Pe]||this[Pe]||new Vs("closed",O.getSocketInfo(t));if(A[re]=null,A[gg]=null,e.ping.interval!=null&&(clearInterval(e.ping.interval),e.ping.interval=null),A.destroyed){iA(A[RF]===0);let s=A[Qt].splice(A[hA]);for(let n=0;n<s.length;n++){let o=s[n];O.errorRequest(A,o,r)}}}function ZF(){let A=this[Pe]||new Vs("closed",O.getSocketInfo(this)),e=this[qA][Je];e[re]=null,e[gg]=null,this[qA]!==null&&this[qA].destroy(A),e[cg]=e[hA],iA(e[Js]===0),e.emit("disconnect",e[vs],[e],A),e[NA]()}function jF(A){iA(A.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Pe]=A,this[Je][Yr](A)}function XF(){O.destroy(this,new Vs("other side closed",O.getSocketInfo(this)))}function KF(){this[ag]=!0}function zF(A){return A!=="GET"&&A!=="HEAD"&&A!=="OPTIONS"&&A!=="TRACE"&&A!=="CONNECT"}function $F(A,e){let t=e.bodyTimeout??A[UF],r=A[qA],{method:s,path:n,host:o,upgrade:i,expectContinue:a,signal:c,protocol:g,headers:Q}=e,{body:u}=e;if(i!=null&&i!=="websocket")return O.errorRequest(A,e,new wF(`Custom upgrade "${i}" not supported over HTTP/2`)),!1;let l={};for(let w=0;w<Q.length;w+=2){let b=Q[w+0],k=Q[w+1];if(b==="cookie"){l[b]!=null?l[b]=Array.isArray(l[b])?(l[b].push(k),l[b]):[l[b],k]:l[b]=k;continue}if(Array.isArray(k))for(let z=0;z<k.length;z++)l[b]?l[b]+=`, ${k[z]}`:l[b]=k[z];else l[b]?l[b]+=`, ${k}`:l[b]=k}let E=null,{hostname:B,port:y}=A[vs];l[MF]=o||`${B}${y?`:${y}`:""}`,l[PI]=s;let C=w=>{e.aborted||e.completed||(w=w||new mF,O.errorRequest(A,e,w),E!=null&&(E.removeAllListeners("data"),E.close(),A[Yr](w),A[NA]()),O.destroy(u,w))};try{e.onConnect(C)}catch(w){O.errorRequest(A,e,w)}if(e.aborted)return!1;if(i||s==="CONNECT")return r.ref(),i==="websocket"?r[Gs]===!1?(O.errorRequest(A,e,new ut("HTTP/2: Extended CONNECT protocol not supported by server")),r.unref(),!1):(l[PI]="CONNECT",l[LF]="websocket",l[qI]=n,g==="ws:"||g==="wss:"?l[sg]=g==="ws:"?"http":"https":l[sg]=g==="http:"?"http":"https",E=r.request(l,{endStream:!1,signal:c}),E[fo]=!0,E.once("response",(w,b)=>{let{[ng]:k,...z}=w;e.onUpgrade(k,og(z),E),++r[oA],A[Qt][A[hA]++]=null}),E.on("error",()=>{(E.rstCode===xF||E.rstCode===HF)&&C(new ut(`HTTP/2: "stream error" received - code ${E.rstCode}`))}),E.once("close",()=>{r[oA]-=1,r[oA]===0&&r.unref()}),E.setTimeout(t),!0):(E=r.request(l,{endStream:!1,signal:c}),E[fo]=!0,E.on("response",w=>{let{[ng]:b,...k}=w;e.onUpgrade(b,og(k),E),++r[oA],A[Qt][A[hA]++]=null}),E.once("close",()=>{r[oA]-=1,r[oA]===0&&r.unref()}),E.setTimeout(t),!0);l[qI]=n,l[sg]=g==="http:"?"http":"https";let f=s==="PUT"||s==="POST"||s==="PATCH";u&&typeof u.read=="function"&&u.read(0);let D=O.bodyLength(u);if(O.isFormDataLike(u)){JI??=kr().extractBody;let[w,b]=JI(u);l["content-type"]=b,u=w.stream,D=w.length}if(D==null&&(D=e.contentLength),f||(D=null),zF(s)&&D>0&&e.contentLength!=null&&e.contentLength!==D){if(A[SF])return O.errorRequest(A,e,new ig),!1;process.emitWarning(new ig)}if(D!=null&&(iA(u||D===0,"no body must not have content length"),l[TF]=`${D}`),r.ref(),VI.sendHeaders.hasSubscribers){let w="";for(let b in l)w+=`${b}: ${l[b]}\r
|
|
39
|
+
`;VI.sendHeaders.publish({request:e,headers:w,socket:r[re]})}let M=s==="GET"||s==="HEAD"||u===null;a?(l[kF]="100-continue",E=r.request(l,{endStream:M,signal:c}),E[fo]=!0,E.once("continue",L)):(E=r.request(l,{endStream:M,signal:c}),E[fo]=!0,L()),++r[oA],E.setTimeout(t);let F=!1;return E.once("response",w=>{let{[ng]:b,...k}=w;if(e.onResponseStarted(),F=!0,e.aborted){E.removeAllListeners("data");return}e.onHeaders(Number(b),og(k),E.resume.bind(E),"")===!1&&E.pause(),E.on("data",z=>{e.aborted||e.completed||e.onData(z)===!1&&E.pause()})}),E.once("end",()=>{E.removeAllListeners("data"),F?(!e.aborted&&!e.completed&&e.onComplete({}),A[Qt][A[hA]++]=null,A[NA]()):(C(new ut("HTTP/2: stream half-closed (remote)")),A[Qt][A[hA]++]=null,A[cg]=A[hA],A[NA]())}),E.once("close",()=>{E.removeAllListeners("data"),r[oA]-=1,r[oA]===0&&r.unref()}),E.once("error",function(w){E.removeAllListeners("data"),C(w)}),E.once("frameError",(w,b)=>{E.removeAllListeners("data"),C(new ut(`HTTP/2: "frameError" received - type ${w}, code ${b}`))}),E.on("aborted",()=>{E.removeAllListeners("data")}),E.on("timeout",()=>{let w=new ut(`HTTP/2: "stream timeout after ${t}"`);E.removeAllListeners("data"),r[oA]-=1,r[oA]===0&&r.unref(),C(w)}),E.once("trailers",w=>{e.aborted||e.completed||(E.removeAllListeners("data"),e.onComplete(w))}),!0;function L(){!u||D===0?WI(C,E,null,A,e,A[re],D,f):O.isBuffer(u)?WI(C,E,u,A,e,A[re],D,f):O.isBlobLike(u)?typeof u.stream=="function"?_I(C,E,u.stream(),A,e,A[re],D,f):Ab(C,E,u,A,e,A[re],D,f):O.isStream(u)?eb(C,A[re],f,E,u,A,e,D):O.isIterable(u)?_I(C,E,u,A,e,A[re],D,f):iA(!1)}}function WI(A,e,t,r,s,n,o,i){try{t!=null&&O.isBuffer(t)&&(iA(o===t.byteLength,"buffer body must have content length"),e.cork(),e.write(t),e.uncork(),e.end(),s.onBodySent(t)),i||(n[Do]=!0),s.onRequestSent(),r[NA]()}catch(a){A(a)}}function eb(A,e,t,r,s,n,o,i){iA(i!==0||n[Js]===0,"stream body cannot be pipelined");let a=DF(s,r,g=>{g?(O.destroy(a,g),A(g)):(O.removeAllListeners(a),o.onRequestSent(),t||(e[Do]=!0),n[NA]())});O.addListener(a,"data",c);function c(g){o.onBodySent(g)}}async function Ab(A,e,t,r,s,n,o,i){iA(o===t.size,"blob body must have content length");try{if(o!=null&&o!==t.size)throw new ig;let a=Buffer.from(await t.arrayBuffer());e.cork(),e.write(a),e.uncork(),e.end(),s.onBodySent(a),s.onRequestSent(),i||(n[Do]=!0),r[NA]()}catch(a){A(a)}}async function _I(A,e,t,r,s,n,o,i){iA(o!==0||r[Js]===0,"iterator body cannot be pipelined");let a=null;function c(){if(a){let Q=a;a=null,Q()}}let g=()=>new Promise((Q,u)=>{iA(a===null),n[Pe]?u(n[Pe]):a=Q});e.on("close",c).on("drain",c);try{for await(let Q of t){if(n[Pe])throw n[Pe];let u=e.write(Q);s.onBodySent(Q),u||await g()}e.end(),s.onRequestSent(),i||(n[Do]=!0),r[NA]()}catch(Q){A(Q)}finally{e.off("close",c).off("drain",c)}}ZI.exports=YF});var Ct=p((sV,rB)=>{"use strict";var WA=require("node:assert"),$I=require("node:net"),Ps=require("node:http"),Wt=G(),{ClientStats:tb}=nc(),{channels:Gr}=at(),rb=Bh(),sb=Ot(),{InvalidArgumentError:te,InformationalError:nb,ClientDestroyedError:ob}=Y(),ib=vt(),{kUrl:FA,kServerName:Bt,kClient:ab,kBusy:ug,kConnect:cb,kResuming:_t,kRunning:Zs,kPending:js,kSize:qs,kQueue:IA,kConnected:gb,kConnecting:Or,kNeedDrain:It,kKeepAliveDefaultTimeout:XI,kHostHeader:lb,kPendingIdx:BA,kRunningIdx:ZA,kError:Eb,kPipelining:mo,kKeepAliveTimeoutValue:ub,kMaxHeadersSize:Qb,kKeepAliveMaxTimeout:hb,kKeepAliveTimeoutThreshold:Ib,kHeadersTimeout:Bb,kBodyTimeout:Cb,kStrictContentLength:db,kConnector:Ws,kMaxRequests:Qg,kCounter:fb,kClose:pb,kDestroy:yb,kDispatch:Db,kLocalAddress:_s,kMaxResponseSize:mb,kOnError:wb,kHTTPContext:ae,kMaxConcurrentStreams:Rb,kHTTP2InitialWindowSize:Sb,kHTTP2ConnectionWindowSize:Nb,kResume:_A,kPingInterval:Fb}=j(),bb=OI(),Ub=jI(),ht=Symbol("kClosedResolve"),Mb=Ps&&Ps.maxHeaderSize&&Number.isInteger(Ps.maxHeaderSize)&&Ps.maxHeaderSize>0?()=>Ps.maxHeaderSize:()=>{throw new te("http module not available or http.maxHeaderSize invalid")},KI=()=>{};function eB(A){return A[mo]??A[ae]?.defaultPipelining??1}var hg=class extends sb{constructor(e,{maxHeaderSize:t,headersTimeout:r,socketTimeout:s,requestTimeout:n,connectTimeout:o,bodyTimeout:i,idleTimeout:a,keepAlive:c,keepAliveTimeout:g,maxKeepAliveTimeout:Q,keepAliveMaxTimeout:u,keepAliveTimeoutThreshold:l,socketPath:E,pipelining:B,tls:y,strictContentLength:C,maxCachedSessions:f,connect:D,maxRequestsPerClient:M,localAddress:F,maxResponseSize:L,autoSelectFamily:w,autoSelectFamilyAttemptTimeout:b,maxConcurrentStreams:k,allowH2:z,useH2c:fe,initialWindowSize:ce,connectionWindowSize:Ge,pingInterval:ie}={}){if(c!==void 0)throw new te("unsupported keepAlive, use pipelining=0 instead");if(s!==void 0)throw new te("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(n!==void 0)throw new te("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(a!==void 0)throw new te("unsupported idleTimeout, use keepAliveTimeout instead");if(Q!==void 0)throw new te("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(t!=null){if(!Number.isInteger(t)||t<1)throw new te("invalid maxHeaderSize")}else t=Mb();if(E!=null&&typeof E!="string")throw new te("invalid socketPath");if(o!=null&&(!Number.isFinite(o)||o<0))throw new te("invalid connectTimeout");if(g!=null&&(!Number.isFinite(g)||g<=0))throw new te("invalid keepAliveTimeout");if(u!=null&&(!Number.isFinite(u)||u<=0))throw new te("invalid keepAliveMaxTimeout");if(l!=null&&!Number.isFinite(l))throw new te("invalid keepAliveTimeoutThreshold");if(r!=null&&(!Number.isInteger(r)||r<0))throw new te("headersTimeout must be a positive integer or zero");if(i!=null&&(!Number.isInteger(i)||i<0))throw new te("bodyTimeout must be a positive integer or zero");if(D!=null&&typeof D!="function"&&typeof D!="object")throw new te("connect must be a function or an object");if(M!=null&&(!Number.isInteger(M)||M<0))throw new te("maxRequestsPerClient must be a positive number");if(F!=null&&(typeof F!="string"||$I.isIP(F)===0))throw new te("localAddress must be valid string IP address");if(L!=null&&(!Number.isInteger(L)||L<-1))throw new te("maxResponseSize must be a positive number");if(b!=null&&(!Number.isInteger(b)||b<-1))throw new te("autoSelectFamilyAttemptTimeout must be a positive number");if(z!=null&&typeof z!="boolean")throw new te("allowH2 must be a valid boolean value");if(k!=null&&(typeof k!="number"||k<1))throw new te("maxConcurrentStreams must be a positive integer, greater than 0");if(fe!=null&&typeof fe!="boolean")throw new te("useH2c must be a valid boolean value");if(ce!=null&&(!Number.isInteger(ce)||ce<1))throw new te("initialWindowSize must be a positive integer, greater than 0");if(Ge!=null&&(!Number.isInteger(Ge)||Ge<1))throw new te("connectionWindowSize must be a positive integer, greater than 0");if(ie!=null&&(typeof ie!="number"||!Number.isInteger(ie)||ie<0))throw new te("pingInterval must be a positive integer, greater or equal to 0");if(super(),typeof D!="function")D=ib({...y,maxCachedSessions:f,allowH2:z,useH2c:fe,socketPath:E,timeout:o,...typeof w=="boolean"?{autoSelectFamily:w,autoSelectFamilyAttemptTimeout:b}:void 0,...D});else if(E!=null){let $e=D;D=(pr,kt)=>$e({...pr,socketPath:E},kt)}this[FA]=Wt.parseOrigin(e),this[Ws]=D,this[mo]=B??1,this[Qb]=t,this[XI]=g??4e3,this[hb]=u??6e5,this[Ib]=l??2e3,this[ub]=this[XI],this[Bt]=null,this[_s]=F??null,this[_t]=0,this[It]=0,this[lb]=`host: ${this[FA].hostname}${this[FA].port?`:${this[FA].port}`:""}\r
|
|
40
|
+
`,this[Cb]=i??3e5,this[Bb]=r??3e5,this[db]=C??!0,this[Qg]=M,this[ht]=null,this[mb]=L>-1?L:-1,this[ae]=null,this[Rb]=k??100,this[Sb]=ce??262144,this[Nb]=Ge??524288,this[Fb]=ie??6e4,this[IA]=[],this[ZA]=0,this[BA]=0,this[_A]=$e=>Ig(this,$e),this[wb]=$e=>AB(this,$e)}get pipelining(){return this[mo]}set pipelining(e){this[mo]=e,this[_A](!0)}get stats(){return new tb(this)}get[js](){return this[IA].length-this[BA]}get[Zs](){return this[BA]-this[ZA]}get[qs](){return this[IA].length-this[ZA]}get[gb](){return!!this[ae]&&!this[Or]&&!this[ae].destroyed}get[ug](){return!!(this[ae]?.busy(null)||this[qs]>=(eB(this)||1)||this[js]>0)}[cb](e){tB(this),this.once("connect",e)}[Db](e,t){let r=new rb(this[FA].origin,e,t);return this[IA].push(r),this[_t]||(Wt.bodyLength(r.body)==null&&Wt.isIterable(r.body)?(this[_t]=1,queueMicrotask(()=>Ig(this))):this[_A](!0)),this[_t]&&this[It]!==2&&this[ug]&&(this[It]=2),this[It]<2}[pb](){return new Promise(e=>{this[qs]?this[ht]=e:e(null)})}[yb](e){return new Promise(t=>{let r=this[IA].splice(this[BA]);for(let n=0;n<r.length;n++){let o=r[n];Wt.errorRequest(this,o,e)}let s=()=>{this[ht]&&(this[ht](),this[ht]=null),t(null)};this[ae]?(this[ae].destroy(e,s),this[ae]=null):queueMicrotask(s),this[_A]()})}};function AB(A,e){if(A[Zs]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){WA(A[BA]===A[ZA]);let t=A[IA].splice(A[ZA]);for(let r=0;r<t.length;r++){let s=t[r];Wt.errorRequest(A,s,e)}WA(A[qs]===0)}}function tB(A){WA(!A[Or]),WA(!A[ae]);let{host:e,hostname:t,protocol:r,port:s}=A[FA];if(t[0]==="["){let n=t.indexOf("]");WA(n!==-1);let o=t.substring(1,n);WA($I.isIPv6(o)),t=o}A[Or]=!0,Gr.beforeConnect.hasSubscribers&&Gr.beforeConnect.publish({connectParams:{host:e,hostname:t,protocol:r,port:s,version:A[ae]?.version,servername:A[Bt],localAddress:A[_s]},connector:A[Ws]});try{A[Ws]({host:e,hostname:t,protocol:r,port:s,servername:A[Bt],localAddress:A[_s]},(n,o)=>{if(n){Eg(A,n,{host:e,hostname:t,protocol:r,port:s}),A[_A]();return}if(A.destroyed){Wt.destroy(o.on("error",KI),new ob),A[_A]();return}WA(o);try{A[ae]=o.alpnProtocol==="h2"?Ub(A,o):bb(A,o)}catch(i){o.destroy().on("error",KI),Eg(A,i,{host:e,hostname:t,protocol:r,port:s}),A[_A]();return}A[Or]=!1,o[fb]=0,o[Qg]=A[Qg],o[ab]=A,o[Eb]=null,Gr.connected.hasSubscribers&&Gr.connected.publish({connectParams:{host:e,hostname:t,protocol:r,port:s,version:A[ae]?.version,servername:A[Bt],localAddress:A[_s]},connector:A[Ws],socket:o}),A.emit("connect",A[FA],[A]),A[_A]()})}catch(n){Eg(A,n,{host:e,hostname:t,protocol:r,port:s}),A[_A]()}}function Eg(A,e,{host:t,hostname:r,protocol:s,port:n}){if(!A.destroyed){if(A[Or]=!1,Gr.connectError.hasSubscribers&&Gr.connectError.publish({connectParams:{host:t,hostname:r,protocol:s,port:n,version:A[ae]?.version,servername:A[Bt],localAddress:A[_s]},connector:A[Ws],error:e}),e.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(WA(A[Zs]===0);A[js]>0&&A[IA][A[BA]].servername===A[Bt];){let o=A[IA][A[BA]++];Wt.errorRequest(A,o,e)}else AB(A,e);A.emit("connectionError",A[FA],[A],e)}}function zI(A){A[It]=0,A.emit("drain",A[FA],[A])}function Ig(A,e){A[_t]!==2&&(A[_t]=2,Tb(A,e),A[_t]=0,A[ZA]>256&&(A[IA].splice(0,A[ZA]),A[BA]-=A[ZA],A[ZA]=0))}function Tb(A,e){for(;;){if(A.destroyed){WA(A[js]===0);return}if(A[ht]&&!A[qs]){A[ht](),A[ht]=null;return}if(A[ae]&&A[ae].resume(),A[ug])A[It]=2;else if(A[It]===2){e?(A[It]=1,queueMicrotask(()=>zI(A))):zI(A);continue}if(A[js]===0||A[Zs]>=(eB(A)||1))return;let t=A[IA][A[BA]];if(t===null)return;if(A[FA].protocol==="https:"&&A[Bt]!==t.servername){if(A[Zs]>0)return;A[Bt]=t.servername,A[ae]?.destroy(new nb("servername changed"),()=>{A[ae]=null,Ig(A)})}if(A[Or])return;if(!A[ae]){tB(A);return}if(A[ae].destroyed||A[ae].busy(t))return;!t.aborted&&A[ae].write(t)?A[BA]++:A[IA].splice(A[BA],1)}}rB.exports=hg});var Bg=p((oV,sB)=>{"use strict";var wo=class{bottom=0;top=0;list=new Array(2048).fill(void 0);next=null;isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};sB.exports=class{constructor(){this.head=this.tail=new wo}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new wo),this.head.push(e)}shift(){let e=this.tail,t=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next,e.next=null),t}}});var Ro=p((iV,uB)=>{"use strict";var{PoolStats:kb}=nc(),Lb=Ot(),xb=Bg(),{kConnected:Cg,kSize:nB,kRunning:oB,kPending:iB,kQueued:Xs,kBusy:Hb,kFree:Yb,kUrl:Gb,kClose:Ob,kDestroy:vb,kDispatch:Vb}=j(),Ce=Symbol("clients"),Se=Symbol("needDrain"),Ks=Symbol("queue"),dg=Symbol("closed resolve"),fg=Symbol("onDrain"),aB=Symbol("onConnect"),cB=Symbol("onDisconnect"),gB=Symbol("onConnectionError"),pg=Symbol("get dispatcher"),lB=Symbol("add client"),EB=Symbol("remove client"),yg=class extends Lb{[Ks]=new xb;[Xs]=0;[Ce]=[];[Se]=!1;[fg](e,t,r){let s=this[Ks],n=!1;for(;!n;){let o=s.shift();if(!o)break;this[Xs]--,n=!e.dispatch(o.opts,o.handler)}if(e[Se]=n,!n&&this[Se]&&(this[Se]=!1,this.emit("drain",t,[this,...r])),this[dg]&&s.isEmpty()){let o=[];for(let i=0;i<this[Ce].length;i++){let a=this[Ce][i];a.destroyed||o.push(a.close())}return Promise.all(o).then(this[dg])}}[aB]=(e,t)=>{this.emit("connect",e,[this,...t])};[cB]=(e,t,r)=>{this.emit("disconnect",e,[this,...t],r)};[gB]=(e,t,r)=>{this.emit("connectionError",e,[this,...t],r)};get[Hb](){return this[Se]}get[Cg](){let e=0;for(let{[Cg]:t}of this[Ce])e+=t;return e}get[Yb](){let e=0;for(let{[Cg]:t,[Se]:r}of this[Ce])e+=t&&!r;return e}get[iB](){let e=this[Xs];for(let{[iB]:t}of this[Ce])e+=t;return e}get[oB](){let e=0;for(let{[oB]:t}of this[Ce])e+=t;return e}get[nB](){let e=this[Xs];for(let{[nB]:t}of this[Ce])e+=t;return e}get stats(){return new kb(this)}[Ob](){if(this[Ks].isEmpty()){let e=[];for(let t=0;t<this[Ce].length;t++){let r=this[Ce][t];r.destroyed||e.push(r.close())}return Promise.all(e)}else return new Promise(e=>{this[dg]=e})}[vb](e){for(;;){let r=this[Ks].shift();if(!r)break;r.handler.onError(e)}let t=new Array(this[Ce].length);for(let r=0;r<this[Ce].length;r++)t[r]=this[Ce][r].destroy(e);return Promise.all(t)}[Vb](e,t){let r=this[pg]();return r?r.dispatch(e,t)||(r[Se]=!0,this[Se]=!this[pg]()):(this[Se]=!0,this[Ks].push({opts:e,handler:t}),this[Xs]++),!this[Se]}[lB](e){return e.on("drain",this[fg].bind(this,e)).on("connect",this[aB]).on("disconnect",this[cB]).on("connectionError",this[gB]),this[Ce].push(e),this[Se]&&queueMicrotask(()=>{this[Se]&&this[fg](e,e[Gb],[e,this])}),this}[EB](e){e.close(()=>{let t=this[Ce].indexOf(e);t!==-1&&this[Ce].splice(t,1)}),this[Se]=this[Ce].some(t=>!t[Se]&&t.closed!==!0&&t.destroyed!==!0)}};uB.exports={PoolBase:yg,kClients:Ce,kNeedDrain:Se,kAddClient:lB,kRemoveClient:EB,kGetDispatcher:pg}});var Zt=p((aV,BB)=>{"use strict";var{PoolBase:Jb,kClients:So,kNeedDrain:Pb,kAddClient:qb,kGetDispatcher:Wb,kRemoveClient:_b}=Ro(),Zb=Ct(),{InvalidArgumentError:Dg}=Y(),QB=G(),{kUrl:hB}=j(),jb=vt(),No=Symbol("options"),mg=Symbol("connections"),IB=Symbol("factory");function Xb(A,e){return new Zb(A,e)}var wg=class extends Jb{constructor(e,{connections:t,factory:r=Xb,connect:s,connectTimeout:n,tls:o,maxCachedSessions:i,socketPath:a,autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g,allowH2:Q,clientTtl:u,...l}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new Dg("invalid connections");if(typeof r!="function")throw new Dg("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new Dg("connect must be a function or an object");typeof s!="function"&&(s=jb({...o,maxCachedSessions:i,allowH2:Q,socketPath:a,timeout:n,...typeof c=="boolean"?{autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g}:void 0,...s})),super(),this[mg]=t||null,this[hB]=QB.parseOrigin(e),this[No]={...QB.deepClone(l),connect:s,allowH2:Q,clientTtl:u,socketPath:a},this[No].interceptors=l.interceptors?{...l.interceptors}:void 0,this[IB]=r,this.on("connect",(E,B)=>{if(u!=null&&u>0)for(let y of B)Object.assign(y,{ttl:Date.now()})}),this.on("connectionError",(E,B,y)=>{for(let C of B){let f=this[So].indexOf(C);f!==-1&&this[So].splice(f,1)}})}[Wb](){let e=this[No].clientTtl;for(let t of this[So])if(e!=null&&e>0&&t.ttl&&Date.now()-t.ttl>e)this[_b](t);else if(!t[Pb])return t;if(!this[mg]||this[So].length<this[mg]){let t=this[IB](this[hB],this[No]);return this[qb](t),t}}};BB.exports=wg});var pB=p((cV,fB)=>{"use strict";var{BalancedPoolMissingUpstreamError:Kb,InvalidArgumentError:zb}=Y(),{PoolBase:$b,kClients:ye,kNeedDrain:zs,kAddClient:eU,kRemoveClient:AU,kGetDispatcher:tU}=Ro(),rU=Zt(),{kUrl:Fo}=j(),bo=G(),CB=Symbol("factory"),$s=Symbol("options"),dB=Symbol("kGreatestCommonDivisor"),jt=Symbol("kCurrentWeight"),Xt=Symbol("kIndex"),aA=Symbol("kWeight"),Uo=Symbol("kMaxWeightPerServer"),Mo=Symbol("kErrorPenalty");function sU(A,e){if(A===0)return e;for(;e!==0;){let t=e;e=A%e,A=t}return A}function nU(A,e){return new rU(A,e)}var Rg=class extends $b{constructor(e=[],{factory:t=nU,...r}={}){if(typeof t!="function")throw new zb("factory must be a function.");super(),this[$s]={...bo.deepClone(r)},this[$s].interceptors=r.interceptors?{...r.interceptors}:void 0,this[Xt]=-1,this[jt]=0,this[Uo]=this[$s].maxWeightPerServer||100,this[Mo]=this[$s].errorPenalty||15,Array.isArray(e)||(e=[e]),this[CB]=t;for(let s of e)this.addUpstream(s);this._updateBalancedPoolStats()}addUpstream(e){let t=bo.parseOrigin(e).origin;if(this[ye].find(s=>s[Fo].origin===t&&s.closed!==!0&&s.destroyed!==!0))return this;let r=this[CB](t,this[$s]);this[eU](r),r.on("connect",()=>{r[aA]=Math.min(this[Uo],r[aA]+this[Mo])}),r.on("connectionError",()=>{r[aA]=Math.max(1,r[aA]-this[Mo]),this._updateBalancedPoolStats()}),r.on("disconnect",(...s)=>{let n=s[2];n&&n.code==="UND_ERR_SOCKET"&&(r[aA]=Math.max(1,r[aA]-this[Mo]),this._updateBalancedPoolStats())});for(let s of this[ye])s[aA]=this[Uo];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let e=0;for(let t=0;t<this[ye].length;t++)e=sU(this[ye][t][aA],e);this[dB]=e}removeUpstream(e){let t=bo.parseOrigin(e).origin,r=this[ye].find(s=>s[Fo].origin===t&&s.closed!==!0&&s.destroyed!==!0);return r&&this[AU](r),this}getUpstream(e){let t=bo.parseOrigin(e).origin;return this[ye].find(r=>r[Fo].origin===t&&r.closed!==!0&&r.destroyed!==!0)}get upstreams(){return this[ye].filter(e=>e.closed!==!0&&e.destroyed!==!0).map(e=>e[Fo].origin)}[tU](){if(this[ye].length===0)throw new Kb;if(!this[ye].find(n=>!n[zs]&&n.closed!==!0&&n.destroyed!==!0)||this[ye].map(n=>n[zs]).reduce((n,o)=>n&&o,!0))return;let r=0,s=this[ye].findIndex(n=>!n[zs]);for(;r++<this[ye].length;){this[Xt]=(this[Xt]+1)%this[ye].length;let n=this[ye][this[Xt]];if(n[aA]>this[ye][s][aA]&&!n[zs]&&(s=this[Xt]),this[Xt]===0&&(this[jt]=this[jt]-this[dB],this[jt]<=0&&(this[jt]=this[Uo])),n[aA]>=this[jt]&&!n[zs])return n}return this[jt]=this[ye][s][aA],this[Xt]=s,this[ye][s]}};fB.exports=Rg});var wB=p((gV,mB)=>{"use strict";var{PoolBase:oU,kClients:To,kNeedDrain:iU,kAddClient:yB,kGetDispatcher:aU,kRemoveClient:cU}=Ro(),gU=Ct(),{InvalidArgumentError:Sg}=Y(),DB=G(),{kUrl:Ng}=j(),lU=vt(),en=Symbol("options"),Fg=Symbol("connections"),bg=Symbol("factory"),ko=Symbol("index");function EU(A,e){return new gU(A,e)}var Ug=class extends oU{constructor(e,{connections:t,factory:r=EU,connect:s,connectTimeout:n,tls:o,maxCachedSessions:i,socketPath:a,autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g,allowH2:Q,clientTtl:u,...l}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new Sg("invalid connections");if(typeof r!="function")throw new Sg("factory must be a function.");if(s!=null&&typeof s!="function"&&typeof s!="object")throw new Sg("connect must be a function or an object");typeof s!="function"&&(s=lU({...o,maxCachedSessions:i,allowH2:Q,socketPath:a,timeout:n,...typeof c=="boolean"?{autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g}:void 0,...s})),super(),this[Fg]=t||null,this[Ng]=DB.parseOrigin(e),this[en]={...DB.deepClone(l),connect:s,allowH2:Q,clientTtl:u,socketPath:a},this[en].interceptors=l.interceptors?{...l.interceptors}:void 0,this[bg]=r,this[ko]=-1,this.on("connect",(E,B)=>{if(u!=null&&u>0)for(let y of B)Object.assign(y,{ttl:Date.now()})}),this.on("connectionError",(E,B,y)=>{for(let C of B){let f=this[To].indexOf(C);f!==-1&&this[To].splice(f,1)}})}[aU](){let e=this[en].clientTtl,t=this[To].length;if(t===0){let s=this[bg](this[Ng],this[en]);return this[yB](s),s}let r=0;for(;r<t;){this[ko]=(this[ko]+1)%t;let s=this[To][this[ko]];if(e!=null&&e>0&&s.ttl&&Date.now()-s.ttl>e){this[cU](s),r++;continue}if(!s[iU])return s;r++}if(!this[Fg]||t<this[Fg]){let s=this[bg](this[Ng],this[en]);return this[yB](s),s}}};mB.exports=Ug});var Kt=p((lV,MB)=>{"use strict";var{InvalidArgumentError:Lo,MaxOriginsReachedError:uU}=Y(),{kClients:cA,kRunning:RB,kClose:QU,kDestroy:hU,kDispatch:IU,kUrl:BU}=j(),CU=Ot(),dU=Zt(),fU=Ct(),pU=G(),SB=Symbol("onConnect"),NB=Symbol("onDisconnect"),FB=Symbol("onConnectionError"),bB=Symbol("onDrain"),UB=Symbol("factory"),Mg=Symbol("options"),An=Symbol("origins");function yU(A,e){return e&&e.connections===1?new fU(A,e):new dU(A,e)}var Tg=class extends CU{constructor({factory:e=yU,maxOrigins:t=1/0,connect:r,...s}={}){if(typeof e!="function")throw new Lo("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new Lo("connect must be a function or an object");if(typeof t!="number"||Number.isNaN(t)||t<=0)throw new Lo("maxOrigins must be a number greater than 0");super(),r&&typeof r!="function"&&(r={...r}),this[Mg]={...pU.deepClone(s),maxOrigins:t,connect:r},this[UB]=e,this[cA]=new Map,this[An]=new Set,this[bB]=(n,o)=>{this.emit("drain",n,[this,...o])},this[SB]=(n,o)=>{this.emit("connect",n,[this,...o])},this[NB]=(n,o,i)=>{this.emit("disconnect",n,[this,...o],i)},this[FB]=(n,o,i)=>{this.emit("connectionError",n,[this,...o],i)}}get[RB](){let e=0;for(let{dispatcher:t}of this[cA].values())e+=t[RB];return e}[IU](e,t){let r;if(e.origin&&(typeof e.origin=="string"||e.origin instanceof URL))r=String(e.origin);else throw new Lo("opts.origin must be a non-empty string or URL.");if(this[An].size>=this[Mg].maxOrigins&&!this[An].has(r))throw new uU;let s=this[cA].get(r),n=s&&s.dispatcher;if(!n){let o=i=>{let a=this[cA].get(r);a&&(i&&(a.count-=1),a.count<=0&&(this[cA].delete(r),a.dispatcher.destroyed||a.dispatcher.close()),this[An].delete(r))};n=this[UB](e.origin,this[Mg]).on("drain",this[bB]).on("connect",(i,a)=>{let c=this[cA].get(r);c&&(c.count+=1),this[SB](i,a)}).on("disconnect",(i,a,c)=>{o(!0),this[NB](i,a,c)}).on("connectionError",(i,a,c)=>{o(!1),this[FB](i,a,c)}),this[cA].set(r,{count:0,dispatcher:n}),this[An].add(r)}return n.dispatch(e,t)}[QU](){let e=[];for(let{dispatcher:t}of this[cA].values())e.push(t.close());return this[cA].clear(),Promise.all(e)}[hU](e){let t=[];for(let{dispatcher:r}of this[cA].values())t.push(r.destroy(e));return this[cA].clear(),Promise.all(t)}get stats(){let e={};for(let{dispatcher:t}of this[cA].values())t.stats&&(e[t[BU].origin]=t.stats);return e}};MB.exports=Tg});var xB=p((EV,LB)=>{"use strict";var{Buffer:ft}=require("node:buffer"),TB=require("node:net"),{InvalidArgumentError:dt}=Y();function DU(A){if(TB.isIPv4(A)){let t=A.split(".").map(Number);return{type:1,buffer:ft.from(t)}}if(TB.isIPv6(A))return{type:4,buffer:kB(A)};let e=ft.from(A,"utf8");if(e.length>255)throw new dt("Domain name too long (max 255 bytes)");return{type:3,buffer:ft.concat([ft.from([e.length]),e])}}function kB(A){let e=ft.alloc(16),t=A.split(":"),r=0,s=0,n=A.indexOf("::");if(n!==-1){let i=8-t.filter(a=>a.length>0).length;for(let a=0;a<t.length;a++)if(t[a]===""&&a===n/3)s+=i*2;else if(t[a]!==""){let c=parseInt(t[a],16);e.writeUInt16BE(c,s),s+=2}}else for(let o of t){if(o==="")continue;let i=parseInt(o,16);e.writeUInt16BE(i,r*2),r++}return e}function mU(A,e,t){let r=ft.allocUnsafe(2);return r.writeUInt16BE(t,0),ft.concat([ft.from([A]),e,r])}function wU(A,e=0){if(A.length<e+1)throw new dt("Buffer too small to contain address type");let t=A[e],r,s=e+1;switch(t){case 1:{if(A.length<s+6)throw new dt("Buffer too small for IPv4 address");r=Array.from(A.subarray(s,s+4)).join("."),s+=4;break}case 3:{if(A.length<s+1)throw new dt("Buffer too small for domain length");let o=A[s];if(s+=1,A.length<s+o+2)throw new dt("Buffer too small for domain address");r=A.subarray(s,s+o).toString("utf8"),s+=o;break}case 4:{if(A.length<s+18)throw new dt("Buffer too small for IPv6 address");let o=[];for(let i=0;i<8;i++){let a=A.readUInt16BE(s+i*2);o.push(a.toString(16))}r=o.join(":"),s+=16;break}default:throw new dt(`Invalid address type: ${t}`)}if(A.length<s+2)throw new dt("Buffer too small for port");let n=A.readUInt16BE(s);return s+=2,{address:r,port:n,bytesRead:s-e}}function RU(A){let t={1:"General SOCKS server failure",2:"Connection not allowed by ruleset",3:"Network unreachable",4:"Host unreachable",5:"Connection refused",6:"TTL expired",7:"Command not supported",8:"Address type not supported"}[A]||`Unknown SOCKS5 error code: ${A}`,r=new Error(t);return r.code=`SOCKS5_${A}`,r}LB.exports={parseAddress:DU,parseIPv6:kB,buildAddressBuffer:mU,parseResponseAddress:wU,createReplyError:RU}});var GB=p((uV,YB)=>{"use strict";var{EventEmitter:SU}=require("node:events"),{Buffer:zt}=require("node:buffer"),{InvalidArgumentError:tn,Socks5ProxyError:pt}=Y(),{debuglog:NU}=require("node:util"),{parseAddress:FU}=xB(),jA=NU("undici:socks5"),xo=5,vr={NO_AUTH:0,GSSAPI:1,USERNAME_PASSWORD:2,NO_ACCEPTABLE:255},HB={CONNECT:1,BIND:2,UDP_ASSOCIATE:3},$t={IPV4:1,DOMAIN:3,IPV6:4},bA={SUCCEEDED:0,GENERAL_FAILURE:1,CONNECTION_NOT_ALLOWED:2,NETWORK_UNREACHABLE:3,HOST_UNREACHABLE:4,CONNECTION_REFUSED:5,TTL_EXPIRED:6,COMMAND_NOT_SUPPORTED:7,ADDRESS_TYPE_NOT_SUPPORTED:8},qe={INITIAL:"initial",HANDSHAKING:"handshaking",AUTHENTICATING:"authenticating",CONNECTING:"connecting",CONNECTED:"connected",ERROR:"error",CLOSED:"closed"},kg=class extends SU{constructor(e,t={}){if(super(),!e)throw new tn("socket is required");this.socket=e,this.options=t,this.state=qe.INITIAL,this.buffer=zt.alloc(0),this.authMethods=[],t.username&&t.password&&this.authMethods.push(vr.USERNAME_PASSWORD),this.authMethods.push(vr.NO_AUTH),this.socket.on("data",this.onData.bind(this)),this.socket.on("error",this.onError.bind(this)),this.socket.on("close",this.onClose.bind(this))}onData(e){jA("received data",e.length,"bytes in state",this.state),this.buffer=zt.concat([this.buffer,e]);try{switch(this.state){case qe.HANDSHAKING:this.handleHandshakeResponse();break;case qe.AUTHENTICATING:this.handleAuthResponse();break;case qe.CONNECTING:this.handleConnectResponse();break}}catch(t){this.onError(t)}}onError(e){jA("socket error",e),this.state=qe.ERROR,this.emit("error",e),this.destroy()}onClose(){jA("socket closed"),this.state=qe.CLOSED,this.emit("close")}destroy(){this.socket&&!this.socket.destroyed&&this.socket.destroy()}handshake(){if(this.state!==qe.INITIAL)throw new tn("Handshake already started");jA("starting handshake with",this.authMethods.length,"auth methods"),this.state=qe.HANDSHAKING;let e=zt.alloc(2+this.authMethods.length);e[0]=xo,e[1]=this.authMethods.length,this.authMethods.forEach((t,r)=>{e[2+r]=t}),this.socket.write(e)}handleHandshakeResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==xo)throw new pt(`Invalid SOCKS version: ${e}`,"UND_ERR_SOCKS5_VERSION");if(t===vr.NO_ACCEPTABLE)throw new pt("No acceptable authentication method","UND_ERR_SOCKS5_AUTH_REJECTED");if(this.buffer=this.buffer.subarray(2),jA("server selected auth method",t),t===vr.NO_AUTH)this.emit("authenticated");else if(t===vr.USERNAME_PASSWORD)this.state=qe.AUTHENTICATING,this.sendAuthRequest();else throw new pt(`Unsupported authentication method: ${t}`,"UND_ERR_SOCKS5_AUTH_METHOD")}sendAuthRequest(){let{username:e,password:t}=this.options;if(!e||!t)throw new tn("Username and password required for authentication");jA("sending username/password auth");let r=zt.from(e),s=zt.from(t);if(r.length>255||s.length>255)throw new tn("Username or password too long");let n=zt.alloc(3+r.length+s.length);n[0]=1,n[1]=r.length,r.copy(n,2),n[2+r.length]=s.length,s.copy(n,3+r.length),this.socket.write(n)}handleAuthResponse(){if(this.buffer.length<2)return;let e=this.buffer[0],t=this.buffer[1];if(e!==1)throw new pt(`Invalid auth sub-negotiation version: ${e}`,"UND_ERR_SOCKS5_AUTH_VERSION");if(t!==0)throw new pt("Authentication failed","UND_ERR_SOCKS5_AUTH_FAILED");this.buffer=this.buffer.subarray(2),jA("authentication successful"),this.emit("authenticated")}connect(e,t){if(this.state===qe.CONNECTED)throw new tn("Already connected");jA("connecting to",e,t),this.state=qe.CONNECTING;let r=this.buildConnectRequest(HB.CONNECT,e,t);this.socket.write(r)}buildConnectRequest(e,t,r){let{type:s,buffer:n}=FU(t),o=zt.alloc(4+n.length+2);return o[0]=xo,o[1]=e,o[2]=0,o[3]=s,n.copy(o,4),o.writeUInt16BE(r,4+n.length),o}handleConnectResponse(){if(this.buffer.length<4)return;let e=this.buffer[0],t=this.buffer[1],r=this.buffer[3];if(e!==xo)throw new pt(`Invalid SOCKS version in reply: ${e}`,"UND_ERR_SOCKS5_REPLY_VERSION");let s=4;if(r===$t.IPV4)s+=6;else if(r===$t.DOMAIN){if(this.buffer.length<5)return;s+=1+this.buffer[4]+2}else if(r===$t.IPV6)s+=18;else throw new pt(`Invalid address type in reply: ${r}`,"UND_ERR_SOCKS5_ADDR_TYPE");if(this.buffer.length<s)return;if(t!==bA.SUCCEEDED){let a=this.getReplyErrorMessage(t);throw new pt(`SOCKS5 connection failed: ${a}`,`UND_ERR_SOCKS5_REPLY_${t}`)}let n,o=4;if(r===$t.IPV4)n=Array.from(this.buffer.subarray(o,o+4)).join("."),o+=4;else if(r===$t.DOMAIN){let a=this.buffer[o];o+=1,n=this.buffer.subarray(o,o+a).toString(),o+=a}else if(r===$t.IPV6){let a=[];for(let c=0;c<8;c++){let g=this.buffer.readUInt16BE(o+c*2);a.push(g.toString(16))}n=a.join(":"),o+=16}let i=this.buffer.readUInt16BE(o);this.buffer=this.buffer.subarray(s),this.state=qe.CONNECTED,jA("connected, bound address:",n,"port:",i),this.emit("connected",{address:n,port:i})}getReplyErrorMessage(e){switch(e){case bA.GENERAL_FAILURE:return"General SOCKS server failure";case bA.CONNECTION_NOT_ALLOWED:return"Connection not allowed by ruleset";case bA.NETWORK_UNREACHABLE:return"Network unreachable";case bA.HOST_UNREACHABLE:return"Host unreachable";case bA.CONNECTION_REFUSED:return"Connection refused";case bA.TTL_EXPIRED:return"TTL expired";case bA.COMMAND_NOT_SUPPORTED:return"Command not supported";case bA.ADDRESS_TYPE_NOT_SUPPORTED:return"Address type not supported";default:return`Unknown error code: ${e}`}}};YB.exports={Socks5Client:kg,AUTH_METHODS:vr,COMMANDS:HB,ADDRESS_TYPES:$t,REPLY_CODES:bA,STATES:qe}});var Yg=p((QV,qB)=>{"use strict";var bU=require("node:net"),{URL:OB}=require("node:url"),Lg,UU=Ot(),{InvalidArgumentError:vB}=Y(),{Socks5Client:MU}=GB(),{kDispatch:VB,kClose:TU,kDestroy:kU}=j(),LU=Zt(),xU=vt(),{debuglog:HU}=require("node:util"),yt=HU("undici:socks5-proxy"),xg=Symbol("proxy url"),YU=Symbol("proxy headers"),JB=Symbol("proxy auth"),UA=Symbol("pool"),GU=Symbol("connector"),PB=!1,Hg=class extends UU{constructor(e,t={}){if(super(),PB||(process.emitWarning("SOCKS5 proxy support is experimental and subject to change","ExperimentalWarning"),PB=!0),!e)throw new vB("Proxy URL is mandatory");let r=typeof e=="string"?new OB(e):e;if(r.protocol!=="socks5:"&&r.protocol!=="socks:")throw new vB("Proxy URL must use socks5:// or socks:// protocol");this[xg]=r,this[YU]=t.headers||{},this[JB]={username:t.username||(r.username?decodeURIComponent(r.username):null),password:t.password||(r.password?decodeURIComponent(r.password):null)},this[GU]=t.connect||xU({...t.proxyTls,servername:t.proxyTls?.servername||r.hostname}),this[UA]=null}async createSocks5Connection(e,t){let r=this[xg].hostname,s=parseInt(this[xg].port)||1080;yt("creating SOCKS5 connection to",r,s);let n=await new Promise((i,a)=>{let c=()=>{Q.removeListener("error",g),i(Q)},g=u=>{Q.removeListener("connect",c),a(u)},Q=bU.connect({host:r,port:s});Q.once("connect",c),Q.once("error",g)}),o=new MU(n,this[JB]);return o.on("error",i=>{yt("SOCKS5 error:",i),n.destroy()}),await o.handshake(),await new Promise((i,a)=>{let c=setTimeout(()=>{a(new Error("SOCKS5 authentication timeout"))},5e3),g=()=>{clearTimeout(c),o.removeListener("error",Q),i()},Q=u=>{clearTimeout(c),o.removeListener("authenticated",g),a(u)};o.state==="authenticated"?(clearTimeout(c),i()):(o.once("authenticated",g),o.once("error",Q))}),await o.connect(e,t),await new Promise((i,a)=>{let c=setTimeout(()=>{a(new Error("SOCKS5 connection timeout"))},5e3),g=u=>{yt("SOCKS5 tunnel established to",e,t,"via",u),clearTimeout(c),o.removeListener("error",Q),i()},Q=u=>{clearTimeout(c),o.removeListener("connected",g),a(u)};o.once("connected",g),o.once("error",Q)}),n}async[VB](e,t){let{origin:r}=e;yt("dispatching request to",r,"via SOCKS5");try{return(!this[UA]||this[UA].destroyed||this[UA].closed)&&(this[UA]=new LU(r,{pipelining:e.pipelining,connections:e.connections,connect:async(s,n)=>{try{let o=new OB(r),i=o.hostname,a=parseInt(o.port)||(o.protocol==="https:"?443:80);yt("establishing SOCKS5 connection to",i,a);let c=await this.createSocks5Connection(i,a),g=c;o.protocol==="https:"&&(Lg||(Lg=require("node:tls")),yt("upgrading to TLS"),g=Lg.connect({socket:c,servername:i,...s.tls||{}}),await new Promise((Q,u)=>{g.once("secureConnect",Q),g.once("error",u)})),n(null,g)}catch(o){yt("SOCKS5 connection error:",o),n(o)}}})),this[UA][VB](e,t)}catch(s){if(yt("dispatch error:",s),typeof t.onError=="function")t.onError(s);else throw s}}async[TU](){this[UA]&&await this[UA].close()}async[kU](e){this[UA]&&await this[UA].destroy(e)}};qB.exports=Hg});var Vg=p((hV,rC)=>{"use strict";var{kProxy:Vr,kClose:zB,kDestroy:$B,kDispatch:WB}=j(),OU=Kt(),eC=Zt(),AC=Ot(),{InvalidArgumentError:er,RequestAbortedError:vU,SecureProxyConnectionError:VU}=Y(),_B=vt(),tC=Ct(),{channels:ZB}=at(),JU=Yg(),Ho=Symbol("proxy agent"),Dt=Symbol("proxy client"),XA=Symbol("proxy headers"),Gg=Symbol("request tls settings"),jB=Symbol("proxy tls settings"),XB=Symbol("connect endpoint function"),KB=Symbol("tunnel proxy");function PU(A){return A==="https:"?443:80}function qU(A,e){return new eC(A,e)}var WU=()=>{};function _U(A,e){return e.connections===1?new tC(A,e):new eC(A,e)}var Og=class extends AC{#e;constructor(e,{headers:t={},connect:r,factory:s}){if(!e)throw new er("Proxy URL is mandatory");super(),this[XA]=t,s?this.#e=s(e,{connect:r}):this.#e=new tC(e,{connect:r})}[WB](e,t){let r=t.onHeaders;t.onHeaders=function(i,a,c){if(i===407){typeof t.onError=="function"&&t.onError(new er("Proxy Authentication Required (407)"));return}r&&r.call(this,i,a,c)};let{origin:s,path:n="/",headers:o={}}=e;if(e.path=s+n,!("host"in o)&&!("Host"in o)){let{host:i}=new URL(s);o.host=i}return e.headers={...this[XA],...o},this.#e[WB](e,t)}[zB](){return this.#e.close()}[$B](e){return this.#e.destroy(e)}},vg=class extends AC{constructor(e){if(!e||typeof e=="object"&&!(e instanceof URL)&&!e.uri)throw new er("Proxy uri is mandatory");let{clientFactory:t=qU}=e;if(typeof t!="function")throw new er("Proxy opts.clientFactory must be a function.");let{proxyTunnel:r=!0}=e;super();let s=this.#e(e),{href:n,origin:o,port:i,protocol:a,username:c,password:g,hostname:Q}=s;if(this[Vr]={uri:n,protocol:a},this[Gg]=e.requestTls,this[jB]=e.proxyTls,this[XA]=e.headers||{},this[KB]=r,e.auth&&e.token)throw new er("opts.auth cannot be used in combination with opts.token");e.auth?this[XA]["proxy-authorization"]=`Basic ${e.auth}`:e.token?this[XA]["proxy-authorization"]=e.token:c&&g&&(this[XA]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(c)}:${decodeURIComponent(g)}`).toString("base64")}`);let u=_B({...e.proxyTls});this[XB]=_B({...e.requestTls});let l=e.factory||_U,E=(B,y)=>{let{protocol:C}=new URL(B);return this[Vr].protocol==="socks5:"||this[Vr].protocol==="socks:"?new JU(this[Vr].uri,{headers:this[XA],connect:u,factory:l,username:e.username||c,password:e.password||g,proxyTls:e.proxyTls}):!this[KB]&&C==="http:"&&this[Vr].protocol==="http:"?new Og(this[Vr].uri,{headers:this[XA],connect:u,factory:l}):l(B,y)};a==="socks5:"||a==="socks:"?this[Dt]=null:this[Dt]=t(s,{connect:u}),this[Ho]=new OU({...e,factory:E,connect:async(B,y)=>{if(!this[Dt]){y(new er("Cannot establish tunnel connection without a proxy client"));return}let C=B.host;B.port||(C+=`:${PU(B.protocol)}`);try{let f={origin:o,port:i,path:C,signal:B.signal,headers:{...this[XA],host:B.host,...B.connections==null||B.connections>0?{"proxy-connection":"keep-alive"}:{}},servername:this[jB]?.servername||Q},{socket:D,statusCode:M}=await this[Dt].connect(f);if(M!==200){D.on("error",WU).destroy(),y(new vU(`Proxy response (${M}) !== 200 when HTTP Tunneling`));return}if(ZB.proxyConnected.hasSubscribers&&ZB.proxyConnected.publish({socket:D,connectParams:f}),B.protocol!=="https:"){y(null,D);return}let F;this[Gg]?F=this[Gg].servername:F=B.servername,this[XB]({...B,servername:F,httpSocket:D},y)}catch(f){f.code==="ERR_TLS_CERT_ALTNAME_INVALID"?y(new VU(f)):y(f)}}})}dispatch(e,t){let r=ZU(e.headers);if(jU(r),r&&!("host"in r)&&!("Host"in r)){let{host:s}=new URL(e.origin);r.host=s}return this[Ho].dispatch({...e,headers:r},t)}#e(e){return typeof e=="string"?new URL(e):e instanceof URL?e:new URL(e.uri)}[zB](){let e=[this[Ho].close()];return this[Dt]&&e.push(this[Dt].close()),Promise.all(e)}[$B](){let e=[this[Ho].destroy()];return this[Dt]&&e.push(this[Dt].destroy()),Promise.all(e)}};function ZU(A){if(Array.isArray(A)){let e={};for(let t=0;t<A.length;t+=2)e[A[t]]=A[t+1];return e}return A}function jU(A){if(A&&Object.keys(A).find(t=>t.toLowerCase()==="proxy-authorization"))throw new er("Proxy-Authorization should be sent in ProxyAgent constructor")}rC.exports=vg});var aC=p((IV,iC)=>{"use strict";var XU=Ot(),{kClose:KU,kDestroy:zU,kClosed:sC,kDestroyed:nC,kDispatch:$U,kNoProxyAgent:rn,kHttpProxyAgent:mt,kHttpsProxyAgent:Ar}=j(),oC=Vg(),eM=Kt(),AM={"http:":80,"https:":443},Jg=class extends XU{#e=null;#A=null;#t=null;constructor(e={}){super(),this.#t=e;let{httpProxy:t,httpsProxy:r,noProxy:s,...n}=e;this[rn]=new eM(n);let o=t??process.env.http_proxy??process.env.HTTP_PROXY;o?this[mt]=new oC({...n,uri:o}):this[mt]=this[rn];let i=r??process.env.https_proxy??process.env.HTTPS_PROXY;i?this[Ar]=new oC({...n,uri:i}):this[Ar]=this[mt],this.#s()}[$U](e,t){let r=new URL(e.origin);return this.#r(r).dispatch(e,t)}[KU](){return Promise.all([this[rn].close(),!this[mt][sC]&&this[mt].close(),!this[Ar][sC]&&this[Ar].close()])}[zU](e){return Promise.all([this[rn].destroy(e),!this[mt][nC]&&this[mt].destroy(e),!this[Ar][nC]&&this[Ar].destroy(e)])}#r(e){let{protocol:t,host:r,port:s}=e;return r=r.replace(/:\d*$/,"").toLowerCase(),s=Number.parseInt(s,10)||AM[t]||0,this.#n(r,s)?t==="https:"?this[Ar]:this[mt]:this[rn]}#n(e,t){if(this.#a&&this.#s(),this.#A.length===0)return!0;if(this.#e==="*")return!1;for(let r=0;r<this.#A.length;r++){let s=this.#A[r];if(!(s.port&&s.port!==t)&&(e===s.hostname||e.slice(-(s.hostname.length+1))===`.${s.hostname}`))return!1}return!0}#s(){let e=this.#t.noProxy??this.#o,t=e.split(/[,\s]/),r=[];for(let s=0;s<t.length;s++){let n=t[s];if(!n)continue;let o=n.match(/^(.+):(\d+)$/);r.push({hostname:(o?o[1]:n).replace(/^\*?\./,"").toLowerCase(),port:o?Number.parseInt(o[2],10):0})}this.#e=e,this.#A=r}get#a(){return this.#t.noProxy!==void 0?!1:this.#e!==this.#o}get#o(){return process.env.no_proxy??process.env.NO_PROXY??""}};iC.exports=Jg});var Yo=p((BV,EC)=>{"use strict";var Jr=require("node:assert"),{kRetryHandlerDefaultRetry:cC}=j(),{RequestRetryError:sn}=Y(),tM=Rs(),{isDisturbed:gC,parseRangeHeader:lC,wrapRequestBody:rM}=G();function sM(A){let e=new Date(A).getTime();return isNaN(e)?0:e-Date.now()}var Pg=class A{constructor(e,{dispatch:t,handler:r}){let{retryOptions:s,...n}=e,{retry:o,maxRetries:i,maxTimeout:a,minTimeout:c,timeoutFactor:g,methods:Q,errorCodes:u,retryAfter:l,statusCodes:E,throwOnError:B}=s??{};this.error=null,this.dispatch=t,this.handler=tM.wrap(r),this.opts={...n,body:rM(e.body)},this.retryOpts={throwOnError:B??!0,retry:o??A[cC],retryAfter:l??!0,maxTimeout:a??30*1e3,minTimeout:c??500,timeoutFactor:g??2,maxRetries:i??5,methods:Q??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:E??[500,502,503,504,429],errorCodes:u??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.headersSent=!1,this.start=0,this.end=null,this.etag=null}onResponseStartWithRetry(e,t,r,s,n){if(this.retryOpts.throwOnError){this.retryOpts.statusCodes.includes(t)===!1?(this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s)):this.error=n;return}if(gC(this.opts.body)){this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s);return}function o(i){if(i){this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s),e.resume();return}this.error=n,e.resume()}e.pause(),this.retryOpts.retry(n,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},o.bind(this))}onRequestStart(e,t){this.headersSent||this.handler.onRequestStart?.(e,t)}onRequestUpgrade(e,t,r,s){this.handler.onRequestUpgrade?.(e,t,r,s)}static[cC](e,{state:t,opts:r},s){let{statusCode:n,code:o,headers:i}=e,{method:a,retryOptions:c}=r,{maxRetries:g,minTimeout:Q,maxTimeout:u,timeoutFactor:l,statusCodes:E,errorCodes:B,methods:y}=c,{counter:C}=t;if(o&&o!=="UND_ERR_REQ_RETRY"&&!B.includes(o)){s(e);return}if(Array.isArray(y)&&!y.includes(a)){s(e);return}if(n!=null&&Array.isArray(E)&&!E.includes(n)){s(e);return}if(C>g){s(e);return}let f=i?.["retry-after"];f&&(f=Number(f),f=Number.isNaN(f)?sM(i["retry-after"]):f*1e3);let D=f>0?Math.min(f,u):Math.min(Q*l**(C-1),u);setTimeout(()=>s(null),D)}onResponseStart(e,t,r,s){if(this.error=null,this.retryCount+=1,t>=300){let n=new sn("Request failed",t,{headers:r,data:{count:this.retryCount}});this.onResponseStartWithRetry(e,t,r,s,n);return}if(this.headersSent){if(t!==206&&(this.start>0||t!==200))throw new sn("server does not support the range header and the payload was partially consumed",t,{headers:r,data:{count:this.retryCount}});let n=lC(r["content-range"]);if(!n)throw new sn("Content-Range mismatch",t,{headers:r,data:{count:this.retryCount}});if(this.etag!=null&&this.etag!==r.etag)throw new sn("ETag mismatch",t,{headers:r,data:{count:this.retryCount}});let{start:o,size:i,end:a=i?i-1:null}=n;Jr(this.start===o,"content-range mismatch"),Jr(this.end==null||this.end===a,"content-range mismatch");return}if(this.end==null){if(t===206){let n=lC(r["content-range"]);if(n==null){this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s);return}let{start:o,size:i,end:a=i?i-1:null}=n;Jr(o!=null&&Number.isFinite(o),"content-range mismatch"),Jr(a!=null&&Number.isFinite(a),"invalid content-length"),this.start=o,this.end=a}if(this.end==null){let n=r["content-length"];this.end=n!=null?Number(n)-1:null}Jr(Number.isFinite(this.start)),Jr(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=!0,this.etag=r.etag!=null?r.etag:null,this.etag!=null&&this.etag[0]==="W"&&this.etag[1]==="/"&&(this.etag=null),this.headersSent=!0,this.handler.onResponseStart?.(e,t,r,s)}else throw new sn("Request failed",t,{headers:r,data:{count:this.retryCount}})}onResponseData(e,t){this.error||(this.start+=t.length,this.handler.onResponseData?.(e,t))}onResponseEnd(e,t){if(this.error&&this.retryOpts.throwOnError)throw this.error;if(!this.error)return this.retryCount=0,this.handler.onResponseEnd?.(e,t);this.retry(e)}retry(e){if(this.start!==0){let t={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(t["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...t}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(t){this.handler.onResponseError?.(e,t)}}onResponseError(e,t){if(e?.aborted||gC(this.opts.body)){this.handler.onResponseError?.(e,t);return}function r(s){if(!s){this.retry(e);return}this.handler?.onResponseError?.(e,s)}this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(t,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},r.bind(this))}};EC.exports=Pg});var QC=p((CV,uC)=>{"use strict";var nM=Ss(),oM=Yo(),qg=class extends nM{#e=null;#A=null;constructor(e,t={}){super(t),this.#e=e,this.#A=t}dispatch(e,t){let r=new oM({...e,retryOptions:this.#A},{dispatch:this.#e.dispatch.bind(this.#e),handler:t});return this.#e.dispatch(e,r)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}};uC.exports=qg});var BC=p((dV,IC)=>{"use strict";var{InvalidArgumentError:hC}=Y(),iM=Ct(),Wg=class extends iM{constructor(e,t){if(typeof e=="string"&&(e=new URL(e)),e.protocol!=="http:")throw new hC("h2c-client: Only h2c protocol is supported");let{connect:r,maxConcurrentStreams:s,pipelining:n,...o}=t??{},i=100,a=100;if(s!=null&&Number.isInteger(s)&&s>0&&(i=s),n!=null&&Number.isInteger(n)&&n>0&&(a=n),a>i)throw new hC("h2c-client: pipelining cannot be greater than maxConcurrentStreams");super(e,{...o,maxConcurrentStreams:i,pipelining:a,allowH2:!0,useH2c:!0})}};IC.exports=Wg});var RC=p((fV,wC)=>{"use strict";var pC=require("node:assert"),{Readable:aM}=require("node:stream"),{RequestAbortedError:yC,NotSupportedError:cM,InvalidArgumentError:gM,AbortError:Go}=Y(),DC=G(),{ReadableStreamFrom:lM}=G(),We=Symbol("kConsume"),Oo=Symbol("kReading"),tr=Symbol("kBody"),CC=Symbol("kAbort"),mC=Symbol("kContentType"),_g=Symbol("kContentLength"),Zg=Symbol("kUsed"),vo=Symbol("kBytesRead"),EM=()=>{},jg=class extends aM{constructor({resume:e,abort:t,contentType:r="",contentLength:s,highWaterMark:n=64*1024}){super({autoDestroy:!0,read:e,highWaterMark:n}),this._readableState.dataEmitted=!1,this[CC]=t,this[We]=null,this[vo]=0,this[tr]=null,this[Zg]=!1,this[mC]=r,this[_g]=Number.isFinite(s)?s:null,this[Oo]=!1}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new yC),e&&this[CC](),this[Zg]?t(e):setImmediate(t,e)}on(e,t){return(e==="data"||e==="readable")&&(this[Oo]=!0,this[Zg]=!0),super.on(e,t)}addListener(e,t){return this.on(e,t)}off(e,t){let r=super.off(e,t);return(e==="data"||e==="readable")&&(this[Oo]=this.listenerCount("data")>0||this.listenerCount("readable")>0),r}removeListener(e,t){return this.off(e,t)}push(e){return e&&(this[vo]+=e.length,this[We])?(Kg(this[We],e),this[Oo]?super.push(e):!0):super.push(e)}text(){return nn(this,"text")}json(){return nn(this,"json")}blob(){return nn(this,"blob")}bytes(){return nn(this,"bytes")}arrayBuffer(){return nn(this,"arrayBuffer")}async formData(){throw new cM}get bodyUsed(){return DC.isDisturbed(this)}get body(){return this[tr]||(this[tr]=lM(this),this[We]&&(this[tr].getReader(),pC(this[tr].locked))),this[tr]}dump(e){let t=e?.signal;if(t!=null&&(typeof t!="object"||!("aborted"in t)))return Promise.reject(new gM("signal must be an AbortSignal"));let r=e?.limit&&Number.isFinite(e.limit)?e.limit:128*1024;return t?.aborted?Promise.reject(t.reason??new Go):this._readableState.closeEmitted?Promise.resolve(null):new Promise((s,n)=>{if((this[_g]&&this[_g]>r||this[vo]>r)&&this.destroy(new Go),t){let o=()=>{this.destroy(t.reason??new Go)};t.addEventListener("abort",o),this.on("close",function(){t.removeEventListener("abort",o),t.aborted?n(t.reason??new Go):s(null)})}else this.on("close",s);this.on("error",EM).on("data",()=>{this[vo]>r&&this.destroy()}).resume()})}setEncoding(e){return Buffer.isEncoding(e)&&(this._readableState.encoding=e),this}};function uM(A){return A[tr]?.locked===!0||A[We]!==null}function QM(A){return DC.isDisturbed(A)||uM(A)}function nn(A,e){return pC(!A[We]),new Promise((t,r)=>{if(QM(A)){let s=A._readableState;s.destroyed&&s.closeEmitted===!1?A.on("error",r).on("close",()=>{r(new TypeError("unusable"))}):r(s.errored??new TypeError("unusable"))}else queueMicrotask(()=>{A[We]={type:e,stream:A,resolve:t,reject:r,length:0,body:[]},A.on("error",function(s){zg(this[We],s)}).on("close",function(){this[We].body!==null&&zg(this[We],new yC)}),hM(A[We])})})}function hM(A){if(A.body===null)return;let{_readableState:e}=A.stream;if(e.bufferIndex){let t=e.bufferIndex,r=e.buffer.length;for(let s=t;s<r;s++)Kg(A,e.buffer[s])}else for(let t of e.buffer)Kg(A,t);for(e.endEmitted?fC(this[We],this._readableState.encoding):A.stream.on("end",function(){fC(this[We],this._readableState.encoding)}),A.stream.resume();A.stream.read()!=null;);}function Xg(A,e,t){if(A.length===0||e===0)return"";let r=A.length===1?A[0]:Buffer.concat(A,e),s=r.length,n=s>2&&r[0]===239&&r[1]===187&&r[2]===191?3:0;return!t||t==="utf8"||t==="utf-8"?r.utf8Slice(n,s):r.subarray(n,s).toString(t)}function dC(A,e){if(A.length===0||e===0)return new Uint8Array(0);if(A.length===1)return new Uint8Array(A[0]);let t=new Uint8Array(Buffer.allocUnsafeSlow(e).buffer),r=0;for(let s=0;s<A.length;++s){let n=A[s];t.set(n,r),r+=n.length}return t}function fC(A,e){let{type:t,body:r,resolve:s,stream:n,length:o}=A;try{t==="text"?s(Xg(r,o,e)):t==="json"?s(JSON.parse(Xg(r,o,e))):t==="arrayBuffer"?s(dC(r,o).buffer):t==="blob"?s(new Blob(r,{type:n[mC]})):t==="bytes"&&s(dC(r,o)),zg(A)}catch(i){n.destroy(i)}}function Kg(A,e){A.length+=e.length,A.body.push(e)}function zg(A,e){A.body!==null&&(e?A.reject(e):A.resolve(),A.type=null,A.stream=null,A.resolve=null,A.reject=null,A.length=0,A.body=null)}wC.exports={Readable:jg,chunksDecode:Xg}});var FC=p((pV,$g)=>{"use strict";var IM=require("node:assert"),{AsyncResource:BM}=require("node:async_hooks"),{Readable:CM}=RC(),{InvalidArgumentError:Pr,RequestAbortedError:SC}=Y(),gA=G();function on(){}var Vo=class extends BM{constructor(e,t){if(!e||typeof e!="object")throw new Pr("invalid opts");let{signal:r,method:s,opaque:n,body:o,onInfo:i,responseHeaders:a,highWaterMark:c}=e;try{if(typeof t!="function")throw new Pr("invalid callback");if(c&&(typeof c!="number"||c<0))throw new Pr("invalid highWaterMark");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new Pr("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new Pr("invalid method");if(i&&typeof i!="function")throw new Pr("invalid onInfo callback");super("UNDICI_REQUEST")}catch(g){throw gA.isStream(o)&&gA.destroy(o.on("error",on),g),g}this.method=s,this.responseHeaders=a||null,this.opaque=n||null,this.callback=t,this.res=null,this.abort=null,this.body=o,this.trailers={},this.context=null,this.onInfo=i||null,this.highWaterMark=c,this.reason=null,this.removeAbortListener=null,r?.aborted?this.reason=r.reason??new SC:r&&(this.removeAbortListener=gA.addAbortListener(r,()=>{this.reason=r.reason??new SC,this.res?gA.destroy(this.res.on("error",on),this.reason):this.abort&&this.abort(this.reason)}))}onConnect(e,t){if(this.reason){e(this.reason);return}IM(this.callback),this.abort=e,this.context=t}onHeaders(e,t,r,s){let{callback:n,opaque:o,abort:i,context:a,responseHeaders:c,highWaterMark:g}=this,Q=c==="raw"?gA.parseRawHeaders(t):gA.parseHeaders(t);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:Q});return}let u=c==="raw"?gA.parseHeaders(t):Q,l=u["content-type"],E=u["content-length"],B=new CM({resume:r,abort:i,contentType:l,contentLength:this.method!=="HEAD"&&E?Number(E):null,highWaterMark:g});if(this.removeAbortListener&&(B.on("close",this.removeAbortListener),this.removeAbortListener=null),this.callback=null,this.res=B,n!==null)try{this.runInAsyncScope(n,null,null,{statusCode:e,statusText:s,headers:Q,trailers:this.trailers,opaque:o,body:B,context:a})}catch(y){this.res=null,gA.destroy(B.on("error",on),y),queueMicrotask(()=>{throw y})}}onData(e){return this.res.push(e)}onComplete(e){gA.parseHeaders(e,this.trailers),this.res.push(null)}onError(e){let{res:t,callback:r,body:s,opaque:n}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:n})})),t&&(this.res=null,queueMicrotask(()=>{gA.destroy(t.on("error",on),e)})),s&&(this.body=null,gA.isStream(s)&&(s.on("error",on),gA.destroy(s,e))),this.removeAbortListener&&(this.removeAbortListener(),this.removeAbortListener=null)}};function NC(A,e){if(e===void 0)return new Promise((t,r)=>{NC.call(this,A,(s,n)=>s?r(s):t(n))});try{let t=new Vo(A,e);this.dispatch(A,t)}catch(t){if(typeof e!="function")throw t;let r=A?.opaque;queueMicrotask(()=>e(t,{opaque:r}))}}$g.exports=NC;$g.exports.RequestHandler=Vo});var an=p((yV,MC)=>{"use strict";var{addAbortListener:dM}=G(),{RequestAbortedError:fM}=Y(),qr=Symbol("kListener"),MA=Symbol("kSignal");function bC(A){A.abort?A.abort(A[MA]?.reason):A.reason=A[MA]?.reason??new fM,UC(A)}function pM(A,e){if(A.reason=null,A[MA]=null,A[qr]=null,!!e){if(e.aborted){bC(A);return}A[MA]=e,A[qr]=()=>{bC(A)},dM(A[MA],A[qr])}}function UC(A){A[MA]&&("removeEventListener"in A[MA]?A[MA].removeEventListener("abort",A[qr]):A[MA].removeListener("abort",A[qr]),A[MA]=null,A[qr]=null)}MC.exports={addSignal:pM,removeSignal:UC}});var xC=p((DV,LC)=>{"use strict";var yM=require("node:assert"),{finished:DM}=require("node:stream"),{AsyncResource:mM}=require("node:async_hooks"),{InvalidArgumentError:Wr,InvalidReturnValueError:wM}=Y(),KA=G(),{addSignal:RM,removeSignal:TC}=an();function SM(){}var el=class extends mM{constructor(e,t,r){if(!e||typeof e!="object")throw new Wr("invalid opts");let{signal:s,method:n,opaque:o,body:i,onInfo:a,responseHeaders:c}=e;try{if(typeof r!="function")throw new Wr("invalid callback");if(typeof t!="function")throw new Wr("invalid factory");if(s&&typeof s.on!="function"&&typeof s.addEventListener!="function")throw new Wr("signal must be an EventEmitter or EventTarget");if(n==="CONNECT")throw new Wr("invalid method");if(a&&typeof a!="function")throw new Wr("invalid onInfo callback");super("UNDICI_STREAM")}catch(g){throw KA.isStream(i)&&KA.destroy(i.on("error",SM),g),g}this.responseHeaders=c||null,this.opaque=o||null,this.factory=t,this.callback=r,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=i,this.onInfo=a||null,KA.isStream(i)&&i.on("error",g=>{this.onError(g)}),RM(this,s)}onConnect(e,t){if(this.reason){e(this.reason);return}yM(this.callback),this.abort=e,this.context=t}onHeaders(e,t,r,s){let{factory:n,opaque:o,context:i,responseHeaders:a}=this,c=a==="raw"?KA.parseRawHeaders(t):KA.parseHeaders(t);if(e<200){this.onInfo&&this.onInfo({statusCode:e,headers:c});return}if(this.factory=null,n===null)return;let g=this.runInAsyncScope(n,null,{statusCode:e,headers:c,opaque:o,context:i});if(!g||typeof g.write!="function"||typeof g.end!="function"||typeof g.on!="function")throw new wM("expected Writable");return DM(g,{readable:!1},u=>{let{callback:l,res:E,opaque:B,trailers:y,abort:C}=this;this.res=null,(u||!E?.readable)&&KA.destroy(E,u),this.callback=null,this.runInAsyncScope(l,null,u||null,{opaque:B,trailers:y}),u&&C()}),g.on("drain",r),this.res=g,(g.writableNeedDrain!==void 0?g.writableNeedDrain:g._writableState?.needDrain)!==!0}onData(e){let{res:t}=this;return t?t.write(e):!0}onComplete(e){let{res:t}=this;TC(this),t&&(this.trailers=KA.parseHeaders(e),t.end())}onError(e){let{res:t,callback:r,opaque:s,body:n}=this;TC(this),this.factory=null,t?(this.res=null,KA.destroy(t,e)):r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,e,{opaque:s})})),n&&(this.body=null,KA.destroy(n,e))}};function kC(A,e,t){if(t===void 0)return new Promise((r,s)=>{kC.call(this,A,e,(n,o)=>n?s(n):r(o))});try{let r=new el(A,e,t);this.dispatch(A,r)}catch(r){if(typeof t!="function")throw r;let s=A?.opaque;queueMicrotask(()=>t(r,{opaque:s}))}}LC.exports=kC});var OC=p((mV,GC)=>{"use strict";var{Readable:YC,Duplex:NM,PassThrough:FM}=require("node:stream"),bM=require("node:assert"),{AsyncResource:UM}=require("node:async_hooks"),{InvalidArgumentError:cn,InvalidReturnValueError:MM,RequestAbortedError:Al}=Y(),TA=G(),{addSignal:TM,removeSignal:kM}=an();function HC(){}var _r=Symbol("resume"),tl=class extends YC{constructor(){super({autoDestroy:!0}),this[_r]=null}_read(){let{[_r]:e}=this;e&&(this[_r]=null,e())}_destroy(e,t){this._read(),t(e)}},rl=class extends YC{constructor(e){super({autoDestroy:!0}),this[_r]=e}_read(){this[_r]()}_destroy(e,t){!e&&!this._readableState.endEmitted&&(e=new Al),t(e)}},sl=class extends UM{constructor(e,t){if(!e||typeof e!="object")throw new cn("invalid opts");if(typeof t!="function")throw new cn("invalid handler");let{signal:r,method:s,opaque:n,onInfo:o,responseHeaders:i}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new cn("signal must be an EventEmitter or EventTarget");if(s==="CONNECT")throw new cn("invalid method");if(o&&typeof o!="function")throw new cn("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=n||null,this.responseHeaders=i||null,this.handler=t,this.abort=null,this.context=null,this.onInfo=o||null,this.req=new tl().on("error",HC),this.ret=new NM({readableObjectMode:e.objectMode,autoDestroy:!0,read:()=>{let{body:a}=this;a?.resume&&a.resume()},write:(a,c,g)=>{let{req:Q}=this;Q.push(a,c)||Q._readableState.destroyed?g():Q[_r]=g},destroy:(a,c)=>{let{body:g,req:Q,res:u,ret:l,abort:E}=this;!a&&!l._readableState.endEmitted&&(a=new Al),E&&a&&E(),TA.destroy(g,a),TA.destroy(Q,a),TA.destroy(u,a),kM(this),c(a)}}).on("prefinish",()=>{let{req:a}=this;a.push(null)}),this.res=null,TM(this,r)}onConnect(e,t){let{res:r}=this;if(this.reason){e(this.reason);return}bM(!r,"pipeline cannot be retried"),this.abort=e,this.context=t}onHeaders(e,t,r){let{opaque:s,handler:n,context:o}=this;if(e<200){if(this.onInfo){let a=this.responseHeaders==="raw"?TA.parseRawHeaders(t):TA.parseHeaders(t);this.onInfo({statusCode:e,headers:a})}return}this.res=new rl(r);let i;try{this.handler=null;let a=this.responseHeaders==="raw"?TA.parseRawHeaders(t):TA.parseHeaders(t);i=this.runInAsyncScope(n,null,{statusCode:e,headers:a,opaque:s,body:this.res,context:o})}catch(a){throw this.res.on("error",HC),a}if(!i||typeof i.on!="function")throw new MM("expected Readable");i.on("data",a=>{let{ret:c,body:g}=this;!c.push(a)&&g.pause&&g.pause()}).on("error",a=>{let{ret:c}=this;TA.destroy(c,a)}).on("end",()=>{let{ret:a}=this;a.push(null)}).on("close",()=>{let{ret:a}=this;a._readableState.ended||TA.destroy(a,new Al)}),this.body=i}onData(e){let{res:t}=this;return t.push(e)}onComplete(e){let{res:t}=this;t.push(null)}onError(e){let{ret:t}=this;this.handler=null,TA.destroy(t,e)}};function LM(A,e){try{let t=new sl(A,e);return this.dispatch({...A,body:t.req},t),t.ret}catch(t){return new FM().destroy(t)}}GC.exports=LM});var WC=p((wV,qC)=>{"use strict";var{InvalidArgumentError:nl,SocketError:xM}=Y(),{AsyncResource:HM}=require("node:async_hooks"),vC=require("node:assert"),VC=G(),{kHTTP2Stream:YM}=j(),{addSignal:GM,removeSignal:JC}=an(),ol=class extends HM{constructor(e,t){if(!e||typeof e!="object")throw new nl("invalid opts");if(typeof t!="function")throw new nl("invalid callback");let{signal:r,opaque:s,responseHeaders:n}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new nl("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=n||null,this.opaque=s||null,this.callback=t,this.abort=null,this.context=null,GM(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}vC(this.callback),this.abort=e,this.context=null}onHeaders(){throw new xM("bad upgrade",null)}onUpgrade(e,t,r){vC(r[YM]===!0?e===200:e===101);let{callback:s,opaque:n,context:o}=this;JC(this),this.callback=null;let i=this.responseHeaders==="raw"?VC.parseRawHeaders(t):VC.parseHeaders(t);this.runInAsyncScope(s,null,null,{headers:i,socket:r,opaque:n,context:o})}onError(e){let{callback:t,opaque:r}=this;JC(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}};function PC(A,e){if(e===void 0)return new Promise((t,r)=>{PC.call(this,A,(s,n)=>s?r(s):t(n))});try{let t=new ol(A,e),r={...A,method:A.method||"GET",upgrade:A.protocol||"Websocket"};this.dispatch(r,t)}catch(t){if(typeof e!="function")throw t;let r=A?.opaque;queueMicrotask(()=>e(t,{opaque:r}))}}qC.exports=PC});var KC=p((RV,XC)=>{"use strict";var OM=require("node:assert"),{AsyncResource:vM}=require("node:async_hooks"),{InvalidArgumentError:il,SocketError:VM}=Y(),_C=G(),{addSignal:JM,removeSignal:ZC}=an(),al=class extends vM{constructor(e,t){if(!e||typeof e!="object")throw new il("invalid opts");if(typeof t!="function")throw new il("invalid callback");let{signal:r,opaque:s,responseHeaders:n}=e;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new il("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=s||null,this.responseHeaders=n||null,this.callback=t,this.abort=null,JM(this,r)}onConnect(e,t){if(this.reason){e(this.reason);return}OM(this.callback),this.abort=e,this.context=t}onHeaders(){throw new VM("bad connect",null)}onUpgrade(e,t,r){let{callback:s,opaque:n,context:o}=this;ZC(this),this.callback=null;let i=t;i!=null&&(i=this.responseHeaders==="raw"?_C.parseRawHeaders(t):_C.parseHeaders(t)),this.runInAsyncScope(s,null,null,{statusCode:e,headers:i,socket:r,opaque:n,context:o})}onError(e){let{callback:t,opaque:r}=this;ZC(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,e,{opaque:r})}))}};function jC(A,e){if(e===void 0)return new Promise((t,r)=>{jC.call(this,A,(s,n)=>s?r(s):t(n))});try{let t=new al(A,e),r={...A,method:"CONNECT"};this.dispatch(r,t)}catch(t){if(typeof e!="function")throw t;let r=A?.opaque;queueMicrotask(()=>e(t,{opaque:r}))}}XC.exports=jC});var zC=p((SV,Zr)=>{"use strict";Zr.exports.request=FC();Zr.exports.stream=xC();Zr.exports.pipeline=OC();Zr.exports.upgrade=WC();Zr.exports.connect=KC()});var gl=p((NV,ed)=>{"use strict";var{UndiciError:PM}=Y(),$C=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"),cl=class extends PM{constructor(e){super(e),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[$C]===!0}get[$C](){return!0}};ed.exports={MockNotMatchedError:cl}});var rr=p((FV,Ad)=>{"use strict";Ad.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"),kOriginalDispatch:Symbol("original dispatch"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected"),kIgnoreTrailingSlash:Symbol("ignore trailing slash"),kMockAgentMockCallHistoryInstance:Symbol("mock agent mock call history name"),kMockAgentRegisterCallHistory:Symbol("mock agent register mock call history"),kMockAgentAddCallHistoryLog:Symbol("mock agent add call history log"),kMockAgentIsCallHistoryEnabled:Symbol("mock agent is call history enabled"),kMockAgentAcceptsNonStandardSearchParameters:Symbol("mock agent accepts non standard search parameters"),kMockCallHistoryAddLog:Symbol("mock call history add log"),kTotalDispatchCount:Symbol("total dispatch count")}});var gn=p((bV,Ed)=>{"use strict";var{MockNotMatchedError:jr}=gl(),{kDispatches:sr,kMockAgent:qM,kOriginalDispatch:WM,kOrigin:_M,kGetNetConnect:ZM,kTotalDispatchCount:ul}=rr(),{serializePathWithQuery:jM}=G(),{STATUS_CODES:XM}=require("node:http"),{types:{isPromise:KM}}=require("node:util"),{InvalidArgumentError:ll}=Y();function kA(A,e){return typeof A=="string"?A===e:A instanceof RegExp?A.test(e):typeof A=="function"?A(e)===!0:!1}function rd(A){return Object.fromEntries(Object.entries(A).map(([e,t])=>[e.toLocaleLowerCase(),t]))}function sd(A,e){if(Array.isArray(A)){for(let t=0;t<A.length;t+=2)if(A[t].toLocaleLowerCase()===e.toLocaleLowerCase())return A[t+1];return}else return typeof A.get=="function"?A.get(e):rd(A)[e.toLocaleLowerCase()]}function Il(A){let e=A.slice(),t=[];for(let r=0;r<e.length;r+=2)t.push([e[r],e[r+1]]);return Object.fromEntries(t)}function nd(A,e){if(typeof A.headers=="function")return Array.isArray(e)&&(e=Il(e)),A.headers(e?rd(e):{});if(typeof A.headers>"u")return!0;if(typeof e!="object"||typeof A.headers!="object")return!1;for(let[t,r]of Object.entries(A.headers)){let s=sd(e,t);if(!kA(r,s))return!1}return!0}function zM(A){if(typeof A!="string")return A;let e=new URLSearchParams(A),t=new URLSearchParams;for(let[r,s]of e.entries()){if(r=r.replace("[]",""),/^(['"]).*\1$/.test(s)){t.append(r,s);continue}if(s.includes(",")){let o=s.split(",");for(let i of o)t.append(r,i);continue}t.append(r,s)}return t}function El(A){if(typeof A!="string")return A;let e=A.split("?",3);if(e.length!==2)return A;let t=new URLSearchParams(e.pop());return t.sort(),[...e,t.toString()].join("?")}function $M(A,{path:e,method:t,body:r,headers:s}){let n=kA(A.path,e),o=kA(A.method,t),i=typeof A.body<"u"?kA(A.body,r):!0,a=nd(A,s);return n&&o&&i&&a}function od(A){return Buffer.isBuffer(A)||A instanceof Uint8Array||A instanceof ArrayBuffer?A:typeof A=="object"?JSON.stringify(A):A?A.toString():""}function id(A,e){let t=e.query?jM(e.path,e.query):e.path,r=typeof t=="string"?El(t):t,s=td(r),n=A.filter(({consumed:o})=>!o).filter(({path:o,ignoreTrailingSlash:i})=>i?kA(td(El(o)),s):kA(El(o),r));if(n.length===0)throw new jr(`Mock dispatch not matched for path '${r}'`);if(n=n.filter(({method:o})=>kA(o,e.method)),n.length===0)throw new jr(`Mock dispatch not matched for method '${e.method}' on path '${r}'`);if(n=n.filter(({body:o})=>typeof o<"u"?kA(o,e.body):!0),n.length===0)throw new jr(`Mock dispatch not matched for body '${e.body}' on path '${r}'`);if(n=n.filter(o=>nd(o,e.headers)),n.length===0){let o=typeof e.headers=="object"?JSON.stringify(e.headers):e.headers;throw new jr(`Mock dispatch not matched for headers '${o}' on path '${r}'`)}return n[0]}function eT(A,e,t,r){let s={timesInvoked:0,times:1,persist:!1,consumed:!1,...r},n=typeof t=="function"?{callback:t}:{...t},o={...s,...e,pending:!0,data:{error:null,...n}};return A.push(o),A[ul]=(A[ul]||0)+1,o}function Ql(A,e){let t=A.findIndex(r=>r.consumed?$M(r,e):!1);t!==-1&&A.splice(t,1)}function td(A){for(;A.endsWith("/");)A=A.slice(0,-1);return A.length===0&&(A="/"),A}function ad(A){let{path:e,method:t,body:r,headers:s,query:n}=A;return{path:e,method:t,body:r,headers:s,query:n}}function hl(A){let e=Object.keys(A),t=[];for(let r=0;r<e.length;++r){let s=e[r],n=A[s],o=Buffer.from(`${s}`);if(Array.isArray(n))for(let i=0;i<n.length;++i)t.push(o,Buffer.from(`${n[i]}`));else t.push(o,Buffer.from(`${n}`))}return t}function cd(A){return XM[A]||"unknown"}async function AT(A){let e=[];for await(let t of A)e.push(t);return Buffer.concat(e).toString("utf8")}function gd(A,e){let t=ad(A),r=id(this[sr],t);r.timesInvoked++,r.data.callback&&(r.data={...r.data,...r.data.callback(A)});let{data:{statusCode:s,data:n,headers:o,trailers:i,error:a},delay:c,persist:g}=r,{timesInvoked:Q,times:u}=r;if(r.consumed=!g&&Q>=u,r.pending=Q<u,a!==null)return Ql(this[sr],t),e.onError(a),!0;let l=!1,E=null;function B(f){l||(l=!0,E!==null&&(clearTimeout(E),E=null),e.onError(f))}e.onConnect?.(B,null),typeof c=="number"&&c>0?E=setTimeout(()=>{E=null,y(this[sr])},c):y(this[sr]);function y(f,D=n){if(l)return;let M=Array.isArray(A.headers)?Il(A.headers):A.headers,F=typeof D=="function"?D({...A,headers:M}):D;if(KM(F))return F.then(k=>y(f,k));if(l)return;let L=od(F),w=hl(o),b=hl(i);e.onHeaders?.(s,w,C,cd(s)),e.onData?.(Buffer.from(L)),e.onComplete?.(b),Ql(f,t)}function C(){}return!0}function tT(){let A=this[qM],e=this[_M],t=this[WM];return function(s,n){if(A.isMockActive)try{gd.call(this,s,n)}catch(o){if(o.code==="UND_MOCK_ERR_MOCK_NOT_MATCHED"){let i=A[ZM](),a=this[sr][ul]||this[sr].length,g=`, ${this[sr].filter(({consumed:Q})=>!Q).length} interceptor(s) remaining out of ${a} defined`;if(i===!1)throw new jr(`${o.message}: subsequent request to origin ${e} was not allowed (net.connect disabled)${g}`);if(ld(i,e))t.call(this,s,n);else throw new jr(`${o.message}: subsequent request to origin ${e} was not allowed (net.connect is not enabled for this origin)${g}`)}else throw o}else t.call(this,s,n)}}function ld(A,e){let t=new URL(e);return A===!0?!0:!!(Array.isArray(A)&&A.some(r=>kA(r,t.host)))}function rT(A){return typeof A!="string"&&!(A instanceof URL)?A:A instanceof URL?A.origin:A.toLowerCase()}function sT(A){let{agent:e,...t}=A;if("enableCallHistory"in t&&typeof t.enableCallHistory!="boolean")throw new ll("options.enableCallHistory must to be a boolean");if("acceptNonStandardSearchParameters"in t&&typeof t.acceptNonStandardSearchParameters!="boolean")throw new ll("options.acceptNonStandardSearchParameters must to be a boolean");if("ignoreTrailingSlash"in t&&typeof t.ignoreTrailingSlash!="boolean")throw new ll("options.ignoreTrailingSlash must to be a boolean");return t}Ed.exports={getResponseData:od,getMockDispatch:id,addMockDispatch:eT,deleteMockDispatch:Ql,buildKey:ad,generateKeyValues:hl,matchValue:kA,getResponse:AT,getStatusText:cd,mockDispatch:gd,buildMockDispatch:tT,checkNetConnect:ld,buildAndValidateMockOptions:sT,getHeaderByName:sd,buildHeadersFromArray:Il,normalizeSearchParams:zM,normalizeOrigin:rT}});var Dl=p((UV,yl)=>{"use strict";var{getResponseData:nT,buildKey:oT,addMockDispatch:Bl}=gn(),{kDispatches:Jo,kDispatchKey:Po,kDefaultHeaders:Cl,kDefaultTrailers:dl,kContentLength:fl,kMockDispatch:qo,kIgnoreTrailingSlash:Wo}=rr(),{InvalidArgumentError:LA}=Y(),{serializePathWithQuery:iT}=G(),Xr=class{constructor(e){this[qo]=e}delay(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new LA("waitInMs must be a valid integer > 0");return this[qo].delay=e,this}persist(){return this[qo].persist=!0,this}times(e){if(typeof e!="number"||!Number.isInteger(e)||e<=0)throw new LA("repeatTimes must be a valid integer > 0");return this[qo].times=e,this}},pl=class{constructor(e,t){if(typeof e!="object")throw new LA("opts must be an object");if(typeof e.path>"u")throw new LA("opts.path must be defined");if(typeof e.method>"u"&&(e.method="GET"),typeof e.path=="string")if(e.query)e.path=iT(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[Po]=oT(e),this[Jo]=t,this[Wo]=e.ignoreTrailingSlash??!1,this[Cl]={},this[dl]={},this[fl]=!1}createMockScopeDispatchData({statusCode:e,data:t,responseOptions:r}){let s=nT(t),n=this[fl]?{"content-length":s.length}:{},o={...this[Cl],...n,...r.headers},i={...this[dl],...r.trailers};return{statusCode:e,data:t,headers:o,trailers:i}}validateReplyParameters(e){if(typeof e.statusCode>"u")throw new LA("statusCode must be defined");if(typeof e.responseOptions!="object"||e.responseOptions===null)throw new LA("responseOptions must be an object")}reply(e){if(typeof e=="function"){let n=i=>{let a=e(i);if(typeof a!="object"||a===null)throw new LA("reply options callback must return an object");let c={data:"",responseOptions:{},...a};return this.validateReplyParameters(c),{...this.createMockScopeDispatchData(c)}},o=Bl(this[Jo],this[Po],n,{ignoreTrailingSlash:this[Wo]});return new Xr(o)}let t={statusCode:e,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(t);let r=this.createMockScopeDispatchData(t),s=Bl(this[Jo],this[Po],r,{ignoreTrailingSlash:this[Wo]});return new Xr(s)}replyWithError(e){if(typeof e>"u")throw new LA("error must be defined");let t=Bl(this[Jo],this[Po],{error:e},{ignoreTrailingSlash:this[Wo]});return new Xr(t)}defaultReplyHeaders(e){if(typeof e>"u")throw new LA("headers must be defined");return this[Cl]=e,this}defaultReplyTrailers(e){if(typeof e>"u")throw new LA("trailers must be defined");return this[dl]=e,this}replyContentLength(){return this[fl]=!0,this}};yl.exports.MockInterceptor=pl;yl.exports.MockScope=Xr});var Sl=p((MV,dd)=>{"use strict";var{promisify:aT}=require("node:util"),cT=Ct(),{buildMockDispatch:gT}=gn(),{kDispatches:ml,kMockAgent:ud,kClose:Qd,kOriginalClose:hd,kOrigin:Id,kOriginalDispatch:lT,kConnected:wl,kIgnoreTrailingSlash:Bd}=rr(),{MockInterceptor:ET}=Dl(),Cd=j(),{InvalidArgumentError:uT}=Y(),Rl=class extends cT{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!="function")throw new uT("Argument opts.agent must implement Agent");super(e,t),this[ud]=t.agent,this[Id]=e,this[Bd]=t.ignoreTrailingSlash??!1,this[ml]=[],this[wl]=1,this[lT]=this.dispatch,this[hd]=this.close.bind(this),this.dispatch=gT.call(this),this.close=this[Qd]}get[Cd.kConnected](){return this[wl]}intercept(e){return new ET(e&&{ignoreTrailingSlash:this[Bd],...e},this[ml])}cleanMocks(){this[ml]=[]}async[Qd](){await aT(this[hd])(),this[wl]=0,this[ud][Cd.kClients].delete(this[Id])}};dd.exports=Rl});var bl=p((TV,Fl)=>{"use strict";var{kMockCallHistoryAddLog:QT}=rr(),{InvalidArgumentError:St}=Y();function wt(A,e,t,r){switch(e.operator){case"OR":return r.push(...t(A)),r;case"AND":return t.call({logs:r},A);default:throw new St("options.operator must to be a case insensitive string equal to 'OR' or 'AND'")}}function hT(A={}){let e={};if("operator"in A){if(typeof A.operator!="string"||A.operator.toUpperCase()!=="OR"&&A.operator.toUpperCase()!=="AND")throw new St("options.operator must to be a case insensitive string equal to 'OR' or 'AND'");return{...e,operator:A.operator.toUpperCase()}}return e}function Rt(A){return e=>{if(typeof e=="string"||e==null)return this.logs.filter(t=>t[A]===e);if(e instanceof RegExp)return this.logs.filter(t=>e.test(t[A]));throw new St(`${A} parameter should be one of string, regexp, undefined or null`)}}function IT(A){try{let e=new URL(A.path,A.origin);return e.search.length!==0||(e.search=new URLSearchParams(A.query).toString()),e}catch(e){throw new St("An error occurred when computing MockCallHistoryLog.url",{cause:e})}}var _o=class{constructor(e={}){this.body=e.body,this.headers=e.headers,this.method=e.method;let t=IT(e);this.fullUrl=t.toString(),this.origin=t.origin,this.path=t.pathname,this.searchParams=Object.fromEntries(t.searchParams),this.protocol=t.protocol,this.host=t.host,this.port=t.port,this.hash=t.hash}toMap(){return new Map([["protocol",this.protocol],["host",this.host],["port",this.port],["origin",this.origin],["path",this.path],["hash",this.hash],["searchParams",this.searchParams],["fullUrl",this.fullUrl],["method",this.method],["body",this.body],["headers",this.headers]])}toString(){let e={betweenKeyValueSeparator:"->",betweenPairSeparator:"|"},t="";return this.toMap().forEach((r,s)=>{(typeof r=="string"||r===void 0||r===null)&&(t=`${t}${s}${e.betweenKeyValueSeparator}${r}${e.betweenPairSeparator}`),(typeof r=="object"&&r!==null||Array.isArray(r))&&(t=`${t}${s}${e.betweenKeyValueSeparator}${JSON.stringify(r)}${e.betweenPairSeparator}`)}),t.slice(0,-1)}},Nl=class{logs=[];calls(){return this.logs}firstCall(){return this.logs.at(0)}lastCall(){return this.logs.at(-1)}nthCall(e){if(typeof e!="number")throw new St("nthCall must be called with a number");if(!Number.isInteger(e))throw new St("nthCall must be called with an integer");if(Math.sign(e)!==1)throw new St("nthCall must be called with a positive value. use firstCall or lastCall instead");return this.logs.at(e-1)}filterCalls(e,t){if(this.logs.length===0)return this.logs;if(typeof e=="function")return this.logs.filter(e);if(e instanceof RegExp)return this.logs.filter(r=>e.test(r.toString()));if(typeof e=="object"&&e!==null){if(Object.keys(e).length===0)return this.logs;let r={operator:"OR",...hT(t)},s=[];return"protocol"in e&&(s=wt(e.protocol,r,this.filterCallsByProtocol,s)),"host"in e&&(s=wt(e.host,r,this.filterCallsByHost,s)),"port"in e&&(s=wt(e.port,r,this.filterCallsByPort,s)),"origin"in e&&(s=wt(e.origin,r,this.filterCallsByOrigin,s)),"path"in e&&(s=wt(e.path,r,this.filterCallsByPath,s)),"hash"in e&&(s=wt(e.hash,r,this.filterCallsByHash,s)),"fullUrl"in e&&(s=wt(e.fullUrl,r,this.filterCallsByFullUrl,s)),"method"in e&&(s=wt(e.method,r,this.filterCallsByMethod,s)),[...new Set(s)]}throw new St("criteria parameter should be one of function, regexp, or object")}filterCallsByProtocol=Rt.call(this,"protocol");filterCallsByHost=Rt.call(this,"host");filterCallsByPort=Rt.call(this,"port");filterCallsByOrigin=Rt.call(this,"origin");filterCallsByPath=Rt.call(this,"path");filterCallsByHash=Rt.call(this,"hash");filterCallsByFullUrl=Rt.call(this,"fullUrl");filterCallsByMethod=Rt.call(this,"method");clear(){this.logs=[]}[QT](e){let t=new _o(e);return this.logs.push(t),t}*[Symbol.iterator](){for(let e of this.calls())yield e}};Fl.exports.MockCallHistory=Nl;Fl.exports.MockCallHistoryLog=_o});var kl=p((kV,Rd)=>{"use strict";var{promisify:BT}=require("node:util"),CT=Zt(),{buildMockDispatch:dT}=gn(),{kDispatches:Ul,kMockAgent:fd,kClose:pd,kOriginalClose:yd,kOrigin:Dd,kOriginalDispatch:fT,kConnected:Ml,kIgnoreTrailingSlash:md}=rr(),{MockInterceptor:pT}=Dl(),wd=j(),{InvalidArgumentError:yT}=Y(),Tl=class extends CT{constructor(e,t){if(!t||!t.agent||typeof t.agent.dispatch!="function")throw new yT("Argument opts.agent must implement Agent");super(e,t),this[fd]=t.agent,this[Dd]=e,this[md]=t.ignoreTrailingSlash??!1,this[Ul]=[],this[Ml]=1,this[fT]=this.dispatch,this[yd]=this.close.bind(this),this.dispatch=dT.call(this),this.close=this[pd]}get[wd.kConnected](){return this[Ml]}intercept(e){return new pT(e&&{ignoreTrailingSlash:this[md],...e},this[Ul])}cleanMocks(){this[Ul]=[]}async[pd](){await BT(this[yd])(),this[Ml]=0,this[fd][wd.kClients].delete(this[Dd])}};Rd.exports=Tl});var Nd=p((xV,Sd)=>{"use strict";var{Transform:DT}=require("node:stream"),{Console:mT}=require("node:console"),wT=process.versions.icu?"\u2705":"Y ",RT=process.versions.icu?"\u274C":"N ";Sd.exports=class{constructor({disableColors:e}={}){this.transform=new DT({transform(t,r,s){s(null,t)}}),this.logger=new mT({stdout:this.transform,inspectOptions:{colors:!e&&!process.env.CI}})}format(e){let t=e.map(({method:r,path:s,data:{statusCode:n},persist:o,times:i,timesInvoked:a,origin:c})=>({Method:r,Origin:c,Path:s,"Status code":n,Persistent:o?wT:RT,Invocations:a,Remaining:o?1/0:i-a}));return this.logger.table(t),this.transform.read().toString()}}});var Gl=p((HV,Ld)=>{"use strict";var{kClients:nr}=j(),ST=Kt(),{kAgent:Ll,kMockAgentSet:Zo,kMockAgentGet:Fd,kDispatches:xl,kIsMockActive:jo,kNetConnect:or,kGetNetConnect:NT,kOptions:Xo,kFactory:Ko,kMockAgentRegisterCallHistory:Hl,kMockAgentIsCallHistoryEnabled:ln,kMockAgentAddCallHistoryLog:bd,kMockAgentMockCallHistoryInstance:Kr,kMockAgentAcceptsNonStandardSearchParameters:Ud,kMockCallHistoryAddLog:FT,kIgnoreTrailingSlash:Md}=rr(),bT=Sl(),UT=kl(),{matchValue:MT,normalizeSearchParams:TT,buildAndValidateMockOptions:kT,normalizeOrigin:Td}=gn(),{InvalidArgumentError:kd,UndiciError:LT}=Y(),xT=Ss(),HT=Nd(),{MockCallHistory:YT}=bl(),Yl=class extends xT{constructor(e={}){super(e);let t=kT(e);if(this[or]=!0,this[jo]=!0,this[ln]=t.enableCallHistory??!1,this[Ud]=t.acceptNonStandardSearchParameters??!1,this[Md]=t.ignoreTrailingSlash??!1,e?.agent&&typeof e.agent.dispatch!="function")throw new kd("Argument opts.agent must implement Agent");let r=e?.agent?e.agent:new ST(e);this[Ll]=r,this[nr]=r[nr],this[Xo]=t,this[ln]&&this[Hl]()}get(e){let t=Td(e),r=this[Md]?t.replace(/\/$/,""):t,s=this[Fd](r);return s||(s=this[Ko](r),this[Zo](r,s)),s}dispatch(e,t){e.origin=Td(e.origin),this.get(e.origin),this[bd](e);let r=this[Ud],s={...e};if(r&&s.path){let[n,o]=s.path.split("?"),i=TT(o,r);s.path=`${n}?${i}`}return this[Ll].dispatch(s,t)}async close(){this.clearCallHistory(),await this[Ll].close(),this[nr].clear()}deactivate(){this[jo]=!1}activate(){this[jo]=!0}enableNetConnect(e){if(typeof e=="string"||typeof e=="function"||e instanceof RegExp)Array.isArray(this[or])?this[or].push(e):this[or]=[e];else if(typeof e>"u")this[or]=!0;else throw new kd("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[or]=!1}enableCallHistory(){return this[ln]=!0,this}disableCallHistory(){return this[ln]=!1,this}getCallHistory(){return this[Kr]}clearCallHistory(){this[Kr]!==void 0&&this[Kr].clear()}get isMockActive(){return this[jo]}[Hl](){this[Kr]===void 0&&(this[Kr]=new YT)}[bd](e){this[ln]&&(this[Hl](),this[Kr][FT](e))}[Zo](e,t){this[nr].set(e,{count:0,dispatcher:t})}[Ko](e){let t=Object.assign({agent:this},this[Xo]);return this[Xo]&&this[Xo].connections===1?new bT(e,t):new UT(e,t)}[Fd](e){let t=this[nr].get(e);if(t?.dispatcher)return t.dispatcher;if(typeof e!="string"){let r=this[Ko]("http://localhost:9999");return this[Zo](e,r),r}for(let[r,s]of Array.from(this[nr]))if(s&&typeof r!="string"&&MT(r,e)){let n=this[Ko](e);return this[Zo](e,n),n[xl]=s.dispatcher[xl],n}}[NT](){return this[or]}pendingInterceptors(){let e=this[nr];return Array.from(e.entries()).flatMap(([t,r])=>r.dispatcher[xl].map(s=>({...s,origin:t}))).filter(({pending:t})=>t)}assertNoPendingInterceptors({pendingInterceptorsFormatter:e=new HT}={}){let t=this.pendingInterceptors();if(t.length!==0)throw new LT(t.length===1?`1 interceptor is pending:
|
|
41
41
|
|
|
42
42
|
${e.format(t)}`.trim():`${t.length} interceptors are pending:
|
|
43
43
|
|
|
44
|
-
${e.format(t)}`.trim())}};Nd.exports=kl});var Hl=p((mv,Md)=>{"use strict";var{InvalidArgumentError:ST}=Y(),{runtimeFeatures:NT}=JA();function FT(A={}){let{ignoreHeaders:e=[],excludeHeaders:t=[],matchHeaders:r=[],caseSensitive:s=!1}=A;return{ignore:new Set(e.map(n=>s?n:n.toLowerCase())),exclude:new Set(t.map(n=>s?n:n.toLowerCase())),match:new Set(r.map(n=>s?n:n.toLowerCase()))}}var Fd=NT.has("crypto")?require("node:crypto"):null,bT=Fd?.hash?A=>Fd.hash("sha256",A,"base64url"):A=>Buffer.from(A).toString("base64url");function Ud(A){return Array.isArray(A)&&(A.length&1)===0}function UT(A=[]){return A.length===0?()=>!1:function(t){let r;for(let s of A)if(typeof s=="string"){if(r||(r=t.toLowerCase()),r.includes(s.toLowerCase()))return!0}else if(s instanceof RegExp&&s.test(t))return!0;return!1}}function MT(A){let e={};if(!A)return e;if(Ud(A)){for(let t=0;t<A.length;t+=2){let r=A[t],s=A[t+1];if(r&&s!==void 0){let n=Buffer.isBuffer(r)?r.toString():r,o=Buffer.isBuffer(s)?s.toString():s;e[n.toLowerCase()]=o}}return e}if(A&&typeof A=="object")for(let[t,r]of Object.entries(A))t&&typeof t=="string"&&(e[t.toLowerCase()]=Array.isArray(r)?r.join(", "):String(r));return e}var bd=["record","playback","update"];function TT(A){if(!bd.includes(A))throw new ST(`Invalid snapshot mode: ${A}. Must be one of: ${bd.join(", ")}`)}Md.exports={createHeaderFilters:FT,hashId:bT,isUndiciHeaders:Ud,normalizeHeaders:MT,isUrlExcludedFactory:UT,validateSnapshotMode:TT}});var Vd=p((wv,Od)=>{"use strict";var{writeFile:kT,readFile:LT,mkdir:HT}=require("node:fs/promises"),{dirname:xT,resolve:Td}=require("node:path"),{setTimeout:YT,clearTimeout:kd}=require("node:timers"),{InvalidArgumentError:Ld,UndiciError:GT}=Y(),{hashId:OT,isUrlExcludedFactory:VT,normalizeHeaders:Hd,createHeaderFilters:xd}=Hl();function cn(A,e,t={}){let r=new URL(A.path,A.origin),s=A._normalizedHeaders||Hd(A.headers);return A._normalizedHeaders||(A._normalizedHeaders=s),{method:A.method||"GET",url:t.matchQuery!==!1?r.toString():`${r.origin}${r.pathname}`,headers:Yd(s,e,t),body:t.matchBody!==!1&&A.body?String(A.body):""}}function Yd(A,e,t={}){if(!A||typeof A!="object")return{};let{caseSensitive:r=!1}=t,s={},{ignore:n,exclude:o,match:i}=e;for(let[a,c]of Object.entries(A)){let g=r?a:a.toLowerCase();o.has(g)||n.has(g)||i.size!==0&&!i.has(g)||(s[g]=c)}return s}function Gd(A,e,t={}){if(!A||typeof A!="object")return{};let{caseSensitive:r=!1}=t,s={},{exclude:n}=e;for(let[o,i]of Object.entries(A)){let a=r?o:o.toLowerCase();n.has(a)||(s[a]=i)}return s}function gn(A){let e=[A.method,A.url];if(A.headers&&typeof A.headers=="object"){let r=Object.keys(A.headers).sort();for(let s of r){let n=Array.isArray(A.headers[s])?A.headers[s]:[A.headers[s]];e.push(s);for(let o of n.sort())e.push(String(o))}}e.push(A.body);let t=e.join("|");return OT(t)}var xl=class{#e;#A;#t=new Map;#r;#n=1/0;#s=!1;#a;constructor(e={}){this.#r=e.snapshotPath,this.#n=e.maxSnapshots||1/0,this.#s=e.autoFlush||!1,this.flushInterval=e.flushInterval||3e4,this._flushTimer=null,this.matchOptions={matchHeaders:e.matchHeaders||[],ignoreHeaders:e.ignoreHeaders||[],excludeHeaders:e.excludeHeaders||[],matchBody:e.matchBody!==!1,matchQuery:e.matchQuery!==!1,caseSensitive:e.caseSensitive||!1},this.#a=xd(this.matchOptions),this.shouldRecord=e.shouldRecord||(()=>!0),this.shouldPlayback=e.shouldPlayback||(()=>!0),this.#A=VT(e.excludeUrls),this.#s&&this.#r&&this.#o()}async record(e,t){if(!this.shouldRecord(e)||this.isUrlExcluded(e))return;let r=cn(e,this.#a,this.matchOptions),s=gn(r),n=Hd(t.headers),o={statusCode:t.statusCode,headers:Gd(n,this.#a,this.matchOptions),body:Buffer.isBuffer(t.body)?t.body.toString("base64"):Buffer.from(String(t.body||"")).toString("base64"),trailers:t.trailers};if(this.#t.size>=this.#n&&!this.#t.has(s)){let a=this.#t.keys().next().value;this.#t.delete(a)}let i=this.#t.get(s);i&&i.responses?(i.responses.push(o),i.timestamp=new Date().toISOString()):this.#t.set(s,{request:r,responses:[o],callCount:0,timestamp:new Date().toISOString()}),this.#s&&this.#r&&this.#c()}isUrlExcluded(e){let t=new URL(e.path,e.origin).toString();return this.#A(t)}findSnapshot(e){if(!this.shouldPlayback(e)||this.isUrlExcluded(e))return;let t=cn(e,this.#a,this.matchOptions),r=gn(t),s=this.#t.get(r);if(!s)return;let n=s.callCount||0,o=Math.min(n,s.responses.length-1);return s.callCount=n+1,{...s,response:s.responses[o]}}async loadSnapshots(e){let t=e||this.#r;if(!t)throw new Ld("Snapshot path is required");try{let r=await LT(Td(t),"utf8"),s=JSON.parse(r);if(Array.isArray(s)){this.#t.clear();for(let{hash:n,snapshot:o}of s)this.#t.set(n,o)}else this.#t=new Map(Object.entries(s))}catch(r){if(r.code==="ENOENT")this.#t.clear();else throw new GT(`Failed to load snapshots from ${t}`,{cause:r})}}async saveSnapshots(e){let t=e||this.#r;if(!t)throw new Ld("Snapshot path is required");let r=Td(t);await HT(xT(r),{recursive:!0});let s=Array.from(this.#t.entries()).map(([n,o])=>({hash:n,snapshot:o}));await kT(r,JSON.stringify(s,null,2),{flush:!0})}clear(){this.#t.clear()}getSnapshots(){return Array.from(this.#t.values())}size(){return this.#t.size}resetCallCounts(){for(let e of this.#t.values())e.callCount=0}deleteSnapshot(e){let t=cn(e,this.#a,this.matchOptions),r=gn(t);return this.#t.delete(r)}getSnapshotInfo(e){let t=cn(e,this.#a,this.matchOptions),r=gn(t),s=this.#t.get(r);return s?{hash:r,request:s.request,responseCount:s.responses?s.responses.length:s.response?1:0,callCount:s.callCount||0,timestamp:s.timestamp}:null}replaceSnapshots(e){if(this.#t.clear(),Array.isArray(e))for(let{hash:t,snapshot:r}of e)this.#t.set(t,r);else e&&typeof e=="object"&&(this.#t=new Map(Object.entries(e)))}#o(){return this.#c()}#i(){this.#e&&(kd(this.#e),this.saveSnapshots().catch(()=>{}),this.#e=null)}#c(){this.#e=YT(()=>{this.saveSnapshots().catch(()=>{}),this.#s?this.#e?.refresh():this.#e=null},1e3)}destroy(){this.#i(),this.#e&&(kd(this.#e),this.#e=null)}async close(){this.#r&&this.#t.size!==0&&await this.saveSnapshots(),this.destroy()}};Od.exports={SnapshotRecorder:xl,formatRequestKey:cn,createRequestHash:gn,filterHeadersForMatching:Yd,filterHeadersForStorage:Gd,createHeaderFilters:xd}});var Pd=p((Rv,Jd)=>{"use strict";var vT=Kt(),JT=Ll(),{SnapshotRecorder:PT}=Vd(),qT=Ds(),{InvalidArgumentError:WT,UndiciError:_T}=Y(),{validateSnapshotMode:ZT}=Hl(),Te=Symbol("kSnapshotRecorder"),HA=Symbol("kSnapshotMode"),ln=Symbol("kSnapshotPath"),Yl=Symbol("kSnapshotLoaded"),Xo=Symbol("kRealAgent"),vd=!1,Gl=class extends JT{constructor(e={}){vd||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),vd=!0);let{mode:t="record",snapshotPath:r=null,...s}=e;if(super(s),ZT(t),(t==="playback"||t==="update")&&!r)throw new WT(`snapshotPath is required when mode is '${t}'`);this[HA]=t,this[ln]=r,this[Te]=new PT({snapshotPath:this[ln],mode:this[HA],maxSnapshots:e.maxSnapshots,autoFlush:e.autoFlush,flushInterval:e.flushInterval,matchHeaders:e.matchHeaders,ignoreHeaders:e.ignoreHeaders,excludeHeaders:e.excludeHeaders,matchBody:e.matchBody,matchQuery:e.matchQuery,caseSensitive:e.caseSensitive,shouldRecord:e.shouldRecord,shouldPlayback:e.shouldPlayback,excludeUrls:e.excludeUrls}),this[Yl]=!1,(this[HA]==="record"||this[HA]==="update"||this[HA]==="playback"&&e.excludeUrls&&e.excludeUrls.length>0)&&(this[Xo]=new vT(e)),(this[HA]==="playback"||this[HA]==="update")&&this[ln]&&this.loadSnapshots().catch(()=>{})}dispatch(e,t){t=qT.wrap(t);let r=this[HA];if(this[Te].isUrlExcluded(e))return this[Xo].dispatch(e,t);if(r==="playback"||r==="update"){if(!this[Yl])return this.#e(e,t);let s=this[Te].findSnapshot(e);if(s)return this.#t(s,t);if(r==="update")return this.#A(e,t);{let n=new _T(`No snapshot found for ${e.method||"GET"} ${e.path}`);if(t.onError){t.onError(n);return}throw n}}else if(r==="record")return this.#A(e,t)}async#e(e,t){return await this.loadSnapshots(),this.dispatch(e,t)}#A(e,t){let r={statusCode:null,headers:{},trailers:{},body:[]},s=this,n={onRequestStart(i,a){return t.onRequestStart(i,{...a,history:this.history})},onRequestUpgrade(i,a,c,g){return t.onRequestUpgrade(i,a,c,g)},onResponseStart(i,a,c,g){return r.statusCode=a,r.headers=c,t.onResponseStart(i,a,c,g)},onResponseData(i,a){return r.body.push(a),t.onResponseData(i,a)},onResponseEnd(i,a){r.trailers=a;let c=Buffer.concat(r.body);s[Te].record(e,{statusCode:r.statusCode,headers:r.headers,body:c,trailers:r.trailers}).then(()=>t.onResponseEnd(i,a)).catch(g=>t.onResponseError(i,g))}};return this[Xo].dispatch(e,n)}#t(e,t){try{let{response:r}=e,s={pause(){},resume(){},abort(o){this.aborted=!0,this.reason=o},aborted:!1,paused:!1};t.onRequestStart(s),t.onResponseStart(s,r.statusCode,r.headers);let n=Buffer.from(r.body,"base64");t.onResponseData(s,n),t.onResponseEnd(s,r.trailers)}catch(r){t.onError?.(r)}}async loadSnapshots(e){await this[Te].loadSnapshots(e||this[ln]),this[Yl]=!0,this[HA]==="playback"&&this.#r()}async saveSnapshots(e){return this[Te].saveSnapshots(e||this[ln])}#r(){for(let e of this[Te].getSnapshots()){let{request:t,responses:r,response:s}=e,n=new URL(t.url),o=this.get(n.origin),i=r?r[0]:s;i&&o.intercept({path:n.pathname+n.search,method:t.method,headers:t.headers,body:t.body}).reply(i.statusCode,i.body,{headers:i.headers,trailers:i.trailers}).persist()}}getRecorder(){return this[Te]}getMode(){return this[HA]}clearSnapshots(){this[Te].clear()}resetCallCounts(){this[Te].resetCallCounts()}deleteSnapshot(e){return this[Te].deleteSnapshot(e)}getSnapshotInfo(e){return this[Te].getSnapshotInfo(e)}replaceSnapshots(e){this[Te].replaceSnapshots(e)}async close(){await this[Te].close(),await this[Xo]?.close(),await super.close()}};Jd.exports=Gl});var Ko=p((Sv,Zd)=>{"use strict";var qd=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:jT}=Y(),XT=Kt();_d()===void 0&&Wd(new XT);function Wd(A){if(!A||typeof A.dispatch!="function")throw new jT("Argument agent must implement Agent");Object.defineProperty(globalThis,qd,{value:A,writable:!0,enumerable:!1,configurable:!1})}function _d(){return globalThis[qd]}var KT=["fetch","Headers","Response","Request","FormData","WebSocket","CloseEvent","ErrorEvent","MessageEvent","EventSource"];Zd.exports={setGlobalDispatcher:Wd,getGlobalDispatcher:_d,installedExports:KT}});var Xr=p((Fv,jd)=>{"use strict";var zA=require("node:assert"),zT=Ds();jd.exports=class{#e;#A=!1;#t=!1;#r=!1;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=zT.wrap(e)}onRequestStart(...e){this.#e.onRequestStart?.(...e)}onRequestUpgrade(...e){return zA(!this.#A),zA(!this.#t),this.#e.onRequestUpgrade?.(...e)}onResponseStart(...e){return zA(!this.#A),zA(!this.#t),zA(!this.#r),this.#r=!0,this.#e.onResponseStart?.(...e)}onResponseData(...e){return zA(!this.#A),zA(!this.#t),this.#e.onResponseData?.(...e)}onResponseEnd(...e){return zA(!this.#A),zA(!this.#t),this.#A=!0,this.#e.onResponseEnd?.(...e)}onResponseError(...e){return this.#t=!0,this.#e.onResponseError?.(...e)}onBodySent(){}}});var Jl=p((bv,$d)=>{"use strict";var ke=G(),{kBodyUsed:En}=Z(),vl=require("node:assert"),{InvalidArgumentError:Ol}=Y(),$T=require("node:events"),ek=[300,301,302,303,307,308],Xd=Symbol("body"),Kd=()=>{},zo=class{constructor(e){this[Xd]=e,this[En]=!1}async*[Symbol.asyncIterator](){vl(!this[En],"disturbed"),this[En]=!0,yield*this[Xd]}},Vl=class A{static buildDispatch(e,t){if(t!=null&&(!Number.isInteger(t)||t<0))throw new Ol("maxRedirections must be a positive number");let r=e.dispatch.bind(e);return(s,n)=>r(s,new A(r,t,s,n))}constructor(e,t,r,s){if(t!=null&&(!Number.isInteger(t)||t<0))throw new Ol("maxRedirections must be a positive number");this.dispatch=e,this.location=null;let{maxRedirections:n,...o}=r;this.opts=o,this.maxRedirections=t,this.handler=s,this.history=[],ke.isStream(this.opts.body)?(ke.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){vl(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[En]=!1,$T.prototype.on.call(this.opts.body,"data",function(){this[En]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new zo(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&ke.isIterable(this.opts.body)&&!ke.isFormDataLike(this.opts.body)&&(this.opts.body=new zo(this.opts.body))}onRequestStart(e,t){this.handler.onRequestStart?.(e,{...t,history:this.history})}onRequestUpgrade(e,t,r,s){this.handler.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw new Error("max redirects");if((t===301||t===302)&&this.opts.method==="POST"&&(this.opts.method="GET",ke.isStream(this.opts.body)&&ke.destroy(this.opts.body.on("error",Kd)),this.opts.body=null),t===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",ke.isStream(this.opts.body)&&ke.destroy(this.opts.body.on("error",Kd)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||ke.isDisturbed(this.opts.body)||ek.indexOf(t)===-1?null:r.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location){this.handler.onResponseStart?.(e,t,r,s);return}let{origin:n,pathname:o,search:i}=ke.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),a=i?`${o}${i}`:o,c=`${n}${a}`;for(let g of this.history)if(g.toString()===c)throw new Ol(`Redirect loop detected. Cannot redirect to ${n}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=Ak(this.opts.headers,t===303,this.opts.origin!==n),this.opts.path=a,this.opts.origin=n,this.opts.query=null}onResponseData(e,t){this.location||this.handler.onResponseData?.(e,t)}onResponseEnd(e,t){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(e,t)}onResponseError(e,t){this.handler.onResponseError?.(e,t)}};function zd(A,e,t){if(A.length===4)return ke.headerNameToString(A)==="host";if(e&&ke.headerNameToString(A).startsWith("content-"))return!0;if(t&&(A.length===13||A.length===6||A.length===19)){let r=ke.headerNameToString(A);return r==="authorization"||r==="cookie"||r==="proxy-authorization"}return!1}function Ak(A,e,t){let r=[];if(Array.isArray(A))for(let s=0;s<A.length;s+=2)zd(A[s],e,t)||r.push(A[s],A[s+1]);else if(A&&typeof A=="object"){let s=ke.hasSafeIterator(A)?A:Object.entries(A);for(let[n,o]of s)zd(n,e,t)||r.push(n,o)}else vl(A==null,"headers must be an object or an array");return r}$d.exports=Vl});var Af=p((Uv,ef)=>{"use strict";var tk=Jl();function rk({maxRedirections:A}={}){return e=>function(r,s){let{maxRedirections:n=A,...o}=r;if(n==null||n===0)return e(r,s);let i={...o},a=new tk(e,n,i,s);return e(i,a)}}ef.exports=rk});var rf=p((Mv,tf)=>{"use strict";var sk=Xr(),{ResponseError:nk}=Y(),Pl=class extends sk{#e;#A;#t;#r;#n;constructor(e,{handler:t}){super(t)}#s(e){return(this.#A??"").indexOf(e)===0}onRequestStart(e,t){return this.#e=0,this.#A=null,this.#t=null,this.#r=null,this.#n="",super.onRequestStart(e,t)}onResponseStart(e,t,r,s){if(this.#e=t,this.#r=r,this.#A=r["content-type"],this.#e<400)return super.onResponseStart(e,t,r,s);(this.#s("application/json")||this.#s("text/plain"))&&(this.#t=new TextDecoder("utf-8"))}onResponseData(e,t){if(this.#e<400)return super.onResponseData(e,t);this.#n+=this.#t?.decode(t,{stream:!0})??""}onResponseEnd(e,t){if(this.#e>=400){if(this.#n+=this.#t?.decode(void 0,{stream:!1})??"",this.#s("application/json"))try{this.#n=JSON.parse(this.#n)}catch{}let r,s=Error.stackTraceLimit;Error.stackTraceLimit=0;try{r=new nk("Response Error",this.#e,{body:this.#n,headers:this.#r})}finally{Error.stackTraceLimit=s}super.onResponseError(e,r)}else super.onResponseEnd(e,t)}onResponseError(e,t){super.onResponseError(e,t)}};tf.exports=()=>A=>function(t,r){return A(t,new Pl(t,{handler:r}))}});var nf=p((Tv,sf)=>{"use strict";var ok=Ho();sf.exports=A=>e=>function(r,s){return e(r,new ok({...r,retryOptions:{...A,...r.retryOptions}},{handler:s,dispatch:e}))}});var af=p((kv,of)=>{"use strict";var{InvalidArgumentError:ik,RequestAbortedError:ak}=Y(),ck=Xr(),ql=class extends ck{#e=1024*1024;#A=!1;#t=0;#r=null;aborted=!1;reason=!1;constructor({maxSize:e,signal:t},r){if(e!=null&&(!Number.isFinite(e)||e<1))throw new ik("maxSize must be a number greater than 0");super(r),this.#e=e??this.#e}#n(e){this.aborted=!0,this.reason=e}onRequestStart(e,t){return e.abort=this.#n.bind(this),this.#r=e,super.onRequestStart(e,t)}onResponseStart(e,t,r,s){let n=r["content-length"];if(n!=null&&n>this.#e)throw new ak(`Response size (${n}) larger than maxSize (${this.#e})`);return this.aborted===!0?!0:super.onResponseStart(e,t,r,s)}onResponseError(e,t){this.#A||(t=this.#r?.reason??t,super.onResponseError(e,t))}onResponseData(e,t){return this.#t=this.#t+t.length,this.#t>=this.#e&&(this.#A=!0,this.aborted===!0?super.onResponseError(e,this.reason):super.onResponseEnd(e,{})),!0}onResponseEnd(e,t){if(!this.#A){if(this.#r.aborted===!0){super.onResponseError(e,this.reason);return}super.onResponseEnd(e,t)}}};function gk({maxSize:A}={maxSize:1024*1024}){return e=>function(r,s){let{dumpMaxSize:n=A}=r,o=new ql({maxSize:n,signal:r.signal},s);return e(r,o)}}of.exports=gk});var Ef=p((Lv,lf)=>{"use strict";var{isIP:lk}=require("node:net"),{lookup:Ek}=require("node:dns"),Qk=Xr(),{InvalidArgumentError:ir,InformationalError:uk}=Y(),Wl=Math.pow(2,31)-1;function hk(A){let e=Object.getPrototypeOf(A);return Object.prototype.hasOwnProperty.call(A,Symbol.iterator)||e!=null&&e!==Object.prototype&&typeof A[Symbol.iterator]=="function"}function cf(A){return typeof A=="string"&&A.toLowerCase()==="host"}function Ik(A){if(A==null)return null;if(Array.isArray(A)){if(A.length===0||!Array.isArray(A[0]))return A;let e=[];for(let t of A)Array.isArray(t)&&t.length===2?e.push(t[0],t[1]):e.push(t);return e}if(typeof A=="object"&&hk(A)){let e=[];for(let t of A)Array.isArray(t)&&t.length===2?e.push(t[0],t[1]):e.push(t);return e}return A}function Bk(A){if(A==null)return!1;if(Array.isArray(A)){if(A.length===0)return!1;for(let e=0;e<A.length;e+=2)if(cf(A[e]))return!0;return!1}if(typeof A=="object"){for(let e in A)if(cf(e))return!0}return!1}function gf(A,e){let t=Ik(e);return Bk(t)?t:Array.isArray(t)?["host",A,...t]:t&&typeof t=="object"?{host:A,...t}:{host:A}}var _l=class{#e=0;#A=new Map;constructor(e){this.#e=e.maxItems}get size(){return this.#A.size}get(e){return this.#A.get(e)??null}set(e,t){this.#A.set(e,t)}delete(e){this.#A.delete(e)}full(){return this.size>=this.#e}},Zl=class{#e=0;#A=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(e){this.#e=e.maxTTL,this.#A=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#t,this.pick=e.pick??this.#r,this.storage=e.storage??new _l(e)}runLookup(e,t,r){let s=this.storage.get(e.hostname);if(s==null&&this.storage.full()){r(null,e);return}let n={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#e,maxItems:this.#A};if(s==null)this.lookup(e,n,(o,i)=>{if(o||i==null||i.length===0){r(o??new uk("No DNS entries found"));return}this.setRecords(e,i);let a=this.storage.get(e.hostname),c=this.pick(e,a,n.affinity),g;typeof c.port=="number"?g=`:${c.port}`:e.port!==""?g=`:${e.port}`:g="",r(null,new URL(`${e.protocol}//${c.family===6?`[${c.address}]`:c.address}${g}`))});else{let o=this.pick(e,s,n.affinity);if(o==null){this.storage.delete(e.hostname),this.runLookup(e,t,r);return}let i;typeof o.port=="number"?i=`:${o.port}`:e.port!==""?i=`:${e.port}`:i="",r(null,new URL(`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${i}`))}}#t(e,t,r){Ek(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,n)=>{if(s)return r(s);let o=new Map;for(let i of n)o.set(`${i.address}:${i.family}`,i);r(null,o.values())})}#r(e,t,r){let s=null,{records:n,offset:o}=t,i;if(this.dualStack?(r==null&&(o==null||o===Wl?(t.offset=0,r=4):(t.offset++,r=(t.offset&1)===1?6:4)),n[r]!=null&&n[r].ips.length>0?i=n[r]:i=n[r===4?6:4]):i=n[r],i==null||i.ips.length===0)return s;i.offset==null||i.offset===Wl?i.offset=0:i.offset++;let a=i.offset%i.ips.length;return s=i.ips[a]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(i.ips.splice(a,1),this.pick(e,t,r)):s}pickFamily(e,t){let r=this.storage.get(e.hostname)?.records;if(!r)return null;let s=r[t];if(!s)return null;s.offset==null||s.offset===Wl?s.offset=0:s.offset++;let n=s.offset%s.ips.length,o=s.ips[n]??null;return o==null||Date.now()-o.timestamp>o.ttl&&s.ips.splice(n,1),o}setRecords(e,t){let r=Date.now(),s={records:{4:null,6:null}},n=this.#e;for(let o of t){o.timestamp=r,typeof o.ttl=="number"?(o.ttl=Math.min(o.ttl,this.#e),n=Math.min(n,o.ttl)):o.ttl=this.#e;let i=s.records[o.family]??{ips:[]};i.ips.push(o),s.records[o.family]=i}this.storage.set(e.hostname,s,{ttl:n})}deleteRecords(e){this.storage.delete(e.hostname)}getHandler(e,t){return new jl(this,e,t)}},jl=class extends Qk{#e=null;#A=null;#t=null;#r=null;#n=null;#s=null;#a=!0;constructor(e,{origin:t,handler:r,dispatch:s,newOrigin:n},o){super(r),this.#r=t,this.#s=n,this.#A={...o},this.#e=e,this.#t=s}onResponseError(e,t){switch(t.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){if(!this.#a){super.onResponseError(e,t);return}this.#a=!1;let r=this.#s.hostname[0]==="["?4:6,s=this.#e.pickFamily(this.#r,r);if(s==null){super.onResponseError(e,t);return}let n;typeof s.port=="number"?n=`:${s.port}`:this.#r.port!==""?n=`:${this.#r.port}`:n="";let o={...this.#A,origin:`${this.#r.protocol}//${s.family===6?`[${s.address}]`:s.address}${n}`,headers:gf(this.#r.host,this.#A.headers)};this.#t(o,this);return}super.onResponseError(e,t);break}case"ENOTFOUND":this.#e.deleteRecords(this.#r),super.onResponseError(e,t);break;default:super.onResponseError(e,t);break}}};lf.exports=A=>{if(A?.maxTTL!=null&&(typeof A?.maxTTL!="number"||A?.maxTTL<0))throw new ir("Invalid maxTTL. Must be a positive number");if(A?.maxItems!=null&&(typeof A?.maxItems!="number"||A?.maxItems<1))throw new ir("Invalid maxItems. Must be a positive number and greater than zero");if(A?.affinity!=null&&A?.affinity!==4&&A?.affinity!==6)throw new ir("Invalid affinity. Must be either 4 or 6");if(A?.dualStack!=null&&typeof A?.dualStack!="boolean")throw new ir("Invalid dualStack. Must be a boolean");if(A?.lookup!=null&&typeof A?.lookup!="function")throw new ir("Invalid lookup. Must be a function");if(A?.pick!=null&&typeof A?.pick!="function")throw new ir("Invalid pick. Must be a function");if(A?.storage!=null&&(typeof A?.storage?.get!="function"||typeof A?.storage?.set!="function"||typeof A?.storage?.full!="function"||typeof A?.storage?.delete!="function"))throw new ir("Invalid storage. Must be a object with methods: { get, set, full, delete }");let e=A?.dualStack??!0,t;e?t=A?.affinity??null:t=A?.affinity??4;let r={maxTTL:A?.maxTTL??1e4,lookup:A?.lookup??null,pick:A?.pick??null,dualStack:e,affinity:t,maxItems:A?.maxItems??1/0,storage:A?.storage},s=new Zl(r);return n=>function(i,a){let c=i.origin.constructor===URL?i.origin:new URL(i.origin);return lk(c.hostname)!==0?n(i,a):(s.runLookup(c,i,(g,h)=>{if(g)return a.onResponseError(null,g);let Q={...i,servername:c.hostname,origin:h.origin,headers:gf(c.host,i.headers)};n(Q,s.getHandler({origin:c,dispatch:n,handler:a,newOrigin:h},i))}),!0)}}});var Kr=p((Hv,uf)=>{"use strict";var{safeHTTPMethods:Qf,pathHasQueryOrFragment:Ck,hasSafeIterator:dk}=G(),{serializePathWithQuery:fk}=G();function pk(A){if(!A.origin)throw new Error("opts.origin is undefined");let e=A.path||"/";return A.query&&!Ck(A.path)&&(e=fk(e,A.query)),{origin:A.origin.toString(),method:A.method,path:e,headers:A.headers}}function yk(A){let e;if(A.headers==null)e={};else if(typeof A.headers=="object")if(e={},dk(A.headers))for(let t of A.headers){if(!Array.isArray(t))throw new Error("opts.headers is not a valid header map");let[r,s]=t;if(typeof r!="string"||typeof s!="string")throw new Error("opts.headers is not a valid header map");e[r.toLowerCase()]=s}else for(let t of Object.keys(A.headers))e[t.toLowerCase()]=A.headers[t];else throw new Error("opts.headers is not an object");return e}function Dk(A){if(typeof A!="object")throw new TypeError(`expected key to be object, got ${typeof A}`);for(let e of["origin","method","path"])if(typeof A[e]!="string")throw new TypeError(`expected key.${e} to be string, got ${typeof A[e]}`);if(A.headers!==void 0&&typeof A.headers!="object")throw new TypeError(`expected headers to be object, got ${typeof A}`)}function mk(A){if(typeof A!="object")throw new TypeError(`expected value to be object, got ${typeof A}`);for(let e of["statusCode","cachedAt","staleAt","deleteAt"])if(typeof A[e]!="number")throw new TypeError(`expected value.${e} to be number, got ${typeof A[e]}`);if(typeof A.statusMessage!="string")throw new TypeError(`expected value.statusMessage to be string, got ${typeof A.statusMessage}`);if(A.headers!=null&&typeof A.headers!="object")throw new TypeError(`expected value.rawHeaders to be object, got ${typeof A.headers}`);if(A.vary!==void 0&&typeof A.vary!="object")throw new TypeError(`expected value.vary to be object, got ${typeof A.vary}`);if(A.etag!==void 0&&typeof A.etag!="string")throw new TypeError(`expected value.etag to be string, got ${typeof A.etag}`)}function wk(A){let e={},t;if(Array.isArray(A)){t=[];for(let r of A)t.push(...r.split(","))}else t=A.split(",");for(let r=0;r<t.length;r++){let s=t[r].toLowerCase(),n=s.indexOf("="),o,i;switch(n!==-1?(o=s.substring(0,n).trimStart(),i=s.substring(n+1)):o=s.trim(),o){case"min-fresh":case"max-stale":case"max-age":case"s-maxage":case"stale-while-revalidate":case"stale-if-error":{if(i===void 0||i[0]===" ")continue;i.length>=2&&i[0]==='"'&&i[i.length-1]==='"'&&(i=i.substring(1,i.length-1));let a=parseInt(i,10);if(a!==a||o==="max-age"&&o in e&&e[o]>=a)continue;e[o]=a;break}case"private":case"no-cache":if(i){if(i[0]==='"'){let a=[i.substring(1)],c=i[i.length-1]==='"';if(!c)for(let g=r+1;g<t.length;g++){let h=t[g],Q=h.length;if(a.push(h.trim()),Q!==0&&h[Q-1]==='"'){c=!0;break}}if(c){let g=a[a.length-1];g[g.length-1]==='"'&&(g=g.substring(0,g.length-1),a[a.length-1]=g),o in e?e[o]=e[o].concat(a):e[o]=a}}else o in e?e[o]=e[o].concat(i):e[o]=[i];break}case"public":case"no-store":case"must-revalidate":case"proxy-revalidate":case"immutable":case"no-transform":case"must-understand":case"only-if-cached":if(i)continue;e[o]=!0;break;default:continue}}return e}function Rk(A,e){if(typeof A=="string"&&A.includes("*"))return e;let t={},r=typeof A=="string"?A.split(","):A;for(let s of r){let n=s.trim().toLowerCase();t[n]=e[n]??null}return t}function Sk(A){return A.length<=2?!1:A[0]==='"'&&A[A.length-1]==='"'?!(A[1]==='"'||A.startsWith('"W/')):A.startsWith('W/"')&&A[A.length-1]==='"'?A.length!==4:!1}function Nk(A,e="CacheStore"){if(typeof A!="object"||A===null)throw new TypeError(`expected type of ${e} to be a CacheStore, got ${A===null?"null":typeof A}`);for(let t of["get","createWriteStream","delete"])if(typeof A[t]!="function")throw new TypeError(`${e} needs to have a \`${t}()\` function`)}function Fk(A,e="CacheMethods"){if(!Array.isArray(A))throw new TypeError(`expected type of ${e} needs to be an array, got ${A===null?"null":typeof A}`);if(A.length===0)throw new TypeError(`${e} needs to have at least one method`);for(let t of A)if(!Qf.includes(t))throw new TypeError(`element of ${e}-array needs to be one of following values: ${Qf.join(", ")}, got ${t}`)}function bk(A,e){let t=`${A.origin}:${A.method}:${A.path}`;if(A.headers){let r=Object.keys(A.headers).sort();for(let s of r){if(e?.has(s.toLowerCase()))continue;let n=A.headers[s];t+=`:${s}=${Array.isArray(n)?n.join(","):n}`}}return t}uf.exports={makeCacheKey:pk,normalizeHeaders:yk,assertCacheKey:Dk,assertCacheValue:mk,parseCacheControlHeader:wk,parseVaryHeader:Rk,isEtagUsable:Sk,assertCacheMethods:Fk,assertCacheStore:Nk,makeDeduplicationKey:bk}});var If=p((xv,hf)=>{"use strict";function Uk(A){switch(A[3]){case",":return Mk(A);case" ":return Tk(A);default:return kk(A)}}function Mk(A){if(A.length!==29||A[4]!==" "||A[7]!==" "||A[11]!==" "||A[16]!==" "||A[19]!==":"||A[22]!==":"||A[25]!==" "||A[26]!=="G"||A[27]!=="M"||A[28]!=="T")return;let e=-1;if(A[0]==="S"&&A[1]==="u"&&A[2]==="n")e=0;else if(A[0]==="M"&&A[1]==="o"&&A[2]==="n")e=1;else if(A[0]==="T"&&A[1]==="u"&&A[2]==="e")e=2;else if(A[0]==="W"&&A[1]==="e"&&A[2]==="d")e=3;else if(A[0]==="T"&&A[1]==="h"&&A[2]==="u")e=4;else if(A[0]==="F"&&A[1]==="r"&&A[2]==="i")e=5;else if(A[0]==="S"&&A[1]==="a"&&A[2]==="t")e=6;else return;let t=0;if(A[5]==="0"){let l=A.charCodeAt(6);if(l<49||l>57)return;t=l-48}else{let l=A.charCodeAt(5);if(l<49||l>51)return;let E=A.charCodeAt(6);if(E<48||E>57)return;t=(l-48)*10+(E-48)}let r=-1;if(A[8]==="J"&&A[9]==="a"&&A[10]==="n")r=0;else if(A[8]==="F"&&A[9]==="e"&&A[10]==="b")r=1;else if(A[8]==="M"&&A[9]==="a")if(A[10]==="r")r=2;else if(A[10]==="y")r=4;else return;else if(A[8]==="J")if(A[9]==="a"&&A[10]==="n")r=0;else if(A[9]==="u")if(A[10]==="n")r=5;else if(A[10]==="l")r=6;else return;else return;else if(A[8]==="A")if(A[9]==="p"&&A[10]==="r")r=3;else if(A[9]==="u"&&A[10]==="g")r=7;else return;else if(A[8]==="S"&&A[9]==="e"&&A[10]==="p")r=8;else if(A[8]==="O"&&A[9]==="c"&&A[10]==="t")r=9;else if(A[8]==="N"&&A[9]==="o"&&A[10]==="v")r=10;else if(A[8]==="D"&&A[9]==="e"&&A[10]==="c")r=11;else return;let s=A.charCodeAt(12);if(s<48||s>57)return;let n=A.charCodeAt(13);if(n<48||n>57)return;let o=A.charCodeAt(14);if(o<48||o>57)return;let i=A.charCodeAt(15);if(i<48||i>57)return;let a=(s-48)*1e3+(n-48)*100+(o-48)*10+(i-48),c=0;if(A[17]==="0"){let l=A.charCodeAt(18);if(l<48||l>57)return;c=l-48}else{let l=A.charCodeAt(17);if(l<48||l>50)return;let E=A.charCodeAt(18);if(E<48||E>57||l===50&&E>51)return;c=(l-48)*10+(E-48)}let g=0;if(A[20]==="0"){let l=A.charCodeAt(21);if(l<48||l>57)return;g=l-48}else{let l=A.charCodeAt(20);if(l<48||l>53)return;let E=A.charCodeAt(21);if(E<48||E>57)return;g=(l-48)*10+(E-48)}let h=0;if(A[23]==="0"){let l=A.charCodeAt(24);if(l<48||l>57)return;h=l-48}else{let l=A.charCodeAt(23);if(l<48||l>53)return;let E=A.charCodeAt(24);if(E<48||E>57)return;h=(l-48)*10+(E-48)}let Q=new Date(Date.UTC(a,r,t,c,g,h));return Q.getUTCDay()===e?Q:void 0}function Tk(A){if(A.length!==24||A[7]!==" "||A[10]!==" "||A[19]!==" ")return;let e=-1;if(A[0]==="S"&&A[1]==="u"&&A[2]==="n")e=0;else if(A[0]==="M"&&A[1]==="o"&&A[2]==="n")e=1;else if(A[0]==="T"&&A[1]==="u"&&A[2]==="e")e=2;else if(A[0]==="W"&&A[1]==="e"&&A[2]==="d")e=3;else if(A[0]==="T"&&A[1]==="h"&&A[2]==="u")e=4;else if(A[0]==="F"&&A[1]==="r"&&A[2]==="i")e=5;else if(A[0]==="S"&&A[1]==="a"&&A[2]==="t")e=6;else return;let t=-1;if(A[4]==="J"&&A[5]==="a"&&A[6]==="n")t=0;else if(A[4]==="F"&&A[5]==="e"&&A[6]==="b")t=1;else if(A[4]==="M"&&A[5]==="a")if(A[6]==="r")t=2;else if(A[6]==="y")t=4;else return;else if(A[4]==="J")if(A[5]==="a"&&A[6]==="n")t=0;else if(A[5]==="u")if(A[6]==="n")t=5;else if(A[6]==="l")t=6;else return;else return;else if(A[4]==="A")if(A[5]==="p"&&A[6]==="r")t=3;else if(A[5]==="u"&&A[6]==="g")t=7;else return;else if(A[4]==="S"&&A[5]==="e"&&A[6]==="p")t=8;else if(A[4]==="O"&&A[5]==="c"&&A[6]==="t")t=9;else if(A[4]==="N"&&A[5]==="o"&&A[6]==="v")t=10;else if(A[4]==="D"&&A[5]==="e"&&A[6]==="c")t=11;else return;let r=0;if(A[8]===" "){let l=A.charCodeAt(9);if(l<49||l>57)return;r=l-48}else{let l=A.charCodeAt(8);if(l<49||l>51)return;let E=A.charCodeAt(9);if(E<48||E>57)return;r=(l-48)*10+(E-48)}let s=0;if(A[11]==="0"){let l=A.charCodeAt(12);if(l<48||l>57)return;s=l-48}else{let l=A.charCodeAt(11);if(l<48||l>50)return;let E=A.charCodeAt(12);if(E<48||E>57||l===50&&E>51)return;s=(l-48)*10+(E-48)}let n=0;if(A[14]==="0"){let l=A.charCodeAt(15);if(l<48||l>57)return;n=l-48}else{let l=A.charCodeAt(14);if(l<48||l>53)return;let E=A.charCodeAt(15);if(E<48||E>57)return;n=(l-48)*10+(E-48)}let o=0;if(A[17]==="0"){let l=A.charCodeAt(18);if(l<48||l>57)return;o=l-48}else{let l=A.charCodeAt(17);if(l<48||l>53)return;let E=A.charCodeAt(18);if(E<48||E>57)return;o=(l-48)*10+(E-48)}let i=A.charCodeAt(20);if(i<48||i>57)return;let a=A.charCodeAt(21);if(a<48||a>57)return;let c=A.charCodeAt(22);if(c<48||c>57)return;let g=A.charCodeAt(23);if(g<48||g>57)return;let h=(i-48)*1e3+(a-48)*100+(c-48)*10+(g-48),Q=new Date(Date.UTC(h,t,r,s,n,o));return Q.getUTCDay()===e?Q:void 0}function kk(A){let e=-1,t=-1;if(A[0]==="S")A[1]==="u"&&A[2]==="n"&&A[3]==="d"&&A[4]==="a"&&A[5]==="y"?(t=0,e=6):A[1]==="a"&&A[2]==="t"&&A[3]==="u"&&A[4]==="r"&&A[5]==="d"&&A[6]==="a"&&A[7]==="y"&&(t=6,e=8);else if(A[0]==="M"&&A[1]==="o"&&A[2]==="n"&&A[3]==="d"&&A[4]==="a"&&A[5]==="y")t=1,e=6;else if(A[0]==="T")A[1]==="u"&&A[2]==="e"&&A[3]==="s"&&A[4]==="d"&&A[5]==="a"&&A[6]==="y"?(t=2,e=7):A[1]==="h"&&A[2]==="u"&&A[3]==="r"&&A[4]==="s"&&A[5]==="d"&&A[6]==="a"&&A[7]==="y"&&(t=4,e=8);else if(A[0]==="W"&&A[1]==="e"&&A[2]==="d"&&A[3]==="n"&&A[4]==="e"&&A[5]==="s"&&A[6]==="d"&&A[7]==="a"&&A[8]==="y")t=3,e=9;else if(A[0]==="F"&&A[1]==="r"&&A[2]==="i"&&A[3]==="d"&&A[4]==="a"&&A[5]==="y")t=5,e=6;else return;if(A[e]!==","||A.length-e-1!==23||A[e+1]!==" "||A[e+4]!=="-"||A[e+8]!=="-"||A[e+11]!==" "||A[e+14]!==":"||A[e+17]!==":"||A[e+20]!==" "||A[e+21]!=="G"||A[e+22]!=="M"||A[e+23]!=="T")return;let r=0;if(A[e+2]==="0"){let Q=A.charCodeAt(e+3);if(Q<49||Q>57)return;r=Q-48}else{let Q=A.charCodeAt(e+2);if(Q<49||Q>51)return;let l=A.charCodeAt(e+3);if(l<48||l>57)return;r=(Q-48)*10+(l-48)}let s=-1;if(A[e+5]==="J"&&A[e+6]==="a"&&A[e+7]==="n")s=0;else if(A[e+5]==="F"&&A[e+6]==="e"&&A[e+7]==="b")s=1;else if(A[e+5]==="M"&&A[e+6]==="a"&&A[e+7]==="r")s=2;else if(A[e+5]==="A"&&A[e+6]==="p"&&A[e+7]==="r")s=3;else if(A[e+5]==="M"&&A[e+6]==="a"&&A[e+7]==="y")s=4;else if(A[e+5]==="J"&&A[e+6]==="u"&&A[e+7]==="n")s=5;else if(A[e+5]==="J"&&A[e+6]==="u"&&A[e+7]==="l")s=6;else if(A[e+5]==="A"&&A[e+6]==="u"&&A[e+7]==="g")s=7;else if(A[e+5]==="S"&&A[e+6]==="e"&&A[e+7]==="p")s=8;else if(A[e+5]==="O"&&A[e+6]==="c"&&A[e+7]==="t")s=9;else if(A[e+5]==="N"&&A[e+6]==="o"&&A[e+7]==="v")s=10;else if(A[e+5]==="D"&&A[e+6]==="e"&&A[e+7]==="c")s=11;else return;let n=A.charCodeAt(e+9);if(n<48||n>57)return;let o=A.charCodeAt(e+10);if(o<48||o>57)return;let i=(n-48)*10+(o-48);i+=i<70?2e3:1900;let a=0;if(A[e+12]==="0"){let Q=A.charCodeAt(e+13);if(Q<48||Q>57)return;a=Q-48}else{let Q=A.charCodeAt(e+12);if(Q<48||Q>50)return;let l=A.charCodeAt(e+13);if(l<48||l>57||Q===50&&l>51)return;a=(Q-48)*10+(l-48)}let c=0;if(A[e+15]==="0"){let Q=A.charCodeAt(e+16);if(Q<48||Q>57)return;c=Q-48}else{let Q=A.charCodeAt(e+15);if(Q<48||Q>53)return;let l=A.charCodeAt(e+16);if(l<48||l>57)return;c=(Q-48)*10+(l-48)}let g=0;if(A[e+18]==="0"){let Q=A.charCodeAt(e+19);if(Q<48||Q>57)return;g=Q-48}else{let Q=A.charCodeAt(e+18);if(Q<48||Q>53)return;let l=A.charCodeAt(e+19);if(l<48||l>57)return;g=(Q-48)*10+(l-48)}let h=new Date(Date.UTC(i,s,r,a,c,g));return h.getUTCDay()===t?h:void 0}hf.exports={parseHttpDate:Uk}});var ff=p((Yv,df)=>{"use strict";var Lk=G(),{parseCacheControlHeader:Hk,parseVaryHeader:xk,isEtagUsable:Yk}=Kr(),{parseHttpDate:Bf}=If();function Gk(){}var Cf=[200,203,204,206,300,301,308,404,405,410,414,501],Ok=[206],Vk=2147483647e3,Xl=class{#e;#A;#t;#r;#n;#s;constructor({store:e,type:t,cacheByDefault:r},s,n){this.#r=e,this.#A=t,this.#t=r,this.#e=s,this.#n=n}onRequestStart(e,t){this.#s?.destroy(),this.#s=void 0,this.#n.onRequestStart?.(e,t)}onRequestUpgrade(e,t,r,s){this.#n.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){let n=()=>this.#n.onResponseStart?.(e,t,r,s),o=this;if(!Lk.safeHTTPMethods.includes(this.#e.method)&&t>=200&&t<=399){try{this.#r.delete(this.#e)?.catch?.(Gk)}catch{}return n()}let i=r["cache-control"],a=r["last-modified"]&&Cf.includes(t);if(!i&&!r.expires&&!a&&!this.#t)return n();let c=i?Hk(i):{};if(!vk(this.#A,t,r,c,this.#e.headers))return n();let g=Date.now(),h=r.age?Jk(r.age):void 0;if(h&&h>=Vk)return n();let Q=typeof r.date=="string"?Bf(r.date):void 0,l=Pk(this.#A,g,h,r,Q,c)??this.#t;if(l===void 0||h&&h>l)return n();let E=Q?Q.getTime():g,B=l+E;if(g>=B)return n();let D;if(this.#e.headers&&r.vary&&(D=xk(r.vary,this.#e.headers),!D))return n();let C=qk(E,c,B),f=Wk(r,c),y={statusCode:t,statusMessage:s,headers:f,vary:D,cacheControlDirectives:c,cachedAt:h?g-h:g,staleAt:B,deleteAt:C};if(t===304){let T=k=>{if(!k)return n();if(y.statusCode=k.statusCode,y.statusMessage=k.statusMessage,y.etag=k.etag,y.headers={...k.headers,...f},n(),this.#s=this.#r.createWriteStream(this.#e,y),!(!this.#s||!k?.body))if(typeof k.body.values=="function"){let w=k.body.values(),F=()=>{for(let L of w){let z=this.#s.write(L)===!1;if(this.#n.onResponseData?.(e,L),z)break}};this.#s.on("error",function(){o.#s=void 0,o.#r.delete(o.#e)}).on("drain",()=>{F()}).on("close",function(){o.#s===this&&(o.#s=void 0)}),F()}else typeof k.body.on=="function"&&(k.body.on("data",w=>{this.#s.write(w),this.#n.onResponseData?.(e,w)}).on("end",()=>{this.#s.end()}).on("error",()=>{this.#s=void 0,this.#r.delete(this.#e)}),this.#s.on("error",function(){o.#s=void 0,o.#r.delete(o.#e)}).on("close",function(){o.#s===this&&(o.#s=void 0)}))},U=this.#r.get(this.#e);U&&typeof U.then=="function"?U.then(T):T(U)}else{if(typeof r.etag=="string"&&Yk(r.etag)&&(y.etag=r.etag),this.#s=this.#r.createWriteStream(this.#e,y),!this.#s)return n();this.#s.on("drain",()=>e.resume()).on("error",function(){o.#s=void 0,o.#r.delete(o.#e)}).on("close",function(){o.#s===this&&(o.#s=void 0),e.resume()}),n()}}onResponseData(e,t){this.#s?.write(t)===!1&&e.pause(),this.#n.onResponseData?.(e,t)}onResponseEnd(e,t){this.#s?.end(),this.#n.onResponseEnd?.(e,t)}onResponseError(e,t){this.#s?.destroy(t),this.#s=void 0,this.#n.onResponseError?.(e,t)}};function vk(A,e,t,r,s){return!(e<200||Ok.includes(e)||!Cf.includes(e)&&!t.expires&&!r.public&&r["max-age"]===void 0&&!(r.private&&A==="private")&&!(r["s-maxage"]!==void 0&&A==="shared")||r["no-store"]||A==="shared"&&r.private===!0||t.vary?.includes("*")||s?.authorization&&(!r.public&&!r["s-maxage"]&&!r["must-revalidate"]||typeof s.authorization!="string"||Array.isArray(r["no-cache"])&&r["no-cache"].includes("authorization")||Array.isArray(r.private)&&r.private.includes("authorization")))}function Jk(A){let e=parseInt(Array.isArray(A)?A[0]:A);return isNaN(e)?void 0:e*1e3}function Pk(A,e,t,r,s,n){if(A==="shared"){let i=n["s-maxage"];if(i!==void 0)return i>0?i*1e3:void 0}let o=n["max-age"];if(o!==void 0)return o>0?o*1e3:void 0;if(typeof r.expires=="string"){let i=Bf(r.expires);if(i)return e>=i.getTime()||s&&(s>=i||t!==void 0&&t>i-s)?void 0:i.getTime()-e}if(typeof r["last-modified"]=="string"){let i=new Date(r["last-modified"]);if(_k(i))return i.getTime()>=e?void 0:(e-i.getTime())*.1}if(n.immutable)return 31536e3}function qk(A,e,t){let r=-1/0,s=-1/0,n=-1/0;if(e["stale-while-revalidate"]&&(r=t+e["stale-while-revalidate"]*1e3),e["stale-if-error"]&&(s=t+e["stale-if-error"]*1e3),e.immutable&&r===-1/0&&s===-1/0&&(n=A+31536e6),r===-1/0&&s===-1/0&&n===-1/0){let o=t-A;return t+o}return Math.max(t,r,s,n)}function Wk(A,e){let t=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];A.connection&&(Array.isArray(A.connection)?t.push(...A.connection.map(s=>s.trim())):t.push(...A.connection.split(",").map(s=>s.trim()))),Array.isArray(e["no-cache"])&&t.push(...e["no-cache"]),Array.isArray(e.private)&&t.push(...e.private);let r;for(let s of t)A[s]&&(r??={...A},delete r[s]);return r??A}function _k(A){return A instanceof Date&&Number.isFinite(A.valueOf())}df.exports=Xl});var zl=p((Gv,Df)=>{"use strict";var{Writable:Zk}=require("node:stream"),{EventEmitter:jk}=require("node:events"),{assertCacheKey:pf,assertCacheValue:Xk}=Kr(),Kl=class extends jk{#e=1024;#A=104857600;#t=5242880;#r=0;#n=0;#s=new Map;#a=!1;constructor(e){if(super(),e){if(typeof e!="object")throw new TypeError("MemoryCacheStore options must be an object");if(e.maxCount!==void 0){if(typeof e.maxCount!="number"||!Number.isInteger(e.maxCount)||e.maxCount<0)throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#e=e.maxCount}if(e.maxSize!==void 0){if(typeof e.maxSize!="number"||!Number.isInteger(e.maxSize)||e.maxSize<0)throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#A=e.maxSize}if(e.maxEntrySize!==void 0){if(typeof e.maxEntrySize!="number"||!Number.isInteger(e.maxEntrySize)||e.maxEntrySize<0)throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#t=e.maxEntrySize}}}get size(){return this.#r}isFull(){return this.#r>=this.#A||this.#n>=this.#e}get(e){pf(e);let t=`${e.origin}:${e.path}`,r=Date.now(),s=this.#s.get(t),n=s?yf(e,s,r):null;return n==null?void 0:{statusMessage:n.statusMessage,statusCode:n.statusCode,headers:n.headers,body:n.body,vary:n.vary?n.vary:void 0,etag:n.etag,cacheControlDirectives:n.cacheControlDirectives,cachedAt:n.cachedAt,staleAt:n.staleAt,deleteAt:n.deleteAt}}createWriteStream(e,t){pf(e),Xk(t);let r=`${e.origin}:${e.path}`,s=this,n={...e,...t,body:[],size:0};return new Zk({write(o,i,a){typeof o=="string"&&(o=Buffer.from(o,i)),n.size+=o.byteLength,n.size>=s.#t?this.destroy():n.body.push(o),a(null)},final(o){let i=s.#s.get(r);i||(i=[],s.#s.set(r,i));let a=yf(e,i,Date.now());if(a){let c=i.indexOf(a);i.splice(c,1,n),s.#r-=a.size}else i.push(n),s.#n+=1;if(s.#r+=n.size,s.#r>s.#A||s.#n>s.#e){s.#a||(s.emit("maxSizeExceeded",{size:s.#r,maxSize:s.#A,count:s.#n,maxCount:s.#e}),s.#a=!0);for(let[c,g]of s.#s){for(let h of g.splice(0,g.length/2))s.#r-=h.size,s.#n-=1;g.length===0&&s.#s.delete(c)}s.#r<s.#A&&s.#n<s.#e&&(s.#a=!1)}o(null)}})}delete(e){if(typeof e!="object")throw new TypeError(`expected key to be object, got ${typeof e}`);let t=`${e.origin}:${e.path}`;for(let r of this.#s.get(t)??[])this.#r-=r.size,this.#n-=1;this.#s.delete(t)}};function yf(A,e,t){return e.find(r=>r.deleteAt>t&&r.method===A.method&&(r.vary==null||Object.keys(r.vary).every(s=>r.vary[s]===null?A.headers[s]===void 0:r.vary[s]===A.headers[s])))}Df.exports=Kl});var wf=p((Ov,mf)=>{"use strict";var Kk=require("node:assert"),$l=class{#e=!1;#A;#t;#r;#n;constructor(e,t,r){if(typeof e!="function")throw new TypeError("callback must be a function");this.#A=e,this.#t=t,this.#n=r}onRequestStart(e,t){this.#e=!1,this.#r=t}onRequestUpgrade(e,t,r,s){this.#t.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){if(Kk(this.#A!=null),this.#e=t===304||this.#n&&t>=500&&t<=504,this.#A(this.#e,this.#r),this.#A=null,this.#e)return!0;this.#t.onRequestStart?.(e,this.#r),this.#t.onResponseStart?.(e,t,r,s)}onResponseData(e,t){if(!this.#e)return this.#t.onResponseData?.(e,t)}onResponseEnd(e,t){this.#e||this.#t.onResponseEnd?.(e,t)}onResponseError(e,t){if(!this.#e)if(this.#A&&(this.#A(!1),this.#A=null),typeof this.#t.onResponseError=="function")this.#t.onResponseError(e,t);else throw t}};mf.exports=$l});var Ff=p((Vv,Nf)=>{"use strict";var Rf=require("node:assert"),{Readable:zk}=require("node:stream"),zr=G(),Qn=ff(),$k=zl(),eL=wf(),{assertCacheStore:AL,assertCacheMethods:tL,makeCacheKey:rL,normalizeHeaders:sL,parseCacheControlHeader:nL}=Kr(),{AbortError:oL}=Y();function iL(A,e){if(A!==void 0){if(!Array.isArray(A))throw new TypeError(`expected ${e} to be an array or undefined, got ${typeof A}`);for(let t=0;t<A.length;t++){let r=A[t];if(typeof r!="string"&&!(r instanceof RegExp))throw new TypeError(`expected ${e}[${t}] to be a string or RegExp, got ${typeof r}`)}}}var AE=()=>{};function aL(A,e,{headers:t={}}){return!!(e?.["no-cache"]||A.cacheControlDirectives?.["no-cache"]&&!Array.isArray(A.cacheControlDirectives["no-cache"])||t["if-modified-since"]||t["if-none-match"])}function cL(A,e){let t=Date.now();if(t>A.staleAt){if(e?.["max-stale"]){let r=A.staleAt+e["max-stale"]*1e3;return t>r}return!0}if(e?.["min-fresh"]){let r=A.staleAt-t,s=e["min-fresh"]*1e3;return r<=s}return!1}function gL(A){let e=A.cacheControlDirectives?.["stale-while-revalidate"];if(!e)return!1;let t=Date.now(),r=A.staleAt+e*1e3;return t<=r}function lL(A,e,t,r,s,n){if(n?.["only-if-cached"]){let o=!1;try{if(typeof r.onConnect=="function"&&(r.onConnect(()=>{o=!0}),o)||typeof r.onHeaders=="function"&&(r.onHeaders(504,[],AE,"Gateway Timeout"),o))return;typeof r.onComplete=="function"&&r.onComplete([])}catch(i){typeof r.onError=="function"&&r.onError(i)}return!0}return A(s,new Qn(e,t,r))}function eE(A,e,t,r,s,n){let o=zr.isStream(t.body)?t.body:zk.from(t.body??[]);Rf(!o.destroyed,"stream should not be destroyed"),Rf(!o.readableDidRead,"stream should not be readableDidRead");let i={resume(){o.resume()},pause(){o.pause()},get paused(){return o.isPaused()},get aborted(){return o.destroyed},get reason(){return o.errored},abort(c){o.destroy(c??new oL)}};if(o.on("error",function(c){if(!this.readableEnded)if(typeof A.onResponseError=="function")A.onResponseError(i,c);else throw c}).on("close",function(){this.errored||A.onResponseEnd?.(i,{})}),A.onRequestStart?.(i,s),o.destroyed)return;let a={...t.headers,age:String(r)};n&&(a.warning='110 - "response is stale"'),A.onResponseStart?.(i,t.statusCode,a,t.statusMessage),e.method==="HEAD"?o.destroy():o.on("data",function(c){A.onResponseData?.(i,c)})}function Sf(A,e,t,r,s,n,o){if(!o)return lL(A,e,t,r,s,n);let i=Date.now();if(i>o.deleteAt)return A(s,new Qn(e,t,r));let a=Math.round((i-o.cachedAt)/1e3);if(n?.["max-age"]&&a>=n["max-age"])return A(s,r);let c=cL(o,n),g=aL(o,n,s);if(c||g){if(zr.isStream(s.body)&&zr.bodyLength(s.body)!==0)return A(s,new Qn(e,t,r));if(!g&&gL(o))return eE(r,s,o,a,null,!0),queueMicrotask(()=>{let E={...s.headers,"if-modified-since":new Date(o.cachedAt).toUTCString()};if(o.etag&&(E["if-none-match"]=o.etag),o.vary)for(let B in o.vary)o.vary[B]!=null&&(E[B]=o.vary[B]);A({...s,headers:E},new Qn(e,t,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let h=!1,Q=o.cacheControlDirectives["stale-if-error"]??n?.["stale-if-error"];Q&&(h=i<o.staleAt+Q*1e3);let l={...s.headers,"if-modified-since":new Date(o.cachedAt).toUTCString()};if(o.etag&&(l["if-none-match"]=o.etag),o.vary)for(let E in o.vary)o.vary[E]!=null&&(l[E]=o.vary[E]);return A({...s,headers:l},new eL((E,B)=>{E?eE(r,s,o,a,B,c):zr.isStream(o.body)&&o.body.on("error",AE).destroy()},new Qn(e,t,r),h))}zr.isStream(s.body)&&s.body.on("error",AE).destroy(),eE(r,s,o,a,null,!1)}Nf.exports=(A={})=>{let{store:e=new $k,methods:t=["GET"],cacheByDefault:r=void 0,type:s="shared",origins:n=void 0}=A;if(typeof A!="object"||A===null)throw new TypeError(`expected type of opts to be an Object, got ${A===null?"null":typeof A}`);if(AL(e,"opts.store"),tL(t,"opts.methods"),iL(n,"opts.origins"),typeof r<"u"&&typeof r!="number")throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof r}`);if(typeof s<"u"&&s!=="shared"&&s!=="private")throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof s}`);let o={store:e,methods:t,cacheByDefault:r,type:s},i=zr.safeHTTPMethods.filter(a=>t.includes(a)===!1);return a=>(c,g)=>{if(!c.origin||i.includes(c.method))return a(c,g);if(n!==void 0){let E=c.origin.toString().toLowerCase(),B=!1;for(let D=0;D<n.length;D++){let C=n[D];if(typeof C=="string"){if(C.toLowerCase()===E){B=!0;break}}else if(C.test(E)){B=!0;break}}if(!B)return a(c,g)}c={...c,headers:sL(c)};let h=c.headers?.["cache-control"]?nL(c.headers["cache-control"]):void 0;if(h?.["no-store"])return a(c,g);let Q=rL(c),l=e.get(Q);return l&&typeof l.then=="function"?l.then(E=>Sf(a,o,Q,g,c,h,E)):Sf(a,o,Q,g,c,h,l)}}});var kf=p((vv,Tf)=>{"use strict";var{createInflate:tE,createGunzip:bf,createBrotliDecompress:EL,createZstdDecompress:QL}=require("node:zlib"),{pipeline:uL}=require("node:stream"),hL=Xr(),{runtimeFeatures:IL}=JA(),Uf={gzip:bf,"x-gzip":bf,br:EL,deflate:tE,compress:tE,"x-compress":tE,...IL.has("zstd")?{zstd:QL}:{}},BL=[204,304],Mf=!1,rE=class extends hL{#e=[];#A;#t;constructor(e,{skipStatusCodes:t=BL,skipErrorResponses:r=!0}={}){super(e),this.#A=t,this.#t=r}#r(e,t){return!!(!e||t<200||this.#A.includes(t)||this.#t&&t>=400)}#n(e){let t=e.split(","),r=5;if(t.length>r)throw new Error(`too many content-encodings in response: ${t.length}, maximum allowed is ${r}`);let s=[];for(let n=t.length-1;n>=0;n--){let o=t[n].trim();if(o){if(!Uf[o])return s.length=0,s;s.push(Uf[o]())}}return s}#s(e,t){e.on("readable",()=>{let r;for(;(r=e.read())!==null&&super.onResponseData(t,r)!==!1;);}),e.on("error",r=>{super.onResponseError(t,r)})}#a(e){let t=this.#e[0];this.#s(t,e),t.on("end",()=>{super.onResponseEnd(e,{})})}#o(e){let t=this.#e[this.#e.length-1];this.#s(t,e),uL(this.#e,r=>{if(r){super.onResponseError(e,r);return}super.onResponseEnd(e,{})})}#i(){this.#e.length=0}onResponseStart(e,t,r,s){let n=r["content-encoding"];if(this.#r(n,t))return super.onResponseStart(e,t,r,s);let o=this.#n(n.toLowerCase());if(o.length===0)return this.#i(),super.onResponseStart(e,t,r,s);this.#e=o;let{"content-encoding":i,"content-length":a,...c}=r;return this.#e.length===1?this.#a(e):this.#o(e),super.onResponseStart(e,t,c,s)}onResponseData(e,t){if(this.#e.length>0){this.#e[0].write(t);return}super.onResponseData(e,t)}onResponseEnd(e,t){if(this.#e.length>0){this.#e[0].end(),this.#i();return}super.onResponseEnd(e,t)}onResponseError(e,t){if(this.#e.length>0){for(let r of this.#e)r.destroy(t);this.#i()}super.onResponseError(e,t)}};function CL(A={}){return Mf||(process.emitWarning("DecompressInterceptor is experimental and subject to change","ExperimentalWarning"),Mf=!0),e=>(t,r)=>{let s=new rE(r,A);return e(t,s)}}Tf.exports=CL});var xf=p((Jv,Hf)=>{"use strict";var{RequestAbortedError:dL}=Y(),Lf=5*1024*1024,sE=class{#e;#A=[];#t=Lf;#r=0;#n={};#s="";#a=!1;#o=!1;#i=!1;#c=!1;#E=null;#g=null;constructor(e,t,r=Lf){this.#e=e,this.#g=t,this.#t=r}addWaitingHandler(e){if(this.#c||this.#i)return!1;let t=this.#l(e),r=t.controller;try{if(e.onRequestStart?.(r,null),r.aborted)return t.done=!0,!0;this.#o&&e.onResponseStart?.(r,this.#r,this.#n,this.#s)}catch{return t.done=!0,!0}return r.aborted||this.#A.push(t),!0}onRequestStart(e,t){this.#E=e,this.#e.onRequestStart?.(e,t)}onRequestUpgrade(e,t,r,s){this.#e.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){this.#o=!0,this.#r=t,this.#n=r,this.#s=s,this.#e.onResponseStart?.(e,t,r,s);for(let n of this.#A){let{handler:o,controller:i}=n;if(n.done||i.aborted){n.done=!0;continue}try{o.onResponseStart?.(i,t,r,s)}catch{}i.aborted&&(n.done=!0)}this.#h()}onResponseData(e,t){if(!(this.#a||this.#c)){this.#i=!0,this.#e.onResponseData?.(e,t);for(let r of this.#A){let{handler:s,controller:n}=r;if(r.done||n.aborted){r.done=!0;continue}if(n.paused){this.#Q(r,t);continue}try{s.onResponseData?.(n,t)}catch{}n.aborted&&(r.done=!0,r.bufferedChunks=[],r.bufferedBytes=0)}this.#h()}}onResponseEnd(e,t){if(!(this.#a||this.#c)){this.#c=!0,this.#e.onResponseEnd?.(e,t);for(let r of this.#A){if(r.done||r.controller.aborted){r.done=!0;continue}if(this.#u(r),r.done||r.controller.aborted){r.done=!0;continue}if(r.controller.paused&&r.bufferedChunks.length>0){r.pendingTrailers=t;continue}try{r.handler.onResponseEnd?.(r.controller,t)}catch{}r.done=!0}this.#h(),this.#g?.()}}onResponseError(e,t){if(!this.#c){this.#a=!0,this.#c=!0,this.#e.onResponseError?.(e,t);for(let r of this.#A)this.#I(r,t);this.#A=[],this.#g?.()}}#l(e){let t={handler:e,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},r={aborted:!1,paused:!1,reason:null};return t.controller={resume:()=>{if(!r.aborted){if(r.paused=!1,this.#u(t),this.#c&&t.pendingTrailers&&t.bufferedChunks.length===0&&!r.paused&&!r.aborted){try{t.handler.onResponseEnd?.(t.controller,t.pendingTrailers)}catch{}t.pendingTrailers=null,t.done=!0}this.#h()}},pause:()=>{r.aborted||(r.paused=!0)},get paused(){return r.paused},get aborted(){return r.aborted},get reason(){return r.reason},abort:s=>{r.aborted=!0,r.reason=s??null,t.done=!0,t.pendingTrailers=null,t.bufferedChunks=[],t.bufferedBytes=0}},t}#Q(e,t){if(e.done||e.controller.aborted){e.done=!0,e.bufferedChunks=[],e.bufferedBytes=0;return}let r=Buffer.from(t);if(e.bufferedChunks.push(r),e.bufferedBytes+=r.length,e.bufferedBytes>this.#t){let s=new dL(`Deduplicated waiting handler exceeded maxBufferSize (${this.#t} bytes) while paused`);this.#I(e,s)}}#u(e){let{handler:t,controller:r}=e;for(;!e.done&&!r.aborted&&!r.paused&&e.bufferedChunks.length>0;){let s=e.bufferedChunks.shift();e.bufferedBytes-=s.length;try{t.onResponseData?.(r,s)}catch{}if(r.aborted){e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0;break}}}#I(e,t){if(!e.done){e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0;try{e.controller.abort(t),e.handler.onResponseError?.(e.controller,t)}catch{}}}#h(){this.#A=this.#A.filter(e=>e.done===!1)}};Hf.exports=sE});var Gf=p((Pv,Yf)=>{"use strict";var fL=require("node:diagnostics_channel"),pL=G(),yL=xf(),{normalizeHeaders:DL,makeCacheKey:mL,makeDeduplicationKey:wL}=Kr(),$o=fL.channel("undici:request:pending-requests");Yf.exports=(A={})=>{let{methods:e=["GET"],skipHeaderNames:t=[],excludeHeaderNames:r=[],maxBufferSize:s=5*1024*1024}=A;if(typeof A!="object"||A===null)throw new TypeError(`expected type of opts to be an Object, got ${A===null?"null":typeof A}`);if(!Array.isArray(e))throw new TypeError(`expected opts.methods to be an array, got ${typeof e}`);for(let a of e)if(!pL.safeHTTPMethods.includes(a))throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${a}`);if(!Array.isArray(t))throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof t}`);if(!Array.isArray(r))throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof r}`);if(!Number.isFinite(s)||s<=0)throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${s}`);let n=new Set(t.map(a=>a.toLowerCase())),o=new Set(r.map(a=>a.toLowerCase())),i=new Map;return a=>(c,g)=>{if(!c.origin||e.includes(c.method)===!1)return a(c,g);if(c={...c,headers:DL(c)},n.size>0){for(let B of Object.keys(c.headers))if(n.has(B.toLowerCase()))return a(c,g)}let h=mL(c),Q=wL(h,o),l=i.get(Q);if(l)return l.addWaitingHandler(g)?!0:a(c,g);let E=new yL(g,()=>{i.delete(Q),$o.hasSubscribers&&$o.publish({size:i.size,key:Q,type:"removed"})},s);return i.set(Q,E),$o.hasSubscribers&&$o.publish({size:i.size,key:Q,type:"added"}),a(c,E)}}});var vf=p((Wv,Vf)=>{"use strict";var{Writable:RL}=require("node:stream"),{assertCacheKey:nE,assertCacheValue:SL}=Kr(),oE,_e=3,Of=2*1e3*1e3*1e3;Vf.exports=class{#e=Of;#A=1/0;#t;#r;#n;#s;#a;#o;#i;#c;constructor(e){if(e){if(typeof e!="object")throw new TypeError("SqliteCacheStore options must be an object");if(e.maxEntrySize!==void 0){if(typeof e.maxEntrySize!="number"||!Number.isInteger(e.maxEntrySize)||e.maxEntrySize<0)throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(e.maxEntrySize>Of)throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#e=e.maxEntrySize}if(e.maxCount!==void 0){if(typeof e.maxCount!="number"||!Number.isInteger(e.maxCount)||e.maxCount<0)throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#A=e.maxCount}}oE||(oE=require("node:sqlite").DatabaseSync),this.#t=new oE(e?.location??":memory:"),this.#t.exec(`
|
|
44
|
+
${e.format(t)}`.trim())}};Ld.exports=Yl});var Ol=p((YV,Gd)=>{"use strict";var{InvalidArgumentError:GT}=Y(),{runtimeFeatures:OT}=JA();function vT(A={}){let{ignoreHeaders:e=[],excludeHeaders:t=[],matchHeaders:r=[],caseSensitive:s=!1}=A;return{ignore:new Set(e.map(n=>s?n:n.toLowerCase())),exclude:new Set(t.map(n=>s?n:n.toLowerCase())),match:new Set(r.map(n=>s?n:n.toLowerCase()))}}var xd=OT.has("crypto")?require("node:crypto"):null,VT=xd?.hash?A=>xd.hash("sha256",A,"base64url"):A=>Buffer.from(A).toString("base64url");function Yd(A){return Array.isArray(A)&&(A.length&1)===0}function JT(A=[]){return A.length===0?()=>!1:function(t){let r;for(let s of A)if(typeof s=="string"){if(r||(r=t.toLowerCase()),r.includes(s.toLowerCase()))return!0}else if(s instanceof RegExp&&s.test(t))return!0;return!1}}function PT(A){let e={};if(!A)return e;if(Yd(A)){for(let t=0;t<A.length;t+=2){let r=A[t],s=A[t+1];if(r&&s!==void 0){let n=Buffer.isBuffer(r)?r.toString():r,o=Buffer.isBuffer(s)?s.toString():s;e[n.toLowerCase()]=o}}return e}if(A&&typeof A=="object")for(let[t,r]of Object.entries(A))t&&typeof t=="string"&&(e[t.toLowerCase()]=Array.isArray(r)?r.join(", "):String(r));return e}var Hd=["record","playback","update"];function qT(A){if(!Hd.includes(A))throw new GT(`Invalid snapshot mode: ${A}. Must be one of: ${Hd.join(", ")}`)}Gd.exports={createHeaderFilters:vT,hashId:VT,isUndiciHeaders:Yd,normalizeHeaders:PT,isUrlExcludedFactory:JT,validateSnapshotMode:qT}});var Zd=p((GV,_d)=>{"use strict";var{writeFile:WT,readFile:_T,mkdir:ZT}=require("node:fs/promises"),{dirname:jT,resolve:Od}=require("node:path"),{setTimeout:XT,clearTimeout:vd}=require("node:timers"),{InvalidArgumentError:Vd,UndiciError:KT}=Y(),{hashId:zT,isUrlExcludedFactory:$T,normalizeHeaders:Jd,createHeaderFilters:Pd}=Ol();function En(A,e,t={}){let r=new URL(A.path,A.origin),s=A._normalizedHeaders||Jd(A.headers);return A._normalizedHeaders||(A._normalizedHeaders=s),{method:A.method||"GET",url:t.matchQuery!==!1?r.toString():`${r.origin}${r.pathname}`,headers:qd(s,e,t),body:t.matchBody!==!1&&A.body?String(A.body):""}}function qd(A,e,t={}){if(!A||typeof A!="object")return{};let{caseSensitive:r=!1}=t,s={},{ignore:n,exclude:o,match:i}=e;for(let[a,c]of Object.entries(A)){let g=r?a:a.toLowerCase();o.has(g)||n.has(g)||i.size!==0&&!i.has(g)||(s[g]=c)}return s}function Wd(A,e,t={}){if(!A||typeof A!="object")return{};let{caseSensitive:r=!1}=t,s={},{exclude:n}=e;for(let[o,i]of Object.entries(A)){let a=r?o:o.toLowerCase();n.has(a)||(s[a]=i)}return s}function un(A){let e=[A.method,A.url];if(A.headers&&typeof A.headers=="object"){let r=Object.keys(A.headers).sort();for(let s of r){let n=Array.isArray(A.headers[s])?A.headers[s]:[A.headers[s]];e.push(s);for(let o of n.sort())e.push(String(o))}}e.push(A.body);let t=e.join("|");return zT(t)}var vl=class{#e;#A;#t=new Map;#r;#n=1/0;#s=!1;#a;constructor(e={}){this.#r=e.snapshotPath,this.#n=e.maxSnapshots||1/0,this.#s=e.autoFlush||!1,this.flushInterval=e.flushInterval||3e4,this._flushTimer=null,this.matchOptions={matchHeaders:e.matchHeaders||[],ignoreHeaders:e.ignoreHeaders||[],excludeHeaders:e.excludeHeaders||[],matchBody:e.matchBody!==!1,matchQuery:e.matchQuery!==!1,caseSensitive:e.caseSensitive||!1},this.#a=Pd(this.matchOptions),this.shouldRecord=e.shouldRecord||(()=>!0),this.shouldPlayback=e.shouldPlayback||(()=>!0),this.#A=$T(e.excludeUrls),this.#s&&this.#r&&this.#o()}async record(e,t){if(!this.shouldRecord(e)||this.isUrlExcluded(e))return;let r=En(e,this.#a,this.matchOptions),s=un(r),n=Jd(t.headers),o={statusCode:t.statusCode,headers:Wd(n,this.#a,this.matchOptions),body:Buffer.isBuffer(t.body)?t.body.toString("base64"):Buffer.from(String(t.body||"")).toString("base64"),trailers:t.trailers};if(this.#t.size>=this.#n&&!this.#t.has(s)){let a=this.#t.keys().next().value;this.#t.delete(a)}let i=this.#t.get(s);i&&i.responses?(i.responses.push(o),i.timestamp=new Date().toISOString()):this.#t.set(s,{request:r,responses:[o],callCount:0,timestamp:new Date().toISOString()}),this.#s&&this.#r&&this.#c()}isUrlExcluded(e){let t=new URL(e.path,e.origin).toString();return this.#A(t)}findSnapshot(e){if(!this.shouldPlayback(e)||this.isUrlExcluded(e))return;let t=En(e,this.#a,this.matchOptions),r=un(t),s=this.#t.get(r);if(!s)return;let n=s.callCount||0,o=Math.min(n,s.responses.length-1);return s.callCount=n+1,{...s,response:s.responses[o]}}async loadSnapshots(e){let t=e||this.#r;if(!t)throw new Vd("Snapshot path is required");try{let r=await _T(Od(t),"utf8"),s=JSON.parse(r);if(Array.isArray(s)){this.#t.clear();for(let{hash:n,snapshot:o}of s)this.#t.set(n,o)}else this.#t=new Map(Object.entries(s))}catch(r){if(r.code==="ENOENT")this.#t.clear();else throw new KT(`Failed to load snapshots from ${t}`,{cause:r})}}async saveSnapshots(e){let t=e||this.#r;if(!t)throw new Vd("Snapshot path is required");let r=Od(t);await ZT(jT(r),{recursive:!0});let s=Array.from(this.#t.entries()).map(([n,o])=>({hash:n,snapshot:o}));await WT(r,JSON.stringify(s,null,2),{flush:!0})}clear(){this.#t.clear()}getSnapshots(){return Array.from(this.#t.values())}size(){return this.#t.size}resetCallCounts(){for(let e of this.#t.values())e.callCount=0}deleteSnapshot(e){let t=En(e,this.#a,this.matchOptions),r=un(t);return this.#t.delete(r)}getSnapshotInfo(e){let t=En(e,this.#a,this.matchOptions),r=un(t),s=this.#t.get(r);return s?{hash:r,request:s.request,responseCount:s.responses?s.responses.length:s.response?1:0,callCount:s.callCount||0,timestamp:s.timestamp}:null}replaceSnapshots(e){if(this.#t.clear(),Array.isArray(e))for(let{hash:t,snapshot:r}of e)this.#t.set(t,r);else e&&typeof e=="object"&&(this.#t=new Map(Object.entries(e)))}#o(){return this.#c()}#i(){this.#e&&(vd(this.#e),this.saveSnapshots().catch(()=>{}),this.#e=null)}#c(){this.#e=XT(()=>{this.saveSnapshots().catch(()=>{}),this.#s?this.#e?.refresh():this.#e=null},1e3)}destroy(){this.#i(),this.#e&&(vd(this.#e),this.#e=null)}async close(){this.#r&&this.#t.size!==0&&await this.saveSnapshots(),this.destroy()}};_d.exports={SnapshotRecorder:vl,formatRequestKey:En,createRequestHash:un,filterHeadersForMatching:qd,filterHeadersForStorage:Wd,createHeaderFilters:Pd}});var Kd=p((OV,Xd)=>{"use strict";var ek=Kt(),Ak=Gl(),{SnapshotRecorder:tk}=Zd(),rk=Rs(),{InvalidArgumentError:sk,UndiciError:nk}=Y(),{validateSnapshotMode:ok}=Ol(),Te=Symbol("kSnapshotRecorder"),xA=Symbol("kSnapshotMode"),Qn=Symbol("kSnapshotPath"),Vl=Symbol("kSnapshotLoaded"),zo=Symbol("kRealAgent"),jd=!1,Jl=class extends Ak{constructor(e={}){jd||(process.emitWarning("SnapshotAgent is experimental and subject to change","ExperimentalWarning"),jd=!0);let{mode:t="record",snapshotPath:r=null,...s}=e;if(super(s),ok(t),(t==="playback"||t==="update")&&!r)throw new sk(`snapshotPath is required when mode is '${t}'`);this[xA]=t,this[Qn]=r,this[Te]=new tk({snapshotPath:this[Qn],mode:this[xA],maxSnapshots:e.maxSnapshots,autoFlush:e.autoFlush,flushInterval:e.flushInterval,matchHeaders:e.matchHeaders,ignoreHeaders:e.ignoreHeaders,excludeHeaders:e.excludeHeaders,matchBody:e.matchBody,matchQuery:e.matchQuery,caseSensitive:e.caseSensitive,shouldRecord:e.shouldRecord,shouldPlayback:e.shouldPlayback,excludeUrls:e.excludeUrls}),this[Vl]=!1,(this[xA]==="record"||this[xA]==="update"||this[xA]==="playback"&&e.excludeUrls&&e.excludeUrls.length>0)&&(this[zo]=new ek(e)),(this[xA]==="playback"||this[xA]==="update")&&this[Qn]&&this.loadSnapshots().catch(()=>{})}dispatch(e,t){t=rk.wrap(t);let r=this[xA];if(this[Te].isUrlExcluded(e))return this[zo].dispatch(e,t);if(r==="playback"||r==="update"){if(!this[Vl])return this.#e(e,t);let s=this[Te].findSnapshot(e);if(s)return this.#t(s,t);if(r==="update")return this.#A(e,t);{let n=new nk(`No snapshot found for ${e.method||"GET"} ${e.path}`);if(t.onError){t.onError(n);return}throw n}}else if(r==="record")return this.#A(e,t)}async#e(e,t){return await this.loadSnapshots(),this.dispatch(e,t)}#A(e,t){let r={statusCode:null,headers:{},trailers:{},body:[]},s=this,n={onRequestStart(i,a){return t.onRequestStart(i,{...a,history:this.history})},onRequestUpgrade(i,a,c,g){return t.onRequestUpgrade(i,a,c,g)},onResponseStart(i,a,c,g){return r.statusCode=a,r.headers=c,t.onResponseStart(i,a,c,g)},onResponseData(i,a){return r.body.push(a),t.onResponseData(i,a)},onResponseEnd(i,a){r.trailers=a;let c=Buffer.concat(r.body);s[Te].record(e,{statusCode:r.statusCode,headers:r.headers,body:c,trailers:r.trailers}).then(()=>t.onResponseEnd(i,a)).catch(g=>t.onResponseError(i,g))}};return this[zo].dispatch(e,n)}#t(e,t){try{let{response:r}=e,s={pause(){},resume(){},abort(o){this.aborted=!0,this.reason=o},aborted:!1,paused:!1};t.onRequestStart(s),t.onResponseStart(s,r.statusCode,r.headers);let n=Buffer.from(r.body,"base64");t.onResponseData(s,n),t.onResponseEnd(s,r.trailers)}catch(r){t.onError?.(r)}}async loadSnapshots(e){await this[Te].loadSnapshots(e||this[Qn]),this[Vl]=!0,this[xA]==="playback"&&this.#r()}async saveSnapshots(e){return this[Te].saveSnapshots(e||this[Qn])}#r(){for(let e of this[Te].getSnapshots()){let{request:t,responses:r,response:s}=e,n=new URL(t.url),o=this.get(n.origin),i=r?r[0]:s;i&&o.intercept({path:n.pathname+n.search,method:t.method,headers:t.headers,body:t.body}).reply(i.statusCode,i.body,{headers:i.headers,trailers:i.trailers}).persist()}}getRecorder(){return this[Te]}getMode(){return this[xA]}clearSnapshots(){this[Te].clear()}resetCallCounts(){this[Te].resetCallCounts()}deleteSnapshot(e){return this[Te].deleteSnapshot(e)}getSnapshotInfo(e){return this[Te].getSnapshotInfo(e)}replaceSnapshots(e){this[Te].replaceSnapshots(e)}async close(){await this[Te].close(),await this[zo]?.close(),await super.close()}};Xd.exports=Jl});var $o=p((vV,Af)=>{"use strict";var zd=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:ik}=Y(),ak=Kt();ef()===void 0&&$d(new ak);function $d(A){if(!A||typeof A.dispatch!="function")throw new ik("Argument agent must implement Agent");Object.defineProperty(globalThis,zd,{value:A,writable:!0,enumerable:!1,configurable:!1})}function ef(){return globalThis[zd]}var ck=["fetch","Headers","Response","Request","FormData","WebSocket","CloseEvent","ErrorEvent","MessageEvent","EventSource"];Af.exports={setGlobalDispatcher:$d,getGlobalDispatcher:ef,installedExports:ck}});var zr=p((JV,tf)=>{"use strict";var zA=require("node:assert"),gk=Rs();tf.exports=class{#e;#A=!1;#t=!1;#r=!1;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=gk.wrap(e)}onRequestStart(...e){this.#e.onRequestStart?.(...e)}onRequestUpgrade(...e){return zA(!this.#A),zA(!this.#t),this.#e.onRequestUpgrade?.(...e)}onResponseStart(...e){return zA(!this.#A),zA(!this.#t),zA(!this.#r),this.#r=!0,this.#e.onResponseStart?.(...e)}onResponseData(...e){return zA(!this.#A),zA(!this.#t),this.#e.onResponseData?.(...e)}onResponseEnd(...e){return zA(!this.#A),zA(!this.#t),this.#A=!0,this.#e.onResponseEnd?.(...e)}onResponseError(...e){return this.#t=!0,this.#e.onResponseError?.(...e)}onBodySent(){}}});var _l=p((PV,of)=>{"use strict";var ke=G(),{kBodyUsed:hn}=j(),Wl=require("node:assert"),{InvalidArgumentError:Pl}=Y(),lk=require("node:events"),Ek=[300,301,302,303,307,308],rf=Symbol("body"),sf=()=>{},ei=class{constructor(e){this[rf]=e,this[hn]=!1}async*[Symbol.asyncIterator](){Wl(!this[hn],"disturbed"),this[hn]=!0,yield*this[rf]}},ql=class A{static buildDispatch(e,t){if(t!=null&&(!Number.isInteger(t)||t<0))throw new Pl("maxRedirections must be a positive number");let r=e.dispatch.bind(e);return(s,n)=>r(s,new A(r,t,s,n))}constructor(e,t,r,s){if(t!=null&&(!Number.isInteger(t)||t<0))throw new Pl("maxRedirections must be a positive number");this.dispatch=e,this.location=null;let{maxRedirections:n,...o}=r;this.opts=o,this.maxRedirections=t,this.handler=s,this.history=[],ke.isStream(this.opts.body)?(ke.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){Wl(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[hn]=!1,lk.prototype.on.call(this.opts.body,"data",function(){this[hn]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new ei(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&ke.isIterable(this.opts.body)&&!ke.isFormDataLike(this.opts.body)&&(this.opts.body=new ei(this.opts.body))}onRequestStart(e,t){this.handler.onRequestStart?.(e,{...t,history:this.history})}onRequestUpgrade(e,t,r,s){this.handler.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){if(this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections)throw new Error("max redirects");if((t===301||t===302)&&this.opts.method==="POST"&&(this.opts.method="GET",ke.isStream(this.opts.body)&&ke.destroy(this.opts.body.on("error",sf)),this.opts.body=null),t===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",ke.isStream(this.opts.body)&&ke.destroy(this.opts.body.on("error",sf)),this.opts.body=null),this.location=this.history.length>=this.maxRedirections||ke.isDisturbed(this.opts.body)||Ek.indexOf(t)===-1?null:r.location,this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location){this.handler.onResponseStart?.(e,t,r,s);return}let{origin:n,pathname:o,search:i}=ke.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),a=i?`${o}${i}`:o,c=`${n}${a}`;for(let g of this.history)if(g.toString()===c)throw new Pl(`Redirect loop detected. Cannot redirect to ${n}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);this.opts.headers=uk(this.opts.headers,t===303,this.opts.origin!==n),this.opts.path=a,this.opts.origin=n,this.opts.query=null}onResponseData(e,t){this.location||this.handler.onResponseData?.(e,t)}onResponseEnd(e,t){this.location?this.dispatch(this.opts,this):this.handler.onResponseEnd(e,t)}onResponseError(e,t){this.handler.onResponseError?.(e,t)}};function nf(A,e,t){if(A.length===4)return ke.headerNameToString(A)==="host";if(e&&ke.headerNameToString(A).startsWith("content-"))return!0;if(t&&(A.length===13||A.length===6||A.length===19)){let r=ke.headerNameToString(A);return r==="authorization"||r==="cookie"||r==="proxy-authorization"}return!1}function uk(A,e,t){let r=[];if(Array.isArray(A))for(let s=0;s<A.length;s+=2)nf(A[s],e,t)||r.push(A[s],A[s+1]);else if(A&&typeof A=="object"){let s=ke.hasSafeIterator(A)?A:Object.entries(A);for(let[n,o]of s)nf(n,e,t)||r.push(n,o)}else Wl(A==null,"headers must be an object or an array");return r}of.exports=ql});var cf=p((qV,af)=>{"use strict";var Qk=_l();function hk({maxRedirections:A}={}){return e=>function(r,s){let{maxRedirections:n=A,...o}=r;if(n==null||n===0)return e(r,s);let i={...o},a=new Qk(e,n,i,s);return e(i,a)}}af.exports=hk});var lf=p((WV,gf)=>{"use strict";var Ik=zr(),{ResponseError:Bk}=Y(),Zl=class extends Ik{#e;#A;#t;#r;#n;constructor(e,{handler:t}){super(t)}#s(e){return(this.#A??"").indexOf(e)===0}onRequestStart(e,t){return this.#e=0,this.#A=null,this.#t=null,this.#r=null,this.#n="",super.onRequestStart(e,t)}onResponseStart(e,t,r,s){if(this.#e=t,this.#r=r,this.#A=r["content-type"],this.#e<400)return super.onResponseStart(e,t,r,s);(this.#s("application/json")||this.#s("text/plain"))&&(this.#t=new TextDecoder("utf-8"))}onResponseData(e,t){if(this.#e<400)return super.onResponseData(e,t);this.#n+=this.#t?.decode(t,{stream:!0})??""}onResponseEnd(e,t){if(this.#e>=400){if(this.#n+=this.#t?.decode(void 0,{stream:!1})??"",this.#s("application/json"))try{this.#n=JSON.parse(this.#n)}catch{}let r,s=Error.stackTraceLimit;Error.stackTraceLimit=0;try{r=new Bk("Response Error",this.#e,{body:this.#n,headers:this.#r})}finally{Error.stackTraceLimit=s}super.onResponseError(e,r)}else super.onResponseEnd(e,t)}onResponseError(e,t){super.onResponseError(e,t)}};gf.exports=()=>A=>function(t,r){return A(t,new Zl(t,{handler:r}))}});var uf=p((_V,Ef)=>{"use strict";var Ck=Yo();Ef.exports=A=>e=>function(r,s){return e(r,new Ck({...r,retryOptions:{...A,...r.retryOptions}},{handler:s,dispatch:e}))}});var hf=p((ZV,Qf)=>{"use strict";var{InvalidArgumentError:dk,RequestAbortedError:fk}=Y(),pk=zr(),jl=class extends pk{#e=1024*1024;#A=!1;#t=0;#r=null;aborted=!1;reason=!1;constructor({maxSize:e,signal:t},r){if(e!=null&&(!Number.isFinite(e)||e<1))throw new dk("maxSize must be a number greater than 0");super(r),this.#e=e??this.#e}#n(e){this.aborted=!0,this.reason=e}onRequestStart(e,t){return e.abort=this.#n.bind(this),this.#r=e,super.onRequestStart(e,t)}onResponseStart(e,t,r,s){let n=r["content-length"];if(n!=null&&n>this.#e)throw new fk(`Response size (${n}) larger than maxSize (${this.#e})`);return this.aborted===!0?!0:super.onResponseStart(e,t,r,s)}onResponseError(e,t){this.#A||(t=this.#r?.reason??t,super.onResponseError(e,t))}onResponseData(e,t){return this.#t=this.#t+t.length,this.#t>=this.#e&&(this.#A=!0,this.aborted===!0?super.onResponseError(e,this.reason):super.onResponseEnd(e,{})),!0}onResponseEnd(e,t){if(!this.#A){if(this.#r.aborted===!0){super.onResponseError(e,this.reason);return}super.onResponseEnd(e,t)}}};function yk({maxSize:A}={maxSize:1024*1024}){return e=>function(r,s){let{dumpMaxSize:n=A}=r,o=new jl({maxSize:n,signal:r.signal},s);return e(r,o)}}Qf.exports=yk});var df=p((jV,Cf)=>{"use strict";var{isIP:Dk}=require("node:net"),{lookup:mk}=require("node:dns"),wk=zr(),{InvalidArgumentError:ir,InformationalError:Rk}=Y(),Xl=Math.pow(2,31)-1;function Sk(A){let e=Object.getPrototypeOf(A);return Object.prototype.hasOwnProperty.call(A,Symbol.iterator)||e!=null&&e!==Object.prototype&&typeof A[Symbol.iterator]=="function"}function If(A){return typeof A=="string"&&A.toLowerCase()==="host"}function Nk(A){if(A==null)return null;if(Array.isArray(A)){if(A.length===0||!Array.isArray(A[0]))return A;let e=[];for(let t of A)Array.isArray(t)&&t.length===2?e.push(t[0],t[1]):e.push(t);return e}if(typeof A=="object"&&Sk(A)){let e=[];for(let t of A)Array.isArray(t)&&t.length===2?e.push(t[0],t[1]):e.push(t);return e}return A}function Fk(A){if(A==null)return!1;if(Array.isArray(A)){if(A.length===0)return!1;for(let e=0;e<A.length;e+=2)if(If(A[e]))return!0;return!1}if(typeof A=="object"){for(let e in A)if(If(e))return!0}return!1}function Bf(A,e){let t=Nk(e);return Fk(t)?t:Array.isArray(t)?["host",A,...t]:t&&typeof t=="object"?{host:A,...t}:{host:A}}var Kl=class{#e=0;#A=new Map;constructor(e){this.#e=e.maxItems}get size(){return this.#A.size}get(e){return this.#A.get(e)??null}set(e,t){this.#A.set(e,t)}delete(e){this.#A.delete(e)}full(){return this.size>=this.#e}},zl=class{#e=0;#A=0;dualStack=!0;affinity=null;lookup=null;pick=null;storage=null;constructor(e){this.#e=e.maxTTL,this.#A=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#t,this.pick=e.pick??this.#r,this.storage=e.storage??new Kl(e)}runLookup(e,t,r){let s=this.storage.get(e.hostname);if(s==null&&this.storage.full()){r(null,e);return}let n={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#e,maxItems:this.#A};if(s==null)this.lookup(e,n,(o,i)=>{if(o||i==null||i.length===0){r(o??new Rk("No DNS entries found"));return}this.setRecords(e,i);let a=this.storage.get(e.hostname),c=this.pick(e,a,n.affinity),g;typeof c.port=="number"?g=`:${c.port}`:e.port!==""?g=`:${e.port}`:g="",r(null,new URL(`${e.protocol}//${c.family===6?`[${c.address}]`:c.address}${g}`))});else{let o=this.pick(e,s,n.affinity);if(o==null){this.storage.delete(e.hostname),this.runLookup(e,t,r);return}let i;typeof o.port=="number"?i=`:${o.port}`:e.port!==""?i=`:${e.port}`:i="",r(null,new URL(`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${i}`))}}#t(e,t,r){mk(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,n)=>{if(s)return r(s);let o=new Map;for(let i of n)o.set(`${i.address}:${i.family}`,i);r(null,o.values())})}#r(e,t,r){let s=null,{records:n,offset:o}=t,i;if(this.dualStack?(r==null&&(o==null||o===Xl?(t.offset=0,r=4):(t.offset++,r=(t.offset&1)===1?6:4)),n[r]!=null&&n[r].ips.length>0?i=n[r]:i=n[r===4?6:4]):i=n[r],i==null||i.ips.length===0)return s;i.offset==null||i.offset===Xl?i.offset=0:i.offset++;let a=i.offset%i.ips.length;return s=i.ips[a]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(i.ips.splice(a,1),this.pick(e,t,r)):s}pickFamily(e,t){let r=this.storage.get(e.hostname)?.records;if(!r)return null;let s=r[t];if(!s)return null;s.offset==null||s.offset===Xl?s.offset=0:s.offset++;let n=s.offset%s.ips.length,o=s.ips[n]??null;return o==null||Date.now()-o.timestamp>o.ttl&&s.ips.splice(n,1),o}setRecords(e,t){let r=Date.now(),s={records:{4:null,6:null}},n=this.#e;for(let o of t){o.timestamp=r,typeof o.ttl=="number"?(o.ttl=Math.min(o.ttl,this.#e),n=Math.min(n,o.ttl)):o.ttl=this.#e;let i=s.records[o.family]??{ips:[]};i.ips.push(o),s.records[o.family]=i}this.storage.set(e.hostname,s,{ttl:n})}deleteRecords(e){this.storage.delete(e.hostname)}getHandler(e,t){return new $l(this,e,t)}},$l=class extends wk{#e=null;#A=null;#t=null;#r=null;#n=null;#s=null;#a=!0;constructor(e,{origin:t,handler:r,dispatch:s,newOrigin:n},o){super(r),this.#r=t,this.#s=n,this.#A={...o},this.#e=e,this.#t=s}onResponseError(e,t){switch(t.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){if(!this.#a){super.onResponseError(e,t);return}this.#a=!1;let r=this.#s.hostname[0]==="["?4:6,s=this.#e.pickFamily(this.#r,r);if(s==null){super.onResponseError(e,t);return}let n;typeof s.port=="number"?n=`:${s.port}`:this.#r.port!==""?n=`:${this.#r.port}`:n="";let o={...this.#A,origin:`${this.#r.protocol}//${s.family===6?`[${s.address}]`:s.address}${n}`,headers:Bf(this.#r.host,this.#A.headers)};this.#t(o,this);return}super.onResponseError(e,t);break}case"ENOTFOUND":this.#e.deleteRecords(this.#r),super.onResponseError(e,t);break;default:super.onResponseError(e,t);break}}};Cf.exports=A=>{if(A?.maxTTL!=null&&(typeof A?.maxTTL!="number"||A?.maxTTL<0))throw new ir("Invalid maxTTL. Must be a positive number");if(A?.maxItems!=null&&(typeof A?.maxItems!="number"||A?.maxItems<1))throw new ir("Invalid maxItems. Must be a positive number and greater than zero");if(A?.affinity!=null&&A?.affinity!==4&&A?.affinity!==6)throw new ir("Invalid affinity. Must be either 4 or 6");if(A?.dualStack!=null&&typeof A?.dualStack!="boolean")throw new ir("Invalid dualStack. Must be a boolean");if(A?.lookup!=null&&typeof A?.lookup!="function")throw new ir("Invalid lookup. Must be a function");if(A?.pick!=null&&typeof A?.pick!="function")throw new ir("Invalid pick. Must be a function");if(A?.storage!=null&&(typeof A?.storage?.get!="function"||typeof A?.storage?.set!="function"||typeof A?.storage?.full!="function"||typeof A?.storage?.delete!="function"))throw new ir("Invalid storage. Must be a object with methods: { get, set, full, delete }");let e=A?.dualStack??!0,t;e?t=A?.affinity??null:t=A?.affinity??4;let r={maxTTL:A?.maxTTL??1e4,lookup:A?.lookup??null,pick:A?.pick??null,dualStack:e,affinity:t,maxItems:A?.maxItems??1/0,storage:A?.storage},s=new zl(r);return n=>function(i,a){let c=i.origin.constructor===URL?i.origin:new URL(i.origin);return Dk(c.hostname)!==0?n(i,a):(s.runLookup(c,i,(g,Q)=>{if(g)return a.onResponseError(null,g);let u={...i,servername:c.hostname,origin:Q.origin,headers:Bf(c.host,i.headers)};n(u,s.getHandler({origin:c,dispatch:n,handler:a,newOrigin:Q},i))}),!0)}}});var $r=p((XV,pf)=>{"use strict";var{safeHTTPMethods:ff,pathHasQueryOrFragment:bk,hasSafeIterator:Uk}=G(),{serializePathWithQuery:Mk}=G();function Tk(A){if(!A.origin)throw new Error("opts.origin is undefined");let e=A.path||"/";return A.query&&!bk(A.path)&&(e=Mk(e,A.query)),{origin:A.origin.toString(),method:A.method,path:e,headers:A.headers}}function kk(A){let e;if(A.headers==null)e={};else if(typeof A.headers=="object")if(e={},Uk(A.headers))for(let t of A.headers){if(!Array.isArray(t))throw new Error("opts.headers is not a valid header map");let[r,s]=t;if(typeof r!="string"||typeof s!="string")throw new Error("opts.headers is not a valid header map");e[r.toLowerCase()]=s}else for(let t of Object.keys(A.headers))e[t.toLowerCase()]=A.headers[t];else throw new Error("opts.headers is not an object");return e}function Lk(A){if(typeof A!="object")throw new TypeError(`expected key to be object, got ${typeof A}`);for(let e of["origin","method","path"])if(typeof A[e]!="string")throw new TypeError(`expected key.${e} to be string, got ${typeof A[e]}`);if(A.headers!==void 0&&typeof A.headers!="object")throw new TypeError(`expected headers to be object, got ${typeof A}`)}function xk(A){if(typeof A!="object")throw new TypeError(`expected value to be object, got ${typeof A}`);for(let e of["statusCode","cachedAt","staleAt","deleteAt"])if(typeof A[e]!="number")throw new TypeError(`expected value.${e} to be number, got ${typeof A[e]}`);if(typeof A.statusMessage!="string")throw new TypeError(`expected value.statusMessage to be string, got ${typeof A.statusMessage}`);if(A.headers!=null&&typeof A.headers!="object")throw new TypeError(`expected value.rawHeaders to be object, got ${typeof A.headers}`);if(A.vary!==void 0&&typeof A.vary!="object")throw new TypeError(`expected value.vary to be object, got ${typeof A.vary}`);if(A.etag!==void 0&&typeof A.etag!="string")throw new TypeError(`expected value.etag to be string, got ${typeof A.etag}`)}function Hk(A){let e={},t;if(Array.isArray(A)){t=[];for(let r of A)t.push(...r.split(","))}else t=A.split(",");for(let r=0;r<t.length;r++){let s=t[r].toLowerCase(),n=s.indexOf("="),o,i;switch(n!==-1?(o=s.substring(0,n).trimStart(),i=s.substring(n+1)):o=s.trim(),o){case"min-fresh":case"max-stale":case"max-age":case"s-maxage":case"stale-while-revalidate":case"stale-if-error":{if(i===void 0||i[0]===" ")continue;i.length>=2&&i[0]==='"'&&i[i.length-1]==='"'&&(i=i.substring(1,i.length-1));let a=parseInt(i,10);if(a!==a||o==="max-age"&&o in e&&e[o]>=a)continue;e[o]=a;break}case"private":case"no-cache":if(i){if(i[0]==='"'){let a=[i.substring(1)],c=i[i.length-1]==='"';if(!c)for(let g=r+1;g<t.length;g++){let Q=t[g],u=Q.length;if(a.push(Q.trim()),u!==0&&Q[u-1]==='"'){c=!0;break}}if(c){let g=a[a.length-1];g[g.length-1]==='"'&&(g=g.substring(0,g.length-1),a[a.length-1]=g),o in e?e[o]=e[o].concat(a):e[o]=a}}else o in e?e[o]=e[o].concat(i):e[o]=[i];break}case"public":case"no-store":case"must-revalidate":case"proxy-revalidate":case"immutable":case"no-transform":case"must-understand":case"only-if-cached":if(i)continue;e[o]=!0;break;default:continue}}return e}function Yk(A,e){if(typeof A=="string"&&A.includes("*"))return e;let t={},r=typeof A=="string"?A.split(","):A;for(let s of r){let n=s.trim().toLowerCase();t[n]=e[n]??null}return t}function Gk(A){return A.length<=2?!1:A[0]==='"'&&A[A.length-1]==='"'?!(A[1]==='"'||A.startsWith('"W/')):A.startsWith('W/"')&&A[A.length-1]==='"'?A.length!==4:!1}function Ok(A,e="CacheStore"){if(typeof A!="object"||A===null)throw new TypeError(`expected type of ${e} to be a CacheStore, got ${A===null?"null":typeof A}`);for(let t of["get","createWriteStream","delete"])if(typeof A[t]!="function")throw new TypeError(`${e} needs to have a \`${t}()\` function`)}function vk(A,e="CacheMethods"){if(!Array.isArray(A))throw new TypeError(`expected type of ${e} needs to be an array, got ${A===null?"null":typeof A}`);if(A.length===0)throw new TypeError(`${e} needs to have at least one method`);for(let t of A)if(!ff.includes(t))throw new TypeError(`element of ${e}-array needs to be one of following values: ${ff.join(", ")}, got ${t}`)}function Vk(A,e){let t=`${A.origin}:${A.method}:${A.path}`;if(A.headers){let r=Object.keys(A.headers).sort();for(let s of r){if(e?.has(s.toLowerCase()))continue;let n=A.headers[s];t+=`:${s}=${Array.isArray(n)?n.join(","):n}`}}return t}pf.exports={makeCacheKey:Tk,normalizeHeaders:kk,assertCacheKey:Lk,assertCacheValue:xk,parseCacheControlHeader:Hk,parseVaryHeader:Yk,isEtagUsable:Gk,assertCacheMethods:vk,assertCacheStore:Ok,makeDeduplicationKey:Vk}});var Df=p((KV,yf)=>{"use strict";function Jk(A){switch(A[3]){case",":return Pk(A);case" ":return qk(A);default:return Wk(A)}}function Pk(A){if(A.length!==29||A[4]!==" "||A[7]!==" "||A[11]!==" "||A[16]!==" "||A[19]!==":"||A[22]!==":"||A[25]!==" "||A[26]!=="G"||A[27]!=="M"||A[28]!=="T")return;let e=-1;if(A[0]==="S"&&A[1]==="u"&&A[2]==="n")e=0;else if(A[0]==="M"&&A[1]==="o"&&A[2]==="n")e=1;else if(A[0]==="T"&&A[1]==="u"&&A[2]==="e")e=2;else if(A[0]==="W"&&A[1]==="e"&&A[2]==="d")e=3;else if(A[0]==="T"&&A[1]==="h"&&A[2]==="u")e=4;else if(A[0]==="F"&&A[1]==="r"&&A[2]==="i")e=5;else if(A[0]==="S"&&A[1]==="a"&&A[2]==="t")e=6;else return;let t=0;if(A[5]==="0"){let l=A.charCodeAt(6);if(l<49||l>57)return;t=l-48}else{let l=A.charCodeAt(5);if(l<49||l>51)return;let E=A.charCodeAt(6);if(E<48||E>57)return;t=(l-48)*10+(E-48)}let r=-1;if(A[8]==="J"&&A[9]==="a"&&A[10]==="n")r=0;else if(A[8]==="F"&&A[9]==="e"&&A[10]==="b")r=1;else if(A[8]==="M"&&A[9]==="a")if(A[10]==="r")r=2;else if(A[10]==="y")r=4;else return;else if(A[8]==="J")if(A[9]==="a"&&A[10]==="n")r=0;else if(A[9]==="u")if(A[10]==="n")r=5;else if(A[10]==="l")r=6;else return;else return;else if(A[8]==="A")if(A[9]==="p"&&A[10]==="r")r=3;else if(A[9]==="u"&&A[10]==="g")r=7;else return;else if(A[8]==="S"&&A[9]==="e"&&A[10]==="p")r=8;else if(A[8]==="O"&&A[9]==="c"&&A[10]==="t")r=9;else if(A[8]==="N"&&A[9]==="o"&&A[10]==="v")r=10;else if(A[8]==="D"&&A[9]==="e"&&A[10]==="c")r=11;else return;let s=A.charCodeAt(12);if(s<48||s>57)return;let n=A.charCodeAt(13);if(n<48||n>57)return;let o=A.charCodeAt(14);if(o<48||o>57)return;let i=A.charCodeAt(15);if(i<48||i>57)return;let a=(s-48)*1e3+(n-48)*100+(o-48)*10+(i-48),c=0;if(A[17]==="0"){let l=A.charCodeAt(18);if(l<48||l>57)return;c=l-48}else{let l=A.charCodeAt(17);if(l<48||l>50)return;let E=A.charCodeAt(18);if(E<48||E>57||l===50&&E>51)return;c=(l-48)*10+(E-48)}let g=0;if(A[20]==="0"){let l=A.charCodeAt(21);if(l<48||l>57)return;g=l-48}else{let l=A.charCodeAt(20);if(l<48||l>53)return;let E=A.charCodeAt(21);if(E<48||E>57)return;g=(l-48)*10+(E-48)}let Q=0;if(A[23]==="0"){let l=A.charCodeAt(24);if(l<48||l>57)return;Q=l-48}else{let l=A.charCodeAt(23);if(l<48||l>53)return;let E=A.charCodeAt(24);if(E<48||E>57)return;Q=(l-48)*10+(E-48)}let u=new Date(Date.UTC(a,r,t,c,g,Q));return u.getUTCDay()===e?u:void 0}function qk(A){if(A.length!==24||A[7]!==" "||A[10]!==" "||A[19]!==" ")return;let e=-1;if(A[0]==="S"&&A[1]==="u"&&A[2]==="n")e=0;else if(A[0]==="M"&&A[1]==="o"&&A[2]==="n")e=1;else if(A[0]==="T"&&A[1]==="u"&&A[2]==="e")e=2;else if(A[0]==="W"&&A[1]==="e"&&A[2]==="d")e=3;else if(A[0]==="T"&&A[1]==="h"&&A[2]==="u")e=4;else if(A[0]==="F"&&A[1]==="r"&&A[2]==="i")e=5;else if(A[0]==="S"&&A[1]==="a"&&A[2]==="t")e=6;else return;let t=-1;if(A[4]==="J"&&A[5]==="a"&&A[6]==="n")t=0;else if(A[4]==="F"&&A[5]==="e"&&A[6]==="b")t=1;else if(A[4]==="M"&&A[5]==="a")if(A[6]==="r")t=2;else if(A[6]==="y")t=4;else return;else if(A[4]==="J")if(A[5]==="a"&&A[6]==="n")t=0;else if(A[5]==="u")if(A[6]==="n")t=5;else if(A[6]==="l")t=6;else return;else return;else if(A[4]==="A")if(A[5]==="p"&&A[6]==="r")t=3;else if(A[5]==="u"&&A[6]==="g")t=7;else return;else if(A[4]==="S"&&A[5]==="e"&&A[6]==="p")t=8;else if(A[4]==="O"&&A[5]==="c"&&A[6]==="t")t=9;else if(A[4]==="N"&&A[5]==="o"&&A[6]==="v")t=10;else if(A[4]==="D"&&A[5]==="e"&&A[6]==="c")t=11;else return;let r=0;if(A[8]===" "){let l=A.charCodeAt(9);if(l<49||l>57)return;r=l-48}else{let l=A.charCodeAt(8);if(l<49||l>51)return;let E=A.charCodeAt(9);if(E<48||E>57)return;r=(l-48)*10+(E-48)}let s=0;if(A[11]==="0"){let l=A.charCodeAt(12);if(l<48||l>57)return;s=l-48}else{let l=A.charCodeAt(11);if(l<48||l>50)return;let E=A.charCodeAt(12);if(E<48||E>57||l===50&&E>51)return;s=(l-48)*10+(E-48)}let n=0;if(A[14]==="0"){let l=A.charCodeAt(15);if(l<48||l>57)return;n=l-48}else{let l=A.charCodeAt(14);if(l<48||l>53)return;let E=A.charCodeAt(15);if(E<48||E>57)return;n=(l-48)*10+(E-48)}let o=0;if(A[17]==="0"){let l=A.charCodeAt(18);if(l<48||l>57)return;o=l-48}else{let l=A.charCodeAt(17);if(l<48||l>53)return;let E=A.charCodeAt(18);if(E<48||E>57)return;o=(l-48)*10+(E-48)}let i=A.charCodeAt(20);if(i<48||i>57)return;let a=A.charCodeAt(21);if(a<48||a>57)return;let c=A.charCodeAt(22);if(c<48||c>57)return;let g=A.charCodeAt(23);if(g<48||g>57)return;let Q=(i-48)*1e3+(a-48)*100+(c-48)*10+(g-48),u=new Date(Date.UTC(Q,t,r,s,n,o));return u.getUTCDay()===e?u:void 0}function Wk(A){let e=-1,t=-1;if(A[0]==="S")A[1]==="u"&&A[2]==="n"&&A[3]==="d"&&A[4]==="a"&&A[5]==="y"?(t=0,e=6):A[1]==="a"&&A[2]==="t"&&A[3]==="u"&&A[4]==="r"&&A[5]==="d"&&A[6]==="a"&&A[7]==="y"&&(t=6,e=8);else if(A[0]==="M"&&A[1]==="o"&&A[2]==="n"&&A[3]==="d"&&A[4]==="a"&&A[5]==="y")t=1,e=6;else if(A[0]==="T")A[1]==="u"&&A[2]==="e"&&A[3]==="s"&&A[4]==="d"&&A[5]==="a"&&A[6]==="y"?(t=2,e=7):A[1]==="h"&&A[2]==="u"&&A[3]==="r"&&A[4]==="s"&&A[5]==="d"&&A[6]==="a"&&A[7]==="y"&&(t=4,e=8);else if(A[0]==="W"&&A[1]==="e"&&A[2]==="d"&&A[3]==="n"&&A[4]==="e"&&A[5]==="s"&&A[6]==="d"&&A[7]==="a"&&A[8]==="y")t=3,e=9;else if(A[0]==="F"&&A[1]==="r"&&A[2]==="i"&&A[3]==="d"&&A[4]==="a"&&A[5]==="y")t=5,e=6;else return;if(A[e]!==","||A.length-e-1!==23||A[e+1]!==" "||A[e+4]!=="-"||A[e+8]!=="-"||A[e+11]!==" "||A[e+14]!==":"||A[e+17]!==":"||A[e+20]!==" "||A[e+21]!=="G"||A[e+22]!=="M"||A[e+23]!=="T")return;let r=0;if(A[e+2]==="0"){let u=A.charCodeAt(e+3);if(u<49||u>57)return;r=u-48}else{let u=A.charCodeAt(e+2);if(u<49||u>51)return;let l=A.charCodeAt(e+3);if(l<48||l>57)return;r=(u-48)*10+(l-48)}let s=-1;if(A[e+5]==="J"&&A[e+6]==="a"&&A[e+7]==="n")s=0;else if(A[e+5]==="F"&&A[e+6]==="e"&&A[e+7]==="b")s=1;else if(A[e+5]==="M"&&A[e+6]==="a"&&A[e+7]==="r")s=2;else if(A[e+5]==="A"&&A[e+6]==="p"&&A[e+7]==="r")s=3;else if(A[e+5]==="M"&&A[e+6]==="a"&&A[e+7]==="y")s=4;else if(A[e+5]==="J"&&A[e+6]==="u"&&A[e+7]==="n")s=5;else if(A[e+5]==="J"&&A[e+6]==="u"&&A[e+7]==="l")s=6;else if(A[e+5]==="A"&&A[e+6]==="u"&&A[e+7]==="g")s=7;else if(A[e+5]==="S"&&A[e+6]==="e"&&A[e+7]==="p")s=8;else if(A[e+5]==="O"&&A[e+6]==="c"&&A[e+7]==="t")s=9;else if(A[e+5]==="N"&&A[e+6]==="o"&&A[e+7]==="v")s=10;else if(A[e+5]==="D"&&A[e+6]==="e"&&A[e+7]==="c")s=11;else return;let n=A.charCodeAt(e+9);if(n<48||n>57)return;let o=A.charCodeAt(e+10);if(o<48||o>57)return;let i=(n-48)*10+(o-48);i+=i<70?2e3:1900;let a=0;if(A[e+12]==="0"){let u=A.charCodeAt(e+13);if(u<48||u>57)return;a=u-48}else{let u=A.charCodeAt(e+12);if(u<48||u>50)return;let l=A.charCodeAt(e+13);if(l<48||l>57||u===50&&l>51)return;a=(u-48)*10+(l-48)}let c=0;if(A[e+15]==="0"){let u=A.charCodeAt(e+16);if(u<48||u>57)return;c=u-48}else{let u=A.charCodeAt(e+15);if(u<48||u>53)return;let l=A.charCodeAt(e+16);if(l<48||l>57)return;c=(u-48)*10+(l-48)}let g=0;if(A[e+18]==="0"){let u=A.charCodeAt(e+19);if(u<48||u>57)return;g=u-48}else{let u=A.charCodeAt(e+18);if(u<48||u>53)return;let l=A.charCodeAt(e+19);if(l<48||l>57)return;g=(u-48)*10+(l-48)}let Q=new Date(Date.UTC(i,s,r,a,c,g));return Q.getUTCDay()===t?Q:void 0}yf.exports={parseHttpDate:Jk}});var Sf=p((zV,Rf)=>{"use strict";var _k=G(),{parseCacheControlHeader:Zk,parseVaryHeader:jk,isEtagUsable:Xk}=$r(),{parseHttpDate:mf}=Df();function Kk(){}var wf=[200,203,204,206,300,301,308,404,405,410,414,501],zk=[206],$k=2147483647e3,eE=class{#e;#A;#t;#r;#n;#s;constructor({store:e,type:t,cacheByDefault:r},s,n){this.#r=e,this.#A=t,this.#t=r,this.#e=s,this.#n=n}onRequestStart(e,t){this.#s?.destroy(),this.#s=void 0,this.#n.onRequestStart?.(e,t)}onRequestUpgrade(e,t,r,s){this.#n.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){let n=()=>this.#n.onResponseStart?.(e,t,r,s),o=this;if(!_k.safeHTTPMethods.includes(this.#e.method)&&t>=200&&t<=399){try{this.#r.delete(this.#e)?.catch?.(Kk)}catch{}return n()}let i=r["cache-control"],a=r["last-modified"]&&wf.includes(t);if(!i&&!r.expires&&!a&&!this.#t)return n();let c=i?Zk(i):{};if(!eL(this.#A,t,r,c,this.#e.headers))return n();let g=Date.now(),Q=r.age?AL(r.age):void 0;if(Q&&Q>=$k)return n();let u=typeof r.date=="string"?mf(r.date):void 0,l=tL(this.#A,g,Q,r,u,c)??this.#t;if(l===void 0||Q&&Q>l)return n();let E=u?u.getTime():g,B=l+E;if(g>=B)return n();let y;if(this.#e.headers&&r.vary&&(y=jk(r.vary,this.#e.headers),!y))return n();let C=rL(E,c,B),f=sL(r,c),D={statusCode:t,statusMessage:s,headers:f,vary:y,cacheControlDirectives:c,cachedAt:Q?g-Q:g,staleAt:B,deleteAt:C};if(t===304){let M=L=>{if(!L)return n();if(D.statusCode=L.statusCode,D.statusMessage=L.statusMessage,D.etag=L.etag,D.headers={...L.headers,...f},n(),this.#s=this.#r.createWriteStream(this.#e,D),!(!this.#s||!L?.body))if(typeof L.body.values=="function"){let w=L.body.values(),b=()=>{for(let k of w){let z=this.#s.write(k)===!1;if(this.#n.onResponseData?.(e,k),z)break}};this.#s.on("error",function(){o.#s=void 0,o.#r.delete(o.#e)}).on("drain",()=>{b()}).on("close",function(){o.#s===this&&(o.#s=void 0)}),b()}else typeof L.body.on=="function"&&(L.body.on("data",w=>{this.#s.write(w),this.#n.onResponseData?.(e,w)}).on("end",()=>{this.#s.end()}).on("error",()=>{this.#s=void 0,this.#r.delete(this.#e)}),this.#s.on("error",function(){o.#s=void 0,o.#r.delete(o.#e)}).on("close",function(){o.#s===this&&(o.#s=void 0)}))},F=this.#r.get(this.#e);F&&typeof F.then=="function"?F.then(M):M(F)}else{if(typeof r.etag=="string"&&Xk(r.etag)&&(D.etag=r.etag),this.#s=this.#r.createWriteStream(this.#e,D),!this.#s)return n();this.#s.on("drain",()=>e.resume()).on("error",function(){o.#s=void 0,o.#r.delete(o.#e)}).on("close",function(){o.#s===this&&(o.#s=void 0),e.resume()}),n()}}onResponseData(e,t){this.#s?.write(t)===!1&&e.pause(),this.#n.onResponseData?.(e,t)}onResponseEnd(e,t){this.#s?.end(),this.#n.onResponseEnd?.(e,t)}onResponseError(e,t){this.#s?.destroy(t),this.#s=void 0,this.#n.onResponseError?.(e,t)}};function eL(A,e,t,r,s){return!(e<200||zk.includes(e)||!wf.includes(e)&&!t.expires&&!r.public&&r["max-age"]===void 0&&!(r.private&&A==="private")&&!(r["s-maxage"]!==void 0&&A==="shared")||r["no-store"]||A==="shared"&&r.private===!0||t.vary?.includes("*")||s?.authorization&&(!r.public&&!r["s-maxage"]&&!r["must-revalidate"]||typeof s.authorization!="string"||Array.isArray(r["no-cache"])&&r["no-cache"].includes("authorization")||Array.isArray(r.private)&&r.private.includes("authorization")))}function AL(A){let e=parseInt(Array.isArray(A)?A[0]:A);return isNaN(e)?void 0:e*1e3}function tL(A,e,t,r,s,n){if(A==="shared"){let i=n["s-maxage"];if(i!==void 0)return i>0?i*1e3:void 0}let o=n["max-age"];if(o!==void 0)return o>0?o*1e3:void 0;if(typeof r.expires=="string"){let i=mf(r.expires);if(i)return e>=i.getTime()||s&&(s>=i||t!==void 0&&t>i-s)?void 0:i.getTime()-e}if(typeof r["last-modified"]=="string"){let i=new Date(r["last-modified"]);if(nL(i))return i.getTime()>=e?void 0:(e-i.getTime())*.1}if(n.immutable)return 31536e3}function rL(A,e,t){let r=-1/0,s=-1/0,n=-1/0;if(e["stale-while-revalidate"]&&(r=t+e["stale-while-revalidate"]*1e3),e["stale-if-error"]&&(s=t+e["stale-if-error"]*1e3),e.immutable&&r===-1/0&&s===-1/0&&(n=A+31536e6),r===-1/0&&s===-1/0&&n===-1/0){let o=t-A;return t+o}return Math.max(t,r,s,n)}function sL(A,e){let t=["connection","proxy-authenticate","proxy-authentication-info","proxy-authorization","proxy-connection","te","transfer-encoding","upgrade","age"];A.connection&&(Array.isArray(A.connection)?t.push(...A.connection.map(s=>s.trim())):t.push(...A.connection.split(",").map(s=>s.trim()))),Array.isArray(e["no-cache"])&&t.push(...e["no-cache"]),Array.isArray(e.private)&&t.push(...e.private);let r;for(let s of t)A[s]&&(r??={...A},delete r[s]);return r??A}function nL(A){return A instanceof Date&&Number.isFinite(A.valueOf())}Rf.exports=eE});var tE=p(($V,bf)=>{"use strict";var{Writable:oL}=require("node:stream"),{EventEmitter:iL}=require("node:events"),{assertCacheKey:Nf,assertCacheValue:aL}=$r(),AE=class extends iL{#e=1024;#A=104857600;#t=5242880;#r=0;#n=0;#s=new Map;#a=!1;constructor(e){if(super(),e){if(typeof e!="object")throw new TypeError("MemoryCacheStore options must be an object");if(e.maxCount!==void 0){if(typeof e.maxCount!="number"||!Number.isInteger(e.maxCount)||e.maxCount<0)throw new TypeError("MemoryCacheStore options.maxCount must be a non-negative integer");this.#e=e.maxCount}if(e.maxSize!==void 0){if(typeof e.maxSize!="number"||!Number.isInteger(e.maxSize)||e.maxSize<0)throw new TypeError("MemoryCacheStore options.maxSize must be a non-negative integer");this.#A=e.maxSize}if(e.maxEntrySize!==void 0){if(typeof e.maxEntrySize!="number"||!Number.isInteger(e.maxEntrySize)||e.maxEntrySize<0)throw new TypeError("MemoryCacheStore options.maxEntrySize must be a non-negative integer");this.#t=e.maxEntrySize}}}get size(){return this.#r}isFull(){return this.#r>=this.#A||this.#n>=this.#e}get(e){Nf(e);let t=`${e.origin}:${e.path}`,r=Date.now(),s=this.#s.get(t),n=s?Ff(e,s,r):null;return n==null?void 0:{statusMessage:n.statusMessage,statusCode:n.statusCode,headers:n.headers,body:n.body,vary:n.vary?n.vary:void 0,etag:n.etag,cacheControlDirectives:n.cacheControlDirectives,cachedAt:n.cachedAt,staleAt:n.staleAt,deleteAt:n.deleteAt}}createWriteStream(e,t){Nf(e),aL(t);let r=`${e.origin}:${e.path}`,s=this,n={...e,...t,body:[],size:0};return new oL({write(o,i,a){typeof o=="string"&&(o=Buffer.from(o,i)),n.size+=o.byteLength,n.size>=s.#t?this.destroy():n.body.push(o),a(null)},final(o){let i=s.#s.get(r);i||(i=[],s.#s.set(r,i));let a=Ff(e,i,Date.now());if(a){let c=i.indexOf(a);i.splice(c,1,n),s.#r-=a.size}else i.push(n),s.#n+=1;if(s.#r+=n.size,s.#r>s.#A||s.#n>s.#e){s.#a||(s.emit("maxSizeExceeded",{size:s.#r,maxSize:s.#A,count:s.#n,maxCount:s.#e}),s.#a=!0);for(let[c,g]of s.#s){for(let Q of g.splice(0,g.length/2))s.#r-=Q.size,s.#n-=1;g.length===0&&s.#s.delete(c)}s.#r<s.#A&&s.#n<s.#e&&(s.#a=!1)}o(null)}})}delete(e){if(typeof e!="object")throw new TypeError(`expected key to be object, got ${typeof e}`);let t=`${e.origin}:${e.path}`;for(let r of this.#s.get(t)??[])this.#r-=r.size,this.#n-=1;this.#s.delete(t)}};function Ff(A,e,t){return e.find(r=>r.deleteAt>t&&r.method===A.method&&(r.vary==null||Object.keys(r.vary).every(s=>r.vary[s]===null?A.headers[s]===void 0:r.vary[s]===A.headers[s])))}bf.exports=AE});var Mf=p((eJ,Uf)=>{"use strict";var cL=require("node:assert"),rE=class{#e=!1;#A;#t;#r;#n;constructor(e,t,r){if(typeof e!="function")throw new TypeError("callback must be a function");this.#A=e,this.#t=t,this.#n=r}onRequestStart(e,t){this.#e=!1,this.#r=t}onRequestUpgrade(e,t,r,s){this.#t.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){if(cL(this.#A!=null),this.#e=t===304||this.#n&&t>=500&&t<=504,this.#A(this.#e,this.#r),this.#A=null,this.#e)return!0;this.#t.onRequestStart?.(e,this.#r),this.#t.onResponseStart?.(e,t,r,s)}onResponseData(e,t){if(!this.#e)return this.#t.onResponseData?.(e,t)}onResponseEnd(e,t){this.#e||this.#t.onResponseEnd?.(e,t)}onResponseError(e,t){if(!this.#e)if(this.#A&&(this.#A(!1),this.#A=null),typeof this.#t.onResponseError=="function")this.#t.onResponseError(e,t);else throw t}};Uf.exports=rE});var xf=p((AJ,Lf)=>{"use strict";var Tf=require("node:assert"),{Readable:gL}=require("node:stream"),es=G(),In=Sf(),lL=tE(),EL=Mf(),{assertCacheStore:uL,assertCacheMethods:QL,makeCacheKey:hL,normalizeHeaders:IL,parseCacheControlHeader:BL}=$r(),{AbortError:CL}=Y();function dL(A,e){if(A!==void 0){if(!Array.isArray(A))throw new TypeError(`expected ${e} to be an array or undefined, got ${typeof A}`);for(let t=0;t<A.length;t++){let r=A[t];if(typeof r!="string"&&!(r instanceof RegExp))throw new TypeError(`expected ${e}[${t}] to be a string or RegExp, got ${typeof r}`)}}}var nE=()=>{};function fL(A,e,{headers:t={}}){return!!(e?.["no-cache"]||A.cacheControlDirectives?.["no-cache"]&&!Array.isArray(A.cacheControlDirectives["no-cache"])||t["if-modified-since"]||t["if-none-match"])}function pL(A,e){let t=Date.now();if(t>A.staleAt){if(e?.["max-stale"]){let r=A.staleAt+e["max-stale"]*1e3;return t>r}return!0}if(e?.["min-fresh"]){let r=A.staleAt-t,s=e["min-fresh"]*1e3;return r<=s}return!1}function yL(A){let e=A.cacheControlDirectives?.["stale-while-revalidate"];if(!e)return!1;let t=Date.now(),r=A.staleAt+e*1e3;return t<=r}function DL(A,e,t,r,s,n){if(n?.["only-if-cached"]){let o=!1;try{if(typeof r.onConnect=="function"&&(r.onConnect(()=>{o=!0}),o)||typeof r.onHeaders=="function"&&(r.onHeaders(504,[],nE,"Gateway Timeout"),o))return;typeof r.onComplete=="function"&&r.onComplete([])}catch(i){typeof r.onError=="function"&&r.onError(i)}return!0}return A(s,new In(e,t,r))}function sE(A,e,t,r,s,n){let o=es.isStream(t.body)?t.body:gL.from(t.body??[]);Tf(!o.destroyed,"stream should not be destroyed"),Tf(!o.readableDidRead,"stream should not be readableDidRead");let i={resume(){o.resume()},pause(){o.pause()},get paused(){return o.isPaused()},get aborted(){return o.destroyed},get reason(){return o.errored},abort(c){o.destroy(c??new CL)}};if(o.on("error",function(c){if(!this.readableEnded)if(typeof A.onResponseError=="function")A.onResponseError(i,c);else throw c}).on("close",function(){this.errored||A.onResponseEnd?.(i,{})}),A.onRequestStart?.(i,s),o.destroyed)return;let a={...t.headers,age:String(r)};n&&(a.warning='110 - "response is stale"'),A.onResponseStart?.(i,t.statusCode,a,t.statusMessage),e.method==="HEAD"?o.destroy():o.on("data",function(c){A.onResponseData?.(i,c)})}function kf(A,e,t,r,s,n,o){if(!o)return DL(A,e,t,r,s,n);let i=Date.now();if(i>o.deleteAt)return A(s,new In(e,t,r));let a=Math.round((i-o.cachedAt)/1e3);if(n?.["max-age"]&&a>=n["max-age"])return A(s,r);let c=pL(o,n),g=fL(o,n,s);if(c||g){if(es.isStream(s.body)&&es.bodyLength(s.body)!==0)return A(s,new In(e,t,r));if(!g&&yL(o))return sE(r,s,o,a,null,!0),queueMicrotask(()=>{let E={...s.headers,"if-modified-since":new Date(o.cachedAt).toUTCString()};if(o.etag&&(E["if-none-match"]=o.etag),o.vary)for(let B in o.vary)o.vary[B]!=null&&(E[B]=o.vary[B]);A({...s,headers:E},new In(e,t,{onRequestStart(){},onRequestUpgrade(){},onResponseStart(){},onResponseData(){},onResponseEnd(){},onResponseError(){}}))}),!0;let Q=!1,u=o.cacheControlDirectives["stale-if-error"]??n?.["stale-if-error"];u&&(Q=i<o.staleAt+u*1e3);let l={...s.headers,"if-modified-since":new Date(o.cachedAt).toUTCString()};if(o.etag&&(l["if-none-match"]=o.etag),o.vary)for(let E in o.vary)o.vary[E]!=null&&(l[E]=o.vary[E]);return A({...s,headers:l},new EL((E,B)=>{E?sE(r,s,o,a,B,c):es.isStream(o.body)&&o.body.on("error",nE).destroy()},new In(e,t,r),Q))}es.isStream(s.body)&&s.body.on("error",nE).destroy(),sE(r,s,o,a,null,!1)}Lf.exports=(A={})=>{let{store:e=new lL,methods:t=["GET"],cacheByDefault:r=void 0,type:s="shared",origins:n=void 0}=A;if(typeof A!="object"||A===null)throw new TypeError(`expected type of opts to be an Object, got ${A===null?"null":typeof A}`);if(uL(e,"opts.store"),QL(t,"opts.methods"),dL(n,"opts.origins"),typeof r<"u"&&typeof r!="number")throw new TypeError(`expected opts.cacheByDefault to be number or undefined, got ${typeof r}`);if(typeof s<"u"&&s!=="shared"&&s!=="private")throw new TypeError(`expected opts.type to be shared, private, or undefined, got ${typeof s}`);let o={store:e,methods:t,cacheByDefault:r,type:s},i=es.safeHTTPMethods.filter(a=>t.includes(a)===!1);return a=>(c,g)=>{if(!c.origin||i.includes(c.method))return a(c,g);if(n!==void 0){let E=c.origin.toString().toLowerCase(),B=!1;for(let y=0;y<n.length;y++){let C=n[y];if(typeof C=="string"){if(C.toLowerCase()===E){B=!0;break}}else if(C.test(E)){B=!0;break}}if(!B)return a(c,g)}c={...c,headers:IL(c)};let Q=c.headers?.["cache-control"]?BL(c.headers["cache-control"]):void 0;if(Q?.["no-store"])return a(c,g);let u=hL(c),l=e.get(u);return l&&typeof l.then=="function"?l.then(E=>kf(a,o,u,g,c,Q,E)):kf(a,o,u,g,c,Q,l)}}});var vf=p((tJ,Of)=>{"use strict";var{createInflate:oE,createGunzip:Hf,createBrotliDecompress:mL,createZstdDecompress:wL}=require("node:zlib"),{pipeline:RL}=require("node:stream"),SL=zr(),{runtimeFeatures:NL}=JA(),Yf={gzip:Hf,"x-gzip":Hf,br:mL,deflate:oE,compress:oE,"x-compress":oE,...NL.has("zstd")?{zstd:wL}:{}},FL=[204,304],Gf=!1,iE=class extends SL{#e=[];#A;#t;constructor(e,{skipStatusCodes:t=FL,skipErrorResponses:r=!0}={}){super(e),this.#A=t,this.#t=r}#r(e,t){return!!(!e||t<200||this.#A.includes(t)||this.#t&&t>=400)}#n(e){let t=e.split(","),r=5;if(t.length>r)throw new Error(`too many content-encodings in response: ${t.length}, maximum allowed is ${r}`);let s=[];for(let n=t.length-1;n>=0;n--){let o=t[n].trim();if(o){if(!Yf[o])return s.length=0,s;s.push(Yf[o]())}}return s}#s(e,t){e.on("readable",()=>{let r;for(;(r=e.read())!==null&&super.onResponseData(t,r)!==!1;);}),e.on("error",r=>{super.onResponseError(t,r)})}#a(e){let t=this.#e[0];this.#s(t,e),t.on("end",()=>{super.onResponseEnd(e,{})})}#o(e){let t=this.#e[this.#e.length-1];this.#s(t,e),RL(this.#e,r=>{if(r){super.onResponseError(e,r);return}super.onResponseEnd(e,{})})}#i(){this.#e.length=0}onResponseStart(e,t,r,s){let n=r["content-encoding"];if(this.#r(n,t))return super.onResponseStart(e,t,r,s);let o=this.#n(n.toLowerCase());if(o.length===0)return this.#i(),super.onResponseStart(e,t,r,s);this.#e=o;let{"content-encoding":i,"content-length":a,...c}=r;return this.#e.length===1?this.#a(e):this.#o(e),super.onResponseStart(e,t,c,s)}onResponseData(e,t){if(this.#e.length>0){this.#e[0].write(t);return}super.onResponseData(e,t)}onResponseEnd(e,t){if(this.#e.length>0){this.#e[0].end(),this.#i();return}super.onResponseEnd(e,t)}onResponseError(e,t){if(this.#e.length>0){for(let r of this.#e)r.destroy(t);this.#i()}super.onResponseError(e,t)}};function bL(A={}){return Gf||(process.emitWarning("DecompressInterceptor is experimental and subject to change","ExperimentalWarning"),Gf=!0),e=>(t,r)=>{let s=new iE(r,A);return e(t,s)}}Of.exports=bL});var Pf=p((rJ,Jf)=>{"use strict";var{RequestAbortedError:UL}=Y(),Vf=5*1024*1024,aE=class{#e;#A=[];#t=Vf;#r=0;#n={};#s="";#a=!1;#o=!1;#i=!1;#c=!1;#E=null;#g=null;constructor(e,t,r=Vf){this.#e=e,this.#g=t,this.#t=r}addWaitingHandler(e){if(this.#c||this.#i)return!1;let t=this.#l(e),r=t.controller;try{if(e.onRequestStart?.(r,null),r.aborted)return t.done=!0,!0;this.#o&&e.onResponseStart?.(r,this.#r,this.#n,this.#s)}catch{return t.done=!0,!0}return r.aborted||this.#A.push(t),!0}onRequestStart(e,t){this.#E=e,this.#e.onRequestStart?.(e,t)}onRequestUpgrade(e,t,r,s){this.#e.onRequestUpgrade?.(e,t,r,s)}onResponseStart(e,t,r,s){this.#o=!0,this.#r=t,this.#n=r,this.#s=s,this.#e.onResponseStart?.(e,t,r,s);for(let n of this.#A){let{handler:o,controller:i}=n;if(n.done||i.aborted){n.done=!0;continue}try{o.onResponseStart?.(i,t,r,s)}catch{}i.aborted&&(n.done=!0)}this.#h()}onResponseData(e,t){if(!(this.#a||this.#c)){this.#i=!0,this.#e.onResponseData?.(e,t);for(let r of this.#A){let{handler:s,controller:n}=r;if(r.done||n.aborted){r.done=!0;continue}if(n.paused){this.#u(r,t);continue}try{s.onResponseData?.(n,t)}catch{}n.aborted&&(r.done=!0,r.bufferedChunks=[],r.bufferedBytes=0)}this.#h()}}onResponseEnd(e,t){if(!(this.#a||this.#c)){this.#c=!0,this.#e.onResponseEnd?.(e,t);for(let r of this.#A){if(r.done||r.controller.aborted){r.done=!0;continue}if(this.#Q(r),r.done||r.controller.aborted){r.done=!0;continue}if(r.controller.paused&&r.bufferedChunks.length>0){r.pendingTrailers=t;continue}try{r.handler.onResponseEnd?.(r.controller,t)}catch{}r.done=!0}this.#h(),this.#g?.()}}onResponseError(e,t){if(!this.#c){this.#a=!0,this.#c=!0,this.#e.onResponseError?.(e,t);for(let r of this.#A)this.#I(r,t);this.#A=[],this.#g?.()}}#l(e){let t={handler:e,controller:null,bufferedChunks:[],bufferedBytes:0,pendingTrailers:null,done:!1},r={aborted:!1,paused:!1,reason:null};return t.controller={resume:()=>{if(!r.aborted){if(r.paused=!1,this.#Q(t),this.#c&&t.pendingTrailers&&t.bufferedChunks.length===0&&!r.paused&&!r.aborted){try{t.handler.onResponseEnd?.(t.controller,t.pendingTrailers)}catch{}t.pendingTrailers=null,t.done=!0}this.#h()}},pause:()=>{r.aborted||(r.paused=!0)},get paused(){return r.paused},get aborted(){return r.aborted},get reason(){return r.reason},abort:s=>{r.aborted=!0,r.reason=s??null,t.done=!0,t.pendingTrailers=null,t.bufferedChunks=[],t.bufferedBytes=0}},t}#u(e,t){if(e.done||e.controller.aborted){e.done=!0,e.bufferedChunks=[],e.bufferedBytes=0;return}let r=Buffer.from(t);if(e.bufferedChunks.push(r),e.bufferedBytes+=r.length,e.bufferedBytes>this.#t){let s=new UL(`Deduplicated waiting handler exceeded maxBufferSize (${this.#t} bytes) while paused`);this.#I(e,s)}}#Q(e){let{handler:t,controller:r}=e;for(;!e.done&&!r.aborted&&!r.paused&&e.bufferedChunks.length>0;){let s=e.bufferedChunks.shift();e.bufferedBytes-=s.length;try{t.onResponseData?.(r,s)}catch{}if(r.aborted){e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0;break}}}#I(e,t){if(!e.done){e.done=!0,e.pendingTrailers=null,e.bufferedChunks=[],e.bufferedBytes=0;try{e.controller.abort(t),e.handler.onResponseError?.(e.controller,t)}catch{}}}#h(){this.#A=this.#A.filter(e=>e.done===!1)}};Jf.exports=aE});var Wf=p((sJ,qf)=>{"use strict";var ML=require("node:diagnostics_channel"),TL=G(),kL=Pf(),{normalizeHeaders:LL,makeCacheKey:xL,makeDeduplicationKey:HL}=$r(),Ai=ML.channel("undici:request:pending-requests");qf.exports=(A={})=>{let{methods:e=["GET"],skipHeaderNames:t=[],excludeHeaderNames:r=[],maxBufferSize:s=5*1024*1024}=A;if(typeof A!="object"||A===null)throw new TypeError(`expected type of opts to be an Object, got ${A===null?"null":typeof A}`);if(!Array.isArray(e))throw new TypeError(`expected opts.methods to be an array, got ${typeof e}`);for(let a of e)if(!TL.safeHTTPMethods.includes(a))throw new TypeError(`expected opts.methods to only contain safe HTTP methods, got ${a}`);if(!Array.isArray(t))throw new TypeError(`expected opts.skipHeaderNames to be an array, got ${typeof t}`);if(!Array.isArray(r))throw new TypeError(`expected opts.excludeHeaderNames to be an array, got ${typeof r}`);if(!Number.isFinite(s)||s<=0)throw new TypeError(`expected opts.maxBufferSize to be a positive finite number, got ${s}`);let n=new Set(t.map(a=>a.toLowerCase())),o=new Set(r.map(a=>a.toLowerCase())),i=new Map;return a=>(c,g)=>{if(!c.origin||e.includes(c.method)===!1)return a(c,g);if(c={...c,headers:LL(c)},n.size>0){for(let B of Object.keys(c.headers))if(n.has(B.toLowerCase()))return a(c,g)}let Q=xL(c),u=HL(Q,o),l=i.get(u);if(l)return l.addWaitingHandler(g)?!0:a(c,g);let E=new kL(g,()=>{i.delete(u),Ai.hasSubscribers&&Ai.publish({size:i.size,key:u,type:"removed"})},s);return i.set(u,E),Ai.hasSubscribers&&Ai.publish({size:i.size,key:u,type:"added"}),a(c,E)}}});var jf=p((oJ,Zf)=>{"use strict";var{Writable:YL}=require("node:stream"),{assertCacheKey:cE,assertCacheValue:GL}=$r(),gE,_e=3,_f=2*1e3*1e3*1e3;Zf.exports=class{#e=_f;#A=1/0;#t;#r;#n;#s;#a;#o;#i;#c;constructor(e){if(e){if(typeof e!="object")throw new TypeError("SqliteCacheStore options must be an object");if(e.maxEntrySize!==void 0){if(typeof e.maxEntrySize!="number"||!Number.isInteger(e.maxEntrySize)||e.maxEntrySize<0)throw new TypeError("SqliteCacheStore options.maxEntrySize must be a non-negative integer");if(e.maxEntrySize>_f)throw new TypeError("SqliteCacheStore options.maxEntrySize must be less than 2gb");this.#e=e.maxEntrySize}if(e.maxCount!==void 0){if(typeof e.maxCount!="number"||!Number.isInteger(e.maxCount)||e.maxCount<0)throw new TypeError("SqliteCacheStore options.maxCount must be a non-negative integer");this.#A=e.maxCount}}gE||(gE=require("node:sqlite").DatabaseSync),this.#t=new gE(e?.location??":memory:"),this.#t.exec(`
|
|
45
45
|
PRAGMA journal_mode = WAL;
|
|
46
46
|
PRAGMA synchronous = NORMAL;
|
|
47
47
|
PRAGMA temp_store = memory;
|
|
@@ -124,34 +124,34 @@ ${e.format(t)}`.trim())}};Nd.exports=kl});var Hl=p((mv,Md)=>{"use strict";var{In
|
|
|
124
124
|
ORDER BY cachedAt DESC
|
|
125
125
|
LIMIT ?
|
|
126
126
|
)
|
|
127
|
-
`)}close(){this.#t.close()}get(e){nE(e);let t=this.#l(e);return t?{body:t.body?Buffer.from(t.body.buffer,t.body.byteOffset,t.body.byteLength):void 0,statusCode:t.statusCode,statusMessage:t.statusMessage,headers:t.headers?JSON.parse(t.headers):void 0,etag:t.etag?t.etag:void 0,vary:t.vary?JSON.parse(t.vary):void 0,cacheControlDirectives:t.cacheControlDirectives?JSON.parse(t.cacheControlDirectives):void 0,cachedAt:t.cachedAt,staleAt:t.staleAt,deleteAt:t.deleteAt}:void 0}set(e,t){nE(e);let r=this.#g(e),s=Array.isArray(t.body)?Buffer.concat(t.body):t.body,n=s?.byteLength;if(n&&n>this.#e)return;let o=this.#l(e,!0);o?this.#n.run(s,t.deleteAt,t.statusCode,t.statusMessage,t.headers?JSON.stringify(t.headers):null,t.etag?t.etag:null,t.cacheControlDirectives?JSON.stringify(t.cacheControlDirectives):null,t.cachedAt,t.staleAt,o.id):(this.#E(),this.#s.run(r,e.method,s,t.deleteAt,t.statusCode,t.statusMessage,t.headers?JSON.stringify(t.headers):null,t.etag?t.etag:null,t.cacheControlDirectives?JSON.stringify(t.cacheControlDirectives):null,t.vary?JSON.stringify(t.vary):null,t.cachedAt,t.staleAt))}createWriteStream(e,t){nE(e),SL(t);let r=0,s=[],n=this;return new RL({decodeStrings:!0,write(o,i,a){r+=o.byteLength,r<n.#e?s.push(o):this.destroy(),a()},final(o){n.set(e,{...t,body:s}),o()}})}delete(e){if(typeof e!="object")throw new TypeError(`expected key to be object, got ${typeof e}`);this.#o.run(this.#g(e))}#E(){if(Number.isFinite(this.#A)&&this.size<=this.#A)return 0;{let e=this.#a.run(Date.now()).changes;if(e)return e}{let e=this.#c?.run(Math.max(Math.floor(this.#A*.1),1)).changes;if(e)return e}return 0}get size(){let{total:e}=this.#i.get();return e}#g(e){return`${e.origin}/${e.path}`}#l(e,t=!1){let r=this.#g(e),{headers:s,method:n}=e,o=this.#r.all(r,n);if(o.length===0)return;let i=Date.now();for(let a of o){if(i>=a.deleteAt&&!t)return;let c=!0;if(a.vary){let g=JSON.parse(a.vary);for(let h in g)if(!NL(s[h],g[h])){c=!1;break}}if(c)return a}}};function NL(A,e){return A==null&&e==null?!0:A==null&&e!=null||A!=null&&e==null?!1:Array.isArray(A)&&Array.isArray(e)?A.length!==e.length?!1:A.every((t,r)=>t===e[r]):A===e}});var ar=p((_v,jf)=>{"use strict";var{kConstruct:FL}=Z(),{kEnumerableProperty:$r}=G(),{iteratorMixin:bL,isValidHeaderName:un,isValidHeaderValue:Pf}=ve(),{webidl:J}=pe(),iE=require("node:assert"),ei=require("node:util");function Jf(A){return A===10||A===13||A===9||A===32}function qf(A){let e=0,t=A.length;for(;t>e&&Jf(A.charCodeAt(t-1));)--t;for(;t>e&&Jf(A.charCodeAt(e));)++e;return e===0&&t===A.length?A:A.substring(e,t)}function Wf(A,e){if(Array.isArray(e))for(let t=0;t<e.length;++t){let r=e[t];if(r.length!==2)throw J.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${r.length}.`});aE(A,r[0],r[1])}else if(typeof e=="object"&&e!==null){let t=Object.keys(e);for(let r=0;r<t.length;++r)aE(A,t[r],e[t[r]])}else throw J.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function aE(A,e,t){if(t=qf(t),un(e)){if(!Pf(t))throw J.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw J.errors.invalidArgument({prefix:"Headers.append",value:e,type:"header name"});if(Zf(A)==="immutable")throw new TypeError("immutable");return ti(A).append(e,t,!1)}function UL(A){let e=ti(A);if(!e)return[];if(e.sortedMap)return e.sortedMap;let t=[],r=e.toSortedArray(),s=e.cookies;if(s===null||s.length===1)return e.sortedMap=r;for(let n=0;n<r.length;++n){let{0:o,1:i}=r[n];if(o==="set-cookie")for(let a=0;a<s.length;++a)t.push([o,s[a]]);else t.push([o,i])}return e.sortedMap=t}function _f(A,e){return A[0]<e[0]?-1:1}var Ai=class A{cookies=null;sortedMap;headersMap;constructor(e){e instanceof A?(this.headersMap=new Map(e.headersMap),this.sortedMap=e.sortedMap,this.cookies=e.cookies===null?null:[...e.cookies]):(this.headersMap=new Map(e),this.sortedMap=null)}contains(e,t){return this.headersMap.has(t?e:e.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(e,t,r){this.sortedMap=null;let s=r?e:e.toLowerCase(),n=this.headersMap.get(s);if(n){let o=s==="cookie"?"; ":", ";this.headersMap.set(s,{name:n.name,value:`${n.value}${o}${t}`})}else this.headersMap.set(s,{name:e,value:t});s==="set-cookie"&&(this.cookies??=[]).push(t)}set(e,t,r){this.sortedMap=null;let s=r?e:e.toLowerCase();s==="set-cookie"&&(this.cookies=[t]),this.headersMap.set(s,{name:e,value:t})}delete(e,t){this.sortedMap=null,t||(e=e.toLowerCase()),e==="set-cookie"&&(this.cookies=null),this.headersMap.delete(e)}get(e,t){return this.headersMap.get(t?e:e.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:e,1:{value:t}}of this.headersMap)yield[e,t]}get entries(){let e={};if(this.headersMap.size!==0)for(let{name:t,value:r}of this.headersMap.values())e[t]=r;return e}rawValues(){return this.headersMap.values()}get entriesList(){let e=[];if(this.headersMap.size!==0)for(let{0:t,1:{name:r,value:s}}of this.headersMap)if(t==="set-cookie")for(let n of this.cookies)e.push([r,n]);else e.push([r,s]);return e}toSortedArray(){let e=this.headersMap.size,t=new Array(e);if(e<=32){if(e===0)return t;let r=this.headersMap[Symbol.iterator](),s=r.next().value;t[0]=[s[0],s[1].value],iE(s[1].value!==null);for(let n=1,o=0,i=0,a=0,c=0,g,h;n<e;++n){for(h=r.next().value,g=t[n]=[h[0],h[1].value],iE(g[1]!==null),a=0,i=n;a<i;)c=a+(i-a>>1),t[c][0]<=g[0]?a=c+1:i=c;if(n!==c){for(o=n;o>a;)t[o]=t[--o];t[a]=g}}if(!r.next().done)throw new TypeError("Unreachable");return t}else{let r=0;for(let{0:s,1:{value:n}}of this.headersMap)t[r++]=[s,n],iE(n!==null);return t.sort(_f)}}},BA=class A{#e;#A;constructor(e=void 0){J.util.markAsUncloneable(this),e!==FL&&(this.#A=new Ai,this.#e="none",e!==void 0&&(e=J.converters.HeadersInit(e,"Headers constructor","init"),Wf(this,e)))}append(e,t){J.brandCheck(this,A),J.argumentLengthCheck(arguments,2,"Headers.append");let r="Headers.append";return e=J.converters.ByteString(e,r,"name"),t=J.converters.ByteString(t,r,"value"),aE(this,e,t)}delete(e){if(J.brandCheck(this,A),J.argumentLengthCheck(arguments,1,"Headers.delete"),e=J.converters.ByteString(e,"Headers.delete","name"),!un(e))throw J.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#A.contains(e,!1)&&this.#A.delete(e,!1)}get(e){J.brandCheck(this,A),J.argumentLengthCheck(arguments,1,"Headers.get");let t="Headers.get";if(e=J.converters.ByteString(e,t,"name"),!un(e))throw J.errors.invalidArgument({prefix:t,value:e,type:"header name"});return this.#A.get(e,!1)}has(e){J.brandCheck(this,A),J.argumentLengthCheck(arguments,1,"Headers.has");let t="Headers.has";if(e=J.converters.ByteString(e,t,"name"),!un(e))throw J.errors.invalidArgument({prefix:t,value:e,type:"header name"});return this.#A.contains(e,!1)}set(e,t){J.brandCheck(this,A),J.argumentLengthCheck(arguments,2,"Headers.set");let r="Headers.set";if(e=J.converters.ByteString(e,r,"name"),t=J.converters.ByteString(t,r,"value"),t=qf(t),un(e)){if(!Pf(t))throw J.errors.invalidArgument({prefix:r,value:t,type:"header value"})}else throw J.errors.invalidArgument({prefix:r,value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#A.set(e,t,!1)}getSetCookie(){J.brandCheck(this,A);let e=this.#A.cookies;return e?[...e]:[]}[ei.inspect.custom](e,t){return t.depth??=e,`Headers ${ei.formatWithOptions(t,this.#A.entries)}`}static getHeadersGuard(e){return e.#e}static setHeadersGuard(e,t){e.#e=t}static getHeadersList(e){return e.#A}static setHeadersList(e,t){e.#A=t}},{getHeadersGuard:Zf,setHeadersGuard:ML,getHeadersList:ti,setHeadersList:TL}=BA;Reflect.deleteProperty(BA,"getHeadersGuard");Reflect.deleteProperty(BA,"setHeadersGuard");Reflect.deleteProperty(BA,"getHeadersList");Reflect.deleteProperty(BA,"setHeadersList");bL("Headers",BA,UL,0,1);Object.defineProperties(BA.prototype,{append:$r,delete:$r,get:$r,has:$r,set:$r,getSetCookie:$r,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[ei.inspect.custom]:{enumerable:!1}});J.converters.HeadersInit=function(A,e,t){if(J.util.Type(A)===J.util.Types.OBJECT){let r=Reflect.get(A,Symbol.iterator);if(!ei.types.isProxy(A)&&r===BA.prototype.entries)try{return ti(A).entriesList}catch{}return typeof r=="function"?J.converters["sequence<sequence<ByteString>>"](A,e,t,r.bind(A)):J.converters["record<ByteString, ByteString>"](A,e,t)}throw J.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};jf.exports={fill:Wf,compareHeaderName:_f,Headers:BA,HeadersList:Ai,getHeadersGuard:Zf,setHeadersGuard:ML,setHeadersList:TL,getHeadersList:ti}});var In=p((Zv,ip)=>{"use strict";var{Headers:Ap,HeadersList:Xf,fill:kL,getHeadersGuard:LL,setHeadersGuard:tp,setHeadersList:rp}=ar(),{extractBody:Kf,cloneBody:HL,mixinBody:xL,streamRegistry:sp,bodyUnusable:YL}=Mr(),np=G(),zf=require("node:util"),{kEnumerableProperty:Ze}=np,{isValidReasonPhrase:GL,isCancelled:OL,isAborted:VL,isErrorLike:vL,environmentSettingsObject:JL}=ve(),{redirectStatusSet:PL,nullBodyStatus:qL}=Rs(),{webidl:v}=pe(),{URLSerializer:$f}=tA(),{kConstruct:si}=Z(),cE=require("node:assert"),{isomorphicEncode:WL,serializeJavascriptValueToJSONString:_L}=vA(),ZL=new TextEncoder("utf-8"),je=class A{#e;#A;static error(){return hn(ni(),"immutable")}static json(e,t=void 0){v.argumentLengthCheck(arguments,1,"Response.json"),t!==null&&(t=v.converters.ResponseInit(t));let r=ZL.encode(_L(e)),s=Kf(r),n=hn(es({}),"response");return ep(n,t,{body:s[0],type:"application/json"}),n}static redirect(e,t=302){v.argumentLengthCheck(arguments,1,"Response.redirect"),e=v.converters.USVString(e),t=v.converters["unsigned short"](t);let r;try{r=new URL(e,JL.settingsObject.baseUrl)}catch(o){throw new TypeError(`Failed to parse URL from ${e}`,{cause:o})}if(!PL.has(t))throw new RangeError(`Invalid status code ${t}`);let s=hn(es({}),"immutable");s.#A.status=t;let n=WL($f(r));return s.#A.headersList.append("location",n,!0),s}constructor(e=null,t=void 0){if(v.util.markAsUncloneable(this),e===si)return;e!==null&&(e=v.converters.BodyInit(e,"Response","body")),t=v.converters.ResponseInit(t),this.#A=es({}),this.#e=new Ap(si),tp(this.#e,"response"),rp(this.#e,this.#A.headersList);let r=null;if(e!=null){let[s,n]=Kf(e);r={body:s,type:n}}ep(this,t,r)}get type(){return v.brandCheck(this,A),this.#A.type}get url(){v.brandCheck(this,A);let e=this.#A.urlList,t=e[e.length-1]??null;return t===null?"":$f(t,!0)}get redirected(){return v.brandCheck(this,A),this.#A.urlList.length>1}get status(){return v.brandCheck(this,A),this.#A.status}get ok(){return v.brandCheck(this,A),this.#A.status>=200&&this.#A.status<=299}get statusText(){return v.brandCheck(this,A),this.#A.statusText}get headers(){return v.brandCheck(this,A),this.#e}get body(){return v.brandCheck(this,A),this.#A.body?this.#A.body.stream:null}get bodyUsed(){return v.brandCheck(this,A),!!this.#A.body&&np.isDisturbed(this.#A.body.stream)}clone(){if(v.brandCheck(this,A),YL(this.#A))throw v.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let e=gE(this.#A);return this.#A.urlList.length!==0&&this.#A.body?.stream&&sp.register(this,new WeakRef(this.#A.body.stream)),hn(e,LL(this.#e))}[zf.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.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 ${zf.formatWithOptions(t,r)}`}static getResponseHeaders(e){return e.#e}static setResponseHeaders(e,t){e.#e=t}static getResponseState(e){return e.#A}static setResponseState(e,t){e.#A=t}},{getResponseHeaders:jL,setResponseHeaders:XL,getResponseState:cr,setResponseState:KL}=je;Reflect.deleteProperty(je,"getResponseHeaders");Reflect.deleteProperty(je,"setResponseHeaders");Reflect.deleteProperty(je,"getResponseState");Reflect.deleteProperty(je,"setResponseState");xL(je,cr);Object.defineProperties(je.prototype,{type:Ze,url:Ze,status:Ze,ok:Ze,redirected:Ze,statusText:Ze,headers:Ze,clone:Ze,body:Ze,bodyUsed:Ze,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(je,{json:Ze,redirect:Ze,error:Ze});function gE(A){if(A.internalResponse)return op(gE(A.internalResponse),A.type);let e=es({...A,body:null});return A.body!=null&&(e.body=HL(A.body)),e}function es(A){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...A,headersList:A?.headersList?new Xf(A?.headersList):new Xf,urlList:A?.urlList?[...A.urlList]:[]}}function ni(A){let e=vL(A);return es({type:"error",status:0,error:e?A:new Error(A&&String(A)),aborted:A&&A.name==="AbortError"})}function zL(A){return A.type==="error"&&A.status===0}function ri(A,e){return e={internalResponse:A,...e},new Proxy(A,{get(t,r){return r in e?e[r]:t[r]},set(t,r,s){return cE(!(r in e)),t[r]=s,!0}})}function op(A,e){if(e==="basic")return ri(A,{type:"basic",headersList:A.headersList});if(e==="cors")return ri(A,{type:"cors",headersList:A.headersList});if(e==="opaque")return ri(A,{type:"opaque",urlList:[],status:0,statusText:"",body:null});if(e==="opaqueredirect")return ri(A,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});cE(!1)}function $L(A,e=null){return cE(OL(A)),VL(A)?ni(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:e})):ni(Object.assign(new DOMException("Request was cancelled."),{cause:e}))}function ep(A,e,t){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&&!GL(String(e.statusText)))throw new TypeError("Invalid statusText");if("status"in e&&e.status!=null&&(cr(A).status=e.status),"statusText"in e&&e.statusText!=null&&(cr(A).statusText=e.statusText),"headers"in e&&e.headers!=null&&kL(jL(A),e.headers),t){if(qL.includes(A.status))throw v.errors.exception({header:"Response constructor",message:`Invalid response status code ${A.status}`});cr(A).body=t.body,t.type!=null&&!cr(A).headersList.contains("content-type",!0)&&cr(A).headersList.append("content-type",t.type,!0)}}function hn(A,e){let t=new je(si);KL(t,A);let r=new Ap(si);return XL(t,r),rp(r,A.headersList),tp(r,e),A.urlList.length!==0&&A.body?.stream&&sp.register(t,new WeakRef(A.body.stream)),t}v.converters.XMLHttpRequestBodyInit=function(A,e,t){return typeof A=="string"?v.converters.USVString(A,e,t):v.is.Blob(A)||v.is.BufferSource(A)||v.is.FormData(A)||v.is.URLSearchParams(A)?A:v.converters.DOMString(A,e,t)};v.converters.BodyInit=function(A,e,t){return v.is.ReadableStream(A)||A?.[Symbol.asyncIterator]?A:v.converters.XMLHttpRequestBodyInit(A,e,t)};v.converters.ResponseInit=v.dictionaryConverter([{key:"status",converter:v.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:v.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:v.converters.HeadersInit}]);v.is.Response=v.util.MakeTypeAssertion(je);ip.exports={isNetworkError:zL,makeNetworkError:ni,makeResponse:es,makeAppropriateNetworkError:$L,filterResponse:op,Response:je,cloneResponse:gE,fromInnerResponse:hn,getResponseState:cr}});var As=p((jv,pp)=>{"use strict";var{extractBody:eH,mixinBody:AH,cloneBody:tH,bodyUnusable:ap}=Mr(),{Headers:up,fill:rH,HeadersList:ai,setHeadersGuard:lE,getHeadersGuard:sH,setHeadersList:hp,getHeadersList:cp}=ar(),ii=G(),gp=require("node:util"),{isValidHTTPToken:nH,sameOrigin:lp,environmentSettingsObject:oi}=ve(),{forbiddenMethodsSet:oH,corsSafeListedMethodsSet:iH,referrerPolicy:aH,requestRedirect:cH,requestMode:gH,requestCredentials:lH,requestCache:EH,requestDuplex:QH}=Rs(),{kEnumerableProperty:ge,normalizedMethodRecordsBase:uH,normalizedMethodRecords:hH}=ii,{webidl:M}=pe(),{URLSerializer:IH}=tA(),{kConstruct:ci}=Z(),BH=require("node:assert"),{getMaxListeners:Ip,setMaxListeners:CH,defaultMaxListeners:dH}=require("node:events"),fH=Symbol("abortController"),Bp=new FinalizationRegistry(({signal:A,abort:e})=>{A.removeEventListener("abort",e)}),gi=new WeakMap,EE;try{EE=Ip(new AbortController().signal)>0}catch{EE=!1}function Ep(A){return e;function e(){let t=A.deref();if(t!==void 0){Bp.unregister(e),this.removeEventListener("abort",e),t.abort(this.reason);let r=gi.get(t.signal);if(r!==void 0){if(r.size!==0){for(let s of r){let n=s.deref();n!==void 0&&n.abort(this.reason)}r.clear()}gi.delete(t.signal)}}}}var Qp=!1,Le=class A{#e;#A;#t;#r;constructor(e,t=void 0){if(M.util.markAsUncloneable(this),e===ci)return;M.argumentLengthCheck(arguments,1,"Request constructor"),e=M.converters.RequestInfo(e),t=M.converters.RequestInit(t);let s=null,n=null,o=oi.settingsObject.baseUrl,i=null;if(typeof e=="string"){this.#A=t.dispatcher;let C;try{C=new URL(e,o)}catch(f){throw new TypeError("Failed to parse URL from "+e,{cause:f})}if(C.username||C.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e);s=li({urlList:[C]}),n="cors"}else BH(M.is.Request(e)),s=e.#r,i=e.#e,this.#A=t.dispatcher||e.#A;let a=oi.settingsObject.origin,c="client";if(s.window?.constructor?.name==="EnvironmentSettingsObject"&&lp(s.window,a)&&(c=s.window),t.window!=null)throw new TypeError(`'window' option '${c}' must be null`);"window"in t&&(c="no-window"),s=li({method:s.method,headersList:s.headersList,unsafeRequest:s.unsafeRequest,client:oi.settingsObject,window:c,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(t).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]),t.referrer!==void 0){let C=t.referrer;if(C==="")s.referrer="no-referrer";else{let f;try{f=new URL(C,o)}catch(y){throw new TypeError(`Referrer "${C}" is not a valid URL.`,{cause:y})}f.protocol==="about:"&&f.hostname==="client"||a&&!lp(f,oi.settingsObject.baseUrl)?s.referrer="client":s.referrer=f}}t.referrerPolicy!==void 0&&(s.referrerPolicy=t.referrerPolicy);let h;if(t.mode!==void 0?h=t.mode:h=n,h==="navigate")throw M.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(h!=null&&(s.mode=h),t.credentials!==void 0&&(s.credentials=t.credentials),t.cache!==void 0&&(s.cache=t.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(t.redirect!==void 0&&(s.redirect=t.redirect),t.integrity!=null&&(s.integrity=String(t.integrity)),t.keepalive!==void 0&&(s.keepalive=!!t.keepalive),t.method!==void 0){let C=t.method,f=hH[C];if(f!==void 0)s.method=f;else{if(!nH(C))throw new TypeError(`'${C}' is not a valid HTTP method.`);let y=C.toUpperCase();if(oH.has(y))throw new TypeError(`'${C}' HTTP method is unsupported.`);C=uH[y]??C,s.method=C}!Qp&&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"}),Qp=!0)}t.signal!==void 0&&(i=t.signal),this.#r=s;let Q=new AbortController;if(this.#e=Q.signal,i!=null)if(i.aborted)Q.abort(i.reason);else{this[fH]=Q;let C=new WeakRef(Q),f=Ep(C);EE&&Ip(i)===dH&&CH(1500,i),ii.addAbortListener(i,f),Bp.register(Q,{signal:i,abort:f},f)}if(this.#t=new up(ci),hp(this.#t,s.headersList),lE(this.#t,"request"),h==="no-cors"){if(!iH.has(s.method))throw new TypeError(`'${s.method} is unsupported in no-cors mode.`);lE(this.#t,"request-no-cors")}if(g){let C=cp(this.#t),f=t.headers!==void 0?t.headers:new ai(C);if(C.clear(),f instanceof ai){for(let{name:y,value:T}of f.rawValues())C.append(y,T,!1);C.cookies=f.cookies}else rH(this.#t,f)}let l=M.is.Request(e)?e.#r.body:null;if((t.body!=null||l!=null)&&(s.method==="GET"||s.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let E=null;if(t.body!=null){let[C,f]=eH(t.body,s.keepalive);E=C,f&&!cp(this.#t).contains("content-type",!0)&&this.#t.append("content-type",f,!0)}let B=E??l;if(B!=null&&B.source==null){if(E!=null&&t.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 D=B;if(E==null&&l!=null){if(ap(e.#r))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let C=new TransformStream;l.stream.pipeThrough(C),D={source:l.source,length:l.length,stream:C.readable}}this.#r.body=D}get method(){return M.brandCheck(this,A),this.#r.method}get url(){return M.brandCheck(this,A),IH(this.#r.url)}get headers(){return M.brandCheck(this,A),this.#t}get destination(){return M.brandCheck(this,A),this.#r.destination}get referrer(){return M.brandCheck(this,A),this.#r.referrer==="no-referrer"?"":this.#r.referrer==="client"?"about:client":this.#r.referrer.toString()}get referrerPolicy(){return M.brandCheck(this,A),this.#r.referrerPolicy}get mode(){return M.brandCheck(this,A),this.#r.mode}get credentials(){return M.brandCheck(this,A),this.#r.credentials}get cache(){return M.brandCheck(this,A),this.#r.cache}get redirect(){return M.brandCheck(this,A),this.#r.redirect}get integrity(){return M.brandCheck(this,A),this.#r.integrity}get keepalive(){return M.brandCheck(this,A),this.#r.keepalive}get isReloadNavigation(){return M.brandCheck(this,A),this.#r.reloadNavigation}get isHistoryNavigation(){return M.brandCheck(this,A),this.#r.historyNavigation}get signal(){return M.brandCheck(this,A),this.#e}get body(){return M.brandCheck(this,A),this.#r.body?this.#r.body.stream:null}get bodyUsed(){return M.brandCheck(this,A),!!this.#r.body&&ii.isDisturbed(this.#r.body.stream)}get duplex(){return M.brandCheck(this,A),"half"}clone(){if(M.brandCheck(this,A),ap(this.#r))throw new TypeError("unusable");let e=dp(this.#r),t=new AbortController;if(this.signal.aborted)t.abort(this.signal.reason);else{let r=gi.get(this.signal);r===void 0&&(r=new Set,gi.set(this.signal,r));let s=new WeakRef(t);r.add(s),ii.addAbortListener(t.signal,Ep(s))}return fp(e,this.#A,t.signal,sH(this.#t))}[gp.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.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 ${gp.formatWithOptions(t,r)}`}static setRequestSignal(e,t){return e.#e=t,e}static getRequestDispatcher(e){return e.#A}static setRequestDispatcher(e,t){e.#A=t}static setRequestHeaders(e,t){e.#t=t}static getRequestState(e){return e.#r}static setRequestState(e,t){e.#r=t}},{setRequestSignal:pH,getRequestDispatcher:yH,setRequestDispatcher:DH,setRequestHeaders:mH,getRequestState:Cp,setRequestState:wH}=Le;Reflect.deleteProperty(Le,"setRequestSignal");Reflect.deleteProperty(Le,"getRequestDispatcher");Reflect.deleteProperty(Le,"setRequestDispatcher");Reflect.deleteProperty(Le,"setRequestHeaders");Reflect.deleteProperty(Le,"getRequestState");Reflect.deleteProperty(Le,"setRequestState");AH(Le,Cp);function li(A){return{method:A.method??"GET",localURLsOnly:A.localURLsOnly??!1,unsafeRequest:A.unsafeRequest??!1,body:A.body??null,client:A.client??null,reservedClient:A.reservedClient??null,replacesClientId:A.replacesClientId??"",window:A.window??"client",keepalive:A.keepalive??!1,serviceWorkers:A.serviceWorkers??"all",initiator:A.initiator??"",destination:A.destination??"",priority:A.priority??null,origin:A.origin??"client",policyContainer:A.policyContainer??"client",referrer:A.referrer??"client",referrerPolicy:A.referrerPolicy??"",mode:A.mode??"no-cors",useCORSPreflightFlag:A.useCORSPreflightFlag??!1,credentials:A.credentials??"same-origin",useCredentials:A.useCredentials??!1,cache:A.cache??"default",redirect:A.redirect??"follow",integrity:A.integrity??"",cryptoGraphicsNonceMetadata:A.cryptoGraphicsNonceMetadata??"",parserMetadata:A.parserMetadata??"",reloadNavigation:A.reloadNavigation??!1,historyNavigation:A.historyNavigation??!1,userActivation:A.userActivation??!1,taintedOrigin:A.taintedOrigin??!1,redirectCount:A.redirectCount??0,responseTainting:A.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:A.preventNoCacheCacheControlHeaderModification??!1,done:A.done??!1,timingAllowFailed:A.timingAllowFailed??!1,useURLCredentials:A.useURLCredentials??void 0,traversableForUserPrompts:A.traversableForUserPrompts??"client",urlList:A.urlList,url:A.urlList[0],headersList:A.headersList?new ai(A.headersList):new ai}}function dp(A){let e=li({...A,body:null});return A.body!=null&&(e.body=tH(A.body)),e}function fp(A,e,t,r){let s=new Le(ci);wH(s,A),DH(s,e),pH(s,t);let n=new up(ci);return mH(s,n),hp(n,A.headersList),lE(n,r),s}Object.defineProperties(Le.prototype,{method:ge,url:ge,headers:ge,redirect:ge,clone:ge,signal:ge,duplex:ge,destination:ge,body:ge,bodyUsed:ge,isHistoryNavigation:ge,isReloadNavigation:ge,keepalive:ge,integrity:ge,cache:ge,credentials:ge,attribute:ge,referrerPolicy:ge,referrer:ge,mode:ge,[Symbol.toStringTag]:{value:"Request",configurable:!0}});M.is.Request=M.util.MakeTypeAssertion(Le);M.converters.RequestInfo=function(A){return typeof A=="string"?M.converters.USVString(A):M.is.Request(A)?A:M.converters.USVString(A)};M.converters.RequestInit=M.dictionaryConverter([{key:"method",converter:M.converters.ByteString},{key:"headers",converter:M.converters.HeadersInit},{key:"body",converter:M.nullableConverter(M.converters.BodyInit)},{key:"referrer",converter:M.converters.USVString},{key:"referrerPolicy",converter:M.converters.DOMString,allowedValues:aH},{key:"mode",converter:M.converters.DOMString,allowedValues:gH},{key:"credentials",converter:M.converters.DOMString,allowedValues:lH},{key:"cache",converter:M.converters.DOMString,allowedValues:EH},{key:"redirect",converter:M.converters.DOMString,allowedValues:cH},{key:"integrity",converter:M.converters.DOMString},{key:"keepalive",converter:M.converters.boolean},{key:"signal",converter:M.nullableConverter(A=>M.converters.AbortSignal(A,"RequestInit","signal"))},{key:"window",converter:M.converters.any},{key:"duplex",converter:M.converters.DOMString,allowedValues:QH},{key:"dispatcher",converter:M.converters.any},{key:"priority",converter:M.converters.DOMString,allowedValues:["high","low","auto"],defaultValue:()=>"auto"}]);pp.exports={Request:Le,makeRequest:li,fromInnerRequest:fp,cloneRequest:dp,getRequestDispatcher:yH,getRequestState:Cp}});var Fp=p((Xv,Np)=>{"use strict";var RH=require("node:assert"),{runtimeFeatures:Dp}=JA(),gr=new Map([["sha256",0],["sha384",1],["sha512",2]]),QE;if(Dp.has("crypto")){QE=require("node:crypto");let A=QE.getHashes();A.length===0&&gr.clear();for(let e of gr.keys())A.includes(e)===!1&&gr.delete(e)}else gr.clear();var yp=Map.prototype.get.bind(gr),uE=Map.prototype.has.bind(gr),SH=Dp.has("crypto")===!1||gr.size===0?()=>!0:(A,e)=>{let t=wp(e);if(t.length===0)return!0;let r=mp(t);for(let s of r){let n=s.alg,o=s.val,i=Rp(n,A);if(Sp(i,o))return!0}return!1};function mp(A){let e=[],t=null;for(let r of A){if(RH(uE(r.alg),"Invalid SRI hash algorithm token"),e.length===0){e.push(r),t=r;continue}let s=t.alg,n=yp(s),o=r.alg,i=yp(o);i<n||(i>n?(t=r,e[0]=r,e.length=1):e.push(r))}return e}function wp(A){let e=[];for(let t of A.split(" ")){let s=t.split("?",1)[0],n="",o=[s.slice(0,6),s.slice(7)],i=o[0];if(!uE(i))continue;o[1]&&(n=o[1]);let a={alg:i,val:n};e.push(a)}return e}var Rp=(A,e)=>QE.hash(A,e,"base64");function Sp(A,e){let t=A.length;t!==0&&A[t-1]==="="&&(t-=1),t!==0&&A[t-1]==="="&&(t-=1);let r=e.length;if(r!==0&&e[r-1]==="="&&(r-=1),r!==0&&e[r-1]==="="&&(r-=1),t!==r)return!1;for(let s=0;s<t;++s)if(!(A[s]===e[s]||A[s]==="+"&&e[s]==="-"||A[s]==="/"&&e[s]==="_"))return!1;return!0}Np.exports={applyAlgorithmToBytes:Rp,bytesMatch:SH,caseSensitiveMatch:Sp,isValidSRIHashAlgorithm:uE,getStrongestMetadata:mp,parseMetadata:wp}});var dn=p((Kv,Jp)=>{"use strict";var{makeNetworkError:_,makeAppropriateNetworkError:Bn,filterResponse:hE,makeResponse:Ei,fromInnerResponse:NH,getResponseState:FH}=In(),{HeadersList:IE}=ar(),{Request:bH,cloneRequest:UH,getRequestDispatcher:MH,getRequestState:TH}=As(),CA=require("node:zlib"),{makePolicyContainer:kH,clonePolicyContainer:LH,requestBadPort:HH,TAOCheck:xH,appendRequestOriginHeader:YH,responseLocationURL:GH,requestCurrentURL:Xe,setRequestReferrerPolicyOnRedirect:OH,tryUpgradeRequestToAPotentiallyTrustworthyURL:VH,createOpaqueTimingInfo:yE,appendFetchMetadata:vH,corsCheck:JH,crossOriginResourcePolicyCheck:PH,determineRequestsReferrer:qH,coarsenedSharedCurrentTime:Cn,sameOrigin:fE,isCancelled:St,isAborted:bp,isErrorLike:WH,fullyReadBody:_H,readableStreamClose:ZH,urlIsLocal:jH,urlIsHttpHttpsScheme:Ii,urlHasHttpsScheme:XH,clampAndCoarsenConnectionTimingInfo:KH,simpleRangeHeaderValue:zH,buildContentRange:$H,createInflate:ex,extractMimeType:Ax,hasAuthenticationEntry:tx,includesCredentials:Up,isTraversableNavigable:rx}=ve(),lr=require("node:assert"),{safelyExtractBody:Bi,extractBody:Mp}=Mr(),{redirectStatusSet:Hp,nullBodyStatus:xp,safeMethodsSet:sx,requestBodyHeader:nx,subresourceSet:ox}=Rs(),ix=require("node:events"),{Readable:ax,pipeline:cx,finished:gx,isErrored:lx,isReadable:Qi}=require("node:stream"),{addAbortListener:Ex,bufferToLowerCasedHeaderName:Tp}=G(),{dataURLProcessor:Qx,serializeAMimeType:ux,minimizeSupportedMimeType:hx}=tA(),{getGlobalDispatcher:Ix}=Ko(),{webidl:DE}=pe(),{STATUS_CODES:kp}=require("node:http"),{bytesMatch:Bx}=Fp(),{createDeferredPromise:Cx}=Us(),{isomorphicEncode:ui}=vA(),{runtimeFeatures:dx}=JA(),fx=dx.has("zstd"),px=["GET","HEAD"],yx=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",BE,hi=class extends ix{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 Dx(A){Yp(A,"fetch")}function mx(A,e=void 0){DE.argumentLengthCheck(arguments,1,"globalThis.fetch");let t=Cx(),r;try{r=new bH(A,e)}catch(g){return t.reject(g),t.promise}let s=TH(r);if(r.signal.aborted)return CE(t,s,null,r.signal.reason,null),t.promise;s.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(s.serviceWorkers="none");let o=null,i=!1,a=null;return Ex(r.signal,()=>{i=!0,lr(a!=null),a.abort(r.signal.reason);let g=o?.deref();CE(t,s,g,r.signal.reason,a.controller)}),a=Op({request:s,processResponseEndOfBody:Dx,processResponse:g=>{if(!i){if(g.aborted){CE(t,s,o,a.serializedAbortReason,a.controller);return}if(g.type==="error"){t.reject(new TypeError("fetch failed",{cause:g.error}));return}o=new WeakRef(NH(g,"immutable")),t.resolve(o.deref()),t=null}},dispatcher:MH(r),requestObject:r}),t.promise}function Yp(A,e="other"){if(A.type==="error"&&A.aborted||!A.urlList?.length)return;let t=A.urlList[0],r=A.timingInfo,s=A.cacheState;Ii(t)&&r!==null&&(A.timingAllowPassed||(r=yE({startTime:r.startTime}),s=""),r.endTime=Cn(),A.timingInfo=r,Gp(r,t.href,e,globalThis,s,"",A.status))}var Gp=performance.markResourceTiming;function CE(A,e,t,r,s){if(A&&A.reject(r),e.body?.stream!=null&&Qi(e.body.stream)&&e.body.stream.cancel(r).catch(o=>{if(o.code!=="ERR_INVALID_STATE")throw o}),t==null)return;let n=FH(t);n.body?.stream!=null&&Qi(n.body.stream)&&s.error(r)}function Op({request:A,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:r,processResponseEndOfBody:s,processResponseConsumeBody:n,useParallelQueue:o=!1,dispatcher:i=Ix(),requestObject:a=null}){lr(i);let c=null,g=!1;A.client!=null&&(c=A.client.globalObject,g=A.client.crossOriginIsolatedCapability);let h=Cn(g),Q=yE({startTime:h}),l={controller:new hi(i),request:A,timingInfo:Q,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:r,processResponseConsumeBody:n,processResponseEndOfBody:s,taskDestination:c,crossOriginIsolatedCapability:g,requestObject:a};return lr(!A.body||A.body.stream),A.window==="client"&&(A.window=A.client?.globalObject?.constructor?.name==="Window"?A.client:"no-window"),A.origin==="client"&&(A.origin=A.client.origin),A.policyContainer==="client"&&(A.client!=null?A.policyContainer=LH(A.client.policyContainer):A.policyContainer=kH()),A.headersList.contains("accept",!0)||A.headersList.append("accept","*/*",!0),A.headersList.contains("accept-language",!0)||A.headersList.append("accept-language","*",!0),A.priority,ox.has(A.destination),Vp(l,!1),l.controller}async function Vp(A,e){try{let t=A.request,r=null;if(t.localURLsOnly&&!jH(Xe(t))&&(r=_("local URLs only")),VH(t),HH(t)==="blocked"&&(r=_("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=qH(t)),r===null){let n=Xe(t);fE(n,t.url)&&t.responseTainting==="basic"||n.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",r=await Lp(A)):t.mode==="same-origin"?r=_('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?r=_('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",r=await Lp(A)):Ii(Xe(t))?(t.responseTainting="cors",r=await vp(A)):r=_("URL scheme must be a HTTP(S) scheme")}if(e)return r;r.status!==0&&!r.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?r=hE(r,"basic"):t.responseTainting==="cors"?r=hE(r,"cors"):t.responseTainting==="opaque"?r=hE(r,"opaque"):lr(!1));let s=r.status===0?r:r.internalResponse;if(s.urlList.length===0&&s.urlList.push(...t.urlList),t.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&s.status===206&&s.rangeRequested&&!t.headers.contains("range",!0)&&(r=s=_()),r.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||xp.includes(s.status))&&(s.body=null,A.controller.dump=!0),t.integrity){let n=i=>dE(A,_(i));if(t.responseTainting==="opaque"||r.body==null){n(r.error);return}let o=i=>{if(!Bx(i,t.integrity)){n("integrity mismatch");return}r.body=Bi(i)[0],dE(A,r)};_H(r.body,o,n)}else dE(A,r)}catch(t){A.controller.terminate(t)}}function Lp(A){if(St(A)&&A.request.redirectCount===0)return Promise.resolve(Bn(A));let{request:e}=A,{protocol:t}=Xe(e);switch(t){case"about:":return Promise.resolve(_("about scheme is not supported"));case"blob:":{BE||(BE=require("node:buffer").resolveObjectURL);let r=Xe(e);if(r.search.length!==0)return Promise.resolve(_("NetworkError when attempting to fetch resource."));let s=BE(r.toString());if(e.method!=="GET"||!DE.is.Blob(s))return Promise.resolve(_("invalid method"));let n=Ei(),o=s.size,i=ui(`${o}`),a=s.type;if(e.headersList.contains("range",!0)){n.rangeRequested=!0;let c=e.headersList.get("range",!0),g=zH(c,!0);if(g==="failure")return Promise.resolve(_("failed to fetch the data URL"));let{rangeStartValue:h,rangeEndValue:Q}=g;if(h===null)h=o-Q,Q=h+Q-1;else{if(h>=o)return Promise.resolve(_("Range start is greater than the blob's size."));(Q===null||Q>=o)&&(Q=o-1)}let l=s.slice(h,Q+1,a),E=Mp(l);n.body=E[0];let B=ui(`${l.size}`),D=$H(h,Q,o);n.status=206,n.statusText="Partial Content",n.headersList.set("content-length",B,!0),n.headersList.set("content-type",a,!0),n.headersList.set("content-range",D,!0)}else{let c=Mp(s);n.statusText="OK",n.body=c[0],n.headersList.set("content-length",i,!0),n.headersList.set("content-type",a,!0)}return Promise.resolve(n)}case"data:":{let r=Xe(e),s=Qx(r);if(s==="failure")return Promise.resolve(_("failed to fetch the data URL"));let n=ux(s.mimeType);return Promise.resolve(Ei({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:n}]],body:Bi(s.body)[0]}))}case"file:":return Promise.resolve(_("not implemented... yet..."));case"http:":case"https:":return vp(A).catch(r=>_(r));default:return Promise.resolve(_("unknown scheme"))}}function wx(A,e){A.request.done=!0,A.processResponseDone!=null&&queueMicrotask(()=>A.processResponseDone(e))}function dE(A,e){let t=A.timingInfo,r=()=>{let n=Date.now();A.request.destination==="document"&&(A.controller.fullTimingInfo=t),A.controller.reportTimingSteps=()=>{if(!Ii(A.request.url))return;t.endTime=n;let i=e.cacheState,a=e.bodyInfo;e.timingAllowPassed||(t=yE(t),i="");let c=0;if(A.request.mode!=="navigator"||!e.hasCrossOriginRedirects){c=e.status;let g=Ax(e.headersList);g!=="failure"&&(a.contentType=hx(g))}A.request.initiatorType!=null&&Gp(t,A.request.url.href,A.request.initiatorType,globalThis,i,a,c)};let o=()=>{A.request.done=!0,A.processResponseEndOfBody!=null&&queueMicrotask(()=>A.processResponseEndOfBody(e)),A.request.initiatorType!=null&&A.controller.reportTimingSteps()};queueMicrotask(()=>o())};A.processResponse!=null&&queueMicrotask(()=>{A.processResponse(e),A.processResponse=null});let s=e.type==="error"?e:e.internalResponse??e;s.body==null?r():gx(s.body.stream,()=>{r()})}async function vp(A){let e=A.request,t=null,r=null,s=A.timingInfo;if(e.serviceWorkers,t===null){if(e.redirect==="follow"&&(e.serviceWorkers="none"),r=t=await pE(A),e.responseTainting==="cors"&&JH(e,t)==="failure")return _("cors failure");xH(e,t)==="failure"&&(e.timingAllowFailed=!0)}return(e.responseTainting==="opaque"||t.type==="opaque")&&PH(e.origin,e.client,e.destination,r)==="blocked"?_("blocked"):(Hp.has(r.status)&&(e.redirect!=="manual"&&A.controller.connection.destroy(void 0,!1),e.redirect==="error"?t=_("unexpected redirect"):e.redirect==="manual"?t=r:e.redirect==="follow"?t=await Rx(A,t):lr(!1)),t.timingInfo=s,t)}function Rx(A,e){let t=A.request,r=e.internalResponse?e.internalResponse:e,s;try{if(s=GH(r,Xe(t).hash),s==null)return e}catch(o){return Promise.resolve(_(o))}if(!Ii(s))return Promise.resolve(_("URL scheme must be a HTTP(S) scheme"));if(t.redirectCount===20)return Promise.resolve(_("redirect count exceeded"));if(t.redirectCount+=1,t.mode==="cors"&&(s.username||s.password)&&!fE(t,s))return Promise.resolve(_('cross origin not allowed for request mode "cors"'));if(t.responseTainting==="cors"&&(s.username||s.password))return Promise.resolve(_('URL cannot contain credentials for request mode "cors"'));if(r.status!==303&&t.body!=null&&t.body.source==null)return Promise.resolve(_());if([301,302].includes(r.status)&&t.method==="POST"||r.status===303&&!px.includes(t.method)){t.method="GET",t.body=null;for(let o of nx)t.headersList.delete(o)}fE(Xe(t),s)||(t.headersList.delete("authorization",!0),t.headersList.delete("proxy-authorization",!0),t.headersList.delete("cookie",!0),t.headersList.delete("host",!0)),t.body!=null&&(lr(t.body.source!=null),t.body=Bi(t.body.source)[0]);let n=A.timingInfo;return n.redirectEndTime=n.postRedirectStartTime=Cn(A.crossOriginIsolatedCapability),n.redirectStartTime===0&&(n.redirectStartTime=n.startTime),t.urlList.push(s),OH(t,r),Vp(A,!0)}async function pE(A,e=!1,t=!1){let r=A.request,s=null,n=null,o=null,i=null,a=!1;r.window==="no-window"&&r.redirect==="error"?(s=A,n=r):(n=UH(r),s={...A},s.request=n);let c=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",g=n.body?n.body.length:null,h=null;if(n.body==null&&["POST","PUT"].includes(n.method)&&(h="0"),g!=null&&(h=ui(`${g}`)),h!=null&&n.headersList.append("content-length",h,!0),g!=null&&n.keepalive,DE.is.URL(n.referrer)&&n.headersList.append("referer",ui(n.referrer.href),!0),YH(n),vH(n),n.headersList.contains("user-agent",!0)||n.headersList.append("user-agent",yx,!0),n.cache==="default"&&(n.headersList.contains("if-modified-since",!0)||n.headersList.contains("if-none-match",!0)||n.headersList.contains("if-unmodified-since",!0)||n.headersList.contains("if-match",!0)||n.headersList.contains("if-range",!0))&&(n.cache="no-store"),n.cache==="no-cache"&&!n.preventNoCacheCacheControlHeaderModification&&!n.headersList.contains("cache-control",!0)&&n.headersList.append("cache-control","max-age=0",!0),(n.cache==="no-store"||n.cache==="reload")&&(n.headersList.contains("pragma",!0)||n.headersList.append("pragma","no-cache",!0),n.headersList.contains("cache-control",!0)||n.headersList.append("cache-control","no-cache",!0)),n.headersList.contains("range",!0)&&n.headersList.append("accept-encoding","identity",!0),n.headersList.contains("accept-encoding",!0)||(XH(Xe(n))?n.headersList.append("accept-encoding","br, gzip, deflate",!0):n.headersList.append("accept-encoding","gzip, deflate",!0)),n.headersList.delete("host",!0),c&&!n.headersList.contains("authorization",!0)){let Q=null;if(!(tx(n)&&(n.useURLCredentials===void 0||!Up(Xe(n))))){if(Up(Xe(n))&&e){let{username:l,password:E}=Xe(n);Q=`Basic ${Buffer.from(`${l}:${E}`).toString("base64")}`}}Q!==null&&n.headersList.append("Authorization",Q,!1)}if(i==null&&(n.cache="no-store"),n.cache!=="no-store"&&n.cache,o==null){if(n.cache==="only-if-cached")return _("only if cached");let Q=await Sx(s,c,t);!sx.has(n.method)&&Q.status>=200&&Q.status<=399,a&&Q.status,o==null&&(o=Q)}if(o.urlList=[...n.urlList],n.headersList.contains("range",!0)&&(o.rangeRequested=!0),o.requestIncludesCredentials=c,o.status===401&&n.responseTainting!=="cors"&&c&&rx(r.traversableForUserPrompts)){if(r.body!=null){if(r.body.source==null)return _("expected non-null body source");r.body=Bi(r.body.source)[0]}if(r.useURLCredentials===void 0||e)return St(A)?Bn(A):o;A.controller.connection.destroy(),o=await pE(A,!0)}if(o.status===407)return r.window==="no-window"?_():St(A)?Bn(A):_("proxy authentication required");if(o.status===421&&!t&&(r.body==null||r.body.source!=null)){if(St(A))return Bn(A);A.controller.connection.destroy(),o=await pE(A,e,!0)}return o}async function Sx(A,e=!1,t=!1){lr(!A.controller.connection||A.controller.connection.destroyed),A.controller.connection={abort:null,destroyed:!1,destroy(E,B=!0){this.destroyed||(this.destroyed=!0,B&&this.abort?.(E??new DOMException("The operation was aborted.","AbortError")))}};let r=A.request,s=null,n=A.timingInfo;null==null&&(r.cache="no-store");let i=t?"yes":"no";r.mode;let a=null;if(r.body==null&&A.processRequestEndOfBody)queueMicrotask(()=>A.processRequestEndOfBody());else if(r.body!=null){let E=async function*(C){St(A)||(yield C,A.processRequestBodyChunkLength?.(C.byteLength))},B=()=>{St(A)||A.processRequestEndOfBody&&A.processRequestEndOfBody()},D=C=>{St(A)||(C.name==="AbortError"?A.controller.abort():A.controller.terminate(C))};a=(async function*(){try{for await(let C of r.body.stream)yield*E(C);B()}catch(C){D(C)}})()}try{let{body:E,status:B,statusText:D,headersList:C,socket:f}=await l({body:a});if(f)s=Ei({status:B,statusText:D,headersList:C,socket:f});else{let y=E[Symbol.asyncIterator]();A.controller.next=()=>y.next(),s=Ei({status:B,statusText:D,headersList:C})}}catch(E){return E.name==="AbortError"?(A.controller.connection.destroy(),Bn(A,E)):_(E)}let c=()=>A.controller.resume(),g=E=>{St(A)||A.controller.abort(E)},h=new ReadableStream({start(E){A.controller.controller=E},pull:c,cancel:g,type:"bytes"});s.body={stream:h,source:null,length:null},A.controller.resume||A.controller.on("terminated",Q),A.controller.resume=async()=>{for(;;){let E,B;try{let{done:C,value:f}=await A.controller.next();if(bp(A))break;E=C?void 0:f}catch(C){A.controller.ended&&!n.encodedBodySize?E=void 0:(E=C,B=!0)}if(E===void 0){ZH(A.controller.controller),wx(A,s);return}if(n.decodedBodySize+=E?.byteLength??0,B){A.controller.terminate(E);return}let D=new Uint8Array(E);if(D.byteLength&&A.controller.controller.enqueue(D),lx(h)){A.controller.terminate();return}if(A.controller.controller.desiredSize<=0)return}};function Q(E){bp(A)?(s.aborted=!0,Qi(h)&&A.controller.controller.error(A.controller.serializedAbortReason)):Qi(h)&&A.controller.controller.error(new TypeError("terminated",{cause:WH(E)?E:void 0})),A.controller.connection.destroy()}return s;function l({body:E}){let B=Xe(r),D=A.controller.dispatcher,C=B.pathname+B.search,f=B.search.length===0&&B.href[B.href.length-B.hash.length-1]==="?";return new Promise((y,T)=>D.dispatch({path:f?`${C}?`:C,origin:B.origin,method:r.method,body:D.isMockActive?r.body&&(r.body.source||r.body.stream):E,headers:r.headersList.entries,maxRedirections:0,upgrade:r.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(U){let{connection:k}=A.controller;n.finalConnectionTimingInfo=KH(void 0,n.postRedirectStartTime,A.crossOriginIsolatedCapability),k.destroyed?U(new DOMException("The operation was aborted.","AbortError")):(A.controller.on("terminated",U),this.abort=k.abort=U),n.finalNetworkRequestStartTime=Cn(A.crossOriginIsolatedCapability)},onResponseStarted(){n.finalNetworkResponseStartTime=Cn(A.crossOriginIsolatedCapability)},onHeaders(U,k,w,F){if(U<200)return!1;let L=new IE;for(let ie=0;ie<k.length;ie+=2)L.append(Tp(k[ie]),k[ie+1].toString("latin1"),!0);let z=L.get("location",!0);this.body=new ax({read:w});let fe=z&&r.redirect==="follow"&&Hp.has(U),ce=[];if(r.method!=="HEAD"&&r.method!=="CONNECT"&&!xp.includes(U)&&!fe){let ie=L.get("content-encoding",!0),$e=ie?ie.toLowerCase().split(","):[],dr=5;if($e.length>dr)return T(new Error(`too many content-encodings in response: ${$e.length}, maximum allowed is ${dr}`)),!0;for(let Tt=$e.length-1;Tt>=0;--Tt){let kt=$e[Tt].trim();if(kt==="x-gzip"||kt==="gzip")ce.push(CA.createGunzip({flush:CA.constants.Z_SYNC_FLUSH,finishFlush:CA.constants.Z_SYNC_FLUSH}));else if(kt==="deflate")ce.push(ex({flush:CA.constants.Z_SYNC_FLUSH,finishFlush:CA.constants.Z_SYNC_FLUSH}));else if(kt==="br")ce.push(CA.createBrotliDecompress({flush:CA.constants.BROTLI_OPERATION_FLUSH,finishFlush:CA.constants.BROTLI_OPERATION_FLUSH}));else if(kt==="zstd"&&fx)ce.push(CA.createZstdDecompress({flush:CA.constants.ZSTD_e_continue,finishFlush:CA.constants.ZSTD_e_end}));else{ce.length=0;break}}}let Ge=this.onError.bind(this);return y({status:U,statusText:F,headersList:L,body:ce.length?cx(this.body,...ce,ie=>{ie&&this.onError(ie)}).on("error",Ge):this.body.on("error",Ge)}),!0},onData(U){if(A.controller.dump)return;let k=U;return n.encodedBodySize+=k.byteLength,this.body.push(k)},onComplete(){this.abort&&A.controller.off("terminated",this.abort),A.controller.ended=!0,this.body.push(null)},onError(U){this.abort&&A.controller.off("terminated",this.abort),this.body?.destroy(U),A.controller.terminate(U),T(U)},onRequestUpgrade(U,k,w,F){if(F.session!=null&&k!==200||F.session==null&&k!==101)return!1;let L=new IE;for(let[z,fe]of Object.entries(w)){if(fe==null)continue;let ce=z.toLowerCase();if(Array.isArray(fe))for(let Ge of fe)L.append(ce,String(Ge),!0);else L.append(ce,String(fe),!0)}return y({status:k,statusText:kp[k],headersList:L,socket:F}),!0},onUpgrade(U,k,w){if(w.session!=null&&U!==200||w.session==null&&U!==101)return!1;let F=new IE;for(let L=0;L<k.length;L+=2)F.append(Tp(k[L]),k[L+1].toString("latin1"),!0);return y({status:U,statusText:kp[U],headersList:F,socket:w}),!0}}))}}Jp.exports={fetch:mx,Fetch:hi,fetching:Op,finalizeAndReportTiming:Yp}});var Wp=p((zv,qp)=>{"use strict";var Nx=require("node:assert"),{URLSerializer:Pp}=tA(),{isValidHeaderName:Fx}=ve();function bx(A,e,t=!1){let r=Pp(A,t),s=Pp(e,t);return r===s}function Ux(A){Nx(A!==null);let e=[];for(let t of A.split(","))t=t.trim(),Fx(t)&&e.push(t);return e}qp.exports={urlEquals:bx,getFieldValues:Ux}});var Xp=p(($v,jp)=>{"use strict";var mE=require("node:assert"),{kConstruct:Mx}=Z(),{urlEquals:Tx,getFieldValues:wE}=Wp(),{kEnumerableProperty:Er,isDisturbed:kx}=G(),{webidl:R}=pe(),{cloneResponse:_p,fromInnerResponse:Lx,getResponseState:Hx}=In(),{Request:fn,fromInnerRequest:xx,getRequestState:xA}=As(),{fetching:Yx}=dn(),{urlIsHttpHttpsScheme:Ci,readAllBytes:Gx}=ve(),{createDeferredPromise:ts}=Us(),di=class A{#e;constructor(){arguments[0]!==Mx&&R.illegalConstructor(),R.util.markAsUncloneable(this),this.#e=arguments[1]}async match(e,t={}){R.brandCheck(this,A);let r="Cache.match";R.argumentLengthCheck(arguments,1,r),e=R.converters.RequestInfo(e),t=R.converters.CacheQueryOptions(t,r,"options");let s=this.#n(e,t,1);if(s.length!==0)return s[0]}async matchAll(e=void 0,t={}){R.brandCheck(this,A);let r="Cache.matchAll";return e!==void 0&&(e=R.converters.RequestInfo(e)),t=R.converters.CacheQueryOptions(t,r,"options"),this.#n(e,t)}async add(e){R.brandCheck(this,A),R.argumentLengthCheck(arguments,1,"Cache.add"),e=R.converters.RequestInfo(e);let r=[e];return await this.addAll(r)}async addAll(e){R.brandCheck(this,A);let t="Cache.addAll";R.argumentLengthCheck(arguments,1,t);let r=[],s=[];for(let Q of e){if(Q===void 0)throw R.errors.conversionFailed({prefix:t,argument:"Argument 1",types:["undefined is not allowed"]});if(Q=R.converters.RequestInfo(Q),typeof Q=="string")continue;let l=xA(Q);if(!Ci(l.url)||l.method!=="GET")throw R.errors.exception({header:t,message:"Expected http/s scheme when method is not GET."})}let n=[];for(let Q of e){let l=xA(new fn(Q));if(!Ci(l.url))throw R.errors.exception({header:t,message:"Expected http/s scheme."});l.initiator="fetch",l.destination="subresource",s.push(l);let E=ts();n.push(Yx({request:l,processResponse(B){if(B.type==="error"||B.status===206||B.status<200||B.status>299)E.reject(R.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(B.headersList.contains("vary")){let D=wE(B.headersList.get("vary"));for(let C of D)if(C==="*"){E.reject(R.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let f of n)f.abort();return}}},processResponseEndOfBody(B){if(B.aborted){E.reject(new DOMException("aborted","AbortError"));return}E.resolve(B)}})),r.push(E.promise)}let i=await Promise.all(r),a=[],c=0;for(let Q of i){let l={type:"put",request:s[c],response:Q};a.push(l),c++}let g=ts(),h=null;try{this.#A(a)}catch(Q){h=Q}return queueMicrotask(()=>{h===null?g.resolve(void 0):g.reject(h)}),g.promise}async put(e,t){R.brandCheck(this,A);let r="Cache.put";R.argumentLengthCheck(arguments,2,r),e=R.converters.RequestInfo(e),t=R.converters.Response(t,r,"response");let s=null;if(R.is.Request(e)?s=xA(e):s=xA(new fn(e)),!Ci(s.url)||s.method!=="GET")throw R.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"});let n=Hx(t);if(n.status===206)throw R.errors.exception({header:r,message:"Got 206 status"});if(n.headersList.contains("vary")){let l=wE(n.headersList.get("vary"));for(let E of l)if(E==="*")throw R.errors.exception({header:r,message:"Got * vary field value"})}if(n.body&&(kx(n.body.stream)||n.body.stream.locked))throw R.errors.exception({header:r,message:"Response body is locked or disturbed"});let o=_p(n),i=ts();if(n.body!=null){let E=n.body.stream.getReader();Gx(E,i.resolve,i.reject)}else i.resolve(void 0);let a=[],c={type:"put",request:s,response:o};a.push(c);let g=await i.promise;o.body!=null&&(o.body.source=g);let h=ts(),Q=null;try{this.#A(a)}catch(l){Q=l}return queueMicrotask(()=>{Q===null?h.resolve():h.reject(Q)}),h.promise}async delete(e,t={}){R.brandCheck(this,A);let r="Cache.delete";R.argumentLengthCheck(arguments,1,r),e=R.converters.RequestInfo(e),t=R.converters.CacheQueryOptions(t,r,"options");let s=null;if(R.is.Request(e)){if(s=xA(e),s.method!=="GET"&&!t.ignoreMethod)return!1}else mE(typeof e=="string"),s=xA(new fn(e));let n=[],o={type:"delete",request:s,options:t};n.push(o);let i=ts(),a=null,c;try{c=this.#A(n)}catch(g){a=g}return queueMicrotask(()=>{a===null?i.resolve(!!c?.length):i.reject(a)}),i.promise}async keys(e=void 0,t={}){R.brandCheck(this,A);let r="Cache.keys";e!==void 0&&(e=R.converters.RequestInfo(e)),t=R.converters.CacheQueryOptions(t,r,"options");let s=null;if(e!==void 0)if(R.is.Request(e)){if(s=xA(e),s.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(s=xA(new fn(e)));let n=ts(),o=[];if(e===void 0)for(let i of this.#e)o.push(i[0]);else{let i=this.#t(s,t);for(let a of i)o.push(a[0])}return queueMicrotask(()=>{let i=[];for(let a of o){let c=xx(a,void 0,new AbortController().signal,"immutable");i.push(c)}n.resolve(Object.freeze(i))}),n.promise}#A(e){let t=this.#e,r=[...t],s=[],n=[];try{for(let o of e){if(o.type!=="delete"&&o.type!=="put")throw R.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(o.type==="delete"&&o.response!=null)throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#t(o.request,o.options,s).length)throw new DOMException("???","InvalidStateError");let i;if(o.type==="delete"){if(i=this.#t(o.request,o.options),i.length===0)return[];for(let a of i){let c=t.indexOf(a);mE(c!==-1),t.splice(c,1)}}else if(o.type==="put"){if(o.response==null)throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let a=o.request;if(!Ci(a.url))throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(a.method!=="GET")throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(o.options!=null)throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});i=this.#t(o.request);for(let c of i){let g=t.indexOf(c);mE(g!==-1),t.splice(g,1)}t.push([o.request,o.response]),s.push([o.request,o.response])}n.push([o.request,o.response])}return n}catch(o){throw this.#e.length=0,this.#e=r,o}}#t(e,t,r){let s=[],n=r??this.#e;for(let o of n){let[i,a]=o;this.#r(e,i,a,t)&&s.push(o)}return s}#r(e,t,r=null,s){let n=new URL(e.url),o=new URL(t.url);if(s?.ignoreSearch&&(o.search="",n.search=""),!Tx(n,o,!0))return!1;if(r==null||s?.ignoreVary||!r.headersList.contains("vary"))return!0;let i=wE(r.headersList.get("vary"));for(let a of i){if(a==="*")return!1;let c=t.headersList.get(a),g=e.headersList.get(a);if(c!==g)return!1}return!0}#n(e,t,r=1/0){let s=null;if(e!==void 0)if(R.is.Request(e)){if(s=xA(e),s.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(s=xA(new fn(e)));let n=[];if(e===void 0)for(let i of this.#e)n.push(i[1]);else{let i=this.#t(s,t);for(let a of i)n.push(a[1])}let o=[];for(let i of n){let a=Lx(_p(i),"immutable");if(o.push(a),o.length>=r)break}return Object.freeze(o)}};Object.defineProperties(di.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:Er,matchAll:Er,add:Er,addAll:Er,put:Er,delete:Er,keys:Er});var Zp=[{key:"ignoreSearch",converter:R.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:R.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:R.converters.boolean,defaultValue:()=>!1}];R.converters.CacheQueryOptions=R.dictionaryConverter(Zp);R.converters.MultiCacheQueryOptions=R.dictionaryConverter([...Zp,{key:"cacheName",converter:R.converters.DOMString}]);R.converters.Response=R.interfaceConverter(R.is.Response,"Response");R.converters["sequence<RequestInfo>"]=R.sequenceConverter(R.converters.RequestInfo);jp.exports={Cache:di}});var zp=p((eJ,Kp)=>{"use strict";var{Cache:fi}=Xp(),{webidl:me}=pe(),{kEnumerableProperty:pn}=G(),{kConstruct:yn}=Z(),pi=class A{#e=new Map;constructor(){arguments[0]!==yn&&me.illegalConstructor(),me.util.markAsUncloneable(this)}async match(e,t={}){if(me.brandCheck(this,A),me.argumentLengthCheck(arguments,1,"CacheStorage.match"),e=me.converters.RequestInfo(e),t=me.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#e.has(t.cacheName)){let r=this.#e.get(t.cacheName);return await new fi(yn,r).match(e,t)}}else for(let r of this.#e.values()){let n=await new fi(yn,r).match(e,t);if(n!==void 0)return n}}async has(e){me.brandCheck(this,A);let t="CacheStorage.has";return me.argumentLengthCheck(arguments,1,t),e=me.converters.DOMString(e,t,"cacheName"),this.#e.has(e)}async open(e){me.brandCheck(this,A);let t="CacheStorage.open";if(me.argumentLengthCheck(arguments,1,t),e=me.converters.DOMString(e,t,"cacheName"),this.#e.has(e)){let s=this.#e.get(e);return new fi(yn,s)}let r=[];return this.#e.set(e,r),new fi(yn,r)}async delete(e){me.brandCheck(this,A);let t="CacheStorage.delete";return me.argumentLengthCheck(arguments,1,t),e=me.converters.DOMString(e,t,"cacheName"),this.#e.delete(e)}async keys(){return me.brandCheck(this,A),[...this.#e.keys()]}};Object.defineProperties(pi.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:pn,has:pn,open:pn,delete:pn,keys:pn});Kp.exports={CacheStorage:pi}});var ey=p((AJ,$p)=>{"use strict";$p.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var RE=p((tJ,ny)=>{"use strict";function Ox(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t>=0&&t<=8||t>=10&&t<=31||t===127)return!0}return!1}function Ay(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t<33||t>126||t===34||t===40||t===41||t===60||t===62||t===64||t===44||t===59||t===58||t===92||t===47||t===91||t===93||t===63||t===61||t===123||t===125)throw new Error("Invalid cookie name")}}function ty(A){let e=A.length,t=0;if(A[0]==='"'){if(e===1||A[e-1]!=='"')throw new Error("Invalid cookie value");--e,++t}for(;t<e;){let r=A.charCodeAt(t++);if(r<33||r>126||r===34||r===44||r===59||r===92)throw new Error("Invalid cookie value")}}function ry(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t<32||t===127||t===59)throw new Error("Invalid cookie path")}}function Vx(A){if(A.startsWith("-")||A.endsWith(".")||A.endsWith("-"))throw new Error("Invalid cookie domain")}var vx=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],Jx=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],yi=Array(61).fill(0).map((A,e)=>e.toString().padStart(2,"0"));function sy(A){return typeof A=="number"&&(A=new Date(A)),`${vx[A.getUTCDay()]}, ${yi[A.getUTCDate()]} ${Jx[A.getUTCMonth()]} ${A.getUTCFullYear()} ${yi[A.getUTCHours()]}:${yi[A.getUTCMinutes()]}:${yi[A.getUTCSeconds()]} GMT`}function Px(A){if(A<0)throw new Error("Invalid cookie max-age")}function qx(A){if(A.name.length===0)return null;Ay(A.name),ty(A.value);let e=[`${A.name}=${A.value}`];A.name.startsWith("__Secure-")&&(A.secure=!0),A.name.startsWith("__Host-")&&(A.secure=!0,A.domain=null,A.path="/"),A.secure&&e.push("Secure"),A.httpOnly&&e.push("HttpOnly"),typeof A.maxAge=="number"&&(Px(A.maxAge),e.push(`Max-Age=${A.maxAge}`)),A.domain&&(Vx(A.domain),e.push(`Domain=${A.domain}`)),A.path&&(ry(A.path),e.push(`Path=${A.path}`)),A.expires&&A.expires.toString()!=="Invalid Date"&&e.push(`Expires=${sy(A.expires)}`),A.sameSite&&e.push(`SameSite=${A.sameSite}`);for(let t of A.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[r,...s]=t.split("=");e.push(`${r.trim()}=${s.join("=")}`)}return e.join("; ")}ny.exports={isCTLExcludingHtab:Ox,validateCookieName:Ay,validateCookiePath:ry,validateCookieValue:ty,toIMFDate:sy,stringify:qx}});var iy=p((rJ,oy)=>{"use strict";var{collectASequenceOfCodePointsFast:Di}=vA(),{maxNameValuePairSize:Wx,maxAttributeValueSize:_x}=ey(),{isCTLExcludingHtab:Zx}=RE(),jx=require("node:assert"),{unescape:Xx}=require("node:querystring");function Kx(A){if(Zx(A))return null;let e="",t="",r="",s="";if(A.includes(";")){let n={position:0};e=Di(";",A,n),t=A.slice(n.position)}else e=A;if(!e.includes("="))s=e;else{let n={position:0};r=Di("=",e,n),s=e.slice(n.position+1)}return r=r.trim(),s=s.trim(),r.length+s.length>Wx?null:{name:r,value:Xx(s),...rs(t)}}function rs(A,e={}){if(A.length===0)return e;jx(A[0]===";"),A=A.slice(1);let t="";A.includes(";")?(t=Di(";",A,{position:0}),A=A.slice(t.length)):(t=A,A="");let r="",s="";if(t.includes("=")){let o={position:0};r=Di("=",t,o),s=t.slice(o.position+1)}else r=t;if(r=r.trim(),s=s.trim(),s.length>_x)return rs(A,e);let n=r.toLowerCase();if(n==="expires"){let o=new Date(s);e.expires=o}else if(n==="max-age"){let o=s.charCodeAt(0);if((o<48||o>57)&&s[0]!=="-"||!/^\d+$/.test(s))return rs(A,e);let i=Number(s);e.maxAge=i}else if(n==="domain"){let o=s;o[0]==="."&&(o=o.slice(1)),o=o.toLowerCase(),e.domain=o}else if(n==="path"){let o="";s.length===0||s[0]!=="/"?o="/":o=s,e.path=o}else if(n==="secure")e.secure=!0;else if(n==="httponly")e.httpOnly=!0;else if(n==="samesite"){let o="Default",i=s.toLowerCase();i.includes("none")&&(o="None"),i.includes("strict")&&(o="Strict"),i.includes("lax")&&(o="Lax"),e.sameSite=o}else e.unparsed??=[],e.unparsed.push(`${r}=${s}`);return rs(A,e)}oy.exports={parseSetCookie:Kx,parseUnparsedAttributes:rs}});var ly=p((sJ,gy)=>{"use strict";var{parseSetCookie:ay}=iy(),{stringify:zx}=RE(),{webidl:P}=pe(),{Headers:$x}=ar(),mi=P.brandCheckMultiple([$x,globalThis.Headers].filter(Boolean));function eY(A){P.argumentLengthCheck(arguments,1,"getCookies"),mi(A);let e=A.get("cookie"),t={};if(!e)return t;for(let r of e.split(";")){let[s,...n]=r.split("=");t[s.trim()]=n.join("=")}return t}function AY(A,e,t){mi(A);let r="deleteCookie";P.argumentLengthCheck(arguments,2,r),e=P.converters.DOMString(e,r,"name"),t=P.converters.DeleteCookieAttributes(t),cy(A,{name:e,value:"",expires:new Date(0),...t})}function tY(A){P.argumentLengthCheck(arguments,1,"getSetCookies"),mi(A);let e=A.getSetCookie();return e?e.map(t=>ay(t)):[]}function rY(A){return A=P.converters.DOMString(A),ay(A)}function cy(A,e){P.argumentLengthCheck(arguments,2,"setCookie"),mi(A),e=P.converters.Cookie(e);let t=zx(e);t&&A.append("set-cookie",t,!0)}P.converters.DeleteCookieAttributes=P.dictionaryConverter([{converter:P.nullableConverter(P.converters.DOMString),key:"path",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.DOMString),key:"domain",defaultValue:()=>null}]);P.converters.Cookie=P.dictionaryConverter([{converter:P.converters.DOMString,key:"name"},{converter:P.converters.DOMString,key:"value"},{converter:P.nullableConverter(A=>typeof A=="number"?P.converters["unsigned long long"](A):new Date(A)),key:"expires",defaultValue:()=>null},{converter:P.nullableConverter(P.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.DOMString),key:"path",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.boolean),key:"secure",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:P.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:P.sequenceConverter(P.converters.DOMString),key:"unparsed",defaultValue:()=>[]}]);gy.exports={getCookies:eY,deleteCookie:AY,getSetCookies:tY,setCookie:cy,parseCookie:rY}});var Si=p((nJ,Qy)=>{"use strict";var{webidl:S}=pe(),{kEnumerableProperty:He}=G(),{kConstruct:Ey}=Z(),ss=class A extends Event{#e;constructor(e,t={}){if(e===Ey){super(arguments[1],arguments[2]),S.util.markAsUncloneable(this);return}let r="MessageEvent constructor";S.argumentLengthCheck(arguments,1,r),e=S.converters.DOMString(e,r,"type"),t=S.converters.MessageEventInit(t,r,"eventInitDict"),super(e,t),this.#e=t,S.util.markAsUncloneable(this)}get data(){return S.brandCheck(this,A),this.#e.data}get origin(){return S.brandCheck(this,A),this.#e.origin}get lastEventId(){return S.brandCheck(this,A),this.#e.lastEventId}get source(){return S.brandCheck(this,A),this.#e.source}get ports(){return S.brandCheck(this,A),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(e,t=!1,r=!1,s=null,n="",o="",i=null,a=[]){return S.brandCheck(this,A),S.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new A(e,{bubbles:t,cancelable:r,data:s,origin:n,lastEventId:o,source:i,ports:a})}static createFastMessageEvent(e,t){let r=new A(Ey,e,t);return r.#e=t,r.#e.data??=null,r.#e.origin??="",r.#e.lastEventId??="",r.#e.source??=null,r.#e.ports??=[],r}},{createFastMessageEvent:sY}=ss;delete ss.createFastMessageEvent;var wi=class A extends Event{#e;constructor(e,t={}){let r="CloseEvent constructor";S.argumentLengthCheck(arguments,1,r),e=S.converters.DOMString(e,r,"type"),t=S.converters.CloseEventInit(t),super(e,t),this.#e=t,S.util.markAsUncloneable(this)}get wasClean(){return S.brandCheck(this,A),this.#e.wasClean}get code(){return S.brandCheck(this,A),this.#e.code}get reason(){return S.brandCheck(this,A),this.#e.reason}},Ri=class A extends Event{#e;constructor(e,t){let r="ErrorEvent constructor";S.argumentLengthCheck(arguments,1,r),super(e,t),S.util.markAsUncloneable(this),e=S.converters.DOMString(e,r,"type"),t=S.converters.ErrorEventInit(t??{}),this.#e=t}get message(){return S.brandCheck(this,A),this.#e.message}get filename(){return S.brandCheck(this,A),this.#e.filename}get lineno(){return S.brandCheck(this,A),this.#e.lineno}get colno(){return S.brandCheck(this,A),this.#e.colno}get error(){return S.brandCheck(this,A),this.#e.error}};Object.defineProperties(ss.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:He,origin:He,lastEventId:He,source:He,ports:He,initMessageEvent:He});Object.defineProperties(wi.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:He,code:He,wasClean:He});Object.defineProperties(Ri.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:He,filename:He,lineno:He,colno:He,error:He});S.converters.MessagePort=S.interfaceConverter(S.is.MessagePort,"MessagePort");S.converters["sequence<MessagePort>"]=S.sequenceConverter(S.converters.MessagePort);var SE=[{key:"bubbles",converter:S.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:S.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:S.converters.boolean,defaultValue:()=>!1}];S.converters.MessageEventInit=S.dictionaryConverter([...SE,{key:"data",converter:S.converters.any,defaultValue:()=>null},{key:"origin",converter:S.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:S.converters.DOMString,defaultValue:()=>""},{key:"source",converter:S.nullableConverter(S.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:S.converters["sequence<MessagePort>"],defaultValue:()=>[]}]);S.converters.CloseEventInit=S.dictionaryConverter([...SE,{key:"wasClean",converter:S.converters.boolean,defaultValue:()=>!1},{key:"code",converter:S.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:S.converters.USVString,defaultValue:()=>""}]);S.converters.ErrorEventInit=S.dictionaryConverter([...SE,{key:"message",converter:S.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:S.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:S.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:S.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:S.converters.any}]);Qy.exports={MessageEvent:ss,CloseEvent:wi,ErrorEvent:Ri,createFastMessageEvent:sY}});var Nt=p((oJ,uy)=>{"use strict";var nY="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",oY={enumerable:!0,writable:!1,configurable:!1},iY={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},aY={SENT:1,RECEIVED:2},cY={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},gY=65535,lY={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},EY=Buffer.allocUnsafe(0),QY={text:1,typedArray:2,arrayBuffer:3,blob:4};uy.exports={uid:nY,sentCloseFrameState:aY,staticPropertyDescriptors:oY,states:iY,opcodes:cY,maxUnsigned16Bit:gY,parserStates:lY,emptyBuffer:EY,sendHints:QY}});var Qr=p((iJ,dy)=>{"use strict";var{states:Ni,opcodes:ns}=Nt(),{isUtf8:uY}=require("node:buffer"),{removeHTTPWhitespace:hy}=tA(),{collectASequenceOfCodePointsFast:hY}=vA();function IY(A){return A===Ni.CONNECTING}function BY(A){return A===Ni.OPEN}function CY(A){return A===Ni.CLOSING}function dY(A){return A===Ni.CLOSED}function fY(A,e,t=(s,n)=>new Event(s,n),r={}){let s=t(A,r);e.dispatchEvent(s)}function pY(A,e,t){A.onMessage(e,t)}function yY(A){return A.byteLength===A.buffer.byteLength?A.buffer:new Uint8Array(A).buffer}function DY(A){if(A.length===0)return!1;for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t<33||t>126||t===34||t===40||t===41||t===44||t===47||t===58||t===59||t===60||t===61||t===62||t===63||t===64||t===91||t===92||t===93||t===123||t===125)return!1}return!0}function mY(A){return A>=1e3&&A<1015?A!==1004&&A!==1005&&A!==1006:A>=3e3&&A<=4999}function Iy(A){return A===ns.CLOSE||A===ns.PING||A===ns.PONG}function By(A){return A===ns.CONTINUATION}function Cy(A){return A===ns.TEXT||A===ns.BINARY}function wY(A){return Cy(A)||By(A)||Iy(A)}function RY(A){let e={position:0},t=new Map;for(;e.position<A.length;){let r=hY(";",A,e),[s,n=""]=r.split("=",2);t.set(hy(s,!0,!1),hy(n,!1,!0)),e.position++}return t}function SY(A){if(A.length===0)return!1;for(let t=0;t<A.length;t++){let r=A.charCodeAt(t);if(r<48||r>57)return!1}let e=Number.parseInt(A,10);return e>=8&&e<=15}function NY(A,e){let t;try{t=new URL(A,e)}catch(r){throw new DOMException(r,"SyntaxError")}if(t.protocol==="http:"?t.protocol="ws:":t.protocol==="https:"&&(t.protocol="wss:"),t.protocol!=="ws:"&&t.protocol!=="wss:")throw new DOMException("expected a ws: or wss: url","SyntaxError");if(t.hash.length||t.href.endsWith("#"))throw new DOMException("hash","SyntaxError");return t}function FY(A,e){if(A!==null&&A!==1e3&&(A<3e3||A>4999))throw new DOMException("invalid code","InvalidAccessError");if(e!==null){let t=Buffer.byteLength(e);if(t>123)throw new DOMException(`Reason must be less than 123 bytes; received ${t}`,"SyntaxError")}}var bY=(()=>{if(typeof process.versions.icu=="string"){let A=new TextDecoder("utf-8",{fatal:!0});return A.decode.bind(A)}return function(A){if(uY(A))return A.toString("utf-8");throw new TypeError("Invalid utf-8 received.")}})();dy.exports={isConnecting:IY,isEstablished:BY,isClosing:CY,isClosed:dY,fireEvent:fY,isValidSubprotocol:DY,isValidStatusCode:mY,websocketMessageReceived:pY,utf8Decode:bY,isControlFrame:Iy,isContinuationFrame:By,isTextBinaryFrame:Cy,isValidOpcode:wY,parseExtensions:RY,isValidClientWindowBits:SY,toArrayBuffer:yY,getURLRecord:NY,validateCloseCodeAndReason:FY}});var is=p((aJ,py)=>{"use strict";var{runtimeFeatures:UY}=JA(),{maxUnsigned16Bit:fy,opcodes:MY}=Nt(),Fi=8*1024,Dn=null,os=Fi,TY=UY.has("crypto")?require("node:crypto").randomFillSync:function(e,t,r){for(let s=0;s<e.length;++s)e[s]=Math.random()*255|0;return e};function NE(){return os===Fi&&(os=0,TY(Dn??=Buffer.allocUnsafeSlow(Fi),0,Fi)),[Dn[os++],Dn[os++],Dn[os++],Dn[os++]]}var FE=class{constructor(e){this.frameData=e}createFrame(e){let t=this.frameData,r=NE(),s=t?.byteLength??0,n=s,o=6;s>fy?(o+=8,n=127):s>125&&(o+=2,n=126);let i=Buffer.allocUnsafe(s+o);i[0]=i[1]=0,i[0]|=128,i[0]=(i[0]&240)+e;i[o-4]=r[0],i[o-3]=r[1],i[o-2]=r[2],i[o-1]=r[3],i[1]=n,n===126?i.writeUInt16BE(s,2):n===127&&(i[2]=i[3]=0,i.writeUIntBE(s,4,6)),i[1]|=128;for(let a=0;a<s;++a)i[o+a]=t[a]^r[a&3];return i}static createFastTextFrame(e){let t=NE(),r=e.length;for(let i=0;i<r;++i)e[i]^=t[i&3];let s=r,n=6;r>fy?(n+=8,s=127):r>125&&(n+=2,s=126);let o=Buffer.allocUnsafeSlow(n);return o[0]=128|MY.TEXT,o[1]=s|128,o[n-4]=t[0],o[n-3]=t[1],o[n-2]=t[2],o[n-1]=t[3],s===126?o.writeUInt16BE(r,2):s===127&&(o[2]=o[3]=0,o.writeUIntBE(r,4,6)),[o,e]}};py.exports={WebsocketFrameSend:FE,generateMask:NE}});var bi=p((cJ,Sy)=>{"use strict";var{uid:kY,states:bE,sentCloseFrameState:UE,emptyBuffer:yy,opcodes:LY}=Nt(),{parseExtensions:HY,isClosed:xY,isClosing:YY,isEstablished:wy,isConnecting:GY,validateCloseCodeAndReason:OY}=Qr(),{makeRequest:VY}=As(),{fetching:vY}=dn(),{Headers:JY,getHeadersList:PY}=ar(),{getDecodeSplit:qY}=ve(),{WebsocketFrameSend:WY}=is(),_Y=require("node:assert"),{runtimeFeatures:ZY}=JA(),Dy=ZY.has("crypto")?require("node:crypto"):null,my=!1;function jY(A,e,t,r,s){let n=A;n.protocol=A.protocol==="ws:"?"http:":"https:";let o=VY({urlList:[n],client:t,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});if(s.headers){let g=PY(new JY(s.headers));o.headersList=g}let i=Dy.randomBytes(16).toString("base64");o.headersList.append("sec-websocket-key",i,!0),o.headersList.append("sec-websocket-version","13",!0);for(let g of e)o.headersList.append("sec-websocket-protocol",g,!0);return o.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),vY({request:o,useParallelQueue:!0,dispatcher:s.dispatcher,processResponse(g){if(g.type==="error"||g.status!==101){if(g.socket?.session==null){YA(r,1002,"Received network error or non-101 status code.",g.error);return}if(g.status!==200){YA(r,1002,"Received network error or non-200 status code.",g.error);return}}if(my===!1&&g.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),my=!0),e.length!==0&&!g.headersList.get("Sec-WebSocket-Protocol")){YA(r,1002,"Server did not respond with sent protocols.");return}if(g.socket.session==null&&g.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){YA(r,1002,'Server did not set Upgrade header to "websocket".');return}if(g.socket.session==null&&g.headersList.get("Connection")?.toLowerCase()!=="upgrade"){YA(r,1002,'Server did not set Connection header to "upgrade".');return}let h=g.headersList.get("Sec-WebSocket-Accept"),Q=Dy.hash("sha1",i+kY,"base64");if(h!==Q){YA(r,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let l=g.headersList.get("Sec-WebSocket-Extensions"),E;if(l!==null&&(E=HY(l),!E.has("permessage-deflate"))){YA(r,1002,"Sec-WebSocket-Extensions header does not match.");return}let B=g.headersList.get("Sec-WebSocket-Protocol");if(B!==null&&!qY("sec-websocket-protocol",o.headersList).includes(B)){YA(r,1002,"Protocol was not set in the opening handshake.");return}g.socket.on("data",r.onSocketData),g.socket.on("close",r.onSocketClose),g.socket.on("error",r.onSocketError),r.wasEverConnected=!0,r.onConnectionEstablished(g,E)}})}function Ry(A,e,t,r=!1){if(e??=null,t??="",r&&OY(e,t),!(xY(A.readyState)||YY(A.readyState)))if(!wy(A.readyState))YA(A),A.readyState=bE.CLOSING;else if(!A.closeState.has(UE.SENT)&&!A.closeState.has(UE.RECEIVED)){let s=new WY;t.length!==0&&e===null&&(e=1e3),_Y(e===null||Number.isInteger(e)),e===null&&t.length===0?s.frameData=yy:e!==null&&t===null?(s.frameData=Buffer.allocUnsafe(2),s.frameData.writeUInt16BE(e,0)):e!==null&&t!==null?(s.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(t)),s.frameData.writeUInt16BE(e,0),s.frameData.write(t,2,"utf-8")):s.frameData=yy,A.socket.write(s.createFrame(LY.CLOSE)),A.closeState.add(UE.SENT),A.readyState=bE.CLOSING}else A.readyState=bE.CLOSING}function YA(A,e,t,r){wy(A.readyState)&&Ry(A,e,t,!1),A.controller.abort(),GY(A.readyState)?A.onSocketClose():A.socket?.destroyed===!1&&A.socket.destroy()}Sy.exports={establishWebSocketConnection:jY,failWebsocketConnection:YA,closeWebSocketConnection:Ry}});var by=p((gJ,Fy)=>{"use strict";var{createInflateRaw:XY,Z_DEFAULT_WINDOWBITS:KY}=require("node:zlib"),{isValidClientWindowBits:zY}=Qr(),{MessageSizeExceededError:Ny}=Y(),$Y=Buffer.from([0,0,255,255]),Ui=Symbol("kBuffer"),mn=Symbol("kLength"),eG=4*1024*1024,ME=class{#e;#A={};#t=!1;#r=null;constructor(e){this.#A.serverNoContextTakeover=e.has("server_no_context_takeover"),this.#A.serverMaxWindowBits=e.get("server_max_window_bits")}decompress(e,t,r){if(this.#t){r(new Ny);return}if(!this.#e){let s=KY;if(this.#A.serverMaxWindowBits){if(!zY(this.#A.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}s=Number.parseInt(this.#A.serverMaxWindowBits)}try{this.#e=XY({windowBits:s})}catch(n){r(n);return}this.#e[Ui]=[],this.#e[mn]=0,this.#e.on("data",n=>{if(!this.#t){if(this.#e[mn]+=n.length,this.#e[mn]>eG){if(this.#t=!0,this.#e.removeAllListeners(),this.#e.destroy(),this.#e=null,this.#r){let o=this.#r;this.#r=null,o(new Ny)}return}this.#e[Ui].push(n)}}),this.#e.on("error",n=>{this.#e=null,r(n)})}this.#r=r,this.#e.write(e),t&&this.#e.write($Y),this.#e.flush(()=>{if(this.#t||!this.#e)return;let s=Buffer.concat(this.#e[Ui],this.#e[mn]);this.#e[Ui].length=0,this.#e[mn]=0,this.#r=null,r(null,s)})}};Fy.exports={PerMessageDeflate:ME}});var LE=p((lJ,Ly)=>{"use strict";var{Writable:AG}=require("node:stream"),tG=require("node:assert"),{parserStates:xe,opcodes:as,states:rG,emptyBuffer:Uy,sentCloseFrameState:wn}=Nt(),{isValidStatusCode:sG,isValidOpcode:nG,websocketMessageReceived:My,utf8Decode:oG,isControlFrame:Ty,isTextBinaryFrame:TE,isContinuationFrame:iG}=Qr(),{failWebsocketConnection:Ke}=bi(),{WebsocketFrameSend:ky}=is(),{PerMessageDeflate:aG}=by(),{MessageSizeExceededError:cG}=Y(),kE=class extends AG{#e=[];#A=0;#t=0;#r=!1;#n=xe.INFO;#s={};#a=[];#o;#i;constructor(e,t){super(),this.#i=e,this.#o=t??new Map,this.#o.has("permessage-deflate")&&this.#o.set("permessage-deflate",new aG(t))}_write(e,t,r){this.#e.push(e),this.#t+=e.length,this.#r=!0,this.run(r)}run(e){for(;this.#r;)if(this.#n===xe.INFO){if(this.#t<2)return e();let t=this.consume(2),r=(t[0]&128)!==0,s=t[0]&15,n=(t[1]&128)===128,o=!r&&s!==as.CONTINUATION,i=t[1]&127,a=t[0]&64,c=t[0]&32,g=t[0]&16;if(!nG(s))return Ke(this.#i,1002,"Invalid opcode received"),e();if(n)return Ke(this.#i,1002,"Frame cannot be masked"),e();if(a!==0&&!this.#o.has("permessage-deflate")){Ke(this.#i,1002,"Expected RSV1 to be clear.");return}if(c!==0||g!==0){Ke(this.#i,1002,"RSV1, RSV2, RSV3 must be clear");return}if(o&&!TE(s)){Ke(this.#i,1002,"Invalid frame type was fragmented.");return}if(TE(s)&&this.#a.length>0){Ke(this.#i,1002,"Expected continuation frame");return}if(this.#s.fragmented&&o){Ke(this.#i,1002,"Fragmented frame exceeded 125 bytes.");return}if((i>125||o)&&Ty(s)){Ke(this.#i,1002,"Control frame either too large or fragmented");return}if(iG(s)&&this.#a.length===0&&!this.#s.compressed){Ke(this.#i,1002,"Unexpected continuation frame");return}i<=125?(this.#s.payloadLength=i,this.#n=xe.READ_DATA):i===126?this.#n=xe.PAYLOADLENGTH_16:i===127&&(this.#n=xe.PAYLOADLENGTH_64),TE(s)&&(this.#s.binaryType=s,this.#s.compressed=a!==0),this.#s.opcode=s,this.#s.masked=n,this.#s.fin=r,this.#s.fragmented=o}else if(this.#n===xe.PAYLOADLENGTH_16){if(this.#t<2)return e();let t=this.consume(2);this.#s.payloadLength=t.readUInt16BE(0),this.#n=xe.READ_DATA}else if(this.#n===xe.PAYLOADLENGTH_64){if(this.#t<8)return e();let t=this.consume(8),r=t.readUInt32BE(0),s=t.readUInt32BE(4);if(r!==0||s>2**31-1){Ke(this.#i,1009,"Received payload length > 2^31 bytes.");return}this.#s.payloadLength=s,this.#n=xe.READ_DATA}else if(this.#n===xe.READ_DATA){if(this.#t<this.#s.payloadLength)return e();let t=this.consume(this.#s.payloadLength);if(Ty(this.#s.opcode))this.#r=this.parseControlFrame(t),this.#n=xe.INFO;else if(!this.#s.compressed)this.writeFragments(t),!this.#s.fragmented&&this.#s.fin&&My(this.#i,this.#s.binaryType,this.consumeFragments()),this.#n=xe.INFO;else{this.#o.get("permessage-deflate").decompress(t,this.#s.fin,(r,s)=>{if(r){let n=r instanceof cG?1009:1007;Ke(this.#i,n,r.message);return}if(this.writeFragments(s),!this.#s.fin){this.#n=xe.INFO,this.#r=!0,this.run(e);return}My(this.#i,this.#s.binaryType,this.consumeFragments()),this.#r=!0,this.#n=xe.INFO,this.run(e)}),this.#r=!1;break}}}consume(e){if(e>this.#t)throw new Error("Called consume() before buffers satiated.");if(e===0)return Uy;this.#t-=e;let t=this.#e[0];if(t.length>e)return this.#e[0]=t.subarray(e,t.length),t.subarray(0,e);if(t.length===e)return this.#e.shift();{let r=0,s=Buffer.allocUnsafeSlow(e);for(;r!==e;){let n=this.#e[0],o=n.length;if(o+r===e){s.set(this.#e.shift(),r);break}else if(o+r>e){s.set(n.subarray(0,e-r),r),this.#e[0]=n.subarray(e-r);break}else s.set(this.#e.shift(),r),r+=o}return s}}writeFragments(e){this.#A+=e.length,this.#a.push(e)}consumeFragments(){let e=this.#a;if(e.length===1)return this.#A=0,e.shift();let t=0,r=Buffer.allocUnsafeSlow(this.#A);for(let s=0;s<e.length;++s){let n=e[s];r.set(n,t),t+=n.length}return this.#a=[],this.#A=0,r}parseCloseBody(e){tG(e.length!==1);let t;if(e.length>=2&&(t=e.readUInt16BE(0)),t!==void 0&&!sG(t))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=oG(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:t,reason:r,error:!1}}parseControlFrame(e){let{opcode:t,payloadLength:r}=this.#s;if(t===as.CLOSE){if(r===1)return Ke(this.#i,1002,"Received close frame with a 1-byte body."),!1;if(this.#s.closeInfo=this.parseCloseBody(e),this.#s.closeInfo.error){let{code:s,reason:n}=this.#s.closeInfo;return Ke(this.#i,s,n),!1}if(!this.#i.closeState.has(wn.SENT)&&!this.#i.closeState.has(wn.RECEIVED)){let s=Uy;this.#s.closeInfo.code&&(s=Buffer.allocUnsafe(2),s.writeUInt16BE(this.#s.closeInfo.code,0));let n=new ky(s);this.#i.socket.write(n.createFrame(as.CLOSE)),this.#i.closeState.add(wn.SENT)}return this.#i.readyState=rG.CLOSING,this.#i.closeState.add(wn.RECEIVED),!1}else if(t===as.PING){if(!this.#i.closeState.has(wn.RECEIVED)){let s=new ky(e);this.#i.socket.write(s.createFrame(as.PONG)),this.#i.onPing(e)}}else t===as.PONG&&this.#i.onPong(e);return!0}get closingInfo(){return this.#s.closeInfo}};Ly.exports={ByteParser:kE}});var Gy=p((EJ,Yy)=>{"use strict";var{WebsocketFrameSend:xy}=is(),{opcodes:Hy,sendHints:ur}=Nt(),gG=Qg(),xE=class{#e=new gG;#A=!1;#t;constructor(e){this.#t=e}add(e,t,r){if(r!==ur.blob){if(this.#A){let n={promise:null,callback:t,frame:HE(e,r)};this.#e.push(n)}else if(r===ur.text){let{0:n,1:o}=xy.createFastTextFrame(e);this.#t.cork(),this.#t.write(n),this.#t.write(o,t),this.#t.uncork()}else this.#t.write(HE(e,r),t);return}let s={promise:e.arrayBuffer().then(n=>{s.promise=null,s.frame=HE(n,r)}),callback:t,frame:null};this.#e.push(s),this.#A||this.#r()}async#r(){this.#A=!0;let e=this.#e;for(;!e.isEmpty();){let t=e.shift();t.promise!==null&&await t.promise,this.#t.write(t.frame,t.callback),t.callback=t.frame=null}this.#A=!1}};function HE(A,e){return new xy(lG(A,e)).createFrame(e===ur.text?Hy.TEXT:Hy.BINARY)}function lG(A,e){switch(e){case ur.text:case ur.typedArray:return new Uint8Array(A.buffer,A.byteOffset,A.byteLength);case ur.arrayBuffer:case ur.blob:return new Uint8Array(A)}}Yy.exports={SendQueue:xE}});var qy=p((QJ,Py)=>{"use strict";var{isArrayBuffer:EG}=require("node:util/types"),{webidl:N}=pe(),{URLSerializer:QG}=tA(),{environmentSettingsObject:Oy}=ve(),{staticPropertyDescriptors:Ft,states:$A,sentCloseFrameState:YE,sendHints:Mi,opcodes:GE}=Nt(),{isConnecting:uG,isEstablished:Vy,isClosing:vy,isClosed:hG,isValidSubprotocol:IG,fireEvent:Ti,utf8Decode:BG,toArrayBuffer:CG,getURLRecord:dG}=Qr(),{establishWebSocketConnection:fG,closeWebSocketConnection:pG,failWebsocketConnection:Jy}=bi(),{ByteParser:yG}=LE(),{kEnumerableProperty:lA}=G(),{getGlobalDispatcher:DG}=Ko(),{ErrorEvent:mG,CloseEvent:wG,createFastMessageEvent:RG}=Si(),{SendQueue:SG}=Gy(),{WebsocketFrameSend:NG}=is(),{channels:GA}=it();function FG(A){return typeof A?.address=="function"?A.address():typeof A?.session?.socket?.address=="function"?A.session.socket.address():null}var Ne=class A extends EventTarget{#e={open:null,error:null,close:null,message:null};#A=0;#t="";#r="";#n;#s={onConnectionEstablished:(e,t)=>this.#c(e,t),onMessage:(e,t)=>this.#E(e,t),onParserError:e=>Jy(this.#s,null,e.message),onParserDrain:()=>this.#g(),onSocketData:e=>{this.#i.write(e)||this.#s.socket.pause()},onSocketError:e=>{this.#s.readyState=$A.CLOSING,GA.socketError.hasSubscribers&&GA.socketError.publish(e),this.#s.socket.destroy()},onSocketClose:()=>this.#l(),onPing:e=>{GA.ping.hasSubscribers&&GA.ping.publish({payload:e,websocket:this})},onPong:e=>{GA.pong.hasSubscribers&&GA.pong.publish({payload:e,websocket:this})},readyState:$A.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#a;#o;#i;constructor(e,t=[]){super(),N.util.markAsUncloneable(this);let r="WebSocket constructor";N.argumentLengthCheck(arguments,1,r);let s=N.converters["DOMString or sequence<DOMString> or WebSocketInit"](t,r,"options");e=N.converters.USVString(e),t=s.protocols;let n=Oy.settingsObject.baseUrl,o=dG(e,n);if(typeof t=="string"&&(t=[t]),t.length!==new Set(t.map(a=>a.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(t.length>0&&!t.every(a=>IG(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#a=new URL(o.href);let i=Oy.settingsObject;this.#s.controller=fG(o,t,i,this.#s,s),this.#s.readyState=A.CONNECTING,this.#o="blob"}close(e=void 0,t=void 0){N.brandCheck(this,A),e!==void 0&&(e=N.converters["unsigned short"](e,"WebSocket.close","code",N.attributes.Clamp)),t!==void 0&&(t=N.converters.USVString(t)),e??=null,t??="",pG(this.#s,e,t,!0)}send(e){N.brandCheck(this,A);let t="WebSocket.send";if(N.argumentLengthCheck(arguments,1,t),e=N.converters.WebSocketSendData(e,t,"data"),uG(this.#s.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!Vy(this.#s.readyState)||vy(this.#s.readyState)))if(typeof e=="string"){let r=Buffer.from(e);this.#A+=r.byteLength,this.#n.add(r,()=>{this.#A-=r.byteLength},Mi.text)}else EG(e)?(this.#A+=e.byteLength,this.#n.add(e,()=>{this.#A-=e.byteLength},Mi.arrayBuffer)):ArrayBuffer.isView(e)?(this.#A+=e.byteLength,this.#n.add(e,()=>{this.#A-=e.byteLength},Mi.typedArray)):N.is.Blob(e)&&(this.#A+=e.size,this.#n.add(e,()=>{this.#A-=e.size},Mi.blob))}get readyState(){return N.brandCheck(this,A),this.#s.readyState}get bufferedAmount(){return N.brandCheck(this,A),this.#A}get url(){return N.brandCheck(this,A),QG(this.#a)}get extensions(){return N.brandCheck(this,A),this.#r}get protocol(){return N.brandCheck(this,A),this.#t}get onopen(){return N.brandCheck(this,A),this.#e.open}set onopen(e){N.brandCheck(this,A),this.#e.open&&this.removeEventListener("open",this.#e.open);let t=N.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("open",t),this.#e.open=e):this.#e.open=null}get onerror(){return N.brandCheck(this,A),this.#e.error}set onerror(e){N.brandCheck(this,A),this.#e.error&&this.removeEventListener("error",this.#e.error);let t=N.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("error",t),this.#e.error=e):this.#e.error=null}get onclose(){return N.brandCheck(this,A),this.#e.close}set onclose(e){N.brandCheck(this,A),this.#e.close&&this.removeEventListener("close",this.#e.close);let t=N.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("close",t),this.#e.close=e):this.#e.close=null}get onmessage(){return N.brandCheck(this,A),this.#e.message}set onmessage(e){N.brandCheck(this,A),this.#e.message&&this.removeEventListener("message",this.#e.message);let t=N.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("message",t),this.#e.message=e):this.#e.message=null}get binaryType(){return N.brandCheck(this,A),this.#o}set binaryType(e){N.brandCheck(this,A),e!=="blob"&&e!=="arraybuffer"?this.#o="blob":this.#o=e}#c(e,t){this.#s.socket=e.socket;let r=new yG(this.#s,t);r.on("drain",()=>this.#s.onParserDrain()),r.on("error",o=>this.#s.onParserError(o)),this.#i=r,this.#n=new SG(e.socket),this.#s.readyState=$A.OPEN;let s=e.headersList.get("sec-websocket-extensions");s!==null&&(this.#r=s);let n=e.headersList.get("sec-websocket-protocol");if(n!==null&&(this.#t=n),Ti("open",this),GA.open.hasSubscribers){let o=e.headersList.entries;GA.open.publish({address:FG(e.socket),protocol:this.#t,extensions:this.#r,websocket:this,handshakeResponse:{status:e.status,statusText:e.statusText,headers:o}})}}#E(e,t){if(this.#s.readyState!==$A.OPEN)return;let r;if(e===GE.TEXT)try{r=BG(t)}catch{Jy(this.#s,1007,"Received invalid UTF-8 in text frame.");return}else e===GE.BINARY&&(this.#o==="blob"?r=new Blob([t]):r=CG(t));Ti("message",this,RG,{origin:this.#a.origin,data:r})}#g(){this.#s.socket.resume()}#l(){let e=this.#s.closeState.has(YE.SENT)&&this.#s.closeState.has(YE.RECEIVED),t=1005,r="",s=this.#i?.closingInfo;s&&!s.error&&(t=s.code??1005,r=s.reason),this.#s.readyState=$A.CLOSED,this.#s.closeState.has(YE.RECEIVED)||(t=1006,Ti("error",this,(n,o)=>new mG(n,o),{error:new TypeError(r)})),Ti("close",this,(n,o)=>new wG(n,o),{wasClean:e,code:t,reason:r}),GA.close.hasSubscribers&&GA.close.publish({websocket:this,code:t,reason:r})}static ping(e,t){if(Buffer.isBuffer(t)){if(t.length>125)throw new TypeError("A PING frame cannot have a body larger than 125 bytes.")}else if(t!==void 0)throw new TypeError("Expected buffer payload");let r=e.#s.readyState;if(Vy(r)&&!vy(r)&&!hG(r)){let s=new NG(t);e.#s.socket.write(s.createFrame(GE.PING))}}},{ping:bG}=Ne;Reflect.deleteProperty(Ne,"ping");Ne.CONNECTING=Ne.prototype.CONNECTING=$A.CONNECTING;Ne.OPEN=Ne.prototype.OPEN=$A.OPEN;Ne.CLOSING=Ne.prototype.CLOSING=$A.CLOSING;Ne.CLOSED=Ne.prototype.CLOSED=$A.CLOSED;Object.defineProperties(Ne.prototype,{CONNECTING:Ft,OPEN:Ft,CLOSING:Ft,CLOSED:Ft,url:lA,readyState:lA,bufferedAmount:lA,onopen:lA,onerror:lA,onclose:lA,close:lA,onmessage:lA,binaryType:lA,send:lA,extensions:lA,protocol:lA,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(Ne,{CONNECTING:Ft,OPEN:Ft,CLOSING:Ft,CLOSED:Ft});N.converters["sequence<DOMString>"]=N.sequenceConverter(N.converters.DOMString);N.converters["DOMString or sequence<DOMString>"]=function(A,e,t){return N.util.Type(A)===N.util.Types.OBJECT&&Symbol.iterator in A?N.converters["sequence<DOMString>"](A):N.converters.DOMString(A,e,t)};N.converters.WebSocketInit=N.dictionaryConverter([{key:"protocols",converter:N.converters["DOMString or sequence<DOMString>"],defaultValue:()=>[]},{key:"dispatcher",converter:N.converters.any,defaultValue:()=>DG()},{key:"headers",converter:N.nullableConverter(N.converters.HeadersInit)}]);N.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(A){return N.util.Type(A)===N.util.Types.OBJECT&&!(Symbol.iterator in A)?N.converters.WebSocketInit(A):{protocols:N.converters["DOMString or sequence<DOMString>"](A)}};N.converters.WebSocketSendData=function(A){return N.util.Type(A)===N.util.Types.OBJECT&&(N.is.Blob(A)||N.is.BufferSource(A))?A:N.converters.USVString(A)};Py.exports={WebSocket:Ne,ping:bG}});var OE=p((uJ,Zy)=>{"use strict";var{webidl:ki}=pe(),{validateCloseCodeAndReason:UG}=Qr(),{kConstruct:Wy}=Z(),{kEnumerableProperty:_y}=G();function MG(){class A extends DOMException{get reason(){return""}}return new A().reason!==void 0?DOMException:new Proxy(DOMException,{construct(e,t,r){let s=Reflect.construct(e,t,e);return Object.setPrototypeOf(s,r.prototype),s}})}var hr=class A extends MG(){#e;#A;constructor(e="",t=void 0){if(e=ki.converters.DOMString(e,"WebSocketError","message"),super(e,"WebSocketError"),t===Wy)return;t!==null&&(t=ki.converters.WebSocketCloseInfo(t));let r=t.closeCode??null,s=t.reason??"";UG(r,s),s.length!==0&&r===null&&(r=1e3),this.#e=r,this.#A=s}get closeCode(){return this.#e}get reason(){return this.#A}static createUnvalidatedWebSocketError(e,t,r){let s=new A(e,Wy);return s.#e=t,s.#A=r,s}},{createUnvalidatedWebSocketError:TG}=hr;delete hr.createUnvalidatedWebSocketError;Object.defineProperties(hr.prototype,{closeCode:_y,reason:_y,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}});ki.is.WebSocketError=ki.util.MakeTypeAssertion(hr);Zy.exports={WebSocketError:hr,createUnvalidatedWebSocketError:TG}});var $y=p((hJ,zy)=>{"use strict";var{createDeferredPromise:VE}=Us(),{environmentSettingsObject:jy}=ve(),{states:cs,opcodes:Li,sentCloseFrameState:gs}=Nt(),{webidl:oe}=pe(),{getURLRecord:kG,isValidSubprotocol:LG,isEstablished:HG,utf8Decode:xG}=Qr(),{establishWebSocketConnection:YG,failWebsocketConnection:vE,closeWebSocketConnection:JE}=bi(),{channels:Xy}=it(),{WebsocketFrameSend:GG}=is(),{ByteParser:OG}=LE(),{WebSocketError:VG,createUnvalidatedWebSocketError:vG}=OE(),{kEnumerableProperty:Hi}=G(),{utf8DecodeBytes:JG}=ro(),Ky=!1,xi=class{#e;#A;#t;#r;#n;#s;#a=!1;#o={onConnectionEstablished:(e,t)=>this.#E(e,t),onMessage:(e,t)=>this.#g(e,t),onParserError:e=>vE(this.#o,null,e.message),onParserDrain:()=>this.#o.socket.resume(),onSocketData:e=>{this.#i.write(e)||this.#o.socket.pause()},onSocketError:e=>{this.#o.readyState=cs.CLOSING,Xy.socketError.hasSubscribers&&Xy.socketError.publish(e),this.#o.socket.destroy()},onSocketClose:()=>this.#l(),onPing:()=>{},onPong:()=>{},readyState:cs.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#i;constructor(e,t=void 0){Ky||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),Ky=!0),oe.argumentLengthCheck(arguments,1,"WebSocket"),e=oe.converters.USVString(e),t!==null&&(t=oe.converters.WebSocketStreamOptions(t));let r=jy.settingsObject.baseUrl,s=kG(e,r),n=t.protocols;if(n.length!==new Set(n.map(i=>i.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(n.length>0&&!n.every(i=>LG(i)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#e=s.toString(),this.#A=VE(),this.#t=VE(),t.signal!=null){let i=t.signal;if(i.aborted){this.#A.reject(i.reason),this.#t.reject(i.reason);return}i.addEventListener("abort",()=>{HG(this.#o.readyState)||(vE(this.#o),this.#o.readyState=cs.CLOSING,this.#A.reject(i.reason),this.#t.reject(i.reason),this.#a=!0)},{once:!0})}let o=jy.settingsObject;this.#o.controller=YG(s,n,o,this.#o,t)}get url(){return this.#e.toString()}get opened(){return this.#A.promise}get closed(){return this.#t.promise}close(e=void 0){e!==null&&(e=oe.converters.WebSocketCloseInfo(e));let t=e.closeCode??null,r=e.reason;JE(this.#o,t,r,!0)}#c(e){e=oe.converters.WebSocketStreamWrite(e);let t=VE(),r=null,s=null;if(oe.is.BufferSource(e))r=new Uint8Array(ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e.slice()),s=Li.BINARY;else{let n;try{n=oe.converters.DOMString(e)}catch(o){return t.reject(o),t.promise}r=new TextEncoder().encode(n),s=Li.TEXT}if(!this.#o.closeState.has(gs.SENT)&&!this.#o.closeState.has(gs.RECEIVED)){let n=new GG(r);this.#o.socket.write(n.createFrame(s),()=>{t.resolve(void 0)})}return t.promise}#E(e,t){this.#o.socket=e.socket;let r=new OG(this.#o,t);r.on("drain",()=>this.#o.onParserDrain()),r.on("error",a=>this.#o.onParserError(a)),this.#i=r,this.#o.readyState=cs.OPEN;let s=t??"",n=e.headersList.get("sec-websocket-protocol")??"",o=new ReadableStream({start:a=>{this.#n=a},pull(a){let c;for(;a.desiredSize>0&&(c=e.socket.read())!==null;)a.enqueue(c)},cancel:a=>this.#u(a)}),i=new WritableStream({write:a=>this.#c(a),close:()=>JE(this.#o,null,null),abort:a=>this.#Q(a)});this.#r=o,this.#s=i,this.#A.resolve({extensions:s,protocol:n,readable:o,writable:i})}#g(e,t){if(this.#o.readyState!==cs.OPEN)return;let r;if(e===Li.TEXT)try{r=xG(t)}catch{vE(this.#o,"Received invalid UTF-8 in text frame.");return}else e===Li.BINARY&&(r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength));this.#n.enqueue(r)}#l(){let e=this.#o.closeState.has(gs.SENT)&&this.#o.closeState.has(gs.RECEIVED);if(this.#o.readyState=cs.CLOSED,this.#a)return;this.#o.wasEverConnected||this.#A.reject(new VG("Socket never opened"));let t=this.#i?.closingInfo,r=t?.code??1005;!this.#o.closeState.has(gs.SENT)&&!this.#o.closeState.has(gs.RECEIVED)&&(r=1006);let s=t?.reason==null?"":JG(Buffer.from(t.reason));if(e)this.#n.close(),this.#s.locked||this.#s.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#t.resolve({closeCode:r,reason:s});else{let n=vG("unclean close",r,s);this.#n?.error(n),this.#s?.abort(n),this.#t.reject(n)}}#Q(e){let t=null,r="";oe.is.WebSocketError(e)&&(t=e.closeCode,r=e.reason),JE(this.#o,t,r)}#u(e){this.#Q(e)}};Object.defineProperties(xi.prototype,{url:Hi,opened:Hi,closed:Hi,close:Hi,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}});oe.converters.WebSocketStreamOptions=oe.dictionaryConverter([{key:"protocols",converter:oe.sequenceConverter(oe.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:oe.nullableConverter(oe.converters.AbortSignal),defaultValue:()=>null}]);oe.converters.WebSocketCloseInfo=oe.dictionaryConverter([{key:"closeCode",converter:A=>oe.converters["unsigned short"](A,oe.attributes.EnforceRange)},{key:"reason",converter:oe.converters.USVString,defaultValue:()=>""}]);oe.converters.WebSocketStreamWrite=function(A){return typeof A=="string"?oe.converters.USVString(A):oe.converters.BufferSource(A)};zy.exports={WebSocketStream:xi}});var AD=p((IJ,eD)=>{"use strict";function PG(A){return A.indexOf("\0")===-1}function qG(A){if(A.length===0)return!1;for(let e=0;e<A.length;e++)if(A.charCodeAt(e)<48||A.charCodeAt(e)>57)return!1;return!0}eD.exports={isValidLastEventId:PG,isASCIINumber:qG}});var nD=p((BJ,sD)=>{"use strict";var{Transform:WG}=require("node:stream"),{isASCIINumber:tD,isValidLastEventId:rD}=AD(),et=[239,187,191],PE=10,Yi=13,_G=58,ZG=32,qE=class extends WG{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;buffer=null;pos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(e={}){e.readableObjectMode=!0,super(e),this.state=e.eventSourceSettings||{},e.push&&(this.push=e.push)}_transform(e,t,r){if(e.length===0){r();return}if(this.buffer?this.buffer=Buffer.concat([this.buffer,e]):this.buffer=e,this.checkBOM)switch(this.buffer.length){case 1:if(this.buffer[0]===et[0]){r();return}this.checkBOM=!1,r();return;case 2:if(this.buffer[0]===et[0]&&this.buffer[1]===et[1]){r();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===et[0]&&this.buffer[1]===et[1]&&this.buffer[2]===et[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,r();return}this.checkBOM=!1;break;default:this.buffer[0]===et[0]&&this.buffer[1]===et[1]&&this.buffer[2]===et[2]&&(this.buffer=this.buffer.subarray(3)),this.checkBOM=!1;break}for(;this.pos<this.buffer.length;){if(this.eventEndCheck){if(this.crlfCheck){if(this.buffer[this.pos]===PE){this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.crlfCheck=!1;continue}this.crlfCheck=!1}if(this.buffer[this.pos]===PE||this.buffer[this.pos]===Yi){this.buffer[this.pos]===Yi&&(this.crlfCheck=!0),this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,(this.event.data!==void 0||this.event.event||this.event.id!==void 0||this.event.retry)&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(this.buffer[this.pos]===PE||this.buffer[this.pos]===Yi){this.buffer[this.pos]===Yi&&(this.crlfCheck=!0),this.parseLine(this.buffer.subarray(0,this.pos),this.event),this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.eventEndCheck=!0;continue}this.pos++}r()}parseLine(e,t){if(e.length===0)return;let r=e.indexOf(_G);if(r===0)return;let s="",n="";if(r!==-1){s=e.subarray(0,r).toString("utf8");let o=r+1;e[o]===ZG&&++o,n=e.subarray(o).toString("utf8")}else s=e.toString("utf8"),n="";switch(s){case"data":t[s]===void 0?t[s]=n:t[s]+=`
|
|
128
|
-
${n}`;break;case"retry":
|
|
127
|
+
`)}close(){this.#t.close()}get(e){cE(e);let t=this.#l(e);return t?{body:t.body?Buffer.from(t.body.buffer,t.body.byteOffset,t.body.byteLength):void 0,statusCode:t.statusCode,statusMessage:t.statusMessage,headers:t.headers?JSON.parse(t.headers):void 0,etag:t.etag?t.etag:void 0,vary:t.vary?JSON.parse(t.vary):void 0,cacheControlDirectives:t.cacheControlDirectives?JSON.parse(t.cacheControlDirectives):void 0,cachedAt:t.cachedAt,staleAt:t.staleAt,deleteAt:t.deleteAt}:void 0}set(e,t){cE(e);let r=this.#g(e),s=Array.isArray(t.body)?Buffer.concat(t.body):t.body,n=s?.byteLength;if(n&&n>this.#e)return;let o=this.#l(e,!0);o?this.#n.run(s,t.deleteAt,t.statusCode,t.statusMessage,t.headers?JSON.stringify(t.headers):null,t.etag?t.etag:null,t.cacheControlDirectives?JSON.stringify(t.cacheControlDirectives):null,t.cachedAt,t.staleAt,o.id):(this.#E(),this.#s.run(r,e.method,s,t.deleteAt,t.statusCode,t.statusMessage,t.headers?JSON.stringify(t.headers):null,t.etag?t.etag:null,t.cacheControlDirectives?JSON.stringify(t.cacheControlDirectives):null,t.vary?JSON.stringify(t.vary):null,t.cachedAt,t.staleAt))}createWriteStream(e,t){cE(e),GL(t);let r=0,s=[],n=this;return new YL({decodeStrings:!0,write(o,i,a){r+=o.byteLength,r<n.#e?s.push(o):this.destroy(),a()},final(o){n.set(e,{...t,body:s}),o()}})}delete(e){if(typeof e!="object")throw new TypeError(`expected key to be object, got ${typeof e}`);this.#o.run(this.#g(e))}#E(){if(Number.isFinite(this.#A)&&this.size<=this.#A)return 0;{let e=this.#a.run(Date.now()).changes;if(e)return e}{let e=this.#c?.run(Math.max(Math.floor(this.#A*.1),1)).changes;if(e)return e}return 0}get size(){let{total:e}=this.#i.get();return e}#g(e){return`${e.origin}/${e.path}`}#l(e,t=!1){let r=this.#g(e),{headers:s,method:n}=e,o=this.#r.all(r,n);if(o.length===0)return;let i=Date.now();for(let a of o){if(i>=a.deleteAt&&!t)return;let c=!0;if(a.vary){let g=JSON.parse(a.vary);for(let Q in g)if(!OL(s[Q],g[Q])){c=!1;break}}if(c)return a}}};function OL(A,e){return A==null&&e==null?!0:A==null&&e!=null||A!=null&&e==null?!1:Array.isArray(A)&&Array.isArray(e)?A.length!==e.length?!1:A.every((t,r)=>t===e[r]):A===e}});var ar=p((iJ,tp)=>{"use strict";var{kConstruct:vL}=j(),{kEnumerableProperty:As}=G(),{iteratorMixin:VL,isValidHeaderName:Bn,isValidHeaderValue:Kf}=Ve(),{webidl:J}=pe(),lE=require("node:assert"),ti=require("node:util");function Xf(A){return A===10||A===13||A===9||A===32}function zf(A){let e=0,t=A.length;for(;t>e&&Xf(A.charCodeAt(t-1));)--t;for(;t>e&&Xf(A.charCodeAt(e));)++e;return e===0&&t===A.length?A:A.substring(e,t)}function $f(A,e){if(Array.isArray(e))for(let t=0;t<e.length;++t){let r=e[t];if(r.length!==2)throw J.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${r.length}.`});EE(A,r[0],r[1])}else if(typeof e=="object"&&e!==null){let t=Object.keys(e);for(let r=0;r<t.length;++r)EE(A,t[r],e[t[r]])}else throw J.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function EE(A,e,t){if(t=zf(t),Bn(e)){if(!Kf(t))throw J.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw J.errors.invalidArgument({prefix:"Headers.append",value:e,type:"header name"});if(Ap(A)==="immutable")throw new TypeError("immutable");return si(A).append(e,t,!1)}function JL(A){let e=si(A);if(!e)return[];if(e.sortedMap)return e.sortedMap;let t=[],r=e.toSortedArray(),s=e.cookies;if(s===null||s.length===1)return e.sortedMap=r;for(let n=0;n<r.length;++n){let{0:o,1:i}=r[n];if(o==="set-cookie")for(let a=0;a<s.length;++a)t.push([o,s[a]]);else t.push([o,i])}return e.sortedMap=t}function ep(A,e){return A[0]<e[0]?-1:1}var ri=class A{cookies=null;sortedMap;headersMap;constructor(e){e instanceof A?(this.headersMap=new Map(e.headersMap),this.sortedMap=e.sortedMap,this.cookies=e.cookies===null?null:[...e.cookies]):(this.headersMap=new Map(e),this.sortedMap=null)}contains(e,t){return this.headersMap.has(t?e:e.toLowerCase())}clear(){this.headersMap.clear(),this.sortedMap=null,this.cookies=null}append(e,t,r){this.sortedMap=null;let s=r?e:e.toLowerCase(),n=this.headersMap.get(s);if(n){let o=s==="cookie"?"; ":", ";this.headersMap.set(s,{name:n.name,value:`${n.value}${o}${t}`})}else this.headersMap.set(s,{name:e,value:t});s==="set-cookie"&&(this.cookies??=[]).push(t)}set(e,t,r){this.sortedMap=null;let s=r?e:e.toLowerCase();s==="set-cookie"&&(this.cookies=[t]),this.headersMap.set(s,{name:e,value:t})}delete(e,t){this.sortedMap=null,t||(e=e.toLowerCase()),e==="set-cookie"&&(this.cookies=null),this.headersMap.delete(e)}get(e,t){return this.headersMap.get(t?e:e.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:e,1:{value:t}}of this.headersMap)yield[e,t]}get entries(){let e={};if(this.headersMap.size!==0)for(let{name:t,value:r}of this.headersMap.values())e[t]=r;return e}rawValues(){return this.headersMap.values()}get entriesList(){let e=[];if(this.headersMap.size!==0)for(let{0:t,1:{name:r,value:s}}of this.headersMap)if(t==="set-cookie")for(let n of this.cookies)e.push([r,n]);else e.push([r,s]);return e}toSortedArray(){let e=this.headersMap.size,t=new Array(e);if(e<=32){if(e===0)return t;let r=this.headersMap[Symbol.iterator](),s=r.next().value;t[0]=[s[0],s[1].value],lE(s[1].value!==null);for(let n=1,o=0,i=0,a=0,c=0,g,Q;n<e;++n){for(Q=r.next().value,g=t[n]=[Q[0],Q[1].value],lE(g[1]!==null),a=0,i=n;a<i;)c=a+(i-a>>1),t[c][0]<=g[0]?a=c+1:i=c;if(n!==c){for(o=n;o>a;)t[o]=t[--o];t[a]=g}}if(!r.next().done)throw new TypeError("Unreachable");return t}else{let r=0;for(let{0:s,1:{value:n}}of this.headersMap)t[r++]=[s,n],lE(n!==null);return t.sort(ep)}}},CA=class A{#e;#A;constructor(e=void 0){J.util.markAsUncloneable(this),e!==vL&&(this.#A=new ri,this.#e="none",e!==void 0&&(e=J.converters.HeadersInit(e,"Headers constructor","init"),$f(this,e)))}append(e,t){J.brandCheck(this,A),J.argumentLengthCheck(arguments,2,"Headers.append");let r="Headers.append";return e=J.converters.ByteString(e,r,"name"),t=J.converters.ByteString(t,r,"value"),EE(this,e,t)}delete(e){if(J.brandCheck(this,A),J.argumentLengthCheck(arguments,1,"Headers.delete"),e=J.converters.ByteString(e,"Headers.delete","name"),!Bn(e))throw J.errors.invalidArgument({prefix:"Headers.delete",value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#A.contains(e,!1)&&this.#A.delete(e,!1)}get(e){J.brandCheck(this,A),J.argumentLengthCheck(arguments,1,"Headers.get");let t="Headers.get";if(e=J.converters.ByteString(e,t,"name"),!Bn(e))throw J.errors.invalidArgument({prefix:t,value:e,type:"header name"});return this.#A.get(e,!1)}has(e){J.brandCheck(this,A),J.argumentLengthCheck(arguments,1,"Headers.has");let t="Headers.has";if(e=J.converters.ByteString(e,t,"name"),!Bn(e))throw J.errors.invalidArgument({prefix:t,value:e,type:"header name"});return this.#A.contains(e,!1)}set(e,t){J.brandCheck(this,A),J.argumentLengthCheck(arguments,2,"Headers.set");let r="Headers.set";if(e=J.converters.ByteString(e,r,"name"),t=J.converters.ByteString(t,r,"value"),t=zf(t),Bn(e)){if(!Kf(t))throw J.errors.invalidArgument({prefix:r,value:t,type:"header value"})}else throw J.errors.invalidArgument({prefix:r,value:e,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#A.set(e,t,!1)}getSetCookie(){J.brandCheck(this,A);let e=this.#A.cookies;return e?[...e]:[]}[ti.inspect.custom](e,t){return t.depth??=e,`Headers ${ti.formatWithOptions(t,this.#A.entries)}`}static getHeadersGuard(e){return e.#e}static setHeadersGuard(e,t){e.#e=t}static getHeadersList(e){return e.#A}static setHeadersList(e,t){e.#A=t}},{getHeadersGuard:Ap,setHeadersGuard:PL,getHeadersList:si,setHeadersList:qL}=CA;Reflect.deleteProperty(CA,"getHeadersGuard");Reflect.deleteProperty(CA,"setHeadersGuard");Reflect.deleteProperty(CA,"getHeadersList");Reflect.deleteProperty(CA,"setHeadersList");VL("Headers",CA,JL,0,1);Object.defineProperties(CA.prototype,{append:As,delete:As,get:As,has:As,set:As,getSetCookie:As,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[ti.inspect.custom]:{enumerable:!1}});J.converters.HeadersInit=function(A,e,t){if(J.util.Type(A)===J.util.Types.OBJECT){let r=Reflect.get(A,Symbol.iterator);if(!ti.types.isProxy(A)&&r===CA.prototype.entries)try{return si(A).entriesList}catch{}return typeof r=="function"?J.converters["sequence<sequence<ByteString>>"](A,e,t,r.bind(A)):J.converters["record<ByteString, ByteString>"](A,e,t)}throw J.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};tp.exports={fill:$f,compareHeaderName:ep,Headers:CA,HeadersList:ri,getHeadersGuard:Ap,setHeadersGuard:PL,setHeadersList:qL,getHeadersList:si}});var dn=p((aJ,Qp)=>{"use strict";var{Headers:ap,HeadersList:rp,fill:WL,getHeadersGuard:_L,setHeadersGuard:cp,setHeadersList:gp}=ar(),{extractBody:sp,cloneBody:ZL,mixinBody:jL,streamRegistry:lp,bodyUnusable:XL}=kr(),Ep=G(),np=require("node:util"),{kEnumerableProperty:Ze}=Ep,{isValidReasonPhrase:KL,isCancelled:zL,isAborted:$L,isErrorLike:ex,environmentSettingsObject:Ax}=Ve(),{redirectStatusSet:tx,nullBodyStatus:rx}=Fs(),{webidl:V}=pe(),{URLSerializer:op}=tA(),{kConstruct:oi}=j(),uE=require("node:assert"),{isomorphicEncode:sx,serializeJavascriptValueToJSONString:nx}=VA(),ox=new TextEncoder("utf-8"),je=class A{#e;#A;static error(){return Cn(ii(),"immutable")}static json(e,t=void 0){V.argumentLengthCheck(arguments,1,"Response.json"),t!==null&&(t=V.converters.ResponseInit(t));let r=ox.encode(nx(e)),s=sp(r),n=Cn(ts({}),"response");return ip(n,t,{body:s[0],type:"application/json"}),n}static redirect(e,t=302){V.argumentLengthCheck(arguments,1,"Response.redirect"),e=V.converters.USVString(e),t=V.converters["unsigned short"](t);let r;try{r=new URL(e,Ax.settingsObject.baseUrl)}catch(o){throw new TypeError(`Failed to parse URL from ${e}`,{cause:o})}if(!tx.has(t))throw new RangeError(`Invalid status code ${t}`);let s=Cn(ts({}),"immutable");s.#A.status=t;let n=sx(op(r));return s.#A.headersList.append("location",n,!0),s}constructor(e=null,t=void 0){if(V.util.markAsUncloneable(this),e===oi)return;e!==null&&(e=V.converters.BodyInit(e,"Response","body")),t=V.converters.ResponseInit(t),this.#A=ts({}),this.#e=new ap(oi),cp(this.#e,"response"),gp(this.#e,this.#A.headersList);let r=null;if(e!=null){let[s,n]=sp(e);r={body:s,type:n}}ip(this,t,r)}get type(){return V.brandCheck(this,A),this.#A.type}get url(){V.brandCheck(this,A);let e=this.#A.urlList,t=e[e.length-1]??null;return t===null?"":op(t,!0)}get redirected(){return V.brandCheck(this,A),this.#A.urlList.length>1}get status(){return V.brandCheck(this,A),this.#A.status}get ok(){return V.brandCheck(this,A),this.#A.status>=200&&this.#A.status<=299}get statusText(){return V.brandCheck(this,A),this.#A.statusText}get headers(){return V.brandCheck(this,A),this.#e}get body(){return V.brandCheck(this,A),this.#A.body?this.#A.body.stream:null}get bodyUsed(){return V.brandCheck(this,A),!!this.#A.body&&Ep.isDisturbed(this.#A.body.stream)}clone(){if(V.brandCheck(this,A),XL(this.#A))throw V.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let e=QE(this.#A);return this.#A.urlList.length!==0&&this.#A.body?.stream&&lp.register(this,new WeakRef(this.#A.body.stream)),Cn(e,_L(this.#e))}[np.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.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 ${np.formatWithOptions(t,r)}`}static getResponseHeaders(e){return e.#e}static setResponseHeaders(e,t){e.#e=t}static getResponseState(e){return e.#A}static setResponseState(e,t){e.#A=t}},{getResponseHeaders:ix,setResponseHeaders:ax,getResponseState:cr,setResponseState:cx}=je;Reflect.deleteProperty(je,"getResponseHeaders");Reflect.deleteProperty(je,"setResponseHeaders");Reflect.deleteProperty(je,"getResponseState");Reflect.deleteProperty(je,"setResponseState");jL(je,cr);Object.defineProperties(je.prototype,{type:Ze,url:Ze,status:Ze,ok:Ze,redirected:Ze,statusText:Ze,headers:Ze,clone:Ze,body:Ze,bodyUsed:Ze,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(je,{json:Ze,redirect:Ze,error:Ze});function QE(A){if(A.internalResponse)return up(QE(A.internalResponse),A.type);let e=ts({...A,body:null});return A.body!=null&&(e.body=ZL(A.body)),e}function ts(A){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...A,headersList:A?.headersList?new rp(A?.headersList):new rp,urlList:A?.urlList?[...A.urlList]:[]}}function ii(A){let e=ex(A);return ts({type:"error",status:0,error:e?A:new Error(A&&String(A)),aborted:A&&A.name==="AbortError"})}function gx(A){return A.type==="error"&&A.status===0}function ni(A,e){return e={internalResponse:A,...e},new Proxy(A,{get(t,r){return r in e?e[r]:t[r]},set(t,r,s){return uE(!(r in e)),t[r]=s,!0}})}function up(A,e){if(e==="basic")return ni(A,{type:"basic",headersList:A.headersList});if(e==="cors")return ni(A,{type:"cors",headersList:A.headersList});if(e==="opaque")return ni(A,{type:"opaque",urlList:[],status:0,statusText:"",body:null});if(e==="opaqueredirect")return ni(A,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});uE(!1)}function lx(A,e=null){return uE(zL(A)),$L(A)?ii(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:e})):ii(Object.assign(new DOMException("Request was cancelled."),{cause:e}))}function ip(A,e,t){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&&!KL(String(e.statusText)))throw new TypeError("Invalid statusText");if("status"in e&&e.status!=null&&(cr(A).status=e.status),"statusText"in e&&e.statusText!=null&&(cr(A).statusText=e.statusText),"headers"in e&&e.headers!=null&&WL(ix(A),e.headers),t){if(rx.includes(A.status))throw V.errors.exception({header:"Response constructor",message:`Invalid response status code ${A.status}`});cr(A).body=t.body,t.type!=null&&!cr(A).headersList.contains("content-type",!0)&&cr(A).headersList.append("content-type",t.type,!0)}}function Cn(A,e){let t=new je(oi);cx(t,A);let r=new ap(oi);return ax(t,r),gp(r,A.headersList),cp(r,e),A.urlList.length!==0&&A.body?.stream&&lp.register(t,new WeakRef(A.body.stream)),t}V.converters.XMLHttpRequestBodyInit=function(A,e,t){return typeof A=="string"?V.converters.USVString(A,e,t):V.is.Blob(A)||V.is.BufferSource(A)||V.is.FormData(A)||V.is.URLSearchParams(A)?A:V.converters.DOMString(A,e,t)};V.converters.BodyInit=function(A,e,t){return V.is.ReadableStream(A)||A?.[Symbol.asyncIterator]?A:V.converters.XMLHttpRequestBodyInit(A,e,t)};V.converters.ResponseInit=V.dictionaryConverter([{key:"status",converter:V.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:V.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:V.converters.HeadersInit}]);V.is.Response=V.util.MakeTypeAssertion(je);Qp.exports={isNetworkError:gx,makeNetworkError:ii,makeResponse:ts,makeAppropriateNetworkError:lx,filterResponse:up,Response:je,cloneResponse:QE,fromInnerResponse:Cn,getResponseState:cr}});var rs=p((cJ,Np)=>{"use strict";var{extractBody:Ex,mixinBody:ux,cloneBody:Qx,bodyUnusable:hp}=kr(),{Headers:pp,fill:hx,HeadersList:gi,setHeadersGuard:hE,getHeadersGuard:Ix,setHeadersList:yp,getHeadersList:Ip}=ar(),ci=G(),Bp=require("node:util"),{isValidHTTPToken:Bx,sameOrigin:Cp,environmentSettingsObject:ai}=Ve(),{forbiddenMethodsSet:Cx,corsSafeListedMethodsSet:dx,referrerPolicy:fx,requestRedirect:px,requestMode:yx,requestCredentials:Dx,requestCache:mx,requestDuplex:wx}=Fs(),{kEnumerableProperty:ge,normalizedMethodRecordsBase:Rx,normalizedMethodRecords:Sx}=ci,{webidl:T}=pe(),{URLSerializer:Nx}=tA(),{kConstruct:li}=j(),Fx=require("node:assert"),{getMaxListeners:Dp,setMaxListeners:bx,defaultMaxListeners:Ux}=require("node:events"),Mx=Symbol("abortController"),mp=new FinalizationRegistry(({signal:A,abort:e})=>{A.removeEventListener("abort",e)}),Ei=new WeakMap,IE;try{IE=Dp(new AbortController().signal)>0}catch{IE=!1}function dp(A){return e;function e(){let t=A.deref();if(t!==void 0){mp.unregister(e),this.removeEventListener("abort",e),t.abort(this.reason);let r=Ei.get(t.signal);if(r!==void 0){if(r.size!==0){for(let s of r){let n=s.deref();n!==void 0&&n.abort(this.reason)}r.clear()}Ei.delete(t.signal)}}}}var fp=!1,Le=class A{#e;#A;#t;#r;constructor(e,t=void 0){if(T.util.markAsUncloneable(this),e===li)return;T.argumentLengthCheck(arguments,1,"Request constructor"),e=T.converters.RequestInfo(e),t=T.converters.RequestInit(t);let s=null,n=null,o=ai.settingsObject.baseUrl,i=null;if(typeof e=="string"){this.#A=t.dispatcher;let C;try{C=new URL(e,o)}catch(f){throw new TypeError("Failed to parse URL from "+e,{cause:f})}if(C.username||C.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+e);s=ui({urlList:[C]}),n="cors"}else Fx(T.is.Request(e)),s=e.#r,i=e.#e,this.#A=t.dispatcher||e.#A;let a=ai.settingsObject.origin,c="client";if(s.window?.constructor?.name==="EnvironmentSettingsObject"&&Cp(s.window,a)&&(c=s.window),t.window!=null)throw new TypeError(`'window' option '${c}' must be null`);"window"in t&&(c="no-window"),s=ui({method:s.method,headersList:s.headersList,unsafeRequest:s.unsafeRequest,client:ai.settingsObject,window:c,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(t).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]),t.referrer!==void 0){let C=t.referrer;if(C==="")s.referrer="no-referrer";else{let f;try{f=new URL(C,o)}catch(D){throw new TypeError(`Referrer "${C}" is not a valid URL.`,{cause:D})}f.protocol==="about:"&&f.hostname==="client"||a&&!Cp(f,ai.settingsObject.baseUrl)?s.referrer="client":s.referrer=f}}t.referrerPolicy!==void 0&&(s.referrerPolicy=t.referrerPolicy);let Q;if(t.mode!==void 0?Q=t.mode:Q=n,Q==="navigate")throw T.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(Q!=null&&(s.mode=Q),t.credentials!==void 0&&(s.credentials=t.credentials),t.cache!==void 0&&(s.cache=t.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(t.redirect!==void 0&&(s.redirect=t.redirect),t.integrity!=null&&(s.integrity=String(t.integrity)),t.keepalive!==void 0&&(s.keepalive=!!t.keepalive),t.method!==void 0){let C=t.method,f=Sx[C];if(f!==void 0)s.method=f;else{if(!Bx(C))throw new TypeError(`'${C}' is not a valid HTTP method.`);let D=C.toUpperCase();if(Cx.has(D))throw new TypeError(`'${C}' HTTP method is unsupported.`);C=Rx[D]??C,s.method=C}!fp&&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"}),fp=!0)}t.signal!==void 0&&(i=t.signal),this.#r=s;let u=new AbortController;if(this.#e=u.signal,i!=null)if(i.aborted)u.abort(i.reason);else{this[Mx]=u;let C=new WeakRef(u),f=dp(C);IE&&Dp(i)===Ux&&bx(1500,i),ci.addAbortListener(i,f),mp.register(u,{signal:i,abort:f},f)}if(this.#t=new pp(li),yp(this.#t,s.headersList),hE(this.#t,"request"),Q==="no-cors"){if(!dx.has(s.method))throw new TypeError(`'${s.method} is unsupported in no-cors mode.`);hE(this.#t,"request-no-cors")}if(g){let C=Ip(this.#t),f=t.headers!==void 0?t.headers:new gi(C);if(C.clear(),f instanceof gi){for(let{name:D,value:M}of f.rawValues())C.append(D,M,!1);C.cookies=f.cookies}else hx(this.#t,f)}let l=T.is.Request(e)?e.#r.body:null;if((t.body!=null||l!=null)&&(s.method==="GET"||s.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let E=null;if(t.body!=null){let[C,f]=Ex(t.body,s.keepalive);E=C,f&&!Ip(this.#t).contains("content-type",!0)&&this.#t.append("content-type",f,!0)}let B=E??l;if(B!=null&&B.source==null){if(E!=null&&t.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 y=B;if(E==null&&l!=null){if(hp(e.#r))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let C=new TransformStream;l.stream.pipeThrough(C),y={source:l.source,length:l.length,stream:C.readable}}this.#r.body=y}get method(){return T.brandCheck(this,A),this.#r.method}get url(){return T.brandCheck(this,A),Nx(this.#r.url)}get headers(){return T.brandCheck(this,A),this.#t}get destination(){return T.brandCheck(this,A),this.#r.destination}get referrer(){return T.brandCheck(this,A),this.#r.referrer==="no-referrer"?"":this.#r.referrer==="client"?"about:client":this.#r.referrer.toString()}get referrerPolicy(){return T.brandCheck(this,A),this.#r.referrerPolicy}get mode(){return T.brandCheck(this,A),this.#r.mode}get credentials(){return T.brandCheck(this,A),this.#r.credentials}get cache(){return T.brandCheck(this,A),this.#r.cache}get redirect(){return T.brandCheck(this,A),this.#r.redirect}get integrity(){return T.brandCheck(this,A),this.#r.integrity}get keepalive(){return T.brandCheck(this,A),this.#r.keepalive}get isReloadNavigation(){return T.brandCheck(this,A),this.#r.reloadNavigation}get isHistoryNavigation(){return T.brandCheck(this,A),this.#r.historyNavigation}get signal(){return T.brandCheck(this,A),this.#e}get body(){return T.brandCheck(this,A),this.#r.body?this.#r.body.stream:null}get bodyUsed(){return T.brandCheck(this,A),!!this.#r.body&&ci.isDisturbed(this.#r.body.stream)}get duplex(){return T.brandCheck(this,A),"half"}clone(){if(T.brandCheck(this,A),hp(this.#r))throw new TypeError("unusable");let e=Rp(this.#r),t=new AbortController;if(this.signal.aborted)t.abort(this.signal.reason);else{let r=Ei.get(this.signal);r===void 0&&(r=new Set,Ei.set(this.signal,r));let s=new WeakRef(t);r.add(s),ci.addAbortListener(t.signal,dp(s))}return Sp(e,this.#A,t.signal,Ix(this.#t))}[Bp.inspect.custom](e,t){t.depth===null&&(t.depth=2),t.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 ${Bp.formatWithOptions(t,r)}`}static setRequestSignal(e,t){return e.#e=t,e}static getRequestDispatcher(e){return e.#A}static setRequestDispatcher(e,t){e.#A=t}static setRequestHeaders(e,t){e.#t=t}static getRequestState(e){return e.#r}static setRequestState(e,t){e.#r=t}},{setRequestSignal:Tx,getRequestDispatcher:kx,setRequestDispatcher:Lx,setRequestHeaders:xx,getRequestState:wp,setRequestState:Hx}=Le;Reflect.deleteProperty(Le,"setRequestSignal");Reflect.deleteProperty(Le,"getRequestDispatcher");Reflect.deleteProperty(Le,"setRequestDispatcher");Reflect.deleteProperty(Le,"setRequestHeaders");Reflect.deleteProperty(Le,"getRequestState");Reflect.deleteProperty(Le,"setRequestState");ux(Le,wp);function ui(A){return{method:A.method??"GET",localURLsOnly:A.localURLsOnly??!1,unsafeRequest:A.unsafeRequest??!1,body:A.body??null,client:A.client??null,reservedClient:A.reservedClient??null,replacesClientId:A.replacesClientId??"",window:A.window??"client",keepalive:A.keepalive??!1,serviceWorkers:A.serviceWorkers??"all",initiator:A.initiator??"",destination:A.destination??"",priority:A.priority??null,origin:A.origin??"client",policyContainer:A.policyContainer??"client",referrer:A.referrer??"client",referrerPolicy:A.referrerPolicy??"",mode:A.mode??"no-cors",useCORSPreflightFlag:A.useCORSPreflightFlag??!1,credentials:A.credentials??"same-origin",useCredentials:A.useCredentials??!1,cache:A.cache??"default",redirect:A.redirect??"follow",integrity:A.integrity??"",cryptoGraphicsNonceMetadata:A.cryptoGraphicsNonceMetadata??"",parserMetadata:A.parserMetadata??"",reloadNavigation:A.reloadNavigation??!1,historyNavigation:A.historyNavigation??!1,userActivation:A.userActivation??!1,taintedOrigin:A.taintedOrigin??!1,redirectCount:A.redirectCount??0,responseTainting:A.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:A.preventNoCacheCacheControlHeaderModification??!1,done:A.done??!1,timingAllowFailed:A.timingAllowFailed??!1,useURLCredentials:A.useURLCredentials??void 0,traversableForUserPrompts:A.traversableForUserPrompts??"client",urlList:A.urlList,url:A.urlList[0],headersList:A.headersList?new gi(A.headersList):new gi}}function Rp(A){let e=ui({...A,body:null});return A.body!=null&&(e.body=Qx(A.body)),e}function Sp(A,e,t,r){let s=new Le(li);Hx(s,A),Lx(s,e),Tx(s,t);let n=new pp(li);return xx(s,n),yp(n,A.headersList),hE(n,r),s}Object.defineProperties(Le.prototype,{method:ge,url:ge,headers:ge,redirect:ge,clone:ge,signal:ge,duplex:ge,destination:ge,body:ge,bodyUsed:ge,isHistoryNavigation:ge,isReloadNavigation:ge,keepalive:ge,integrity:ge,cache:ge,credentials:ge,attribute:ge,referrerPolicy:ge,referrer:ge,mode:ge,[Symbol.toStringTag]:{value:"Request",configurable:!0}});T.is.Request=T.util.MakeTypeAssertion(Le);T.converters.RequestInfo=function(A){return typeof A=="string"?T.converters.USVString(A):T.is.Request(A)?A:T.converters.USVString(A)};T.converters.RequestInit=T.dictionaryConverter([{key:"method",converter:T.converters.ByteString},{key:"headers",converter:T.converters.HeadersInit},{key:"body",converter:T.nullableConverter(T.converters.BodyInit)},{key:"referrer",converter:T.converters.USVString},{key:"referrerPolicy",converter:T.converters.DOMString,allowedValues:fx},{key:"mode",converter:T.converters.DOMString,allowedValues:yx},{key:"credentials",converter:T.converters.DOMString,allowedValues:Dx},{key:"cache",converter:T.converters.DOMString,allowedValues:mx},{key:"redirect",converter:T.converters.DOMString,allowedValues:px},{key:"integrity",converter:T.converters.DOMString},{key:"keepalive",converter:T.converters.boolean},{key:"signal",converter:T.nullableConverter(A=>T.converters.AbortSignal(A,"RequestInit","signal"))},{key:"window",converter:T.converters.any},{key:"duplex",converter:T.converters.DOMString,allowedValues:wx},{key:"dispatcher",converter:T.converters.any},{key:"priority",converter:T.converters.DOMString,allowedValues:["high","low","auto"],defaultValue:()=>"auto"}]);Np.exports={Request:Le,makeRequest:ui,fromInnerRequest:Sp,cloneRequest:Rp,getRequestDispatcher:kx,getRequestState:wp}});var xp=p((gJ,Lp)=>{"use strict";var Yx=require("node:assert"),{runtimeFeatures:bp}=JA(),gr=new Map([["sha256",0],["sha384",1],["sha512",2]]),BE;if(bp.has("crypto")){BE=require("node:crypto");let A=BE.getHashes();A.length===0&&gr.clear();for(let e of gr.keys())A.includes(e)===!1&&gr.delete(e)}else gr.clear();var Fp=Map.prototype.get.bind(gr),CE=Map.prototype.has.bind(gr),Gx=bp.has("crypto")===!1||gr.size===0?()=>!0:(A,e)=>{let t=Mp(e);if(t.length===0)return!0;let r=Up(t);for(let s of r){let n=s.alg,o=s.val,i=Tp(n,A);if(kp(i,o))return!0}return!1};function Up(A){let e=[],t=null;for(let r of A){if(Yx(CE(r.alg),"Invalid SRI hash algorithm token"),e.length===0){e.push(r),t=r;continue}let s=t.alg,n=Fp(s),o=r.alg,i=Fp(o);i<n||(i>n?(t=r,e[0]=r,e.length=1):e.push(r))}return e}function Mp(A){let e=[];for(let t of A.split(" ")){let s=t.split("?",1)[0],n="",o=[s.slice(0,6),s.slice(7)],i=o[0];if(!CE(i))continue;o[1]&&(n=o[1]);let a={alg:i,val:n};e.push(a)}return e}var Tp=(A,e)=>BE.hash(A,e,"base64");function kp(A,e){let t=A.length;t!==0&&A[t-1]==="="&&(t-=1),t!==0&&A[t-1]==="="&&(t-=1);let r=e.length;if(r!==0&&e[r-1]==="="&&(r-=1),r!==0&&e[r-1]==="="&&(r-=1),t!==r)return!1;for(let s=0;s<t;++s)if(!(A[s]===e[s]||A[s]==="+"&&e[s]==="-"||A[s]==="/"&&e[s]==="_"))return!1;return!0}Lp.exports={applyAlgorithmToBytes:Tp,bytesMatch:Gx,caseSensitiveMatch:kp,isValidSRIHashAlgorithm:CE,getStrongestMetadata:Up,parseMetadata:Mp}});var yn=p((lJ,Xp)=>{"use strict";var{makeNetworkError:Z,makeAppropriateNetworkError:fn,filterResponse:dE,makeResponse:Qi,fromInnerResponse:Ox,getResponseState:vx}=dn(),{HeadersList:fE}=ar(),{Request:Vx,cloneRequest:Jx,getRequestDispatcher:Px,getRequestState:qx}=rs(),dA=require("node:zlib"),{makePolicyContainer:Wx,clonePolicyContainer:_x,requestBadPort:Zx,TAOCheck:jx,appendRequestOriginHeader:Xx,responseLocationURL:Kx,requestCurrentURL:Xe,setRequestReferrerPolicyOnRedirect:zx,tryUpgradeRequestToAPotentiallyTrustworthyURL:$x,createOpaqueTimingInfo:RE,appendFetchMetadata:eH,corsCheck:AH,crossOriginResourcePolicyCheck:tH,determineRequestsReferrer:rH,coarsenedSharedCurrentTime:pn,sameOrigin:mE,isCancelled:Nt,isAborted:Hp,isErrorLike:sH,fullyReadBody:nH,readableStreamClose:oH,urlIsLocal:iH,urlIsHttpHttpsScheme:Ci,urlHasHttpsScheme:aH,clampAndCoarsenConnectionTimingInfo:cH,simpleRangeHeaderValue:gH,buildContentRange:lH,createInflate:EH,extractMimeType:uH,hasAuthenticationEntry:QH,includesCredentials:Yp,isTraversableNavigable:hH}=Ve(),lr=require("node:assert"),{safelyExtractBody:di,extractBody:Gp}=kr(),{redirectStatusSet:Jp,nullBodyStatus:Pp,safeMethodsSet:IH,requestBodyHeader:BH,subresourceSet:CH}=Fs(),dH=require("node:events"),{Readable:fH,pipeline:pH,finished:yH,isErrored:DH,isReadable:hi}=require("node:stream"),{addAbortListener:mH,bufferToLowerCasedHeaderName:Op}=G(),{dataURLProcessor:wH,serializeAMimeType:RH,minimizeSupportedMimeType:SH}=tA(),{getGlobalDispatcher:NH}=$o(),{webidl:SE}=pe(),{STATUS_CODES:vp}=require("node:http"),{bytesMatch:FH}=xp(),{createDeferredPromise:bH}=ks(),{isomorphicEncode:Ii}=VA(),{runtimeFeatures:UH}=JA(),MH=UH.has("zstd"),TH=["GET","HEAD"],kH=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",pE,Bi=class extends dH{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 LH(A){qp(A,"fetch")}function xH(A,e=void 0){SE.argumentLengthCheck(arguments,1,"globalThis.fetch");let t=bH(),r;try{r=new Vx(A,e)}catch(g){return t.reject(g),t.promise}let s=qx(r);if(r.signal.aborted)return yE(t,s,null,r.signal.reason,null),t.promise;s.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(s.serviceWorkers="none");let o=null,i=!1,a=null;return mH(r.signal,()=>{i=!0,lr(a!=null),a.abort(r.signal.reason);let g=o?.deref();yE(t,s,g,r.signal.reason,a.controller)}),a=_p({request:s,processResponseEndOfBody:LH,processResponse:g=>{if(!i){if(g.aborted){yE(t,s,o,a.serializedAbortReason,a.controller);return}if(g.type==="error"){t.reject(new TypeError("fetch failed",{cause:g.error}));return}o=new WeakRef(Ox(g,"immutable")),t.resolve(o.deref()),t=null}},dispatcher:Px(r),requestObject:r}),t.promise}function qp(A,e="other"){if(A.type==="error"&&A.aborted||!A.urlList?.length)return;let t=A.urlList[0],r=A.timingInfo,s=A.cacheState;Ci(t)&&r!==null&&(A.timingAllowPassed||(r=RE({startTime:r.startTime}),s=""),r.endTime=pn(),A.timingInfo=r,Wp(r,t.href,e,globalThis,s,"",A.status))}var Wp=performance.markResourceTiming;function yE(A,e,t,r,s){if(A&&A.reject(r),e.body?.stream!=null&&hi(e.body.stream)&&e.body.stream.cancel(r).catch(o=>{if(o.code!=="ERR_INVALID_STATE")throw o}),t==null)return;let n=vx(t);n.body?.stream!=null&&hi(n.body.stream)&&s.error(r)}function _p({request:A,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:r,processResponseEndOfBody:s,processResponseConsumeBody:n,useParallelQueue:o=!1,dispatcher:i=NH(),requestObject:a=null}){lr(i);let c=null,g=!1;A.client!=null&&(c=A.client.globalObject,g=A.client.crossOriginIsolatedCapability);let Q=pn(g),u=RE({startTime:Q}),l={controller:new Bi(i),request:A,timingInfo:u,processRequestBodyChunkLength:e,processRequestEndOfBody:t,processResponse:r,processResponseConsumeBody:n,processResponseEndOfBody:s,taskDestination:c,crossOriginIsolatedCapability:g,requestObject:a};return lr(!A.body||A.body.stream),A.window==="client"&&(A.window=A.client?.globalObject?.constructor?.name==="Window"?A.client:"no-window"),A.origin==="client"&&(A.origin=A.client.origin),A.policyContainer==="client"&&(A.client!=null?A.policyContainer=_x(A.client.policyContainer):A.policyContainer=Wx()),A.headersList.contains("accept",!0)||A.headersList.append("accept","*/*",!0),A.headersList.contains("accept-language",!0)||A.headersList.append("accept-language","*",!0),A.priority,CH.has(A.destination),Zp(l,!1),l.controller}async function Zp(A,e){try{let t=A.request,r=null;if(t.localURLsOnly&&!iH(Xe(t))&&(r=Z("local URLs only")),$x(t),Zx(t)==="blocked"&&(r=Z("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=rH(t)),r===null){let n=Xe(t);mE(n,t.url)&&t.responseTainting==="basic"||n.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",r=await Vp(A)):t.mode==="same-origin"?r=Z('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?r=Z('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",r=await Vp(A)):Ci(Xe(t))?(t.responseTainting="cors",r=await jp(A)):r=Z("URL scheme must be a HTTP(S) scheme")}if(e)return r;r.status!==0&&!r.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?r=dE(r,"basic"):t.responseTainting==="cors"?r=dE(r,"cors"):t.responseTainting==="opaque"?r=dE(r,"opaque"):lr(!1));let s=r.status===0?r:r.internalResponse;if(s.urlList.length===0&&s.urlList.push(...t.urlList),t.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&s.status===206&&s.rangeRequested&&!t.headers.contains("range",!0)&&(r=s=Z()),r.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||Pp.includes(s.status))&&(s.body=null,A.controller.dump=!0),t.integrity){let n=i=>DE(A,Z(i));if(t.responseTainting==="opaque"||r.body==null){n(r.error);return}let o=i=>{if(!FH(i,t.integrity)){n("integrity mismatch");return}r.body=di(i)[0],DE(A,r)};nH(r.body,o,n)}else DE(A,r)}catch(t){A.controller.terminate(t)}}function Vp(A){if(Nt(A)&&A.request.redirectCount===0)return Promise.resolve(fn(A));let{request:e}=A,{protocol:t}=Xe(e);switch(t){case"about:":return Promise.resolve(Z("about scheme is not supported"));case"blob:":{pE||(pE=require("node:buffer").resolveObjectURL);let r=Xe(e);if(r.search.length!==0)return Promise.resolve(Z("NetworkError when attempting to fetch resource."));let s=pE(r.toString());if(e.method!=="GET"||!SE.is.Blob(s))return Promise.resolve(Z("invalid method"));let n=Qi(),o=s.size,i=Ii(`${o}`),a=s.type;if(e.headersList.contains("range",!0)){n.rangeRequested=!0;let c=e.headersList.get("range",!0),g=gH(c,!0);if(g==="failure")return Promise.resolve(Z("failed to fetch the data URL"));let{rangeStartValue:Q,rangeEndValue:u}=g;if(Q===null)Q=o-u,u=Q+u-1;else{if(Q>=o)return Promise.resolve(Z("Range start is greater than the blob's size."));(u===null||u>=o)&&(u=o-1)}let l=s.slice(Q,u+1,a),E=Gp(l);n.body=E[0];let B=Ii(`${l.size}`),y=lH(Q,u,o);n.status=206,n.statusText="Partial Content",n.headersList.set("content-length",B,!0),n.headersList.set("content-type",a,!0),n.headersList.set("content-range",y,!0)}else{let c=Gp(s);n.statusText="OK",n.body=c[0],n.headersList.set("content-length",i,!0),n.headersList.set("content-type",a,!0)}return Promise.resolve(n)}case"data:":{let r=Xe(e),s=wH(r);if(s==="failure")return Promise.resolve(Z("failed to fetch the data URL"));let n=RH(s.mimeType);return Promise.resolve(Qi({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:n}]],body:di(s.body)[0]}))}case"file:":return Promise.resolve(Z("not implemented... yet..."));case"http:":case"https:":return jp(A).catch(r=>Z(r));default:return Promise.resolve(Z("unknown scheme"))}}function HH(A,e){A.request.done=!0,A.processResponseDone!=null&&queueMicrotask(()=>A.processResponseDone(e))}function DE(A,e){let t=A.timingInfo,r=()=>{let n=Date.now();A.request.destination==="document"&&(A.controller.fullTimingInfo=t),A.controller.reportTimingSteps=()=>{if(!Ci(A.request.url))return;t.endTime=n;let i=e.cacheState,a=e.bodyInfo;e.timingAllowPassed||(t=RE(t),i="");let c=0;if(A.request.mode!=="navigator"||!e.hasCrossOriginRedirects){c=e.status;let g=uH(e.headersList);g!=="failure"&&(a.contentType=SH(g))}A.request.initiatorType!=null&&Wp(t,A.request.url.href,A.request.initiatorType,globalThis,i,a,c)};let o=()=>{A.request.done=!0,A.processResponseEndOfBody!=null&&queueMicrotask(()=>A.processResponseEndOfBody(e)),A.request.initiatorType!=null&&A.controller.reportTimingSteps()};queueMicrotask(()=>o())};A.processResponse!=null&&queueMicrotask(()=>{A.processResponse(e),A.processResponse=null});let s=e.type==="error"?e:e.internalResponse??e;s.body==null?r():yH(s.body.stream,()=>{r()})}async function jp(A){let e=A.request,t=null,r=null,s=A.timingInfo;if(e.serviceWorkers,t===null){if(e.redirect==="follow"&&(e.serviceWorkers="none"),r=t=await wE(A),e.responseTainting==="cors"&&AH(e,t)==="failure")return Z("cors failure");jx(e,t)==="failure"&&(e.timingAllowFailed=!0)}return(e.responseTainting==="opaque"||t.type==="opaque")&&tH(e.origin,e.client,e.destination,r)==="blocked"?Z("blocked"):(Jp.has(r.status)&&(e.redirect!=="manual"&&A.controller.connection.destroy(void 0,!1),e.redirect==="error"?t=Z("unexpected redirect"):e.redirect==="manual"?t=r:e.redirect==="follow"?t=await YH(A,t):lr(!1)),t.timingInfo=s,t)}function YH(A,e){let t=A.request,r=e.internalResponse?e.internalResponse:e,s;try{if(s=Kx(r,Xe(t).hash),s==null)return e}catch(o){return Promise.resolve(Z(o))}if(!Ci(s))return Promise.resolve(Z("URL scheme must be a HTTP(S) scheme"));if(t.redirectCount===20)return Promise.resolve(Z("redirect count exceeded"));if(t.redirectCount+=1,t.mode==="cors"&&(s.username||s.password)&&!mE(t,s))return Promise.resolve(Z('cross origin not allowed for request mode "cors"'));if(t.responseTainting==="cors"&&(s.username||s.password))return Promise.resolve(Z('URL cannot contain credentials for request mode "cors"'));if(r.status!==303&&t.body!=null&&t.body.source==null)return Promise.resolve(Z());if([301,302].includes(r.status)&&t.method==="POST"||r.status===303&&!TH.includes(t.method)){t.method="GET",t.body=null;for(let o of BH)t.headersList.delete(o)}mE(Xe(t),s)||(t.headersList.delete("authorization",!0),t.headersList.delete("proxy-authorization",!0),t.headersList.delete("cookie",!0),t.headersList.delete("host",!0)),t.body!=null&&(lr(t.body.source!=null),t.body=di(t.body.source)[0]);let n=A.timingInfo;return n.redirectEndTime=n.postRedirectStartTime=pn(A.crossOriginIsolatedCapability),n.redirectStartTime===0&&(n.redirectStartTime=n.startTime),t.urlList.push(s),zx(t,r),Zp(A,!0)}async function wE(A,e=!1,t=!1){let r=A.request,s=null,n=null,o=null,i=null,a=!1;r.window==="no-window"&&r.redirect==="error"?(s=A,n=r):(n=Jx(r),s={...A},s.request=n);let c=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",g=n.body?n.body.length:null,Q=null;if(n.body==null&&["POST","PUT"].includes(n.method)&&(Q="0"),g!=null&&(Q=Ii(`${g}`)),Q!=null&&n.headersList.append("content-length",Q,!0),g!=null&&n.keepalive,SE.is.URL(n.referrer)&&n.headersList.append("referer",Ii(n.referrer.href),!0),Xx(n),eH(n),n.headersList.contains("user-agent",!0)||n.headersList.append("user-agent",kH,!0),n.cache==="default"&&(n.headersList.contains("if-modified-since",!0)||n.headersList.contains("if-none-match",!0)||n.headersList.contains("if-unmodified-since",!0)||n.headersList.contains("if-match",!0)||n.headersList.contains("if-range",!0))&&(n.cache="no-store"),n.cache==="no-cache"&&!n.preventNoCacheCacheControlHeaderModification&&!n.headersList.contains("cache-control",!0)&&n.headersList.append("cache-control","max-age=0",!0),(n.cache==="no-store"||n.cache==="reload")&&(n.headersList.contains("pragma",!0)||n.headersList.append("pragma","no-cache",!0),n.headersList.contains("cache-control",!0)||n.headersList.append("cache-control","no-cache",!0)),n.headersList.contains("range",!0)&&n.headersList.append("accept-encoding","identity",!0),n.headersList.contains("accept-encoding",!0)||(aH(Xe(n))?n.headersList.append("accept-encoding","br, gzip, deflate",!0):n.headersList.append("accept-encoding","gzip, deflate",!0)),n.headersList.delete("host",!0),c&&!n.headersList.contains("authorization",!0)){let u=null;if(!(QH(n)&&(n.useURLCredentials===void 0||!Yp(Xe(n))))){if(Yp(Xe(n))&&e){let{username:l,password:E}=Xe(n);u=`Basic ${Buffer.from(`${l}:${E}`).toString("base64")}`}}u!==null&&n.headersList.append("Authorization",u,!1)}if(i==null&&(n.cache="no-store"),n.cache!=="no-store"&&n.cache,o==null){if(n.cache==="only-if-cached")return Z("only if cached");let u=await GH(s,c,t);!IH.has(n.method)&&u.status>=200&&u.status<=399,a&&u.status,o==null&&(o=u)}if(o.urlList=[...n.urlList],n.headersList.contains("range",!0)&&(o.rangeRequested=!0),o.requestIncludesCredentials=c,o.status===401&&n.responseTainting!=="cors"&&c&&hH(r.traversableForUserPrompts)){if(r.body!=null){if(r.body.source==null)return Z("expected non-null body source");r.body=di(r.body.source)[0]}if(r.useURLCredentials===void 0||e)return Nt(A)?fn(A):o;A.controller.connection.destroy(),o=await wE(A,!0)}if(o.status===407)return r.window==="no-window"?Z():Nt(A)?fn(A):Z("proxy authentication required");if(o.status===421&&!t&&(r.body==null||r.body.source!=null)){if(Nt(A))return fn(A);A.controller.connection.destroy(),o=await wE(A,e,!0)}return o}async function GH(A,e=!1,t=!1){lr(!A.controller.connection||A.controller.connection.destroyed),A.controller.connection={abort:null,destroyed:!1,destroy(E,B=!0){this.destroyed||(this.destroyed=!0,B&&this.abort?.(E??new DOMException("The operation was aborted.","AbortError")))}};let r=A.request,s=null,n=A.timingInfo;null==null&&(r.cache="no-store");let i=t?"yes":"no";r.mode;let a=null;if(r.body==null&&A.processRequestEndOfBody)queueMicrotask(()=>A.processRequestEndOfBody());else if(r.body!=null){let E=async function*(C){Nt(A)||(yield C,A.processRequestBodyChunkLength?.(C.byteLength))},B=()=>{Nt(A)||A.processRequestEndOfBody&&A.processRequestEndOfBody()},y=C=>{Nt(A)||(C.name==="AbortError"?A.controller.abort():A.controller.terminate(C))};a=(async function*(){try{for await(let C of r.body.stream)yield*E(C);B()}catch(C){y(C)}})()}try{let{body:E,status:B,statusText:y,headersList:C,socket:f}=await l({body:a});if(f)s=Qi({status:B,statusText:y,headersList:C,socket:f});else{let D=E[Symbol.asyncIterator]();A.controller.next=()=>D.next(),s=Qi({status:B,statusText:y,headersList:C})}}catch(E){return E.name==="AbortError"?(A.controller.connection.destroy(),fn(A,E)):Z(E)}let c=()=>A.controller.resume(),g=E=>{Nt(A)||A.controller.abort(E)},Q=new ReadableStream({start(E){A.controller.controller=E},pull:c,cancel:g,type:"bytes"});s.body={stream:Q,source:null,length:null},A.controller.resume||A.controller.on("terminated",u),A.controller.resume=async()=>{for(;;){let E,B;try{let{done:C,value:f}=await A.controller.next();if(Hp(A))break;E=C?void 0:f}catch(C){A.controller.ended&&!n.encodedBodySize?E=void 0:(E=C,B=!0)}if(E===void 0){oH(A.controller.controller),HH(A,s);return}if(n.decodedBodySize+=E?.byteLength??0,B){A.controller.terminate(E);return}let y=new Uint8Array(E);if(y.byteLength&&A.controller.controller.enqueue(y),DH(Q)){A.controller.terminate();return}if(A.controller.controller.desiredSize<=0)return}};function u(E){Hp(A)?(s.aborted=!0,hi(Q)&&A.controller.controller.error(A.controller.serializedAbortReason)):hi(Q)&&A.controller.controller.error(new TypeError("terminated",{cause:sH(E)?E:void 0})),A.controller.connection.destroy()}return s;function l({body:E}){let B=Xe(r),y=A.controller.dispatcher,C=B.pathname+B.search,f=B.search.length===0&&B.href[B.href.length-B.hash.length-1]==="?";return new Promise((D,M)=>y.dispatch({path:f?`${C}?`:C,origin:B.origin,method:r.method,body:y.isMockActive?r.body&&(r.body.source||r.body.stream):E,headers:r.headersList.entries,maxRedirections:0,upgrade:r.mode==="websocket"?"websocket":void 0},{body:null,abort:null,onConnect(F){let{connection:L}=A.controller;n.finalConnectionTimingInfo=cH(void 0,n.postRedirectStartTime,A.crossOriginIsolatedCapability),L.destroyed?F(new DOMException("The operation was aborted.","AbortError")):(A.controller.on("terminated",F),this.abort=L.abort=F),n.finalNetworkRequestStartTime=pn(A.crossOriginIsolatedCapability)},onResponseStarted(){n.finalNetworkResponseStartTime=pn(A.crossOriginIsolatedCapability)},onHeaders(F,L,w,b){if(F<200)return!1;let k=new fE;for(let ie=0;ie<L.length;ie+=2)k.append(Op(L[ie]),L[ie+1].toString("latin1"),!0);let z=k.get("location",!0);this.body=new fH({read:w});let fe=z&&r.redirect==="follow"&&Jp.has(F),ce=[];if(r.method!=="HEAD"&&r.method!=="CONNECT"&&!Pp.includes(F)&&!fe){let ie=k.get("content-encoding",!0),$e=ie?ie.toLowerCase().split(","):[],pr=5;if($e.length>pr)return M(new Error(`too many content-encodings in response: ${$e.length}, maximum allowed is ${pr}`)),!0;for(let kt=$e.length-1;kt>=0;--kt){let Lt=$e[kt].trim();if(Lt==="x-gzip"||Lt==="gzip")ce.push(dA.createGunzip({flush:dA.constants.Z_SYNC_FLUSH,finishFlush:dA.constants.Z_SYNC_FLUSH}));else if(Lt==="deflate")ce.push(EH({flush:dA.constants.Z_SYNC_FLUSH,finishFlush:dA.constants.Z_SYNC_FLUSH}));else if(Lt==="br")ce.push(dA.createBrotliDecompress({flush:dA.constants.BROTLI_OPERATION_FLUSH,finishFlush:dA.constants.BROTLI_OPERATION_FLUSH}));else if(Lt==="zstd"&&MH)ce.push(dA.createZstdDecompress({flush:dA.constants.ZSTD_e_continue,finishFlush:dA.constants.ZSTD_e_end}));else{ce.length=0;break}}}let Ge=this.onError.bind(this);return D({status:F,statusText:b,headersList:k,body:ce.length?pH(this.body,...ce,ie=>{ie&&this.onError(ie)}).on("error",Ge):this.body.on("error",Ge)}),!0},onData(F){if(A.controller.dump)return;let L=F;return n.encodedBodySize+=L.byteLength,this.body.push(L)},onComplete(){this.abort&&A.controller.off("terminated",this.abort),A.controller.ended=!0,this.body.push(null)},onError(F){this.abort&&A.controller.off("terminated",this.abort),this.body?.destroy(F),A.controller.terminate(F),M(F)},onRequestUpgrade(F,L,w,b){if(b.session!=null&&L!==200||b.session==null&&L!==101)return!1;let k=new fE;for(let[z,fe]of Object.entries(w)){if(fe==null)continue;let ce=z.toLowerCase();if(Array.isArray(fe))for(let Ge of fe)k.append(ce,String(Ge),!0);else k.append(ce,String(fe),!0)}return D({status:L,statusText:vp[L],headersList:k,socket:b}),!0},onUpgrade(F,L,w){if(w.session!=null&&F!==200||w.session==null&&F!==101)return!1;let b=new fE;for(let k=0;k<L.length;k+=2)b.append(Op(L[k]),L[k+1].toString("latin1"),!0);return D({status:F,statusText:vp[F],headersList:b,socket:w}),!0}}))}}Xp.exports={fetch:xH,Fetch:Bi,fetching:_p,finalizeAndReportTiming:qp}});var $p=p((EJ,zp)=>{"use strict";var OH=require("node:assert"),{URLSerializer:Kp}=tA(),{isValidHeaderName:vH}=Ve();function VH(A,e,t=!1){let r=Kp(A,t),s=Kp(e,t);return r===s}function JH(A){OH(A!==null);let e=[];for(let t of A.split(","))t=t.trim(),vH(t)&&e.push(t);return e}zp.exports={urlEquals:VH,getFieldValues:JH}});var ry=p((uJ,ty)=>{"use strict";var NE=require("node:assert"),{kConstruct:PH}=j(),{urlEquals:qH,getFieldValues:FE}=$p(),{kEnumerableProperty:Er,isDisturbed:WH}=G(),{webidl:R}=pe(),{cloneResponse:ey,fromInnerResponse:_H,getResponseState:ZH}=dn(),{Request:Dn,fromInnerRequest:jH,getRequestState:HA}=rs(),{fetching:XH}=yn(),{urlIsHttpHttpsScheme:fi,readAllBytes:KH}=Ve(),{createDeferredPromise:ss}=ks(),pi=class A{#e;constructor(){arguments[0]!==PH&&R.illegalConstructor(),R.util.markAsUncloneable(this),this.#e=arguments[1]}async match(e,t={}){R.brandCheck(this,A);let r="Cache.match";R.argumentLengthCheck(arguments,1,r),e=R.converters.RequestInfo(e),t=R.converters.CacheQueryOptions(t,r,"options");let s=this.#n(e,t,1);if(s.length!==0)return s[0]}async matchAll(e=void 0,t={}){R.brandCheck(this,A);let r="Cache.matchAll";return e!==void 0&&(e=R.converters.RequestInfo(e)),t=R.converters.CacheQueryOptions(t,r,"options"),this.#n(e,t)}async add(e){R.brandCheck(this,A),R.argumentLengthCheck(arguments,1,"Cache.add"),e=R.converters.RequestInfo(e);let r=[e];return await this.addAll(r)}async addAll(e){R.brandCheck(this,A);let t="Cache.addAll";R.argumentLengthCheck(arguments,1,t);let r=[],s=[];for(let u of e){if(u===void 0)throw R.errors.conversionFailed({prefix:t,argument:"Argument 1",types:["undefined is not allowed"]});if(u=R.converters.RequestInfo(u),typeof u=="string")continue;let l=HA(u);if(!fi(l.url)||l.method!=="GET")throw R.errors.exception({header:t,message:"Expected http/s scheme when method is not GET."})}let n=[];for(let u of e){let l=HA(new Dn(u));if(!fi(l.url))throw R.errors.exception({header:t,message:"Expected http/s scheme."});l.initiator="fetch",l.destination="subresource",s.push(l);let E=ss();n.push(XH({request:l,processResponse(B){if(B.type==="error"||B.status===206||B.status<200||B.status>299)E.reject(R.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(B.headersList.contains("vary")){let y=FE(B.headersList.get("vary"));for(let C of y)if(C==="*"){E.reject(R.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let f of n)f.abort();return}}},processResponseEndOfBody(B){if(B.aborted){E.reject(new DOMException("aborted","AbortError"));return}E.resolve(B)}})),r.push(E.promise)}let i=await Promise.all(r),a=[],c=0;for(let u of i){let l={type:"put",request:s[c],response:u};a.push(l),c++}let g=ss(),Q=null;try{this.#A(a)}catch(u){Q=u}return queueMicrotask(()=>{Q===null?g.resolve(void 0):g.reject(Q)}),g.promise}async put(e,t){R.brandCheck(this,A);let r="Cache.put";R.argumentLengthCheck(arguments,2,r),e=R.converters.RequestInfo(e),t=R.converters.Response(t,r,"response");let s=null;if(R.is.Request(e)?s=HA(e):s=HA(new Dn(e)),!fi(s.url)||s.method!=="GET")throw R.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"});let n=ZH(t);if(n.status===206)throw R.errors.exception({header:r,message:"Got 206 status"});if(n.headersList.contains("vary")){let l=FE(n.headersList.get("vary"));for(let E of l)if(E==="*")throw R.errors.exception({header:r,message:"Got * vary field value"})}if(n.body&&(WH(n.body.stream)||n.body.stream.locked))throw R.errors.exception({header:r,message:"Response body is locked or disturbed"});let o=ey(n),i=ss();if(n.body!=null){let E=n.body.stream.getReader();KH(E,i.resolve,i.reject)}else i.resolve(void 0);let a=[],c={type:"put",request:s,response:o};a.push(c);let g=await i.promise;o.body!=null&&(o.body.source=g);let Q=ss(),u=null;try{this.#A(a)}catch(l){u=l}return queueMicrotask(()=>{u===null?Q.resolve():Q.reject(u)}),Q.promise}async delete(e,t={}){R.brandCheck(this,A);let r="Cache.delete";R.argumentLengthCheck(arguments,1,r),e=R.converters.RequestInfo(e),t=R.converters.CacheQueryOptions(t,r,"options");let s=null;if(R.is.Request(e)){if(s=HA(e),s.method!=="GET"&&!t.ignoreMethod)return!1}else NE(typeof e=="string"),s=HA(new Dn(e));let n=[],o={type:"delete",request:s,options:t};n.push(o);let i=ss(),a=null,c;try{c=this.#A(n)}catch(g){a=g}return queueMicrotask(()=>{a===null?i.resolve(!!c?.length):i.reject(a)}),i.promise}async keys(e=void 0,t={}){R.brandCheck(this,A);let r="Cache.keys";e!==void 0&&(e=R.converters.RequestInfo(e)),t=R.converters.CacheQueryOptions(t,r,"options");let s=null;if(e!==void 0)if(R.is.Request(e)){if(s=HA(e),s.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(s=HA(new Dn(e)));let n=ss(),o=[];if(e===void 0)for(let i of this.#e)o.push(i[0]);else{let i=this.#t(s,t);for(let a of i)o.push(a[0])}return queueMicrotask(()=>{let i=[];for(let a of o){let c=jH(a,void 0,new AbortController().signal,"immutable");i.push(c)}n.resolve(Object.freeze(i))}),n.promise}#A(e){let t=this.#e,r=[...t],s=[],n=[];try{for(let o of e){if(o.type!=="delete"&&o.type!=="put")throw R.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(o.type==="delete"&&o.response!=null)throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#t(o.request,o.options,s).length)throw new DOMException("???","InvalidStateError");let i;if(o.type==="delete"){if(i=this.#t(o.request,o.options),i.length===0)return[];for(let a of i){let c=t.indexOf(a);NE(c!==-1),t.splice(c,1)}}else if(o.type==="put"){if(o.response==null)throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let a=o.request;if(!fi(a.url))throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(a.method!=="GET")throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(o.options!=null)throw R.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});i=this.#t(o.request);for(let c of i){let g=t.indexOf(c);NE(g!==-1),t.splice(g,1)}t.push([o.request,o.response]),s.push([o.request,o.response])}n.push([o.request,o.response])}return n}catch(o){throw this.#e.length=0,this.#e=r,o}}#t(e,t,r){let s=[],n=r??this.#e;for(let o of n){let[i,a]=o;this.#r(e,i,a,t)&&s.push(o)}return s}#r(e,t,r=null,s){let n=new URL(e.url),o=new URL(t.url);if(s?.ignoreSearch&&(o.search="",n.search=""),!qH(n,o,!0))return!1;if(r==null||s?.ignoreVary||!r.headersList.contains("vary"))return!0;let i=FE(r.headersList.get("vary"));for(let a of i){if(a==="*")return!1;let c=t.headersList.get(a),g=e.headersList.get(a);if(c!==g)return!1}return!0}#n(e,t,r=1/0){let s=null;if(e!==void 0)if(R.is.Request(e)){if(s=HA(e),s.method!=="GET"&&!t.ignoreMethod)return[]}else typeof e=="string"&&(s=HA(new Dn(e)));let n=[];if(e===void 0)for(let i of this.#e)n.push(i[1]);else{let i=this.#t(s,t);for(let a of i)n.push(a[1])}let o=[];for(let i of n){let a=_H(ey(i),"immutable");if(o.push(a),o.length>=r)break}return Object.freeze(o)}};Object.defineProperties(pi.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:Er,matchAll:Er,add:Er,addAll:Er,put:Er,delete:Er,keys:Er});var Ay=[{key:"ignoreSearch",converter:R.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:R.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:R.converters.boolean,defaultValue:()=>!1}];R.converters.CacheQueryOptions=R.dictionaryConverter(Ay);R.converters.MultiCacheQueryOptions=R.dictionaryConverter([...Ay,{key:"cacheName",converter:R.converters.DOMString}]);R.converters.Response=R.interfaceConverter(R.is.Response,"Response");R.converters["sequence<RequestInfo>"]=R.sequenceConverter(R.converters.RequestInfo);ty.exports={Cache:pi}});var ny=p((QJ,sy)=>{"use strict";var{Cache:yi}=ry(),{webidl:me}=pe(),{kEnumerableProperty:mn}=G(),{kConstruct:wn}=j(),Di=class A{#e=new Map;constructor(){arguments[0]!==wn&&me.illegalConstructor(),me.util.markAsUncloneable(this)}async match(e,t={}){if(me.brandCheck(this,A),me.argumentLengthCheck(arguments,1,"CacheStorage.match"),e=me.converters.RequestInfo(e),t=me.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#e.has(t.cacheName)){let r=this.#e.get(t.cacheName);return await new yi(wn,r).match(e,t)}}else for(let r of this.#e.values()){let n=await new yi(wn,r).match(e,t);if(n!==void 0)return n}}async has(e){me.brandCheck(this,A);let t="CacheStorage.has";return me.argumentLengthCheck(arguments,1,t),e=me.converters.DOMString(e,t,"cacheName"),this.#e.has(e)}async open(e){me.brandCheck(this,A);let t="CacheStorage.open";if(me.argumentLengthCheck(arguments,1,t),e=me.converters.DOMString(e,t,"cacheName"),this.#e.has(e)){let s=this.#e.get(e);return new yi(wn,s)}let r=[];return this.#e.set(e,r),new yi(wn,r)}async delete(e){me.brandCheck(this,A);let t="CacheStorage.delete";return me.argumentLengthCheck(arguments,1,t),e=me.converters.DOMString(e,t,"cacheName"),this.#e.delete(e)}async keys(){return me.brandCheck(this,A),[...this.#e.keys()]}};Object.defineProperties(Di.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:mn,has:mn,open:mn,delete:mn,keys:mn});sy.exports={CacheStorage:Di}});var iy=p((hJ,oy)=>{"use strict";oy.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var bE=p((IJ,Ey)=>{"use strict";function zH(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t>=0&&t<=8||t>=10&&t<=31||t===127)return!0}return!1}function ay(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t<33||t>126||t===34||t===40||t===41||t===60||t===62||t===64||t===44||t===59||t===58||t===92||t===47||t===91||t===93||t===63||t===61||t===123||t===125)throw new Error("Invalid cookie name")}}function cy(A){let e=A.length,t=0;if(A[0]==='"'){if(e===1||A[e-1]!=='"')throw new Error("Invalid cookie value");--e,++t}for(;t<e;){let r=A.charCodeAt(t++);if(r<33||r>126||r===34||r===44||r===59||r===92)throw new Error("Invalid cookie value")}}function gy(A){for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t<32||t===127||t===59)throw new Error("Invalid cookie path")}}function $H(A){if(A.startsWith("-")||A.endsWith(".")||A.endsWith("-"))throw new Error("Invalid cookie domain")}var eY=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],AY=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],mi=Array(61).fill(0).map((A,e)=>e.toString().padStart(2,"0"));function ly(A){return typeof A=="number"&&(A=new Date(A)),`${eY[A.getUTCDay()]}, ${mi[A.getUTCDate()]} ${AY[A.getUTCMonth()]} ${A.getUTCFullYear()} ${mi[A.getUTCHours()]}:${mi[A.getUTCMinutes()]}:${mi[A.getUTCSeconds()]} GMT`}function tY(A){if(A<0)throw new Error("Invalid cookie max-age")}function rY(A){if(A.name.length===0)return null;ay(A.name),cy(A.value);let e=[`${A.name}=${A.value}`];A.name.startsWith("__Secure-")&&(A.secure=!0),A.name.startsWith("__Host-")&&(A.secure=!0,A.domain=null,A.path="/"),A.secure&&e.push("Secure"),A.httpOnly&&e.push("HttpOnly"),typeof A.maxAge=="number"&&(tY(A.maxAge),e.push(`Max-Age=${A.maxAge}`)),A.domain&&($H(A.domain),e.push(`Domain=${A.domain}`)),A.path&&(gy(A.path),e.push(`Path=${A.path}`)),A.expires&&A.expires.toString()!=="Invalid Date"&&e.push(`Expires=${ly(A.expires)}`),A.sameSite&&e.push(`SameSite=${A.sameSite}`);for(let t of A.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[r,...s]=t.split("=");e.push(`${r.trim()}=${s.join("=")}`)}return e.join("; ")}Ey.exports={isCTLExcludingHtab:zH,validateCookieName:ay,validateCookiePath:gy,validateCookieValue:cy,toIMFDate:ly,stringify:rY}});var Qy=p((BJ,uy)=>{"use strict";var{collectASequenceOfCodePointsFast:wi}=VA(),{maxNameValuePairSize:sY,maxAttributeValueSize:nY}=iy(),{isCTLExcludingHtab:oY}=bE(),iY=require("node:assert"),{unescape:aY}=require("node:querystring");function cY(A){if(oY(A))return null;let e="",t="",r="",s="";if(A.includes(";")){let n={position:0};e=wi(";",A,n),t=A.slice(n.position)}else e=A;if(!e.includes("="))s=e;else{let n={position:0};r=wi("=",e,n),s=e.slice(n.position+1)}return r=r.trim(),s=s.trim(),r.length+s.length>sY?null:{name:r,value:aY(s),...ns(t)}}function ns(A,e={}){if(A.length===0)return e;iY(A[0]===";"),A=A.slice(1);let t="";A.includes(";")?(t=wi(";",A,{position:0}),A=A.slice(t.length)):(t=A,A="");let r="",s="";if(t.includes("=")){let o={position:0};r=wi("=",t,o),s=t.slice(o.position+1)}else r=t;if(r=r.trim(),s=s.trim(),s.length>nY)return ns(A,e);let n=r.toLowerCase();if(n==="expires"){let o=new Date(s);e.expires=o}else if(n==="max-age"){let o=s.charCodeAt(0);if((o<48||o>57)&&s[0]!=="-"||!/^\d+$/.test(s))return ns(A,e);let i=Number(s);e.maxAge=i}else if(n==="domain"){let o=s;o[0]==="."&&(o=o.slice(1)),o=o.toLowerCase(),e.domain=o}else if(n==="path"){let o="";s.length===0||s[0]!=="/"?o="/":o=s,e.path=o}else if(n==="secure")e.secure=!0;else if(n==="httponly")e.httpOnly=!0;else if(n==="samesite"){let o="Default",i=s.toLowerCase();i.includes("none")&&(o="None"),i.includes("strict")&&(o="Strict"),i.includes("lax")&&(o="Lax"),e.sameSite=o}else e.unparsed??=[],e.unparsed.push(`${r}=${s}`);return ns(A,e)}uy.exports={parseSetCookie:cY,parseUnparsedAttributes:ns}});var Cy=p((CJ,By)=>{"use strict";var{parseSetCookie:hy}=Qy(),{stringify:gY}=bE(),{webidl:P}=pe(),{Headers:lY}=ar(),Ri=P.brandCheckMultiple([lY,globalThis.Headers].filter(Boolean));function EY(A){P.argumentLengthCheck(arguments,1,"getCookies"),Ri(A);let e=A.get("cookie"),t={};if(!e)return t;for(let r of e.split(";")){let[s,...n]=r.split("=");t[s.trim()]=n.join("=")}return t}function uY(A,e,t){Ri(A);let r="deleteCookie";P.argumentLengthCheck(arguments,2,r),e=P.converters.DOMString(e,r,"name"),t=P.converters.DeleteCookieAttributes(t),Iy(A,{name:e,value:"",expires:new Date(0),...t})}function QY(A){P.argumentLengthCheck(arguments,1,"getSetCookies"),Ri(A);let e=A.getSetCookie();return e?e.map(t=>hy(t)):[]}function hY(A){return A=P.converters.DOMString(A),hy(A)}function Iy(A,e){P.argumentLengthCheck(arguments,2,"setCookie"),Ri(A),e=P.converters.Cookie(e);let t=gY(e);t&&A.append("set-cookie",t,!0)}P.converters.DeleteCookieAttributes=P.dictionaryConverter([{converter:P.nullableConverter(P.converters.DOMString),key:"path",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.DOMString),key:"domain",defaultValue:()=>null}]);P.converters.Cookie=P.dictionaryConverter([{converter:P.converters.DOMString,key:"name"},{converter:P.converters.DOMString,key:"value"},{converter:P.nullableConverter(A=>typeof A=="number"?P.converters["unsigned long long"](A):new Date(A)),key:"expires",defaultValue:()=>null},{converter:P.nullableConverter(P.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.DOMString),key:"path",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.boolean),key:"secure",defaultValue:()=>null},{converter:P.nullableConverter(P.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:P.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:P.sequenceConverter(P.converters.DOMString),key:"unparsed",defaultValue:()=>[]}]);By.exports={getCookies:EY,deleteCookie:uY,getSetCookies:QY,setCookie:Iy,parseCookie:hY}});var Fi=p((dJ,fy)=>{"use strict";var{webidl:N}=pe(),{kEnumerableProperty:xe}=G(),{kConstruct:dy}=j(),os=class A extends Event{#e;constructor(e,t={}){if(e===dy){super(arguments[1],arguments[2]),N.util.markAsUncloneable(this);return}let r="MessageEvent constructor";N.argumentLengthCheck(arguments,1,r),e=N.converters.DOMString(e,r,"type"),t=N.converters.MessageEventInit(t,r,"eventInitDict"),super(e,t),this.#e=t,N.util.markAsUncloneable(this)}get data(){return N.brandCheck(this,A),this.#e.data}get origin(){return N.brandCheck(this,A),this.#e.origin}get lastEventId(){return N.brandCheck(this,A),this.#e.lastEventId}get source(){return N.brandCheck(this,A),this.#e.source}get ports(){return N.brandCheck(this,A),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(e,t=!1,r=!1,s=null,n="",o="",i=null,a=[]){return N.brandCheck(this,A),N.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new A(e,{bubbles:t,cancelable:r,data:s,origin:n,lastEventId:o,source:i,ports:a})}static createFastMessageEvent(e,t){let r=new A(dy,e,t);return r.#e=t,r.#e.data??=null,r.#e.origin??="",r.#e.lastEventId??="",r.#e.source??=null,r.#e.ports??=[],r}},{createFastMessageEvent:IY}=os;delete os.createFastMessageEvent;var Si=class A extends Event{#e;constructor(e,t={}){let r="CloseEvent constructor";N.argumentLengthCheck(arguments,1,r),e=N.converters.DOMString(e,r,"type"),t=N.converters.CloseEventInit(t),super(e,t),this.#e=t,N.util.markAsUncloneable(this)}get wasClean(){return N.brandCheck(this,A),this.#e.wasClean}get code(){return N.brandCheck(this,A),this.#e.code}get reason(){return N.brandCheck(this,A),this.#e.reason}},Ni=class A extends Event{#e;constructor(e,t){let r="ErrorEvent constructor";N.argumentLengthCheck(arguments,1,r),super(e,t),N.util.markAsUncloneable(this),e=N.converters.DOMString(e,r,"type"),t=N.converters.ErrorEventInit(t??{}),this.#e=t}get message(){return N.brandCheck(this,A),this.#e.message}get filename(){return N.brandCheck(this,A),this.#e.filename}get lineno(){return N.brandCheck(this,A),this.#e.lineno}get colno(){return N.brandCheck(this,A),this.#e.colno}get error(){return N.brandCheck(this,A),this.#e.error}};Object.defineProperties(os.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:xe,origin:xe,lastEventId:xe,source:xe,ports:xe,initMessageEvent:xe});Object.defineProperties(Si.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:xe,code:xe,wasClean:xe});Object.defineProperties(Ni.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:xe,filename:xe,lineno:xe,colno:xe,error:xe});N.converters.MessagePort=N.interfaceConverter(N.is.MessagePort,"MessagePort");N.converters["sequence<MessagePort>"]=N.sequenceConverter(N.converters.MessagePort);var UE=[{key:"bubbles",converter:N.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:N.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:N.converters.boolean,defaultValue:()=>!1}];N.converters.MessageEventInit=N.dictionaryConverter([...UE,{key:"data",converter:N.converters.any,defaultValue:()=>null},{key:"origin",converter:N.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:N.converters.DOMString,defaultValue:()=>""},{key:"source",converter:N.nullableConverter(N.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:N.converters["sequence<MessagePort>"],defaultValue:()=>[]}]);N.converters.CloseEventInit=N.dictionaryConverter([...UE,{key:"wasClean",converter:N.converters.boolean,defaultValue:()=>!1},{key:"code",converter:N.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:N.converters.USVString,defaultValue:()=>""}]);N.converters.ErrorEventInit=N.dictionaryConverter([...UE,{key:"message",converter:N.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:N.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:N.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:N.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:N.converters.any}]);fy.exports={MessageEvent:os,CloseEvent:Si,ErrorEvent:Ni,createFastMessageEvent:IY}});var Ft=p((fJ,py)=>{"use strict";var BY="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",CY={enumerable:!0,writable:!1,configurable:!1},dY={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},fY={SENT:1,RECEIVED:2},pY={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},yY=65535,DY={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},mY=Buffer.allocUnsafe(0),wY={text:1,typedArray:2,arrayBuffer:3,blob:4};py.exports={uid:BY,sentCloseFrameState:fY,staticPropertyDescriptors:CY,states:dY,opcodes:pY,maxUnsigned16Bit:yY,parserStates:DY,emptyBuffer:mY,sendHints:wY}});var ur=p((pJ,Ry)=>{"use strict";var{states:bi,opcodes:is}=Ft(),{isUtf8:RY}=require("node:buffer"),{removeHTTPWhitespace:yy}=tA(),{collectASequenceOfCodePointsFast:SY}=VA();function NY(A){return A===bi.CONNECTING}function FY(A){return A===bi.OPEN}function bY(A){return A===bi.CLOSING}function UY(A){return A===bi.CLOSED}function MY(A,e,t=(s,n)=>new Event(s,n),r={}){let s=t(A,r);e.dispatchEvent(s)}function TY(A,e,t){A.onMessage(e,t)}function kY(A){return A.byteLength===A.buffer.byteLength?A.buffer:new Uint8Array(A).buffer}function LY(A){if(A.length===0)return!1;for(let e=0;e<A.length;++e){let t=A.charCodeAt(e);if(t<33||t>126||t===34||t===40||t===41||t===44||t===47||t===58||t===59||t===60||t===61||t===62||t===63||t===64||t===91||t===92||t===93||t===123||t===125)return!1}return!0}function xY(A){return A>=1e3&&A<1015?A!==1004&&A!==1005&&A!==1006:A>=3e3&&A<=4999}function Dy(A){return A===is.CLOSE||A===is.PING||A===is.PONG}function my(A){return A===is.CONTINUATION}function wy(A){return A===is.TEXT||A===is.BINARY}function HY(A){return wy(A)||my(A)||Dy(A)}function YY(A){let e={position:0},t=new Map;for(;e.position<A.length;){let r=SY(";",A,e),[s,n=""]=r.split("=",2);t.set(yy(s,!0,!1),yy(n,!1,!0)),e.position++}return t}function GY(A){if(A.length===0)return!1;for(let t=0;t<A.length;t++){let r=A.charCodeAt(t);if(r<48||r>57)return!1}let e=Number.parseInt(A,10);return e>=8&&e<=15}function OY(A,e){let t;try{t=new URL(A,e)}catch(r){throw new DOMException(r,"SyntaxError")}if(t.protocol==="http:"?t.protocol="ws:":t.protocol==="https:"&&(t.protocol="wss:"),t.protocol!=="ws:"&&t.protocol!=="wss:")throw new DOMException("expected a ws: or wss: url","SyntaxError");if(t.hash.length||t.href.endsWith("#"))throw new DOMException("hash","SyntaxError");return t}function vY(A,e){if(A!==null&&A!==1e3&&(A<3e3||A>4999))throw new DOMException("invalid code","InvalidAccessError");if(e!==null){let t=Buffer.byteLength(e);if(t>123)throw new DOMException(`Reason must be less than 123 bytes; received ${t}`,"SyntaxError")}}var VY=(()=>{if(typeof process.versions.icu=="string"){let A=new TextDecoder("utf-8",{fatal:!0});return A.decode.bind(A)}return function(A){if(RY(A))return A.toString("utf-8");throw new TypeError("Invalid utf-8 received.")}})();Ry.exports={isConnecting:NY,isEstablished:FY,isClosing:bY,isClosed:UY,fireEvent:MY,isValidSubprotocol:LY,isValidStatusCode:xY,websocketMessageReceived:TY,utf8Decode:VY,isControlFrame:Dy,isContinuationFrame:my,isTextBinaryFrame:wy,isValidOpcode:HY,parseExtensions:YY,isValidClientWindowBits:GY,toArrayBuffer:kY,getURLRecord:OY,validateCloseCodeAndReason:vY}});var cs=p((yJ,Ny)=>{"use strict";var{runtimeFeatures:JY}=JA(),{maxUnsigned16Bit:Sy,opcodes:PY}=Ft(),Ui=8*1024,Rn=null,as=Ui,qY=JY.has("crypto")?require("node:crypto").randomFillSync:function(e,t,r){for(let s=0;s<e.length;++s)e[s]=Math.random()*255|0;return e};function ME(){return as===Ui&&(as=0,qY(Rn??=Buffer.allocUnsafeSlow(Ui),0,Ui)),[Rn[as++],Rn[as++],Rn[as++],Rn[as++]]}var TE=class{constructor(e){this.frameData=e}createFrame(e){let t=this.frameData,r=ME(),s=t?.byteLength??0,n=s,o=6;s>Sy?(o+=8,n=127):s>125&&(o+=2,n=126);let i=Buffer.allocUnsafe(s+o);i[0]=i[1]=0,i[0]|=128,i[0]=(i[0]&240)+e;i[o-4]=r[0],i[o-3]=r[1],i[o-2]=r[2],i[o-1]=r[3],i[1]=n,n===126?i.writeUInt16BE(s,2):n===127&&(i[2]=i[3]=0,i.writeUIntBE(s,4,6)),i[1]|=128;for(let a=0;a<s;++a)i[o+a]=t[a]^r[a&3];return i}static createFastTextFrame(e){let t=ME(),r=e.length;for(let i=0;i<r;++i)e[i]^=t[i&3];let s=r,n=6;r>Sy?(n+=8,s=127):r>125&&(n+=2,s=126);let o=Buffer.allocUnsafeSlow(n);return o[0]=128|PY.TEXT,o[1]=s|128,o[n-4]=t[0],o[n-3]=t[1],o[n-2]=t[2],o[n-1]=t[3],s===126?o.writeUInt16BE(r,2):s===127&&(o[2]=o[3]=0,o.writeUIntBE(r,4,6)),[o,e]}};Ny.exports={WebsocketFrameSend:TE,generateMask:ME}});var Mi=p((DJ,ky)=>{"use strict";var{uid:WY,states:kE,sentCloseFrameState:LE,emptyBuffer:Fy,opcodes:_Y}=Ft(),{parseExtensions:ZY,isClosed:jY,isClosing:XY,isEstablished:My,isConnecting:KY,validateCloseCodeAndReason:zY}=ur(),{makeRequest:$Y}=rs(),{fetching:eG}=yn(),{Headers:AG,getHeadersList:tG}=ar(),{getDecodeSplit:rG}=Ve(),{WebsocketFrameSend:sG}=cs(),nG=require("node:assert"),{runtimeFeatures:oG}=JA(),by=oG.has("crypto")?require("node:crypto"):null,Uy=!1;function iG(A,e,t,r,s){let n=A;n.protocol=A.protocol==="ws:"?"http:":"https:";let o=$Y({urlList:[n],client:t,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error",useURLCredentials:!0});if(s.headers){let g=tG(new AG(s.headers));o.headersList=g}let i=by.randomBytes(16).toString("base64");o.headersList.append("sec-websocket-key",i,!0),o.headersList.append("sec-websocket-version","13",!0);for(let g of e)o.headersList.append("sec-websocket-protocol",g,!0);return o.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits",!0),eG({request:o,useParallelQueue:!0,dispatcher:s.dispatcher,processResponse(g){if(g.type==="error"||g.status!==101){if(g.socket?.session==null){YA(r,1002,"Received network error or non-101 status code.",g.error);return}if(g.status!==200){YA(r,1002,"Received network error or non-200 status code.",g.error);return}}if(Uy===!1&&g.socket?.session!=null&&(process.emitWarning("WebSocket over HTTP2 is experimental, and subject to change.","ExperimentalWarning"),Uy=!0),e.length!==0&&!g.headersList.get("Sec-WebSocket-Protocol")){YA(r,1002,"Server did not respond with sent protocols.");return}if(g.socket.session==null&&g.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){YA(r,1002,'Server did not set Upgrade header to "websocket".');return}if(g.socket.session==null&&g.headersList.get("Connection")?.toLowerCase()!=="upgrade"){YA(r,1002,'Server did not set Connection header to "upgrade".');return}let Q=g.headersList.get("Sec-WebSocket-Accept"),u=by.hash("sha1",i+WY,"base64");if(Q!==u){YA(r,1002,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let l=g.headersList.get("Sec-WebSocket-Extensions"),E;if(l!==null&&(E=ZY(l),!E.has("permessage-deflate"))){YA(r,1002,"Sec-WebSocket-Extensions header does not match.");return}let B=g.headersList.get("Sec-WebSocket-Protocol");if(B!==null&&!rG("sec-websocket-protocol",o.headersList).includes(B)){YA(r,1002,"Protocol was not set in the opening handshake.");return}g.socket.on("data",r.onSocketData),g.socket.on("close",r.onSocketClose),g.socket.on("error",r.onSocketError),r.wasEverConnected=!0,r.onConnectionEstablished(g,E)}})}function Ty(A,e,t,r=!1){if(e??=null,t??="",r&&zY(e,t),!(jY(A.readyState)||XY(A.readyState)))if(!My(A.readyState))YA(A),A.readyState=kE.CLOSING;else if(!A.closeState.has(LE.SENT)&&!A.closeState.has(LE.RECEIVED)){let s=new sG;t.length!==0&&e===null&&(e=1e3),nG(e===null||Number.isInteger(e)),e===null&&t.length===0?s.frameData=Fy:e!==null&&t===null?(s.frameData=Buffer.allocUnsafe(2),s.frameData.writeUInt16BE(e,0)):e!==null&&t!==null?(s.frameData=Buffer.allocUnsafe(2+Buffer.byteLength(t)),s.frameData.writeUInt16BE(e,0),s.frameData.write(t,2,"utf-8")):s.frameData=Fy,A.socket.write(s.createFrame(_Y.CLOSE)),A.closeState.add(LE.SENT),A.readyState=kE.CLOSING}else A.readyState=kE.CLOSING}function YA(A,e,t,r){My(A.readyState)&&Ty(A,e,t,!1),A.controller.abort(),KY(A.readyState)?A.onSocketClose():A.socket?.destroyed===!1&&A.socket.destroy()}ky.exports={establishWebSocketConnection:iG,failWebsocketConnection:YA,closeWebSocketConnection:Ty}});var Hy=p((mJ,xy)=>{"use strict";var{createInflateRaw:aG,Z_DEFAULT_WINDOWBITS:cG}=require("node:zlib"),{isValidClientWindowBits:gG}=ur(),{MessageSizeExceededError:Ly}=Y(),lG=Buffer.from([0,0,255,255]),Ti=Symbol("kBuffer"),Sn=Symbol("kLength"),EG=4*1024*1024,xE=class{#e;#A={};#t=!1;#r=null;constructor(e){this.#A.serverNoContextTakeover=e.has("server_no_context_takeover"),this.#A.serverMaxWindowBits=e.get("server_max_window_bits")}decompress(e,t,r){if(this.#t){r(new Ly);return}if(!this.#e){let s=cG;if(this.#A.serverMaxWindowBits){if(!gG(this.#A.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}s=Number.parseInt(this.#A.serverMaxWindowBits)}try{this.#e=aG({windowBits:s})}catch(n){r(n);return}this.#e[Ti]=[],this.#e[Sn]=0,this.#e.on("data",n=>{if(!this.#t){if(this.#e[Sn]+=n.length,this.#e[Sn]>EG){if(this.#t=!0,this.#e.removeAllListeners(),this.#e.destroy(),this.#e=null,this.#r){let o=this.#r;this.#r=null,o(new Ly)}return}this.#e[Ti].push(n)}}),this.#e.on("error",n=>{this.#e=null,r(n)})}this.#r=r,this.#e.write(e),t&&this.#e.write(lG),this.#e.flush(()=>{if(this.#t||!this.#e)return;let s=Buffer.concat(this.#e[Ti],this.#e[Sn]);this.#e[Ti].length=0,this.#e[Sn]=0,this.#r=null,r(null,s)})}};xy.exports={PerMessageDeflate:xE}});var GE=p((wJ,Vy)=>{"use strict";var{Writable:uG}=require("node:stream"),QG=require("node:assert"),{parserStates:He,opcodes:gs,states:hG,emptyBuffer:Yy,sentCloseFrameState:Nn}=Ft(),{isValidStatusCode:IG,isValidOpcode:BG,websocketMessageReceived:Gy,utf8Decode:CG,isControlFrame:Oy,isTextBinaryFrame:HE,isContinuationFrame:dG}=ur(),{failWebsocketConnection:Ke}=Mi(),{WebsocketFrameSend:vy}=cs(),{PerMessageDeflate:fG}=Hy(),{MessageSizeExceededError:pG}=Y(),YE=class extends uG{#e=[];#A=0;#t=0;#r=!1;#n=He.INFO;#s={};#a=[];#o;#i;constructor(e,t){super(),this.#i=e,this.#o=t??new Map,this.#o.has("permessage-deflate")&&this.#o.set("permessage-deflate",new fG(t))}_write(e,t,r){this.#e.push(e),this.#t+=e.length,this.#r=!0,this.run(r)}run(e){for(;this.#r;)if(this.#n===He.INFO){if(this.#t<2)return e();let t=this.consume(2),r=(t[0]&128)!==0,s=t[0]&15,n=(t[1]&128)===128,o=!r&&s!==gs.CONTINUATION,i=t[1]&127,a=t[0]&64,c=t[0]&32,g=t[0]&16;if(!BG(s))return Ke(this.#i,1002,"Invalid opcode received"),e();if(n)return Ke(this.#i,1002,"Frame cannot be masked"),e();if(a!==0&&!this.#o.has("permessage-deflate")){Ke(this.#i,1002,"Expected RSV1 to be clear.");return}if(c!==0||g!==0){Ke(this.#i,1002,"RSV1, RSV2, RSV3 must be clear");return}if(o&&!HE(s)){Ke(this.#i,1002,"Invalid frame type was fragmented.");return}if(HE(s)&&this.#a.length>0){Ke(this.#i,1002,"Expected continuation frame");return}if(this.#s.fragmented&&o){Ke(this.#i,1002,"Fragmented frame exceeded 125 bytes.");return}if((i>125||o)&&Oy(s)){Ke(this.#i,1002,"Control frame either too large or fragmented");return}if(dG(s)&&this.#a.length===0&&!this.#s.compressed){Ke(this.#i,1002,"Unexpected continuation frame");return}i<=125?(this.#s.payloadLength=i,this.#n=He.READ_DATA):i===126?this.#n=He.PAYLOADLENGTH_16:i===127&&(this.#n=He.PAYLOADLENGTH_64),HE(s)&&(this.#s.binaryType=s,this.#s.compressed=a!==0),this.#s.opcode=s,this.#s.masked=n,this.#s.fin=r,this.#s.fragmented=o}else if(this.#n===He.PAYLOADLENGTH_16){if(this.#t<2)return e();let t=this.consume(2);this.#s.payloadLength=t.readUInt16BE(0),this.#n=He.READ_DATA}else if(this.#n===He.PAYLOADLENGTH_64){if(this.#t<8)return e();let t=this.consume(8),r=t.readUInt32BE(0),s=t.readUInt32BE(4);if(r!==0||s>2**31-1){Ke(this.#i,1009,"Received payload length > 2^31 bytes.");return}this.#s.payloadLength=s,this.#n=He.READ_DATA}else if(this.#n===He.READ_DATA){if(this.#t<this.#s.payloadLength)return e();let t=this.consume(this.#s.payloadLength);if(Oy(this.#s.opcode))this.#r=this.parseControlFrame(t),this.#n=He.INFO;else if(!this.#s.compressed)this.writeFragments(t),!this.#s.fragmented&&this.#s.fin&&Gy(this.#i,this.#s.binaryType,this.consumeFragments()),this.#n=He.INFO;else{this.#o.get("permessage-deflate").decompress(t,this.#s.fin,(r,s)=>{if(r){let n=r instanceof pG?1009:1007;Ke(this.#i,n,r.message);return}if(this.writeFragments(s),!this.#s.fin){this.#n=He.INFO,this.#r=!0,this.run(e);return}Gy(this.#i,this.#s.binaryType,this.consumeFragments()),this.#r=!0,this.#n=He.INFO,this.run(e)}),this.#r=!1;break}}}consume(e){if(e>this.#t)throw new Error("Called consume() before buffers satiated.");if(e===0)return Yy;this.#t-=e;let t=this.#e[0];if(t.length>e)return this.#e[0]=t.subarray(e,t.length),t.subarray(0,e);if(t.length===e)return this.#e.shift();{let r=0,s=Buffer.allocUnsafeSlow(e);for(;r!==e;){let n=this.#e[0],o=n.length;if(o+r===e){s.set(this.#e.shift(),r);break}else if(o+r>e){s.set(n.subarray(0,e-r),r),this.#e[0]=n.subarray(e-r);break}else s.set(this.#e.shift(),r),r+=o}return s}}writeFragments(e){this.#A+=e.length,this.#a.push(e)}consumeFragments(){let e=this.#a;if(e.length===1)return this.#A=0,e.shift();let t=0,r=Buffer.allocUnsafeSlow(this.#A);for(let s=0;s<e.length;++s){let n=e[s];r.set(n,t),t+=n.length}return this.#a=[],this.#A=0,r}parseCloseBody(e){QG(e.length!==1);let t;if(e.length>=2&&(t=e.readUInt16BE(0)),t!==void 0&&!IG(t))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=CG(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:t,reason:r,error:!1}}parseControlFrame(e){let{opcode:t,payloadLength:r}=this.#s;if(t===gs.CLOSE){if(r===1)return Ke(this.#i,1002,"Received close frame with a 1-byte body."),!1;if(this.#s.closeInfo=this.parseCloseBody(e),this.#s.closeInfo.error){let{code:s,reason:n}=this.#s.closeInfo;return Ke(this.#i,s,n),!1}if(!this.#i.closeState.has(Nn.SENT)&&!this.#i.closeState.has(Nn.RECEIVED)){let s=Yy;this.#s.closeInfo.code&&(s=Buffer.allocUnsafe(2),s.writeUInt16BE(this.#s.closeInfo.code,0));let n=new vy(s);this.#i.socket.write(n.createFrame(gs.CLOSE)),this.#i.closeState.add(Nn.SENT)}return this.#i.readyState=hG.CLOSING,this.#i.closeState.add(Nn.RECEIVED),!1}else if(t===gs.PING){if(!this.#i.closeState.has(Nn.RECEIVED)){let s=new vy(e);this.#i.socket.write(s.createFrame(gs.PONG)),this.#i.onPing(e)}}else t===gs.PONG&&this.#i.onPong(e);return!0}get closingInfo(){return this.#s.closeInfo}};Vy.exports={ByteParser:YE}});var Wy=p((RJ,qy)=>{"use strict";var{WebsocketFrameSend:Py}=cs(),{opcodes:Jy,sendHints:Qr}=Ft(),yG=Bg(),vE=class{#e=new yG;#A=!1;#t;constructor(e){this.#t=e}add(e,t,r){if(r!==Qr.blob){if(this.#A){let n={promise:null,callback:t,frame:OE(e,r)};this.#e.push(n)}else if(r===Qr.text){let{0:n,1:o}=Py.createFastTextFrame(e);this.#t.cork(),this.#t.write(n),this.#t.write(o,t),this.#t.uncork()}else this.#t.write(OE(e,r),t);return}let s={promise:e.arrayBuffer().then(n=>{s.promise=null,s.frame=OE(n,r)}),callback:t,frame:null};this.#e.push(s),this.#A||this.#r()}async#r(){this.#A=!0;let e=this.#e;for(;!e.isEmpty();){let t=e.shift();t.promise!==null&&await t.promise,this.#t.write(t.frame,t.callback),t.callback=t.frame=null}this.#A=!1}};function OE(A,e){return new Py(DG(A,e)).createFrame(e===Qr.text?Jy.TEXT:Jy.BINARY)}function DG(A,e){switch(e){case Qr.text:case Qr.typedArray:return new Uint8Array(A.buffer,A.byteOffset,A.byteLength);case Qr.arrayBuffer:case Qr.blob:return new Uint8Array(A)}}qy.exports={SendQueue:vE}});var zy=p((SJ,Ky)=>{"use strict";var{isArrayBuffer:mG}=require("node:util/types"),{webidl:U}=pe(),{URLSerializer:wG}=tA(),{environmentSettingsObject:_y}=Ve(),{staticPropertyDescriptors:bt,states:$A,sentCloseFrameState:VE,sendHints:ki,opcodes:JE}=Ft(),{isConnecting:RG,isEstablished:Zy,isClosing:jy,isClosed:SG,isValidSubprotocol:NG,fireEvent:Li,utf8Decode:FG,toArrayBuffer:bG,getURLRecord:UG}=ur(),{establishWebSocketConnection:MG,closeWebSocketConnection:TG,failWebsocketConnection:Xy}=Mi(),{ByteParser:kG}=GE(),{kEnumerableProperty:lA}=G(),{getGlobalDispatcher:LG}=$o(),{ErrorEvent:xG,CloseEvent:HG,createFastMessageEvent:YG}=Fi(),{SendQueue:GG}=Wy(),{WebsocketFrameSend:OG}=cs(),{channels:GA}=at();function vG(A){return typeof A?.address=="function"?A.address():typeof A?.session?.socket?.address=="function"?A.session.socket.address():null}var Ne=class A extends EventTarget{#e={open:null,error:null,close:null,message:null};#A=0;#t="";#r="";#n;#s={onConnectionEstablished:(e,t)=>this.#c(e,t),onMessage:(e,t)=>this.#E(e,t),onParserError:e=>Xy(this.#s,null,e.message),onParserDrain:()=>this.#g(),onSocketData:e=>{this.#i.write(e)||this.#s.socket.pause()},onSocketError:e=>{this.#s.readyState=$A.CLOSING,GA.socketError.hasSubscribers&&GA.socketError.publish(e),this.#s.socket.destroy()},onSocketClose:()=>this.#l(),onPing:e=>{GA.ping.hasSubscribers&&GA.ping.publish({payload:e,websocket:this})},onPong:e=>{GA.pong.hasSubscribers&&GA.pong.publish({payload:e,websocket:this})},readyState:$A.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#a;#o;#i;constructor(e,t=[]){super(),U.util.markAsUncloneable(this);let r="WebSocket constructor";U.argumentLengthCheck(arguments,1,r);let s=U.converters["DOMString or sequence<DOMString> or WebSocketInit"](t,r,"options");e=U.converters.USVString(e),t=s.protocols;let n=_y.settingsObject.baseUrl,o=UG(e,n);if(typeof t=="string"&&(t=[t]),t.length!==new Set(t.map(a=>a.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(t.length>0&&!t.every(a=>NG(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this.#a=new URL(o.href);let i=_y.settingsObject;this.#s.controller=MG(o,t,i,this.#s,s),this.#s.readyState=A.CONNECTING,this.#o="blob"}close(e=void 0,t=void 0){U.brandCheck(this,A),e!==void 0&&(e=U.converters["unsigned short"](e,"WebSocket.close","code",U.attributes.Clamp)),t!==void 0&&(t=U.converters.USVString(t)),e??=null,t??="",TG(this.#s,e,t,!0)}send(e){U.brandCheck(this,A);let t="WebSocket.send";if(U.argumentLengthCheck(arguments,1,t),e=U.converters.WebSocketSendData(e,t,"data"),RG(this.#s.readyState))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!Zy(this.#s.readyState)||jy(this.#s.readyState)))if(typeof e=="string"){let r=Buffer.from(e);this.#A+=r.byteLength,this.#n.add(r,()=>{this.#A-=r.byteLength},ki.text)}else mG(e)?(this.#A+=e.byteLength,this.#n.add(e,()=>{this.#A-=e.byteLength},ki.arrayBuffer)):ArrayBuffer.isView(e)?(this.#A+=e.byteLength,this.#n.add(e,()=>{this.#A-=e.byteLength},ki.typedArray)):U.is.Blob(e)&&(this.#A+=e.size,this.#n.add(e,()=>{this.#A-=e.size},ki.blob))}get readyState(){return U.brandCheck(this,A),this.#s.readyState}get bufferedAmount(){return U.brandCheck(this,A),this.#A}get url(){return U.brandCheck(this,A),wG(this.#a)}get extensions(){return U.brandCheck(this,A),this.#r}get protocol(){return U.brandCheck(this,A),this.#t}get onopen(){return U.brandCheck(this,A),this.#e.open}set onopen(e){U.brandCheck(this,A),this.#e.open&&this.removeEventListener("open",this.#e.open);let t=U.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("open",t),this.#e.open=e):this.#e.open=null}get onerror(){return U.brandCheck(this,A),this.#e.error}set onerror(e){U.brandCheck(this,A),this.#e.error&&this.removeEventListener("error",this.#e.error);let t=U.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("error",t),this.#e.error=e):this.#e.error=null}get onclose(){return U.brandCheck(this,A),this.#e.close}set onclose(e){U.brandCheck(this,A),this.#e.close&&this.removeEventListener("close",this.#e.close);let t=U.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("close",t),this.#e.close=e):this.#e.close=null}get onmessage(){return U.brandCheck(this,A),this.#e.message}set onmessage(e){U.brandCheck(this,A),this.#e.message&&this.removeEventListener("message",this.#e.message);let t=U.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("message",t),this.#e.message=e):this.#e.message=null}get binaryType(){return U.brandCheck(this,A),this.#o}set binaryType(e){U.brandCheck(this,A),e!=="blob"&&e!=="arraybuffer"?this.#o="blob":this.#o=e}#c(e,t){this.#s.socket=e.socket;let r=new kG(this.#s,t);r.on("drain",()=>this.#s.onParserDrain()),r.on("error",o=>this.#s.onParserError(o)),this.#i=r,this.#n=new GG(e.socket),this.#s.readyState=$A.OPEN;let s=e.headersList.get("sec-websocket-extensions");s!==null&&(this.#r=s);let n=e.headersList.get("sec-websocket-protocol");if(n!==null&&(this.#t=n),Li("open",this),GA.open.hasSubscribers){let o=e.headersList.entries;GA.open.publish({address:vG(e.socket),protocol:this.#t,extensions:this.#r,websocket:this,handshakeResponse:{status:e.status,statusText:e.statusText,headers:o}})}}#E(e,t){if(this.#s.readyState!==$A.OPEN)return;let r;if(e===JE.TEXT)try{r=FG(t)}catch{Xy(this.#s,1007,"Received invalid UTF-8 in text frame.");return}else e===JE.BINARY&&(this.#o==="blob"?r=new Blob([t]):r=bG(t));Li("message",this,YG,{origin:this.#a.origin,data:r})}#g(){this.#s.socket.resume()}#l(){let e=this.#s.closeState.has(VE.SENT)&&this.#s.closeState.has(VE.RECEIVED),t=1005,r="",s=this.#i?.closingInfo;s&&!s.error&&(t=s.code??1005,r=s.reason),this.#s.readyState=$A.CLOSED,this.#s.closeState.has(VE.RECEIVED)||(t=1006,Li("error",this,(n,o)=>new xG(n,o),{error:new TypeError(r)})),Li("close",this,(n,o)=>new HG(n,o),{wasClean:e,code:t,reason:r}),GA.close.hasSubscribers&&GA.close.publish({websocket:this,code:t,reason:r})}static ping(e,t){if(Buffer.isBuffer(t)){if(t.length>125)throw new TypeError("A PING frame cannot have a body larger than 125 bytes.")}else if(t!==void 0)throw new TypeError("Expected buffer payload");let r=e.#s.readyState;if(Zy(r)&&!jy(r)&&!SG(r)){let s=new OG(t);e.#s.socket.write(s.createFrame(JE.PING))}}},{ping:VG}=Ne;Reflect.deleteProperty(Ne,"ping");Ne.CONNECTING=Ne.prototype.CONNECTING=$A.CONNECTING;Ne.OPEN=Ne.prototype.OPEN=$A.OPEN;Ne.CLOSING=Ne.prototype.CLOSING=$A.CLOSING;Ne.CLOSED=Ne.prototype.CLOSED=$A.CLOSED;Object.defineProperties(Ne.prototype,{CONNECTING:bt,OPEN:bt,CLOSING:bt,CLOSED:bt,url:lA,readyState:lA,bufferedAmount:lA,onopen:lA,onerror:lA,onclose:lA,close:lA,onmessage:lA,binaryType:lA,send:lA,extensions:lA,protocol:lA,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(Ne,{CONNECTING:bt,OPEN:bt,CLOSING:bt,CLOSED:bt});U.converters["sequence<DOMString>"]=U.sequenceConverter(U.converters.DOMString);U.converters["DOMString or sequence<DOMString>"]=function(A,e,t){return U.util.Type(A)===U.util.Types.OBJECT&&Symbol.iterator in A?U.converters["sequence<DOMString>"](A):U.converters.DOMString(A,e,t)};U.converters.WebSocketInit=U.dictionaryConverter([{key:"protocols",converter:U.converters["DOMString or sequence<DOMString>"],defaultValue:()=>[]},{key:"dispatcher",converter:U.converters.any,defaultValue:()=>LG()},{key:"headers",converter:U.nullableConverter(U.converters.HeadersInit)}]);U.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(A){return U.util.Type(A)===U.util.Types.OBJECT&&!(Symbol.iterator in A)?U.converters.WebSocketInit(A):{protocols:U.converters["DOMString or sequence<DOMString>"](A)}};U.converters.WebSocketSendData=function(A){return U.util.Type(A)===U.util.Types.OBJECT&&(U.is.Blob(A)||U.is.BufferSource(A))?A:U.converters.USVString(A)};Ky.exports={WebSocket:Ne,ping:VG}});var PE=p((NJ,AD)=>{"use strict";var{webidl:xi}=pe(),{validateCloseCodeAndReason:JG}=ur(),{kConstruct:$y}=j(),{kEnumerableProperty:eD}=G();function PG(){class A extends DOMException{get reason(){return""}}return new A().reason!==void 0?DOMException:new Proxy(DOMException,{construct(e,t,r){let s=Reflect.construct(e,t,e);return Object.setPrototypeOf(s,r.prototype),s}})}var hr=class A extends PG(){#e;#A;constructor(e="",t=void 0){if(e=xi.converters.DOMString(e,"WebSocketError","message"),super(e,"WebSocketError"),t===$y)return;t!==null&&(t=xi.converters.WebSocketCloseInfo(t));let r=t.closeCode??null,s=t.reason??"";JG(r,s),s.length!==0&&r===null&&(r=1e3),this.#e=r,this.#A=s}get closeCode(){return this.#e}get reason(){return this.#A}static createUnvalidatedWebSocketError(e,t,r){let s=new A(e,$y);return s.#e=t,s.#A=r,s}},{createUnvalidatedWebSocketError:qG}=hr;delete hr.createUnvalidatedWebSocketError;Object.defineProperties(hr.prototype,{closeCode:eD,reason:eD,[Symbol.toStringTag]:{value:"WebSocketError",writable:!1,enumerable:!1,configurable:!0}});xi.is.WebSocketError=xi.util.MakeTypeAssertion(hr);AD.exports={WebSocketError:hr,createUnvalidatedWebSocketError:qG}});var oD=p((FJ,nD)=>{"use strict";var{createDeferredPromise:qE}=ks(),{environmentSettingsObject:tD}=Ve(),{states:ls,opcodes:Hi,sentCloseFrameState:Es}=Ft(),{webidl:oe}=pe(),{getURLRecord:WG,isValidSubprotocol:_G,isEstablished:ZG,utf8Decode:jG}=ur(),{establishWebSocketConnection:XG,failWebsocketConnection:WE,closeWebSocketConnection:_E}=Mi(),{channels:rD}=at(),{WebsocketFrameSend:KG}=cs(),{ByteParser:zG}=GE(),{WebSocketError:$G,createUnvalidatedWebSocketError:e2}=PE(),{kEnumerableProperty:Yi}=G(),{utf8DecodeBytes:A2}=no(),sD=!1,Gi=class{#e;#A;#t;#r;#n;#s;#a=!1;#o={onConnectionEstablished:(e,t)=>this.#E(e,t),onMessage:(e,t)=>this.#g(e,t),onParserError:e=>WE(this.#o,null,e.message),onParserDrain:()=>this.#o.socket.resume(),onSocketData:e=>{this.#i.write(e)||this.#o.socket.pause()},onSocketError:e=>{this.#o.readyState=ls.CLOSING,rD.socketError.hasSubscribers&&rD.socketError.publish(e),this.#o.socket.destroy()},onSocketClose:()=>this.#l(),onPing:()=>{},onPong:()=>{},readyState:ls.CONNECTING,socket:null,closeState:new Set,controller:null,wasEverConnected:!1};#i;constructor(e,t=void 0){sD||(process.emitWarning("WebSocketStream is experimental! Expect it to change at any time.",{code:"UNDICI-WSS"}),sD=!0),oe.argumentLengthCheck(arguments,1,"WebSocket"),e=oe.converters.USVString(e),t!==null&&(t=oe.converters.WebSocketStreamOptions(t));let r=tD.settingsObject.baseUrl,s=WG(e,r),n=t.protocols;if(n.length!==new Set(n.map(i=>i.toLowerCase())).size)throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(n.length>0&&!n.every(i=>_G(i)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");if(this.#e=s.toString(),this.#A=qE(),this.#t=qE(),t.signal!=null){let i=t.signal;if(i.aborted){this.#A.reject(i.reason),this.#t.reject(i.reason);return}i.addEventListener("abort",()=>{ZG(this.#o.readyState)||(WE(this.#o),this.#o.readyState=ls.CLOSING,this.#A.reject(i.reason),this.#t.reject(i.reason),this.#a=!0)},{once:!0})}let o=tD.settingsObject;this.#o.controller=XG(s,n,o,this.#o,t)}get url(){return this.#e.toString()}get opened(){return this.#A.promise}get closed(){return this.#t.promise}close(e=void 0){e!==null&&(e=oe.converters.WebSocketCloseInfo(e));let t=e.closeCode??null,r=e.reason;_E(this.#o,t,r,!0)}#c(e){e=oe.converters.WebSocketStreamWrite(e);let t=qE(),r=null,s=null;if(oe.is.BufferSource(e))r=new Uint8Array(ArrayBuffer.isView(e)?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e.slice()),s=Hi.BINARY;else{let n;try{n=oe.converters.DOMString(e)}catch(o){return t.reject(o),t.promise}r=new TextEncoder().encode(n),s=Hi.TEXT}if(!this.#o.closeState.has(Es.SENT)&&!this.#o.closeState.has(Es.RECEIVED)){let n=new KG(r);this.#o.socket.write(n.createFrame(s),()=>{t.resolve(void 0)})}return t.promise}#E(e,t){this.#o.socket=e.socket;let r=new zG(this.#o,t);r.on("drain",()=>this.#o.onParserDrain()),r.on("error",a=>this.#o.onParserError(a)),this.#i=r,this.#o.readyState=ls.OPEN;let s=t??"",n=e.headersList.get("sec-websocket-protocol")??"",o=new ReadableStream({start:a=>{this.#n=a},pull(a){let c;for(;a.desiredSize>0&&(c=e.socket.read())!==null;)a.enqueue(c)},cancel:a=>this.#Q(a)}),i=new WritableStream({write:a=>this.#c(a),close:()=>_E(this.#o,null,null),abort:a=>this.#u(a)});this.#r=o,this.#s=i,this.#A.resolve({extensions:s,protocol:n,readable:o,writable:i})}#g(e,t){if(this.#o.readyState!==ls.OPEN)return;let r;if(e===Hi.TEXT)try{r=jG(t)}catch{WE(this.#o,"Received invalid UTF-8 in text frame.");return}else e===Hi.BINARY&&(r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength));this.#n.enqueue(r)}#l(){let e=this.#o.closeState.has(Es.SENT)&&this.#o.closeState.has(Es.RECEIVED);if(this.#o.readyState=ls.CLOSED,this.#a)return;this.#o.wasEverConnected||this.#A.reject(new $G("Socket never opened"));let t=this.#i?.closingInfo,r=t?.code??1005;!this.#o.closeState.has(Es.SENT)&&!this.#o.closeState.has(Es.RECEIVED)&&(r=1006);let s=t?.reason==null?"":A2(Buffer.from(t.reason));if(e)this.#n.close(),this.#s.locked||this.#s.abort(new DOMException("A closed WebSocketStream cannot be written to","InvalidStateError")),this.#t.resolve({closeCode:r,reason:s});else{let n=e2("unclean close",r,s);this.#n?.error(n),this.#s?.abort(n),this.#t.reject(n)}}#u(e){let t=null,r="";oe.is.WebSocketError(e)&&(t=e.closeCode,r=e.reason),_E(this.#o,t,r)}#Q(e){this.#u(e)}};Object.defineProperties(Gi.prototype,{url:Yi,opened:Yi,closed:Yi,close:Yi,[Symbol.toStringTag]:{value:"WebSocketStream",writable:!1,enumerable:!1,configurable:!0}});oe.converters.WebSocketStreamOptions=oe.dictionaryConverter([{key:"protocols",converter:oe.sequenceConverter(oe.converters.USVString),defaultValue:()=>[]},{key:"signal",converter:oe.nullableConverter(oe.converters.AbortSignal),defaultValue:()=>null}]);oe.converters.WebSocketCloseInfo=oe.dictionaryConverter([{key:"closeCode",converter:A=>oe.converters["unsigned short"](A,oe.attributes.EnforceRange)},{key:"reason",converter:oe.converters.USVString,defaultValue:()=>""}]);oe.converters.WebSocketStreamWrite=function(A){return typeof A=="string"?oe.converters.USVString(A):oe.converters.BufferSource(A)};nD.exports={WebSocketStream:Gi}});var aD=p((bJ,iD)=>{"use strict";function t2(A){return A.indexOf("\0")===-1}function r2(A){if(A.length===0)return!1;for(let e=0;e<A.length;e++)if(A.charCodeAt(e)<48||A.charCodeAt(e)>57)return!1;return!0}iD.exports={isValidLastEventId:t2,isASCIINumber:r2}});var ED=p((UJ,lD)=>{"use strict";var{Transform:s2}=require("node:stream"),{isASCIINumber:cD,isValidLastEventId:gD}=aD(),et=[239,187,191],ZE=10,Oi=13,n2=58,o2=32,jE=class extends s2{state;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;buffer=null;pos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(e={}){e.readableObjectMode=!0,super(e),this.state=e.eventSourceSettings||{},e.push&&(this.push=e.push)}_transform(e,t,r){if(e.length===0){r();return}if(this.buffer?this.buffer=Buffer.concat([this.buffer,e]):this.buffer=e,this.checkBOM)switch(this.buffer.length){case 1:if(this.buffer[0]===et[0]){r();return}this.checkBOM=!1,r();return;case 2:if(this.buffer[0]===et[0]&&this.buffer[1]===et[1]){r();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===et[0]&&this.buffer[1]===et[1]&&this.buffer[2]===et[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,r();return}this.checkBOM=!1;break;default:this.buffer[0]===et[0]&&this.buffer[1]===et[1]&&this.buffer[2]===et[2]&&(this.buffer=this.buffer.subarray(3)),this.checkBOM=!1;break}for(;this.pos<this.buffer.length;){if(this.eventEndCheck){if(this.crlfCheck){if(this.buffer[this.pos]===ZE){this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.crlfCheck=!1;continue}this.crlfCheck=!1}if(this.buffer[this.pos]===ZE||this.buffer[this.pos]===Oi){this.buffer[this.pos]===Oi&&(this.crlfCheck=!0),this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,(this.event.data!==void 0||this.event.event||this.event.id!==void 0||this.event.retry)&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(this.buffer[this.pos]===ZE||this.buffer[this.pos]===Oi){this.buffer[this.pos]===Oi&&(this.crlfCheck=!0),this.parseLine(this.buffer.subarray(0,this.pos),this.event),this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.eventEndCheck=!0;continue}this.pos++}r()}parseLine(e,t){if(e.length===0)return;let r=e.indexOf(n2);if(r===0)return;let s="",n="";if(r!==-1){s=e.subarray(0,r).toString("utf8");let o=r+1;e[o]===o2&&++o,n=e.subarray(o).toString("utf8")}else s=e.toString("utf8"),n="";switch(s){case"data":t[s]===void 0?t[s]=n:t[s]+=`
|
|
128
|
+
${n}`;break;case"retry":cD(n)&&(t[s]=n);break;case"id":gD(n)&&(t[s]=n);break;case"event":n.length>0&&(t[s]=n);break}}processEvent(e){e.retry&&cD(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id!==void 0&&gD(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,event:void 0,id:void 0,retry:void 0}}};lD.exports={EventSourceStream:jE}});var fD=p((MJ,dD)=>{"use strict";var{pipeline:i2}=require("node:stream"),{fetching:a2}=yn(),{makeRequest:c2}=rs(),{webidl:Fe}=pe(),{EventSourceStream:g2}=ED(),{parseMIMEType:l2}=tA(),{createFastMessageEvent:E2}=Fi(),{isNetworkError:uD}=dn(),{kEnumerableProperty:Ir}=G(),{environmentSettingsObject:QD}=Ve(),hD=!1,ID=3e3,Fn=0,BD=1,bn=2,u2="anonymous",Q2="use-credentials",us=class A extends EventTarget{#e={open:null,error:null,message:null};#A;#t=!1;#r=Fn;#n=null;#s=null;#a;#o;constructor(e,t={}){super(),Fe.util.markAsUncloneable(this);let r="EventSource constructor";Fe.argumentLengthCheck(arguments,1,r),hD||(hD=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=Fe.converters.USVString(e),t=Fe.converters.EventSourceInitDict(t,r,"eventSourceInitDict"),this.#a=t.node.dispatcher||t.dispatcher,this.#o={lastEventId:"",reconnectionTime:t.node.reconnectionTime};let s=QD,n;try{n=new URL(e,s.settingsObject.baseUrl),this.#o.origin=n.origin}catch(a){throw new DOMException(a,"SyntaxError")}this.#A=n.href;let o=u2;t.withCredentials===!0&&(o=Q2,this.#t=!0);let i={redirect:"follow",keepalive:!0,mode:"cors",credentials:o==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};i.client=QD.settingsObject,i.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],i.cache="no-store",i.initiator="other",i.urlList=[new URL(this.#A)],this.#n=c2(i),this.#i()}get readyState(){return this.#r}get url(){return this.#A}get withCredentials(){return this.#t}#i(){if(this.#r===bn)return;this.#r=Fn;let e={request:this.#n,dispatcher:this.#a},t=r=>{if(!uD(r))return this.#c()};e.processResponseEndOfBody=t,e.processResponse=r=>{if(uD(r))if(r.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#c();return}let s=r.headersList.get("content-type",!0),n=s!==null?l2(s):"failure",o=n!=="failure"&&n.essence==="text/event-stream";if(r.status!==200||o===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=BD,this.dispatchEvent(new Event("open")),this.#o.origin=r.urlList[r.urlList.length-1].origin;let i=new g2({eventSourceSettings:this.#o,push:a=>{this.dispatchEvent(E2(a.type,a.options))}});i2(r.body.stream,i,a=>{a?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#s=a2(e)}#c(){this.#r!==bn&&(this.#r=Fn,this.dispatchEvent(new Event("error")),setTimeout(()=>{this.#r===Fn&&(this.#o.lastEventId.length&&this.#n.headersList.set("last-event-id",this.#o.lastEventId,!0),this.#i())},this.#o.reconnectionTime)?.unref())}close(){Fe.brandCheck(this,A),this.#r!==bn&&(this.#r=bn,this.#s.abort(),this.#n=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open);let t=Fe.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("open",t),this.#e.open=e):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message);let t=Fe.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("message",t),this.#e.message=e):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error);let t=Fe.converters.EventHandlerNonNull(e);t!==null?(this.addEventListener("error",t),this.#e.error=e):this.#e.error=null}},CD={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:Fn,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:BD,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:bn,writable:!1}};Object.defineProperties(us,CD);Object.defineProperties(us.prototype,CD);Object.defineProperties(us.prototype,{close:Ir,onerror:Ir,onmessage:Ir,onopen:Ir,readyState:Ir,url:Ir,withCredentials:Ir});Fe.converters.EventSourceInitDict=Fe.dictionaryConverter([{key:"withCredentials",converter:Fe.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:Fe.converters.any},{key:"node",converter:Fe.dictionaryConverter([{key:"reconnectionTime",converter:Fe.converters["unsigned long"],defaultValue:()=>ID},{key:"dispatcher",converter:Fe.converters.any}]),defaultValue:()=>({})}]);dD.exports={EventSource:us,defaultReconnectionTime:ID}});var RD=p((TJ,m)=>{"use strict";var h2=Ct(),yD=Ss(),I2=Zt(),B2=pB(),C2=wB(),d2=Kt(),f2=Vg(),p2=Yg(),y2=aC(),D2=QC(),m2=BC(),DD=Y(),Vi=G(),{InvalidArgumentError:vi}=DD,Qs=zC(),w2=vt(),R2=Sl(),{MockCallHistory:S2,MockCallHistoryLog:N2}=bl(),F2=Gl(),b2=kl(),U2=Kd(),M2=gl(),T2=Yo(),{getGlobalDispatcher:mD,setGlobalDispatcher:k2}=$o(),L2=zr(),x2=_l();Object.assign(yD.prototype,Qs);m.exports.Dispatcher=yD;m.exports.Client=h2;m.exports.Pool=I2;m.exports.BalancedPool=B2;m.exports.RoundRobinPool=C2;m.exports.Agent=d2;m.exports.ProxyAgent=f2;m.exports.Socks5ProxyAgent=p2;m.exports.EnvHttpProxyAgent=y2;m.exports.RetryAgent=D2;m.exports.H2CClient=m2;m.exports.RetryHandler=T2;m.exports.DecoratorHandler=L2;m.exports.RedirectHandler=x2;m.exports.interceptors={redirect:cf(),responseError:lf(),retry:uf(),dump:hf(),dns:df(),cache:xf(),decompress:vf(),deduplicate:Wf()};m.exports.cacheStores={MemoryCacheStore:tE()};var H2=jf();m.exports.cacheStores.SqliteCacheStore=H2;m.exports.buildConnector=w2;m.exports.errors=DD;m.exports.util={parseHeaders:Vi.parseHeaders,headerNameToString:Vi.headerNameToString};function Un(A){return(e,t,r)=>{if(typeof t=="function"&&(r=t,t=null),!e||typeof e!="string"&&typeof e!="object"&&!(e instanceof URL))throw new vi("invalid url");if(t!=null&&typeof t!="object")throw new vi("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new vi("invalid opts.path");let o=t.path;t.path.startsWith("/")||(o=`/${o}`),e=new URL(Vi.parseOrigin(e).origin+o)}else t||(t=typeof e=="object"?e:{}),e=Vi.parseURL(e);let{agent:s,dispatcher:n=mD()}=t;if(s)throw new vi("unsupported opts.agent. Did you mean opts.client?");return A.call(n,{...t,origin:e.origin,path:e.search?`${e.pathname}${e.search}`:e.pathname,method:t.method||(t.body?"PUT":"GET")},r)}}m.exports.setGlobalDispatcher=k2;m.exports.getGlobalDispatcher=mD;var Y2=yn().fetch,pD=typeof __filename<"u"?__filename:void 0;function wD(A,e){if(!A||typeof A!="object")return;let t=typeof A.stack=="string"?A.stack:"",r=e.replace(/\\/g,"/");if(t&&(t.includes(e)||t.includes(r)))return;let s={};if(Error.captureStackTrace(s,wD),!s.stack)return;let n=s.stack.split(`
|
|
129
129
|
`).slice(1).join(`
|
|
130
130
|
`);A.stack=t?`${t}
|
|
131
|
-
${n}`:s.stack}m.exports.fetch=function(e,t=void 0){return
|
|
131
|
+
${n}`:s.stack}m.exports.fetch=function(e,t=void 0){return Y2(e,t).catch(r=>{throw pD?wD(r,pD):r&&typeof r=="object"&&Error.captureStackTrace(r,m.exports.fetch),r})};m.exports.Headers=ar().Headers;m.exports.Response=dn().Response;m.exports.Request=rs().Request;m.exports.FormData=lo().FormData;var{setGlobalOrigin:G2,getGlobalOrigin:O2}=Rc();m.exports.setGlobalOrigin=G2;m.exports.getGlobalOrigin=O2;var{CacheStorage:v2}=ny(),{kConstruct:V2}=j();m.exports.caches=new v2(V2);var{deleteCookie:J2,getCookies:P2,getSetCookies:q2,setCookie:W2,parseCookie:_2}=Cy();m.exports.deleteCookie=J2;m.exports.getCookies=P2;m.exports.getSetCookies=q2;m.exports.setCookie=W2;m.exports.parseCookie=_2;var{parseMIMEType:Z2,serializeAMimeType:j2}=tA();m.exports.parseMIMEType=Z2;m.exports.serializeAMimeType=j2;var{CloseEvent:X2,ErrorEvent:K2,MessageEvent:z2}=Fi(),{WebSocket:$2,ping:eO}=zy();m.exports.WebSocket=$2;m.exports.CloseEvent=X2;m.exports.ErrorEvent=K2;m.exports.MessageEvent=z2;m.exports.ping=eO;m.exports.WebSocketStream=oD().WebSocketStream;m.exports.WebSocketError=PE().WebSocketError;m.exports.request=Un(Qs.request);m.exports.stream=Un(Qs.stream);m.exports.pipeline=Un(Qs.pipeline);m.exports.connect=Un(Qs.connect);m.exports.upgrade=Un(Qs.upgrade);m.exports.MockClient=R2;m.exports.MockCallHistory=S2;m.exports.MockCallHistoryLog=N2;m.exports.MockPool=b2;m.exports.MockAgent=F2;m.exports.SnapshotAgent=U2;m.exports.mockErrors=M2;var{EventSource:AO}=fD();m.exports.EventSource=AO;function tO(){globalThis.fetch=m.exports.fetch,globalThis.Headers=m.exports.Headers,globalThis.Response=m.exports.Response,globalThis.Request=m.exports.Request,globalThis.FormData=m.exports.FormData,globalThis.WebSocket=m.exports.WebSocket,globalThis.CloseEvent=m.exports.CloseEvent,globalThis.ErrorEvent=m.exports.ErrorEvent,globalThis.MessageEvent=m.exports.MessageEvent,globalThis.EventSource=m.exports.EventSource}m.exports.install=tO});var yu=require("node:util"),Gw=process.env.NO_COLORS||process.env.CI,Ow=["black","red","green","yellow","blue","magenta","cyan","white","gray","bold","dim"],K={};for(let A of Ow)K[A]=e=>Gw?String(e):(0,yu.styleText)(A,String(e));var he={FROM_SCRATCH:"FROM_SCRATCH",INCREMENTAL:"INCREMENTAL",IDLE:"IDLE",ERROR:"ERROR",COMPLETED:"COMPLETED"};var fa=S(require("node:fs/promises")),qn=S(require("node:path"));var Su=S(require("node:path"));var mu=S(require("node:fs"));var xt=S(require("node:path")),wu=S(require("node:process")),Ru=require("node:url"),Du=A=>A instanceof URL?(0,Ru.fileURLToPath)(A):A;function ds(A,e={}){let{cwd:t=wu.default.cwd(),type:r="file",stopAt:s}=e,n=xt.default.resolve(Du(t)??""),{root:o}=xt.default.parse(n),i=s?xt.default.resolve(n,Du(s)):o,a=xt.default.isAbsolute(A);for(;;){let c=a?A:xt.default.join(n,A);try{let g=mu.default.statSync(c,{throwIfNoEntry:!1});if(r==="file"&&g?.isFile()||r==="directory"&&g?.isDirectory())return c}catch{}if(n===i||n===o)break;n=xt.default.dirname(n)}}function fs(A){let{cwd:e}=A||{},t=ds("package.json",{cwd:e});return t&&Su.default.dirname(t)}var{env:v}=process;function EA(A){if(!A)return!1;switch(A.trim().toLowerCase()){case"1":case"true":case"yes":case"y":case"on":return!0;default:return!1}}var Ba=v.GRIDDO_API_URL||v.API_URL,Nu=v.GRIDDO_PUBLIC_API_URL||v.PUBLIC_API_URL,Fu=v.botEmail||v.GRIDDO_BOT_USER,bu=v.botPassword||v.GRIDDO_BOT_PASSWORD;function nt(A,e){let t=Number.parseInt(A);return Number.isNaN(t)?e:t}var XO=EA(v.GRIDDO_AI_EMBEDDINGS),Pn=EA(v.GRIDDO_INDEXNOW_ENABLED),ps=nt(v.GRIDDO_API_CONCURRENCY_COUNT||v.GRIDDO_RENDER_CONCURRENCY_COUNT||"10",10),Ca=v.GRIDDO_ASSET_PREFIX||v.ASSET_PREFIX||v.GRIDDO_RENDER_ASSET_PREFIX,mr=EA(v.GRIDDO_BUILD_LOGS||v.GRIDDO_RENDER_BUILD_LOGS),Uu=nt(v.GRIDDO_RENDER_BUILD_LOGS_BUFFER_SIZE||"500",500),Mu=v.GRIDDO_REACT_APP_INSTANCE||v.REACT_APP_INSTANCE||v.GRIDDO_APP_INSTANCE||v.GRIDDO_EDITOR_APP_INSTANCIE,Tu=EA(v.GRIDDO_RENDER_DISABLE_LLMS_TXT),KO=EA(v.GRIDDO_SEARCH_FEATURE||v.GRIDDO_RENDER_SEARCH_FEATURE),zO=EA(v.GRIDDO_RENDER_SKIP_BUILD_CHECKS),ku=EA(v.GRIDDO_RENDER_SSG_BUNDLE_ANALYZER),Lu=EA(v.GRIDDO_RENDER_SSG_VERBOSE_LOGS),$O=EA(v.GRIDDO_RENDER_USE_DIST_BACKUP),xu=EA(v.GRIDDO_VERBOSE_LOGS||v.GRIDDO_RENDER_VERBOSE_LOGS),ys=EA(v.GRIDDO_RENDER_ENABLED_LLM_MD),Hu=nt(v.GRIDDO_RENDER_API_FETCH_RETRY_WAIT_SECONDS||"4",4),da=nt(v.GRIDDO_RENDER_API_FETCH_RETRY_ATTEMPTS||"4",4),Yu=nt(v.GRIDDO_RENDER_API_TIMEOUT_MS||"300000",3e5),Gu=nt(v.GRIDDO_RENDER_CIRCUIT_BREAKER_FAILURE_THRESHOLD||"10",10),Ou=nt(v.GRIDDO_RENDER_CIRCUIT_BREAKER_COOLDOWN_MS||"30000",3e4),vu=nt(v.GRIDDO_RENDER_LIFECYCLE_RETRY_ATTEMPTS||"1",1);var d=class A{constructor(){}static verbose(...e){xu&&console.log(K.yellow("verbose"),K.dim(e.join(" ")))}static build(...e){mr&&A.log(...e)}static info(...e){console.log(`${K.blue("info")} ${e.join(" ")}`)}static success(...e){console.log(`${K.green("success")} ${e.join(" ")}`)}static error(...e){console.error(`${K.red("error")} ${e.join(" ")}`)}static warn(...e){console.warn(`${K.yellow("warn")} ${e.join(" ")}`)}static log(...e){console.log(...e)}};var vw=fs({cwd:qn.default.resolve(__dirname,"../../..")})||"",Vw=qn.default.join(vw,".griddo/cache"),Vu=qn.default.join(Vw,"db.json");async function ee(A=""){let e=A||Vu;try{return JSON.parse(await fa.default.readFile(e,"utf-8"))}catch(t){throw d.error(`Failed to read DB file at ${e}:`,t),t}}async function eA(A,e=""){let t=e||Vu;try{await fa.default.writeFile(t,JSON.stringify(A,null," "))}catch(r){throw d.error(`Failed to write DB file at ${t}:`,r),r}}var Da=S(require("node:fs/promises")),ot=S(require("node:path"));var Ee=S(require("node:fs/promises")),OA=S(require("node:path"));var wr={error:"ArtifactError",message:"There was a problem with an artifact",expected:"An external process may have has modified or deleted one of the artifacts (files and directories).",hint:"Have there been any recent deployments? These can delete directories from the current render."};var Ju=(A,e)=>({error:"LifecycleExecutionError",message:`Exceeded maximum retry attempts (${A}) for ${e} LifeCycle`}),Pu={error:"LoginError",message:"There was a problem logging in to the API",expected:"This happens if the API is currently not working or the credentials are incorrect."};var qu={error:"NoJSConfigFileFound",message:"Could not find jsconfig.json or tsconfig.json",expected:"This can happen if the instance is not properly configured with a jsconfig.json or tsconfig.json file."},Wu={error:"ReadFromStoreError",message:"There was an error reading a file to the Store directory",hint:"There may be an issue such as permissions preventing the file from being read."};var _u={error:"RenderUUIDError",message:`Render sentinel file does not exist.
|
|
132
132
|
The rendering UUID cannot be read safely.
|
|
133
133
|
There was probably an instance deployment during the render, and files were deleted.
|
|
134
134
|
|
|
135
|
-
The files generated in this render will not be published.`},
|
|
135
|
+
The files generated in this render will not be published.`},Zu={error:"WriteToStoreError",message:"There was an error writing a file to the Store directory",hint:"There may be an issue such as lack of space or permissions preventing the file from being written."};async function pa(A){if(!await $(A))return;let e=(await Ee.default.readdir(A,{withFileTypes:!0})).filter(t=>t.isDirectory());for(let t of e){let r=OA.default.join(A,t.name);await Jw(r)&&await Ee.default.rm(r,{recursive:!0})}}async function ju(A,e){for(let t of A)try{await Ee.default.mkdir(t,{recursive:!0,...e}),d.verbose(`create directory: ${t}`)}catch(r){Ie(wr,r)}}async function Xu(A,e,t,r={withBackup:!1}){let{withBackup:s}=r;for(let n of t){let o=OA.default.join(A,n),i=OA.default.join(e,n);if(!await $(o)){d.info(`(Maybe first render) Source directory does not exist: ${o}`);continue}s&&(await $u(i),d.verbose(`create backup: ${i}`));try{await Ee.default.rm(i,{recursive:!0,force:!0}),d.verbose(`clean destination: ${i}`),await Ee.default.cp(o,i,{recursive:!0,preserveTimestamps:!0}),d.verbose(`copy: ${o} to ${i}`),s&&(await zu(i),d.verbose(`delete backup: ${i}`))}catch(a){s&&(await Ku(i),d.verbose("Backup has been restored.")),Ie(wr,a)}}}async function Ht(A,e,t,r){let{override:s,withBackup:n}=r||{};for(let o of t){let i=OA.default.join(A,o),a=OA.default.join(e,o);if(await $(i)){n&&await $u(a);try{s&&await Ee.default.rm(a,{recursive:!0,force:!0}),await Ee.default.rename(i,a),d.verbose(`moved: ${i} to ${a}`),n&&await zu(a)}catch(c){n&&(await Ku(a),d.info("Backup has been restored.")),Ie(wr,c)}}}}async function Rr(A){for(let e of A)try{await Ee.default.rm(e,{recursive:!0,force:!0}),d.verbose(`artifact removed: ${e}`)}catch(t){Ie(wr,t)}}async function Ku(A,e="-BACKUP"){let t=A+e;try{await Ee.default.rename(t,A),d.info(`Backup ${t} has been restored`)}catch{throw new Error(`Error while delete ${t} backup`)}}async function zu(A,e="-BACKUP"){let t=A+e;try{await Ee.default.rm(t,{recursive:!0,force:!0}),d.verbose(`Backup ${t} has been deleted`)}catch{throw new Error(`Error while delete ${t} backup`)}}async function $u(A,e="-BACKUP"){let t=A+e;if(await $(A)){if(await $(t)){d.warn(`Destination ${t} already exists`);return}try{await Ee.default.rename(A,t),d.verbose(`Backup of ${A} has been created in ${t}`)}catch(r){d.error(`Error while coping ${A} to ${t} backup`),Ie(wr,r)}}}async function Jw(A){let e=(await Ee.default.readdir(A,{withFileTypes:!0,recursive:!0})).filter(r=>r.isFile()&&!OA.default.basename(r.name).startsWith(".")),t=e.filter(r=>r.name.endsWith(".xml"));return e.length===t.length}async function ya(A){try{if(!(await Ee.default.stat(A)).isDirectory())return;let t;try{t=await Ee.default.readdir(A)}catch(s){if(s.code==="ENOENT"){d.warn(`The directory "${A}" does not exist, skipping it.`);return}throw d.error(`Error al leer el directorio "${A}":`,s),s}for(let s of t){let n=OA.default.join(A,s);await ya(n)}if((await Ee.default.readdir(A)).length===0)try{await Ee.default.rmdir(A),d.verbose(`Remove empty directory: ${A}`)}catch(s){s.code==="ENOENT"?d.warn(`El directorio "${A}" ya no existe. Posiblemente fue borrado por otra operaci\xF3n.`):d.error(`Error al borrar el directorio "${A}":`,s)}}catch(e){if(e.code==="ENOENT")d.warn(`The directory "${A}" does not exist or has already been processed.`);else throw d.error(`General error general while processing "${A}":`,e),e}}async function $(A){try{return await Ee.default.access(A),!0}catch{return!1}}async function*Ds(A,e){let t=await Ee.default.opendir(A);try{for await(let r of t){let s=OA.default.join(A,r.name);r.isDirectory()?yield*Ds(s,e):r.isFile()&&r.name.endsWith(e)&&(yield s)}}finally{await t.close().catch(()=>{})}}async function eQ(A){let e=await ee(),{exportsDir:t,exportsDirBackup:r}=e.paths;d.info(`Cleaning exports dir for the domain ${A}`),d.verbose(`Deleting ${ot.default.join(t,A)}...`),await Da.default.rm(ot.default.join(t,A),{recursive:!0,force:!0}),await $(ot.default.join(r,A))?(await Da.default.cp(ot.default.join(r,A),ot.default.join(t,A),{recursive:!0}),d.info(`export-backup dir for the domain ${A} found. Restoring before exit...`),d.verbose(`Copying ${ot.default.join(r,A)} -> ${ot.default.join(t,A)}...`)):d.info("No export-backup found, skipping rollback. Next render will create a new exports dir from scratch...")}var Sr=class extends Error{constructor(e){super(e instanceof Error?e.message:String(e)),this.name="InternalCXError",this.stack=e instanceof Error?e.stack:""}};function Ie(A,e){let{error:t,message:r,expected:s,hint:n}=A,o=d.log(K.red(`[ ${t} ]`)),i=[s,n].filter(Boolean).join(`
|
|
136
136
|
`);throw d.log(`
|
|
137
137
|
${o}
|
|
138
138
|
${r}
|
|
139
139
|
${i}
|
|
140
140
|
|
|
141
|
-
${
|
|
142
|
-
${JSON.stringify(e,null,2)}`),new
|
|
143
|
-
${
|
|
144
|
-
${
|
|
145
|
-
`;d.log(e)}var
|
|
146
|
-
`);return}let n=0;for(;n<r;)try{d.info(`start ${A} life-cycle`);let o=await
|
|
147
|
-
`);break}catch(o){let i=
|
|
141
|
+
${K.red("stack")}
|
|
142
|
+
${JSON.stringify(e,null,2)}`),new Sr(e)}async function AQ(A){try{await A()}catch(e){e instanceof Sr?d.error("Internal Griddo RenderError"):e instanceof Error?d.error(e.message):d.error(`An unexpected error occurred ${e}`);try{let t=await ee(),r=t.currentRenderingDomain;r?(t.needsRollbackOnError?(d.info("Cleaning exports dir..."),await eQ(r)):d.info("No rollback needed, skipping..."),t.domains[r].isRendering=!1,t.domains[r].renderMode=he.ERROR,await eA(t)):d.warn("No currentRenderingDomain set, skipping cleanup")}catch{d.info("Early render stage, no db.json created yet...")}throw e}}var tQ=S(require("node:fs/promises")),rQ=S(require("node:path"));async function sQ(){let{version:A}=JSON.parse(await tQ.default.readFile(rQ.default.resolve(__dirname,"../..","package.json"),"utf-8")),e=`
|
|
143
|
+
${K.yellow(`Griddo Exporter ${A}`)}
|
|
144
|
+
${K.dim(`Node ${process.version.slice(1)}`)}
|
|
145
|
+
`;d.log(e)}var SD=S(RD());function ND(A={}){let{timeoutMs:e}=A;return{async request(t){let{statusCode:r,headers:s,body:n}=await(0,SD.request)(t.url,{method:t.method,headers:t.headers,body:t.body,signal:e?AbortSignal.timeout(e):void 0}),o={};for(let[c,g]of Object.entries(s))g!==void 0&&(o[c]=Array.isArray(g)?g.join(", "):String(g));let i,a=async()=>(i===void 0&&(i=await n.text()),i);return{status:r,statusText:"",ok:r>=200&&r<300,headers:o,json:async()=>JSON.parse(await a()),text:a}}}}var Ji=class extends Error{constructor(e){super(`Circuit breaker is open. Cooldown: ${e}ms`),this.name="CircuitOpenError"}};function XE(A,e){let{failureThreshold:t,cooldownMs:r,onOpen:s,onClose:n}=e,o="closed",i=0,a=0;function c(){o==="half-open"?(o="closed",i=0,n?.()):i=0}function g(){i++,i>=t&&(o="open",a=Date.now(),s?.())}function Q(){return o==="closed"?!0:o==="open"&&Date.now()-a>=r?(o="half-open",!0):o==="half-open"}return{async request(u){if(!Q())throw new Ji(r);try{let l=await A.request(u);return c(),l}catch(l){throw g(),l}}}}function FD(A){return new Promise(e=>setTimeout(e,A))}function bD(A,e,t,r){let s=t==="exponential"?A*2**(e-1):A;return r&&(s=Math.round(s*(.5+Math.random()))),s}function KE(A,e){let{attempts:t,delayMs:r,backoff:s="fixed",jitter:n=!1,retryOn:o,onRetry:i}=e;return{async request(a){let c;for(let g=1;g<=t;g++)try{let Q=await A.request(a);if(o?.(Q)&&g<t){let u=bD(r,g,s,n);i?.({request:a,attempt:g,delayMs:u,response:Q}),await FD(u);continue}return Q}catch(Q){if(c=Q,g<t){let u=bD(r,g,s,n);i?.({request:a,attempt:g,delayMs:u,error:c}),await FD(u)}}throw c}}}var zE;function Mn(){return zE||(zE=XE(KE(ND({timeoutMs:Yu}),{attempts:da,delayMs:Hu*1e3,backoff:"exponential",jitter:!0,retryOn:A=>A.status>=500,onRetry:({request:A,attempt:e,delayMs:t,error:r,response:s})=>{let n=s?`HTTP ${s.status}`:r?.message;d.warn(`Retry ${e}/${da}: ${A.method} ${A.url} \u2014 ${n} (next in ${t}ms)`)}}),{failureThreshold:Gu,cooldownMs:Ou,onOpen:()=>d.warn("Circuit breaker OPEN \u2014 requests will fail fast"),onClose:()=>d.info("Circuit breaker CLOSED \u2014 recovered")}),d.verbose("HTTP adapter: undici (timeout + retry + circuit breaker)")),zE}var fA=process.env.GRIDDO_API_URL,rO=process.env.GRIDDO_PUBLIC_API_URL,ZJ=`${fA}/ai/embeddings`,jJ=`${rO}/alert`,XJ=`${fA}/domains`,UD=`${fA}/sites/all`,MD=`${fA}/page`,TD=`${fA}/login_check`,KJ=`${fA}/debug/reset-render`,kD=`${fA}/domains/robots`,zJ=`${fA}/search`,LD=`${fA}/settings`,sO=`${fA}/domains/`,xD=[sO,"/llms"],Br=`${fA}/site/`,HD=[Br,"/build/end"],YD=[Br,"/build/start"],GD=[Br,"/distributor"],OD=[Br,"/sitemap"],vD=[Br,"/all"],VD=[Br,"/languages"],JD=[Br,"/socials"];var PD={name:"@griddo/cx",description:"Griddo SSG based on Gatsby",version:"11.14.0",authors:["Hisco <francis.vega@griddo.io>"],license:"UNLICENSED",homepage:"https://griddo.io",repository:{type:"git",url:"https://github.com/griddo/griddo"},bin:{"griddo-render":"cli.mjs"},exports:{".":{types:"./build/index.d.ts",import:"./build/index.js",require:"./build/index.js"},"./react":{types:"./build/react/index.d.ts",import:"./build/react/index.js",require:"./build/react/index.js"}},scripts:{"// NPM":"",prepare:"yarn run build","// BUILD":"",build:"rm -rf build && sh ./exporter/build.sh","build:debug":"rm -rf build && sh ./exporter/build.sh --debug","// TESTS":"",test:"vitest run","test:watch":"vitest","// INFRA SCRIPTS":"","prepare-domains-render":"node ./build/commands/prepare-domains-render","start-render":"node ./build/commands/start-render","end-render":"node ./build/commands/end-render","upload-search-content":"node ./build/commands/upload-search-content","notify-indexnow":"node ./build/commands/notify-indexnow","reset-render":"node ./build/commands/reset-render","// ONLY LOCAL SCRIPTS":"","prepare-assets-directory":"node ./build/commands/prepare-assets-directory","create-rollback-copy":"rm -rf ../../exports-backup && cp -r ../../exports ../../exports-backup",render:"npm run build && node --env-file=.env cli.mjs render","// LINTER & FORMATTER":"",lint:"biome check --write",format:"biome format --write",flint:"npm run lint && npm run format","ts-lint":"tsgo --noEmit","watch:ts-lint":"tsc --noEmit --watch"},dependencies:{"@kreuzberg/html-to-markdown":"2.24.5",gatsby:"5.15.0","html-react-parser":"5.2.11",jiti:"^2.6.1",undici:"7.24.6"},devDependencies:{"@biomejs/biome":"2.3.4","@griddo/core":"11.14.0","@types/node":"20.19.4","@typescript/native-preview":"7.0.0-dev.20260401.1",cheerio:"1.1.2",esbuild:"0.25.12","p-limit":"7.2.0",typescript:"6.0.2",vitest:"^4.0.18"},peerDependencies:{react:">=18 <19","react-dom":">=18 <19"},engines:{node:">=20.19"},files:["build","exporter","src","gatsby-browser.tsx","gatsby-config.ts","gatsby-node.ts","gatsby-ssr.tsx","global.d.ts","tsconfig.commands.json","tsconfig.exporter.json","tsconfig.json","plugins","cli.mjs"],publishConfig:{access:"public"},gitHead:"d2c96b30e53ce16a9d06df7fd512308ae6fff64c"};var Pi={"x-application-id":"griddo-cx","x-client-version":PD.version,"x-client-name":"CX"};var oO=Mn(),$E=class{headers;async login(){try{let e=await oO.request({url:TD,method:"POST",headers:Object.assign({},Pi,{"Content-Type":"application/json",Connection:"close"}),body:JSON.stringify({username:Fu,password:bu})});if(!e.ok)throw new Error("Error while login in the API");let{token:t}=await e.json();if(!t||typeof t!="string")throw new Error("Login response missing valid token");return this.headers={Authorization:`bearer ${t}`,"Cache-Control":"no-store"},this.headers}catch(e){Ie(Pu,e)}}},At=new $E;var Dw=S(require("node:path"));async function iO(A){let e=process.hrtime.bigint();await Promise.resolve(A());let t=process.hrtime.bigint();return Number((Number(t-e)/1e9).toFixed(3))}async function we(A,e,t){let{maxRetrys:r=vu,skip:s}=t||{};if(s){d.info(`Skiping life-cycle ${A}. Reason: ${s}
|
|
146
|
+
`);return}let n=0;for(;n<r;)try{d.info(`start ${A} life-cycle`);let o=await iO(e);d.success(`${A} - ${o}s
|
|
147
|
+
`);break}catch(o){let i=K.red(` Error in ${A} LifeCycle `),a=K.yellow(`Attempt (${n+1})`);d.log(`
|
|
148
148
|
${i} ${a}
|
|
149
|
-
`),d.log(o),d.log(),n++}n===r&&Ie(
|
|
149
|
+
`),d.log(o),d.log(),n++}n===r&&Ie(Ju(r,A))}var Ln=S(require("node:fs/promises")),kn=S(require("node:path"));var hs=[],qi=null,Tn=null,aO=Uu,Au="render-detail-log.txt",qD=!mr,eu=null;async function WD(){return eu||(eu=await ee()),eu}async function _D(){if(qD)return;let A=await WD();qi=kn.default.join(A.paths.root,Au),await Ln.default.rm(qi,{force:!0})}function xn(A){qD||(hs.push(A.toString()),hs.length>=aO&&ZD().catch(e=>{d.error("Background log flush failed:",e)}))}async function ZD(){if(Tn&&await Tn,hs.length===0||!qi)return;Tn=(async()=>{let e=[...hs];hs.length=0;try{await Ln.default.appendFile(qi,`${e.join(`
|
|
150
150
|
`)}
|
|
151
|
-
`)}catch(t){
|
|
152
|
-
`)}formatTime(e){if(!Number.isFinite(e)||e<0)return"--:--";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),s=Math.floor(e%60),n=r.toString().padStart(2,"0"),o=s.toString().padStart(2,"0");return t>0?`${t}:${n}:${o}`:`${n}:${o}`}};var
|
|
151
|
+
`)}catch(t){hs.unshift(...e),d.error("Error flushing logs:",t)}})();try{await Tn}finally{Tn=null}}async function jD(A){await ZD();let e=await WD(),t=cO(),r=kn.default.join(e.paths.exportsDir,A,"logs");await Ln.default.mkdir(r,{recursive:!0});let s=kn.default.join(e.paths.root,Au),n=kn.default.join(r,`${t}-${Au}`);try{await Ln.default.cp(s,n)}catch(o){if(o instanceof Error&&"code"in o&&o.code!=="ENOENT")throw o}}function cO(){let A=new Date,e=A.getFullYear(),t=String(A.getMonth()+1).padStart(2,"0"),r=String(A.getDate()).padStart(2,"0"),s=String(A.getHours()).padStart(2,"0"),n=String(A.getMinutes()).padStart(2,"0"),o=String(A.getSeconds()).padStart(2,"0");return`${e}-${t}-${r}_${s}-${n}-${o}`}var Is=S(require("node:fs/promises")),pA=S(require("node:path"));var Wi=S(require("node:fs/promises")),Ut=S(require("node:path"));async function _i(A){let e=await ee(),{sitesToPublish:t,createdPages:r,buildProcessData:s}=e.domains[A].renderInfo||{};if(!t||!r||!s)throw new Error("Build metadata not found");return{buildProcessData:s,createdPages:r,sitesToPublish:t}}async function XD(A,e){let t=await ee();t.domains[e]=t.domains[e]||{},t.domains[e].renderInfo=A,await eA(t)}async function KD(A,e){let{__root:t}=await q();try{let r=new Set(["editorID","parentEditorID"]);for(let s of e){lO(s,r);let n=`${s.context.page.id}.json`,o=Ut.default.join(t,"store",A,n);await gO(o,JSON.stringify(s))}}catch(r){Ie(Zu,r)}}async function zD(A,e){let{__root:t}=await q({domain:e}),r=Ut.default.join(t,"store");if(!await $(r))return;let s=await Wi.default.readdir(r),n=A.map(({id:i})=>`${i}`),o=s.filter(i=>!n.includes(i));for(let i of o)await Wi.default.rm(Ut.default.join(r,i),{recursive:!0,force:!0}),d.verbose(`Removed orphan site id: ${i}`)}async function gO(A,e){let t=Ut.default.dirname(A),r=Ut.default.extname(A),s=Ut.default.basename(A,r),n=A,o=1;for(;await $(n);){let i=`${s}-${o}${r}`;n=Ut.default.join(t,i),o++}await Wi.default.writeFile(n,e)}function lO(A,e){let t=new WeakSet;function r(s){if(!(!s||typeof s!="object"||Array.isArray(s))&&!t.has(s)){t.add(s);for(let n in s)if(Object.hasOwn(s,n))if(e.has(n))delete s[n];else{let o=s[n];typeof o=="object"&&o!==null&&!Array.isArray(o)&&r(o)}}}r(A)}async function $D(A){let{domain:e}=A,t=await ee();t.domains[e].isRendering=!0,await eA(t);let{__ssg:r}=await q(),s=pA.default.join(r,`.render-sentinel-${e}`);await Is.default.writeFile(s,new Date().toISOString())}async function em(A){let e=await ee();e.domains[A].isRendering=!1,e.currentRenderingDomain=null,e.domains[A].renderMode=he.COMPLETED,await eA(e);let{__ssg:t}=await q(),r=pA.default.join(t,`.render-sentinel-${A}`);await Is.default.unlink(r)}async function Am(A){let{__ssg:e}=await q(),t=pA.default.join(e,`.render-sentinel-${A}`);await $(t)||Ie(_u)}async function tm(A){let{basePath:e}=A,r=(await ee()).commitHash;await Is.default.writeFile(pA.default.join(e,"commit"),r)}async function rm(A){let e=await ee();if(!e.domains[A])throw new Error(K.red(`[!] Error: Domain ${A} not found in DB`));if(!e.domains[A].renderMode)throw new Error(K.red(`[!] Error: Render mode not found for domain ${A}`));return{renderMode:e.domains[A].renderMode,reason:e.domains[A].renderModeReason}}async function q(A){let{domain:e,dbFilePath:t}=A||{},s=(await ee(t)).paths;return{__root:s.root,__cache:pA.default.join(s.cxCache,e||""),__components:s.components,__cx:s.cx,__sites:s.exportsDir,__exports:pA.default.join(s.exportsDir,e||""),__exports_backup:pA.default.join(s.exportsDirBackup,e||""),__ssg:s.ssg,__exports_dist:pA.default.join(s.exportsDir,e||"","dist")}}async function tu(){let A=await ee();return{griddoVersion:A.griddoVersion,buildReportFileName:A.buildReportFileName}}async function sm(A){let e=await At.login(),{__root:t}=await q(),{buildReportFileName:r}=await tu(),{buildProcessData:s}=await _i(A),n=Object.keys(s).map(c=>({...s[c],siteId:Number.parseInt(c)})),o={authControl:e,sites:n},i=pA.default.join(t,"current-dist",r),a=pA.default.join(t,"current-dist");try{await Is.default.mkdir(a,{recursive:!0})}catch{d.verbose(`directory: ${a} already exists, creation skipped.`)}await Is.default.writeFile(i,JSON.stringify(o)),d.verbose(`build report saved in ${i}`)}var ze=S(require("node:path"));async function nm(A){let{__exports:e,__cache:t,__root:r,__ssg:s}=await q({domain:A});return{initials:[e,t,ze.default.join(e,"logs"),ze.default.join(r,"store"),ze.default.join(r,"apiCache")],disposables:[ze.default.join(r,"store"),ze.default.join(r,"apiCache"),ze.default.join(r,"dist"),ze.default.join(r,"dist-restored"),ze.default.join(r,"assets"),ze.default.join(r,"render-detail-log.txt"),ze.default.join(r,"current-dist"),ze.default.join(s,"domains.json"),ze.default.join(s,"render-metadata.json")],cacheables:[],archivables:["assets"],restaurable:["dist"]}}var Zi=class{domain;renderMode;dryRun;buildReportFileName;pathsHydratedWithDomain;workingDistDir="";pagesToCreate=[];pagesToDelete=[];ssg;renderMetadata;renderArtifacts;constructor({domain:e,renderMode:t,ssg:r,pathsHydratedWithDomain:s,renderMetadata:n,renderArtifacts:o,dryRun:i,buildReportFileName:a}){this.domain=e,this.renderMode=t,this.pathsHydratedWithDomain=s,this.renderMetadata=n,this.renderArtifacts=o,this.ssg=r,this.dryRun=i,this.buildReportFileName=a}};var ji=S(require("node:fs/promises")),Xi=S(require("node:path"));async function om(A){let{renderArtifacts:e,ssg:{ssgArtifacts:t},pathsHydratedWithDomain:{__cache:r,__exports:s},renderMode:n}=A;n===he.FROM_SCRATCH&&!A.dryRun&&(await ji.default.rm(Xi.default.join(r,".cache"),{recursive:!0,force:!0}),await ji.default.rm(Xi.default.join(s,"dist"),{recursive:!0,force:!0}),await ji.default.rm(Xi.default.join(s,"assets"),{recursive:!0,force:!0})),await Rr(e.disposables),await Rr(t.disposables)}async function im(A){let{renderArtifacts:e,ssg:{ssgArtifacts:t},pathsHydratedWithDomain:{__cache:r}}=A;await Rr(e.disposables),await Rr(t.disposables),await tm({basePath:r})}var sa=S(require("node:fs/promises")),Yn=S(require("node:path"));var ru=class{value;next;constructor(e){this.value=e}},Hn=class{#e;#A;#t;constructor(){this.clear()}enqueue(e){let t=new ru(e);this.#e?(this.#A.next=t,this.#A=t):(this.#e=t,this.#A=t),this.#t++}dequeue(){let e=this.#e;if(e)return this.#e=this.#e.next,this.#t--,this.#e||(this.#A=void 0),e.value}peek(){if(this.#e)return this.#e.value}clear(){this.#e=void 0,this.#A=void 0,this.#t=0}get size(){return this.#t}*[Symbol.iterator](){let e=this.#e;for(;e;)yield e.value,e=e.next}*drain(){for(;this.#e;)yield this.dequeue()}};function Cr(A){am(A);let e=new Hn,t=0,r=()=>{t<A&&e.size>0&&(t++,e.dequeue()())},s=()=>{t--,r()},n=async(a,c,g)=>{let Q=(async()=>a(...g))();c(Q);try{await Q}catch{}s()},o=(a,c,g)=>{new Promise(Q=>{e.enqueue(Q)}).then(n.bind(void 0,a,c,g)),t<A&&r()},i=(a,...c)=>new Promise(g=>{o(a,g,c)});return Object.defineProperties(i,{activeCount:{get:()=>t},pendingCount:{get:()=>e.size},clearQueue:{value(){e.clear()}},concurrency:{get:()=>A,set(a){am(a),A=a,queueMicrotask(()=>{for(;t<A&&e.size>0;)r()})}},map:{async value(a,c){let g=Array.from(a,(Q,u)=>this(c,Q,u));return Promise.all(g)}}}),i}function am(A){if(!((Number.isInteger(A)||A===Number.POSITIVE_INFINITY)&&A>0))throw new TypeError("Expected `concurrency` to be a number from 1 and up")}var zi=S(require("node:readline")),Ki=class A{constructor(e,t){this.siteName=e;this.total=t;this.startTime=Date.now()}startTime;isFinished=!1;width=20;static ANSI_REGEX=/\u001b\[[0-9;]*m/g;update(e){if(this.isFinished)return;let r=(Date.now()-this.startTime)/1e3,s=this.total>0?Math.min(Math.max(e/this.total,0),1):0,n=r>0?e/r:0;if(e>=this.total){this.isFinished=!0;let o=`Fetched pages from ${this.siteName}: ${this.total} pages - ${n.toFixed(1)}p/s - ${this.formatTime(r)}`;this.writeToLine(o),this.finish();return}if(!process.env.CI){let o=Math.floor(s*100),i=this.total-e,a=n>0?Math.ceil(i/n):0,c=Math.round(this.width*s),g=this.width-c,Q=`${"\u2588".repeat(c)}${"\u2591".repeat(g)}`,u=`Fetching pages from ${this.siteName}: ${Q} ${o}% - (${e}/${this.total}) - ${n.toFixed(1)}p/s - ETA: ${this.formatTime(a)}`;this.writeToLine(u)}}writeToLine(e){zi.clearLine(process.stdout,0),zi.cursorTo(process.stdout,0);let t=process.stdout.columns||80;if(e.replace(A.ANSI_REGEX,"").length>t){let s=e.replace(A.ANSI_REGEX,"");process.stdout.write(`${s.substring(0,t-3)}...`)}else process.stdout.write(e)}finish(){process.stdout.write(`
|
|
152
|
+
`)}formatTime(e){if(!Number.isFinite(e)||e<0)return"--:--";let t=Math.floor(e/3600),r=Math.floor(e%3600/60),s=Math.floor(e%60),n=r.toString().padStart(2,"0"),o=s.toString().padStart(2,"0");return t>0?`${t}:${n}:${o}`:`${n}:${o}`}};var lm=S(require("node:crypto")),$i=S(require("node:fs/promises")),su=S(require("node:path"));var EO=Mn();async function Em(A,e,t=""){let{endpoint:r,body:s,cacheKey:n="",headers:o,useApiCacheDir:i=!0,logToFile:a=!0}=A,c={endpoint:r,body:s,headers:o,cacheKey:n};if(n&&i){let g=new Date,Q=await hO(c);if(Q){if(a){let u=cm(Q),l=u?`site: ${u}`:"",E=gm(Date.now()-g.getTime());xn(`${e} (cache) ${l} ${r} - ${E}s ${t}`)}return Q}}try{let g=new Date,Q=Object.assign({},Pi,o,At.headers),u=e.toLowerCase()!=="get"&&s;u&&(Q["Content-Type"]="application/json");let l=await EO.request({url:r,method:e.toUpperCase(),headers:Q,body:u?JSON.stringify(s):void 0});if(!l.ok){if(l.status===404)return null;throw new Error(`HTTP ${l.status}: ${l.statusText}`)}let E=await l.json();if(a){let B=cm(E),y=B?`site: ${B}`:"",C=gm(Date.now()-g.getTime());xn(`${e} (fetch) ${y} ${r} - ${C}s ${t}`)}return i&&await QO(c,E),E}catch(g){let Q=g;throw uO(Q,{callInfo:{endpoint:r,body:s}}),new Sr(Q)}}async function Ye(A){return Em(A,"get")}async function nu(A){let{endpoint:e,body:t,headers:r}=A,s=e.endsWith("/distributor")&&`# ReferenceField body: ${JSON.stringify(t)} lang: ${JSON.stringify(r?.lang)}`;return Em(A,"post",s||"")}function uO(A,e){let{message:t,stack:r}=A,{callInfo:s}=e,n=[];for(let a of Object.keys(s))n.push(`${a}: ${typeof s[a]=="object"?JSON.stringify(s[a]):s[a]}`);let o=n.join(`
|
|
153
153
|
`),i=`${t}
|
|
154
|
-
${r}`;d.warn(
|
|
154
|
+
${r}`;d.warn(K.red(`
|
|
155
155
|
=============
|
|
156
156
|
|
|
157
157
|
{ Call info }
|
|
@@ -161,37 +161,37 @@ ${o}
|
|
|
161
161
|
${i}
|
|
162
162
|
|
|
163
163
|
=============
|
|
164
|
-
`))}function tm(A){if(!(typeof A!="object"||A===null||Array.isArray(A)))return"site"in A&&A.site?A.site:void 0}function rm(A,e=3){return Number.parseFloat((A/1e3).toFixed(e))}async function om(A){let{__root:e}=await K(),t=eQ.default.join(e,"apiCache"),r=sm.default.createHash("sha256");return r.update(JSON.stringify(A)),`${t}/${r.digest("hex")}`}async function tO(A,e){let t=typeof e=="string"?e:JSON.stringify(e),r=await om(A),s=eQ.default.dirname(r);await $(s)||await Ki.default.mkdir(s,{recursive:!0}),await Ki.default.writeFile(r,t,"utf8")}async function rO(A){try{let e=await om(A),t=await Ki.default.readFile(e,"utf8");return JSON.parse(t)}catch{return null}}var um=b(require("node:fs/promises")),hm=b(require("node:path"));async function im(A){return Ye({endpoint:`${mD}?domainSlug=${A}`})}async function am(A,e){return Ye({endpoint:`${wD}/${A}`,cacheKey:e})}async function cm(A,e=""){let[t,r]=kD;return Ye({endpoint:`${t}${A}${r}`,cacheKey:e})}async function tQ(A,e=""){let[t,r]=LD;return Ye({endpoint:`${t}${A}${r}`,cacheKey:e})}async function rQ(A){let[e,t]=UD;return Ye({endpoint:`${e}${A}${t}`})}async function gm(A,e){let[t,r]=bD;await AQ({endpoint:`${t}${A}${r}`,body:e,useApiCacheDir:!1,logToFile:!1})}async function lm(A,e,t,r,s){let[n,o]=MD,i=r||A.site,a=s||A.language;return AQ({endpoint:`${n}${i}${o}`,body:e,headers:{lang:a},cacheKey:t})}async function Em(A){let{siteId:e,headers:t}=A,[r,s]=TD;return Ye({endpoint:`${r}${e}${s}`,headers:t})}async function Qm(A,e=""){let[t,r]=HD;return Ye({endpoint:`${t}${A}${r}`,cacheKey:e})}async function Im(A){let e=await im(A);if(e.length)for(let s of e){let{items:n}=await tQ(s.id);s.domains=n.filter(o=>o.domain&&(o.domain.slug===A||o.domain.slug===`/${A}`)).map(o=>({[o.id]:`${o.domain.slug}${o.path}`}))}let t=e.filter(s=>!!s.isPublished),r=e.filter(s=>!s.isPublished&&s.shouldBeUpdated);return{sitesToPublish:t,sitesToUnpublish:r}}async function Bm(A){let{__root:e}=await K();for(let t of A){let r=await rQ(t.id),{siteHash:s}=r,n={siteHash:s,publishHashes:[],unpublishHashes:[],publishPagesIds:[]};await gm(t.id,n),await um.default.rm(hm.default.join(e,"store",t.id.toString()),{force:!0,recursive:!0})}}async function Cm(A){let e=await rQ(A),t=await cm(A),r=await tQ(A),s=await Qm(A),n=r.items,o=n.find(E=>E.isDefault),{siteHash:i,unpublishHashes:a,publishIds:c}=e,{headers:g,footers:h}=t;return{siteInfo:t,validPagesIds:c,siteHash:i,unpublishHashes:a,siteLangs:n,defaultLang:o,headers:g,footers:h,socials:s}}var zi=class{_defaultHeaders;_defaultFooters;_navigations;constructor(){this._navigations={footers:[],headers:[]},this._defaultHeaders={},this._defaultFooters={}}set navigations(e){this._navigations=e,this._defaultFooters=this.getDefaultFooters(),this._defaultHeaders=this.getDefaultHeaders()}get navigations(){return this._navigations}getDefaultFooters(){let t=[...this.navigations.footers].filter(s=>s.setAsDefault),r={};for(let s of t)r[s.language]=s;return r}getDefaultHeaders(){let t=[...this.navigations.headers].filter(s=>s.setAsDefault),r={};for(let s of t)r[s.language]=s;return r}getRightLanguage(e,t,r){if(!e||!t)return null;let n=e.find(o=>o.language===r&&o.navigationLanguages?.find(i=>i.navigationId===t))||e.find(o=>o.id===t);return n?{...n}:null}getPageHeader(e,t){return this.getRightLanguage(this.navigations.headers,e,t)}getPageFooter(e,t){return this.getRightLanguage(this.navigations.footers,e,t)}getPageNavigations(e){let{header:t,footer:r,language:s,template:n,templateConfig:o}=e,{templateType:i}=n,{defaultHeader:a,defaultFooter:c,templates:g}=o,h=D=>{let C=D.find(f=>typeof f=="number");return typeof C=="number"?C:null},Q=h([t,g?.[i]?.defaultHeader,a]),l=h([r,g?.[i]?.defaultFooter,c]),E=Q?this.getPageHeader(Q,s):Q===0?null:this._defaultHeaders[s],B=l?this.getPageFooter(l,s):l===0?null:this._defaultFooters[s];return{header:E,footer:B}}};function sQ(A,e,t,r="jpg"){let s=typeof A=="string"?A:A?.url;return s?s.split("/")[2].includes("cloudinary.com")?nO(s,`c_fill,w_${e},h_${t}`):sO(s,`f/${r}/w/${e}/h/${t}`):null}function sO(A,e){let t=A.split("/"),r=t.slice(0,-1).join("/"),s=t.slice(-1)[0];return`${r}/${e}/${s}`}function nO(A,e){let t=A.replace("https://",""),r=t.split("/").slice(0,4).join("/"),s=t.replace(r,"");return`https://${r}/${e}${s}`}var oO=25;function iO({socialTitle:A,socialDescription:e,socialImage:t}){return{type:"website",title:A,description:e,image:t?sQ(t,1280,768):"",twitterImage:t?sQ(t,1280,768):""}}function aO(A){let{title:e,metaTitle:t,metaDescription:r,canonicalURL:s,locale:n,url:o,isIndexed:i,follow:a,metasAdvanced:c,pageLanguages:g,fullUrl:h,metaKeywords:Q}=A,l=c?.split(",").filter(Boolean).map(E=>E.trim().toLowerCase())||[];return{title:(t||e||"").trim(),description:r,canonical:s?.trim()&&s!==h?s.trim():i?h:void 0,locale:n,url:o,index:i?"index":"noindex",follow:a?"follow":"nofollow",translate:l.includes("notranslate")?"notranslate":"",metasAdvanced:l.filter(E=>E!=="notranslate").join(),pageLanguages:g,metaKeywords:Q?.filter(Boolean).map(E=>E.replace(/"/g,"'")).join(", ")}}async function oQ(A,e){let{id:t,title:r,fullPath:s,language:n,breadcrumb:o,socialDescription:i,socialImage:a,socialTitle:c}=A,{baseUrl:g,cloudinaryName:h,griddoVersion:Q,siteLangs:l,siteMetadata:E,siteOptions:B,siteScript:D,siteSlug:C,socials:f,theme:y,navigations:T}=e,{header:U,footer:k}=T;A.breadcrumb=o,A.siteSlug=C,A.apiUrl=g,A.publicApiUrl=e.publicBaseUrl,A.instance=e.instance;let F=l.find(({id:ie})=>ie===A?.language)?.locale.replace(/_/g,"-"),L=aO(A),z=iO({socialDescription:i,socialImage:a,socialTitle:c}),fe=s.compose,ce=new Date().toString();return{path:fe,size:void 0,context:{id:t,title:r,fullPath:s,locale:F,languageId:n,theme:y,siteMetadata:E,pageMetadata:L,openGraph:z,socials:f,siteLangs:l,cloudinaryName:h,siteOptions:B,griddoVersion:Q,renderDate:ce,siteScript:D,header:U,footer:k,page:A}}}async function pm(A,e){return oQ(A,e)}async function ym({page:A,pages:e,isRoot:t=!1,defaultLang:r,template:s,totalQueriedItems:n},o){let i=e.map(async(a,c)=>{let g=c===0,h=c+1,{domainUrl:Q,compose:l}=A.fullPath,E={...A,fullPath:{...A.fullPath,compose:nQ(l,h,{addEndingSlash:!0})},fullUrl:nQ(A.fullUrl,h,{addEndingSlash:!0}),slug:nQ(A.slug,h),title:fm(A.title,h),metaTitle:fm(A.metaTitle||"",h),disableHrefLangs:h>1,template:{...s,isFirstPage:g,pageNumber:h,totalPages:e.length,baseLink:`${Q}${l}`,queriedItems:a,totalQueriedItems:n?.length},isRoot:t,defaultLang:r};return oQ(E,o)});return Promise.all(i)}function Dm(A,e){let{multiPageElements:t,...r}=A,s=JSON.parse(JSON.stringify(t));s.find(({sectionSlug:o})=>o==="/")||s.push({});let n=s.map(async o=>{let i=JSON.parse(JSON.stringify(r)),{sectionSlug:a="/",title:c="",metaTitle:g="",metaDescription:h=""}=o,Q=typeof c=="string"?c:c.content,l=i.fullPath.compose||"",E=i.fullUrl.endsWith("/")?i.fullUrl.slice(0,-1):i.fullUrl,B=a?.replace(/\//g,""),C=a==="/"?B:`${B}/`,f=l.endsWith("/")?"":"/",y=`${l}${f}${C}`;return Q.trim()&&(i.title=Q),h.trim()&&(i.metaDescription=h),i.fullUrl=`${E}/${C}`,i.fullPath.compose=y,i.slug=y,i.template.activeSectionSlug=a,i.template.activeSectionBase=E,i.metaTitle=g.trim()||Q.trim()||i.metaTitle,oQ(i,e)});return Promise.all(n)}function mm(A){return new Promise(t=>{let r=(s,n=0)=>{if(!(!s||typeof s!="object")){for(let o in s){let i=s[o],a=i||typeof i=="object",c=JSON.stringify(i).includes('"hasGriddoMultiPage":true');if(!a||!c)continue;let{component:g,hasGriddoMultiPage:h,elements:Q}=i;g&&h&&t(Q||[]),r(i,n+1)}n||t(null)}};r([A])})}function cO(A,e,t){return e?.slice(A*(t-1),A*t)}function gO(A,e){let t=Math.ceil(e.length/A)||1;return Array.from({length:t},(s,n)=>n+1)?.map(s=>cO(A,e,s))}function wm(A){let e=A.queriedItems||[],t=A?.itemsPerPage||oO;return gO(t,e)}function dm(A){return A.replace(/\/+$/,"/")}function nQ(A,e,t){let r=A.endsWith("/")?"":"/",s=t?.addEndingSlash?"/":"";return e<=1?dm(`${A}${s}`):dm(`${A}${r}${e}${s}`)}function fm(A,e){return!A||e<=1?A:`${A} - ${e}`}function lO(A,e){let{order:t,sources:r,quantity:s,mode:n,fixed:o,fullRelations:i=!1,allLanguages:a=!1,preferenceLanguage:c=!1,referenceId:g,fields:h}=A;return n==="auto"?{mode:n,order:t,sources:r,quantity:s,fullRelations:i,allLanguages:a,preferenceLanguage:c,fields:h}:n==="manual"?{mode:n,fixed:o,fullRelations:i,fields:h}:n==="navigation"?{mode:n,order:t,quantity:s,fullRelations:i,referenceId:g||e?.structuredDataContent?.id,fields:h}:(d.error(`ReferenceField mode: ${n} is not recognized on page ${e?.id}.`),A)}async function EO(A){let{page:e,component:t,cacheKey:r}=A,{data:s}=t;if(!s)return d.info(`Error: Page ${e.id} has \`hasDistributorData: true\` or \`getStaticData: true\` but it doesn't have a \`data\` property.`),[];if(Array.isArray(s.sources)&&s.sources.length<1)return d.warn(`Page with id: ${e.id} has a ReferenceField with empty \`data.sources\``),[];let{site:n,lang:o}=s;!s.sources&&s.mode==="auto"&&d.warn(`Page with id: ${e.id} has a ReferenceField with \`undefined\` \`data.sources\``);let i=lO(s,e);return await lm(e,i,r,n,o)}async function Rm({page:A,cacheKey:e=""}){try{let{template:t}=A,r=async(o,i=1)=>{if(!(!o||typeof o!="object"||!(JSON.stringify(o).includes('"hasDistributorData":true')||JSON.stringify(o).includes('"getStaticData":true'))))for(let c in o){if(c==="queriedItems")continue;let h=o[c];if(!h||typeof h!="object")continue;(h.hasDistributorData||h.getStaticData)&&(h.queriedItems=await EO({page:A,cacheKey:e,component:h})),await r(h,i+1)}};return await(async o=>(await r([o]),o))(t)}catch(t){throw d.error("Error in getReferenceFieldData:",t),t}}var QO=Date.now().toString();function Sm(A,e){let t=Math.max(...e.map(n=>n.name.length+(n.shouldBeUpdated?1:0)+n.id.toString().length)),r=e.map(n=>{let o=n.shouldBeUpdated?"*":"",i=n.name.length+o.length+n.id.toString().length,a=" ".repeat(t-i);return`${X.bold(n.name)} ${X.dim(`(id:${n.id})`)} ${o} ${a}${X.dim("-")} ${X.dim(n.slug)}`}),s=r.length>0?`
|
|
164
|
+
`))}function cm(A){if(!(typeof A!="object"||A===null||Array.isArray(A)))return"site"in A&&A.site?A.site:void 0}function gm(A,e=3){return Number.parseFloat((A/1e3).toFixed(e))}async function um(A){let{__root:e}=await q(),t=su.default.join(e,"apiCache"),r=lm.default.createHash("sha256");return r.update(JSON.stringify(A)),`${t}/${r.digest("hex")}`}async function QO(A,e){let t=typeof e=="string"?e:JSON.stringify(e),r=await um(A),s=su.default.dirname(r);await $(s)||await $i.default.mkdir(s,{recursive:!0}),await $i.default.writeFile(r,t,"utf8")}async function hO(A){try{let e=await um(A),t=await $i.default.readFile(e,"utf8");return JSON.parse(t)}catch{return null}}var fm=S(require("node:fs/promises")),pm=S(require("node:path"));async function Qm(A){return Ye({endpoint:`${UD}?domainSlug=${A}`})}async function ea(A,e){return Ye({endpoint:`${MD}/${A}`,cacheKey:e})}async function hm(A,e=""){let[t,r]=vD;return Ye({endpoint:`${t}${A}${r}`,cacheKey:e})}async function ou(A,e=""){let[t,r]=VD;return Ye({endpoint:`${t}${A}${r}`,cacheKey:e})}async function iu(A){let[e,t]=YD;return Ye({endpoint:`${e}${A}${t}`})}async function Im(A,e){let[t,r]=HD;await nu({endpoint:`${t}${A}${r}`,body:e,useApiCacheDir:!1,logToFile:!1})}async function Bm(A,e,t,r,s){let[n,o]=GD,i=r||A.site,a=s||A.language;return nu({endpoint:`${n}${i}${o}`,body:e,headers:{lang:a},cacheKey:t})}async function Cm(A){let{siteId:e,headers:t}=A,[r,s]=OD;return Ye({endpoint:`${r}${e}${s}`,headers:t})}async function dm(A,e=""){let[t,r]=JD;return Ye({endpoint:`${t}${A}${r}`,cacheKey:e})}async function ym(A){let e=await Qm(A);if(e.length)for(let s of e){let{items:n}=await ou(s.id);s.domains=n.filter(o=>o.domain&&(o.domain.slug===A||o.domain.slug===`/${A}`)).map(o=>({[o.id]:`${o.domain.slug}${o.path}`}))}let t=e.filter(s=>!!s.isPublished),r=e.filter(s=>!s.isPublished&&s.shouldBeUpdated);return{sitesToPublish:t,sitesToUnpublish:r}}async function Dm(A){let{__root:e}=await q();for(let t of A){let r=await iu(t.id),{siteHash:s}=r,n={siteHash:s,publishHashes:[],unpublishHashes:[],publishPagesIds:[]};await Im(t.id,n),await fm.default.rm(pm.default.join(e,"store",t.id.toString()),{force:!0,recursive:!0})}}async function mm(A){let e=await iu(A),t=await hm(A),r=await ou(A),s=await dm(A),n=r.items,o=n.find(E=>E.isDefault),{siteHash:i,unpublishHashes:a,publishIds:c}=e,{headers:g,footers:Q}=t;return{siteInfo:t,validPagesIds:c,siteHash:i,unpublishHashes:a,siteLangs:n,defaultLang:o,headers:g,footers:Q,socials:s}}var Aa=class{_defaultHeaders;_defaultFooters;_navigations;constructor(){this._navigations={footers:[],headers:[]},this._defaultHeaders={},this._defaultFooters={}}set navigations(e){this._navigations=e,this._defaultFooters=this.getDefaultFooters(),this._defaultHeaders=this.getDefaultHeaders()}get navigations(){return this._navigations}getDefaultFooters(){let t=[...this.navigations.footers].filter(s=>s.setAsDefault),r={};for(let s of t)r[s.language]=s;return r}getDefaultHeaders(){let t=[...this.navigations.headers].filter(s=>s.setAsDefault),r={};for(let s of t)r[s.language]=s;return r}getRightLanguage(e,t,r){if(!e||!t)return null;let n=e.find(o=>o.language===r&&o.navigationLanguages?.find(i=>i.navigationId===t))||e.find(o=>o.id===t);return n?{...n}:null}getPageHeader(e,t){return this.getRightLanguage(this.navigations.headers,e,t)}getPageFooter(e,t){return this.getRightLanguage(this.navigations.footers,e,t)}getPageNavigations(e){let{header:t,footer:r,language:s,template:n,templateConfig:o}=e,{templateType:i}=n,{defaultHeader:a,defaultFooter:c,templates:g}=o,Q=y=>{let C=y.find(f=>typeof f=="number");return typeof C=="number"?C:null},u=Q([t,g?.[i]?.defaultHeader,a]),l=Q([r,g?.[i]?.defaultFooter,c]),E=u?this.getPageHeader(u,s):u===0?null:this._defaultHeaders[s],B=l?this.getPageFooter(l,s):l===0?null:this._defaultFooters[s];return{header:E,footer:B}}};function au(A,e,t,r="jpg"){let s=typeof A=="string"?A:A?.url;return s?s.split("/")[2].includes("cloudinary.com")?BO(s,`c_fill,w_${e},h_${t}`):IO(s,`f/${r}/w/${e}/h/${t}`):null}function IO(A,e){let t=A.split("/"),r=t.slice(0,-1).join("/"),s=t.slice(-1)[0];return`${r}/${e}/${s}`}function BO(A,e){let t=A.replace("https://",""),r=t.split("/").slice(0,4).join("/"),s=t.replace(r,"");return`https://${r}/${e}${s}`}var CO=25;function dO({socialTitle:A,socialDescription:e,socialImage:t}){return{type:"website",title:A,description:e,image:t?au(t,1280,768):"",twitterImage:t?au(t,1280,768):""}}function fO(A){let{title:e,metaTitle:t,metaDescription:r,canonicalURL:s,locale:n,url:o,isIndexed:i,follow:a,metasAdvanced:c,pageLanguages:g,fullUrl:Q,metaKeywords:u}=A,l=c?.split(",").filter(Boolean).map(E=>E.trim().toLowerCase())||[];return{title:(t||e||"").trim(),description:r,canonical:s?.trim()&&s!==Q?s.trim():i?Q:void 0,locale:n,url:o,index:i?"index":"noindex",follow:a?"follow":"nofollow",translate:l.includes("notranslate")?"notranslate":"",metasAdvanced:l.filter(E=>E!=="notranslate").join(),pageLanguages:g,metaKeywords:u?.filter(Boolean).map(E=>E.replace(/"/g,"'")).join(", ")}}async function gu(A,e){let{id:t,title:r,fullPath:s,language:n,breadcrumb:o,socialDescription:i,socialImage:a,socialTitle:c}=A,{baseUrl:g,cloudinaryName:Q,griddoVersion:u,siteLangs:l,siteMetadata:E,siteOptions:B,siteScript:y,siteSlug:C,socials:f,theme:D,navigations:M}=e,{header:F,footer:L}=M;A.breadcrumb=o,A.siteSlug=C,A.apiUrl=g,A.publicApiUrl=e.publicBaseUrl,A.instance=e.instance;let b=l.find(({id:ie})=>ie===A?.language)?.locale.replace(/_/g,"-"),k=fO(A),z=dO({socialDescription:i,socialImage:a,socialTitle:c}),fe=s.compose,ce=new Date().toString();return{path:fe,size:void 0,context:{id:t,title:r,fullPath:s,locale:b,languageId:n,theme:D,siteMetadata:E,pageMetadata:k,openGraph:z,socials:f,siteLangs:l,cloudinaryName:Q,siteOptions:B,griddoVersion:u,renderDate:ce,siteScript:y,header:F,footer:L,page:A}}}async function Sm(A,e){return gu(A,e)}async function Nm({page:A,pages:e,isRoot:t=!1,defaultLang:r,template:s,totalQueriedItems:n},o){let i=e.map(async(a,c)=>{let g=c===0,Q=c+1,{domainUrl:u,compose:l}=A.fullPath,E={...A,fullPath:{...A.fullPath,compose:cu(l,Q,{addEndingSlash:!0})},fullUrl:cu(A.fullUrl,Q,{addEndingSlash:!0}),slug:cu(A.slug,Q),title:Rm(A.title,Q),metaTitle:Rm(A.metaTitle||"",Q),disableHrefLangs:Q>1,template:{...s,isFirstPage:g,pageNumber:Q,totalPages:e.length,baseLink:`${u}${l}`,queriedItems:a,totalQueriedItems:n?.length},isRoot:t,defaultLang:r};return gu(E,o)});return Promise.all(i)}function Fm(A,e){let{multiPageElements:t,...r}=A,s=JSON.parse(JSON.stringify(t));s.find(({sectionSlug:o})=>o==="/")||s.push({});let n=s.map(async o=>{let i=JSON.parse(JSON.stringify(r)),{sectionSlug:a="/",title:c="",metaTitle:g="",metaDescription:Q=""}=o,u=typeof c=="string"?c:c.content,l=i.fullPath.compose||"",E=i.fullUrl.endsWith("/")?i.fullUrl.slice(0,-1):i.fullUrl,B=a?.replace(/\//g,""),C=a==="/"?B:`${B}/`,f=l.endsWith("/")?"":"/",D=`${l}${f}${C}`;return u.trim()&&(i.title=u),Q.trim()&&(i.metaDescription=Q),i.fullUrl=`${E}/${C}`,i.fullPath.compose=D,i.slug=D,i.template.activeSectionSlug=a,i.template.activeSectionBase=E,i.metaTitle=g.trim()||u.trim()||i.metaTitle,gu(i,e)});return Promise.all(n)}function bm(A){return new Promise(t=>{let r=(s,n=0)=>{if(!(!s||typeof s!="object")){for(let o in s){let i=s[o],a=i||typeof i=="object",c=JSON.stringify(i).includes('"hasGriddoMultiPage":true');if(!a||!c)continue;let{component:g,hasGriddoMultiPage:Q,elements:u}=i;g&&Q&&t(u||[]),r(i,n+1)}n||t(null)}};r([A])})}function pO(A,e,t){return e?.slice(A*(t-1),A*t)}function yO(A,e){let t=Math.ceil(e.length/A)||1;return Array.from({length:t},(s,n)=>n+1)?.map(s=>pO(A,e,s))}function Um(A){let e=A.queriedItems||[],t=A?.itemsPerPage||CO;return yO(t,e)}function wm(A){return A.replace(/\/+$/,"/")}function cu(A,e,t){let r=A.endsWith("/")?"":"/",s=t?.addEndingSlash?"/":"";return e<=1?wm(`${A}${s}`):wm(`${A}${r}${e}${s}`)}function Rm(A,e){return!A||e<=1?A:`${A} - ${e}`}var ta=S(require("node:fs/promises")),Mm=S(require("node:path"));var ra=class{enabled;upserts=[];skipped={noindex:0,noUrlResolved:0,paginatedSecondary:0};constructor(e=Pn){this.enabled=e}collect(e){if(!this.enabled)return;let{siteId:t,pageId:r,pageObjects:s,uploadPending:n}=e;if(n.includes(r))for(let o of s){let i=this.extractCanonical(o,t,r);i&&this.upserts.push(i)}}async flush(e){if(!this.enabled)return;let{domain:t,sitesToPublish:r,sitesToUnpublish:s}=e,{__cache:n}=await q({domain:t}),o=Mm.default.join(n,"indexnow-payload.json");await DO(o);let i=[],a=Cr(ps),c=[];for(let Q of r)for(let u of Q.pagesStatus.offlinePending)c.push(a(async()=>{let l=await this.resolveUrlForId(u);l?i.push({id:u,url:l,siteId:Q.id,reason:"offlinePending"}):this.skipped.noUrlResolved++}));for(let Q of s){let u=new Set([...Q.pagesStatus.active,...Q.pagesStatus.offlinePending]);for(let l of u)c.push(a(async()=>{let E=await this.resolveUrlForId(l);E?i.push({id:l,url:E,siteId:Q.id,reason:"siteUnpublished"}):this.skipped.noUrlResolved++}))}await Promise.all(c);let g={domain:t,renderedAt:new Date().toISOString(),upsert:this.upserts,delete:i,skipped:this.skipped};await ta.default.mkdir(n,{recursive:!0}),await ta.default.writeFile(o,JSON.stringify(g,null,2),"utf-8"),d.verbose(`indexnow payload written (upsert:${g.upsert.length} delete:${g.delete.length} skipped:${JSON.stringify(g.skipped)})`)}extractCanonical(e,t,r){let s=e.context.page,n=e.context.pageMetadata,o=s?.template?.pageNumber;if(typeof o=="number"&&o>1)return this.skipped.paginatedSecondary++,null;let i=s?.fullUrl;return i?n?.index==="noindex"?(this.skipped.noindex++,null):{id:r,url:i,siteId:t}:(this.skipped.noUrlResolved++,null)}async resolveUrlForId(e){try{return(await ea(e,"indexnow-payload"))?.fullUrl??null}catch(t){return d.warn(`indexnow: getPage(${e}) failed: ${t?.message??String(t)}`),null}}};async function DO(A){try{await ta.default.unlink(A)}catch{}}function mO(A,e){let{order:t,sources:r,quantity:s,mode:n,fixed:o,fullRelations:i=!1,allLanguages:a=!1,preferenceLanguage:c=!1,referenceId:g,fields:Q}=A;return n==="auto"?{mode:n,order:t,sources:r,quantity:s,fullRelations:i,allLanguages:a,preferenceLanguage:c,fields:Q}:n==="manual"?{mode:n,fixed:o,fullRelations:i,fields:Q}:n==="navigation"?{mode:n,order:t,quantity:s,fullRelations:i,referenceId:g||e?.structuredDataContent?.id,fields:Q}:(d.error(`ReferenceField mode: ${n} is not recognized on page ${e?.id}.`),A)}async function wO(A){let{page:e,component:t,cacheKey:r}=A,{data:s}=t;if(!s)return d.info(`Error: Page ${e.id} has \`hasDistributorData: true\` or \`getStaticData: true\` but it doesn't have a \`data\` property.`),[];if(Array.isArray(s.sources)&&s.sources.length<1)return d.warn(`Page with id: ${e.id} has a ReferenceField with empty \`data.sources\``),[];let{site:n,lang:o}=s;!s.sources&&s.mode==="auto"&&d.warn(`Page with id: ${e.id} has a ReferenceField with \`undefined\` \`data.sources\``);let i=mO(s,e);return await Bm(e,i,r,n,o)}async function Tm({page:A,cacheKey:e=""}){try{let{template:t}=A,r=async(o,i=1)=>{if(!(!o||typeof o!="object"||!(JSON.stringify(o).includes('"hasDistributorData":true')||JSON.stringify(o).includes('"getStaticData":true'))))for(let c in o){if(c==="queriedItems")continue;let Q=o[c];if(!Q||typeof Q!="object")continue;(Q.hasDistributorData||Q.getStaticData)&&(Q.queriedItems=await wO({page:A,cacheKey:e,component:Q})),await r(Q,i+1)}};return await(async o=>(await r([o]),o))(t)}catch(t){throw d.error("Error in getReferenceFieldData:",t),t}}var RO=Date.now().toString();function km(A,e){let t=Math.max(...e.map(n=>n.name.length+(n.shouldBeUpdated?1:0)+n.id.toString().length)),r=e.map(n=>{let o=n.shouldBeUpdated?"*":"",i=n.name.length+o.length+n.id.toString().length,a=" ".repeat(t-i);return`${K.bold(n.name)} ${K.dim(`(id:${n.id})`)} ${o} ${a}${K.dim("-")} ${K.dim(n.slug)}`}),s=r.length>0?`
|
|
165
165
|
|
|
166
166
|
${r.join(`
|
|
167
|
-
`)}`:
|
|
167
|
+
`)}`:K.dim(`--none--
|
|
168
168
|
`);d.log(`
|
|
169
|
-
${A} ${s}`)}async function
|
|
169
|
+
${A} ${s}`)}async function Lm(A){console.info(`API calls with ${ps} threads`),console.info(`API URL ${Ba}`);let{renderMode:e,domain:t,griddoVersion:r,basePath:s}=A,n=e===he.FROM_SCRATCH,o=Yn.default.join(s,"store"),i=[],a={},c=new ra,{sitesToPublish:g,sitesToUnpublish:Q}=await ym(t);km("Sites to publish:",g),km("Sites to unpublish:",Q),await Dm(Q),await zD(g,t);let u=[];for(let l of Q){let{pagesStatus:E}=l;u.push(...E.active,...E.offlinePending,...E.uploadPending,...E.deleted,...E.offline)}for(let l of g){let{id:E,slug:B,theme:y,favicon:C,pagesStatus:f}=l,D=E.toString(),M=[...f.uploadPending];u.push(...f.offlinePending,...f.deleted);let{siteInfo:F,siteHash:L,unpublishHashes:w,siteLangs:b,defaultLang:k,headers:z,footers:fe,socials:ce}=await mm(E),{cloudinaryName:Ge,useMetaTitle:ie,useMetaKeywords:$e,showBasicMetaRobots:pr,avoidHrefLangsOnCanonicals:kt,avoidSelfReferenceCanonicals:Lt,avoidHrefLangXDefault:ww,avoidDebugMetas:Rw}=await Ye({endpoint:LD});a[E]={siteHash:L,unpublishHashes:w,publishHashes:[],publishPagesIds:[]};let Cu=new Aa;Cu.navigations={headers:z,footers:fe},l.languages=b;let Sw=await NO(E,L),Nw=F.siteScript,Fw={siteUrl:F.slug,title:F.name,favicon:C},bw={baseUrl:Ba,publicBaseUrl:Nu,instance:Mu,siteSlug:B,theme:y,siteMetadata:Fw,socials:ce,siteLangs:b,cloudinaryName:Ge,griddoVersion:r,siteOptions:{useMetaTitle:ie,useMetaKeywords:$e,showBasicMetaRobots:pr,avoidHrefLangsOnCanonicals:kt,avoidSelfReferenceCanonicals:Lt,avoidHrefLangXDefault:ww,avoidDebugMetas:Rw},siteScript:Nw};await sa.default.mkdir(Yn.default.join(o,D),{recursive:!0});let Uw=async(ha,Cs,yr,Jn)=>{let rt=[],le=await ea(Cs,Sw);if(!le){yr.current+=1,Jn.update(yr.current);return}i.push(Cs);let Dr=JSON.parse(JSON.stringify(bw));Dr.navigations=Cu.getPageNavigations(le);let st=await Tm({page:le,cacheKey:RO}),du=await bm(st),Ia=le?.mode==="list"||le?.mode==="paginated-data",fu=!Ia&&du,Mw=!fu&&!Ia;if(Ia){let DA={page:le,pages:Um(st),isRoot:!1,defaultLang:k,template:st,totalQueriedItems:st.queriedItems};rt=await Nm(DA,Dr),u.push(le.id)}if(fu){let DA=le;DA.template=st,DA.multiPageElements=du,DA.defaultLang=k,rt=await Fm(DA,Dr),u.push(le.id)}if(Mw){let DA=le;DA.template=st,DA.defaultLang=k,rt=[await Sm(DA,Dr)]}le.hash!==null&&(a[E].publishHashes.push(le.hash),a[E].publishPagesIds.push(le.id)),await KD(ha,rt),c.collect({siteId:E,pageId:le.id,pageObjects:rt,uploadPending:M}),yr.current+=1,Jn.update(yr.current)},Vn=f.uploadPending;if(n&&Vn.push(...f.active),Vn.length>0){let ha=Cr(ps),Cs=Vn.length,yr={current:0},Jn=new Ki(l.name,Cs),rt=100;for(let le=0;le<Cs;le+=rt){let Dr=Vn.slice(le,le+rt);await Promise.all(Dr.map(st=>ha(()=>Uw(D,st,yr,Jn))))}}}await XD({buildProcessData:a,createdPages:i,sitesToPublish:g},t);try{await c.flush({domain:t,sitesToPublish:g,sitesToUnpublish:Q})}catch(l){d.warn(`indexnow: failed to write delta for ${t}: ${l?.message??String(l)}`)}return{pagesToCreate:i,pagesToDelete:u}}async function SO(){let{__root:A}=await q(),t=`${Yn.default.join(A,"apiCache")}/siteHash.json`;try{let r=await sa.default.readFile(t,"utf8");return JSON.parse(r)||{}}catch{return{}}}async function NO(A,e){let t=await SO(),r=t[A],s=e||r||Date.now(),{__root:n}=await q(),i=`${Yn.default.join(n,"apiCache")}/siteHash.json`;return s!==r&&(t[A]=s,await sa.default.writeFile(i,JSON.stringify(t),{encoding:"utf-8"})),s.toString()}async function xm(A){let{domain:e,renderMode:t,renderMetadata:{griddoVersion:r},pathsHydratedWithDomain:{__root:s}}=A,{pagesToCreate:n,pagesToDelete:o}=await Lm({domain:e,renderMode:t,griddoVersion:r,basePath:s});A.pagesToCreate=n,A.pagesToDelete=o}var lu=S(require("node:fs/promises")),na=S(require("node:path"));async function Hm(A){let{buildReportFileName:e,pathsHydratedWithDomain:{__root:t,__exports:r}}=A;try{await lu.default.mkdir(na.default.join(r,"dist"))}catch{}await lu.default.cp(na.default.join(t,"current-dist",e),na.default.join(r,"dist",e))}async function Ym(A){let{domain:e}=A;await Am(e),await em(e)}async function Gm(A){let{domain:e,pathsHydratedWithDomain:{__root:t}}=A;await $D({basePath:t,domain:e})}var oa=S(require("node:fs/promises")),dr=S(require("node:path")),ia=require("@kreuzberg/html-to-markdown");var Mt=require("node:fs"),tt=require("node:path");var Eu=S(require("node:path"));var FO=__dirname.includes("node_modules"),$P=UO();function Bs(A=""){return FO?Eu.default.resolve(fs({cwd:__dirname}),"../../../",A):Eu.default.resolve(fs({cwd:__dirname}),"../griddo-components",A)}function bO(){let A=ds("jsconfig.json",{cwd:Bs()});return ds("tsconfig.json",{cwd:Bs()})||A}function UO(){let A=require(bO());return A||Ie(qu),Object.keys(A.compilerOptions?.paths).reduce((e,t)=>{let[r]=t.split("/"),[s]=A.compilerOptions.paths[t],[n]=s.split("/*"),o=Bs(n);return{...e,[r]:o}},{"@griddo-instance":`${Bs()}/src/index.js`})}var Om=require("jiti"),Gn=class extends Error{constructor(t,r){super(t);this.cause=r;this.name="ConfigLoadError"}};function MO(A,e){try{let t=(0,Mt.readFileSync)(A,"utf-8"),r=JSON.parse(t),s=r.compilerOptions?.paths,n=r.compilerOptions?.baseUrl??".";if(!s)return{};let o={},i=(0,tt.resolve)(e,n);for(let[a,c]of Object.entries(s)){if(!c||c.length===0)continue;let g=a.replace(/\/\*$/,""),Q=c[0].replace(/\/\*$/,""),u=(0,tt.resolve)(i,Q);o[g]=u}return o}catch{return{}}}async function TO(A){let{dirname:e,configName:t="griddo.config",tsconfigName:r="tsconfig.json"}=A,s=(0,tt.join)(e,`${t}.ts`),n=(0,tt.join)(e,`${t}.js`),o=(0,tt.join)(e,`${t}.mjs`),i=null;if((0,Mt.existsSync)(s)?i=s:(0,Mt.existsSync)(n)?i=n:(0,Mt.existsSync)(o)&&(i=o),!i)throw new Gn(`No se encontr\xF3 archivo de configuraci\xF3n en ${e}. Buscando: ${t}.{ts,js,mjs}`);d.verbose(`[loadConfig] Configuraci\xF3n encontrada: ${i}`);let a=(0,tt.join)(e,r),c=(0,Mt.existsSync)(a);c&&d.verbose(`[loadConfig] tsconfig encontrado: ${a}`);let g=c?MO(a,e):{};Object.keys(g).length>0&&d.verbose("[loadConfig] Path aliases resueltos:",g);let Q=(0,tt.resolve)(i);d.verbose(`[loadConfig] Using jiti with path: ${Q}`);let u=(0,Om.createJiti)(Q,{alias:g,interopDefault:!0});try{let l=await u.import(i),E=l.default??l;return d.verbose("[loadConfig] Configuraci\xF3n cargada exitosamente"),{config:E,path:i,tsconfigPath:c?a:null}}catch(l){let E=l instanceof Error?l:new Error(String(l));throw new Gn(`Error al cargar la configuraci\xF3n desde ${i}: ${E.message}`,E)}}async function vm(){let A=Bs();if(!(0,Mt.existsSync)(A))throw new Gn(`instance dir not found: ${A}`);return TO({dirname:A,configName:"griddo.config",tsconfigName:"tsconfig.json"})}async function Vm(A){if(!ys){d.verbose("Skipping markdown generation: Disabled by environment variable.");return}let{__root:e}=await q({domain:A}),t=dr.default.join(e,"current-dist"),s=(await vm()).config,n=xO(t,s);try{for await(let o of n){if(!o.path.endsWith("index.html"))continue;let a=o.path===dr.default.join(t,"index.html")?dr.default.join(t,"index.md"):`${o.path.replace(/\/index\.html$/,"")}.md`;await oa.default.writeFile(a,o.content),d.info(`Generating MD for a ${o.path}`)}}catch(o){d.error("Failed to generate MDs due to config error:",o)}}function kO(A){let e=["style","script","noscript","iframe","form","input","button","nav","footer","object","svg"],t=A;for(let r of e){let s=new RegExp(`<${r}[^>]*>.*?</${r}>|<${r}[^>]*/>`,"gis");t=t.replace(s,"")}return t}function LO(A,e){let t=kO(A),r=e.schemas?.config,s=(0,ia.convert)(t,{headingStyle:ia.JsHeadingStyle.Atx,bullets:"-",extractMetadata:!1,skipImages:!0,...r});return s=s.replace(/ /g," ").replace(/&/g,"&").replace(/\n{3,}/g,`
|
|
170
170
|
|
|
171
|
-
`).trim(),s}async function*
|
|
171
|
+
`).trim(),s}async function*Jm(A){let e=await oa.default.opendir(A);for await(let t of e)t.isDirectory()?yield*Jm(dr.default.join(A,t.name)):t.isFile()&&dr.default.extname(t.name)===".html"&&(yield dr.default.join(A,t.name))}async function*xO(A,e){let t=Jm(A);for await(let r of t)try{let s=await oa.default.readFile(r,"utf8"),n=LO(s,e);yield{path:r,content:n}}catch(s){Ie(Wu,s)}}var ga=S(require("node:fs/promises")),ca=S(require("node:path"));var aa=A=>A.replace(/\/+$/,"");async function HO(A){try{return await ga.default.readFile(A,"utf-8")}catch(e){return e.code==="ENOENT"?d.verbose(`client template for llms.txt file not found at ${A}, using defaults.`):d.error(`Unexpected error reading ${A}:`,e),`{{ LLMS_HEADER }}
|
|
172
172
|
|
|
173
|
-
{{ LLMS_PAGE_LINKS }}`}}async function
|
|
174
|
-
`),{__root:i,__components:a}=await
|
|
175
|
-
Generated: ${new Date().toISOString().replace("T"," ").slice(0,19)}`,
|
|
173
|
+
{{ LLMS_PAGE_LINKS }}`}}async function Pm(A){if(Tu){d.verbose(`${A} skipped llms.txt generation: disabled by environment variable.`);return}let e=ys?".md":"";try{let r=(await ee()).domains[A];if(!r?.id)throw new Error(`Domain configuration or ID not found for domain: ${A}`);let s=r.id,n=[];try{let[B,y]=xD,C=`${B}${s}${y}`;n=await Ye({endpoint:C})}catch(B){d.error(`Failed to fetch LLM data for domain ${A}. Aborting llms.txt generation.`,B);return}let o=n.map(({title:B,url:y,socialDescription:C})=>{let f=C?`: ${C}`:"",D=aa(y),M=(()=>{try{return new URL(y).pathname==="/"}catch{return y==="/"||y===""}})(),F=ys&&M?`${D}/index.md`:`${D}${e}`;return`- [${B}](${F})${f}`}).join(`
|
|
174
|
+
`),{__root:i,__components:a}=await q({domain:A}),c=ca.default.join(a,"static/llms.md"),g=await HO(c),Q=`llms.txt for the domain ${A}
|
|
175
|
+
Generated: ${new Date().toISOString().replace("T"," ").slice(0,19)}`,u=g.replace(/\{\{\s*LLMS_HEADER\s*\}\}/g,`${Q}`).replace(/\{\{\s*LLMS_PAGE_LINKS\s*\}\}/g,`${o}`),l=ca.default.join(i,"current-dist"),E=ca.default.join(l,"llms.txt");await ga.default.mkdir(l,{recursive:!0}),await ga.default.writeFile(E,u,"utf-8"),d.verbose(`Successfully generated llms.txt at ${E}`)}catch(t){d.error(`Critical error generating llms.txt for ${A}:`,t)}}async function qm(A){let{domain:e}=A;await Pm(e),await Vm(e)}async function Wm(A){let{domain:e}=A;await jD(e)}var _m=require("node:crypto"),uu=S(require("node:fs/promises")),Qu=S(require("node:path"));var YO=32;function Zm(A){return(0,_m.createHash)("sha256").update(A,"utf-8").digest("hex").slice(0,YO)}function hu(A){return Pn?`${Zm(A)}.txt`:null}async function jm(A){let e=hu(A);if(!e)return;let t=Zm(A),{__root:r}=await q({domain:A}),s=Qu.default.join(r,"current-dist"),n=Qu.default.join(s,e);try{await uu.default.mkdir(s,{recursive:!0}),await uu.default.writeFile(n,t,"utf-8"),d.verbose(`indexnow: wrote host-key file ${n}`)}catch(o){d.warn(`indexnow: failed to write host-key file ${n}: ${o?.message??String(o)}`)}}var Xm=S(require("node:fs/promises")),Iu=S(require("node:path"));async function GO(){return(await Ye({endpoint:kD}))?.filter(e=>!!e.path).map(({path:e,content:t})=>({path:e,content:t||`User-agent: *
|
|
176
176
|
\r
|
|
177
|
-
\rAllow: /`}))||[]}async function
|
|
177
|
+
\rAllow: /`}))||[]}async function Km(A){let{__root:e}=await q({domain:A}),t=Iu.default.join(e,"current-dist"),r=(await GO()).find(({path:s})=>s===`/${A}`);if(!r){d.info(`Robots not found for ${A}`);return}if(await $(t)){let s=Iu.default.join(t,"robots.txt");await Xm.default.writeFile(s,r?.content),d.verbose(`wrote robots.txt to ${s}`)}else d.info(`${t} not found`)}var On=S(require("node:fs/promises")),fr=S(require("node:path"));function zm(A){return A.replace(/[<>&'"”]/g,e=>{switch(e){case"<":return"<";case">":return">";case"&":return"&";case"'":return"'";case'"':return""";case"\u201D":return""";default:return e}})}function $m(A){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
178
178
|
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">
|
|
179
179
|
${A.map(t=>` <url>
|
|
180
|
-
<loc>${
|
|
180
|
+
<loc>${zm(t.loc)}</loc>
|
|
181
181
|
<lastmod>${t.lastmod}</lastmod>
|
|
182
182
|
<priority>${t.priority}</priority>
|
|
183
183
|
</url>`).join(`
|
|
184
184
|
`)}
|
|
185
|
-
</urlset>`}function
|
|
185
|
+
</urlset>`}function ew(A){return`<?xml version="1.0" encoding="UTF-8"?>
|
|
186
186
|
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
187
187
|
${A.map(t=>` <sitemap>
|
|
188
|
-
<loc>${
|
|
188
|
+
<loc>${zm(t)}</loc>
|
|
189
189
|
</sitemap>`).join(`
|
|
190
190
|
`)}
|
|
191
|
-
</sitemapindex>`}async function Wm(A){let{__root:e}=await K(),{sitesToPublish:t}=await qi(A),r=Cr.default.join(e,"current-dist"),s="sitemap-",n=o=>o==="sitemap.xml"||o.startsWith(s)&&o.endsWith(".xml");for(let o of t){let{id:i,languages:a}=o;for(let c of a){let g=At.headers?{...At.headers}:{};g.lang=c.id.toString();let h=await Em({siteId:i,headers:g});if(!h)continue;let{items:Q,url:l}=h,{home:E,domain:B}=l;if(!E)continue;let D=o.domains.find(w=>Object.keys(w)[0]===c.id.toString());if(!D)continue;let C=Object.values(D)[0],f=[],y=Object.keys(Q),T=Cr.default.join(r,C.replace(B,""));if(await $(T))try{let w=await Yn.default.readdir(T);for(let F of w)if(n(F)){let L=Cr.default.join(T,F);try{await Yn.default.rm(L)}catch(z){d.error(`Error deleting file ${L}:`,z)}}}catch(w){d.error(`Error reading ${T}:`,w)}for(let w of y){let F=Q[w];if(!F.length)continue;let L=Jm(F),z=`/${s}${w.toLowerCase()}.xml`,fe=Cr.default.join(T,z);await qm(fe,L),d.verbose(`sitemap generated in ${fe}`),f.push(`${E.endsWith("/")?E.slice(0,-1):E}${z}`)}if(!f.length)continue;let U=Pm(f),k=Cr.default.join(T,"sitemap.xml");await qm(k,U),d.verbose(`sitemap generated in ${k}`)}}}async function qm(A,e){try{let t=Cr.default.dirname(A);await $(t)||await Yn.default.mkdir(t,{recursive:!0}),await Yn.default.writeFile(A,e)}catch{throw new Error("Error saving a file")}}async function _m(A){let{domain:e}=A;await Wm(e),await Vm(e)}async function Zm(A){let{renderArtifacts:e}=A;await vQ(e.initials)}var jm=b(require("node:fs/promises")),gQ=b(require("node:path"));async function Xm(A){let{pathsHydratedWithDomain:{__root:e,__ssg:t}}=A,r=gQ.default.join(t,"public"),s=gQ.default.join(e,"current-dist");A.workingDistDir=s,await jm.default.rename(r,s)}async function Km(A){let{domain:e}=A;await KD(e)}async function zm(A){let{renderMode:e,ssg:{ssgArtifacts:t},renderArtifacts:r,pathsHydratedWithDomain:{__components:s,__root:n,__cache:o,__ssg:i}}=A;await JQ(s,i,["static"]),e===he.INCREMENTAL&&(await xt(o,i,t.cacheables),await xt(o,n,r.cacheables))}var $m=require("node:child_process"),ew=b(require("node:path"));async function Aw(A){d.verbose(`read assetPrefixWithDomain, ${A}`),d.verbose(`using this NODE_OPTIONS in gatsby command: ${process.env.NODE_OPTIONS}`);let{__ssg:e}=await K(),t=process.env.NODE_OPTIONS?process.env.NODE_OPTIONS.replace(/--openssl-legacy-provider\s*/g,"").trim():"",r=ew.default.join(e,"node_modules",".bin","gatsby"),s=["build","--prefix-paths"];return NQ&&s.push("--verbose"),process.env.NO_COLORS&&s.push("--no-colors"),new Promise((n,o)=>{let i=(0,$m.spawn)(r,s,{cwd:e,stdio:["ignore","inherit","inherit"],env:{...process.env,SPAWN_ASSET_PREFIX_WITH_DOMAIN:A,NODE_OPTIONS:t}});i.on("close",a=>{a===0?n():o(new Error(`Gatsby build failed with exit code ${a}`))}),i.on("error",a=>{o(new Error(`Failed to start Gatsby build process: ${a.message}`))})})}async function tw(A){let{ssg:{assetPrefix:e}}=A;await Aw(e)}var ia=b(require("node:fs/promises")),aa=b(require("node:path"));var Mt=b(require("node:fs/promises")),Qe=b(require("node:path"));async function rw(A,e){let{exports:t,root:r}=e,s=(await Mt.default.readdir(Qe.default.join(t,"dist"))).filter(o=>Qe.default.extname(o)===".js"||Qe.default.extname(o)===".json"||Qe.default.extname(o)===".css");await Mt.default.mkdir(Qe.default.join(r,"assets"),{recursive:!0}),await Mt.default.cp(Qe.default.join(t,"dist","page-data"),Qe.default.join(r,"assets","page-data"),{preserveTimestamps:!0,recursive:!0}),await $(Qe.default.join(r,"static"))&&await Mt.default.cp(Qe.default.join(r,"static"),Qe.default.join(r,"assets"),{force:!1,preserveTimestamps:!0,recursive:!0}),await $(Qe.default.join(t,"dist","static"))&&await Mt.default.cp(Qe.default.join(t,"dist","static"),Qe.default.join(r,"assets","static"),{force:!1,preserveTimestamps:!0,recursive:!0}),await $(Qe.default.join(r,"static"))&&await Mt.default.cp(Qe.default.join(r,"static"),Qe.default.join(t,"dist",A),{preserveTimestamps:!0,recursive:!0,force:!1});let n=s.map(o=>{let i=Qe.default.join(t,"dist",o),a=Qe.default.join(r,"assets",o);return Mt.default.cp(i,a,{preserveTimestamps:!0,recursive:!0})});await Promise.all(n)}var pA=b(require("node:fs/promises")),de=b(require("node:path"));var nw=require("node:crypto"),Gn=b(require("node:fs/promises")),ow=require("node:path");var RO=[/\.js$/];async function sw(A){let e=new Map;try{let r=(await Gn.default.readdir(A)).filter(s=>RO.some(n=>n.test(s)));for(let s of r){let n=(0,ow.join)(A,s),o=await Gn.default.readFile(n),i=(0,nw.createHash)("sha256").update(o).digest("hex");e.set(s,i)}return e}catch(t){return d.build(`ERROR: Error processing directory ${A}: ${t}`),e}}async function iw(A,e){let[t,r]=await Promise.all([sw(A),sw(e)]);if(t.size!==r.size)return!0;for(let[s,n]of t.entries()){let o=r.get(s);if(!o||n!==o)return!0}return!1}async function aw(A,e){try{let t=await Gn.default.readFile(A,"utf-8"),r=/(window\.___webpackCompilationHash=")([^"]*)(";<\/script>)/,s=t.replace(r,`$1${e}$3`);if(t===s)return;await Gn.default.writeFile(A,s,"utf-8")}catch(t){d.error(`Failed to process file ${A}: ${t}`)}}var oa=class{bundleDir;currentRenderDir;pagesToCreate;pagesToDelete;assetArtifacts;state={mdToAdd:[],htmlToAdd:[],jsonToAdd:[],htmlToDelete:[],jsonToDelete:[],mdToDelete:[]};constructor(e){this.bundleDir=e.dst,this.currentRenderDir=e.src,this.pagesToCreate=e.pagesToCreate,this.pagesToDelete=e.pagesToDelete,this.assetArtifacts=e.artifactsToCopyToExports}async execute(){await this.setPagesToDelete(),await this.setPagesToAdd(),await this.sync(),SQ&&await this.assertAssetsAreValid()}async assertAssetsAreValid(){await iw(this.currentRenderDir,this.bundleDir)?d.info("Warning: JavaScript and CSS bundles must have the same files and content. You can ignore this warning if the rendering process only has pages to unpublish."):d.info("Previous and current JavaScript and CSS packages successfully matched")}async setPagesToDelete(){let e=new Set([...this.pagesToDelete,...this.pagesToCreate]),t=await this.scanPages(this.bundleDir);for(let r of t)e.has(r.id)&&(this.state.htmlToDelete.push(r.htmlPath),this.state.jsonToDelete.push(r.jsonPath),this.state.mdToDelete.push(r.mdPath));d.verbose(`${this.state.htmlToDelete.length} pages HTML to delete`),d.verbose(`${this.state.mdToDelete.length} pages Markdown to delete`),d.verbose(`${this.state.jsonToDelete.length} pages JSON to delete`)}async setPagesToAdd(){let e=new Set(this.pagesToCreate),t=await this.scanPages(this.currentRenderDir);for(let r of t)if(e.has(r.id)){let s=de.default.join(this.bundleDir,r.composePath,"index.html"),n=de.default.join(this.bundleDir,`${r.composePath}.md`),o=r.composePath===""||r.composePath==="/"?"index":r.composePath,i=de.default.join(this.bundleDir,"page-data",o,"page-data.json");this.state.htmlToAdd.push({from:r.htmlPath,to:s}),this.state.jsonToAdd.push({from:r.jsonPath,to:i}),await $(r.mdPath)&&this.state.mdToAdd.push({from:r.mdPath,to:n})}d.verbose(`${this.state.htmlToAdd.length} pages HTML to create`),d.verbose(`${this.state.jsonToAdd.length} pages JSON to create`)}async sync(){let e=[...this.state.htmlToDelete,...this.state.jsonToDelete,...this.state.mdToDelete];for(let r of e)try{await pA.default.rm(r,{force:!0}),d.verbose(`Sync (remove) : ${r}`)}catch(s){d.error(`Failed to remove ${r}:`,s)}await this.restoreWebpackCompilationHash();let t=[...this.state.htmlToAdd,...this.state.jsonToAdd,...this.state.mdToAdd];for(let r of t)try{await pA.default.mkdir(de.default.dirname(r.to),{recursive:!0}),await pA.default.copyFile(r.from,r.to),d.verbose(`Sync (copy) : ${r.from} -> ${r.to}`)}catch(s){d.error(`Failed to copy ${r.from} to ${r.to}:`,s)}await this.copyAssetArtifacts(),await this.copySitemaps()}async restoreWebpackCompilationHash(){let e=de.default.join(this.bundleDir,"page-data","app-data.json"),t=JSON.parse(await pA.default.readFile(e,"utf8")).webpackCompilationHash;d.verbose(`Reading webpackCompilationHash from ${e}: ${t}`);let r=this.state.htmlToAdd.map(({from:s})=>s);d.info(`Patching ${r.length} HTML files with the new webpackCompilationHash (${t})...`);for(let s of r)Tn(`Patching HTML file ${s} with the new webpackCompilationHash`),await aw(s,t)}async copyAssetArtifacts(){for(let e of this.assetArtifacts){let t=de.default.join(this.currentRenderDir,e),r=de.default.join(this.bundleDir,e);try{await pA.default.mkdir(de.default.dirname(r),{recursive:!0}),await pA.default.copyFile(t,r),d.verbose(`Copied artifact: ${e}`)}catch(s){d.error(`Failed to copy artifact ${t} to ${r}:`,s)}}}async copySitemaps(){let e=de.default.resolve(this.currentRenderDir),t=de.default.resolve(this.bundleDir),r=fs(t,".xml");for await(let n of r){let o=de.default.basename(n);(o.startsWith("sitemap-")||o==="sitemap.xml")&&await pA.default.rm(n,{force:!0})}let s=fs(e,".xml");for await(let n of s){let o=de.default.relative(e,n),i=de.default.join(t,o);try{await pA.default.mkdir(de.default.dirname(i),{recursive:!0}),await pA.default.copyFile(n,i)}catch(a){d.error(`Failed to copy sitemap ${n} to ${i}:`,a)}}d.verbose("Copied sitemap files.")}async scanPages(e){let t=Ln(32),r=fs(de.default.join(e,"page-data"),"page-data.json"),s=[];for await(let o of r)s.push(t(async()=>{try{let i=await pA.default.readFile(o,"utf-8"),a=JSON.parse(i),c=a.result.pageContext.id,g=ra(a.result.pageContext.fullPath.compose);return{id:c,composePath:g,htmlPath:de.default.join(e,g,"index.html"),mdPath:de.default.join(e,`${g}.md`),jsonPath:o}}catch(i){return d.error(`Error reading or parsing page data from ${o}:`,i),null}}));return(await Promise.all(s)).filter(o=>o!==null)}};async function cw(A){let{renderMode:e,renderArtifacts:t,domain:r,pagesToCreate:s,pagesToDelete:n,pathsHydratedWithDomain:{__root:o,__ssg:i,__cache:a,__exports:c},ssg:{ssgArtifacts:g,assetPrefix:h}}=A,Q=!!h&&h!=="",l=aa.default.join(o,"current-dist"),E=aa.default.join(c,"dist");await Promise.all([xt(o,a,t.cacheables,{override:!0}),xt(i,a,g.cacheables,{override:!0})]),e===he.FROM_SCRATCH&&(await Ba(l),await ia.default.rm(E,{force:!0,recursive:!0}),await ia.default.rename(l,E)),e===he.INCREMENTAL&&(await Ba(E),await new oa({src:l,dst:E,pagesToCreate:s,pagesToDelete:n,artifactsToCopyToExports:["build-report.json","llms.txt","robots.txt"]}).execute(),await ia.default.rm(l,{force:!0,recursive:!0}),await Ca(aa.default.join(c,"dist"))),Q&&await rw(r,{root:o,exports:c}),await xt(o,c,t.archivables,{override:!0})}var Re={clean:$D,close:em,data:Fm,dryRenderSync:bm,healthCheck:Um,init:Mm,llms:Ym,logs:Gm,meta:_m,prepare:Zm,relocation:Xm,report:Km,restore:zm,ssg:tw,sync:cw};var ca=b(require("node:path"));async function gw(){let{ssg:A}=(await ee()).paths;return{disposables:[ca.default.join(A,"public"),ca.default.join(A,"static"),ca.default.join(A,".cache")],cacheables:[".cache"]}}async function lw(){let A=await ee();A.needsRollbackOnError=!0,await eA(A),d.info(`Render lifecycles that follow will restore the exports dir on error if needed
|
|
192
|
-
`)}async function
|
|
193
|
-
`)}async function
|
|
194
|
-
`);let E=new
|
|
191
|
+
</sitemapindex>`}async function tw(A){let{__root:e}=await q(),{sitesToPublish:t}=await _i(A),r=fr.default.join(e,"current-dist"),s="sitemap-",n=o=>o==="sitemap.xml"||o.startsWith(s)&&o.endsWith(".xml");for(let o of t){let{id:i,languages:a}=o;for(let c of a){let g=At.headers?{...At.headers}:{};g.lang=c.id.toString();let Q=await Cm({siteId:i,headers:g});if(!Q)continue;let{items:u,url:l}=Q,{home:E,domain:B}=l;if(!E)continue;let y=o.domains.find(w=>Object.keys(w)[0]===c.id.toString());if(!y)continue;let C=Object.values(y)[0],f=[],D=Object.keys(u),M=fr.default.join(r,C.replace(B,""));if(await $(M))try{let w=await On.default.readdir(M);for(let b of w)if(n(b)){let k=fr.default.join(M,b);try{await On.default.rm(k)}catch(z){d.error(`Error deleting file ${k}:`,z)}}}catch(w){d.error(`Error reading ${M}:`,w)}for(let w of D){let b=u[w];if(!b.length)continue;let k=$m(b),z=`/${s}${w.toLowerCase()}.xml`,fe=fr.default.join(M,z);await Aw(fe,k),d.verbose(`sitemap generated in ${fe}`),f.push(`${E.endsWith("/")?E.slice(0,-1):E}${z}`)}if(!f.length)continue;let F=ew(f),L=fr.default.join(M,"sitemap.xml");await Aw(L,F),d.verbose(`sitemap generated in ${L}`)}}}async function Aw(A,e){try{let t=fr.default.dirname(A);await $(t)||await On.default.mkdir(t,{recursive:!0}),await On.default.writeFile(A,e)}catch{throw new Error("Error saving a file")}}async function rw(A){let{domain:e}=A;await tw(e),await Km(e),await jm(e)}async function sw(A){let{renderArtifacts:e}=A;await ju(e.initials)}var nw=S(require("node:fs/promises")),Bu=S(require("node:path"));async function ow(A){let{pathsHydratedWithDomain:{__root:e,__ssg:t}}=A,r=Bu.default.join(t,"public"),s=Bu.default.join(e,"current-dist");A.workingDistDir=s,await nw.default.rename(r,s)}async function iw(A){let{domain:e}=A;await sm(e)}async function aw(A){let{renderMode:e,ssg:{ssgArtifacts:t},renderArtifacts:r,pathsHydratedWithDomain:{__components:s,__root:n,__cache:o,__ssg:i}}=A;await Xu(s,i,["static"]),e===he.INCREMENTAL&&(await Ht(o,i,t.cacheables),await Ht(o,n,r.cacheables))}var cw=require("node:child_process"),gw=S(require("node:path"));async function lw(A){d.verbose(`read assetPrefixWithDomain, ${A}`),d.verbose(`using this NODE_OPTIONS in gatsby command: ${process.env.NODE_OPTIONS}`);let{__ssg:e}=await q(),t=process.env.NODE_OPTIONS?process.env.NODE_OPTIONS.replace(/--openssl-legacy-provider\s*/g,"").trim():"",r=gw.default.join(e,"node_modules",".bin","gatsby"),s=["build","--prefix-paths"];return Lu&&s.push("--verbose"),process.env.NO_COLORS&&s.push("--no-colors"),new Promise((n,o)=>{let i=(0,cw.spawn)(r,s,{cwd:e,stdio:["ignore","inherit","inherit"],env:{...process.env,SPAWN_ASSET_PREFIX_WITH_DOMAIN:A,NODE_OPTIONS:t}});i.on("close",a=>{a===0?n():o(new Error(`Gatsby build failed with exit code ${a}`))}),i.on("error",a=>{o(new Error(`Failed to start Gatsby build process: ${a.message}`))})})}async function Ew(A){let{ssg:{assetPrefix:e}}=A;await lw(e)}var Ea=S(require("node:fs/promises")),ua=S(require("node:path"));var Tt=S(require("node:fs/promises")),Qe=S(require("node:path"));async function uw(A,e){let{exports:t,root:r}=e,s=(await Tt.default.readdir(Qe.default.join(t,"dist"))).filter(o=>Qe.default.extname(o)===".js"||Qe.default.extname(o)===".json"||Qe.default.extname(o)===".css");await Tt.default.mkdir(Qe.default.join(r,"assets"),{recursive:!0}),await Tt.default.cp(Qe.default.join(t,"dist","page-data"),Qe.default.join(r,"assets","page-data"),{preserveTimestamps:!0,recursive:!0}),await $(Qe.default.join(r,"static"))&&await Tt.default.cp(Qe.default.join(r,"static"),Qe.default.join(r,"assets"),{force:!1,preserveTimestamps:!0,recursive:!0}),await $(Qe.default.join(t,"dist","static"))&&await Tt.default.cp(Qe.default.join(t,"dist","static"),Qe.default.join(r,"assets","static"),{force:!1,preserveTimestamps:!0,recursive:!0}),await $(Qe.default.join(r,"static"))&&await Tt.default.cp(Qe.default.join(r,"static"),Qe.default.join(t,"dist",A),{preserveTimestamps:!0,recursive:!0,force:!1});let n=s.map(o=>{let i=Qe.default.join(t,"dist",o),a=Qe.default.join(r,"assets",o);return Tt.default.cp(i,a,{preserveTimestamps:!0,recursive:!0})});await Promise.all(n)}var yA=S(require("node:fs/promises")),de=S(require("node:path"));var hw=require("node:crypto"),vn=S(require("node:fs/promises")),Iw=require("node:path");var OO=[/\.js$/];async function Qw(A){let e=new Map;try{let r=(await vn.default.readdir(A)).filter(s=>OO.some(n=>n.test(s)));for(let s of r){let n=(0,Iw.join)(A,s),o=await vn.default.readFile(n),i=(0,hw.createHash)("sha256").update(o).digest("hex");e.set(s,i)}return e}catch(t){return d.build(`ERROR: Error processing directory ${A}: ${t}`),e}}async function Bw(A,e){let[t,r]=await Promise.all([Qw(A),Qw(e)]);if(t.size!==r.size)return!0;for(let[s,n]of t.entries()){let o=r.get(s);if(!o||n!==o)return!0}return!1}async function Cw(A,e){try{let t=await vn.default.readFile(A,"utf-8"),r=/(window\.___webpackCompilationHash=")([^"]*)(";<\/script>)/,s=t.replace(r,`$1${e}$3`);if(t===s)return;await vn.default.writeFile(A,s,"utf-8")}catch(t){d.error(`Failed to process file ${A}: ${t}`)}}var la=class{bundleDir;currentRenderDir;pagesToCreate;pagesToDelete;assetArtifacts;state={mdToAdd:[],htmlToAdd:[],jsonToAdd:[],htmlToDelete:[],jsonToDelete:[],mdToDelete:[]};constructor(e){this.bundleDir=e.dst,this.currentRenderDir=e.src,this.pagesToCreate=e.pagesToCreate,this.pagesToDelete=e.pagesToDelete,this.assetArtifacts=e.artifactsToCopyToExports}async execute(){await this.setPagesToDelete(),await this.setPagesToAdd(),await this.sync(),ku&&await this.assertAssetsAreValid()}async assertAssetsAreValid(){await Bw(this.currentRenderDir,this.bundleDir)?d.info("Warning: JavaScript and CSS bundles must have the same files and content. You can ignore this warning if the rendering process only has pages to unpublish."):d.info("Previous and current JavaScript and CSS packages successfully matched")}async setPagesToDelete(){let e=new Set([...this.pagesToDelete,...this.pagesToCreate]),t=await this.scanPages(this.bundleDir);for(let r of t)e.has(r.id)&&(this.state.htmlToDelete.push(r.htmlPath),this.state.jsonToDelete.push(r.jsonPath),this.state.mdToDelete.push(r.mdPath));d.verbose(`${this.state.htmlToDelete.length} pages HTML to delete`),d.verbose(`${this.state.mdToDelete.length} pages Markdown to delete`),d.verbose(`${this.state.jsonToDelete.length} pages JSON to delete`)}async setPagesToAdd(){let e=new Set(this.pagesToCreate),t=await this.scanPages(this.currentRenderDir);for(let r of t)if(e.has(r.id)){let s=de.default.join(this.bundleDir,r.composePath,"index.html"),n=de.default.join(this.bundleDir,`${r.composePath}.md`),o=r.composePath==="/"?"index":r.composePath,i=de.default.join(this.bundleDir,"page-data",o,"page-data.json");this.state.htmlToAdd.push({from:r.htmlPath,to:s}),this.state.jsonToAdd.push({from:r.jsonPath,to:i}),await $(r.mdPath)&&this.state.mdToAdd.push({from:r.mdPath,to:n})}d.verbose(`${this.state.htmlToAdd.length} pages HTML to create`),d.verbose(`${this.state.jsonToAdd.length} pages JSON to create`)}async sync(){let e=[...this.state.htmlToDelete,...this.state.jsonToDelete,...this.state.mdToDelete];for(let r of e)try{await yA.default.rm(r,{force:!0}),d.verbose(`Sync (remove) : ${r}`)}catch(s){d.error(`Failed to remove ${r}:`,s)}await this.restoreWebpackCompilationHash();let t=[...this.state.htmlToAdd,...this.state.jsonToAdd,...this.state.mdToAdd];for(let r of t)try{await yA.default.mkdir(de.default.dirname(r.to),{recursive:!0}),await yA.default.copyFile(r.from,r.to),d.verbose(`Sync (copy) : ${r.from} -> ${r.to}`)}catch(s){d.error(`Failed to copy ${r.from} to ${r.to}:`,s)}await this.copyAssetArtifacts(),await this.copySitemaps()}async restoreWebpackCompilationHash(){let e=de.default.join(this.bundleDir,"page-data","app-data.json"),t=JSON.parse(await yA.default.readFile(e,"utf8")).webpackCompilationHash;d.verbose(`Reading webpackCompilationHash from ${e}: ${t}`);let r=this.state.htmlToAdd.map(({from:s})=>s);d.info(`Patching ${r.length} HTML files with the new webpackCompilationHash (${t})...`);for(let s of r)xn(`Patching HTML file ${s} with the new webpackCompilationHash`),await Cw(s,t)}async copyAssetArtifacts(){for(let e of this.assetArtifacts){let t=de.default.join(this.currentRenderDir,e),r=de.default.join(this.bundleDir,e);try{await yA.default.mkdir(de.default.dirname(r),{recursive:!0}),await yA.default.copyFile(t,r),d.verbose(`Copied artifact: ${e}`)}catch(s){d.error(`Failed to copy artifact ${t} to ${r}:`,s)}}}async copySitemaps(){let e=de.default.resolve(this.currentRenderDir),t=de.default.resolve(this.bundleDir),r=Ds(t,".xml");for await(let n of r){let o=de.default.basename(n);(o.startsWith("sitemap-")||o==="sitemap.xml")&&await yA.default.rm(n,{force:!0})}let s=Ds(e,".xml");for await(let n of s){let o=de.default.relative(e,n),i=de.default.join(t,o);try{await yA.default.mkdir(de.default.dirname(i),{recursive:!0}),await yA.default.copyFile(n,i)}catch(a){d.error(`Failed to copy sitemap ${n} to ${i}:`,a)}}d.verbose("Copied sitemap files.")}async scanPages(e){let t=Cr(32),r=Ds(de.default.join(e,"page-data"),"page-data.json"),s=[];for await(let o of r)s.push(t(async()=>{try{let i=await yA.default.readFile(o,"utf-8"),a=JSON.parse(i),c=a.result.pageContext.id,g=aa(a.result.pageContext.fullPath.compose);return{id:c,composePath:g,htmlPath:de.default.join(e,g,"index.html"),mdPath:de.default.join(e,`${g}.md`),jsonPath:o}}catch(i){return d.error(`Error reading or parsing page data from ${o}:`,i),null}}));return(await Promise.all(s)).filter(o=>o!==null)}};async function dw(A){let{renderMode:e,renderArtifacts:t,domain:r,pagesToCreate:s,pagesToDelete:n,pathsHydratedWithDomain:{__root:o,__ssg:i,__cache:a,__exports:c},ssg:{ssgArtifacts:g,assetPrefix:Q}}=A,u=!!Q&&Q!=="",l=ua.default.join(o,"current-dist"),E=ua.default.join(c,"dist");if(await Promise.all([Ht(o,a,t.cacheables,{override:!0}),Ht(i,a,g.cacheables,{override:!0})]),e===he.FROM_SCRATCH&&(await pa(l),await Ea.default.rm(E,{force:!0,recursive:!0}),await Ea.default.rename(l,E)),e===he.INCREMENTAL){await pa(E);let B=["build-report.json","llms.txt","robots.txt"],y=hu(r);y&&B.push(y),await new la({src:l,dst:E,pagesToCreate:s,pagesToDelete:n,artifactsToCopyToExports:B}).execute(),await Ea.default.rm(l,{force:!0,recursive:!0}),await ya(ua.default.join(c,"dist"))}u&&await uw(r,{root:o,exports:c}),await Ht(o,c,t.archivables,{override:!0})}var Re={clean:om,close:im,data:xm,dryRenderSync:Hm,healthCheck:Ym,init:Gm,llms:qm,logs:Wm,meta:rw,prepare:sw,relocation:ow,report:iw,restore:aw,ssg:Ew,sync:dw};var Qa=S(require("node:path"));async function fw(){let{ssg:A}=(await ee()).paths;return{disposables:[Qa.default.join(A,"public"),Qa.default.join(A,"static"),Qa.default.join(A,".cache")],cacheables:[".cache"]}}async function pw(){let A=await ee();A.needsRollbackOnError=!0,await eA(A),d.info(`Render lifecycles that follow will restore the exports dir on error if needed
|
|
192
|
+
`)}async function yw(){let A=await ee();A.needsRollbackOnError=!1,await eA(A),d.info(`Render lifecycles that follow will not restore the exports dir on error
|
|
193
|
+
`)}async function mw(A){await _D();let{renderMode:e,reason:t}=await rm(A),r=await tu(),s=await q({domain:A}),{__ssg:n}=s,o=await nm(A),i=await fw(),a=Ca?`${Ca}/${A}`:"",c=await $(Dw.default.join(n,`.render-sentinel-${A}`)),g=c?he.FROM_SCRATCH:e,Q=c?"previous render error":t,u=await ee();if(u.domains[A].renderMode=g,u.domains[A].renderModeReason=Q,u.domains[A].isRendering=!1,e===he.IDLE&&g===he.IDLE){d.info(`(Pre-check) ${A}\xA0skipped start-render it is marked as <${he.IDLE}> with the reason <${t}>`);return}u.domains[A].isRendering=!0,u.currentRenderingDomain=A,await eA(u);let l=Q?` <${Q}>`:"";d.info(`Init render ${A} <${g}> with the reason${l}
|
|
194
|
+
`);let E=new Zi({domain:A,pathsHydratedWithDomain:s,renderArtifacts:o,renderMetadata:r,renderMode:g,ssg:{assetPrefix:a,ssgArtifacts:i},dryRun:!!u.domains[A].dryRun,buildReportFileName:u.buildReportFileName}),B=E.dryRun?"dry-render is enabled":!1,y=E.dryRun?!1:"dry-render is disabled",C=mr?!1:"Build logs to file are disabled",f=g==="FROM_SCRATCH"?!1:B,D=g==="FROM_SCRATCH"&&E.dryRun?"wet-render is forced enabled by FROM_SCRATCH render mode":y;await we("Init",async()=>Re.init(E)),await we("Clean",async()=>Re.clean(E)),await we("Prepare",async()=>Re.prepare(E)),await we("Restore",async()=>Re.restore(E)),await pw(),await we("Data",async()=>Re.data(E)),await we("SSG",async()=>Re.ssg(E),{skip:f}),await we("Relocation",async()=>Re.relocation(E),{skip:f}),await we("Meta",async()=>Re.meta(E),{skip:f}),await we("LLMS",async()=>Re.llms(E),{skip:f}),await we("Report",async()=>Re.report(E)),await we("DryRunSync",async()=>Re.dryRenderSync(E),{skip:D}),await we("Sync",async()=>Re.sync(E),{skip:f}),await we("HealthCheck",async()=>Re.healthCheck(E)),await we("Logs",async()=>Re.logs(E),{skip:f||C}),await we("Close",async()=>Re.close(E)),await yw()}async function vO(){await At.login();let[A]=process.argv.slice(2);await mw(A)}async function VO(){await sQ(),await vO()}AQ(VO);
|
|
195
195
|
/*! Bundled license information:
|
|
196
196
|
|
|
197
197
|
undici/lib/web/fetch/body.js:
|