@oracle-agent/oracle 0.26.0 → 0.27.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/README.md +1 -1
- package/dist/assets/skills/oracle-desk-product/SKILL.md +1 -1
- package/dist/bin/desk-server.mjs +35 -79
- package/dist/bin/oracle-data-mcp.mjs +13 -57
- package/dist/bin/oracle-public-server.mjs +4 -48
- package/dist/bin/oracle-route.mjs +22 -66
- package/dist/bin/oracle-scan.mjs +15 -59
- package/dist/cli/commands/chat.mjs +100 -144
- package/dist/cli/commands/doctor.mjs +4 -4
- package/dist/cli/commands/eval.mjs +147 -190
- package/dist/cli/commands/farm.mjs +34 -78
- package/dist/cli/commands/follow.mjs +17 -61
- package/dist/cli/commands/model.mjs +105 -149
- package/dist/cli/commands/receipt.mjs +3 -3
- package/dist/cli/commands/resolve.mjs +13 -57
- package/dist/cli/commands/sign.mjs +14 -14
- package/dist/cli/commands/signer.mjs +14 -14
- package/dist/cli/commands/strategy.mjs +5 -49
- package/dist/cli/commands/swap.mjs +27 -71
- package/dist/cli/commands/venues.mjs +3 -3
- package/dist/data/desk-data.mjs +33 -77
- package/dist/data/names.mjs +2 -46
- package/dist/data/providers/farming.mjs +2 -46
- package/dist/index.mjs +37 -81
- package/dist/local-signer/anvil-attestation-worker.mjs +2 -0
- package/dist/local-signer/index.mjs +3 -3
- package/dist/local-signer/runtime.mjs +13 -0
- package/dist/nft/universal-mint-router.mjs +3 -47
- package/dist/router/index.mjs +2 -46
- package/dist/router/prepare-bridge.mjs +2 -46
- package/dist/scanner/index.mjs +4 -48
- package/dist/strategy/index.mjs +3 -47
- package/package.json +2 -1
- package/public/oracle-splash/_variants/ice.html +1 -1
- package/public/oracle-splash/_variants/ivory.html +1 -1
- package/public/oracle-splash/index.html +1 -1
|
@@ -1,47 +1,3 @@
|
|
|
1
|
-
var Ef=Object.create;var xs=Object.defineProperty;var Bf=Object.getOwnPropertyDescriptor;var If=Object.getOwnPropertyNames;var uf=Object.getPrototypeOf,Cf=Object.prototype.hasOwnProperty;var d=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(A,t)=>(typeof require<"u"?require:A)[t]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Un=(e,A,t)=>()=>{if(t)throw t[0];try{return e&&(A=e(e=0)),A}catch(r){throw t=[r],r}};var f=(e,A)=>()=>{try{return A||e((A={exports:{}}).exports,A),A.exports}catch(t){throw A=0,t}},hf=(e,A)=>{for(var t in A)xs(e,t,{get:A[t],enumerable:!0})},df=(e,A,t,r)=>{if(A&&typeof A=="object"||typeof A=="function")for(let n of If(A))!Cf.call(e,n)&&n!==t&&xs(e,n,{get:()=>A[n],enumerable:!(r=Bf(A,n))||r.enumerable});return e};var ff=(e,A,t)=>(t=e!=null?Ef(uf(e)):{},df(A||!e||!e.__esModule?xs(t,"default",{value:e,enumerable:!0}):t,e));var te=f((rT,nl)=>{nl.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var V=f((nT,bl)=>{"use strict";var il=Symbol.for("undici.error.UND_ERR"),re=class extends Error{constructor(A){super(A),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](A){return A&&A[il]===!0}[il]=!0},sl=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),Zs=class extends re{constructor(A){super(A),this.name="ConnectTimeoutError",this.message=A||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](A){return A&&A[sl]===!0}[sl]=!0},ol=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),Ks=class extends re{constructor(A){super(A),this.name="HeadersTimeoutError",this.message=A||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](A){return A&&A[ol]===!0}[ol]=!0},al=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),Xs=class extends re{constructor(A){super(A),this.name="HeadersOverflowError",this.message=A||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](A){return A&&A[al]===!0}[al]=!0},cl=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),js=class extends re{constructor(A){super(A),this.name="BodyTimeoutError",this.message=A||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](A){return A&&A[cl]===!0}[cl]=!0},gl=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"),$s=class extends re{constructor(A,t,r,n){super(A),this.name="ResponseStatusCodeError",this.message=A||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=n,this.status=t,this.statusCode=t,this.headers=r}static[Symbol.hasInstance](A){return A&&A[gl]===!0}[gl]=!0},ll=Symbol.for("undici.error.UND_ERR_INVALID_ARG"),eo=class extends re{constructor(A){super(A),this.name="InvalidArgumentError",this.message=A||"Invalid Argument Error",this.code="UND_ERR_INVALID_ARG"}static[Symbol.hasInstance](A){return A&&A[ll]===!0}[ll]=!0},Ql=Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE"),Ao=class extends re{constructor(A){super(A),this.name="InvalidReturnValueError",this.message=A||"Invalid Return Value Error",this.code="UND_ERR_INVALID_RETURN_VALUE"}static[Symbol.hasInstance](A){return A&&A[Ql]===!0}[Ql]=!0},El=Symbol.for("undici.error.UND_ERR_ABORT"),Gn=class extends re{constructor(A){super(A),this.name="AbortError",this.message=A||"The operation was aborted",this.code="UND_ERR_ABORT"}static[Symbol.hasInstance](A){return A&&A[El]===!0}[El]=!0},Bl=Symbol.for("undici.error.UND_ERR_ABORTED"),to=class extends Gn{constructor(A){super(A),this.name="AbortError",this.message=A||"Request aborted",this.code="UND_ERR_ABORTED"}static[Symbol.hasInstance](A){return A&&A[Bl]===!0}[Bl]=!0},Il=Symbol.for("undici.error.UND_ERR_INFO"),ro=class extends re{constructor(A){super(A),this.name="InformationalError",this.message=A||"Request information",this.code="UND_ERR_INFO"}static[Symbol.hasInstance](A){return A&&A[Il]===!0}[Il]=!0},ul=Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"),no=class extends re{constructor(A){super(A),this.name="RequestContentLengthMismatchError",this.message=A||"Request body length does not match content-length header",this.code="UND_ERR_REQ_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](A){return A&&A[ul]===!0}[ul]=!0},Cl=Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH"),io=class extends re{constructor(A){super(A),this.name="ResponseContentLengthMismatchError",this.message=A||"Response body length does not match content-length header",this.code="UND_ERR_RES_CONTENT_LENGTH_MISMATCH"}static[Symbol.hasInstance](A){return A&&A[Cl]===!0}[Cl]=!0},hl=Symbol.for("undici.error.UND_ERR_DESTROYED"),so=class extends re{constructor(A){super(A),this.name="ClientDestroyedError",this.message=A||"The client is destroyed",this.code="UND_ERR_DESTROYED"}static[Symbol.hasInstance](A){return A&&A[hl]===!0}[hl]=!0},dl=Symbol.for("undici.error.UND_ERR_CLOSED"),oo=class extends re{constructor(A){super(A),this.name="ClientClosedError",this.message=A||"The client is closed",this.code="UND_ERR_CLOSED"}static[Symbol.hasInstance](A){return A&&A[dl]===!0}[dl]=!0},fl=Symbol.for("undici.error.UND_ERR_SOCKET"),ao=class extends re{constructor(A,t){super(A),this.name="SocketError",this.message=A||"Socket error",this.code="UND_ERR_SOCKET",this.socket=t}static[Symbol.hasInstance](A){return A&&A[fl]===!0}[fl]=!0},pl=Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED"),co=class extends re{constructor(A){super(A),this.name="NotSupportedError",this.message=A||"Not supported error",this.code="UND_ERR_NOT_SUPPORTED"}static[Symbol.hasInstance](A){return A&&A[pl]===!0}[pl]=!0},wl=Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM"),go=class extends re{constructor(A){super(A),this.name="MissingUpstreamError",this.message=A||"No upstream has been added to the BalancedPool",this.code="UND_ERR_BPL_MISSING_UPSTREAM"}static[Symbol.hasInstance](A){return A&&A[wl]===!0}[wl]=!0},yl=Symbol.for("undici.error.UND_ERR_HTTP_PARSER"),lo=class extends Error{constructor(A,t,r){super(A),this.name="HTTPParserError",this.code=t?`HPE_${t}`:void 0,this.data=r?r.toString():void 0}static[Symbol.hasInstance](A){return A&&A[yl]===!0}[yl]=!0},ml=Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE"),Qo=class extends re{constructor(A){super(A),this.name="ResponseExceededMaxSizeError",this.message=A||"Response content exceeded max size",this.code="UND_ERR_RES_EXCEEDED_MAX_SIZE"}static[Symbol.hasInstance](A){return A&&A[ml]===!0}[ml]=!0},Dl=Symbol.for("undici.error.UND_ERR_REQ_RETRY"),Eo=class extends re{constructor(A,t,{headers:r,data:n}){super(A),this.name="RequestRetryError",this.message=A||"Request retry error",this.code="UND_ERR_REQ_RETRY",this.statusCode=t,this.data=n,this.headers=r}static[Symbol.hasInstance](A){return A&&A[Dl]===!0}[Dl]=!0},Fl=Symbol.for("undici.error.UND_ERR_RESPONSE"),Bo=class extends re{constructor(A,t,{headers:r,data:n}){super(A),this.name="ResponseError",this.message=A||"Response error",this.code="UND_ERR_RESPONSE",this.statusCode=t,this.data=n,this.headers=r}static[Symbol.hasInstance](A){return A&&A[Fl]===!0}[Fl]=!0},kl=Symbol.for("undici.error.UND_ERR_PRX_TLS"),Io=class extends re{constructor(A,t,r){super(t,{cause:A,...r??{}}),this.name="SecureProxyConnectionError",this.message=t||"Secure Proxy Connection failed",this.code="UND_ERR_PRX_TLS",this.cause=A}static[Symbol.hasInstance](A){return A&&A[kl]===!0}[kl]=!0},Rl=Symbol.for("undici.error.UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"),uo=class extends re{constructor(A){super(A),this.name="MessageSizeExceededError",this.message=A||"Max decompressed message size exceeded",this.code="UND_ERR_WS_MESSAGE_SIZE_EXCEEDED"}static[Symbol.hasInstance](A){return A&&A[Rl]===!0}get[Rl](){return!0}};bl.exports={AbortError:Gn,HTTPParserError:lo,UndiciError:re,HeadersTimeoutError:Ks,HeadersOverflowError:Xs,BodyTimeoutError:js,RequestContentLengthMismatchError:no,ConnectTimeoutError:Zs,ResponseStatusCodeError:$s,InvalidArgumentError:eo,InvalidReturnValueError:Ao,RequestAbortedError:to,ClientDestroyedError:so,ClientClosedError:oo,InformationalError:ro,SocketError:ao,NotSupportedError:co,ResponseContentLengthMismatchError:io,BalancedPoolMissingUpstreamError:go,ResponseExceededMaxSizeError:Qo,RequestRetryError:Eo,ResponseError:Bo,SecureProxyConnectionError:Io,MessageSizeExceededError:uo}});var vn=f((iT,Sl)=>{"use strict";var Yn={},Co=["Accept","Accept-Encoding","Accept-Language","Accept-Ranges","Access-Control-Allow-Credentials","Access-Control-Allow-Headers","Access-Control-Allow-Methods","Access-Control-Allow-Origin","Access-Control-Expose-Headers","Access-Control-Max-Age","Access-Control-Request-Headers","Access-Control-Request-Method","Age","Allow","Alt-Svc","Alt-Used","Authorization","Cache-Control","Clear-Site-Data","Connection","Content-Disposition","Content-Encoding","Content-Language","Content-Length","Content-Location","Content-Range","Content-Security-Policy","Content-Security-Policy-Report-Only","Content-Type","Cookie","Cross-Origin-Embedder-Policy","Cross-Origin-Opener-Policy","Cross-Origin-Resource-Policy","Date","Device-Memory","Downlink","ECT","ETag","Expect","Expect-CT","Expires","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Keep-Alive","Last-Modified","Link","Location","Max-Forwards","Origin","Permissions-Policy","Pragma","Proxy-Authenticate","Proxy-Authorization","RTT","Range","Referer","Referrer-Policy","Refresh","Retry-After","Sec-WebSocket-Accept","Sec-WebSocket-Extensions","Sec-WebSocket-Key","Sec-WebSocket-Protocol","Sec-WebSocket-Version","Server","Server-Timing","Service-Worker-Allowed","Service-Worker-Navigation-Preload","Set-Cookie","SourceMap","Strict-Transport-Security","Supports-Loading-Mode","TE","Timing-Allow-Origin","Trailer","Transfer-Encoding","Upgrade","Upgrade-Insecure-Requests","User-Agent","Vary","Via","WWW-Authenticate","X-Content-Type-Options","X-DNS-Prefetch-Control","X-Frame-Options","X-Permitted-Cross-Domain-Policies","X-Powered-By","X-Requested-With","X-XSS-Protection"];for(let e=0;e<Co.length;++e){let A=Co[e],t=A.toLowerCase();Yn[A]=Yn[t]=t}Object.setPrototypeOf(Yn,null);Sl.exports={wellknownHeaderNames:Co,headerNameLowerCasedRecord:Yn}});var Ll=f((sT,Ul)=>{"use strict";var{wellknownHeaderNames:Nl,headerNameLowerCasedRecord:wp}=vn(),ho=class e{value=null;left=null;middle=null;right=null;code;constructor(A,t,r){if(r===void 0||r>=A.length)throw new TypeError("Unreachable");if((this.code=A.charCodeAt(r))>127)throw new TypeError("key must be ascii string");A.length!==++r?this.middle=new e(A,t,r):this.value=t}add(A,t){let r=A.length;if(r===0)throw new TypeError("Unreachable");let n=0,i=this;for(;;){let s=A.charCodeAt(n);if(s>127)throw new TypeError("key must be ascii string");if(i.code===s)if(r===++n){i.value=t;break}else if(i.middle!==null)i=i.middle;else{i.middle=new e(A,t,n);break}else if(i.code<s)if(i.left!==null)i=i.left;else{i.left=new e(A,t,n);break}else if(i.right!==null)i=i.right;else{i.right=new e(A,t,n);break}}}search(A){let t=A.length,r=0,n=this;for(;n!==null&&r<t;){let i=A[r];for(i<=90&&i>=65&&(i|=32);n!==null;){if(i===n.code){if(t===++r)return n;n=n.middle;break}n=n.code<i?n.left:n.right}}return null}},Jn=class{node=null;insert(A,t){this.node===null?this.node=new ho(A,t,0):this.node.add(A,t)}lookup(A){return this.node?.search(A)?.value??null}},Ml=new Jn;for(let e=0;e<Nl.length;++e){let A=wp[Nl[e]];Ml.insert(A,A)}Ul.exports={TernarySearchTree:Jn,tree:Ml}});var x=f((oT,Kl)=>{"use strict";var Nr=d("node:assert"),{kDestroyed:xl,kBodyUsed:Ut,kListeners:fo,kBody:Tl}=te(),{IncomingMessage:yp}=d("node:http"),qn=d("node:stream"),mp=d("node:net"),{Blob:Dp}=d("node:buffer"),Fp=d("node:util"),{stringify:kp}=d("node:querystring"),{EventEmitter:Rp}=d("node:events"),{InvalidArgumentError:Be}=V(),{headerNameLowerCasedRecord:bp}=vn(),{tree:Gl}=Ll(),[Sp,Np]=process.versions.node.split(".").map(e=>Number(e)),Vn=class{constructor(A){this[Tl]=A,this[Ut]=!1}async*[Symbol.asyncIterator](){Nr(!this[Ut],"disturbed"),this[Ut]=!0,yield*this[Tl]}};function Mp(e){return Wn(e)?(Vl(e)===0&&e.on("data",function(){Nr(!1)}),typeof e.readableDidRead!="boolean"&&(e[Ut]=!1,Rp.prototype.on.call(e,"data",function(){this[Ut]=!0})),e):e&&typeof e.pipeTo=="function"?new Vn(e):e&&typeof e!="string"&&!ArrayBuffer.isView(e)&&Hl(e)?new Vn(e):e}function Up(){}function Wn(e){return e&&typeof e=="object"&&typeof e.pipe=="function"&&typeof e.on=="function"}function Yl(e){if(e===null)return!1;if(e instanceof Dp)return!0;if(typeof e!="object")return!1;{let A=e[Symbol.toStringTag];return(A==="Blob"||A==="File")&&("stream"in e&&typeof e.stream=="function"||"arrayBuffer"in e&&typeof e.arrayBuffer=="function")}}function Lp(e,A){if(e.includes("?")||e.includes("#"))throw new Error('Query params cannot be passed when url already contains "?" or "#".');let t=kp(A);return t&&(e+="?"+t),e}function vl(e){let A=parseInt(e,10);return A===Number(e)&&A>=0&&A<=65535}function Hn(e){return e!=null&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&(e[4]===":"||e[4]==="s"&&e[5]===":")}function Jl(e){if(typeof e=="string"){if(e=new URL(e),!Hn(e.origin||e.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}if(!e||typeof e!="object")throw new Be("Invalid URL: The URL argument must be a non-null object.");if(!(e instanceof URL)){if(e.port!=null&&e.port!==""&&vl(e.port)===!1)throw new Be("Invalid URL: port must be a valid integer or a string representation of an integer.");if(e.path!=null&&typeof e.path!="string")throw new Be("Invalid URL path: the path must be a string or null/undefined.");if(e.pathname!=null&&typeof e.pathname!="string")throw new Be("Invalid URL pathname: the pathname must be a string or null/undefined.");if(e.hostname!=null&&typeof e.hostname!="string")throw new Be("Invalid URL hostname: the hostname must be a string or null/undefined.");if(e.origin!=null&&typeof e.origin!="string")throw new Be("Invalid URL origin: the origin must be a string or null/undefined.");if(!Hn(e.origin||e.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");let A=e.port!=null?e.port:e.protocol==="https:"?443:80,t=e.origin!=null?e.origin:`${e.protocol||""}//${e.hostname||""}:${A}`,r=e.path!=null?e.path:`${e.pathname||""}${e.search||""}`;return t[t.length-1]==="/"&&(t=t.slice(0,t.length-1)),r&&r[0]!=="/"&&(r=`/${r}`),new URL(`${t}${r}`)}if(!Hn(e.origin||e.protocol))throw new Be("Invalid URL protocol: the URL must start with `http:` or `https:`.");return e}function Tp(e){if(e=Jl(e),e.pathname!=="/"||e.search||e.hash)throw new Be("invalid url");return e}function xp(e){if(e[0]==="["){let t=e.indexOf("]");return Nr(t!==-1),e.substring(1,t)}let A=e.indexOf(":");return A===-1?e:e.substring(0,A)}function Gp(e){if(!e)return null;Nr(typeof e=="string");let A=xp(e);return mp.isIP(A)?"":A}function Yp(e){return JSON.parse(JSON.stringify(e))}function vp(e){return e!=null&&typeof e[Symbol.asyncIterator]=="function"}function Hl(e){return e!=null&&(typeof e[Symbol.iterator]=="function"||typeof e[Symbol.asyncIterator]=="function")}function Vl(e){if(e==null)return 0;if(Wn(e)){let A=e._readableState;return A&&A.objectMode===!1&&A.ended===!0&&Number.isFinite(A.length)?A.length:null}else{if(Yl(e))return e.size!=null?e.size:null;if(Pl(e))return e.byteLength}return null}function ql(e){return e&&!!(e.destroyed||e[xl]||qn.isDestroyed?.(e))}function Jp(e,A){e==null||!Wn(e)||ql(e)||(typeof e.destroy=="function"?(Object.getPrototypeOf(e).constructor===yp&&(e.socket=null),e.destroy(A)):A&&queueMicrotask(()=>{e.emit("error",A)}),e.destroyed!==!0&&(e[xl]=!0))}var Hp=/timeout=(\d+)/;function Vp(e){let A=e.toString().match(Hp);return A?parseInt(A[1],10)*1e3:null}function Wl(e){return typeof e=="string"?bp[e]??e.toLowerCase():Gl.lookup(e)??e.toString("latin1").toLowerCase()}function qp(e){return Gl.lookup(e)??e.toString("latin1").toLowerCase()}function Wp(e,A){A===void 0&&(A={});for(let t=0;t<e.length;t+=2){let r=Wl(e[t]),n=A[r];if(n)typeof n=="string"&&(n=[n],A[r]=n),n.push(e[t+1].toString("utf8"));else{let i=e[t+1];typeof i=="string"?A[r]=i:A[r]=Array.isArray(i)?i.map(s=>s.toString("utf8")):i.toString("utf8")}}return"content-length"in A&&"content-disposition"in A&&(A["content-disposition"]=Buffer.from(A["content-disposition"]).toString("latin1")),A}function Pp(e){let A=e.length,t=new Array(A),r=!1,n=-1,i,s,o=0;for(let a=0;a<e.length;a+=2)i=e[a],s=e[a+1],typeof i!="string"&&(i=i.toString()),typeof s!="string"&&(s=s.toString("utf8")),o=i.length,o===14&&i[7]==="-"&&(i==="content-length"||i.toLowerCase()==="content-length")?r=!0:o===19&&i[7]==="-"&&(i==="content-disposition"||i.toLowerCase()==="content-disposition")&&(n=a+1),t[a]=i,t[a+1]=s;return r&&n!==-1&&(t[n]=Buffer.from(t[n]).toString("latin1")),t}function Pl(e){return e instanceof Uint8Array||Buffer.isBuffer(e)}function Op(e,A,t){if(!e||typeof e!="object")throw new Be("handler must be an object");if(typeof e.onConnect!="function")throw new Be("invalid onConnect method");if(typeof e.onError!="function")throw new Be("invalid onError method");if(typeof e.onBodySent!="function"&&e.onBodySent!==void 0)throw new Be("invalid onBodySent method");if(t||A==="CONNECT"){if(typeof e.onUpgrade!="function")throw new Be("invalid onUpgrade method")}else{if(typeof e.onHeaders!="function")throw new Be("invalid onHeaders method");if(typeof e.onData!="function")throw new Be("invalid onData method");if(typeof e.onComplete!="function")throw new Be("invalid onComplete method")}}function _p(e){return!!(e&&(qn.isDisturbed(e)||e[Ut]))}function zp(e){return!!(e&&qn.isErrored(e))}function Zp(e){return!!(e&&qn.isReadable(e))}function Kp(e){return{localAddress:e.localAddress,localPort:e.localPort,remoteAddress:e.remoteAddress,remotePort:e.remotePort,remoteFamily:e.remoteFamily,timeout:e.timeout,bytesWritten:e.bytesWritten,bytesRead:e.bytesRead}}function Xp(e){let A;return new ReadableStream({async start(){A=e[Symbol.asyncIterator]()},async pull(t){let{done:r,value:n}=await A.next();if(r)queueMicrotask(()=>{t.close(),t.byobRequest?.respond(0)});else{let i=Buffer.isBuffer(n)?n:Buffer.from(n);i.byteLength&&t.enqueue(new Uint8Array(i))}return t.desiredSize>0},async cancel(t){await A.return()},type:"bytes"})}function jp(e){return e&&typeof e=="object"&&typeof e.append=="function"&&typeof e.delete=="function"&&typeof e.get=="function"&&typeof e.getAll=="function"&&typeof e.has=="function"&&typeof e.set=="function"&&e[Symbol.toStringTag]==="FormData"}function $p(e,A){return"addEventListener"in e?(e.addEventListener("abort",A,{once:!0}),()=>e.removeEventListener("abort",A)):(e.addListener("abort",A),()=>e.removeListener("abort",A))}var ew=typeof String.prototype.toWellFormed=="function",Aw=typeof String.prototype.isWellFormed=="function";function Ol(e){return ew?`${e}`.toWellFormed():Fp.toUSVString(e)}function tw(e){return Aw?`${e}`.isWellFormed():Ol(e)===`${e}`}function _l(e){switch(e){case 34:case 40:case 41:case 44:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 123:case 125:return!1;default:return e>=33&&e<=126}}function rw(e){if(e.length===0)return!1;for(let A=0;A<e.length;++A)if(!_l(e.charCodeAt(A)))return!1;return!0}var nw=/[^\t\x20-\x7e\x80-\xff]/;function iw(e){return!nw.test(e)}function sw(e){if(e==null||e==="")return{start:0,end:null,size:null};let A=e?e.match(/^bytes (\d+)-(\d+)\/(\d+)?$/):null;return A?{start:parseInt(A[1]),end:A[2]?parseInt(A[2]):null,size:A[3]?parseInt(A[3]):null}:null}function ow(e,A,t){return(e[fo]??=[]).push([A,t]),e.on(A,t),e}function aw(e){for(let[A,t]of e[fo]??[])e.removeListener(A,t);e[fo]=null}function cw(e,A,t){try{A.onError(t),Nr(A.aborted)}catch(r){e.emit("error",r)}}var zl=Object.create(null);zl.enumerable=!0;var po={delete:"DELETE",DELETE:"DELETE",get:"GET",GET:"GET",head:"HEAD",HEAD:"HEAD",options:"OPTIONS",OPTIONS:"OPTIONS",post:"POST",POST:"POST",put:"PUT",PUT:"PUT"},Zl={...po,patch:"patch",PATCH:"PATCH"};Object.setPrototypeOf(po,null);Object.setPrototypeOf(Zl,null);Kl.exports={kEnumerableProperty:zl,nop:Up,isDisturbed:_p,isErrored:zp,isReadable:Zp,toUSVString:Ol,isUSVString:tw,isBlobLike:Yl,parseOrigin:Tp,parseURL:Jl,getServerName:Gp,isStream:Wn,isIterable:Hl,isAsyncIterable:vp,isDestroyed:ql,headerNameToString:Wl,bufferToLowerCasedHeaderName:qp,addListener:ow,removeAllListeners:aw,errorRequest:cw,parseRawHeaders:Pp,parseHeaders:Wp,parseKeepAliveTimeout:Vp,destroy:Jp,bodyLength:Vl,deepClone:Yp,ReadableStreamFrom:Xp,isBuffer:Pl,validateHandler:Op,getSocketInfo:Kp,isFormDataLike:jp,buildURL:Lp,addAbortListener:$p,isValidHTTPToken:rw,isValidHeaderValue:iw,isTokenCharCode:_l,parseRangeHeader:sw,normalizedMethodRecordsBase:po,normalizedMethodRecords:Zl,isValidPort:vl,isHttpOrHttpsPrefixed:Hn,nodeMajor:Sp,nodeMinor:Np,safeHTTPMethods:["GET","HEAD","OPTIONS","TRACE"],wrapRequestBody:Mp}});var Lt=f((aT,jl)=>{"use strict";var O=d("node:diagnostics_channel"),yo=d("node:util"),Pn=yo.debuglog("undici"),wo=yo.debuglog("fetch"),nt=yo.debuglog("websocket"),Xl=!1,gw={beforeConnect:O.channel("undici:client:beforeConnect"),connected:O.channel("undici:client:connected"),connectError:O.channel("undici:client:connectError"),sendHeaders:O.channel("undici:client:sendHeaders"),create:O.channel("undici:request:create"),bodySent:O.channel("undici:request:bodySent"),headers:O.channel("undici:request:headers"),trailers:O.channel("undici:request:trailers"),error:O.channel("undici:request:error"),open:O.channel("undici:websocket:open"),close:O.channel("undici:websocket:close"),socketError:O.channel("undici:websocket:socket_error"),ping:O.channel("undici:websocket:ping"),pong:O.channel("undici:websocket:pong")};if(Pn.enabled||wo.enabled){let e=wo.enabled?wo:Pn;O.channel("undici:client:beforeConnect").subscribe(A=>{let{connectParams:{version:t,protocol:r,port:n,host:i}}=A;e("connecting to %s using %s%s",`${i}${n?`:${n}`:""}`,r,t)}),O.channel("undici:client:connected").subscribe(A=>{let{connectParams:{version:t,protocol:r,port:n,host:i}}=A;e("connected to %s using %s%s",`${i}${n?`:${n}`:""}`,r,t)}),O.channel("undici:client:connectError").subscribe(A=>{let{connectParams:{version:t,protocol:r,port:n,host:i},error:s}=A;e("connection to %s using %s%s errored - %s",`${i}${n?`:${n}`:""}`,r,t,s.message)}),O.channel("undici:client:sendHeaders").subscribe(A=>{let{request:{method:t,path:r,origin:n}}=A;e("sending request to %s %s/%s",t,n,r)}),O.channel("undici:request:headers").subscribe(A=>{let{request:{method:t,path:r,origin:n},response:{statusCode:i}}=A;e("received response to %s %s/%s - HTTP %d",t,n,r,i)}),O.channel("undici:request:trailers").subscribe(A=>{let{request:{method:t,path:r,origin:n}}=A;e("trailers received from %s %s/%s",t,n,r)}),O.channel("undici:request:error").subscribe(A=>{let{request:{method:t,path:r,origin:n},error:i}=A;e("request to %s %s/%s errored - %s",t,n,r,i.message)}),Xl=!0}if(nt.enabled){if(!Xl){let e=Pn.enabled?Pn:nt;O.channel("undici:client:beforeConnect").subscribe(A=>{let{connectParams:{version:t,protocol:r,port:n,host:i}}=A;e("connecting to %s%s using %s%s",i,n?`:${n}`:"",r,t)}),O.channel("undici:client:connected").subscribe(A=>{let{connectParams:{version:t,protocol:r,port:n,host:i}}=A;e("connected to %s%s using %s%s",i,n?`:${n}`:"",r,t)}),O.channel("undici:client:connectError").subscribe(A=>{let{connectParams:{version:t,protocol:r,port:n,host:i},error:s}=A;e("connection to %s%s using %s%s errored - %s",i,n?`:${n}`:"",r,t,s.message)}),O.channel("undici:client:sendHeaders").subscribe(A=>{let{request:{method:t,path:r,origin:n}}=A;e("sending request to %s %s/%s",t,n,r)})}O.channel("undici:websocket:open").subscribe(e=>{let{address:{address:A,port:t}}=e;nt("connection opened %s%s",A,t?`:${t}`:"")}),O.channel("undici:websocket:close").subscribe(e=>{let{websocket:A,code:t,reason:r}=e;nt("closed connection to %s - %s %s",A.url,t,r)}),O.channel("undici:websocket:socket_error").subscribe(e=>{nt("connection errored - %s",e.message)}),O.channel("undici:websocket:ping").subscribe(e=>{nt("ping received")}),O.channel("undici:websocket:pong").subscribe(e=>{nt("pong received")})}jl.exports={channels:gw}});var tQ=f((cT,AQ)=>{"use strict";var{InvalidArgumentError:z,NotSupportedError:lw}=V(),dA=d("node:assert"),{isValidHTTPToken:eQ,isValidHeaderValue:Mr,isStream:Qw,destroy:Ew,isBuffer:Bw,isFormDataLike:Iw,isIterable:uw,isBlobLike:Cw,buildURL:hw,validateHandler:dw,getServerName:fw,normalizedMethodRecords:pw}=x(),{channels:aA}=Lt(),{headerNameLowerCasedRecord:$l}=vn(),ww=/[^\u0021-\u00ff]/,Pe=Symbol("handler"),mo=class{constructor(A,{path:t,method:r,body:n,headers:i,query:s,idempotent:o,blocking:a,upgrade:c,headersTimeout:g,bodyTimeout:l,reset:Q,throwOnError:I,expectContinue:E,servername:u},C){if(typeof t!="string")throw new z("path must be a string");if(t[0]!=="/"&&!(t.startsWith("http://")||t.startsWith("https://"))&&r!=="CONNECT")throw new z("path must be an absolute URL or start with a slash");if(ww.test(t))throw new z("invalid request path");if(typeof r!="string")throw new z("method must be a string");if(pw[r]===void 0&&!eQ(r))throw new z("invalid request method");if(c&&typeof c!="string")throw new z("upgrade must be a string");if(c&&!Mr(c))throw new z("invalid upgrade header");if(g!=null&&(!Number.isFinite(g)||g<0))throw new z("invalid headersTimeout");if(l!=null&&(!Number.isFinite(l)||l<0))throw new z("invalid bodyTimeout");if(Q!=null&&typeof Q!="boolean")throw new z("invalid reset");if(E!=null&&typeof E!="boolean")throw new z("invalid expectContinue");if(this.headersTimeout=g,this.bodyTimeout=l,this.throwOnError=I===!0,this.method=r,this.abort=null,n==null)this.body=null;else if(Qw(n)){this.body=n;let B=this.body._readableState;(!B||!B.autoDestroy)&&(this.endHandler=function(){Ew(this)},this.body.on("end",this.endHandler)),this.errorHandler=h=>{this.abort?this.abort(h):this.error=h},this.body.on("error",this.errorHandler)}else if(Bw(n))this.body=n.byteLength?n:null;else if(ArrayBuffer.isView(n))this.body=n.buffer.byteLength?Buffer.from(n.buffer,n.byteOffset,n.byteLength):null;else if(n instanceof ArrayBuffer)this.body=n.byteLength?Buffer.from(n):null;else if(typeof n=="string")this.body=n.length?Buffer.from(n):null;else if(Iw(n)||uw(n)||Cw(n))this.body=n;else throw new z("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=s?hw(t,s):t,this.origin=A,this.idempotent=o??(r==="HEAD"||r==="GET"),this.blocking=a??!1,this.reset=Q??null,this.host=null,this.contentLength=null,this.contentType=null,this.headers=[],this.expectContinue=E??!1,Array.isArray(i)){if(i.length%2!==0)throw new z("headers array must be even");for(let B=0;B<i.length;B+=2)On(this,i[B],i[B+1])}else if(i&&typeof i=="object")if(i[Symbol.iterator])for(let B of i){if(!Array.isArray(B)||B.length!==2)throw new z("headers must be in key-value pair format");On(this,B[0],B[1])}else{let B=Object.keys(i);for(let h=0;h<B.length;++h)On(this,B[h],i[B[h]])}else if(i!=null)throw new z("headers must be an object or an array");dw(C,r,c),this.servername=u||fw(this.host),this[Pe]=C,aA.create.hasSubscribers&&aA.create.publish({request:this})}onBodySent(A){if(this[Pe].onBodySent)try{return this[Pe].onBodySent(A)}catch(t){this.abort(t)}}onRequestSent(){if(aA.bodySent.hasSubscribers&&aA.bodySent.publish({request:this}),this[Pe].onRequestSent)try{return this[Pe].onRequestSent()}catch(A){this.abort(A)}}onConnect(A){if(dA(!this.aborted),dA(!this.completed),this.error)A(this.error);else return this.abort=A,this[Pe].onConnect(A)}onResponseStarted(){return this[Pe].onResponseStarted?.()}onHeaders(A,t,r,n){dA(!this.aborted),dA(!this.completed),aA.headers.hasSubscribers&&aA.headers.publish({request:this,response:{statusCode:A,headers:t,statusText:n}});try{return this[Pe].onHeaders(A,t,r,n)}catch(i){this.abort(i)}}onData(A){dA(!this.aborted),dA(!this.completed);try{return this[Pe].onData(A)}catch(t){return this.abort(t),!1}}onUpgrade(A,t,r){return dA(!this.aborted),dA(!this.completed),this[Pe].onUpgrade(A,t,r)}onComplete(A){this.onFinally(),dA(!this.aborted),this.completed=!0,aA.trailers.hasSubscribers&&aA.trailers.publish({request:this,trailers:A});try{return this[Pe].onComplete(A)}catch(t){this.onError(t)}}onError(A){if(this.onFinally(),aA.error.hasSubscribers&&aA.error.publish({request:this,error:A}),!this.aborted)return this.aborted=!0,this[Pe].onError(A)}onFinally(){this.errorHandler&&(this.body.off("error",this.errorHandler),this.errorHandler=null),this.endHandler&&(this.body.off("end",this.endHandler),this.endHandler=null)}addHeader(A,t){return On(this,A,t),this}};function On(e,A,t){if(t&&typeof t=="object"&&!Array.isArray(t))throw new z(`invalid ${A} header`);if(t===void 0)return;let r=$l[A];if(r===void 0&&(r=A.toLowerCase(),$l[r]===void 0&&!eQ(r)))throw new z("invalid header key");if(Array.isArray(t)){let n=[];for(let i=0;i<t.length;i++)if(typeof t[i]=="string"){if(!Mr(t[i]))throw new z(`invalid ${A} header`);n.push(t[i])}else if(t[i]===null)n.push("");else{if(typeof t[i]=="object")throw new z(`invalid ${A} header`);{let s=`${t[i]}`;if(!Mr(s))throw new z(`invalid ${A} header`);n.push(s)}}t=n}else if(typeof t=="string"){if(!Mr(t))throw new z(`invalid ${A} header`)}else if(t===null)t="";else if(t=`${t}`,!Mr(t))throw new z(`invalid ${A} header`);if(r==="host"){if(e.host!==null)throw new z("duplicate host header");if(typeof t!="string")throw new z("invalid host header");e.host=t}else if(r==="content-length"){if(e.contentLength!==null)throw new z("duplicate content-length header");if(e.contentLength=parseInt(t,10),!Number.isFinite(e.contentLength))throw new z("invalid content-length header")}else if(e.contentType===null&&r==="content-type")e.contentType=t,e.headers.push(A,t);else{if(r==="transfer-encoding"||r==="keep-alive"||r==="upgrade")throw new z(`invalid ${r} header`);if(r==="connection"){let n=typeof t=="string"?t.toLowerCase():null;if(n!=="close"&&n!=="keep-alive")throw new z("invalid connection header");n==="close"&&(e.reset=!0)}else{if(r==="expect")throw new lw("expect header not supported");e.headers.push(A,t)}}}AQ.exports=mo});var Ur=f((gT,rQ)=>{"use strict";var yw=d("node:events"),_n=class extends yw{dispatch(){throw new Error("not implemented")}close(){throw new Error("not implemented")}destroy(){throw new Error("not implemented")}compose(...A){let t=Array.isArray(A[0])?A[0]:A,r=this.dispatch.bind(this);for(let n of t)if(n!=null){if(typeof n!="function")throw new TypeError(`invalid interceptor, expected function received ${typeof n}`);if(r=n(r),r==null||typeof r!="function"||r.length!==2)throw new TypeError("invalid interceptor")}return new Do(this,r)}},Do=class extends _n{#e=null;#A=null;constructor(A,t){super(),this.#e=A,this.#A=t}dispatch(...A){this.#A(...A)}close(...A){return this.#e.close(...A)}destroy(...A){return this.#e.destroy(...A)}};rQ.exports=_n});var Yt=f((lT,nQ)=>{"use strict";var mw=Ur(),{ClientDestroyedError:Fo,ClientClosedError:Dw,InvalidArgumentError:Tt}=V(),{kDestroy:Fw,kClose:kw,kClosed:Lr,kDestroyed:xt,kDispatch:ko,kInterceptors:it}=te(),fA=Symbol("onDestroyed"),Gt=Symbol("onClosed"),zn=Symbol("Intercepted Dispatch"),Ro=Symbol("webSocketOptions"),bo=class extends mw{constructor(A){super(),this[xt]=!1,this[fA]=null,this[Lr]=!1,this[Gt]=[],this[Ro]=A?.webSocket??{}}get webSocketOptions(){return{maxFragments:this[Ro].maxFragments??131072,maxPayloadSize:this[Ro].maxPayloadSize??128*1024*1024}}get destroyed(){return this[xt]}get closed(){return this[Lr]}get interceptors(){return this[it]}set interceptors(A){if(A){for(let t=A.length-1;t>=0;t--)if(typeof this[it][t]!="function")throw new Tt("interceptor must be an function")}this[it]=A}close(A){if(A===void 0)return new Promise((r,n)=>{this.close((i,s)=>i?n(i):r(s))});if(typeof A!="function")throw new Tt("invalid callback");if(this[xt]){queueMicrotask(()=>A(new Fo,null));return}if(this[Lr]){this[Gt]?this[Gt].push(A):queueMicrotask(()=>A(null,null));return}this[Lr]=!0,this[Gt].push(A);let t=()=>{let r=this[Gt];this[Gt]=null;for(let n=0;n<r.length;n++)r[n](null,null)};this[kw]().then(()=>this.destroy()).then(()=>{queueMicrotask(t)})}destroy(A,t){if(typeof A=="function"&&(t=A,A=null),t===void 0)return new Promise((n,i)=>{this.destroy(A,(s,o)=>s?i(s):n(o))});if(typeof t!="function")throw new Tt("invalid callback");if(this[xt]){this[fA]?this[fA].push(t):queueMicrotask(()=>t(null,null));return}A||(A=new Fo),this[xt]=!0,this[fA]=this[fA]||[],this[fA].push(t);let r=()=>{let n=this[fA];this[fA]=null;for(let i=0;i<n.length;i++)n[i](null,null)};this[Fw](A).then(()=>{queueMicrotask(r)})}[zn](A,t){if(!this[it]||this[it].length===0)return this[zn]=this[ko],this[ko](A,t);let r=this[ko].bind(this);for(let n=this[it].length-1;n>=0;n--)r=this[it][n](r);return this[zn]=r,r(A,t)}dispatch(A,t){if(!t||typeof t!="object")throw new Tt("handler must be an object");try{if(!A||typeof A!="object")throw new Tt("opts must be an object.");if(this[xt]||this[fA])throw new Fo;if(this[Lr])throw new Dw;return this[zn](A,t)}catch(r){if(typeof t.onError!="function")throw new Tt("invalid onError method");return t.onError(r),!1}}};nQ.exports=bo});var xo=f((QT,aQ)=>{"use strict";var vt=0,So=1e3,No=(So>>1)-1,pA,Mo=Symbol("kFastTimer"),wA=[],Uo=-2,Lo=-1,sQ=0,iQ=1;function To(){vt+=No;let e=0,A=wA.length;for(;e<A;){let t=wA[e];t._state===sQ?(t._idleStart=vt-No,t._state=iQ):t._state===iQ&&vt>=t._idleStart+t._idleTimeout&&(t._state=Lo,t._idleStart=-1,t._onTimeout(t._timerArg)),t._state===Lo?(t._state=Uo,--A!==0&&(wA[e]=wA[A])):++e}wA.length=A,wA.length!==0&&oQ()}function oQ(){pA?pA.refresh():(clearTimeout(pA),pA=setTimeout(To,No),pA.unref&&pA.unref())}var Zn=class{[Mo]=!0;_state=Uo;_idleTimeout=-1;_idleStart=-1;_onTimeout;_timerArg;constructor(A,t,r){this._onTimeout=A,this._idleTimeout=t,this._timerArg=r,this.refresh()}refresh(){this._state===Uo&&wA.push(this),(!pA||wA.length===1)&&oQ(),this._state=sQ}clear(){this._state=Lo,this._idleStart=-1}};aQ.exports={setTimeout(e,A,t){return A<=So?setTimeout(e,A,t):new Zn(e,A,t)},clearTimeout(e){e[Mo]?e.clear():clearTimeout(e)},setFastTimeout(e,A,t){return new Zn(e,A,t)},clearFastTimeout(e){e.clear()},now(){return vt},tick(e=0){vt+=e-So+1,To(),To()},reset(){vt=0,wA.length=0,clearTimeout(pA),pA=null},kFastTimer:Mo}});var Tr=f((IT,EQ)=>{"use strict";var Rw=d("node:net"),cQ=d("node:assert"),QQ=x(),{InvalidArgumentError:bw,ConnectTimeoutError:Sw}=V(),Kn=xo();function gQ(){}var Go,Yo;global.FinalizationRegistry&&!(process.env.NODE_V8_COVERAGE||process.env.UNDICI_NO_FG)?Yo=class{constructor(A){this._maxCachedSessions=A,this._sessionCache=new Map,this._sessionRegistry=new global.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(A){let t=this._sessionCache.get(A);return t?t.deref():null}set(A,t){this._maxCachedSessions!==0&&(this._sessionCache.set(A,new WeakRef(t)),this._sessionRegistry.register(t,A))}}:Yo=class{constructor(A){this._maxCachedSessions=A,this._sessionCache=new Map}get(A){return this._sessionCache.get(A)}set(A,t){if(this._maxCachedSessions!==0){if(this._sessionCache.size>=this._maxCachedSessions){let{value:r}=this._sessionCache.keys().next();this._sessionCache.delete(r)}this._sessionCache.set(A,t)}}};function Nw({allowH2:e,maxCachedSessions:A,socketPath:t,timeout:r,session:n,...i}){if(A!=null&&(!Number.isInteger(A)||A<0))throw new bw("maxCachedSessions must be a positive integer or zero");let s={path:t,...i},o=new Yo(A??100);return r=r??1e4,e=e??!1,function({hostname:c,host:g,protocol:l,port:Q,servername:I,localAddress:E,httpSocket:u},C){let B;if(l==="https:"){Go||(Go=d("node:tls")),I=I||s.servername||QQ.getServerName(g)||null;let m=I||c;cQ(m);let p=n||o.get(m)||null;Q=Q||443,B=Go.connect({highWaterMark:16384,...s,servername:I,session:p,localAddress:E,ALPNProtocols:e?["http/1.1","h2"]:["http/1.1"],socket:u,port:Q,host:c}),B.on("session",function(L){o.set(m,L)})}else cQ(!u,"httpSocket can only be sent on TLS update"),Q=Q||80,B=Rw.connect({highWaterMark:64*1024,...s,localAddress:E,port:Q,host:c});if(s.keepAlive==null||s.keepAlive){let m=s.keepAliveInitialDelay===void 0?6e4:s.keepAliveInitialDelay;B.setKeepAlive(!0,m)}let h=Mw(new WeakRef(B),{timeout:r,hostname:c,port:Q});return B.setNoDelay(!0).once(l==="https:"?"secureConnect":"connect",function(){if(queueMicrotask(h),C){let m=C;C=null,m(null,this)}}).on("error",function(m){if(queueMicrotask(h),C){let p=C;C=null,p(m)}}),B}}var Mw=process.platform==="win32"?(e,A)=>{if(!A.timeout)return gQ;let t=null,r=null,n=Kn.setFastTimeout(()=>{t=setImmediate(()=>{r=setImmediate(()=>lQ(e.deref(),A))})},A.timeout);return()=>{Kn.clearFastTimeout(n),clearImmediate(t),clearImmediate(r)}}:(e,A)=>{if(!A.timeout)return gQ;let t=null,r=Kn.setFastTimeout(()=>{t=setImmediate(()=>{lQ(e.deref(),A)})},A.timeout);return()=>{Kn.clearFastTimeout(r),clearImmediate(t)}};function lQ(e,A){if(e==null)return;let t="Connect Timeout Error";Array.isArray(e.autoSelectFamilyAttemptedAddresses)?t+=` (attempted addresses: ${e.autoSelectFamilyAttemptedAddresses.join(", ")},`:t+=` (attempted address: ${A.hostname}:${A.port},`,t+=` timeout: ${A.timeout}ms)`,QQ.destroy(e,new Sw(t))}EQ.exports=Nw});var BQ=f(Xn=>{"use strict";Object.defineProperty(Xn,"__esModule",{value:!0});Xn.enumToMap=void 0;function Uw(e){let A={};return Object.keys(e).forEach(t=>{let r=e[t];typeof r=="number"&&(A[t]=r)}),A}Xn.enumToMap=Uw});var IQ=f(y=>{"use strict";Object.defineProperty(y,"__esModule",{value:!0});y.SPECIAL_HEADERS=y.HEADER_STATE=y.MINOR=y.MAJOR=y.CONNECTION_TOKEN_CHARS=y.HEADER_CHARS=y.TOKEN=y.STRICT_TOKEN=y.HEX=y.URL_CHAR=y.STRICT_URL_CHAR=y.USERINFO_CHARS=y.MARK=y.ALPHANUM=y.NUM=y.HEX_MAP=y.NUM_MAP=y.ALPHA=y.FINISH=y.H_METHOD_MAP=y.METHOD_MAP=y.METHODS_RTSP=y.METHODS_ICE=y.METHODS_HTTP=y.METHODS=y.LENIENT_FLAGS=y.FLAGS=y.TYPE=y.ERROR=void 0;var Lw=BQ(),Tw;(function(e){e[e.OK=0]="OK",e[e.INTERNAL=1]="INTERNAL",e[e.STRICT=2]="STRICT",e[e.LF_EXPECTED=3]="LF_EXPECTED",e[e.UNEXPECTED_CONTENT_LENGTH=4]="UNEXPECTED_CONTENT_LENGTH",e[e.CLOSED_CONNECTION=5]="CLOSED_CONNECTION",e[e.INVALID_METHOD=6]="INVALID_METHOD",e[e.INVALID_URL=7]="INVALID_URL",e[e.INVALID_CONSTANT=8]="INVALID_CONSTANT",e[e.INVALID_VERSION=9]="INVALID_VERSION",e[e.INVALID_HEADER_TOKEN=10]="INVALID_HEADER_TOKEN",e[e.INVALID_CONTENT_LENGTH=11]="INVALID_CONTENT_LENGTH",e[e.INVALID_CHUNK_SIZE=12]="INVALID_CHUNK_SIZE",e[e.INVALID_STATUS=13]="INVALID_STATUS",e[e.INVALID_EOF_STATE=14]="INVALID_EOF_STATE",e[e.INVALID_TRANSFER_ENCODING=15]="INVALID_TRANSFER_ENCODING",e[e.CB_MESSAGE_BEGIN=16]="CB_MESSAGE_BEGIN",e[e.CB_HEADERS_COMPLETE=17]="CB_HEADERS_COMPLETE",e[e.CB_MESSAGE_COMPLETE=18]="CB_MESSAGE_COMPLETE",e[e.CB_CHUNK_HEADER=19]="CB_CHUNK_HEADER",e[e.CB_CHUNK_COMPLETE=20]="CB_CHUNK_COMPLETE",e[e.PAUSED=21]="PAUSED",e[e.PAUSED_UPGRADE=22]="PAUSED_UPGRADE",e[e.PAUSED_H2_UPGRADE=23]="PAUSED_H2_UPGRADE",e[e.USER=24]="USER"})(Tw=y.ERROR||(y.ERROR={}));var xw;(function(e){e[e.BOTH=0]="BOTH",e[e.REQUEST=1]="REQUEST",e[e.RESPONSE=2]="RESPONSE"})(xw=y.TYPE||(y.TYPE={}));var Gw;(function(e){e[e.CONNECTION_KEEP_ALIVE=1]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=2]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=4]="CONNECTION_UPGRADE",e[e.CHUNKED=8]="CHUNKED",e[e.UPGRADE=16]="UPGRADE",e[e.CONTENT_LENGTH=32]="CONTENT_LENGTH",e[e.SKIPBODY=64]="SKIPBODY",e[e.TRAILING=128]="TRAILING",e[e.TRANSFER_ENCODING=512]="TRANSFER_ENCODING"})(Gw=y.FLAGS||(y.FLAGS={}));var Yw;(function(e){e[e.HEADERS=1]="HEADERS",e[e.CHUNKED_LENGTH=2]="CHUNKED_LENGTH",e[e.KEEP_ALIVE=4]="KEEP_ALIVE"})(Yw=y.LENIENT_FLAGS||(y.LENIENT_FLAGS={}));var b;(function(e){e[e.DELETE=0]="DELETE",e[e.GET=1]="GET",e[e.HEAD=2]="HEAD",e[e.POST=3]="POST",e[e.PUT=4]="PUT",e[e.CONNECT=5]="CONNECT",e[e.OPTIONS=6]="OPTIONS",e[e.TRACE=7]="TRACE",e[e.COPY=8]="COPY",e[e.LOCK=9]="LOCK",e[e.MKCOL=10]="MKCOL",e[e.MOVE=11]="MOVE",e[e.PROPFIND=12]="PROPFIND",e[e.PROPPATCH=13]="PROPPATCH",e[e.SEARCH=14]="SEARCH",e[e.UNLOCK=15]="UNLOCK",e[e.BIND=16]="BIND",e[e.REBIND=17]="REBIND",e[e.UNBIND=18]="UNBIND",e[e.ACL=19]="ACL",e[e.REPORT=20]="REPORT",e[e.MKACTIVITY=21]="MKACTIVITY",e[e.CHECKOUT=22]="CHECKOUT",e[e.MERGE=23]="MERGE",e[e["M-SEARCH"]=24]="M-SEARCH",e[e.NOTIFY=25]="NOTIFY",e[e.SUBSCRIBE=26]="SUBSCRIBE",e[e.UNSUBSCRIBE=27]="UNSUBSCRIBE",e[e.PATCH=28]="PATCH",e[e.PURGE=29]="PURGE",e[e.MKCALENDAR=30]="MKCALENDAR",e[e.LINK=31]="LINK",e[e.UNLINK=32]="UNLINK",e[e.SOURCE=33]="SOURCE",e[e.PRI=34]="PRI",e[e.DESCRIBE=35]="DESCRIBE",e[e.ANNOUNCE=36]="ANNOUNCE",e[e.SETUP=37]="SETUP",e[e.PLAY=38]="PLAY",e[e.PAUSE=39]="PAUSE",e[e.TEARDOWN=40]="TEARDOWN",e[e.GET_PARAMETER=41]="GET_PARAMETER",e[e.SET_PARAMETER=42]="SET_PARAMETER",e[e.REDIRECT=43]="REDIRECT",e[e.RECORD=44]="RECORD",e[e.FLUSH=45]="FLUSH"})(b=y.METHODS||(y.METHODS={}));y.METHODS_HTTP=[b.DELETE,b.GET,b.HEAD,b.POST,b.PUT,b.CONNECT,b.OPTIONS,b.TRACE,b.COPY,b.LOCK,b.MKCOL,b.MOVE,b.PROPFIND,b.PROPPATCH,b.SEARCH,b.UNLOCK,b.BIND,b.REBIND,b.UNBIND,b.ACL,b.REPORT,b.MKACTIVITY,b.CHECKOUT,b.MERGE,b["M-SEARCH"],b.NOTIFY,b.SUBSCRIBE,b.UNSUBSCRIBE,b.PATCH,b.PURGE,b.MKCALENDAR,b.LINK,b.UNLINK,b.PRI,b.SOURCE];y.METHODS_ICE=[b.SOURCE];y.METHODS_RTSP=[b.OPTIONS,b.DESCRIBE,b.ANNOUNCE,b.SETUP,b.PLAY,b.PAUSE,b.TEARDOWN,b.GET_PARAMETER,b.SET_PARAMETER,b.REDIRECT,b.RECORD,b.FLUSH,b.GET,b.POST];y.METHOD_MAP=Lw.enumToMap(b);y.H_METHOD_MAP={};Object.keys(y.METHOD_MAP).forEach(e=>{/^H/.test(e)&&(y.H_METHOD_MAP[e]=y.METHOD_MAP[e])});var vw;(function(e){e[e.SAFE=0]="SAFE",e[e.SAFE_WITH_CB=1]="SAFE_WITH_CB",e[e.UNSAFE=2]="UNSAFE"})(vw=y.FINISH||(y.FINISH={}));y.ALPHA=[];for(let e=65;e<=90;e++)y.ALPHA.push(String.fromCharCode(e)),y.ALPHA.push(String.fromCharCode(e+32));y.NUM_MAP={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9};y.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};y.NUM=["0","1","2","3","4","5","6","7","8","9"];y.ALPHANUM=y.ALPHA.concat(y.NUM);y.MARK=["-","_",".","!","~","*","'","(",")"];y.USERINFO_CHARS=y.ALPHANUM.concat(y.MARK).concat(["%",";",":","&","=","+","$",","]);y.STRICT_URL_CHAR=["!",'"',"$","%","&","'","(",")","*","+",",","-",".","/",":",";","<","=",">","@","[","\\","]","^","_","`","{","|","}","~"].concat(y.ALPHANUM);y.URL_CHAR=y.STRICT_URL_CHAR.concat([" ","\f"]);for(let e=128;e<=255;e++)y.URL_CHAR.push(e);y.HEX=y.NUM.concat(["a","b","c","d","e","f","A","B","C","D","E","F"]);y.STRICT_TOKEN=["!","#","$","%","&","'","*","+","-",".","^","_","`","|","~"].concat(y.ALPHANUM);y.TOKEN=y.STRICT_TOKEN.concat([" "]);y.HEADER_CHARS=[" "];for(let e=32;e<=255;e++)e!==127&&y.HEADER_CHARS.push(e);y.CONNECTION_TOKEN_CHARS=y.HEADER_CHARS.filter(e=>e!==44);y.MAJOR=y.NUM_MAP;y.MINOR=y.MAJOR;var Jt;(function(e){e[e.GENERAL=0]="GENERAL",e[e.CONNECTION=1]="CONNECTION",e[e.CONTENT_LENGTH=2]="CONTENT_LENGTH",e[e.TRANSFER_ENCODING=3]="TRANSFER_ENCODING",e[e.UPGRADE=4]="UPGRADE",e[e.CONNECTION_KEEP_ALIVE=5]="CONNECTION_KEEP_ALIVE",e[e.CONNECTION_CLOSE=6]="CONNECTION_CLOSE",e[e.CONNECTION_UPGRADE=7]="CONNECTION_UPGRADE",e[e.TRANSFER_ENCODING_CHUNKED=8]="TRANSFER_ENCODING_CHUNKED"})(Jt=y.HEADER_STATE||(y.HEADER_STATE={}));y.SPECIAL_HEADERS={connection:Jt.CONNECTION,"content-length":Jt.CONTENT_LENGTH,"proxy-connection":Jt.CONNECTION,"transfer-encoding":Jt.TRANSFER_ENCODING,upgrade:Jt.UPGRADE}});var vo=f((hT,uQ)=>{"use strict";var{Buffer:Jw}=d("node:buffer");uQ.exports=Jw.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxBACEDDKIBCyACQeQANgIcIAIgATYCFCACQeMXNgIQIAJBFTYCDEEAIQMMoQELIAJBADYCACAGQQFqIQEgAi0AKSIAQSNrQQtJDQQCQCAAQQZLDQBBASAAdEHKAHFFDQAMBQtBACEDIAJBADYCHCACIAE2AhQgAkH3CTYCECACQQg2AgwMoAELIAJBADYCACAGQQFqIQEgAi0AKUEhRg0DIAJBADYCHCACIAE2AhQgAkGbCjYCECACQQg2AgxBACEDDJ8BCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJBkDM2AhAgAkEINgIMDJ0BCyACQQA2AgAgBkEBaiEBIAItAClBI0kNACACQQA2AhwgAiABNgIUIAJB0wk2AhAgAkEINgIMQQAhAwycAQtB0QAhAwyCAQsgAS0AAEEwayIAQf8BcUEKSQRAIAIgADoAKiABQQFqIQFBzwAhAwyCAQsgAigCBCEAIAJBADYCBCACIAAgARAoIgBFDYYBIAJB3gA2AhwgAiABNgIUIAIgADYCDEEAIQMMmgELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ2GASACQdwANgIcIAIgATYCFCACIAA2AgxBACEDDJkBCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMhwELIAJB2gA2AhwgAiAFNgIUIAIgADYCDAyYAQtBACEBQQEhAwsgAiADOgArIAVBAWohAwJAAkACQCACLQAtQRBxDQACQAJAAkAgAi0AKg4DAQACBAsgBkUNAwwCCyAADQEMAgsgAUUNAQsgAigCBCEAIAJBADYCBCACIAAgAxAoIgBFBEAgAyEBDAILIAJB2AA2AhwgAiADNgIUIAIgADYCDEEAIQMMmAELIAIoAgQhACACQQA2AgQgAiAAIAMQKCIARQRAIAMhAQyHAQsgAkHZADYCHCACIAM2AhQgAiAANgIMQQAhAwyXAQtBzAAhAwx9CyAAQRVHBEAgAkEANgIcIAIgATYCFCACQZQNNgIQIAJBITYCDEEAIQMMlgELIAJB1wA2AhwgAiABNgIUIAJByRc2AhAgAkEVNgIMQQAhAwyVAQtBACEDIAJBADYCHCACIAE2AhQgAkGAETYCECACQQk2AgwMlAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0AIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMkwELQckAIQMMeQsgAkEANgIcIAIgATYCFCACQcEoNgIQIAJBBzYCDCACQQA2AgBBACEDDJEBCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAlIgBFDQAgAkHSADYCHCACIAE2AhQgAiAANgIMDJABC0HIACEDDHYLIAJBADYCACAFIQELIAJBgBI7ASogAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANAQtBxwAhAwxzCyAAQRVGBEAgAkHRADYCHCACIAE2AhQgAkHjFzYCECACQRU2AgxBACEDDIwBC0EAIQMgAkEANgIcIAIgATYCFCACQbkNNgIQIAJBGjYCDAyLAQtBACEDIAJBADYCHCACIAE2AhQgAkGgGTYCECACQR42AgwMigELIAEtAABBOkYEQCACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgBFDQEgAkHDADYCHCACIAA2AgwgAiABQQFqNgIUDIoBC0EAIQMgAkEANgIcIAIgATYCFCACQbERNgIQIAJBCjYCDAyJAQsgAUEBaiEBQTshAwxvCyACQcMANgIcIAIgADYCDCACIAFBAWo2AhQMhwELQQAhAyACQQA2AhwgAiABNgIUIAJB8A42AhAgAkEcNgIMDIYBCyACIAIvATBBEHI7ATAMZgsCQCACLwEwIgBBCHFFDQAgAi0AKEEBRw0AIAItAC1BCHFFDQMLIAIgAEH3+wNxQYAEcjsBMAwECyABIARHBEACQANAIAEtAABBMGsiAEH/AXFBCk8EQEE1IQMMbgsgAikDICIKQpmz5syZs+bMGVYNASACIApCCn4iCjcDICAKIACtQv8BgyILQn+FVg0BIAIgCiALfDcDICAEIAFBAWoiAUcNAAtBOSEDDIUBCyACKAIEIQBBACEDIAJBADYCBCACIAAgAUEBaiIBECoiAA0MDHcLQTkhAwyDAQsgAi0AMEEgcQ0GQcUBIQMMaQtBACEDIAJBADYCBCACIAEgARAqIgBFDQQgAkE6NgIcIAIgADYCDCACIAFBAWo2AhQMgQELIAItAChBAUcNACACLQAtQQhxRQ0BC0E3IQMMZgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIABEAgAkE7NgIcIAIgADYCDCACIAFBAWo2AhQMfwsgAUEBaiEBDG4LIAJBCDoALAwECyABQQFqIQEMbQtBACEDIAJBADYCHCACIAE2AhQgAkHkEjYCECACQQQ2AgwMewsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ1sIAJBNzYCHCACIAE2AhQgAiAANgIMDHoLIAIgAi8BMEEgcjsBMAtBMCEDDF8LIAJBNjYCHCACIAE2AhQgAiAANgIMDHcLIABBLEcNASABQQFqIQBBASEBAkACQAJAAkACQCACLQAsQQVrDgQDAQIEAAsgACEBDAQLQQIhAQwBC0EEIQELIAJBAToALCACIAIvATAgAXI7ATAgACEBDAELIAIgAi8BMEEIcjsBMCAAIQELQTkhAwxcCyACQQA6ACwLQTQhAwxaCyABIARGBEBBLSEDDHMLAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0EtIQMMdAsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ0CIAJBLDYCHCACIAE2AhQgAiAANgIMDHMLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAS0AAEENRgRAIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAi0ALUEBcQRAQcQBIQMMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIADQEMZQtBLyEDDFcLIAJBLjYCHCACIAE2AhQgAiAANgIMDG8LQQAhAyACQQA2AhwgAiABNgIUIAJB8BQ2AhAgAkEDNgIMDG4LQQEhAwJAAkACQAJAIAItACxBBWsOBAMBAgAECyACIAIvATBBCHI7ATAMAwtBAiEDDAELQQQhAwsgAkEBOgAsIAIgAi8BMCADcjsBMAtBKiEDDFMLQQAhAyACQQA2AhwgAiABNgIUIAJB4Q82AhAgAkEKNgIMDGsLQQEhAwJAAkACQAJAAkACQCACLQAsQQJrDgcFBAQDAQIABAsgAiACLwEwQQhyOwEwDAMLQQIhAwwBC0EEIQMLIAJBAToALCACIAIvATAgA3I7ATALQSshAwxSC0EAIQMgAkEANgIcIAIgATYCFCACQasSNgIQIAJBCzYCDAxqC0EAIQMgAkEANgIcIAIgATYCFCACQf0NNgIQIAJBHTYCDAxpCyABIARHBEADQCABLQAAQSBHDUggBCABQQFqIgFHDQALQSUhAwxpC0ElIQMMaAsgAi0ALUEBcQRAQcMBIQMMTwsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKSIABEAgAkEmNgIcIAIgADYCDCACIAFBAWo2AhQMaAsgAUEBaiEBDFwLIAFBAWohASACLwEwIgBBgAFxBEBBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAEUNBiAAQRVHDR8gAkEFNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMZwsCQCAAQaAEcUGgBEcNACACLQAtQQJxDQBBACEDIAJBADYCHCACIAE2AhQgAkGWEzYCECACQQQ2AgwMZwsgAgJ/IAIvATBBFHFBFEYEQEEBIAItAChBAUYNARogAi8BMkHlAEYMAQsgAi0AKUEFRgs6AC5BACEAAkAgAigCOCIDRQ0AIAMoAiQiA0UNACACIAMRAAAhAAsCQAJAAkACQAJAIAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyACQQE6AC4LIAIgAi8BMEHAAHI7ATALQSchAwxPCyACQSM2AhwgAiABNgIUIAJBpRY2AhAgAkEVNgIMQQAhAwxnC0EAIQMgAkEANgIcIAIgATYCFCACQdULNgIQIAJBETYCDAxmC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAADQELQQ4hAwxLCyAAQRVGBEAgAkECNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMZAtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMYwtBACEDIAJBADYCHCACIAE2AhQgAkGqHDYCECACQQ82AgwMYgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEgCqdqIgEQKyIARQ0AIAJBBTYCHCACIAE2AhQgAiAANgIMDGELQQ8hAwxHC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxfC0IBIQoLIAFBAWohAQJAIAIpAyAiC0L//////////w9YBEAgAiALQgSGIAqENwMgDAELQQAhAyACQQA2AhwgAiABNgIUIAJBrQk2AhAgAkEMNgIMDF4LQSQhAwxEC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxcCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAsIgBFBEAgAUEBaiEBDFILIAJBFzYCHCACIAA2AgwgAiABQQFqNgIUDFsLIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQRY2AhwgAiAANgIMIAIgAUEBajYCFAxbC0EfIQMMQQtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQLSIARQRAIAFBAWohAQxQCyACQRQ2AhwgAiAANgIMIAIgAUEBajYCFAxYCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABEC0iAEUEQCABQQFqIQEMAQsgAkETNgIcIAIgADYCDCACIAFBAWo2AhQMWAtBHiEDDD4LQQAhAyACQQA2AhwgAiABNgIUIAJBxgw2AhAgAkEjNgIMDFYLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABEC0iAEUEQCABQQFqIQEMTgsgAkERNgIcIAIgADYCDCACIAFBAWo2AhQMVQsgAkEQNgIcIAIgATYCFCACIAA2AgwMVAtBACEDIAJBADYCHCACIAE2AhQgAkHGDDYCECACQSM2AgwMUwtBACEDIAJBADYCHCACIAE2AhQgAkHAFTYCECACQQI2AgwMUgsgAigCBCEAQQAhAyACQQA2AgQCQCACIAAgARAtIgBFBEAgAUEBaiEBDAELIAJBDjYCHCACIAA2AgwgAiABQQFqNgIUDFILQRshAww4C0EAIQMgAkEANgIcIAIgATYCFCACQcYMNgIQIAJBIzYCDAxQCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABECwiAEUEQCABQQFqIQEMAQsgAkENNgIcIAIgADYCDCACIAFBAWo2AhQMUAtBGiEDDDYLQQAhAyACQQA2AhwgAiABNgIUIAJBmg82AhAgAkEiNgIMDE4LIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQQw2AhwgAiAANgIMIAIgAUEBajYCFAxOC0EZIQMMNAtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMTAsgAEEVRwRAQQAhAyACQQA2AhwgAiABNgIUIAJBgww2AhAgAkETNgIMDEwLIAJBCjYCHCACIAE2AhQgAkHkFjYCECACQRU2AgxBACEDDEsLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABIAqnaiIBECsiAARAIAJBBzYCHCACIAE2AhQgAiAANgIMDEsLQRMhAwwxCyAAQRVHBEBBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMSgsgAkEeNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMSQtBACEAAkAgAigCOCIDRQ0AIAMoAiwiA0UNACACIAMRAAAhAAsgAEUNQSAAQRVGBEAgAkEDNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMSQtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMSAtBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMRwtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMRgsgAkEAOgAvIAItAC1BBHFFDT8LIAJBADoALyACQQE6ADRBACEDDCsLQQAhAyACQQA2AhwgAkHkETYCECACQQc2AgwgAiABQQFqNgIUDEMLAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB3QEhAwxDCwJAAkAgAi0ANEEBRw0AQQAhAAJAIAIoAjgiA0UNACADKAJYIgNFDQAgAiADEQAAIQALIABFDQAgAEEVRw0BIAJB3AE2AhwgAiABNgIUIAJB1RY2AhAgAkEVNgIMQQAhAwxEC0HBASEDDCoLIAJBADYCHCACIAE2AhQgAkHpCzYCECACQR82AgxBACEDDEILAkACQCACLQAoQQFrDgIEAQALQcABIQMMKQtBuQEhAwwoCyACQQI6AC9BACEAAkAgAigCOCIDRQ0AIAMoAgAiA0UNACACIAMRAAAhAAsgAEUEQEHCASEDDCgLIABBFUcEQCACQQA2AhwgAiABNgIUIAJBpAw2AhAgAkEQNgIMQQAhAwxBCyACQdsBNgIcIAIgATYCFCACQfoWNgIQIAJBFTYCDEEAIQMMQAsgASAERgRAQdoBIQMMQAsgAS0AAEHIAEYNASACQQE6ACgLQawBIQMMJQtBvwEhAwwkCyABIARHBEAgAkEQNgIIIAIgATYCBEG+ASEDDCQLQdkBIQMMPAsgASAERgRAQdgBIQMMPAsgAS0AAEHIAEcNBCABQQFqIQFBvQEhAwwiCyABIARGBEBB1wEhAww7CwJAAkAgAS0AAEHFAGsOEAAFBQUFBQUFBQUFBQUFBQEFCyABQQFqIQFBuwEhAwwiCyABQQFqIQFBvAEhAwwhC0HWASEDIAEgBEYNOSACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGD0ABqLQAARw0DIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw6CyACKAIEIQAgAkIANwMAIAIgACAGQQFqIgEQJyIARQRAQcYBIQMMIQsgAkHVATYCHCACIAE2AhQgAiAANgIMQQAhAww5C0HUASEDIAEgBEYNOCACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGB0ABqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw5CyACQYEEOwEoIAIoAgQhACACQgA3AwAgAiAAIAZBAWoiARAnIgANAwwCCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB2Bs2AhAgAkEINgIMDDYLQboBIQMMHAsgAkHTATYCHCACIAE2AhQgAiAANgIMQQAhAww0C0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAARQ0AIABBFUYNASACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwwzC0HkACEDDBkLIAJB+AA2AhwgAiABNgIUIAJByhg2AhAgAkEVNgIMQQAhAwwxC0HSASEDIAQgASIARg0wIAQgAWsgAigCACIBaiEFIAAgAWtBBGohBgJAA0AgAC0AACABQfzPAGotAABHDQEgAUEERg0DIAFBAWohASAEIABBAWoiAEcNAAsgAiAFNgIADDELIAJBADYCHCACIAA2AhQgAkGQMzYCECACQQg2AgwgAkEANgIAQQAhAwwwCyABIARHBEAgAkEONgIIIAIgATYCBEG3ASEDDBcLQdEBIQMMLwsgAkEANgIAIAZBAWohAQtBuAEhAwwUCyABIARGBEBB0AEhAwwtCyABLQAAQTBrIgBB/wFxQQpJBEAgAiAAOgAqIAFBAWohAUG2ASEDDBQLIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0UIAJBzwE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAsgASAERgRAQc4BIQMMLAsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0VIAJBzQE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAtBtQEhAwwSCyAEIAEiBUYEQEHMASEDDCsLQQAhAEEBIQFBASEGQQAhAwJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAUtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyEDQQAhAUEAIQYMAgtBCSEDQQEhAEEAIQFBACEGDAELQQAhAUEBIQMLIAIgAzoAKyAFQQFqIQMCQAJAIAItAC1BEHENAAJAAkACQCACLQAqDgMBAAIECyAGRQ0DDAILIAANAQwCCyABRQ0BCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMAwsgAkHJATYCHCACIAM2AhQgAiAANgIMQQAhAwwtCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMGAsgAkHKATYCHCACIAM2AhQgAiAANgIMQQAhAwwsCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMFgsgAkHLATYCHCACIAU2AhQgAiAANgIMDCsLQbQBIQMMEQtBACEAAkAgAigCOCIDRQ0AIAMoAjwiA0UNACACIAMRAAAhAAsCQCAABEAgAEEVRg0BIAJBADYCHCACIAE2AhQgAkGUDTYCECACQSE2AgxBACEDDCsLQbIBIQMMEQsgAkHIATYCHCACIAE2AhQgAkHJFzYCECACQRU2AgxBACEDDCkLIAJBADYCACAGQQFqIQFB9QAhAwwPCyACLQApQQVGBEBB4wAhAwwPC0HiACEDDA4LIAAhASACQQA2AgALIAJBADoALEEJIQMMDAsgAkEANgIAIAdBAWohAUHAACEDDAsLQQELOgAsIAJBADYCACAGQQFqIQELQSkhAwwIC0E4IQMMBwsCQCABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRw0DIAFBAWohAQwFCyAEIAFBAWoiAUcNAAtBPiEDDCELQT4hAwwgCwsgAkEAOgAsDAELQQshAwwEC0E6IQMMAwsgAUEBaiEBQS0hAwwCCyACIAE6ACwgAkEANgIAIAZBAWohAUEMIQMMAQsgAkEANgIAIAZBAWohAUEKIQMMAAsAC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwXC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwWC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwVC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwUC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwTC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwSC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwRC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwQC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwPC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwOC0EAIQMgAkEANgIcIAIgATYCFCACQcASNgIQIAJBCzYCDAwNC0EAIQMgAkEANgIcIAIgATYCFCACQZUJNgIQIAJBCzYCDAwMC0EAIQMgAkEANgIcIAIgATYCFCACQeEPNgIQIAJBCjYCDAwLC0EAIQMgAkEANgIcIAIgATYCFCACQfsPNgIQIAJBCjYCDAwKC0EAIQMgAkEANgIcIAIgATYCFCACQfEZNgIQIAJBAjYCDAwJC0EAIQMgAkEANgIcIAIgATYCFCACQcQUNgIQIAJBAjYCDAwIC0EAIQMgAkEANgIcIAIgATYCFCACQfIVNgIQIAJBAjYCDAwHCyACQQI2AhwgAiABNgIUIAJBnBo2AhAgAkEWNgIMQQAhAwwGC0EBIQMMBQtB1AAhAyABIARGDQQgCEEIaiEJIAIoAgAhBQJAAkAgASAERwRAIAVB2MIAaiEHIAQgBWogAWshACAFQX9zQQpqIgUgAWohBgNAIAEtAAAgBy0AAEcEQEECIQcMAwsgBUUEQEEAIQcgBiEBDAMLIAVBAWshBSAHQQFqIQcgBCABQQFqIgFHDQALIAAhBSAEIQELIAlBATYCACACIAU2AgAMAQsgAkEANgIAIAkgBzYCAAsgCSABNgIEIAgoAgwhACAIKAIIDgMBBAIACwALIAJBADYCHCACQbUaNgIQIAJBFzYCDCACIABBAWo2AhRBACEDDAILIAJBADYCHCACIAA2AhQgAkHKGjYCECACQQk2AgxBACEDDAELIAEgBEYEQEEiIQMMAQsgAkEJNgIIIAIgATYCBEEhIQMLIAhBEGokACADRQRAIAIoAgwhAAwBCyACIAM2AhxBACEAIAIoAgQiAUUNACACIAEgBCACKAIIEQEAIgFFDQAgAiAENgIUIAIgATYCDCABIQALIAALvgIBAn8gAEEAOgAAIABB3ABqIgFBAWtBADoAACAAQQA6AAIgAEEAOgABIAFBA2tBADoAACABQQJrQQA6AAAgAEEAOgADIAFBBGtBADoAAEEAIABrQQNxIgEgAGoiAEEANgIAQdwAIAFrQXxxIgIgAGoiAUEEa0EANgIAAkAgAkEJSQ0AIABBADYCCCAAQQA2AgQgAUEIa0EANgIAIAFBDGtBADYCACACQRlJDQAgAEEANgIYIABBADYCFCAAQQA2AhAgAEEANgIMIAFBEGtBADYCACABQRRrQQA2AgAgAUEYa0EANgIAIAFBHGtBADYCACACIABBBHFBGHIiAmsiAUEgSQ0AIAAgAmohAANAIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAQSBqIQAgAUEgayIBQR9LDQALCwtWAQF/AkAgACgCDA0AAkACQAJAAkAgAC0ALw4DAQADAgsgACgCOCIBRQ0AIAEoAiwiAUUNACAAIAERAAAiAQ0DC0EADwsACyAAQcMWNgIQQQ4hAQsgAQsaACAAKAIMRQRAIABB0Rs2AhAgAEEVNgIMCwsUACAAKAIMQRVGBEAgAEEANgIMCwsUACAAKAIMQRZGBEAgAEEANgIMCwsHACAAKAIMCwcAIAAoAhALCQAgACABNgIQCwcAIAAoAhQLFwAgAEEkTwRAAAsgAEECdEGgM2ooAgALFwAgAEEuTwRAAAsgAEECdEGwNGooAgALvwkBAX9B6yghAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv","base64")});var hQ=f((dT,CQ)=>{"use strict";var{Buffer:Hw}=d("node:buffer");CQ.exports=Hw.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==","base64")});var xr=f((fT,FQ)=>{"use strict";var dQ=["GET","HEAD","POST"],Vw=new Set(dQ),qw=[101,204,205,304],fQ=[301,302,303,307,308],Ww=new Set(fQ),pQ=["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"],Pw=new Set(pQ),wQ=["","no-referrer","no-referrer-when-downgrade","same-origin","origin","strict-origin","origin-when-cross-origin","strict-origin-when-cross-origin","unsafe-url"],Ow=new Set(wQ),_w=["follow","manual","error"],yQ=["GET","HEAD","OPTIONS","TRACE"],zw=new Set(yQ),Zw=["navigate","same-origin","no-cors","cors"],Kw=["omit","same-origin","include"],Xw=["default","no-store","reload","no-cache","force-cache","only-if-cached"],jw=["content-encoding","content-language","content-location","content-type","content-length"],$w=["half"],mQ=["CONNECT","TRACE","TRACK"],ey=new Set(mQ),DQ=["audio","audioworklet","font","image","manifest","paintworklet","script","style","track","video","xslt",""],Ay=new Set(DQ);FQ.exports={subresource:DQ,forbiddenMethods:mQ,requestBodyHeader:jw,referrerPolicy:wQ,requestRedirect:_w,requestMode:Zw,requestCredentials:Kw,requestCache:Xw,redirectStatus:fQ,corsSafeListedMethods:dQ,nullBodyStatus:qw,safeMethods:yQ,badPorts:pQ,requestDuplex:$w,subresourceSet:Ay,badPortsSet:Pw,redirectStatusSet:Ww,corsSafeListedMethodsSet:Vw,safeMethodsSet:zw,forbiddenMethodsSet:ey,referrerPolicySet:Ow}});var Ho=f((pT,kQ)=>{"use strict";var Jo=Symbol.for("undici.globalOrigin.1");function ty(){return globalThis[Jo]}function ry(e){if(e===void 0){Object.defineProperty(globalThis,Jo,{value:void 0,writable:!0,enumerable:!1,configurable:!1});return}let A=new URL(e);if(A.protocol!=="http:"&&A.protocol!=="https:")throw new TypeError(`Only http & https urls are allowed, received ${A.protocol}`);Object.defineProperty(globalThis,Jo,{value:A,writable:!0,enumerable:!1,configurable:!1})}kQ.exports={getGlobalOrigin:ty,setGlobalOrigin:ry}});var Fe=f((wT,LQ)=>{"use strict";var $n=d("node:assert"),ny=new TextEncoder,Gr=/^[!#$%&'*+\-.^_|~A-Za-z0-9]+$/,iy=/[\u000A\u000D\u0009\u0020]/,sy=/[\u0009\u000A\u000C\u000D\u0020]/g,oy=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function ay(e){$n(e.protocol==="data:");let A=SQ(e,!0);A=A.slice(5);let t={position:0},r=Ht(",",A,t),n=r.length;if(r=By(r,!0,!0),t.position>=A.length)return"failure";t.position++;let i=A.slice(n+1),s=NQ(i);if(/;(\u0020){0,}base64$/i.test(r)){let a=UQ(s);if(s=gy(a),s==="failure")return"failure";r=r.slice(0,-6),r=r.replace(/(\u0020)+$/,""),r=r.slice(0,-1)}r.startsWith(";")&&(r="text/plain"+r);let o=Vo(r);return o==="failure"&&(o=Vo("text/plain;charset=US-ASCII")),{mimeType:o,body:s}}function SQ(e,A=!1){if(!A)return e.href;let t=e.href,r=e.hash.length,n=r===0?t:t.substring(0,t.length-r);return!r&&t.endsWith("#")?n.slice(0,-1):n}function ei(e,A,t){let r="";for(;t.position<A.length&&e(A[t.position]);)r+=A[t.position],t.position++;return r}function Ht(e,A,t){let r=A.indexOf(e,t.position),n=t.position;return r===-1?(t.position=A.length,A.slice(n)):(t.position=r,A.slice(n,t.position))}function NQ(e){let A=ny.encode(e);return cy(A)}function RQ(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function bQ(e){return e>=48&&e<=57?e-48:(e&223)-55}function cy(e){let A=e.length,t=new Uint8Array(A),r=0;for(let n=0;n<A;++n){let i=e[n];i!==37?t[r++]=i:i===37&&!(RQ(e[n+1])&&RQ(e[n+2]))?t[r++]=37:(t[r++]=bQ(e[n+1])<<4|bQ(e[n+2]),n+=2)}return A===r?t:t.subarray(0,r)}function Vo(e){e=jn(e,!0,!0);let A={position:0},t=Ht("/",e,A);if(t.length===0||!Gr.test(t)||A.position>e.length)return"failure";A.position++;let r=Ht(";",e,A);if(r=jn(r,!1,!0),r.length===0||!Gr.test(r))return"failure";let n=t.toLowerCase(),i=r.toLowerCase(),s={type:n,subtype:i,parameters:new Map,essence:`${n}/${i}`};for(;A.position<e.length;){A.position++,ei(c=>iy.test(c),e,A);let o=ei(c=>c!==";"&&c!=="=",e,A);if(o=o.toLowerCase(),A.position<e.length){if(e[A.position]===";")continue;A.position++}if(A.position>e.length)break;let a=null;if(e[A.position]==='"')a=MQ(e,A,!0),Ht(";",e,A);else if(a=Ht(";",e,A),a=jn(a,!1,!0),a.length===0)continue;o.length!==0&&Gr.test(o)&&(a.length===0||oy.test(a))&&!s.parameters.has(o)&&s.parameters.set(o,a)}return s}function gy(e){e=e.replace(sy,"");let A=e.length;if(A%4===0&&e.charCodeAt(A-1)===61&&(--A,e.charCodeAt(A-1)===61&&--A),A%4===1||/[^+/0-9A-Za-z]/.test(e.length===A?e:e.substring(0,A)))return"failure";let t=Buffer.from(e,"base64");return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}function MQ(e,A,t){let r=A.position,n="";for($n(e[A.position]==='"'),A.position++;n+=ei(s=>s!=='"'&&s!=="\\",e,A),!(A.position>=e.length);){let i=e[A.position];if(A.position++,i==="\\"){if(A.position>=e.length){n+="\\";break}n+=e[A.position],A.position++}else{$n(i==='"');break}}return t?n:e.slice(r,A.position)}function ly(e){$n(e!=="failure");let{parameters:A,essence:t}=e,r=t;for(let[n,i]of A.entries())r+=";",r+=n,r+="=",Gr.test(i)||(i=i.replace(/(\\|")/g,"\\$1"),i='"'+i,i+='"'),r+=i;return r}function Qy(e){return e===13||e===10||e===9||e===32}function jn(e,A=!0,t=!0){return qo(e,A,t,Qy)}function Ey(e){return e===13||e===10||e===9||e===12||e===32}function By(e,A=!0,t=!0){return qo(e,A,t,Ey)}function qo(e,A,t,r){let n=0,i=e.length-1;if(A)for(;n<e.length&&r(e.charCodeAt(n));)n++;if(t)for(;i>0&&r(e.charCodeAt(i));)i--;return n===0&&i===e.length-1?e:e.slice(n,i+1)}function UQ(e){let A=e.length;if(65535>A)return String.fromCharCode.apply(null,e);let t="",r=0,n=65535;for(;r<A;)r+n>A&&(n=A-r),t+=String.fromCharCode.apply(null,e.subarray(r,r+=n));return t}function Iy(e){switch(e.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 e.subtype.endsWith("+json")?"application/json":e.subtype.endsWith("+xml")?"application/xml":""}LQ.exports={dataURLProcessor:ay,URLSerializer:SQ,collectASequenceOfCodePoints:ei,collectASequenceOfCodePointsFast:Ht,stringPercentDecode:NQ,parseMIMEType:Vo,collectAnHTTPQuotedString:MQ,serializeAMimeType:ly,removeChars:qo,removeHTTPWhitespace:jn,minimizeSupportedMimeType:Iy,HTTP_TOKEN_CODEPOINTS:Gr,isomorphicDecode:UQ}});var he=f((yT,TQ)=>{"use strict";var{types:cA,inspect:uy}=d("node:util"),{markAsUncloneable:Cy}=d("node:worker_threads"),{toUSVString:hy}=x(),w={};w.converters={};w.util={};w.errors={};w.errors.exception=function(e){return new TypeError(`${e.header}: ${e.message}`)};w.errors.conversionFailed=function(e){let A=e.types.length===1?"":" one of",t=`${e.argument} could not be converted to${A}: ${e.types.join(", ")}.`;return w.errors.exception({header:e.prefix,message:t})};w.errors.invalidArgument=function(e){return w.errors.exception({header:e.prefix,message:`"${e.value}" is an invalid ${e.type}.`})};w.brandCheck=function(e,A,t){if(t?.strict!==!1){if(!(e instanceof A)){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}}else if(e?.[Symbol.toStringTag]!==A.prototype[Symbol.toStringTag]){let r=new TypeError("Illegal invocation");throw r.code="ERR_INVALID_THIS",r}};w.argumentLengthCheck=function({length:e},A,t){if(e<A)throw w.errors.exception({message:`${A} argument${A!==1?"s":""} required, but${e?" only":""} ${e} found.`,header:t})};w.illegalConstructor=function(){throw w.errors.exception({header:"TypeError",message:"Illegal constructor"})};w.util.Type=function(e){switch(typeof e){case"undefined":return"Undefined";case"boolean":return"Boolean";case"string":return"String";case"symbol":return"Symbol";case"number":return"Number";case"bigint":return"BigInt";case"function":case"object":return e===null?"Null":"Object"}};w.util.markAsUncloneable=Cy||(()=>{});w.util.ConvertToInt=function(e,A,t,r){let n,i;A===64?(n=Math.pow(2,53)-1,t==="unsigned"?i=0:i=Math.pow(-2,53)+1):t==="unsigned"?(i=0,n=Math.pow(2,A)-1):(i=Math.pow(-2,A)-1,n=Math.pow(2,A-1)-1);let s=Number(e);if(s===0&&(s=0),r?.enforceRange===!0){if(Number.isNaN(s)||s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY)throw w.errors.exception({header:"Integer conversion",message:`Could not convert ${w.util.Stringify(e)} to an integer.`});if(s=w.util.IntegerPart(s),s<i||s>n)throw w.errors.exception({header:"Integer conversion",message:`Value must be between ${i}-${n}, got ${s}.`});return s}return!Number.isNaN(s)&&r?.clamp===!0?(s=Math.min(Math.max(s,i),n),Math.floor(s)%2===0?s=Math.floor(s):s=Math.ceil(s),s):Number.isNaN(s)||s===0&&Object.is(0,s)||s===Number.POSITIVE_INFINITY||s===Number.NEGATIVE_INFINITY?0:(s=w.util.IntegerPart(s),s=s%Math.pow(2,A),t==="signed"&&s>=Math.pow(2,A)-1?s-Math.pow(2,A):s)};w.util.IntegerPart=function(e){let A=Math.floor(Math.abs(e));return e<0?-1*A:A};w.util.Stringify=function(e){switch(w.util.Type(e)){case"Symbol":return`Symbol(${e.description})`;case"Object":return uy(e);case"String":return`"${e}"`;default:return`${e}`}};w.sequenceConverter=function(e){return(A,t,r,n)=>{if(w.util.Type(A)!=="Object")throw w.errors.exception({header:t,message:`${r} (${w.util.Stringify(A)}) is not iterable.`});let i=typeof n=="function"?n():A?.[Symbol.iterator]?.(),s=[],o=0;if(i===void 0||typeof i.next!="function")throw w.errors.exception({header:t,message:`${r} is not iterable.`});for(;;){let{done:a,value:c}=i.next();if(a)break;s.push(e(c,t,`${r}[${o++}]`))}return s}};w.recordConverter=function(e,A){return(t,r,n)=>{if(w.util.Type(t)!=="Object")throw w.errors.exception({header:r,message:`${n} ("${w.util.Type(t)}") is not an Object.`});let i={};if(!cA.isProxy(t)){let o=[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)];for(let a of o){let c=e(a,r,n),g=A(t[a],r,n);i[c]=g}return i}let s=Reflect.ownKeys(t);for(let o of s)if(Reflect.getOwnPropertyDescriptor(t,o)?.enumerable){let c=e(o,r,n),g=A(t[o],r,n);i[c]=g}return i}};w.interfaceConverter=function(e){return(A,t,r,n)=>{if(n?.strict!==!1&&!(A instanceof e))throw w.errors.exception({header:t,message:`Expected ${r} ("${w.util.Stringify(A)}") to be an instance of ${e.name}.`});return A}};w.dictionaryConverter=function(e){return(A,t,r)=>{let n=w.util.Type(A),i={};if(n==="Null"||n==="Undefined")return i;if(n!=="Object")throw w.errors.exception({header:t,message:`Expected ${A} to be one of: Null, Undefined, Object.`});for(let s of e){let{key:o,defaultValue:a,required:c,converter:g}=s;if(c===!0&&!Object.hasOwn(A,o))throw w.errors.exception({header:t,message:`Missing required key "${o}".`});let l=A[o],Q=Object.hasOwn(s,"defaultValue");if(Q&&l!==null&&(l??=a()),c||Q||l!==void 0){if(l=g(l,t,`${r}.${o}`),s.allowedValues&&!s.allowedValues.includes(l))throw w.errors.exception({header:t,message:`${l} is not an accepted type. Expected one of ${s.allowedValues.join(", ")}.`});i[o]=l}}return i}};w.nullableConverter=function(e){return(A,t,r)=>A===null?A:e(A,t,r)};w.converters.DOMString=function(e,A,t,r){if(e===null&&r?.legacyNullToEmptyString)return"";if(typeof e=="symbol")throw w.errors.exception({header:A,message:`${t} is a symbol, which cannot be converted to a DOMString.`});return String(e)};w.converters.ByteString=function(e,A,t){let r=w.converters.DOMString(e,A,t);for(let n=0;n<r.length;n++)if(r.charCodeAt(n)>255)throw new TypeError(`Cannot convert argument to a ByteString because the character at index ${n} has a value of ${r.charCodeAt(n)} which is greater than 255.`);return r};w.converters.USVString=hy;w.converters.boolean=function(e){return!!e};w.converters.any=function(e){return e};w.converters["long long"]=function(e,A,t){return w.util.ConvertToInt(e,64,"signed",void 0,A,t)};w.converters["unsigned long long"]=function(e,A,t){return w.util.ConvertToInt(e,64,"unsigned",void 0,A,t)};w.converters["unsigned long"]=function(e,A,t){return w.util.ConvertToInt(e,32,"unsigned",void 0,A,t)};w.converters["unsigned short"]=function(e,A,t,r){return w.util.ConvertToInt(e,16,"unsigned",r,A,t)};w.converters.ArrayBuffer=function(e,A,t,r){if(w.util.Type(e)!=="Object"||!cA.isAnyArrayBuffer(e))throw w.errors.conversionFailed({prefix:A,argument:`${t} ("${w.util.Stringify(e)}")`,types:["ArrayBuffer"]});if(r?.allowShared===!1&&cA.isSharedArrayBuffer(e))throw w.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.resizable||e.growable)throw w.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};w.converters.TypedArray=function(e,A,t,r,n){if(w.util.Type(e)!=="Object"||!cA.isTypedArray(e)||e.constructor.name!==A.name)throw w.errors.conversionFailed({prefix:t,argument:`${r} ("${w.util.Stringify(e)}")`,types:[A.name]});if(n?.allowShared===!1&&cA.isSharedArrayBuffer(e.buffer))throw w.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.buffer.resizable||e.buffer.growable)throw w.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};w.converters.DataView=function(e,A,t,r){if(w.util.Type(e)!=="Object"||!cA.isDataView(e))throw w.errors.exception({header:A,message:`${t} is not a DataView.`});if(r?.allowShared===!1&&cA.isSharedArrayBuffer(e.buffer))throw w.errors.exception({header:"ArrayBuffer",message:"SharedArrayBuffer is not allowed."});if(e.buffer.resizable||e.buffer.growable)throw w.errors.exception({header:"ArrayBuffer",message:"Received a resizable ArrayBuffer."});return e};w.converters.BufferSource=function(e,A,t,r){if(cA.isAnyArrayBuffer(e))return w.converters.ArrayBuffer(e,A,t,{...r,allowShared:!1});if(cA.isTypedArray(e))return w.converters.TypedArray(e,e.constructor,A,t,{...r,allowShared:!1});if(cA.isDataView(e))return w.converters.DataView(e,A,t,{...r,allowShared:!1});throw w.errors.conversionFailed({prefix:A,argument:`${t} ("${w.util.Stringify(e)}")`,types:["BufferSource"]})};w.converters["sequence<ByteString>"]=w.sequenceConverter(w.converters.ByteString);w.converters["sequence<sequence<ByteString>>"]=w.sequenceConverter(w.converters["sequence<ByteString>"]);w.converters["record<ByteString, ByteString>"]=w.recordConverter(w.converters.ByteString,w.converters.ByteString);TQ.exports={webidl:w}});var Ue=f((mT,ZQ)=>{"use strict";var{Transform:dy}=d("node:stream"),xQ=d("node:zlib"),{redirectStatusSet:fy,referrerPolicySet:py,badPortsSet:wy}=xr(),{getGlobalOrigin:GQ}=Ho(),{collectASequenceOfCodePoints:st,collectAnHTTPQuotedString:yy,removeChars:my,parseMIMEType:Dy}=Fe(),{performance:Fy}=d("node:perf_hooks"),{isBlobLike:ky,ReadableStreamFrom:Ry,isValidHTTPToken:YQ,normalizedMethodRecordsBase:by}=x(),ot=d("node:assert"),{isUint8Array:Sy}=d("node:util/types"),{webidl:Yr}=he(),vQ=[],ti;try{ti=d("node:crypto");let e=["sha256","sha384","sha512"];vQ=ti.getHashes().filter(A=>e.includes(A))}catch{}function JQ(e){let A=e.urlList,t=A.length;return t===0?null:A[t-1].toString()}function Ny(e,A){if(!fy.has(e.status))return null;let t=e.headersList.get("location",!0);return t!==null&&VQ(t)&&(HQ(t)||(t=My(t)),t=new URL(t,JQ(e))),t&&!t.hash&&(t.hash=A),t}function HQ(e){for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);if(t>126||t<32)return!1}return!0}function My(e){return Buffer.from(e,"binary").toString("utf8")}function Jr(e){return e.urlList[e.urlList.length-1]}function Uy(e){let A=Jr(e);return _Q(A)&&wy.has(A.port)?"blocked":"allowed"}function Ly(e){return e instanceof Error||e?.constructor?.name==="Error"||e?.constructor?.name==="DOMException"}function Ty(e){for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);if(!(t===9||t>=32&&t<=126||t>=128&&t<=255))return!1}return!0}var xy=YQ;function VQ(e){return(e[0]===" "||e[0]===" "||e[e.length-1]===" "||e[e.length-1]===" "||e.includes(`
|
|
2
|
-
`)||e.includes("\r")||e.includes("\0"))===!1}function Gy(e,A){let{headersList:t}=A,r=(t.get("referrer-policy",!0)??"").split(","),n="";if(r.length>0)for(let i=r.length;i!==0;i--){let s=r[i-1].trim();if(py.has(s)){n=s;break}}n!==""&&(e.referrerPolicy=n)}function Yy(){return"allowed"}function vy(){return"success"}function Jy(){return"success"}function Hy(e){let A=null;A=e.mode,e.headersList.set("sec-fetch-mode",A,!0)}function Vy(e){let A=e.origin;if(!(A==="client"||A===void 0)){if(e.responseTainting==="cors"||e.mode==="websocket")e.headersList.append("origin",A,!0);else if(e.method!=="GET"&&e.method!=="HEAD"){switch(e.referrerPolicy){case"no-referrer":A=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":e.origin&&Po(e.origin)&&!Po(Jr(e))&&(A=null);break;case"same-origin":ri(e,Jr(e))||(A=null);break;default:}e.headersList.append("origin",A,!0)}}}function Vt(e,A){return e}function qy(e,A,t){return!e?.startTime||e.startTime<A?{domainLookupStartTime:A,domainLookupEndTime:A,connectionStartTime:A,connectionEndTime:A,secureConnectionStartTime:A,ALPNNegotiatedProtocol:e?.ALPNNegotiatedProtocol}:{domainLookupStartTime:Vt(e.domainLookupStartTime,t),domainLookupEndTime:Vt(e.domainLookupEndTime,t),connectionStartTime:Vt(e.connectionStartTime,t),connectionEndTime:Vt(e.connectionEndTime,t),secureConnectionStartTime:Vt(e.secureConnectionStartTime,t),ALPNNegotiatedProtocol:e.ALPNNegotiatedProtocol}}function Wy(e){return Vt(Fy.now(),e)}function Py(e){return{startTime:e.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:e.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function qQ(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function Oy(e){return{referrerPolicy:e.referrerPolicy}}function _y(e){let A=e.referrerPolicy;ot(A);let t=null;if(e.referrer==="client"){let o=GQ();if(!o||o.origin==="null")return"no-referrer";t=new URL(o)}else e.referrer instanceof URL&&(t=e.referrer);let r=Wo(t),n=Wo(t,!0);r.toString().length>4096&&(r=n);let i=ri(e,r),s=vr(r)&&!vr(e.url);switch(A){case"origin":return n??Wo(t,!0);case"unsafe-url":return r;case"same-origin":return i?n:"no-referrer";case"origin-when-cross-origin":return i?r:n;case"strict-origin-when-cross-origin":{let o=Jr(e);return ri(r,o)?r:vr(r)&&!vr(o)?"no-referrer":n}default:return s?"no-referrer":n}}function Wo(e,A){return ot(e instanceof URL),e=new URL(e),e.protocol==="file:"||e.protocol==="about:"||e.protocol==="blank:"?"no-referrer":(e.username="",e.password="",e.hash="",A&&(e.pathname="",e.search=""),e)}function vr(e){if(!(e instanceof URL))return!1;if(e.href==="about:blank"||e.href==="about:srcdoc"||e.protocol==="data:"||e.protocol==="file:")return!0;return A(e.origin);function A(t){if(t==null||t==="null")return!1;let r=new URL(t);return!!(r.protocol==="https:"||r.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(r.hostname)||r.hostname==="localhost"||r.hostname.includes("localhost.")||r.hostname.endsWith(".localhost"))}}function zy(e,A){if(ti===void 0)return!0;let t=WQ(A);if(t==="no metadata"||t.length===0)return!0;let r=Ky(t),n=Xy(t,r);for(let i of n){let s=i.algo,o=i.hash,a=ti.createHash(s).update(e).digest("base64");if(a[a.length-1]==="="&&(a[a.length-2]==="="?a=a.slice(0,-2):a=a.slice(0,-1)),jy(a,o))return!0}return!1}var Zy=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function WQ(e){let A=[],t=!0;for(let r of e.split(" ")){t=!1;let n=Zy.exec(r);if(n===null||n.groups===void 0||n.groups.algo===void 0)continue;let i=n.groups.algo.toLowerCase();vQ.includes(i)&&A.push(n.groups)}return t===!0?"no metadata":A}function Ky(e){let A=e[0].algo;if(A[3]==="5")return A;for(let t=1;t<e.length;++t){let r=e[t];if(r.algo[3]==="5"){A="sha512";break}else{if(A[3]==="3")continue;r.algo[3]==="3"&&(A="sha384")}}return A}function Xy(e,A){if(e.length===1)return e;let t=0;for(let r=0;r<e.length;++r)e[r].algo===A&&(e[t++]=e[r]);return e.length=t,e}function jy(e,A){if(e.length!==A.length)return!1;for(let t=0;t<e.length;++t)if(e[t]!==A[t]){if(e[t]==="+"&&A[t]==="-"||e[t]==="/"&&A[t]==="_")continue;return!1}return!0}function $y(e){}function ri(e,A){return e.origin===A.origin&&e.origin==="null"||e.protocol===A.protocol&&e.hostname===A.hostname&&e.port===A.port}function em(){let e,A;return{promise:new Promise((r,n)=>{e=r,A=n}),resolve:e,reject:A}}function Am(e){return e.controller.state==="aborted"}function tm(e){return e.controller.state==="aborted"||e.controller.state==="terminated"}function rm(e){return by[e.toLowerCase()]??e}function nm(e){let A=JSON.stringify(e);if(A===void 0)throw new TypeError("Value is not JSON serializable");return ot(typeof A=="string"),A}var im=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function PQ(e,A,t=0,r=1){class n{#e;#A;#t;constructor(s,o){this.#e=s,this.#A=o,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 ${e} Iterator.`);let s=this.#t,o=this.#e[A],a=o.length;if(s>=a)return{value:void 0,done:!0};let{[t]:c,[r]:g}=o[s];this.#t=s+1;let l;switch(this.#A){case"key":l=c;break;case"value":l=g;break;case"key+value":l=[c,g];break}return{value:l,done:!1}}}return delete n.prototype.constructor,Object.setPrototypeOf(n.prototype,im),Object.defineProperties(n.prototype,{[Symbol.toStringTag]:{writable:!1,enumerable:!1,configurable:!0,value:`${e} Iterator`},next:{writable:!0,enumerable:!0,configurable:!0}}),function(i,s){return new n(i,s)}}function sm(e,A,t,r=0,n=1){let i=PQ(e,t,r,n),s={keys:{writable:!0,enumerable:!0,configurable:!0,value:function(){return Yr.brandCheck(this,A),i(this,"key")}},values:{writable:!0,enumerable:!0,configurable:!0,value:function(){return Yr.brandCheck(this,A),i(this,"value")}},entries:{writable:!0,enumerable:!0,configurable:!0,value:function(){return Yr.brandCheck(this,A),i(this,"key+value")}},forEach:{writable:!0,enumerable:!0,configurable:!0,value:function(a,c=globalThis){if(Yr.brandCheck(this,A),Yr.argumentLengthCheck(arguments,1,`${e}.forEach`),typeof a!="function")throw new TypeError(`Failed to execute 'forEach' on '${e}': parameter 1 is not of type 'Function'.`);for(let{0:g,1:l}of i(this,"key+value"))a.call(c,l,g,this)}}};return Object.defineProperties(A.prototype,{...s,[Symbol.iterator]:{writable:!0,enumerable:!1,configurable:!0,value:s.entries.value}})}async function om(e,A,t){let r=A,n=t,i;try{i=e.stream.getReader()}catch(s){n(s);return}try{r(await OQ(i))}catch(s){n(s)}}function am(e){return e instanceof ReadableStream||e[Symbol.toStringTag]==="ReadableStream"&&typeof e.tee=="function"}function cm(e){try{e.close(),e.byobRequest?.respond(0)}catch(A){if(!A.message.includes("Controller is already closed")&&!A.message.includes("ReadableStream is already closed"))throw A}}var gm=/[^\x00-\xFF]/;function Ai(e){return ot(!gm.test(e)),e}async function OQ(e){let A=[],t=0;for(;;){let{done:r,value:n}=await e.read();if(r)return Buffer.concat(A,t);if(!Sy(n))throw new TypeError("Received non-Uint8Array chunk");A.push(n),t+=n.length}}function lm(e){ot("protocol"in e);let A=e.protocol;return A==="about:"||A==="blob:"||A==="data:"}function Po(e){return typeof e=="string"&&e[5]===":"&&e[0]==="h"&&e[1]==="t"&&e[2]==="t"&&e[3]==="p"&&e[4]==="s"||e.protocol==="https:"}function _Q(e){ot("protocol"in e);let A=e.protocol;return A==="http:"||A==="https:"}function Qm(e,A){let t=e;if(!t.startsWith("bytes"))return"failure";let r={position:5};if(A&&st(a=>a===" "||a===" ",t,r),t.charCodeAt(r.position)!==61)return"failure";r.position++,A&&st(a=>a===" "||a===" ",t,r);let n=st(a=>{let c=a.charCodeAt(0);return c>=48&&c<=57},t,r),i=n.length?Number(n):null;if(A&&st(a=>a===" "||a===" ",t,r),t.charCodeAt(r.position)!==45)return"failure";r.position++,A&&st(a=>a===" "||a===" ",t,r);let s=st(a=>{let c=a.charCodeAt(0);return c>=48&&c<=57},t,r),o=s.length?Number(s):null;return r.position<t.length||o===null&&i===null||i>o?"failure":{rangeStartValue:i,rangeEndValue:o}}function Em(e,A,t){let r="bytes ";return r+=Ai(`${e}`),r+="-",r+=Ai(`${A}`),r+="/",r+=Ai(`${t}`),r}var Oo=class extends dy{#e;constructor(A){super(),this.#e=A}_transform(A,t,r){if(!this._inflateStream){if(A.length===0){r();return}this._inflateStream=(A[0]&15)===8?xQ.createInflate(this.#e):xQ.createInflateRaw(this.#e),this._inflateStream.on("data",this.push.bind(this)),this._inflateStream.on("end",()=>this.push(null)),this._inflateStream.on("error",n=>this.destroy(n))}this._inflateStream.write(A,t,r)}_final(A){this._inflateStream&&(this._inflateStream.end(),this._inflateStream=null),A()}};function Bm(e){return new Oo(e)}function Im(e){let A=null,t=null,r=null,n=zQ("content-type",e);if(n===null)return"failure";for(let i of n){let s=Dy(i);s==="failure"||s.essence==="*/*"||(r=s,r.essence!==t?(A=null,r.parameters.has("charset")&&(A=r.parameters.get("charset")),t=r.essence):!r.parameters.has("charset")&&A!==null&&r.parameters.set("charset",A))}return r??"failure"}function um(e){let A=e,t={position:0},r=[],n="";for(;t.position<A.length;){if(n+=st(i=>i!=='"'&&i!==",",A,t),t.position<A.length)if(A.charCodeAt(t.position)===34){if(n+=yy(A,t),t.position<A.length)continue}else ot(A.charCodeAt(t.position)===44),t.position++;n=my(n,!0,!0,i=>i===9||i===32),r.push(n),n=""}return r}function zQ(e,A){let t=A.get(e,!0);return t===null?null:um(t)}var Cm=new TextDecoder;function hm(e){return e.length===0?"":(e[0]===239&&e[1]===187&&e[2]===191&&(e=e.subarray(3)),Cm.decode(e))}var _o=class{get baseUrl(){return GQ()}get origin(){return this.baseUrl?.origin}policyContainer=qQ()},zo=class{settingsObject=new _o},dm=new zo;ZQ.exports={isAborted:Am,isCancelled:tm,isValidEncodedURL:HQ,createDeferredPromise:em,ReadableStreamFrom:Ry,tryUpgradeRequestToAPotentiallyTrustworthyURL:$y,clampAndCoarsenConnectionTimingInfo:qy,coarsenedSharedCurrentTime:Wy,determineRequestsReferrer:_y,makePolicyContainer:qQ,clonePolicyContainer:Oy,appendFetchMetadata:Hy,appendRequestOriginHeader:Vy,TAOCheck:Jy,corsCheck:vy,crossOriginResourcePolicyCheck:Yy,createOpaqueTimingInfo:Py,setRequestReferrerPolicyOnRedirect:Gy,isValidHTTPToken:YQ,requestBadPort:Uy,requestCurrentURL:Jr,responseURL:JQ,responseLocationURL:Ny,isBlobLike:ky,isURLPotentiallyTrustworthy:vr,isValidReasonPhrase:Ty,sameOrigin:ri,normalizeMethod:rm,serializeJavascriptValueToJSONString:nm,iteratorMixin:sm,createIterator:PQ,isValidHeaderName:xy,isValidHeaderValue:VQ,isErrorLike:Ly,fullyReadBody:om,bytesMatch:zy,isReadableStreamLike:am,readableStreamClose:cm,isomorphicEncode:Ai,urlIsLocal:lm,urlHasHttpsScheme:Po,urlIsHttpHttpsScheme:_Q,readAllBytes:OQ,simpleRangeHeaderValue:Qm,buildContentRange:Em,parseMetadata:WQ,createInflate:Bm,extractMimeType:Im,getDecodeSplit:zQ,utf8DecodeBytes:hm,environmentSettingsObject:dm}});var vA=f((DT,KQ)=>{"use strict";KQ.exports={kUrl:Symbol("url"),kHeaders:Symbol("headers"),kSignal:Symbol("signal"),kState:Symbol("state"),kDispatcher:Symbol("dispatcher")}});var Ko=f((FT,XQ)=>{"use strict";var{Blob:fm,File:pm}=d("node:buffer"),{kState:yA}=vA(),{webidl:gA}=he(),Zo=class e{constructor(A,t,r={}){let n=t,i=r.type,s=r.lastModified??Date.now();this[yA]={blobLike:A,name:n,type:i,lastModified:s}}stream(...A){return gA.brandCheck(this,e),this[yA].blobLike.stream(...A)}arrayBuffer(...A){return gA.brandCheck(this,e),this[yA].blobLike.arrayBuffer(...A)}slice(...A){return gA.brandCheck(this,e),this[yA].blobLike.slice(...A)}text(...A){return gA.brandCheck(this,e),this[yA].blobLike.text(...A)}get size(){return gA.brandCheck(this,e),this[yA].blobLike.size}get type(){return gA.brandCheck(this,e),this[yA].blobLike.type}get name(){return gA.brandCheck(this,e),this[yA].name}get lastModified(){return gA.brandCheck(this,e),this[yA].lastModified}get[Symbol.toStringTag](){return"File"}};gA.converters.Blob=gA.interfaceConverter(fm);function wm(e){return e instanceof pm||e&&(typeof e.stream=="function"||typeof e.arrayBuffer=="function")&&e[Symbol.toStringTag]==="File"}XQ.exports={FileLike:Zo,isFileLike:wm}});var Vr=f((kT,tE)=>{"use strict";var{isBlobLike:ni,iteratorMixin:ym}=Ue(),{kState:ye}=vA(),{kEnumerableProperty:qt}=x(),{FileLike:jQ,isFileLike:mm}=Ko(),{webidl:K}=he(),{File:AE}=d("node:buffer"),$Q=d("node:util"),eE=globalThis.File??AE,Hr=class e{constructor(A){if(K.util.markAsUncloneable(this),A!==void 0)throw K.errors.conversionFailed({prefix:"FormData constructor",argument:"Argument 1",types:["undefined"]});this[ye]=[]}append(A,t,r=void 0){K.brandCheck(this,e);let n="FormData.append";if(K.argumentLengthCheck(arguments,2,n),arguments.length===3&&!ni(t))throw new TypeError("Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'");A=K.converters.USVString(A,n,"name"),t=ni(t)?K.converters.Blob(t,n,"value",{strict:!1}):K.converters.USVString(t,n,"value"),r=arguments.length===3?K.converters.USVString(r,n,"filename"):void 0;let i=Xo(A,t,r);this[ye].push(i)}delete(A){K.brandCheck(this,e);let t="FormData.delete";K.argumentLengthCheck(arguments,1,t),A=K.converters.USVString(A,t,"name"),this[ye]=this[ye].filter(r=>r.name!==A)}get(A){K.brandCheck(this,e);let t="FormData.get";K.argumentLengthCheck(arguments,1,t),A=K.converters.USVString(A,t,"name");let r=this[ye].findIndex(n=>n.name===A);return r===-1?null:this[ye][r].value}getAll(A){K.brandCheck(this,e);let t="FormData.getAll";return K.argumentLengthCheck(arguments,1,t),A=K.converters.USVString(A,t,"name"),this[ye].filter(r=>r.name===A).map(r=>r.value)}has(A){K.brandCheck(this,e);let t="FormData.has";return K.argumentLengthCheck(arguments,1,t),A=K.converters.USVString(A,t,"name"),this[ye].findIndex(r=>r.name===A)!==-1}set(A,t,r=void 0){K.brandCheck(this,e);let n="FormData.set";if(K.argumentLengthCheck(arguments,2,n),arguments.length===3&&!ni(t))throw new TypeError("Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'");A=K.converters.USVString(A,n,"name"),t=ni(t)?K.converters.Blob(t,n,"name",{strict:!1}):K.converters.USVString(t,n,"name"),r=arguments.length===3?K.converters.USVString(r,n,"name"):void 0;let i=Xo(A,t,r),s=this[ye].findIndex(o=>o.name===A);s!==-1?this[ye]=[...this[ye].slice(0,s),i,...this[ye].slice(s+1).filter(o=>o.name!==A)]:this[ye].push(i)}[$Q.inspect.custom](A,t){let r=this[ye].reduce((i,s)=>(i[s.name]?Array.isArray(i[s.name])?i[s.name].push(s.value):i[s.name]=[i[s.name],s.value]:i[s.name]=s.value,i),{__proto__:null});t.depth??=A,t.colors??=!0;let n=$Q.formatWithOptions(t,r);return`FormData ${n.slice(n.indexOf("]")+2)}`}};ym("FormData",Hr,ye,"name","value");Object.defineProperties(Hr.prototype,{append:qt,delete:qt,get:qt,getAll:qt,has:qt,set:qt,[Symbol.toStringTag]:{value:"FormData",configurable:!0}});function Xo(e,A,t){if(typeof A!="string"){if(mm(A)||(A=A instanceof Blob?new eE([A],"blob",{type:A.type}):new jQ(A,"blob",{type:A.type})),t!==void 0){let r={type:A.type,lastModified:A.lastModified};A=A instanceof AE?new eE([A],t,r):new jQ(A,t,r)}}return{name:e,value:A}}tE.exports={FormData:Hr,makeEntry:Xo}});var aE=f((RT,oE)=>{"use strict";var{isUSVString:rE,bufferToLowerCasedHeaderName:Dm}=x(),{utf8DecodeBytes:Fm}=Ue(),{HTTP_TOKEN_CODEPOINTS:km,isomorphicDecode:nE}=Fe(),{isFileLike:Rm}=Ko(),{makeEntry:bm}=Vr(),ii=d("node:assert"),{File:Sm}=d("node:buffer"),Nm=globalThis.File??Sm,Mm=Buffer.from('form-data; name="'),iE=Buffer.from("; filename"),Um=Buffer.from("--"),Lm=Buffer.from(`--\r
|
|
3
|
-
`);function Tm(e){for(let A=0;A<e.length;++A)if((e.charCodeAt(A)&-128)!==0)return!1;return!0}function xm(e){let A=e.length;if(A<27||A>70)return!1;for(let t=0;t<A;++t){let r=e.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 Gm(e,A){ii(A!=="failure"&&A.essence==="multipart/form-data");let t=A.parameters.get("boundary");if(t===void 0)return"failure";let r=Buffer.from(`--${t}`,"utf8"),n=[],i={position:0};for(;e[i.position]===13&&e[i.position+1]===10;)i.position+=2;let s=e.length;for(;e[s-1]===10&&e[s-2]===13;)s-=2;for(s!==e.length&&(e=e.subarray(0,s));;){if(e.subarray(i.position,i.position+r.length).equals(r))i.position+=r.length;else return"failure";if(i.position===e.length-2&&si(e,Um,i)||i.position===e.length-4&&si(e,Lm,i))return n;if(e[i.position]!==13||e[i.position+1]!==10)return"failure";i.position+=2;let o=Ym(e,i);if(o==="failure")return"failure";let{name:a,filename:c,contentType:g,encoding:l}=o;i.position+=2;let Q;{let E=e.indexOf(r.subarray(2),i.position);if(E===-1)return"failure";Q=e.subarray(i.position,E-4),i.position+=Q.length,l==="base64"&&(Q=Buffer.from(Q.toString(),"base64"))}if(e[i.position]!==13||e[i.position+1]!==10)return"failure";i.position+=2;let I;c!==null?(g??="text/plain",Tm(g)||(g=""),I=new Nm([Q],c,{type:g})):I=Fm(Buffer.from(Q)),ii(rE(a)),ii(typeof I=="string"&&rE(I)||Rm(I)),n.push(bm(a,I,c))}}function Ym(e,A){let t=null,r=null,n=null,i=null;for(;;){if(e[A.position]===13&&e[A.position+1]===10)return t===null?"failure":{name:t,filename:r,contentType:n,encoding:i};let s=Wt(o=>o!==10&&o!==13&&o!==58,e,A);if(s=jo(s,!0,!0,o=>o===9||o===32),!km.test(s.toString())||e[A.position]!==58)return"failure";switch(A.position++,Wt(o=>o===32||o===9,e,A),Dm(s)){case"content-disposition":{if(t=r=null,!si(e,Mm,A)||(A.position+=17,t=sE(e,A),t===null))return"failure";if(si(e,iE,A)){let o=A.position+iE.length;if(e[o]===42&&(A.position+=1,o+=1),e[o]!==61||e[o+1]!==34||(A.position+=12,r=sE(e,A),r===null))return"failure"}break}case"content-type":{let o=Wt(a=>a!==10&&a!==13,e,A);o=jo(o,!1,!0,a=>a===9||a===32),n=nE(o);break}case"content-transfer-encoding":{let o=Wt(a=>a!==10&&a!==13,e,A);o=jo(o,!1,!0,a=>a===9||a===32),i=nE(o);break}default:Wt(o=>o!==10&&o!==13,e,A)}if(e[A.position]!==13&&e[A.position+1]!==10)return"failure";A.position+=2}}function sE(e,A){ii(e[A.position-1]===34);let t=Wt(r=>r!==10&&r!==13&&r!==34,e,A);return e[A.position]!==34?null:(A.position++,t=new TextDecoder().decode(t).replace(/%0A/ig,`
|
|
4
|
-
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),t)}function Wt(e,A,t){let r=t.position;for(;r<A.length&&e(A[r]);)++r;return A.subarray(t.position,t.position=r)}function jo(e,A,t,r){let n=0,i=e.length-1;if(A)for(;n<e.length&&r(e[n]);)n++;if(t)for(;i>0&&r(e[i]);)i--;return n===0&&i===e.length-1?e:e.subarray(n,i+1)}function si(e,A,t){if(e.length<A.length)return!1;for(let r=0;r<A.length;r++)if(A[r]!==e[t.position+r])return!1;return!0}oE.exports={multipartFormDataParser:Gm,validateBoundary:xm}});var _t=f((bT,hE)=>{"use strict";var qr=x(),{ReadableStreamFrom:vm,isBlobLike:cE,isReadableStreamLike:Jm,readableStreamClose:Hm,createDeferredPromise:Vm,fullyReadBody:qm,extractMimeType:Wm,utf8DecodeBytes:QE}=Ue(),{FormData:gE}=Vr(),{kState:Ot}=vA(),{webidl:Pm}=he(),{Blob:Om}=d("node:buffer"),$o=d("node:assert"),{isErrored:EE,isDisturbed:_m}=d("node:stream"),{isArrayBuffer:zm}=d("node:util/types"),{serializeAMimeType:Zm}=Fe(),{multipartFormDataParser:Km}=aE(),ea;try{let e=d("node:crypto");ea=A=>e.randomInt(0,A)}catch{ea=e=>Math.floor(Math.random(e))}var oi=new TextEncoder;function Xm(){}var BE=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,IE;BE&&(IE=new FinalizationRegistry(e=>{let A=e.deref();A&&!A.locked&&!_m(A)&&!EE(A)&&A.cancel("Response object has been garbage collected").catch(Xm)}));function uE(e,A=!1){let t=null;e instanceof ReadableStream?t=e:cE(e)?t=e.stream():t=new ReadableStream({async pull(a){let c=typeof n=="string"?oi.encode(n):n;c.byteLength&&a.enqueue(c),queueMicrotask(()=>Hm(a))},start(){},type:"bytes"}),$o(Jm(t));let r=null,n=null,i=null,s=null;if(typeof e=="string")n=e,s="text/plain;charset=UTF-8";else if(e instanceof URLSearchParams)n=e.toString(),s="application/x-www-form-urlencoded;charset=UTF-8";else if(zm(e))n=new Uint8Array(e.slice());else if(ArrayBuffer.isView(e))n=new Uint8Array(e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength));else if(qr.isFormDataLike(e)){let a=`----formdata-undici-0${`${ea(1e11)}`.padStart(11,"0")}`,c=`--${a}\r
|
|
5
|
-
Content-Disposition: form-data`;let g=C=>C.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),l=C=>C.replace(/\r?\n|\r/g,`\r
|
|
6
|
-
`),Q=[],I=new Uint8Array([13,10]);i=0;let E=!1;for(let[C,B]of e)if(typeof B=="string"){let h=oi.encode(c+`; name="${g(l(C))}"\r
|
|
7
|
-
\r
|
|
8
|
-
${l(B)}\r
|
|
9
|
-
`);Q.push(h),i+=h.byteLength}else{let h=oi.encode(`${c}; name="${g(l(C))}"`+(B.name?`; filename="${g(B.name)}"`:"")+`\r
|
|
10
|
-
Content-Type: ${B.type||"application/octet-stream"}\r
|
|
11
|
-
\r
|
|
12
|
-
`);Q.push(h,B,I),typeof B.size=="number"?i+=h.byteLength+B.size+I.byteLength:E=!0}let u=oi.encode(`--${a}--\r
|
|
13
|
-
`);Q.push(u),i+=u.byteLength,E&&(i=null),n=e,r=async function*(){for(let C of Q)C.stream?yield*C.stream():yield C},s=`multipart/form-data; boundary=${a}`}else if(cE(e))n=e,i=e.size,e.type&&(s=e.type);else if(typeof e[Symbol.asyncIterator]=="function"){if(A)throw new TypeError("keepalive");if(qr.isDisturbed(e)||e.locked)throw new TypeError("Response body object should not be disturbed or locked");t=e instanceof ReadableStream?e:vm(e)}if((typeof n=="string"||qr.isBuffer(n))&&(i=Buffer.byteLength(n)),r!=null){let a;t=new ReadableStream({async start(){a=r(e)[Symbol.asyncIterator]()},async pull(c){let{value:g,done:l}=await a.next();if(l)queueMicrotask(()=>{c.close(),c.byobRequest?.respond(0)});else if(!EE(t)){let Q=new Uint8Array(g);Q.byteLength&&c.enqueue(Q)}return c.desiredSize>0},async cancel(c){await a.return()},type:"bytes"})}return[{stream:t,source:n,length:i},s]}function jm(e,A=!1){return e instanceof ReadableStream&&($o(!qr.isDisturbed(e),"The body has already been consumed."),$o(!e.locked,"The stream is locked.")),uE(e,A)}function $m(e,A){let[t,r]=A.stream.tee();return A.stream=t,{stream:r,length:A.length,source:A.source}}function e0(e){if(e.aborted)throw new DOMException("The operation was aborted.","AbortError")}function A0(e){return{blob(){return Pt(this,t=>{let r=lE(this);return r===null?r="":r&&(r=Zm(r)),new Om([t],{type:r})},e)},arrayBuffer(){return Pt(this,t=>new Uint8Array(t).buffer,e)},text(){return Pt(this,QE,e)},json(){return Pt(this,r0,e)},formData(){return Pt(this,t=>{let r=lE(this);if(r!==null)switch(r.essence){case"multipart/form-data":{let n=Km(t,r);if(n==="failure")throw new TypeError("Failed to parse body as FormData.");let i=new gE;return i[Ot]=n,i}case"application/x-www-form-urlencoded":{let n=new URLSearchParams(t.toString()),i=new gE;for(let[s,o]of n)i.append(s,o);return i}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},e)},bytes(){return Pt(this,t=>new Uint8Array(t),e)}}}function t0(e){Object.assign(e.prototype,A0(e))}async function Pt(e,A,t){if(Pm.brandCheck(e,t),CE(e))throw new TypeError("Body is unusable: Body has already been read");e0(e[Ot]);let r=Vm(),n=s=>r.reject(s),i=s=>{try{r.resolve(A(s))}catch(o){n(o)}};return e[Ot].body==null?(i(Buffer.allocUnsafe(0)),r.promise):(await qm(e[Ot].body,i,n),r.promise)}function CE(e){let A=e[Ot].body;return A!=null&&(A.stream.locked||qr.isDisturbed(A.stream))}function r0(e){return JSON.parse(QE(e))}function lE(e){let A=e[Ot].headersList,t=Wm(A);return t==="failure"?null:t}hE.exports={extractBody:uE,safelyExtractBody:jm,cloneBody:$m,mixinBody:t0,streamRegistry:IE,hasFinalizationRegistry:BE,bodyUnusable:CE}});var LE=f((ST,UE)=>{"use strict";var R=d("node:assert"),S=x(),{channels:dE}=Lt(),Aa=xo(),{RequestContentLengthMismatchError:at,ResponseContentLengthMismatchError:fE,RequestAbortedError:RE,InvalidArgumentError:n0,HeadersTimeoutError:i0,HeadersOverflowError:s0,SocketError:zt,InformationalError:Zt,BodyTimeoutError:o0,HTTPParserError:a0,ResponseExceededMaxSizeError:c0}=V(),{kUrl:bE,kReset:ke,kClient:li,kParser:$,kBlocking:Or,kRunning:ge,kPending:SE,kSize:pE,kWriting:JA,kQueue:je,kNoRef:Wr,kKeepAliveDefaultTimeout:g0,kHostHeader:l0,kPendingIdx:Q0,kRunningIdx:Oe,kError:me,kPipelining:Qi,kSocket:gt,kKeepAliveTimeoutValue:Bi,kMaxHeadersSize:ta,kKeepAliveMaxTimeout:E0,kKeepAliveTimeoutThreshold:B0,kHeadersTimeout:I0,kBodyTimeout:u0,kStrictContentLength:ia,kMaxRequests:wE,kCounter:C0,kMaxResponseSize:h0,kOnError:yE,kResume:mA,kHTTPContext:NE}=te(),Le=IQ(),mE=Buffer.alloc(0),ai=Buffer[Symbol.species],ci=S.addListener,d0=S.removeAllListeners,lt=Symbol("kIdleSocketValidation"),ct=Symbol("kIdleSocketValidationTimeout"),ca=Symbol("kSocketUsed"),ra;async function f0(){let e=process.env.JEST_WORKER_ID?vo():void 0,A;try{A=await WebAssembly.compile(hQ())}catch{A=await WebAssembly.compile(e||vo())}return await WebAssembly.instantiate(A,{env:{wasm_on_url:(t,r,n)=>0,wasm_on_status:(t,r,n)=>{R(oe.ptr===t);let i=r-QA+lA.byteOffset;return oe.onStatus(new ai(lA.buffer,i,n))||0},wasm_on_message_begin:t=>(R(oe.ptr===t),oe.onMessageBegin()||0),wasm_on_header_field:(t,r,n)=>{R(oe.ptr===t);let i=r-QA+lA.byteOffset;return oe.onHeaderField(new ai(lA.buffer,i,n))||0},wasm_on_header_value:(t,r,n)=>{R(oe.ptr===t);let i=r-QA+lA.byteOffset;return oe.onHeaderValue(new ai(lA.buffer,i,n))||0},wasm_on_headers_complete:(t,r,n,i)=>(R(oe.ptr===t),oe.onHeadersComplete(r,!!n,!!i)||0),wasm_on_body:(t,r,n)=>{R(oe.ptr===t);let i=r-QA+lA.byteOffset;return oe.onBody(new ai(lA.buffer,i,n))||0},wasm_on_message_complete:t=>(R(oe.ptr===t),oe.onMessageComplete()||0)}})}var na=null,sa=f0();sa.catch();var oe=null,lA=null,gi=0,QA=null,p0=0,Pr=1,Kt=2|Pr,Ei=4|Pr,oa=8|p0,aa=class{constructor(A,t,{exports:r}){R(Number.isFinite(A[ta])&&A[ta]>0),this.llhttp=r,this.ptr=this.llhttp.llhttp_alloc(Le.TYPE.RESPONSE),this.client=A,this.socket=t,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=null,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this.headersMaxSize=A[ta],this.shouldKeepAlive=!1,this.paused=!1,this.resume=this.resume.bind(this),this.bytesRead=0,this.keepAlive="",this.contentLength="",this.connection="",this.maxResponseSize=A[h0]}setTimeout(A,t){A!==this.timeoutValue||t&Pr^this.timeoutType&Pr?(this.timeout&&(Aa.clearTimeout(this.timeout),this.timeout=null),A&&(t&Pr?this.timeout=Aa.setFastTimeout(DE,A,new WeakRef(this)):(this.timeout=setTimeout(DE,A,new WeakRef(this)),this.timeout.unref())),this.timeoutValue=A):this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.timeoutType=t}resume(){this.socket.destroyed||!this.paused||(R(this.ptr!=null),R(oe==null),this.llhttp.llhttp_resume(this.ptr),R(this.timeoutType===Ei),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),this.paused=!1,this.execute(this.socket.read()||mE),this.readMore())}readMore(){for(;!this.paused&&this.ptr;){let A=this.socket.read();if(A===null)break;this.execute(A)}}execute(A){R(this.ptr!=null),R(oe==null),R(!this.paused);let{socket:t,llhttp:r}=this;A.length>gi&&(QA&&r.free(QA),gi=Math.ceil(A.length/4096)*4096,QA=r.malloc(gi)),new Uint8Array(r.memory.buffer,QA,gi).set(A);try{let n;try{lA=A,oe=this,n=r.llhttp_execute(this.ptr,QA,A.length)}catch(s){throw s}finally{oe=null,lA=null}let i=r.llhttp_get_error_pos(this.ptr)-QA;if(n!==Le.ERROR.OK){let s=A.subarray(i);if(n===Le.ERROR.PAUSED_UPGRADE)this.onUpgrade(s);else if(n===Le.ERROR.PAUSED)this.paused=!0,t.unshift(s);else throw this.createError(n,s)}}catch(n){S.destroy(t,n)}}finish(){R(oe===null),R(this.ptr!=null),R(!this.paused);let{llhttp:A}=this,t;try{oe=this,t=A.llhttp_finish(this.ptr)}finally{oe=null}return t===Le.ERROR.OK?null:t===Le.ERROR.PAUSED||t===Le.ERROR.PAUSED_UPGRADE?(this.paused=!0,null):this.createError(t,mE)}createError(A,t){let{llhttp:r,contentLength:n,bytesRead:i}=this;if(n&&i!==parseInt(n,10))return new fE;let s=r.llhttp_get_error_reason(this.ptr),o="";if(s){let a=new Uint8Array(r.memory.buffer,s).indexOf(0);o="Response does not match the HTTP/1.1 protocol ("+Buffer.from(r.memory.buffer,s,a).toString()+")"}return new a0(o,Le.ERROR[A],t)}destroy(){R(this.ptr!=null),R(oe==null),this.llhttp.llhttp_free(this.ptr),this.ptr=null,this.timeout&&Aa.clearTimeout(this.timeout),this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.paused=!1}onStatus(A){this.statusText=A.toString()}onMessageBegin(){let{socket:A,client:t}=this;if(A.destroyed)return-1;if(t[ge]===0)return S.destroy(A,new zt("bad response",S.getSocketInfo(A))),-1;let r=t[je][t[Oe]];if(!r)return-1;r.onResponseStarted()}onHeaderField(A){let t=this.headers.length;(t&1)===0?this.headers.push(A):this.headers[t-1]=Buffer.concat([this.headers[t-1],A]),this.trackHeader(A.length)}onHeaderValue(A){let t=this.headers.length;(t&1)===1?(this.headers.push(A),t+=1):this.headers[t-1]=Buffer.concat([this.headers[t-1],A]);let r=this.headers[t-2];if(r.length===10){let n=S.bufferToLowerCasedHeaderName(r);n==="keep-alive"?this.keepAlive+=A.toString():n==="connection"&&(this.connection+=A.toString())}else r.length===14&&S.bufferToLowerCasedHeaderName(r)==="content-length"&&(this.contentLength+=A.toString());this.trackHeader(A.length)}trackHeader(A){this.headersSize+=A,this.headersSize>=this.headersMaxSize&&S.destroy(this.socket,new s0)}onUpgrade(A){let{upgrade:t,client:r,socket:n,headers:i,statusCode:s}=this;R(t),R(r[gt]===n),R(!n.destroyed),R(!this.paused),R((i.length&1)===0);let o=r[je][r[Oe]];R(o),R(o.upgrade||o.method==="CONNECT"),this.statusCode=null,this.statusText="",this.shouldKeepAlive=null,this.headers=[],this.headersSize=0,n.unshift(A),n[$].destroy(),n[$]=null,n[li]=null,n[me]=null,d0(n),r[gt]=null,r[NE]=null,r[je][r[Oe]++]=null,r.emit("disconnect",r[bE],[r],new Zt("upgrade"));try{o.onUpgrade(s,i,n)}catch(a){S.destroy(n,a)}r[mA]()}onHeadersComplete(A,t,r){let{client:n,socket:i,headers:s,statusText:o}=this;if(i.destroyed)return-1;if(n[ge]===0)return S.destroy(i,new zt("bad response",S.getSocketInfo(i))),-1;let a=n[je][n[Oe]];if(!a)return-1;if(R(!this.upgrade),R(this.statusCode<200),A===100)return S.destroy(i,new zt("bad response",S.getSocketInfo(i))),-1;if(t&&!a.upgrade)return S.destroy(i,new zt("bad upgrade",S.getSocketInfo(i))),-1;if(R(this.timeoutType===Kt),this.statusCode=A,this.shouldKeepAlive=r||a.method==="HEAD"&&!i[ke]&&this.connection.toLowerCase()==="keep-alive",this.statusCode>=200){let g=a.bodyTimeout!=null?a.bodyTimeout:n[u0];this.setTimeout(g,Ei)}else this.timeout&&this.timeout.refresh&&this.timeout.refresh();if(a.method==="CONNECT")return R(n[ge]===1),this.upgrade=!0,2;if(t)return R(n[ge]===1),this.upgrade=!0,2;if(R((this.headers.length&1)===0),this.headers=[],this.headersSize=0,this.shouldKeepAlive&&n[Qi]){let g=this.keepAlive?S.parseKeepAliveTimeout(this.keepAlive):null;if(g!=null){let l=Math.min(g-n[B0],n[E0]);l<=0?i[ke]=!0:n[Bi]=l}else n[Bi]=n[g0]}else i[ke]=!0;let c=a.onHeaders(A,s,this.resume,o)===!1;return a.aborted?-1:a.method==="HEAD"||A<200?1:(i[Or]&&(i[Or]=!1,n[mA]()),c?Le.ERROR.PAUSED:0)}onBody(A){let{client:t,socket:r,statusCode:n,maxResponseSize:i}=this;if(r.destroyed)return-1;let s=t[je][t[Oe]];if(R(s),R(this.timeoutType===Ei),this.timeout&&this.timeout.refresh&&this.timeout.refresh(),R(n>=200),i>-1&&this.bytesRead+A.length>i)return S.destroy(r,new c0),-1;if(this.bytesRead+=A.length,s.onData(A)===!1)return Le.ERROR.PAUSED}onMessageComplete(){let{client:A,socket:t,statusCode:r,upgrade:n,headers:i,contentLength:s,bytesRead:o,shouldKeepAlive:a}=this;if(t.destroyed&&(!r||a))return-1;if(n)return;R(r>=100),R((this.headers.length&1)===0);let c=A[je][A[Oe]];if(R(c),this.statusCode=null,this.statusText="",this.bytesRead=0,this.contentLength="",this.keepAlive="",this.connection="",this.headers=[],this.headersSize=0,!(r<200)){if(c.method!=="HEAD"&&s&&o!==parseInt(s,10))return S.destroy(t,new fE),-1;if(c.onComplete(i),A[je][A[Oe]++]=null,t[ca]=!0,t[JA])return R(A[ge]===0),S.destroy(t,new Zt("reset")),Le.ERROR.PAUSED;if(a){if(t[ke]&&A[ge]===0)return S.destroy(t,new Zt("reset")),Le.ERROR.PAUSED;A[Qi]==null||A[Qi]===1?setImmediate(()=>A[mA]()):A[mA]()}else return S.destroy(t,new Zt("reset")),Le.ERROR.PAUSED}}};function DE(e){let{socket:A,timeoutType:t,client:r,paused:n}=e.deref();t===Kt?(!A[JA]||A.writableNeedDrain||r[ge]>1)&&(R(!n,"cannot be paused while waiting for headers"),S.destroy(A,new i0)):t===Ei?n||S.destroy(A,new o0):t===oa&&(R(r[ge]===0&&r[Bi]),S.destroy(A,new Zt("socket idle timeout")))}async function w0(e,A){e[gt]=A,na||(na=await sa,sa=null),A[Wr]=!1,A[JA]=!1,A[ke]=!1,A[Or]=!1,A[lt]=0,A[ct]=null,A[ca]=!1,A[$]=new aa(e,A,na),ci(A,"error",function(r){R(r.code!=="ERR_TLS_CERT_ALTNAME_INVALID");let n=this[$];if(r.code==="ECONNRESET"&&n.statusCode&&!n.shouldKeepAlive){let i=n.finish();i&&(this[me]=i,this[li][yE](i));return}this[me]=r,this[li][yE](r)}),ci(A,"readable",function(){let r=this[$];r&&r.readMore()}),ci(A,"end",function(){let r=this[$];if(r.statusCode&&!r.shouldKeepAlive){let n=r.finish();n&&S.destroy(this,n);return}S.destroy(this,new zt("other side closed",S.getSocketInfo(this)))}),ci(A,"close",function(){let r=this[li],n=this[$];ME(this),n&&(!this[me]&&n.statusCode&&!n.shouldKeepAlive&&(this[me]=n.finish()||this[me]),this[$].destroy(),this[$]=null);let i=this[me]||new zt("closed",S.getSocketInfo(this));if(r[gt]=null,r[NE]=null,r.destroyed){R(r[SE]===0);let s=r[je].splice(r[Oe]);for(let o=0;o<s.length;o++){let a=s[o];S.errorRequest(r,a,i)}}else if(r[ge]>0&&i.code!=="UND_ERR_INFO"){let s=r[je][r[Oe]];r[je][r[Oe]++]=null,S.errorRequest(r,s,i)}r[Q0]=r[Oe],R(r[ge]===0),r.emit("disconnect",r[bE],[r],i),r[mA]()});let t=!1;return A.on("close",()=>{t=!0}),{version:"h1",defaultPipelining:1,write(...r){return F0(e,...r)},resume(){m0(e)},destroy(r,n){t?queueMicrotask(n):A.destroy(r).on("close",n)},get destroyed(){return A.destroyed},busy(r){return!!(A[JA]||A[ke]||A[Or]||A[lt]===1||r&&(e[ge]>0&&!r.idempotent||e[ge]>0&&(r.upgrade||r.method==="CONNECT")||e[ge]>0&&S.bodyLength(r.body)!==0&&(S.isStream(r.body)||S.isAsyncIterable(r.body)||S.isFormDataLike(r.body))))}}}function ME(e){e[ct]&&(clearTimeout(e[ct]),e[ct]=null),e[lt]=0}function y0(e,A){A[lt]=1,A[ct]=setTimeout(()=>{A[ct]=null,A[lt]=2,e[gt]===A&&!A.destroyed&&e[mA]()},0),A[ct].unref?.()}function m0(e){let A=e[gt];if(A&&!A.destroyed){if(e[pE]===0?!A[Wr]&&A.unref&&(A.unref(),A[Wr]=!0):A[Wr]&&A.ref&&(A.ref(),A[Wr]=!1),e[ge]===0&&e[SE]>0&&A[ca]){if(A[lt]===0)return y0(e,A),A[$].readMore(),A.destroyed,void 0;if(A[lt]===1)return A[$].readMore(),A.destroyed,void 0}if(e[ge]===0&&(A[$].readMore(),A.destroyed))return;if(e[pE]===0)A[$].timeoutType!==oa&&A[$].setTimeout(e[Bi],oa);else if(e[ge]>0&&A[$].statusCode<200&&A[$].timeoutType!==Kt){let t=e[je][e[Oe]],r=t.headersTimeout!=null?t.headersTimeout:e[I0];A[$].setTimeout(r,Kt)}}}function D0(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function F0(e,A){let{method:t,path:r,host:n,upgrade:i,blocking:s,reset:o}=A,{body:a,headers:c,contentLength:g}=A,l=t==="PUT"||t==="POST"||t==="PATCH"||t==="QUERY"||t==="PROPFIND"||t==="PROPPATCH";if(S.isFormDataLike(a)){ra||(ra=_t().extractBody);let[C,B]=ra(a);A.contentType==null&&c.push("content-type",B),a=C.stream,g=C.length}else if(S.isBlobLike(a)&&A.contentType==null){let C=a.type;if(C){let B=`${C}`;if(!S.isValidHeaderValue(B))return S.errorRequest(e,A,new n0("invalid content-type header")),!1;c.push("content-type",B)}}a&&typeof a.read=="function"&&a.read(0);let Q=S.bodyLength(a);if(g=Q??g,g===null&&(g=A.contentLength),g===0&&!l&&(g=null),D0(t)&&g>0&&A.contentLength!==null&&A.contentLength!==g){if(e[ia])return S.errorRequest(e,A,new at),!1;process.emitWarning(new at)}let I=e[gt];ME(I);let E=C=>{A.aborted||A.completed||(S.errorRequest(e,A,C||new RE),S.destroy(a),S.destroy(I,new Zt("aborted")))};try{A.onConnect(E)}catch(C){S.errorRequest(e,A,C)}if(A.aborted)return!1;t==="HEAD"&&(I[ke]=!0),(i||t==="CONNECT")&&(I[ke]=!0),o!=null&&(I[ke]=o),e[wE]&&I[C0]++>=e[wE]&&(I[ke]=!0),s&&(I[Or]=!0);let u=`${t} ${r} HTTP/1.1\r
|
|
14
|
-
`;if(typeof n=="string"?u+=`host: ${n}\r
|
|
15
|
-
`:u+=e[l0],i?u+=`connection: upgrade\r
|
|
16
|
-
upgrade: ${i}\r
|
|
17
|
-
`:e[Qi]&&!I[ke]?u+=`connection: keep-alive\r
|
|
18
|
-
`:u+=`connection: close\r
|
|
19
|
-
`,Array.isArray(c))for(let C=0;C<c.length;C+=2){let B=c[C+0],h=c[C+1];if(Array.isArray(h))for(let m=0;m<h.length;m++)u+=`${B}: ${h[m]}\r
|
|
20
|
-
`;else u+=`${B}: ${h}\r
|
|
21
|
-
`}return dE.sendHeaders.hasSubscribers&&dE.sendHeaders.publish({request:A,headers:u,socket:I}),!a||Q===0?FE(E,null,e,A,I,g,u,l):S.isBuffer(a)?FE(E,a,e,A,I,g,u,l):S.isBlobLike(a)?typeof a.stream=="function"?kE(E,a.stream(),e,A,I,g,u,l):R0(E,a,e,A,I,g,u,l):S.isStream(a)?k0(E,a,e,A,I,g,u,l):S.isIterable(a)?kE(E,a,e,A,I,g,u,l):R(!1),!0}function k0(e,A,t,r,n,i,s,o){R(i!==0||t[ge]===0,"stream body cannot be pipelined");let a=!1,c=new Ii({abort:e,socket:n,request:r,contentLength:i,client:t,expectsPayload:o,header:s}),g=function(E){if(!a)try{!c.write(E)&&this.pause&&this.pause()}catch(u){S.destroy(this,u)}},l=function(){a||A.resume&&A.resume()},Q=function(){if(queueMicrotask(()=>{A.removeListener("error",I)}),!a){let E=new RE;queueMicrotask(()=>I(E))}},I=function(E){if(!a){if(a=!0,R(n.destroyed||n[JA]&&t[ge]<=1),n.off("drain",l).off("error",I),A.removeListener("data",g).removeListener("end",I).removeListener("close",Q),!E)try{c.end()}catch(u){E=u}c.destroy(E),E&&(E.code!=="UND_ERR_INFO"||E.message!=="reset")?S.destroy(A,E):S.destroy(A)}};A.on("data",g).on("end",I).on("error",I).on("close",Q),A.resume&&A.resume(),n.on("drain",l).on("error",I),A.errorEmitted??A.errored?setImmediate(()=>I(A.errored)):(A.endEmitted??A.readableEnded)&&setImmediate(()=>I(null)),(A.closeEmitted??A.closed)&&setImmediate(Q)}function FE(e,A,t,r,n,i,s,o){try{A?S.isBuffer(A)&&(R(i===A.byteLength,"buffer body must have content length"),n.cork(),n.write(`${s}content-length: ${i}\r
|
|
22
|
-
\r
|
|
23
|
-
`,"latin1"),n.write(A),n.uncork(),r.onBodySent(A),!o&&r.reset!==!1&&(n[ke]=!0)):i===0?n.write(`${s}content-length: 0\r
|
|
24
|
-
\r
|
|
25
|
-
`,"latin1"):(R(i===null,"no body must not have content length"),n.write(`${s}\r
|
|
26
|
-
`,"latin1")),r.onRequestSent(),t[mA]()}catch(a){e(a)}}async function R0(e,A,t,r,n,i,s,o){R(i===A.size,"blob body must have content length");try{if(i!=null&&i!==A.size)throw new at;let a=Buffer.from(await A.arrayBuffer());n.cork(),n.write(`${s}content-length: ${i}\r
|
|
27
|
-
\r
|
|
28
|
-
`,"latin1"),n.write(a),n.uncork(),r.onBodySent(a),r.onRequestSent(),!o&&r.reset!==!1&&(n[ke]=!0),t[mA]()}catch(a){e(a)}}async function kE(e,A,t,r,n,i,s,o){R(i!==0||t[ge]===0,"iterator body cannot be pipelined");let a=null;function c(){if(a){let Q=a;a=null,Q()}}let g=()=>new Promise((Q,I)=>{R(a===null),n[me]?I(n[me]):a=Q});n.on("close",c).on("drain",c);let l=new Ii({abort:e,socket:n,request:r,contentLength:i,client:t,expectsPayload:o,header:s});try{for await(let Q of A){if(n[me])throw n[me];l.write(Q)||await g()}l.end()}catch(Q){l.destroy(Q)}finally{n.off("close",c).off("drain",c)}}var Ii=class{constructor({abort:A,socket:t,request:r,contentLength:n,client:i,expectsPayload:s,header:o}){this.socket=t,this.request=r,this.contentLength=n,this.client=i,this.bytesWritten=0,this.expectsPayload=s,this.header=o,this.abort=A,t[JA]=!0}write(A){let{socket:t,request:r,contentLength:n,client:i,bytesWritten:s,expectsPayload:o,header:a}=this;if(t[me])throw t[me];if(t.destroyed)return!1;let c=Buffer.byteLength(A);if(!c)return!0;if(n!==null&&s+c>n){if(i[ia])throw new at;process.emitWarning(new at)}t.cork(),s===0&&(!o&&r.reset!==!1&&(t[ke]=!0),n===null?t.write(`${a}transfer-encoding: chunked\r
|
|
29
|
-
`,"latin1"):t.write(`${a}content-length: ${n}\r
|
|
30
|
-
\r
|
|
31
|
-
`,"latin1")),n===null&&t.write(`\r
|
|
32
|
-
${c.toString(16)}\r
|
|
33
|
-
`,"latin1"),this.bytesWritten+=c;let g=t.write(A);return t.uncork(),r.onBodySent(A),g||t[$].timeout&&t[$].timeoutType===Kt&&t[$].timeout.refresh&&t[$].timeout.refresh(),g}end(){let{socket:A,contentLength:t,client:r,bytesWritten:n,expectsPayload:i,header:s,request:o}=this;if(o.onRequestSent(),A[JA]=!1,A[me])throw A[me];if(!A.destroyed){if(n===0?i?A.write(`${s}content-length: 0\r
|
|
34
|
-
\r
|
|
35
|
-
`,"latin1"):A.write(`${s}\r
|
|
36
|
-
`,"latin1"):t===null&&A.write(`\r
|
|
37
|
-
0\r
|
|
38
|
-
\r
|
|
39
|
-
`,"latin1"),t!==null&&n!==t){if(r[ia])throw new at;process.emitWarning(new at)}A[$].timeout&&A[$].timeoutType===Kt&&A[$].timeout.refresh&&A[$].timeout.refresh(),r[mA]()}}destroy(A){let{socket:t,client:r,abort:n}=this;t[JA]=!1,A&&(R(r[ge]<=1,"pipeline should only contain this request"),n(A))}};UE.exports=w0});var VE=f((NT,HE)=>{"use strict";var _e=d("node:assert"),{pipeline:b0}=d("node:stream"),Y=x(),{RequestContentLengthMismatchError:ga,RequestAbortedError:TE,SocketError:_r,InformationalError:la}=V(),{kUrl:ui,kReset:hi,kClient:Xt,kRunning:di,kPending:S0,kQueue:HA,kPendingIdx:Qa,kRunningIdx:$e,kError:AA,kSocket:Ie,kStrictContentLength:N0,kOnError:Ea,kMaxConcurrentStreams:JE,kHTTP2Session:eA,kResume:VA,kSize:M0,kHTTPContext:U0}=te(),DA=Symbol("open streams"),xE,GE=!1,Ci;try{Ci=d("node:http2")}catch{Ci={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:L0,HTTP2_HEADER_METHOD:T0,HTTP2_HEADER_PATH:x0,HTTP2_HEADER_SCHEME:G0,HTTP2_HEADER_CONTENT_LENGTH:Y0,HTTP2_HEADER_EXPECT:v0,HTTP2_HEADER_STATUS:J0}}=Ci;function H0(e){let A=[];for(let[t,r]of Object.entries(e))if(Array.isArray(r))for(let n of r)A.push(Buffer.from(t),Buffer.from(n));else A.push(Buffer.from(t),Buffer.from(r));return A}async function V0(e,A){e[Ie]=A,GE||(GE=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let t=Ci.connect(e[ui],{createConnection:()=>A,peerMaxConcurrentStreams:e[JE]});t[DA]=0,t[Xt]=e,t[Ie]=A,Y.addListener(t,"error",W0),Y.addListener(t,"frameError",P0),Y.addListener(t,"end",O0),Y.addListener(t,"goaway",_0),Y.addListener(t,"close",function(){let{[Xt]:n}=this,{[Ie]:i}=n,s=this[Ie][AA]||this[AA]||new _r("closed",Y.getSocketInfo(i));if(n[eA]=null,n.destroyed){_e(n[S0]===0);let o=n[HA].splice(n[$e]);for(let a=0;a<o.length;a++){let c=o[a];Y.errorRequest(n,c,s)}}}),t.unref(),e[eA]=t,A[eA]=t,Y.addListener(A,"error",function(n){_e(n.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[AA]=n,this[Xt][Ea](n)}),Y.addListener(A,"end",function(){Y.destroy(this,new _r("other side closed",Y.getSocketInfo(this)))}),Y.addListener(A,"close",function(){let n=this[AA]||new _r("closed",Y.getSocketInfo(this));e[Ie]=null,this[eA]!=null&&this[eA].destroy(n),e[Qa]=e[$e],_e(e[di]===0),e.emit("disconnect",e[ui],[e],n),e[VA]()});let r=!1;return A.on("close",()=>{r=!0}),{version:"h2",defaultPipelining:1/0,write(...n){return Z0(e,...n)},resume(){q0(e)},destroy(n,i){r?queueMicrotask(i):A.destroy(n).on("close",i)},get destroyed(){return A.destroyed},busy(){return!1}}}function q0(e){let A=e[Ie];A?.destroyed===!1&&(e[M0]===0&&e[JE]===0?(A.unref(),e[eA].unref()):(A.ref(),e[eA].ref()))}function W0(e){_e(e.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Ie][AA]=e,this[Xt][Ea](e)}function P0(e,A,t){if(t===0){let r=new la(`HTTP/2: "frameError" received - type ${e}, code ${A}`);this[Ie][AA]=r,this[Xt][Ea](r)}}function O0(){let e=new _r("other side closed",Y.getSocketInfo(this[Ie]));this.destroy(e),Y.destroy(this[Ie],e)}function _0(e){let A=this[AA]||new _r(`HTTP/2: "GOAWAY" frame received with code ${e}`,Y.getSocketInfo(this)),t=this[Xt];if(t[Ie]=null,t[U0]=null,this[eA]!=null&&(this[eA].destroy(A),this[eA]=null),Y.destroy(this[Ie],A),t[$e]<t[HA].length){let r=t[HA][t[$e]];t[HA][t[$e]++]=null,Y.errorRequest(t,r,A),t[Qa]=t[$e]}_e(t[di]===0),t.emit("disconnect",t[ui],[t],A),t[VA]()}function z0(e){return e!=="GET"&&e!=="HEAD"&&e!=="OPTIONS"&&e!=="TRACE"&&e!=="CONNECT"}function Z0(e,A){let t=e[eA],{method:r,path:n,host:i,upgrade:s,expectContinue:o,signal:a,headers:c}=A,{body:g}=A;if(s)return Y.errorRequest(e,A,new Error("Upgrade not supported for H2")),!1;let l={};for(let p=0;p<c.length;p+=2){let L=c[p+0],J=c[p+1];if(Array.isArray(J))for(let q=0;q<J.length;q++)l[L]?l[L]+=`,${J[q]}`:l[L]=J[q];else l[L]=J}let Q,{hostname:I,port:E}=e[ui];l[L0]=i||`${I}${E?`:${E}`:""}`,l[T0]=r;let u=p=>{A.aborted||A.completed||(p=p||new TE,Y.errorRequest(e,A,p),Q!=null&&Y.destroy(Q,p),Y.destroy(g,p),e[HA][e[$e]++]=null,e[VA]())};try{A.onConnect(u)}catch(p){Y.errorRequest(e,A,p)}if(A.aborted)return!1;if(r==="CONNECT")return t.ref(),Q=t.request(l,{endStream:!1,signal:a}),Q.id&&!Q.pending?(A.onUpgrade(null,null,Q),++t[DA],e[HA][e[$e]++]=null):Q.once("ready",()=>{A.onUpgrade(null,null,Q),++t[DA],e[HA][e[$e]++]=null}),Q.once("close",()=>{t[DA]-=1,t[DA]===0&&t.unref()}),!0;l[x0]=n,l[G0]="https";let C=r==="PUT"||r==="POST"||r==="PATCH";g&&typeof g.read=="function"&&g.read(0);let B=Y.bodyLength(g);if(Y.isFormDataLike(g)){xE??=_t().extractBody;let[p,L]=xE(g);l["content-type"]=L,g=p.stream,B=p.length}if(B==null&&(B=A.contentLength),(B===0||!C)&&(B=null),z0(r)&&B>0&&A.contentLength!=null&&A.contentLength!==B){if(e[N0])return Y.errorRequest(e,A,new ga),!1;process.emitWarning(new ga)}B!=null&&(_e(g,"no body must not have content length"),l[Y0]=`${B}`),t.ref();let h=r==="GET"||r==="HEAD"||g===null;return o?(l[v0]="100-continue",Q=t.request(l,{endStream:h,signal:a}),Q.once("continue",m)):(Q=t.request(l,{endStream:h,signal:a}),m()),++t[DA],Q.once("response",p=>{let{[J0]:L,...J}=p;if(A.onResponseStarted(),A.aborted){let q=new TE;Y.errorRequest(e,A,q),Y.destroy(Q,q);return}A.onHeaders(Number(L),H0(J),Q.resume.bind(Q),"")===!1&&Q.pause(),Q.on("data",q=>{A.onData(q)===!1&&Q.pause()})}),Q.once("end",()=>{(Q.state?.state==null||Q.state.state<6)&&A.onComplete([]),t[DA]===0&&t.unref(),u(new la("HTTP/2: stream half-closed (remote)")),e[HA][e[$e]++]=null,e[Qa]=e[$e],e[VA]()}),Q.once("close",()=>{t[DA]-=1,t[DA]===0&&t.unref()}),Q.once("error",function(p){u(p)}),Q.once("frameError",(p,L)=>{u(new la(`HTTP/2: "frameError" received - type ${p}, code ${L}`))}),!0;function m(){!g||B===0?YE(u,Q,null,e,A,e[Ie],B,C):Y.isBuffer(g)?YE(u,Q,g,e,A,e[Ie],B,C):Y.isBlobLike(g)?typeof g.stream=="function"?vE(u,Q,g.stream(),e,A,e[Ie],B,C):X0(u,Q,g,e,A,e[Ie],B,C):Y.isStream(g)?K0(u,e[Ie],C,Q,g,e,A,B):Y.isIterable(g)?vE(u,Q,g,e,A,e[Ie],B,C):_e(!1)}}function YE(e,A,t,r,n,i,s,o){try{t!=null&&Y.isBuffer(t)&&(_e(s===t.byteLength,"buffer body must have content length"),A.cork(),A.write(t),A.uncork(),A.end(),n.onBodySent(t)),o||(i[hi]=!0),n.onRequestSent(),r[VA]()}catch(a){e(a)}}function K0(e,A,t,r,n,i,s,o){_e(o!==0||i[di]===0,"stream body cannot be pipelined");let a=b0(n,r,g=>{g?(Y.destroy(a,g),e(g)):(Y.removeAllListeners(a),s.onRequestSent(),t||(A[hi]=!0),i[VA]())});Y.addListener(a,"data",c);function c(g){s.onBodySent(g)}}async function X0(e,A,t,r,n,i,s,o){_e(s===t.size,"blob body must have content length");try{if(s!=null&&s!==t.size)throw new ga;let a=Buffer.from(await t.arrayBuffer());A.cork(),A.write(a),A.uncork(),A.end(),n.onBodySent(a),n.onRequestSent(),o||(i[hi]=!0),r[VA]()}catch(a){e(a)}}async function vE(e,A,t,r,n,i,s,o){_e(s!==0||r[di]===0,"iterator body cannot be pipelined");let a=null;function c(){if(a){let l=a;a=null,l()}}let g=()=>new Promise((l,Q)=>{_e(a===null),i[AA]?Q(i[AA]):a=l});A.on("close",c).on("drain",c);try{for await(let l of t){if(i[AA])throw i[AA];let Q=A.write(l);n.onBodySent(l),Q||await g()}A.end(),n.onRequestSent(),o||(i[hi]=!0),r[VA]()}catch(l){e(l)}finally{A.off("close",c).off("drain",c)}}HE.exports=V0});var pi=f((MT,PE)=>{"use strict";var EA=x(),{kBodyUsed:zr}=te(),Ia=d("node:assert"),{InvalidArgumentError:j0}=V(),$0=d("node:events"),eD=[300,301,302,303,307,308],qE=Symbol("body"),fi=class{constructor(A){this[qE]=A,this[zr]=!1}async*[Symbol.asyncIterator](){Ia(!this[zr],"disturbed"),this[zr]=!0,yield*this[qE]}},Ba=class{constructor(A,t,r,n){if(t!=null&&(!Number.isInteger(t)||t<0))throw new j0("maxRedirections must be a positive number");EA.validateHandler(n,r.method,r.upgrade),this.dispatch=A,this.location=null,this.abort=null,this.opts={...r,maxRedirections:0},this.maxRedirections=t,this.handler=n,this.history=[],this.redirectionLimitReached=!1,EA.isStream(this.opts.body)?(EA.bodyLength(this.opts.body)===0&&this.opts.body.on("data",function(){Ia(!1)}),typeof this.opts.body.readableDidRead!="boolean"&&(this.opts.body[zr]=!1,$0.prototype.on.call(this.opts.body,"data",function(){this[zr]=!0}))):this.opts.body&&typeof this.opts.body.pipeTo=="function"?this.opts.body=new fi(this.opts.body):this.opts.body&&typeof this.opts.body!="string"&&!ArrayBuffer.isView(this.opts.body)&&EA.isIterable(this.opts.body)&&(this.opts.body=new fi(this.opts.body))}onConnect(A){this.abort=A,this.handler.onConnect(A,{history:this.history})}onUpgrade(A,t,r){this.handler.onUpgrade(A,t,r)}onError(A){this.handler.onError(A)}onHeaders(A,t,r,n){if(this.location=this.history.length>=this.maxRedirections||EA.isDisturbed(this.opts.body)?null:AD(A,t),this.opts.throwOnMaxRedirect&&this.history.length>=this.maxRedirections){this.request&&this.request.abort(new Error("max redirects")),this.redirectionLimitReached=!0,this.abort(new Error("max redirects"));return}if(this.opts.origin&&this.history.push(new URL(this.opts.path,this.opts.origin)),!this.location)return this.handler.onHeaders(A,t,r,n);let{origin:i,pathname:s,search:o}=EA.parseURL(new URL(this.location,this.opts.origin&&new URL(this.opts.path,this.opts.origin))),a=o?`${s}${o}`:s;this.opts.headers=tD(this.opts.headers,A===303,this.opts.origin!==i),this.opts.path=a,this.opts.origin=i,this.opts.maxRedirections=0,this.opts.query=null,A===303&&this.opts.method!=="HEAD"&&(this.opts.method="GET",this.opts.body=null)}onData(A){if(!this.location)return this.handler.onData(A)}onComplete(A){this.location?(this.location=null,this.abort=null,this.dispatch(this.opts,this)):this.handler.onComplete(A)}onBodySent(A){this.handler.onBodySent&&this.handler.onBodySent(A)}};function AD(e,A){if(eD.indexOf(e)===-1)return null;for(let t=0;t<A.length;t+=2)if(A[t].length===8&&EA.headerNameToString(A[t])==="location")return A[t+1]}function WE(e,A,t){if(e.length===4)return EA.headerNameToString(e)==="host";if(A&&EA.headerNameToString(e).startsWith("content-"))return!0;if(t&&(e.length===13||e.length===6||e.length===19)){let r=EA.headerNameToString(e);return r==="authorization"||r==="cookie"||r==="proxy-authorization"}return!1}function tD(e,A,t){let r=[];if(Array.isArray(e))for(let n=0;n<e.length;n+=2)WE(e[n],A,t)||r.push(e[n],e[n+1]);else if(e&&typeof e=="object")for(let n of Object.keys(e))WE(n,A,t)||r.push(n,e[n]);else Ia(e==null,"headers must be an object or an array");return r}PE.exports=Ba});var wi=f((UT,OE)=>{"use strict";var rD=pi();function nD({maxRedirections:e}){return A=>function(r,n){let{maxRedirections:i=e}=r;if(!i)return A(r,n);let s=new rD(A,i,r,n);return r={...r,maxRedirections:0},A(r,s)}}OE.exports=nD});var er=f((LT,tB)=>{"use strict";var FA=d("node:assert"),jE=d("node:net"),iD=d("node:http"),Qt=x(),{channels:jt}=Lt(),sD=tQ(),oD=Yt(),{InvalidArgumentError:ae,InformationalError:aD,ClientDestroyedError:cD}=V(),gD=Tr(),{kUrl:BA,kServerName:qA,kClient:lD,kBusy:ua,kConnect:QD,kResuming:Et,kRunning:$r,kPending:en,kSize:jr,kQueue:tA,kConnected:ED,kConnecting:$t,kNeedDrain:PA,kKeepAliveDefaultTimeout:_E,kHostHeader:BD,kPendingIdx:rA,kRunningIdx:kA,kError:ID,kPipelining:yi,kKeepAliveTimeoutValue:uD,kMaxHeadersSize:CD,kKeepAliveMaxTimeout:hD,kKeepAliveTimeoutThreshold:dD,kHeadersTimeout:fD,kBodyTimeout:pD,kStrictContentLength:wD,kConnector:Zr,kMaxRedirections:yD,kMaxRequests:Ca,kCounter:mD,kClose:DD,kDestroy:FD,kDispatch:kD,kInterceptors:zE,kLocalAddress:Kr,kMaxResponseSize:RD,kOnError:bD,kHTTPContext:ce,kMaxConcurrentStreams:SD,kResume:Xr}=te(),ND=LE(),MD=VE(),ZE=!1,WA=Symbol("kClosedResolve"),KE=()=>{};function $E(e){return e[yi]??e[ce]?.defaultPipelining??1}var ha=class extends oD{constructor(A,{interceptors:t,maxHeaderSize:r,headersTimeout:n,socketTimeout:i,requestTimeout:s,connectTimeout:o,bodyTimeout:a,idleTimeout:c,keepAlive:g,keepAliveTimeout:l,maxKeepAliveTimeout:Q,keepAliveMaxTimeout:I,keepAliveTimeoutThreshold:E,socketPath:u,pipelining:C,tls:B,strictContentLength:h,maxCachedSessions:m,maxRedirections:p,connect:L,maxRequestsPerClient:J,localAddress:q,maxResponseSize:j,autoSelectFamily:Ee,autoSelectFamilyAttemptTimeout:ie,maxConcurrentStreams:G,allowH2:Ae,webSocket:LA}={}){if(super({webSocket:LA}),g!==void 0)throw new ae("unsupported keepAlive, use pipelining=0 instead");if(i!==void 0)throw new ae("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");if(s!==void 0)throw new ae("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");if(c!==void 0)throw new ae("unsupported idleTimeout, use keepAliveTimeout instead");if(Q!==void 0)throw new ae("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");if(r!=null&&!Number.isFinite(r))throw new ae("invalid maxHeaderSize");if(u!=null&&typeof u!="string")throw new ae("invalid socketPath");if(o!=null&&(!Number.isFinite(o)||o<0))throw new ae("invalid connectTimeout");if(l!=null&&(!Number.isFinite(l)||l<=0))throw new ae("invalid keepAliveTimeout");if(I!=null&&(!Number.isFinite(I)||I<=0))throw new ae("invalid keepAliveMaxTimeout");if(E!=null&&!Number.isFinite(E))throw new ae("invalid keepAliveTimeoutThreshold");if(n!=null&&(!Number.isInteger(n)||n<0))throw new ae("headersTimeout must be a positive integer or zero");if(a!=null&&(!Number.isInteger(a)||a<0))throw new ae("bodyTimeout must be a positive integer or zero");if(L!=null&&typeof L!="function"&&typeof L!="object")throw new ae("connect must be a function or an object");if(p!=null&&(!Number.isInteger(p)||p<0))throw new ae("maxRedirections must be a positive number");if(J!=null&&(!Number.isInteger(J)||J<0))throw new ae("maxRequestsPerClient must be a positive number");if(q!=null&&(typeof q!="string"||jE.isIP(q)===0))throw new ae("localAddress must be valid string IP address");if(j!=null&&(!Number.isInteger(j)||j<-1))throw new ae("maxResponseSize must be a positive number");if(ie!=null&&(!Number.isInteger(ie)||ie<-1))throw new ae("autoSelectFamilyAttemptTimeout must be a positive number");if(Ae!=null&&typeof Ae!="boolean")throw new ae("allowH2 must be a valid boolean value");if(G!=null&&(typeof G!="number"||G<1))throw new ae("maxConcurrentStreams must be a positive integer, greater than 0");typeof L!="function"&&(L=gD({...B,maxCachedSessions:m,allowH2:Ae,socketPath:u,timeout:o,...Ee?{autoSelectFamily:Ee,autoSelectFamilyAttemptTimeout:ie}:void 0,...L})),t?.Client&&Array.isArray(t.Client)?(this[zE]=t.Client,ZE||(ZE=!0,process.emitWarning("Client.Options#interceptor is deprecated. Use Dispatcher#compose instead.",{code:"UNDICI-CLIENT-INTERCEPTOR-DEPRECATED"}))):this[zE]=[UD({maxRedirections:p})],this[BA]=Qt.parseOrigin(A),this[Zr]=L,this[yi]=C??1,this[CD]=r||iD.maxHeaderSize,this[_E]=l??4e3,this[hD]=I??6e5,this[dD]=E??2e3,this[uD]=this[_E],this[qA]=null,this[Kr]=q??null,this[Et]=0,this[PA]=0,this[BD]=`host: ${this[BA].hostname}${this[BA].port?`:${this[BA].port}`:""}\r
|
|
40
|
-
`,this[pD]=a??3e5,this[fD]=n??3e5,this[wD]=h??!0,this[yD]=p,this[Ca]=J,this[WA]=null,this[RD]=j>-1?j:-1,this[SD]=G??100,this[ce]=null,this[tA]=[],this[kA]=0,this[rA]=0,this[Xr]=TA=>da(this,TA),this[bD]=TA=>eB(this,TA)}get pipelining(){return this[yi]}set pipelining(A){this[yi]=A,this[Xr](!0)}get[en](){return this[tA].length-this[rA]}get[$r](){return this[rA]-this[kA]}get[jr](){return this[tA].length-this[kA]}get[ED](){return!!this[ce]&&!this[$t]&&!this[ce].destroyed}get[ua](){return!!(this[ce]?.busy(null)||this[jr]>=($E(this)||1)||this[en]>0)}[QD](A){AB(this),this.once("connect",A)}[kD](A,t){let r=A.origin||this[BA].origin,n=new sD(r,A,t);return this[tA].push(n),this[Et]||(Qt.bodyLength(n.body)==null&&Qt.isIterable(n.body)?(this[Et]=1,queueMicrotask(()=>da(this))):this[Xr](!0)),this[Et]&&this[PA]!==2&&this[ua]&&(this[PA]=2),this[PA]<2}async[DD](){return new Promise(A=>{this[jr]?this[WA]=A:A(null)})}async[FD](A){return new Promise(t=>{let r=this[tA].splice(this[rA]);for(let i=0;i<r.length;i++){let s=r[i];Qt.errorRequest(this,s,A)}let n=()=>{this[WA]&&(this[WA](),this[WA]=null),t(null)};this[ce]?(this[ce].destroy(A,n),this[ce]=null):queueMicrotask(n),this[Xr]()})}},UD=wi();function eB(e,A){if(e[$r]===0&&A.code!=="UND_ERR_INFO"&&A.code!=="UND_ERR_SOCKET"){FA(e[rA]===e[kA]);let t=e[tA].splice(e[kA]);for(let r=0;r<t.length;r++){let n=t[r];Qt.errorRequest(e,n,A)}FA(e[jr]===0)}}async function AB(e){FA(!e[$t]),FA(!e[ce]);let{host:A,hostname:t,protocol:r,port:n}=e[BA];if(t[0]==="["){let i=t.indexOf("]");FA(i!==-1);let s=t.substring(1,i);FA(jE.isIP(s)),t=s}e[$t]=!0,jt.beforeConnect.hasSubscribers&&jt.beforeConnect.publish({connectParams:{host:A,hostname:t,protocol:r,port:n,version:e[ce]?.version,servername:e[qA],localAddress:e[Kr]},connector:e[Zr]});try{let i=await new Promise((s,o)=>{e[Zr]({host:A,hostname:t,protocol:r,port:n,servername:e[qA],localAddress:e[Kr]},(a,c)=>{a?o(a):s(c)})});if(e.destroyed){Qt.destroy(i.on("error",KE),new cD);return}FA(i);try{e[ce]=i.alpnProtocol==="h2"?await MD(e,i):await ND(e,i)}catch(s){throw i.destroy().on("error",KE),s}e[$t]=!1,i[mD]=0,i[Ca]=e[Ca],i[lD]=e,i[ID]=null,jt.connected.hasSubscribers&&jt.connected.publish({connectParams:{host:A,hostname:t,protocol:r,port:n,version:e[ce]?.version,servername:e[qA],localAddress:e[Kr]},connector:e[Zr],socket:i}),e.emit("connect",e[BA],[e])}catch(i){if(e.destroyed)return;if(e[$t]=!1,jt.connectError.hasSubscribers&&jt.connectError.publish({connectParams:{host:A,hostname:t,protocol:r,port:n,version:e[ce]?.version,servername:e[qA],localAddress:e[Kr]},connector:e[Zr],error:i}),i.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(FA(e[$r]===0);e[en]>0&&e[tA][e[rA]].servername===e[qA];){let s=e[tA][e[rA]++];Qt.errorRequest(e,s,i)}else eB(e,i);e.emit("connectionError",e[BA],[e],i)}e[Xr]()}function XE(e){e[PA]=0,e.emit("drain",e[BA],[e])}function da(e,A){e[Et]!==2&&(e[Et]=2,LD(e,A),e[Et]=0,e[kA]>256&&(e[tA].splice(0,e[kA]),e[rA]-=e[kA],e[kA]=0))}function LD(e,A){for(;;){if(e.destroyed){FA(e[en]===0);return}if(e[WA]&&!e[jr]){e[WA](),e[WA]=null;return}if(e[ce]&&e[ce].resume(),e[ua])e[PA]=2;else if(e[PA]===2){A?(e[PA]=1,queueMicrotask(()=>XE(e))):XE(e);continue}if(e[en]===0||e[$r]>=($E(e)||1))return;let t=e[tA][e[rA]];if(e[BA].protocol==="https:"&&e[qA]!==t.servername){if(e[$r]>0)return;e[qA]=t.servername,e[ce]?.destroy(new aD("servername changed"),()=>{e[ce]=null,da(e)})}if(e[$t])return;if(!e[ce]){AB(e);return}if(e[ce].destroyed||e[ce].busy(t))return;!t.aborted&&e[ce].write(t)?e[rA]++:e[tA].splice(e[rA],1)}}tB.exports=ha});var fa=f((xT,rB)=>{"use strict";var mi=class{constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(A){this.list[this.top]=A,this.top=this.top+1&2047}shift(){let A=this.list[this.bottom];return A===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,A)}};rB.exports=class{constructor(){this.head=this.tail=new mi}isEmpty(){return this.head.isEmpty()}push(A){this.head.isFull()&&(this.head=this.head.next=new mi),this.head.push(A)}shift(){let A=this.tail,t=A.shift();return A.isEmpty()&&A.next!==null&&(this.tail=A.next),t}}});var iB=f((GT,nB)=>{var{kFree:TD,kConnected:xD,kPending:GD,kQueued:YD,kRunning:vD,kSize:JD}=te(),Bt=Symbol("pool"),pa=class{constructor(A){this[Bt]=A}get connected(){return this[Bt][xD]}get free(){return this[Bt][TD]}get pending(){return this[Bt][GD]}get queued(){return this[Bt][YD]}get running(){return this[Bt][vD]}get size(){return this[Bt][JD]}};nB.exports=pa});var ka=f((YT,IB)=>{"use strict";var HD=Yt(),VD=fa(),{kConnected:wa,kSize:sB,kRunning:oB,kPending:aB,kQueued:An,kBusy:qD,kFree:WD,kUrl:PD,kClose:OD,kDestroy:_D,kDispatch:zD}=te(),ZD=iB(),Re=Symbol("clients"),De=Symbol("needDrain"),tn=Symbol("queue"),ya=Symbol("closed resolve"),ma=Symbol("onDrain"),cB=Symbol("onConnect"),gB=Symbol("onDisconnect"),lB=Symbol("onConnectionError"),Da=Symbol("get dispatcher"),EB=Symbol("add client"),BB=Symbol("remove client"),QB=Symbol("stats"),Fa=class extends HD{constructor(A){super(A),this[tn]=new VD,this[Re]=[],this[An]=0;let t=this;this[ma]=function(n,i){let s=t[tn],o=!1;for(;!o;){let a=s.shift();if(!a)break;t[An]--,o=!this.dispatch(a.opts,a.handler)}this[De]=o,!this[De]&&t[De]&&(t[De]=!1,t.emit("drain",n,[t,...i])),t[ya]&&s.isEmpty()&&Promise.all(t[Re].map(a=>a.close())).then(t[ya])},this[cB]=(r,n)=>{t.emit("connect",r,[t,...n])},this[gB]=(r,n,i)=>{t.emit("disconnect",r,[t,...n],i)},this[lB]=(r,n,i)=>{t.emit("connectionError",r,[t,...n],i)},this[QB]=new ZD(this)}get[qD](){return this[De]}get[wa](){return this[Re].filter(A=>A[wa]).length}get[WD](){return this[Re].filter(A=>A[wa]&&!A[De]).length}get[aB](){let A=this[An];for(let{[aB]:t}of this[Re])A+=t;return A}get[oB](){let A=0;for(let{[oB]:t}of this[Re])A+=t;return A}get[sB](){let A=this[An];for(let{[sB]:t}of this[Re])A+=t;return A}get stats(){return this[QB]}async[OD](){this[tn].isEmpty()?await Promise.all(this[Re].map(A=>A.close())):await new Promise(A=>{this[ya]=A})}async[_D](A){for(;;){let t=this[tn].shift();if(!t)break;t.handler.onError(A)}await Promise.all(this[Re].map(t=>t.destroy(A)))}[zD](A,t){let r=this[Da]();return r?r.dispatch(A,t)||(r[De]=!0,this[De]=!this[Da]()):(this[De]=!0,this[tn].push({opts:A,handler:t}),this[An]++),!this[De]}[EB](A){return A.on("drain",this[ma]).on("connect",this[cB]).on("disconnect",this[gB]).on("connectionError",this[lB]),this[Re].push(A),this[De]&&queueMicrotask(()=>{this[De]&&this[ma](A[PD],[this,A])}),this}[BB](A){A.close(()=>{let t=this[Re].indexOf(A);t!==-1&&this[Re].splice(t,1)}),this[De]=this[Re].some(t=>!t[De]&&t.closed!==!0&&t.destroyed!==!0)}};IB.exports={PoolBase:Fa,kClients:Re,kNeedDrain:De,kAddClient:EB,kRemoveClient:BB,kGetDispatcher:Da}});var Ar=f((vT,dB)=>{"use strict";var{PoolBase:KD,kClients:Di,kNeedDrain:XD,kAddClient:jD,kGetDispatcher:$D}=ka(),eF=er(),{InvalidArgumentError:Ra}=V(),uB=x(),{kUrl:CB,kInterceptors:AF}=te(),tF=Tr(),ba=Symbol("options"),Sa=Symbol("connections"),hB=Symbol("factory");function rF(e,A){return new eF(e,A)}var Na=class extends KD{constructor(A,{connections:t,factory:r=rF,connect:n,connectTimeout:i,tls:s,maxCachedSessions:o,socketPath:a,autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g,allowH2:l,...Q}={}){if(t!=null&&(!Number.isFinite(t)||t<0))throw new Ra("invalid connections");if(typeof r!="function")throw new Ra("factory must be a function.");if(n!=null&&typeof n!="function"&&typeof n!="object")throw new Ra("connect must be a function or an object");typeof n!="function"&&(n=tF({...s,maxCachedSessions:o,allowH2:l,socketPath:a,timeout:i,...c?{autoSelectFamily:c,autoSelectFamilyAttemptTimeout:g}:void 0,...n})),super(Q),this[AF]=Q.interceptors?.Pool&&Array.isArray(Q.interceptors.Pool)?Q.interceptors.Pool:[],this[Sa]=t||null,this[CB]=uB.parseOrigin(A),this[ba]={...uB.deepClone(Q),connect:n,allowH2:l},this[ba].interceptors=Q.interceptors?{...Q.interceptors}:void 0,this[hB]=r,this.on("connectionError",(I,E,u)=>{for(let C of E){let B=this[Di].indexOf(C);B!==-1&&this[Di].splice(B,1)}})}[$D](){for(let A of this[Di])if(!A[XD])return A;if(!this[Sa]||this[Di].length<this[Sa]){let A=this[hB](this[CB],this[ba]);return this[jD](A),A}}};dB.exports=Na});var mB=f((JT,yB)=>{"use strict";var{BalancedPoolMissingUpstreamError:nF,InvalidArgumentError:iF}=V(),{PoolBase:sF,kClients:de,kNeedDrain:rn,kAddClient:oF,kRemoveClient:aF,kGetDispatcher:cF}=ka(),gF=Ar(),{kUrl:Ma,kInterceptors:lF}=te(),{parseOrigin:fB}=x(),pB=Symbol("factory"),Fi=Symbol("options"),wB=Symbol("kGreatestCommonDivisor"),It=Symbol("kCurrentWeight"),ut=Symbol("kIndex"),ze=Symbol("kWeight"),ki=Symbol("kMaxWeightPerServer"),Ri=Symbol("kErrorPenalty");function QF(e,A){if(e===0)return A;for(;A!==0;){let t=A;A=e%A,e=t}return e}function EF(e,A){return new gF(e,A)}var Ua=class extends sF{constructor(A=[],{factory:t=EF,...r}={}){if(super(),this[Fi]=r,this[ut]=-1,this[It]=0,this[ki]=this[Fi].maxWeightPerServer||100,this[Ri]=this[Fi].errorPenalty||15,Array.isArray(A)||(A=[A]),typeof t!="function")throw new iF("factory must be a function.");this[lF]=r.interceptors?.BalancedPool&&Array.isArray(r.interceptors.BalancedPool)?r.interceptors.BalancedPool:[],this[pB]=t;for(let n of A)this.addUpstream(n);this._updateBalancedPoolStats()}addUpstream(A){let t=fB(A).origin;if(this[de].find(n=>n[Ma].origin===t&&n.closed!==!0&&n.destroyed!==!0))return this;let r=this[pB](t,Object.assign({},this[Fi]));this[oF](r),r.on("connect",()=>{r[ze]=Math.min(this[ki],r[ze]+this[Ri])}),r.on("connectionError",()=>{r[ze]=Math.max(1,r[ze]-this[Ri]),this._updateBalancedPoolStats()}),r.on("disconnect",(...n)=>{let i=n[2];i&&i.code==="UND_ERR_SOCKET"&&(r[ze]=Math.max(1,r[ze]-this[Ri]),this._updateBalancedPoolStats())});for(let n of this[de])n[ze]=this[ki];return this._updateBalancedPoolStats(),this}_updateBalancedPoolStats(){let A=0;for(let t=0;t<this[de].length;t++)A=QF(this[de][t][ze],A);this[wB]=A}removeUpstream(A){let t=fB(A).origin,r=this[de].find(n=>n[Ma].origin===t&&n.closed!==!0&&n.destroyed!==!0);return r&&this[aF](r),this}get upstreams(){return this[de].filter(A=>A.closed!==!0&&A.destroyed!==!0).map(A=>A[Ma].origin)}[cF](){if(this[de].length===0)throw new nF;if(!this[de].find(i=>!i[rn]&&i.closed!==!0&&i.destroyed!==!0)||this[de].map(i=>i[rn]).reduce((i,s)=>i&&s,!0))return;let r=0,n=this[de].findIndex(i=>!i[rn]);for(;r++<this[de].length;){this[ut]=(this[ut]+1)%this[de].length;let i=this[de][this[ut]];if(i[ze]>this[de][n][ze]&&!i[rn]&&(n=this[ut]),this[ut]===0&&(this[It]=this[It]-this[wB],this[It]<=0&&(this[It]=this[ki])),i[ze]>=this[It]&&!i[rn])return i}return this[It]=this[de][n][ze],this[ut]=n,this[de][n]}};yB.exports=Ua});var tr=f((HT,NB)=>{"use strict";var{InvalidArgumentError:bi}=V(),{kClients:OA,kRunning:DB,kClose:BF,kDestroy:IF,kDispatch:uF,kInterceptors:CF}=te(),hF=Yt(),dF=Ar(),fF=er(),pF=x(),wF=wi(),FB=Symbol("onConnect"),kB=Symbol("onDisconnect"),RB=Symbol("onConnectionError"),yF=Symbol("maxRedirections"),bB=Symbol("onDrain"),SB=Symbol("factory"),La=Symbol("options");function mF(e,A){return A&&A.connections===1?new fF(e,A):new dF(e,A)}var Ta=class extends hF{constructor({factory:A=mF,maxRedirections:t=0,connect:r,...n}={}){if(typeof A!="function")throw new bi("factory must be a function.");if(r!=null&&typeof r!="function"&&typeof r!="object")throw new bi("connect must be a function or an object");if(!Number.isInteger(t)||t<0)throw new bi("maxRedirections must be a positive number");super(n),r&&typeof r!="function"&&(r={...r}),this[CF]=n.interceptors?.Agent&&Array.isArray(n.interceptors.Agent)?n.interceptors.Agent:[wF({maxRedirections:t})],this[La]={...pF.deepClone(n),connect:r},this[La].interceptors=n.interceptors?{...n.interceptors}:void 0,this[yF]=t,this[SB]=A,this[OA]=new Map,this[bB]=(i,s)=>{this.emit("drain",i,[this,...s])},this[FB]=(i,s)=>{this.emit("connect",i,[this,...s])},this[kB]=(i,s,o)=>{this.emit("disconnect",i,[this,...s],o)},this[RB]=(i,s,o)=>{this.emit("connectionError",i,[this,...s],o)}}get[DB](){let A=0;for(let t of this[OA].values())A+=t[DB];return A}[uF](A,t){let r;if(A.origin&&(typeof A.origin=="string"||A.origin instanceof URL))r=String(A.origin);else throw new bi("opts.origin must be a non-empty string or URL.");let n=this[OA].get(r);return n||(n=this[SB](A.origin,this[La]).on("drain",this[bB]).on("connect",this[FB]).on("disconnect",this[kB]).on("connectionError",this[RB]),this[OA].set(r,n)),n.dispatch(A,t)}async[BF](){let A=[];for(let t of this[OA].values())A.push(t.close());this[OA].clear(),await Promise.all(A)}async[IF](A){let t=[];for(let r of this[OA].values())t.push(r.destroy(A));this[OA].clear(),await Promise.all(t)}};NB.exports=Ta});var Ja=f((VT,VB)=>{"use strict";var{kProxy:xa,kClose:GB,kDestroy:YB,kDispatch:MB,kInterceptors:DF}=te(),{URL:Ct}=d("node:url"),FF=tr(),vB=Ar(),JB=Yt(),{InvalidArgumentError:rr,RequestAbortedError:kF,SecureProxyConnectionError:RF}=V(),UB=Tr(),HB=er(),Si=Symbol("proxy agent"),Ni=Symbol("proxy client"),_A=Symbol("proxy headers"),Ga=Symbol("request tls settings"),LB=Symbol("proxy tls settings"),TB=Symbol("connect endpoint function"),xB=Symbol("tunnel proxy");function bF(e){return e==="https:"?443:80}function SF(e,A){return new vB(e,A)}var NF=()=>{};function MF(e,A){return A.connections===1?new HB(e,A):new vB(e,A)}var Ya=class extends JB{#e;constructor(A,{headers:t={},connect:r,factory:n}){if(super(),!A)throw new rr("Proxy URL is mandatory");this[_A]=t,n?this.#e=n(A,{connect:r}):this.#e=new HB(A,{connect:r})}[MB](A,t){let r=t.onHeaders;t.onHeaders=function(o,a,c){if(o===407){typeof t.onError=="function"&&t.onError(new rr("Proxy Authentication Required (407)"));return}r&&r.call(this,o,a,c)};let{origin:n,path:i="/",headers:s={}}=A;if(A.path=n+i,!("host"in s)&&!("Host"in s)){let{host:o}=new Ct(n);s.host=o}return A.headers={...this[_A],...s},this.#e[MB](A,t)}async[GB](){return this.#e.close()}async[YB](A){return this.#e.destroy(A)}},va=class extends JB{constructor(A){if(super(),!A||typeof A=="object"&&!(A instanceof Ct)&&!A.uri)throw new rr("Proxy uri is mandatory");let{clientFactory:t=SF}=A;if(typeof t!="function")throw new rr("Proxy opts.clientFactory must be a function.");let{proxyTunnel:r=!0}=A,n=this.#e(A),{href:i,origin:s,port:o,protocol:a,username:c,password:g,hostname:l}=n;if(this[xa]={uri:i,protocol:a},this[DF]=A.interceptors?.ProxyAgent&&Array.isArray(A.interceptors.ProxyAgent)?A.interceptors.ProxyAgent:[],this[Ga]=A.requestTls,this[LB]=A.proxyTls,this[_A]=A.headers||{},this[xB]=r,A.auth&&A.token)throw new rr("opts.auth cannot be used in combination with opts.token");A.auth?this[_A]["proxy-authorization"]=`Basic ${A.auth}`:A.token?this[_A]["proxy-authorization"]=A.token:c&&g&&(this[_A]["proxy-authorization"]=`Basic ${Buffer.from(`${decodeURIComponent(c)}:${decodeURIComponent(g)}`).toString("base64")}`);let Q=UB({...A.proxyTls});this[TB]=UB({...A.requestTls});let I=A.factory||MF,E=(u,C)=>{let{protocol:B}=new Ct(u);return!this[xB]&&B==="http:"&&this[xa].protocol==="http:"?new Ya(this[xa].uri,{headers:this[_A],connect:Q,factory:I}):I(u,C)};this[Ni]=t(n,{connect:Q}),this[Si]=new FF({...A,factory:E,connect:async(u,C)=>{let B=u.host;u.port||(B+=`:${bF(u.protocol)}`);try{let{socket:h,statusCode:m}=await this[Ni].connect({origin:s,port:o,path:B,signal:u.signal,headers:{...this[_A],host:u.host},servername:this[LB]?.servername||l});if(m!==200&&(h.on("error",NF).destroy(),C(new kF(`Proxy response (${m}) !== 200 when HTTP Tunneling`))),u.protocol!=="https:"){C(null,h);return}let p;this[Ga]?p=this[Ga].servername:p=u.servername,this[TB]({...u,servername:p,httpSocket:h},C)}catch(h){h.code==="ERR_TLS_CERT_ALTNAME_INVALID"?C(new RF(h)):C(h)}}})}dispatch(A,t){let r=UF(A.headers);if(LF(r),r&&!("host"in r)&&!("Host"in r)){let{host:n}=new Ct(A.origin);r.host=n}return this[Si].dispatch({...A,headers:r},t)}#e(A){return typeof A=="string"?new Ct(A):A instanceof Ct?A:new Ct(A.uri)}async[GB](){await this[Si].close(),await this[Ni].close()}async[YB](){await this[Si].destroy(),await this[Ni].destroy()}};function UF(e){if(Array.isArray(e)){let A={};for(let t=0;t<e.length;t+=2)A[e[t]]=e[t+1];return A}return e}function LF(e){if(e&&Object.keys(e).find(t=>t.toLowerCase()==="proxy-authorization"))throw new rr("Proxy-Authorization should be sent in ProxyAgent constructor")}VB.exports=va});var zB=f((qT,_B)=>{"use strict";var TF=Yt(),{kClose:xF,kDestroy:GF,kClosed:qB,kDestroyed:WB,kDispatch:YF,kNoProxyAgent:nn,kHttpProxyAgent:zA,kHttpsProxyAgent:ht}=te(),PB=Ja(),vF=tr(),JF={"http:":80,"https:":443},OB=!1,Ha=class extends TF{#e=null;#A=null;#t=null;constructor(A={}){super(),this.#t=A,OB||(OB=!0,process.emitWarning("EnvHttpProxyAgent is experimental, expect them to change at any time.",{code:"UNDICI-EHPA"}));let{httpProxy:t,httpsProxy:r,noProxy:n,...i}=A;this[nn]=new vF(i);let s=t??process.env.http_proxy??process.env.HTTP_PROXY;s?this[zA]=new PB({...i,uri:s}):this[zA]=this[nn];let o=r??process.env.https_proxy??process.env.HTTPS_PROXY;o?this[ht]=new PB({...i,uri:o}):this[ht]=this[zA],this.#r()}[YF](A,t){let r=new URL(A.origin);return this.#i(r).dispatch(A,t)}async[xF](){await this[nn].close(),this[zA][qB]||await this[zA].close(),this[ht][qB]||await this[ht].close()}async[GF](A){await this[nn].destroy(A),this[zA][WB]||await this[zA].destroy(A),this[ht][WB]||await this[ht].destroy(A)}#i(A){let{protocol:t,host:r,port:n}=A;return r=r.replace(/:\d*$/,"").toLowerCase(),n=Number.parseInt(n,10)||JF[t]||0,this.#n(r,n)?t==="https:"?this[ht]:this[zA]:this[nn]}#n(A,t){if(this.#s&&this.#r(),this.#A.length===0)return!0;if(this.#e==="*")return!1;for(let r=0;r<this.#A.length;r++){let n=this.#A[r];if(!(n.port&&n.port!==t)){if(/^[.*]/.test(n.hostname)){if(A.endsWith(n.hostname.replace(/^\*/,"")))return!1}else if(A===n.hostname)return!1}}return!0}#r(){let A=this.#t.noProxy??this.#o,t=A.split(/[,\s]/),r=[];for(let n=0;n<t.length;n++){let i=t[n];if(!i)continue;let s=i.match(/^(.+):(\d+)$/);r.push({hostname:(s?s[1]:i).toLowerCase(),port:s?Number.parseInt(s[2],10):0})}this.#e=A,this.#A=r}get#s(){return this.#t.noProxy!==void 0?!1:this.#e!==this.#o}get#o(){return process.env.no_proxy??process.env.NO_PROXY??""}};_B.exports=Ha});var Mi=f((WT,$B)=>{"use strict";var nr=d("node:assert"),{kRetryHandlerDefaultRetry:ZB}=te(),{RequestRetryError:ir}=V(),{isDisturbed:KB,parseHeaders:HF,parseRangeHeader:XB,wrapRequestBody:VF}=x();function qF(e){let A=Date.now();return new Date(e).getTime()-A}function jB(e,A,t,r){let n=e["content-length"];if(n==null||!Number.isFinite(A.start)||!Number.isFinite(A.end))return null;let i=Number(n),s=A.end-A.start+1;return!Number.isFinite(i)||i!==s?new ir("Content-Length mismatch",t,{headers:e,data:{count:r}}):null}var Va=class e{constructor(A,t){let{retryOptions:r,...n}=A,{retry:i,maxRetries:s,maxTimeout:o,minTimeout:a,timeoutFactor:c,methods:g,errorCodes:l,retryAfter:Q,statusCodes:I}=r??{};this.dispatch=t.dispatch,this.handler=t.handler,this.opts={...n,body:VF(A.body)},this.abort=null,this.aborted=!1,this.retryOpts={retry:i??e[ZB],retryAfter:Q??!0,maxTimeout:o??30*1e3,minTimeout:a??500,timeoutFactor:c??2,maxRetries:s??5,methods:g??["GET","HEAD","OPTIONS","PUT","DELETE","TRACE"],statusCodes:I??[500,502,503,504,429],errorCodes:l??["ECONNRESET","ECONNREFUSED","ENOTFOUND","ENETDOWN","ENETUNREACH","EHOSTDOWN","EHOSTUNREACH","EPIPE","UND_ERR_SOCKET"]},this.retryCount=0,this.retryCountCheckpoint=0,this.start=0,this.end=null,this.etag=null,this.resume=null,this.handler.onConnect(E=>{this.aborted=!0,this.abort?this.abort(E):this.reason=E})}onRequestSent(){this.handler.onRequestSent&&this.handler.onRequestSent()}onUpgrade(A,t,r){this.handler.onUpgrade&&this.handler.onUpgrade(A,t,r)}onConnect(A){this.aborted?A(this.reason):this.abort=A}onBodySent(A){if(this.handler.onBodySent)return this.handler.onBodySent(A)}static[ZB](A,{state:t,opts:r},n){let{statusCode:i,code:s,headers:o}=A,{method:a,retryOptions:c}=r,{maxRetries:g,minTimeout:l,maxTimeout:Q,timeoutFactor:I,statusCodes:E,errorCodes:u,methods:C}=c,{counter:B}=t;if(s&&s!=="UND_ERR_REQ_RETRY"&&!u.includes(s)){n(A);return}if(Array.isArray(C)&&!C.includes(a)){n(A);return}if(i!=null&&Array.isArray(E)&&!E.includes(i)){n(A);return}if(B>g){n(A);return}let h=o?.["retry-after"];h&&(h=Number(h),h=Number.isNaN(h)?qF(h):h*1e3);let m=h>0?Math.min(h,Q):Math.min(l*I**(B-1),Q);setTimeout(()=>n(null),m)}onHeaders(A,t,r,n){let i=HF(t);if(this.retryCount+=1,A>=300)return this.retryOpts.statusCodes.includes(A)===!1?this.handler.onHeaders(A,t,r,n):(this.abort(new ir("Request failed",A,{headers:i,data:{count:this.retryCount}})),!1);if(this.resume!=null){if(this.resume=null,A!==206&&(this.start>0||A!==200))return this.abort(new ir("server does not support the range header and the payload was partially consumed",A,{headers:i,data:{count:this.retryCount}})),!1;let o=XB(i["content-range"]);if(!o)return this.abort(new ir("Content-Range mismatch",A,{headers:i,data:{count:this.retryCount}})),!1;if(this.etag!=null&&this.etag!==i.etag)return this.abort(new ir("ETag mismatch",A,{headers:i,data:{count:this.retryCount}})),!1;let a=jB(i,o,A,this.retryCount);if(a!=null)return this.abort(a),!1;let{start:c,size:g,end:l=g-1}=o;return nr(this.start===c,"content-range mismatch"),nr(this.end==null||this.end===l,"content-range mismatch"),this.resume=r,!0}if(this.end==null){if(A===206){let o=XB(i["content-range"]);if(o==null)return this.handler.onHeaders(A,t,r,n);let a=jB(i,o,A,this.retryCount);if(a!=null)return this.abort(a),!1;let{start:c,size:g,end:l=g-1}=o;nr(c!=null&&Number.isFinite(c),"content-range mismatch"),nr(l!=null&&Number.isFinite(l),"invalid content-length"),this.start=c,this.end=l}if(this.end==null){let o=i["content-length"];this.end=o!=null?Number(o)-1:null}return nr(Number.isFinite(this.start)),nr(this.end==null||Number.isFinite(this.end),"invalid content-length"),this.resume=r,this.etag=i.etag!=null?i.etag:null,this.etag!=null&&this.etag.startsWith("W/")&&(this.etag=null),this.handler.onHeaders(A,t,r,n)}let s=new ir("Request failed",A,{headers:i,data:{count:this.retryCount}});return this.abort(s),!1}onData(A){return this.start+=A.length,this.handler.onData(A)}onComplete(A){return this.retryCount=0,this.handler.onComplete(A)}onError(A){if(this.aborted||KB(this.opts.body))return this.handler.onError(A);this.retryCount-this.retryCountCheckpoint>0?this.retryCount=this.retryCountCheckpoint+(this.retryCount-this.retryCountCheckpoint):this.retryCount+=1,this.retryOpts.retry(A,{state:{counter:this.retryCount},opts:{retryOptions:this.retryOpts,...this.opts}},t.bind(this));function t(r){if(r!=null||this.aborted||KB(this.opts.body))return this.handler.onError(r);if(this.start!==0){let n={range:`bytes=${this.start}-${this.end??""}`};this.etag!=null&&(n["if-match"]=this.etag),this.opts={...this.opts,headers:{...this.opts.headers,...n}}}try{this.retryCountCheckpoint=this.retryCount,this.dispatch(this.opts,this)}catch(n){this.handler.onError(n)}}}};$B.exports=Va});var AI=f((PT,eI)=>{"use strict";var WF=Ur(),PF=Mi(),qa=class extends WF{#e=null;#A=null;constructor(A,t={}){super(t),this.#e=A,this.#A=t}dispatch(A,t){let r=new PF({...A,retryOptions:this.#A},{dispatch:this.#e.dispatch.bind(this.#e),handler:t});return this.#e.dispatch(A,r)}close(){return this.#e.close()}destroy(){return this.#e.destroy()}};eI.exports=qa});var Za=f((OT,gI)=>{"use strict";var sI=d("node:assert"),{Readable:OF}=d("node:stream"),{RequestAbortedError:oI,NotSupportedError:_F,InvalidArgumentError:zF,AbortError:Wa}=V(),aI=x(),{ReadableStreamFrom:ZF}=x(),Te=Symbol("kConsume"),sn=Symbol("kReading"),ZA=Symbol("kBody"),tI=Symbol("kAbort"),cI=Symbol("kContentType"),rI=Symbol("kContentLength"),KF=()=>{},Pa=class extends OF{constructor({resume:A,abort:t,contentType:r="",contentLength:n,highWaterMark:i=64*1024}){super({autoDestroy:!0,read:A,highWaterMark:i}),this._readableState.dataEmitted=!1,this[tI]=t,this[Te]=null,this[ZA]=null,this[cI]=r,this[rI]=n,this[sn]=!1}destroy(A){return!A&&!this._readableState.endEmitted&&(A=new oI),A&&this[tI](),super.destroy(A)}_destroy(A,t){this[sn]?t(A):setImmediate(()=>{t(A)})}on(A,...t){return(A==="data"||A==="readable")&&(this[sn]=!0),super.on(A,...t)}addListener(A,...t){return this.on(A,...t)}off(A,...t){let r=super.off(A,...t);return(A==="data"||A==="readable")&&(this[sn]=this.listenerCount("data")>0||this.listenerCount("readable")>0),r}removeListener(A,...t){return this.off(A,...t)}push(A){return this[Te]&&A!==null?(_a(this[Te],A),this[sn]?super.push(A):!0):super.push(A)}async text(){return on(this,"text")}async json(){return on(this,"json")}async blob(){return on(this,"blob")}async bytes(){return on(this,"bytes")}async arrayBuffer(){return on(this,"arrayBuffer")}async formData(){throw new _F}get bodyUsed(){return aI.isDisturbed(this)}get body(){return this[ZA]||(this[ZA]=ZF(this),this[Te]&&(this[ZA].getReader(),sI(this[ZA].locked))),this[ZA]}async dump(A){let t=Number.isFinite(A?.limit)?A.limit:131072,r=A?.signal;if(r!=null&&(typeof r!="object"||!("aborted"in r)))throw new zF("signal must be an AbortSignal");return r?.throwIfAborted(),this._readableState.closeEmitted?null:await new Promise((n,i)=>{this[rI]>t&&this.destroy(new Wa);let s=()=>{this.destroy(r.reason??new Wa)};r?.addEventListener("abort",s),this.on("close",function(){r?.removeEventListener("abort",s),r?.aborted?i(r.reason??new Wa):n(null)}).on("error",KF).on("data",function(o){t-=o.length,t<=0&&this.destroy()}).resume()})}};function XF(e){return e[ZA]&&e[ZA].locked===!0||e[Te]}function jF(e){return aI.isDisturbed(e)||XF(e)}async function on(e,A){return sI(!e[Te]),new Promise((t,r)=>{if(jF(e)){let n=e._readableState;n.destroyed&&n.closeEmitted===!1?e.on("error",i=>{r(i)}).on("close",()=>{r(new TypeError("unusable"))}):r(n.errored??new TypeError("unusable"))}else queueMicrotask(()=>{e[Te]={type:A,stream:e,resolve:t,reject:r,length:0,body:[]},e.on("error",function(n){za(this[Te],n)}).on("close",function(){this[Te].body!==null&&za(this[Te],new oI)}),$F(e[Te])})})}function $F(e){if(e.body===null)return;let{_readableState:A}=e.stream;if(A.bufferIndex){let t=A.bufferIndex,r=A.buffer.length;for(let n=t;n<r;n++)_a(e,A.buffer[n])}else for(let t of A.buffer)_a(e,t);for(A.endEmitted?iI(this[Te]):e.stream.on("end",function(){iI(this[Te])}),e.stream.resume();e.stream.read()!=null;);}function Oa(e,A){if(e.length===0||A===0)return"";let t=e.length===1?e[0]:Buffer.concat(e,A),r=t.length,n=r>2&&t[0]===239&&t[1]===187&&t[2]===191?3:0;return t.utf8Slice(n,r)}function nI(e,A){if(e.length===0||A===0)return new Uint8Array(0);if(e.length===1)return new Uint8Array(e[0]);let t=new Uint8Array(Buffer.allocUnsafeSlow(A).buffer),r=0;for(let n=0;n<e.length;++n){let i=e[n];t.set(i,r),r+=i.length}return t}function iI(e){let{type:A,body:t,resolve:r,stream:n,length:i}=e;try{A==="text"?r(Oa(t,i)):A==="json"?r(JSON.parse(Oa(t,i))):A==="arrayBuffer"?r(nI(t,i).buffer):A==="blob"?r(new Blob(t,{type:n[cI]})):A==="bytes"&&r(nI(t,i)),za(e)}catch(s){n.destroy(s)}}function _a(e,A){e.length+=A.length,e.body.push(A)}function za(e,A){e.body!==null&&(A?e.reject(A):e.resolve(),e.type=null,e.stream=null,e.resolve=null,e.reject=null,e.length=0,e.body=null)}gI.exports={Readable:Pa,chunksDecode:Oa}});var Ka=f((_T,II)=>{var ek=d("node:assert"),{ResponseStatusCodeError:lI}=V(),{chunksDecode:QI}=Za(),Ak=128*1024;async function tk({callback:e,body:A,contentType:t,statusCode:r,statusMessage:n,headers:i}){ek(A);let s=[],o=0;try{for await(let l of A)if(s.push(l),o+=l.length,o>Ak){s=[],o=0;break}}catch{s=[],o=0}let a=`Response status code ${r}${n?`: ${n}`:""}`;if(r===204||!t||!o){queueMicrotask(()=>e(new lI(a,r,i)));return}let c=Error.stackTraceLimit;Error.stackTraceLimit=0;let g;try{EI(t)?g=JSON.parse(QI(s,o)):BI(t)&&(g=QI(s,o))}catch{}finally{Error.stackTraceLimit=c}queueMicrotask(()=>e(new lI(a,r,i,g)))}var EI=e=>e.length>15&&e[11]==="/"&&e[0]==="a"&&e[1]==="p"&&e[2]==="p"&&e[3]==="l"&&e[4]==="i"&&e[5]==="c"&&e[6]==="a"&&e[7]==="t"&&e[8]==="i"&&e[9]==="o"&&e[10]==="n"&&e[12]==="j"&&e[13]==="s"&&e[14]==="o"&&e[15]==="n",BI=e=>e.length>4&&e[4]==="/"&&e[0]==="t"&&e[1]==="e"&&e[2]==="x"&&e[3]==="t";II.exports={getResolveErrorBodyCallback:tk,isContentTypeApplicationJson:EI,isContentTypeText:BI}});var hI=f((zT,Xa)=>{"use strict";var rk=d("node:assert"),{Readable:nk}=Za(),{InvalidArgumentError:sr,RequestAbortedError:uI}=V(),xe=x(),{getResolveErrorBodyCallback:ik}=Ka(),{AsyncResource:sk}=d("node:async_hooks"),Ui=class extends sk{constructor(A,t){if(!A||typeof A!="object")throw new sr("invalid opts");let{signal:r,method:n,opaque:i,body:s,onInfo:o,responseHeaders:a,throwOnError:c,highWaterMark:g}=A;try{if(typeof t!="function")throw new sr("invalid callback");if(g&&(typeof g!="number"||g<0))throw new sr("invalid highWaterMark");if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new sr("signal must be an EventEmitter or EventTarget");if(n==="CONNECT")throw new sr("invalid method");if(o&&typeof o!="function")throw new sr("invalid onInfo callback");super("UNDICI_REQUEST")}catch(l){throw xe.isStream(s)&&xe.destroy(s.on("error",xe.nop),l),l}this.method=n,this.responseHeaders=a||null,this.opaque=i||null,this.callback=t,this.res=null,this.abort=null,this.body=s,this.trailers={},this.context=null,this.onInfo=o||null,this.throwOnError=c,this.highWaterMark=g,this.signal=r,this.reason=null,this.removeAbortListener=null,xe.isStream(s)&&s.on("error",l=>{this.onError(l)}),this.signal&&(this.signal.aborted?this.reason=this.signal.reason??new uI:this.removeAbortListener=xe.addAbortListener(this.signal,()=>{this.reason=this.signal.reason??new uI,this.res?xe.destroy(this.res.on("error",xe.nop),this.reason):this.abort&&this.abort(this.reason),this.removeAbortListener&&(this.res?.off("close",this.removeAbortListener),this.removeAbortListener(),this.removeAbortListener=null)}))}onConnect(A,t){if(this.reason){A(this.reason);return}rk(this.callback),this.abort=A,this.context=t}onHeaders(A,t,r,n){let{callback:i,opaque:s,abort:o,context:a,responseHeaders:c,highWaterMark:g}=this,l=c==="raw"?xe.parseRawHeaders(t):xe.parseHeaders(t);if(A<200){this.onInfo&&this.onInfo({statusCode:A,headers:l});return}let Q=c==="raw"?xe.parseHeaders(t):l,I=Q["content-type"],E=Q["content-length"],u=new nk({resume:r,abort:o,contentType:I,contentLength:this.method!=="HEAD"&&E?Number(E):null,highWaterMark:g});this.removeAbortListener&&u.on("close",this.removeAbortListener),this.callback=null,this.res=u,i!==null&&(this.throwOnError&&A>=400?this.runInAsyncScope(ik,null,{callback:i,body:u,contentType:I,statusCode:A,statusMessage:n,headers:l}):this.runInAsyncScope(i,null,null,{statusCode:A,headers:l,trailers:this.trailers,opaque:s,body:u,context:a}))}onData(A){return this.res.push(A)}onComplete(A){xe.parseHeaders(A,this.trailers),this.res.push(null)}onError(A){let{res:t,callback:r,body:n,opaque:i}=this;r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,A,{opaque:i})})),t&&(this.res=null,queueMicrotask(()=>{xe.destroy(t,A)})),n&&(this.body=null,xe.destroy(n,A)),this.removeAbortListener&&(t?.off("close",this.removeAbortListener),this.removeAbortListener(),this.removeAbortListener=null)}};function CI(e,A){if(A===void 0)return new Promise((t,r)=>{CI.call(this,e,(n,i)=>n?r(n):t(i))});try{this.dispatch(e,new Ui(e,A))}catch(t){if(typeof A!="function")throw t;let r=e?.opaque;queueMicrotask(()=>A(t,{opaque:r}))}}Xa.exports=CI;Xa.exports.RequestHandler=Ui});var an=f((ZT,pI)=>{var{addAbortListener:ok}=x(),{RequestAbortedError:ak}=V(),or=Symbol("kListener"),IA=Symbol("kSignal");function dI(e){e.abort?e.abort(e[IA]?.reason):e.reason=e[IA]?.reason??new ak,fI(e)}function ck(e,A){if(e.reason=null,e[IA]=null,e[or]=null,!!A){if(A.aborted){dI(e);return}e[IA]=A,e[or]=()=>{dI(e)},ok(e[IA],e[or])}}function fI(e){e[IA]&&("removeEventListener"in e[IA]?e[IA].removeEventListener("abort",e[or]):e[IA].removeListener("abort",e[or]),e[IA]=null,e[or]=null)}pI.exports={addSignal:ck,removeSignal:fI}});var DI=f((KT,mI)=>{"use strict";var gk=d("node:assert"),{finished:lk,PassThrough:Qk}=d("node:stream"),{InvalidArgumentError:ar,InvalidReturnValueError:Ek}=V(),nA=x(),{getResolveErrorBodyCallback:Bk}=Ka(),{AsyncResource:Ik}=d("node:async_hooks"),{addSignal:uk,removeSignal:wI}=an(),ja=class extends Ik{constructor(A,t,r){if(!A||typeof A!="object")throw new ar("invalid opts");let{signal:n,method:i,opaque:s,body:o,onInfo:a,responseHeaders:c,throwOnError:g}=A;try{if(typeof r!="function")throw new ar("invalid callback");if(typeof t!="function")throw new ar("invalid factory");if(n&&typeof n.on!="function"&&typeof n.addEventListener!="function")throw new ar("signal must be an EventEmitter or EventTarget");if(i==="CONNECT")throw new ar("invalid method");if(a&&typeof a!="function")throw new ar("invalid onInfo callback");super("UNDICI_STREAM")}catch(l){throw nA.isStream(o)&&nA.destroy(o.on("error",nA.nop),l),l}this.responseHeaders=c||null,this.opaque=s||null,this.factory=t,this.callback=r,this.res=null,this.abort=null,this.context=null,this.trailers=null,this.body=o,this.onInfo=a||null,this.throwOnError=g||!1,nA.isStream(o)&&o.on("error",l=>{this.onError(l)}),uk(this,n)}onConnect(A,t){if(this.reason){A(this.reason);return}gk(this.callback),this.abort=A,this.context=t}onHeaders(A,t,r,n){let{factory:i,opaque:s,context:o,callback:a,responseHeaders:c}=this,g=c==="raw"?nA.parseRawHeaders(t):nA.parseHeaders(t);if(A<200){this.onInfo&&this.onInfo({statusCode:A,headers:g});return}this.factory=null;let l;if(this.throwOnError&&A>=400){let E=(c==="raw"?nA.parseHeaders(t):g)["content-type"];l=new Qk,this.callback=null,this.runInAsyncScope(Bk,null,{callback:a,body:l,contentType:E,statusCode:A,statusMessage:n,headers:g})}else{if(i===null)return;if(l=this.runInAsyncScope(i,null,{statusCode:A,headers:g,opaque:s,context:o}),!l||typeof l.write!="function"||typeof l.end!="function"||typeof l.on!="function")throw new Ek("expected Writable");lk(l,{readable:!1},I=>{let{callback:E,res:u,opaque:C,trailers:B,abort:h}=this;this.res=null,(I||!u.readable)&&nA.destroy(u,I),this.callback=null,this.runInAsyncScope(E,null,I||null,{opaque:C,trailers:B}),I&&h()})}return l.on("drain",r),this.res=l,(l.writableNeedDrain!==void 0?l.writableNeedDrain:l._writableState?.needDrain)!==!0}onData(A){let{res:t}=this;return t?t.write(A):!0}onComplete(A){let{res:t}=this;wI(this),t&&(this.trailers=nA.parseHeaders(A),t.end())}onError(A){let{res:t,callback:r,opaque:n,body:i}=this;wI(this),this.factory=null,t?(this.res=null,nA.destroy(t,A)):r&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(r,null,A,{opaque:n})})),i&&(this.body=null,nA.destroy(i,A))}};function yI(e,A,t){if(t===void 0)return new Promise((r,n)=>{yI.call(this,e,A,(i,s)=>i?n(i):r(s))});try{this.dispatch(e,new ja(e,A,t))}catch(r){if(typeof t!="function")throw r;let n=e?.opaque;queueMicrotask(()=>t(r,{opaque:n}))}}mI.exports=yI});var bI=f((XT,RI)=>{"use strict";var{Readable:kI,Duplex:Ck,PassThrough:hk}=d("node:stream"),{InvalidArgumentError:cn,InvalidReturnValueError:dk,RequestAbortedError:$a}=V(),Ze=x(),{AsyncResource:fk}=d("node:async_hooks"),{addSignal:pk,removeSignal:wk}=an(),FI=d("node:assert"),cr=Symbol("resume"),ec=class extends kI{constructor(){super({autoDestroy:!0}),this[cr]=null}_read(){let{[cr]:A}=this;A&&(this[cr]=null,A())}_destroy(A,t){this._read(),t(A)}},Ac=class extends kI{constructor(A){super({autoDestroy:!0}),this[cr]=A}_read(){this[cr]()}_destroy(A,t){!A&&!this._readableState.endEmitted&&(A=new $a),t(A)}},tc=class extends fk{constructor(A,t){if(!A||typeof A!="object")throw new cn("invalid opts");if(typeof t!="function")throw new cn("invalid handler");let{signal:r,method:n,opaque:i,onInfo:s,responseHeaders:o}=A;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new cn("signal must be an EventEmitter or EventTarget");if(n==="CONNECT")throw new cn("invalid method");if(s&&typeof s!="function")throw new cn("invalid onInfo callback");super("UNDICI_PIPELINE"),this.opaque=i||null,this.responseHeaders=o||null,this.handler=t,this.abort=null,this.context=null,this.onInfo=s||null,this.req=new ec().on("error",Ze.nop),this.ret=new Ck({readableObjectMode:A.objectMode,autoDestroy:!0,read:()=>{let{body:a}=this;a?.resume&&a.resume()},write:(a,c,g)=>{let{req:l}=this;l.push(a,c)||l._readableState.destroyed?g():l[cr]=g},destroy:(a,c)=>{let{body:g,req:l,res:Q,ret:I,abort:E}=this;!a&&!I._readableState.endEmitted&&(a=new $a),E&&a&&E(),Ze.destroy(g,a),Ze.destroy(l,a),Ze.destroy(Q,a),wk(this),c(a)}}).on("prefinish",()=>{let{req:a}=this;a.push(null)}),this.res=null,pk(this,r)}onConnect(A,t){let{ret:r,res:n}=this;if(this.reason){A(this.reason);return}FI(!n,"pipeline cannot be retried"),FI(!r.destroyed),this.abort=A,this.context=t}onHeaders(A,t,r){let{opaque:n,handler:i,context:s}=this;if(A<200){if(this.onInfo){let a=this.responseHeaders==="raw"?Ze.parseRawHeaders(t):Ze.parseHeaders(t);this.onInfo({statusCode:A,headers:a})}return}this.res=new Ac(r);let o;try{this.handler=null;let a=this.responseHeaders==="raw"?Ze.parseRawHeaders(t):Ze.parseHeaders(t);o=this.runInAsyncScope(i,null,{statusCode:A,headers:a,opaque:n,body:this.res,context:s})}catch(a){throw this.res.on("error",Ze.nop),a}if(!o||typeof o.on!="function")throw new dk("expected Readable");o.on("data",a=>{let{ret:c,body:g}=this;!c.push(a)&&g.pause&&g.pause()}).on("error",a=>{let{ret:c}=this;Ze.destroy(c,a)}).on("end",()=>{let{ret:a}=this;a.push(null)}).on("close",()=>{let{ret:a}=this;a._readableState.ended||Ze.destroy(a,new $a)}),this.body=o}onData(A){let{res:t}=this;return t.push(A)}onComplete(A){let{res:t}=this;t.push(null)}onError(A){let{ret:t}=this;this.handler=null,Ze.destroy(t,A)}};function yk(e,A){try{let t=new tc(e,A);return this.dispatch({...e,body:t.req},t),t.ret}catch(t){return new hk().destroy(t)}}RI.exports=yk});var TI=f((jT,LI)=>{"use strict";var{InvalidArgumentError:rc,SocketError:mk}=V(),{AsyncResource:Dk}=d("node:async_hooks"),SI=x(),{addSignal:Fk,removeSignal:NI}=an(),MI=d("node:assert"),nc=class extends Dk{constructor(A,t){if(!A||typeof A!="object")throw new rc("invalid opts");if(typeof t!="function")throw new rc("invalid callback");let{signal:r,opaque:n,responseHeaders:i}=A;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new rc("signal must be an EventEmitter or EventTarget");super("UNDICI_UPGRADE"),this.responseHeaders=i||null,this.opaque=n||null,this.callback=t,this.abort=null,this.context=null,Fk(this,r)}onConnect(A,t){if(this.reason){A(this.reason);return}MI(this.callback),this.abort=A,this.context=null}onHeaders(){throw new mk("bad upgrade",null)}onUpgrade(A,t,r){MI(A===101);let{callback:n,opaque:i,context:s}=this;NI(this),this.callback=null;let o=this.responseHeaders==="raw"?SI.parseRawHeaders(t):SI.parseHeaders(t);this.runInAsyncScope(n,null,null,{headers:o,socket:r,opaque:i,context:s})}onError(A){let{callback:t,opaque:r}=this;NI(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,A,{opaque:r})}))}};function UI(e,A){if(A===void 0)return new Promise((t,r)=>{UI.call(this,e,(n,i)=>n?r(n):t(i))});try{let t=new nc(e,A);this.dispatch({...e,method:e.method||"GET",upgrade:e.protocol||"Websocket"},t)}catch(t){if(typeof A!="function")throw t;let r=e?.opaque;queueMicrotask(()=>A(t,{opaque:r}))}}LI.exports=UI});var JI=f(($T,vI)=>{"use strict";var kk=d("node:assert"),{AsyncResource:Rk}=d("node:async_hooks"),{InvalidArgumentError:ic,SocketError:bk}=V(),xI=x(),{addSignal:Sk,removeSignal:GI}=an(),sc=class extends Rk{constructor(A,t){if(!A||typeof A!="object")throw new ic("invalid opts");if(typeof t!="function")throw new ic("invalid callback");let{signal:r,opaque:n,responseHeaders:i}=A;if(r&&typeof r.on!="function"&&typeof r.addEventListener!="function")throw new ic("signal must be an EventEmitter or EventTarget");super("UNDICI_CONNECT"),this.opaque=n||null,this.responseHeaders=i||null,this.callback=t,this.abort=null,Sk(this,r)}onConnect(A,t){if(this.reason){A(this.reason);return}kk(this.callback),this.abort=A,this.context=t}onHeaders(){throw new bk("bad connect",null)}onUpgrade(A,t,r){let{callback:n,opaque:i,context:s}=this;GI(this),this.callback=null;let o=t;o!=null&&(o=this.responseHeaders==="raw"?xI.parseRawHeaders(t):xI.parseHeaders(t)),this.runInAsyncScope(n,null,null,{statusCode:A,headers:o,socket:r,opaque:i,context:s})}onError(A){let{callback:t,opaque:r}=this;GI(this),t&&(this.callback=null,queueMicrotask(()=>{this.runInAsyncScope(t,null,A,{opaque:r})}))}};function YI(e,A){if(A===void 0)return new Promise((t,r)=>{YI.call(this,e,(n,i)=>n?r(n):t(i))});try{let t=new sc(e,A);this.dispatch({...e,method:"CONNECT"},t)}catch(t){if(typeof A!="function")throw t;let r=e?.opaque;queueMicrotask(()=>A(t,{opaque:r}))}}vI.exports=YI});var HI=f((ex,gr)=>{"use strict";gr.exports.request=hI();gr.exports.stream=DI();gr.exports.pipeline=bI();gr.exports.upgrade=TI();gr.exports.connect=JI()});var ac=f((Ax,qI)=>{"use strict";var{UndiciError:Nk}=V(),VI=Symbol.for("undici.error.UND_MOCK_ERR_MOCK_NOT_MATCHED"),oc=class e extends Nk{constructor(A){super(A),Error.captureStackTrace(this,e),this.name="MockNotMatchedError",this.message=A||"The request does not match any registered mock dispatches",this.code="UND_MOCK_ERR_MOCK_NOT_MATCHED"}static[Symbol.hasInstance](A){return A&&A[VI]===!0}[VI]=!0};qI.exports={MockNotMatchedError:oc}});var lr=f((tx,WI)=>{"use strict";WI.exports={kAgent:Symbol("agent"),kOptions:Symbol("options"),kFactory:Symbol("factory"),kDispatches:Symbol("dispatches"),kDispatchKey:Symbol("dispatch key"),kDefaultHeaders:Symbol("default headers"),kDefaultTrailers:Symbol("default trailers"),kContentLength:Symbol("content length"),kMockAgent:Symbol("mock agent"),kMockAgentSet:Symbol("mock agent set"),kMockAgentGet:Symbol("mock agent get"),kMockDispatch:Symbol("mock dispatch"),kClose:Symbol("close"),kOriginalClose:Symbol("original agent close"),kOrigin:Symbol("origin"),kIsMockActive:Symbol("is mock active"),kNetConnect:Symbol("net connect"),kGetNetConnect:Symbol("get net connect"),kConnected:Symbol("connected")}});var gn=f((rx,Au)=>{"use strict";var{MockNotMatchedError:dt}=ac(),{kDispatches:Li,kMockAgent:Mk,kOriginalDispatch:Uk,kOrigin:Lk,kGetNetConnect:Tk}=lr(),{buildURL:xk}=x(),{STATUS_CODES:Gk}=d("node:http"),{types:{isPromise:Yk}}=d("node:util");function RA(e,A){return typeof e=="string"?e===A:e instanceof RegExp?e.test(A):typeof e=="function"?e(A)===!0:!1}function OI(e){return Object.fromEntries(Object.entries(e).map(([A,t])=>[A.toLocaleLowerCase(),t]))}function _I(e,A){if(Array.isArray(e)){for(let t=0;t<e.length;t+=2)if(e[t].toLocaleLowerCase()===A.toLocaleLowerCase())return e[t+1];return}else return typeof e.get=="function"?e.get(A):OI(e)[A.toLocaleLowerCase()]}function lc(e){let A=e.slice(),t=[];for(let r=0;r<A.length;r+=2)t.push([A[r],A[r+1]]);return Object.fromEntries(t)}function zI(e,A){if(typeof e.headers=="function")return Array.isArray(A)&&(A=lc(A)),e.headers(A?OI(A):{});if(typeof e.headers>"u")return!0;if(typeof A!="object"||typeof e.headers!="object")return!1;for(let[t,r]of Object.entries(e.headers)){let n=_I(A,t);if(!RA(r,n))return!1}return!0}function PI(e){if(typeof e!="string")return e;let A=e.split("?");if(A.length!==2)return e;let t=new URLSearchParams(A.pop());return t.sort(),[...A,t.toString()].join("?")}function vk(e,{path:A,method:t,body:r,headers:n}){let i=RA(e.path,A),s=RA(e.method,t),o=typeof e.body<"u"?RA(e.body,r):!0,a=zI(e,n);return i&&s&&o&&a}function ZI(e){return Buffer.isBuffer(e)||e instanceof Uint8Array||e instanceof ArrayBuffer?e:typeof e=="object"?JSON.stringify(e):e.toString()}function KI(e,A){let t=A.query?xk(A.path,A.query):A.path,r=typeof t=="string"?PI(t):t,n=e.filter(({consumed:i})=>!i).filter(({path:i})=>RA(PI(i),r));if(n.length===0)throw new dt(`Mock dispatch not matched for path '${r}'`);if(n=n.filter(({method:i})=>RA(i,A.method)),n.length===0)throw new dt(`Mock dispatch not matched for method '${A.method}' on path '${r}'`);if(n=n.filter(({body:i})=>typeof i<"u"?RA(i,A.body):!0),n.length===0)throw new dt(`Mock dispatch not matched for body '${A.body}' on path '${r}'`);if(n=n.filter(i=>zI(i,A.headers)),n.length===0){let i=typeof A.headers=="object"?JSON.stringify(A.headers):A.headers;throw new dt(`Mock dispatch not matched for headers '${i}' on path '${r}'`)}return n[0]}function Jk(e,A,t){let r={timesInvoked:0,times:1,persist:!1,consumed:!1},n=typeof t=="function"?{callback:t}:{...t},i={...r,...A,pending:!0,data:{error:null,...n}};return e.push(i),i}function cc(e,A){let t=e.findIndex(r=>r.consumed?vk(r,A):!1);t!==-1&&e.splice(t,1)}function XI(e){let{path:A,method:t,body:r,headers:n,query:i}=e;return{path:A,method:t,body:r,headers:n,query:i}}function gc(e){let A=Object.keys(e),t=[];for(let r=0;r<A.length;++r){let n=A[r],i=e[n],s=Buffer.from(`${n}`);if(Array.isArray(i))for(let o=0;o<i.length;++o)t.push(s,Buffer.from(`${i[o]}`));else t.push(s,Buffer.from(`${i}`))}return t}function jI(e){return Gk[e]||"unknown"}async function Hk(e){let A=[];for await(let t of e)A.push(t);return Buffer.concat(A).toString("utf8")}function $I(e,A){let t=XI(e),r=KI(this[Li],t);r.timesInvoked++,r.data.callback&&(r.data={...r.data,...r.data.callback(e)});let{data:{statusCode:n,data:i,headers:s,trailers:o,error:a},delay:c,persist:g}=r,{timesInvoked:l,times:Q}=r;if(r.consumed=!g&&l>=Q,r.pending=l<Q,a!==null)return cc(this[Li],t),A.onError(a),!0;typeof c=="number"&&c>0?setTimeout(()=>{I(this[Li])},c):I(this[Li]);function I(u,C=i){let B=Array.isArray(e.headers)?lc(e.headers):e.headers,h=typeof C=="function"?C({...e,headers:B}):C;if(Yk(h)){h.then(J=>I(u,J));return}let m=ZI(h),p=gc(s),L=gc(o);A.onConnect?.(J=>A.onError(J),null),A.onHeaders?.(n,p,E,jI(n)),A.onData?.(Buffer.from(m)),A.onComplete?.(L),cc(u,t)}function E(){}return!0}function Vk(){let e=this[Mk],A=this[Lk],t=this[Uk];return function(n,i){if(e.isMockActive)try{$I.call(this,n,i)}catch(s){if(s instanceof dt){let o=e[Tk]();if(o===!1)throw new dt(`${s.message}: subsequent request to origin ${A} was not allowed (net.connect disabled)`);if(eu(o,A))t.call(this,n,i);else throw new dt(`${s.message}: subsequent request to origin ${A} was not allowed (net.connect is not enabled for this origin)`)}else throw s}else t.call(this,n,i)}}function eu(e,A){let t=new URL(A);return e===!0?!0:!!(Array.isArray(e)&&e.some(r=>RA(r,t.host)))}function qk(e){if(e){let{agent:A,...t}=e;return t}}Au.exports={getResponseData:ZI,getMockDispatch:KI,addMockDispatch:Jk,deleteMockDispatch:cc,buildKey:XI,generateKeyValues:gc,matchValue:RA,getResponse:Hk,getStatusText:jI,mockDispatch:$I,buildMockDispatch:Vk,checkNetConnect:eu,buildMockOptions:qk,getHeaderByName:_I,buildHeadersFromArray:lc}});var hc=f((nx,Cc)=>{"use strict";var{getResponseData:Wk,buildKey:Pk,addMockDispatch:Qc}=gn(),{kDispatches:Ti,kDispatchKey:xi,kDefaultHeaders:Ec,kDefaultTrailers:Bc,kContentLength:Ic,kMockDispatch:Gi}=lr(),{InvalidArgumentError:uA}=V(),{buildURL:Ok}=x(),Qr=class{constructor(A){this[Gi]=A}delay(A){if(typeof A!="number"||!Number.isInteger(A)||A<=0)throw new uA("waitInMs must be a valid integer > 0");return this[Gi].delay=A,this}persist(){return this[Gi].persist=!0,this}times(A){if(typeof A!="number"||!Number.isInteger(A)||A<=0)throw new uA("repeatTimes must be a valid integer > 0");return this[Gi].times=A,this}},uc=class{constructor(A,t){if(typeof A!="object")throw new uA("opts must be an object");if(typeof A.path>"u")throw new uA("opts.path must be defined");if(typeof A.method>"u"&&(A.method="GET"),typeof A.path=="string")if(A.query)A.path=Ok(A.path,A.query);else{let r=new URL(A.path,"data://");A.path=r.pathname+r.search}typeof A.method=="string"&&(A.method=A.method.toUpperCase()),this[xi]=Pk(A),this[Ti]=t,this[Ec]={},this[Bc]={},this[Ic]=!1}createMockScopeDispatchData({statusCode:A,data:t,responseOptions:r}){let n=Wk(t),i=this[Ic]?{"content-length":n.length}:{},s={...this[Ec],...i,...r.headers},o={...this[Bc],...r.trailers};return{statusCode:A,data:t,headers:s,trailers:o}}validateReplyParameters(A){if(typeof A.statusCode>"u")throw new uA("statusCode must be defined");if(typeof A.responseOptions!="object"||A.responseOptions===null)throw new uA("responseOptions must be an object")}reply(A){if(typeof A=="function"){let i=o=>{let a=A(o);if(typeof a!="object"||a===null)throw new uA("reply options callback must return an object");let c={data:"",responseOptions:{},...a};return this.validateReplyParameters(c),{...this.createMockScopeDispatchData(c)}},s=Qc(this[Ti],this[xi],i);return new Qr(s)}let t={statusCode:A,data:arguments[1]===void 0?"":arguments[1],responseOptions:arguments[2]===void 0?{}:arguments[2]};this.validateReplyParameters(t);let r=this.createMockScopeDispatchData(t),n=Qc(this[Ti],this[xi],r);return new Qr(n)}replyWithError(A){if(typeof A>"u")throw new uA("error must be defined");let t=Qc(this[Ti],this[xi],{error:A});return new Qr(t)}defaultReplyHeaders(A){if(typeof A>"u")throw new uA("headers must be defined");return this[Ec]=A,this}defaultReplyTrailers(A){if(typeof A>"u")throw new uA("trailers must be defined");return this[Bc]=A,this}replyContentLength(){return this[Ic]=!0,this}};Cc.exports.MockInterceptor=uc;Cc.exports.MockScope=Qr});var pc=f((ix,au)=>{"use strict";var{promisify:_k}=d("node:util"),zk=er(),{buildMockDispatch:Zk}=gn(),{kDispatches:tu,kMockAgent:ru,kClose:nu,kOriginalClose:iu,kOrigin:su,kOriginalDispatch:Kk,kConnected:dc}=lr(),{MockInterceptor:Xk}=hc(),ou=te(),{InvalidArgumentError:jk}=V(),fc=class extends zk{constructor(A,t){if(super(A,t),!t||!t.agent||typeof t.agent.dispatch!="function")throw new jk("Argument opts.agent must implement Agent");this[ru]=t.agent,this[su]=A,this[tu]=[],this[dc]=1,this[Kk]=this.dispatch,this[iu]=this.close.bind(this),this.dispatch=Zk.call(this),this.close=this[nu]}get[ou.kConnected](){return this[dc]}intercept(A){return new Xk(A,this[tu])}async[nu](){await _k(this[iu])(),this[dc]=0,this[ru][ou.kClients].delete(this[su])}};au.exports=fc});var mc=f((sx,Iu)=>{"use strict";var{promisify:$k}=d("node:util"),eR=Ar(),{buildMockDispatch:AR}=gn(),{kDispatches:cu,kMockAgent:gu,kClose:lu,kOriginalClose:Qu,kOrigin:Eu,kOriginalDispatch:tR,kConnected:wc}=lr(),{MockInterceptor:rR}=hc(),Bu=te(),{InvalidArgumentError:nR}=V(),yc=class extends eR{constructor(A,t){if(super(A,t),!t||!t.agent||typeof t.agent.dispatch!="function")throw new nR("Argument opts.agent must implement Agent");this[gu]=t.agent,this[Eu]=A,this[cu]=[],this[wc]=1,this[tR]=this.dispatch,this[Qu]=this.close.bind(this),this.dispatch=AR.call(this),this.close=this[lu]}get[Bu.kConnected](){return this[wc]}intercept(A){return new rR(A,this[cu])}async[lu](){await $k(this[Qu])(),this[wc]=0,this[gu][Bu.kClients].delete(this[Eu])}};Iu.exports=yc});var Cu=f((ax,uu)=>{"use strict";var iR={pronoun:"it",is:"is",was:"was",this:"this"},sR={pronoun:"they",is:"are",was:"were",this:"these"};uu.exports=class{constructor(A,t){this.singular=A,this.plural=t}pluralize(A){let t=A===1,r=t?iR:sR,n=t?this.singular:this.plural;return{...r,count:A,noun:n}}}});var du=f((gx,hu)=>{"use strict";var{Transform:oR}=d("node:stream"),{Console:aR}=d("node:console"),cR=process.versions.icu?"\u2705":"Y ",gR=process.versions.icu?"\u274C":"N ";hu.exports=class{constructor({disableColors:A}={}){this.transform=new oR({transform(t,r,n){n(null,t)}}),this.logger=new aR({stdout:this.transform,inspectOptions:{colors:!A&&!process.env.CI}})}format(A){let t=A.map(({method:r,path:n,data:{statusCode:i},persist:s,times:o,timesInvoked:a,origin:c})=>({Method:r,Origin:c,Path:n,"Status code":i,Persistent:s?cR:gR,Invocations:a,Remaining:s?1/0:o-a}));return this.logger.table(t),this.transform.read().toString()}}});var yu=f((lx,wu)=>{"use strict";var{kClients:ft}=te(),lR=tr(),{kAgent:Dc,kMockAgentSet:Yi,kMockAgentGet:fu,kDispatches:Fc,kIsMockActive:vi,kNetConnect:pt,kGetNetConnect:QR,kOptions:Ji,kFactory:Hi}=lr(),ER=pc(),BR=mc(),{matchValue:IR,buildMockOptions:uR}=gn(),{InvalidArgumentError:pu,UndiciError:CR}=V(),hR=Ur(),dR=Cu(),fR=du(),kc=class extends hR{constructor(A){if(super(A),this[pt]=!0,this[vi]=!0,A?.agent&&typeof A.agent.dispatch!="function")throw new pu("Argument opts.agent must implement Agent");let t=A?.agent?A.agent:new lR(A);this[Dc]=t,this[ft]=t[ft],this[Ji]=uR(A)}get(A){let t=this[fu](A);return t||(t=this[Hi](A),this[Yi](A,t)),t}dispatch(A,t){return this.get(A.origin),this[Dc].dispatch(A,t)}async close(){await this[Dc].close(),this[ft].clear()}deactivate(){this[vi]=!1}activate(){this[vi]=!0}enableNetConnect(A){if(typeof A=="string"||typeof A=="function"||A instanceof RegExp)Array.isArray(this[pt])?this[pt].push(A):this[pt]=[A];else if(typeof A>"u")this[pt]=!0;else throw new pu("Unsupported matcher. Must be one of String|Function|RegExp.")}disableNetConnect(){this[pt]=!1}get isMockActive(){return this[vi]}[Yi](A,t){this[ft].set(A,t)}[Hi](A){let t=Object.assign({agent:this},this[Ji]);return this[Ji]&&this[Ji].connections===1?new ER(A,t):new BR(A,t)}[fu](A){let t=this[ft].get(A);if(t)return t;if(typeof A!="string"){let r=this[Hi]("http://localhost:9999");return this[Yi](A,r),r}for(let[r,n]of Array.from(this[ft]))if(n&&typeof r!="string"&&IR(r,A)){let i=this[Hi](A);return this[Yi](A,i),i[Fc]=n[Fc],i}}[QR](){return this[pt]}pendingInterceptors(){let A=this[ft];return Array.from(A.entries()).flatMap(([t,r])=>r[Fc].map(n=>({...n,origin:t}))).filter(({pending:t})=>t)}assertNoPendingInterceptors({pendingInterceptorsFormatter:A=new fR}={}){let t=this.pendingInterceptors();if(t.length===0)return;let r=new dR("interceptor","interceptors").pluralize(t.length);throw new CR(`
|
|
41
|
-
${r.count} ${r.noun} ${r.is} pending:
|
|
42
|
-
|
|
43
|
-
${A.format(t)}
|
|
44
|
-
`.trim())}};wu.exports=kc});var Vi=f((Qx,ku)=>{"use strict";var mu=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:pR}=V(),wR=tr();Fu()===void 0&&Du(new wR);function Du(e){if(!e||typeof e.dispatch!="function")throw new pR("Argument agent must implement Agent");Object.defineProperty(globalThis,mu,{value:e,writable:!0,enumerable:!1,configurable:!1})}function Fu(){return globalThis[mu]}ku.exports={setGlobalDispatcher:Du,getGlobalDispatcher:Fu}});var qi=f((Bx,Ru)=>{"use strict";Ru.exports=class{#e;constructor(A){if(typeof A!="object"||A===null)throw new TypeError("handler must be an object");this.#e=A}onConnect(...A){return this.#e.onConnect?.(...A)}onError(...A){return this.#e.onError?.(...A)}onUpgrade(...A){return this.#e.onUpgrade?.(...A)}onResponseStarted(...A){return this.#e.onResponseStarted?.(...A)}onHeaders(...A){return this.#e.onHeaders?.(...A)}onData(...A){return this.#e.onData?.(...A)}onComplete(...A){return this.#e.onComplete?.(...A)}onBodySent(...A){return this.#e.onBodySent?.(...A)}}});var Su=f((Ix,bu)=>{"use strict";var yR=pi();bu.exports=e=>{let A=e?.maxRedirections;return t=>function(n,i){let{maxRedirections:s=A,...o}=n;if(!s)return t(n,i);let a=new yR(t,s,n,i);return t(o,a)}}});var Mu=f((ux,Nu)=>{"use strict";var mR=Mi();Nu.exports=e=>A=>function(r,n){return A(r,new mR({...r,retryOptions:{...e,...r.retryOptions}},{handler:n,dispatch:A}))}});var Lu=f((Cx,Uu)=>{"use strict";var DR=x(),{InvalidArgumentError:FR,RequestAbortedError:kR}=V(),RR=qi(),Rc=class extends RR{#e=1024*1024;#A=null;#t=!1;#i=!1;#n=0;#r=null;#s=null;constructor({maxSize:A},t){if(super(t),A!=null&&(!Number.isFinite(A)||A<1))throw new FR("maxSize must be a number greater than 0");this.#e=A??this.#e,this.#s=t}onConnect(A){this.#A=A,this.#s.onConnect(this.#o.bind(this))}#o(A){this.#i=!0,this.#r=A}onHeaders(A,t,r,n){let s=DR.parseHeaders(t)["content-length"];if(s!=null&&s>this.#e)throw new kR(`Response size (${s}) larger than maxSize (${this.#e})`);return this.#i?!0:this.#s.onHeaders(A,t,r,n)}onError(A){this.#t||(A=this.#r??A,this.#s.onError(A))}onData(A){return this.#n=this.#n+A.length,this.#n>=this.#e&&(this.#t=!0,this.#i?this.#s.onError(this.#r):this.#s.onComplete([])),!0}onComplete(A){if(!this.#t){if(this.#i){this.#s.onError(this.reason);return}this.#s.onComplete(A)}}};function bR({maxSize:e}={maxSize:1024*1024}){return A=>function(r,n){let{dumpMaxSize:i=e}=r,s=new Rc({maxSize:i},n);return A(r,s)}}Uu.exports=bR});var Gu=f((hx,xu)=>{"use strict";var{isIP:SR}=d("node:net"),{lookup:NR}=d("node:dns"),MR=qi(),{InvalidArgumentError:Er,InformationalError:UR}=V(),Tu=Math.pow(2,31)-1,bc=class{#e=0;#A=0;#t=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(A){this.#e=A.maxTTL,this.#A=A.maxItems,this.dualStack=A.dualStack,this.affinity=A.affinity,this.lookup=A.lookup??this.#i,this.pick=A.pick??this.#n}get full(){return this.#t.size===this.#A}runLookup(A,t,r){let n=this.#t.get(A.hostname);if(n==null&&this.full){r(null,A.origin);return}let i={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...t.dns,maxTTL:this.#e,maxItems:this.#A};if(n==null)this.lookup(A,i,(s,o)=>{if(s||o==null||o.length===0){r(s??new UR("No DNS entries found"));return}this.setRecords(A,o);let a=this.#t.get(A.hostname),c=this.pick(A,a,i.affinity),g;typeof c.port=="number"?g=`:${c.port}`:A.port!==""?g=`:${A.port}`:g="",r(null,`${A.protocol}//${c.family===6?`[${c.address}]`:c.address}${g}`)});else{let s=this.pick(A,n,i.affinity);if(s==null){this.#t.delete(A.hostname),this.runLookup(A,t,r);return}let o;typeof s.port=="number"?o=`:${s.port}`:A.port!==""?o=`:${A.port}`:o="",r(null,`${A.protocol}//${s.family===6?`[${s.address}]`:s.address}${o}`)}}#i(A,t,r){NR(A.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(n,i)=>{if(n)return r(n);let s=new Map;for(let o of i)s.set(`${o.address}:${o.family}`,o);r(null,s.values())})}#n(A,t,r){let n=null,{records:i,offset:s}=t,o;if(this.dualStack?(r==null&&(s==null||s===Tu?(t.offset=0,r=4):(t.offset++,r=(t.offset&1)===1?6:4)),i[r]!=null&&i[r].ips.length>0?o=i[r]:o=i[r===4?6:4]):o=i[r],o==null||o.ips.length===0)return n;o.offset==null||o.offset===Tu?o.offset=0:o.offset++;let a=o.offset%o.ips.length;return n=o.ips[a]??null,n==null?n:Date.now()-n.timestamp>n.ttl?(o.ips.splice(a,1),this.pick(A,t,r)):n}setRecords(A,t){let r=Date.now(),n={records:{4:null,6:null}};for(let i of t){i.timestamp=r,typeof i.ttl=="number"?i.ttl=Math.min(i.ttl,this.#e):i.ttl=this.#e;let s=n.records[i.family]??{ips:[]};s.ips.push(i),n.records[i.family]=s}this.#t.set(A.hostname,n)}getHandler(A,t){return new Sc(this,A,t)}},Sc=class extends MR{#e=null;#A=null;#t=null;#i=null;#n=null;constructor(A,{origin:t,handler:r,dispatch:n},i){super(r),this.#n=t,this.#i=r,this.#A={...i},this.#e=A,this.#t=n}onError(A){switch(A.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){this.#e.runLookup(this.#n,this.#A,(t,r)=>{if(t)return this.#i.onError(t);let n={...this.#A,origin:r};this.#t(n,this)});return}this.#i.onError(A);return}case"ENOTFOUND":this.#e.deleteRecord(this.#n);default:this.#i.onError(A);break}}};xu.exports=e=>{if(e?.maxTTL!=null&&(typeof e?.maxTTL!="number"||e?.maxTTL<0))throw new Er("Invalid maxTTL. Must be a positive number");if(e?.maxItems!=null&&(typeof e?.maxItems!="number"||e?.maxItems<1))throw new Er("Invalid maxItems. Must be a positive number and greater than zero");if(e?.affinity!=null&&e?.affinity!==4&&e?.affinity!==6)throw new Er("Invalid affinity. Must be either 4 or 6");if(e?.dualStack!=null&&typeof e?.dualStack!="boolean")throw new Er("Invalid dualStack. Must be a boolean");if(e?.lookup!=null&&typeof e?.lookup!="function")throw new Er("Invalid lookup. Must be a function");if(e?.pick!=null&&typeof e?.pick!="function")throw new Er("Invalid pick. Must be a function");let A=e?.dualStack??!0,t;A?t=e?.affinity??null:t=e?.affinity??4;let r={maxTTL:e?.maxTTL??1e4,lookup:e?.lookup??null,pick:e?.pick??null,dualStack:A,affinity:t,maxItems:e?.maxItems??1/0},n=new bc(r);return i=>function(o,a){let c=o.origin.constructor===URL?o.origin:new URL(o.origin);return SR(c.hostname)!==0?i(o,a):(n.runLookup(c,o,(g,l)=>{if(g)return a.onError(g);let Q=null;Q={...o,servername:c.hostname,origin:l,headers:{host:c.hostname,...o.headers}},i(Q,n.getHandler({origin:c,dispatch:i,handler:a},o))}),!0)}}});var wt=f((dx,Wu)=>{"use strict";var{kConstruct:LR}=te(),{kEnumerableProperty:Br}=x(),{iteratorMixin:TR,isValidHeaderName:ln,isValidHeaderValue:vu}=Ue(),{webidl:H}=he(),Nc=d("node:assert"),Wi=d("node:util"),le=Symbol("headers map"),Ge=Symbol("headers map sorted");function Yu(e){return e===10||e===13||e===9||e===32}function Ju(e){let A=0,t=e.length;for(;t>A&&Yu(e.charCodeAt(t-1));)--t;for(;t>A&&Yu(e.charCodeAt(A));)++A;return A===0&&t===e.length?e:e.substring(A,t)}function Hu(e,A){if(Array.isArray(A))for(let t=0;t<A.length;++t){let r=A[t];if(r.length!==2)throw H.errors.exception({header:"Headers constructor",message:`expected name/value pair to be length 2, found ${r.length}.`});Mc(e,r[0],r[1])}else if(typeof A=="object"&&A!==null){let t=Object.keys(A);for(let r=0;r<t.length;++r)Mc(e,t[r],A[t[r]])}else throw H.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})}function Mc(e,A,t){if(t=Ju(t),ln(A)){if(!vu(t))throw H.errors.invalidArgument({prefix:"Headers.append",value:t,type:"header value"})}else throw H.errors.invalidArgument({prefix:"Headers.append",value:A,type:"header name"});if(qu(e)==="immutable")throw new TypeError("immutable");return Uc(e).append(A,t,!1)}function Vu(e,A){return e[0]<A[0]?-1:1}var Pi=class e{cookies=null;constructor(A){A instanceof e?(this[le]=new Map(A[le]),this[Ge]=A[Ge],this.cookies=A.cookies===null?null:[...A.cookies]):(this[le]=new Map(A),this[Ge]=null)}contains(A,t){return this[le].has(t?A:A.toLowerCase())}clear(){this[le].clear(),this[Ge]=null,this.cookies=null}append(A,t,r){this[Ge]=null;let n=r?A:A.toLowerCase(),i=this[le].get(n);if(i){let s=n==="cookie"?"; ":", ";this[le].set(n,{name:i.name,value:`${i.value}${s}${t}`})}else this[le].set(n,{name:A,value:t});n==="set-cookie"&&(this.cookies??=[]).push(t)}set(A,t,r){this[Ge]=null;let n=r?A:A.toLowerCase();n==="set-cookie"&&(this.cookies=[t]),this[le].set(n,{name:A,value:t})}delete(A,t){this[Ge]=null,t||(A=A.toLowerCase()),A==="set-cookie"&&(this.cookies=null),this[le].delete(A)}get(A,t){return this[le].get(t?A:A.toLowerCase())?.value??null}*[Symbol.iterator](){for(let{0:A,1:{value:t}}of this[le])yield[A,t]}get entries(){let A={};if(this[le].size!==0)for(let{name:t,value:r}of this[le].values())A[t]=r;return A}rawValues(){return this[le].values()}get entriesList(){let A=[];if(this[le].size!==0)for(let{0:t,1:{name:r,value:n}}of this[le])if(t==="set-cookie")for(let i of this.cookies)A.push([r,i]);else A.push([r,n]);return A}toSortedArray(){let A=this[le].size,t=new Array(A);if(A<=32){if(A===0)return t;let r=this[le][Symbol.iterator](),n=r.next().value;t[0]=[n[0],n[1].value],Nc(n[1].value!==null);for(let i=1,s=0,o=0,a=0,c=0,g,l;i<A;++i){for(l=r.next().value,g=t[i]=[l[0],l[1].value],Nc(g[1]!==null),a=0,o=i;a<o;)c=a+(o-a>>1),t[c][0]<=g[0]?a=c+1:o=c;if(i!==c){for(s=i;s>a;)t[s]=t[--s];t[a]=g}}if(!r.next().done)throw new TypeError("Unreachable");return t}else{let r=0;for(let{0:n,1:{value:i}}of this[le])t[r++]=[n,i],Nc(i!==null);return t.sort(Vu)}}},iA=class e{#e;#A;constructor(A=void 0){H.util.markAsUncloneable(this),A!==LR&&(this.#A=new Pi,this.#e="none",A!==void 0&&(A=H.converters.HeadersInit(A,"Headers contructor","init"),Hu(this,A)))}append(A,t){H.brandCheck(this,e),H.argumentLengthCheck(arguments,2,"Headers.append");let r="Headers.append";return A=H.converters.ByteString(A,r,"name"),t=H.converters.ByteString(t,r,"value"),Mc(this,A,t)}delete(A){if(H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"Headers.delete"),A=H.converters.ByteString(A,"Headers.delete","name"),!ln(A))throw H.errors.invalidArgument({prefix:"Headers.delete",value:A,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#A.contains(A,!1)&&this.#A.delete(A,!1)}get(A){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"Headers.get");let t="Headers.get";if(A=H.converters.ByteString(A,t,"name"),!ln(A))throw H.errors.invalidArgument({prefix:t,value:A,type:"header name"});return this.#A.get(A,!1)}has(A){H.brandCheck(this,e),H.argumentLengthCheck(arguments,1,"Headers.has");let t="Headers.has";if(A=H.converters.ByteString(A,t,"name"),!ln(A))throw H.errors.invalidArgument({prefix:t,value:A,type:"header name"});return this.#A.contains(A,!1)}set(A,t){H.brandCheck(this,e),H.argumentLengthCheck(arguments,2,"Headers.set");let r="Headers.set";if(A=H.converters.ByteString(A,r,"name"),t=H.converters.ByteString(t,r,"value"),t=Ju(t),ln(A)){if(!vu(t))throw H.errors.invalidArgument({prefix:r,value:t,type:"header value"})}else throw H.errors.invalidArgument({prefix:r,value:A,type:"header name"});if(this.#e==="immutable")throw new TypeError("immutable");this.#A.set(A,t,!1)}getSetCookie(){H.brandCheck(this,e);let A=this.#A.cookies;return A?[...A]:[]}get[Ge](){if(this.#A[Ge])return this.#A[Ge];let A=[],t=this.#A.toSortedArray(),r=this.#A.cookies;if(r===null||r.length===1)return this.#A[Ge]=t;for(let n=0;n<t.length;++n){let{0:i,1:s}=t[n];if(i==="set-cookie")for(let o=0;o<r.length;++o)A.push([i,r[o]]);else A.push([i,s])}return this.#A[Ge]=A}[Wi.inspect.custom](A,t){return t.depth??=A,`Headers ${Wi.formatWithOptions(t,this.#A.entries)}`}static getHeadersGuard(A){return A.#e}static setHeadersGuard(A,t){A.#e=t}static getHeadersList(A){return A.#A}static setHeadersList(A,t){A.#A=t}},{getHeadersGuard:qu,setHeadersGuard:xR,getHeadersList:Uc,setHeadersList:GR}=iA;Reflect.deleteProperty(iA,"getHeadersGuard");Reflect.deleteProperty(iA,"setHeadersGuard");Reflect.deleteProperty(iA,"getHeadersList");Reflect.deleteProperty(iA,"setHeadersList");TR("Headers",iA,Ge,0,1);Object.defineProperties(iA.prototype,{append:Br,delete:Br,get:Br,has:Br,set:Br,getSetCookie:Br,[Symbol.toStringTag]:{value:"Headers",configurable:!0},[Wi.inspect.custom]:{enumerable:!1}});H.converters.HeadersInit=function(e,A,t){if(H.util.Type(e)==="Object"){let r=Reflect.get(e,Symbol.iterator);if(!Wi.types.isProxy(e)&&r===iA.prototype.entries)try{return Uc(e).entriesList}catch{}return typeof r=="function"?H.converters["sequence<sequence<ByteString>>"](e,A,t,r.bind(e)):H.converters["record<ByteString, ByteString>"](e,A,t)}throw H.errors.conversionFailed({prefix:"Headers constructor",argument:"Argument 1",types:["sequence<sequence<ByteString>>","record<ByteString, ByteString>"]})};Wu.exports={fill:Hu,compareHeaderName:Vu,Headers:iA,HeadersList:Pi,getHeadersGuard:qu,setHeadersGuard:xR,setHeadersList:GR,getHeadersList:Uc}});var En=f((fx,tC)=>{"use strict";var{Headers:Ku,HeadersList:Pu,fill:YR,getHeadersGuard:vR,setHeadersGuard:Xu,setHeadersList:ju}=wt(),{extractBody:Ou,cloneBody:JR,mixinBody:HR,hasFinalizationRegistry:$u,streamRegistry:eC,bodyUnusable:VR}=_t(),Lc=x(),_u=d("node:util"),{kEnumerableProperty:Ye}=Lc,{isValidReasonPhrase:qR,isCancelled:WR,isAborted:PR,isBlobLike:OR,serializeJavascriptValueToJSONString:_R,isErrorLike:zR,isomorphicEncode:ZR,environmentSettingsObject:KR}=Ue(),{redirectStatusSet:XR,nullBodyStatus:jR}=xr(),{kState:ne,kHeaders:bA}=vA(),{webidl:T}=he(),{FormData:$R}=Vr(),{URLSerializer:zu}=Fe(),{kConstruct:_i}=te(),Tc=d("node:assert"),{types:eb}=d("node:util"),Ab=new TextEncoder("utf-8"),yt=class e{static error(){return Qn(zi(),"immutable")}static json(A,t={}){T.argumentLengthCheck(arguments,1,"Response.json"),t!==null&&(t=T.converters.ResponseInit(t));let r=Ab.encode(_R(A)),n=Ou(r),i=Qn(Ir({}),"response");return Zu(i,t,{body:n[0],type:"application/json"}),i}static redirect(A,t=302){T.argumentLengthCheck(arguments,1,"Response.redirect"),A=T.converters.USVString(A),t=T.converters["unsigned short"](t);let r;try{r=new URL(A,KR.settingsObject.baseUrl)}catch(s){throw new TypeError(`Failed to parse URL from ${A}`,{cause:s})}if(!XR.has(t))throw new RangeError(`Invalid status code ${t}`);let n=Qn(Ir({}),"immutable");n[ne].status=t;let i=ZR(zu(r));return n[ne].headersList.append("location",i,!0),n}constructor(A=null,t={}){if(T.util.markAsUncloneable(this),A===_i)return;A!==null&&(A=T.converters.BodyInit(A)),t=T.converters.ResponseInit(t),this[ne]=Ir({}),this[bA]=new Ku(_i),Xu(this[bA],"response"),ju(this[bA],this[ne].headersList);let r=null;if(A!=null){let[n,i]=Ou(A);r={body:n,type:i}}Zu(this,t,r)}get type(){return T.brandCheck(this,e),this[ne].type}get url(){T.brandCheck(this,e);let A=this[ne].urlList,t=A[A.length-1]??null;return t===null?"":zu(t,!0)}get redirected(){return T.brandCheck(this,e),this[ne].urlList.length>1}get status(){return T.brandCheck(this,e),this[ne].status}get ok(){return T.brandCheck(this,e),this[ne].status>=200&&this[ne].status<=299}get statusText(){return T.brandCheck(this,e),this[ne].statusText}get headers(){return T.brandCheck(this,e),this[bA]}get body(){return T.brandCheck(this,e),this[ne].body?this[ne].body.stream:null}get bodyUsed(){return T.brandCheck(this,e),!!this[ne].body&&Lc.isDisturbed(this[ne].body.stream)}clone(){if(T.brandCheck(this,e),VR(this))throw T.errors.exception({header:"Response.clone",message:"Body has already been consumed."});let A=xc(this[ne]);return $u&&this[ne].body?.stream&&eC.register(this,new WeakRef(this[ne].body.stream)),Qn(A,vR(this[bA]))}[_u.inspect.custom](A,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 ${_u.formatWithOptions(t,r)}`}};HR(yt);Object.defineProperties(yt.prototype,{type:Ye,url:Ye,status:Ye,ok:Ye,redirected:Ye,statusText:Ye,headers:Ye,clone:Ye,body:Ye,bodyUsed:Ye,[Symbol.toStringTag]:{value:"Response",configurable:!0}});Object.defineProperties(yt,{json:Ye,redirect:Ye,error:Ye});function xc(e){if(e.internalResponse)return AC(xc(e.internalResponse),e.type);let A=Ir({...e,body:null});return e.body!=null&&(A.body=JR(A,e.body)),A}function Ir(e){return{aborted:!1,rangeRequested:!1,timingAllowPassed:!1,requestIncludesCredentials:!1,type:"default",status:200,timingInfo:null,cacheState:"",statusText:"",...e,headersList:e?.headersList?new Pu(e?.headersList):new Pu,urlList:e?.urlList?[...e.urlList]:[]}}function zi(e){let A=zR(e);return Ir({type:"error",status:0,error:A?e:new Error(e&&String(e)),aborted:e&&e.name==="AbortError"})}function tb(e){return e.type==="error"&&e.status===0}function Oi(e,A){return A={internalResponse:e,...A},new Proxy(e,{get(t,r){return r in A?A[r]:t[r]},set(t,r,n){return Tc(!(r in A)),t[r]=n,!0}})}function AC(e,A){if(A==="basic")return Oi(e,{type:"basic",headersList:e.headersList});if(A==="cors")return Oi(e,{type:"cors",headersList:e.headersList});if(A==="opaque")return Oi(e,{type:"opaque",urlList:Object.freeze([]),status:0,statusText:"",body:null});if(A==="opaqueredirect")return Oi(e,{type:"opaqueredirect",status:0,statusText:"",headersList:[],body:null});Tc(!1)}function rb(e,A=null){return Tc(WR(e)),PR(e)?zi(Object.assign(new DOMException("The operation was aborted.","AbortError"),{cause:A})):zi(Object.assign(new DOMException("Request was cancelled."),{cause:A}))}function Zu(e,A,t){if(A.status!==null&&(A.status<200||A.status>599))throw new RangeError('init["status"] must be in the range of 200 to 599, inclusive.');if("statusText"in A&&A.statusText!=null&&!qR(String(A.statusText)))throw new TypeError("Invalid statusText");if("status"in A&&A.status!=null&&(e[ne].status=A.status),"statusText"in A&&A.statusText!=null&&(e[ne].statusText=A.statusText),"headers"in A&&A.headers!=null&&YR(e[bA],A.headers),t){if(jR.includes(e.status))throw T.errors.exception({header:"Response constructor",message:`Invalid response status code ${e.status}`});e[ne].body=t.body,t.type!=null&&!e[ne].headersList.contains("content-type",!0)&&e[ne].headersList.append("content-type",t.type,!0)}}function Qn(e,A){let t=new yt(_i);return t[ne]=e,t[bA]=new Ku(_i),ju(t[bA],e.headersList),Xu(t[bA],A),$u&&e.body?.stream&&eC.register(t,new WeakRef(e.body.stream)),t}T.converters.ReadableStream=T.interfaceConverter(ReadableStream);T.converters.FormData=T.interfaceConverter($R);T.converters.URLSearchParams=T.interfaceConverter(URLSearchParams);T.converters.XMLHttpRequestBodyInit=function(e,A,t){return typeof e=="string"?T.converters.USVString(e,A,t):OR(e)?T.converters.Blob(e,A,t,{strict:!1}):ArrayBuffer.isView(e)||eb.isArrayBuffer(e)?T.converters.BufferSource(e,A,t):Lc.isFormDataLike(e)?T.converters.FormData(e,A,t,{strict:!1}):e instanceof URLSearchParams?T.converters.URLSearchParams(e,A,t):T.converters.DOMString(e,A,t)};T.converters.BodyInit=function(e,A,t){return e instanceof ReadableStream?T.converters.ReadableStream(e,A,t):e?.[Symbol.asyncIterator]?e:T.converters.XMLHttpRequestBodyInit(e,A,t)};T.converters.ResponseInit=T.dictionaryConverter([{key:"status",converter:T.converters["unsigned short"],defaultValue:()=>200},{key:"statusText",converter:T.converters.ByteString,defaultValue:()=>""},{key:"headers",converter:T.converters.HeadersInit}]);tC.exports={isNetworkError:tb,makeNetworkError:zi,makeResponse:Ir,makeAppropriateNetworkError:rb,filterResponse:AC,Response:yt,cloneResponse:xc,fromInnerResponse:Qn}});var sC=f((px,iC)=>{"use strict";var{kConnected:rC,kSize:nC}=te(),Gc=class{constructor(A){this.value=A}deref(){return this.value[rC]===0&&this.value[nC]===0?void 0:this.value}},Yc=class{constructor(A){this.finalizer=A}register(A,t){A.on&&A.on("disconnect",()=>{A[rC]===0&&A[nC]===0&&this.finalizer(t)})}unregister(A){}};iC.exports=function(){return process.env.NODE_V8_COVERAGE&&process.version.startsWith("v18")?(process._rawDebug("Using compatibility WeakRef and FinalizationRegistry"),{WeakRef:Gc,FinalizationRegistry:Yc}):{WeakRef,FinalizationRegistry}}});var ur=f((wx,pC)=>{"use strict";var{extractBody:nb,mixinBody:ib,cloneBody:sb,bodyUnusable:oC}=_t(),{Headers:uC,fill:ob,HeadersList:ji,setHeadersGuard:Jc,getHeadersGuard:ab,setHeadersList:CC,getHeadersList:aC}=wt(),{FinalizationRegistry:cb}=sC()(),Ki=x(),cC=d("node:util"),{isValidHTTPToken:gb,sameOrigin:gC,environmentSettingsObject:Zi}=Ue(),{forbiddenMethodsSet:lb,corsSafeListedMethodsSet:Qb,referrerPolicy:Eb,requestRedirect:Bb,requestMode:Ib,requestCredentials:ub,requestCache:Cb,requestDuplex:hb}=xr(),{kEnumerableProperty:Qe,normalizedMethodRecordsBase:db,normalizedMethodRecords:fb}=Ki,{kHeaders:ve,kSignal:Xi,kState:ee,kDispatcher:vc}=vA(),{webidl:N}=he(),{URLSerializer:pb}=Fe(),{kConstruct:$i}=te(),wb=d("node:assert"),{getMaxListeners:lC,setMaxListeners:QC,getEventListeners:yb,defaultMaxListeners:EC}=d("node:events"),mb=Symbol("abortController"),hC=new cb(({signal:e,abort:A})=>{e.removeEventListener("abort",A)}),es=new WeakMap;function BC(e){return A;function A(){let t=e.deref();if(t!==void 0){hC.unregister(A),this.removeEventListener("abort",A),t.abort(this.reason);let r=es.get(t.signal);if(r!==void 0){if(r.size!==0){for(let n of r){let i=n.deref();i!==void 0&&i.abort(this.reason)}r.clear()}es.delete(t.signal)}}}}var IC=!1,KA=class e{constructor(A,t={}){if(N.util.markAsUncloneable(this),A===$i)return;let r="Request constructor";N.argumentLengthCheck(arguments,1,r),A=N.converters.RequestInfo(A,r,"input"),t=N.converters.RequestInit(t,r,"init");let n=null,i=null,s=Zi.settingsObject.baseUrl,o=null;if(typeof A=="string"){this[vc]=t.dispatcher;let B;try{B=new URL(A,s)}catch(h){throw new TypeError("Failed to parse URL from "+A,{cause:h})}if(B.username||B.password)throw new TypeError("Request cannot be constructed from a URL that includes credentials: "+A);n=As({urlList:[B]}),i="cors"}else this[vc]=t.dispatcher||A[vc],wb(A instanceof e),n=A[ee],o=A[Xi];let a=Zi.settingsObject.origin,c="client";if(n.window?.constructor?.name==="EnvironmentSettingsObject"&&gC(n.window,a)&&(c=n.window),t.window!=null)throw new TypeError(`'window' option '${c}' must be null`);"window"in t&&(c="no-window"),n=As({method:n.method,headersList:n.headersList,unsafeRequest:n.unsafeRequest,client:Zi.settingsObject,window:c,priority:n.priority,origin:n.origin,referrer:n.referrer,referrerPolicy:n.referrerPolicy,mode:n.mode,credentials:n.credentials,cache:n.cache,redirect:n.redirect,integrity:n.integrity,keepalive:n.keepalive,reloadNavigation:n.reloadNavigation,historyNavigation:n.historyNavigation,urlList:[...n.urlList]});let g=Object.keys(t).length!==0;if(g&&(n.mode==="navigate"&&(n.mode="same-origin"),n.reloadNavigation=!1,n.historyNavigation=!1,n.origin="client",n.referrer="client",n.referrerPolicy="",n.url=n.urlList[n.urlList.length-1],n.urlList=[n.url]),t.referrer!==void 0){let B=t.referrer;if(B==="")n.referrer="no-referrer";else{let h;try{h=new URL(B,s)}catch(m){throw new TypeError(`Referrer "${B}" is not a valid URL.`,{cause:m})}h.protocol==="about:"&&h.hostname==="client"||a&&!gC(h,Zi.settingsObject.baseUrl)?n.referrer="client":n.referrer=h}}t.referrerPolicy!==void 0&&(n.referrerPolicy=t.referrerPolicy);let l;if(t.mode!==void 0?l=t.mode:l=i,l==="navigate")throw N.errors.exception({header:"Request constructor",message:"invalid request mode navigate."});if(l!=null&&(n.mode=l),t.credentials!==void 0&&(n.credentials=t.credentials),t.cache!==void 0&&(n.cache=t.cache),n.cache==="only-if-cached"&&n.mode!=="same-origin")throw new TypeError("'only-if-cached' can be set only with 'same-origin' mode");if(t.redirect!==void 0&&(n.redirect=t.redirect),t.integrity!=null&&(n.integrity=String(t.integrity)),t.keepalive!==void 0&&(n.keepalive=!!t.keepalive),t.method!==void 0){let B=t.method,h=fb[B];if(h!==void 0)n.method=h;else{if(!gb(B))throw new TypeError(`'${B}' is not a valid HTTP method.`);let m=B.toUpperCase();if(lb.has(m))throw new TypeError(`'${B}' HTTP method is unsupported.`);B=db[m]??B,n.method=B}!IC&&n.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"}),IC=!0)}t.signal!==void 0&&(o=t.signal),this[ee]=n;let Q=new AbortController;if(this[Xi]=Q.signal,o!=null){if(!o||typeof o.aborted!="boolean"||typeof o.addEventListener!="function")throw new TypeError("Failed to construct 'Request': member signal is not of type AbortSignal.");if(o.aborted)Q.abort(o.reason);else{this[mb]=Q;let B=new WeakRef(Q),h=BC(B);try{(typeof lC=="function"&&lC(o)===EC||yb(o,"abort").length>=EC)&&QC(1500,o)}catch{}Ki.addAbortListener(o,h),hC.register(Q,{signal:o,abort:h},h)}}if(this[ve]=new uC($i),CC(this[ve],n.headersList),Jc(this[ve],"request"),l==="no-cors"){if(!Qb.has(n.method))throw new TypeError(`'${n.method} is unsupported in no-cors mode.`);Jc(this[ve],"request-no-cors")}if(g){let B=aC(this[ve]),h=t.headers!==void 0?t.headers:new ji(B);if(B.clear(),h instanceof ji){for(let{name:m,value:p}of h.rawValues())B.append(m,p,!1);B.cookies=h.cookies}else ob(this[ve],h)}let I=A instanceof e?A[ee].body:null;if((t.body!=null||I!=null)&&(n.method==="GET"||n.method==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body.");let E=null;if(t.body!=null){let[B,h]=nb(t.body,n.keepalive);E=B,h&&!aC(this[ve]).contains("content-type",!0)&&this[ve].append("content-type",h)}let u=E??I;if(u!=null&&u.source==null){if(E!=null&&t.duplex==null)throw new TypeError("RequestInit: duplex option is required when sending a body.");if(n.mode!=="same-origin"&&n.mode!=="cors")throw new TypeError('If request is made from ReadableStream, mode should be "same-origin" or "cors"');n.useCORSPreflightFlag=!0}let C=u;if(E==null&&I!=null){if(oC(A))throw new TypeError("Cannot construct a Request with a Request object that has already been used.");let B=new TransformStream;I.stream.pipeThrough(B),C={source:I.source,length:I.length,stream:B.readable}}this[ee].body=C}get method(){return N.brandCheck(this,e),this[ee].method}get url(){return N.brandCheck(this,e),pb(this[ee].url)}get headers(){return N.brandCheck(this,e),this[ve]}get destination(){return N.brandCheck(this,e),this[ee].destination}get referrer(){return N.brandCheck(this,e),this[ee].referrer==="no-referrer"?"":this[ee].referrer==="client"?"about:client":this[ee].referrer.toString()}get referrerPolicy(){return N.brandCheck(this,e),this[ee].referrerPolicy}get mode(){return N.brandCheck(this,e),this[ee].mode}get credentials(){return this[ee].credentials}get cache(){return N.brandCheck(this,e),this[ee].cache}get redirect(){return N.brandCheck(this,e),this[ee].redirect}get integrity(){return N.brandCheck(this,e),this[ee].integrity}get keepalive(){return N.brandCheck(this,e),this[ee].keepalive}get isReloadNavigation(){return N.brandCheck(this,e),this[ee].reloadNavigation}get isHistoryNavigation(){return N.brandCheck(this,e),this[ee].historyNavigation}get signal(){return N.brandCheck(this,e),this[Xi]}get body(){return N.brandCheck(this,e),this[ee].body?this[ee].body.stream:null}get bodyUsed(){return N.brandCheck(this,e),!!this[ee].body&&Ki.isDisturbed(this[ee].body.stream)}get duplex(){return N.brandCheck(this,e),"half"}clone(){if(N.brandCheck(this,e),oC(this))throw new TypeError("unusable");let A=dC(this[ee]),t=new AbortController;if(this.signal.aborted)t.abort(this.signal.reason);else{let r=es.get(this.signal);r===void 0&&(r=new Set,es.set(this.signal,r));let n=new WeakRef(t);r.add(n),Ki.addAbortListener(t.signal,BC(n))}return fC(A,t.signal,ab(this[ve]))}[cC.inspect.custom](A,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 ${cC.formatWithOptions(t,r)}`}};ib(KA);function As(e){return{method:e.method??"GET",localURLsOnly:e.localURLsOnly??!1,unsafeRequest:e.unsafeRequest??!1,body:e.body??null,client:e.client??null,reservedClient:e.reservedClient??null,replacesClientId:e.replacesClientId??"",window:e.window??"client",keepalive:e.keepalive??!1,serviceWorkers:e.serviceWorkers??"all",initiator:e.initiator??"",destination:e.destination??"",priority:e.priority??null,origin:e.origin??"client",policyContainer:e.policyContainer??"client",referrer:e.referrer??"client",referrerPolicy:e.referrerPolicy??"",mode:e.mode??"no-cors",useCORSPreflightFlag:e.useCORSPreflightFlag??!1,credentials:e.credentials??"same-origin",useCredentials:e.useCredentials??!1,cache:e.cache??"default",redirect:e.redirect??"follow",integrity:e.integrity??"",cryptoGraphicsNonceMetadata:e.cryptoGraphicsNonceMetadata??"",parserMetadata:e.parserMetadata??"",reloadNavigation:e.reloadNavigation??!1,historyNavigation:e.historyNavigation??!1,userActivation:e.userActivation??!1,taintedOrigin:e.taintedOrigin??!1,redirectCount:e.redirectCount??0,responseTainting:e.responseTainting??"basic",preventNoCacheCacheControlHeaderModification:e.preventNoCacheCacheControlHeaderModification??!1,done:e.done??!1,timingAllowFailed:e.timingAllowFailed??!1,urlList:e.urlList,url:e.urlList[0],headersList:e.headersList?new ji(e.headersList):new ji}}function dC(e){let A=As({...e,body:null});return e.body!=null&&(A.body=sb(A,e.body)),A}function fC(e,A,t){let r=new KA($i);return r[ee]=e,r[Xi]=A,r[ve]=new uC($i),CC(r[ve],e.headersList),Jc(r[ve],t),r}Object.defineProperties(KA.prototype,{method:Qe,url:Qe,headers:Qe,redirect:Qe,clone:Qe,signal:Qe,duplex:Qe,destination:Qe,body:Qe,bodyUsed:Qe,isHistoryNavigation:Qe,isReloadNavigation:Qe,keepalive:Qe,integrity:Qe,cache:Qe,credentials:Qe,attribute:Qe,referrerPolicy:Qe,referrer:Qe,mode:Qe,[Symbol.toStringTag]:{value:"Request",configurable:!0}});N.converters.Request=N.interfaceConverter(KA);N.converters.RequestInfo=function(e,A,t){return typeof e=="string"?N.converters.USVString(e,A,t):e instanceof KA?N.converters.Request(e,A,t):N.converters.USVString(e,A,t)};N.converters.AbortSignal=N.interfaceConverter(AbortSignal);N.converters.RequestInit=N.dictionaryConverter([{key:"method",converter:N.converters.ByteString},{key:"headers",converter:N.converters.HeadersInit},{key:"body",converter:N.nullableConverter(N.converters.BodyInit)},{key:"referrer",converter:N.converters.USVString},{key:"referrerPolicy",converter:N.converters.DOMString,allowedValues:Eb},{key:"mode",converter:N.converters.DOMString,allowedValues:Ib},{key:"credentials",converter:N.converters.DOMString,allowedValues:ub},{key:"cache",converter:N.converters.DOMString,allowedValues:Cb},{key:"redirect",converter:N.converters.DOMString,allowedValues:Bb},{key:"integrity",converter:N.converters.DOMString},{key:"keepalive",converter:N.converters.boolean},{key:"signal",converter:N.nullableConverter(e=>N.converters.AbortSignal(e,"RequestInit","signal",{strict:!1}))},{key:"window",converter:N.converters.any},{key:"duplex",converter:N.converters.DOMString,allowedValues:hb},{key:"dispatcher",converter:N.converters.any}]);pC.exports={Request:KA,makeRequest:As,fromInnerRequest:fC,cloneRequest:dC}});var In=f((yx,xC)=>{"use strict";var{makeNetworkError:_,makeAppropriateNetworkError:ts,filterResponse:Hc,makeResponse:rs,fromInnerResponse:Db}=En(),{HeadersList:wC}=wt(),{Request:Fb,cloneRequest:kb}=ur(),XA=d("node:zlib"),{bytesMatch:Rb,makePolicyContainer:bb,clonePolicyContainer:Sb,requestBadPort:Nb,TAOCheck:Mb,appendRequestOriginHeader:Ub,responseLocationURL:Lb,requestCurrentURL:CA,setRequestReferrerPolicyOnRedirect:Tb,tryUpgradeRequestToAPotentiallyTrustworthyURL:xb,createOpaqueTimingInfo:Oc,appendFetchMetadata:Gb,corsCheck:Yb,crossOriginResourcePolicyCheck:vb,determineRequestsReferrer:Jb,coarsenedSharedCurrentTime:Bn,createDeferredPromise:Hb,isBlobLike:Vb,sameOrigin:Pc,isCancelled:mt,isAborted:yC,isErrorLike:qb,fullyReadBody:Wb,readableStreamClose:Pb,isomorphicEncode:ns,urlIsLocal:Ob,urlIsHttpHttpsScheme:_c,urlHasHttpsScheme:_b,clampAndCoarsenConnectionTimingInfo:zb,simpleRangeHeaderValue:Zb,buildContentRange:Kb,createInflate:Xb,extractMimeType:jb}=Ue(),{kState:kC,kDispatcher:$b}=vA(),Dt=d("node:assert"),{safelyExtractBody:zc,extractBody:mC}=_t(),{redirectStatusSet:RC,nullBodyStatus:bC,safeMethodsSet:eS,requestBodyHeader:AS,subresourceSet:tS}=xr(),rS=d("node:events"),{Readable:nS,pipeline:iS,finished:sS}=d("node:stream"),{addAbortListener:oS,isErrored:aS,isReadable:is,bufferToLowerCasedHeaderName:DC}=x(),{dataURLProcessor:cS,serializeAMimeType:gS,minimizeSupportedMimeType:lS}=Fe(),{getGlobalDispatcher:QS}=Vi(),{webidl:ES}=he(),{STATUS_CODES:BS}=d("node:http"),IS=["GET","HEAD"],uS=typeof __UNDICI_IS_NODE__<"u"||typeof esbuildDetection<"u"?"node":"undici",Vc,ss=class extends rS{constructor(A){super(),this.dispatcher=A,this.connection=null,this.dump=!1,this.state="ongoing"}terminate(A){this.state==="ongoing"&&(this.state="terminated",this.connection?.destroy(A),this.emit("terminated",A))}abort(A){this.state==="ongoing"&&(this.state="aborted",A||(A=new DOMException("The operation was aborted.","AbortError")),this.serializedAbortReason=A,this.connection?.destroy(A),this.emit("terminated",A))}};function CS(e){SC(e,"fetch")}function hS(e,A=void 0){ES.argumentLengthCheck(arguments,1,"globalThis.fetch");let t=Hb(),r;try{r=new Fb(e,A)}catch(g){return t.reject(g),t.promise}let n=r[kC];if(r.signal.aborted)return qc(t,n,null,r.signal.reason),t.promise;n.client.globalObject?.constructor?.name==="ServiceWorkerGlobalScope"&&(n.serviceWorkers="none");let s=null,o=!1,a=null;return oS(r.signal,()=>{o=!0,Dt(a!=null),a.abort(r.signal.reason);let g=s?.deref();qc(t,n,g,r.signal.reason)}),a=MC({request:n,processResponseEndOfBody:CS,processResponse:g=>{if(!o){if(g.aborted){qc(t,n,s,a.serializedAbortReason);return}if(g.type==="error"){t.reject(new TypeError("fetch failed",{cause:g.error}));return}s=new WeakRef(Db(g,"immutable")),t.resolve(s.deref()),t=null}},dispatcher:r[$b]}),t.promise}function SC(e,A="other"){if(e.type==="error"&&e.aborted||!e.urlList?.length)return;let t=e.urlList[0],r=e.timingInfo,n=e.cacheState;_c(t)&&r!==null&&(e.timingAllowPassed||(r=Oc({startTime:r.startTime}),n=""),r.endTime=Bn(),e.timingInfo=r,NC(r,t.href,A,globalThis,n))}var NC=performance.markResourceTiming;function qc(e,A,t,r){if(e&&e.reject(r),A.body!=null&&is(A.body?.stream)&&A.body.stream.cancel(r).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i}),t==null)return;let n=t[kC];n.body!=null&&is(n.body?.stream)&&n.body.stream.cancel(r).catch(i=>{if(i.code!=="ERR_INVALID_STATE")throw i})}function MC({request:e,processRequestBodyChunkLength:A,processRequestEndOfBody:t,processResponse:r,processResponseEndOfBody:n,processResponseConsumeBody:i,useParallelQueue:s=!1,dispatcher:o=QS()}){Dt(o);let a=null,c=!1;e.client!=null&&(a=e.client.globalObject,c=e.client.crossOriginIsolatedCapability);let g=Bn(c),l=Oc({startTime:g}),Q={controller:new ss(o),request:e,timingInfo:l,processRequestBodyChunkLength:A,processRequestEndOfBody:t,processResponse:r,processResponseConsumeBody:i,processResponseEndOfBody:n,taskDestination:a,crossOriginIsolatedCapability:c};return Dt(!e.body||e.body.stream),e.window==="client"&&(e.window=e.client?.globalObject?.constructor?.name==="Window"?e.client:"no-window"),e.origin==="client"&&(e.origin=e.client.origin),e.policyContainer==="client"&&(e.client!=null?e.policyContainer=Sb(e.client.policyContainer):e.policyContainer=bb()),e.headersList.contains("accept",!0)||e.headersList.append("accept","*/*",!0),e.headersList.contains("accept-language",!0)||e.headersList.append("accept-language","*",!0),e.priority,tS.has(e.destination),UC(Q).catch(I=>{Q.controller.terminate(I)}),Q.controller}async function UC(e,A=!1){let t=e.request,r=null;if(t.localURLsOnly&&!Ob(CA(t))&&(r=_("local URLs only")),xb(t),Nb(t)==="blocked"&&(r=_("bad port")),t.referrerPolicy===""&&(t.referrerPolicy=t.policyContainer.referrerPolicy),t.referrer!=="no-referrer"&&(t.referrer=Jb(t)),r===null&&(r=await(async()=>{let i=CA(t);return Pc(i,t.url)&&t.responseTainting==="basic"||i.protocol==="data:"||t.mode==="navigate"||t.mode==="websocket"?(t.responseTainting="basic",await FC(e)):t.mode==="same-origin"?_('request mode cannot be "same-origin"'):t.mode==="no-cors"?t.redirect!=="follow"?_('redirect mode cannot be "follow" for "no-cors" request'):(t.responseTainting="opaque",await FC(e)):_c(CA(t))?(t.responseTainting="cors",await LC(e)):_("URL scheme must be a HTTP(S) scheme")})()),A)return r;r.status!==0&&!r.internalResponse&&(t.responseTainting,t.responseTainting==="basic"?r=Hc(r,"basic"):t.responseTainting==="cors"?r=Hc(r,"cors"):t.responseTainting==="opaque"?r=Hc(r,"opaque"):Dt(!1));let n=r.status===0?r:r.internalResponse;if(n.urlList.length===0&&n.urlList.push(...t.urlList),t.timingAllowFailed||(r.timingAllowPassed=!0),r.type==="opaque"&&n.status===206&&n.rangeRequested&&!t.headers.contains("range",!0)&&(r=n=_()),r.status!==0&&(t.method==="HEAD"||t.method==="CONNECT"||bC.includes(n.status))&&(n.body=null,e.controller.dump=!0),t.integrity){let i=o=>Wc(e,_(o));if(t.responseTainting==="opaque"||r.body==null){i(r.error);return}let s=o=>{if(!Rb(o,t.integrity)){i("integrity mismatch");return}r.body=zc(o)[0],Wc(e,r)};await Wb(r.body,s,i)}else Wc(e,r)}function FC(e){if(mt(e)&&e.request.redirectCount===0)return Promise.resolve(ts(e));let{request:A}=e,{protocol:t}=CA(A);switch(t){case"about:":return Promise.resolve(_("about scheme is not supported"));case"blob:":{Vc||(Vc=d("node:buffer").resolveObjectURL);let r=CA(A);if(r.search.length!==0)return Promise.resolve(_("NetworkError when attempting to fetch resource."));let n=Vc(r.toString());if(A.method!=="GET"||!Vb(n))return Promise.resolve(_("invalid method"));let i=rs(),s=n.size,o=ns(`${s}`),a=n.type;if(A.headersList.contains("range",!0)){i.rangeRequested=!0;let c=A.headersList.get("range",!0),g=Zb(c,!0);if(g==="failure")return Promise.resolve(_("failed to fetch the data URL"));let{rangeStartValue:l,rangeEndValue:Q}=g;if(l===null)l=s-Q,Q=l+Q-1;else{if(l>=s)return Promise.resolve(_("Range start is greater than the blob's size."));(Q===null||Q>=s)&&(Q=s-1)}let I=n.slice(l,Q,a),E=mC(I);i.body=E[0];let u=ns(`${I.size}`),C=Kb(l,Q,s);i.status=206,i.statusText="Partial Content",i.headersList.set("content-length",u,!0),i.headersList.set("content-type",a,!0),i.headersList.set("content-range",C,!0)}else{let c=mC(n);i.statusText="OK",i.body=c[0],i.headersList.set("content-length",o,!0),i.headersList.set("content-type",a,!0)}return Promise.resolve(i)}case"data:":{let r=CA(A),n=cS(r);if(n==="failure")return Promise.resolve(_("failed to fetch the data URL"));let i=gS(n.mimeType);return Promise.resolve(rs({statusText:"OK",headersList:[["content-type",{name:"Content-Type",value:i}]],body:zc(n.body)[0]}))}case"file:":return Promise.resolve(_("not implemented... yet..."));case"http:":case"https:":return LC(e).catch(r=>_(r));default:return Promise.resolve(_("unknown scheme"))}}function dS(e,A){e.request.done=!0,e.processResponseDone!=null&&queueMicrotask(()=>e.processResponseDone(A))}function Wc(e,A){let t=e.timingInfo,r=()=>{let i=Date.now();e.request.destination==="document"&&(e.controller.fullTimingInfo=t),e.controller.reportTimingSteps=()=>{if(e.request.url.protocol!=="https:")return;t.endTime=i;let o=A.cacheState,a=A.bodyInfo;A.timingAllowPassed||(t=Oc(t),o="");let c=0;if(e.request.mode!=="navigator"||!A.hasCrossOriginRedirects){c=A.status;let g=jb(A.headersList);g!=="failure"&&(a.contentType=lS(g))}e.request.initiatorType!=null&&NC(t,e.request.url.href,e.request.initiatorType,globalThis,o,a,c)};let s=()=>{e.request.done=!0,e.processResponseEndOfBody!=null&&queueMicrotask(()=>e.processResponseEndOfBody(A)),e.request.initiatorType!=null&&e.controller.reportTimingSteps()};queueMicrotask(()=>s())};e.processResponse!=null&&queueMicrotask(()=>{e.processResponse(A),e.processResponse=null});let n=A.type==="error"?A:A.internalResponse??A;n.body==null?r():sS(n.body.stream,()=>{r()})}async function LC(e){let A=e.request,t=null,r=null,n=e.timingInfo;if(A.serviceWorkers,t===null){if(A.redirect==="follow"&&(A.serviceWorkers="none"),r=t=await TC(e),A.responseTainting==="cors"&&Yb(A,t)==="failure")return _("cors failure");Mb(A,t)==="failure"&&(A.timingAllowFailed=!0)}return(A.responseTainting==="opaque"||t.type==="opaque")&&vb(A.origin,A.client,A.destination,r)==="blocked"?_("blocked"):(RC.has(r.status)&&(A.redirect!=="manual"&&e.controller.connection.destroy(void 0,!1),A.redirect==="error"?t=_("unexpected redirect"):A.redirect==="manual"?t=r:A.redirect==="follow"?t=await fS(e,t):Dt(!1)),t.timingInfo=n,t)}function fS(e,A){let t=e.request,r=A.internalResponse?A.internalResponse:A,n;try{if(n=Lb(r,CA(t).hash),n==null)return A}catch(s){return Promise.resolve(_(s))}if(!_c(n))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"&&(n.username||n.password)&&!Pc(t,n))return Promise.resolve(_('cross origin not allowed for request mode "cors"'));if(t.responseTainting==="cors"&&(n.username||n.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&&!IS.includes(t.method)){t.method="GET",t.body=null;for(let s of AS)t.headersList.delete(s)}Pc(CA(t),n)||(t.headersList.delete("authorization",!0),t.headersList.delete("proxy-authorization",!0),t.headersList.delete("cookie",!0),t.headersList.delete("host",!0)),t.body!=null&&(Dt(t.body.source!=null),t.body=zc(t.body.source)[0]);let i=e.timingInfo;return i.redirectEndTime=i.postRedirectStartTime=Bn(e.crossOriginIsolatedCapability),i.redirectStartTime===0&&(i.redirectStartTime=i.startTime),t.urlList.push(n),Tb(t,r),UC(e,!0)}async function TC(e,A=!1,t=!1){let r=e.request,n=null,i=null,s=null,o=null,a=!1;r.window==="no-window"&&r.redirect==="error"?(n=e,i=r):(i=kb(r),n={...e},n.request=i);let c=r.credentials==="include"||r.credentials==="same-origin"&&r.responseTainting==="basic",g=i.body?i.body.length:null,l=null;if(i.body==null&&["POST","PUT"].includes(i.method)&&(l="0"),g!=null&&(l=ns(`${g}`)),l!=null&&i.headersList.append("content-length",l,!0),g!=null&&i.keepalive,i.referrer instanceof URL&&i.headersList.append("referer",ns(i.referrer.href),!0),Ub(i),Gb(i),i.headersList.contains("user-agent",!0)||i.headersList.append("user-agent",uS),i.cache==="default"&&(i.headersList.contains("if-modified-since",!0)||i.headersList.contains("if-none-match",!0)||i.headersList.contains("if-unmodified-since",!0)||i.headersList.contains("if-match",!0)||i.headersList.contains("if-range",!0))&&(i.cache="no-store"),i.cache==="no-cache"&&!i.preventNoCacheCacheControlHeaderModification&&!i.headersList.contains("cache-control",!0)&&i.headersList.append("cache-control","max-age=0",!0),(i.cache==="no-store"||i.cache==="reload")&&(i.headersList.contains("pragma",!0)||i.headersList.append("pragma","no-cache",!0),i.headersList.contains("cache-control",!0)||i.headersList.append("cache-control","no-cache",!0)),i.headersList.contains("range",!0)&&i.headersList.append("accept-encoding","identity",!0),i.headersList.contains("accept-encoding",!0)||(_b(CA(i))?i.headersList.append("accept-encoding","br, gzip, deflate",!0):i.headersList.append("accept-encoding","gzip, deflate",!0)),i.headersList.delete("host",!0),o==null&&(i.cache="no-store"),i.cache!=="no-store"&&i.cache,s==null){if(i.cache==="only-if-cached")return _("only if cached");let Q=await pS(n,c,t);!eS.has(i.method)&&Q.status>=200&&Q.status<=399,a&&Q.status,s==null&&(s=Q)}if(s.urlList=[...i.urlList],i.headersList.contains("range",!0)&&(s.rangeRequested=!0),s.requestIncludesCredentials=c,s.status===407)return r.window==="no-window"?_():mt(e)?ts(e):_("proxy authentication required");if(s.status===421&&!t&&(r.body==null||r.body.source!=null)){if(mt(e))return ts(e);e.controller.connection.destroy(),s=await TC(e,A,!0)}return s}async function pS(e,A=!1,t=!1){Dt(!e.controller.connection||e.controller.connection.destroyed),e.controller.connection={abort:null,destroyed:!1,destroy(E,u=!0){this.destroyed||(this.destroyed=!0,u&&this.abort?.(E??new DOMException("The operation was aborted.","AbortError")))}};let r=e.request,n=null,i=e.timingInfo;null==null&&(r.cache="no-store");let o=t?"yes":"no";r.mode;let a=null;if(r.body==null&&e.processRequestEndOfBody)queueMicrotask(()=>e.processRequestEndOfBody());else if(r.body!=null){let E=async function*(B){mt(e)||(yield B,e.processRequestBodyChunkLength?.(B.byteLength))},u=()=>{mt(e)||e.processRequestEndOfBody&&e.processRequestEndOfBody()},C=B=>{mt(e)||(B.name==="AbortError"?e.controller.abort():e.controller.terminate(B))};a=(async function*(){try{for await(let B of r.body.stream)yield*E(B);u()}catch(B){C(B)}})()}try{let{body:E,status:u,statusText:C,headersList:B,socket:h}=await I({body:a});if(h)n=rs({status:u,statusText:C,headersList:B,socket:h});else{let m=E[Symbol.asyncIterator]();e.controller.next=()=>m.next(),n=rs({status:u,statusText:C,headersList:B})}}catch(E){return E.name==="AbortError"?(e.controller.connection.destroy(),ts(e,E)):_(E)}let c=async()=>{await e.controller.resume()},g=E=>{mt(e)||e.controller.abort(E)},l=new ReadableStream({async start(E){e.controller.controller=E},async pull(E){await c(E)},async cancel(E){await g(E)},type:"bytes"});n.body={stream:l,source:null,length:null},e.controller.onAborted=Q,e.controller.on("terminated",Q),e.controller.resume=async()=>{for(;;){let E,u;try{let{done:B,value:h}=await e.controller.next();if(yC(e))break;E=B?void 0:h}catch(B){e.controller.ended&&!i.encodedBodySize?E=void 0:(E=B,u=!0)}if(E===void 0){Pb(e.controller.controller),dS(e,n);return}if(i.decodedBodySize+=E?.byteLength??0,u){e.controller.terminate(E);return}let C=new Uint8Array(E);if(C.byteLength&&e.controller.controller.enqueue(C),aS(l)){e.controller.terminate();return}if(e.controller.controller.desiredSize<=0)return}};function Q(E){yC(e)?(n.aborted=!0,is(l)&&e.controller.controller.error(e.controller.serializedAbortReason)):is(l)&&e.controller.controller.error(new TypeError("terminated",{cause:qb(E)?E:void 0})),e.controller.connection.destroy()}return n;function I({body:E}){let u=CA(r),C=e.controller.dispatcher;return new Promise((B,h)=>C.dispatch({path:u.pathname+u.search,origin:u.origin,method:r.method,body:C.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(m){let{connection:p}=e.controller;i.finalConnectionTimingInfo=zb(void 0,i.postRedirectStartTime,e.crossOriginIsolatedCapability),p.destroyed?m(new DOMException("The operation was aborted.","AbortError")):(e.controller.on("terminated",m),this.abort=p.abort=m),i.finalNetworkRequestStartTime=Bn(e.crossOriginIsolatedCapability)},onResponseStarted(){i.finalNetworkResponseStartTime=Bn(e.crossOriginIsolatedCapability)},onHeaders(m,p,L,J){if(m<200)return;let q="",j=new wC;for(let Ae=0;Ae<p.length;Ae+=2)j.append(DC(p[Ae]),p[Ae+1].toString("latin1"),!0);q=j.get("location",!0),this.body=new nS({read:L});let Ee=[],ie=q&&r.redirect==="follow"&&RC.has(m);if(r.method!=="HEAD"&&r.method!=="CONNECT"&&!bC.includes(m)&&!ie){let Ae=j.get("content-encoding",!0),LA=Ae?Ae.toLowerCase().split(","):[],TA=5;if(LA.length>TA)return h(new Error(`too many content-encodings in response: ${LA.length}, maximum allowed is ${TA}`)),!0;for(let se=LA.length-1;se>=0;--se){let qe=LA[se].trim();if(qe==="x-gzip"||qe==="gzip")Ee.push(XA.createGunzip({flush:XA.constants.Z_SYNC_FLUSH,finishFlush:XA.constants.Z_SYNC_FLUSH}));else if(qe==="deflate")Ee.push(Xb({flush:XA.constants.Z_SYNC_FLUSH,finishFlush:XA.constants.Z_SYNC_FLUSH}));else if(qe==="br")Ee.push(XA.createBrotliDecompress({flush:XA.constants.BROTLI_OPERATION_FLUSH,finishFlush:XA.constants.BROTLI_OPERATION_FLUSH}));else{Ee.length=0;break}}}let G=this.onError.bind(this);return B({status:m,statusText:J,headersList:j,body:Ee.length?iS(this.body,...Ee,Ae=>{Ae&&this.onError(Ae)}).on("error",G):this.body.on("error",G)}),!0},onData(m){if(e.controller.dump)return;let p=m;return i.encodedBodySize+=p.byteLength,this.body.push(p)},onComplete(){this.abort&&e.controller.off("terminated",this.abort),e.controller.onAborted&&e.controller.off("terminated",e.controller.onAborted),e.controller.ended=!0,this.body.push(null)},onError(m){this.abort&&e.controller.off("terminated",this.abort),this.body?.destroy(m),e.controller.terminate(m),h(m)},onUpgrade(m,p,L){if(m!==101)return;let J=new wC;for(let q=0;q<p.length;q+=2)J.append(DC(p[q]),p[q+1].toString("latin1"),!0);return B({status:m,statusText:BS[m],headersList:J,socket:L}),!0}}))}}xC.exports={fetch:hS,Fetch:ss,fetching:MC,finalizeAndReportTiming:SC}});var Zc=f((mx,GC)=>{"use strict";GC.exports={kState:Symbol("FileReader state"),kResult:Symbol("FileReader result"),kError:Symbol("FileReader error"),kLastProgressEventFired:Symbol("FileReader last progress event fired timestamp"),kEvents:Symbol("FileReader events"),kAborted:Symbol("FileReader aborted")}});var vC=f((Dx,YC)=>{"use strict";var{webidl:Je}=he(),os=Symbol("ProgressEvent state"),Kc=class e extends Event{constructor(A,t={}){A=Je.converters.DOMString(A,"ProgressEvent constructor","type"),t=Je.converters.ProgressEventInit(t??{}),super(A,t),this[os]={lengthComputable:t.lengthComputable,loaded:t.loaded,total:t.total}}get lengthComputable(){return Je.brandCheck(this,e),this[os].lengthComputable}get loaded(){return Je.brandCheck(this,e),this[os].loaded}get total(){return Je.brandCheck(this,e),this[os].total}};Je.converters.ProgressEventInit=Je.dictionaryConverter([{key:"lengthComputable",converter:Je.converters.boolean,defaultValue:()=>!1},{key:"loaded",converter:Je.converters["unsigned long long"],defaultValue:()=>0},{key:"total",converter:Je.converters["unsigned long long"],defaultValue:()=>0},{key:"bubbles",converter:Je.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:Je.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:Je.converters.boolean,defaultValue:()=>!1}]);YC.exports={ProgressEvent:Kc}});var HC=f((Fx,JC)=>{"use strict";function wS(e){if(!e)return"failure";switch(e.trim().toLowerCase()){case"unicode-1-1-utf-8":case"unicode11utf8":case"unicode20utf8":case"utf-8":case"utf8":case"x-unicode20utf8":return"UTF-8";case"866":case"cp866":case"csibm866":case"ibm866":return"IBM866";case"csisolatin2":case"iso-8859-2":case"iso-ir-101":case"iso8859-2":case"iso88592":case"iso_8859-2":case"iso_8859-2:1987":case"l2":case"latin2":return"ISO-8859-2";case"csisolatin3":case"iso-8859-3":case"iso-ir-109":case"iso8859-3":case"iso88593":case"iso_8859-3":case"iso_8859-3:1988":case"l3":case"latin3":return"ISO-8859-3";case"csisolatin4":case"iso-8859-4":case"iso-ir-110":case"iso8859-4":case"iso88594":case"iso_8859-4":case"iso_8859-4:1988":case"l4":case"latin4":return"ISO-8859-4";case"csisolatincyrillic":case"cyrillic":case"iso-8859-5":case"iso-ir-144":case"iso8859-5":case"iso88595":case"iso_8859-5":case"iso_8859-5:1988":return"ISO-8859-5";case"arabic":case"asmo-708":case"csiso88596e":case"csiso88596i":case"csisolatinarabic":case"ecma-114":case"iso-8859-6":case"iso-8859-6-e":case"iso-8859-6-i":case"iso-ir-127":case"iso8859-6":case"iso88596":case"iso_8859-6":case"iso_8859-6:1987":return"ISO-8859-6";case"csisolatingreek":case"ecma-118":case"elot_928":case"greek":case"greek8":case"iso-8859-7":case"iso-ir-126":case"iso8859-7":case"iso88597":case"iso_8859-7":case"iso_8859-7:1987":case"sun_eu_greek":return"ISO-8859-7";case"csiso88598e":case"csisolatinhebrew":case"hebrew":case"iso-8859-8":case"iso-8859-8-e":case"iso-ir-138":case"iso8859-8":case"iso88598":case"iso_8859-8":case"iso_8859-8:1988":case"visual":return"ISO-8859-8";case"csiso88598i":case"iso-8859-8-i":case"logical":return"ISO-8859-8-I";case"csisolatin6":case"iso-8859-10":case"iso-ir-157":case"iso8859-10":case"iso885910":case"l6":case"latin6":return"ISO-8859-10";case"iso-8859-13":case"iso8859-13":case"iso885913":return"ISO-8859-13";case"iso-8859-14":case"iso8859-14":case"iso885914":return"ISO-8859-14";case"csisolatin9":case"iso-8859-15":case"iso8859-15":case"iso885915":case"iso_8859-15":case"l9":return"ISO-8859-15";case"iso-8859-16":return"ISO-8859-16";case"cskoi8r":case"koi":case"koi8":case"koi8-r":case"koi8_r":return"KOI8-R";case"koi8-ru":case"koi8-u":return"KOI8-U";case"csmacintosh":case"mac":case"macintosh":case"x-mac-roman":return"macintosh";case"iso-8859-11":case"iso8859-11":case"iso885911":case"tis-620":case"windows-874":return"windows-874";case"cp1250":case"windows-1250":case"x-cp1250":return"windows-1250";case"cp1251":case"windows-1251":case"x-cp1251":return"windows-1251";case"ansi_x3.4-1968":case"ascii":case"cp1252":case"cp819":case"csisolatin1":case"ibm819":case"iso-8859-1":case"iso-ir-100":case"iso8859-1":case"iso88591":case"iso_8859-1":case"iso_8859-1:1987":case"l1":case"latin1":case"us-ascii":case"windows-1252":case"x-cp1252":return"windows-1252";case"cp1253":case"windows-1253":case"x-cp1253":return"windows-1253";case"cp1254":case"csisolatin5":case"iso-8859-9":case"iso-ir-148":case"iso8859-9":case"iso88599":case"iso_8859-9":case"iso_8859-9:1989":case"l5":case"latin5":case"windows-1254":case"x-cp1254":return"windows-1254";case"cp1255":case"windows-1255":case"x-cp1255":return"windows-1255";case"cp1256":case"windows-1256":case"x-cp1256":return"windows-1256";case"cp1257":case"windows-1257":case"x-cp1257":return"windows-1257";case"cp1258":case"windows-1258":case"x-cp1258":return"windows-1258";case"x-mac-cyrillic":case"x-mac-ukrainian":return"x-mac-cyrillic";case"chinese":case"csgb2312":case"csiso58gb231280":case"gb2312":case"gb_2312":case"gb_2312-80":case"gbk":case"iso-ir-58":case"x-gbk":return"GBK";case"gb18030":return"gb18030";case"big5":case"big5-hkscs":case"cn-big5":case"csbig5":case"x-x-big5":return"Big5";case"cseucpkdfmtjapanese":case"euc-jp":case"x-euc-jp":return"EUC-JP";case"csiso2022jp":case"iso-2022-jp":return"ISO-2022-JP";case"csshiftjis":case"ms932":case"ms_kanji":case"shift-jis":case"shift_jis":case"sjis":case"windows-31j":case"x-sjis":return"Shift_JIS";case"cseuckr":case"csksc56011987":case"euc-kr":case"iso-ir-149":case"korean":case"ks_c_5601-1987":case"ks_c_5601-1989":case"ksc5601":case"ksc_5601":case"windows-949":return"EUC-KR";case"csiso2022kr":case"hz-gb-2312":case"iso-2022-cn":case"iso-2022-cn-ext":case"iso-2022-kr":case"replacement":return"replacement";case"unicodefffe":case"utf-16be":return"UTF-16BE";case"csunicode":case"iso-10646-ucs-2":case"ucs-2":case"unicode":case"unicodefeff":case"utf-16":case"utf-16le":return"UTF-16LE";case"x-user-defined":return"x-user-defined";default:return"failure"}}JC.exports={getEncoding:wS}});var ZC=f((kx,zC)=>{"use strict";var{kState:Cr,kError:Xc,kResult:VC,kAborted:un,kLastProgressEventFired:jc}=Zc(),{ProgressEvent:yS}=vC(),{getEncoding:qC}=HC(),{serializeAMimeType:mS,parseMIMEType:WC}=Fe(),{types:DS}=d("node:util"),{StringDecoder:PC}=d("string_decoder"),{btoa:OC}=d("node:buffer"),FS={enumerable:!0,writable:!1,configurable:!1};function kS(e,A,t,r){if(e[Cr]==="loading")throw new DOMException("Invalid state","InvalidStateError");e[Cr]="loading",e[VC]=null,e[Xc]=null;let i=A.stream().getReader(),s=[],o=i.read(),a=!0;(async()=>{for(;!e[un];)try{let{done:c,value:g}=await o;if(a&&!e[un]&&queueMicrotask(()=>{jA("loadstart",e)}),a=!1,!c&&DS.isUint8Array(g))s.push(g),(e[jc]===void 0||Date.now()-e[jc]>=50)&&!e[un]&&(e[jc]=Date.now(),queueMicrotask(()=>{jA("progress",e)})),o=i.read();else if(c){queueMicrotask(()=>{e[Cr]="done";try{let l=RS(s,t,A.type,r);if(e[un])return;e[VC]=l,jA("load",e)}catch(l){e[Xc]=l,jA("error",e)}e[Cr]!=="loading"&&jA("loadend",e)});break}}catch(c){if(e[un])return;queueMicrotask(()=>{e[Cr]="done",e[Xc]=c,jA("error",e),e[Cr]!=="loading"&&jA("loadend",e)});break}})()}function jA(e,A){let t=new yS(e,{bubbles:!1,cancelable:!1});A.dispatchEvent(t)}function RS(e,A,t,r){switch(A){case"DataURL":{let n="data:",i=WC(t||"application/octet-stream");i!=="failure"&&(n+=mS(i)),n+=";base64,";let s=new PC("latin1");for(let o of e)n+=OC(s.write(o));return n+=OC(s.end()),n}case"Text":{let n="failure";if(r&&(n=qC(r)),n==="failure"&&t){let i=WC(t);i!=="failure"&&(n=qC(i.parameters.get("charset")))}return n==="failure"&&(n="UTF-8"),bS(e,n)}case"ArrayBuffer":return _C(e).buffer;case"BinaryString":{let n="",i=new PC("latin1");for(let s of e)n+=i.write(s);return n+=i.end(),n}}}function bS(e,A){let t=_C(e),r=SS(t),n=0;r!==null&&(A=r,n=r==="UTF-8"?3:2);let i=t.slice(n);return new TextDecoder(A).decode(i)}function SS(e){let[A,t,r]=e;return A===239&&t===187&&r===191?"UTF-8":A===254&&t===255?"UTF-16BE":A===255&&t===254?"UTF-16LE":null}function _C(e){let A=e.reduce((r,n)=>r+n.byteLength,0),t=0;return e.reduce((r,n)=>(r.set(n,t),t+=n.byteLength,r),new Uint8Array(A))}zC.exports={staticPropertyDescriptors:FS,readOperation:kS,fireAProgressEvent:jA}});var $C=f((Rx,jC)=>{"use strict";var{staticPropertyDescriptors:hr,readOperation:as,fireAProgressEvent:KC}=ZC(),{kState:Ft,kError:XC,kResult:cs,kEvents:W,kAborted:NS}=Zc(),{webidl:Z}=he(),{kEnumerableProperty:be}=x(),sA=class e extends EventTarget{constructor(){super(),this[Ft]="empty",this[cs]=null,this[XC]=null,this[W]={loadend:null,error:null,abort:null,load:null,progress:null,loadstart:null}}readAsArrayBuffer(A){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,"FileReader.readAsArrayBuffer"),A=Z.converters.Blob(A,{strict:!1}),as(this,A,"ArrayBuffer")}readAsBinaryString(A){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,"FileReader.readAsBinaryString"),A=Z.converters.Blob(A,{strict:!1}),as(this,A,"BinaryString")}readAsText(A,t=void 0){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,"FileReader.readAsText"),A=Z.converters.Blob(A,{strict:!1}),t!==void 0&&(t=Z.converters.DOMString(t,"FileReader.readAsText","encoding")),as(this,A,"Text",t)}readAsDataURL(A){Z.brandCheck(this,e),Z.argumentLengthCheck(arguments,1,"FileReader.readAsDataURL"),A=Z.converters.Blob(A,{strict:!1}),as(this,A,"DataURL")}abort(){if(this[Ft]==="empty"||this[Ft]==="done"){this[cs]=null;return}this[Ft]==="loading"&&(this[Ft]="done",this[cs]=null),this[NS]=!0,KC("abort",this),this[Ft]!=="loading"&&KC("loadend",this)}get readyState(){switch(Z.brandCheck(this,e),this[Ft]){case"empty":return this.EMPTY;case"loading":return this.LOADING;case"done":return this.DONE}}get result(){return Z.brandCheck(this,e),this[cs]}get error(){return Z.brandCheck(this,e),this[XC]}get onloadend(){return Z.brandCheck(this,e),this[W].loadend}set onloadend(A){Z.brandCheck(this,e),this[W].loadend&&this.removeEventListener("loadend",this[W].loadend),typeof A=="function"?(this[W].loadend=A,this.addEventListener("loadend",A)):this[W].loadend=null}get onerror(){return Z.brandCheck(this,e),this[W].error}set onerror(A){Z.brandCheck(this,e),this[W].error&&this.removeEventListener("error",this[W].error),typeof A=="function"?(this[W].error=A,this.addEventListener("error",A)):this[W].error=null}get onloadstart(){return Z.brandCheck(this,e),this[W].loadstart}set onloadstart(A){Z.brandCheck(this,e),this[W].loadstart&&this.removeEventListener("loadstart",this[W].loadstart),typeof A=="function"?(this[W].loadstart=A,this.addEventListener("loadstart",A)):this[W].loadstart=null}get onprogress(){return Z.brandCheck(this,e),this[W].progress}set onprogress(A){Z.brandCheck(this,e),this[W].progress&&this.removeEventListener("progress",this[W].progress),typeof A=="function"?(this[W].progress=A,this.addEventListener("progress",A)):this[W].progress=null}get onload(){return Z.brandCheck(this,e),this[W].load}set onload(A){Z.brandCheck(this,e),this[W].load&&this.removeEventListener("load",this[W].load),typeof A=="function"?(this[W].load=A,this.addEventListener("load",A)):this[W].load=null}get onabort(){return Z.brandCheck(this,e),this[W].abort}set onabort(A){Z.brandCheck(this,e),this[W].abort&&this.removeEventListener("abort",this[W].abort),typeof A=="function"?(this[W].abort=A,this.addEventListener("abort",A)):this[W].abort=null}};sA.EMPTY=sA.prototype.EMPTY=0;sA.LOADING=sA.prototype.LOADING=1;sA.DONE=sA.prototype.DONE=2;Object.defineProperties(sA.prototype,{EMPTY:hr,LOADING:hr,DONE:hr,readAsArrayBuffer:be,readAsBinaryString:be,readAsText:be,readAsDataURL:be,abort:be,readyState:be,result:be,error:be,onloadstart:be,onprogress:be,onload:be,onabort:be,onerror:be,onloadend:be,[Symbol.toStringTag]:{value:"FileReader",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(sA,{EMPTY:hr,LOADING:hr,DONE:hr});jC.exports={FileReader:sA}});var gs=f((bx,eh)=>{"use strict";eh.exports={kConstruct:te().kConstruct}});var rh=f((Sx,th)=>{"use strict";var MS=d("node:assert"),{URLSerializer:Ah}=Fe(),{isValidHeaderName:US}=Ue();function LS(e,A,t=!1){let r=Ah(e,t),n=Ah(A,t);return r===n}function TS(e){MS(e!==null);let A=[];for(let t of e.split(","))t=t.trim(),US(t)&&A.push(t);return A}th.exports={urlEquals:LS,getFieldValues:TS}});var sh=f((Nx,ih)=>{"use strict";var{kConstruct:xS}=gs(),{urlEquals:GS,getFieldValues:$c}=rh(),{kEnumerableProperty:kt,isDisturbed:YS}=x(),{webidl:k}=he(),{Response:vS,cloneResponse:JS,fromInnerResponse:HS}=En(),{Request:SA,fromInnerRequest:VS}=ur(),{kState:oA}=vA(),{fetching:qS}=In(),{urlIsHttpHttpsScheme:ls,createDeferredPromise:dr,readAllBytes:WS}=Ue(),eg=d("node:assert"),Qs=class e{#e;constructor(){arguments[0]!==xS&&k.illegalConstructor(),k.util.markAsUncloneable(this),this.#e=arguments[1]}async match(A,t={}){k.brandCheck(this,e);let r="Cache.match";k.argumentLengthCheck(arguments,1,r),A=k.converters.RequestInfo(A,r,"request"),t=k.converters.CacheQueryOptions(t,r,"options");let n=this.#n(A,t,1);if(n.length!==0)return n[0]}async matchAll(A=void 0,t={}){k.brandCheck(this,e);let r="Cache.matchAll";return A!==void 0&&(A=k.converters.RequestInfo(A,r,"request")),t=k.converters.CacheQueryOptions(t,r,"options"),this.#n(A,t)}async add(A){k.brandCheck(this,e);let t="Cache.add";k.argumentLengthCheck(arguments,1,t),A=k.converters.RequestInfo(A,t,"request");let r=[A];return await this.addAll(r)}async addAll(A){k.brandCheck(this,e);let t="Cache.addAll";k.argumentLengthCheck(arguments,1,t);let r=[],n=[];for(let Q of A){if(Q===void 0)throw k.errors.conversionFailed({prefix:t,argument:"Argument 1",types:["undefined is not allowed"]});if(Q=k.converters.RequestInfo(Q),typeof Q=="string")continue;let I=Q[oA];if(!ls(I.url)||I.method!=="GET")throw k.errors.exception({header:t,message:"Expected http/s scheme when method is not GET."})}let i=[];for(let Q of A){let I=new SA(Q)[oA];if(!ls(I.url))throw k.errors.exception({header:t,message:"Expected http/s scheme."});I.initiator="fetch",I.destination="subresource",n.push(I);let E=dr();i.push(qS({request:I,processResponse(u){if(u.type==="error"||u.status===206||u.status<200||u.status>299)E.reject(k.errors.exception({header:"Cache.addAll",message:"Received an invalid status code or the request failed."}));else if(u.headersList.contains("vary")){let C=$c(u.headersList.get("vary"));for(let B of C)if(B==="*"){E.reject(k.errors.exception({header:"Cache.addAll",message:"invalid vary field value"}));for(let h of i)h.abort();return}}},processResponseEndOfBody(u){if(u.aborted){E.reject(new DOMException("aborted","AbortError"));return}E.resolve(u)}})),r.push(E.promise)}let o=await Promise.all(r),a=[],c=0;for(let Q of o){let I={type:"put",request:n[c],response:Q};a.push(I),c++}let g=dr(),l=null;try{this.#A(a)}catch(Q){l=Q}return queueMicrotask(()=>{l===null?g.resolve(void 0):g.reject(l)}),g.promise}async put(A,t){k.brandCheck(this,e);let r="Cache.put";k.argumentLengthCheck(arguments,2,r),A=k.converters.RequestInfo(A,r,"request"),t=k.converters.Response(t,r,"response");let n=null;if(A instanceof SA?n=A[oA]:n=new SA(A)[oA],!ls(n.url)||n.method!=="GET")throw k.errors.exception({header:r,message:"Expected an http/s scheme when method is not GET"});let i=t[oA];if(i.status===206)throw k.errors.exception({header:r,message:"Got 206 status"});if(i.headersList.contains("vary")){let I=$c(i.headersList.get("vary"));for(let E of I)if(E==="*")throw k.errors.exception({header:r,message:"Got * vary field value"})}if(i.body&&(YS(i.body.stream)||i.body.stream.locked))throw k.errors.exception({header:r,message:"Response body is locked or disturbed"});let s=JS(i),o=dr();if(i.body!=null){let E=i.body.stream.getReader();WS(E).then(o.resolve,o.reject)}else o.resolve(void 0);let a=[],c={type:"put",request:n,response:s};a.push(c);let g=await o.promise;s.body!=null&&(s.body.source=g);let l=dr(),Q=null;try{this.#A(a)}catch(I){Q=I}return queueMicrotask(()=>{Q===null?l.resolve():l.reject(Q)}),l.promise}async delete(A,t={}){k.brandCheck(this,e);let r="Cache.delete";k.argumentLengthCheck(arguments,1,r),A=k.converters.RequestInfo(A,r,"request"),t=k.converters.CacheQueryOptions(t,r,"options");let n=null;if(A instanceof SA){if(n=A[oA],n.method!=="GET"&&!t.ignoreMethod)return!1}else eg(typeof A=="string"),n=new SA(A)[oA];let i=[],s={type:"delete",request:n,options:t};i.push(s);let o=dr(),a=null,c;try{c=this.#A(i)}catch(g){a=g}return queueMicrotask(()=>{a===null?o.resolve(!!c?.length):o.reject(a)}),o.promise}async keys(A=void 0,t={}){k.brandCheck(this,e);let r="Cache.keys";A!==void 0&&(A=k.converters.RequestInfo(A,r,"request")),t=k.converters.CacheQueryOptions(t,r,"options");let n=null;if(A!==void 0)if(A instanceof SA){if(n=A[oA],n.method!=="GET"&&!t.ignoreMethod)return[]}else typeof A=="string"&&(n=new SA(A)[oA]);let i=dr(),s=[];if(A===void 0)for(let o of this.#e)s.push(o[0]);else{let o=this.#t(n,t);for(let a of o)s.push(a[0])}return queueMicrotask(()=>{let o=[];for(let a of s){let c=VS(a,new AbortController().signal,"immutable");o.push(c)}i.resolve(Object.freeze(o))}),i.promise}#A(A){let t=this.#e,r=[...t],n=[],i=[];try{for(let s of A){if(s.type!=="delete"&&s.type!=="put")throw k.errors.exception({header:"Cache.#batchCacheOperations",message:'operation type does not match "delete" or "put"'});if(s.type==="delete"&&s.response!=null)throw k.errors.exception({header:"Cache.#batchCacheOperations",message:"delete operation should not have an associated response"});if(this.#t(s.request,s.options,n).length)throw new DOMException("???","InvalidStateError");let o;if(s.type==="delete"){if(o=this.#t(s.request,s.options),o.length===0)return[];for(let a of o){let c=t.indexOf(a);eg(c!==-1),t.splice(c,1)}}else if(s.type==="put"){if(s.response==null)throw k.errors.exception({header:"Cache.#batchCacheOperations",message:"put operation should have an associated response"});let a=s.request;if(!ls(a.url))throw k.errors.exception({header:"Cache.#batchCacheOperations",message:"expected http or https scheme"});if(a.method!=="GET")throw k.errors.exception({header:"Cache.#batchCacheOperations",message:"not get method"});if(s.options!=null)throw k.errors.exception({header:"Cache.#batchCacheOperations",message:"options must not be defined"});o=this.#t(s.request);for(let c of o){let g=t.indexOf(c);eg(g!==-1),t.splice(g,1)}t.push([s.request,s.response]),n.push([s.request,s.response])}i.push([s.request,s.response])}return i}catch(s){throw this.#e.length=0,this.#e=r,s}}#t(A,t,r){let n=[],i=r??this.#e;for(let s of i){let[o,a]=s;this.#i(A,o,a,t)&&n.push(s)}return n}#i(A,t,r=null,n){let i=new URL(A.url),s=new URL(t.url);if(n?.ignoreSearch&&(s.search="",i.search=""),!GS(i,s,!0))return!1;if(r==null||n?.ignoreVary||!r.headersList.contains("vary"))return!0;let o=$c(r.headersList.get("vary"));for(let a of o){if(a==="*")return!1;let c=t.headersList.get(a),g=A.headersList.get(a);if(c!==g)return!1}return!0}#n(A,t,r=1/0){let n=null;if(A!==void 0)if(A instanceof SA){if(n=A[oA],n.method!=="GET"&&!t.ignoreMethod)return[]}else typeof A=="string"&&(n=new SA(A)[oA]);let i=[];if(A===void 0)for(let o of this.#e)i.push(o[1]);else{let o=this.#t(n,t);for(let a of o)i.push(a[1])}let s=[];for(let o of i){let a=HS(o,"immutable");if(s.push(a.clone()),s.length>=r)break}return Object.freeze(s)}};Object.defineProperties(Qs.prototype,{[Symbol.toStringTag]:{value:"Cache",configurable:!0},match:kt,matchAll:kt,add:kt,addAll:kt,put:kt,delete:kt,keys:kt});var nh=[{key:"ignoreSearch",converter:k.converters.boolean,defaultValue:()=>!1},{key:"ignoreMethod",converter:k.converters.boolean,defaultValue:()=>!1},{key:"ignoreVary",converter:k.converters.boolean,defaultValue:()=>!1}];k.converters.CacheQueryOptions=k.dictionaryConverter(nh);k.converters.MultiCacheQueryOptions=k.dictionaryConverter([...nh,{key:"cacheName",converter:k.converters.DOMString}]);k.converters.Response=k.interfaceConverter(vS);k.converters["sequence<RequestInfo>"]=k.sequenceConverter(k.converters.RequestInfo);ih.exports={Cache:Qs}});var ah=f((Mx,oh)=>{"use strict";var{kConstruct:Cn}=gs(),{Cache:Es}=sh(),{webidl:fe}=he(),{kEnumerableProperty:hn}=x(),Bs=class e{#e=new Map;constructor(){arguments[0]!==Cn&&fe.illegalConstructor(),fe.util.markAsUncloneable(this)}async match(A,t={}){if(fe.brandCheck(this,e),fe.argumentLengthCheck(arguments,1,"CacheStorage.match"),A=fe.converters.RequestInfo(A),t=fe.converters.MultiCacheQueryOptions(t),t.cacheName!=null){if(this.#e.has(t.cacheName)){let r=this.#e.get(t.cacheName);return await new Es(Cn,r).match(A,t)}}else for(let r of this.#e.values()){let i=await new Es(Cn,r).match(A,t);if(i!==void 0)return i}}async has(A){fe.brandCheck(this,e);let t="CacheStorage.has";return fe.argumentLengthCheck(arguments,1,t),A=fe.converters.DOMString(A,t,"cacheName"),this.#e.has(A)}async open(A){fe.brandCheck(this,e);let t="CacheStorage.open";if(fe.argumentLengthCheck(arguments,1,t),A=fe.converters.DOMString(A,t,"cacheName"),this.#e.has(A)){let n=this.#e.get(A);return new Es(Cn,n)}let r=[];return this.#e.set(A,r),new Es(Cn,r)}async delete(A){fe.brandCheck(this,e);let t="CacheStorage.delete";return fe.argumentLengthCheck(arguments,1,t),A=fe.converters.DOMString(A,t,"cacheName"),this.#e.delete(A)}async keys(){return fe.brandCheck(this,e),[...this.#e.keys()]}};Object.defineProperties(Bs.prototype,{[Symbol.toStringTag]:{value:"CacheStorage",configurable:!0},match:hn,has:hn,open:hn,delete:hn,keys:hn});oh.exports={CacheStorage:Bs}});var gh=f((Ux,ch)=>{"use strict";ch.exports={maxAttributeValueSize:1024,maxNameValuePairSize:4096}});var rg=f((Lx,Bh)=>{"use strict";function PS(e){for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);if(t>=0&&t<=8||t>=10&&t<=31||t===127)return!0}return!1}function Ag(e){for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);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 tg(e){let A=e.length,t=0;if(e[0]==='"'){if(A===1||e[A-1]!=='"')throw new Error("Invalid cookie value");--A,++t}for(;t<A;){let r=e.charCodeAt(t++);if(r<33||r>126||r===34||r===44||r===59||r===92)throw new Error("Invalid cookie value")}}function Qh(e){for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);if(t<32||t>126||t===59)throw new Error("Invalid cookie path")}}function lh(e){return e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122}function OS(e){if(e===" ")return;if(e.length>255)throw new Error("Invalid cookie domain");let A=0;for(let t=0;t<e.length;++t){let r=e.charCodeAt(t);if(r===46){if(A===0)throw new Error("Invalid cookie domain");if(e.charCodeAt(t-1)===45)throw new Error("Invalid cookie domain");A=0;continue}if(A===0&&!lh(r))throw new Error("Invalid cookie domain");if(!lh(r)&&r!==45)throw new Error("Invalid cookie domain");if(++A>63)throw new Error("Invalid cookie domain")}if(A===0||e.charCodeAt(e.length-1)===45)throw new Error("Invalid cookie domain")}var _S=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],zS=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Is=Array(61).fill(0).map((e,A)=>A.toString().padStart(2,"0"));function Eh(e){return typeof e=="number"&&(e=new Date(e)),`${_S[e.getUTCDay()]}, ${Is[e.getUTCDate()]} ${zS[e.getUTCMonth()]} ${e.getUTCFullYear()} ${Is[e.getUTCHours()]}:${Is[e.getUTCMinutes()]}:${Is[e.getUTCSeconds()]} GMT`}function ZS(e){if(e<0)throw new Error("Invalid cookie max-age")}function KS(e){if(e.name.length===0)return null;Ag(e.name),tg(e.value);let A=[`${e.name}=${e.value}`];e.name.startsWith("__Secure-")&&(e.secure=!0),e.name.startsWith("__Host-")&&(e.secure=!0,e.domain=null,e.path="/"),e.secure&&A.push("Secure"),e.httpOnly&&A.push("HttpOnly"),typeof e.maxAge=="number"&&(ZS(e.maxAge),A.push(`Max-Age=${e.maxAge}`)),e.domain&&(OS(e.domain),A.push(`Domain=${e.domain}`)),e.path&&(Qh(e.path),A.push(`Path=${e.path}`)),e.expires&&e.expires.toString()!=="Invalid Date"&&A.push(`Expires=${Eh(e.expires)}`),e.sameSite&&A.push(`SameSite=${e.sameSite}`);for(let t of e.unparsed){if(!t.includes("="))throw new Error("Invalid unparsed");let[r,...n]=t.split("="),i=r.trim(),s=n.join("=");Ag(i),tg(s),A.push(`${i}=${s}`)}return A.join("; ")}Bh.exports={isCTLExcludingHtab:PS,validateCookieName:Ag,validateCookiePath:Qh,validateCookieValue:tg,toIMFDate:Eh,stringify:KS}});var uh=f((Tx,Ih)=>{"use strict";var{maxNameValuePairSize:XS,maxAttributeValueSize:jS}=gh(),{isCTLExcludingHtab:$S}=rg(),{collectASequenceOfCodePointsFast:us}=Fe(),eN=d("node:assert");function AN(e){if($S(e))return null;let A="",t="",r="",n="";if(e.includes(";")){let i={position:0};A=us(";",e,i),t=e.slice(i.position)}else A=e;if(!A.includes("="))n=A;else{let i={position:0};r=us("=",A,i),n=A.slice(i.position+1)}return r=r.trim(),n=n.trim(),r.length+n.length>XS?null:{name:r,value:n,...fr(t)}}function fr(e,A={}){if(e.length===0)return A;eN(e[0]===";"),e=e.slice(1);let t="";e.includes(";")?(t=us(";",e,{position:0}),e=e.slice(t.length)):(t=e,e="");let r="",n="";if(t.includes("=")){let s={position:0};r=us("=",t,s),n=t.slice(s.position+1)}else r=t;if(r=r.trim(),n=n.trim(),n.length>jS)return fr(e,A);let i=r.toLowerCase();if(i==="expires"){let s=new Date(n);A.expires=s}else if(i==="max-age"){let s=n.charCodeAt(0);if((s<48||s>57)&&n[0]!=="-"||!/^\d+$/.test(n))return fr(e,A);let o=Number(n);A.maxAge=o}else if(i==="domain"){let s=n;s[0]==="."&&(s=s.slice(1)),s=s.toLowerCase(),A.domain=s}else if(i==="path"){let s="";n.length===0||n[0]!=="/"?s="/":s=n,A.path=s}else if(i==="secure")A.secure=!0;else if(i==="httponly")A.httpOnly=!0;else if(i==="samesite"){let s=n.toLowerCase();s==="none"?A.sameSite="None":s==="strict"?A.sameSite="Strict":s==="lax"&&(A.sameSite="Lax")}else A.unparsed??=[],A.unparsed.push(`${r}=${n}`);return fr(e,A)}Ih.exports={parseSetCookie:AN,parseUnparsedAttributes:fr}});var dh=f((xx,hh)=>{"use strict";var{parseSetCookie:tN}=uh(),{stringify:rN}=rg(),{webidl:v}=he(),{Headers:Cs}=wt();function nN(e){v.argumentLengthCheck(arguments,1,"getCookies"),v.brandCheck(e,Cs,{strict:!1});let A=e.get("cookie"),t={};if(!A)return t;for(let r of A.split(";")){let[n,...i]=r.split("=");t[n.trim()]=i.join("=")}return t}function iN(e,A,t){v.brandCheck(e,Cs,{strict:!1});let r="deleteCookie";v.argumentLengthCheck(arguments,2,r),A=v.converters.DOMString(A,r,"name"),t=v.converters.DeleteCookieAttributes(t),Ch(e,{name:A,value:"",expires:new Date(0),...t})}function sN(e){v.argumentLengthCheck(arguments,1,"getSetCookies"),v.brandCheck(e,Cs,{strict:!1});let A=e.getSetCookie();return A?A.map(t=>tN(t)):[]}function Ch(e,A){v.argumentLengthCheck(arguments,2,"setCookie"),v.brandCheck(e,Cs,{strict:!1}),A=v.converters.Cookie(A);let t=rN(A);t&&e.append("Set-Cookie",t)}v.converters.DeleteCookieAttributes=v.dictionaryConverter([{converter:v.nullableConverter(v.converters.DOMString),key:"path",defaultValue:()=>null},{converter:v.nullableConverter(v.converters.DOMString),key:"domain",defaultValue:()=>null}]);v.converters.Cookie=v.dictionaryConverter([{converter:v.converters.DOMString,key:"name"},{converter:v.converters.DOMString,key:"value"},{converter:v.nullableConverter(e=>typeof e=="number"?v.converters["unsigned long long"](e):new Date(e)),key:"expires",defaultValue:()=>null},{converter:v.nullableConverter(v.converters["long long"]),key:"maxAge",defaultValue:()=>null},{converter:v.nullableConverter(v.converters.DOMString),key:"domain",defaultValue:()=>null},{converter:v.nullableConverter(v.converters.DOMString),key:"path",defaultValue:()=>null},{converter:v.nullableConverter(v.converters.boolean),key:"secure",defaultValue:()=>null},{converter:v.nullableConverter(v.converters.boolean),key:"httpOnly",defaultValue:()=>null},{converter:v.converters.USVString,key:"sameSite",allowedValues:["Strict","Lax","None"]},{converter:v.sequenceConverter(v.converters.DOMString),key:"unparsed",defaultValue:()=>new Array(0)}]);hh.exports={getCookies:nN,deleteCookie:iN,getSetCookies:sN,setCookie:Ch}});var wr=f((Gx,ph)=>{"use strict";var{webidl:F}=he(),{kEnumerableProperty:Se}=x(),{kConstruct:fh}=te(),{MessagePort:oN}=d("node:worker_threads"),pr=class e extends Event{#e;constructor(A,t={}){if(A===fh){super(arguments[1],arguments[2]),F.util.markAsUncloneable(this);return}let r="MessageEvent constructor";F.argumentLengthCheck(arguments,1,r),A=F.converters.DOMString(A,r,"type"),t=F.converters.MessageEventInit(t,r,"eventInitDict"),super(A,t),this.#e=t,F.util.markAsUncloneable(this)}get data(){return F.brandCheck(this,e),this.#e.data}get origin(){return F.brandCheck(this,e),this.#e.origin}get lastEventId(){return F.brandCheck(this,e),this.#e.lastEventId}get source(){return F.brandCheck(this,e),this.#e.source}get ports(){return F.brandCheck(this,e),Object.isFrozen(this.#e.ports)||Object.freeze(this.#e.ports),this.#e.ports}initMessageEvent(A,t=!1,r=!1,n=null,i="",s="",o=null,a=[]){return F.brandCheck(this,e),F.argumentLengthCheck(arguments,1,"MessageEvent.initMessageEvent"),new e(A,{bubbles:t,cancelable:r,data:n,origin:i,lastEventId:s,source:o,ports:a})}static createFastMessageEvent(A,t){let r=new e(fh,A,t);return r.#e=t,r.#e.data??=null,r.#e.origin??="",r.#e.lastEventId??="",r.#e.source??=null,r.#e.ports??=[],r}},{createFastMessageEvent:aN}=pr;delete pr.createFastMessageEvent;var hs=class e extends Event{#e;constructor(A,t={}){let r="CloseEvent constructor";F.argumentLengthCheck(arguments,1,r),A=F.converters.DOMString(A,r,"type"),t=F.converters.CloseEventInit(t),super(A,t),this.#e=t,F.util.markAsUncloneable(this)}get wasClean(){return F.brandCheck(this,e),this.#e.wasClean}get code(){return F.brandCheck(this,e),this.#e.code}get reason(){return F.brandCheck(this,e),this.#e.reason}},ds=class e extends Event{#e;constructor(A,t){let r="ErrorEvent constructor";F.argumentLengthCheck(arguments,1,r),super(A,t),F.util.markAsUncloneable(this),A=F.converters.DOMString(A,r,"type"),t=F.converters.ErrorEventInit(t??{}),this.#e=t}get message(){return F.brandCheck(this,e),this.#e.message}get filename(){return F.brandCheck(this,e),this.#e.filename}get lineno(){return F.brandCheck(this,e),this.#e.lineno}get colno(){return F.brandCheck(this,e),this.#e.colno}get error(){return F.brandCheck(this,e),this.#e.error}};Object.defineProperties(pr.prototype,{[Symbol.toStringTag]:{value:"MessageEvent",configurable:!0},data:Se,origin:Se,lastEventId:Se,source:Se,ports:Se,initMessageEvent:Se});Object.defineProperties(hs.prototype,{[Symbol.toStringTag]:{value:"CloseEvent",configurable:!0},reason:Se,code:Se,wasClean:Se});Object.defineProperties(ds.prototype,{[Symbol.toStringTag]:{value:"ErrorEvent",configurable:!0},message:Se,filename:Se,lineno:Se,colno:Se,error:Se});F.converters.MessagePort=F.interfaceConverter(oN);F.converters["sequence<MessagePort>"]=F.sequenceConverter(F.converters.MessagePort);var ng=[{key:"bubbles",converter:F.converters.boolean,defaultValue:()=>!1},{key:"cancelable",converter:F.converters.boolean,defaultValue:()=>!1},{key:"composed",converter:F.converters.boolean,defaultValue:()=>!1}];F.converters.MessageEventInit=F.dictionaryConverter([...ng,{key:"data",converter:F.converters.any,defaultValue:()=>null},{key:"origin",converter:F.converters.USVString,defaultValue:()=>""},{key:"lastEventId",converter:F.converters.DOMString,defaultValue:()=>""},{key:"source",converter:F.nullableConverter(F.converters.MessagePort),defaultValue:()=>null},{key:"ports",converter:F.converters["sequence<MessagePort>"],defaultValue:()=>new Array(0)}]);F.converters.CloseEventInit=F.dictionaryConverter([...ng,{key:"wasClean",converter:F.converters.boolean,defaultValue:()=>!1},{key:"code",converter:F.converters["unsigned short"],defaultValue:()=>0},{key:"reason",converter:F.converters.USVString,defaultValue:()=>""}]);F.converters.ErrorEventInit=F.dictionaryConverter([...ng,{key:"message",converter:F.converters.DOMString,defaultValue:()=>""},{key:"filename",converter:F.converters.USVString,defaultValue:()=>""},{key:"lineno",converter:F.converters["unsigned long"],defaultValue:()=>0},{key:"colno",converter:F.converters["unsigned long"],defaultValue:()=>0},{key:"error",converter:F.converters.any}]);ph.exports={MessageEvent:pr,CloseEvent:hs,ErrorEvent:ds,createFastMessageEvent:aN}});var Rt=f((Yx,wh)=>{"use strict";var cN="258EAFA5-E914-47DA-95CA-C5AB0DC85B11",gN={enumerable:!0,writable:!1,configurable:!1},lN={CONNECTING:0,OPEN:1,CLOSING:2,CLOSED:3},QN={NOT_SENT:0,PROCESSING:1,SENT:2},EN={CONTINUATION:0,TEXT:1,BINARY:2,CLOSE:8,PING:9,PONG:10},BN=2**16-1,IN={INFO:0,PAYLOADLENGTH_16:2,PAYLOADLENGTH_64:3,READ_DATA:4},uN=Buffer.allocUnsafe(0),CN={string:1,typedArray:2,arrayBuffer:3,blob:4};wh.exports={uid:cN,sentCloseFrameState:QN,staticPropertyDescriptors:gN,states:lN,opcodes:EN,maxUnsigned16Bit:BN,parserStates:IN,emptyBuffer:uN,sendHints:CN}});var dn=f((vx,yh)=>{"use strict";yh.exports={kWebSocketURL:Symbol("url"),kReadyState:Symbol("ready state"),kController:Symbol("controller"),kResponse:Symbol("response"),kBinaryType:Symbol("binary type"),kSentClose:Symbol("sent close"),kReceivedClose:Symbol("received close"),kByteParser:Symbol("byte parser")}});var wn=f((Jx,Mh)=>{"use strict";var{kReadyState:fn,kController:hN,kResponse:dN,kBinaryType:fN,kWebSocketURL:pN}=dn(),{states:pn,opcodes:$A}=Rt(),{ErrorEvent:wN,createFastMessageEvent:yN}=wr(),{isUtf8:mN}=d("node:buffer"),{collectASequenceOfCodePointsFast:DN,removeHTTPWhitespace:mh}=Fe();function FN(e){return e[fn]===pn.CONNECTING}function kN(e){return e[fn]===pn.OPEN}function RN(e){return e[fn]===pn.CLOSING}function bN(e){return e[fn]===pn.CLOSED}function ig(e,A,t=(n,i)=>new Event(n,i),r={}){let n=t(e,r);A.dispatchEvent(n)}function SN(e,A,t){if(e[fn]!==pn.OPEN)return;let r;if(A===$A.TEXT)try{r=Nh(t)}catch{Fh(e,"Received invalid UTF-8 in text frame.");return}else A===$A.BINARY&&(e[fN]==="blob"?r=new Blob([t]):r=NN(t));ig("message",e,yN,{origin:e[pN].origin,data:r})}function NN(e){return e.byteLength===e.buffer.byteLength?e.buffer:e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)}function MN(e){if(e.length===0)return!1;for(let A=0;A<e.length;++A){let t=e.charCodeAt(A);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 UN(e){return e>=1e3&&e<1015?e!==1004&&e!==1005&&e!==1006:e>=3e3&&e<=4999}function Fh(e,A){let{[hN]:t,[dN]:r}=e;t.abort(),r?.socket&&!r.socket.destroyed&&r.socket.destroy(),A&&ig("error",e,(n,i)=>new wN(n,i),{error:new Error(A),message:A})}function kh(e){return e===$A.CLOSE||e===$A.PING||e===$A.PONG}function Rh(e){return e===$A.CONTINUATION}function bh(e){return e===$A.TEXT||e===$A.BINARY}function LN(e){return bh(e)||Rh(e)||kh(e)}function TN(e){let A={position:0},t=new Map;for(;A.position<e.length;){let r=DN(";",e,A),[n,i=""]=r.split("=");t.set(mh(n,!0,!1),mh(i,!1,!0)),A.position++}return t}function xN(e){if(e.length===0)return!1;for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);if(r<48||r>57)return!1}let A=Number.parseInt(e,10);return A>=8&&A<=15}var Sh=typeof process.versions.icu=="string",Dh=Sh?new TextDecoder("utf-8",{fatal:!0}):void 0,Nh=Sh?Dh.decode.bind(Dh):function(e){if(mN(e))return e.toString("utf-8");throw new TypeError("Invalid utf-8 received.")};Mh.exports={isConnecting:FN,isEstablished:kN,isClosing:RN,isClosed:bN,fireEvent:ig,isValidSubprotocol:MN,isValidStatusCode:UN,failWebsocketConnection:Fh,websocketMessageReceived:SN,utf8Decode:Nh,isControlFrame:kh,isContinuationFrame:Rh,isTextBinaryFrame:bh,isValidOpcode:LN,parseExtensions:TN,isValidClientWindowBits:xN}});var ps=f((Hx,Uh)=>{"use strict";var{maxUnsigned16Bit:GN}=Rt(),fs=16386,sg,yn=null,yr=fs;try{sg=d("node:crypto")}catch{sg={randomFillSync:function(A,t,r){for(let n=0;n<A.length;++n)A[n]=Math.random()*255|0;return A}}}function YN(){return yr===fs&&(yr=0,sg.randomFillSync(yn??=Buffer.allocUnsafe(fs),0,fs)),[yn[yr++],yn[yr++],yn[yr++],yn[yr++]]}var og=class{constructor(A){this.frameData=A}createFrame(A){let t=this.frameData,r=YN(),n=t?.byteLength??0,i=n,s=6;n>GN?(s+=8,i=127):n>125&&(s+=2,i=126);let o=Buffer.allocUnsafe(n+s);o[0]=o[1]=0,o[0]|=128,o[0]=(o[0]&240)+A;o[s-4]=r[0],o[s-3]=r[1],o[s-2]=r[2],o[s-1]=r[3],o[1]=i,i===126?o.writeUInt16BE(n,2):i===127&&(o[2]=o[3]=0,o.writeUIntBE(n,4,6)),o[1]|=128;for(let a=0;a<n;++a)o[s+a]=t[a]^r[a&3];return o}};Uh.exports={WebsocketFrameSend:og}});var cg=f((Vx,Jh)=>{"use strict";var{uid:vN,states:mn,sentCloseFrameState:ws,emptyBuffer:JN,opcodes:HN}=Rt(),{kReadyState:Dn,kSentClose:ys,kByteParser:Th,kReceivedClose:Lh,kResponse:xh}=dn(),{fireEvent:VN,failWebsocketConnection:et,isClosing:qN,isClosed:WN,isEstablished:PN,parseExtensions:ON}=wn(),{channels:mr}=Lt(),{CloseEvent:_N}=wr(),{makeRequest:zN}=ur(),{fetching:ZN}=In(),{Headers:KN,getHeadersList:XN}=wt(),{getDecodeSplit:jN}=Ue(),{WebsocketFrameSend:$N}=ps(),ag;try{ag=d("node:crypto")}catch{}function eM(e,A,t,r,n,i){let s=e;s.protocol=e.protocol==="ws:"?"http:":"https:";let o=zN({urlList:[s],client:t,serviceWorkers:"none",referrer:"no-referrer",mode:"websocket",credentials:"include",cache:"no-store",redirect:"error"});if(i.headers){let l=XN(new KN(i.headers));o.headersList=l}let a=ag.randomBytes(16).toString("base64");o.headersList.append("sec-websocket-key",a),o.headersList.append("sec-websocket-version","13");for(let l of A)o.headersList.append("sec-websocket-protocol",l);return o.headersList.append("sec-websocket-extensions","permessage-deflate; client_max_window_bits"),ZN({request:o,useParallelQueue:!0,dispatcher:i.dispatcher,processResponse(l){if(l.type==="error"||l.status!==101){et(r,"Received network error or non-101 status code.");return}if(A.length!==0&&!l.headersList.get("Sec-WebSocket-Protocol")){et(r,"Server did not respond with sent protocols.");return}if(l.headersList.get("Upgrade")?.toLowerCase()!=="websocket"){et(r,'Server did not set Upgrade header to "websocket".');return}if(l.headersList.get("Connection")?.toLowerCase()!=="upgrade"){et(r,'Server did not set Connection header to "upgrade".');return}let Q=l.headersList.get("Sec-WebSocket-Accept"),I=ag.createHash("sha1").update(a+vN).digest("base64");if(Q!==I){et(r,"Incorrect hash received in Sec-WebSocket-Accept header.");return}let E=l.headersList.get("Sec-WebSocket-Extensions"),u;if(E!==null&&(u=ON(E),!u.has("permessage-deflate"))){et(r,"Sec-WebSocket-Extensions header does not match.");return}let C=l.headersList.get("Sec-WebSocket-Protocol");if(C!==null&&!jN("sec-websocket-protocol",o.headersList).includes(C)){et(r,"Protocol was not set in the opening handshake.");return}l.socket.on("data",Gh),l.socket.on("close",Yh),l.socket.on("error",vh),mr.open.hasSubscribers&&mr.open.publish({address:l.socket.address(),protocol:C,extensions:E}),n(l,u)}})}function AM(e,A,t,r){if(!(qN(e)||WN(e)))if(!PN(e))et(e,"Connection was closed before it was established."),e[Dn]=mn.CLOSING;else if(e[ys]===ws.NOT_SENT){e[ys]=ws.PROCESSING;let n=new $N;A!==void 0&&t===void 0?(n.frameData=Buffer.allocUnsafe(2),n.frameData.writeUInt16BE(A,0)):A!==void 0&&t!==void 0?(n.frameData=Buffer.allocUnsafe(2+r),n.frameData.writeUInt16BE(A,0),n.frameData.write(t,2,"utf-8")):n.frameData=JN,e[xh].socket.write(n.createFrame(HN.CLOSE)),e[ys]=ws.SENT,e[Dn]=mn.CLOSING}else e[Dn]=mn.CLOSING}function Gh(e){this.ws[Th].write(e)||this.pause()}function Yh(){let{ws:e}=this,{[xh]:A}=e;A.socket.off("data",Gh),A.socket.off("close",Yh),A.socket.off("error",vh);let t=e[ys]===ws.SENT&&e[Lh],r=1005,n="",i=e[Th].closingInfo;i&&!i.error?(r=i.code??1005,n=i.reason):e[Lh]||(r=1006),e[Dn]=mn.CLOSED,VN("close",e,(s,o)=>new _N(s,o),{wasClean:t,code:r,reason:n}),mr.close.hasSubscribers&&mr.close.publish({websocket:e,code:r,reason:n})}function vh(e){let{ws:A}=this;A[Dn]=mn.CLOSING,mr.socketError.hasSubscribers&&mr.socketError.publish(e),this.destroy()}Jh.exports={establishWebSocketConnection:eM,closeWebSocketConnection:AM}});var Vh=f((qx,Hh)=>{"use strict";var{createInflateRaw:tM,Z_DEFAULT_WINDOWBITS:rM}=d("node:zlib"),{isValidClientWindowBits:nM}=wn(),{MessageSizeExceededError:iM}=V(),sM=Buffer.from([0,0,255,255]),ms=Symbol("kBuffer"),Fn=Symbol("kLength"),gg=class{#e;#A={};#t=0;constructor(A,t){this.#A.serverNoContextTakeover=A.has("server_no_context_takeover"),this.#A.serverMaxWindowBits=A.get("server_max_window_bits"),this.#t=t.maxPayloadSize}decompress(A,t,r){if(!this.#e){let n=rM;if(this.#A.serverMaxWindowBits){if(!nM(this.#A.serverMaxWindowBits)){r(new Error("Invalid server_max_window_bits"));return}n=Number.parseInt(this.#A.serverMaxWindowBits)}try{this.#e=tM({windowBits:n})}catch(i){r(i);return}this.#e[ms]=[],this.#e[Fn]=0,this.#e.on("data",i=>{if(this.#e[Fn]+=i.length,this.#t>0&&this.#e[Fn]>this.#t){r(new iM),this.#e.removeAllListeners(),this.#e=null;return}this.#e[ms].push(i)}),this.#e.on("error",i=>{this.#e=null,r(i)})}this.#e.write(A),t&&this.#e.write(sM),this.#e.flush(()=>{if(!this.#e)return;let n=Buffer.concat(this.#e[ms],this.#e[Fn]);this.#e[ms].length=0,this.#e[Fn]=0,r(null,n)})}};Hh.exports={PerMessageDeflate:gg}});var jh=f((Wx,Xh)=>{"use strict";var{Writable:oM}=d("node:stream"),aM=d("node:assert"),{parserStates:Ne,opcodes:Dr,states:cM,emptyBuffer:qh,sentCloseFrameState:Wh}=Rt(),{kReadyState:gM,kSentClose:Ph,kResponse:Oh,kReceivedClose:_h}=dn(),{channels:Ds}=Lt(),{isValidStatusCode:lM,isValidOpcode:QM,failWebsocketConnection:He,websocketMessageReceived:zh,utf8Decode:EM,isControlFrame:lg,isTextBinaryFrame:Qg,isContinuationFrame:BM}=wn(),{WebsocketFrameSend:Zh}=ps(),{closeWebSocketConnection:Kh}=cg(),{PerMessageDeflate:IM}=Vh(),{MessageSizeExceededError:Eg}=V();function kn(e,A,t){Kh(e,A,t,Buffer.byteLength(t)),He(e,t)}var Bg=class extends oM{#e=[];#A=0;#t=0;#i=!1;#n=Ne.INFO;#r={};#s=[];#o;#c;#a;constructor(A,t,r={}){super(),this.ws=A,this.#o=t??new Map,this.#c=r.maxFragments??0,this.#a=r.maxPayloadSize??0,this.#o.has("permessage-deflate")&&this.#o.set("permessage-deflate",new IM(t,r))}_write(A,t,r){this.#e.push(A),this.#t+=A.length,this.#i=!0,this.run(r)}#g(){return this.#a>0&&!lg(this.#r.opcode)&&this.#r.payloadLength+this.#A>this.#a?(kn(this.ws,1009,"Payload size exceeds maximum allowed size"),!1):!0}run(A){for(;this.#i;)if(this.#n===Ne.INFO){if(this.#t<2)return A();let t=this.consume(2),r=(t[0]&128)!==0,n=t[0]&15,i=(t[1]&128)===128,s=!r&&n!==Dr.CONTINUATION,o=t[1]&127,a=t[0]&64,c=t[0]&32,g=t[0]&16;if(!QM(n))return He(this.ws,"Invalid opcode received"),A();if(i)return He(this.ws,"Frame cannot be masked"),A();if(a!==0&&!this.#o.has("permessage-deflate")){He(this.ws,"Expected RSV1 to be clear.");return}if(c!==0||g!==0){He(this.ws,"RSV1, RSV2, RSV3 must be clear");return}if(s&&!Qg(n)){He(this.ws,"Invalid frame type was fragmented.");return}if(Qg(n)&&this.#s.length>0){He(this.ws,"Expected continuation frame");return}if(this.#r.fragmented&&s){He(this.ws,"Fragmented frame exceeded 125 bytes.");return}if((o>125||s)&&lg(n)){He(this.ws,"Control frame either too large or fragmented");return}if(BM(n)&&this.#s.length===0&&!this.#r.compressed){He(this.ws,"Unexpected continuation frame");return}if(o<=125){if(this.#r.payloadLength=o,this.#n=Ne.READ_DATA,!this.#g())return}else o===126?this.#n=Ne.PAYLOADLENGTH_16:o===127&&(this.#n=Ne.PAYLOADLENGTH_64);Qg(n)&&(this.#r.binaryType=n,this.#r.compressed=a!==0),this.#r.opcode=n,this.#r.masked=i,this.#r.fin=r,this.#r.fragmented=s}else if(this.#n===Ne.PAYLOADLENGTH_16){if(this.#t<2)return A();let t=this.consume(2);if(this.#r.payloadLength=t.readUInt16BE(0),this.#n=Ne.READ_DATA,!this.#g())return}else if(this.#n===Ne.PAYLOADLENGTH_64){if(this.#t<8)return A();let t=this.consume(8),r=t.readUInt32BE(0),n=t.readUInt32BE(4);if(r!==0||n>2**31-1){He(this.ws,"Received payload length > 2^31 bytes.");return}if(this.#r.payloadLength=n,this.#n=Ne.READ_DATA,!this.#g())return}else if(this.#n===Ne.READ_DATA){if(this.#t<this.#r.payloadLength)return A();let t=this.consume(this.#r.payloadLength);if(lg(this.#r.opcode))this.#i=this.parseControlFrame(t),this.#n=Ne.INFO;else if(this.#r.compressed){this.#o.get("permessage-deflate").decompress(t,this.#r.fin,(r,n)=>{if(r){let i=r instanceof Eg?1009:1007;kn(this.ws,i,r.message);return}if(this.writeFragments(n)){if(this.#a>0&&this.#A>this.#a){kn(this.ws,1009,new Eg().message);return}if(!this.#r.fin){this.#n=Ne.INFO,this.#i=!0,this.run(A);return}zh(this.ws,this.#r.binaryType,this.consumeFragments()),this.#i=!0,this.#n=Ne.INFO,this.run(A)}}),this.#i=!1;break}else{if(!this.writeFragments(t))return;if(this.#a>0&&this.#A>this.#a){kn(this.ws,1009,new Eg().message);return}!this.#r.fragmented&&this.#r.fin&&zh(this.ws,this.#r.binaryType,this.consumeFragments()),this.#n=Ne.INFO}}}consume(A){if(A>this.#t)throw new Error("Called consume() before buffers satiated.");if(A===0)return qh;if(this.#e[0].length===A)return this.#t-=this.#e[0].length,this.#e.shift();let t=Buffer.allocUnsafe(A),r=0;for(;r!==A;){let n=this.#e[0],{length:i}=n;if(i+r===A){t.set(this.#e.shift(),r);break}else if(i+r>A){t.set(n.subarray(0,A-r),r),this.#e[0]=n.subarray(A-r);break}else t.set(this.#e.shift(),r),r+=n.length}return this.#t-=A,t}writeFragments(A){return this.#c>0&&this.#s.length===this.#c?(kn(this.ws,1008,"Too many message fragments"),!1):(this.#A+=A.length,this.#s.push(A),!0)}consumeFragments(){let A=this.#s;if(A.length===1)return this.#A=0,A.shift();let t=Buffer.concat(A,this.#A);return this.#s=[],this.#A=0,t}parseCloseBody(A){aM(A.length!==1);let t;if(A.length>=2&&(t=A.readUInt16BE(0)),t!==void 0&&!lM(t))return{code:1002,reason:"Invalid status code",error:!0};let r=A.subarray(2);r[0]===239&&r[1]===187&&r[2]===191&&(r=r.subarray(3));try{r=EM(r)}catch{return{code:1007,reason:"Invalid UTF-8",error:!0}}return{code:t,reason:r,error:!1}}parseControlFrame(A){let{opcode:t,payloadLength:r}=this.#r;if(t===Dr.CLOSE){if(r===1)return He(this.ws,"Received close frame with a 1-byte body."),!1;if(this.#r.closeInfo=this.parseCloseBody(A),this.#r.closeInfo.error){let{code:n,reason:i}=this.#r.closeInfo;return Kh(this.ws,n,i,i.length),He(this.ws,i),!1}if(this.ws[Ph]!==Wh.SENT){let n=qh;this.#r.closeInfo.code&&(n=Buffer.allocUnsafe(2),n.writeUInt16BE(this.#r.closeInfo.code,0));let i=new Zh(n);this.ws[Oh].socket.write(i.createFrame(Dr.CLOSE),s=>{s||(this.ws[Ph]=Wh.SENT)})}return this.ws[gM]=cM.CLOSING,this.ws[_h]=!0,!1}else if(t===Dr.PING){if(!this.ws[_h]){let n=new Zh(A);this.ws[Oh].socket.write(n.createFrame(Dr.PONG)),Ds.ping.hasSubscribers&&Ds.ping.publish({payload:A})}}else t===Dr.PONG&&Ds.pong.hasSubscribers&&Ds.pong.publish({payload:A});return!0}get closingInfo(){return this.#r.closeInfo}};Xh.exports={ByteParser:Bg}});var rd=f((Px,td)=>{"use strict";var{WebsocketFrameSend:uM}=ps(),{opcodes:$h,sendHints:Fr}=Rt(),CM=fa(),ed=Buffer[Symbol.species],Ig=class{#e=new CM;#A=!1;#t;constructor(A){this.#t=A}add(A,t,r){if(r!==Fr.blob){let i=Ad(A,r);if(!this.#A)this.#t.write(i,t);else{let s={promise:null,callback:t,frame:i};this.#e.push(s)}return}let n={promise:A.arrayBuffer().then(i=>{n.promise=null,n.frame=Ad(i,r)}),callback:t,frame:null};this.#e.push(n),this.#A||this.#i()}async#i(){this.#A=!0;let A=this.#e;for(;!A.isEmpty();){let t=A.shift();t.promise!==null&&await t.promise,this.#t.write(t.frame,t.callback),t.callback=t.frame=null}this.#A=!1}};function Ad(e,A){return new uM(hM(e,A)).createFrame(A===Fr.string?$h.TEXT:$h.BINARY)}function hM(e,A){switch(A){case Fr.string:return Buffer.from(e);case Fr.arrayBuffer:case Fr.blob:return new ed(e);case Fr.typedArray:return new ed(e.buffer,e.byteOffset,e.byteLength)}}td.exports={SendQueue:Ig}});var Ed=f((Ox,Qd)=>{"use strict";var{webidl:U}=he(),{URLSerializer:dM}=Fe(),{environmentSettingsObject:nd}=Ue(),{staticPropertyDescriptors:At,states:Rn,sentCloseFrameState:fM,sendHints:Fs}=Rt(),{kWebSocketURL:id,kReadyState:ug,kController:sd,kBinaryType:ks,kResponse:od,kSentClose:pM,kByteParser:wM}=dn(),{isConnecting:yM,isEstablished:mM,isClosing:DM,isValidSubprotocol:FM,fireEvent:ad}=wn(),{establishWebSocketConnection:kM,closeWebSocketConnection:cd}=cg(),{ByteParser:RM}=jh(),{kEnumerableProperty:Ke,isBlobLike:gd}=x(),{getGlobalDispatcher:bM}=Vi(),{types:ld}=d("node:util"),{ErrorEvent:SM,CloseEvent:NM}=wr(),{SendQueue:MM}=rd(),Ve=class e extends EventTarget{#e={open:null,error:null,close:null,message:null};#A=0;#t="";#i="";#n;constructor(A,t=[]){super(),U.util.markAsUncloneable(this);let r="WebSocket constructor";U.argumentLengthCheck(arguments,1,r);let n=U.converters["DOMString or sequence<DOMString> or WebSocketInit"](t,r,"options");A=U.converters.USVString(A,r,"url"),t=n.protocols;let i=nd.settingsObject.baseUrl,s;try{s=new URL(A,i)}catch(a){throw new DOMException(a,"SyntaxError")}if(s.protocol==="http:"?s.protocol="ws:":s.protocol==="https:"&&(s.protocol="wss:"),s.protocol!=="ws:"&&s.protocol!=="wss:")throw new DOMException(`Expected a ws: or wss: protocol, got ${s.protocol}`,"SyntaxError");if(s.hash||s.href.endsWith("#"))throw new DOMException("Got fragment","SyntaxError");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=>FM(a)))throw new DOMException("Invalid Sec-WebSocket-Protocol value","SyntaxError");this[id]=new URL(s.href);let o=nd.settingsObject;this[sd]=kM(s,t,o,this,(a,c)=>this.#r(a,c),n),this[ug]=e.CONNECTING,this[pM]=fM.NOT_SENT,this[ks]="blob"}close(A=void 0,t=void 0){U.brandCheck(this,e);let r="WebSocket.close";if(A!==void 0&&(A=U.converters["unsigned short"](A,r,"code",{clamp:!0})),t!==void 0&&(t=U.converters.USVString(t,r,"reason")),A!==void 0&&A!==1e3&&(A<3e3||A>4999))throw new DOMException("invalid code","InvalidAccessError");let n=0;if(t!==void 0&&(n=Buffer.byteLength(t),n>123))throw new DOMException(`Reason must be less than 123 bytes; received ${n}`,"SyntaxError");cd(this,A,t,n)}send(A){U.brandCheck(this,e);let t="WebSocket.send";if(U.argumentLengthCheck(arguments,1,t),A=U.converters.WebSocketSendData(A,t,"data"),yM(this))throw new DOMException("Sent before connected.","InvalidStateError");if(!(!mM(this)||DM(this)))if(typeof A=="string"){let r=Buffer.byteLength(A);this.#A+=r,this.#n.add(A,()=>{this.#A-=r},Fs.string)}else ld.isArrayBuffer(A)?(this.#A+=A.byteLength,this.#n.add(A,()=>{this.#A-=A.byteLength},Fs.arrayBuffer)):ArrayBuffer.isView(A)?(this.#A+=A.byteLength,this.#n.add(A,()=>{this.#A-=A.byteLength},Fs.typedArray)):gd(A)&&(this.#A+=A.size,this.#n.add(A,()=>{this.#A-=A.size},Fs.blob))}get readyState(){return U.brandCheck(this,e),this[ug]}get bufferedAmount(){return U.brandCheck(this,e),this.#A}get url(){return U.brandCheck(this,e),dM(this[id])}get extensions(){return U.brandCheck(this,e),this.#i}get protocol(){return U.brandCheck(this,e),this.#t}get onopen(){return U.brandCheck(this,e),this.#e.open}set onopen(A){U.brandCheck(this,e),this.#e.open&&this.removeEventListener("open",this.#e.open),typeof A=="function"?(this.#e.open=A,this.addEventListener("open",A)):this.#e.open=null}get onerror(){return U.brandCheck(this,e),this.#e.error}set onerror(A){U.brandCheck(this,e),this.#e.error&&this.removeEventListener("error",this.#e.error),typeof A=="function"?(this.#e.error=A,this.addEventListener("error",A)):this.#e.error=null}get onclose(){return U.brandCheck(this,e),this.#e.close}set onclose(A){U.brandCheck(this,e),this.#e.close&&this.removeEventListener("close",this.#e.close),typeof A=="function"?(this.#e.close=A,this.addEventListener("close",A)):this.#e.close=null}get onmessage(){return U.brandCheck(this,e),this.#e.message}set onmessage(A){U.brandCheck(this,e),this.#e.message&&this.removeEventListener("message",this.#e.message),typeof A=="function"?(this.#e.message=A,this.addEventListener("message",A)):this.#e.message=null}get binaryType(){return U.brandCheck(this,e),this[ks]}set binaryType(A){U.brandCheck(this,e),A!=="blob"&&A!=="arraybuffer"?this[ks]="blob":this[ks]=A}#r(A,t){this[od]=A;let r=this[sd]?.dispatcher?.webSocketOptions,n=r?.maxFragments,i=r?.maxPayloadSize,s=new RM(this,t,{maxFragments:n,maxPayloadSize:i});s.on("drain",UM),s.on("error",LM.bind(this)),A.socket.ws=this,this[wM]=s,this.#n=new MM(A.socket),this[ug]=Rn.OPEN;let o=A.headersList.get("sec-websocket-extensions");o!==null&&(this.#i=o);let a=A.headersList.get("sec-websocket-protocol");a!==null&&(this.#t=a),ad("open",this)}};Ve.CONNECTING=Ve.prototype.CONNECTING=Rn.CONNECTING;Ve.OPEN=Ve.prototype.OPEN=Rn.OPEN;Ve.CLOSING=Ve.prototype.CLOSING=Rn.CLOSING;Ve.CLOSED=Ve.prototype.CLOSED=Rn.CLOSED;Object.defineProperties(Ve.prototype,{CONNECTING:At,OPEN:At,CLOSING:At,CLOSED:At,url:Ke,readyState:Ke,bufferedAmount:Ke,onopen:Ke,onerror:Ke,onclose:Ke,close:Ke,onmessage:Ke,binaryType:Ke,send:Ke,extensions:Ke,protocol:Ke,[Symbol.toStringTag]:{value:"WebSocket",writable:!1,enumerable:!1,configurable:!0}});Object.defineProperties(Ve,{CONNECTING:At,OPEN:At,CLOSING:At,CLOSED:At});U.converters["sequence<DOMString>"]=U.sequenceConverter(U.converters.DOMString);U.converters["DOMString or sequence<DOMString>"]=function(e,A,t){return U.util.Type(e)==="Object"&&Symbol.iterator in e?U.converters["sequence<DOMString>"](e):U.converters.DOMString(e,A,t)};U.converters.WebSocketInit=U.dictionaryConverter([{key:"protocols",converter:U.converters["DOMString or sequence<DOMString>"],defaultValue:()=>new Array(0)},{key:"dispatcher",converter:U.converters.any,defaultValue:()=>bM()},{key:"headers",converter:U.nullableConverter(U.converters.HeadersInit)}]);U.converters["DOMString or sequence<DOMString> or WebSocketInit"]=function(e){return U.util.Type(e)==="Object"&&!(Symbol.iterator in e)?U.converters.WebSocketInit(e):{protocols:U.converters["DOMString or sequence<DOMString>"](e)}};U.converters.WebSocketSendData=function(e){if(U.util.Type(e)==="Object"){if(gd(e))return U.converters.Blob(e,{strict:!1});if(ArrayBuffer.isView(e)||ld.isArrayBuffer(e))return U.converters.BufferSource(e)}return U.converters.USVString(e)};function UM(){this.ws[od].socket.resume()}function LM(e){let A,t;e instanceof NM?(A=e.reason,t=e.code):A=e.message,ad("error",this,()=>new SM("error",{error:e,message:A})),cd(this,t)}Qd.exports={WebSocket:Ve}});var Cg=f((_x,Bd)=>{"use strict";function TM(e){return e.indexOf("\0")===-1}function xM(e){if(e.length===0)return!1;for(let A=0;A<e.length;A++)if(e.charCodeAt(A)<48||e.charCodeAt(A)>57)return!1;return!0}function GM(e){return new Promise(A=>{setTimeout(A,e).unref()})}Bd.exports={isValidLastEventId:TM,isASCIINumber:xM,delay:GM}});var hd=f((zx,Cd)=>{"use strict";var{Transform:YM}=d("node:stream"),{isASCIINumber:Id,isValidLastEventId:ud}=Cg(),NA=[239,187,191],hg=10,Rs=13,vM=58,JM=32,dg=class extends YM{state=null;checkBOM=!0;crlfCheck=!1;eventEndCheck=!1;buffer=null;pos=0;event={data:void 0,event:void 0,id:void 0,retry:void 0};constructor(A={}){A.readableObjectMode=!0,super(A),this.state=A.eventSourceSettings||{},A.push&&(this.push=A.push)}_transform(A,t,r){if(A.length===0){r();return}if(this.buffer?this.buffer=Buffer.concat([this.buffer,A]):this.buffer=A,this.checkBOM)switch(this.buffer.length){case 1:if(this.buffer[0]===NA[0]){r();return}this.checkBOM=!1,r();return;case 2:if(this.buffer[0]===NA[0]&&this.buffer[1]===NA[1]){r();return}this.checkBOM=!1;break;case 3:if(this.buffer[0]===NA[0]&&this.buffer[1]===NA[1]&&this.buffer[2]===NA[2]){this.buffer=Buffer.alloc(0),this.checkBOM=!1,r();return}this.checkBOM=!1;break;default:this.buffer[0]===NA[0]&&this.buffer[1]===NA[1]&&this.buffer[2]===NA[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]===hg){this.buffer=this.buffer.subarray(this.pos+1),this.pos=0,this.crlfCheck=!1;continue}this.crlfCheck=!1}if(this.buffer[this.pos]===hg||this.buffer[this.pos]===Rs){this.buffer[this.pos]===Rs&&(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||this.event.retry)&&this.processEvent(this.event),this.clearEvent();continue}this.eventEndCheck=!1;continue}if(this.buffer[this.pos]===hg||this.buffer[this.pos]===Rs){this.buffer[this.pos]===Rs&&(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(A,t){if(A.length===0)return;let r=A.indexOf(vM);if(r===0)return;let n="",i="";if(r!==-1){n=A.subarray(0,r).toString("utf8");let s=r+1;A[s]===JM&&++s,i=A.subarray(s).toString("utf8")}else n=A.toString("utf8"),i="";switch(n){case"data":t[n]===void 0?t[n]=i:t[n]+=`
|
|
45
|
-
${i}`;break;case"retry":Id(i)&&(t[n]=i);break;case"id":ud(i)&&(t[n]=i);break;case"event":i.length>0&&(t[n]=i);break}}processEvent(A){A.retry&&Id(A.retry)&&(this.state.reconnectionTime=parseInt(A.retry,10)),A.id&&ud(A.id)&&(this.state.lastEventId=A.id),A.data!==void 0&&this.push({type:A.event||"message",options:{data:A.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};Cd.exports={EventSourceStream:dg}});var Fd=f((Zx,Dd)=>{"use strict";var{pipeline:HM}=d("node:stream"),{fetching:VM}=In(),{makeRequest:qM}=ur(),{webidl:MA}=he(),{EventSourceStream:WM}=hd(),{parseMIMEType:PM}=Fe(),{createFastMessageEvent:OM}=wr(),{isNetworkError:dd}=En(),{delay:_M}=Cg(),{kEnumerableProperty:bt}=x(),{environmentSettingsObject:fd}=Ue(),pd=!1,wd=3e3,bn=0,yd=1,Sn=2,zM="anonymous",ZM="use-credentials",kr=class e extends EventTarget{#e={open:null,error:null,message:null};#A=null;#t=!1;#i=bn;#n=null;#r=null;#s;#o;constructor(A,t={}){super(),MA.util.markAsUncloneable(this);let r="EventSource constructor";MA.argumentLengthCheck(arguments,1,r),pd||(pd=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),A=MA.converters.USVString(A,r,"url"),t=MA.converters.EventSourceInitDict(t,r,"eventSourceInitDict"),this.#s=t.dispatcher,this.#o={lastEventId:"",reconnectionTime:wd};let n=fd,i;try{i=new URL(A,n.settingsObject.baseUrl),this.#o.origin=i.origin}catch(a){throw new DOMException(a,"SyntaxError")}this.#A=i.href;let s=zM;t.withCredentials&&(s=ZM,this.#t=!0);let o={redirect:"follow",keepalive:!0,mode:"cors",credentials:s==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};o.client=fd.settingsObject,o.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],o.cache="no-store",o.initiator="other",o.urlList=[new URL(this.#A)],this.#n=qM(o),this.#c()}get readyState(){return this.#i}get url(){return this.#A}get withCredentials(){return this.#t}#c(){if(this.#i===Sn)return;this.#i=bn;let A={request:this.#n,dispatcher:this.#s},t=r=>{dd(r)&&(this.dispatchEvent(new Event("error")),this.close()),this.#a()};A.processResponseEndOfBody=t,A.processResponse=r=>{if(dd(r))if(r.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#a();return}let n=r.headersList.get("content-type",!0),i=n!==null?PM(n):"failure",s=i!=="failure"&&i.essence==="text/event-stream";if(r.status!==200||s===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#i=yd,this.dispatchEvent(new Event("open")),this.#o.origin=r.urlList[r.urlList.length-1].origin;let o=new WM({eventSourceSettings:this.#o,push:a=>{this.dispatchEvent(OM(a.type,a.options))}});HM(r.body.stream,o,a=>{a?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#r=VM(A)}async#a(){this.#i!==Sn&&(this.#i=bn,this.dispatchEvent(new Event("error")),await _M(this.#o.reconnectionTime),this.#i===bn&&(this.#o.lastEventId.length&&this.#n.headersList.set("last-event-id",this.#o.lastEventId,!0),this.#c()))}close(){MA.brandCheck(this,e),this.#i!==Sn&&(this.#i=Sn,this.#r.abort(),this.#n=null)}get onopen(){return this.#e.open}set onopen(A){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof A=="function"?(this.#e.open=A,this.addEventListener("open",A)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(A){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof A=="function"?(this.#e.message=A,this.addEventListener("message",A)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(A){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof A=="function"?(this.#e.error=A,this.addEventListener("error",A)):this.#e.error=null}},md={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:bn,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:yd,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:Sn,writable:!1}};Object.defineProperties(kr,md);Object.defineProperties(kr.prototype,md);Object.defineProperties(kr.prototype,{close:bt,onerror:bt,onmessage:bt,onopen:bt,readyState:bt,url:bt,withCredentials:bt});MA.converters.EventSourceInitDict=MA.dictionaryConverter([{key:"withCredentials",converter:MA.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:MA.converters.any}]);Dd.exports={EventSource:kr,defaultReconnectionTime:wd}});var Sd=f((Kx,M)=>{"use strict";var KM=er(),kd=Ur(),XM=Ar(),jM=mB(),$M=tr(),eU=Ja(),AU=zB(),tU=AI(),Rd=V(),Ss=x(),{InvalidArgumentError:bs}=Rd,Rr=HI(),rU=Tr(),nU=pc(),iU=yu(),sU=mc(),oU=ac(),aU=Mi(),{getGlobalDispatcher:bd,setGlobalDispatcher:cU}=Vi(),gU=qi(),lU=pi(),QU=wi();Object.assign(kd.prototype,Rr);M.exports.Dispatcher=kd;M.exports.Client=KM;M.exports.Pool=XM;M.exports.BalancedPool=jM;M.exports.Agent=$M;M.exports.ProxyAgent=eU;M.exports.EnvHttpProxyAgent=AU;M.exports.RetryAgent=tU;M.exports.RetryHandler=aU;M.exports.DecoratorHandler=gU;M.exports.RedirectHandler=lU;M.exports.createRedirectInterceptor=QU;M.exports.interceptors={redirect:Su(),retry:Mu(),dump:Lu(),dns:Gu()};M.exports.buildConnector=rU;M.exports.errors=Rd;M.exports.util={parseHeaders:Ss.parseHeaders,headerNameToString:Ss.headerNameToString};function Nn(e){return(A,t,r)=>{if(typeof t=="function"&&(r=t,t=null),!A||typeof A!="string"&&typeof A!="object"&&!(A instanceof URL))throw new bs("invalid url");if(t!=null&&typeof t!="object")throw new bs("invalid opts");if(t&&t.path!=null){if(typeof t.path!="string")throw new bs("invalid opts.path");let s=t.path;t.path.startsWith("/")||(s=`/${s}`),A=new URL(Ss.parseOrigin(A).origin+s)}else t||(t=typeof A=="object"?A:{}),A=Ss.parseURL(A);let{agent:n,dispatcher:i=bd()}=t;if(n)throw new bs("unsupported opts.agent. Did you mean opts.client?");return e.call(i,{...t,origin:A.origin,path:A.search?`${A.pathname}${A.search}`:A.pathname,method:t.method||(t.body?"PUT":"GET")},r)}}M.exports.setGlobalDispatcher=cU;M.exports.getGlobalDispatcher=bd;var EU=In().fetch;M.exports.fetch=async function(A,t=void 0){try{return await EU(A,t)}catch(r){throw r&&typeof r=="object"&&Error.captureStackTrace(r),r}};M.exports.Headers=wt().Headers;M.exports.Response=En().Response;M.exports.Request=ur().Request;M.exports.FormData=Vr().FormData;M.exports.File=globalThis.File??d("node:buffer").File;M.exports.FileReader=$C().FileReader;var{setGlobalOrigin:BU,getGlobalOrigin:IU}=Ho();M.exports.setGlobalOrigin=BU;M.exports.getGlobalOrigin=IU;var{CacheStorage:uU}=ah(),{kConstruct:CU}=gs();M.exports.caches=new uU(CU);var{deleteCookie:hU,getCookies:dU,getSetCookies:fU,setCookie:pU}=dh();M.exports.deleteCookie=hU;M.exports.getCookies=dU;M.exports.getSetCookies=fU;M.exports.setCookie=pU;var{parseMIMEType:wU,serializeAMimeType:yU}=Fe();M.exports.parseMIMEType=wU;M.exports.serializeAMimeType=yU;var{CloseEvent:mU,ErrorEvent:DU,MessageEvent:FU}=wr();M.exports.WebSocket=Ed().WebSocket;M.exports.CloseEvent=mU;M.exports.ErrorEvent=DU;M.exports.MessageEvent=FU;M.exports.request=Nn(Rr.request);M.exports.stream=Nn(Rr.stream);M.exports.pipeline=Nn(Rr.pipeline);M.exports.connect=Nn(Rr.connect);M.exports.upgrade=Nn(Rr.upgrade);M.exports.MockClient=nU;M.exports.MockPool=sU;M.exports.MockAgent=iU;M.exports.mockErrors=oU;var{EventSource:kU}=Fd();M.exports.EventSource=kU});import br from"node:net";import RU from"node:dns";function Ns(e){let A=String(e).toLowerCase().split("%")[0];if((A.match(/::/g)||[]).length>1)return null;let t=g=>{if(!g)return[];let l=g.split(":"),Q=l.at(-1);if(Q?.includes(".")){let I=Q.split(".").map(Number);if(I.length!==4||I.some(E=>!Number.isInteger(E)||E<0||E>255))return null;l.splice(l.length-1,1,(I[0]<<8|I[1]).toString(16),(I[2]<<8|I[3]).toString(16))}return l.some(I=>!/^[0-9a-f]{1,4}$/.test(I))?null:l.map(I=>Number.parseInt(I,16))},[r,n]=A.split("::"),i=t(r),s=t(n);if(!i||!s)return null;let o=A.includes("::"),a=8-i.length-s.length;if(!o&&a!==0||o&&a<1)return null;let c=[...i,...Array(Math.max(0,a)).fill(0),...s];return c.length!==8?null:Uint8Array.from(c.flatMap(g=>[g>>8,g&255]))}function fg(e,A,t){let r=Math.floor(t/8),n=t%8;for(let s=0;s<r;s+=1)if(e[s]!==A[s])return!1;if(!n)return!0;let i=255<<8-n;return(e[r]&i)===(A[r]&i)}function pg(e){if(br.isIPv4(e)){let A=e.split(".").map(Number);return!(A[0]===0||A[0]===10||A[0]===127||A[0]>=224||A[0]===100&&A[1]>=64&&A[1]<=127||A[0]===169&&A[1]===254||A[0]===172&&A[1]>=16&&A[1]<=31||A[0]===192&&(A[1]===0||A[1]===2||A[1]===168)||A[0]===192&&A[1]===88&&A[2]===99||A[0]===198&&(A[1]===18||A[1]===19||A[1]===51)||A[0]===203&&A[1]===0&&A[2]===113)}if(br.isIPv6(e)){let A=Ns(e);if(!A)return!1;let t=Ns("::ffff:0:0");return fg(A,t,96)?pg([...A.slice(12)].join(".")):fg(A,Ns("2000::"),3)?![["2001::",23],["2001:db8::",32],["2001:10::",28],["2001:2::",48],["2002::",16],["3fff::",20]].some(([n,i])=>fg(A,Ns(n),i)):!1}return!1}function SU(e){let A;try{A=new URL(String(e))}catch{return{ok:!1,error:`not a valid URL: ${String(e).slice(0,120)}`}}if(A.protocol!=="http:"&&A.protocol!=="https:")return{ok:!1,error:`refused protocol ${A.protocol} (only http/https)`};let t=A.hostname.toLowerCase().replace(/^\[|\]$/g,"").replace(/\.+$/,"");if(bU.has(t)||t.endsWith(".localhost")||t.endsWith(".internal"))return{ok:!1,error:`refused internal host ${t}`};let r=br.isIP(t);return r!==0&&!pg(t)?{ok:!1,error:`refused private address ${t}`}:{ok:!0,url:A,host:t,isLiteralIp:r!==0}}async function Nd(e,{lookupFn:A=RU.promises.lookup}={}){let t=SU(e);if(!t.ok)return t;if(t.isLiteralIp)return{ok:!0,url:t.url};let r;try{r=await A(t.host,{all:!0,verbatim:!0})}catch{return{ok:!1,error:`refused: ${t.host} did not resolve`}}return!Array.isArray(r)||r.length===0||r.some(n=>!pg(n.address))?{ok:!1,error:`refused: ${t.host} resolves to a non-public address`}:{ok:!0,url:t.url,addresses:r}}async function Md(){let e,A;try{let o=await Promise.resolve().then(()=>ff(Sd(),1));e=o.Agent,A=o.fetch}catch{return null}if(typeof e!="function"||typeof A!="function")return null;let t=o=>String(o).toLowerCase().replace(/^\[|\]$/g,"").replace(/\.+$/,""),r=new Map,n=o=>(Array.isArray(o)?o:[o]).map(a=>typeof a=="string"?{address:a}:a).filter(a=>a&&a.address).map(a=>({address:a.address,family:a.family||(br.isIPv6(a.address)?6:4)})),i=o=>{let a=t(o);if(br.isIP(a))return[{address:a,family:br.isIPv6(a)?6:4}];let c=r.get(a);if(!c||!c.length)throw new Error(`refused: unpinned host ${o} during pinned fetch`);return c},s=new e({connect:{lookup(o,a,c){let g;try{g=i(o)}catch(l){return c(l)}return a?.all?c(null,g):c(null,g[0].address,g[0].family)}}});return{dispatcher:s,fetch:(o,a={})=>A(o,{...a,dispatcher:s}),pin(o,a,c){r.set(t(o),n(typeof a=="string"?[{address:a,family:c}]:a))},resolve:i,async close(){try{await s.destroy()}catch{}}}}var bU,Ud=Un(()=>{bU=new Set(["localhost","metadata.google.internal","metadata.goog"])});import{createHash as NU}from"node:crypto";function TU(e){let A=String(e||"").toLowerCase();return Gd.includes(A)||/(^|-)(api[-_]?key|key|token|secret|auth|authorization|session|cookie|signature|access)(-|$)/.test(A)}function xU(e){let A={};for(let[t,r]of Object.entries(e||{}))TU(t)||(A[t]=r);return A}function GU(e,A){if(!e)throw new Error(`HTTP redirect from ${A} missing Location`);let t=new URL(String(e),String(A));if(t.protocol!=="http:"&&t.protocol!=="https:")throw new Error(`HTTP redirect from ${A} used unsupported protocol ${t.protocol}`);return t.toString()}function YU(e,A){return new URL(String(e)).origin===new URL(String(A)).origin}function vU(e,A,t){let r={};for(let[a,c]of Object.entries(t||{}))r[a.toLowerCase()]=c;let n=Object.keys(r).filter(a=>/(^|-)(api[-_]?key|key|token|secret|auth|authorization|session|cookie|signature|access)(-|$)/.test(a)),s=[...new Set([...Gd,...n])].sort().map(a=>`${a}=${r[a]??""}`).join(`
|
|
46
|
-
`),o=NU("sha256").update(s).digest("hex").slice(0,32);return`${e} ${A} ${o}`}function JU(e,A){let t=Number(A);return Number.isFinite(t)&&t>0?Math.min(t*1e3,Td):Math.min(250*2**e,Td)+Math.floor(Math.random()*100)}async function VU(e,{fetchImpl:A,method:t,headers:r,body:n,timeoutMs:i,lookupFn:s,realFetch:o}){let a=new AbortController,c=setTimeout(()=>a.abort(),i),g=null,l=A;try{let Q=String(e),I={...r||{}};for(let E=0;E<=xd;E+=1){let u=await l(Q,{method:t,headers:I,body:n,signal:a.signal,redirect:"manual"}),C=await u.text(),B=null;if(C)try{B=JSON.parse(C)}catch{B=null}if(LU.has(u.status)){if(t!=="GET"&&t!=="HEAD"){let p=new Error(`HTTP ${u.status} ${t} ${Q} redirected non-idempotent request`);throw p.status=u.status,p.body=B??C.slice(0,300),p}if(E===xd)throw new Error(`HTTP redirect loop for ${e}`);let h=GU(u.headers?.get?.("location"),Q);if(!YU(h,Q)){let p=await Nd(h,s?{lookupFn:s}:{});if(!p.ok){let L=new Error(`HTTP redirect from ${Q} ${p.error}`);throw L.status=u.status,L}I=xU(I),o&&p.addresses?.length&&(g||(g=await Md()),g&&(g.pin(new URL(h).hostname,p.addresses[0].address,p.addresses[0].family),l=g.fetch))}Q=h;continue}if(!u.ok){let h=new Error(`HTTP ${u.status} ${t} ${Q}`);throw h.status=u.status,h.retryAfter=u.headers?.get?.("retry-after")??null,h.body=B??C.slice(0,300),h}return B??C}throw new Error(`HTTP redirect loop for ${e}`)}finally{clearTimeout(c),g&&await g.close()}}async function Mn(e,A={}){let t=A.fetchImpl||globalThis.fetch;if(typeof t!="function")throw new Error("fetch unavailable \u2014 pass opts.fetchImpl");let r=A.timeoutMs??12e3,n=(A.method||"GET").toUpperCase(),i={Accept:"application/json",...A.headers||{}},s=A.body;s!=null&&typeof s!="string"&&(i["Content-Type"]=i["Content-Type"]||"application/json",s=JSON.stringify(s));let o=Number.isInteger(A.retries)?Math.max(A.retries,0):UU,a=A.lookupFn,c=!A.fetchImpl,g=async()=>{let u;for(let C=0;C<=o;C++)try{return await VU(e,{fetchImpl:t,method:n,headers:i,body:s,timeoutMs:r,lookupFn:a,realFetch:c})}catch(B){u=B;let h=B?.status,m=B?.name==="AbortError",p=new Set([408,425,429]),L=h!=null?p.has(h)||MU.has(h)&&Ld.has(n):!m&&Ld.has(n);if(C===o||!L)throw B;await HU(JU(C,B?.retryAfter))}throw u};if(!(A.dedupe!==!1&&n==="GET"&&s==null))return g();let Q=vU(n,e,i),I=wg.get(Q);if(I)return I;let E=g().finally(()=>wg.delete(Q));return wg.set(Q,E),E}var MU,Ld,UU,Td,Gd,LU,xd,wg,HU,yg=Un(()=>{Ud();MU=new Set([408,425,429,500,502,503,504]),Ld=new Set(["GET","HEAD","OPTIONS","PUT","DELETE"]),UU=2,Td=4e3,Gd=["authorization","x-api-key","x-tensor-api-key","0x-api-key","api-key","cookie","proxy-authorization"],LU=new Set([301,302,303,307,308]),xd=3;wg=new Map;HU=e=>new Promise(A=>setTimeout(A,e))});function Fg(e){return qd.get(Number(e))||null}function Wd(e,A=process.env){let t=Fg(e);if(!t)return null;for(let r of t.rpcEnv){let n=(A[r]||"").trim();if(n)return n}return null}function Pd(e){return qd.has(Number(e))}var Dg,qd,Od=Un(()=>{Dg={robinhood:{chainId:4663,name:"Robinhood Chain",rpcEnv:["RH_CHAIN_RPC"],evm:!0},ethereum:{chainId:1,name:"Ethereum",rpcEnv:["ETH_RPC_URL","ETHEREUM_RPC_URL","MAINNET_RPC_URL"],evm:!0},polygon:{chainId:137,name:"Polygon",rpcEnv:["POLYGON_RPC_URL","POLYGON_RPC"],evm:!0},arbitrum:{chainId:42161,name:"Arbitrum One",rpcEnv:["ARBITRUM_RPC_URL","ARB_RPC_URL"],evm:!0},base:{chainId:8453,name:"Base",rpcEnv:["BASE_RPC_URL"],evm:!0},hyperevm:{chainId:999,name:"HyperEVM",rpcEnv:["HYPEREVM_RPC_URL","HYPER_EVM_RPC"],evm:!0},bsc:{chainId:56,name:"BNB Smart Chain",rpcEnv:["BSC_RPC_URL","BNB_RPC_URL"],evm:!0},avalanche:{chainId:43114,name:"Avalanche C-Chain",rpcEnv:["AVALANCHE_RPC_URL","AVAX_RPC_URL"],evm:!0},optimism:{chainId:10,name:"OP Mainnet",rpcEnv:["OPTIMISM_RPC_URL","OP_RPC_URL"],evm:!0},abstract:{chainId:2741,name:"Abstract",rpcEnv:["ABSTRACT_RPC_URL","ABS_RPC_URL"],evm:!0},stable:{chainId:988,name:"Stable Mainnet",rpcEnv:["STABLE_RPC_URL","STABLE_RPC"],evm:!0}},qd=new Map(Object.values(Dg).map(e=>[e.chainId,e]))});var Sg={};hf(Sg,{PUBLIC_RPC_FALLBACKS:()=>Rg,erc20Allowance:()=>tL,erc20BalanceOf:()=>rL,resolveRpcUrl:()=>bg,rpcBlockNumber:()=>jU,rpcCall:()=>hA,rpcChainId:()=>$U,rpcGasPrice:()=>eL,rpcGetBalance:()=>AL,rpcHealth:()=>_d,rpcHealthAll:()=>iL,transactionReceipt:()=>nL});import{Interface as _U,getAddress as zU}from"ethers";function tt(e,A){try{return zU(e).toLowerCase()}catch{throw new Error(`${A} must be a valid EVM address`)}}function ZU(e){let A=String(e||"").trim();if(!/^0x[0-9a-fA-F]{64}$/.test(A))throw new Error("txHash must be a 32-byte hex transaction hash");return A.toLowerCase()}function kg(e){return e==null?null:Number.parseInt(String(e),16)}function bg(e,{rpcUrl:A,env:t=process.env}={}){if(A)return A;let r=Wd(e,t);return r||Rg[Number(e)]||null}function XU(e){let A=String(e||""),t=A.toLowerCase();if(A!==A.trim()||!/^[a-zA-Z0-9_]+$/.test(A)||!KU.test(t))throw new Error(`evm-rpc: ${A} refused \u2014 @oracle-agent/oracle is prepare-only (read RPC only; no broadcast/sign)`);return t}async function hA(e,A,t=[],r={}){let n=String(A||"");XU(n);let i=bg(e,r);if(!i)throw new Error(`No RPC URL for chainId ${e} (set env from chain registry rpcEnv or pass rpcUrl)`);let o=await Mn(i,{method:"POST",body:{jsonrpc:"2.0",id:1,method:A,params:t},fetchImpl:r.fetchImpl,timeoutMs:r.timeoutMs??12e3});if(o?.error){let a=new Error(o.error.message||JSON.stringify(o.error));throw a.code=o.error.code,a}return o.result}async function _d(e,A={}){let t=await hA(e,"eth_blockNumber",[],A),r=parseInt(t,16),n=await hA(e,"eth_chainId",[],A),i=parseInt(n,16);return{ok:Number.isFinite(r)&&i===Number(e),chainId:Number(e),reportedChainId:i,blockNumber:r,name:Fg(e)?.name||null}}async function jU(e,A={}){let t=await hA(e,"eth_blockNumber",[],A);return parseInt(t,16)}async function $U(e,A={}){let t=await hA(e,"eth_chainId",[],A);return parseInt(t,16)}async function eL(e,A={}){let t=await hA(e,"eth_gasPrice",[],A);if(t==null)return null;try{return BigInt(t)}catch{return null}}async function AL(e,A,t={}){if(!A)throw new Error("rpcGetBalance requires address");let r=await hA(e,"eth_getBalance",[A,"latest"],t);return{chainId:Number(e),address:A,balanceWei:BigInt(r).toString(),balanceHex:r}}async function tL(e={},A={}){let t=Number(e.chainId??A.chainId??1),r=tt(e.token||e.tokenAddress,"token"),n=tt(e.owner,"owner"),i=tt(e.spender,"spender"),s=Ms.encodeFunctionData("allowance",[n,i]),o=await hA(t,"eth_call",[{to:r,data:s},e.blockTag||"latest"],A),a=Ms.decodeFunctionResult("allowance",o),c=BigInt(a[0]);return{chainId:t,token:r,owner:n,spender:i,allowance:c.toString(),allowanceHex:`0x${c.toString(16)}`,blockTag:e.blockTag||"latest"}}async function rL(e={},A={}){let t=Number(e.chainId??A.chainId??1),r=tt(e.token||e.tokenAddress,"token"),n=tt(e.account||e.owner||e.address,"account"),i=Ms.encodeFunctionData("balanceOf",[n]),s=await hA(t,"eth_call",[{to:r,data:i},e.blockTag||"latest"],A),o=Ms.decodeFunctionResult("balanceOf",s),a=BigInt(o[0]);return{chainId:t,token:r,account:n,balance:a.toString(),balanceHex:`0x${a.toString(16)}`,blockTag:e.blockTag||"latest"}}async function nL(e={},A={}){let t=Number(e.chainId??A.chainId??1),r=ZU(e.txHash||e.hash||e.transactionHash),n=await hA(t,"eth_getTransactionReceipt",[r],A);if(!n)return{ok:!1,chainId:t,txHash:r,status:"pending",receipt:null,reason:"receipt pending"};let i=kg(n.status),s=i===1,o=i===1?"success":i===0?"reverted":"unknown",a=s?null:o==="reverted"?"transaction reverted":"unknown receipt status",c=e.expectedTo?tt(e.expectedTo,"expectedTo"):null,g=n.to?tt(n.to,"receipt.to"):null;return c&&g!==c&&(s=!1,a=`to mismatch: expected ${c}, got ${g||"null"}`),{ok:s,chainId:t,txHash:r,status:o,reason:a,statusCode:i,to:g,from:n.from?tt(n.from,"receipt.from"):null,blockNumber:kg(n.blockNumber),transactionIndex:kg(n.transactionIndex),logs:Array.isArray(n.logs)?n.logs:[],receipt:n}}async function iL(e={}){let A=e.chainIds||Object.values(Dg).map(r=>r.chainId),t={};return await Promise.all(A.map(async r=>{if(!Pd(r)&&!Rg[r]&&!bg(r,e)){t[r]={ok:!1,error:"no rpc configured",chainId:r};return}try{t[r]=await _d(r,e)}catch(n){t[r]={ok:!1,chainId:r,error:String(n.message||n)}}})),t}var Ms,Rg,KU,Ng=Un(()=>{yg();Od();Ms=new _U(["function allowance(address owner,address spender) view returns (uint256)","function balanceOf(address account) view returns (uint256)"]);Rg={1:"https://ethereum.publicnode.com",137:"https://polygon-bor-rpc.publicnode.com",42161:"https://arbitrum-one-rpc.publicnode.com",8453:"https://base-rpc.publicnode.com",10:"https://optimism-rpc.publicnode.com",988:"https://rpc.stable.xyz",56:"https://bsc-rpc.publicnode.com",43114:"https://avalanche-c-chain-rpc.publicnode.com",999:"https://rpc.hyperliquid.xyz/evm",2741:"https://api.mainnet.abs.xyz",4663:"https://rpc.mainnet.chain.robinhood.com"};KU=/^(?:eth_(?:call|blocknumber|chainid|get[a-z0-9]+|feehistory|gasprice|maxpriorityfeepergas|syncing|protocolversion|estimategas|createaccesslist)|net_(?:version|listening|peercount)|web3_(?:clientversion|sha3))$/});import{createHash as FL}from"node:crypto";import{createHash as pf,createHmac as wf,timingSafeEqual as HL}from"node:crypto";var yf=2,Ys=300*1e3,mf=(()=>{let e=Number(process.env.ORACLE_PREPARE_HARD_MAX_AGE_MS);return Number.isFinite(e)&&e>0?e:1800*1e3})();function Gs(e){return e===null||typeof e!="object"?JSON.stringify(e):Array.isArray(e)?`[${e.map(Gs).join(",")}]`:`{${Object.keys(e).sort().map(t=>`${JSON.stringify(t)}:${Gs(e[t])}`).join(",")}}`}function xg(e){let A=String(e?.ORACLE_STAMP_HMAC_SECRET||"").trim();return A.length>=16?A:""}function Gg(e=process.env){return xg(process.env)||xg(e)}function Df(e){let{prepareHash:A,prepareMac:t,note:r,...n}=e||{};return n}function Ln(e){let A=Df(e);return pf("sha256").update(Gs(A)).digest("hex")}function Ff(e,A=Gg()){return A?wf("sha256",A).update(String(e)).digest("hex"):""}function xA(e,{provider:A,kind:t,env:r=process.env,nowMs:n=Date.now(),expiresAtMs:i}={}){if(!e||typeof e!="object")throw new Error("stampPrepared: payload object required");let s=Object.prototype.hasOwnProperty.call(e,"oraclePrepared");if(s&&typeof e.oraclePrepared!="boolean")throw new Error("stampPrepared: oraclePrepared must be boolean");let o={...e,provider:e.provider||A,kind:e.kind||t,requiresUserSignature:e.requiresUserSignature!==!1,signingReady:!1,broadcastReady:!1,executionReady:!1,oraclePrepared:s?e.oraclePrepared:!0};if(!o.provider)throw new Error("stampPrepared: provider required");if(!o.kind)throw new Error("stampPrepared: kind required");let a=Number(n),c=i==null?a+Ys:Number(i),g=c-a;if(!Number.isSafeInteger(a)||!Number.isSafeInteger(c)||g<=0||g>mf)throw new Error("stampPrepared: bounded preparedAt/expiresAt required");let Q={...o,preparedAt:a,expiresAt:c,prepareVersion:yf},I=Ln(Q),E=Gg(r),u=E?Ff(I,E):void 0,C={...Q,prepareHash:I};return u&&(C.prepareMac=u),C}import{createHash as kf}from"node:crypto";var Rf=1,bf=8,Ce=class extends TypeError{constructor(A,t="invalid-intent"){super(`universal mint intent: ${A}`),this.name="UniversalMintIntentError",this.code=t}},Sf=new Set(["version","chain","marketplace","mechanism","collection","recipient","quantity","stages","mintValueCap","networkFeeCap","priorityFeeCap","expiry","maxExecutions"]),Nf=new Set(["family","id"]),Mf=new Set(["id","startsAt","endsAt","eligibility"]),Uf=new Set(["kind","proofFormat","proofDigest"]),Lf=new Set(["amount","unit"]),Tf=new Set(["value","unit"]);function Nt(e,A){if(!e||typeof e!="object"||Array.isArray(e)||Object.getPrototypeOf(e)!==Object.prototype)throw new Ce(`${A} must be a plain object`);return e}function Mt(e,A,t){for(let r of Object.keys(e))if(!A.has(r))throw new Ce(`${t} has unknown field ${r}`,"unknown-field")}function We(e,A){if(typeof e!="string"||e.length===0||e.trim()!==e||/[\u0000-\u001f\u007f]/.test(e))throw new Ce(`${A} must be a non-empty exact string without surrounding whitespace`);return e}function xf(e,A){if(!Number.isSafeInteger(e)||e<=0)throw new Ce(`${A} must be a positive safe integer`);return e}function vs(e,A){if(e=Nt(e,A),Mt(e,Lf,A),!Object.hasOwn(e,"amount")||!Object.hasOwn(e,"unit"))throw new Ce(`${A} requires amount and unit`,"ambiguous-unit");let t=We(e.amount,`${A}.amount`);if(!/^(0|[1-9]\d*)$/.test(t))throw new Ce(`${A}.amount must be a canonical non-negative integer string`);return{amount:t,unit:We(e.unit,`${A}.unit`)}}function Js(e,A){if(e=Nt(e,A),Mt(e,Tf,A),e.unit!=="unix-ms"||!Number.isSafeInteger(e.value)||e.value<0)throw new Ce(`${A} must have a non-negative safe integer value and unit unix-ms`,"ambiguous-unit");return{value:e.value,unit:"unix-ms"}}function Gf(e,A){e=Nt(e,A),Mt(e,Uf,A);let t=We(e.kind,`${A}.kind`),r=We(e.proofFormat,`${A}.proofFormat`),n=We(e.proofDigest,`${A}.proofDigest`);if(!/^[a-z0-9][a-z0-9+._-]*:[0-9a-f]+$/.test(n))throw new Ce(`${A}.proofDigest must be algorithm:lowercase-hex metadata`);return{kind:t,proofFormat:r,proofDigest:n}}function Yf(e,A){let t=`stages[${A}]`;e=Nt(e,t),Mt(e,Mf,t);let r=Js(e.startsAt,`${t}.startsAt`),n=Js(e.endsAt,`${t}.endsAt`);if(r.value>=n.value)throw new Ce(`${t} must end after it starts`,"invalid-stage-range");return{id:We(e.id,`${t}.id`),startsAt:r,endsAt:n,eligibility:Gf(e.eligibility,`${t}.eligibility`)}}function Hs(e){if(e=Nt(e,"input"),Mt(e,Sf,"input"),e.version!==Rf)throw new Ce("version must be 1");let A=Nt(e.chain,"chain");Mt(A,Nf,"chain");let t=e.stages;if(!Array.isArray(t)||t.length<1||t.length>bf)throw new Ce("stages must contain 1 through 8 entries","stage-count");let r=t.map(Yf).sort((s,o)=>s.startsAt.value-o.startsAt.value||s.id.localeCompare(o.id)),n=new Set;for(let s=0;s<r.length;s+=1){if(n.has(r[s].id))throw new Ce("stage ids must be unique","duplicate-stage");if(n.add(r[s].id),s&&r[s].startsAt.value<r[s-1].endsAt.value)throw new Ce("stages must not overlap","overlapping-stages")}if(e.maxExecutions!==1)throw new Ce("maxExecutions must equal 1","execution-limit");let i={version:1,chain:{family:We(A.family,"chain.family"),id:We(A.id,"chain.id")},marketplace:We(e.marketplace,"marketplace"),mechanism:We(e.mechanism,"mechanism"),collection:We(e.collection,"collection"),recipient:We(e.recipient,"recipient"),quantity:xf(e.quantity,"quantity"),stages:r,mintValueCap:vs(e.mintValueCap,"mintValueCap"),networkFeeCap:vs(e.networkFeeCap,"networkFeeCap"),priorityFeeCap:vs(e.priorityFeeCap,"priorityFeeCap"),expiry:Js(e.expiry,"expiry"),maxExecutions:1};if(r.some(s=>s.endsAt.value>i.expiry.value))throw new Ce("every stage must end no later than expiry","stage-after-expiry");return i}function vf(e){return JSON.stringify(Hs(e))}function Yg(e){return`sha256:${kf("sha256").update(vf(e),"utf8").digest("hex")}`}var Vs=Object.freeze({RESEARCH_ONLY:"RESEARCH_ONLY",PREPARE_READY:"PREPARE_READY",AUTOMINT_READY:"AUTOMINT_READY"}),rt=Object.freeze({DISCOVERY:"discovery",ELIGIBILITY:"eligibility",PREPARATION:"preparation",SIMULATION:"simulation",BOUNDED_SIGNING:"boundedSigning",BROADCAST:"broadcast",RECEIPT_VERIFICATION:"receiptVerification",OWNERSHIP_VERIFICATION:"ownershipVerification"}),qs=Object.freeze(Object.values(rt)),vg=new Set(qs),Jg=Object.freeze(qs.slice(0,4)),Jf=qs,Hf=new Set(["id","chainFamilies","marketplaces","mechanisms","capabilities"]),pe=class extends TypeError{constructor(A,t="invalid-registry-entry"){super(`universal mint registry: ${A}`),this.name="UniversalMintRegistryError",this.code=t}};function Tn(e,A){if(!Array.isArray(e)||e.length===0)throw new pe(`${A} must be a non-empty array`);let t=e.map(r=>{if(typeof r!="string"||!r||r.trim()!==r)throw new pe(`${A} entries must be exact strings`);return r});if(new Set(t).size!==t.length)throw new pe(`${A} contains duplicates`);return[...t].sort()}function Vf(e){if(!Array.isArray(e))throw new pe("capabilities must be an array");let A=new Set(e);for(let t of A)if(!vg.has(t))throw new pe(`unknown capability ${t}`,"unknown-capability");return Jf.every(t=>A.has(t))?Vs.AUTOMINT_READY:Jg.every(t=>A.has(t))?Vs.PREPARE_READY:Vs.RESEARCH_ONLY}function Ws(e=[]){if(!Array.isArray(e))throw new pe("entries must be an array");let A=new Map;for(let t of e){if(!t||typeof t!="object"||Array.isArray(t))throw new pe("entry must be an object");for(let i of Object.keys(t))if(!Hf.has(i))throw new pe(`entry has unknown field ${i}`,"unknown-field");if(typeof t.id!="string"||!t.id||t.id.trim()!==t.id)throw new pe("entry id must be an exact string");if(A.has(t.id))throw new pe(`duplicate entry id ${t.id}`,"duplicate-entry");let r=Tn(t.capabilities,"capabilities"),n=Object.freeze({id:t.id,chainFamilies:Object.freeze(Tn(t.chainFamilies,"chainFamilies")),marketplaces:Object.freeze(Tn(t.marketplaces,"marketplaces")),mechanisms:Object.freeze(Tn(t.mechanisms,"mechanisms")),capabilities:Object.freeze(r),tier:Vf(r)});A.set(n.id,n)}return Object.freeze({entries:Object.freeze([...A.values()]),get(t){return A.get(t)||null},find({chainFamily:t,marketplace:r,mechanism:n}={}){return[...A.values()].filter(i=>i.chainFamilies.includes(t)&&i.marketplaces.includes(r)&&i.mechanisms.includes(n))},require(t,r=Jg){let n=A.get(t);if(!n)throw new pe(`missing adapter ${t}`,"missing-adapter");for(let i of r){if(!vg.has(i))throw new pe(`unknown capability ${i}`,"unknown-capability");if(!n.capabilities.includes(i))throw new pe(`${t} is missing capability ${i}`,"missing-capability")}return n}})}var PL=Ws([]);import{getAddress as qf,Interface as Ps,keccak256 as Wf}from"ethers";var GA=Object.freeze({manifold:new Ps(["function mint(address creatorContract,uint256 instanceId,uint32 mintIndex,bytes32[] merkleProof,address mintFor) payable"]),zora:new Ps(["function mint(address mintTo,uint256 quantity,string comment,address mintReferral) payable"]),thirdweb:new Ps(["function claim(address receiver,uint256 quantity,address currency,uint256 pricePerToken,(bytes32[] proof,uint256 quantityLimitPerWallet,uint256 pricePerToken,address currency) allowlistProof,bytes data) payable"])}),_s=Object.freeze({manifold:Object.freeze({signature:"mint(address,uint256,uint32,bytes32[],address)",layout:"manifold-claim-v1"}),zora:Object.freeze({signature:"mint(address,uint256,string,address)",layout:"zora-1155-mint-v1"}),thirdweb:Object.freeze({signature:"claim(address,uint256,address,uint256,(bytes32[],uint256,uint256,address),bytes)",layout:"thirdweb-drop-claim-v1"})}),ZL=Object.freeze(Object.fromEntries(Object.entries(_s).map(([e,A])=>[GA[e].getFunction(A.signature).selector.toLowerCase(),Object.freeze({platform:e,...A})])));function P(e){throw new Error(`evm-mint-launchpads: ${e}`)}function Me(e,A){try{return qf(String(e||""))}catch{return P(`invalid ${A}`)}}function we(e,A,{positive:t=!1}={}){try{let r=BigInt(e);return(r<0n||t&&r===0n)&&P(`${A} must be ${t?"positive":"unsigned"}`),r}catch(r){if(/evm-mint-launchpads:/.test(String(r?.message)))throw r;return P(`${A} must be an unsigned integer`)}}function Os(e,A="proof"){return(!Array.isArray(e)||e.length>64||e.some(t=>!/^0x[0-9a-fA-F]{64}$/.test(String(t))))&&P(`invalid ${A}`),e.map(String)}function Pf(e,A,t){let r=Number(A.chainId);(!Number.isSafeInteger(r)||r<=0)&&P("invalid chainId");let n=Me(A.contract,"contract"),s=(Array.isArray(t.reviewedContracts)?t.reviewedContracts:[]).find(g=>g.platform===e&&Number(g.chainId)===r&&Me(g.contract,"reviewed contract")===n);s||P("unsupported contract or wrong chain");let o=Me(s.mintTarget||s.contract,"reviewed mint target"),a=GA[e].getFunction(_s[e].signature).selector.toLowerCase();return(!(s.selectors||[a]).map(g=>String(g).toLowerCase()).includes(a)||!s.codeHash||!/^0x[0-9a-fA-F]{64}$/.test(s.codeHash))&&P("unverified bytecode/selector combination"),{chainId:r,contract:n,mintTarget:o,selector:a,review:s}}async function Of(e,A,t){if(typeof t.getCode=="function")return t.getCode(e,A);if(typeof t.rpcCall=="function")return t.rpcCall(e,"eth_getCode",[A,"latest"],t);P("runtime bytecode verification required")}function _f(e,A){let t=e.stage;if(!t)return null;let r=we(t.startTime,"stage startTime"),n=we(t.endTime,"stage endTime"),i=BigInt(Math.floor(A/1e3));return(r>i||n<=i||n<=r)&&P("mint stage is not open"),{...t,startTime:r.toString(),endTime:n.toString()}}function zf(e,A){let t=_s[e];String(A).slice(0,10).toLowerCase()!==GA[e].getFunction(t.signature).selector.toLowerCase()&&P("unknown selector");let r;try{r=GA[e].decodeFunctionData(t.signature,A)}catch{P("invalid calldata layout")}let n;return e==="manifold"&&(n=GA.manifold.encodeFunctionData(t.signature,[r[0],r[1],r[2],[...r[3]],r[4]])),e==="zora"&&(n=GA.zora.encodeFunctionData(t.signature,[r[0],r[1],r[2],r[3]])),e==="thirdweb"&&(n=GA.thirdweb.encodeFunctionData(t.signature,[r[0],r[1],r[2],r[3],r[4],r[5]])),n.toLowerCase()!==String(A).toLowerCase()&&P("calldata must be canonical with no suffix"),r}async function Hg(e,A={},t={}){GA[e]||P("unsupported platform");let{chainId:r,contract:n,mintTarget:i,review:s}=Pf(e,A,t),o=Me(A.recipient||A.minter,"recipient"),a=we(A.quantity,"quantity",{positive:!0}),c=we(A.priceWei,"priceWei"),g=we(A.maxValueWei,"maxValueWei"),l=we(A.maxPlatformFeeWei??0,"maxPlatformFeeWei"),Q=A.transaction||A.tx;(!Q||Number(Q.chainId)!==r)&&P("transaction chain mismatch"),Me(Q.to,"transaction target")!==i&&P("transaction target mismatch");let I=await Of(r,i,t);(!/^0x[0-9a-fA-F]+$/.test(String(I))||I==="0x"||Wf(I).toLowerCase()!==String(s.codeHash).toLowerCase())&&P("runtime bytecode is not reviewed");let E=zf(e,Q.data),u=Number.isFinite(Number(t.nowMs))?Number(t.nowMs):Date.now(),C=_f(A,u),B,h,m,p=null,L=[];if(e==="manifold")Me(E[0],"calldata contract")!==n&&P("calldata contract mismatch"),(A.instanceId==null||we(E[1],"instanceId")!==we(A.instanceId,"instanceId"))&&P("instance/stage mismatch"),(A.mintIndex==null||we(E[2],"mintIndex")!==we(A.mintIndex,"mintIndex"))&&P("mint index/stage mismatch"),L=Os([...E[3]]),B=Me(E[4],"calldata recipient"),h=1n,m=c;else if(e==="zora")B=Me(E[0],"calldata recipient"),h=BigInt(E[1]),m=c,A.comment!=null&&E[2]!==String(A.comment)&&P("comment mismatch"),A.mintReferral!=null&&Me(E[3],"mint referral")!==Me(A.mintReferral,"expected mint referral")&&P("mint referral mismatch");else{B=Me(E[0],"calldata recipient"),h=BigInt(E[1]),m=BigInt(E[3]);let ie=E[4];L=Os([...ie.proof]),p=BigInt(ie.quantityLimitPerWallet),p<a&&P("wallet allowance below quantity"),(BigInt(ie.pricePerToken)!==c||Me(ie.currency,"allowlist currency")!==Me(E[2],"currency"))&&P("allowlist terms mismatch")}B!==o&&P("recipient mismatch"),h!==a&&P("quantity mismatch"),m!==c&&P("price mismatch"),A.proof!=null&&JSON.stringify(L.map(ie=>ie.toLowerCase()))!==JSON.stringify(Os(A.proof).map(ie=>ie.toLowerCase()))&&P("proof mismatch");let J=we(Q.value??0,"transaction value"),q=c*a;(J<q||J-q>l||J>g)&&P("transaction value or fee cap exceeded");let j=Q.gasLimit==null?null:we(Q.gasLimit,"gasLimit"),Ee=Q.maxFeePerGas==null?null:we(Q.maxFeePerGas,"maxFeePerGas");return A.maxGasLimit!=null&&(j==null||j>we(A.maxGasLimit,"maxGasLimit"))&&P("gas limit cap exceeded"),A.maxFeePerGasWei!=null&&(Ee==null||Ee>we(A.maxFeePerGasWei,"maxFeePerGasWei"))&&P("gas fee cap exceeded"),xA({status:"ok",action:"mint",platform:e,chainId:r,contract:n,mintTarget:i,recipient:o,quantity:a.toString(),priceWei:c.toString(),valueWei:J.toString(),platformFeeWei:(J-q).toString(),maxValueWei:g.toString(),maxPlatformFeeWei:l.toString(),...C?{stage:C}:{},...p==null?{}:{walletAllowance:p.toString()},proof:L,transaction:{chainId:r,to:i,data:Q.data,value:J.toString(),...j==null?{}:{gasLimit:j.toString()},...Ee==null?{}:{maxFeePerGas:Ee.toString()}},requiresWalletSignature:!0,backendSigner:!1,execution:"prepare-only",signed:!1},{provider:`${e}-mint`,kind:"evm-nft-mint"})}var Zf="RESEARCH_ONLY";var Kf="canonical serialized-message decoding and program-specific instruction validation are not implemented",xn=Object.freeze({metaplexCore:"CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d",tokenMetadata:"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",candyMachine:"CndyV3LdqHUfDLmE5naZjVN8rBZz4tqhdefbAnjHG3JR",candyGuard:"Guard1JwRhJkVH6XZhzoYxeBVQe872VH6QggF4BWmS9g",magicEdenLaunchpad:"CndyV3LdqHUfDLmE5naZjVN8rBZz4tqhdefbAnjHG3JR"}),XL=Object.freeze({system:"11111111111111111111111111111111",computeBudget:"ComputeBudget111111111111111111111111111111",token:"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",token2022:"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",associatedToken:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",sysvarInstructions:"Sysvar1nstructions1111111111111111111111111"});function Xf(){throw new Error(`solana-mint: ${Zf}; disabled until ${Kf}`)}function Vg(){Xf()}import{Address as jf,CompactSize as $f,NETWORK as ep,OutScript as $g,Script as Ap,TEST_NETWORK as qg,Transaction as tp,utils as rp}from"@scure/btc-signer";import{createHash as Sr}from"node:crypto";var Wg="universal-ordinals-mint",Pg="bitcoin-ordinals-mint-plan",np=1800*1e3,ip=new Set(["bitcoin","mainnet","testnet","signet","regtest"]),Og=new Set,sp=Object.freeze({prepareUnsignedCommitPsbt:!0,prepareUnsignedRevealPsbt:!0,parentChildInscriptions:!0,validatePlan:!0,sign:!1,broadcast:!1,custody:!1});function Xe(e,A){let t=String(e??"").trim();if(!t)throw new Error(`ordinals mint: ${A} required`);return t}function YA(e,A,{positive:t=!1}={}){let r=String(e??"").trim();if(!/^\d+$/.test(r))throw new Error(`ordinals mint: ${A} must be an integer`);let n=BigInt(r);if(t?n<=0n:n<0n)throw new Error(`ordinals mint: ${A} must be ${t?"positive":"non-negative"}`);return n}function zs(e,A){let t=Number(e);if(!Number.isFinite(t)||t<0)throw new Error(`ordinals mint: ${A} must be a non-negative number`);return t}function el(e,A){let t=Xe(e,A).toLowerCase();if(!/^(?:[0-9a-f]{2})+$/.test(t))throw new Error(`ordinals mint: ${A} must be non-empty canonical hex`);return t}function op(e){return e==="bitcoin"||e==="mainnet"?ep:e==="regtest"?{...qg,bech32:"bcrt"}:qg}function _g(e,A){try{let t=$g.decode(e);if(t.type==="unknown")throw new Error("unknown script type");return t}catch(t){throw new Error(`${A} must be a recognized standard Bitcoin script (${t?.message||"decode failed"})`)}}function ap(e){return e!=null&&(typeof e.length!="number"||e.length>0)}function cp(e){let A=Sr("sha256").update(e.unsignedTx).digest();return Sr("sha256").update(A).digest().reverse().toString("hex")}function zg(e,...A){let t=Sr("sha256").update(e,"ascii").digest();return Sr("sha256").update(t).update(t).update(Buffer.concat(A)).digest()}function gp(e,A,t,r){let n=Buffer.from(A||[]);if(n.length<1)throw new Error(`${r} has an empty tapLeafScript`);let i=n.subarray(0,-1),s=n.at(-1);if(t.type!=="tr")throw new Error(`${r} tapLeafScript requires a taproot prevout`);if(!e?.internalKey||!Array.isArray(e.merklePath))throw new Error(`${r} has malformed tapLeafScript control data`);let o=zg("TapLeaf",Buffer.from([s]),Buffer.from($f.encode(BigInt(i.length))),i);for(let g of e.merklePath){let l=Buffer.from(g);o=zg("TapBranch",...Buffer.compare(o,l)<0?[o,l]:[l,o])}let[a,c]=rp.taprootTweakPubkey(e.internalKey,o);if(!Buffer.from(a).equals(Buffer.from(t.pubkey))||(Number(e.version)&1)!==c||(Number(e.version)&254)!==s)throw new Error(`${r} tapLeafScript is not committed by its taproot prevout`);return Buffer.from(i)}function Zg(e,A){let t=Xe(e,A);try{let r=Buffer.from(t,"base64");if(!r.length||r.toString("base64")!==t||r.subarray(0,5).toString("hex")!=="70736274ff")throw new Error("bad PSBT encoding or magic");let n=tp.fromPSBT(r);if(n.global?.unknown?.length||n.global?.proprietary?.length)throw new Error(`${A} contains opaque unknown/proprietary global fields`);let i=Array.from({length:n.inputsLength},(o,a)=>{let c=n.getInput(a);for(let Q of["partialSig","tapKeySig","tapScriptSig","finalScriptSig","finalScriptWitness"])if(ap(c[Q]))throw new Error(`${A} contains signed/finalized input ${a}`);if(c.unknown?.length||c.proprietary?.length)throw new Error(`${A} input ${a} contains opaque unknown/proprietary fields`);if(![0,1].includes(c.sighashType))throw new Error(`${A} input ${a} requires explicit SIGHASH_DEFAULT or SIGHASH_ALL`);if(!c.witnessUtxo?.script||c.witnessUtxo.amount==null)throw new Error(`${A} input ${a} requires witnessUtxo value and script`);let g=_g(c.witnessUtxo.script,`${A} input ${a} witnessUtxo script`);if(c.sighashType===0&&g.type!=="tr")throw new Error(`${A} input ${a} uses SIGHASH_DEFAULT for a non-taproot prevout`);let l=(c.tapLeafScript||[]).map(([Q,I],E)=>gp(Q,I,g,`${A} input ${a} tapLeafScript ${E}`));return{txid:Buffer.from(c.txid).toString("hex"),vout:Number(c.index),sequence:Number(c.sequence),valueSats:BigInt(c.witnessUtxo.amount).toString(),scriptHex:Buffer.from(c.witnessUtxo.script).toString("hex"),sighashType:c.sighashType,tapLeafScripts:l}}),s=Array.from({length:n.outputsLength},(o,a)=>{let c=n.getOutput(a);if(c.unknown?.length||c.proprietary?.length)throw new Error(`${A} output ${a} contains opaque unknown/proprietary fields`);return _g(c.script,`${A} output ${a} script`),{valueSats:BigInt(c.amount).toString(),scriptHex:Buffer.from(c.script).toString("hex")}});return{encoded:t,txid:cp(n),inputs:i,outputs:s,feeSats:n.fee.toString(),vsizeLowerBound:n.unsignedTx.length}}catch(r){throw new Error(`ordinals mint: invalid ${A}; decoded PSBT required (${r?.message||"decode failed"})`)}}function lp(e){let A=Buffer.from(e);if(A.length!==36)throw new Error("ordinals mint: inscription envelope parent linkage must be 36 bytes");return`${Buffer.from(A.subarray(0,32)).reverse().toString("hex")}i${A.readUInt32LE(32)}`}function Qp(e){if(Number.isInteger(e)&&e>=1&&e<=16)return e;if(e instanceof Uint8Array&&e.length===1&&e[0]>=1&&e[0]<=16)return e[0]}var Ep=new Set([1,3]);function Bp(e,A){let t=A+3,r=new Map;for(;t<e.length&&e[t]!==0;){let i=Qp(e[t++]),s=e[t++];if(i==null||!(s instanceof Uint8Array))throw new Error("ordinals mint: malformed inscription envelope fields");if(!Ep.has(i))throw new Error(`ordinals mint: unsupported inscription envelope tag ${i}`);let o=r.get(i)||[];o.push(Buffer.from(s)),r.set(i,o)}if(e[t++]!==0)throw new Error("ordinals mint: malformed inscription envelope body separator");let n=[];for(;t<e.length&&e[t]!=="ENDIF";){if(!(e[t]instanceof Uint8Array))throw new Error("ordinals mint: malformed inscription envelope body");n.push(Buffer.from(e[t++]))}if(e[t]!=="ENDIF")throw new Error("ordinals mint: unterminated inscription envelope");return{fields:r,content:Buffer.concat(n)}}function Ip(e,{contentHash:A,contentType:t,parentId:r}){let n=[];for(let g of e.inputs[0].tapLeafScripts){let l;try{l=Ap.decode(g)}catch(Q){throw new Error(`ordinals mint: invalid reveal tapLeafScript (${Q?.message||"script decode failed"})`)}for(let Q=0;Q+2<l.length;Q+=1)l[Q]===0&&l[Q+1]==="IF"&&l[Q+2]instanceof Uint8Array&&Buffer.from(l[Q+2]).equals(Buffer.from("ord","ascii"))&&n.push(Bp(l,Q))}if(n.length===0)throw new Error("ordinals mint: missing tapLeafScript inscription envelope");if(n.length!==1)throw new Error("ordinals mint: ambiguous tapLeafScript inscription envelope");let i=n[0],s=i.fields.get(1)||[];if(s.length!==1)throw new Error("ordinals mint: inscription envelope requires exactly one content type");let o;try{o=new TextDecoder("utf-8",{fatal:!0}).decode(s[0]).toLowerCase()}catch{throw new Error("ordinals mint: inscription envelope content type is not valid UTF-8")}if(o!==t)throw new Error("ordinals mint: inscription envelope MIME content type does not match contentType");if(Sr("sha256").update(i.content).digest("hex")!==A)throw new Error("ordinals mint: inscription envelope content SHA-256 does not match contentHash");let c=i.fields.get(3)||[];if(r!=null){if(c.length!==1||lp(c[0])!==r)throw new Error("ordinals mint: inscription envelope parent linkage does not match parentId")}else if(c.length!==0)throw new Error("ordinals mint: unexpected inscription envelope parent linkage")}function Kg(e){return{txid:e.txid,vout:e.vout,sequence:e.sequence,valueSats:e.valueSats,scriptHex:e.scriptHex,sighashType:e.sighashType,outpoint:`${e.txid}:${e.vout}`}}function up(e){let A=/^(wif|privateKey|secretKey|seed|mnemonic|signature|signatures|signedPsbt|signedTransaction|rawTransaction|txHex)$/i,t=r=>{if(!(!r||typeof r!="object"))for(let[n,i]of Object.entries(r)){if(A.test(n))throw new Error(`ordinals mint: ${n} refused; private/signed material is outside this prepare-only adapter`);t(i)}};if(t(e),e.sign===!0||e.execute===!0||e.broadcast===!0||e.submit===!0)throw new Error("ordinals mint: sign/broadcast/execute refused; adapter is prepare-only")}function Al(e,A="parentId"){let t=Xe(e,A).toLowerCase();if(!/^[0-9a-f]{64}i\d+$/.test(t))throw new Error(`ordinals mint: ${A} must be a canonical inscription id`);return t}function tl(e,A){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`ordinals mint: commit input ${A} must be an object`);let t=Xe(e.txid,`commitInputs[${A}].txid`).toLowerCase();if(!/^[0-9a-f]{64}$/.test(t))throw new Error(`ordinals mint: commitInputs[${A}].txid must be 64 hex`);let r=Number(e.vout);if(!Number.isSafeInteger(r)||r<0||r>4294967295)throw new Error(`ordinals mint: commitInputs[${A}].vout invalid`);let n=YA(e.valueSats??e.value,`commitInputs[${A}].valueSats`,{positive:!0}).toString();return{txid:t,vout:r,valueSats:n,outpoint:`${t}:${r}`}}function Cp(e,{recipient:A,parentId:t,postageSats:r}){if(!Array.isArray(e)||e.length===0)throw new Error("ordinals mint: revealOutputs required");let n=e.map((s,o)=>{if(!s||typeof s!="object")throw new Error(`ordinals mint: reveal output ${o} invalid`);return{role:Xe(s.role,`revealOutputs[${o}].role`),address:Xe(s.address,`revealOutputs[${o}].address`),valueSats:YA(s.valueSats??s.value,`revealOutputs[${o}].valueSats`).toString(),scriptHex:el(s.scriptHex,`revealOutputs[${o}].scriptHex`),...s.parentId==null?{}:{parentId:Al(s.parentId,`revealOutputs[${o}].parentId`)}}}),i=n.filter(s=>s.role==="inscription");if(i.length!==1)throw new Error("ordinals mint: exactly one inscription reveal output required");if(i[0].address!==A)throw new Error("ordinals mint: reveal destination mutation refused");if(i[0].valueSats!==r)throw new Error("ordinals mint: reveal postage does not match bound postageSats");if(i[0].parentId!==t)throw new Error("ordinals mint: missing or mutated parent linkage on inscription output");return n}function hp(e){if(!Array.isArray(e)||e.length===0)throw new Error("ordinals mint: exact commitOutputs required");let A=e.map((t,r)=>({role:Xe(t?.role,`commitOutputs[${r}].role`),valueSats:YA(t?.valueSats??t?.value,`commitOutputs[${r}].valueSats`,{positive:!0}).toString(),scriptHex:el(t?.scriptHex,`commitOutputs[${r}].scriptHex`)}));if(A.filter(t=>t.role==="reveal").length!==1)throw new Error("ordinals mint: exactly one commit reveal output required");return A}function Xg(e,A,t){if(e.length!==A.length||e.some((r,n)=>r.valueSats!==A[n].valueSats||r.scriptHex!==A[n].scriptHex))throw new Error(`ordinals mint: actual ${t} outputs do not match reviewed outputs`)}function jg(e,A,t){try{return Buffer.from($g.encode(jf(op(A)).decode(e))).toString("hex")}catch(r){throw new Error(`ordinals mint: ${t} must be a valid address for ${A} (${r?.message||"decode failed"})`)}}function dp(e,A){let t=e.commitPsbtInputs??e.psbtInputs;if(t==null)return;if(!Array.isArray(t))throw new Error("ordinals mint: commitPsbtInputs must be an array");let r=t.map((i,s)=>tl({...i,valueSats:i.valueSats??i.value??A[s]?.valueSats},s).outpoint),n=A.map(i=>i.outpoint);if(r.length!==n.length||r.some((i,s)=>i!==n[s]))throw new Error("ordinals mint: unknown PSBT input; commit PSBT inputs must exactly match commitInputs")}function fp(e={},A={}){if(!e||typeof e!="object"||Array.isArray(e))throw new Error("ordinals mint: request object required");up(e);for(let G of["content","contentBytes","body","file","path","url","contentUrl"])if(e[G]!=null)throw new Error("ordinals mint: mutable content refused; provide immutable contentHash and contentType only");for(let G of["inscriptionNumber","stableInscriptionNumber","expectedInscriptionNumber","number"])if(e[G]!=null)throw new Error("ordinals mint: stable inscription number claims are not valid before confirmation");let t=Xe(e.network,"network").toLowerCase();if(!ip.has(t))throw new Error("ordinals mint: unsupported Bitcoin network");let r=Xe(e.contentHash??e.contentSha256??e.sha256,"contentHash").toLowerCase();if(!/^[0-9a-f]{64}$/.test(r))throw new Error("ordinals mint: contentHash must be a 32-byte SHA-256 hex digest");let n=Xe(e.contentType??e.mimeType,"contentType").toLowerCase();if(!/^[a-z0-9][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$/.test(n))throw new Error("ordinals mint: invalid contentType");let i=Al(e.parentId??e.parentInscriptionId),s=Xe(e.recipient??e.destination,"recipient"),o=YA(e.postageSats??e.postage,"postageSats",{positive:!0}).toString();if(!Array.isArray(e.commitInputs)||e.commitInputs.length===0)throw new Error("ordinals mint: exact commitInputs required");let a=e.commitInputs.map(tl);if(new Set(a.map(G=>G.outpoint)).size!==a.length)throw new Error("ordinals mint: duplicate commit input/reuse refused");dp(e,a);let c=Zg(e.commitPsbt??e.unsignedCommitPsbt,"unsigned commit PSBT"),g=Zg(e.revealPsbt??e.unsignedRevealPsbt,"unsigned reveal PSBT"),l=hp(e.commitOutputs),Q=Cp(e.revealOutputs,{recipient:s,parentId:i,postageSats:o});if(c.inputs.length!==a.length||c.inputs.some((G,Ae)=>G.txid!==a[Ae].txid||G.vout!==a[Ae].vout||G.valueSats!==a[Ae].valueSats))throw new Error("ordinals mint: actual commit PSBT inputs must exactly match commitInputs");Xg(c.outputs,l,"commit PSBT"),Xg(g.outputs,Q,"reveal PSBT");let I=jg(s,t,"recipient");if(Q.find(G=>G.role==="inscription").scriptHex!==I)throw new Error("ordinals mint: reveal inscription script does not pay the bound recipient address");for(let[G,Ae]of Q.entries())if(Ae.scriptHex!==jg(Ae.address,t,`revealOutputs[${G}].address`))throw new Error(`ordinals mint: reveal output ${G} script does not pay its bound address`);let E=l.findIndex(G=>G.role==="reveal");if(g.inputs.length!==1)throw new Error("ordinals mint: reveal PSBT must have exactly one reveal input");let u=g.inputs.filter(G=>G.txid===c.txid&&G.vout===E);if(u.length!==1||u[0].valueSats!==l[E].valueSats||u[0].scriptHex!==l[E].scriptHex)throw new Error("ordinals mint: reveal PSBT is not exactly linked to the reviewed commit reveal output");Ip(g,{contentHash:r,contentType:n,parentId:i});let C=zs(e.commitFeeRateSatVb,"commitFeeRateSatVb"),B=zs(e.revealFeeRateSatVb,"revealFeeRateSatVb"),h=zs(e.maxFeeRateSatVb,"maxFeeRateSatVb");if(h<=0||C>h||B>h)throw new Error("ordinals mint: fee rate exceeds bound fee-rate cap");let m=YA(e.commitFeeSats,"commitFeeSats"),p=YA(e.revealFeeSats,"revealFeeSats"),L=YA(e.maxTotalFeeSats,"maxTotalFeeSats",{positive:!0});if(m+p>L)throw new Error("ordinals mint: total fee exceeds maxTotalFeeSats cap");if(c.feeSats!==m.toString()||g.feeSats!==p.toString())throw new Error("ordinals mint: decoded PSBT fee does not match reviewed fee");if(Number(m)/c.vsizeLowerBound>C||Number(p)/g.vsizeLowerBound>B)throw new Error("ordinals mint: decoded PSBT fee rate exceeds reviewed rate");if(typeof e.rbf!="boolean")throw new Error("ordinals mint: explicit rbf policy required");if(c.inputs.some(G=>G.sequence<4294967294)!==e.rbf)throw new Error("ordinals mint: actual commit PSBT sequence does not match the reviewed RBF policy");if(g.inputs[0].sequence<4294967294!==e.rbf)throw new Error("ordinals mint: actual reveal PSBT sequence does not match the reviewed RBF policy");if(!e.cpfp||typeof e.cpfp!="object"||typeof e.cpfp.enabled!="boolean")throw new Error("ordinals mint: explicit cpfp policy required");let j=e.cpfp.enabled?{enabled:!0,outputIndex:Number(e.cpfp.outputIndex),valueSats:YA(e.cpfp.valueSats,"cpfp.valueSats",{positive:!0}).toString()}:{enabled:!1};if(j.enabled){if(!Number.isSafeInteger(j.outputIndex)||j.outputIndex<0||Q[j.outputIndex]?.role!=="cpfp")throw new Error("ordinals mint: CPFP outputIndex must identify a reveal cpfp output");if(Q[j.outputIndex].valueSats!==j.valueSats)throw new Error("ordinals mint: CPFP value does not match reveal output")}else if(Q.some(G=>G.role==="cpfp"))throw new Error("ordinals mint: reveal cpfp output conflicts with disabled CPFP policy");let Ee=Number(A.nowMs??Date.now()),ie=Number(e.expiresAt??e.expiresAtMs);if(!Number.isFinite(ie)||ie<=Ee||ie-Ee>np)throw new Error("ordinals mint: expiry must be future and within 30 minutes");return{network:t,contentHash:r,contentType:n,parentId:i,recipient:s,postageSats:o,commitInputs:c.inputs.map(Kg),commitPsbt:c.encoded,commitOutputs:l,revealInputs:g.inputs.map(Kg),revealPsbt:g.encoded,revealOutputs:Q,commitRate:C,revealRate:B,maxRate:h,commitFee:m.toString(),revealFee:p.toString(),maxTotalFee:L.toString(),rbf:e.rbf,cpfp:j,expiresAt:ie}}function pp(e={},A={}){let t=fp(e,A),r=t.commitInputs.find(o=>Og.has(o.outpoint));if(r)throw new Error(`ordinals mint: commit UTXO ${r.outpoint} already reserved; reuse refused`);let n=Object.freeze({...A.feeConfig||e.feeConfiguration||{}}),i={provider:Wg,kind:Pg,execution:"prepare-only",signed:!1,maxExecutions:1,capabilities:{...sp},feeConfiguration:n,plan:{version:1,network:t.network,content:{sha256:t.contentHash,type:t.contentType,mutable:!1},parentId:t.parentId,recipient:t.recipient,postageSats:t.postageSats,commit:{unsignedPsbt:t.commitPsbt,inputs:t.commitInputs,outputs:t.commitOutputs,feeRateSatVb:t.commitRate,feeSats:t.commitFee,rbf:t.rbf},reveal:{unsignedPsbt:t.revealPsbt,inputs:t.revealInputs,outputs:t.revealOutputs,feeRateSatVb:t.revealRate,feeSats:t.revealFee,cpfp:t.cpfp},caps:{maxFeeRateSatVb:t.maxRate,maxTotalFeeSats:t.maxTotalFee},expiresAt:t.expiresAt,maxExecutions:1},note:"Unsigned commit/reveal PSBT plan only. Sign and broadcast in a user-controlled Bitcoin wallet; inscription numbers are not stable before confirmation."},s=xA(i,{provider:Wg,kind:Pg,env:A.env,nowMs:Number(A.nowMs??Date.now()),expiresAtMs:t.expiresAt});for(let o of t.commitInputs)Og.add(o.outpoint);return s}var rl=pp;yg();import{readFileSync as sL,existsSync as oL}from"node:fs";import{getAddress as aL,Interface as Ls,TypedDataEncoder as lG,parseUnits as QG}from"ethers";var Yd="ORACLE_ALLOW_CUSTOM_PROVIDER_URL";function Jd({provider:e,defaultUrl:A,hosts:t=[],url:r,strict:n=!1}){let s=(String(r??"").trim()||String(A)).replace(/\/$/,"");if(s===String(A).replace(/\/$/,""))return{baseUrl:s,trusted:!0,host:vd(A)};let o;try{o=new URL(s)}catch{throw new Error(`${e}: baseUrl must be an absolute http(s) URL`)}if(o.protocol!=="http:"&&o.protocol!=="https:")throw new Error(`${e}: baseUrl must be an absolute http(s) URL`);let a=o.host;if(!a)throw new Error(`${e}: baseUrl must be an absolute http(s) URL`);if(new Set([vd(A),...t]).has(a)){let g=/^(127\.0\.0\.1|localhost|\[::1\])(:\d+)?$/i.test(a);return o.protocol==="http:"&&!g?{baseUrl:s,trusted:!1,host:a,reason:"plaintext http downgrade"}:{baseUrl:s,trusted:!0,host:a}}if(String(process.env[Yd]||"")==="1")return{baseUrl:s,trusted:!1,host:a};if(n)throw new Error(`${e}: refusing to call non-allowlisted host ${a} (set ${Yd}=1 to permit it)`);return{baseUrl:s,trusted:!1,host:a}}function vd(e){let A=new URL(String(e));if(A.protocol!=="http:"&&A.protocol!=="https:")throw new Error("unsupported protocol");return A.host}function Hd(e,A,t){let r={...e};if(!t)return r;for(let[n,i]of Object.entries(A||{}))i&&(r[n]=i);return r}var qU=/^(0|[1-9][0-9]*)$/,mg=class extends Error{constructor(A){super(`nft gas-war limit: ${A.reason}`),this.name="NftGasWarLimitError",this.verdict=A}};function St(e,A,{required:t=!0,allowZero:r=!1}={}){if(e==null||e===""){if(t)throw new Error(`${A} required`);return null}let n;if(typeof e=="bigint")n=e;else if(typeof e=="number"){if(!Number.isSafeInteger(e))throw new Error(`${A} must be a safe integer`);n=BigInt(e)}else if(typeof e=="string"){let i=e.trim();if(i.startsWith("0x")||i.startsWith("0X"))n=BigInt(i);else{if(!qU.test(i))throw new Error(`${A} must be an integer wei string`);n=BigInt(i)}}else throw new Error(`${A} must be bigint, number, or integer string`);if(n<0n||!r&&n===0n)throw new Error(`${A} must be ${r?"non-negative":"positive"}`);return n}function WU(e){let A=Number(e);if(!Number.isSafeInteger(A)||A<=0)throw new Error("chainId must be a positive integer");return A}function PU(e={}){return e.maxFeePerGas!=null?St(e.maxFeePerGas,"maxFeePerGas"):e.gasPrice!=null?St(e.gasPrice,"gasPrice"):null}function OU(e={}){try{let A=WU(e.chainId??e.tx?.chainId),t=e.tx||e,r=e.policy||e,n=r.grant?.maxGasWei??e.grant?.maxGasWei,i=St(r.maxTotalGasWei??r.maxGasWei??n,"maxTotalGasWei"),s=St(t.gasLimit??t.gas,"gasLimit"),o=PU(t);if(o==null)throw new Error("maxFeePerGas or gasPrice required");let a=St(r.maxFeePerGasWei,"maxFeePerGasWei",{required:!1}),c=St(r.maxPriorityFeePerGasWei,"maxPriorityFeePerGasWei",{required:!1}),g=t.maxPriorityFeePerGas==null?null:St(t.maxPriorityFeePerGas,"maxPriorityFeePerGas"),l=s*o;return l>i?{ok:!1,status:"BLOCK",reason:`total gas ${l} exceeds cap ${i}`,chainId:A,totalGasWei:l.toString(),maxTotalGasWei:i.toString()}:a!=null&&o>a?{ok:!1,status:"BLOCK",reason:`unit fee ${o} exceeds cap ${a}`,chainId:A,unitFeeWei:o.toString(),maxFeePerGasWei:a.toString(),totalGasWei:l.toString(),maxTotalGasWei:i.toString()}:g!=null&&c!=null&&g>c?{ok:!1,status:"BLOCK",reason:`priority fee ${g} exceeds cap ${c}`,chainId:A,priorityFeeWei:g.toString(),maxPriorityFeePerGasWei:c.toString(),totalGasWei:l.toString(),maxTotalGasWei:i.toString()}:{ok:!0,status:"PASS",reason:"gas envelope within NFT mint gas-war caps",chainId:A,totalGasWei:l.toString(),maxTotalGasWei:i.toString(),unitFeeWei:o.toString(),maxFeePerGasWei:a?.toString()??null,priorityFeeWei:g?.toString()??null,maxPriorityFeePerGasWei:c?.toString()??null}}catch(A){return{ok:!1,status:"BLOCK",reason:String(A?.message||A)}}}function Vd(e={}){let A=OU(e);if(!A.ok)throw new mg(A);return A}var cL="https://api.opensea.io/api/v2",gL="fulfillAdvancedOrder(((address offerer,address zone,(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount)[] offer,(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount,address recipient)[] consideration,uint8 orderType,uint256 startTime,uint256 endTime,bytes32 zoneHash,uint256 salt,bytes32 conduitKey,uint256 totalOriginalConsiderationItems) parameters,uint120 numerator,uint120 denominator,bytes signature,bytes extraData) advancedOrder,(uint256 orderIndex,uint8 side,uint256 index,uint256 identifier,bytes32[] criteriaProof)[] criteriaResolvers,bytes32 fulfillerConduitKey,address recipient)",lL=new Ls([`function ${gL}`]),Us=new Ls(["function mintPublic(address nftContract,address feeRecipient,address minterIfNotPayer,uint256 quantity) payable","function mintAllowList(address nftContract,address feeRecipient,address minterIfNotPayer,uint256 quantity,(uint80 mintPrice,uint48 maxTotalMintableByWallet,uint48 startTime,uint48 endTime,uint48 dropStageIndex,uint32 maxTokenSupplyForStage,uint16 feeBps,bool restrictFeeRecipients) mintParams,bytes32[] proof) payable"]),QL=Object.freeze(["blast","base","ethereum","zora","arbitrum","sei","avalanche","polygon","optimism","ape_chain","flow","b3","soneium","ronin","bera_chain","solana","shape","unichain","gunzilla","abstract","animechain","hyperevm","somnia","monad","hyperliquid","megaeth","ink","robinhood","stablechain"]),CG=new Set(QL);function EL(){let e=process.env.OPENSEA_ENV_FILE||`${process.env.HOME||""}/.config/locals-only/opensea.env`;if(!oL(e))return"";try{for(let A of sL(e,"utf8").split(`
|
|
47
|
-
`)){let t=A.match(/^\s*OPENSEA_API_KEY\s*=\s*(.+)\s*$/);if(t)return t[1].replace(/^["']|["']$/g,"").trim()}}catch{}return""}function Mg(e={}){return e.apiKey?e.apiKey:e.allowAmbientCredentials===!1||e.allowDiskCredentials===!1?e.env?.OPENSEA_API_KEY||e.env?.OPEN_SEA_API_KEY||"":e.env?.OPENSEA_API_KEY||process.env.OPENSEA_API_KEY||process.env.OPEN_SEA_API_KEY||EL()}function Kd(e={}){return Jd({provider:"opensea",defaultUrl:cL,hosts:["api.opensea.io","testnets-api.opensea.io"],url:e.baseUrl||process.env.OPENSEA_API_URL})}function Xd(e={}){return Kd(e).baseUrl}function jd(e={}){return Hd({accept:"application/json"},{"x-api-key":Mg(e)},Kd(e).trusted)}function UA(e,A="address"){try{return aL(String(e||"").trim().toLowerCase())}catch{throw new Error(`opensea: invalid ${A}`)}}async function BL(e,A={}){if(!e)throw new Error("collection slug required");if(!Mg(A))throw new Error("OPENSEA_API_KEY required");return Mn(`${Xd(A)}/collections/${encodeURIComponent(e)}`,{headers:jd(A),fetchImpl:A.fetchImpl,timeoutMs:A.timeoutMs??15e3})}var IL=Object.freeze({robinhood:4663,ethereum:1,base:8453,arbitrum:42161,optimism:10,polygon:137,avalanche:43114,zora:7777777,blast:81457,sei:1329,ape_chain:33139,b3:8333,soneium:1868,ronin:2020,bera_chain:80094,shape:360,unichain:130,gunzilla:43419,abstract:2741,animechain:69e3,hyperevm:999,somnia:5031,monad:143,megaeth:4326,ink:57073,stablechain:988});function uL(e){let A=String(e||"").trim().toLowerCase(),t=IL[A];if(!t)throw new Error(`opensea: unsupported EVM chain ${A||"(missing)"}`);return{chain:A,chainId:t}}function zd(e,A,{positive:t=!1}={}){let r=String(e??"").trim();if(!/^\d+$/.test(r))throw new Error(`opensea: ${A} must be an unsigned integer`);let n=BigInt(r);if(t&&n<=0n)throw new Error(`opensea: ${A} must be positive`);return n}function CL(e,A="transaction value"){let t;try{let r=String(e??"0").trim();if(!/^(?:0x[0-9a-fA-F]+|\d+)$/.test(r))throw new Error("invalid");t=BigInt(r)}catch{throw new Error(`opensea: ${A} must be a non-negative integer quantity`)}if(t<0n)throw new Error(`opensea: ${A} must be non-negative`);return{amount:t,hex:`0x${t.toString(16)}`}}function hL(e,A=10){let t=Number(e??1);if(!Number.isSafeInteger(t)||t<1||t>A)throw new Error(`opensea: quantity must be an integer from 1 through ${A}`);return t}function dL(e,A,t="listing expiry"){let r=e==null?"":String(e).trim(),n;if(/^\d+$/.test(r)){let i=Number(r);n=r.length<=10?i*1e3:i}else n=Date.parse(r);if(!r||!Number.isFinite(n))throw new Error(`opensea: ${t} missing or invalid`);if(n<=A)throw new Error(`opensea: ${t} is expired or stale`);return new Date(n).toISOString()}function fL(e){if(e.userConfirmed!==!0)throw new Error("opensea: userConfirmed=true required after buyer, chain, contract, token, quantity, price cap, total cap, and expiry review")}function $d(e){if(!e||typeof e!="object")return!1;let A=String(e.action??e.type??e.method??"");return/approv|setapprovalforall|permit/i.test(A)?!0:Object.values(e).some(t=>t&&typeof t=="object"&&$d(t))}function ef(e){return!e||typeof e!="object"?!1:Object.keys(e).some(A=>/^(?:signed.*|rawtransaction|serializedtransaction|txsigned|r|s|v)$/i.test(A))}function Af(e){return!e||typeof e!="object"?!1:ef(e)?!0:Object.values(e).some(A=>A&&typeof A=="object"&&Af(A))}function tf(e,A=[],t=new Set){if(!e||typeof e!="object"||t.has(e))return A;t.add(e),e.transaction&&typeof e.transaction=="object"?A.push(e.transaction):e.tx&&typeof e.tx=="object"&&A.push(e.tx);for(let[r,n]of Object.entries(e))(r==="transaction"||r==="tx")&&n&&typeof n=="object"||n&&typeof n=="object"&&tf(n,A,t);return A}function Zd(e){return e&&typeof e=="object"&&typeof e.value=="string"?e.value:e}function pL(e,{buyer:A,chainId:t,targets:r}){if(!e||typeof e!="object")throw new Error("opensea: transaction object required");if(ef(e))throw new Error("opensea: signed transaction material refused");if((e.from?UA(Zd(e.from),"transaction buyer"):A)!==A)throw new Error("opensea: OpenSea returned a transaction for the wrong buyer");let i=UA(Zd(e.to??e.target),"transaction target");if(!r.has(i))throw new Error("opensea: OpenSea returned a transaction for the wrong target");let s=e.data??e.calldata,o=e.input_data&&typeof e.input_data=="object"?e.input_data:e.input&&typeof e.input=="object"?e.input:null;if(s==null&&o){if(!String(e.function||"").replace(/^function\s+/,"").startsWith("fulfillAdvancedOrder("))throw new Error("opensea: only exact Seaport fulfillAdvancedOrder preparation is accepted");s=lL.encodeFunctionData("fulfillAdvancedOrder",[o.advancedOrder,o.criteriaResolvers,o.fulfillerConduitKey,o.recipient])}let a=String(s??"").trim().toLowerCase();if(!/^0x(?:[0-9a-f]{2})+$/.test(a))throw new Error("opensea: OpenSea returned invalid transaction calldata");let c=e.calldata_suffix==null?"":String(e.calldata_suffix).trim().toLowerCase();if(c){if(!/^0x[0-9a-f]{8}$/.test(c))throw new Error("opensea: invalid OpenSea calldata suffix");a.endsWith(c.slice(2))||(a+=c.slice(2))}let g=e.chainId??e.chain_id??e.chainIdentifier?.chainId;if(g!=null&&Number(g)!==t)throw new Error("opensea: OpenSea returned a transaction for the wrong chain");let l=CL(e.value_hex??e.valueHex??e.value??0);return{from:A,to:i,data:a,value:l.hex,chainId:t,valueWei:l.amount}}function rf(e){return{from:e.from,to:e.to,data:e.data,value:e.value,chainId:e.chainId,...e.gasLimit==null?{}:{gasLimit:e.gasLimit},...e.maxFeePerGas==null?{}:{maxFeePerGas:e.maxFeePerGas},...e.maxPriorityFeePerGas==null?{}:{maxPriorityFeePerGas:e.maxPriorityFeePerGas},...e.worstCaseFeeWei==null?{}:{worstCaseFeeWei:e.worstCaseFeeWei}}}async function wL(e,A,t){let r=t.provider,n=!!t.rpcUrl;if(!r&&!n)return{simulated:!1,gasEstimates:[]};let i=[];for(let a of e){let{chainId:c,...g}=rf(a);if(r){if(typeof r.call!="function"||typeof r.estimateGas!="function")throw new Error("opensea: supplied provider must implement call and estimateGas");await r.call(g);let l=await r.estimateGas(g);i.push(BigInt(l).toString())}else{let{rpcCall:l}=await Promise.resolve().then(()=>(Ng(),Sg)),Q={...t,fetchImpl:t.rpcFetchImpl||t.fetchImpl};await l(A,"eth_call",[g,"pending"],Q);let I=await l(A,"eth_estimateGas",[g],Q);i.push(BigInt(I).toString())}}let s=null,o=null;if(r&&typeof r.getFeeData=="function"){let a=await r.getFeeData();o=a?.maxPriorityFeePerGas==null?0n:BigInt(a.maxPriorityFeePerGas),s=a?.maxFeePerGas==null?a?.gasPrice==null?null:BigInt(a.gasPrice):BigInt(a.maxFeePerGas)}else if(n){let{rpcCall:a}=await Promise.resolve().then(()=>(Ng(),Sg)),c={...t,fetchImpl:t.rpcFetchImpl||t.fetchImpl},g=BigInt(await a(A,"eth_gasPrice",[],c));try{o=BigInt(await a(A,"eth_maxPriorityFeePerGas",[],c))}catch{o=0n}let l=await a(A,"eth_getBlockByNumber",["pending",!1],c),I=(l?.baseFeePerGas==null?0n:BigInt(l.baseFeePerGas))*2n+o;s=g>I?g:I}return s!=null&&o!=null&&e.forEach((a,c)=>{let l=(BigInt(i[c])*120n+99n)/100n;a.gasLimit=l.toString(),a.maxPriorityFeePerGas=o.toString(),a.maxFeePerGas=s.toString(),a.worstCaseFeeWei=(l*s).toString()}),{simulated:!0,gasEstimates:i}}function yL(e,A){if($d(e))throw new Error("opensea: approval steps are not permitted in NFT buy, sweep, or mint preparation");if(Af(e))throw new Error("opensea: signed transaction material refused");let t=tf(e);if(!t.length&&e&&typeof e=="object"&&(e.to||e.target)&&t.push(e),!t.length)throw new Error("opensea: OpenSea returned no transaction action");return t.map(r=>pL(r,A))}function mL(e,A,t={}){return xA({...e,provider:"opensea-nft",kind:A,marketplace:"opensea",prepareReady:!0,requiresUserSignature:!0,signingReady:!1,broadcastReady:!1,executionReady:!1,note:"Unsigned OpenSea EVM NFT transaction preparation only. The private signer must revalidate every bound field before the user signs or broadcasts."},t)}function DL(e,A,t){let n=(Array.isArray(e?.contracts)?e.contracts:[]).find(s=>String(s?.chain||A).toLowerCase()===A&&s?.address);if(!n)throw new Error("opensea: collection response contains no contract for requested chain");let i=UA(n.address,"collection NFT contract");if(i!==t)throw new Error("opensea: OpenSea returned the wrong collection contract");return i}async function nf(e={},A={}){if(!Mg(A))throw new Error("OPENSEA_API_KEY required");fL(e);let{chain:t,chainId:r}=uL(e.chain),n=UA(e.buyer||e.minter||e.address,"buyer"),i=UA(e.contract,"NFT contract"),s=hL(e.quantity),o=zd(e.priceWei,"priceWei"),a=zd(e.maxTotalWei,"maxTotalWei"),c=Number.isFinite(Number(A.nowMs))?Number(A.nowMs):Date.now(),g=dL(e.expiry,c,"mint expiry");if(e.tokenId!=null)throw new Error("opensea: SeaDrop mint tokenId is unknown until the mined receipt and must not be caller supplied");let l=String(e.slug||"").trim();if(!l)throw new Error("opensea: collection slug required");let Q=await BL(l,A),I=DL(Q,t,i),E=o*BigInt(s);if(E>a)throw new Error("opensea: mint total exceeds total cap");let u=await Mn(`${Xd(A)}/drops/${encodeURIComponent(l)}/mint`,{method:"POST",headers:jd(A),body:{minter:n,quantity:s},fetchImpl:A.fetchImpl,timeoutMs:A.timeoutMs??25e3,retries:0,dedupe:!1}),C=A.allowedMintTargets?.[t]??A.allowedMintTargets?.[r]??e.mintTarget,B=Array.isArray(C)?C:C?[C]:[];if(!B.length)throw new Error("opensea: reviewed SeaDrop mintTarget required");let h=new Set(B.map(se=>UA(se,"SeaDrop mint target"))),m=yL(u,{buyer:n,chainId:r,targets:h});if(m.length!==1)throw new Error("opensea: mint must contain exactly one SeaDrop transaction");let p,L,J=null,q;try{p=Us.decodeFunctionData("mintPublic",m[0].data),L="public",q=Us.encodeFunctionData("mintPublic",[p[0],p[1],p[2],p[3]])}catch{try{p=Us.decodeFunctionData("mintAllowList",m[0].data),L="allowlist";let se=p[4],qe=[...p[5]].map(String);if(qe.length<1||qe.length>64||qe.some(Qf=>!/^0x[0-9a-fA-F]{64}$/.test(Qf)))throw new Error("opensea: allowlist mint requires a bounded canonical Merkle proof");let Ug=BigInt(se.startTime),Lg=BigInt(se.endTime),Tg=BigInt(Math.floor(c/1e3));if(Ug>Tg||Lg<=Tg)throw new Error("opensea: allowlist mint stage is not open");if(BigInt(se.mintPrice)!==o)throw new Error("opensea: allowlist stage price does not match exact approved price");if(BigInt(se.maxTotalMintableByWallet)<BigInt(s))throw new Error("opensea: allowlist wallet cap is below requested quantity");q=Us.encodeFunctionData("mintAllowList",[p[0],p[1],p[2],p[3],se,qe]),J={mintPrice:BigInt(se.mintPrice).toString(),maxTotalMintableByWallet:BigInt(se.maxTotalMintableByWallet).toString(),startTime:Ug.toString(),endTime:Lg.toString(),dropStageIndex:BigInt(se.dropStageIndex).toString(),maxTokenSupplyForStage:BigInt(se.maxTokenSupplyForStage).toString(),feeBps:Number(se.feeBps),restrictFeeRecipients:!!se.restrictFeeRecipients,proof:qe}}catch(se){throw/opensea:/.test(String(se?.message||""))?se:new Error("opensea: mint transaction must call reviewed SeaDrop mintPublic or mintAllowList")}}let j=UA(p[0],"mint NFT contract"),Ee=UA(p[1],"mint fee recipient"),ie=UA(p[2],"mint recipient");if(j!==I)throw new Error("opensea: mint calldata collection mismatch");if(ie!==n)throw new Error("opensea: mint calldata recipient mismatch");if(BigInt(p[3])!==BigInt(s))throw new Error("opensea: mint calldata quantity mismatch");if(q.toLowerCase()!==m[0].data.toLowerCase())throw new Error("opensea: mint calldata must be canonical with no suffix");let G=m.reduce((se,qe)=>se+qe.valueWei,0n);if(G!==E)throw new Error("opensea: mint transaction total does not match exact approved price and quantity");if(G>a)throw new Error("opensea: mint total exceeds total cap");let Ae=await wL(m,r,{...A,provider:e.provider||A.provider});if(Ae.simulated!==!0)throw new Error("opensea: mint RPC simulation required");let LA=e.gasPolicy||A.gasPolicy||{maxTotalGasWei:e.maxGasWei,maxFeePerGasWei:e.maxFeePerGasWei,maxPriorityFeePerGasWei:e.maxPriorityFeePerGasWei},TA=Vd({chainId:r,tx:m[0],policy:LA});return mL({action:"mint",mintType:L,...J?{stage:J}:{},chain:t,chainId:r,slug:l,buyer:n,contract:I,quantity:s,priceWei:o.toString(),totalWei:G.toString(),maxTotalWei:a.toString(),mintTarget:m[0].to,feeRecipient:Ee,expiry:g,transactions:m.map(rf),gasWar:TA,...Ae},"nft-mint",{nowMs:c,expiresAtMs:Math.min(c+Ys,Date.parse(g),J?Number(BigInt(J.endTime)*1000n):Number.MAX_SAFE_INTEGER)})}var hG=new Ls(["function setApprovalForAll(address operator,bool approved)"]),dG=new Ls(["function cancel((address offerer,address zone,(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount)[] offer,(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount,address recipient)[] consideration,uint8 orderType,uint256 startTime,uint256 endTime,bytes32 zoneHash,uint256 salt,bytes32 conduitKey,uint256 counter)[] orders) returns (bool cancelled)"]);var kL=Object.freeze([rt.DISCOVERY,rt.ELIGIBILITY,rt.PREPARATION,rt.SIMULATION]),sf=[["evm.manifold","evm",["manifold"],["mint","claim"],"evm","manifold"],["evm.zora","evm",["zora"],["mint"],"evm","zora"],["evm.thirdweb","evm",["thirdweb"],["mint","claim"],"evm","thirdweb"],["evm.opensea-seadrop","evm",["opensea"],["mint","seadrop"],"opensea",null],["solana.metaplex-core","solana",["metaplex"],["mint"],"solana",xn.metaplexCore],["solana.candy-machine","solana",["metaplex"],["mint","candy-machine"],"solana",xn.candyMachine],["solana.magic-eden-launchpad","solana",["magic-eden"],["mint","launchpad"],"solana",xn.magicEdenLaunchpad],["bitcoin.ordinals","bitcoin",["ordinals"],["mint","inscription"],"bitcoin",null]],of=Object.freeze(sf.map(([e,A,t,r])=>Object.freeze({id:e,family:A,chainFamilies:Object.freeze([A]),marketplaces:Object.freeze(t),mechanisms:Object.freeze(r),enabled:A!=="solana",capabilities:A==="solana"?Object.freeze([rt.DISCOVERY]):kL,tier:A==="solana"?"RESEARCH_ONLY":"PREPARE_READY"}))),bG=Ws(of.map(({family:e,tier:A,enabled:t,...r})=>r)),af=new Map(sf.map(e=>[e[0],e])),RL=new Set(["intent","adapterId","input"]),bL=/^(?:sign|execute|broadcast|submit|wif|privateKey|secretKey|seed|mnemonic|vault|signature|signatures|signed.*|rawTransaction)$/i,Ts=class extends Error{constructor(A,t,r={}){super(`universal mint router: ${t}`,r),this.name="UniversalMintRouterError",this.code=A}};function X(e,A,t){throw new Ts(e,A,t?{cause:t}:{})}function D(e,A,t){String(e??"")!==String(A)&&X("intent-mismatch",`${t} does not match canonical intent`)}function ue(e,A,t){let r=e[A];return r.unit!==t&&X("unsupported-unit",`${A}.unit must be ${t}`),BigInt(r.amount)}function cf(e,A="input"){if(!(!e||typeof e!="object"))for(let[t,r]of Object.entries(e))bL.test(t)&&X("custody-refused",`${A}.${t} is outside the prepare-only boundary`),cf(r,`${A}.${t}`)}function SL(e,A){return e==="solana"?A.eligibilityProofAccounts??[]:e==="bitcoin"?A.eligibilityProof??[A.contentHash,A.parentId]:A.proof??[]}function NL(e,A,t,r){(typeof A.stageId!="string"||typeof A.proofDigest!="string")&&X("invalid-request","decoded input requires exact stageId and proofDigest");let n=e.stages.find(a=>a.id===A.stageId);n||X("intent-mismatch","stageId does not match canonical intent"),D(A.proofDigest,n.eligibility.proofDigest,"proof digest");let i=`sha256:${FL("sha256").update(JSON.stringify(SL(t,A))).digest("hex")}`;D(i,n.eligibility.proofDigest,"decoded proof digest");let s=A.stage?.startTime!=null?Number(A.stage.startTime)*1e3:A.stageStartsAt!=null?Number(A.stageStartsAt)*1e3:Number(A.stageStartsAtMs),o=A.stage?.endTime!=null?Number(A.stage.endTime)*1e3:A.stageEndsAt!=null?Number(A.stageEndsAt)*1e3:Number(A.stageEndsAtMs);return(!Number.isSafeInteger(s)||!Number.isSafeInteger(o))&&X("invalid-request","decoded input requires exact stage bounds"),D(s,n.startsAt.value,"stage start"),D(o,n.endsAt.value,"stage end"),(r<s||r>=o)&&X("expired-intent","canonical mint stage is not active at authoritative now"),n}function ML(e,A){let t=af.get(A);t||X("unsupported-adapter",`unsupported explicit adapter ${String(A)}`);let[,r,n,i]=t;return D(r,e.chain.family,"chain family"),(!n.includes(e.marketplace)||!i.includes(e.mechanism))&&X("unsupported-request",`${A} does not support the exact marketplace/mechanism`),t}function UL(e,A){e.chain.family==="evm"?(D(A.chainId,e.chain.id,"network"),D(A.contract,e.collection,"collection/drop"),D(A.recipient??A.buyer??A.minter,e.recipient,"recipient"),D(A.quantity,e.quantity,"quantity"),D(A.maxValueWei??A.maxTotalWei,ue(e,"mintValueCap","wei"),"mint-value cap"),D(A.maxTotalGasWei??A.maxGasWei??A.gasPolicy?.maxTotalGasWei,ue(e,"networkFeeCap","wei"),"network-fee cap"),D(A.maxPriorityFeePerGasWei??A.gasPolicy?.maxPriorityFeePerGasWei,ue(e,"priorityFeeCap","wei-per-gas"),"priority-fee cap")):e.chain.family==="solana"?(D(A.network,e.chain.id,"network"),D(A.collection??A.drop??A.identity,e.collection,"collection/drop"),D(A.recipientOwner??A.recipient,e.recipient,"recipient"),D(A.quantity,e.quantity,"quantity"),D(A.priceLamports,ue(e,"mintValueCap","lamports"),"mint-value cap"),D(A.networkFeeCapLamports,ue(e,"networkFeeCap","lamports"),"network-fee cap"),D(A.priorityFeeCapLamports,ue(e,"priorityFeeCap","lamports"),"priority-fee cap")):(D(A.network,e.chain.id,"network"),D(A.parentId,e.collection,"collection/drop"),D(A.recipient,e.recipient,"recipient"),D(e.quantity,1,"Ordinals quantity"),D(A.postageSats,ue(e,"mintValueCap","sats"),"mint-value cap"),D(A.maxTotalFeeSats,ue(e,"networkFeeCap","sats"),"network-fee cap"),D(A.maxFeeRateSatVb,ue(e,"priorityFeeCap","sat/vbyte"),"priority-fee cap"))}function LL(e){(!e||e.oraclePrepared!==!0||e.prepareHash!==Ln(e))&&X("artifact-mismatch","leaf returned an invalid or mutated preparation stamp"),(e.signingReady!==!1||e.broadcastReady!==!1||e.executionReady!==!1||e.signed===!0)&&X("custody-refused","leaf artifact is not strictly prepare-only")}function TL(e,A,t){D(A.chainId,e.chain.id,"network"),D(A.contract,e.collection,"collection/drop"),D(A.recipient??A.buyer??A.minter,e.recipient,"recipient"),D(A.quantity,e.quantity,"quantity");let r=ue(e,"mintValueCap","wei"),n=ue(e,"networkFeeCap","wei"),i=ue(e,"priorityFeeCap","wei-per-gas");D(A.maxValueWei??A.maxTotalWei,r,"mint-value cap"),D(A.maxTotalGasWei??A.maxGasWei??A.gasPolicy?.maxTotalGasWei,n,"network-fee cap"),D(A.maxPriorityFeePerGasWei??A.gasPolicy?.maxPriorityFeePerGasWei,i,"priority-fee cap");let s=t.transaction??t.transactions?.[0];s||X("artifact-mismatch","prepared EVM transaction is missing"),D(s.chainId,e.chain.id,"artifact network");let o=BigInt(s.gasLimit??0),a=BigInt(s.maxFeePerGas??0);(!o||!a||o*a>n)&&X("artifact-mismatch","artifact network fee exceeds or omits canonical cap evidence");let c=BigInt(s.maxPriorityFeePerGas??A.maxPriorityFeePerGasWei??A.gasPolicy?.maxPriorityFeePerGasWei??-1);return(c<0n||c>i)&&X("artifact-mismatch","artifact priority fee exceeds or omits canonical cap evidence"),D(t.contract,e.collection,"artifact collection/drop"),D(t.recipient??t.buyer,e.recipient,"artifact recipient"),D(t.quantity,e.quantity,"artifact quantity"),BigInt(t.valueWei??t.totalWei)>r&&X("artifact-mismatch","artifact mint value exceeds canonical cap"),{networkFee:(o*a).toString(),priorityFee:c.toString()}}function xL(e,A,t){D(A.network,e.chain.id,"network"),D(A.collection??A.drop??A.identity,e.collection,"collection/drop"),D(A.recipientOwner??A.recipient,e.recipient,"recipient"),D(A.quantity,e.quantity,"quantity"),D(A.priceLamports,ue(e,"mintValueCap","lamports"),"mint-value cap");let r=ue(e,"networkFeeCap","lamports"),n=ue(e,"priorityFeeCap","lamports");D(A.networkFeeCapLamports,r,"network-fee cap"),D(A.priorityFeeCapLamports,n,"priority-fee cap"),D(t.chain,`solana-${e.chain.id}`,"artifact network");let i=0n;for(let s of t.transactions)for(let o of s.instructions)if(String(o.decoded?.type).toLowerCase().includes("price")){let a=s.instructions.find(c=>String(c.decoded?.type).toLowerCase().includes("limit"))?.decoded?.units;i+=(BigInt(a)*BigInt(o.decoded.microLamports)+999999n)/1000000n}return(i>n||i>r)&&X("artifact-mismatch","artifact Solana fee exceeds canonical caps"),{networkFee:i.toString(),priorityFee:i.toString()}}function GL(e,A,t){return D(A.network,e.chain.id,"network"),D(A.parentId,e.collection,"collection/drop"),D(A.recipient,e.recipient,"recipient"),D(e.quantity,1,"Ordinals quantity"),D(A.postageSats,ue(e,"mintValueCap","sats"),"mint-value cap"),D(A.maxTotalFeeSats,ue(e,"networkFeeCap","sats"),"network-fee cap"),D(A.maxFeeRateSatVb,ue(e,"priorityFeeCap","sat/vbyte"),"priority-fee cap"),D(t.plan.network,e.chain.id,"artifact network"),D(t.plan.parentId,e.collection,"artifact collection/drop"),D(t.plan.recipient,e.recipient,"artifact recipient"),D(t.plan.postageSats,e.mintValueCap.amount,"artifact mint-value cap"),D(t.plan.caps.maxTotalFeeSats,e.networkFeeCap.amount,"artifact network-fee cap"),D(t.plan.caps.maxFeeRateSatVb,e.priorityFeeCap.amount,"artifact priority-fee cap"),{networkFee:(BigInt(t.plan.commit.feeSats)+BigInt(t.plan.reveal.feeSats)).toString(),priorityFee:String(t.plan.caps.maxFeeRateSatVb)}}function gf(){return Object.freeze({prepareOnly:!0,signing:!1,broadcast:!1,adapters:of})}async function YL(){return{provider:"universal-mint-router",status:"ok",prepareOnly:!0,capabilities:gf()}}async function lf(e={},A={}){(!e||typeof e!="object"||Array.isArray(e))&&X("invalid-request","request must be a plain object");for(let g of Object.keys(e))RL.has(g)||X("invalid-request",`unknown request field ${g}`);(typeof e.adapterId!="string"||!e.adapterId)&&X("invalid-request","explicit adapterId is required; adapter inference is refused"),af.has(e.adapterId)||X("unsupported-adapter",`unsupported explicit adapter ${e.adapterId}`);let t=e.input;(!t||typeof t!="object"||Array.isArray(t))&&X("invalid-request","family-specific decoded input is required"),cf(t);let r;try{r=Hs(e.intent)}catch(g){X("invalid-intent",g.message,g)}let n=Number(A.nowMs??Date.now());Number.isSafeInteger(n)||X("invalid-request","authoritative nowMs must be a safe integer"),n>=r.expiry.value&&X("expired-intent","canonical mint intent has expired");let i=ML(r,e.adapterId);i[1]==="solana"&&X("adapter-refused","universal Solana mint preparation is disabled until canonical serialized-message instructions are independently decoded and bound");let s=NL(r,t,r.chain.family,n);UL(r,t);let o;try{i[4]==="evm"?o=await Hg(i[5],t,A):i[4]==="opensea"?o=await nf(t,A):i[4]==="solana"?(D(t.programId,i[5],"selected Solana adapter program"),o=await Vg(t,A)):o=await rl(t,A)}catch(g){if(g instanceof Ts)throw g;X("adapter-refused",g?.message||"adapter preparation failed",g)}LL(o);let a=i[4]==="bitcoin"?GL(r,t,o):i[4]==="solana"?xL(r,t,o):TL(r,t,o),c=Object.freeze({intentHash:Yg(r),adapterId:e.adapterId,family:r.chain.family,network:r.chain.id,marketplace:r.marketplace,mechanism:r.mechanism,collection:r.collection,recipient:r.recipient,quantity:String(r.quantity),stageId:s.id,proofDigest:s.eligibility.proofDigest,mintValueCap:r.mintValueCap,networkFeeCap:r.networkFeeCap,priorityFeeCap:r.priorityFeeCap,observedNetworkFee:a.networkFee,observedPriorityFee:a.priorityFee});return xA({provider:"universal-mint-router",kind:"universal-nft-mint",execution:"prepare-only",signed:!1,adapterId:e.adapterId,tier:"PREPARE_READY",intent:r,binding:c,leafArtifact:o},{provider:"universal-mint-router",kind:"universal-nft-mint",env:A.env,nowMs:n,expiresAtMs:Math.min(r.expiry.value,s.endsAt.value,Number(o.expiresAt))})}var SG=lf,NG=lf,MG=gf,UG=YL;export{of as UNIVERSAL_MINT_ADAPTERS,bG as UNIVERSAL_MINT_ROUTER_REGISTRY,Ts as UniversalMintRouterError,MG as getUniversalMintCapabilities,UG as getUniversalMintHealth,lf as prepareUniversalMint,NG as prepareUniversalMintAdmin,SG as prepareUniversalMintPublic,gf as universalMintCapabilities,YL as universalMintHealth};
|
|
1
|
+
var Jt=Object.defineProperty;var ne=(e,t,n)=>()=>{if(n)throw n[0];try{return e&&(t=e(e=0)),t}catch(r){throw n=[r],r}};var Xt=(e,t)=>{for(var n in t)Jt(e,n,{get:t[n],enumerable:!0})};import Y from"node:net";import er from"node:dns";function ae(e){let t=String(e).toLowerCase().split("%")[0];if((t.match(/::/g)||[]).length>1)return null;let n=l=>{if(!l)return[];let p=l.split(":"),d=p.at(-1);if(d?.includes(".")){let h=d.split(".").map(Number);if(h.length!==4||h.some(f=>!Number.isInteger(f)||f<0||f>255))return null;p.splice(p.length-1,1,(h[0]<<8|h[1]).toString(16),(h[2]<<8|h[3]).toString(16))}return p.some(h=>!/^[0-9a-f]{1,4}$/.test(h))?null:p.map(h=>Number.parseInt(h,16))},[r,i]=t.split("::"),o=n(r),a=n(i);if(!o||!a)return null;let s=t.includes("::"),c=8-o.length-a.length;if(!s&&c!==0||s&&c<1)return null;let u=[...o,...Array(Math.max(0,c)).fill(0),...a];return u.length!==8?null:Uint8Array.from(u.flatMap(l=>[l>>8,l&255]))}function ve(e,t,n){let r=Math.floor(n/8),i=n%8;for(let a=0;a<r;a+=1)if(e[a]!==t[a])return!1;if(!i)return!0;let o=255<<8-i;return(e[r]&o)===(t[r]&o)}function Ie(e){if(Y.isIPv4(e)){let t=e.split(".").map(Number);return!(t[0]===0||t[0]===10||t[0]===127||t[0]>=224||t[0]===100&&t[1]>=64&&t[1]<=127||t[0]===169&&t[1]===254||t[0]===172&&t[1]>=16&&t[1]<=31||t[0]===192&&(t[1]===0||t[1]===2||t[1]===168)||t[0]===192&&t[1]===88&&t[2]===99||t[0]===198&&(t[1]===18||t[1]===19||t[1]===51)||t[0]===203&&t[1]===0&&t[2]===113)}if(Y.isIPv6(e)){let t=ae(e);if(!t)return!1;let n=ae("::ffff:0:0");return ve(t,n,96)?Ie([...t.slice(12)].join(".")):ve(t,ae("2000::"),3)?![["2001::",23],["2001:db8::",32],["2001:10::",28],["2001:2::",48],["2002::",16],["3fff::",20]].some(([i,o])=>ve(t,ae(i),o)):!1}return!1}function nr(e){let t;try{t=new URL(String(e))}catch{return{ok:!1,error:`not a valid URL: ${String(e).slice(0,120)}`}}if(t.protocol!=="http:"&&t.protocol!=="https:")return{ok:!1,error:`refused protocol ${t.protocol} (only http/https)`};let n=t.hostname.toLowerCase().replace(/^\[|\]$/g,"").replace(/\.+$/,"");if(tr.has(n)||n.endsWith(".localhost")||n.endsWith(".internal"))return{ok:!1,error:`refused internal host ${n}`};let r=Y.isIP(n);return r!==0&&!Ie(n)?{ok:!1,error:`refused private address ${n}`}:{ok:!0,url:t,host:n,isLiteralIp:r!==0}}async function Ae(e,{lookupFn:t=er.promises.lookup}={}){let n=nr(e);if(!n.ok)return n;if(n.isLiteralIp)return{ok:!0,url:n.url,addresses:[{address:n.host,family:Y.isIPv6(n.host)?6:4}]};let r;try{r=await t(n.host,{all:!0,verbatim:!0})}catch{return{ok:!1,error:`refused: ${n.host} did not resolve`}}return!Array.isArray(r)||r.length===0||r.some(i=>!Ie(i.address))?{ok:!1,error:`refused: ${n.host} resolves to a non-public address`}:{ok:!0,url:n.url,addresses:r}}async function Te({requireUndici:e=!1,importUndici:t=()=>import("undici")}={}){let n,r;try{let p=await t();n=p.Agent,r=p.fetch}catch(p){if(e)throw new Error(`egress-guard: untrustedUrl pinning requires the undici package, which failed to load: ${p?.message||p}`);return null}if(typeof n!="function"||typeof r!="function"){if(e)throw new Error("egress-guard: untrustedUrl pinning requires undici's Agent and fetch exports, which were not found on the imported module");return null}let i=p=>String(p).toLowerCase().replace(/^\[|\]$/g,"").replace(/\.+$/,""),o=new Map,a=p=>(Array.isArray(p)?p:[p]).map(d=>typeof d=="string"?{address:d}:d).filter(d=>d&&d.address).map(d=>({address:d.address,family:d.family||(Y.isIPv6(d.address)?6:4)})),s=(p,d,h)=>{o.set(i(p),a(typeof d=="string"?[{address:d,family:h}]:d))},c=p=>{let d=i(p);if(Y.isIP(d))return[{address:d,family:Y.isIPv6(d)?6:4}];let h=o.get(d);if(!h||!h.length)throw new Error(`refused: unpinned host ${p} during pinned fetch`);return h},u=new n({connect:{lookup(p,d,h){let f;try{f=c(p)}catch(A){return h(A)}return d?.all?h(null,f):h(null,f[0].address,f[0].family)}}}),l=rr((p,d={})=>r(p,{...d,dispatcher:u}),s);return{dispatcher:u,fetch:l,pin:s,resolve:c,async close(){try{await u.destroy()}catch{}}}}function rr(e,t){if(typeof e!="function")throw new Error("markPinCapableFetch: fetchImpl must be a function");if(typeof t!="function")throw new Error("markPinCapableFetch: pin must be a function");return e[Pe]=Object.freeze({pin:t}),e}function Ne(e){return typeof e=="function"&&typeof e[Pe]?.pin=="function"}function dt(e,t,n){if(!Ne(e))throw new Error("pinFetchToAddresses: fetchImpl is not pin-capable");e[Pe].pin(t,n)}var tr,Pe,mt=ne(()=>{tr=new Set(["localhost","metadata.google.internal","metadata.goog"]);Pe=Symbol.for("oracle.egressGuard.pinCapableFetch")});import{createHash as ir}from"node:crypto";function ur(e){let t=String(e||"").toLowerCase();return bt.includes(t)||/(^|-)(api[-_]?key|key|token|secret|auth|authorization|session|cookie|signature|access)(-|$)/.test(t)}function lr(e){let t={};for(let[n,r]of Object.entries(e||{}))ur(n)||(t[n]=r);return t}function pr(e,t){if(!e)throw new Error(`HTTP redirect from ${t} missing Location`);let n=new URL(String(e),String(t));if(n.protocol!=="http:"&&n.protocol!=="https:")throw new Error(`HTTP redirect from ${t} used unsupported protocol ${n.protocol}`);return n.toString()}function dr(e,t){return new URL(String(e)).origin===new URL(String(t)).origin}function mr(e,t,n,r={}){let i={};for(let[l,p]of Object.entries(n||{}))i[l.toLowerCase()]=p;let o=Object.keys(i).filter(l=>/(^|-)(api[-_]?key|key|token|secret|auth|authorization|session|cookie|signature|access)(-|$)/.test(l)),s=[...new Set([...bt,...o])].sort().map(l=>`${l}=${i[l]??""}`).join(`
|
|
2
|
+
`),c=ir("sha256").update(s).digest("hex").slice(0,32),u=`${r.untrustedUrl?"untrusted":"trusted"}:${r.maxResponseBytes??"unbounded"}`;return`${e} ${t} ${u} ${c}`}function fr(e,t){let n=Number(t);return Number.isFinite(n)&&n>0?Math.min(n*1e3,ht):Math.min(250*2**e,ht)+Math.floor(Math.random()*100)}function Q(e,t={}){let n=new Error(e);return n.retryable=!1,Object.assign(n,t),n}function $e(e,t,n){return Q(`HTTP response from ${e} exceeded maxResponseBytes ${n} (${t})`,{oversize:!0})}function ee(e){try{let t=e?.body?.cancel?.();t&&typeof t.then=="function"&&t.catch(()=>{})}catch{}}function wr(e){return e?e.byteLength??e.length??0:0}async function yt(e,t,{url:n,truncate:r=!1,onOversize:i}={}){if(t==null)return await e.text();let o=Number(e.headers?.get?.("content-length"));if(Number.isFinite(o)&&o>t&&(ee(e),!r))throw $e(n,`content-length ${o}`,t);let a=e.body?.getReader?.();if(!a){let p=await e.text(),d=Buffer.byteLength(p,"utf8");if(d>t){if(!r)throw $e(n,`body ${d} bytes`,t);return Buffer.from(p,"utf8").subarray(0,t).toString("utf8")}return p}let s=[],c=0,u=!1;try{for(;;){let{value:p,done:d}=await a.read();if(d)break;if(p&&(s.push(Buffer.from(p)),c+=wr(p),c>t)){u=!0;break}}}finally{if(u)try{await a.cancel()}catch{}try{a.releaseLock?.()}catch{}}if(u&&(typeof i=="function"&&i(),!r))throw $e(n,`streamed ${c} bytes`,t);let l=Buffer.concat(s);return(u?l.subarray(0,t):l).toString("utf8")}function gt(e){if(!e)return null;try{return JSON.parse(e)}catch{return null}}async function yr(e,{fetchImpl:t,method:n,headers:r,body:i,timeoutMs:o,lookupFn:a,realFetch:s,untrustedUrl:c=!1,maxResponseBytes:u=null,importUndici:l,validateResponse:p}){let d=new AbortController,h=setTimeout(()=>d.abort(),o),f=null,A=t,P=a?{lookupFn:a}:{};if(c&&!s&&!Ne(A))throw Q(`HTTP refused ${e}: untrustedUrl requires a pin-capable fetchImpl (see markPinCapableFetch in egress-guard.mjs) or no fetchImpl override so Oracle can pin the connection itself`);let N=async(b,{status:E=null}={})=>{let w=await Ae(b,P);if(!w.ok)throw Q(E==null?`HTTP refused ${b}: ${w.error}`:`HTTP redirect to ${b} ${w.error}`,E==null?{}:{status:E});let y=new URL(b).hostname;if(s){if(f&&(await f.close(),f=null),!f)try{f=await Te({requireUndici:!0,...l?{importUndici:l}:{}})}catch(x){throw Q(E==null?`HTTP refused ${b}: ${x?.message||x}`:`HTTP redirect to ${b} refused: ${x?.message||x}`,E==null?{}:{status:E})}f.pin(y,w.addresses),A=f.fetch}else dt(A,y,w.addresses);return w};try{let b=String(e),E={...r||{}};c&&await N(b);for(let w=0;w<=wt;w+=1){let y=await A(b,{method:n,headers:E,body:i,signal:d.signal,redirect:"manual"});if(sr.has(y.status)){if(n!=="GET"&&n!=="HEAD"){let g=await yt(y,u??cr,{url:b,truncate:!0}),k=new Error(`HTTP ${y.status} ${n} ${b} redirected non-idempotent request`);throw k.status=y.status,k.body=gt(g)??g.slice(0,300),k}if(w===wt)throw ee(y),new Error(`HTTP redirect loop for ${e}`);let v=y.headers?.get?.("location"),_;try{_=pr(v,b)}catch(g){throw ee(y),g}let T=!dr(_,b);if(ee(y),T&&(E=lr(E)),c)await N(_,{status:y.status});else if(T){let g=await Ae(_,P);if(!g.ok){let k=new Error(`HTTP redirect from ${b} ${g.error}`);throw k.status=y.status,k.retryable=!1,k}s&&g.addresses?.length&&(f||(f=await Te(l?{importUndici:l}:{})),f&&(f.pin(new URL(_).hostname,g.addresses),A=f.fetch))}b=_;continue}if(typeof p=="function")try{await p(y,{url:b})}catch(v){throw ee(y),Q(v?.message||String(v))}let x=await yt(y,u,{url:b,onOversize:()=>d.abort()}),R=gt(x);if(!y.ok){let v=new Error(`HTTP ${y.status} ${n} ${b}`);throw v.status=y.status,v.retryAfter=y.headers?.get?.("retry-after")??null,v.body=R??x.slice(0,300),v}return R??x}throw new Error(`HTTP redirect loop for ${e}`)}finally{clearTimeout(h),f&&await f.close()}}async function te(e,t={}){let n=t.fetchImpl||globalThis.fetch;if(typeof n!="function")throw new Error("fetch unavailable \u2014 pass opts.fetchImpl");let r=t.timeoutMs??12e3,i=(t.method||"GET").toUpperCase(),o={Accept:"application/json",...t.headers||{}},a=t.body;a!=null&&typeof a!="string"&&(o["Content-Type"]=o["Content-Type"]||"application/json",a=JSON.stringify(a));let s=Number.isInteger(t.retries)?Math.max(t.retries,0):ar,c=t.lookupFn,u=!t.fetchImpl,l=t.untrustedUrl===!0,p=t.importUndici,d=t.validateResponse,h=Number(t.maxResponseBytes),f=Number.isFinite(h)&&h>0?Math.floor(h):null,A=async()=>{let w;for(let y=0;y<=s;y++)try{return await yr(e,{fetchImpl:n,method:i,headers:o,body:a,timeoutMs:r,lookupFn:c,realFetch:u,untrustedUrl:l,maxResponseBytes:f,importUndici:p,validateResponse:d})}catch(x){w=x;let R=x?.status,v=x?.name==="AbortError",_=new Set([408,425,429]),T=x?.retryable===!1?!1:R!=null?_.has(R)||or.has(R)&&ft.has(i):!v&&ft.has(i);if(y===s||!T)throw x;await hr(fr(y,x?.retryAfter))}throw w};if(!(t.dedupe!==!1&&i==="GET"&&a==null))return A();let N=mr(i,e,o,{untrustedUrl:l,maxResponseBytes:f}),b=_e.get(N);if(b)return b;let E=A().finally(()=>_e.delete(N));return _e.set(N,E),E}var or,ft,ar,ht,bt,sr,wt,cr,_e,hr,Ce=ne(()=>{mt();or=new Set([408,425,429,500,502,503,504]),ft=new Set(["GET","HEAD","OPTIONS","PUT","DELETE"]),ar=2,ht=4e3,bt=["authorization","x-api-key","x-tensor-api-key","0x-api-key","api-key","cookie","proxy-authorization"],sr=new Set([301,302,303,307,308]),wt=3,cr=64*1024;_e=new Map;hr=e=>new Promise(t=>setTimeout(t,e))});function Re(e){return At.get(Number(e))||null}function Tt(e,t=process.env){let n=Re(e);if(!n)return null;for(let r of n.rpcEnv){let i=(t[r]||"").trim();if(i)return i}return null}function Pt(e){return At.has(Number(e))}var Oe,At,Nt=ne(()=>{Oe={robinhood:{chainId:4663,name:"Robinhood Chain",rpcEnv:["RH_CHAIN_RPC"],evm:!0},ethereum:{chainId:1,name:"Ethereum",rpcEnv:["ETH_RPC_URL","ETHEREUM_RPC_URL","MAINNET_RPC_URL"],evm:!0},polygon:{chainId:137,name:"Polygon",rpcEnv:["POLYGON_RPC_URL","POLYGON_RPC"],evm:!0},arbitrum:{chainId:42161,name:"Arbitrum One",rpcEnv:["ARBITRUM_RPC_URL","ARB_RPC_URL"],evm:!0},base:{chainId:8453,name:"Base",rpcEnv:["BASE_RPC_URL"],evm:!0},hyperevm:{chainId:999,name:"HyperEVM",rpcEnv:["HYPEREVM_RPC_URL","HYPER_EVM_RPC"],evm:!0},bsc:{chainId:56,name:"BNB Smart Chain",rpcEnv:["BSC_RPC_URL","BNB_RPC_URL"],evm:!0},avalanche:{chainId:43114,name:"Avalanche C-Chain",rpcEnv:["AVALANCHE_RPC_URL","AVAX_RPC_URL"],evm:!0},optimism:{chainId:10,name:"OP Mainnet",rpcEnv:["OPTIMISM_RPC_URL","OP_RPC_URL"],evm:!0},abstract:{chainId:2741,name:"Abstract",rpcEnv:["ABSTRACT_RPC_URL","ABS_RPC_URL"],evm:!0},stable:{chainId:988,name:"Stable Mainnet",rpcEnv:["STABLE_RPC_URL","STABLE_RPC"],evm:!0}},At=new Map(Object.values(Oe).map(e=>[e.chainId,e]))});var Be={};Xt(Be,{PUBLIC_RPC_FALLBACKS:()=>Le,erc20Allowance:()=>Cr,erc20BalanceOf:()=>kr,resolveRpcUrl:()=>Me,rpcBlockNumber:()=>Pr,rpcCall:()=>H,rpcChainId:()=>Nr,rpcGasPrice:()=>_r,rpcGetBalance:()=>$r,rpcHealth:()=>_t,rpcHealthAll:()=>Rr,transactionReceipt:()=>Or});import{Interface as xr,getAddress as vr}from"ethers";function z(e,t){try{return vr(e).toLowerCase()}catch{throw new Error(`${t} must be a valid EVM address`)}}function Ir(e){let t=String(e||"").trim();if(!/^0x[0-9a-fA-F]{64}$/.test(t))throw new Error("txHash must be a 32-byte hex transaction hash");return t.toLowerCase()}function Fe(e){return e==null?null:Number.parseInt(String(e),16)}function Me(e,{rpcUrl:t,env:n=process.env}={}){if(t)return t;let r=Tt(e,n);return r||Le[Number(e)]||null}function Tr(e){let t=String(e||""),n=t.toLowerCase();if(t!==t.trim()||!/^[a-zA-Z0-9_]+$/.test(t)||!Ar.test(n))throw new Error(`evm-rpc: ${t} refused \u2014 @oracle-agent/oracle is prepare-only (read RPC only; no broadcast/sign)`);return n}async function H(e,t,n=[],r={}){let i=String(t||"");Tr(i);let o=Me(e,r);if(!o)throw new Error(`No RPC URL for chainId ${e} (set env from chain registry rpcEnv or pass rpcUrl)`);let s=await te(o,{method:"POST",body:{jsonrpc:"2.0",id:1,method:t,params:n},fetchImpl:r.fetchImpl,timeoutMs:r.timeoutMs??12e3});if(s?.error){let c=new Error(s.error.message||JSON.stringify(s.error));throw c.code=s.error.code,c}return s.result}async function _t(e,t={}){let n=await H(e,"eth_blockNumber",[],t),r=parseInt(n,16),i=await H(e,"eth_chainId",[],t),o=parseInt(i,16);return{ok:Number.isFinite(r)&&o===Number(e),chainId:Number(e),reportedChainId:o,blockNumber:r,name:Re(e)?.name||null}}async function Pr(e,t={}){let n=await H(e,"eth_blockNumber",[],t);return parseInt(n,16)}async function Nr(e,t={}){let n=await H(e,"eth_chainId",[],t);return parseInt(n,16)}async function _r(e,t={}){let n=await H(e,"eth_gasPrice",[],t);if(n==null)return null;try{return BigInt(n)}catch{return null}}async function $r(e,t,n={}){if(!t)throw new Error("rpcGetBalance requires address");let r=await H(e,"eth_getBalance",[t,"latest"],n);return{chainId:Number(e),address:t,balanceWei:BigInt(r).toString(),balanceHex:r}}async function Cr(e={},t={}){let n=Number(e.chainId??t.chainId??1),r=z(e.token||e.tokenAddress,"token"),i=z(e.owner,"owner"),o=z(e.spender,"spender"),a=se.encodeFunctionData("allowance",[i,o]),s=await H(n,"eth_call",[{to:r,data:a},e.blockTag||"latest"],t),c=se.decodeFunctionResult("allowance",s),u=BigInt(c[0]);return{chainId:n,token:r,owner:i,spender:o,allowance:u.toString(),allowanceHex:`0x${u.toString(16)}`,blockTag:e.blockTag||"latest"}}async function kr(e={},t={}){let n=Number(e.chainId??t.chainId??1),r=z(e.token||e.tokenAddress,"token"),i=z(e.account||e.owner||e.address,"account"),o=se.encodeFunctionData("balanceOf",[i]),a=await H(n,"eth_call",[{to:r,data:o},e.blockTag||"latest"],t),s=se.decodeFunctionResult("balanceOf",a),c=BigInt(s[0]);return{chainId:n,token:r,account:i,balance:c.toString(),balanceHex:`0x${c.toString(16)}`,blockTag:e.blockTag||"latest"}}async function Or(e={},t={}){let n=Number(e.chainId??t.chainId??1),r=Ir(e.txHash||e.hash||e.transactionHash),i=await H(n,"eth_getTransactionReceipt",[r],t);if(!i)return{ok:!1,chainId:n,txHash:r,status:"pending",receipt:null,reason:"receipt pending"};let o=Fe(i.status),a=o===1,s=o===1?"success":o===0?"reverted":"unknown",c=a?null:s==="reverted"?"transaction reverted":"unknown receipt status",u=e.expectedTo?z(e.expectedTo,"expectedTo"):null,l=i.to?z(i.to,"receipt.to"):null;return u&&l!==u&&(a=!1,c=`to mismatch: expected ${u}, got ${l||"null"}`),{ok:a,chainId:n,txHash:r,status:s,reason:c,statusCode:o,to:l,from:i.from?z(i.from,"receipt.from"):null,blockNumber:Fe(i.blockNumber),transactionIndex:Fe(i.transactionIndex),logs:Array.isArray(i.logs)?i.logs:[],receipt:i}}async function Rr(e={}){let t=e.chainIds||Object.values(Oe).map(r=>r.chainId),n={};return await Promise.all(t.map(async r=>{if(!Pt(r)&&!Le[r]&&!Me(r,e)){n[r]={ok:!1,error:"no rpc configured",chainId:r};return}try{n[r]=await _t(r,e)}catch(i){n[r]={ok:!1,chainId:r,error:String(i.message||i)}}})),n}var se,Le,Ar,qe=ne(()=>{Ce();Nt();se=new xr(["function allowance(address owner,address spender) view returns (uint256)","function balanceOf(address account) view returns (uint256)"]);Le={1:"https://ethereum.publicnode.com",137:"https://polygon-bor-rpc.publicnode.com",42161:"https://arbitrum-one-rpc.publicnode.com",8453:"https://base-rpc.publicnode.com",10:"https://optimism-rpc.publicnode.com",988:"https://rpc.stable.xyz",56:"https://bsc-rpc.publicnode.com",43114:"https://avalanche-c-chain-rpc.publicnode.com",999:"https://rpc.hyperliquid.xyz/evm",2741:"https://api.mainnet.abs.xyz",4663:"https://rpc.mainnet.chain.robinhood.com"};Ar=/^(?:eth_(?:call|blocknumber|chainid|get[a-z0-9]+|feehistory|gasprice|maxpriorityfeepergas|syncing|protocolversion|estimategas|createaccesslist)|net_(?:version|listening|peercount)|web3_(?:clientversion|sha3))$/});import{createHash as ti}from"node:crypto";import{createHash as Zt,createHmac as Qt,timingSafeEqual as wi}from"node:crypto";var en=2,de=300*1e3,tn=(()=>{let e=Number(process.env.ORACLE_PREPARE_HARD_MAX_AGE_MS);return Number.isFinite(e)&&e>0?e:1800*1e3})();function pe(e){return e===null||typeof e!="object"?JSON.stringify(e):Array.isArray(e)?`[${e.map(pe).join(",")}]`:`{${Object.keys(e).sort().map(n=>`${JSON.stringify(n)}:${pe(e[n])}`).join(",")}}`}function Ge(e){let t=String(e?.ORACLE_STAMP_HMAC_SECRET||"").trim();return t.length>=16?t:""}function ze(e=process.env){return Ge(process.env)||Ge(e)}function nn(e){let{prepareHash:t,prepareMac:n,note:r,...i}=e||{};return i}function re(e){let t=nn(e);return Zt("sha256").update(pe(t)).digest("hex")}function rn(e,t=ze()){return t?Qt("sha256",t).update(String(e)).digest("hex"):""}function U(e,{provider:t,kind:n,env:r=process.env,nowMs:i=Date.now(),expiresAtMs:o}={}){if(!e||typeof e!="object")throw new Error("stampPrepared: payload object required");let a=Object.prototype.hasOwnProperty.call(e,"oraclePrepared");if(a&&typeof e.oraclePrepared!="boolean")throw new Error("stampPrepared: oraclePrepared must be boolean");let s={...e,provider:e.provider||t,kind:e.kind||n,requiresUserSignature:e.requiresUserSignature!==!1,signingReady:!1,broadcastReady:!1,executionReady:!1,oraclePrepared:a?e.oraclePrepared:!0};if(!s.provider)throw new Error("stampPrepared: provider required");if(!s.kind)throw new Error("stampPrepared: kind required");let c=Number(i),u=o==null?c+de:Number(o),l=u-c;if(!Number.isSafeInteger(c)||!Number.isSafeInteger(u)||l<=0||l>tn)throw new Error("stampPrepared: bounded preparedAt/expiresAt required");let d={...s,preparedAt:c,expiresAt:u,prepareVersion:en},h=re(d),f=ze(r),A=f?rn(h,f):void 0,P={...d,prepareHash:h};return A&&(P.prepareMac=A),P}import{createHash as on}from"node:crypto";var an=1,sn=8,O=class extends TypeError{constructor(t,n="invalid-intent"){super(`universal mint intent: ${t}`),this.name="UniversalMintIntentError",this.code=n}},cn=new Set(["version","chain","marketplace","mechanism","collection","recipient","quantity","stages","mintValueCap","networkFeeCap","priorityFeeCap","expiry","maxExecutions"]),un=new Set(["family","id"]),ln=new Set(["id","startsAt","endsAt","eligibility"]),pn=new Set(["kind","proofFormat","proofDigest"]),dn=new Set(["amount","unit"]),mn=new Set(["value","unit"]);function J(e,t){if(!e||typeof e!="object"||Array.isArray(e)||Object.getPrototypeOf(e)!==Object.prototype)throw new O(`${t} must be a plain object`);return e}function X(e,t,n){for(let r of Object.keys(e))if(!t.has(r))throw new O(`${n} has unknown field ${r}`,"unknown-field")}function B(e,t){if(typeof e!="string"||e.length===0||e.trim()!==e||/[\u0000-\u001f\u007f]/.test(e))throw new O(`${t} must be a non-empty exact string without surrounding whitespace`);return e}function fn(e,t){if(!Number.isSafeInteger(e)||e<=0)throw new O(`${t} must be a positive safe integer`);return e}function me(e,t){if(e=J(e,t),X(e,dn,t),!Object.hasOwn(e,"amount")||!Object.hasOwn(e,"unit"))throw new O(`${t} requires amount and unit`,"ambiguous-unit");let n=B(e.amount,`${t}.amount`);if(!/^(0|[1-9]\d*)$/.test(n))throw new O(`${t}.amount must be a canonical non-negative integer string`);return{amount:n,unit:B(e.unit,`${t}.unit`)}}function fe(e,t){if(e=J(e,t),X(e,mn,t),e.unit!=="unix-ms"||!Number.isSafeInteger(e.value)||e.value<0)throw new O(`${t} must have a non-negative safe integer value and unit unix-ms`,"ambiguous-unit");return{value:e.value,unit:"unix-ms"}}function hn(e,t){e=J(e,t),X(e,pn,t);let n=B(e.kind,`${t}.kind`),r=B(e.proofFormat,`${t}.proofFormat`),i=B(e.proofDigest,`${t}.proofDigest`);if(!/^[a-z0-9][a-z0-9+._-]*:[0-9a-f]+$/.test(i))throw new O(`${t}.proofDigest must be algorithm:lowercase-hex metadata`);return{kind:n,proofFormat:r,proofDigest:i}}function wn(e,t){let n=`stages[${t}]`;e=J(e,n),X(e,ln,n);let r=fe(e.startsAt,`${n}.startsAt`),i=fe(e.endsAt,`${n}.endsAt`);if(r.value>=i.value)throw new O(`${n} must end after it starts`,"invalid-stage-range");return{id:B(e.id,`${n}.id`),startsAt:r,endsAt:i,eligibility:hn(e.eligibility,`${n}.eligibility`)}}function he(e){if(e=J(e,"input"),X(e,cn,"input"),e.version!==an)throw new O("version must be 1");let t=J(e.chain,"chain");X(t,un,"chain");let n=e.stages;if(!Array.isArray(n)||n.length<1||n.length>sn)throw new O("stages must contain 1 through 8 entries","stage-count");let r=n.map(wn).sort((a,s)=>a.startsAt.value-s.startsAt.value||a.id.localeCompare(s.id)),i=new Set;for(let a=0;a<r.length;a+=1){if(i.has(r[a].id))throw new O("stage ids must be unique","duplicate-stage");if(i.add(r[a].id),a&&r[a].startsAt.value<r[a-1].endsAt.value)throw new O("stages must not overlap","overlapping-stages")}if(e.maxExecutions!==1)throw new O("maxExecutions must equal 1","execution-limit");let o={version:1,chain:{family:B(t.family,"chain.family"),id:B(t.id,"chain.id")},marketplace:B(e.marketplace,"marketplace"),mechanism:B(e.mechanism,"mechanism"),collection:B(e.collection,"collection"),recipient:B(e.recipient,"recipient"),quantity:fn(e.quantity,"quantity"),stages:r,mintValueCap:me(e.mintValueCap,"mintValueCap"),networkFeeCap:me(e.networkFeeCap,"networkFeeCap"),priorityFeeCap:me(e.priorityFeeCap,"priorityFeeCap"),expiry:fe(e.expiry,"expiry"),maxExecutions:1};if(r.some(a=>a.endsAt.value>o.expiry.value))throw new O("every stage must end no later than expiry","stage-after-expiry");return o}function yn(e){return JSON.stringify(he(e))}function je(e){return`sha256:${on("sha256").update(yn(e),"utf8").digest("hex")}`}var we=Object.freeze({RESEARCH_ONLY:"RESEARCH_ONLY",PREPARE_READY:"PREPARE_READY",AUTOMINT_READY:"AUTOMINT_READY"}),V=Object.freeze({DISCOVERY:"discovery",ELIGIBILITY:"eligibility",PREPARATION:"preparation",SIMULATION:"simulation",BOUNDED_SIGNING:"boundedSigning",BROADCAST:"broadcast",RECEIPT_VERIFICATION:"receiptVerification",OWNERSHIP_VERIFICATION:"ownershipVerification"}),ye=Object.freeze(Object.values(V)),Ve=new Set(ye),Ye=Object.freeze(ye.slice(0,4)),gn=ye,bn=new Set(["id","chainFamilies","marketplaces","mechanisms","capabilities"]),F=class extends TypeError{constructor(t,n="invalid-registry-entry"){super(`universal mint registry: ${t}`),this.name="UniversalMintRegistryError",this.code=n}};function ie(e,t){if(!Array.isArray(e)||e.length===0)throw new F(`${t} must be a non-empty array`);let n=e.map(r=>{if(typeof r!="string"||!r||r.trim()!==r)throw new F(`${t} entries must be exact strings`);return r});if(new Set(n).size!==n.length)throw new F(`${t} contains duplicates`);return[...n].sort()}function En(e){if(!Array.isArray(e))throw new F("capabilities must be an array");let t=new Set(e);for(let n of t)if(!Ve.has(n))throw new F(`unknown capability ${n}`,"unknown-capability");return gn.every(n=>t.has(n))?we.AUTOMINT_READY:Ye.every(n=>t.has(n))?we.PREPARE_READY:we.RESEARCH_ONLY}function ge(e=[]){if(!Array.isArray(e))throw new F("entries must be an array");let t=new Map;for(let n of e){if(!n||typeof n!="object"||Array.isArray(n))throw new F("entry must be an object");for(let o of Object.keys(n))if(!bn.has(o))throw new F(`entry has unknown field ${o}`,"unknown-field");if(typeof n.id!="string"||!n.id||n.id.trim()!==n.id)throw new F("entry id must be an exact string");if(t.has(n.id))throw new F(`duplicate entry id ${n.id}`,"duplicate-entry");let r=ie(n.capabilities,"capabilities"),i=Object.freeze({id:n.id,chainFamilies:Object.freeze(ie(n.chainFamilies,"chainFamilies")),marketplaces:Object.freeze(ie(n.marketplaces,"marketplaces")),mechanisms:Object.freeze(ie(n.mechanisms,"mechanisms")),capabilities:Object.freeze(r),tier:En(r)});t.set(i.id,i)}return Object.freeze({entries:Object.freeze([...t.values()]),get(n){return t.get(n)||null},find({chainFamily:n,marketplace:r,mechanism:i}={}){return[...t.values()].filter(o=>o.chainFamilies.includes(n)&&o.marketplaces.includes(r)&&o.mechanisms.includes(i))},require(n,r=Ye){let i=t.get(n);if(!i)throw new F(`missing adapter ${n}`,"missing-adapter");for(let o of r){if(!Ve.has(o))throw new F(`unknown capability ${o}`,"unknown-capability");if(!i.capabilities.includes(o))throw new F(`${n} is missing capability ${o}`,"missing-capability")}return i}})}var Ei=ge([]);import{getAddress as Sn,Interface as be,keccak256 as xn}from"ethers";var W=Object.freeze({manifold:new be(["function mint(address creatorContract,uint256 instanceId,uint32 mintIndex,bytes32[] merkleProof,address mintFor) payable"]),zora:new be(["function mint(address mintTo,uint256 quantity,string comment,address mintReferral) payable"]),thirdweb:new be(["function claim(address receiver,uint256 quantity,address currency,uint256 pricePerToken,(bytes32[] proof,uint256 quantityLimitPerWallet,uint256 pricePerToken,address currency) allowlistProof,bytes data) payable"])}),Se=Object.freeze({manifold:Object.freeze({signature:"mint(address,uint256,uint32,bytes32[],address)",layout:"manifold-claim-v1"}),zora:Object.freeze({signature:"mint(address,uint256,string,address)",layout:"zora-1155-mint-v1"}),thirdweb:Object.freeze({signature:"claim(address,uint256,address,uint256,(bytes32[],uint256,uint256,address),bytes)",layout:"thirdweb-drop-claim-v1"})}),Ii=Object.freeze(Object.fromEntries(Object.entries(Se).map(([e,t])=>[W[e].getFunction(t.signature).selector.toLowerCase(),Object.freeze({platform:e,...t})])));function S(e){throw new Error(`evm-mint-launchpads: ${e}`)}function M(e,t){try{return Sn(String(e||""))}catch{return S(`invalid ${t}`)}}function L(e,t,{positive:n=!1}={}){try{let r=BigInt(e);return(r<0n||n&&r===0n)&&S(`${t} must be ${n?"positive":"unsigned"}`),r}catch(r){if(/evm-mint-launchpads:/.test(String(r?.message)))throw r;return S(`${t} must be an unsigned integer`)}}function Ee(e,t="proof"){return(!Array.isArray(e)||e.length>64||e.some(n=>!/^0x[0-9a-fA-F]{64}$/.test(String(n))))&&S(`invalid ${t}`),e.map(String)}function vn(e,t,n){let r=Number(t.chainId);(!Number.isSafeInteger(r)||r<=0)&&S("invalid chainId");let i=M(t.contract,"contract"),a=(Array.isArray(n.reviewedContracts)?n.reviewedContracts:[]).find(l=>l.platform===e&&Number(l.chainId)===r&&M(l.contract,"reviewed contract")===i);a||S("unsupported contract or wrong chain");let s=M(a.mintTarget||a.contract,"reviewed mint target"),c=W[e].getFunction(Se[e].signature).selector.toLowerCase();return(!(a.selectors||[c]).map(l=>String(l).toLowerCase()).includes(c)||!a.codeHash||!/^0x[0-9a-fA-F]{64}$/.test(a.codeHash))&&S("unverified bytecode/selector combination"),{chainId:r,contract:i,mintTarget:s,selector:c,review:a}}async function In(e,t,n){if(typeof n.getCode=="function")return n.getCode(e,t);if(typeof n.rpcCall=="function")return n.rpcCall(e,"eth_getCode",[t,"latest"],n);S("runtime bytecode verification required")}function An(e,t){let n=e.stage;if(!n)return null;let r=L(n.startTime,"stage startTime"),i=L(n.endTime,"stage endTime"),o=BigInt(Math.floor(t/1e3));return(r>o||i<=o||i<=r)&&S("mint stage is not open"),{...n,startTime:r.toString(),endTime:i.toString()}}function Tn(e,t){let n=Se[e];String(t).slice(0,10).toLowerCase()!==W[e].getFunction(n.signature).selector.toLowerCase()&&S("unknown selector");let r;try{r=W[e].decodeFunctionData(n.signature,t)}catch{S("invalid calldata layout")}let i;return e==="manifold"&&(i=W.manifold.encodeFunctionData(n.signature,[r[0],r[1],r[2],[...r[3]],r[4]])),e==="zora"&&(i=W.zora.encodeFunctionData(n.signature,[r[0],r[1],r[2],r[3]])),e==="thirdweb"&&(i=W.thirdweb.encodeFunctionData(n.signature,[r[0],r[1],r[2],r[3],r[4],r[5]])),i.toLowerCase()!==String(t).toLowerCase()&&S("calldata must be canonical with no suffix"),r}async function Ke(e,t={},n={}){W[e]||S("unsupported platform");let{chainId:r,contract:i,mintTarget:o,review:a}=vn(e,t,n),s=M(t.recipient||t.minter,"recipient"),c=L(t.quantity,"quantity",{positive:!0}),u=L(t.priceWei,"priceWei"),l=L(t.maxValueWei,"maxValueWei"),p=L(t.maxPlatformFeeWei??0,"maxPlatformFeeWei"),d=t.transaction||t.tx;(!d||Number(d.chainId)!==r)&&S("transaction chain mismatch"),M(d.to,"transaction target")!==o&&S("transaction target mismatch");let h=await In(r,o,n);(!/^0x[0-9a-fA-F]+$/.test(String(h))||h==="0x"||xn(h).toLowerCase()!==String(a.codeHash).toLowerCase())&&S("runtime bytecode is not reviewed");let f=Tn(e,d.data),A=Number.isFinite(Number(n.nowMs))?Number(n.nowMs):Date.now(),P=An(t,A),N,b,E,w=null,y=[];if(e==="manifold")M(f[0],"calldata contract")!==i&&S("calldata contract mismatch"),(t.instanceId==null||L(f[1],"instanceId")!==L(t.instanceId,"instanceId"))&&S("instance/stage mismatch"),(t.mintIndex==null||L(f[2],"mintIndex")!==L(t.mintIndex,"mintIndex"))&&S("mint index/stage mismatch"),y=Ee([...f[3]]),N=M(f[4],"calldata recipient"),b=1n,E=u;else if(e==="zora")N=M(f[0],"calldata recipient"),b=BigInt(f[1]),E=u,t.comment!=null&&f[2]!==String(t.comment)&&S("comment mismatch"),t.mintReferral!=null&&M(f[3],"mint referral")!==M(t.mintReferral,"expected mint referral")&&S("mint referral mismatch");else{N=M(f[0],"calldata recipient"),b=BigInt(f[1]),E=BigInt(f[3]);let T=f[4];y=Ee([...T.proof]),w=BigInt(T.quantityLimitPerWallet),w<c&&S("wallet allowance below quantity"),(BigInt(T.pricePerToken)!==u||M(T.currency,"allowlist currency")!==M(f[2],"currency"))&&S("allowlist terms mismatch")}N!==s&&S("recipient mismatch"),b!==c&&S("quantity mismatch"),E!==u&&S("price mismatch"),t.proof!=null&&JSON.stringify(y.map(T=>T.toLowerCase()))!==JSON.stringify(Ee(t.proof).map(T=>T.toLowerCase()))&&S("proof mismatch");let x=L(d.value??0,"transaction value"),R=u*c;(x<R||x-R>p||x>l)&&S("transaction value or fee cap exceeded");let v=d.gasLimit==null?null:L(d.gasLimit,"gasLimit"),_=d.maxFeePerGas==null?null:L(d.maxFeePerGas,"maxFeePerGas");return t.maxGasLimit!=null&&(v==null||v>L(t.maxGasLimit,"maxGasLimit"))&&S("gas limit cap exceeded"),t.maxFeePerGasWei!=null&&(_==null||_>L(t.maxFeePerGasWei,"maxFeePerGasWei"))&&S("gas fee cap exceeded"),U({status:"ok",action:"mint",platform:e,chainId:r,contract:i,mintTarget:o,recipient:s,quantity:c.toString(),priceWei:u.toString(),valueWei:x.toString(),platformFeeWei:(x-R).toString(),maxValueWei:l.toString(),maxPlatformFeeWei:p.toString(),...P?{stage:P}:{},...w==null?{}:{walletAllowance:w.toString()},proof:y,transaction:{chainId:r,to:o,data:d.data,value:x.toString(),...v==null?{}:{gasLimit:v.toString()},..._==null?{}:{maxFeePerGas:_.toString()}},requiresWalletSignature:!0,backendSigner:!1,execution:"prepare-only",signed:!1},{provider:`${e}-mint`,kind:"evm-nft-mint"})}var Pn="RESEARCH_ONLY";var Nn="canonical serialized-message decoding and program-specific instruction validation are not implemented",oe=Object.freeze({metaplexCore:"CoREENxT6tW1HoK8ypY1SxRMZTcVPm7R94rH4PZNhX7d",tokenMetadata:"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s",candyMachine:"CndyV3LdqHUfDLmE5naZjVN8rBZz4tqhdefbAnjHG3JR",candyGuard:"Guard1JwRhJkVH6XZhzoYxeBVQe872VH6QggF4BWmS9g",magicEdenLaunchpad:"CndyV3LdqHUfDLmE5naZjVN8rBZz4tqhdefbAnjHG3JR"}),Ti=Object.freeze({system:"11111111111111111111111111111111",computeBudget:"ComputeBudget111111111111111111111111111111",token:"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",token2022:"TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb",associatedToken:"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL",sysvarInstructions:"Sysvar1nstructions1111111111111111111111111"});function _n(){throw new Error(`solana-mint: ${Pn}; disabled until ${Nn}`)}function Je(){_n()}import{Address as $n,CompactSize as Cn,NETWORK as kn,OutScript as st,Script as On,TEST_NETWORK as Xe,Transaction as Rn,utils as Fn}from"@scure/btc-signer";import{createHash as Z}from"node:crypto";var Ze="universal-ordinals-mint",Qe="bitcoin-ordinals-mint-plan",Ln=1800*1e3,Mn=new Set(["bitcoin","mainnet","testnet","signet","regtest"]),et=new Set,Bn=Object.freeze({prepareUnsignedCommitPsbt:!0,prepareUnsignedRevealPsbt:!0,parentChildInscriptions:!0,validatePlan:!0,sign:!1,broadcast:!1,custody:!1});function q(e,t){let n=String(e??"").trim();if(!n)throw new Error(`ordinals mint: ${t} required`);return n}function G(e,t,{positive:n=!1}={}){let r=String(e??"").trim();if(!/^\d+$/.test(r))throw new Error(`ordinals mint: ${t} must be an integer`);let i=BigInt(r);if(n?i<=0n:i<0n)throw new Error(`ordinals mint: ${t} must be ${n?"positive":"non-negative"}`);return i}function xe(e,t){let n=Number(e);if(!Number.isFinite(n)||n<0)throw new Error(`ordinals mint: ${t} must be a non-negative number`);return n}function ct(e,t){let n=q(e,t).toLowerCase();if(!/^(?:[0-9a-f]{2})+$/.test(n))throw new Error(`ordinals mint: ${t} must be non-empty canonical hex`);return n}function qn(e){return e==="bitcoin"||e==="mainnet"?kn:e==="regtest"?{...Xe,bech32:"bcrt"}:Xe}function tt(e,t){try{let n=st.decode(e);if(n.type==="unknown")throw new Error("unknown script type");return n}catch(n){throw new Error(`${t} must be a recognized standard Bitcoin script (${n?.message||"decode failed"})`)}}function Hn(e){return e!=null&&(typeof e.length!="number"||e.length>0)}function Dn(e){let t=Z("sha256").update(e.unsignedTx).digest();return Z("sha256").update(t).digest().reverse().toString("hex")}function nt(e,...t){let n=Z("sha256").update(e,"ascii").digest();return Z("sha256").update(n).update(n).update(Buffer.concat(t)).digest()}function Un(e,t,n,r){let i=Buffer.from(t||[]);if(i.length<1)throw new Error(`${r} has an empty tapLeafScript`);let o=i.subarray(0,-1),a=i.at(-1);if(n.type!=="tr")throw new Error(`${r} tapLeafScript requires a taproot prevout`);if(!e?.internalKey||!Array.isArray(e.merklePath))throw new Error(`${r} has malformed tapLeafScript control data`);let s=nt("TapLeaf",Buffer.from([a]),Buffer.from(Cn.encode(BigInt(o.length))),o);for(let l of e.merklePath){let p=Buffer.from(l);s=nt("TapBranch",...Buffer.compare(s,p)<0?[s,p]:[p,s])}let[c,u]=Fn.taprootTweakPubkey(e.internalKey,s);if(!Buffer.from(c).equals(Buffer.from(n.pubkey))||(Number(e.version)&1)!==u||(Number(e.version)&254)!==a)throw new Error(`${r} tapLeafScript is not committed by its taproot prevout`);return Buffer.from(o)}function rt(e,t){let n=q(e,t);try{let r=Buffer.from(n,"base64");if(!r.length||r.toString("base64")!==n||r.subarray(0,5).toString("hex")!=="70736274ff")throw new Error("bad PSBT encoding or magic");let i=Rn.fromPSBT(r);if(i.global?.unknown?.length||i.global?.proprietary?.length)throw new Error(`${t} contains opaque unknown/proprietary global fields`);let o=Array.from({length:i.inputsLength},(s,c)=>{let u=i.getInput(c);for(let d of["partialSig","tapKeySig","tapScriptSig","finalScriptSig","finalScriptWitness"])if(Hn(u[d]))throw new Error(`${t} contains signed/finalized input ${c}`);if(u.unknown?.length||u.proprietary?.length)throw new Error(`${t} input ${c} contains opaque unknown/proprietary fields`);if(![0,1].includes(u.sighashType))throw new Error(`${t} input ${c} requires explicit SIGHASH_DEFAULT or SIGHASH_ALL`);if(!u.witnessUtxo?.script||u.witnessUtxo.amount==null)throw new Error(`${t} input ${c} requires witnessUtxo value and script`);let l=tt(u.witnessUtxo.script,`${t} input ${c} witnessUtxo script`);if(u.sighashType===0&&l.type!=="tr")throw new Error(`${t} input ${c} uses SIGHASH_DEFAULT for a non-taproot prevout`);let p=(u.tapLeafScript||[]).map(([d,h],f)=>Un(d,h,l,`${t} input ${c} tapLeafScript ${f}`));return{txid:Buffer.from(u.txid).toString("hex"),vout:Number(u.index),sequence:Number(u.sequence),valueSats:BigInt(u.witnessUtxo.amount).toString(),scriptHex:Buffer.from(u.witnessUtxo.script).toString("hex"),sighashType:u.sighashType,tapLeafScripts:p}}),a=Array.from({length:i.outputsLength},(s,c)=>{let u=i.getOutput(c);if(u.unknown?.length||u.proprietary?.length)throw new Error(`${t} output ${c} contains opaque unknown/proprietary fields`);return tt(u.script,`${t} output ${c} script`),{valueSats:BigInt(u.amount).toString(),scriptHex:Buffer.from(u.script).toString("hex")}});return{encoded:n,txid:Dn(i),inputs:o,outputs:a,feeSats:i.fee.toString(),vsizeLowerBound:i.unsignedTx.length}}catch(r){throw new Error(`ordinals mint: invalid ${t}; decoded PSBT required (${r?.message||"decode failed"})`)}}function Wn(e){let t=Buffer.from(e);if(t.length!==36)throw new Error("ordinals mint: inscription envelope parent linkage must be 36 bytes");return`${Buffer.from(t.subarray(0,32)).reverse().toString("hex")}i${t.readUInt32LE(32)}`}function Gn(e){if(Number.isInteger(e)&&e>=1&&e<=16)return e;if(e instanceof Uint8Array&&e.length===1&&e[0]>=1&&e[0]<=16)return e[0]}var zn=new Set([1,3]);function jn(e,t){let n=t+3,r=new Map;for(;n<e.length&&e[n]!==0;){let o=Gn(e[n++]),a=e[n++];if(o==null||!(a instanceof Uint8Array))throw new Error("ordinals mint: malformed inscription envelope fields");if(!zn.has(o))throw new Error(`ordinals mint: unsupported inscription envelope tag ${o}`);let s=r.get(o)||[];s.push(Buffer.from(a)),r.set(o,s)}if(e[n++]!==0)throw new Error("ordinals mint: malformed inscription envelope body separator");let i=[];for(;n<e.length&&e[n]!=="ENDIF";){if(!(e[n]instanceof Uint8Array))throw new Error("ordinals mint: malformed inscription envelope body");i.push(Buffer.from(e[n++]))}if(e[n]!=="ENDIF")throw new Error("ordinals mint: unterminated inscription envelope");return{fields:r,content:Buffer.concat(i)}}function Vn(e,{contentHash:t,contentType:n,parentId:r}){let i=[];for(let l of e.inputs[0].tapLeafScripts){let p;try{p=On.decode(l)}catch(d){throw new Error(`ordinals mint: invalid reveal tapLeafScript (${d?.message||"script decode failed"})`)}for(let d=0;d+2<p.length;d+=1)p[d]===0&&p[d+1]==="IF"&&p[d+2]instanceof Uint8Array&&Buffer.from(p[d+2]).equals(Buffer.from("ord","ascii"))&&i.push(jn(p,d))}if(i.length===0)throw new Error("ordinals mint: missing tapLeafScript inscription envelope");if(i.length!==1)throw new Error("ordinals mint: ambiguous tapLeafScript inscription envelope");let o=i[0],a=o.fields.get(1)||[];if(a.length!==1)throw new Error("ordinals mint: inscription envelope requires exactly one content type");let s;try{s=new TextDecoder("utf-8",{fatal:!0}).decode(a[0]).toLowerCase()}catch{throw new Error("ordinals mint: inscription envelope content type is not valid UTF-8")}if(s!==n)throw new Error("ordinals mint: inscription envelope MIME content type does not match contentType");if(Z("sha256").update(o.content).digest("hex")!==t)throw new Error("ordinals mint: inscription envelope content SHA-256 does not match contentHash");let u=o.fields.get(3)||[];if(r!=null){if(u.length!==1||Wn(u[0])!==r)throw new Error("ordinals mint: inscription envelope parent linkage does not match parentId")}else if(u.length!==0)throw new Error("ordinals mint: unexpected inscription envelope parent linkage")}function it(e){return{txid:e.txid,vout:e.vout,sequence:e.sequence,valueSats:e.valueSats,scriptHex:e.scriptHex,sighashType:e.sighashType,outpoint:`${e.txid}:${e.vout}`}}function Yn(e){let t=/^(wif|privateKey|secretKey|seed|mnemonic|signature|signatures|signedPsbt|signedTransaction|rawTransaction|txHex)$/i,n=r=>{if(!(!r||typeof r!="object"))for(let[i,o]of Object.entries(r)){if(t.test(i))throw new Error(`ordinals mint: ${i} refused; private/signed material is outside this prepare-only adapter`);n(o)}};if(n(e),e.sign===!0||e.execute===!0||e.broadcast===!0||e.submit===!0)throw new Error("ordinals mint: sign/broadcast/execute refused; adapter is prepare-only")}function ut(e,t="parentId"){let n=q(e,t).toLowerCase();if(!/^[0-9a-f]{64}i\d+$/.test(n))throw new Error(`ordinals mint: ${t} must be a canonical inscription id`);return n}function lt(e,t){if(!e||typeof e!="object"||Array.isArray(e))throw new Error(`ordinals mint: commit input ${t} must be an object`);let n=q(e.txid,`commitInputs[${t}].txid`).toLowerCase();if(!/^[0-9a-f]{64}$/.test(n))throw new Error(`ordinals mint: commitInputs[${t}].txid must be 64 hex`);let r=Number(e.vout);if(!Number.isSafeInteger(r)||r<0||r>4294967295)throw new Error(`ordinals mint: commitInputs[${t}].vout invalid`);let i=G(e.valueSats??e.value,`commitInputs[${t}].valueSats`,{positive:!0}).toString();return{txid:n,vout:r,valueSats:i,outpoint:`${n}:${r}`}}function Kn(e,{recipient:t,parentId:n,postageSats:r}){if(!Array.isArray(e)||e.length===0)throw new Error("ordinals mint: revealOutputs required");let i=e.map((a,s)=>{if(!a||typeof a!="object")throw new Error(`ordinals mint: reveal output ${s} invalid`);return{role:q(a.role,`revealOutputs[${s}].role`),address:q(a.address,`revealOutputs[${s}].address`),valueSats:G(a.valueSats??a.value,`revealOutputs[${s}].valueSats`).toString(),scriptHex:ct(a.scriptHex,`revealOutputs[${s}].scriptHex`),...a.parentId==null?{}:{parentId:ut(a.parentId,`revealOutputs[${s}].parentId`)}}}),o=i.filter(a=>a.role==="inscription");if(o.length!==1)throw new Error("ordinals mint: exactly one inscription reveal output required");if(o[0].address!==t)throw new Error("ordinals mint: reveal destination mutation refused");if(o[0].valueSats!==r)throw new Error("ordinals mint: reveal postage does not match bound postageSats");if(o[0].parentId!==n)throw new Error("ordinals mint: missing or mutated parent linkage on inscription output");return i}function Jn(e){if(!Array.isArray(e)||e.length===0)throw new Error("ordinals mint: exact commitOutputs required");let t=e.map((n,r)=>({role:q(n?.role,`commitOutputs[${r}].role`),valueSats:G(n?.valueSats??n?.value,`commitOutputs[${r}].valueSats`,{positive:!0}).toString(),scriptHex:ct(n?.scriptHex,`commitOutputs[${r}].scriptHex`)}));if(t.filter(n=>n.role==="reveal").length!==1)throw new Error("ordinals mint: exactly one commit reveal output required");return t}function ot(e,t,n){if(e.length!==t.length||e.some((r,i)=>r.valueSats!==t[i].valueSats||r.scriptHex!==t[i].scriptHex))throw new Error(`ordinals mint: actual ${n} outputs do not match reviewed outputs`)}function at(e,t,n){try{return Buffer.from(st.encode($n(qn(t)).decode(e))).toString("hex")}catch(r){throw new Error(`ordinals mint: ${n} must be a valid address for ${t} (${r?.message||"decode failed"})`)}}function Xn(e,t){let n=e.commitPsbtInputs??e.psbtInputs;if(n==null)return;if(!Array.isArray(n))throw new Error("ordinals mint: commitPsbtInputs must be an array");let r=n.map((o,a)=>lt({...o,valueSats:o.valueSats??o.value??t[a]?.valueSats},a).outpoint),i=t.map(o=>o.outpoint);if(r.length!==i.length||r.some((o,a)=>o!==i[a]))throw new Error("ordinals mint: unknown PSBT input; commit PSBT inputs must exactly match commitInputs")}function Zn(e={},t={}){if(!e||typeof e!="object"||Array.isArray(e))throw new Error("ordinals mint: request object required");Yn(e);for(let g of["content","contentBytes","body","file","path","url","contentUrl"])if(e[g]!=null)throw new Error("ordinals mint: mutable content refused; provide immutable contentHash and contentType only");for(let g of["inscriptionNumber","stableInscriptionNumber","expectedInscriptionNumber","number"])if(e[g]!=null)throw new Error("ordinals mint: stable inscription number claims are not valid before confirmation");let n=q(e.network,"network").toLowerCase();if(!Mn.has(n))throw new Error("ordinals mint: unsupported Bitcoin network");let r=q(e.contentHash??e.contentSha256??e.sha256,"contentHash").toLowerCase();if(!/^[0-9a-f]{64}$/.test(r))throw new Error("ordinals mint: contentHash must be a 32-byte SHA-256 hex digest");let i=q(e.contentType??e.mimeType,"contentType").toLowerCase();if(!/^[a-z0-9][a-z0-9!#$&^_.+-]*\/[a-z0-9][a-z0-9!#$&^_.+-]*$/.test(i))throw new Error("ordinals mint: invalid contentType");let o=ut(e.parentId??e.parentInscriptionId),a=q(e.recipient??e.destination,"recipient"),s=G(e.postageSats??e.postage,"postageSats",{positive:!0}).toString();if(!Array.isArray(e.commitInputs)||e.commitInputs.length===0)throw new Error("ordinals mint: exact commitInputs required");let c=e.commitInputs.map(lt);if(new Set(c.map(g=>g.outpoint)).size!==c.length)throw new Error("ordinals mint: duplicate commit input/reuse refused");Xn(e,c);let u=rt(e.commitPsbt??e.unsignedCommitPsbt,"unsigned commit PSBT"),l=rt(e.revealPsbt??e.unsignedRevealPsbt,"unsigned reveal PSBT"),p=Jn(e.commitOutputs),d=Kn(e.revealOutputs,{recipient:a,parentId:o,postageSats:s});if(u.inputs.length!==c.length||u.inputs.some((g,k)=>g.txid!==c[k].txid||g.vout!==c[k].vout||g.valueSats!==c[k].valueSats))throw new Error("ordinals mint: actual commit PSBT inputs must exactly match commitInputs");ot(u.outputs,p,"commit PSBT"),ot(l.outputs,d,"reveal PSBT");let h=at(a,n,"recipient");if(d.find(g=>g.role==="inscription").scriptHex!==h)throw new Error("ordinals mint: reveal inscription script does not pay the bound recipient address");for(let[g,k]of d.entries())if(k.scriptHex!==at(k.address,n,`revealOutputs[${g}].address`))throw new Error(`ordinals mint: reveal output ${g} script does not pay its bound address`);let f=p.findIndex(g=>g.role==="reveal");if(l.inputs.length!==1)throw new Error("ordinals mint: reveal PSBT must have exactly one reveal input");let A=l.inputs.filter(g=>g.txid===u.txid&&g.vout===f);if(A.length!==1||A[0].valueSats!==p[f].valueSats||A[0].scriptHex!==p[f].scriptHex)throw new Error("ordinals mint: reveal PSBT is not exactly linked to the reviewed commit reveal output");Vn(l,{contentHash:r,contentType:i,parentId:o});let P=xe(e.commitFeeRateSatVb,"commitFeeRateSatVb"),N=xe(e.revealFeeRateSatVb,"revealFeeRateSatVb"),b=xe(e.maxFeeRateSatVb,"maxFeeRateSatVb");if(b<=0||P>b||N>b)throw new Error("ordinals mint: fee rate exceeds bound fee-rate cap");let E=G(e.commitFeeSats,"commitFeeSats"),w=G(e.revealFeeSats,"revealFeeSats"),y=G(e.maxTotalFeeSats,"maxTotalFeeSats",{positive:!0});if(E+w>y)throw new Error("ordinals mint: total fee exceeds maxTotalFeeSats cap");if(u.feeSats!==E.toString()||l.feeSats!==w.toString())throw new Error("ordinals mint: decoded PSBT fee does not match reviewed fee");if(Number(E)/u.vsizeLowerBound>P||Number(w)/l.vsizeLowerBound>N)throw new Error("ordinals mint: decoded PSBT fee rate exceeds reviewed rate");if(typeof e.rbf!="boolean")throw new Error("ordinals mint: explicit rbf policy required");if(u.inputs.some(g=>g.sequence<4294967294)!==e.rbf)throw new Error("ordinals mint: actual commit PSBT sequence does not match the reviewed RBF policy");if(l.inputs[0].sequence<4294967294!==e.rbf)throw new Error("ordinals mint: actual reveal PSBT sequence does not match the reviewed RBF policy");if(!e.cpfp||typeof e.cpfp!="object"||typeof e.cpfp.enabled!="boolean")throw new Error("ordinals mint: explicit cpfp policy required");let v=e.cpfp.enabled?{enabled:!0,outputIndex:Number(e.cpfp.outputIndex),valueSats:G(e.cpfp.valueSats,"cpfp.valueSats",{positive:!0}).toString()}:{enabled:!1};if(v.enabled){if(!Number.isSafeInteger(v.outputIndex)||v.outputIndex<0||d[v.outputIndex]?.role!=="cpfp")throw new Error("ordinals mint: CPFP outputIndex must identify a reveal cpfp output");if(d[v.outputIndex].valueSats!==v.valueSats)throw new Error("ordinals mint: CPFP value does not match reveal output")}else if(d.some(g=>g.role==="cpfp"))throw new Error("ordinals mint: reveal cpfp output conflicts with disabled CPFP policy");let _=Number(t.nowMs??Date.now()),T=Number(e.expiresAt??e.expiresAtMs);if(!Number.isFinite(T)||T<=_||T-_>Ln)throw new Error("ordinals mint: expiry must be future and within 30 minutes");return{network:n,contentHash:r,contentType:i,parentId:o,recipient:a,postageSats:s,commitInputs:u.inputs.map(it),commitPsbt:u.encoded,commitOutputs:p,revealInputs:l.inputs.map(it),revealPsbt:l.encoded,revealOutputs:d,commitRate:P,revealRate:N,maxRate:b,commitFee:E.toString(),revealFee:w.toString(),maxTotalFee:y.toString(),rbf:e.rbf,cpfp:v,expiresAt:T}}function Qn(e={},t={}){let n=Zn(e,t),r=n.commitInputs.find(s=>et.has(s.outpoint));if(r)throw new Error(`ordinals mint: commit UTXO ${r.outpoint} already reserved; reuse refused`);let i=Object.freeze({...t.feeConfig||e.feeConfiguration||{}}),o={provider:Ze,kind:Qe,execution:"prepare-only",signed:!1,maxExecutions:1,capabilities:{...Bn},feeConfiguration:i,plan:{version:1,network:n.network,content:{sha256:n.contentHash,type:n.contentType,mutable:!1},parentId:n.parentId,recipient:n.recipient,postageSats:n.postageSats,commit:{unsignedPsbt:n.commitPsbt,inputs:n.commitInputs,outputs:n.commitOutputs,feeRateSatVb:n.commitRate,feeSats:n.commitFee,rbf:n.rbf},reveal:{unsignedPsbt:n.revealPsbt,inputs:n.revealInputs,outputs:n.revealOutputs,feeRateSatVb:n.revealRate,feeSats:n.revealFee,cpfp:n.cpfp},caps:{maxFeeRateSatVb:n.maxRate,maxTotalFeeSats:n.maxTotalFee},expiresAt:n.expiresAt,maxExecutions:1},note:"Unsigned commit/reveal PSBT plan only. Sign and broadcast in a user-controlled Bitcoin wallet; inscription numbers are not stable before confirmation."},a=U(o,{provider:Ze,kind:Qe,env:t.env,nowMs:Number(t.nowMs??Date.now()),expiresAtMs:n.expiresAt});for(let s of n.commitInputs)et.add(s.outpoint);return a}var pt=Qn;Ce();import{readFileSync as Fr,existsSync as Lr}from"node:fs";import{getAddress as Mr,Interface as ue,TypedDataEncoder as ji,parseUnits as Vi}from"ethers";var Et="ORACLE_ALLOW_CUSTOM_PROVIDER_URL";function xt({provider:e,defaultUrl:t,hosts:n=[],url:r,strict:i=!1}){let a=(String(r??"").trim()||String(t)).replace(/\/$/,"");if(a===String(t).replace(/\/$/,""))return{baseUrl:a,trusted:!0,host:St(t)};let s;try{s=new URL(a)}catch{throw new Error(`${e}: baseUrl must be an absolute http(s) URL`)}if(s.protocol!=="http:"&&s.protocol!=="https:")throw new Error(`${e}: baseUrl must be an absolute http(s) URL`);let c=s.host;if(!c)throw new Error(`${e}: baseUrl must be an absolute http(s) URL`);if(new Set([St(t),...n]).has(c)){let l=/^(127\.0\.0\.1|localhost|\[::1\])(:\d+)?$/i.test(c);return s.protocol==="http:"&&!l?{baseUrl:a,trusted:!1,host:c,reason:"plaintext http downgrade"}:{baseUrl:a,trusted:!0,host:c}}if(String(process.env[Et]||"")==="1")return{baseUrl:a,trusted:!1,host:c};if(i)throw new Error(`${e}: refusing to call non-allowlisted host ${c} (set ${Et}=1 to permit it)`);return{baseUrl:a,trusted:!1,host:c}}function St(e){let t=new URL(String(e));if(t.protocol!=="http:"&&t.protocol!=="https:")throw new Error("unsupported protocol");return t.host}function vt(e,t,n){let r={...e};if(!n)return r;for(let[i,o]of Object.entries(t||{}))o&&(r[i]=o);return r}var gr=/^(0|[1-9][0-9]*)$/,ke=class extends Error{constructor(t){super(`nft gas-war limit: ${t.reason}`),this.name="NftGasWarLimitError",this.verdict=t}};function K(e,t,{required:n=!0,allowZero:r=!1}={}){if(e==null||e===""){if(n)throw new Error(`${t} required`);return null}let i;if(typeof e=="bigint")i=e;else if(typeof e=="number"){if(!Number.isSafeInteger(e))throw new Error(`${t} must be a safe integer`);i=BigInt(e)}else if(typeof e=="string"){let o=e.trim();if(o.startsWith("0x")||o.startsWith("0X"))i=BigInt(o);else{if(!gr.test(o))throw new Error(`${t} must be an integer wei string`);i=BigInt(o)}}else throw new Error(`${t} must be bigint, number, or integer string`);if(i<0n||!r&&i===0n)throw new Error(`${t} must be ${r?"non-negative":"positive"}`);return i}function br(e){let t=Number(e);if(!Number.isSafeInteger(t)||t<=0)throw new Error("chainId must be a positive integer");return t}function Er(e={}){return e.maxFeePerGas!=null?K(e.maxFeePerGas,"maxFeePerGas"):e.gasPrice!=null?K(e.gasPrice,"gasPrice"):null}function Sr(e={}){try{let t=br(e.chainId??e.tx?.chainId),n=e.tx||e,r=e.policy||e,i=r.grant?.maxGasWei??e.grant?.maxGasWei,o=K(r.maxTotalGasWei??r.maxGasWei??i,"maxTotalGasWei"),a=K(n.gasLimit??n.gas,"gasLimit"),s=Er(n);if(s==null)throw new Error("maxFeePerGas or gasPrice required");let c=K(r.maxFeePerGasWei,"maxFeePerGasWei",{required:!1}),u=K(r.maxPriorityFeePerGasWei,"maxPriorityFeePerGasWei",{required:!1}),l=n.maxPriorityFeePerGas==null?null:K(n.maxPriorityFeePerGas,"maxPriorityFeePerGas"),p=a*s;return p>o?{ok:!1,status:"BLOCK",reason:`total gas ${p} exceeds cap ${o}`,chainId:t,totalGasWei:p.toString(),maxTotalGasWei:o.toString()}:c!=null&&s>c?{ok:!1,status:"BLOCK",reason:`unit fee ${s} exceeds cap ${c}`,chainId:t,unitFeeWei:s.toString(),maxFeePerGasWei:c.toString(),totalGasWei:p.toString(),maxTotalGasWei:o.toString()}:l!=null&&u!=null&&l>u?{ok:!1,status:"BLOCK",reason:`priority fee ${l} exceeds cap ${u}`,chainId:t,priorityFeeWei:l.toString(),maxPriorityFeePerGasWei:u.toString(),totalGasWei:p.toString(),maxTotalGasWei:o.toString()}:{ok:!0,status:"PASS",reason:"gas envelope within NFT mint gas-war caps",chainId:t,totalGasWei:p.toString(),maxTotalGasWei:o.toString(),unitFeeWei:s.toString(),maxFeePerGasWei:c?.toString()??null,priorityFeeWei:l?.toString()??null,maxPriorityFeePerGasWei:u?.toString()??null}}catch(t){return{ok:!1,status:"BLOCK",reason:String(t?.message||t)}}}function It(e={}){let t=Sr(e);if(!t.ok)throw new ke(t);return t}var Br="https://api.opensea.io/api/v2",qr="fulfillAdvancedOrder(((address offerer,address zone,(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount)[] offer,(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount,address recipient)[] consideration,uint8 orderType,uint256 startTime,uint256 endTime,bytes32 zoneHash,uint256 salt,bytes32 conduitKey,uint256 totalOriginalConsiderationItems) parameters,uint120 numerator,uint120 denominator,bytes signature,bytes extraData) advancedOrder,(uint256 orderIndex,uint8 side,uint256 index,uint256 identifier,bytes32[] criteriaProof)[] criteriaResolvers,bytes32 fulfillerConduitKey,address recipient)",Hr=new ue([`function ${qr}`]),ce=new ue(["function mintPublic(address nftContract,address feeRecipient,address minterIfNotPayer,uint256 quantity) payable","function mintAllowList(address nftContract,address feeRecipient,address minterIfNotPayer,uint256 quantity,(uint80 mintPrice,uint48 maxTotalMintableByWallet,uint48 startTime,uint48 endTime,uint48 dropStageIndex,uint32 maxTokenSupplyForStage,uint16 feeBps,bool restrictFeeRecipients) mintParams,bytes32[] proof) payable"]),Dr=Object.freeze(["blast","base","ethereum","zora","arbitrum","sei","avalanche","polygon","optimism","ape_chain","flow","b3","soneium","ronin","bera_chain","solana","shape","unichain","gunzilla","abstract","animechain","hyperevm","somnia","monad","hyperliquid","megaeth","ink","robinhood","stablechain"]),Zi=new Set(Dr);function Ur(){let e=process.env.OPENSEA_ENV_FILE||`${process.env.HOME||""}/.config/locals-only/opensea.env`;if(!Lr(e))return"";try{for(let t of Fr(e,"utf8").split(`
|
|
3
|
+
`)){let n=t.match(/^\s*OPENSEA_API_KEY\s*=\s*(.+)\s*$/);if(n)return n[1].replace(/^["']|["']$/g,"").trim()}}catch{}return""}function He(e={}){return e.apiKey?e.apiKey:e.allowAmbientCredentials===!1||e.allowDiskCredentials===!1?e.env?.OPENSEA_API_KEY||e.env?.OPEN_SEA_API_KEY||"":e.env?.OPENSEA_API_KEY||process.env.OPENSEA_API_KEY||process.env.OPEN_SEA_API_KEY||Ur()}function kt(e={}){return xt({provider:"opensea",defaultUrl:Br,hosts:["api.opensea.io","testnets-api.opensea.io"],url:e.baseUrl||process.env.OPENSEA_API_URL})}function Ot(e={}){return kt(e).baseUrl}function Rt(e={}){return vt({accept:"application/json"},{"x-api-key":He(e)},kt(e).trusted)}function D(e,t="address"){try{return Mr(String(e||"").trim().toLowerCase())}catch{throw new Error(`opensea: invalid ${t}`)}}async function Wr(e,t={}){if(!e)throw new Error("collection slug required");if(!He(t))throw new Error("OPENSEA_API_KEY required");return te(`${Ot(t)}/collections/${encodeURIComponent(e)}`,{headers:Rt(t),fetchImpl:t.fetchImpl,timeoutMs:t.timeoutMs??15e3})}var Gr=Object.freeze({robinhood:4663,ethereum:1,base:8453,arbitrum:42161,optimism:10,polygon:137,avalanche:43114,zora:7777777,blast:81457,sei:1329,ape_chain:33139,b3:8333,soneium:1868,ronin:2020,bera_chain:80094,shape:360,unichain:130,gunzilla:43419,abstract:2741,animechain:69e3,hyperevm:999,somnia:5031,monad:143,megaeth:4326,ink:57073,stablechain:988});function zr(e){let t=String(e||"").trim().toLowerCase(),n=Gr[t];if(!n)throw new Error(`opensea: unsupported EVM chain ${t||"(missing)"}`);return{chain:t,chainId:n}}function $t(e,t,{positive:n=!1}={}){let r=String(e??"").trim();if(!/^\d+$/.test(r))throw new Error(`opensea: ${t} must be an unsigned integer`);let i=BigInt(r);if(n&&i<=0n)throw new Error(`opensea: ${t} must be positive`);return i}function jr(e,t="transaction value"){let n;try{let r=String(e??"0").trim();if(!/^(?:0x[0-9a-fA-F]+|\d+)$/.test(r))throw new Error("invalid");n=BigInt(r)}catch{throw new Error(`opensea: ${t} must be a non-negative integer quantity`)}if(n<0n)throw new Error(`opensea: ${t} must be non-negative`);return{amount:n,hex:`0x${n.toString(16)}`}}function Vr(e,t=10){let n=Number(e??1);if(!Number.isSafeInteger(n)||n<1||n>t)throw new Error(`opensea: quantity must be an integer from 1 through ${t}`);return n}function Yr(e,t,n="listing expiry"){let r=e==null?"":String(e).trim(),i;if(/^\d+$/.test(r)){let o=Number(r);i=r.length<=10?o*1e3:o}else i=Date.parse(r);if(!r||!Number.isFinite(i))throw new Error(`opensea: ${n} missing or invalid`);if(i<=t)throw new Error(`opensea: ${n} is expired or stale`);return new Date(i).toISOString()}var Qi=Object.freeze({OrderComponents:[{name:"offerer",type:"address"},{name:"zone",type:"address"},{name:"offer",type:"OfferItem[]"},{name:"consideration",type:"ConsiderationItem[]"},{name:"orderType",type:"uint8"},{name:"startTime",type:"uint256"},{name:"endTime",type:"uint256"},{name:"zoneHash",type:"bytes32"},{name:"salt",type:"uint256"},{name:"conduitKey",type:"bytes32"},{name:"counter",type:"uint256"}],OfferItem:[{name:"itemType",type:"uint8"},{name:"token",type:"address"},{name:"identifierOrCriteria",type:"uint256"},{name:"startAmount",type:"uint256"},{name:"endAmount",type:"uint256"}],ConsiderationItem:[{name:"itemType",type:"uint8"},{name:"token",type:"address"},{name:"identifierOrCriteria",type:"uint256"},{name:"startAmount",type:"uint256"},{name:"endAmount",type:"uint256"},{name:"recipient",type:"address"}]});function Kr(e){if(e.userConfirmed!==!0)throw new Error("opensea: userConfirmed=true required after buyer, chain, contract, token, quantity, price cap, total cap, and expiry review")}function Ft(e){if(!e||typeof e!="object")return!1;let t=String(e.action??e.type??e.method??"");return/approv|setapprovalforall|permit/i.test(t)?!0:Object.values(e).some(n=>n&&typeof n=="object"&&Ft(n))}function Lt(e){return!e||typeof e!="object"?!1:Object.keys(e).some(t=>/^(?:signed.*|rawtransaction|serializedtransaction|txsigned|r|s|v)$/i.test(t))}function Mt(e){return!e||typeof e!="object"?!1:Lt(e)?!0:Object.values(e).some(t=>t&&typeof t=="object"&&Mt(t))}function Bt(e,t=[],n=new Set){if(!e||typeof e!="object"||n.has(e))return t;n.add(e),e.transaction&&typeof e.transaction=="object"?t.push(e.transaction):e.tx&&typeof e.tx=="object"&&t.push(e.tx);for(let[r,i]of Object.entries(e))(r==="transaction"||r==="tx")&&i&&typeof i=="object"||i&&typeof i=="object"&&Bt(i,t,n);return t}function Ct(e){return e&&typeof e=="object"&&typeof e.value=="string"?e.value:e}function Jr(e,{buyer:t,chainId:n,targets:r}){if(!e||typeof e!="object")throw new Error("opensea: transaction object required");if(Lt(e))throw new Error("opensea: signed transaction material refused");if((e.from?D(Ct(e.from),"transaction buyer"):t)!==t)throw new Error("opensea: OpenSea returned a transaction for the wrong buyer");let o=D(Ct(e.to??e.target),"transaction target");if(!r.has(o))throw new Error("opensea: OpenSea returned a transaction for the wrong target");let a=e.data??e.calldata,s=e.input_data&&typeof e.input_data=="object"?e.input_data:e.input&&typeof e.input=="object"?e.input:null;if(a==null&&s){if(!String(e.function||"").replace(/^function\s+/,"").startsWith("fulfillAdvancedOrder("))throw new Error("opensea: only exact Seaport fulfillAdvancedOrder preparation is accepted");a=Hr.encodeFunctionData("fulfillAdvancedOrder",[s.advancedOrder,s.criteriaResolvers,s.fulfillerConduitKey,s.recipient])}let c=String(a??"").trim().toLowerCase();if(!/^0x(?:[0-9a-f]{2})+$/.test(c))throw new Error("opensea: OpenSea returned invalid transaction calldata");let u=e.calldata_suffix==null?"":String(e.calldata_suffix).trim().toLowerCase();if(u){if(!/^0x[0-9a-f]{8}$/.test(u))throw new Error("opensea: invalid OpenSea calldata suffix");c.endsWith(u.slice(2))||(c+=u.slice(2))}let l=e.chainId??e.chain_id??e.chainIdentifier?.chainId;if(l!=null&&Number(l)!==n)throw new Error("opensea: OpenSea returned a transaction for the wrong chain");let p=jr(e.value_hex??e.valueHex??e.value??0);return{from:t,to:o,data:c,value:p.hex,chainId:n,valueWei:p.amount}}function qt(e){return{from:e.from,to:e.to,data:e.data,value:e.value,chainId:e.chainId,...e.gasLimit==null?{}:{gasLimit:e.gasLimit},...e.maxFeePerGas==null?{}:{maxFeePerGas:e.maxFeePerGas},...e.maxPriorityFeePerGas==null?{}:{maxPriorityFeePerGas:e.maxPriorityFeePerGas},...e.worstCaseFeeWei==null?{}:{worstCaseFeeWei:e.worstCaseFeeWei}}}async function Xr(e,t,n){let r=n.provider,i=!!n.rpcUrl;if(!r&&!i)return{simulated:!1,gasEstimates:[]};let o=[];for(let c of e){let{chainId:u,...l}=qt(c);if(r){if(typeof r.call!="function"||typeof r.estimateGas!="function")throw new Error("opensea: supplied provider must implement call and estimateGas");await r.call(l);let p=await r.estimateGas(l);o.push(BigInt(p).toString())}else{let{rpcCall:p}=await Promise.resolve().then(()=>(qe(),Be)),d={...n,fetchImpl:n.rpcFetchImpl||n.fetchImpl};await p(t,"eth_call",[l,"pending"],d);let h=await p(t,"eth_estimateGas",[l],d);o.push(BigInt(h).toString())}}let a=null,s=null;if(r&&typeof r.getFeeData=="function"){let c=await r.getFeeData();s=c?.maxPriorityFeePerGas==null?0n:BigInt(c.maxPriorityFeePerGas),a=c?.maxFeePerGas==null?c?.gasPrice==null?null:BigInt(c.gasPrice):BigInt(c.maxFeePerGas)}else if(i){let{rpcCall:c}=await Promise.resolve().then(()=>(qe(),Be)),u={...n,fetchImpl:n.rpcFetchImpl||n.fetchImpl},l=BigInt(await c(t,"eth_gasPrice",[],u));try{s=BigInt(await c(t,"eth_maxPriorityFeePerGas",[],u))}catch{s=0n}let p=await c(t,"eth_getBlockByNumber",["pending",!1],u),h=(p?.baseFeePerGas==null?0n:BigInt(p.baseFeePerGas))*2n+s;a=l>h?l:h}return a!=null&&s!=null&&e.forEach((c,u)=>{let p=(BigInt(o[u])*120n+99n)/100n;c.gasLimit=p.toString(),c.maxPriorityFeePerGas=s.toString(),c.maxFeePerGas=a.toString(),c.worstCaseFeeWei=(p*a).toString()}),{simulated:!0,gasEstimates:o}}function Zr(e,t){if(Ft(e))throw new Error("opensea: approval steps are not permitted in NFT buy, sweep, or mint preparation");if(Mt(e))throw new Error("opensea: signed transaction material refused");let n=Bt(e);if(!n.length&&e&&typeof e=="object"&&(e.to||e.target)&&n.push(e),!n.length)throw new Error("opensea: OpenSea returned no transaction action");return n.map(r=>Jr(r,t))}function Qr(e,t,n={}){return U({...e,provider:"opensea-nft",kind:t,marketplace:"opensea",prepareReady:!0,requiresUserSignature:!0,signingReady:!1,broadcastReady:!1,executionReady:!1,note:"Unsigned OpenSea EVM NFT transaction preparation only. The private signer must revalidate every bound field before the user signs or broadcasts."},n)}function ei(e,t,n){let i=(Array.isArray(e?.contracts)?e.contracts:[]).find(a=>String(a?.chain||t).toLowerCase()===t&&a?.address);if(!i)throw new Error("opensea: collection response contains no contract for requested chain");let o=D(i.address,"collection NFT contract");if(o!==n)throw new Error("opensea: OpenSea returned the wrong collection contract");return o}async function Ht(e={},t={}){if(!He(t))throw new Error("OPENSEA_API_KEY required");Kr(e);let{chain:n,chainId:r}=zr(e.chain),i=D(e.buyer||e.minter||e.address,"buyer"),o=D(e.contract,"NFT contract"),a=Vr(e.quantity),s=$t(e.priceWei,"priceWei"),c=$t(e.maxTotalWei,"maxTotalWei"),u=Number.isFinite(Number(t.nowMs))?Number(t.nowMs):Date.now(),l=Yr(e.expiry,u,"mint expiry");if(e.tokenId!=null)throw new Error("opensea: SeaDrop mint tokenId is unknown until the mined receipt and must not be caller supplied");let p=String(e.slug||"").trim();if(!p)throw new Error("opensea: collection slug required");let d=await Wr(p,t),h=ei(d,n,o),f=s*BigInt(a);if(f>c)throw new Error("opensea: mint total exceeds total cap");let A=await te(`${Ot(t)}/drops/${encodeURIComponent(p)}/mint`,{method:"POST",headers:Rt(t),body:{minter:i,quantity:a},fetchImpl:t.fetchImpl,timeoutMs:t.timeoutMs??25e3,retries:0,dedupe:!1}),P=t.allowedMintTargets?.[n]??t.allowedMintTargets?.[r]??e.mintTarget,N=Array.isArray(P)?P:P?[P]:[];if(!N.length)throw new Error("opensea: reviewed SeaDrop mintTarget required");let b=new Set(N.map($=>D($,"SeaDrop mint target"))),E=Zr(A,{buyer:i,chainId:r,targets:b});if(E.length!==1)throw new Error("opensea: mint must contain exactly one SeaDrop transaction");let w,y,x=null,R;try{w=ce.decodeFunctionData("mintPublic",E[0].data),y="public",R=ce.encodeFunctionData("mintPublic",[w[0],w[1],w[2],w[3]])}catch{try{w=ce.decodeFunctionData("mintAllowList",E[0].data),y="allowlist";let $=w[4],j=[...w[5]].map(String);if(j.length<1||j.length>64||j.some(Kt=>!/^0x[0-9a-fA-F]{64}$/.test(Kt)))throw new Error("opensea: allowlist mint requires a bounded canonical Merkle proof");let De=BigInt($.startTime),Ue=BigInt($.endTime),We=BigInt(Math.floor(u/1e3));if(De>We||Ue<=We)throw new Error("opensea: allowlist mint stage is not open");if(BigInt($.mintPrice)!==s)throw new Error("opensea: allowlist stage price does not match exact approved price");if(BigInt($.maxTotalMintableByWallet)<BigInt(a))throw new Error("opensea: allowlist wallet cap is below requested quantity");R=ce.encodeFunctionData("mintAllowList",[w[0],w[1],w[2],w[3],$,j]),x={mintPrice:BigInt($.mintPrice).toString(),maxTotalMintableByWallet:BigInt($.maxTotalMintableByWallet).toString(),startTime:De.toString(),endTime:Ue.toString(),dropStageIndex:BigInt($.dropStageIndex).toString(),maxTokenSupplyForStage:BigInt($.maxTokenSupplyForStage).toString(),feeBps:Number($.feeBps),restrictFeeRecipients:!!$.restrictFeeRecipients,proof:j}}catch($){throw/opensea:/.test(String($?.message||""))?$:new Error("opensea: mint transaction must call reviewed SeaDrop mintPublic or mintAllowList")}}let v=D(w[0],"mint NFT contract"),_=D(w[1],"mint fee recipient"),T=D(w[2],"mint recipient");if(v!==h)throw new Error("opensea: mint calldata collection mismatch");if(T!==i)throw new Error("opensea: mint calldata recipient mismatch");if(BigInt(w[3])!==BigInt(a))throw new Error("opensea: mint calldata quantity mismatch");if(R.toLowerCase()!==E[0].data.toLowerCase())throw new Error("opensea: mint calldata must be canonical with no suffix");let g=E.reduce(($,j)=>$+j.valueWei,0n);if(g!==f)throw new Error("opensea: mint transaction total does not match exact approved price and quantity");if(g>c)throw new Error("opensea: mint total exceeds total cap");let k=await Xr(E,r,{...t,provider:e.provider||t.provider});if(k.simulated!==!0)throw new Error("opensea: mint RPC simulation required");let Vt=e.gasPolicy||t.gasPolicy||{maxTotalGasWei:e.maxGasWei,maxFeePerGasWei:e.maxFeePerGasWei,maxPriorityFeePerGasWei:e.maxPriorityFeePerGasWei},Yt=It({chainId:r,tx:E[0],policy:Vt});return Qr({action:"mint",mintType:y,...x?{stage:x}:{},chain:n,chainId:r,slug:p,buyer:i,contract:h,quantity:a,priceWei:s.toString(),totalWei:g.toString(),maxTotalWei:c.toString(),mintTarget:E[0].to,feeRecipient:_,expiry:l,transactions:E.map(qt),gasWar:Yt,...k},"nft-mint",{nowMs:u,expiresAtMs:Math.min(u+de,Date.parse(l),x?Number(BigInt(x.endTime)*1000n):Number.MAX_SAFE_INTEGER)})}var eo=new ue(["function setApprovalForAll(address operator,bool approved)"]),to=new ue(["function cancel((address offerer,address zone,(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount)[] offer,(uint8 itemType,address token,uint256 identifierOrCriteria,uint256 startAmount,uint256 endAmount,address recipient)[] consideration,uint8 orderType,uint256 startTime,uint256 endTime,bytes32 zoneHash,uint256 salt,bytes32 conduitKey,uint256 counter)[] orders) returns (bool cancelled)"]);var ni=Object.freeze([V.DISCOVERY,V.ELIGIBILITY,V.PREPARATION,V.SIMULATION]),Dt=[["evm.manifold","evm",["manifold"],["mint","claim"],"evm","manifold"],["evm.zora","evm",["zora"],["mint"],"evm","zora"],["evm.thirdweb","evm",["thirdweb"],["mint","claim"],"evm","thirdweb"],["evm.opensea-seadrop","evm",["opensea"],["mint","seadrop"],"opensea",null],["solana.metaplex-core","solana",["metaplex"],["mint"],"solana",oe.metaplexCore],["solana.candy-machine","solana",["metaplex"],["mint","candy-machine"],"solana",oe.candyMachine],["solana.magic-eden-launchpad","solana",["magic-eden"],["mint","launchpad"],"solana",oe.magicEdenLaunchpad],["bitcoin.ordinals","bitcoin",["ordinals"],["mint","inscription"],"bitcoin",null]],Ut=Object.freeze(Dt.map(([e,t,n,r])=>Object.freeze({id:e,family:t,chainFamilies:Object.freeze([t]),marketplaces:Object.freeze(n),mechanisms:Object.freeze(r),enabled:t!=="solana",capabilities:t==="solana"?Object.freeze([V.DISCOVERY]):ni,tier:t==="solana"?"RESEARCH_ONLY":"PREPARE_READY"}))),po=ge(Ut.map(({family:e,tier:t,enabled:n,...r})=>r)),Wt=new Map(Dt.map(e=>[e[0],e])),ri=new Set(["intent","adapterId","input"]),ii=/^(?:sign|execute|broadcast|submit|wif|privateKey|secretKey|seed|mnemonic|vault|signature|signatures|signed.*|rawTransaction)$/i,le=class extends Error{constructor(t,n,r={}){super(`universal mint router: ${n}`,r),this.name="UniversalMintRouterError",this.code=t}};function I(e,t,n){throw new le(e,t,n?{cause:n}:{})}function m(e,t,n){String(e??"")!==String(t)&&I("intent-mismatch",`${n} does not match canonical intent`)}function C(e,t,n){let r=e[t];return r.unit!==n&&I("unsupported-unit",`${t}.unit must be ${n}`),BigInt(r.amount)}function Gt(e,t="input"){if(!(!e||typeof e!="object"))for(let[n,r]of Object.entries(e))ii.test(n)&&I("custody-refused",`${t}.${n} is outside the prepare-only boundary`),Gt(r,`${t}.${n}`)}function oi(e,t){return e==="solana"?t.eligibilityProofAccounts??[]:e==="bitcoin"?t.eligibilityProof??[t.contentHash,t.parentId]:t.proof??[]}function ai(e,t,n,r){(typeof t.stageId!="string"||typeof t.proofDigest!="string")&&I("invalid-request","decoded input requires exact stageId and proofDigest");let i=e.stages.find(c=>c.id===t.stageId);i||I("intent-mismatch","stageId does not match canonical intent"),m(t.proofDigest,i.eligibility.proofDigest,"proof digest");let o=`sha256:${ti("sha256").update(JSON.stringify(oi(n,t))).digest("hex")}`;m(o,i.eligibility.proofDigest,"decoded proof digest");let a=t.stage?.startTime!=null?Number(t.stage.startTime)*1e3:t.stageStartsAt!=null?Number(t.stageStartsAt)*1e3:Number(t.stageStartsAtMs),s=t.stage?.endTime!=null?Number(t.stage.endTime)*1e3:t.stageEndsAt!=null?Number(t.stageEndsAt)*1e3:Number(t.stageEndsAtMs);return(!Number.isSafeInteger(a)||!Number.isSafeInteger(s))&&I("invalid-request","decoded input requires exact stage bounds"),m(a,i.startsAt.value,"stage start"),m(s,i.endsAt.value,"stage end"),(r<a||r>=s)&&I("expired-intent","canonical mint stage is not active at authoritative now"),i}function si(e,t){let n=Wt.get(t);n||I("unsupported-adapter",`unsupported explicit adapter ${String(t)}`);let[,r,i,o]=n;return m(r,e.chain.family,"chain family"),(!i.includes(e.marketplace)||!o.includes(e.mechanism))&&I("unsupported-request",`${t} does not support the exact marketplace/mechanism`),n}function ci(e,t){e.chain.family==="evm"?(m(t.chainId,e.chain.id,"network"),m(t.contract,e.collection,"collection/drop"),m(t.recipient??t.buyer??t.minter,e.recipient,"recipient"),m(t.quantity,e.quantity,"quantity"),m(t.maxValueWei??t.maxTotalWei,C(e,"mintValueCap","wei"),"mint-value cap"),m(t.maxTotalGasWei??t.maxGasWei??t.gasPolicy?.maxTotalGasWei,C(e,"networkFeeCap","wei"),"network-fee cap"),m(t.maxPriorityFeePerGasWei??t.gasPolicy?.maxPriorityFeePerGasWei,C(e,"priorityFeeCap","wei-per-gas"),"priority-fee cap")):e.chain.family==="solana"?(m(t.network,e.chain.id,"network"),m(t.collection??t.drop??t.identity,e.collection,"collection/drop"),m(t.recipientOwner??t.recipient,e.recipient,"recipient"),m(t.quantity,e.quantity,"quantity"),m(t.priceLamports,C(e,"mintValueCap","lamports"),"mint-value cap"),m(t.networkFeeCapLamports,C(e,"networkFeeCap","lamports"),"network-fee cap"),m(t.priorityFeeCapLamports,C(e,"priorityFeeCap","lamports"),"priority-fee cap")):(m(t.network,e.chain.id,"network"),m(t.parentId,e.collection,"collection/drop"),m(t.recipient,e.recipient,"recipient"),m(e.quantity,1,"Ordinals quantity"),m(t.postageSats,C(e,"mintValueCap","sats"),"mint-value cap"),m(t.maxTotalFeeSats,C(e,"networkFeeCap","sats"),"network-fee cap"),m(t.maxFeeRateSatVb,C(e,"priorityFeeCap","sat/vbyte"),"priority-fee cap"))}function ui(e){(!e||e.oraclePrepared!==!0||e.prepareHash!==re(e))&&I("artifact-mismatch","leaf returned an invalid or mutated preparation stamp"),(e.signingReady!==!1||e.broadcastReady!==!1||e.executionReady!==!1||e.signed===!0)&&I("custody-refused","leaf artifact is not strictly prepare-only")}function li(e,t,n){m(t.chainId,e.chain.id,"network"),m(t.contract,e.collection,"collection/drop"),m(t.recipient??t.buyer??t.minter,e.recipient,"recipient"),m(t.quantity,e.quantity,"quantity");let r=C(e,"mintValueCap","wei"),i=C(e,"networkFeeCap","wei"),o=C(e,"priorityFeeCap","wei-per-gas");m(t.maxValueWei??t.maxTotalWei,r,"mint-value cap"),m(t.maxTotalGasWei??t.maxGasWei??t.gasPolicy?.maxTotalGasWei,i,"network-fee cap"),m(t.maxPriorityFeePerGasWei??t.gasPolicy?.maxPriorityFeePerGasWei,o,"priority-fee cap");let a=n.transaction??n.transactions?.[0];a||I("artifact-mismatch","prepared EVM transaction is missing"),m(a.chainId,e.chain.id,"artifact network");let s=BigInt(a.gasLimit??0),c=BigInt(a.maxFeePerGas??0);(!s||!c||s*c>i)&&I("artifact-mismatch","artifact network fee exceeds or omits canonical cap evidence");let u=BigInt(a.maxPriorityFeePerGas??t.maxPriorityFeePerGasWei??t.gasPolicy?.maxPriorityFeePerGasWei??-1);return(u<0n||u>o)&&I("artifact-mismatch","artifact priority fee exceeds or omits canonical cap evidence"),m(n.contract,e.collection,"artifact collection/drop"),m(n.recipient??n.buyer,e.recipient,"artifact recipient"),m(n.quantity,e.quantity,"artifact quantity"),BigInt(n.valueWei??n.totalWei)>r&&I("artifact-mismatch","artifact mint value exceeds canonical cap"),{networkFee:(s*c).toString(),priorityFee:u.toString()}}function pi(e,t,n){m(t.network,e.chain.id,"network"),m(t.collection??t.drop??t.identity,e.collection,"collection/drop"),m(t.recipientOwner??t.recipient,e.recipient,"recipient"),m(t.quantity,e.quantity,"quantity"),m(t.priceLamports,C(e,"mintValueCap","lamports"),"mint-value cap");let r=C(e,"networkFeeCap","lamports"),i=C(e,"priorityFeeCap","lamports");m(t.networkFeeCapLamports,r,"network-fee cap"),m(t.priorityFeeCapLamports,i,"priority-fee cap"),m(n.chain,`solana-${e.chain.id}`,"artifact network");let o=0n;for(let a of n.transactions)for(let s of a.instructions)if(String(s.decoded?.type).toLowerCase().includes("price")){let c=a.instructions.find(u=>String(u.decoded?.type).toLowerCase().includes("limit"))?.decoded?.units;o+=(BigInt(c)*BigInt(s.decoded.microLamports)+999999n)/1000000n}return(o>i||o>r)&&I("artifact-mismatch","artifact Solana fee exceeds canonical caps"),{networkFee:o.toString(),priorityFee:o.toString()}}function di(e,t,n){return m(t.network,e.chain.id,"network"),m(t.parentId,e.collection,"collection/drop"),m(t.recipient,e.recipient,"recipient"),m(e.quantity,1,"Ordinals quantity"),m(t.postageSats,C(e,"mintValueCap","sats"),"mint-value cap"),m(t.maxTotalFeeSats,C(e,"networkFeeCap","sats"),"network-fee cap"),m(t.maxFeeRateSatVb,C(e,"priorityFeeCap","sat/vbyte"),"priority-fee cap"),m(n.plan.network,e.chain.id,"artifact network"),m(n.plan.parentId,e.collection,"artifact collection/drop"),m(n.plan.recipient,e.recipient,"artifact recipient"),m(n.plan.postageSats,e.mintValueCap.amount,"artifact mint-value cap"),m(n.plan.caps.maxTotalFeeSats,e.networkFeeCap.amount,"artifact network-fee cap"),m(n.plan.caps.maxFeeRateSatVb,e.priorityFeeCap.amount,"artifact priority-fee cap"),{networkFee:(BigInt(n.plan.commit.feeSats)+BigInt(n.plan.reveal.feeSats)).toString(),priorityFee:String(n.plan.caps.maxFeeRateSatVb)}}function zt(){return Object.freeze({prepareOnly:!0,signing:!1,broadcast:!1,adapters:Ut})}async function mi(){return{provider:"universal-mint-router",status:"ok",prepareOnly:!0,capabilities:zt()}}async function jt(e={},t={}){(!e||typeof e!="object"||Array.isArray(e))&&I("invalid-request","request must be a plain object");for(let l of Object.keys(e))ri.has(l)||I("invalid-request",`unknown request field ${l}`);(typeof e.adapterId!="string"||!e.adapterId)&&I("invalid-request","explicit adapterId is required; adapter inference is refused"),Wt.has(e.adapterId)||I("unsupported-adapter",`unsupported explicit adapter ${e.adapterId}`);let n=e.input;(!n||typeof n!="object"||Array.isArray(n))&&I("invalid-request","family-specific decoded input is required"),Gt(n);let r;try{r=he(e.intent)}catch(l){I("invalid-intent",l.message,l)}let i=Number(t.nowMs??Date.now());Number.isSafeInteger(i)||I("invalid-request","authoritative nowMs must be a safe integer"),i>=r.expiry.value&&I("expired-intent","canonical mint intent has expired");let o=si(r,e.adapterId);o[1]==="solana"&&I("adapter-refused","universal Solana mint preparation is disabled until canonical serialized-message instructions are independently decoded and bound");let a=ai(r,n,r.chain.family,i);ci(r,n);let s;try{o[4]==="evm"?s=await Ke(o[5],n,t):o[4]==="opensea"?s=await Ht(n,t):o[4]==="solana"?(m(n.programId,o[5],"selected Solana adapter program"),s=await Je(n,t)):s=await pt(n,t)}catch(l){if(l instanceof le)throw l;I("adapter-refused",l?.message||"adapter preparation failed",l)}ui(s);let c=o[4]==="bitcoin"?di(r,n,s):o[4]==="solana"?pi(r,n,s):li(r,n,s),u=Object.freeze({intentHash:je(r),adapterId:e.adapterId,family:r.chain.family,network:r.chain.id,marketplace:r.marketplace,mechanism:r.mechanism,collection:r.collection,recipient:r.recipient,quantity:String(r.quantity),stageId:a.id,proofDigest:a.eligibility.proofDigest,mintValueCap:r.mintValueCap,networkFeeCap:r.networkFeeCap,priorityFeeCap:r.priorityFeeCap,observedNetworkFee:c.networkFee,observedPriorityFee:c.priorityFee});return U({provider:"universal-mint-router",kind:"universal-nft-mint",execution:"prepare-only",signed:!1,adapterId:e.adapterId,tier:"PREPARE_READY",intent:r,binding:u,leafArtifact:s},{provider:"universal-mint-router",kind:"universal-nft-mint",env:t.env,nowMs:i,expiresAtMs:Math.min(r.expiry.value,a.endsAt.value,Number(s.expiresAt))})}var mo=jt,fo=jt,ho=zt,wo=mi;export{Ut as UNIVERSAL_MINT_ADAPTERS,po as UNIVERSAL_MINT_ROUTER_REGISTRY,le as UniversalMintRouterError,ho as getUniversalMintCapabilities,wo as getUniversalMintHealth,jt as prepareUniversalMint,fo as prepareUniversalMintAdmin,mo as prepareUniversalMintPublic,zt as universalMintCapabilities,mi as universalMintHealth};
|